annotate runtime/syntax/tf.vim @ 0:76efa0be13f1

Initial revision
author atsuki
date Sat, 10 Nov 2007 15:07:22 +0900
parents
children
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: tf
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
3 " Maintainer: Lutz Eymers <ixtab@polzin.com>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
4 " URL: http://www.isp.de/data/tf.vim
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
5 " Email: send syntax_vim.tgz
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
6 " Last Change: 2001 May 10
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
7 "
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
8 " Options lite_minlines = x to sync at least x lines backwards
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
9
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
10 " Remove any old syntax stuff hanging around
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
11
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
12 " For version 5.x: Clear all syntax items
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
13 " For version 6.x: Quit when a syntax file was already loaded
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
14 if version < 600
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
15 syntax clear
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
16 elseif exists("b:current_syntax")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
17 finish
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
18 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
19
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
20 syn case match
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
21
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
22 if !exists("main_syntax")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
23 let main_syntax = 'tf'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
24 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
25
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
26 " Special global variables
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
27 syn keyword tfVar HOME LANG MAIL SHELL TERM TFHELP TFLIBDIR TFLIBRARY TZ contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
28 syn keyword tfVar background backslash contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
29 syn keyword tfVar bamf bg_output borg clearfull cleardone clock connect contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
30 syn keyword tfVar emulation end_color gag gethostbyname gpri hook hilite contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
31 syn keyword tfVar hiliteattr histsize hpri insert isize istrip kecho contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
32 syn keyword tfVar kprefix login lp lpquote maildelay matching max_iter contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
33 syn keyword tfVar max_recur mecho more mprefix oldslash promt_sec contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
34 syn keyword tfVar prompt_usec proxy_host proxy_port ptime qecho qprefix contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
35 syn keyword tfVar quite quitdone redef refreshtime scroll shpause snarf sockmload contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
36 syn keyword tfVar start_color tabsize telopt sub time_format visual contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
37 syn keyword tfVar watch_dog watchname wordpunct wrap wraplog wrapsize contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
38 syn keyword tfVar wrapspace contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
39
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
40 " Worldvar
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
41 syn keyword tfWorld world_name world_character world_password world_host contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
42 syn keyword tfWorld world_port world_mfile world_type contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
43
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
44 " Number
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
45 syn match tfNumber "-\=\<\d\+\>"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
46
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
47 " Float
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
48 syn match tfFloat "\(-\=\<\d+\|-\=\)\.\d\+\>"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
49
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
50 " Operator
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
51 syn match tfOperator "[-+=?:&|!]"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
52 syn match tfOperator "/[^*~@]"he=e-1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
53 syn match tfOperator ":="
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
54 syn match tfOperator "[^/%]\*"hs=s+1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
55 syn match tfOperator "$\+[([{]"he=e-1,me=e-1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
56 syn match tfOperator "\^\[\+"he=s+1 contains=tfSpecialCharEsc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
57
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
58 " Relational
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
59 syn match tfRelation "&&"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
60 syn match tfRelation "||"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
61 syn match tfRelation "[<>/!=]="
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
62 syn match tfRelation "[<>]"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
63 syn match tfRelation "[!=]\~"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
64 syn match tfRelation "[=!]/"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
65
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
66
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
67 " Readonly Var
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
68 syn match tfReadonly "[#*]" contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
69 syn match tfReadonly "\<-\=L\=\d\{-}\>" contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
70 syn match tfReadonly "\<P\(\d\+\|R\|L\)\>" contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
71 syn match tfReadonly "\<R\>" contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
72
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
73 " Identifier
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
74 syn match tfIdentifier "%\+[a-zA-Z_#*-0-9]\w*" contains=tfVar,tfReadonly
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
75 syn match tfIdentifier "%\+[{]"he=e-1,me=e-1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
76 syn match tfIdentifier "\$\+{[a-zA-Z_#*-0-9]\w*}" contains=tfWorld
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
77
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
78 " Function names
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
79 syn keyword tfFunctions ascii char columns echo filename ftime fwrite getopts
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
80 syn keyword tfFunctions getpid idle kbdel kbgoto kbhead kblen kbmatch kbpoint
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
81 syn keyword tfFunctions kbtail kbwordleft kbwordright keycode lines mod
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
82 syn keyword tfFunctions moresize pad rand read regmatch send strcat strchr
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
83 syn keyword tfFunctions strcmp strlen strncmp strrchr strrep strstr substr
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
84 syn keyword tfFunctions systype time tolower toupper
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
85
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
86 syn keyword tfStatement addworld bamf beep bind break cat changes connect contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
87 syn keyword tfStatement dc def dokey echo edit escape eval export expr fg for contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
88 syn keyword tfStatement gag getfile grab help hilite histsize hook if input contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
89 syn keyword tfStatement kill lcd let list listsockets listworlds load contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
90 syn keyword tfStatement localecho log nohilite not partial paste ps purge contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
91 syn keyword tfStatement purgeworld putfile quit quote recall recordline save contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
92 syn keyword tfStatement saveworld send sh shift sub substitute contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
93 syn keyword tfStatement suspend telnet test time toggle trig trigger unbind contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
94 syn keyword tfStatement undef undefn undeft unhook untrig unworld contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
95 syn keyword tfStatement version watchdog watchname while world contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
96
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
97 " Hooks
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
98 syn keyword tfHook ACTIVITY BACKGROUND BAMF CONFAIL CONFLICT CONNECT DISCONNECT
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
99 syn keyword tfHook KILL LOAD LOADFAIL LOG LOGIN MAIL MORE PENDING PENDING
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
100 syn keyword tfHook PROCESS PROMPT PROXY REDEF RESIZE RESUME SEND SHADOW SHELL
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
101 syn keyword tfHook SIGHUP SIGTERM SIGUSR1 SIGUSR2 WORLD
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
102
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
103 " Conditional
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
104 syn keyword tfConditional if endif then else elseif contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
105
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
106 " Repeat
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
107 syn keyword tfRepeat while do done repeat for contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
108
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
109 " Statement
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
110 syn keyword tfStatement break quit contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
111
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
112 " Include
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
113 syn keyword tfInclude require load save loaded contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
114
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
115 " Define
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
116 syn keyword tfDefine bind unbind def undef undefn undefn purge hook unhook trig untrig contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
117 syn keyword tfDefine set unset setenv contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
118
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
119 " Todo
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
120 syn keyword tfTodo TODO Todo todo contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
121
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
122 " SpecialChar
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
123 syn match tfSpecialChar "\\[abcfnrtyv\\]" contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
124 syn match tfSpecialChar "\\\d\{3}" contained contains=tfOctalError
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
125 syn match tfSpecialChar "\\x[0-9a-fA-F]\{2}" contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
126 syn match tfSpecialCharEsc "\[\+" contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
127
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
128 syn match tfOctalError "[89]" contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
129
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
130 " Comment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
131 syn region tfComment start="^;" end="$" contains=tfTodo
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
132
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
133 " String
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
134 syn region tfString oneline matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=tfIdentifier,tfSpecialChar,tfEscape
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
135 syn region tfString matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=tfIdentifier,tfSpecialChar,tfEscape
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
136
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
137 syn match tfParentError "[)}\]]"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
138
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
139 " Parents
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
140 syn region tfParent matchgroup=Delimiter start="(" end=")" contains=ALLBUT,tfReadonly
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
141 syn region tfParent matchgroup=Delimiter start="\[" end="\]" contains=ALL
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
142 syn region tfParent matchgroup=Delimiter start="{" end="}" contains=ALL
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
143
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
144 syn match tfEndCommand "%%\{-};"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
145 syn match tfJoinLines "\\$"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
146
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
147 " Types
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
148
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
149 syn match tfType "/[a-zA-Z_~@][a-zA-Z0-9_]*" contains=tfConditional,tfRepeat,tfStatement,tfInclude,tfDefine,tfStatement
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
150
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
151 " Catch /quote .. '
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
152 syn match tfQuotes "/quote .\{-}'" contains=ALLBUT,tfString
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
153 " Catch $(/escape )
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
154 syn match tfEscape "(/escape .*)"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
155
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
156 " sync
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
157 if exists("tf_minlines")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
158 exec "syn sync minlines=" . tf_minlines
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
159 else
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
160 syn sync minlines=100
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
161 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
162
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
163 " Define the default highlighting.
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
164 " For version 5.7 and earlier: only when not done already
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
165 " For version 5.8 and later: only when an item doesn't have highlighting yet
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
166 if version >= 508 || !exists("did_tf_syn_inits")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
167 if version < 508
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
168 let did_tf_syn_inits = 1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
169 command -nargs=+ HiLink hi link <args>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
170 else
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
171 command -nargs=+ HiLink hi def link <args>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
172 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
173
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
174 HiLink tfComment Comment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
175 HiLink tfString String
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
176 HiLink tfNumber Number
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
177 HiLink tfFloat Float
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
178 HiLink tfIdentifier Identifier
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
179 HiLink tfVar Identifier
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
180 HiLink tfWorld Identifier
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
181 HiLink tfReadonly Identifier
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
182 HiLink tfHook Identifier
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
183 HiLink tfFunctions Function
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
184 HiLink tfRepeat Repeat
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
185 HiLink tfConditional Conditional
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
186 HiLink tfLabel Label
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
187 HiLink tfStatement Statement
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
188 HiLink tfType Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
189 HiLink tfInclude Include
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
190 HiLink tfDefine Define
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
191 HiLink tfSpecialChar SpecialChar
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
192 HiLink tfSpecialCharEsc SpecialChar
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
193 HiLink tfParentError Error
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
194 HiLink tfTodo Todo
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
195 HiLink tfEndCommand Delimiter
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
196 HiLink tfJoinLines Delimiter
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
197 HiLink tfOperator Operator
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
198 HiLink tfRelation Operator
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
199
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
200 delcommand HiLink
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
201 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
202
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
203 let b:current_syntax = "tf"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
204
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
205 if main_syntax == 'tf'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
206 unlet main_syntax
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
207 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
208
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
209 " vim: ts=8