Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Multi Instance: Refactor: Split RootNode And Explorer #2924

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Ready
Development

No branches or pull requests

1 participant