Fork me on GitHub
#clojure-norway
<
2023-03-13
>
slipset09:03:40

God morgen!

teodorlu10:03:35

Dagens TIL: https://github.com/borkdude/carve kan gi deg en interaktiv "denne var-en er ubrukt, vil du slette den?" som du kan kjøre på en eller flere filer. Funker litt som git rebase --interactive.

$ carve --paths src/teodor/bloated.clj
Carving src/teodor/bloated.clj

Found unused var:
------------------
(def xx 'xx)
------------------
Type Y to remove or i to add teodor.bloated/xx to .carve/ignore
Y

Found unused var:
------------------
(def yy 'yy)
------------------
Type Y to remove or i to add teodor.bloated/yy to .carve/ignore
Y
Found unused var:
------------------
(defn ^:private rgb [r g b]
  (css-funcall-string "rgb"
                      r g b))
------------------
Type Y to remove or i to add teodor.bloated/rgb to .carve/ignore

Writing result to /home/teodorlu/dev/teodorlu/example/src/teodor/bloated.clj
Hvis du har https://github.com/babashka/bbin, kan du installere carve med:
$ bbin install io.github.borkdude/carve

slipset11:03:47

Jeg syntes det var litt for skummelt, så mitt bidrag til hele greia var å sørge for at carve kunne levere output som Emacs kunne parse, sånn at man lett kunne hoppe til definisjonen og fjerne den selv.

teodorlu12:03:00

Selv når du bare kjører på én fil, og har git i bakhånd?

slipset12:03:43

Jo, men jeg kjører jo ikke bare på en fil.

slipset12:03:51

vi har jo tusenvis av dem.

slipset12:03:58

(i allefall hundrevis0

teodorlu12:03:55

Skjønner! Jeg hadde foretrukket mer kontroll jeg også, og noe som henger sammen med (1) hvilken fil jeg har åpen i editoren min, og (2) hva clojure-lsp viser meg av ubrukte variabler.