transient
lazygit
transient | lazygit | |
---|---|---|
24 | 145 | |
606 | 45,761 | |
0.3% | - | |
9.3 | 9.8 | |
3 days ago | about 23 hours ago | |
Emacs Lisp | Go | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
transient
-
On Desktop GUI Minimalism
> Even in this article just a few sentences after stating we should start from first principles he then jumps into the assumption of the "desktop".
Agree. Although I can see how the idea of "first principles" can be a very difficult starting point. A blank sheet of paper is a scary monster.
There's a huge breadth and depth of non-"desktop" GUIs out there, some (like smartphones) are even wildly successful. It's good to explore them for inspiration. Some of my favourites:
- Arcan (https://arcan-fe.com/about/) - I won't attempt to summarize, just dive in!
- SailfishOS (https://sailfishos.org/) - mobile UI focused on interaction through gestures / swipes; I've used it as my daily driver for a couple years.
- Speaking of mobiles, classic Nokia UIs allowed you to navigate to a specific item in the menu by pressing the corresponding digit on the dial pad. Once you learned where a particular item is, accessing e.g. your SMS inbox was extremely quick.
- Apple Watch / WatchOS (https://www.apple.com/watchos/) - I've always loved the idea of a device where one of the primary interaction methods was a wheel/dial of some sort. The watch even gives you context-sensitive tactile feedback.
- ZUIs in general (https://en.wikipedia.org/wiki/Zooming_user_interface) and the work of Jef Raskin in particular: https://en.wikipedia.org/wiki/Archy_(software) - this is the guy who helped design the Macintosh, but his other work took a radically different route.
- Magit (https://magit.vc/). Many common git operations are reduced to a couple of keystrokes; the obscure features are more discoverable, and the cumbersome procedures (such as rebasing, or staging individual hunks) become simple and intuitive. Also check out transient (https://github.com/magit/transient), which is the "UI toolkit" that powers Magit.
-
Warp is a modern, Rust-based terminal with AI built in
True, and I'd personally rather move away from Emacs to something more modern. (Helix is great, although I appreciate the irony of it being terminal-only, while Emacs supports several different window systems natively.) Magit is the only real reason I'm sticking with Emacs.
Magit itself is powered by <https://github.com/magit/transient>, which I see more as an interaction paradigm than a library; it could enable more ergonomic interaction with other stateful tools that are typically native to the command line / terminal (such as docker/kubectl, systemctl, mpd/mpc, etc). Rather than using Emacs as a middle layer, Transient could build on top of pluggable native toolkit backends, such as Cocoa, Gtk, Win32, or even web or a terminal.
We continue investing into terminals because the terminal remains the lowest common denominator of interacting with a computer. On the other end of the spectrum we have Electron, which has very clear and obvious downsides. I think there is low-hanging fruit with amazing ROI somewhere in the middle, and Magit/Transient is an example of what it could be.
-
What do you use for git integration in neovim?
You can also manage via a holistic UI: - Bisection - Log and reflog, stashes - subtrees, submodules - certain third party subcommands like git-absorb, and extend it with your own - interact with issues and pull requests via forge - pretty much all of the hundreds of CLI flags via a modal UI that got generalized and extracted to a lib called transient - well-integrated diff and conflict resolution (which is mostly just smerge) - the rebase/cherry-pick workflows I liked the best, including support for --update-refs - at any time you can always press a key to see the raw commands and output that it's using, which taught me a ton of corner cases - IMO it has a great manual
-
Transient Demo Requests?
See https://github.com/magit/transient/issues/239 .
-
Transient v0.4.0 released
More information can be found on my blog and in the release notes.
-
Dynamic Transient Infixes Based on Current Values of Other Infixes
AFAIK :if etc. do not "live update", but only function on initial prefix setup (see this issue). You could use a sub-prefix that evaluates settings from its parent to set the available options. Another tip: add an incompatible list so you can't get two desserts:
-
I cannot get EmacSQL to work
Yeah, ok, simplest is then to just trash the transient folder and either let Emacs clone it again on startup, or manually clone it: https://github.com/magit/transient
-
Khoj Chat: A Search Assistant for your Org-Mode Notes
M-x khoj RET c via transient
-
Transient for resizing windows
This is about resizing the frame, but might also be relevant: https://github.com/magit/transient/issues/216.
-
quick-actions.el: Uniform Compile/Run/Debug across programming languages
Will a hydra or a transient menu?
lazygit
-
Why Don't I Like Git More?
I've started to en ntegrate lazygit into my workflow.
It's quite easy to work with and I use git in a more powerfull way. My main problem is finding the way in all hotkeys.
https://github.com/jesseduffield/lazygit?tab=readme-ov-file#...
- Lazygit Release v0.41.0
-
How to be good at Open Source 🧑💻🌏
I recently did this with lazygit, a terminal-based git client I use every day. I wanted to add co-authors to commits, which is handy for pair programming at Incubyte
- Lazygit v0.41
-
Easy Access to Terminal Commands in Neovim using FTerm
The last thing you really need is a common set of tools that you want fingertip access to. I really commonly use LazyGit and K9s in my day job so those are the tools I will show off in this article.
-
Level Up Your Dev Workflow: Conquer Web Development with a Blazing Fast Neovim Setup (Part 1)
lazygit (optional)
-
Yozora: Linux Configurator
gl is a lazygit extended command, fist refreshes the deleted remote branches and then opens lazygit.
-
5 Developer CLI Essentials
3. lazygit
-
Ask HN: Can we do better than Git for version control?
Yes, but due to its simplicity + extensibility + widespread adoption, I wouldn’t be surprised if we’re still using Git 100+ years from now.
The current trend (most popular and IMO likely to succeed) is to make tools (“layers”) which work on top of Git, like more intuitive UI/patterns (https://github.com/jesseduffield/lazygit, https://github.com/arxanas/git-branchless) and smart merge resolvers (https://github.com/Symbolk/IntelliMerge, https://docs.plasticscm.com/semanticmerge/how-to-configure/s...). Git it so flexible, even things that it handles terribly by default, it handles
-
Slow magit and async input
I have the same issue with big repos, but in my case it hangs for minutes. In those instances I use lazygit
What are some alternatives?
emacs-lite
gitui - Blazing 💥 fast terminal-ui for git written in rust 🦀
ani-cli - A cli tool to browse and play anime
tig - Text-mode interface for git
emacs-light - My lightweight bare necessities emacs config
vim-fugitive - fugitive.vim: A Git wrapper so awesome, it should be illegal
crunchyroll-go - 📚 A Crunchyroll (beta) API implementation in Go
magit - It's Magit! A Git Porcelain inside Emacs.
anime-helper-shell - A python shell for searching, watching, and downloading anime.
diffview.nvim - Single tabpage interface for easily cycling through diffs for all modified files for any git rev.
evil - The extensible vi layer for Emacs.
neogit - An interactive and powerful Git interface for Neovim, inspired by Magit