* 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
* chore: sync EmmyLuaCodeStyle settings between .editorconfig and .luarc.json
* chore: lua-language-server 3.11.0 -> 3.13.9
* chore: fix incorrect definition of vim.loop.fs_lstat
* chore: add codestyle-check option to luals-check.sh
* chore: use luals for style check
* chore: use luals for style check
* Revert "chore: use luals for style check"
This reverts commit e5fde80fab.
* chore: use luals for style check
* chore: use luals for style check
* chore: use luals for style check
* chore: use luals for style check
* chore: use luals for style check
* chore: use luals for style check
* chore: use luals for style check
* chore: use luals for style check
* chore: use luals for style check
* chore: use luals for style check
* chore: use luals for style check
* chore: use luals for style check
* feat: add quit_on_open opt to api.node.open.edit
* fix: fix missing @param annotation
* feat: add focus opt to api.node.open.edit
* fix: fix focus == false behaviour on api.node.open.tab command
* fix: add optional tabpage integer parameter to view.close
if tabpage is not nil, then the function closes the tabpage in this
specific tabpage
* fix: fix quit_on_open == true behaviour on api.node.open.tab command
* fix: add check to not use new opts for certain edit modes
* fix: add docs for new opts
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
* feat(mappings): add key map to close file buffer
* feat: implement Api.node.buffer.delete
* feat: implement Api.node.buffer.wipe
* refactor: add util fn for common delete ops on bufs
* fix: minor fixes
* refactor: fix lint issues
* fix: undo unintended ApiTreeToggleOpts change
* fix: change error message level to info
* fix: remove unused opts
* refactor: merge delete-buffer and wipe-buffer into single buffer file
* refactor: make wipe and delete fns take a node instead of a file path
* docs: update help with new API commands
* remove refactored utils.lua
* remove unused static setup
* tweak doc
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>