Cloud Firestore 安全规则使用的语言名称是什么?

What is the name of the language used for Cloud Firestore security rules?

我想知道 https://firebase.google.com/docs/firestore/security/get-started?authuser=0 中描述的用于 Cloud Firestore 安全规则的语法的名称。我想找到该语法的语法高亮器,也许还有它的解析器。

Firebase 安全规则是自定义 DSL。

条件表达式类似于 JS,应该与其中之一一起使用。路径匹配框架不太常见,但我们正在努力在未来提供语法 + 附加工具(语法高亮、解析、类型检查、评估器)。

对于那些对历史感兴趣的人,语义与XACML密切相关,我们只是想提供更好的(非XML)语法。

您可以在此处找到 Visual Studio 的语法高亮插件:https://github.com/toba/vsfire

我为 Atom 改编了插件:https://github.com/jaysquared/atom-firestore-grammar

对于 IntelliJ IDEs,我发现 Set File Type Associations 对于向 .rules 文件添加语法高亮非常有用。

您不需要创建 IDE 插件。只需选中一些框,提及一些关键字。我选择了这个:

选项卡 2:truefalse

选项卡 3:!====&&||

选项卡 4:!()

结果相当令人愉快,恕我直言:

它不提供的是规则的折叠、函数的范围(自动完成)或任何其他需要语法意识的东西。但这似乎总比没有语法高亮要好得多。

编辑:很遗憾,为了为 .rules 个文件提供 tab/spaces 政策,"you have to develop your own language plugin." (source)似乎仍然需要一个合适的语言插件。 :(