diff options
Diffstat (limited to 'autoload/vimtex/text_obj')
-rw-r--r-- | autoload/vimtex/text_obj/cmdtargets.vim | 85 | ||||
-rw-r--r-- | autoload/vimtex/text_obj/envtargets.vim | 110 | ||||
-rw-r--r-- | autoload/vimtex/text_obj/targets.vim | 49 |
3 files changed, 0 insertions, 244 deletions
diff --git a/autoload/vimtex/text_obj/cmdtargets.vim b/autoload/vimtex/text_obj/cmdtargets.vim deleted file mode 100644 index 611285c7..00000000 --- a/autoload/vimtex/text_obj/cmdtargets.vim +++ /dev/null @@ -1,85 +0,0 @@ -if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'latex') == -1 - -" vimtex - LaTeX plugin for Vim -" -" Maintainer: Karl Yngve Lervåg -" Email: karl.yngve@gmail.com -" - -function! vimtex#text_obj#cmdtargets#new(args) " {{{1 - return { - \ 'genFuncs': { - \ 'c': function('vimtex#text_obj#cmdtargets#current'), - \ 'n': function('vimtex#text_obj#cmdtargets#next'), - \ 'l': function('vimtex#text_obj#cmdtargets#last'), - \ }, - \ 'modFuncs': { - \ 'i': [function('vimtex#text_obj#cmdtargets#inner'), - \ function('targets#modify#drop')], - \ 'a': [function('targets#modify#keep')], - \ 'I': [function('vimtex#text_obj#cmdtargets#inner'), - \ function('targets#modify#shrink')], - \ 'A': [function('targets#modify#expand')], - \ }} -endfunction - -" }}}1 -function! vimtex#text_obj#cmdtargets#current(args, opts, state) " {{{1 - let target = s:select(a:opts.first ? 1 : 2) - call target.cursorE() " keep going from right end - return target -endfunction - -" }}}1 -function! vimtex#text_obj#cmdtargets#next(args, opts, state) " {{{1 - if targets#util#search('\\\S*{', 'W') > 0 - return targets#target#withError('no target') - endif - - let oldpos = getpos('.') - let target = s:select(1) - call setpos('.', oldpos) - return target -endfunction - -" }}}1 -function! vimtex#text_obj#cmdtargets#last(args, opts, state) " {{{1 - " Move to the last non-surrounding cmd - if targets#util#search('\\\S\+{\_.\{-}}', 'bWe') > 0 - return targets#target#withError('no target') - endif - - let oldpos = getpos('.') - let target = s:select(1) - call setpos('.', oldpos) - return target -endfunction - -" }}}1 -function! vimtex#text_obj#cmdtargets#inner(target, args) " {{{1 - if a:target.state().isInvalid() - return - endif - - call a:target.cursorS() - silent! normal! f{ - call a:target.setS() -endfunction - -" }}}1 - -function! s:select(count) " {{{1 - " Try to select command - silent! execute 'keepjumps normal v'.a:count."\<Plug>(vimtex-ac)v" - let target = targets#target#fromVisualSelection() - - if target.sc == target.ec && target.sl == target.el - return targets#target#withError('tex_cmd select') - endif - - return target -endfunction - -" }}}1 - -endif diff --git a/autoload/vimtex/text_obj/envtargets.vim b/autoload/vimtex/text_obj/envtargets.vim deleted file mode 100644 index 10e3ae93..00000000 --- a/autoload/vimtex/text_obj/envtargets.vim +++ /dev/null @@ -1,110 +0,0 @@ -if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'latex') == -1 - -" vimtex - LaTeX plugin for Vim -" -" Maintainer: Karl Yngve Lervåg -" Email: karl.yngve@gmail.com -" - -function! vimtex#text_obj#envtargets#new(args) " {{{1 - return { - \ 'genFuncs': { - \ 'c': function('vimtex#text_obj#envtargets#current'), - \ 'n': function('vimtex#text_obj#envtargets#next'), - \ 'l': function('vimtex#text_obj#envtargets#last'), - \ }, - \ 'modFuncs': { - \ 'i': [function('vimtex#text_obj#envtargets#inner'), function('targets#modify#drop')], - \ 'a': [function('targets#modify#keep')], - \ 'I': [function('vimtex#text_obj#envtargets#inner'), function('targets#modify#shrink')], - \ 'A': [function('vimtex#text_obj#envtargets#expand')], - \ }} -endfunction - -" }}}1 -function! vimtex#text_obj#envtargets#current(args, opts, state) " {{{1 - let target = s:select(a:opts.first ? 1 : 2) - call target.cursorE() " keep going from right end - return target -endfunction - -" }}}1 -function! vimtex#text_obj#envtargets#next(args, opts, state) " {{{1 - if targets#util#search('\\begin{.*}', 'W') > 0 - return targets#target#withError('no target') - endif - - let oldpos = getpos('.') - let target = s:select(1) - call setpos('.', oldpos) - return target -endfunction - -" }}}1 -function! vimtex#text_obj#envtargets#last(args, opts, state) " {{{1 - if targets#util#search('\\end{.*}', 'bW') > 0 - return targets#target#withError('no target') - endif - - let oldpos = getpos('.') - let target = s:select(1) - call setpos('.', oldpos) - return target -endfunction - -" }}}1 -function! vimtex#text_obj#envtargets#inner(target, args) " {{{1 - call a:target.cursorS() - call a:target.searchposS('\\begin{.*}', 'Wce') - call a:target.cursorE() - call a:target.searchposE('\\end{.*}', 'bWc') -endfunction - -" }}}1 -function! vimtex#text_obj#envtargets#expand(target, args) " {{{1 - " Based on targets#modify#expand() from - " $VIMMRUNTIME/autoload/targets/modify.vim - - " Add outer whitespace - if a:0 == 0 || a:1 ==# '>' - call a:target.cursorE() - let [line, column] = searchpos('\S\|$', '') - if line > a:target.el || (line > 0 && column-1 > a:target.ec) - " non whitespace or EOL after trailing whitespace found - " not counting whitespace directly after end - return a:target.setE(line, column-1) - endif - endif - - if a:0 == 0 || a:1 ==# '<' - call a:target.cursorS() - let [line, column] = searchpos('\S', 'b') - if line < a:target.sl - return a:target.setS(line+1, 0) - elseif line > 0 - " non whitespace before leading whitespace found - return a:target.setS(line, column+1) - endif - " only whitespace in front of start - " include all leading whitespace from beginning of line - let a:target.sc = 1 - endif -endfunction - -" }}}1 - -function! s:select(count) " {{{1 - " Try to select environment - silent! execute 'keepjumps normal v'.a:count."\<Plug>(vimtex-ae)v" - let target = targets#target#fromVisualSelection() - - if target.sc == target.ec && target.sl == target.el - return targets#target#withError('tex_env select') - endif - - return target -endfunction - -" }}}1 - -endif diff --git a/autoload/vimtex/text_obj/targets.vim b/autoload/vimtex/text_obj/targets.vim deleted file mode 100644 index 6bbdf710..00000000 --- a/autoload/vimtex/text_obj/targets.vim +++ /dev/null @@ -1,49 +0,0 @@ -if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'latex') == -1 - -" vimtex - LaTeX plugin for Vim -" -" Maintainer: Karl Yngve Lervåg -" Email: karl.yngve@gmail.com -" - -function! vimtex#text_obj#targets#enabled() abort " {{{1 - return exists('g:loaded_targets') - \ && ( (type(g:loaded_targets) == type(0) && g:loaded_targets) - \ || (type(g:loaded_targets) == type('') && !empty(g:loaded_targets))) - \ && ( g:vimtex_text_obj_variant ==# 'auto' - \ || g:vimtex_text_obj_variant ==# 'targets') -endfunction - -" }}}1 -function! vimtex#text_obj#targets#init() abort " {{{1 - let g:vimtex_text_obj_variant = 'targets' - - " Create intermediate mappings - omap <expr> <plug>(vimtex-targets-i) targets#e('o', 'i', 'i') - xmap <expr> <plug>(vimtex-targets-i) targets#e('x', 'i', 'i') - omap <expr> <plug>(vimtex-targets-a) targets#e('o', 'a', 'a') - xmap <expr> <plug>(vimtex-targets-a) targets#e('x', 'a', 'a') - - augroup vimtex_targets - autocmd! - autocmd User targets#sources call s:init_sources() - autocmd User targets#mappings#plugin call s:init_mappings() - augroup END -endfunction - -" }}}1 - -function! s:init_mappings() abort " {{{1 - call targets#mappings#extend({'e': {'tex_env': [{}]}}) - call targets#mappings#extend({'c': {'tex_cmd': [{}]}}) -endfunction - -" }}}1 -function! s:init_sources() abort " {{{1 - call targets#sources#register('tex_env', function('vimtex#text_obj#envtargets#new')) - call targets#sources#register('tex_cmd', function('vimtex#text_obj#cmdtargets#new')) -endfunction - -" }}}1 - -endif |