IntelliJ IDEA中实现自定义注解中的语法高亮
这篇文章是基于clojure表达式实现更加灵活的数据验证的后续优化的文章.
主要目的是为了实现在IntelliJ IDEA中实现自定义注解中clojure表达式的语法高亮问题.
通过语法高亮, 可以更加直观的看到表达式的结构, 以及表达式中的错误. 从而更加便捷地实现表达式的编写.
要求
IntelliJ IDEA中需要安装以下插件
cursive(此插件是clojure语言的支持插件, 并且支持clojure表达式的语法高亮.)IntelliLang(Make sure that the IntelliLang plugin is enabled before you start working with language injections.)
解决方案
代码中增加@Language注解, 如下所示
annotation class ClojureExpressionConstraint(
val message: String,
val groups: Array<KClass<*>> = [],
val payload: Array<KClass<out Payload>> = [],
@Language("clojure") // to enable syntax highlighting
val value: String,
)
效果展示
实现后的效果如下图所示

可以看到, 当鼠标悬浮到表达式引用的地方时, 会有相应的提示信息.