thrift/thrift.vim
Martin Kraemer 8ca2d09109 Thrift Syntax for Vim
Summary:
See header of file for installation instructions.  I'm not a vim master so this may not
be completely kosher, feel free to improve as necessary.

Reviewed By: Slee

Test Plan:

Revert Plan:

Notes:

EImportant:


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665110 13f79535-47bb-0310-9956-ffa450edef68
2007-05-15 23:24:30 +00:00

72 lines
1.9 KiB
VimL

" 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 cpp_namespace cpp_include
syn keyword thriftKeyword cpp_type java_package include const
syn keyword thriftBasicTypes void bool byte i16 i32 i64 double string
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
endif
let b:currenct_syntax = "thrift"