annotate runtime/syntax/bc.vim @ 34:e170173ecb68 current-release

before ack base protocol.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 26 Nov 2008 15:02:10 +0900
parents 76efa0be13f1
children 67300faee616
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
1 " Vim syntax file
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
2 " Language: bc - An arbitrary precision calculator language
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
3 " Maintainer: Vladimir Scholtz <vlado@gjh.sk>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
4 " Last change: 2001 Sep 02
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
5 " Available on: www.gjh.sk/~vlado/bc.vim
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
6
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
7 " For version 5.x: Clear all syntax items
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
8 " For version 6.x: Quit when a syntax file was already loaded
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
9 if version < 600
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
10 syntax clear
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
11 elseif exists("b:current_syntax")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
12 finish
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
13 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
14
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
15 syn case ignore
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
16
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
17 " Keywords
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
18 syn keyword bcKeyword if else while for break continue return limits halt quit
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
19 syn keyword bcKeyword define
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
20 syn keyword bcKeyword length read sqrt print
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
21
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
22 " Variable
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
23 syn keyword bcType auto
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
24
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
25 " Constant
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
26 syn keyword bcConstant scale ibase obase last
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
27 syn keyword bcConstant BC_BASE_MAX BC_DIM_MAX BC_SCALE_MAX BC_STRING_MAX
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
28 syn keyword bcConstant BC_ENV_ARGS BC_LINE_LENGTH
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
29
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
30 " Any other stuff
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
31 syn match bcIdentifier "[a-z_][a-z0-9_]*"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
32
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
33 " String
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
34 syn match bcString "\"[^"]*\""
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
35
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
36 " Number
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
37 syn match bcNumber "[0-9]\+"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
38
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
39 " Comment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
40 syn match bcComment "\#.*"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
41 syn region bcComment start="/\*" end="\*/"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
42
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
43 " Parent ()
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
44 syn cluster bcAll contains=bcList,bcIdentifier,bcNumber,bcKeyword,bcType,bcConstant,bcString,bcParentError
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
45 syn region bcList matchgroup=Delimiter start="(" skip="|.\{-}|" matchgroup=Delimiter end=")" contains=@bcAll
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
46 syn region bcList matchgroup=Delimiter start="\[" skip="|.\{-}|" matchgroup=Delimiter end="\]" contains=@bcAll
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
47 syn match bcParenError "]"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
48 syn match bcParenError ")"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
49
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
50
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
51
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
52 syn case match
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
53
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
54 " Define the default highlighting.
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
55 " For version 5.7 and earlier: only when not done already
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
56 " For version 5.8 and later: only when an item doesn't have highlighting yet
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
57 if version >= 508 || !exists("did_bc_syntax_inits")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
58 if version < 508
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
59 let did_bc_syntax_inits = 1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
60 command -nargs=+ HiLink hi link <args>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
61 else
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
62 command -nargs=+ HiLink hi def link <args>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
63 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
64
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
65 HiLink bcKeyword Statement
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
66 HiLink bcType Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
67 HiLink bcConstant Constant
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
68 HiLink bcNumber Number
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
69 HiLink bcComment Comment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
70 HiLink bcString String
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
71 HiLink bcSpecialChar SpecialChar
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
72 HiLink bcParenError Error
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
73
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
74 delcommand HiLink
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
75 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
76
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
77 let b:current_syntax = "bc"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
78 " vim: ts=8