示例#1
0
def init(win_id, parent):
    """Initialize the mode manager and the keyparsers for the given win_id."""
    KM = usertypes.KeyMode  # pylint: disable=invalid-name
    modeman = ModeManager(win_id, parent)
    objreg.register('mode-manager', modeman, scope='window', window=win_id)
    keyparsers = {
        KM.normal: modeparsers.NormalKeyParser(win_id, modeman),
        KM.hint: modeparsers.HintKeyParser(win_id, modeman),
        KM.insert: keyparser.PassthroughKeyParser(win_id, 'insert', modeman),
        KM.passthrough: keyparser.PassthroughKeyParser(win_id, 'passthrough',
                                                       modeman),
        KM.command: keyparser.PassthroughKeyParser(win_id, 'command', modeman),
        KM.prompt: keyparser.PassthroughKeyParser(win_id, 'prompt', modeman,
                                                  warn=False),
        KM.yesno: modeparsers.PromptKeyParser(win_id, modeman),
        KM.caret: modeparsers.CaretKeyParser(win_id, modeman),
        KM.set_mark: modeparsers.RegisterKeyParser(win_id, KM.set_mark,
                                                   modeman),
        KM.jump_mark: modeparsers.RegisterKeyParser(win_id, KM.jump_mark,
                                                    modeman),
        KM.record_macro: modeparsers.RegisterKeyParser(win_id, KM.record_macro,
                                                       modeman),
        KM.run_macro: modeparsers.RegisterKeyParser(win_id, KM.run_macro,
                                                    modeman),
    }
    objreg.register('keyparsers', keyparsers, scope='window', window=win_id)
    modeman.destroyed.connect(
        functools.partial(objreg.delete, 'keyparsers', scope='window',
                          window=win_id))
    for mode, parser in keyparsers.items():
        modeman.register(mode, parser)
    return modeman
示例#2
0
def init(win_id, parent):
    """Initialize the mode manager and the keyparsers for the given win_id."""
    KM = usertypes.KeyMode  # pylint: disable=invalid-name
    modeman = ModeManager(win_id, parent)
    objreg.register('mode-manager', modeman, scope='window', window=win_id)
    keyparsers = {
        KM.normal: modeparsers.NormalKeyParser(win_id, modeman),
        KM.hint: modeparsers.HintKeyParser(win_id, modeman),
        KM.insert: keyparser.PassthroughKeyParser(win_id, 'insert', modeman),
        KM.passthrough: keyparser.PassthroughKeyParser(win_id, 'passthrough',
                                                       modeman),
        KM.command: keyparser.PassthroughKeyParser(win_id, 'command', modeman),
        KM.prompt: keyparser.PassthroughKeyParser(win_id, 'prompt', modeman,
                                                  warn=False),
        KM.yesno: modeparsers.PromptKeyParser(win_id, modeman),
    }
    objreg.register('keyparsers', keyparsers, scope='window', window=win_id)
    modeman.destroyed.connect(
        functools.partial(objreg.delete, 'keyparsers', scope='window',
                          window=win_id))
    modeman.register(KM.normal, keyparsers[KM.normal].handle)
    modeman.register(KM.hint, keyparsers[KM.hint].handle)
    modeman.register(KM.insert, keyparsers[KM.insert].handle, passthrough=True)
    modeman.register(KM.passthrough, keyparsers[KM.passthrough].handle,
                     passthrough=True)
    modeman.register(KM.command, keyparsers[KM.command].handle,
                     passthrough=True)
    modeman.register(KM.prompt, keyparsers[KM.prompt].handle, passthrough=True)
    modeman.register(KM.yesno, keyparsers[KM.yesno].handle)
    return modeman
示例#3
0
def init(win_id: int, parent: QObject) -> 'ModeManager':
    """Initialize the mode manager and the keyparsers for the given win_id."""
    modeman = ModeManager(win_id, parent)
    objreg.register('mode-manager', modeman, scope='window', window=win_id)

    commandrunner = runners.CommandRunner(win_id)

    hintmanager = hints.HintManager(win_id, parent=parent)
    objreg.register('hintmanager',
                    hintmanager,
                    scope='window',
                    window=win_id,
                    command_only=True)

    keyparsers = {
        usertypes.KeyMode.normal:
        modeparsers.NormalKeyParser(win_id=win_id,
                                    commandrunner=commandrunner,
                                    parent=modeman),
        usertypes.KeyMode.hint:
        modeparsers.HintKeyParser(win_id=win_id,
                                  commandrunner=commandrunner,
                                  hintmanager=hintmanager,
                                  parent=modeman),
        usertypes.KeyMode.insert:
        modeparsers.PassthroughKeyParser(win_id=win_id,
                                         mode=usertypes.KeyMode.insert,
                                         commandrunner=commandrunner,
                                         parent=modeman),
        usertypes.KeyMode.passthrough:
        modeparsers.PassthroughKeyParser(win_id=win_id,
                                         mode=usertypes.KeyMode.passthrough,
                                         commandrunner=commandrunner,
                                         parent=modeman),
        usertypes.KeyMode.command:
        modeparsers.PassthroughKeyParser(win_id=win_id,
                                         mode=usertypes.KeyMode.command,
                                         commandrunner=commandrunner,
                                         parent=modeman),
        usertypes.KeyMode.prompt:
        modeparsers.PassthroughKeyParser(win_id=win_id,
                                         mode=usertypes.KeyMode.prompt,
                                         commandrunner=commandrunner,
                                         parent=modeman),
        usertypes.KeyMode.yesno:
        modeparsers.PromptKeyParser(win_id=win_id,
                                    commandrunner=commandrunner,
                                    parent=modeman),
        usertypes.KeyMode.caret:
        modeparsers.CaretKeyParser(win_id=win_id,
                                   commandrunner=commandrunner,
                                   parent=modeman),
        usertypes.KeyMode.set_mark:
        modeparsers.RegisterKeyParser(win_id=win_id,
                                      mode=usertypes.KeyMode.set_mark,
                                      commandrunner=commandrunner,
                                      parent=modeman),
        usertypes.KeyMode.jump_mark:
        modeparsers.RegisterKeyParser(win_id=win_id,
                                      mode=usertypes.KeyMode.jump_mark,
                                      commandrunner=commandrunner,
                                      parent=modeman),
        usertypes.KeyMode.record_macro:
        modeparsers.RegisterKeyParser(win_id=win_id,
                                      mode=usertypes.KeyMode.record_macro,
                                      commandrunner=commandrunner,
                                      parent=modeman),
        usertypes.KeyMode.run_macro:
        modeparsers.RegisterKeyParser(win_id=win_id,
                                      mode=usertypes.KeyMode.run_macro,
                                      commandrunner=commandrunner,
                                      parent=modeman),
    }  # type: _ParserDictType

    objreg.register('keyparsers', keyparsers, scope='window', window=win_id)

    modeman.destroyed.connect(  # type: ignore
        functools.partial(objreg.delete,
                          'keyparsers',
                          scope='window',
                          window=win_id))

    for mode, parser in keyparsers.items():
        modeman.register(mode, parser)

    return modeman