def run(self, edit): if self.view.score_selector(0, 'text.excmdline') == 0: return cmd, prefix, _ = parse_for_setting(self.view.substr(self.view.line(0))) if not cmd: return if (ViSettingCompletion.prefix is None) and prefix: ViSettingCompletion.prefix = prefix ViSettingCompletion.is_stale = True elif ViSettingCompletion.prefix is None: ViSettingCompletion.items = iter_settings('') ViSettingCompletion.is_stale = False if not ViSettingCompletion.items or ViSettingCompletion.is_stale: ViSettingCompletion.items = iter_settings(ViSettingCompletion.prefix) ViSettingCompletion.is_stale = False try: self.view.run_command('write_fs_completion', {'cmd': cmd, 'completion': next(ViSettingCompletion.items)}) except StopIteration: try: ViSettingCompletion.items = iter_settings(ViSettingCompletion.prefix) self.view.run_command('write_fs_completion', {'cmd': cmd, 'completion': next(ViSettingCompletion.items)}) except StopIteration: return
def on_change(self, s): if ViColonInput.interactive_call: cmd, prefix, only_dirs = parse(s) if cmd: FsCompletion.prefix = prefix FsCompletion.is_stale = True cmd, prefix, _ = parse_for_setting(s) if cmd: ViSettingCompletion.prefix = prefix ViSettingCompletion.is_stale = True if not cmd: return ViColonInput.interactive_call = True