I've been working on Semantic font-lock for Java using CEDET Semantic infrastructure which uses Wisent incremental parsing under the hood. So far the results look promising. Hence I'm sharing the same. [image: Post image] 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 different between Emacsen. (include . ,'font-lock-constant-face) (package . , 'font-lock-constant-face) ;; Not a tag, but instead a feature of output (label . font-lock-string-face) (comment . font-lock-comment-face) (keyword . font-lock-keyword-face) (annotation . font-lock-builtin-face) (constant . bold) ;;(member . font-lock-member-face) (abstract . italic) (static . italic) (documentation . font-lock-doc-face) ) *Code:* Emacs customization (https://gitlab.com/atamariya/emacs/tree/dev)