* fix: prevent NvimTree to be alternate buffer when tab open
* fix: prevent tabnew leave a dangling "[No Name]" buffer
* Update lua/nvim-tree/actions/node/open-file.lua
Co-authored-by: Alexander Courtis <alex@courtis.org>
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
* refactor(#2942): multi instance: move find_node_line to Explorer
* refactor(#2942): multi instance: move get_node_from_path to Explorer
* refactor(#2942): multi instance: move focus_file to Explorer
* refactor(#2942): multi instance: move focus_node_or_parent to Explorer
* refactor(#2942): multi instance: move get_node_from_path to Explorer
* refactor(#2942): multi instance: move find_node to Explorer
* refactor(#2942): multi instance: move get_nodes_by_line to Explorer
* refactor(#2942): multi instance: remove unnecessary focus_file
* refactor(#2942): style
* feat(#1826): allow using config from vim.diagnostic for icons + severity
* update help default options, add index
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
* feat: Allow to expand nodes until certain condition is met
* Fix warnings
* Restore original position of edit function
* Rename field to match the api method name
* Rename ApiTreeExpandAllOpts to ApiTreeExpandOpts
* Remove toggle_descend_until
* Remove redundant empty line
* Update :help for changed methods
* Fix partial expansion of grouped nodes
* Fix lint error
* Fix linting error
* Fix incorrect open/close indicator state
* Update docs
* Rename descend_until option to expand_until
* Always check directory expansion limit
* Fix linter errors
* Ignore unused param warning
* Apply suggestions from code review
* simplify MAX_FOLDER_DISCOVERY warning
* fix bad comment whitespace
---------
Co-authored-by: ghostbuster91 <ghostbuster91@users.noreply.github.com>
Co-authored-by: Alexander Courtis <alex@courtis.org>
Highlight new, tracked files in working copy
Currently nvim-tree doesn't highlight new, tracked files in the working
copy/directory.
This change assigns the `NvimTreeGitFileNewHL` highlight to the `" A"`
git porcelain status marker.
Co-authored-by: Alexander Courtis <alex@courtis.org>
* Revert "feat(#2826): allow only one window with nvim-tree buffer per tab (#3174)"
This reverts commit dd2364d680.
* Revert "refactor(#2826): View tracks winids and bufnrs via events, unused for now (#3170)"
This reverts commit 65bae44922.
* Revert "refactor(#2826): remove view debug/cc, enable new codepaths for get_winid and get_bufnr (#3169)"
This reverts commit a9156c0139.
* fix(#3171): use vim.system() to determine git toplevel
* Don't use vim.trim
* Ensure sdtout is a string
* Keep Nvim 0.9 compatibility
* Use vim.system to query git config for status.showUntrackedFiles too
* refactor(#2826): add View.bufnr and use for all public methods
* use View.bufnr for all internal methods
* revert View.bufnr, add buffer local autocommands
* View revert to globals.BUFNR_BY_TABID until bufnr and winid are tracked for the view
* View track winids and bufnrs via events
* refactor(#2826): fuller error messages
* refactor(#2826): winnr->winid in view/globals, remove redundant get_winid and get_bufnr calls
* refactor(#2826): winnr->winid consistently
* refactor(#2826): consistent use of buffer registry, tidy, add todos
* refactor(#2826): remove unnecessary view members float, hide_root_folder; use explorer opts
* refactor(#2826): remove unused view members centralize_selection and preserve_window_proportions
* refactor(#2826): remove unused view member height
* refactor(#2826): temporarily reuse BUFNR_PER_TAB in view constructor
* refactor(#2826): get_winid returns new after consistency check
* refactor(#2826): globals.TABPAGES -> WINID_PER_TAB
* refactor(#2826): consistent naming of tabid
* refactor(#2826): more consistency checking
* refactor(#2826): more consistency checking
* refactor(#2826): move global CURSORS to view member
* Revert "refactor(#2826): move global CURSORS to view member"
This reverts commit d84dfad1c3.
* refactor(#2826): move global CURSORS to view member
* refactor(#2826): consistency check returns new
* refactor(#2826): remove consistency checks, enabling new path for view get_winid and get_bufnr
* refactor(#2826): restore CURSORS global
* fix(#3077) deleting a directory containing symlink file will delete all content inside the symlink
* fix(#3077): add diagnostic override TODO
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
Problem: `full_name` window from is considered as usable by picker
Solution: exclude its ID (also true for nil values)
Co-authored-by: Alexander Courtis <alex@courtis.org>
Fix minor documentation issues
Add a missing double quotes around the default value for
`nvim-tree.renderer.icons.bookmarks_placement` config value and fix
spelling of `bookmarked`.
* feat: allow passing node to collapse all
* refactor: use snake case
* feat: handle api legacy calls and update signature
* refactor: make sure open is a boolean
* doc: collapse_all
* Revert "doc: collapse_all"
This reverts commit d243da3e14.
* add api.node.collapse
* add api.node.expand
* add api.node.expand
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
* fix(#2746): fix cursorcolumn and right aligned icons in floating windows
* feat: remove right aligned icons from full name float, show float over right aligned icons
* refactoring: move `extmarks_length` to utils.lua
* fix: decrease `win_width` instead of increasing `text_width` when computing condition for full name float to show
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
* fix(#3101): fix bad reference to renderer.highlight_opened_files during BufUnload and BufReadPost
* fix(#3101): only redraw renderer.highlight_opened_files during BufUnload and BufReadPost
* fix(#3101): only redraw renderer.highlight_opened_files during BufUnload and BufReadPost
* fix(#3101): only redraw renderer.highlight_opened_files during BufUnload and BufReadPost