scalafix
というのを作りました。
https://discord.com/channels/1124331179580084406/1124334001507794994/1255004192993443910 ちょうどいい(?)ネタがあったので、これを例に作ってみます。 既にどこかに存在するのかどうか?は知りません。 (大抵、よほど複雑でなければ数分で書けるので、…
個人的に、すごい細かい使い捨て含めるとおそらくもう1000個くらいはrule書いたことあるので、おそらく現状では日本一scalafix rule書いていると思うのですが、 慣れるとそのくらい気軽に書けてすぐ役に立って便利なので、既存の他人が書いたruleを使うだけ…
Scala標準に -Wvalue-discard などがありますが、自分が知る限り、これはすごく細かく制御できるわけではなく、全てを警告します。 $ scala -Wvalue-discard Welcome to Scala 2.13.14 (OpenJDK 64-Bit Server VM, Java 11.0.23). Type in expressions for e…
細かいこと考慮すると、ものすごく色々あるのですが、大体の判断基準は、まずこうだと思われます。 scalafmt scalafix wartremover
以下の続き。 前回書いてから、かなり増えて、もう少しで100個超えそう。 xuwei-k.hatenablog.com xuwei-k.hatenablog.com
IDEAのterminal(sbt pluginではない)、からsbtを起動してcompileなどすると、errorやwarning出た場合にそのpathがclick可能で、そうすると該当のsource codeに飛べて便利だったのだけど、いつの間にか不可能になってるんだけど、これどこかに設定あるのか、v…
以下のコードがエラーになるかどうか?という話 case class A private(x: Int) object B { def f = A(2) } まずオプションの有無とScala versionによってややこしい。以下が一覧
https://xuwei-k.github.io/slides/matsuri-2023/#1 speakerdeck.com blogやtwitterで大体書いてるようなことをまとめただけなので、特に追記することはないかなぁ。
「scalafixのような」とは build.sbt を編集しなくても、input taskで実行するruleを任意の数、動的に指定可能 ローカルのfileのpathや、urlも指定可能 動的に .scala fileをcompileして、それを実行してくれる url指定したらそれをダウンロードしてくる url…
一言でいうとreviewdogの紹介をするだけなのですが、すごくタイミングよく罠にハマった?ので、それの暫定的な回避も書いておきます。
https://github.com/xuwei-k/scalameta-ast https://xuwei-k.github.io/scalameta-ast/
以前書いてから増えた分の解説。 xuwei-k.hatenablog.com 以前と同様、特に記述がないものは全部SyntacticRuleなので、100%正しく書き換えや警告出せる保証がないです。
アイデアというか初期実装は、1年近く前に遡るのですが、それをしっかり作り直して整理してリリースしました。 https://github.com/xuwei-k/unused-code まだまだ追加したい機能や改善点などありますが、初期versionでも、結構しっかり作ったつもりなので(?)…
本体にドキュメント書いてないので、とりあえず現時点のruleについてひたすら説明書いておきます https://github.com/xuwei-k/scalafix-rules
以前、チェックする君だけ作ったのですが、それを雑に改造して、強制移動する君に改良しました。 細かい部分が雑なので、読みにくいし、バグってる可能性もありますが、ご自由にお使いください。 既知の問題として、packageが2行にわかれて書かれていると、…
というのを作ったので貼っておきます。 細かいところが雑ですが・・・。 Javaだとpublicなclassだと強制的に揃えないといけないですが、良くも悪くもScalaだと自由なので、揃えたい場合には、わざわざこういうのを作らないといけなくて不便。 file名ではなく…
この程度の単純なものならば、正規表現の置換だけで可能な気がしますが、書いたので置いておきます。 NonFatalのimport加えるあたりは、そういう低レベルなやつでやると、適切な位置に追加するのは多少面倒かもしれないですね。 細かいところが多少雑なので…
https://t.co/2G7DXbQ369play-ws-#scalafix 0.1.0 released.non standalone play-ws => play-ws-standalone 😃 pic.twitter.com/Y4JTqiIMRQ— Kenji Yoshida (@xuwei_k) 2020年3月25日 https://github.com/xuwei-k/play-ws-scalafix github.com 歴史とともに、…
github.com