summaryrefslogtreecommitdiffstats
path: root/ftplugin/latex-box/motion.vim
diff options
context:
space:
mode:
Diffstat (limited to 'ftplugin/latex-box/motion.vim')
-rw-r--r--ftplugin/latex-box/motion.vim25
1 files changed, 20 insertions, 5 deletions
diff --git a/ftplugin/latex-box/motion.vim b/ftplugin/latex-box/motion.vim
index 41605aea..7e5b0011 100644
--- a/ftplugin/latex-box/motion.vim
+++ b/ftplugin/latex-box/motion.vim
@@ -349,7 +349,7 @@ function! s:ReadTOC(auxfile, texfile, ...)
if len(tree) > 3 && empty(tree[1])
call remove(tree, 1)
endif
- if len(tree) > 1 && tree[0] =~ '^\\\(numberline\|tocsection\)'
+ if len(tree) > 1 && type(tree[0]) == type("") && tree[0] =~ '^\\\(numberline\|tocsection\)'
let secnum = LatexBox_TreeToTex(tree[1])
let secnum = substitute(secnum, '\\\S\+\s', '', 'g')
let secnum = substitute(secnum, '\\\S\+{\(.\{-}\)}', '\1', 'g')
@@ -379,6 +379,21 @@ function! LatexBox_TOC(...)
" Check if window already exists
let winnr = bufwinnr(bufnr('LaTeX TOC'))
+ " Two types of splits, horizontal and vertical
+ let l:hori = "new"
+ let l:vert = "vnew"
+
+ " Set General Vars and initialize size
+ let l:type = g:LatexBox_split_type
+ let l:size = 10
+
+ " Size detection
+ if l:type == l:hori
+ let l:size = g:LatexBox_split_length
+ elseif l:type == l:vert
+ let l:size = g:LatexBox_split_width
+ endif
+
if winnr >= 0
if a:0 == 0
silent execute winnr . 'wincmd w'
@@ -386,13 +401,12 @@ function! LatexBox_TOC(...)
" Supplying an argument to this function causes toggling instead
" of jumping to the TOC window
if g:LatexBox_split_resize
- silent exe "set columns-=" . g:LatexBox_split_width
+ silent exe "set columns-=" . l:size
endif
silent execute 'bwipeout' . bufnr('LaTeX TOC')
endif
return
endif
-
" Read TOC
let [toc, fileindices] = s:ReadTOC(LatexBox_GetAuxFile(),
\ LatexBox_GetMainTexFile())
@@ -403,9 +417,10 @@ function! LatexBox_TOC(...)
" Create TOC window and set local settings
if g:LatexBox_split_resize
- silent exe "set columns+=" . g:LatexBox_split_width
+ silent exe "set columns+=" . l:size
endif
- silent exe g:LatexBox_split_side g:LatexBox_split_width . 'vnew LaTeX\ TOC'
+ silent exe g:LatexBox_split_side l:size . l:type . ' LaTeX\ TOC'
+
let b:toc = toc
let b:toc_numbers = 1
let b:calling_win = bufwinnr(calling_buf)