commit 8b189cb263b17a9cc3393cbcb037c65d99579fb8
parent b0114d202bd3641cffb232a5f1f4522c02659880
Author: Martin Grenfell <martin.grenfell@gmail.com>
Date: Sat, 2 May 2015 15:24:59 +0100
move some rendering and cursor moving functions out of autoload
Diffstat:
6 files changed, 99 insertions(+), 99 deletions(-)
diff --git a/autoload/nerdtree.vim b/autoload/nerdtree.vim
@@ -128,96 +128,9 @@ function! nerdtree#echoWarning(msg)
echohl normal
endfunction
-"FUNCTION: nerdtree#putCursorOnBookmarkTable(){{{2
-"Places the cursor at the top of the bookmarks table
-function! nerdtree#putCursorOnBookmarkTable()
- if !b:NERDTreeShowBookmarks
- throw "NERDTree.IllegalOperationError: cant find bookmark table, bookmarks arent active"
- endif
-
- if g:NERDTreeMinimalUI
- return cursor(1, 2)
- endif
-
- let rootNodeLine = b:NERDTree.ui.getRootLineNum()
-
- let line = 1
- while getline(line) !~# '^>-\+Bookmarks-\+$'
- let line = line + 1
- if line >= rootNodeLine
- throw "NERDTree.BookmarkTableNotFoundError: didnt find the bookmarks table"
- endif
- endwhile
- call cursor(line, 2)
-endfunction
-
-"FUNCTION: nerdtree#putCursorInTreeWin(){{{2
-"Places the cursor in the nerd tree window
-function! nerdtree#putCursorInTreeWin()
- call g:NERDTree.MustBeOpen()
- call nerdtree#exec(g:NERDTree.GetWinNum() . "wincmd w")
-endfunction
-
-"FUNCTION: nerdtree#renderBookmarks {{{2
-function! nerdtree#renderBookmarks()
-
- if g:NERDTreeMinimalUI == 0
- call setline(line(".")+1, ">----------Bookmarks----------")
- call cursor(line(".")+1, col("."))
- endif
-
- for i in g:NERDTreeBookmark.Bookmarks()
- call setline(line(".")+1, i.str())
- call cursor(line(".")+1, col("."))
- endfor
-
- call setline(line(".")+1, '')
- call cursor(line(".")+1, col("."))
-endfunction
-
"FUNCTION: nerdtree#renderView {{{2
function! nerdtree#renderView()
call b:NERDTree.render()
endfunction
-"
-"FUNCTION: nerdtree#stripMarkupFromLine(line, removeLeadingSpaces){{{2
-"returns the given line with all the tree parts stripped off
-"
-"Args:
-"line: the subject line
-"removeLeadingSpaces: 1 if leading spaces are to be removed (leading spaces =
-"any spaces before the actual text of the node)
-function! nerdtree#stripMarkupFromLine(line, removeLeadingSpaces)
- let line = a:line
- "remove the tree parts and the leading space
- let line = substitute (line, g:NERDTreeUI.MarkupReg(),"","")
-
- "strip off any read only flag
- let line = substitute (line, ' \[RO\]', "","")
-
- "strip off any bookmark flags
- let line = substitute (line, ' {[^}]*}', "","")
-
- "strip off any executable flags
- let line = substitute (line, '*\ze\($\| \)', "","")
-
- "strip off any generic flags
- let line = substitute (line, '\[[^]]*\]', "","")
-
- let wasdir = 0
- if line =~# '/$'
- let wasdir = 1
- endif
- let line = substitute (line,' -> .*',"","") " remove link to
- if wasdir ==# 1
- let line = substitute (line, '/\?$', '/', "")
- endif
-
- if a:removeLeadingSpaces
- let line = substitute (line, '^ *', '', '')
- endif
-
- return line
-endfunction
" vim: set sw=4 sts=4 et fdm=marker:
diff --git a/autoload/nerdtree/ui_glue.vim b/autoload/nerdtree/ui_glue.vim
@@ -278,7 +278,7 @@ function! s:findAndRevealPath()
if !g:NERDTree.IsOpen()
call g:NERDTreeCreator.TogglePrimary('')
else
- call nerdtree#putCursorInTreeWin()
+ call g:NERDTree.CursorToTreeWin()
endif
let b:NERDTreeShowHidden = g:NERDTreeShowHidden
call s:chRoot(g:NERDTreeDirNode.New(p.getParent()))
@@ -288,7 +288,7 @@ function! s:findAndRevealPath()
endif
endif
endif
- call nerdtree#putCursorInTreeWin()
+ call g:NERDTree.CursorToTreeWin()
call b:NERDTreeRoot.reveal(p)
if p.isUnixHiddenFile()
diff --git a/lib/nerdtree/nerdtree.vim b/lib/nerdtree/nerdtree.vim
@@ -35,6 +35,36 @@ function! s:NERDTree.CloseIfQuitOnOpen()
endif
endfunction
+"FUNCTION: s:NERDTree.CursorToBookmarkTable(){{{1
+"Places the cursor at the top of the bookmarks table
+function! s:NERDTree.CursorToBookmarkTable()
+ if !b:NERDTreeShowBookmarks
+ throw "NERDTree.IllegalOperationError: cant find bookmark table, bookmarks arent active"
+ endif
+
+ if g:NERDTreeMinimalUI
+ return cursor(1, 2)
+ endif
+
+ let rootNodeLine = b:NERDTree.ui.getRootLineNum()
+
+ let line = 1
+ while getline(line) !~# '^>-\+Bookmarks-\+$'
+ let line = line + 1
+ if line >= rootNodeLine
+ throw "NERDTree.BookmarkTableNotFoundError: didnt find the bookmarks table"
+ endif
+ endwhile
+ call cursor(line, 2)
+endfunction
+
+"FUNCTION: s:NERDTree.CursorToTreeWin(){{{1
+"Places the cursor in the nerd tree window
+function! s:NERDTree.CursorToTreeWin()
+ call g:NERDTree.MustBeOpen()
+ call nerdtree#exec(g:NERDTree.GetWinNum() . "wincmd w")
+endfunction
+
" Function: s:NERDTree.ExistsForBuffer() {{{1
" Returns 1 if a nerd tree root exists in the current buffer
function! s:NERDTree.ExistsForBuf()
diff --git a/lib/nerdtree/opener.vim b/lib/nerdtree/opener.vim
@@ -189,7 +189,7 @@ function! s:Opener._newSplit()
try
exec(splitMode." sp ")
catch /^Vim\%((\a\+)\)\=:E37/
- call nerdtree#putCursorInTreeWin()
+ call g:NERDTree.CursorToTreeWin()
throw "NERDTree.FileAlreadyOpenAndModifiedError: ". self._path.str() ." is already open and modified."
catch /^Vim\%((\a\+)\)\=:/
"do nothing
@@ -219,7 +219,7 @@ function! s:Opener._newVSplit()
vnew
"resize the nerd tree back to the original size
- call nerdtree#putCursorInTreeWin()
+ call g:NERDTree.CursorToTreeWin()
exec("silent vertical resize ". winwidth)
call nerdtree#exec('wincmd p')
endfunction
@@ -288,7 +288,7 @@ function! s:Opener._previousWindow()
call nerdtree#exec('wincmd p')
endif
catch /^Vim\%((\a\+)\)\=:E37/
- call nerdtree#putCursorInTreeWin()
+ call g:NERDTree.CursorToTreeWin()
throw "NERDTree.FileAlreadyOpenAndModifiedError: ". self._path.str() ." is already open and modified."
catch /^Vim\%((\a\+)\)\=:/
echo v:exception
diff --git a/lib/nerdtree/ui.vim b/lib/nerdtree/ui.vim
@@ -171,7 +171,7 @@ function! s:UI.getPath(ln)
let indent = self._indentLevelFor(line)
"remove the tree parts and the leading space
- let curFile = nerdtree#stripMarkupFromLine(line, 0)
+ let curFile = self._stripMarkup(line, 0)
let wasdir = 0
if curFile =~# '/$'
@@ -184,7 +184,7 @@ function! s:UI.getPath(ln)
while lnum > 0
let lnum = lnum - 1
let curLine = getline(lnum)
- let curLineStripped = nerdtree#stripMarkupFromLine(curLine, 1)
+ let curLineStripped = self._stripMarkup(curLine, 1)
"have we reached the top of the tree?
if lnum == rootLine
@@ -235,7 +235,7 @@ function! s:UI.getLineNum(file_node)
let indent = self._indentLevelFor(curLine)
if indent ==# curPathComponent
- let curLine = nerdtree#stripMarkupFromLine(curLine, 1)
+ let curLine = self._stripMarkup(curLine, 1)
let curPath = join(pathcomponents, '/') . '/' . curLine
if stridx(fullpath, curPath, 0) ==# 0
@@ -289,6 +289,23 @@ function! s:UI.MarkupReg()
return '^[ `|]*[\-+~]'
endfunction
+"FUNCTION: s:UI._renderBookmarks {{{1
+function! s:UI._renderBookmarks()
+
+ if g:NERDTreeMinimalUI == 0
+ call setline(line(".")+1, ">----------Bookmarks----------")
+ call cursor(line(".")+1, col("."))
+ endif
+
+ for i in g:NERDTreeBookmark.Bookmarks()
+ call setline(line(".")+1, i.str())
+ call cursor(line(".")+1, col("."))
+ endfor
+
+ call setline(line(".")+1, '')
+ call cursor(line(".")+1, col("."))
+endfunction
+
"FUNCTION: s:UI.restoreScreenState() {{{1
"
"Sets the screen state back to what it was when nerdtree#saveScreenState was last
@@ -315,7 +332,7 @@ endfunction
function! s:UI.saveScreenState()
let win = winnr()
try
- call nerdtree#putCursorInTreeWin()
+ call g:NERDTree.CursorToTreeWin()
let self._screenState = {}
let self._screenState['oldPos'] = getpos(".")
let self._screenState['oldTopLine'] = line("w0")
@@ -325,6 +342,46 @@ function! s:UI.saveScreenState()
endtry
endfunction
+"FUNCTION: s:UI._stripMarkup(line, removeLeadingSpaces){{{1
+"returns the given line with all the tree parts stripped off
+"
+"Args:
+"line: the subject line
+"removeLeadingSpaces: 1 if leading spaces are to be removed (leading spaces =
+"any spaces before the actual text of the node)
+function! s:UI._stripMarkup(line, removeLeadingSpaces)
+ let line = a:line
+ "remove the tree parts and the leading space
+ let line = substitute (line, g:NERDTreeUI.MarkupReg(),"","")
+
+ "strip off any read only flag
+ let line = substitute (line, ' \[RO\]', "","")
+
+ "strip off any bookmark flags
+ let line = substitute (line, ' {[^}]*}', "","")
+
+ "strip off any executable flags
+ let line = substitute (line, '*\ze\($\| \)', "","")
+
+ "strip off any generic flags
+ let line = substitute (line, '\[[^]]*\]', "","")
+
+ let wasdir = 0
+ if line =~# '/$'
+ let wasdir = 1
+ endif
+ let line = substitute (line,' -> .*',"","") " remove link to
+ if wasdir ==# 1
+ let line = substitute (line, '/\?$', '/', "")
+ endif
+
+ if a:removeLeadingSpaces
+ let line = substitute (line, '^ *', '', '')
+ endif
+
+ return line
+endfunction
+
"FUNCTION: s:UI.render() {{{1
function! s:UI.render()
setlocal modifiable
@@ -347,7 +404,7 @@ function! s:UI.render()
endif
if b:NERDTreeShowBookmarks
- call nerdtree#renderBookmarks()
+ call self._renderBookmarks()
endif
"add the 'up a dir' line
@@ -415,7 +472,7 @@ function! s:UI.toggleShowBookmarks()
let b:NERDTreeShowBookmarks = !b:NERDTreeShowBookmarks
if b:NERDTreeShowBookmarks
call b:NERDTree.render()
- call nerdtree#putCursorOnBookmarkTable()
+ call g:NERDTree.CursorToBookmarkTable()
else
call b:NERDTree.ui.renderViewSavingPosition()
endif
diff --git a/plugin/NERD_tree.vim b/plugin/NERD_tree.vim
@@ -186,7 +186,7 @@ endfunction
function! NERDTreeFocus()
if g:NERDTree.IsOpen()
- call nerdtree#putCursorInTreeWin()
+ call g:NERDTree.CursorToTreeWin()
else
call g:NERDTreeCreator.TogglePrimary("")
endif