1" Vim syntax file
2" Language:	samba configuration files (smb.conf)
3" Maintainer:	Rafael Garcia-Suarez <rgarciasuarez@free.fr>
4" URL:		http://rgarciasuarez.free.fr/vim/syntax/samba.vim
5" Last change:	2009 Aug 06
6"
7"               New maintainer wanted!
8"
9" Don't forget to run your config file through testparm(1)!
10
11" For version 5.x: Clear all syntax items
12" For version 6.x: Quit when a syntax file was already loaded
13if version < 600
14  syntax clear
15elseif exists("b:current_syntax")
16  finish
17endif
18
19syn case ignore
20
21syn match sambaParameter /^[a-zA-Z \t]\+=/ contains=sambaKeyword
22syn match sambaSection /^\s*\[[a-zA-Z0-9_\-.$ ]\+\]/
23syn match sambaMacro /%[SPugUGHvhmLMNpRdaITD]/
24syn match sambaMacro /%$([a-zA-Z0-9_]\+)/
25syn match sambaComment /^\s*[;#].*/
26syn match sambaContinue /\\$/
27syn keyword sambaBoolean true false yes no
28
29" Keywords for Samba 2.0.5a
30syn keyword sambaKeyword contained account acl action add address admin aliases
31syn keyword sambaKeyword contained allow alternate always announce anonymous
32syn keyword sambaKeyword contained archive as auto available bind blocking
33syn keyword sambaKeyword contained bmpx break browsable browse browseable ca
34syn keyword sambaKeyword contained cache case casesignames cert certDir
35syn keyword sambaKeyword contained certFile change char character chars chat
36syn keyword sambaKeyword contained ciphers client clientcert code coding
37syn keyword sambaKeyword contained command comment compatibility config
38syn keyword sambaKeyword contained connections contention controller copy
39syn keyword sambaKeyword contained create deadtime debug debuglevel default
40syn keyword sambaKeyword contained delete deny descend dfree dir directory
41syn keyword sambaKeyword contained disk dns domain domains dont dos dot drive
42syn keyword sambaKeyword contained driver encrypt encrypted equiv exec fake
43syn keyword sambaKeyword contained file files filetime filetimes filter follow
44syn keyword sambaKeyword contained force fstype getwd group groups guest
45syn keyword sambaKeyword contained hidden hide home homedir hosts include
46syn keyword sambaKeyword contained interfaces interval invalid keepalive
47syn keyword sambaKeyword contained kernel key ldap length level level2 limit
48syn keyword sambaKeyword contained links list lm load local location lock
49syn keyword sambaKeyword contained locking locks log logon logons logs lppause
50syn keyword sambaKeyword contained lpq lpresume lprm machine magic mangle
51syn keyword sambaKeyword contained mangled mangling map mask master max mem
52syn keyword sambaKeyword contained message min mode modes mux name names
53syn keyword sambaKeyword contained netbios nis notify nt null offset ok ole
54syn keyword sambaKeyword contained only open oplock oplocks options order os
55syn keyword sambaKeyword contained output packet page panic passwd password
56syn keyword sambaKeyword contained passwords path permissions pipe port ports
57syn keyword sambaKeyword contained postexec postscript prediction preexec
58syn keyword sambaKeyword contained prefered preferred preload preserve print
59syn keyword sambaKeyword contained printable printcap printer printers
60syn keyword sambaKeyword contained printing program protocol proxy public
61syn keyword sambaKeyword contained queuepause queueresume raw read readonly
62syn keyword sambaKeyword contained realname remote require resign resolution
63syn keyword sambaKeyword contained resolve restrict revalidate rhosts root
64syn keyword sambaKeyword contained script security sensitive server servercert
65syn keyword sambaKeyword contained service services set share shared short
66syn keyword sambaKeyword contained size smb smbrun socket space ssl stack stat
67syn keyword sambaKeyword contained status strict string strip suffix support
68syn keyword sambaKeyword contained symlinks sync syslog system time timeout
69syn keyword sambaKeyword contained times timestamp to trusted ttl unix update
70syn keyword sambaKeyword contained use user username users valid version veto
71syn keyword sambaKeyword contained volume wait wide wins workgroup writable
72syn keyword sambaKeyword contained write writeable xmit
73
74" New keywords for Samba 2.0.6
75syn keyword sambaKeyword contained hook hires pid uid close rootpreexec
76
77" New keywords for Samba 2.0.7
78syn keyword sambaKeyword contained utmp wtmp hostname consolidate
79syn keyword sambaKeyword contained inherit source environment
80
81" New keywords for Samba 2.2.0
82syn keyword sambaKeyword contained addprinter auth browsing deleteprinter
83syn keyword sambaKeyword contained enhanced enumports filemode gid host jobs
84syn keyword sambaKeyword contained lanman msdfs object os2 posix processes
85syn keyword sambaKeyword contained scope separator shell show smbd template
86syn keyword sambaKeyword contained total vfs winbind wizard
87
88" New keywords for Samba 2.2.1
89syn keyword sambaKeyword contained large obey pam readwrite restrictions
90syn keyword sambaKeyword contained unreadable
91
92" New keywords for Samba 2.2.2 - 2.2.4
93syn keyword sambaKeyword contained acls allocate bytes count csc devmode
94syn keyword sambaKeyword contained disable dn egd entropy enum extensions mmap
95syn keyword sambaKeyword contained policy spin spoolss
96
97" Since Samba 3.0.2
98syn keyword sambaKeyword contained abort afs algorithmic backend
99syn keyword sambaKeyword contained charset cups defer display
100syn keyword sambaKeyword contained enable idmap kerberos lookups
101syn keyword sambaKeyword contained methods modules nested NIS ntlm NTLMv2
102syn keyword sambaKeyword contained objects paranoid partners passdb
103syn keyword sambaKeyword contained plaintext prefix primary private
104syn keyword sambaKeyword contained profile quota realm replication
105syn keyword sambaKeyword contained reported rid schannel sendfile sharing
106syn keyword sambaKeyword contained shutdown signing special spnego
107syn keyword sambaKeyword contained store unknown unwriteable
108
109" Define the default highlighting.
110" For version 5.7 and earlier: only when not done already
111" For version 5.8 and later: only when an item doesn't have highlighting yet
112if version >= 508 || !exists("did_samba_syn_inits")
113  if version < 508
114    let did_samba_syn_inits = 1
115    command -nargs=+ HiLink hi link <args>
116  else
117    command -nargs=+ HiLink hi def link <args>
118  endif
119  HiLink sambaParameter Normal
120  HiLink sambaKeyword   Type
121  HiLink sambaSection   Statement
122  HiLink sambaMacro     PreProc
123  HiLink sambaComment   Comment
124  HiLink sambaContinue  Operator
125  HiLink sambaBoolean   Constant
126  delcommand HiLink
127endif
128
129let b:current_syntax = "samba"
130
131" vim: ts=8
132