* Fix a typo: "NERDTree_*" -> "NERD_Tree_*"
* Format text
* Use the proper abbreviation for the BEL character
* Format text
* Make the documentation match the code
The syntax file sets 'conceallevel' to 2, not 3.
* Update the "CHANGELOG.md" file
- Use "type(0)" instead of "v:t_number"
- Use "==" instead of "==#" since we are comparing numbers
- Make use of the "+=" operator
- Update the "CHANGELOG.md" file
The only real issue here is that we should prefer "type(0)" over the
special variable. I run into this problem enough on older systems
that it frustrates me. Let's have it fixed!
* Change highlighting of bookmarks in the tree.
The bookmark names in the tree now have the same syntax highlighting as
the bookmark names in the list of bookmarks above the tree.
* Change version number in change log.
The default when naming a file in the command line is that extra white
space will be stripped away. It seems logical for file naming via the
fs_menu in nerdtree to follow that convention.
I have left the defaults of `trim` because they seem sensible.
Co-authored-by: Phil Runninger <PhilRunninger@users.noreply.github.com>
* Update the issue templates, making them simpler to use.
* Update FAQ answers.
Closes#1246.
- Add an if statement to the autocommand to prevent its running in the
Command Window.
Closes#1248.
- Add a new answer to show closing a tab when only NERDTree remains.
* Update the Bug issue template.
* Update version number in change log.
* Put `Callback` function variables in local scope.
This change prevents conflict with other `Callback` functions that are
defined elsewhere in global scope.
* Update version number in change log.
* Restore <CR>'s default behavior to be the same as o's.
* Remove the dictionary validation, and simplify initCustomOpenArgs().
There was a bug in the validation logic that caused a valid integer
value of 'keepopen' to always be overwritten with the defaultOpenArgs'
value. It was always comparing its type to the type of a string.
I fixed this by removing all the type validation, and wrapping the code
with a try-catch block. If NERDTreeCustomOpenArgs is not a dictionary,
an error message will print and the defaults will be used instead.
* Add fold markers to new functions.
* Update version number in change log.
* Replace #and() with two more-specific functions.
* Push NERDTreeQuitOnOpen checking earlier in the call stack.
* Fix bug in `go` key for file bookmarks. It was behaving like `gs`.
* Fix the `o` mapping for bookmark nodes and the g:NERDTree reference.
* Use get() function to shorten if statement logic.
* Update version number in change log.
* Remove obsolete reference to MERDTreeQuitOnOpen in comment.
* Removed directory separator from sort key
Directories had an additional separator appended to them which caused improper comparisons for other directories that shared similar prefixes.
* Updated changelog
* New menu command: Run system command in this directory.
* Echo the output from the system command.
* Update version number in change log.
* Address Vim linter message: change "\n" to nr2char(10)
* Use single quoted strings.
* Use system() instead of systemlist() for greater version compatibility.
systemlist() was introduced sometime in Vim 8+, so I switched to
system() for 7.4 compatibility.
* Add ability to specify a path to be ignored.
This ignore expression compares itself against the whole path of the
node, instead of just the tail component of the node.
* Remove debug statements and make it work on Windows.
* Restore the original self.str() to get OS-specific paths for comparing.
Using the UI-formatted path had two problems.
1. It always appended a forward slash at the end of the path, which was
unnecessary and made patterns like '/tmp/cache$[[path]]' not work as
expected.
2. It always used forward slashes to join the path components. I thought
this would be a good thing, but there's no reason to force Windows
users to use that syntax. They'll just need to remember to escape the
backslashes, like so: '\\Temp\\cache$[[path]]'
* Add documentation for the new [[path]] tag for NERDTreeIgnore.
* Replace the abbreviation 'dir' with the full word 'directory'.
* Update version number in change log.
* Fix missing key case, add BC type checking
Resolves#1205
* Assign g:NERDTreeCustomOpenArgs also before quick return
* Fix syntax to be compatibile with Vim 7.3
* Revamp the README to improve clarity and provide more information.
* Verify correct behavior of suggested auto commands.
* Add my tribute to Norm Abrams. Be careful with those plugin managers.
* Other minor formatting and cleanup.
* Fix typos, reorder some sections, and tidy up the README.
* Give a better answer to the single NERDTree for all tabs question.
* More reformatting of text.
* Add basic installation instructions. Switch to single quotes.
* Update version number in CHANGELOG.
* Make sure a mirrored NERDTree is displayed at correct width.
* Remove references to unused variables.
b:NERDTreeOldWindowSize was referenced, but never set anywhere. No need
to keep it around.
* Refactor: Initialize variables a different way.
Using the get() function allows us to "let" variables more directly,
without using the execute command or requiring strings to be escaped.
This also eliminates the s:initVariable function. The new format is
shown below, and defines a default value if the user didn't provide a
value in the vimrc file.
let g:var = get(g: 'var', 'default value')
* Update version number in change log.
* Fix alignment of `let g:var = get(g:, 'var', <default>)` statements.
* Add a function to compare path objects.
* Remove redundant node comparison function, and rename the ones left.
* Remove the compareTo function in the Path object.
Use nerdtree#compareNodePaths(p1,p2) instead. There was no need for two
comparison functions that do the same thing. They were a little
different in their details, but that shouldn't be the case. Having only
one such function makes better sense and is easier to maintain.
* Update version number in change log.
* Replace s:Path.Slash() with nerdtree#slash().
* Check the value of &shell when determining the slash under Windows.
* Leave &shellslash unchanged when forming copy/delete commands.
* Fix fold marker.
* Update version number in change log.
* Add abort attribute to nerdtree#slash() to satisfy Vim style guide.
Co-authored-by: Phil Runninger <prunninger@vhtcx.com>
Make the tag creation process semi-automatic by making bash do more of the legwork. The included bash commands will:
1. Make sure your master branch is up to date
2. Display all the patch releases in the current MAJOR.MINOR version
3. Ask for a version number to use as the tag (one of the ones previously displayed, presumably)
4. Get the latest commit's subject line, and use it in the tag's message field.
5. Create the tag, and push all tags to the origin.
* Fix new NERDTrees' width when previous one was in the only window.
When leaving a NERDTree buffer, its window's width is remembered so that
that width can be used when showing the buffer again in a new window. If
NERDTree is the only window when leaving the buffer, it remembers the
whole width of the editor. When a new NERDTree window is created, it is
sized such that there is only a very small window for files to be opened
into.
To fix this, if NERDTree is the ONLY window, remember its width as the
value of g:NERDTreeWinSize, not the width of the editor.
* Update version number in change log.
* Limit opening or previewing into a split window to only file nodes.
* Prevent previwing directory nodes, which would create another NERDTree.
* Refactor the previewBookmark code to open directories a better way.
* Update version number in change log.
* Update documentation.
* Add open/preview in split/vsplit to bookmarks.
* Make preview split/vsplit bookmark work only on file nodes.
* Add quickhelp text for split/vsplit commands on bookmarks.
* Handle previewing directory bookmarks properly.
* Update documentation: bookmarks can be opened in a split/vsplit.
* Update version number in change log.
* Closes#1136. Allow concealed characters to show another character.
conceallevel=3 always hides the character, but conceallevel=2 allows an
alternate character to be displayed instead.
* Update version number in changelog.
* support for default viewer in Windows
* updated changelog
* Update nerdtree_plugin/fs_menu.vim
Co-authored-by: Phil Runninger <PhilRunninger@users.noreply.github.com>
* Update nerdtree_plugin/fs_menu.vim
Co-authored-by: Phil Runninger <PhilRunninger@users.noreply.github.com>
Co-authored-by: Phil Runninger <PhilRunninger@users.noreply.github.com>
* * fix duplicated slash in s:Path.isUnder() (on windows OS, for root directory on drive Path.str() return path with [back]slash)
* * Rewrite NERDTreePath.isUnder() and NERDTreePath.isAncestor() for direct comparison of paths without transformations
* Remove trailing slash, so we don't end up with two on root folder.
The str() function returns "C:\" on the root folder and "C:\temp" on
non-root folders, one with and one without a trailing backslash. This
inconsistency needs to be handled so the stridx() function will work
correctly.
* Make sure the change also works in a non-windows file system.
This commit handles an edge case that can be triggered with these
commands:
:cd /home/me
:e /foobar.txt (an existing file)
:NERDTreeFind
What happened was the root directory name '/' was being Resolved(), and
the trailing (and only) slash was being removed. The NERDTree was then
created in the current working directory, instead of the root directory.
:NERDTreeFind then wasn't able to find foobar.txt, and printed an error.
* Remove degugging statements.
* * ambiguity issue fix
Co-authored-by: Phil Runninger <philrunninger@gmail.com>