-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Add file tree #200
Comments
If you're interested in having this feature, I can try to implement this and open a pull request. |
I prefer the fuzzy searcher myself, if you know some of the subdirs, you can still find it fairly easily |
I like making a lot of files and folders, that makes it easier to navigate with file tree, and I can open folders that I'm currently working on, without being distracted by other folders that I'm not currently interested in. With fzf I see all files, even those which I am not working on currently. |
I think this would be best suited as a plugin, though it can probably start as a subcrate until the framework is in place, that way it can at least be compiled separately and disabled via a flag. It's quite a lot of extra UI work though. Personally I also use a fuzzy searcher or use |
In my opinion it would be better as a built-in feature, just like Vim has netrw, vscode/atom/intellij has built-in file tree |
I wouldn't use it personally but if someone could come up with a good idea based on existing file tree like netrw or dired in emacs which could be better than them I don't see why we can't bundle it. One issue with file tree or these kind of stuff is that I can never remember the key, with the kakoune popup help box at the bottom right maybe we can get this right. |
In Vim I use C-t for toggling the file tree. AFAIK helix doesn't have buffers and navigation, so the question is how to implement moving cursor between file tree and main buffer? |
I think helix have something similar to buffer since you can pick and open another file but maybe we don't have buffer yet. We probably need to create another issue for this. |
We do have buffers (and views/splits), |
Just tossing in my two cents. This is what I said on matrix:
And a little later:
|
I would love this feature |
bump |
Out of curiosity, what are you all using in the meantime? |
I once looking at Taupiqueur's dotfiles and found him using sidetree. I personally just open up a terminal to the side and |
https://github.com/Canop/broot might be a good inspiration, or even using the code base. I would prefer such a feature as built into HX, and not configured separately. Makes things much simpler to install. |
I like nerd tree in vim, and have it bound to a simple keystroke that pops it open along the side, and the same keystroke to hide it. It’s great for jumping back-and-forth, opening, viewing folder structure and finding files. It’s a fundamental part of how I approach editing and understanding any project, and the vim implementation does not get in the way. I started using helix today, and read through the documentation twice looking for this feature, as it is a basic tool that any editor should have - I’ve never used an IDE without one easily available either natively or as a plug-in. I will admit I was very surprised to discover there is no such feature. I add my vote that it’s a fundamental IDE tool. |
Most of the people uses nvim-tree.lua instead of nerdtree nowadays |
I just want to mention that maybe we should use alphabetical order rather than last access time order in file tree. |
I like the idea sidetree work with kakoune, let other program commuicate with the editor, not write all code by the edtior itsefl. |
I am looking for this feature, but perhaps we could consider this as a general tree display / navigation / search feature. A file explorer could be the first implementation of this. Trees show up in all types of development, for example, the Flutter tooling allows you to dump the widget tree for display in an IDE (or perhaps in a general solution helix tree viewing tool). These IDE tools are notoriously slow to load, and very difficult to traverse... but if we could find a nice way to traverse complex trees in a way that is fast and handles large trees, especially with search and ID based markers, that would be immensely useful even outside of showing files. You can see it here on the left: https://docs.flutter.dev/development/tools/devtools/inspector#flex-layouts These trees often get massive and I have yet to see a tool handle it well. Possible operations:
|
The lack of this feature is what prevents me from switching from neovim + a ton of plugins to helix. |
i hope Helix implements built-in file explorer like vscode (File Explorer, Search, and Git too) 🙏 |
Another use case of a file explorer that I do not see mentioned yet in this discussion is that it is also a neat place to do other file operations than just opening files (compared to fuzzy finding) like creating/deleting/renaming/moving files. This is what I mainly use https://github.com/nvim-telescope/telescope-file-browser.nvim for opposed to fuzzy finding in my current neovim setup. |
Just a note here for future noobs like I was. |
the fuzzy search doesn't work well for me unfortunately, due to the fact that i, for the life of me, cannot remember every directory/filename. With hundreds of files i think thats pretty reasonable.. I relied on the |
Lapce is apparently the spiritual successor to Xi editor, has this feature, and has a puplar ticket for Helix-style controls: lapce/lapce#281 |
Okay, but Lapce isn't Helix. This is the Helix issue tracker. |
can u share screenrecord? |
is this the problem, or if the suggested feature of a separate file tree view exactly what u want?? as in, would it help u if the current fuzzy finder1 itself supports collapsable tree view with indentation for subdir contents? Footnotes
|
@archseer can you elaborate on how you do your workflow with nnn? for example, how do you quickly go from a file that you have open in helix to navigating it's directory? |
Anyone know if it's possible to get a program like |
looking at the $ hx -h
helix-term 22.12 (96ff64a8)
Blaž Hrastnik <[email protected]>
A post-modern text editor.
USAGE:
hx [FLAGS] [files]...
ARGS:
<files>... Sets the input file to use, position can also be specified via file[:row[:col]]
FLAGS:
-h, --help Prints help information
--tutor Loads the tutorial
--health [CATEGORY] Checks for potential errors in editor setup
CATEGORY can be a language or one of 'clipboard', 'languages'
or 'all'. 'all' is the default if not specified.
-g, --grammar {fetch|build} Fetches or builds tree-sitter grammars listed in languages.toml
-c, --config <file> Specifies a file to use for configuration
-v Increases logging verbosity each use for up to 3 times
--log Specifies a file to use for logging
(default file: C:\Users\Yash Pal Goyal\AppData/Local/helix\helix.log)
-V, --version Prints version information
--vsplit Splits all given files vertically into different windows
--hsplit Splits all given files horizontally into different windows 'sharing the relevant help line regarding opening in existing instance from other softwares below. $ codium -h
-n --new-window Force to open a new window.
-r --reuse-window Force to open a file or folder in
an already opened window.
$ # doublecmd
-C or --client If Double Commander is already running, activate it and
pass the path(s) in the command line to that instance.
$ notepad++ --help
-multiinst : Launch another Notepad++ instance
$ freecad --help
--single-instance Allow to run a single instance of the application |
I added this enhancement request here: #6054 |
You could take a look at this action inside zellij https://zellij.dev/documentation/cli-actions.html#write But I think at this point this is outside the subject of the issue. |
Hello Everyone, |
Hello ! Is there a way to communicate with a running Helix instance and pass commands from outside ? RPC, stdin, whatever ? There's many TUI file managers written in rust, we could simply use another crate and communicate. Something like this should do the trick:
|
how to "open a terminal from helix" ? |
Yes, ATM you can't:/ |
Oh yeah, I feel like once we have a file tree feature on Helix, it will have a lot of adoption. I feel like this is the only thing that's preventing me from switching from Neovim. Great job guys! |
I would switch in a hart beat.. loving helix, but really miss a file tree.. |
Hey guys, I'm just going to reiterate @archseer's point: it is not helpful to make comments like "this is the only thing keeping me from switching". There is already an open PR (#5768). The problem is not that we need convincing that it is important, it is that the maintainers need time to review the PR in our spare time. I'm going to lock the conversation since there isn't really much meaningful discussion left to have around the issue itself. |
What do you think about that? It's quite useful when you know visually where a file is, but not name of the file.
Same feature in neovim using nvim-tree.lua
The text was updated successfully, but these errors were encountered: