c4se記:さっちゃんですよ☆

.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)

.。oO(此のblogは、主に音樂考察Programming に分類されますよ。ヾ(〃l _ l)ノ゙♬♪♡)

音樂は SoundCloud に公開中です。

考察は現在は主に Scrapbox で公表中です。

Programming は GitHub で開發中です。

結局 grep が便利

LSP (language server protocol) server での定義 jump は便利ですね。IDE は便利です。でも部分的にしか program を理解できなかったり、そもそも LSP は壊れたりします、おま環 (死語) ではありますが…。

結局 grep だとか ag が便利です。結局 print debug が便利なのに似てゐるかもしれません。

普段 Scala と TypeScript を書いてゐるので、その識別子の定義を探す ag wrapper です。

github.com

#!/usr/bin/env bb
;; -*- mode: clojure; -*-
(require '[babashka.process :refer [process]])


;; ag -G '\.scala$' "(class|def|object|trait|type|val|var) $1(?=\W)"
(-> ["ag"
     "-G" "\\.scala$"
     "--color"
     (str "(class|def|object|trait|type|val|var) " (first *command-line-args*) "(?=\\W)")]
    (process {:in :inherit})
    :out
    slurp
    println)
#!/usr/bin/env bb
;; -*- mode: clojure; -*-
(require '[babashka.process :refer [process]])


;; ag -G '(?<!\.test)\.ts(x?)$' "(class|const|function|interface|let|type|var|(^ *)) $1"
(-> ["ag"
     "-G" "(?<!\\.test)\\.ts(x?)$"
     "--color"
     (str "(class|const|function|interface|let|type|var|(^ *)) " (first *command-line-args*))]
    (process {:in :inherit})
    :out
    slurp
    println)

Clojure (Babashka) で書いてゐるのは、さういふ誓ひを立てたから…。

といふ會話をしたら、Go の發明者も似た事をしてゐると紹介する記事を書いていただけました。

blog.lufia.org

動いてゐる閒は IDE は便利なので、使ってゐます。Emacs です (ぉ。上記のを ivy に組み込むといいんだよねぇ、氣が向いたら。