Linter

パパは昔 Beatles だったの?1

大変だ〜❗2024年が始まっているうぅぅ😭

それはもうなんだか、本当に色々ありました...。

しかしわたしも、ようやくバイオリズムってものを取り戻して💃 徐々に POWER が漲ってきました ⭐🕺

One, two, three, four

Can I have a little more?

Five, six, seven, eight, nine, ten

I love you

船を出そう❗機運を起こせ❗❗

A, B, C, D

Can I bring my friend to tea?

世界では紅茶に塩を入れたりですとか、緑茶に柚子や砂糖を入れたりですとか、 わーわーゆうとりますけども、わたしは "It's all right", "괜찮아" です🫖

ただ、"はちみつカモミール" のティーバッグを淹れてるわたくしなんかが首を突っ込んでも火傷するだけですので🤐

っていうか、柚子砂糖緑茶もティーバッグで売り出してほしいなー 🍵

...。🙂

って、tea のおはなし❗

Note

すでにお気づきかとは思いますが、このサイトはクセがつよいんですわぁ❗🤣

Install

次項からはじまるのは、LuacheckBiomeのおはなしです。

追加のインストールが手間だったり、そもそもその言語使ってないってことも当然あると思うので、 これらを実際にインストールするかどうかはおまかせします😺

E, F, G, H, I, J

I love you

Luacheck

Luacheck is a static analyzer and a linter for Lua. Luacheck detects various issues such as usage of undefined global variables, unused variables and values, accessing uninitialized variables, unreachable code and more.

LuacheckはLua用の静的アナライザであり、Linter です。 Luacheckは、未定義のグローバル変数の使用、未使用の変数や値、 初期化されていない変数へのアクセス、到達不能なコードなど、様々な問題を検出します。

Luacheck supports checking Lua files using syntax of Lua 5.1 - 5.4, and LuaJIT. Luacheck itself is written in Lua and runs on all of mentioned Lua versions.

Luacheckは、Lua 5.1~5.4とLuaJITのシンタックスを使用したLuaファイルのチェックをサポートします。 Luacheck自身はLuaで書かれており、前述のすべてのLuaバージョンで動作します。

いつも通りLuaで進めるためにLuacheckというlinterを試してみたいんですが...。

Luacheck
lualocks is not executable

luarocksが実行できなかったよー」って言ってますね。

実はわたし自身、今までこれを使ってこなかったので「えぇ...😨」ってなりました。

でも、これはだいじょーぶ😉

LuaRocks

LuaRocks is the package manager for Lua modules.

LuaRocks は Lua モジュールのパッケージマネージャです。

インストールはDownloadの案内に従ってもいいし、 もっとお手軽にbrewとかaptなんかを利用することでも可能です。

luarocks

あらかじめこれを行った上で再度mason.nvimからLuacheckをインストールすれば進めるはずです😌

Luacheck

できました😆

Try!

Luacheckが対応している言語はもちろんLuaです☺️

deprecated

ちゃんと正しいコードなんだけど、vimが全部怒られるので「えぇ...😨」ってなります。 (いまいち自信がありませんが、この対応は次項で行います。)

Note

あとなんていうか、自分がnvim_buf_get_optionを使っていることを把握していませんでした...。

ご指摘通り、これもだいぶ以前からDeprecatedになっています😅

ほんとはちゃんと触れなきゃいけないと思うんですが、 まずは17節を先に書き上げてしまいたいので、Issuesに挙げとくってことで見逃してください...🥲 2

.luacheckrc

これ、わたしも初めて使っているので色々試してるんですが、ちょっと謎で...。

例えば、Linterを有効にしたいファイルと並べて置いてみたとしても、これを使ってくれない...🫤

なので「ユーザーのルート(~/)に.luacheckrcを置いとけば、とりあえず見つけて使ってくれる」っていうのが 現時点での最高到達点です😅

中身はこれだけです。

.luacheckrc

read_globals = {
  "vim",
}

ひとまずはこれでvimの警告は消えると思うんですが、どうでしょう...❓

Biome

One toolchain for your web project Format, lint, and more in a fraction of a second.

Web開発のためのたった1つのツールチェーン format、lint など一瞬で完了させます!

