[PATCH] D158321: [emacs] Handle vector types, arbitary integer types and function names
Luke Lau via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Aug 19 11:20:44 PDT 2023
luke updated this revision to Diff 551777.
luke added a comment.
Fix splicing not in a quasiquote, use a defconst instead
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D158321/new/
https://reviews.llvm.org/D158321
Files:
llvm/utils/emacs/llvm-mode.el
Index: llvm/utils/emacs/llvm-mode.el
===================================================================
--- llvm/utils/emacs/llvm-mode.el
+++ llvm/utils/emacs/llvm-mode.el
@@ -18,6 +18,14 @@
table)
"Syntax table used while in LLVM mode.")
+(defconst llvm-mode-primitive-type-regexp
+ (concat
+ "\\(i[0-9]+\\|"
+ (regexp-opt
+ '("void" "half" "bfloat" "float" "double" "fp128" "x86_fp80" "ppc_fp128"
+ "x86_mmx" "x86_amx" "ptr" "type" "label" "opaque" "token") t)
+ "\\)"))
+
(defvar llvm-font-lock-keywords
(list
;; Attributes
@@ -34,10 +42,14 @@
'("[-a-zA-Z$._0-9]+:" . font-lock-variable-name-face)
;; Unnamed variable slots
'("%[-]?[0-9]+" . font-lock-variable-name-face)
- ;; Types
- `(,(regexp-opt
- '("void" "i1" "i8" "i16" "i32" "i64" "i128" "half" "bfloat" "float" "double" "fp128" "x86_fp80" "ppc_fp128" "x86_mmx" "x86_amx" "ptr"
- "type" "label" "opaque" "token") 'symbols) . font-lock-type-face)
+ ;; Function names
+ '("@[-a-zA-Z$._][-a-zA-Z$._0-9]*" . font-lock-function-name-face)
+ ;; Vector types
+ `(,(concat "<[ \t]*\\(vscale[ \t]+x[ \t]+\\)?[0-9]+[ \t]+x[ \t]+"
+ llvm-mode-primitive-type-regexp
+ "[ \t]*>") . font-lock-type-face)
+ ;; Primitive types
+ `(,(concat "\\<" llvm-mode-primitive-type-regexp "\\>") . font-lock-type-face)
;; Integer literals
'("\\b[-]?[0-9]+\\b" . font-lock-preprocessor-face)
;; Floating point constants
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D158321.551777.patch
Type: text/x-patch
Size: 1453 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230819/95b00b48/attachment.bin>
More information about the llvm-commits
mailing list