diff options
author | Sam Chudnick <sam@chudnick.com> | 2023-06-11 07:54:59 -0400 |
---|---|---|
committer | Sam Chudnick <sam@chudnick.com> | 2023-06-11 07:54:59 -0400 |
commit | 3adcf542289a0883924ae9b9be8b898c36702c95 (patch) | |
tree | f02166ef4c95161ffa994eb1a3e5729c93c2c66b /.vim/pack/vendor/start/nerdtree/plugin | |
parent | dfcc303e7cc284a45f55bae81ed888dc256432b8 (diff) |
Add some Vim plugins
Diffstat (limited to '.vim/pack/vendor/start/nerdtree/plugin')
-rw-r--r-- | .vim/pack/vendor/start/nerdtree/plugin/NERD_tree.vim | 234 |
1 files changed, 234 insertions, 0 deletions
diff --git a/.vim/pack/vendor/start/nerdtree/plugin/NERD_tree.vim b/.vim/pack/vendor/start/nerdtree/plugin/NERD_tree.vim new file mode 100644 index 0000000..ef60cca --- /dev/null +++ b/.vim/pack/vendor/start/nerdtree/plugin/NERD_tree.vim | |||
@@ -0,0 +1,234 @@ | |||
1 | " ============================================================================ | ||
2 | " File: NERD_tree.vim | ||
3 | " Maintainer: Martin Grenfell <martin.grenfell at gmail dot com> | ||
4 | " License: This program is free software. It comes without any warranty, | ||
5 | " to the extent permitted by applicable law. You can redistribute | ||
6 | " it and/or modify it under the terms of the Do What The Fuck You | ||
7 | " Want To Public License, Version 2, as published by Sam Hocevar. | ||
8 | " See http://sam.zoy.org/wtfpl/COPYING for more details. | ||
9 | " | ||
10 | " ============================================================================ | ||
11 | " | ||
12 | " SECTION: Script init stuff {{{1 | ||
13 | "============================================================ | ||
14 | scriptencoding utf-8 | ||
15 | |||
16 | if exists('loaded_nerd_tree') | ||
17 | finish | ||
18 | endif | ||
19 | if v:version < 703 | ||
20 | echoerr "NERDTree: this plugin requires vim >= 7.3. DOWNLOAD IT! You'll thank me later!" | ||
21 | finish | ||
22 | endif | ||
23 | let loaded_nerd_tree = 1 | ||
24 | |||
25 | "for line continuation - i.e dont want C in &cpoptions | ||
26 | let s:old_cpo = &cpoptions | ||
27 | set cpoptions&vim | ||
28 | |||
29 | "SECTION: Initialize variable calls and other random constants {{{2 | ||
30 | let g:NERDTreeAutoCenter = get(g:, 'NERDTreeAutoCenter', 1) | ||
31 | let g:NERDTreeAutoCenterThreshold = get(g:, 'NERDTreeAutoCenterThreshold', 3) | ||
32 | let g:NERDTreeCaseSensitiveSort = get(g:, 'NERDTreeCaseSensitiveSort', 0) | ||
33 | let g:NERDTreeNaturalSort = get(g:, 'NERDTreeNaturalSort', 0) | ||
34 | let g:NERDTreeSortHiddenFirst = get(g:, 'NERDTreeSortHiddenFirst', 1) | ||
35 | let g:NERDTreeUseTCD = get(g:, 'NERDTreeUseTCD', 0) | ||
36 | let g:NERDTreeChDirMode = get(g:, 'NERDTreeChDirMode', 0) | ||
37 | let g:NERDTreeCreatePrefix = get(g:, 'NERDTreeCreatePrefix', 'silent') | ||
38 | let g:NERDTreeMinimalUI = get(g:, 'NERDTreeMinimalUI', 0) | ||
39 | let g:NERDTreeMinimalMenu = get(g:, 'NERDTreeMinimalMenu', 0) | ||
40 | let g:NERDTreeIgnore = get(g:, 'NERDTreeIgnore', ['\~$']) | ||
41 | let g:NERDTreeBookmarksFile = get(g:, 'NERDTreeBookmarksFile', expand('$HOME') . '/.NERDTreeBookmarks') | ||
42 | let g:NERDTreeBookmarksSort = get(g:, 'NERDTreeBookmarksSort', 1) | ||
43 | let g:NERDTreeHighlightCursorline = get(g:, 'NERDTreeHighlightCursorline', 1) | ||
44 | let g:NERDTreeHijackNetrw = get(g:, 'NERDTreeHijackNetrw', 1) | ||
45 | let g:NERDTreeMarkBookmarks = get(g:, 'NERDTreeMarkBookmarks', 1) | ||
46 | let g:NERDTreeMouseMode = get(g:, 'NERDTreeMouseMode', 1) | ||
47 | let g:NERDTreeNotificationThreshold = get(g:, 'NERDTreeNotificationThreshold', 100) | ||
48 | let g:NERDTreeQuitOnOpen = get(g:, 'NERDTreeQuitOnOpen', 0) | ||
49 | let g:NERDTreeRespectWildIgnore = get(g:, 'NERDTreeRespectWildIgnore', 0) | ||
50 | let g:NERDTreeShowBookmarks = get(g:, 'NERDTreeShowBookmarks', 0) | ||
51 | let g:NERDTreeShowFiles = get(g:, 'NERDTreeShowFiles', 1) | ||
52 | let g:NERDTreeShowHidden = get(g:, 'NERDTreeShowHidden', 0) | ||
53 | let g:NERDTreeShowLineNumbers = get(g:, 'NERDTreeShowLineNumbers', 0) | ||
54 | let g:NERDTreeSortDirs = get(g:, 'NERDTreeSortDirs', 1) | ||
55 | |||
56 | if !nerdtree#runningWindows() && !nerdtree#runningCygwin() | ||
57 | let g:NERDTreeDirArrowExpandable = get(g:, 'NERDTreeDirArrowExpandable', '▸') | ||
58 | let g:NERDTreeDirArrowCollapsible = get(g:, 'NERDTreeDirArrowCollapsible', '▾') | ||
59 | else | ||
60 | let g:NERDTreeDirArrowExpandable = get(g:, 'NERDTreeDirArrowExpandable', '+') | ||
61 | let g:NERDTreeDirArrowCollapsible = get(g:, 'NERDTreeDirArrowCollapsible', '~') | ||
62 | endif | ||
63 | |||
64 | let g:NERDTreeCascadeOpenSingleChildDir = get(g:, 'NERDTreeCascadeOpenSingleChildDir', 1) | ||
65 | let g:NERDTreeCascadeSingleChildDir = get(g:, 'NERDTreeCascadeSingleChildDir', 1) | ||
66 | |||
67 | let g:NERDTreeSortOrder = get(g:, 'NERDTreeSortOrder', ['\/$', '*', '\.swp$', '\.bak$', '\~$']) | ||
68 | let g:NERDTreeOldSortOrder = [] | ||
69 | |||
70 | let g:NERDTreeGlyphReadOnly = get(g:, 'NERDTreeGlyphReadOnly', 'RO') | ||
71 | |||
72 | if has('conceal') | ||
73 | let g:NERDTreeNodeDelimiter = get(g:, 'NERDTreeNodeDelimiter', "\x07") | ||
74 | elseif (g:NERDTreeDirArrowExpandable ==# "\u00a0" || g:NERDTreeDirArrowCollapsible ==# "\u00a0") | ||
75 | let g:NERDTreeNodeDelimiter = get(g:, 'NERDTreeNodeDelimiter', "\u00b7") | ||
76 | else | ||
77 | let g:NERDTreeNodeDelimiter = get(g:, 'NERDTreeNodeDelimiter', "\u00a0") | ||
78 | endif | ||
79 | |||
80 | "the exists() crap here is a hack to stop vim spazzing out when | ||
81 | "loading a session that was created with an open nerd tree. It spazzes | ||
82 | "because it doesnt store b:NERDTree(its a b: var, and its a hash) | ||
83 | let g:NERDTreeStatusline = get(g:, 'NERDTreeStatusline', "%{exists('b:NERDTree')?b:NERDTree.root.path.str():''}") | ||
84 | |||
85 | let g:NERDTreeWinPos = get(g:, 'NERDTreeWinPos', 'left') | ||
86 | let g:NERDTreeWinSize = get(g:, 'NERDTreeWinSize', 31) | ||
87 | |||
88 | "init the shell commands that will be used to copy nodes, and remove dir trees | ||
89 | "Note: the space after the command is important | ||
90 | if nerdtree#runningWindows() | ||
91 | let g:NERDTreeRemoveDirCmd = get(g:, 'NERDTreeRemoveDirCmd', 'rmdir /s /q ') | ||
92 | let g:NERDTreeCopyDirCmd = get(g:, 'NERDTreeCopyDirCmd', 'xcopy /s /e /i /y /q ') | ||
93 | let g:NERDTreeCopyFileCmd = get(g:, 'NERDTreeCopyFileCmd', 'copy /y ') | ||
94 | else | ||
95 | let g:NERDTreeRemoveDirCmd = get(g:, 'NERDTreeRemoveDirCmd', 'rm -rf ') | ||
96 | let g:NERDTreeCopyCmd = get(g:, 'NERDTreeCopyCmd', 'cp -r ') | ||
97 | endif | ||
98 | |||
99 | "SECTION: Init variable calls for key mappings {{{2 | ||
100 | let g:NERDTreeMapCustomOpen = get(g:, 'NERDTreeMapCustomOpen', '<CR>') | ||
101 | let g:NERDTreeMapActivateNode = get(g:, 'NERDTreeMapActivateNode', 'o') | ||
102 | let g:NERDTreeMapChangeRoot = get(g:, 'NERDTreeMapChangeRoot', 'C') | ||
103 | let g:NERDTreeMapChdir = get(g:, 'NERDTreeMapChdir', 'cd') | ||
104 | let g:NERDTreeMapCloseChildren = get(g:, 'NERDTreeMapCloseChildren', 'X') | ||
105 | let g:NERDTreeMapCloseDir = get(g:, 'NERDTreeMapCloseDir', 'x') | ||
106 | let g:NERDTreeMapDeleteBookmark = get(g:, 'NERDTreeMapDeleteBookmark', 'D') | ||
107 | let g:NERDTreeMapMenu = get(g:, 'NERDTreeMapMenu', 'm') | ||
108 | let g:NERDTreeMapHelp = get(g:, 'NERDTreeMapHelp', '?') | ||
109 | let g:NERDTreeMapJumpFirstChild = get(g:, 'NERDTreeMapJumpFirstChild', 'K') | ||
110 | let g:NERDTreeMapJumpLastChild = get(g:, 'NERDTreeMapJumpLastChild', 'J') | ||
111 | let g:NERDTreeMapJumpNextSibling = get(g:, 'NERDTreeMapJumpNextSibling', '<C-j>') | ||
112 | let g:NERDTreeMapJumpParent = get(g:, 'NERDTreeMapJumpParent', 'p') | ||
113 | let g:NERDTreeMapJumpPrevSibling = get(g:, 'NERDTreeMapJumpPrevSibling', '<C-k>') | ||
114 | let g:NERDTreeMapJumpRoot = get(g:, 'NERDTreeMapJumpRoot', 'P') | ||
115 | let g:NERDTreeMapOpenExpl = get(g:, 'NERDTreeMapOpenExpl', 'e') | ||
116 | let g:NERDTreeMapOpenInTab = get(g:, 'NERDTreeMapOpenInTab', 't') | ||
117 | let g:NERDTreeMapOpenInTabSilent = get(g:, 'NERDTreeMapOpenInTabSilent', 'T') | ||
118 | let g:NERDTreeMapOpenRecursively = get(g:, 'NERDTreeMapOpenRecursively', 'O') | ||
119 | let g:NERDTreeMapOpenSplit = get(g:, 'NERDTreeMapOpenSplit', 'i') | ||
120 | let g:NERDTreeMapOpenVSplit = get(g:, 'NERDTreeMapOpenVSplit', 's') | ||
121 | let g:NERDTreeMapPreview = get(g:, 'NERDTreeMapPreview', 'g'.NERDTreeMapActivateNode) | ||
122 | let g:NERDTreeMapPreviewSplit = get(g:, 'NERDTreeMapPreviewSplit', 'g'.NERDTreeMapOpenSplit) | ||
123 | let g:NERDTreeMapPreviewVSplit = get(g:, 'NERDTreeMapPreviewVSplit', 'g'.NERDTreeMapOpenVSplit) | ||
124 | let g:NERDTreeMapQuit = get(g:, 'NERDTreeMapQuit', 'q') | ||
125 | let g:NERDTreeMapRefresh = get(g:, 'NERDTreeMapRefresh', 'r') | ||
126 | let g:NERDTreeMapRefreshRoot = get(g:, 'NERDTreeMapRefreshRoot', 'R') | ||
127 | let g:NERDTreeMapToggleBookmarks = get(g:, 'NERDTreeMapToggleBookmarks', 'B') | ||
128 | let g:NERDTreeMapToggleFiles = get(g:, 'NERDTreeMapToggleFiles', 'F') | ||
129 | let g:NERDTreeMapToggleFilters = get(g:, 'NERDTreeMapToggleFilters', 'f') | ||
130 | let g:NERDTreeMapToggleHidden = get(g:, 'NERDTreeMapToggleHidden', 'I') | ||
131 | let g:NERDTreeMapToggleZoom = get(g:, 'NERDTreeMapToggleZoom', 'A') | ||
132 | let g:NERDTreeMapUpdir = get(g:, 'NERDTreeMapUpdir', 'u') | ||
133 | let g:NERDTreeMapUpdirKeepOpen = get(g:, 'NERDTreeMapUpdirKeepOpen', 'U') | ||
134 | let g:NERDTreeMapCWD = get(g:, 'NERDTreeMapCWD', 'CD') | ||
135 | let g:NERDTreeMenuDown = get(g:, 'NERDTreeMenuDown', 'j') | ||
136 | let g:NERDTreeMenuUp = get(g:, 'NERDTreeMenuUp', 'k') | ||
137 | |||
138 | "SECTION: Load class files{{{2 | ||
139 | call nerdtree#loadClassFiles() | ||
140 | |||
141 | " SECTION: Commands {{{1 | ||
142 | "============================================================ | ||
143 | call nerdtree#ui_glue#setupCommands() | ||
144 | |||
145 | " SECTION: Auto commands {{{1 | ||
146 | "============================================================ | ||
147 | augroup NERDTree | ||
148 | "Save the cursor position whenever we close the nerd tree | ||
149 | exec 'autocmd BufLeave,WinLeave '. g:NERDTreeCreator.BufNamePrefix() .'* if g:NERDTree.IsOpen() | call b:NERDTree.ui.saveScreenState() | endif' | ||
150 | |||
151 | "disallow insert mode in the NERDTree | ||
152 | exec 'autocmd BufEnter,WinEnter '. g:NERDTreeCreator.BufNamePrefix() .'* stopinsert' | ||
153 | augroup END | ||
154 | |||
155 | if g:NERDTreeHijackNetrw | ||
156 | augroup NERDTreeHijackNetrw | ||
157 | autocmd VimEnter * silent! autocmd! FileExplorer | ||
158 | au BufEnter,VimEnter * call nerdtree#checkForBrowse(expand('<amatch>')) | ||
159 | augroup END | ||
160 | endif | ||
161 | |||
162 | if g:NERDTreeChDirMode ==# 3 | ||
163 | augroup NERDTreeChDirOnTabSwitch | ||
164 | autocmd TabEnter * if g:NERDTree.ExistsForTab()|call g:NERDTree.ForCurrentTab().getRoot().path.changeToDir()|endif | ||
165 | augroup END | ||
166 | endif | ||
167 | |||
168 | " SECTION: Public API {{{1 | ||
169 | "============================================================ | ||
170 | function! NERDTreeAddMenuItem(options) | ||
171 | call g:NERDTreeMenuItem.Create(a:options) | ||
172 | endfunction | ||
173 | |||
174 | function! NERDTreeAddMenuSeparator(...) | ||
175 | let opts = a:0 ? a:1 : {} | ||
176 | call g:NERDTreeMenuItem.CreateSeparator(opts) | ||
177 | endfunction | ||
178 | |||
179 | function! NERDTreeAddSubmenu(options) | ||
180 | return g:NERDTreeMenuItem.Create(a:options) | ||
181 | endfunction | ||
182 | |||
183 | function! NERDTreeAddKeyMap(options) | ||
184 | call g:NERDTreeKeyMap.Create(a:options) | ||
185 | endfunction | ||
186 | |||
187 | function! NERDTreeRender() | ||
188 | call nerdtree#renderView() | ||
189 | endfunction | ||
190 | |||
191 | function! NERDTreeFocus() | ||
192 | if g:NERDTree.IsOpen() | ||
193 | call g:NERDTree.CursorToTreeWin(0) | ||
194 | else | ||
195 | call g:NERDTreeCreator.ToggleTabTree('') | ||
196 | endif | ||
197 | endfunction | ||
198 | |||
199 | function! NERDTreeCWD() | ||
200 | |||
201 | if empty(getcwd()) | ||
202 | call nerdtree#echoWarning('current directory does not exist') | ||
203 | return | ||
204 | endif | ||
205 | |||
206 | try | ||
207 | let l:cwdPath = g:NERDTreePath.New(getcwd()) | ||
208 | catch /^NERDTree.InvalidArgumentsError/ | ||
209 | call nerdtree#echoWarning('current directory does not exist') | ||
210 | return | ||
211 | endtry | ||
212 | |||
213 | call NERDTreeFocus() | ||
214 | |||
215 | if b:NERDTree.root.path.equals(l:cwdPath) | ||
216 | return | ||
217 | endif | ||
218 | |||
219 | let l:newRoot = g:NERDTreeFileNode.New(l:cwdPath, b:NERDTree) | ||
220 | call b:NERDTree.changeRoot(l:newRoot) | ||
221 | normal! ^ | ||
222 | endfunction | ||
223 | |||
224 | function! NERDTreeAddPathFilter(callback) | ||
225 | call g:NERDTree.AddPathFilter(a:callback) | ||
226 | endfunction | ||
227 | |||
228 | " SECTION: Post Source Actions {{{1 | ||
229 | call nerdtree#postSourceActions() | ||
230 | |||
231 | "reset &cpoptions back to users setting | ||
232 | let &cpoptions = s:old_cpo | ||
233 | |||
234 | " vim: set sw=4 sts=4 et fdm=marker: | ||