7
|
1 " Vim syntax file
|
834
|
2 " Language: fstab file
|
1118
|
3 " Maintaner: Radu Dineiu <radu.dineiu@gmail.com>
|
|
4 " URL: http://ld.yi.org/vim/fstab.vim
|
2034
|
5 " Last Change: 2009 Feb 04
|
|
6 " Version: 0.93
|
1118
|
7 "
|
|
8 " Credits:
|
|
9 " David Necas (Yeti) <yeti@physics.muni.cz>
|
|
10 " Stefano Zacchiroli <zack@debian.org>
|
|
11 " Georgi Georgiev <chutz@gg3.net>
|
1618
|
12 " James Vega <jamessan@debian.org>
|
2034
|
13 " Elias Probst <mail@eliasprobst.eu>
|
1118
|
14 "
|
|
15 " Options:
|
|
16 " let fstab_unknown_fs_errors = 1
|
|
17 " highlight unknown filesystems as errors
|
7
|
18
|
|
19 if version < 600
|
|
20 syntax clear
|
|
21 elseif exists("b:current_syntax")
|
|
22 finish
|
|
23 endif
|
|
24
|
|
25 " General
|
|
26 syn cluster fsGeneralCluster contains=fsComment
|
|
27 syn match fsComment /\s*#.*/
|
1618
|
28 syn match fsOperator /[,=:#]/
|
7
|
29
|
|
30 " Device
|
|
31 syn cluster fsDeviceCluster contains=fsOperator,fsDeviceKeyword,fsDeviceError
|
1118
|
32 syn match fsDeviceError /\%([^a-zA-Z0-9_\/#@:\.-]\|^\w\{-}\ze\W\)/ contained
|
834
|
33 syn keyword fsDeviceKeyword contained none proc linproc tmpfs devpts sysfs usbfs
|
7
|
34 syn keyword fsDeviceKeyword contained LABEL nextgroup=fsDeviceLabel
|
1118
|
35 syn keyword fsDeviceKeyword contained UUID nextgroup=fsDeviceUUID
|
1618
|
36 syn keyword fsDeviceKeyword contained sshfs nextgroup=fsDeviceSshfs
|
1118
|
37 syn match fsDeviceKeyword contained /^[a-zA-Z0-9.\-]\+\ze:/
|
7
|
38 syn match fsDeviceLabel contained /=[^ \t]\+/hs=s+1 contains=fsOperator
|
1118
|
39 syn match fsDeviceUUID contained /=[^ \t]\+/hs=s+1 contains=fsOperator
|
1618
|
40 syn match fsDeviceSshfs contained /#[_=[:alnum:]\.\/+-]\+@[a-z0-9._-]\+\a\{2}:[^ \t]\+/hs=s+1 contains=fsOperator
|
7
|
41
|
|
42 " Mount Point
|
|
43 syn cluster fsMountPointCluster contains=fsMountPointKeyword,fsMountPointError
|
1118
|
44 syn match fsMountPointError /\%([^ \ta-zA-Z0-9_\/#@\.-]\|\s\+\zs\w\{-}\ze\s\)/ contained
|
7
|
45 syn keyword fsMountPointKeyword contained none swap
|
|
46
|
|
47 " Type
|
834
|
48 syn cluster fsTypeCluster contains=fsTypeKeyword,fsTypeUnknown
|
|
49 syn match fsTypeUnknown /\s\+\zs\w\+/ contained
|
2034
|
50 syn keyword fsTypeKeyword contained adfs ados affs atfs audiofs auto autofs befs bfs cd9660 cfs cifs coda cramfs devfs devpts e2compr efs ext2 ext2fs ext3 ext4 fdesc ffs filecore fuse hfs hpfs iso9660 jffs jffs2 jfs kernfs lfs linprocfs mfs minix msdos ncpfs nfs none ntfs null nwfs overlay ovlfs portal proc procfs ptyfs qnx4 reiserfs romfs shm smbfs sshfs std subfs swap sysfs sysv tcfs tmpfs udf ufs umap umsdos union usbfs userfs vfat vs3fs vxfs wrapfs wvfs xfs zisofs
|
7
|
51
|
|
52 " Options
|
|
53 " -------
|
|
54 " Options: General
|
834
|
55 syn cluster fsOptionsCluster contains=fsOperator,fsOptionsGeneral,fsOptionsKeywords,fsTypeUnknown
|
7
|
56 syn match fsOptionsNumber /\d\+/
|
|
57 syn match fsOptionsNumberOctal /[0-8]\+/
|
|
58 syn match fsOptionsString /[a-zA-Z0-9_-]\+/
|
|
59 syn keyword fsOptionsYesNo yes no
|
|
60 syn cluster fsOptionsCheckCluster contains=fsOptionsExt2Check,fsOptionsFatCheck
|
|
61 syn keyword fsOptionsSize 512 1024 2048
|
1118
|
62 syn keyword fsOptionsGeneral async atime auto bind current defaults dev devgid devmode devmtime devuid dirsync exec force fstab kudzu loop mand move noatime noauto noclusterr noclusterw nodev nodevmtime nodiratime noexec nomand nosuid nosymfollow nouser owner rbind rdonly remount ro rq rw suid suiddir supermount sw sync union update user users xx
|
7
|
63 syn match fsOptionsGeneral /_netdev/
|
|
64
|
|
65 " Options: adfs
|
834
|
66 syn match fsOptionsKeywords contained /\<\%([ug]id\|o\%(wn\|th\)mask\)=/ nextgroup=fsOptionsNumber
|
7
|
67
|
|
68 " Options: affs
|
834
|
69 syn match fsOptionsKeywords contained /\<\%(set[ug]id\|mode\|reserved\)=/ nextgroup=fsOptionsNumber
|
|
70 syn match fsOptionsKeywords contained /\<\%(prefix\|volume\|root\)=/ nextgroup=fsOptionsString
|
|
71 syn match fsOptionsKeywords contained /\<bs=/ nextgroup=fsOptionsSize
|
7
|
72 syn keyword fsOptionsKeywords contained protect usemp verbose
|
|
73
|
|
74 " Options: cd9660
|
|
75 syn keyword fsOptionsKeywords contained extatt gens norrip nostrictjoilet
|
|
76
|
|
77 " Options: devpts
|
|
78 " -- everything already defined
|
|
79
|
|
80 " Options: ext2
|
834
|
81 syn match fsOptionsKeywords contained /\<check=*/ nextgroup=@fsOptionsCheckCluster
|
|
82 syn match fsOptionsKeywords contained /\<errors=/ nextgroup=fsOptionsExt2Errors
|
|
83 syn match fsOptionsKeywords contained /\<\%(res[gu]id\|sb\)=/ nextgroup=fsOptionsNumber
|
7
|
84 syn keyword fsOptionsExt2Check contained none normal strict
|
|
85 syn keyword fsOptionsExt2Errors contained continue panic
|
834
|
86 syn match fsOptionsExt2Errors contained /\<remount-ro\>/
|
|
87 syn keyword fsOptionsKeywords contained acl bsddf minixdf debug grpid bsdgroups minixdf noacl nocheck nogrpid oldalloc orlov sysvgroups nouid32 nobh user_xattr nouser_xattr
|
7
|
88
|
|
89 " Options: ext3
|
834
|
90 syn match fsOptionsKeywords contained /\<journal=/ nextgroup=fsOptionsExt3Journal
|
|
91 syn match fsOptionsKeywords contained /\<data=/ nextgroup=fsOptionsExt3Data
|
|
92 syn match fsOptionsKeywords contained /\<commit=/ nextgroup=fsOptionsNumber
|
7
|
93 syn keyword fsOptionsExt3Journal contained update inum
|
|
94 syn keyword fsOptionsExt3Data contained journal ordered writeback
|
2034
|
95 syn keyword fsOptionsKeywords contained noload user_xattr nouser_xattr acl noacl
|
|
96
|
|
97 " Options: ext4
|
|
98 syn match fsOptionsKeywords contained /\<journal=/ nextgroup=fsOptionsExt4Journal
|
|
99 syn match fsOptionsKeywords contained /\<data=/ nextgroup=fsOptionsExt4Data
|
|
100 syn match fsOptionsKeywords contained /\<barrier=/ nextgroup=fsOptionsExt4Barrier
|
|
101 syn match fsOptionsKeywords contained /\<journal_dev=/ nextgroup=fsOptionsNumber
|
|
102 syn match fsOptionsKeywords contained /\<resuid=/ nextgroup=fsOptionsNumber
|
|
103 syn match fsOptionsKeywords contained /\<resgid=/ nextgroup=fsOptionsNumber
|
|
104 syn match fsOptionsKeywords contained /\<sb=/ nextgroup=fsOptionsNumber
|
|
105 syn match fsOptionsKeywords contained /\<commit=/ nextgroup=fsOptionsNumber
|
|
106 syn keyword fsOptionsExt4Journal contained update inum
|
|
107 syn keyword fsOptionsExt4Data contained journal ordered writeback
|
|
108 syn match fsOptionsExt4Barrier /[0-1]/
|
|
109 syn keyword fsOptionsKeywords contained noload extents orlov oldalloc user_xattr nouser_xattr acl noacl reservation noreservation bsddf minixdf check=none nocheck debug grpid nogroupid sysvgroups bsdgroups quota noquota grpquota usrquota bh nobh
|
7
|
110
|
|
111 " Options: fat
|
834
|
112 syn match fsOptionsKeywords contained /\<blocksize=/ nextgroup=fsOptionsSize
|
|
113 syn match fsOptionsKeywords contained /\<\%([dfu]mask\|codepage\)=/ nextgroup=fsOptionsNumberOctal
|
7
|
114 syn match fsOptionsKeywords contained /\%(cvf_\%(format\|option\)\|iocharset\)=/ nextgroup=fsOptionsString
|
834
|
115 syn match fsOptionsKeywords contained /\<check=/ nextgroup=@fsOptionsCheckCluster
|
|
116 syn match fsOptionsKeywords contained /\<conv=*/ nextgroup=fsOptionsConv
|
|
117 syn match fsOptionsKeywords contained /\<fat=/ nextgroup=fsOptionsFatType
|
|
118 syn match fsOptionsKeywords contained /\<dotsOK=/ nextgroup=fsOptionsYesNo
|
7
|
119 syn keyword fsOptionsFatCheck contained r n s relaxed normal strict
|
|
120 syn keyword fsOptionsConv contained b t a binary text auto
|
|
121 syn keyword fsOptionsFatType contained 12 16 32
|
|
122 syn keyword fsOptionsKeywords contained quiet sys_immutable showexec dots nodots
|
|
123
|
834
|
124 " Options: hfs
|
|
125 syn match fsOptionsKeywords contained /\<\%(creator|type\)=/ nextgroup=fsOptionsString
|
|
126 syn match fsOptionsKeywords contained /\<\%(dir\|file\|\)_umask=/ nextgroup=fsOptionsNumberOctal
|
|
127 syn match fsOptionsKeywords contained /\<\%(session\|part\)=/ nextgroup=fsOptionsNumber
|
|
128
|
1118
|
129 " Options: ffs
|
|
130 syn keyword fsOptionsKeyWords contained softdep
|
|
131
|
7
|
132 " Options: hpfs
|
834
|
133 syn match fsOptionsKeywords contained /\<case=/ nextgroup=fsOptionsHpfsCase
|
7
|
134 syn keyword fsOptionsHpfsCase contained lower asis
|
|
135
|
|
136 " Options: iso9660
|
834
|
137 syn match fsOptionsKeywords contained /\<map=/ nextgroup=fsOptionsIsoMap
|
|
138 syn match fsOptionsKeywords contained /\<block=/ nextgroup=fsOptionsSize
|
|
139 syn match fsOptionsKeywords contained /\<\%(session\|sbsector\)=/ nextgroup=fsOptionsNumber
|
7
|
140 syn keyword fsOptionsIsoMap contained n o a normal off acorn
|
|
141 syn keyword fsOptionsKeywords contained norock nojoilet unhide cruft
|
|
142 syn keyword fsOptionsConv contained m mtext
|
|
143
|
834
|
144 " Options: jfs
|
|
145 syn keyword fsOptionsKeywords nointegrity integrity
|
|
146
|
7
|
147 " Options: nfs
|
834
|
148 syn match fsOptionsKeywords contained /\<\%(rsize\|wsize\|timeo\|retrans\|acregmin\|acregmax\|acdirmin\|acdirmax\|actimeo\|retry\|port\|mountport\|mounthost\|mountprog\|mountvers\|nfsprog\|nfsvers\|namelen\)=/ nextgroup=fsOptionsString
|
7
|
149 syn keyword fsOptionsKeywords contained bg fg soft hard intr cto ac tcp udp lock nobg nofg nosoft nohard nointr noposix nocto noac notcp noudp nolock
|
|
150
|
|
151 " Options: ntfs
|
834
|
152 syn match fsOptionsKeywords contained /\<\%(posix=*\|uni_xlate=\)/ nextgroup=fsOptionsNumber
|
7
|
153 syn keyword fsOptionsKeywords contained utf8
|
|
154
|
|
155 " Options: proc
|
|
156 " -- everything already defined
|
|
157
|
|
158 " Options: reiserfs
|
834
|
159 syn match fsOptionsKeywords contained /\<hash=/ nextgroup=fsOptionsReiserHash
|
|
160 syn match fsOptionsKeywords contained /\<resize=/ nextgroup=fsOptionsNumber
|
7
|
161 syn keyword fsOptionsReiserHash contained rupasov tea r5 detect
|
|
162 syn keyword fsOptionsKeywords contained hashed_relocation noborder nolog notail no_unhashed_relocation replayonly
|
|
163
|
1618
|
164 " Options: sshfs
|
|
165 syn match fsOptionsKeywords contained /\<\%(BatchMode\|ChallengeResponseAuthentication\|CheckHostIP\|ClearAllForwardings\|Compression\|EnableSSHKeysign\|ForwardAgent\|ForwardX11\|ForwardX11Trusted\|GatewayPorts\|GSSAPIAuthentication\|GSSAPIDelegateCredentials\|HashKnownHosts\|HostbasedAuthentication\|IdentitiesOnly\|NoHostAuthenticationForLocalhost\|PasswordAuthentication\|PubkeyAuthentication\|RhostsRSAAuthentication\|RSAAuthentication\|TCPKeepAlive\|UsePrivilegedPort\|cache\)=/ nextgroup=fsOptionsYesNo
|
|
166 syn match fsOptionsKeywords contained /\<\%(ControlMaster\|StrictHostKeyChecking\|VerifyHostKeyDNS\)=/ nextgroup=fsOptionsSshYesNoAsk
|
|
167 syn match fsOptionsKeywords contained /\<\%(AddressFamily\|BindAddress\|Cipher\|Ciphers\|ControlPath\|DynamicForward\|EscapeChar\|GlobalKnownHostsFile\|HostKeyAlgorithms\|HostKeyAlias\|HostName\|IdentityFile\|KbdInteractiveDevices\|LocalForward\|LogLevel\|MACs\|PreferredAuthentications\|Protocol\|ProxyCommand\|RemoteForward\|RhostsAuthentication\|SendEnv\|SmartcardDevice\|User\|UserKnownHostsFile\|XAuthLocation\|comment\|workaround\|idmap\|ssh_command\|sftp_server\|fsname\)=/ nextgroup=fsOptionsString
|
|
168 syn match fsOptionsKeywords contained /\<\%(CompressionLevel\|ConnectionAttempts\|ConnectTimeout\|NumberOfPasswordPrompts\|Port\|ServerAliveCountMax\|ServerAliveInterval\|cache_timeout\|cache_X_timeout\|ssh_protocol\|directport\|max_read\|umask\|uid\|gid\|entry_timeout\|negative_timeout\|attr_timeout\)=/ nextgroup=fsOptionsNumber
|
|
169 syn keyword fsOptionsKeywords contained reconnect sshfs_sync no_readahead sshfs_debug transform_symlinks allow_other allow_root nonempty default_permissions large_read hard_remove use_ino readdir_ino direct_io kernel_cache
|
|
170 syn keyword fsOptionsSshYesNoAsk contained yes no ask
|
|
171
|
834
|
172 " Options: subfs
|
|
173 syn match fsOptionsKeywords contained /\<fs=/ nextgroup=fsOptionsString
|
|
174 syn keyword fsOptionsKeywords contained procuid
|
|
175
|
|
176 " Options: swap
|
|
177 syn match fsOptionsKeywords contained /\<pri=/ nextgroup=fsOptionsNumber
|
|
178
|
|
179 " Options: tmpfs
|
|
180 syn match fsOptionsKeywords contained /\<nr_\%(blocks\|inodes\)=/ nextgroup=fsOptionsNumber
|
|
181
|
7
|
182 " Options: udf
|
834
|
183 syn match fsOptionsKeywords contained /\<\%(anchor\|partition\|lastblock\|fileset\|rootdir\)=/ nextgroup=fsOptionsString
|
7
|
184 syn keyword fsOptionsKeywords contained unhide undelete strict novrs
|
|
185
|
|
186 " Options: ufs
|
834
|
187 syn match fsOptionsKeywords contained /\<ufstype=/ nextgroup=fsOptionsUfsType
|
|
188 syn match fsOptionsKeywords contained /\<onerror=/ nextgroup=fsOptionsUfsError
|
|
189 syn keyword fsOptionsUfsType contained old hp 44bsd sun sunx86 nextstep openstep
|
|
190 syn match fsOptionsUfsType contained /\<nextstep-cd\>/
|
7
|
191 syn keyword fsOptionsUfsError contained panic lock umount repair
|
|
192
|
834
|
193 " Options: usbfs
|
|
194 syn match fsOptionsKeywords contained /\<\%(dev\|bus\|list\)\%(id\|gid\)=/ nextgroup=fsOptionsNumber
|
|
195 syn match fsOptionsKeywords contained /\<\%(dev\|bus\|list\)mode=/ nextgroup=fsOptionsNumberOctal
|
|
196
|
7
|
197 " Options: vfat
|
|
198 syn keyword fsOptionsKeywords contained nonumtail posix utf8
|
|
199 syn match fsOptionsKeywords contained /shortname=/ nextgroup=fsOptionsVfatShortname
|
|
200 syn keyword fsOptionsVfatShortname contained lower win95 winnt mixed
|
|
201
|
|
202 " Options: xfs
|
|
203 syn match fsOptionsKeywords contained /\%(biosize\|logbufs\|logbsize\|logdev\|rtdev\|sunit\|swidth\)=/ nextgroup=fsOptionsString
|
834
|
204 syn keyword fsOptionsKeywords contained dmapi xdsm noalign noatime noquota norecovery osyncisdsync quota usrquota uqnoenforce grpquota gqnoenforce
|
7
|
205
|
|
206 " Frequency / Pass No.
|
|
207 syn cluster fsFreqPassCluster contains=fsFreqPassNumber,fsFreqPassError
|
|
208 syn match fsFreqPassError /\s\+\zs\%(\D.*\|\S.*\|\d\+\s\+[^012]\)\ze/ contained
|
|
209 syn match fsFreqPassNumber /\d\+\s\+[012]\s*/ contained
|
|
210
|
|
211 " Groups
|
|
212 syn match fsDevice /^\s*\zs.\{-1,}\s/me=e-1 nextgroup=fsMountPoint contains=@fsDeviceCluster,@fsGeneralCluster
|
|
213 syn match fsMountPoint /\s\+.\{-}\s/me=e-1 nextgroup=fsType contains=@fsMountPointCluster,@fsGeneralCluster contained
|
|
214 syn match fsType /\s\+.\{-}\s/me=e-1 nextgroup=fsOptions contains=@fsTypeCluster,@fsGeneralCluster contained
|
|
215 syn match fsOptions /\s\+.\{-}\s/me=e-1 nextgroup=fsFreqPass contains=@fsOptionsCluster,@fsGeneralCluster contained
|
|
216 syn match fsFreqPass /\s\+.\{-}$/ contains=@fsFreqPassCluster,@fsGeneralCluster contained
|
|
217
|
|
218 " Whole line comments
|
|
219 syn match fsCommentLine /^#.*$/
|
|
220
|
|
221 if version >= 508 || !exists("did_config_syntax_inits")
|
|
222 if version < 508
|
|
223 let did_config_syntax_inits = 1
|
|
224 command! -nargs=+ HiLink hi link <args>
|
|
225 else
|
|
226 command! -nargs=+ HiLink hi def link <args>
|
|
227 endif
|
|
228
|
|
229 HiLink fsOperator Operator
|
|
230 HiLink fsComment Comment
|
|
231 HiLink fsCommentLine Comment
|
|
232
|
|
233 HiLink fsTypeKeyword Type
|
|
234 HiLink fsDeviceKeyword Identifier
|
|
235 HiLink fsDeviceLabel String
|
1118
|
236 HiLink fsDeviceUUID String
|
1618
|
237 HiLink fsDeviceSshfs String
|
7
|
238 HiLink fsFreqPassNumber Number
|
|
239
|
1118
|
240 if exists('fstab_unknown_fs_errors') && fstab_unknown_fs_errors == 1
|
834
|
241 HiLink fsTypeUnknown Error
|
|
242 endif
|
1618
|
243
|
7
|
244 HiLink fsDeviceError Error
|
|
245 HiLink fsMountPointError Error
|
|
246 HiLink fsMountPointKeyword Keyword
|
|
247 HiLink fsFreqPassError Error
|
|
248
|
|
249 HiLink fsOptionsGeneral Type
|
|
250 HiLink fsOptionsKeywords Keyword
|
|
251 HiLink fsOptionsNumber Number
|
|
252 HiLink fsOptionsNumberOctal Number
|
|
253 HiLink fsOptionsString String
|
|
254 HiLink fsOptionsSize Number
|
|
255 HiLink fsOptionsExt2Check String
|
|
256 HiLink fsOptionsExt2Errors String
|
|
257 HiLink fsOptionsExt3Journal String
|
|
258 HiLink fsOptionsExt3Data String
|
2034
|
259 HiLink fsOptionsExt4Journal String
|
|
260 HiLink fsOptionsExt4Data String
|
|
261 HiLink fsOptionsExt4Barrier Number
|
7
|
262 HiLink fsOptionsFatCheck String
|
|
263 HiLink fsOptionsConv String
|
|
264 HiLink fsOptionsFatType Number
|
|
265 HiLink fsOptionsYesNo String
|
|
266 HiLink fsOptionsHpfsCase String
|
|
267 HiLink fsOptionsIsoMap String
|
|
268 HiLink fsOptionsReiserHash String
|
1618
|
269 HiLink fsOptionsSshYesNoAsk String
|
7
|
270 HiLink fsOptionsUfsType String
|
|
271 HiLink fsOptionsUfsError String
|
|
272
|
|
273 HiLink fsOptionsVfatShortname String
|
|
274
|
|
275 delcommand HiLink
|
|
276 endif
|
|
277
|
|
278 let b:current_syntax = "fstab"
|
|
279
|
|
280 " vim: ts=8 ft=vim
|