chore: refacto setup part 1 (#603)
* chore: refacto setup part 1 refacto setup for code entrypoint following options switched boolean values as options to the setup function: - `nvim_tree_disable_netrw` -> `disable_netrw` - `nvim_tree_hijack_netrw` -> `hijack_netrw` - `nvim_tree_auto_open` -> `open_on_setup` - `nvim_tree_auto_close` -> `auto_close` - `nvim_tree_tab_open` -> `tab_open` - `nvim-tree-update-cwd` -> `update_cwd` - `nvim_tree_hijack_cursor` -> `hijack_cursor` - `nvim_tree_system_open_command` -> `system_open.cmd` - `nvim_tree_system_open_command_args` -> `system_open.args` - `nvim_tree_follow` -> `update_focused_file.enable` - `nvim_tree_follow_update_path` -> `update_focused_file.update_cwd` Also added new option `update_focused_file.ignore_list` which will ignore filepath or filetypes that matches one entry of the list when updating the path if update_cwd is true. * add deprecation warning * update readme * schedule on enter to avoid running before vim first buffer has loaded * update docs * correct typo * rename tab open -> open on tab
This commit is contained in:
59
README.md
59
README.md
@@ -21,40 +21,75 @@ Install with [packer](https://github.com/wbthomason/packer.nvim):
|
||||
```lua
|
||||
use {
|
||||
'kyazdani42/nvim-tree.lua',
|
||||
requires = 'kyazdani42/nvim-web-devicons'
|
||||
requires = 'kyazdani42/nvim-web-devicons',
|
||||
config = function() require'nvim-tree'.setup {} end
|
||||
}
|
||||
```
|
||||
|
||||
## Setup
|
||||
|
||||
Options are currently being migrated into the setup function, you need to run `require'nvim-tree'.setup()` in your personal configurations.
|
||||
Setup should be run in a lua file or in a lua heredoc (`:help lua-heredoc`) if using in a vim file.
|
||||
Note that options under the `g:` command should be set **BEFORE** running the setup function.
|
||||
|
||||
```lua
|
||||
-- following options are the default
|
||||
require'nvim-tree'.setup {
|
||||
-- disables netrw completely
|
||||
disable_netrw = true,
|
||||
-- hijack netrw window on startup
|
||||
hijack_netrw = true,
|
||||
-- open the tree when running this setup function
|
||||
open_on_setup = false,
|
||||
-- will not open on setup if the filetype is in this list
|
||||
ignore_ft_on_setup = {},
|
||||
-- closes neovim automatically when the tree is the last **WINDOW** in the view
|
||||
auto_close = false,
|
||||
-- opens the tree when changing/opening a new tab if the tree wasn't previously opened
|
||||
open_on_tab = false,
|
||||
-- hijack the cursor in the tree to put it at the start of the filename
|
||||
hijack_cursor = false,
|
||||
-- updates the root directory of the tree on `DirChanged` (when your run `:cd` usually)
|
||||
update_cwd = false,
|
||||
-- update the focused file on `BufEnter`, un-collapses the folders recursively until it finds the file
|
||||
update_focused_file = {
|
||||
-- enables the feature
|
||||
enable = false,
|
||||
-- update the root directory of the tree to the one of the folder containing the file if the file is not under the current root directory
|
||||
-- only relevant when `update_focused_file.enable` is true
|
||||
update_cwd = false,
|
||||
-- list of buffer names / filetypes that will not update the cwd if the file isn't found under the current root directory
|
||||
-- only relevant when `update_focused_file.update_cwd` is true and `update_focused_file.enable` is true
|
||||
ignore_list = {}
|
||||
},
|
||||
-- configuration options for the system open command (`s` in the tree by default)
|
||||
system_open = {
|
||||
-- the command to run this, leaving nil should work in most cases
|
||||
cmd = nil,
|
||||
-- the command arguments as a list
|
||||
args = {}
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
```vim
|
||||
let g:nvim_tree_side = 'right' "left by default
|
||||
let g:nvim_tree_width = 40 "30 by default, can be width_in_columns or 'width_in_percent%'
|
||||
let g:nvim_tree_ignore = [ '.git', 'node_modules', '.cache' ] "empty by default
|
||||
let g:nvim_tree_gitignore = 1 "0 by default
|
||||
let g:nvim_tree_auto_open = 1 "0 by default, opens the tree when typing `vim $DIR` or `vim`
|
||||
let g:nvim_tree_auto_close = 1 "0 by default, closes the tree when it's the last window
|
||||
let g:nvim_tree_auto_ignore_ft = [ 'startify', 'dashboard' ] "empty by default, don't auto open tree on specific filetypes.
|
||||
let g:nvim_tree_quit_on_open = 1 "0 by default, closes the tree when you open a file
|
||||
let g:nvim_tree_follow = 1 "0 by default, this option allows the cursor to be updated when entering a buffer
|
||||
let g:nvim_tree_follow_update_path = 1 "0 by default, will update the path of the current dir if the file is not inside the tree.
|
||||
let g:nvim_tree_indent_markers = 1 "0 by default, this option shows indent markers when folders are open
|
||||
let g:nvim_tree_hide_dotfiles = 1 "0 by default, this option hides files and folders starting with a dot `.`
|
||||
let g:nvim_tree_git_hl = 1 "0 by default, will enable file highlight for git attributes (can be used without the icons).
|
||||
let g:nvim_tree_highlight_opened_files = 1 "0 by default, will enable folder and file icon highlight for opened files/directories.
|
||||
let g:nvim_tree_root_folder_modifier = ':~' "This is the default. See :help filename-modifiers for more options
|
||||
let g:nvim_tree_tab_open = 1 "0 by default, will open the tree when entering a new tab and the tree was previously open
|
||||
let g:nvim_tree_auto_resize = 0 "1 by default, will resize the tree to its saved width when opening a file
|
||||
let g:nvim_tree_disable_netrw = 0 "1 by default, disables netrw
|
||||
let g:nvim_tree_hijack_netrw = 0 "1 by default, prevents netrw from automatically opening when opening directories (but lets you keep its other utilities)
|
||||
let g:nvim_tree_add_trailing = 1 "0 by default, append a trailing slash to folder names
|
||||
let g:nvim_tree_group_empty = 1 " 0 by default, compact folders that only contain a single folder into one node in the file tree
|
||||
let g:nvim_tree_lsp_diagnostics = 1 "0 by default, will show lsp diagnostics in the signcolumn. See :help nvim_tree_lsp_diagnostics
|
||||
let g:nvim_tree_disable_window_picker = 1 "0 by default, will disable the window picker.
|
||||
let g:nvim_tree_hijack_cursor = 0 "1 by default, when moving cursor in the tree, will position the cursor at the start of the file on the current line
|
||||
let g:nvim_tree_icon_padding = ' ' "one space by default, used for rendering the space between the icon and the filename. Use with caution, it could break rendering if you set an empty string depending on your font.
|
||||
let g:nvim_tree_symlink_arrow = ' >> ' " defaults to ' ➛ '. used as a separator between symlinks' source and target.
|
||||
let g:nvim_tree_update_cwd = 1 "0 by default, will update the tree cwd when changing nvim's directory (DirChanged event). Behaves strangely with autochdir set.
|
||||
let g:nvim_tree_respect_buf_cwd = 1 "0 by default, will change cwd of nvim-tree to that of new buffer's when opening nvim-tree.
|
||||
let g:nvim_tree_refresh_wait = 500 "1000 by default, control how often the tree can be refreshed, 1000 means the tree can be refresh once per 1000ms.
|
||||
let g:nvim_tree_window_picker_exclude = {
|
||||
@@ -148,7 +183,7 @@ highlight NvimTreeFolderIcon guibg=blue
|
||||
- type `]c` to go to next git item
|
||||
- type `[c` to go to prev git item
|
||||
- type `-` to navigate up to the parent directory of the current file/directory
|
||||
- type `s` to open a file with default system application or a folder with default file manager (if you want to change the command used to do it see `:h g:nvim_tree_system_open_command` and `:h g:nvim_tree_system_open_command_args`)
|
||||
- type `s` to open a file with default system application or a folder with default file manager (if you want to change the command used to do it see `:h nvim-tree.setup` under `system_open`)
|
||||
- if the file is a directory, `<CR>` will open the directory otherwise it will open the file in the buffer near the tree
|
||||
- if the file is a symlink, `<CR>` will follow the symlink (if the target is a file)
|
||||
- `<C-v>` will open the file in a vertical split
|
||||
|
||||
Reference in New Issue
Block a user