Skip to main content

IntelliJ IDEA中实现自定义注解中的语法高亮

· 2 min read
orange
programmer on jvm platform

这篇文章是基于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注解, 如下所示

ClojureExpressionConstraint.kt
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,
)

效果展示

实现后的效果如下图所示

idea-clojure-syntax-highlighting

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

参考