summaryrefslogtreecommitdiff
path: root/contrib/thrift.vim
diff options
context:
space:
mode:
authorDavid Reiss <dreiss@apache.org>2008-06-11 01:19:02 +0000
committerDavid Reiss <dreiss@apache.org>2008-06-11 01:19:02 +0000
commit218c11f70164ef22de51f1abc05624f56418cad7 (patch)
tree1993f042d4529275df5052298a7fe7e3b6592613 /contrib/thrift.vim
parentc88eb8c9dda2bd5100216458779f8bff7b1a9275 (diff)
downloadthrift-218c11f70164ef22de51f1abc05624f56418cad7.tar.gz
Move some top-level files into more sensible directories.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666499 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'contrib/thrift.vim')
-rw-r--r--contrib/thrift.vim74
1 files changed, 74 insertions, 0 deletions
diff --git a/contrib/thrift.vim b/contrib/thrift.vim
new file mode 100644
index 000000000..e350a4eea
--- /dev/null
+++ b/contrib/thrift.vim
@@ -0,0 +1,74 @@
+" Vim syntax file
+" Language: Thrift
+" Maintainer: Martin Smith <martin@facebook.com>
+" Last Change: $Date: $
+" Copy to ~/.vim/
+" Add to ~/.vimrc
+" au BufRead,BufNewFile *.thrift set filetype=thrift
+" au! Syntax thrift source ~/.vim/thrift.vim
+"
+" $Id: $
+
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+" Todo
+syn keyword thriftTodo TODO todo FIXME fixme XXX xxx contained
+
+" Comments
+syn match thriftComment "#.*" contains=thriftTodo
+syn region thriftComment start="/\*" end="\*/" contains=thriftTodo
+syn match thriftComment "//.\{-}\(?>\|$\)\@="
+
+" String
+syn region thriftStringDouble matchgroup=None start=+"+ end=+"+
+
+" Number
+syn match thriftNumber "-\=\<\d\+\>" contained
+
+" Keywords
+syn keyword thriftKeyword namespace
+syn keyword thriftKeyword php_namespace
+syn keyword thriftKeyword xsd_all xsd_optional xsd_nillable xsd_namespace xsd_attrs
+syn keyword thriftKeyword include cpp_include cpp_type const optional required
+syn keyword thriftBasicTypes void bool byte i16 i32 i64 double string binary
+syn keyword thriftStructure map list set struct typedef exception enum throws
+
+" Special
+syn match thriftSpecial "\d\+:"
+
+" Structure
+syn keyword thriftStructure service async extends
+"async" { return tok_async; }
+"exception" { return tok_xception; }
+"extends" { return tok_extends; }
+"throws" { return tok_throws; }
+"service" { return tok_service; }
+"enum" { return tok_enum; }
+"const" { return tok_const; }
+
+if version >= 508 || !exists("did_thrift_syn_inits")
+ if version < 508
+ let did_thrift_syn_inits = 1
+ command! -nargs=+ HiLink hi link <args>
+ else
+ command! -nargs=+ HiLink hi def link <args>
+ endif
+
+ HiLink thriftComment Comment
+ HiLink thriftKeyword Special
+ HiLink thriftBasicTypes Type
+ HiLink thriftStructure StorageClass
+ HiLink thriftTodo Todo
+ HiLink thriftString String
+ HiLink thriftNumber Number
+ HiLink thriftSpecial Special
+ HiLink thriftStructure Structure
+
+ delcommand HiLink
+endif
+
+let b:current_syntax = "thrift"