diff options
author | Bill Wendling <isanbard@gmail.com> | 2008-04-27 09:44:10 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2008-04-27 09:44:10 +0000 |
commit | 908865d90fa9d9ea24b750819d0da15e0505cb45 (patch) | |
tree | bd8e550184c3dec335b7b38545bc0daadbb5f90c /utils | |
parent | 24e1a9d3115a5bf4e1c21092ede0f6dfc0a810ad (diff) | |
download | external_llvm-908865d90fa9d9ea24b750819d0da15e0505cb45.zip external_llvm-908865d90fa9d9ea24b750819d0da15e0505cb45.tar.gz external_llvm-908865d90fa9d9ea24b750819d0da15e0505cb45.tar.bz2 |
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.vim | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/utils/vim/tablegen.vim b/utils/vim/tablegen.vim index 1514e2e..d786d14 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 |