From ae597a058ae4d12cae9dc61500855ea885aa7930 Mon Sep 17 00:00:00 2001 From: Ramkumar Ramachandra Date: Fri, 23 Jan 2015 19:45:35 +0000 Subject: [emacs] llvm-mode: fix parens, font-lock i* In llvm-mode, with electric-pair-mode turned on, typing a literal '[' would print out '[[', and '(' would print a '(('. This was a very annoying bug caused by overzealous syntax-table entries: the parens are already part of the '(' and ')' class by default. Fix this. While at it, notice that i32, i64, i1 etc. are not font-locked despite a clear intent to do so. The issue is that regexp-opt doesn't accept regular expressions. So, spell out the common literal integers with different widths. Differential Revision: http://reviews.llvm.org/D7036 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226931 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/emacs/llvm-mode.el | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'utils/emacs/llvm-mode.el') diff --git a/utils/emacs/llvm-mode.el b/utils/emacs/llvm-mode.el index 6d8395cc111..890d0a3e189 100644 --- a/utils/emacs/llvm-mode.el +++ b/utils/emacs/llvm-mode.el @@ -23,7 +23,7 @@ ;; Unnamed variable slots '("%[-]?[0-9]+" . font-lock-variable-name-face) ;; Types - `(,(regexp-opt '("void" "i[0-9]+" "float" "double" "type" "label" "opaque") 'words) . font-lock-type-face) + `(,(regexp-opt '("void" "i1" "i8" "i16" "i32" "i64" "i128" "float" "double" "type" "label" "opaque") 'words) . font-lock-type-face) ;; Integer literals '("\\b[-]?[0-9]+\\b" . font-lock-preprocessor-face) ;; Floating point constants @@ -83,7 +83,7 @@ ;; word constituents (`w') ;;[?< "w"] ;;[?> "w"] - [?\% "w"] + [?% "w"] ;;[?_ "w "] ;; comments [?\; "< "] @@ -93,16 +93,9 @@ ;; symbol constituents (`_') ;; punctuation (`.') ;; open paren (`(') - [?\( "("] - [?\[ "("] - [?\{ "("] ;; close paren (`)') - [?\) ")"] - [?\] ")"] - [?\} ")"] ;; string quote ('"') - [?\" "\""] - )))) + [?\" "\""])))) ;; --------------------- Abbrev table ----------------------------- -- cgit v1.2.3