nickgerace / gfold

CLI tool to help keep track of your Git repositories, written in Rust
https://crates.io/crates/gfold
Apache License 2.0
308 stars 20 forks source link

How would TUI mode fit in this project? #169

Closed Dentrax closed 4 months ago

Dentrax commented 2 years ago

Just thinking about how TUI mode would fit in this project. We can do some operations on the TUI as such: jump, delete, sync, fetch, copy path, rename, move, etc.

Wdyt?

nickgerace commented 2 years ago

I think gitui handles TUI integrations very well and it would be redundant to have gfold do the same within an single repository.

gfold is designed to give a bird's eye view of your repositories on disk, and then exit. I could see a use case where a user sees a certain status for a given repository and then wants to operate on it (e.g. rename, move, jump), but I think that would be best handled by jumping to gitui.

That being said, a potential idea is an integration with gitui. For example, a minimal TUI layer could be added to gfold that then jumps to gitui when you highlight the repository using arrow keys (or WASD or HJKL) and hit "ENTER" on your keyboard.

Thoughts on that idea?

Dentrax commented 2 years ago

I think gitui handles TUI integrations very well and it would be redundant to have gfold do the same within an single repository.

Oh, I see now. Thanks.

a minimal TUI layer could be added to gfold that then jumps to gitui

Sounds cool idea!

nickgerace commented 2 years ago

Seems like maybe https://github.com/nickgerace/gfold/issues/168 and this issue could combine into something like the following:

What do you think? :)

Dentrax commented 2 years ago

I would definitely use the interactive mode. :) I think interacting with gfold would provide much better UX in long-term.

Currently, It only shows the git projects and works like a charm. But we can iterate this project further:

nickgerace commented 4 months ago

I am going to close this issue since gfold has settled on being a single use, non-persistent tool.

However, libgfold exists for the purpose of opening up gfold internals for others to use in their own TUIs, CLIs, and other projects.

Thanks for the great idea!