Biome はWebプロジェクトのための高性能なツールチェーンであり、 プロジェクトの健全性を維持するための開発者ツールの提供を目的としています。

(README.ja.mdより)

わたしも普段お世話になってるBiomeです。

確認してないんだけど、こっちはインストールと動作にnpmが必要なんじゃないかな❓

現時点 (2024/01/30) ではJSON,JavaScript,TypeScriptに対応していますが、 将来的にはCSS,HTML,Markdownにも対応するんだって😆

CSS is our next language of focus, and we are making good progress. HTML and Markdown will follow. Follow our up-to-date page to keep up with the progress of our work.

CSSは次の重点言語であり、順調に進んでいます。HTMLとMarkdownはその後に続く予定です。 私たちの仕事の進捗状況を知るために、最新のページをフォローしてください。

いつも通りmason.nvimからインストールしてみましょう。

biome

これで準備完了かと思いきや、もう一手間必要です😦

biome.json

デフォルトではlinterが有効になっていないようなので...。

We recommend creating a biome.json configuration file for each project. It eliminates the need to repeat the CLI options every time you run a command and ensures that Biome applies the same configuration in your editor. If you’re happy with Biome’s defaults, you don’t have to create the configuration.

プロジェクトごとにbiome.json設定ファイルを作成することをお勧めします。 これにより、コマンドを実行するたびに CLI のオプションを繰り返す必要がなくなり、Biome がエディタで同じ設定を適用するようになります。 Biome のデフォルトでよければ、設定を作成する必要はありません。

biome.json

{
  "$schema": "https://biomejs.dev/schemas/1.5.3/schema.json",
  "organizeImports": {
    "enabled": false
  },
  "linter": {
    "enabled": true,
    "rules": {
      "recommended": true
    }
  }
}

The linter.enabled: true enables the linter and rules.recommended: true enables the recommended rules.

linter.enabled:trueはリンターを有効にし、 rules.recommended:true推奨ルールを有効にします。

biome.jsonは、Linterを有効にしたいjsファイルと並べてもいいし、 プロジェクトのルートに置いておいてもBiomeが見つけて使用してくれるようです。

Try!

ようやく準備完了です。jsファイルを開いてみましょう❗

biome-hazard

実際はこれでもちゃんと動くコードなんだけど、Errorとして報告してきます。

...。🙄

とってもクセ❗❗

このサイトでも特になんにも考えないで気軽に使い始めてたんですが、 最初はなんか未曾有のバイオハザード🧟‍♂️だったので「えぇ...😨」 ってなりました。

Configuration file

ここまでで軽く触れたように、Luacheckにはluacheckrcbiomeにはbiome.jsonみたいな、 Linterのルールやマナーを調整する方法が用意されています。

たぶん他のLinterでもそうなってるんじゃないかな❓

ただ、そこまで詳しくもないわたくしなんかが首を突っ込んでも火傷するだけですので、このサイトでは扱いません🤐

(Neovimともまた別のおはなしだし😅)

Black, white, green, red

Can I take my friend to bed?

Pink, brown, yellow, orange and blue

I love you!

All Together Now

ということで、Linterのおはなしでした😆

ここではLuaJavaScriptだけ取り上げましたが、 どのLinterを使う場合でも「似たようなもんだろー」と思ってもらえばだいじょうぶ❗

...たぶん😮

「えぇ...😨」ってなりました❓

そんな不安の退治法はひとつ。

Singing❗

One!

Two!

Three!

Four!!

(Bom bom bom bompa bom!)

Sail the ship!

(Bompa bom!)

Chop the tree!

(Bompa bom!)

Skip the rope!

(Bompa bom!)

Look at me!!

All together now3 !!

All Together Now

TΩРА ОΛОI MAZI

Tutti insieme adesso

Nu allemaal samen

all-together-now4

Todos juntos ahora

all-together-now4

Kwa pamoja sasa

all-together-now4

Tous en choeur maintenant

all-together-now4

Allihopa tillammans nu

И ТЕПЕРЬ: ВСЕ ВМЕСТE

現在大家一齊唱

Und jetzt alle zusammen

それでは皆さん御一緒に

Success

We are all together now!!4

じか〜い、じかい。

17.6話「えるえすぴーミーツミー」という おはなし。