extending yang with help 提示 cli
Extending yang with help prompts for cli
我正在编写一个新的 CLI,我正在考虑使用 yang 作为数据定义语言。它几乎拥有我需要的一切:mandatory/optionals、类型、派生类型、可接受的范围、描述和大量现有模块。
但是,我想提供简短的帮助提示:键入“?”并通过简短的帮助查看下一个字段的可能值(比如最多 60 个字符)。而且据我所知.yang结构中没有短提示
如何将简短的提示信息添加到.yang 文件中?是否有仅包含简短提示的配套文件?扩展 .yang 格式?将此信息嵌入 .yang 评论中?
我确定我不是第一个这样做的人,推荐的做法是什么?我怀疑答案是 'companion file' 因为它可以与现有的 .yang 文件一起使用。
我最终使用描述字段作为帮助字符串源。
description
语句用于为模块reader提供信息。如果您想提供对用户更友好的文本,您可以定义自己的语句。
为此,YANG 支持 extension
声明。
定义它:
module my-extensions {
...
extension help {
description "Takes as argument a help-text string.";
argument "text";
}
}
使用它:
module example {
import my-extensions {
prefix "myext";
}
container example {
myext:help "This is an example container";
}
}
我正在编写一个新的 CLI,我正在考虑使用 yang 作为数据定义语言。它几乎拥有我需要的一切:mandatory/optionals、类型、派生类型、可接受的范围、描述和大量现有模块。
但是,我想提供简短的帮助提示:键入“?”并通过简短的帮助查看下一个字段的可能值(比如最多 60 个字符)。而且据我所知.yang结构中没有短提示
如何将简短的提示信息添加到.yang 文件中?是否有仅包含简短提示的配套文件?扩展 .yang 格式?将此信息嵌入 .yang 评论中?
我确定我不是第一个这样做的人,推荐的做法是什么?我怀疑答案是 'companion file' 因为它可以与现有的 .yang 文件一起使用。
我最终使用描述字段作为帮助字符串源。
description
语句用于为模块reader提供信息。如果您想提供对用户更友好的文本,您可以定义自己的语句。
为此,YANG 支持 extension
声明。
定义它:
module my-extensions {
...
extension help {
description "Takes as argument a help-text string.";
argument "text";
}
}
使用它:
module example {
import my-extensions {
prefix "myext";
}
container example {
myext:help "This is an example container";
}
}