Hey everyone,

W.r.t. the recent discussion about .emacs file support for NesC I thought
I'd share the nc.vim file we use here at CENS (just in case there are
other vi'ers out there working on TinyOS).  :)

Please send me comments if you have any.

Eric Osterweil

" Vim syntax file
" Language:     NesC
" Maintainer:   Eric Osterweil <[EMAIL PROTECTED]>
" Last change:  2003 Jul 02

" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
  syntax clear
elseif exists("b:current_syntax")
  finish
endif

" Read the C syntax to start with
if version < 600
  so <sfile>:p:h/c.vim
else
  runtime! syntax/c.vim
  unlet b:current_syntax
endif

" C++ extentions
syn keyword cppStatement        new delete this friend using
syn keyword cppAccess           public protected private
syn keyword cppType             inline virtual explicit export bool wchar_t
syn keyword cppExceptions       throw try catch
syn keyword cppOperator         operator typeid
syn match cppCast               
"\<\(const\|static\|dynamic\|reinterpret\)_cast\s*<"me=e-1
syn match cppCast               "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*$"
syn keyword cppStorageClass     mutable
syn keyword cppStructure        class typename template namespace
syn keyword cppNumber   NPOS
syn keyword cppBoolean  true false

" NesC extensions
syn keyword ncFunction          command event task interface
syn keyword ncCall              call post fire as
syn keyword ncPreProc           includes
syn keyword ncInterface         module implementation configuration
syn keyword ncWiring            provides uses components

" The minimum and maximum operators in GNU C++
syn match cppMinMax "[<>]?"

" Default highlighting
if version >= 508 || !exists("did_nc_syntax_inits")
  if version < 508
    let did_nc_syntax_inits = 1
    command -nargs=+ HiLink hi link <args>
  else
    command -nargs=+ HiLink hi def link <args>
  endif
  HiLink cppAccess              cppStatement
  HiLink cppCast                cppStatement
  HiLink cppExceptions          cppStatement
  HiLink cppOperator            cppStatement
  HiLink cppStatement           Statement
  HiLink cppType                Type
  HiLink cppStorageClass        StorageClass
  HiLink cppStructure           Structure
  HiLink cppNumber              Number
  HiLink cppBoolean             Boolean
  HiLink ncFunction             Type
  HiLink ncCall                 Statement
  HiLink ncPreProc              Structure
  HiLink ncInterface            cppStructure
  HiLink ncWiring               cppStatement
  delcommand HiLink
endif

let b:current_syntax = "nc"

" vim: ts=8
_______________________________________________
Tinyos-users mailing list
[EMAIL PROTECTED]
http://mail.Millennium.Berkeley.EDU/mailman/listinfo/tinyos-users

Reply via email to