File: targets.vim

package info (click to toggle)
vim-vimtex 2.16-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,660 kB
  • sloc: makefile: 367; python: 103
file content (45 lines) | stat: -rw-r--r-- 1,489 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
" 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) == v:t_number && g:loaded_targets)
        \     || (type(g:loaded_targets) == v:t_string && !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