Closed4
【Starship】DenoプロジェクトでNodeのバージョンを表示させないようにする
前提
Starshipには、カレントディレクトリで使いそうなプログラミング言語のバージョンを表示する機能がある。
問題
デフォルトでは、Denoのプロジェクトを開いたときにDenoのバージョンとNodeのバージョンの両方が表示されてしまう。
やりたいこと
- Denoのプロジェクトを開いたときにDenoのバージョンだけが表示されるようにしたい
- Nodeのプロジェクトを開いたときはNodeのバージョンが表示されるようにしたい
StarshipのNode.jsモジュールを確認
The current directory contains a package.json file
The current directory contains a .node-version file
The current directory contains a .nvmrc file
The current directory contains a node_modules directory
The current directory contains a file with the .js, .mjs or .cjs extension
The current directory contains a file with the .ts, .mts or .cts extension
ただの.ts
や.js
でも表示されるようになっているため、DenoのプロジェクトでもNodeのバージョン表示がトリガーされる。
StarshipのNode.jsモジュールの設定から、検出される拡張子の.ts
と.js
を外せばよさそう
Denoのプロジェクトには .mjs、.cjs、.mts 、 .cts は現れないと思うので(ESMだし?)これらはそのままにしておく。
StashipのConfigを直接編集するなら、
~/.config/starship.toml
[nodejs]
detect_extensions = ['mjs', 'cjs', 'mts', 'cts']
とすればいい。
NixでStarshipの設定を書いている場合はこう:
starship.nix
{
programs.starship = {
enable = true;
settings = {
+ nodejs = {
+ detect_extensions = ["mjs" "cjs" "mts" "cts"]; # remove `js` and `ts` from default
+ };
};
};
}
このスクラップは2024/04/28にクローズされました