commit d745e11b42201e4cdec2b98ca51011ffcaf1236b
parent e6a116a9cd20bad7150de22f31311e492127224b
Author: Jason Franklin <j_fra@fastmail.us>
Date: Sat, 6 Jan 2018 08:54:28 -0500
Format the commentary in "tree_file_node.vim"
Diffstat:
1 file changed, 95 insertions(+), 92 deletions(-)
diff --git a/lib/nerdtree/tree_file_node.vim b/lib/nerdtree/tree_file_node.vim
@@ -1,22 +1,25 @@
-"CLASS: TreeFileNode
-"This class is the parent of the TreeDirNode class and is the
-"'Component' part of the composite design pattern between the treenode
-"classes.
-"============================================================
+" ============================================================================
+" CLASS: TreeFileNode
+"
+" This class is the parent of the "TreeDirNode" class and is the "Component"
+" part of the composite design pattern between the NERDTree node classes.
+" ============================================================================
+
+
let s:TreeFileNode = {}
let g:NERDTreeFileNode = s:TreeFileNode
-"FUNCTION: TreeFileNode.activate(...) {{{1
+" FUNCTION: TreeFileNode.activate(...) {{{1
function! s:TreeFileNode.activate(...)
call self.open(a:0 ? a:1 : {})
endfunction
-"FUNCTION: TreeFileNode.bookmark(name) {{{1
-"bookmark this node with a:name
+" FUNCTION: TreeFileNode.bookmark(name) {{{1
+" bookmark this node with a:name
function! s:TreeFileNode.bookmark(name)
- "if a bookmark exists with the same name and the node is cached then save
- "it so we can update its display string
+ " if a bookmark exists with the same name and the node is cached then save
+ " it so we can update its display string
let oldMarkedNode = {}
try
let oldMarkedNode = g:NERDTreeBookmark.GetNodeForName(a:name, 1, self.getNerdtree())
@@ -33,8 +36,8 @@ function! s:TreeFileNode.bookmark(name)
endif
endfunction
-"FUNCTION: TreeFileNode.cacheParent() {{{1
-"initializes self.parent if it isnt already
+" FUNCTION: TreeFileNode.cacheParent() {{{1
+" initializes self.parent if it isnt already
function! s:TreeFileNode.cacheParent()
if empty(self.parent)
let parentPath = self.path.getParent()
@@ -45,7 +48,7 @@ function! s:TreeFileNode.cacheParent()
endif
endfunction
-"FUNCTION: TreeFileNode.clearBookmarks() {{{1
+" FUNCTION: TreeFileNode.clearBookmarks() {{{1
function! s:TreeFileNode.clearBookmarks()
for i in g:NERDTreeBookmark.Bookmarks()
if i.path.equals(self.path)
@@ -55,7 +58,7 @@ function! s:TreeFileNode.clearBookmarks()
call self.path.cacheDisplayString()
endfunction
-"FUNCTION: TreeFileNode.copy(dest) {{{1
+" FUNCTION: TreeFileNode.copy(dest) {{{1
function! s:TreeFileNode.copy(dest)
call self.path.copy(a:dest)
let newPath = g:NERDTreePath.New(a:dest)
@@ -68,44 +71,44 @@ function! s:TreeFileNode.copy(dest)
endif
endfunction
-"FUNCTION: TreeFileNode.delete {{{1
-"Removes this node from the tree and calls the Delete method for its path obj
+" FUNCTION: TreeFileNode.delete {{{1
+" Removes this node from the tree and calls the Delete method for its path obj
function! s:TreeFileNode.delete()
call self.path.delete()
call self.parent.removeChild(self)
endfunction
-"FUNCTION: TreeFileNode.displayString() {{{1
+" FUNCTION: TreeFileNode.displayString() {{{1
"
-"Returns a string that specifies how the node should be represented as a
-"string
+" Returns a string that specifies how the node should be represented as a
+" string
"
-"Return:
-"a string that can be used in the view to represent this node
+" Return:
+" a string that can be used in the view to represent this node
function! s:TreeFileNode.displayString()
return self.path.flagSet.renderToString() . self.path.displayString()
endfunction
-"FUNCTION: TreeFileNode.equals(treenode) {{{1
+" FUNCTION: TreeFileNode.equals(treenode) {{{1
"
-"Compares this treenode to the input treenode and returns 1 if they are the
-"same node.
+" Compares this treenode to the input treenode and returns 1 if they are the
+" same node.
"
-"Use this method instead of == because sometimes when the treenodes contain
-"many children, vim seg faults when doing ==
+" Use this method instead of == because sometimes when the treenodes contain
+" many children, vim seg faults when doing ==
"
-"Args:
-"treenode: the other treenode to compare to
+" Args:
+" treenode: the other treenode to compare to
function! s:TreeFileNode.equals(treenode)
return self.path.str() ==# a:treenode.path.str()
endfunction
-"FUNCTION: TreeFileNode.findNode(path) {{{1
-"Returns self if this node.path.Equals the given path.
-"Returns {} if not equal.
+" FUNCTION: TreeFileNode.findNode(path) {{{1
+" Returns self if this node.path.Equals the given path.
+" Returns {} if not equal.
"
-"Args:
-"path: the path object to compare against
+" Args:
+" path: the path object to compare against
function! s:TreeFileNode.findNode(path)
if a:path.equals(self.path)
return self
@@ -113,18 +116,18 @@ function! s:TreeFileNode.findNode(path)
return {}
endfunction
-"FUNCTION: TreeFileNode.findOpenDirSiblingWithVisibleChildren(direction) {{{1
+" FUNCTION: TreeFileNode.findOpenDirSiblingWithVisibleChildren(direction) {{{1
"
-"Finds the next sibling for this node in the indicated direction. This sibling
-"must be a directory and may/may not have children as specified.
+" Finds the next sibling for this node in the indicated direction. This sibling
+" must be a directory and may/may not have children as specified.
"
-"Args:
-"direction: 0 if you want to find the previous sibling, 1 for the next sibling
+" Args:
+" direction: 0 if you want to find the previous sibling, 1 for the next sibling
"
-"Return:
-"a treenode object or {} if no appropriate sibling could be found
+" Return:
+" a treenode object or {} if no appropriate sibling could be found
function! s:TreeFileNode.findOpenDirSiblingWithVisibleChildren(direction)
- "if we have no parent then we can have no siblings
+ " if we have no parent then we can have no siblings
if self.parent != {}
let nextSibling = self.findSibling(a:direction)
@@ -139,37 +142,37 @@ function! s:TreeFileNode.findOpenDirSiblingWithVisibleChildren(direction)
return {}
endfunction
-"FUNCTION: TreeFileNode.findSibling(direction) {{{1
+" FUNCTION: TreeFileNode.findSibling(direction) {{{1
"
-"Finds the next sibling for this node in the indicated direction
+" Finds the next sibling for this node in the indicated direction
"
-"Args:
-"direction: 0 if you want to find the previous sibling, 1 for the next sibling
+" Args:
+" direction: 0 if you want to find the previous sibling, 1 for the next sibling
"
-"Return:
-"a treenode object or {} if no sibling could be found
+" Return:
+" a treenode object or {} if no sibling could be found
function! s:TreeFileNode.findSibling(direction)
- "if we have no parent then we can have no siblings
+ " if we have no parent then we can have no siblings
if self.parent != {}
- "get the index of this node in its parents children
+ " get the index of this node in its parents children
let siblingIndx = self.parent.getChildIndex(self.path)
if siblingIndx != -1
- "move a long to the next potential sibling node
+ " move a long to the next potential sibling node
let siblingIndx = a:direction ==# 1 ? siblingIndx+1 : siblingIndx-1
- "keep moving along to the next sibling till we find one that is valid
+ " keep moving along to the next sibling till we find one that is valid
let numSiblings = self.parent.getChildCount()
while siblingIndx >= 0 && siblingIndx < numSiblings
- "if the next node is not an ignored node (i.e. wont show up in the
- "view) then return it
+ " if the next node is not an ignored node (i.e. wont show up in the
+ " view) then return it
if self.parent.children[siblingIndx].path.ignore(self.getNerdtree()) ==# 0
return self.parent.children[siblingIndx]
endif
- "go to next node
+ " go to next node
let siblingIndx = a:direction ==# 1 ? siblingIndx+1 : siblingIndx-1
endwhile
endif
@@ -178,13 +181,13 @@ function! s:TreeFileNode.findSibling(direction)
return {}
endfunction
-"FUNCTION: TreeFileNode.getNerdtree(){{{1
+" FUNCTION: TreeFileNode.getNerdtree(){{{1
function! s:TreeFileNode.getNerdtree()
return self._nerdtree
endfunction
-"FUNCTION: TreeFileNode.GetRootForTab(){{{1
-"get the root node for this tab
+" FUNCTION: TreeFileNode.GetRootForTab(){{{1
+" get the root node for this tab
function! s:TreeFileNode.GetRootForTab()
if g:NERDTree.ExistsForTab()
return getbufvar(t:NERDTreeBufName, 'NERDTree').root
@@ -192,8 +195,8 @@ function! s:TreeFileNode.GetRootForTab()
return {}
endfunction
-"FUNCTION: TreeFileNode.GetSelected() {{{1
-"gets the treenode that the cursor is currently over
+" FUNCTION: TreeFileNode.GetSelected() {{{1
+" gets the treenode that the cursor is currently over
function! s:TreeFileNode.GetSelected()
try
let path = b:NERDTree.ui.getPath(line("."))
@@ -206,14 +209,14 @@ function! s:TreeFileNode.GetSelected()
endtry
endfunction
-"FUNCTION: TreeFileNode.isVisible() {{{1
-"returns 1 if this node should be visible according to the tree filters and
-"hidden file filters (and their on/off status)
+" FUNCTION: TreeFileNode.isVisible() {{{1
+" returns 1 if this node should be visible according to the tree filters and
+" hidden file filters (and their on/off status)
function! s:TreeFileNode.isVisible()
return !self.path.ignore(self.getNerdtree())
endfunction
-"FUNCTION: TreeFileNode.isRoot() {{{1
+" FUNCTION: TreeFileNode.isRoot() {{{1
function! s:TreeFileNode.isRoot()
if !g:NERDTree.ExistsForBuf()
throw "NERDTree.NoTreeError: No tree exists for the current buffer"
@@ -222,12 +225,12 @@ function! s:TreeFileNode.isRoot()
return self.equals(self.getNerdtree().root)
endfunction
-"FUNCTION: TreeFileNode.New(path, nerdtree) {{{1
-"Returns a new TreeNode object with the given path and parent
+" FUNCTION: TreeFileNode.New(path, nerdtree) {{{1
+" Returns a new TreeNode object with the given path and parent
"
-"Args:
-"path: file/dir that the node represents
-"nerdtree: the tree the node belongs to
+" Args:
+" path: file/dir that the node represents
+" nerdtree: the tree the node belongs to
function! s:TreeFileNode.New(path, nerdtree)
if a:path.isDirectory
return g:NERDTreeDirNode.New(a:path, a:nerdtree)
@@ -240,40 +243,40 @@ function! s:TreeFileNode.New(path, nerdtree)
endif
endfunction
-"FUNCTION: TreeFileNode.open() {{{1
+" FUNCTION: TreeFileNode.open() {{{1
function! s:TreeFileNode.open(...)
let opts = a:0 ? a:1 : {}
let opener = g:NERDTreeOpener.New(self.path, opts)
call opener.open(self)
endfunction
-"FUNCTION: TreeFileNode.openSplit() {{{1
-"Open this node in a new window
+" FUNCTION: TreeFileNode.openSplit() {{{1
+" Open this node in a new window
function! s:TreeFileNode.openSplit()
call nerdtree#deprecated('TreeFileNode.openSplit', 'is deprecated, use .open() instead.')
call self.open({'where': 'h'})
endfunction
-"FUNCTION: TreeFileNode.openVSplit() {{{1
-"Open this node in a new vertical window
+" FUNCTION: TreeFileNode.openVSplit() {{{1
+" Open this node in a new vertical window
function! s:TreeFileNode.openVSplit()
call nerdtree#deprecated('TreeFileNode.openVSplit', 'is deprecated, use .open() instead.')
call self.open({'where': 'v'})
endfunction
-"FUNCTION: TreeFileNode.openInNewTab(options) {{{1
+" FUNCTION: TreeFileNode.openInNewTab(options) {{{1
function! s:TreeFileNode.openInNewTab(options)
echomsg 'TreeFileNode.openInNewTab is deprecated'
call self.open(extend({'where': 't'}, a:options))
endfunction
-"FUNCTION: TreeFileNode.putCursorHere(isJump, recurseUpward){{{1
-"Places the cursor on the line number this node is rendered on
+" FUNCTION: TreeFileNode.putCursorHere(isJump, recurseUpward){{{1
+" Places the cursor on the line number this node is rendered on
"
-"Args:
-"isJump: 1 if this cursor movement should be counted as a jump by vim
-"recurseUpward: try to put the cursor on the parent if the this node isnt
-"visible
+" Args:
+" isJump: 1 if this cursor movement should be counted as a jump by vim
+" recurseUpward: try to put the cursor on the parent if the this node isnt
+" visible
function! s:TreeFileNode.putCursorHere(isJump, recurseUpward)
let ln = self.getNerdtree().ui.getLineNum(self)
if ln != -1
@@ -294,18 +297,18 @@ function! s:TreeFileNode.putCursorHere(isJump, recurseUpward)
endif
endfunction
-"FUNCTION: TreeFileNode.refresh() {{{1
+" FUNCTION: TreeFileNode.refresh() {{{1
function! s:TreeFileNode.refresh()
call self.path.refresh(self.getNerdtree())
endfunction
-"FUNCTION: TreeFileNode.refreshFlags() {{{1
+" FUNCTION: TreeFileNode.refreshFlags() {{{1
function! s:TreeFileNode.refreshFlags()
call self.path.refreshFlags(self.getNerdtree())
endfunction
-"FUNCTION: TreeFileNode.rename() {{{1
-"Calls the rename method for this nodes path obj
+" FUNCTION: TreeFileNode.rename() {{{1
+" Calls the rename method for this nodes path obj
function! s:TreeFileNode.rename(newName)
let newName = substitute(a:newName, '\(\\\|\/\)$', '', '')
call self.path.rename(newName)
@@ -320,17 +323,17 @@ function! s:TreeFileNode.rename(newName)
endif
endfunction
-"FUNCTION: TreeFileNode.renderToString {{{1
-"returns a string representation for this tree to be rendered in the view
+" FUNCTION: TreeFileNode.renderToString {{{1
+" returns a string representation for this tree to be rendered in the view
function! s:TreeFileNode.renderToString()
return self._renderToString(0, 0)
endfunction
-"Args:
-"depth: the current depth in the tree for this call
-"drawText: 1 if we should actually draw the line for this node (if 0 then the
-"child nodes are rendered only)
-"for each depth in the tree
+" Args:
+" depth: the current depth in the tree for this call
+" drawText: 1 if we should actually draw the line for this node (if 0 then the
+" child nodes are rendered only)
+" for each depth in the tree
function! s:TreeFileNode._renderToString(depth, drawText)
let output = ""
if a:drawText ==# 1
@@ -346,7 +349,7 @@ function! s:TreeFileNode._renderToString(depth, drawText)
let output = output . line . "\n"
endif
- "if the node is an open dir, draw its children
+ " if the node is an open dir, draw its children
if self.path.isDirectory ==# 1 && self.isOpen ==# 1
let childNodesToDraw = self.getVisibleChildren()