This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-10-28
Channels
- # announcements (2)
- # babashka (16)
- # bangalore-clj (1)
- # beginners (93)
- # boot (11)
- # calva (5)
- # cider (13)
- # clj-kondo (49)
- # cljdoc (14)
- # cljs-dev (1)
- # clojure (99)
- # clojure-dev (3)
- # clojure-europe (1)
- # clojure-india (1)
- # clojure-italy (9)
- # clojure-nl (3)
- # clojure-poland (1)
- # clojure-russia (1)
- # clojure-spec (31)
- # clojure-uk (21)
- # clojured (2)
- # clojurescript (18)
- # core-async (12)
- # cursive (36)
- # data-science (1)
- # datomic (54)
- # duct (3)
- # emacs (33)
- # events (1)
- # fulcro (17)
- # jobs (1)
- # joker (8)
- # keechma (1)
- # leiningen (7)
- # malli (8)
- # nrepl (19)
- # pathom (6)
- # planck (18)
- # re-frame (20)
- # reagent (18)
- # shadow-cljs (3)
- # sql (7)
- # vim (31)
@dominicm Kudos for mentioning (in your cljs podcast interview) that one can directly edit the git index with vim-fugitive. 💯 I've yet to find that ability in any other tool, and have been using it for years to create better commits.
It's a weird feature until you start using it, then it's the best feature ever. It's so natural.
i.e. is it like this? https://github.com/jreybert/vimagit
vimagit looks great. I'd really like that <C-n>
functionality in fugitive.
But the fugitive functionality we were talking about goes beyond the line level. That's the cool part. You stage changes in a diff mode between your working copy and the staged area (initialized from the last commit). In effect that gives you a modifiable vim buffer, with all changes written to it being staged automatically.
Something you can do with fugitive you can't do with magit: ==
to reindent the change you just made because in your local copy you added a wrapping (let)
, but fixing the typo in the comment shouldn't also be reindented yet.
@dominicm Ah! You first have to "open" a changed file with =
(in :Gstatus
), then you can <C-n>
(or ]c
) by hunk, and stage it with -
. Pretty neat! #TIL #levelup
@dominicm you mentioned on the podcast that vim-salve gives you some part of the functionality provided by vim-jack-in, but vim-salve is heavyweight. just wanted to throw it out there that i made a "diet" version of salve: https://github.com/daveyarwood/vim-diet-salve
maybe salve does too: https://github.com/tpope/vim-salve/commit/7a3d9e7aa674bb72b46e75372320363b962f4457
it looks like salve injects nrepl middleware. IIRC, vim-jack-in also injects clj-refactor
salve seems pretty confusing. like, it actually looks like it only includes the nrepl middleware for deps.edn REPLs. for lein and boot, it just runs lein repl
and boot repl
, if i'm understanding correctly
re-reading the issue i filed ( https://github.com/tpope/vim-salve/issues/18 ), it looks like i was only using salve for its feature where it auto-connects fireplace to the REPL you already have running by reading .nrepl-port