lispy.el demo 5: ->>ification
Back to github | This file in org-mode | Function reference |
Intro
This demo covers some very basic lispy commands such as:
- move code up/down with w / s
- grow/shrink current list with > / <
Task summary
Transform from:
( map #(* % %) (filter odd? [1 2 3 4 5]))
to:
( ->> [1 2 3 4 5] (filter odd?) (map #(* % %)))
Screencast
The screencast for this demo is here: http://youtu.be/N7C3FX4mr_o
Step-by-step expansion
step 1
2( to wrap with parens, enter ->>
:
(->>(map #(* % %) (filter odd? [1 2 3 4 5])))
step 2
- C-f to get into special
- d to switch to the different side
- < to shrink list
(->> (map #(* % %))(filter odd? [1 2 3 4 5]))
step 3
- j to move the cursor down by one sexp
- < to shrink again
(->> (map #(* % %)) (filter odd?)[1 2 3 4 5])
step 4
- j to move the cursor down
- ww to move the expression up twice
(->> [1 2 3 4 5](map #(* % %)) (filter odd?))
step 5
- js to select
map
and move it down once
(->> [1 2 3 4 5] (filter odd?) (map #(* % %)))
step 6
- C-f or C-3 to exit the list
- M to multiline
(->> [1 2 3 4 5] (filter odd?) (map #(* % %)))