我正在使用 vim-clojure-static,一个 Clojure 插件。我可以通过执行以下操作将自己的函数和宏添加到语法组:
syntax keyword clojureMacro defsystem
但是在 Clojure 中,在需要(导入)来自其他命名空间的代码之后,必须对函数和宏进行命名空间限定。例如,如果我需要命名空间my-namespace
并且defsystem
在 中my-namespace
,我将不得不通过ny-namespace/defsystem
. 但是由于需要另一个命名空间,因此可以将命名空间名称缩短(实际上是重命名),例如,my/defsystem
.
所以,问题是:syntax keyword clojureMacro defsystem
如果defsystem
命名空间合格,则不起作用,例如my/defsystem
. 命名空间限定符可以是任何东西。我该如何解决?正则表达式'\m[a-z.+\-*_!?]\+\/'
匹配命名空间限定符。所以基本上我想要匹配的代码'\m[a-z.+\-*_!?]\+\/'
紧跟一个clojureMacro,就像整个事情是一个clojureMacro一样突出显示。