From ef08d60c4e68e462e1edf0247d76599b662fe9ff Mon Sep 17 00:00:00 2001 From: wintermute Date: Fri, 30 Dec 2022 21:57:34 +0100 Subject: [PATCH 1/2] add vimtex_mappings_prefix to configure leader mappings prefix --- autoload/vimtex.vim | 48 +++++++++++++++++++------------------ autoload/vimtex/options.vim | 2 ++ 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/autoload/vimtex.vim b/autoload/vimtex.vim index d0b15ed516..0616fd8c90 100644 --- a/autoload/vimtex.vim +++ b/autoload/vimtex.vim @@ -121,13 +121,15 @@ endfunction function! s:init_default_mappings() abort " {{{1 if !g:vimtex_mappings_enabled | return | endif - call s:map(0, 'n', 'li', '(vimtex-info)') - call s:map(0, 'n', 'lI', '(vimtex-info-full)') - call s:map(0, 'n', 'lx', '(vimtex-reload)') - call s:map(0, 'n', 'lX', '(vimtex-reload-state)') - call s:map(1, 'n', 'ls', '(vimtex-toggle-main)') - call s:map(0, 'n', 'lq', '(vimtex-log)') - call s:map(1, 'n', 'la', '(vimtex-context-menu)') + let l:prfx = g:vimtex_mappings_prefix + + call s:map(0, 'n', '' .. l:prfx .. 'i', '(vimtex-info)') + call s:map(0, 'n', '' .. l:prfx .. 'I', '(vimtex-info-full)') + call s:map(0, 'n', '' .. l:prfx .. 'x', '(vimtex-reload)') + call s:map(0, 'n', '' .. l:prfx .. 'X', '(vimtex-reload-state)') + call s:map(1, 'n', '' .. l:prfx .. 's', '(vimtex-toggle-main)') + call s:map(0, 'n', '' .. l:prfx .. 'q', '(vimtex-log)') + call s:map(1, 'n', '' .. l:prfx .. 'a', '(vimtex-context-menu)') call s:map(0, 'n', 'ds$', '(vimtex-env-delete-math)') call s:map(0, 'n', 'cs$', '(vimtex-env-change-math)') @@ -157,17 +159,17 @@ function! s:init_default_mappings() abort " {{{1 call s:map(0, 'n', '', '(vimtex-delim-add-modifiers)') if g:vimtex_compiler_enabled - call s:map(0, 'n', 'll', '(vimtex-compile)') - call s:map(0, 'n', 'lo', '(vimtex-compile-output)') - call s:map(1, 'n', 'lL', '(vimtex-compile-selected)') - call s:map(1, 'x', 'lL', '(vimtex-compile-selected)') - call s:map(0, 'n', 'lk', '(vimtex-stop)') - call s:map(0, 'n', 'lK', '(vimtex-stop-all)') - call s:map(0, 'n', 'le', '(vimtex-errors)') - call s:map(0, 'n', 'lc', '(vimtex-clean)') - call s:map(0, 'n', 'lC', '(vimtex-clean-full)') - call s:map(0, 'n', 'lg', '(vimtex-status)') - call s:map(0, 'n', 'lG', '(vimtex-status-all)') + call s:map(0, 'n', '' .. l:prfx .. 'l', '(vimtex-compile)') + call s:map(0, 'n', '' .. l:prfx .. 'o', '(vimtex-compile-output)') + call s:map(1, 'n', '' .. l:prfx .. 'L', '(vimtex-compile-selected)') + call s:map(1, 'x', '' .. l:prfx .. 'L', '(vimtex-compile-selected)') + call s:map(0, 'n', '' .. l:prfx .. 'k', '(vimtex-stop)') + call s:map(0, 'n', '' .. l:prfx .. 'K', '(vimtex-stop-all)') + call s:map(0, 'n', '' .. l:prfx .. 'e', '(vimtex-errors)') + call s:map(0, 'n', '' .. l:prfx .. 'c', '(vimtex-clean)') + call s:map(0, 'n', '' .. l:prfx .. 'C', '(vimtex-clean-full)') + call s:map(0, 'n', '' .. l:prfx .. 'g', '(vimtex-status)') + call s:map(0, 'n', '' .. l:prfx .. 'G', '(vimtex-status-all)') endif if g:vimtex_motion_enabled @@ -288,19 +290,19 @@ function! s:init_default_mappings() abort " {{{1 endif if g:vimtex_toc_enabled - call s:map(0, 'n', 'lt', '(vimtex-toc-open)') - call s:map(0, 'n', 'lT', '(vimtex-toc-toggle)') + call s:map(0, 'n', '' .. l:prfx .. 't', '(vimtex-toc-open)') + call s:map(0, 'n', '' .. l:prfx .. 'T', '(vimtex-toc-toggle)') endif if has_key(b:vimtex, 'viewer') - call s:map(0, 'n', 'lv', '(vimtex-view)') + call s:map(0, 'n', '' .. l:prfx .. 'v', '(vimtex-view)') if !empty(maparg('(vimtex-reverse-search)', 'n')) - call s:map(1, 'n', 'lr', '(vimtex-reverse-search)') + call s:map(1, 'n', '' .. l:prfx .. 'r', '(vimtex-reverse-search)') endif endif if g:vimtex_imaps_enabled - call s:map(0, 'n', 'lm', '(vimtex-imaps-list)') + call s:map(0, 'n', '' .. l:prfx .. 'm', '(vimtex-imaps-list)') endif if g:vimtex_doc_enabled diff --git a/autoload/vimtex/options.vim b/autoload/vimtex/options.vim index 0d974cda02..bdd18d9664 100644 --- a/autoload/vimtex/options.vim +++ b/autoload/vimtex/options.vim @@ -286,6 +286,8 @@ function! vimtex#options#init() abort " {{{1 call s:init_option('vimtex_mappings_disable', {}) call s:init_option('vimtex_mappings_override_existing', 0) + call s:init_option('vimtex_mappings_prefix', "l") + call s:init_option('vimtex_matchparen_enabled', 1) call s:init_option('vimtex_motion_enabled', 1) From ccf040c7222da40d592cfdefdce3e7a8a162e506 Mon Sep 17 00:00:00 2001 From: wintermute Date: Mon, 2 Jan 2023 02:03:29 +0100 Subject: [PATCH 2/2] use function to apply mapping prefix, including , add documentation entry --- autoload/vimtex.vim | 54 ++++++++++++++++++++----------------- autoload/vimtex/options.vim | 2 +- doc/vimtex.txt | 5 ++++ 3 files changed, 35 insertions(+), 26 deletions(-) diff --git a/autoload/vimtex.vim b/autoload/vimtex.vim index 0616fd8c90..e61906fd94 100644 --- a/autoload/vimtex.vim +++ b/autoload/vimtex.vim @@ -117,19 +117,23 @@ function! s:init_buffer() abort " {{{1 endfor endfunction +" }}}1 +function! s:map_prefixed(ftype, mode, lhs, rhs) abort " {{{1 + let l:lhs = g:vimtex_mappings_prefix . a:lhs + call s:map(a:ftype, a:mode, l:lhs, a:rhs) +endfunction + " }}}1 function! s:init_default_mappings() abort " {{{1 if !g:vimtex_mappings_enabled | return | endif - let l:prfx = g:vimtex_mappings_prefix - - call s:map(0, 'n', '' .. l:prfx .. 'i', '(vimtex-info)') - call s:map(0, 'n', '' .. l:prfx .. 'I', '(vimtex-info-full)') - call s:map(0, 'n', '' .. l:prfx .. 'x', '(vimtex-reload)') - call s:map(0, 'n', '' .. l:prfx .. 'X', '(vimtex-reload-state)') - call s:map(1, 'n', '' .. l:prfx .. 's', '(vimtex-toggle-main)') - call s:map(0, 'n', '' .. l:prfx .. 'q', '(vimtex-log)') - call s:map(1, 'n', '' .. l:prfx .. 'a', '(vimtex-context-menu)') + call s:map_prefixed(0, 'n', 'i', '(vimtex-info)') + call s:map_prefixed(0, 'n', 'I', '(vimtex-info-full)') + call s:map_prefixed(0, 'n', 'x', '(vimtex-reload)') + call s:map_prefixed(0, 'n', 'X', '(vimtex-reload-state)') + call s:map_prefixed(1, 'n', 's', '(vimtex-toggle-main)') + call s:map_prefixed(0, 'n', 'q', '(vimtex-log)') + call s:map_prefixed(1, 'n', 'a', '(vimtex-context-menu)') call s:map(0, 'n', 'ds$', '(vimtex-env-delete-math)') call s:map(0, 'n', 'cs$', '(vimtex-env-change-math)') @@ -159,17 +163,17 @@ function! s:init_default_mappings() abort " {{{1 call s:map(0, 'n', '', '(vimtex-delim-add-modifiers)') if g:vimtex_compiler_enabled - call s:map(0, 'n', '' .. l:prfx .. 'l', '(vimtex-compile)') - call s:map(0, 'n', '' .. l:prfx .. 'o', '(vimtex-compile-output)') - call s:map(1, 'n', '' .. l:prfx .. 'L', '(vimtex-compile-selected)') - call s:map(1, 'x', '' .. l:prfx .. 'L', '(vimtex-compile-selected)') - call s:map(0, 'n', '' .. l:prfx .. 'k', '(vimtex-stop)') - call s:map(0, 'n', '' .. l:prfx .. 'K', '(vimtex-stop-all)') - call s:map(0, 'n', '' .. l:prfx .. 'e', '(vimtex-errors)') - call s:map(0, 'n', '' .. l:prfx .. 'c', '(vimtex-clean)') - call s:map(0, 'n', '' .. l:prfx .. 'C', '(vimtex-clean-full)') - call s:map(0, 'n', '' .. l:prfx .. 'g', '(vimtex-status)') - call s:map(0, 'n', '' .. l:prfx .. 'G', '(vimtex-status-all)') + call s:map_prefixed(0, 'n', 'l', '(vimtex-compile)') + call s:map_prefixed(0, 'n', 'o', '(vimtex-compile-output)') + call s:map_prefixed(1, 'n', 'L', '(vimtex-compile-selected)') + call s:map_prefixed(1, 'x', 'L', '(vimtex-compile-selected)') + call s:map_prefixed(0, 'n', 'k', '(vimtex-stop)') + call s:map_prefixed(0, 'n', 'K', '(vimtex-stop-all)') + call s:map_prefixed(0, 'n', 'e', '(vimtex-errors)') + call s:map_prefixed(0, 'n', 'c', '(vimtex-clean)') + call s:map_prefixed(0, 'n', 'C', '(vimtex-clean-full)') + call s:map_prefixed(0, 'n', 'g', '(vimtex-status)') + call s:map_prefixed(0, 'n', 'G', '(vimtex-status-all)') endif if g:vimtex_motion_enabled @@ -290,19 +294,19 @@ function! s:init_default_mappings() abort " {{{1 endif if g:vimtex_toc_enabled - call s:map(0, 'n', '' .. l:prfx .. 't', '(vimtex-toc-open)') - call s:map(0, 'n', '' .. l:prfx .. 'T', '(vimtex-toc-toggle)') + call s:map_prefixed(0, 'n', 't', '(vimtex-toc-open)') + call s:map_prefixed(0, 'n', 'T', '(vimtex-toc-toggle)') endif if has_key(b:vimtex, 'viewer') - call s:map(0, 'n', '' .. l:prfx .. 'v', '(vimtex-view)') + call s:map_prefixed(0, 'n', 'v', '(vimtex-view)') if !empty(maparg('(vimtex-reverse-search)', 'n')) - call s:map(1, 'n', '' .. l:prfx .. 'r', '(vimtex-reverse-search)') + call s:map_prefixed(1, 'n', 'r', '(vimtex-reverse-search)') endif endif if g:vimtex_imaps_enabled - call s:map(0, 'n', '' .. l:prfx .. 'm', '(vimtex-imaps-list)') + call s:map_prefixed(0, 'n', 'm', '(vimtex-imaps-list)') endif if g:vimtex_doc_enabled diff --git a/autoload/vimtex/options.vim b/autoload/vimtex/options.vim index bdd18d9664..eee0a5884b 100644 --- a/autoload/vimtex/options.vim +++ b/autoload/vimtex/options.vim @@ -286,7 +286,7 @@ function! vimtex#options#init() abort " {{{1 call s:init_option('vimtex_mappings_disable', {}) call s:init_option('vimtex_mappings_override_existing', 0) - call s:init_option('vimtex_mappings_prefix', "l") + call s:init_option('vimtex_mappings_prefix', 'l') call s:init_option('vimtex_matchparen_enabled', 1) call s:init_option('vimtex_motion_enabled', 1) diff --git a/doc/vimtex.txt b/doc/vimtex.txt index 43c1daddef..010ca80c44 100644 --- a/doc/vimtex.txt +++ b/doc/vimtex.txt @@ -2104,6 +2104,11 @@ OPTIONS *vimtex-options* < Default value: {} +*g:vimtex_mappings_prefix* + The default prefix for all usually `` based mappings. + + Default value: l + *g:vimtex_mappings_override_existing* Control behaviour on mapping conflicts, in particular whether or not to override pre-existing mappings. By default, VimTeX does not override existing