From d561c4aea5fdedee2b44a2951310cd85baf43d45 Mon Sep 17 00:00:00 2001 From: Ben Jackson Date: Sat, 20 Feb 2021 22:37:02 +0000 Subject: [PATCH] Add demo of new commands for local mappings --- support/custom_ui_vimrc | 43 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/support/custom_ui_vimrc b/support/custom_ui_vimrc index 95c3360..4e9f635 100644 --- a/support/custom_ui_vimrc +++ b/support/custom_ui_vimrc @@ -1,5 +1,7 @@ execute 'source' expand( ':p:h' ) . '/minimal_vimrc' set noequalalways +let mapleader = ',' +let maplocalleader = "\" function! s:CustomiseUI() let wins = g:vimspector_session_windows @@ -59,11 +61,52 @@ function! s:CustomiseWinBar() nnoremenu WinBar.✕\ ᶠ⁸ :call vimspector#Reset() endfunction +let s:mapped = {} + +function! s:OnJumpToFrame() abort + if has_key( s:mapped, string( bufnr() ) ) + return + endif + + nmap dn VimspectorStepOver + nmap ds VimspectorStepInto + nmap df VimspectorStepOut + nmap dc VimspectorContinue + + let s:mapped[ string( bufnr() ) ] = 1 +endfunction + +function! s:OnDebugEnd() abort + + let original_buf = bufnr() + let hidden = &hidden + + try + set hidden + for bufnr in keys( s:mapped ) + try + execute 'noautocmd buffer' bufnr + silent! nunmap dn + silent! nunmap ds + silent! nunmap df + silent! nunmap dc + endtry + endfor + finally + execute 'noautocmd buffer' original_buf + let &hidden = hidden + endtry + + let s:mapped = {} +endfunction + augroup TestUICustomistaion autocmd! autocmd User VimspectorUICreated call s:CustomiseUI() autocmd User VimspectorTerminalOpened call s:SetUpTerminal() autocmd User VimspectorUICreated call s:CustomiseWinBar() + autocmd User VimspectorJumpedToFrame call s:OnJumpToFrame() + autocmd User VimspectorDebugEnded call s:OnDebugEnd() augroup END let g:vimspector_sign_priority = {