Closed kachick closed 5 months ago
Nix をパッケージマネージャだけじゃなくディストリビューションとしても NixOS 本格的に使おうかなーと思った https://github.com/kachick/dotfiles/pull/576 んだけど、自前でビルドしてないバイナリの類を走らせるのに何工夫か必要なので dprint の process plugin と相性が悪かった。 https://github.com/kachick/anylang-template/issues/92
こうなると機能面では不足してても yamlfmt ぐらいしか現状選択肢が無いので、vscode 拡張を fork して使うようにした。 https://github.com/kachick/vscode-extension-yamlfmt
一応上流にもPRを取り込んでは貰えた https://github.com/bluebrown/vscode-extension-yamlfmt/commit/e67d7e27f3bb544e4215ba14cce7533e79a22d37 のだけれど、当面自分のほうが触る頻度高そう&希望要件に差がありそうなのでフォーク後ぼちぼち育てている
yamlfmt ぐらいしか現状選択肢が無い
dprint の WASM plugin で CSSやHTMLのプラグイン書いてくれてる人が、YAML に対応するのも作ってくれた https://github.com/g-plane/pretty_yaml 。 コメントの扱いでリストや辞書の末尾コメントが次アイテム扱いされちゃう以外は良さげに動いてたので、じきにデファクト化しそうな気がする。言語問わずYAMLのフォーマッタはあまり無い認識・・・(その上で新規に作りたいモチベーション高そうなorgがあるとしたら https://github.com/yaml とかだとは思うけどyamlscriptのフォーマッタはまだない)
TL;DR
何についてか / About
https://github.com/github/vscode-github-actions/issues/195
経緯 / History
https://github.com/google/yamlfmt/issues/129 で yamlfmt を workflow の fmt に使おうとしたら走らなかった。しばらくはまってたけど、vscode右下の言語設定見ると yaml ではない。これは他に入れてある拡張の https://github.com/github/vscode-github-actions が https://github.com/github/vscode-github-actions/blob/02a4f12047a38409abce525e45650235499db371/package.json#L33-L41 でYAMLじゃないよという扱いをするように差し替えてて、https://github.com/bluebrown/vscode-extension-yamlfmt/blob/1c97b2d383f29defc2cc05e8e56c590dbb7ba7ec/package.json#L25-L27 の activationEvents に引っかからなくなっているようだった。vscode右下から言語解釈をYAMLに切り替えると案の定動く。 ここで厄介なのが、いかにも動きそうな次の設定が動かない点だった。
且つてデファクトだった redhat 側はどうなんだと見に行くと同じような感じ https://github.com/redhat-developer/vscode-yaml/blob/e5a67a112a9a52eb8d8c991bf444fb309b2eb913/package.json#L41-L44 なので多分走らない。というのが冒頭の issue っぽい。あの issue には早い段階であたってたけど、なんでこういう問題になるのかというのを理解するのに時間がかかった。他の拡張側で activationEvents に
onLanguage:github-actions-workflow
と追加してやれば動きそうなんだけど、拡張から他の拡張に依存した何かは書きたくないだろうし、これはたしかに github/vscode-github-actions 側で解決してほしい話だなーという気はするという、思うとか多分とかばっかしの話だった。メモ