gfold icon indicating copy to clipboard operation
gfold copied to clipboard

How would TUI mode fit in this project?

Open Dentrax opened this issue 2 years ago • 4 comments

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?

Dentrax avatar Jan 12 '22 12:01 Dentrax

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?

nickgerace avatar Jan 13 '22 16:01 nickgerace

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!

Dentrax avatar Jan 14 '22 18:01 Dentrax

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

  • Add an optional interactive mode
  • The interactive mode should feel like a traditional TUI with the ability to jump to a highlighted repository in the results
  • The jump should be able to cd at minimum, but there might also be an option to drop right into gitui as well

What do you think? :)

nickgerace avatar Jan 14 '22 19:01 nickgerace

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:

  • cding
  • rename/move/etc.
  • copy pwd or upstream url
  • filter by clean status
  • filter by project name
  • filter by programming language
  • stash and backup all working state
  • sync all to upsteam
  • ... you name it

Dentrax avatar Jan 16 '22 17:01 Dentrax