Helm 模板部件中的 Mustache 文件类型

Mustache filetype in Helm template partials

提问人:javaxiss 提问时间:11/10/2023 最后编辑:David Mazejavaxiss 更新时间:11/10/2023 访问量:31

问:

在某些 Helm Chart 示例中,模板分部文件 _helpers.tpl 包含以下第一行:

{{/* vim: set filetype=mustache: */}}

你能解释一下吗?Helm 中如何使用小胡子?

vim kubernetes-helm

评论


答:

1赞 David Maze 11/10/2023 #1

Helm 中使用 Mustache。它改用 Go 文本/模板语言。

但是,从文本编辑器的角度来看,这两种格式都包含模板结构。如果你告诉 vim 该文件是一个 Mustache 文件,即使这在技术上是错误的,它“足够接近”,你会得到合理的语法突出显示。{{ double curly braces }}

从 Helm 的角度来看,这只是一个评论,被忽略了。{{/* ... */}}

评论

1赞 David Maze 11/10/2023
(我在 Emacs 错误缩进方面遇到了可怕的麻烦,因为它强烈希望非模板内容是 HTML 而不是 YAML。Emacs 使用类似的标记 。web-mode{{/* -*- mode: web -*- */}}
1赞 romainl 11/10/2023 #2

这些东西被称为“modelines”,它们用于覆盖当前文件的默认选项。见 Vim。:help modeline

它们通常作为注释包含在内,以免破坏您的代码。例如,在文件中,您可以找到类似以下内容:*.c

 // vi:set ts=8 sts=4 sw=4 noet:

因为评论就是这样写的。

helm 文件中,以下内容:

{{/* vim: set filetype=mustache: */}}

是一个模式线:

vim: set filetype=mustache:

包含在评论中:

{{/* ... */}}

它告诉 Vim 将文件类型分配给缓冲区,因为模板语法非常接近 Mustache。这里的重点只是给 Vim 用户至少一些 Helm 文件的语法高亮。mustache