~/.config/koma/init.lua 向けの LuaLS / LuaCATS 型定義は、Apache-2.0 ライセンスの独立リポジトリ komawm/koma-types で公開されており、komactl gen-types(koma-lua/src/typegen.rs)の出力とバイト単位で一致するよう検証されています。
types/koma.lua の生成または取得
手元の komactl から直接生成するか、公式スナップショットをクローンします。
# 方法 A: 導入済み komactl から生成
mkdir -p ~/.config/koma/types
komactl gen-types > ~/.config/koma/types/koma.lua
# 方法 B: バージョン管理リポジトリをクローン
git clone --depth 1 https://github.com/komawm/koma-types.git ~/.local/share/koma-types
エディタ設定(.luarc.json)
~/.config/koma/.luarc.json を作成して Lua 5.4 とライブラリパスを指定します。
{
"$schema": "https://raw.githubusercontent.com/LuaLS/vscode-lua/master/setting/schema.json",
"runtime.version": "Lua 5.4",
"diagnostics.globals": ["koma"],
"workspace.library": [
"./types"
],
"workspace.checkThirdParty": false
}
各エディタでの利用
- Neovim(
nvim-lspconfig/lazydev.nvim):~/.config/koma/init.luaを開くとlua_lsが.luarc.jsonを自動認識します(lazydev.nvimのlibraryへ~/.local/share/koma-types/typesを追加しても構いません)。 - Helix(
languages.toml):lua-language-serverが.luarc.jsonを自動読み込みします。 - Zed / VS Code(
sumneko.lua):~/.config/komaフォルダを開くとkoma.layout・koma.monitor・koma.input・koma.appearance・koma.rule.*・koma.macro.*・koma.act.*の補完が即座に有効になります。
再現性チェック
komawm/koma-types の CI では、毎回 Lua 5.4 の luac -p 構文チェックおよび komactl gen-types との完全一致(artifact.toml の generator_reproduced = true)を検証しています。