1" Vim syntax file
2" Language:     Novell "NCF" Batch File
3" Maintainer:   Jonathan J. Miner <miner@doit.wisc.edu>
4" Last Change:	Tue, 04 Sep 2001 16:20:33 CDT
5" $Id: ncf.vim,v 1.1 2004/06/13 16:31:58 vimboss Exp $
6
7" Remove any old syntax stuff hanging around
8if version < 600
9    syn clear
10elseif exists("b:current_syntax")
11    finish
12endif
13
14syn case ignore
15
16syn keyword ncfCommands		mount load unload
17syn keyword ncfBoolean		on off
18syn keyword ncfCommands		set nextgroup=ncfSetCommands
19syn keyword ncfTimeTypes	Reference Primary Secondary Single
20syn match ncfLoad       "\(unl\|l\)oad .*"lc=4 contains=ALLBUT,Error
21syn match ncfMount      "mount .*"lc=5 contains=ALLBUT,Error
22
23syn match ncfComment    "^\ *rem.*$"
24syn match ncfComment    "^\ *;.*$"
25syn match ncfComment    "^\ *#.*$"
26
27syn match ncfSearchPath "search \(add\|del\) " nextgroup=ncfPath
28syn match ncfPath       "\<[^: ]\+:\([A-Za-z0-9._]\|\\\)*\>"
29syn match ncfServerName "^file server name .*$"
30syn match ncfIPXNet     "^ipx internal net"
31
32" String
33syn region ncfString    start=+"+  end=+"+
34syn match ncfContString "= \(\(\.\{0,1}\(OU=\|O=\)\{0,1}[A-Z_]\+\)\+;\{0,1}\)\+"lc=2
35
36syn match ncfHexNumber  "\<\d\(\d\+\|[A-F]\+\)*\>"
37syn match ncfNumber     "\<\d\+\.\{0,1}\d*\>"
38syn match ncfIPAddr     "\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}"
39syn match ncfTime       "\(+|=\)\{0,1}\d\{1,2}:\d\{1,2}:\d\{1,2}"
40syn match ncfDSTTime    "([^ ]\+ [^ ]\+ \(FIRST\|LAST\)\s*\d\{1,2}:\d\{1,2}:\d\{1,2} \(AM\|PM\))"
41syn match ncfTimeZone   "[A-Z]\{3}\d[A-Z]\{3}"
42
43syn match ncfLogins     "^\([Dd]is\|[Ee]n\)able login[s]*"
44syn match ncfScript     "[^ ]*\.ncf"
45
46"  SET Commands that take a Number following
47syn match ncfSetCommandsNum "\(Alert Message Nodes\)\s*="
48syn match ncfSetCommandsNum "\(Auto Restart After Abend\)\s*="
49syn match ncfSetCommandsNum "\(Auto Restart After Abend Delay Time\)\s*="
50syn match ncfSetCommandsNum "\(Compression Daily Check Starting Hour\)\s*="
51syn match ncfSetCommandsNum "\(Compression Daily Check Stop Hour\)\s*="
52syn match ncfSetCommandsNum "\(Concurrent Remirror Requests\)\s*="
53syn match ncfSetCommandsNum "\(Convert Compressed to Uncompressed Option\)\s*="
54syn match ncfSetCommandsNum "\(Days Untouched Before Compression\)\s*="
55syn match ncfSetCommandsNum "\(Decompress Free Space Warning Interval\)\s*="
56syn match ncfSetCommandsNum "\(Decompress Percent Disk Space Free to Allow Commit\)\s*="
57syn match ncfSetCommandsNum "\(Deleted Files Compression Option\)\s*="
58syn match ncfSetCommandsNum "\(Directory Cache Allocation Wait Time\)\s*="
59syn match ncfSetCommandsNum "\(Enable IPX Checksums\)\s*="
60syn match ncfSetCommandsNum "\(Garbage Collection Interval\)\s*="
61syn match ncfSetCommandsNum "\(IPX NetBIOS Replication Option\)\s*="
62syn match ncfSetCommandsNum "\(Maximum Concurrent Compressions\)\s*="
63syn match ncfSetCommandsNum "\(Maximum Concurrent Directory Cache Writes\)\s*="
64syn match ncfSetCommandsNum "\(Maximum Concurrent Disk Cache Writes\)\s*="
65syn match ncfSetCommandsNum "\(Maximum Directory Cache Buffers\)\s*="
66syn match ncfSetCommandsNum "\(Maximum Extended Attributes per File or Path\)\s*="
67syn match ncfSetCommandsNum "\(Maximum File Locks\)\s*="
68syn match ncfSetCommandsNum "\(Maximum File Locks Per Connection\)\s*="
69syn match ncfSetCommandsNum "\(Maximum Interrupt Events\)\s*="
70syn match ncfSetCommandsNum "\(Maximum Number of Directory Handles\)\s*="
71syn match ncfSetCommandsNum "\(Maximum Number of Internal Directory Handles\)\s*="
72syn match ncfSetCommandsNum "\(Maximum Outstanding NCP Searches\)\s*="
73syn match ncfSetCommandsNum "\(Maximum Packet Receive Buffers\)\s*="
74syn match ncfSetCommandsNum "\(Maximum Physical Receive Packet Size\)\s*="
75syn match ncfSetCommandsNum "\(Maximum Record Locks\)\s*="
76syn match ncfSetCommandsNum "\(Maximum Record Locks Per Connection\)\s*="
77syn match ncfSetCommandsNum "\(Maximum Service Processes\)\s*="
78syn match ncfSetCommandsNum "\(Maximum Subdirectory Tree Depth\)\s*="
79syn match ncfSetCommandsNum "\(Maximum Transactions\)\s*="
80syn match ncfSetCommandsNum "\(Minimum Compression Percentage Gain\)\s*="
81syn match ncfSetCommandsNum "\(Minimum Directory Cache Buffers\)\s*="
82syn match ncfSetCommandsNum "\(Minimum File Cache Buffers\)\s*="
83syn match ncfSetCommandsNum "\(Minimum File Cache Report Threshold\)\s*="
84syn match ncfSetCommandsNum "\(Minimum Free Memory for Garbage Collection\)\s*="
85syn match ncfSetCommandsNum "\(Minimum Packet Receive Buffers\)\s*="
86syn match ncfSetCommandsNum "\(Minimum Service Processes\)\s*="
87syn match ncfSetCommandsNum "\(NCP Packet Signature Option\)\s*="
88syn match ncfSetCommandsNum "\(NDS Backlink Interval\)\s*="
89syn match ncfSetCommandsNum "\(NDS Client NCP Retries\)\s*="
90syn match ncfSetCommandsNum "\(NDS External Reference Life Span\)\s*="
91syn match ncfSetCommandsNum "\(NDS Inactivity Synchronization Interval\)\s*="
92syn match ncfSetCommandsNum "\(NDS Janitor Interval\)\s*="
93syn match ncfSetCommandsNum "\(New Service Process Wait Time\)\s*="
94syn match ncfSetCommandsNum "\(Number of Frees for Garbage Collection\)\s*="
95syn match ncfSetCommandsNum "\(Number of Watchdog Packets\)\s*="
96syn match ncfSetCommandsNum "\(Pseudo Preemption Count\)\s*="
97syn match ncfSetCommandsNum "\(Read Ahead LRU Sitting Time Threshold\)\s*="
98syn match ncfSetCommandsNum "\(Remirror Block Size\)\s*="
99syn match ncfSetCommandsNum "\(Reserved Buffers Below 16 Meg\)\s*="
100syn match ncfSetCommandsNum "\(Server Log File Overflow Size\)\s*="
101syn match ncfSetCommandsNum "\(Server Log File State\)\s*="
102syn match ncfSetCommandsNum "\(SMP Polling Count\)\s*="
103syn match ncfSetCommandsNum "\(SMP Stack Size\)\s*="
104syn match ncfSetCommandsNum "\(TIMESYNC Polling Count\)\s*="
105syn match ncfSetCommandsNum "\(TIMESYNC Polling Interval\)\s*="
106syn match ncfSetCommandsNum "\(TIMESYNC Synchronization Radius\)\s*="
107syn match ncfSetCommandsNum "\(TIMESYNC Write Value\)\s*="
108syn match ncfSetCommandsNum "\(Volume Log File Overflow Size\)\s*="
109syn match ncfSetCommandsNum "\(Volume Log File State\)\s*="
110syn match ncfSetCommandsNum "\(Volume Low Warning Reset Threshold\)\s*="
111syn match ncfSetCommandsNum "\(Volume Low Warning Threshold\)\s*="
112syn match ncfSetCommandsNum "\(Volume TTS Log File Overflow Size\)\s*="
113syn match ncfSetCommandsNum "\(Volume TTS Log File State\)\s*="
114syn match ncfSetCommandsNum "\(Worker Thread Execute In a Row Count\)\s*="
115
116" SET Commands that take a Boolean (ON/OFF)
117
118syn match ncfSetCommandsBool "\(Alloc Memory Check Flag\)\s*="
119syn match ncfSetCommandsBool "\(Allow Audit Passwords\)\s*="
120syn match ncfSetCommandsBool "\(Allow Change to Client Rights\)\s*="
121syn match ncfSetCommandsBool "\(Allow Deletion of Active Directories\)\s*="
122syn match ncfSetCommandsBool "\(Allow Invalid Pointers\)\s*="
123syn match ncfSetCommandsBool "\(Allow LIP\)\s*="
124syn match ncfSetCommandsBool "\(Allow Unencrypted Passwords\)\s*="
125syn match ncfSetCommandsBool "\(Allow Unowned Files To Be Extended\)\s*="
126syn match ncfSetCommandsBool "\(Auto Register Memory Above 16 Megabytes\)\s*="
127syn match ncfSetCommandsBool "\(Auto TTS Backout Flag\)\s*="
128syn match ncfSetCommandsBool "\(Automatically Repair Bad Volumes\)\s*="
129syn match ncfSetCommandsBool "\(Check Equivalent to Me\)\s*="
130syn match ncfSetCommandsBool "\(Command Line Prompt Default Choice\)\s*="
131syn match ncfSetCommandsBool "\(Console Display Watchdog Logouts\)\s*="
132syn match ncfSetCommandsBool "\(Daylight Savings Time Status\)\s*="
133syn match ncfSetCommandsBool "\(Developer Option\)\s*="
134syn match ncfSetCommandsBool "\(Display Incomplete IPX Packet Alerts\)\s*="
135syn match ncfSetCommandsBool "\(Display Lost Interrupt Alerts\)\s*="
136syn match ncfSetCommandsBool "\(Display NCP Bad Component Warnings\)\s*="
137syn match ncfSetCommandsBool "\(Display NCP Bad Length Warnings\)\s*="
138syn match ncfSetCommandsBool "\(Display Old API Names\)\s*="
139syn match ncfSetCommandsBool "\(Display Relinquish Control Alerts\)\s*="
140syn match ncfSetCommandsBool "\(Display Spurious Interrupt Alerts\)\s*="
141syn match ncfSetCommandsBool "\(Enable Deadlock Detection\)\s*="
142syn match ncfSetCommandsBool "\(Enable Disk Read After Write Verify\)\s*="
143syn match ncfSetCommandsBool "\(Enable File Compression\)\s*="
144syn match ncfSetCommandsBool "\(Enable IO Handicap Attribute\)\s*="
145syn match ncfSetCommandsBool "\(Enable SECURE.NCF\)\s*="
146syn match ncfSetCommandsBool "\(Fast Volume Mounts\)\s*="
147syn match ncfSetCommandsBool "\(Global Pseudo Preemption\)\s*="
148syn match ncfSetCommandsBool "\(Halt System on Invalid Parameters\)\s*="
149syn match ncfSetCommandsBool "\(Ignore Disk Geometry\)\s*="
150syn match ncfSetCommandsBool "\(Immediate Purge of Deleted Files\)\s*="
151syn match ncfSetCommandsBool "\(NCP File Commit\)\s*="
152syn match ncfSetCommandsBool "\(NDS Trace File Length to Zero\)\s*="
153syn match ncfSetCommandsBool "\(NDS Trace to File\)\s*="
154syn match ncfSetCommandsBool "\(NDS Trace to Screen\)\s*="
155syn match ncfSetCommandsBool "\(New Time With Daylight Savings Time Status\)\s*="
156syn match ncfSetCommandsBool "\(Read Ahead Enabled\)\s*="
157syn match ncfSetCommandsBool "\(Read Fault Emulation\)\s*="
158syn match ncfSetCommandsBool "\(Read Fault Notification\)\s*="
159syn match ncfSetCommandsBool "\(Reject NCP Packets with Bad Components\)\s*="
160syn match ncfSetCommandsBool "\(Reject NCP Packets with Bad Lengths\)\s*="
161syn match ncfSetCommandsBool "\(Replace Console Prompt with Server Name\)\s*="
162syn match ncfSetCommandsBool "\(Reply to Get Nearest Server\)\s*="
163syn match ncfSetCommandsBool "\(SMP Developer Option\)\s*="
164syn match ncfSetCommandsBool "\(SMP Flush Processor Cache\)\s*="
165syn match ncfSetCommandsBool "\(SMP Intrusive Abend Mode\)\s*="
166syn match ncfSetCommandsBool "\(SMP Memory Protection\)\s*="
167syn match ncfSetCommandsBool "\(Sound Bell for Alerts\)\s*="
168syn match ncfSetCommandsBool "\(TIMESYNC Configured Sources\)\s*="
169syn match ncfSetCommandsBool "\(TIMESYNC Directory Tree Mode\)\s*="
170syn match ncfSetCommandsBool "\(TIMESYNC Hardware Clock\)\s*="
171syn match ncfSetCommandsBool "\(TIMESYNC RESET\)\s*="
172syn match ncfSetCommandsBool "\(TIMESYNC Restart Flag\)\s*="
173syn match ncfSetCommandsBool "\(TIMESYNC Service Advertising\)\s*="
174syn match ncfSetCommandsBool "\(TIMESYNC Write Parameters\)\s*="
175syn match ncfSetCommandsBool "\(TTS Abort Dump Flag\)\s*="
176syn match ncfSetCommandsBool "\(Upgrade Low Priority Threads\)\s*="
177syn match ncfSetCommandsBool "\(Volume Low Warn All Users\)\s*="
178syn match ncfSetCommandsBool "\(Write Fault Emulation\)\s*="
179syn match ncfSetCommandsBool "\(Write Fault Notification\)\s*="
180
181" Set Commands that take a "string" -- NOT QUOTED
182
183syn match ncfSetCommandsStr "\(Default Time Server Type\)\s*="
184syn match ncfSetCommandsStr "\(SMP NetWare Kernel Mode\)\s*="
185syn match ncfSetCommandsStr "\(Time Zone\)\s*="
186syn match ncfSetCommandsStr "\(TIMESYNC ADD Time Source\)\s*="
187syn match ncfSetCommandsStr "\(TIMESYNC REMOVE Time Source\)\s*="
188syn match ncfSetCommandsStr "\(TIMESYNC Time Source\)\s*="
189syn match ncfSetCommandsStr "\(TIMESYNC Type\)\s*="
190
191" SET Commands that take a "Time"
192
193syn match ncfSetCommandsTime "\(Command Line Prompt Time Out\)\s*="
194syn match ncfSetCommandsTime "\(Delay Before First Watchdog Packet\)\s*="
195syn match ncfSetCommandsTime "\(Delay Between Watchdog Packets\)\s*="
196syn match ncfSetCommandsTime "\(Directory Cache Buffer NonReferenced Delay\)\s*="
197syn match ncfSetCommandsTime "\(Dirty Directory Cache Delay Time\)\s*="
198syn match ncfSetCommandsTime "\(Dirty Disk Cache Delay Time\)\s*="
199syn match ncfSetCommandsTime "\(File Delete Wait Time\)\s*="
200syn match ncfSetCommandsTime "\(Minimum File Delete Wait Time\)\s*="
201syn match ncfSetCommandsTime "\(Mirrored Devices Are Out of Sync Message Frequency\)\s*="
202syn match ncfSetCommandsTime "\(New Packet Receive Buffer Wait Time\)\s*="
203syn match ncfSetCommandsTime "\(TTS Backout File Truncation Wait Time\)\s*="
204syn match ncfSetCommandsTime "\(TTS UnWritten Cache Wait Time\)\s*="
205syn match ncfSetCommandsTime "\(Turbo FAT Re-Use Wait Time\)\s*="
206syn match ncfSetCommandsTime "\(Daylight Savings Time Offset\)\s*="
207
208syn match ncfSetCommandsTimeDate "\(End of Daylight Savings Time\)\s*="
209syn match ncfSetCommandsTimeDate "\(Start of Daylight Savings Time\)\s*="
210
211syn match ncfSetCommandsBindCon "\(Bindery Context\)\s*=" nextgroup=ncfContString
212
213syn cluster ncfSetCommands contains=ncfSetCommandsNum,ncfSetCommandsBool,ncfSetCommandsStr,ncfSetCommandsTime,ncfSetCommandsTimeDate,ncfSetCommandsBindCon
214
215
216if exists("ncf_highlight_unknowns")
217    syn match Error "[^ \t]*" contains=ALL
218endif
219
220if version >= 508 || !exists("did_ncf_syntax_inits")
221    if version < 508
222	let did_ncf_syntax_inits = 1
223	command -nargs=+ HiLink hi link <args>
224    else
225	command -nargs=+ HiLink hi def link <args>
226    endif
227
228    " The default methods for highlighting.  Can be overridden later
229    HiLink ncfCommands		Statement
230    HiLink ncfSetCommands	ncfCommands
231    HiLink ncfLogins		ncfCommands
232    HiLink ncfString		String
233    HiLink ncfContString	ncfString
234    HiLink ncfComment		Comment
235    HiLink ncfImplicit		Type
236    HiLink ncfBoolean		Boolean
237    HiLink ncfScript		Identifier
238    HiLink ncfNumber		Number
239    HiLink ncfIPAddr		ncfNumber
240    HiLink ncfHexNumber		ncfNumber
241    HiLink ncfTime		ncfNumber
242    HiLink ncfDSTTime		ncfNumber
243    HiLink ncfPath		Constant
244    HiLink ncfServerName	Special
245    HiLink ncfIPXNet		ncfServerName
246    HiLink ncfTimeTypes		Constant
247    HiLink ncfSetCommandsNum	   ncfSetCommands
248    HiLink ncfSetCommandsBool	   ncfSetCommands
249    HiLink ncfSetCommandsStr	   ncfSetCommands
250    HiLink ncfSetCommandsTime	   ncfSetCommands
251    HiLink ncfSetCommandsTimeDate  ncfSetCommands
252    HiLink ncfSetCommandsBindCon   ncfSetCommands
253
254    delcommand HiLink
255
256endif
257
258let b:current_syntax = "ncf"
259