【发布时间】:2019-12-20 17:54:47
【问题描述】:
我在网上找了几下没找到,所以在这里问。大厅管道的 yaml 文件是否有“参考”bnf 语法文件?作为一个附带项目,我正在尝试创建一个 IntelliJ 插件,该插件可以为 CI/CD Concourse 管道进行语法高亮和自动完成,并尝试避免手动重新输入所有语法以最大程度地减少错误风险和时间。
【问题讨论】:
标签: grammar pipeline intellij-plugin concourse
我在网上找了几下没找到,所以在这里问。大厅管道的 yaml 文件是否有“参考”bnf 语法文件?作为一个附带项目,我正在尝试创建一个 IntelliJ 插件,该插件可以为 CI/CD Concourse 管道进行语法高亮和自动完成,并尝试避免手动重新输入所有语法以最大程度地减少错误风险和时间。
【问题讨论】:
标签: grammar pipeline intellij-plugin concourse
我不相信有“语法文件”——类型是在代码中定义的。例如,顶级管道定义为here:
type Config struct {
Groups GroupConfigs `yaml:"groups" json:"groups" mapstructure:"groups"`
Resources ResourceConfigs `yaml:"resources" json:"resources" mapstructure:"resources"`
ResourceTypes ResourceTypes `yaml:"resource_types" json:"resource_types" mapstructure:"resource_types"`
Jobs JobConfigs `yaml:"jobs" json:"jobs" mapstructure:"jobs"`
}
atc.Config.Validate() 命令也是基于代码的,而不是外部语法。
您可能可以通过这些源文件进行推理以确定结构。 可能可以generate a jsonschema from the go types然后使用它。
【讨论】: