def __init__(self): super().__init__(COMMAND_LINE_ACTOR) self._tp = TextParser({ 'LINE_COMMENT_MARKER': formatting.string_constant(LINE_COMMENT_MARKER), 'PROGRAM': syntax_elements.PROGRAM_SYNTAX_ELEMENT.singular_name, 'STRING_TRANSFORMER': syntax_elements.STRING_TRANSFORMER_SYNTAX_ELEMENT.singular_name, 'PATH': syntax_elements.PATH_SYNTAX_ELEMENT.singular_name, 'path': types.PATH_TYPE_INFO.name, 'executable_file': formatting.misc_name_with_formatting(misc_texts.EXECUTABLE_FILE), 'relativity': formatting.misc_name_with_formatting(misc_texts.RELATIVITY), 'stdout': misc_texts.STDOUT, 'stdin': misc_texts.STDIN, 'os_process': misc_texts.OS_PROCESS_NAME, 'setup_phase': phase_names.SETUP, })
def __init__(self): super().__init__(FILE_INTERPRETER_ACTOR) self._tp = TextParser({ 'shell_syntax_concept': formatting.concept_(concepts.SHELL_SYNTAX_CONCEPT_INFO), 'LINE_COMMENT_MARKER': formatting.string_constant(LINE_COMMENT_MARKER), 'ACT_INTERPRETER': formatting.syntax_element( syntax_elements.ACT_INTERPRETER_SYNTAX_ELEMENT.singular_name), })
def all_strings() -> Tuple[BuiltinSymbol, ...]: return ( BuiltinSymbol( OS_LINE_SEP, ValueType.STRING, string_sdvs.str_constant(os.linesep), CustomSymbolDocumentation( "The {plain_string} that separates text lines on the {current_os} ({NL}, {WIN_LINE_SEP}, e.g.)." .format( NL=misc_texts.NEW_LINE_STRING_CONSTANT, WIN_LINE_SEP=formatting.string_constant('\\r\\n'), current_os=misc_texts.CURRENT_OS, plain_string=misc_texts.PLAIN_STRING, ), SectionContents.empty(), ), ), BuiltinSymbol( NEW_LINE, ValueType.STRING, string_sdvs.str_constant('\n'), CustomSymbolDocumentation( "The new-line character ({NL}), the line separator of {string:s} handled by {program_name}" .format( NL=misc_texts.NEW_LINE_STRING_CONSTANT, string=types.STRING_TYPE_INFO.name, program_name=program_info.PROGRAM_NAME.capitalize(), ), _TP.section_contents(_NEW_LINE_DESCRIPTION), ), ), BuiltinSymbol( TAB, ValueType.STRING, string_sdvs.str_constant('\t'), CustomSymbolDocumentation( 'The tab character.', SectionContents.empty(), ), ), )
def __init__(self): self._tp = TextParser({ 'MATCHER': _MATCHER_ARGUMENT.name, '_LINE_MATCHER_': syntax_elements.LINE_MATCHER_SYNTAX_ELEMENT.singular_name, 'FIRST_LINE_NUMBER': line_matcher_type.FIRST_LINE_NUMBER, 'FIRST_LINE_NUMBER_DESCRIPTION': line_matcher_type.FIRST_LINE_NUMBER_DESCRIPTION, 'LINE_SEPARATOR_DESCRIPTION': line_matcher_type.LINE_SEPARATOR_DESCRIPTION, 'RANGE': names.RANGE_EXPR_SED_NAME, 'INT': syntax_elements.INTEGER_SYNTAX_ELEMENT.singular_name, 'RANGE_LIMIT_SEPARATOR': formatting.string_constant(_RANGE_LIMIT_SEPARATOR), 'Note': headers.NOTE_LINE_HEADER, })
_REGEX_ARGUMENT = syntax_elements.REGEX_SYNTAX_ELEMENT.argument _REPLACEMENT_ARGUMENT = a.Named(types.STRING_TYPE_INFO.syntax_element_name) _MISSING_REPLACEMENT_ARGUMENT_ERR_MSG = 'Missing ' + _REPLACEMENT_ARGUMENT.name _PARSE_REPLACEMENT_CONFIGURATION = parse_string.Configuration('REPLACEMENT') _TEXT_PARSER = TextParser({ 'preserve_new_lines_option': formatting.argument_option(names.PRESERVE_NEW_LINES_OPTION_NAME), '_REG_EX_': _REGEX_ARGUMENT.name, '_STRING_': _REPLACEMENT_ARGUMENT.name, 'plain_string': misc_texts.PLAIN_STRING, 'LINES_SELECTOR_MATCHER': names.LINES_SELECTION_OPTION.argument, 'line_matcher_model': matcher_model.LINE_MATCHER_MODEL, 'Note': headers.NOTE_LINE_HEADER, 'NL': formatting.string_constant('\\n'), 'LINES_ARE_SEPARATED_BY_NEW_LINE': misc_texts.LINES_ARE_SEPARATED_BY_NEW_LINE, }) _DESCRIPTION = """\ Replaces every {plain_string} matching {_REG_EX_} (on a single line) with {_STRING_}. Backslash escapes in {_STRING_} are processed. That is, \\n is converted to a single newline character, \\r is converted to a carriage return, and so forth. Unknown escapes such as \\& are left alone. Back-references, such as \\6, are replaced with the sub{plain_string} matched by group 6 in {_REG_EX_}.
def __init__(self): super().__init__(FILE_INTERPRETER_ACTOR) self._tp = TextParser({ 'shell_syntax_concept': formatting.concept_(concepts.SHELL_SYNTAX_CONCEPT_INFO), 'LINE_COMMENT_MARKER': formatting.string_constant(LINE_COMMENT_MARKER), })
""" _SPACE_SEPARATION_PARAGRAPH = 'All parts must be separated by {whitespace}.' _TP = TextParser({ 'FILE_NAME': syntax.FILE_NAME.name, 'FILE_SPEC': syntax.FILE_SPEC__SE_STR, 'MODIFIERS': english_text.and_sequence([ formatting.keyword(token) for token in syntax.MODIFICATION_VARIANT_TOKENS.values() ]), 'parent_dir': formatting.string_constant('..'), 'posix_syntax': documentation_text.POSIX_SYNTAX, 'SPACE_SEPARATION_PARAGRAPH': _SPACE_SEPARATION_PARAGRAPH.format(whitespace=misc_texts.WHITESPACE), 'dir_file_type': file_types.DIRECTORY, 'regular_file_type': file_types.REGULAR, 'regular_contents_type': syntax_elements.STRING_SOURCE_SYNTAX_ELEMENT.singular_name, 'dir_contents_type': syntax_elements.FILES_SOURCE_SYNTAX_ELEMENT.singular_name, }) _FILE_SPEC_RENDERING_ENV = FileSpecRenderingEnvironment(
def __init__(self): super().__init__(COMMAND_LINE_ACTOR) self._tp = TextParser({ 'phase': phase_names.PHASE_NAME_DICTIONARY, 'LINE_COMMENT_MARKER': formatting.string_constant(LINE_COMMENT_MARKER), })
name.an_name(name.name_with_plural_s('exit identifier'))) EXIT_CODE = misc_name_with_formatting( name.an_name(name.name_with_plural_s('exit code'))) EXIT_CODE_TITLE = EXIT_CODE.singular.capitalize() STDOUT = 'stdout' STDERR = 'stderr' STDIN = 'stdin' OS_PROCESS_NAME = misc_name_with_formatting( name.an_name(name.Name('OS process', 'OS processes'))) CURRENT_OS = 'current OS' NEW_LINE_STRING_CONSTANT = formatting.string_constant('\\n') LINES_ARE_SEPARATED_BY_NEW_LINE = 'Lines are separated by {}, regardless of the {}.'.format( NEW_LINE_STRING_CONSTANT, CURRENT_OS, ) EXECUTABLE_FILE = name.an_name(name.name_with_plural_s('executable file')) EXTERNAL_PROGRAM = misc_name_with_formatting( name.an_name(name.name_with_plural_s('external program'))) SHELL_COMMAND = name.a_name(name.name_with_plural_s('shell command')) SHELL_COMMAND_LINE = name.a_name(name.name_with_plural_s('shell command line')) SYSTEM_COMMAND_LINE = name.a_name(name.name_with_plural_s('COMMAND-LINE')) IS_A_SHELL_CMD = ' '.join( ('is a', SHELL_COMMAND.singular, '(with optional arguments), using Unix shell syntax.'))