Skip to content

Multi Instance: Refactor: Split RootNode And Explorer #2924

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
alex-courtis opened this issue Sep 23, 2024 · 1 comment
Open

Multi Instance: Refactor: Split RootNode And Explorer #2924

alex-courtis opened this issue Sep 23, 2024 · 1 comment

Comments

@alex-courtis
Copy link
Member

alex-courtis commented Sep 23, 2024

Requires #2916

Explorer is a RootNode. Break them and store RootNode in Explorer.

get_node_at_cursor returns the root instead of fake ".."

Replace name == ".." tests with BaseNode:is(RootNode)

Change name to be consistent with DirNode

@alex-courtis alex-courtis converted this from a draft issue Sep 23, 2024
@alex-courtis alex-courtis changed the title Multi Instance: Split RootNode And Explorer Multi Instance: Refactor: Split RootNode And Explorer Oct 5, 2024
alex-courtis added a commit that referenced this issue Oct 7, 2024
* 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
@alex-courtis
Copy link
Member Author

This may not be necessary; there are no conflicts with the nodes.

RootNode may be unnecessary and Explorer could inherit DirectoryNode

@alex-courtis alex-courtis moved this from Backlog to Ready in Multiple Instances Feb 1, 2025
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
Status: Ready
Development

No branches or pull requests

1 participant