helm-yaml-lsp-server
v0.18.1
Published
Argo Workflows Language Server for Helm and Kubernetes YAML
Maintainers
Readme
helm-yaml-lsp-server
Argo Workflows、Helm、Kubernetes YAML に対応した Language Server。
インストール
npm install -g helm-yaml-lsp-serverエディタ設定
Neovim
~/.config/nvim/init.lua に以下を追加:
vim.api.nvim_create_autocmd('FileType', {
pattern = { 'yaml', 'helm' },
callback = function()
vim.lsp.start({
name = 'helm-yaml-lsp',
cmd = { 'helm-yaml-lsp-server', '--stdio' },
root_dir = vim.fs.root(0, { 'Chart.yaml', '.git' }),
settings = {
argoWorkflowsLSP = {
enableDiagnostics = true,
enableHover = true,
enableDefinition = true,
enableCompletion = true,
}
}
})
end,
}):checkhealth lsp で接続を確認できます。
VSCode
Releases ページから .vsix をダウンロードしてインストール:
code --install-extension helm-yaml-lsp-client-*.vsixその他のエディタ
LSP 標準プロトコルに準拠した任意のエディタで利用可能です。サーバーは --stdio モードで起動します:
helm-yaml-lsp-server --stdio設定
{
"argoWorkflowsLSP": {
"enableDiagnostics": true,
"enableHover": true,
"enableDefinition": true,
"enableCompletion": true,
"maxNumberOfProblems": 1000
}
}機能
Argo Workflows
- WorkflowTemplate / ClusterWorkflowTemplate の自動インデックス化
templateRef参照から定義へのジャンプ- ローカルテンプレート参照(同一ファイル内)
- パラメータ定義と参照(inputs/outputs.parameters)
- アーティファクト参照(inputs/outputs.artifacts、steps/tasks.outputs.artifacts)
- スクリプト結果参照(steps/tasks.outputs.result)
- Item変数(
{{item}},{{item.xxx}})と withItems/withParam ソースへのジャンプ - Workflow変数(workflow.name 等10種 + サブプロパティ)
- Workflow出力参照(workflow.outputs.parameters/artifacts)
Helm
- Helm Chart構造の自動検出
- values.yaml の解析とインデックス化
.Values参照のサポート(Definition/Hover/Completion/Diagnostics){{ include }}/{{ template }}関数のサポート- Helm組み込み関数のサポート(70+ functions)
.Chart,.Release,.Capabilities変数のサポート_helpers.tplファイルのサポート- Go template 制御構文のHover/Completion
helm templateレンダリング後のYAMLに対するArgo/ConfigMap診断
ConfigMap/Secret
- ConfigMap/Secret定義の自動検出
configMapKeyRef/secretKeyRef参照のサポートconfigMapRef/secretRef(envFrom)のサポートvolumeConfigMap/volumeSecretのサポート- マルチライン値のプレビュー表示
LSP機能
| 機能 | 説明 | |------|------| | Definition | 定義へのジャンプ(F12 / gd) | | Hover | ホバー情報の表示 | | Completion | 入力補完 | | Diagnostics | エラー検出と表示 | | Document Symbol | YAMLアウトライン(マルチドキュメント対応) | | Document Highlight | Helmブロック構造の対応タグハイライト | | Semantic Tokens | Go templateの構文ハイライト |
ライセンス
MIT - GitHub
