mirror of
https://github.com/preservim/nerdtree.git
synced 2025-11-08 19:33:50 -05:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7099f638ed | ||
|
|
a7eb011e47 | ||
|
|
7e1713853a | ||
|
|
aaa946fb6b |
@@ -5,6 +5,7 @@
|
|||||||
- **.PATCH**: Pull Request Title (PR Author) [PR Number](Link to PR)
|
- **.PATCH**: Pull Request Title (PR Author) [PR Number](Link to PR)
|
||||||
-->
|
-->
|
||||||
#### 6.9
|
#### 6.9
|
||||||
|
- **.12**: Respect NERDTreeCustomOpenArgs when opening bookmark (przepompownia) [#1200](https://github.com/preservim/nerdtree/pull/1200)
|
||||||
- **.11**: Revamp the README. (buncis, PhilRunninger) [#1192](https://github.com/preservim/nerdtree/pull/1192), [#1193](https://github.com/preservim/nerdtree/pull/1193)
|
- **.11**: Revamp the README. (buncis, PhilRunninger) [#1192](https://github.com/preservim/nerdtree/pull/1192), [#1193](https://github.com/preservim/nerdtree/pull/1193)
|
||||||
- **.10**: Open a mirrored NERDTree with correct width (PhilRunninger) [#1177](https://github.com/preservim/nerdtree/pull/1177)
|
- **.10**: Open a mirrored NERDTree with correct width (PhilRunninger) [#1177](https://github.com/preservim/nerdtree/pull/1177)
|
||||||
- **.9**: Updated Readme, removed typo (H3RSKO) [#1167](https://github.com/preservim/nerdtree/pull/1167)
|
- **.9**: Updated Readme, removed typo (H3RSKO) [#1167](https://github.com/preservim/nerdtree/pull/1167)
|
||||||
|
|||||||
@@ -162,6 +162,11 @@ autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTr
|
|||||||
" Open the existing NERDTree on each new tab.
|
" Open the existing NERDTree on each new tab.
|
||||||
autocmd BufWinEnter * silent NERDTreeMirror
|
autocmd BufWinEnter * silent NERDTreeMirror
|
||||||
```
|
```
|
||||||
|
or change your NERDTree-launching shortcut key like so:
|
||||||
|
```vim
|
||||||
|
" Mirror the NERDTree before showing it. This makes it the same on all tabs.
|
||||||
|
nnoremap <C-n> :NERDTreeMirror<CR>:NERDTreeFocus<CR>
|
||||||
|
```
|
||||||
|
|
||||||
### How can I change the default arrows?
|
### How can I change the default arrows?
|
||||||
|
|
||||||
|
|||||||
@@ -108,10 +108,41 @@ function! s:customOpenBookmark(node) abort
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
"FUNCTION: s:initCustomOpenArgs() {{{1
|
"FUNCTION: s:initCustomOpenArgs() {{{1
|
||||||
" Make sure NERDTreeCustomOpenArgs has needed keys
|
|
||||||
function! s:initCustomOpenArgs() abort
|
function! s:initCustomOpenArgs() abort
|
||||||
let g:NERDTreeCustomOpenArgs = get(g:, 'NERDTreeCustomOpenArgs', {})
|
let l:defaultOpenArgs = {'file': {'reuse': 'all', 'where': 'p'}, 'dir': {}}
|
||||||
return extend(g:NERDTreeCustomOpenArgs, {'file':{'reuse': 'all', 'where': 'p'}, 'dir':{}}, 'keep')
|
let l:customOpenArgs = get(g:, 'NERDTreeCustomOpenArgs', {})
|
||||||
|
|
||||||
|
if !s:validateType(l:customOpenArgs, type({})) || empty(l:customOpenArgs)
|
||||||
|
let g:NERDTreeCustomOpenArgs = l:customOpenArgs
|
||||||
|
return l:defaultOpenArgs
|
||||||
|
endif
|
||||||
|
|
||||||
|
for l:typeKey in keys(l:defaultOpenArgs)
|
||||||
|
if !s:validateType(get(l:customOpenArgs, l:typeKey, {}), type({}))
|
||||||
|
\ || !has_key(l:customOpenArgs, l:typeKey)
|
||||||
|
let l:customOpenArgs[l:typeKey] = l:defaultOpenArgs[l:typeKey]
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
|
||||||
|
for l:optionName in keys(l:defaultOpenArgs[l:typeKey])
|
||||||
|
if s:validateType(get(l:customOpenArgs[l:typeKey], l:optionName, v:null), type(''))
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
let l:customOpenArgs[l:typeKey][l:optionName] = l:defaultOpenArgs[l:typeKey][l:optionName]
|
||||||
|
endfor
|
||||||
|
endfor
|
||||||
|
|
||||||
|
let g:NERDTreeCustomOpenArgs = l:customOpenArgs
|
||||||
|
|
||||||
|
return extend(l:customOpenArgs, l:defaultOpenArgs, 'keep')
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:validateType(variable, type) abort
|
||||||
|
if type(a:variable) == a:type
|
||||||
|
return v:true
|
||||||
|
endif
|
||||||
|
|
||||||
|
return v:false
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
"FUNCTION: s:activateAll() {{{1
|
"FUNCTION: s:activateAll() {{{1
|
||||||
@@ -500,9 +531,10 @@ function! nerdtree#ui_glue#openBookmark(name) abort
|
|||||||
endtry
|
endtry
|
||||||
if l:bookmark.path.isDirectory
|
if l:bookmark.path.isDirectory
|
||||||
call l:bookmark.open(b:NERDTree)
|
call l:bookmark.open(b:NERDTree)
|
||||||
else
|
return
|
||||||
call l:bookmark.open(b:NERDTree, {'where': 'p'})
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
call l:bookmark.open(b:NERDTree, s:initCustomOpenArgs().file)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" FUNCTION: s:openHSplit(target) {{{1
|
" FUNCTION: s:openHSplit(target) {{{1
|
||||||
|
|||||||
Reference in New Issue
Block a user