Exemplo n.º 1
0
def get_config_with_source(include_default: bool = False) -> str:
    """Return configuration along with source for each option."""
    config_dict = conf.as_dict(display_source=True)

    with io.StringIO() as buf, redirect_stdout(buf):
        for section, options in config_dict.items():
            if not include_default:
                options = {
                    key: (value, source)
                    for key, (value, source) in options.items()
                    if source != "default"
                }

            # Print the section only when there are options after filtering
            if options:
                print(f"[{section}]")
                for key, (value, source) in options.items():
                    print(f"{key} = {value} [{source}]")
                print()
        code = buf.getvalue()

        if is_terminal_support_colors():
            code = pygments.highlight(code=code,
                                      formatter=get_terminal_formatter(),
                                      lexer=IniLexer())

        return code
Exemplo n.º 2
0
    def __init__(self, master, name, token, style):

        self.frame = NumberedTextFrame(master,
                                       style=style,
                                       wrap=tk.NONE,
                                       bd=0,
                                       padx=5,
                                       pady=5)
        master.add(self.frame, text=name)
        master.select(self.frame)

        self.path = None
        self.index = master.index(self.frame)

        lexers = {
            '.py': PythonLexer(),
            '.md': MarkdownLexer(),
            '.tcl': TclLexer(),
            '.c': CLexer(),
            '.h': CLexer(),
            '.ini': IniLexer()
        }
        lexer = lexers.get(pathlib.Path(name).suffix, None)
        self.frame.text.highlighter = Highlighter(self.frame.text, token,
                                                  lexer)
Exemplo n.º 3
0
def echo_desktop_file(contents, config):
    return click.echo(
        highlight(
            contents,
            IniLexer(),
            Terminal256Formatter(
                style=get_style_by_name(config.format.pygments_formatter)),
        ))
Exemplo n.º 4
0
def show_config(args):
    """Show current application configuration"""
    with io.StringIO() as output:
        conf.write(output)
        code = output.getvalue()
        if should_use_colors(args):
            code = pygments.highlight(code=code,
                                      formatter=get_terminal_formatter(),
                                      lexer=IniLexer())
        print(code)
Exemplo n.º 5
0
def do(server, handler, config, args):
    if args.command == 'list':
        result = []

        for section in config.sections():
            if args.section and args.section != section:
                continue

            result.append('[{}]'.format(section))
            if args.sections:
                continue

            for variable in config.options(section):
                result.append('{} = {}'.format(variable,
                                               config.get(section, variable)))

            result.append('')

        handler.display(Pygment(IniLexer(), '\n'.join(result)))

    elif args.command == 'set':
        try:
            value = args.value
            if args.args:
                value += ' '
                value += ' '.join(args.args)

            config.set(args.section, args.key, value)
            config.save(project=args.write_project, user=args.write_user)

        except config.NoSectionError:
            handler.display(Error(args.section, 'No section'))

    elif args.command == 'unset':
        try:
            if args.keys:
                for key in args.keys:
                    config.remove_option(args.section, key)
            else:
                to_remove = [k for k, _ in config.items(args.section)]

                for k in to_remove:
                    config.remove_option(args.section, k)

                config.remove_section(args.section)

            config.save(project=args.write_project, user=args.write_user)

        except config.NoSectionError:
            handler.display(Error(args.section, 'No section'))

    elif args.command == 'save':
        config.save(project=args.write_project, user=args.write_user)
Exemplo n.º 6
0
def get_experiment(path):
    logdir = APP.config['logdir']
    complete_path = os.path.join(logdir, path)
    if os.path.isfile(complete_path):
        file_content = get_file(complete_path)
        if path.endswith(".log"):
            result = ansiconv.to_html(html.escape(file_content))
        elif path.endswith(".ini"):
            lexer = IniLexer()
            formatter = HtmlFormatter(linenos=True)
            result = highlight(file_content, lexer, formatter)
        else:
            result = "Unknown file type: '{}'.".format(complete_path)
    else:
        result = "File '{}' does not exist.".format(complete_path)
    return Response(result, mimetype='text/html', status=200)
