Posts

Showing posts from February, 2020

Semantic font-lock for Java in Emacs

Image
I've been working on Semantic font-lock for Java using CEDET Semantic infrastructure which uses Wisent incremental parsing under the hood. Also it only highlights the visible text on the screen to keep the delays acceptable. So far the results look promising. Builtin font-lock uses jit-lock infrastructure. cc-mode provides the keywords and regexes for language specific highlighting. However, this lacks highlighting using any contextual information. Demo: https://youtu.be/4UcPIdTJLOM Noticeable features: Static variables and functions are highlighted differently. Constant variables are highlighted differently. Not only the declaration, but the usages are highlighted also. Package is highlighted correctly. It uses following face definitions for highlighting. (defvar semantic-format-face-alist `( (function . font-lock-function-name-face) (variable . font-lock-variable-name-face) (type . font-lock-type-face) ;; These are differe