Fix #532: Add support for vimtex-includes in ToC
This commit is contained in:
parent
e687d39281
commit
2559a85105
@ -170,7 +170,9 @@ function! s:actions_activate(close) dict "{{{1
|
||||
execute 'keepalt' cmd bnr
|
||||
|
||||
" Go to entry line
|
||||
call setpos('.', [0, entry.line, 0, 0])
|
||||
if has_key(entry, 'line')
|
||||
call setpos('.', [0, entry.line, 0, 0])
|
||||
endif
|
||||
|
||||
" Ensure folds are opened
|
||||
normal! zv
|
||||
|
@ -151,6 +151,24 @@ function! vimtex#toc#get_entries() " {{{1
|
||||
endif
|
||||
endif
|
||||
|
||||
" Convenience includes
|
||||
let l:fname = matchstr(l:line, s:re_vimtex_include)
|
||||
if !empty(l:fname)
|
||||
if l:fname[0] !=# '/'
|
||||
let l:fname = b:vimtex.root . '/' . l:fname
|
||||
endif
|
||||
call add(l:toc, {
|
||||
\ 'title' : 'Vimtex include: '
|
||||
\ . (strlen(l:fname) < 54
|
||||
\ ? l:fname
|
||||
\ : l:fname[0:20] . '...' . l:fname[-30:]),
|
||||
\ 'number' : '',
|
||||
\ 'file' : l:fname,
|
||||
\ 'level' : s:number.current_level,
|
||||
\ })
|
||||
continue
|
||||
endif
|
||||
|
||||
" Bibliography files
|
||||
if l:line =~# s:re_bibs
|
||||
call add(l:toc, s:parse_bib_input(l:line))
|
||||
@ -488,6 +506,7 @@ let s:re_sec = '\v^\s*\\%(part|chapter|%(sub)*section)\*?\s*%(\[.{-}\])?\{'
|
||||
let s:re_sec_starred = '\v^\s*\\%(part|chapter|%(sub)*section)\*'
|
||||
let s:re_sec_level = '\v^\s*\\\zs%(part|chapter|%(sub)*section)'
|
||||
let s:re_sec_title = s:re_sec . '\zs.{-}\ze\}?\%?\s*$'
|
||||
let s:re_vimtex_include = '%\s*vimtex-include:\?\s\+\zs\f\+'
|
||||
let s:re_matters = '\v^\s*\\%(front|main|back)matter>'
|
||||
let s:re_structure = '\v^\s*\\((front|main|back)matter|appendix)>'
|
||||
let s:re_structure_match = '\v((front|main|back)matter|appendix)'
|
||||
|
@ -1710,6 +1710,16 @@ Table of contents~
|
||||
The ToC entries may be activated/jumped to with <cr> or <space>. The local
|
||||
keybindings are described if |g:vimtex_index_show_help| is enabled.
|
||||
|
||||
One may force entries into the ToC through designated comments with the
|
||||
following syntax: >
|
||||
|
||||
% vimtex-include: /path/to/file
|
||||
|
||||
The path may be absolute or relative. In the latter case, it will be relative
|
||||
to the current root (as printed by |:VimtexInfo|). This will add an entry in
|
||||
the ToC which makes it easy to open any file. Note, though, that the ToC and
|
||||
vimtex key mappings may not be available in the target file.
|
||||
|
||||
Associated settings:
|
||||
|g:vimtex_toc_enabled|
|
||||
|g:vimtex_toc_fold|
|
||||
|
Loading…
Reference in New Issue
Block a user