def _jump(self, context: UserContext, target: Candidate) -> None: if 'action__pattern' in target: self.vim.call('search', target['action__pattern'], 'w') line = int(target.get('action__line', 0)) col = int(target.get('action__col', 0)) try: if line > 0: self.vim.call('cursor', [line, 0]) if 'action__col' not in target: pos = self.vim.current.line.lower().find( context['input'].lower()) if pos >= 0: self.vim.call('cursor', [0, pos + 1]) if col > 0: self.vim.call('cursor', [0, col]) elif context['input']: # Search input self.vim.call('cursor', [line, 1]) self.vim.call('search', context['input'], 'W', line) except Exception: pass # Open folds and centering self.vim.command('normal! zv') self.vim.command('normal! zz')
def _highlight(self, context: UserContext, target: Candidate) -> None: util.clearmatch(self.vim) if 'action__pattern' in target: self.vim.current.window.vars['denite_match_id'] = self.vim.call( 'matchadd', context['highlight_preview_line'], target['action__pattern']) else: line = int(target.get('action__line', 0)) self.vim.current.window.vars['denite_match_id'] = self.vim.call( 'matchaddpos', context['highlight_preview_line'], [line])