7c0f7e906a
add padding first column
CI / lint (5.1, 1.2.0) (push) Has been cancelled
CI / check (3.15.0, nightly) (push) Has been cancelled
CI / check (3.15.0, stable) (push) Has been cancelled
release-please / release-please (push) Has been cancelled
2025-10-20 21:25:44 +03: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
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
Šimon Mandlík
cbc3165e08
fix( #2746 ): background and right aligned icons in floating windows ( #3128 )
...
* 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 >
2025-05-24 13:19:19 +10:00
Spencer Chunn
ea5097a1e2
feat( #3113 ): add renderer.icons.folder_arrow_padding ( #3114 )
...
* Update padding.lua
* add folder_arrow_padding
* update help docs
* refactor: renderer.icons.padding
renderer.icons.padding -> renderer.icons.padding.icon
renderer.icons.folder_arrow_padding ->
renderer.icons.padding.folder_arrow
* refactor: renderer.icons.padding
---------
Co-authored-by: Alexander Courtis <alex@courtis.org >
2025-05-05 11:51:29 +10:00
Šimon Mandlík
c3c1935942
fix: explicitly set border to "none" in full name float ( #3094 )
2025-04-04 17:29:38 +11:00
Alexander Courtis
70825f23db
fix( #3059 ): test for presence of new 0.11 API vim.hl.range ( #3060 )
2025-02-03 15:42:22 +11:00
Alexander Courtis
db7403243d
chore: resolve deprecated in 0.11 ( #3053 )
...
* chore: resolve deprecated in 0.11
* chore: resolve deprecated in 0.11
* chore: resolve deprecated in 0.11
* chore: resolve deprecated in 0.11
* chore: resolve deprecated in 0.11
* chore: resolve deprecated in 0.11
2025-01-24 11:57:18 +11:00
𝐍𝐆𝐏𝐎𝐍𝐆
fca0b67c0b
fix( #3045 ): wipe scratch buffers for full name and show info popups ( #3050 )
2025-01-18 10:28:06 +11:00
Alexander Courtis
3fc8de198c
chore: migrate to classic ( #2991 )
...
* add classic, migrating nodes classes
* add mixins to classic
* typechecked optargs constructors for nodes
* typechecked optargs constructors for watcher and event
* luacheck
* typechecked optargs constructors for GitRunner
* typechecked optargs constructors for Sorter
* typechecked optargs constructors for decorators, WIP
* typechecked optargs constructors for decorators, WIP
* typechecked optargs constructors for decorators
* remove class
* replace enums with named maps
* Renderer and Builder use classic, tidy opts
* LiveFilter uses classic, tidy opts
* Filter uses classic, tidy opts
* add FilterTypes named map
* move toggles into filters
* Marks uses classic, tidy opts
* Sorter uses classic, tidy opts
* Clipboard uses classic, tidy opts
* use supers for node methods
* HighlightDisplay uses classic
* protected :new
* Watcher tidy
* Revert "use supers for node methods"
This reverts commit 9fc7a866ec .
* Watcher tidy
* format
* format
* Filters private methods
* format
* Sorter type safety
* Sorter type safety
* Sorter type safety
* Sorter type safety
* Sorter type safety
* Sorter type safety
* tidy Runner
* tidy hi-test name
2024-11-09 14:14:04 +11:00
Alexander Courtis
610a1c189b
chore: resolve undefined-field warnings, fix link git statuses, rewrite devicons ( #2968 )
...
* add todo
* refactor(#2886 ): multi instance: node class refactoring: extract links, *_git_status (#2944 )
* extract DirectoryLinkNode and FileLinkNode, move Node methods to children
* temporarily move DirectoryNode methods into BaseNode for easier reviewing
* move mostly unchanged DirectoryNode methods back to BaseNode
* tidy
* git.git_status_file takes an array
* update git status of links
* luacheck hack
* safer git_status_dir
* refactor(#2886 ): multi instance: node class refactoring: DirectoryNode:expand_or_collapse (#2957 )
move expand_or_collapse to DirectoryNode
* refactor(#2886 ): multi instance: node group functions refactoring (#2959 )
* move last_group_node to DirectoryNode
* move add BaseNode:as and more doc
* revert parameter name changes
* revert parameter name changes
* add Class
* move group methods into DN
* tidy group methods
* tidy group methods
* tidy group methods
* tidy group methods
* parent is DirectoryNode
* tidy expand all
* BaseNode -> Node
* move watcher to DirectoryNode
* last_group_node is DirectoryNode only
* simplify create-file
* simplify parent
* simplify collapse-all
* simplify live-filter
* style
* move lib.get_cursor_position to Explorer
* move lib.get_node_at_cursor to Explorer
* move lib.get_nodes to Explorer
* move place_cursor_on_node to Explorer
* resolve resource leak in purge_all_state
* move many autocommands into Explorer
* post merge tidy
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* Revert "chore: resolve undefined-field"
This reverts commit be546ff18d41f28466b065c857e1e041659bd2c8.
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* Revert "chore: resolve undefined-field"
This reverts commit e82db1c44d .
* chore: resolve undefined-field
* chore: class new is now generic
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* Revert "chore: resolve undefined-field"
This reverts commit 0e9b844d22 .
* move icon builders into node classes
* move icon builders into node classes
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* move folder specifics from icons to Directory
* move folder specifics from icons to Directory
* move folder specifics from icons to Directory
* move folder specifics from icons to Directory
* move file specifics from icons to File
* clean up sorters
* chore: resolve undefined-field
* tidy hl icon name
* file devicon uses library to fall back
* file devicon uses library to fall back
* file devicon uses library to fall back
2024-11-03 14:06:12 +11:00
Alexander Courtis
2156bc08c9
fix: symlink file icons rendered when renderer.icons.show.file = false, folder.symlink* was incorrectly rendered as folder.default|open ( #2983 )
...
* fix: folder.symlink* was incorrectly rendered as folder.default|open
* fix: symlink file icons rendered when renderer.icons.show.file = false
2024-11-03 12:10:00 +11:00
Alexander Courtis
8760d76c1d
chore: enable missing-local-export-doc
2024-10-25 14:35:48 +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
Alexander Courtis
5ad87620ec
fix( #2945 ): stack overflow on api.git.reload or fugitive event with watchers disabled ( #2949 )
...
* Reapply "refactor(#2871 , #2886 ): multi instance: node classes created (#2916 )"
This reverts commit 50e919426a .
* fix(#2945 ): stack overflow on api.git.reload or fugitive event
2024-10-11 13:47:01 +11:00
Alexander Courtis
50e919426a
Revert "refactor( #2871 , #2886 ): multi instance: node classes created ( #2916 )"
...
This reverts commit 38aac09151 .
2024-10-08 18:07:47 +11:00
Alexander Courtis
38aac09151
refactor( #2871 , #2886 ): multi instance: node classes created ( #2916 )
...
* refactor(#2875 ): multi instance renderer
* refactor(#2875 ): multi instance renderer
* refactor(#2875 ): multi instance renderer
* refactor(#2875 ): multi instance renderer
* node classes and constructors
* node methods
* refactor(#2875 ): multi instance renderer
* node classes and constructors
* explorer is a directory node
* extract methods from explore_node
* extract methods from explore_node
* extract methods from explore_node
* extract methods from lib
* use .. name for root node for compatibility
* use node.explorer
* extract node factory, remove unused code
* factories for all nodes, add RootNode
* factories for all nodes, add RootNode
* use factory pattern for decorators
* note regression and commit
* fix dir git status regression
* destroy nodes, not explorer
* add BaseNode:is
* revert changes to create-file, handle in #2924
* extract methods from explorer
* extract methods from explorer
* extract methods from explorer
* use Node everywhere in luadoc
* extract methods from lib
* extract methods from lib
* lint
* remove unused code
* don't call methods on fake root node
* get_node_at_cursor returns explorer (root) node instead of { name = '..' }
* remove unused inject_node
* refactor(#2875 ): multi instance renderer
* refactor(#2875 ): multi instance renderer
* refactor(#2875 ): multi instance renderer
* extract methods from lib
* node factory uses stat only
* temporary DirectoryNode casting until method extraction into child classes
* lua-language-server 3.10.5 -> 3.11.0
* explicitly call Explorer constructor
* normalise explorer RootNode new call, tidy annotations
2024-10-07 13:46:56 +11: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
Alexander Courtis
03ae60313b
refactor( #2875 ): multi instance renderer ( #2900 )
...
* refactor(#2875 ): multi instance renderer
* refactor(#2875 ): multi instance renderer
* refactor(#2875 ): multi instance renderer
* refactor(#2875 ): multi instance renderer
* refactor(#2875 ): deal with some cyclic require
* refactor(#2875 ): multi instance renderer
* refactor(#2875 ): multi instance renderer
* refactor(#2875 ): multi instance renderer
* refactor(#2875 ): multi instance renderer
* refactor(#2875 ): multi instance renderer
* refactor(#2875 ): multi instance renderer
* refactor(#2875 ): multi instance renderer
* refactor(#2875 ): multi instance renderer
* refactor(#2875 ): multi instance renderer
* refactor(#2875 ): multi instance renderer
* refactor(#2875 ): multi instance renderer
2024-09-21 10:41:35 +10:00
Everton Jr.
e25eb7fa83
feat( #2225 ): add renderer.hidden_display to show a summary of hidden files below the tree ( #2856 )
...
* feat(icon_placement): Allow right_align icon_placemente for decorator using ext_marks nvim api
* feat(icon_placement): Allow right_align icon_placemente for decorator using ext_marks nvim api
feat(icon_placement): Allow right_align icon_placemente for decorator using ext_marks nvim api
* feat(icon_placement): consolidate doc
* fix: extra namespace added to avoid colision between right_align and full_name features
* feat(hidden_display): Allow fine grained rendering of hidden files in
a folder
* feat(hidden_display): update defaults in Builder to allow rendering
* feat(hidden_display): Rename opts function name for the feature
* feat(#2349 ): add "right_align" option for renderer.icons.*_placement (#2846 )
* feat(icon_placement): Allow right_align icon_placemente for decorator using ext_marks nvim api
* feat(icon_placement): Allow right_align icon_placemente for decorator using ext_marks nvim api
feat(icon_placement): Allow right_align icon_placemente for decorator using ext_marks nvim api
* feat(icon_placement): consolidate doc
* fix: extra namespace added to avoid colision between right_align and full_name features
* style: rename namespace_id
---------
Co-authored-by: Alexander Courtis <alex@courtis.org >
* docs: update docs
* feat(hidden_display): Simplification and better performance by not sorting and grouping virtual lines
* Update doc/nvim-tree-lua.txt
Co-authored-by: Alexander Courtis <alex@courtis.org >
* style: hidden_stats is better
* docs: change to hidden_stats
* add separate namespace for virtual lines
* help: add highlight group
---------
Co-authored-by: Alexander Courtis <alex@courtis.org >
2024-08-10 11:36:30 +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
347e1eb352
fix( #2758 ): use nvim-webdevicons default file icon, not renderer.icons.glyphs.default, as per :help ( #2759 )
...
fix(#2758 ): use nvim-webdevicons default for default files
2024-04-30 11:32:51 +10:00
Alexander Courtis
fbee8a69a4
fix( #2643 ): correctly apply linked highlight groups in tree window ( #2653 )
...
* fix(#2643 ): correctly apply linked highlight groups in tree window
* fix(#2643 ): recreate and apply combined highlight groups on colorscheme change
2024-01-29 12:42:19 +11:00
Tomasz N
75ff64e666
fix: bad column offset when using full_name ( #2629 )
...
Co-authored-by: __ <__@__>
Co-authored-by: Alexander Courtis <alex@courtis.org >
2024-01-21 15:37:46 +11:00
Alexander Courtis
e9c5abe073
feat( #2415 ): colour and highlight overhaul, see :help nvim-tree-highlight-overhaul ( #2455 )
...
* feat(#2415 ): granular highlight_diagnostics, normalise groups (#2454 )
* chore: normalise colours and enable cterm (#2471 )
* feat(#2415 ): granular highlight_git, normalise git groups (#2487 )
* docs: update CONTRIBUTING.md (#2485 )
* feat(#2415 ): granular highlight_git, normalise git groups
* feat(#2415 ): normalise and add modified groups
* feat(#2415 ): create Decorator class for modified and bookmarks
* feat(#2415 ): create DecoratorDiagnostics
* feat(#2415 ): create DecoratorGit
* feat(#2415 ): create DecoratorGit
* add DecoratorCopied DecoratorCut
* add DecoratorOpened
* remove unloaded_bufnr checks as the view debouncer takes care of it
* Add `renderer.highlight_git` to accepted strings
* fix(#2415 ): builder refactor (#2538 )
* simplify builder signs
* decorators take care of themselves and are priority ordered
* simplify builder hl groups
* refactor builder for icon arrays
* builder use decorators generically
* fix(#2415 ): harden sign creation (#2539 )
* fix(#2415 ): harden unicode signs
* Decorator tidy
* normalise git sign creation and tidy
* tidy builder
* NvimTreeBookmarkIcon
* tidy HL doc
* tidy HL doc
* tidy HL doc
* tidy builder doc
* standardise on '---@param'
* DiagnosticWarning -> DiagnosticWarn
* annotate decorators
* limit to two highlight groups for line rendering
* style
* apply #2519
* feat(#2415 ): combined hl groups (#2601 )
* feat(#2415 ): create combined highlight groups
* feat(#2415 ): create combined highlight groups
* feat(#2415 ): create combined highlight groups
* ci: allow workflow_dispatch (#2620 )
* one and only one hl namespace, required winhl removal
* small tidies
* colors.lua -> appearance.lua
* full-name uses one and only namespace
* don't highlight fast, just apply to namespace, safer win_set_hl
* gut builder (#2622 )
collapse Builder
* fix group_empty function check
* feat(#2415 ): highlight-overhaul release date
---------
Co-authored-by: Akmadan23 <azadahmadi@mailo.com >
2024-01-20 16:12:13 +11:00
Max
96a783fbd6
fix( #2519 ): Diagnostics Not Updated When Tree Not Visible ( #2597 )
...
* fix(#2519 ): diagnostics overhaul
Signed-off-by: iusmac <iusico.maxim@libero.it >
* fix: Properly filter diagnostics from coc
Also, while we're at it, refactor the lsp function for consistency.
There should be no functional change, just cosmetic.
Signed-off-by: iusmac <iusico.maxim@libero.it >
* Assign diagnostic version per node to reduce overhead
Signed-off-by: iusmac <iusico.maxim@libero.it >
* Require renderer once
Signed-off-by: iusmac <iusico.maxim@libero.it >
* Revert "Require renderer once"
Causes circular requires after the previous commit.
This reverts commit 7413041630 .
* Rename `buffer_severity_dict` to `BUFFER_SEVERITY`
Signed-off-by: iusmac <iusico.maxim@libero.it >
* Log diagnostics update properly
Signed-off-by: iusmac <iusico.maxim@libero.it >
* Implement error handling for coc.nvim
Signed-off-by: iusmac <iusico.maxim@libero.it >
* CI style fixes
Signed-off-by: iusmac <iusico.maxim@libero.it >
* Capture `Keyboard interrupt` when handling coc exceptions
Signed-off-by: iusmac <iusico.maxim@libero.it >
* add more doc
---------
Signed-off-by: iusmac <iusico.maxim@libero.it >
Co-authored-by: Alexander Courtis <alex@courtis.org >
2023-12-30 14:30:07 +11:00
Alexander Courtis
46e1f776f0
fix( #2516 ): diagnostics icon highlight group matches the documentation: NvimTreeLspDiagnosticsInfo -> Information ( #2518 )
2023-11-19 15:31:52 +11:00
Cristi
8f9169a059
fix: git highlight for new staged files ( #2534 )
...
Co-authored-by: Cristian Toma <cristian.toma@vivre.eu >
Co-authored-by: Alexander Courtis <alex@courtis.org >
2023-11-19 14:47:10 +11:00
Tomasz N
7e3c0bee7b
feat: renderer.full_name includes root node ( #2502 )
...
* Do not exclude root node from `full_name`
* fix range
---------
Co-authored-by: Alexander Courtis <alex@courtis.org >
2023-10-30 13:17:33 +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
Alexander Courtis
d49a284236
feat( #2411 ): add renderer.highlight_bookmarks, renderer.icons.bookmarks_placement ( #2412 )
...
* feat(#1079 ): add highlight NvimTreeCopiedText and NvimTreeCutText
* feat(#1079 ): add highlight NvimTreeCopiedText and NvimTreeCutText
* feat(#1079 ): node may not be present in copy and cut
* feat(#2411 ): bookmark highlight and icon placement
* feat(#1079 ): add renderer.highlight_clipboard
* feat(#1079 ): add renderer.highlight_clipboard
* feat(#2411 ): bookmark highlight and icon placement
* feat(#2411 ): bookmark highlight and icon placement
* style
* feat(#2411 ): bookmark highlight and icon placement
* feat(#2411 ): bookmark highlight and icon placement
* feat(#2411 ): bookmark highlight and icon placement
* feat(#2411 ): bookmark highlight and icon placement
2023-09-24 15:07:02 +10:00
Alexander Courtis
a3aa3b47ea
feat( #1079 ): add renderer.highlight_clipboard default name, defaults to undercurls ( #2410 )
...
* feat(#1079 ): add highlight NvimTreeCopiedText and NvimTreeCutText
* feat(#1079 ): add highlight NvimTreeCopiedText and NvimTreeCutText
* feat(#1079 ): node may not be present in copy and cut
* feat(#1079 ): add renderer.highlight_clipboard
* feat(#1079 ): renderer.highlight_clipboard takes options, style cut/copy HL
* feat(#1079 ): renderer.highlight_clipboard takes options, style cut/copy HL
* feat(#1079 ): use an enum for highlight position
* feat(#1079 ): diagnostics uses _append_highlight
2023-09-17 16:08:04 +10:00
Alexander Courtis
b7f6600bc2
feat( #2197 ): git and diagnostics folder highlight groups ( #2409 )
...
* feat(#2197 ): add git folder highlight groups
* feat(#2197 ): add diagnostics folder highlight groups
2023-09-09 15:13:14 +10:00
Alexander Courtis
8f48426c88
feat( #2316 ): add NvimTreeFolderArrowClosed NvimTreeFolderArrowOpen ( #2408 )
2023-09-09 14:21:25 +10:00
Alexander Courtis
323f65cb9c
feat( #1917 ): add diagnostic highlighting and icon placement ( #2396 )
...
* feat(#1917 ): add renderer.highlight_diagnostics
* feat(#1917 ): add renderer.highlight_diagnostics
* feat(#1917 ): add enderer.icons.diagnostics_placement
* feat(#1917 ): add renderer.icons.show.diagnostics
* feat(#1917 ): document highlight overrides
2023-09-03 12:29:33 +10:00
Antonio Sarosi
b144b33390
feat( #2369 ): add full renderer.icons.web_devicons options for file and folder ( #2375 )
...
* Add `webdev_colors_folder` option
* Check if `M.devicons` exists
* Refactor `get_folder_icon`
* Add configuration options for both files and folders
* web_devicons.*.enabled -> enable
* silent migration: renderer.icons.webdev_colors -> renderer.icons.web_devicons.file.color
* silent migration: renderer.icons.webdev_colors -> renderer.icons.web_devicons.file.color
---------
Co-authored-by: Alexander Courtis <alex@courtis.org >
2023-08-26 14:42:44 +10:00
gegoune
1830e5e8a4
feat(git): add TM git status ( #2045 )
...
* feat(git): add `TM` git status
Potential fix for #2043 .
* fix: show as staged as well
2023-03-13 14:00:32 +11:00
Alexander Courtis
ba1778e061
fix( #1923 ): handle empty git icons ( #1987 )
2023-02-13 10:32:02 +11:00
Alexander Courtis
8505b6ecd8
fix( #1923 ): handle empty git icons ( #1952 )
...
* 1923 skip empty git icons
* 1923 skip empty git icons
2023-02-04 16:27:27 +11:00
gegoune
3ce0a8e770
feat(git): support DA state, fix( #1822 ): test directory capable of watching before presenting it ( #1905 )
...
* fix(#1822 ): test directory capable of watching before presenting it (#1901 )
* feat(git): support `DA` state
Co-authored-by: Alexander Courtis <alex@courtis.org >
2023-01-10 13:32:53 +11:00
Richard Li
dcc344cc72
feat(view): indicate modified buffers ( #1835 )
...
* Outlined new options
* highlight_modified is highlight_opened_files
* prototype with autocmd
* moved modified into glyphs
* show_on_dirs and show_on_open_dirs
* icon placement before & after
* _get_filename_offset
* fixed :wq doesn't update modified indicator
* highlight_modified, signcolumn modified_placement
Refactored to make everything use HighlightedString to remove all the complex `insert_highlight` calculation.
Not tested.
* updated doc to match the reality of no multi char for glyphs.modified
* fixed git signcolumn doesn't show
* fixed highlight_modified gets replaced by highlight_opened_files
* fixed renderer.icons.show.modified = false crash
* updated doc to reflect empty icon not breaking rendering
* removed debounce_delay to implement in a later PR
* doc nit: order placement
* change modified dirs default to be consistent with git
* illegal git & modified placement changed to default
* don't assume icon exist
* nit remove comment
* Noted in doc that glyphs can't have more than 2 characters if in signcolumn
* Don't sign_define if placement isn't signcolumn
Co-authored-by: Alexander Courtis <alex@courtis.org >
2022-12-31 15:54:04 +11:00
Richard Li
29788cc32a
fix(git): git folder fixes and improvements ( #1809 )
...
* coding style
* outlined git.show_on_open_dirs behavior
* show some icon on opendir even if show_on_open_dir=false
and show all children's status on parent
* fixed renamed icon not showing
* sorted icons
* removed DU from deleted as file will show up in tree
* fixed update_git_status in reloaders not tested
* fixed Api.git.reload()
Tested update_git_status in reloaders.lua
* sort icon only if not git signcolumn
* fixed crashing when root dir isn't git dir
* made git.show_on_dirs doc more concise
* git_statuses -> git_status for consistency
* explorer/common.lua -> explorer/node.lua
* fixed #1784 conflict
* don't order icons
* Revert "don't order icons"
This reverts commit 23f6276ef7 .
2022-12-17 17:05:33 +11:00
Alexander Courtis
c5dc80c36b
feat(view): add filters.git_clean, filters.no_buffer ( #1784 )
...
* feat(view): add filters.git_clean
* feat(view): add filters.git_clean
* feat(view): add filters.no_buffer
* feat(view): filters.no_buffer misses unloaded, handles buffer in/out
* feat(view): filters.no_buffer matches directories specifically
* feat(view): filters.no_buffer clarify targets
* feat: add placeholder filters.diagnostics_ok, refactor filters
* feat(view): remove placeholder filters.diagnostics_ok
2022-12-10 15:55:33 +11:00
Richard Li
9d9c5711dc
1786 git next prev land on dirs ( #1787 )
...
* Filtered dir with git status that are open when show_on_open_dir is false
* refactored for single source of truth of existence of git status on a node
Putting `has_git_status()` in `explorer.common` because that's where node.status is constructed
Or at least I think that's where it's constructed
* 1786 semantic nit
Co-authored-by: Alexander Courtis <alex@courtis.org >
2022-12-03 14:39:00 +11:00
Richard Li
829e9f68e1
feat: add diagnostics.show_on_open_dirs git.show_on_open_dirs ( #1778 )
...
* feat(diagnostics): only show diagnostic on closed folder
* feat(git): only show git icon on closed folder
2022-11-29 11:12:34 +11:00
Alexander Courtis
8cc369695b
fix: replace vim.* "requires" with explicit calls to vim functions ( #1701 )
2022-11-06 10:37:33 +11:00
kylo252
6ca6f99e76
feat(notify): add notify.threshold ( #1693 )
...
* feat: configurable notification level
add `notify.threshold` to setup opts
* feat: configurable notification level: add threshold example doc
* feat: configurable notification level: log always comes last
Co-authored-by: Alexander Courtis <alex@courtis.org >
2022-11-01 10:24:40 +11:00
Sabu Siyad
fba97517bb
fix( #1679 ): renderer.full_name correctly shows for one character outside ( #1688 )
...
ref: `:h getwininfo()`
Signed-off-by: Sabu Siyad <hello@ssiyad.com >
Signed-off-by: Sabu Siyad <hello@ssiyad.com >
2022-10-31 15:38:09 +11:00
Alexander Courtis
48992fd3e8
fix( #1639 ): ensure tree autocommands match filetype as well as name ( #1640 )
...
* fix(#1629 ): nvim start with file named *NvimTree* opens tree instead of buffer
* Revert "fix(#1629 ): nvim start with file named *NvimTree* opens tree instead of buffer"
This reverts commit e7136078f7 .
* fix(#1629 ): nvim start with file named *NvimTree* treats file as tree
* fix(#1629 ): nvim start with file named *NvimTree* treats file as tree
* fix(#1639 ): ensure tree autocommands match filetype as well as name
* fix(#1639 ): fix bad merge
* fix(#1639 ): ensure tree autocommands match filetype as well as name
2022-10-17 12:31:41 +11:00
kiyan
b4d704e88d
chore: replace urls from kyazdani42 -> nvim-tree
2022-10-08 11:31:57 +02:00