Closed gosuwachu closed 11 months ago
re: cursor - I think the problem is due to the fact that the cursor is not drawn in the buffer, and then diffed to only draw what has changed by tui-react
. Instead the cursor is rendered directly on the screen. I am not sure how to fix it as I am not too familiar with that code.
Me neither, as it should be something related to Ratatui I presume. It would probably also be possible to check there to see how to best do prompting, a topic dua
managed to avoid thus far (but can't avoid any longer).
fyi, I have fixed the problem with the cursor.
Added long path shortening:
That's great, thanks so much for making all this happen!
Did you consider using the ellipsis character …
instead of ...
? That way two more character slots might be freed up.
I have just tried …
but don't like how it looks - it it so small it is easy to miss.
btw. I think search history may be potentially useful future addition to the glob search feature.
I have just tried
…
but don't like how it looks - it it so small it is easy to miss.
For a moment I thought that letting it appear on top of the selection is on top would help, similar to what the 'message' line in the mark pane does - it follows the currently selected line to be more obvious.
In this case, it would determine its initial position based on the currently selected line, and then stay there. Even though in theory it can probably also follow the selection if the tab
/pane-cycling logic can handle that.
btw. I think search history may be potentially useful future addition to the glob search feature.
It sounds complicated to do that UI wise, so I hope we can postpone this to another PR.
Besides, I'd be starting the review today in the hopes to merge tomorrow.
dua
would use native crossterm events. Alternatively, one could convert them back from the now mostly unnecessary abstraction layer to native crossterm events. That way, one wouldn't have to deal with the cursor handling as much, which isn't as trivial to get right with unicode in mind.gix-glob
for more intuitive globbing (which is as fast or faster in my (simple) tests). It's case-insensitive and has can be told to find directories only by adding/
as suffix.@Byron Thanks Sebastian! It wouldn't be possible without the suggestions & feedback of people using it. I have used dua
today to do "holiday cleaning" of my hard drive, and the tool you have created is great! I am happy to make my small contributions to help make it even better :)
This new release is going to be a great holiday gift! 🎁
Implements glob search feature as requested in #154
There are three main components to in the implementation of this feature:
NavigationState
AppState
and holds the state of there the user has been navigating etc.TreeView
trait comes in.AppState::process_events
has been refactored to create appropriate tree view (normal vs glob) for the mode you are in and us that to handle the events.traversal
ortree
at all.