我想知道用于 Cloud Firestore 安全规则的语法名称,如https://firebase.google.com/docs/firestore/security/get-started?authuser=0中所述。我想找到该语法的语法荧光笔,也许还有解析器。
3 回答
Firebase 安全规则是一种自定义 DSL。
条件表达式类似于 JS,并且应该与其中之一一起使用。路径匹配框架不太常见,但我们正在努力在未来提供语法 + 附加工具(语法突出显示、解析、类型检查、评估器)。
对于那些对历史感兴趣的人,语义与XACML密切相关,我们只是想提供更好的(非 XML)语法。
您可以在此处找到 Visual Studio 的语法高亮插件:https ://github.com/toba/vsfire
我为 Atom 改编了插件:https ://github.com/jaysquared/atom-firestore-grammar
对于 IntelliJ IDE,我发现Set File Type Associations对于向文件添加语法高亮非常有用.rules
。
您不需要创建 IDE 插件。只需选中一些框,提及一些关键字。我选择了这个:
标签 2: true
,false
表 3:!==
, ==
, &&
,||
表 4:!
, (
,)
结果是相当令人愉快的,恕我直言:
它不提供规则的折叠、功能范围(自动完成)或任何其他需要语法意识的东西。但它似乎总比没有语法高亮要好。
编辑:不幸的是,为了为.rules
文件提供制表符/空格策略,“您必须开发自己的语言插件。” (来源)似乎仍然需要适当的语言插件。:(