Exemplo n.º 7
0
serverport = 8000
serverproto = http
serverauthtoken = %s
tool = fuzzingbook
""" % token

if __name__ == '__main__':
    with open(conf, "w") as file:
        file.write(fuzzmanagerconf)

from pygments.lexers.configs import IniLexer

from .bookutils import print_file

if __name__ == '__main__':
    print_file(conf, lexer=IniLexer())

### End of Excursion

if __name__ == '__main__':
    print('\n### End of Excursion')

### Excursion: Starting the Server

if __name__ == '__main__':
    print('\n### Excursion: Starting the Server')

from multiprocess import Process  # type: ignore

import subprocess
Exemplo n.º 8
0
    'pm': Perl6Lexer(),
    'nqp': Perl6Lexer(),
    'p6': Perl6Lexer(),
    '6pl': Perl6Lexer(),
    'p6l': Perl6Lexer(),
    'pl6': Perl6Lexer(),
    'p6m': Perl6Lexer(),
    'pm6': Perl6Lexer(),
    't': Perl6Lexer(),
    'rb': RubyLexer(),
    'rbw': RubyLexer(),
    'rake': RubyLexer(),
    'rbx': RubyLexer(),
    'duby': RubyLexer(),
    'gemspec': RubyLexer(),
    'ini': IniLexer(),
    'init': IniLexer(),
    'sh': BashLexer(),
    'diff': DiffLexer(),
    'patch': DiffLexer(),
    'cs': CSharpLexer(),
    'md': MarkdownLexer(),  # WAIT: Virker dårlig
}

known_extensions = list(lexer_from_ext.keys())

# class EditorFrame(ScrollableNotebook):


class EditorFrame(tk.ttk.Frame):
    """ A container for the notebook, including bottom console """
Exemplo n.º 9
0
def lexer():
    yield IniLexer()
Exemplo n.º 10
0
 def __init__(self, **kwargs):
     super(SpecCodeInput, self).__init__(**kwargs)
     self.text_input.lexer = IniLexer()
Exemplo n.º 11
0
# Re-write index.html so that the code block comments are replaced by the
# Pygment-ized code.
blocks = get_blocks()
with codecs.open('index-src.html', 'r', 'utf-8') as fi:
    with codecs.open('index.html', 'w', 'utf-8') as fo:
        for line in fi:
            line_els = line.strip().split()
            if len(line_els) > 1 and line_els[1] == 'code-block:':
                block_name = line_els[2]
                if block_name in blocks:
                    block = blocks[block_name]['block']
                    lang = blocks[block_name]['lang']
                    if lang == 'python':
                        lexer = PythonLexer()
                        formatter = pyformatter
                    elif lang == 'shell':
                        lexer = BashLexer()
                        formatter = shformatter
                    elif lang == 'sql':
                        lexer = MySqlLexer()
                        formatter = sqlformatter
                    elif lang == 'ini':
                        lexer = IniLexer()
                        formatter = iniformatter
                    else:
                        lexer = JsonLexer()
                        formatter = jsonformatter
                    fo.write(highlight(block, lexer, formatter))
            else:
                fo.write(line)
Exemplo n.º 12
0
        pass

    if extens == "py" or extens == "pyw" or extens == "sc" or extens == "sage" or extens == "tac":
        ui_core = CoreUI(lexer=PythonLexer())
    elif extens == "txt" or extens == "README" or extens == "text":
        ui_core = CoreUI(lexer=TextLexer())
    elif extens == "htm" or extens == "html" or extens == "css" or extens == "js" or extens == "md":
        ui_core = CoreUI(lexer=HtmlLexer())
    elif extens == "xml" or extens == "xsl" or extens == "rss" or extens == "xslt" or extens == "xsd" or extens == "wsdl" or extens == "wsf":
        ui_core = CoreUI(lexer=XmlLexer())
    elif extens == "php" or extens == "php5":
        ui_core = CoreUI(lexer=HtmlPhpLexer())
    elif extens == "pl" or extens == "pm" or extens == "nqp" or extens == "p6" or extens == "6pl" or extens == "p6l" or extens == "pl6" or extens == "pm" or extens == "p6m" or extens == "pm6" or extens == "t":
        ui_core = CoreUI(lexer=Perl6Lexer())
    elif extens == "rb" or extens == "rbw" or extens == "rake" or extens == "rbx" or extens == "duby" or extens == "gemspec":
        ui_core = CoreUI(lexer=RubyLexer())
    elif extens == "ini" or extens == "init":
        ui_core = CoreUI(lexer=IniLexer())
    elif extens == "conf" or extens == "cnf" or extens == "config":
        ui_core = CoreUI(lexer=ApacheConfLexer())
    elif extens == "sh" or extens == "cmd" or extens == "bashrc" or extens == "bash_profile":
        ui_core = CoreUI(lexer=BashLexer())
    elif extens == "diff" or extens == "patch":
        ui_core = CoreUI(lexer=DiffLexer())
    elif extens == "cs":
        ui_core = CoreUI(lexer=CSharpLexer())
    elif extens == "sql":
        ui_core = CoreUI(lexer=MySqlLexer())
    else:
        ui_core = CoreUI(lexer=PythonLexer())  # default (no extension) lexer is python
    ui_core.mainloop()