emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Semantic font-lock for JS


From: Anand Tamariya
Subject: Semantic font-lock for JS
Date: Tue, 4 Feb 2020 19:29:14 +0530

Hi,
Here's a quick peek at semantic font lock for JS.
Post image

Noticeable features:

  1. Objects, variables and functions are highlighted differently.

  2. Auto-suggest supported by semantic and company

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)

You can follow the exact code here https://gitlab.com/atamariya/emacs/compare/v0.5...dev

Most relevant changes are in lisp/cedet/semantic/java.el . Other minor changes are for disabling jit-lock.

- Font lock setup : semantic-font-lock-mode()

- Fontify region function: semantic-fontify-region()

- Helper function: semantic-fontify-tag()

Regards,

Anand


reply via email to

[Prev in Thread] Current Thread [Next in Thread]