summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2008-04-27 09:44:10 +0000
committerBill Wendling <isanbard@gmail.com>2008-04-27 09:44:10 +0000
commit908865d90fa9d9ea24b750819d0da15e0505cb45 (patch)
treebd8e550184c3dec335b7b38545bc0daadbb5f90c /utils
parent24e1a9d3115a5bf4e1c21092ede0f6dfc0a810ad (diff)
downloadllvm-908865d90fa9d9ea24b750819d0da15e0505cb45.tar.gz
llvm-908865d90fa9d9ea24b750819d0da15e0505cb45.tar.bz2
llvm-908865d90fa9d9ea24b750819d0da15e0505cb45.tar.xz
Added support for:
- defm and multiclass - imbricatable multiline C style comment - FIXME/TODO highlight in comment - binary and hexadecimal number - code using [{ }] is no highlighted as special (perhaps not the best choice) Patch by Cedric Venet! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50319 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils')
-rw-r--r--utils/vim/tablegen.vim27
1 files changed, 20 insertions, 7 deletions
diff --git a/utils/vim/tablegen.vim b/utils/vim/tablegen.vim
index 1514e2e0e8..d786d1463e 100644
--- a/utils/vim/tablegen.vim
+++ b/utils/vim/tablegen.vim
@@ -9,17 +9,26 @@ elseif exists("b:current_syntax")
finish
endif
+" May be changed if you have a really slow machine
+syntax sync minlines=100
+
syn case match
-syn keyword tgKeyword def let in code dag field include
-syn keyword tgType class int string list bit bits
-" FIXME: this does not handle hex (0x...) or binary (0b...) constants
+syn keyword tgKeyword def let in code dag field include defm
+syn keyword tgType class int string list bit bits multiclass
+
syn match tgNumber /\<\d\+\>/
syn match tgNumber /\<\d\+\.\d*\>/
-syn match tgComment /\/\/.*$/
-" FIXME: this does not capture multi-line C-style comments
-syn match tgComment /\/\*.*\*\//
-syn region tgString start=/"/ skip=/\\"/ end=/"/
+syn match tgNumber /\<0b[01]\+\>/
+syn match tgNumber /\<0x[0-9a-fA-F]\+\>/
+syn region tgString start=/"/ skip=/\\"/ end=/"/ oneline
+
+syn region tgCode start=/\[{/ end=/}\]/
+
+syn keyword tgTodo contained TODO FIXME
+syn match tgComment /\/\/.*$/ contains=tgTodo
+" Handle correctly imbricated comment
+syn region tgComment2 matchgroup=tgComment2 start=+/\*+ end=+\*/+ contains=tgTodo,tgComment2
if version >= 508 || !exists("did_c_syn_inits")
if version < 508
@@ -33,7 +42,11 @@ if version >= 508 || !exists("did_c_syn_inits")
HiLink tgType Type
HiLink tgNumber Number
HiLink tgComment Comment
+ HiLink tgComment2 Comment
HiLink tgString String
+ " May find a better Hilight group...
+ HiLink tgCode Special
+ HiLink tgTodo Todo
delcommand HiLink
endif