summaryrefslogtreecommitdiffstats
path: root/vim/syntax/nc.vim
blob: 8e98740d6998b12bc0653659ddccc5403df5b903 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
" Vim syntax file
" Language:	NesC
" Maintainer:	Lau Ming Leong <http://aming.no-ip.com>
" Version:	1.0
" Last Change:	2007 Apr 01
" Description:	Modified from syntax/cpp.vim by Ken Shan <ccshan@post.harvard.edu>

" 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 keyword cppOperator		and bitor or xor compl bitand and_eq or_eq xor_eq not not_eq
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
syn keyword ncConstant		SUCCESS FAIL
syn keyword ncBoolean		TRUE FALSE

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

" Default highlighting
    
if version >= 508 || !exists("did_cpp_syntax_inits")
	if version < 508
		let did_cpp_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	exception
	HiLink cppoperator	operator
	HiLink cppstatement	statement
	HiLink cpptype		type
	HiLink cppstorageclass	storageclass 
	HiLink cppstructure	structure
	HiLink cppnumber	number
	HiLink ncboolean	boolean
	HiLink ncfunction	type
	HiLink nccall		statement
	HiLink ncpreproc	structure
	HiLink ncinterface	cppstructure
	HiLink ncwiring		cppstatement
	HiLink ncconstant	constant
	delcommand HiLink
endif

let b:current_syntax = "nc"

" vim: ts=8