This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-12-02
Channels
- # adventofcode (153)
- # announcements (29)
- # architecture (6)
- # babashka (5)
- # beginners (197)
- # calva (71)
- # clj-kondo (27)
- # cljfx (4)
- # cljs-dev (33)
- # cljsrn (1)
- # clojure (52)
- # clojure-australia (5)
- # clojure-boston (1)
- # clojure-europe (38)
- # clojure-france (1)
- # clojure-hungary (5)
- # clojure-italy (1)
- # clojure-nl (19)
- # clojure-uk (5)
- # clojurescript (12)
- # conjure (4)
- # core-async (3)
- # cursive (22)
- # datalog (70)
- # datomic (32)
- # deps-new (8)
- # emacs (79)
- # events (2)
- # fulcro (15)
- # graalvm (15)
- # leiningen (2)
- # lsp (5)
- # minecraft (1)
- # nbb (1)
- # off-topic (37)
- # polylith (11)
- # re-frame (9)
- # reagent (1)
- # reitit (3)
- # releases (1)
- # reveal (2)
- # shadow-cljs (35)
- # spacemacs (1)
- # tools-build (4)
- # tools-deps (55)
- # vim (11)
- # xtdb (6)
I don't think there is one, but this issue points to a wish for it to be done:
Itβs a little work to set up, but itβs pretty cool being able to move forward and backward through the trace.
This isn't the same, but I've found it to be good enough: https://github.com/gfredericks/debug-repl/
I recently added the this mapping and I'm not sure how I ever lived without it:
nmap <Leader>if :IcedEval ( *1)<Left><Left><Left><Left>
Is there perhaps a cleaner way of accomplishing the same thing with vim-iced, and does anyone have other similar mappings they find useful?It might be "cleaner" to convert that macro to a function, like @U0AHJUHJN did https://github.com/daveyarwood/dotfiles/blob/c0a8316978872f45c5eebfe7218cd99708846a40/vim/custom/300-filetypes.vim#L57-L70
What does it do?
It starts command-line mode, types :IcedEval ( *1)
and then puts the cursor just after the opening paren. Presumably ready to type a function which takes *1
(last result) as an arg.
Yes, exactly as @UE1N3HAJH said.
I find I often eval forms that I need to subsequently transform and this is a convenient way of doing it. Often it's because the original eval returned something that's too large for the screen, and I end up just doing something like (take 5 *1)
, or threading few a few values to transform a large collection in some other way.
I know I can yank an eval result or print it out and include the literal in a transformation, but using *1, *2, etc. is often more convenient when I don't really care about the intermediate values.