def __init__(self): self._connection = None self._logger = logging.getLogger(__name__) utils.SetUpLogging(self._logger) # These are the user-entered breakpoints. self._line_breakpoints = defaultdict(list) self._func_breakpoints = [] self._exception_breakpoints = None self._configured_breakpoints = {} # FIXME: Remove this. Remove breakpoints nonesense from code.py self._breakpoints_handler = None self._server_capabilities = {} self._next_sign_id = 1 if not signs.SignDefined('vimspectorBP'): signs.DefineSign('vimspectorBP', text='●', double_text='●', texthl='WarningMsg') if not signs.SignDefined('vimspectorBPCond'): signs.DefineSign('vimspectorBPCond', text='◆', double_text='◆', texthl='WarningMsg') if not signs.SignDefined('vimspectorBPDisabled'): signs.DefineSign('vimspectorBPDisabled', text='●', double_text='●', texthl='LineNr')
def __init__(self, window, api_prefix, render_event_emitter, IsBreakpointPresentAt): self._window = window self._api_prefix = api_prefix self._render_subject = render_event_emitter.subscribe(self._DisplayPC) self._IsBreakpointPresentAt = IsBreakpointPresentAt self._terminal = None self.current_syntax = None self._logger = logging.getLogger(__name__) utils.SetUpLogging(self._logger) # FIXME: This ID is by group, so should be module scope self._next_sign_id = 1 self._signs = { 'vimspectorPC': None, } self._current_frame = None self._scratch_buffers = [] with utils.LetCurrentWindow(self._window): if utils.UseWinBar(): # Buggy neovim doesn't render correctly when the WinBar is defined: # https://github.com/neovim/neovim/issues/12689 vim.command('nnoremenu WinBar.■\\ Stop ' ':call vimspector#Stop()<CR>') vim.command('nnoremenu WinBar.▶\\ Cont ' ':call vimspector#Continue()<CR>') vim.command('nnoremenu WinBar.▷\\ Pause ' ':call vimspector#Pause()<CR>') vim.command('nnoremenu WinBar.↷\\ Next ' ':call vimspector#StepOver()<CR>') vim.command('nnoremenu WinBar.→\\ Step ' ':call vimspector#StepInto()<CR>') vim.command('nnoremenu WinBar.←\\ Out ' ':call vimspector#StepOut()<CR>') vim.command('nnoremenu WinBar.⟲: ' ':call vimspector#Restart()<CR>') vim.command('nnoremenu WinBar.✕ ' ':call vimspector#Reset()<CR>') if not signs.SignDefined('vimspectorPC'): signs.DefineSign('vimspectorPC', text='▶', double_text='▶', texthl='MatchParen', linehl='CursorLine') if not signs.SignDefined('vimspectorPCBP'): signs.DefineSign('vimspectorPCBP', text='●▶', double_text='▷', texthl='MatchParen', linehl='CursorLine')
def __init__( self, window, api_prefix ): self._window = window self._api_prefix = api_prefix self._terminal_window = None self._terminal_buffer_number = None self.current_syntax = None self._logger = logging.getLogger( __name__ ) utils.SetUpLogging( self._logger ) self._next_sign_id = 1 self._breakpoints = defaultdict( list ) self._signs = { 'vimspectorPC': None, 'breakpoints': [] } with utils.LetCurrentWindow( self._window ): vim.command( 'nnoremenu WinBar.■\\ Stop :call vimspector#Stop()<CR>' ) vim.command( 'nnoremenu WinBar.▶\\ Cont :call vimspector#Continue()<CR>' ) vim.command( 'nnoremenu WinBar.▷\\ Pause :call vimspector#Pause()<CR>' ) vim.command( 'nnoremenu WinBar.↷\\ Next :call vimspector#StepOver()<CR>' ) vim.command( 'nnoremenu WinBar.→\\ Step :call vimspector#StepInto()<CR>' ) vim.command( 'nnoremenu WinBar.←\\ Out :call vimspector#StepOut()<CR>' ) vim.command( 'nnoremenu WinBar.⟲: :call vimspector#Restart()<CR>' ) vim.command( 'nnoremenu WinBar.✕ :call vimspector#Reset()<CR>' ) if not signs.SignDefined( 'vimspectorPC' ): signs.DefineSign( 'vimspectorPC', text = '▶', texthl = 'MatchParen', linehl = 'CursorLine' )
def __init__( self, render_event_emitter, IsPCPresentAt ): self._connection = None self._logger = logging.getLogger( __name__ ) self._render_subject = render_event_emitter.subscribe( self.Refresh ) self._IsPCPresentAt = IsPCPresentAt utils.SetUpLogging( self._logger ) # These are the user-entered breakpoints. self._line_breakpoints = defaultdict( list ) self._func_breakpoints = [] self._exception_breakpoints = None self._configured_breakpoints = {} self._server_capabilities = {} self._next_sign_id = 1 self._awaiting_bp_responses = 0 self._pending_send_breakpoints = None self._breakpoints_view = BreakpointsView() if not signs.SignDefined( 'vimspectorBP' ): signs.DefineSign( 'vimspectorBP', text = '●', double_text = '●', texthl = 'WarningMsg' ) if not signs.SignDefined( 'vimspectorBPCond' ): signs.DefineSign( 'vimspectorBPCond', text = '◆', double_text = '◆', texthl = 'WarningMsg' ) if not signs.SignDefined( 'vimspectorBPLog' ): signs.DefineSign( 'vimspectorBPLog', text = '◆', double_text = '◆', texthl = 'SpellRare' ) if not signs.SignDefined( 'vimspectorBPDisabled' ): signs.DefineSign( 'vimspectorBPDisabled', text = '●', double_text = '●', texthl = 'LineNr' )
def __init__(self, session, win): self._logger = logging.getLogger(__name__) utils.SetUpLogging(self._logger) self._buf = win.buffer self._session = session self._connection = None self._current_thread = None self._current_frame = None self._current_syntax = "" self._threads = [] self._sources = {} self._scratch_buffers = [] # FIXME: This ID is by group, so should be module scope self._next_sign_id = 1 utils.SetUpHiddenBuffer(self._buf, 'vimspector.StackTrace') utils.SetUpUIWindow(win) mappings = settings.Dict('mappings')['stack_trace'] with utils.LetCurrentWindow(win): for mapping in utils.GetVimList(mappings, 'expand_or_jump'): vim.command(f'nnoremap <silent> <buffer> { mapping } ' ':<C-U>call vimspector#GoToFrame()<CR>') for mapping in utils.GetVimList(mappings, 'focus_thread'): vim.command(f'nnoremap <silent> <buffer> { mapping } ' ':<C-U>call vimspector#SetCurrentThread()<CR>') if utils.UseWinBar(): vim.command('nnoremenu <silent> 1.1 WinBar.Pause/Continue ' ':call vimspector#PauseContinueThread()<CR>') vim.command('nnoremenu <silent> 1.2 WinBar.Expand/Collapse ' ':call vimspector#GoToFrame()<CR>') vim.command('nnoremenu <silent> 1.3 WinBar.Focus ' ':call vimspector#SetCurrentThread()<CR>') win.options['cursorline'] = False if not signs.SignDefined('vimspectorCurrentThread'): signs.DefineSign('vimspectorCurrentThread', text='▶ ', double_text='▶', texthl='MatchParen', linehl='CursorLine') self._line_to_frame = {} self._line_to_thread = {} self._requesting_threads = StackTraceView.ThreadRequestState.NO self._pending_thread_request = None