mirror of
https://github.com/pestctrl/emacs-config.git
synced 2026-02-16 08:14:15 +00:00
Better
This commit is contained in:
parent
81739f7915
commit
39a0c02e35
1 changed files with 16 additions and 9 deletions
|
|
@ -11,13 +11,17 @@
|
||||||
|
|
||||||
(defvar llvm-mode-syntax-table
|
(defvar llvm-mode-syntax-table
|
||||||
(let ((table (make-syntax-table)))
|
(let ((table (make-syntax-table)))
|
||||||
(modify-syntax-entry ?% "_" table)
|
(modify-syntax-entry ?% "-" table)
|
||||||
(modify-syntax-entry ?. "_" table)
|
(modify-syntax-entry ?. "_" table)
|
||||||
|
(modify-syntax-entry ?- "_" table)
|
||||||
|
(modify-syntax-entry ?: "-" table)
|
||||||
(modify-syntax-entry ?\; "< " table)
|
(modify-syntax-entry ?\; "< " table)
|
||||||
(modify-syntax-entry ?\n "> " table)
|
(modify-syntax-entry ?\n "> " table)
|
||||||
(modify-syntax-entry ?/ ". 124b" table)
|
(modify-syntax-entry ?/ ". 124b" table)
|
||||||
(modify-syntax-entry ?* ". 23" table)
|
(modify-syntax-entry ?* ". 23" table)
|
||||||
table)
|
;; (setq llvm-mode-syntax-table table)
|
||||||
|
table
|
||||||
|
)
|
||||||
"Syntax table used while in LLVM mode.")
|
"Syntax table used while in LLVM mode.")
|
||||||
|
|
||||||
(defvar llvm-font-lock-keyword-words
|
(defvar llvm-font-lock-keyword-words
|
||||||
|
|
@ -81,14 +85,14 @@
|
||||||
(,(regexp-opt '("nnan" "ninf" "nsz" "arcp" "contract" "afn" "reassoc" "fast") 'symbols) . font-lock-keyword-face)
|
(,(regexp-opt '("nnan" "ninf" "nsz" "arcp" "contract" "afn" "reassoc" "fast") 'symbols) . font-lock-keyword-face)
|
||||||
;; Use-list order directives
|
;; Use-list order directives
|
||||||
(,(regexp-opt '("uselistorder" "uselistorder_bb") 'symbols) . font-lock-keyword-face)
|
(,(regexp-opt '("uselistorder" "uselistorder_bb") 'symbols) . font-lock-keyword-face)
|
||||||
(,(rx "@" symbol-start (+? nonl) symbol-end) . font-lock-function-name-face)
|
(,(rx "@" symbol-start (+? (or (syntax symbol) (syntax word))) symbol-end) . font-lock-function-name-face)
|
||||||
;; Integer literals
|
;; Integer literals
|
||||||
("\\b[-]?[0-9]+\\b" . font-lock-preprocessor-face)
|
("\\b[-]?[0-9]+\\b" . font-lock-preprocessor-face)
|
||||||
))
|
))
|
||||||
|
|
||||||
(defvar llvm-pre-opcode-attributes
|
(defvar llvm-pre-opcode-attributes
|
||||||
(rx symbol-start
|
(rx symbol-start
|
||||||
(or "nnan" "ninf" "nsz" "arcp" "contract" "afn" "reassoc" "fast" "nsw" "nuw")
|
(or "nnan" "ninf" "nsz" "arcp" "contract" "afn" "reassoc" "fast" "nsw" "nuw" "mc-replicate")
|
||||||
symbol-end))
|
symbol-end))
|
||||||
|
|
||||||
(defvar llvm-font-lock-keywords
|
(defvar llvm-font-lock-keywords
|
||||||
|
|
@ -116,7 +120,7 @@
|
||||||
(+ (or alphanumeric (any "_."))))
|
(+ (or alphanumeric (any "_."))))
|
||||||
. font-lock-variable-name-face)
|
. font-lock-variable-name-face)
|
||||||
;; Variables
|
;; Variables
|
||||||
(,(rx symbol-start (any "%$") (+ (or alphanumeric (any "_.")))) . font-lock-variable-name-face)
|
(,(rx (any "%$") symbol-start (+? (or (syntax symbol) (syntax word))) symbol-end) . font-lock-variable-name-face)
|
||||||
;; Attributes
|
;; Attributes
|
||||||
(,(rx "!" (+ (or alphanumeric (any "._")))) . 'shadow)
|
(,(rx "!" (+ (or alphanumeric (any "._")))) . 'shadow)
|
||||||
;; Machine Opcodes
|
;; Machine Opcodes
|
||||||
|
|
@ -141,16 +145,19 @@
|
||||||
"type" "label" "opaque" "token")
|
"type" "label" "opaque" "token")
|
||||||
symbol-end)
|
symbol-end)
|
||||||
. font-lock-type-face)
|
. font-lock-type-face)
|
||||||
|
;; Other Attributes
|
||||||
|
(,(rx (or "renamable" "killed " "implicit-def" "implicit" "debug-location" "nsw" "nuw" "align" "dead" "early-clobber")) . 'shadow)
|
||||||
|
|
||||||
|
,@llvm-font-lock-keyword-words
|
||||||
|
|
||||||
|
(,(rx "$" (+ (or (syntax symbol) (syntax word))) symbol-end) . 'font-lock-variable-use-face)
|
||||||
|
|
||||||
;; Floating point constants
|
;; Floating point constants
|
||||||
("\\b[-+]?[0-9]+.[0-9]*\\([eE][-+]?[0-9]+\\)?\\b" . font-lock-preprocessor-face)
|
("\\b[-+]?[0-9]+.[0-9]*\\([eE][-+]?[0-9]+\\)?\\b" . font-lock-preprocessor-face)
|
||||||
;; Hex constants
|
;; Hex constants
|
||||||
("\\b0x[0-9A-Fa-f]+\\b" . font-lock-preprocessor-face)
|
("\\b0x[0-9A-Fa-f]+\\b" . font-lock-preprocessor-face)
|
||||||
;; Integer literals
|
;; Integer literals
|
||||||
("\\b[-]?[0-9]+\\b" . font-lock-preprocessor-face)
|
("\\b[-]?[0-9]+\\b" . font-lock-preprocessor-face)
|
||||||
;; Other Attributes
|
|
||||||
(,(rx (or "renamable" "killed " "implicit-def" "implicit" "debug-location" "nsw" "nuw" "align" "dead")) . 'shadow)
|
|
||||||
|
|
||||||
,@llvm-font-lock-keyword-words
|
|
||||||
)
|
)
|
||||||
"Syntax highlighting for LLVM.")
|
"Syntax highlighting for LLVM.")
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue