phanium
e397756d2a
fix: prevent NvimTree to be alternate buffer when tab open ( #3205 )
...
* 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>
2025-10-08 10:57:48 +11:00
Alexander Courtis
a4699c0904
revert( #3180 , #3177 ): resolve live filter failures ( #3183 )
...
* Revert "fix(#3172 ): live filter exception (#3173 )"
This reverts commit 0a7fcdf3f8 .
* Revert "refactor(#2826 ): move view to instanced window class (#3153 )"
This reverts commit 0a06f65bf0 .
* feat(#3157 ): add view.cursorlineopt
2025-08-10 14:45:25 +10:00
Alexander Courtis
9b289abd69
revert( #3180 , #3177 ): invalid group or tabpage ( #3181 )
...
* 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 .
2025-08-10 11:18:31 +10:00
Alexander Courtis
a9156c0139
refactor( #2826 ): remove view debug/cc, enable new codepaths for get_winid and get_bufnr ( #3169 )
...
* 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
2025-07-28 12:44:17 +10:00
Tomasz N
543ed3cac2
fix(picker): exclude full_name window id from the choice ( #3165 )
...
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>
2025-07-21 13:22:56 +10:00
Alexander Courtis
0a06f65bf0
refactor( #2826 ): move view to instanced window class ( #3153 )
...
* refactor(#2826 ): singleton View class, WIP
* refactor(#2826 ): singleton View class, WIP
* refactor(#2826 ): singleton View class, WIP
* refactor(#2826 ): singleton View class, WIP
* refactor(#2826 ): singleton View class, WIP
* refactor(#2826 ): singleton View class, WIP
* refactor(#2826 ): singleton View class, WIP
* refactor(#2826 ): singleton View class
* refactor(#2826 ): View is an Explorer member
* refactor(#2826 ): move autocmds to Explorer
* refactor(#2826 ): API uses Explorer's View
* refactor(#2826 ): move View into Explorer package
* refactor(#2826 ): retain necessary view globals
* refactor(#2826 ): move all winhl to appearance constants
* refactor(#2826 ): add lifecycle logging to all Explorer members
* refactor(#2826 ): fix bad cherry-pick
* refactor(#2826 ): better enumerate_options function
* refactor(#2826 ): add View.tab_line for debugging
* refactor(#2826 ): default lifecycle log off
* refactor(#2826 ): add experimental.multi_instance_debug, split globals out of view, move diagnostics to its own module
* refactor(#2826 ): instrument View:get_winnr
* refactor(#2826 ): instrument View:setup_tabpage
* refactor(#2826 ): instrument View:set_current_win, View:prevent_buffer_override
* refactor(#2826 ): instrument View:get_bufnr
* refactor(#2826 ): track member bufnr -> winid with global
* refactor(#2826 ): tidy experiment names and logs
* vim: nvim-tree: track bufnr via buffer-update channel
* vim: nvim-tree: more logging
* vim: nvim-tree: revert: track bufnr via buffer-update channel
* refactor(#2826 ): notify error on view winid and bufnr mismatches
* refactor(#2826 ): notify error on view winid and bufnr mismatches
* refactor(#2826 ): explorer init logging
2025-06-19 15:45:55 +10:00
Yavorski
d54a1875a9
fix: invalid window id for popup info window ( #3147 )
2025-06-17 16:59:28 +10:00
phanium
d87b41ca53
fix: window picker ignore hidden window ( #3145 )
2025-06-15 15:04:47 +10:00
Lucas Mendes
05d8172ebf
fix( #3143 ): actions.open_file.window_picker.exclude applies when not using window picker ( #3144 )
...
* fix(#3143 ): ensure open.no_window_picker respects window_picker.exclude
* fix(#3143 ): doc
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2025-06-14 15:35:07 +10:00
Šimon Mandlík
b69914325a
fix: window picker: hide fillchars: stl and stlnc ( #3066 )
...
fix: stl and stlnc fillchars are hidden in window picker
Co-authored-by: Alexander Courtis <alex@courtis.org>
2025-02-22 11:32:52 +11:00
Gabriel Crispino
fee1da8897
feat( #3037 ): add API node.buffer.delete, node.buffer.wipe ( #3040 )
...
* 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>
2025-01-25 12:47:34 +11:00
𝐍𝐆𝐏𝐎𝐍𝐆
fca0b67c0b
fix( #3045 ): wipe scratch buffers for full name and show info popups ( #3050 )
2025-01-18 10:28:06 +11:00
fdgdgerg
68fc4c20f5
feat(api): add node.open.vertical_no_picker, node.open.horizontal_no_picker ( #3031 )
...
* test
* add splits with no window pickers
removed the 1 buffer per file limitation
test
test2
* no-picker for splits
* help vertical/horizontal_no_picker
* revert whitespace changes
---------
Co-authored-by: JoeDaBu <joegbu@gmail.com>
Co-authored-by: Alexander Courtis <alex@courtis.org>
2024-12-22 09:35:48 +11:00
Alexander Courtis
2ee1c5e17f
feat( #2819 ): add actions.open_file.relative_path, default enabled, following successful experiment ( #2995 )
2024-11-09 14:44:59 +11:00
Alexander Courtis
077af9f990
chore: enable incomplete-signature-doc, format nvt-min.lua, assorted formatting tidies ( #2967 )
...
* chore: luacheckrc uses table
* chore: format nvt-min.lua
* chore: complete lua doc
* chore: complete lua doc
* chore: complete lua doc
* chore: complete lua doc
* chore: complete lua doc
* chore: enable incomplete-signature-doc
* chore: enable incomplete-signature-doc
* chore: complete lua doc
* chore: complete lua doc
2024-10-25 14:25:30 +11:00
Jie Liu
63c7ad9037
fix( #2961 ): windows: escape brackets and parentheses when opening file ( #2962 )
...
* Revert "fix(#2862 ): windows path replaces backslashes with forward slashes (#2903 )"
This reverts commit 45a93d9979 .
* fix the case when '()' and '[]' are both in file path
* remove debug messages
* remove unnecessary comments
* add is_windows feature flag when normalizing path
* add is_windows flag for filename change
* Revert "add is_windows flag for filename change"
This reverts commit ada77cb7e9 .
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2024-10-25 11:11:21 +11:00
Alexander Courtis
ce09bfb95f
chore: TODO issue links
2024-10-14 10:47:41 +11:00
Alexander Courtis
1c9553a19f
fix( #2951 ): highlights incorrect following cancelled pick ( #2952 )
2024-10-12 15:54:12 +11:00
Alexander Courtis
c9104a5d07
chore: style: align_continuous_similar_call_args ( #2937 )
...
* chore: style: align_continuous_similar_call_args
* chore: style: align_continuous_similar_call_args
* chore: style: align_continuous_similar_call_args
* chore: style: align_continuous_similar_call_args
* chore: style: consistent use of double quotes
2024-09-30 15:34:01 +10:00
Alexander Courtis
1ae1c33ce1
chore( #2931 ): stylua -> EmmyLuaCodeStyle ( #2932 )
...
* stylua -> EmmyLuaCodeStyle: config and doc
* stylua -> EmmyLuaCodeStyle: CI
* stylua -> EmmyLuaCodeStyle: CI
* stylua -> EmmyLuaCodeStyle: CI
* stylua -> EmmyLuaCodeStyle: CI
* stylua -> EmmyLuaCodeStyle: CI
* stylua -> EmmyLuaCodeStyle
* stylua -> EmmyLuaCodeStyle: call_arg_parentheses = always
* stylua -> EmmyLuaCodeStyle
* stylua -> EmmyLuaCodeStyle
2024-09-29 14:05:52 +10:00
Zifan Zhu
45a93d9979
fix( #2862 ): windows path replaces backslashes with forward slashes ( #2903 )
...
* Fix Winodws path issue by replacing backslashes with forward slashes
* Fix #2862 (handle all filename-related tasks)
* fix type mismatch
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2024-09-15 12:23:37 +10:00
Alexander Courtis
03f737e574
feat( #2430 ): use vim.ui.open as default system_open, for neovim 0.10+ ( #2912 )
...
* feat(#2430 ): use vim.ui.open as default system_open, for neovim 0.10+
* feat(#2430 ): use vim.ui.open as default system_open, for neovim 0.10+
2024-09-14 15:15:44 +10:00
Michael Härtl
466fbed3e4
fix( #2859 ): make sure window still exists when restoring options ( #2863 )
...
Co-authored-by: Alexander Courtis <alex@courtis.org>
2024-08-10 12:21:48 +10:00
Epheien
12a9a995a4
fix( #2819 ): experimental.actions.open_file.relative_path issue following change directory ( #2820 )
...
fix issue with the description of epheien in #2819
Co-authored-by: eph <eph@MacBook-Pro.local>
2024-07-07 15:53:04 +10:00
Epheien
869c064721
feat( #2127 ): add experimental.actions.open_file.relative_path to open files with a relative path rather than absolute ( #2805 )
...
* temp workaround for issue #2803
* fix #2127 and #2803
* chore(#2127 ): read the configuration correctly
* feat(#2127 ): add help
* feat(#2127 ): normalise relative_path in config hierarchy
* feat(#2127 ): update help
---------
Co-authored-by: eph <eph@MacBook-Pro.local>
Co-authored-by: Alexander Courtis <alex@courtis.org>
2024-07-07 12:51:43 +10:00
Alexander Courtis
8704b6f7fc
chore( #2787 ): minimum nvim version 0.9, replace 0.10 deprecated, enable deprecated warnings ( #2788 )
...
* refactor(#2787 ): replace deprecated
* refactor(#2787 ): enable deprecated checks
* refactor(#2787 ): replace deprecated
* refactor(#2787 ): replace deprecated
* refactor(#2787 ): replace deprecated
* refactor(#2787 ): replace deprecated
* refactor(#2787 ): use inline deprecation disabling
* refactor(#2787 ): replace deprecated
* refactor(#2787 ): replace deprecated
* refactor(#2787 ): replace deprecated
* refactor(#2787 ): replace deprecated
* refactor(#2787 ): replace deprecated
* refactor(#2787 ): replace deprecated
* refactor(#2787 ): replace deprecated
* refactor(#2787 ): replace deprecated
* refactor(#2787 ): replace deprecated
* refactor(#2787 ): deprecated are now warnings
* refactor(#2787 ): 0.9 is the minimum supported version
* Revert "refactor(#2787 ): replace deprecated"
This reverts commit b6b4c32fcb .
* refactor(#2787 ): suppress deprecated until 0.11
* refactor(#2787 ): minimum nvim version 0.8 -> 0.9
* refactor(#2787 ): reset globals
* refactor(#2787 ): explicitly check for vim.diagnostic.is_enabled function presence
2024-06-09 12:24:35 +10:00
Alexander Courtis
26632f496e
chore( #2731 ): neovim luadoc 0.10 compliance ( #2786 )
...
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings, type gymnastics
* refactor(#2731 ): resolve warnings, type gymnastics
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): handle cwd unavailable when opening
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings, type gymnastics
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): style
* refactor(#2731 ): add _meta library, explicit check disables
* refactor(#2731 ): add lua-language-server manual install instructions
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): explicitly set all diagnostics, reduce deprecated to hint
* Revert "refactor(#2731 ): resolve warnings"
This reverts commit 9c0526b7b0 .
* Revert "refactor(#2731 ): resolve warnings"
This reverts commit f534fbc606 .
* refactor(#2731 ): handle directory unavailable when deleting
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): handle directory unavailable when creating explorer
* refactor(#2731 ): add all nvim lua libraries
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): remove vim global
* refactor(#2731 ): disable deprecated until we have a 0.9->0.10 story
2024-06-01 15:24:03 +10:00
Alexander Courtis
64f61e4c91
fix( #925 ): handle newlines in file names ( #2754 )
2024-05-04 13:51:13 +10:00
remvn
2d97059661
fix: bookmark filter shows marked directory children ( #2719 )
...
* fix: bookmark filter include marked-directory's children
* fix(perf): add path_type to filter functions
* fix: replace undefined type
* fix: correct Node.fs_stat type
* fix: file info popup check fs_stat not nil
* refactor: add stat to should_filter, Node constructor
* perf: early return if bookmark is empty
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2024-03-30 13:21:55 +11:00
Azad
f779abaf2a
refactor: improve API readability and tidy actions submodules ( #2593 )
...
* refactor: improve API readability, tidy actions modules
* Apply requested changes
* `actions/reloaders/reloaders.lua` -> `actions/reloaders.lua`
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-12-31 15:52:27 +11:00
Azad
13f967f8e7
chore: add type annotations and resolve LSP warnings ( #2555 )
...
* chore: add type annotations to (almost) all functions
* stylua
* Add classes for symlink nodes
* Replace deprecated `@vararg`
* Move node classes to `node` module
* Fix `Symlink*` classes
* add vim and libuv runtime for luals, qualify libuv types
* add scripts/luals-check, not quite ready for CI
* additional nil checks for git/init.lua and git/runner.lua
* additional nil checks for nvim-tree.lua
* wrap vim.cmd-as-a-function calls inside functions
* vim.tbl_filter predicate returns booleans
* Revert "add scripts/luals-check, not quite ready for CI"
This reverts commit c70229cad9 .
* Add `MinimalNode` class in `marks` module
* Fix various LSP warnings
* stylua
* Fix `Explorer` class, update related annotations and add necessary checks
* Add missing annotations to `live-filter`
* Add temporary aliases for `uv.*` types
* Resolve remaining LSP warnings
* Revert changes not related to internal types
* Minor adjustments
* Update doc comments style
* Minor adjustments (pt. 2)
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-12-09 11:34:35 +11:00
Alfonso Ros
52a1c99bf0
feat( #2530 ): keep alt filename on node.open.replace_tree_buffer ( #2531 )
...
Co-authored-by: Alfonso Ros <alfonso.ros@apex.ai>
2023-11-19 14:38:55 +11:00
umlx5h
aaee4cd896
feat: api.node.open.preview_no_picker with default mapping <S-Tab> ( #2464 )
...
* feat: add preview with no window picker action
* feat: preview_no_window_picker -> preview_no_picker
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-10-15 14:04:04 +11:00
Azad
4054fc4be3
refactor: format tables line by line for better readability ( #2456 )
...
* Format tables line by line for better readability
* Forgot a comma
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-10-14 18:07:28 +11:00
Alexander Courtis
53b0bcaada
chore: stylua column width 120 -> 140 ( #2448 )
...
* chore: stylua column width 120 -> 140
* chore: stylua column width 120 -> 140, tidy
* Revert "chore: stylua column width 120 -> 140, tidy"
This reverts commit 8a0524d6bd .
* chore: stylua column width 120 -> 140, tidy watcher.lua
* chore: stylua column width 120 -> 140, tidy diagnostics.lua
* chore: stylua column width 120 -> 140, tidy git.lua
* chore: stylua column width 120 -> 140, tidy open-file.lua
* chore: stylua column width 120 -> 140, tidy system-open.lua
* chore: stylua column width 120 -> 140, tidy runner.lua
2023-10-08 11:40:58 +11:00
davisthedev
7c4c7e4e98
fix( #2352 ): windows: escape special filename characters on edit ( #2374 )
...
* Fix escape special characters on windows
fixes #2362
* use utils for windows check
* Add function to escape special chars on windows
* Change escape string function to use and/or
* Add nil check in escape special chars function
---------
Co-authored-by: Davis Sanders <dsanders@smartlink.city>
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-08-20 13:27:33 +10:00
Alexander Courtis
b6574056b5
fix( #2191 ): edit: disregard floating windows ( #2212 )
2023-05-15 10:38:11 +10:00
Alexander Courtis
89816ace70
fix( #2191 ): edit: disregard floating windows ( #2209 )
2023-05-14 11:30:01 +10:00
gegoune
0df384b6c0
feat(api): add node.open.drop() ( #2164 )
...
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-04-30 09:35:25 +02:00
Alexander Courtis
9c60947926
fix( #2175 ): check number of actions.open_file.window_picker.chars before picking window ( #2177 )
2023-04-30 15:56:46 +10:00
hinell
d68b00a63e
feat(api): Add new node selection action based on tab :drop command ( #2161 )
...
Co-authored-by: gegoune <dev@clog.rocks>
2023-04-23 02:41:21 +03:00
Anshuman Medhi
8f392fa763
fix( #2126 ): custom window pickers may create windows ( #2140 )
...
call nvim_list_wins again after the picker is run
2023-04-16 15:58:10 +10:00
Alexander Courtis
04f99f14b5
fix( #2003 ): obey user split command for modified buffers when hidden not set ( #2008 )
2023-02-20 10:04:55 +11:00
Alexander Courtis
3c4958ab3d
fix( #1831 ): remove windows executable functionality due to occasional vim freeze and performance concerns ( #1868 )
...
* #1831 exploratory testing: disable file executable checks
* fix(#1831 ): remove windows executable functionality
2022-12-31 12:34:55 +11:00
David Sierra DiazGranados
d85b6718ce
feat(picker): allow custom function actions.open_file.window_picker.picker ( #1782 )
...
* feat: allow passing a custom function as a window picker
WIP
* fix: move logic expression to if statement
If `M.window_picker.custom_function()` returns `nil` then `pick_win_id()`
will run (the or part). We don't want that. More verbose, but better.
* feat(open): add window_picker.picker
* feat(open): add window_picker.picker
* style nit
* feat(open): add window_picker.picker
* docs: add window_picker.picker documentation
* docs: add window_picker.picker documentation
Co-authored-by: Alexander Courtis <alex@courtis.org>
2022-12-16 15:14:33 +11:00
Anton
e8ea62c198
fix( #1824 ): Don't modify jumplist when edit_in_place. ( #1825 )
2022-12-16 14:08:27 +11:00
Alexander Courtis
9d241e5f58
fix(system-open): use notify for system-open failures and tidy messages
2022-11-15 13:01:15 +11:00
Alexander Courtis
8cc369695b
fix: replace vim.* "requires" with explicit calls to vim functions ( #1701 )
2022-11-06 10:37:33 +11:00
Alexander Courtis
33ce8e3c73
fix( #1711 ): open in a new window when no window picker and no available window ( #1715 )
2022-11-05 10:23:03 +11:00
Alexander Courtis
dd90bfa155
fix( #1671 ): split with no window picker will always find an available window ( #1677 )
2022-10-29 13:42:56 +11:00