Commit Graph

18 Commits

Author SHA1 Message Date
Uanela Como
c760c92667 feat(#1549): p will paste files from another nvim-tree instance, gp will cut/paste (#3336)
* feat: add copy absolute path with protocol into public api

* feat: add helper get_basename into node

* feat: add gby keymap, and allow visual mode for copy.basename|absolute_path

* feat(clipboard): add opts for adding protocol in reg operations

* feat(api): allow visual operation in absolute_path*

* feat: add paste with protocol to keymap+api

* feat: add paste with protocol to clipboard

* feat: add configurable clipboard protocol

* fix: filter descendant nodes on copy_absolute_path_with_protocol

* refactor: change clip protocol keymaps to bgy and bgp

* wip

* fix(clipboad): correctly show the number of copied nodes on bgy

* chore: remove bgy, bgp and add gp + gx

* chore: update api/fs.lua and api impl.lua to match new keymaps

* fix: correctly pass the function to new keymaps

* chore: remove use_protocol and use use_register + cut options

* chore: update docs

* chore: move node:get_basename to cliboard_

* chore(clipboard): remove vim.cmd workaround in favor of vim.fn.setreg

* chore: use newline as separator instead of comma

* refactor(clipboard): simplify copying node attribute and allow all to work in visual mode

* refactor(keymap): remove gx, use gp to move

* feat(clipboard): always copy/cut to register and make `p` pick local data or register data

* refactor(docs): update api docs and rename paste_while_cutting to move

* fix: correctly format keymaps

* chore: regenerate docs

* fix: remove unused apis

* chore: copy clipboard.data to register on copy/cut

* chore: revert copy_node_attribute

* refactor: remove visual mode from copy.basename|filename|path

* chore: update docs

* chore: add fs.move api and update docs

* chore: destroy dummy nodes and prevent empty paths nodes parsing

* fix: _meta/api/fs.lua and docs

* fix(clipboard): destroy dummy nodes from register on paste

* fix(clipboard): correctly check for local paste operation
2026-07-01 10:11:03 +10:00
Alexander Courtis
7adc5679fe feat(#3310): minimum neovim version 0.10 (#3311)
* feat(#3310): minimum neovim version 0.10

* feat(#3310): minimum neovim version 0.10

* feat(#3310): minimum neovim version 0.10

* feat(#3310): minimum neovim version 0.10

* feat(#3310): minimum neovim version 0.10

* feat(#3310): minimum neovim version 0.10

* feat(#3310): minimum neovim version 0.10

* feat(#3310): minimum neovim version 0.10
2026-04-07 10:37:49 +10:00
Vlad Ceban
b3772adec8 fix(##3288): restore single-item paste conflict prompts (#3289) 2026-03-15 15:21:22 +11:00
Vlad Ceban
9197f3ee3f feat(#2994): add visual mode operations: copy, cut, delete, trash, toggle bookmark (#3268)
feat(#2994): add visual selection operations
2026-03-13 14:11:48 +11:00
Alexander Courtis
118057ebd2 docs(#3241): add api.Decorator and Class meta with generated help, harden decorator rendering, api.decorator.UserDecorator changed to nvim_tree.api.Decorator in a non-breaking manner (#3259)
* doc(#2934): POC to use gen_vimdoc.lua for decorator meta

* doc(#2934): use injected gen_vimdoc.lua from nvim source, move decorators to main help

* doc(#2934): tidy and harden scripts

* doc(#2934): add nvim_tree.Config meta classes, add nvim_tree.api. meta classes

* doc(#2934): add nvim_tree.Config to help

* doc(#2934): add nvim_tree.api classes to help

* doc(#2934): tidy and correct nvim_tree.Config.UI and nvim_tree.Config.Actions

* doc(#2934): tidy and correct nvim_tree.Config.HijackDirectories, format and order nvim_tree.Config

* doc(#2934): tidy and nvim_tree.Config top level

* doc(#2934): tidy and format nvim_tree.Config.LiveFilter, Modified, Tab, Trash

* doc(#2934): tidy and format nvim_tree.Config.FilesystemWatchers, Log

* doc(#2934): split nvim_tree.Config into files, Sort and HijackDirectories populate others placeholder

* doc(#2934): more generic gen_vimdoc_config module config

* doc(#2934): tidy Config.HijackDirectories and Actions, move them into place

* doc(#2934): tidy Config.Modified, move into place

* doc(#2934): tidy Config.LiveFilter, move into place

* doc(#2934): tidy Config.FilesystemWatchers, move into place

* doc(#2934): tidy Config.Trash, move into place

* doc(#2934): tidy Config.Tab, move into place

* doc(#2934): tidy Config.UI, move into place

* doc(#2934): tidy Config.Log, move into place

* doc(#2934): tidy Config.Notify, move into place

* doc(#2934): tidy Config.SystemOpen, move into place

* doc(#2934): tidy Config.Help, move into place

* doc(#2934): tidy Config.Help, move into place

* doc(#2934): tidy Config.Help, move into place

* doc(#2934): tidy Config.Diagnostics, move into place

* doc(#2934): remove api/decorator as they are out of scope, revert api_decorator.lua changes, retain api opts classes but make them exact

* doc(#2934): tidy Config.Filters, move into place

* doc(#2934): tidy Config.FilesystemWatchers, move into place

* doc(#2934): tidy Config.FilesystemWatchers, Git, move into place

* doc(#2934): tidy Config.UpdateFocusedFile, move into place

* doc(#2934): tidy Config.Sort, move into place

* doc(#2934): tidy Config.View, move into place

* doc(#2934): tidy Config.View, move into place

* docs(#2934): type DEFAULT_OPTS, use bracketed references to keep luals happy

* docs(#2934): tidy, inline some classes

* docs(#2934): tidy Config.Renderer

* docs(#2934): remove problematic glyphs, tidy other glyphs

* docs(#2934): tidy Config.Renderer, ensure functions are parenthesised when necessary

* docs(#2934): tidy Config.Renderer

* docs(#2934): tidy Config.Renderer, move into place

* docs(#2934): tidy Config.Renderer

* docs(#2934): tidy Config.FilesystemWatchers

* docs(#2934): fix broken links

* docs(#2934): fix broken links

* docs(#2934): fix broken links

* docs(#2934): fix broken links

* docs(#2934): refer to nvim in help, not neovim, as this trips the lintdoc spell checker

* docs(#2934): fix broken links

* docs(#2934): add lintdoc.sh, fix some branding spelling

* docs(#2934): update old config links

* docs(#2934): remove 5. Opts, 8.2  Highlight: Overhaul, 15.1  Index: Opts, update links as needed

* docs(#2934): remove indices

* docs(#2934): add bookmarks, put long descriptions into @brief

* docs(#2934): move hidden display to verbatim new section

* docs(#2934): add config lsp examples, link setup

* docs(#2934): normalise heading formatting, remove TOC

* docs(#2934): move all icon and highlight info into a table

* docs(#2934): move all icon and highlight info into a new section

* docs(#2934): normalise all icon and highlight

* docs(#2934): extract nvim_tree.Config field descriptions to class overview

* docs(#2934): consistent string formatting

* docs(#2934): normalise all icon and highlight

* docs(#2934): remove @briefs as they are shown above the class tag

* docs(#2934): don't <pre> filters

* docs(#2934): add experimental example

* docs(#2934): add gen_vimdoc.sh to CI

* docs(#2934): add gen_vimdoc.sh to CI

* docs(#2934): add gen_vimdoc.sh to CI

* docs(#2934): temporarily --ignore-blank-lines during help check

* docs(#2934): add lintdoc.sh to CI

* docs(#2934): add lintdoc.sh to CI

* docs(#2934): add lintdoc.sh to CI

* docs(#2934): move Nvim build and help-check to the end for faster turnaround

* docs(#2934): use make lintdoc target directly

* docs(#2934): CONTRIBUTING.md updates for help generation and lint

* docs(#2934): revert API opts classes changes

* docs(#2934): harden gen and lint scripts, moving things out of nvim-tree source to prevent luals upset

* docs(#2934): harden gen and lint scripts, moving things out of nvim-tree source to prevent luals upset

* docs(#2934): fix lintdoc make target

* docs(#3088): extract api/tree.lua

* docs(#3088): extract api/tree.lua

* docs(#2934): move help diff check after lint

* docs(#3088): update api.tree references, remove old doc

* docs(#3088): extract api/config/mappings.lua

* docs(#3088): api.config.mappings -> api.map

* docs(#3088): extract api/filter.lua

* docs(#3088): move api.git into api.tree

* docs(#3088): extract api/health.lua, tidy formatting

* docs(#3088): extract api/health.lua, tidy formatting

* docs(#3088): remove command descriptions, show lua, link to api

* docs(#3088): extract api/marks.lua

* docs(#3088): remove completed legacy api.lua members

* docs(#3088): extract api/events.lua

* docs(#3088): extract api/events.lua

* docs(#3088): extract api/fs.lua

* docs(#3088): extract api/commands.lua

* docs(#3088): extract api/node.lua functions, doc TODO

* docs(#3088): move all nvim-tree-api to generated doc

* docs(#3088): old api is now impl, use new api

* docs(#3088): extract api/node.lua functions, doc WIP

* docs(#3088): extract api/node.lua functions, doc WIP

* docs(#3088): extract api/node.lua functions, doc WIP

* docs(#3088): extract api/node.lua functions

* docs(#3088): move api into _meta

* docs(#3088): move api-impl out of meta, restore it to its original state with a hyrdrate function

* docs(#3088): remove old Api classes, rename impl Api -> api

* docs(#3088): tidy migrated annotations

* docs(#3088): format nvim_tree.api.commands

* docs(#3088): separate api classes at the end

* docs(#3088): polish vimdoc config

* docs(#3088): format

* docs(#2934): polish vimdoc config

* docs(#2934): snake case config class names

* docs(#2934): snake case config alias names

* docs(#2934): note help tag prefixes

* docs(#2934): snake case config sections

* docs(#2934): move default config to end

* docs(#2934): move setup doc from config to quickstart and setup

* docs(#2934): index contributing

* docs(#3088): cleanup following merge

* docs(#3088): tidy section names

* docs(#3088): split node.navigate and open, move all filters into api.filter

* docs(#3088): hidden->custom toggle default desc

* docs(#3088): add legacy filter api mappings

* docs(#3088): tidy api meta

* docs(#3088): always exclude meta from luacheck, it doesn't offer anything useful

* docs(#3088): extract fs.copy, fix api node param optionality, move legacy api to legacy.lua

* docs(#3088): correct optionality of nvim_tree.config.view.width fields

* docs(#3088): hydrate API before setup with error functions, with some hydrated with their concrete function, wrap removal TODO

* docs(#3088): remove api impl error wrap

* docs(#3088): split api pre and post, add more comments

* docs(#3088): split api pre and post, add more comments

* docs(#3088): extract post impl functions, lazy some requires

* docs(#3088): lazy api impl requires

* Revert "docs(#3088): lazy api impl requires"

This reverts commit c6ea6c5be1.

* docs(#3088): minimise api pre following tests

* docs(#3088): move node classes under api with logical order

* docs(#3088): document node and git classes, namespace internal and external git classes, redact node subclasses

* docs(#3088): fix merge issue

* docs(#3088): tidy pre comments

* docs(#3088): collapse node and fs submodules

* docs(#3088): move api help and classes back into api.lua

* docs(#3088): resize command calls api, not view

* docs(#3088): tidy api map names

* docs(#3088): revert api.git refactor, provide deprecated api meta

* docs(#3088): add deprecated api @see

* docs(#3088): class fixes following merge, disable luacheck on scripts

* docs(#3088): Node:should_expand nops

* docs(#3088): fix _git return

* docs(#3088): add meta for legacy api

* docs(#3088): mark deprecated api modules, use proper namespacing for deprecateds

* docs(#3088): gen_vimdoc now uses full paths, requires a patch for a FIXME

* docs(#3088): add vim_gendoc patches

* Revert "docs(#3088): add vim_gendoc patches"

This reverts commit ebb99093d2.

* Revert "docs(#3088): gen_vimdoc now uses full paths, requires a patch for a FIXME"

This reverts commit ff0184a260.

* docs(#3088): split gen_vimdoc_config into chunks to avoid filename clashes, as gen_vimdoc keys sections by filename

* docs(#3088): move legacy api into api.impl.legacy, fixes following testing

* docs(#3088): remove merge leftover

* docs(#3088): tidy contrib

* docs(#3088): clarify backwards compatibility

* docs(#3088): clarify help generation in contributing

* docs(#3088): contributing index

* docs(#3088): help-update.sh -> help-defaults.sh now using a /tmp file to prevent runaway FS updates

* docs(#3088): help-update.sh -> help-defaults.sh now using a /tmp file to prevent runaway FS updates

* docs(#3088): CI runs make lintdoc to avoid muddying help-check with unnecessary build and possible Nvim lint failures

* docs(#3088): unify help and readme, clarify some wording

* docs(#3088): test a readme toc

* docs(#3088): test a readme toc

* docs(#3088): unify help generation and lint into vimdoc.sh, generation uses nvim source build to execute (#3260)

* docs(#3241): unify help generation and lint into vimdoc.sh, generation uses nvim source build to execute

* docs(#3241): unify help generation and lint into vimdoc.sh, generation uses nvim source build to execute

* docs(#3241): unify help generation and lint into vimdoc.sh, generation uses nvim source build to execute

* docs(#3241): unify help generation and lint into vimdoc.sh, generation uses nvim source build to execute

* docs(#3241): namespace decorator types

* docs(#3241): namespace decorator types

* docs(#3241): namespace decorator types

* docs(#3241): api exposes nvim_tree.api.decorator.Decorator interface, UserDecorator deprecated

* docs(#3241): move decorator meta into place

* docs(#3241): generate decorator help

* docs(#3241): separate api and class generation configs, namespace classes without their filename, nicer generation placeholder

* docs(#3241): fix potential bug in builder: passing a nil node to a user decorator

* docs(#3241): nvim-tree-api-decorator brief

* docs(#3241): Decorator class documentation

* docs(#3241): add placholder to vimdoc.sh

* docs(#3241): extract nvim_tree.config.renderer.decorator, add decorators to hl help section

* docs(#3241): use general nvim_tree.api.highlighted_string

* docs(#3241): add nvim-tree-class-decorator-example

* docs(#3241): move renderer alias doc to the class

* docs(#3241): Class -> nvim_tree.Class

* docs(#3241): Class -> nvim_tree.Class

* docs(#3241): document nvim_tree.Class

* docs(#3241): fix help lua indentation

* docs(#3241): extract builtin decorator interface, partially complete

* docs(#3241): extracted BuiltinDecorator

* docs(#3241): add BuiltinDecorator constructor

* docs(#3241): revert api function changes

* docs(#3241): revert api function changes

* docs(#3241): vimdoc polish

* docs(#3241): tidy

* docs(#3241): tidy
2026-02-13 12:58:03 +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
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
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
68be6df2fc refactor(#2886): multi instance: node class refactoring (#2950)
* 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

* more type safety
2024-10-25 12:24:59 +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
b18ce8be8f fix(#2917): fix root copy paths: Y, ge, gy, y (#2918) 2024-09-21 12:05:16 +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
Alexander Courtis
cd9c6db77f refactor(#2882, #2883): multi instance explore, reloaders (#2897)
* refactor(#2883): multi instance explore

* refactor(#2882): multi instance reloaders

* style
2024-09-14 15:35:31 +10:00
Alexander Courtis
6fbcb5a892 refactor(#2831): multi instance clipboard (#2869)
* refactor(#2831): multi instance clipboard

* refactor(#2831): multi instance clipboard

* refactor(#2831): multi instance clipboard
2024-08-25 12:49:46 +10:00