<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language>

<language name="fstab" version="5" kateversion="5.0" section="Configuration" extensions="fstab;mtab" author="Diego Iastrubni (elcuco@kde.org)" license="Public Domain" >
	<highlighting>
		<list name="valid_fs">
			<item>ext2</item>
			<item>ext3</item>
			<item>fat</item>
			<item>vfat</item>
			<item>reiser</item>
			<item>proc</item>
			<item>none</item>
			<item>sysfs</item>
			<item>ntfs</item>
			<item>umsdos</item>
			<item>swap</item>
			<item>minix</item>
			<item>iso9660</item>
		</list>
		
		<contexts>
			<!-- <file system> <mount point> <type> <options> <dump>  <pass>  -->
			<context name="device"      attribute="Device"      lineEndContext="#stay">
				<DetectChar context="comment"  char="#" firstNonSpace="1" />
				<DetectSpaces context="mount_point" />
			</context>

			<context name="mount_point" attribute="Mount Point" lineEndContext="device" >
				<DetectChar context="comment"  char="#" firstNonSpace="1" />
				<DetectSpaces context="_type" />
			</context>
						
			<context name="_type" attribute="Normal" lineEndContext="device" >
				<DetectChar context="comment"  char="#" firstNonSpace="1" />
				<RegExpr context="type" String="[\S]*" />
			</context>
			
			<context name="type" attribute="Type" lineEndContext="device" >
				<DetectChar context="comment"  char="#" firstNonSpace="1" />
				<keyword    context="#stay"  attribute="Valid FileSystem" String="valid_fs" />
				<DetectSpaces context="options"/>
			</context>
				
			<context name="options" attribute="Options" lineEndContext="device" >
				<DetectChar context="comment"  char="#" firstNonSpace="1" />
				<DetectSpaces context="dump"/>
			</context>
			
			<context name="dump" attribute="Dump" lineEndContext="device" >
				<DetectChar context="comment"  char="#" firstNonSpace="1" />
				<DetectSpaces context="pass"/>
			</context>
			
			<context name="pass" attribute="Pass" lineEndContext="device" >
				<DetectChar context="comment"  char="#" firstNonSpace="1" />
				<DetectSpaces context="__error"/>
			</context>
			
			<context name="__error" attribute="Pass" lineEndContext="device" >
				<DetectChar context="comment"  char="#" />
				<RegExpr context="error" String="[\S]*"/>
			</context>
			
			<!-- error -->
			<context name="error" attribute="Error" lineEndContext="device" >
			</context>
			
			<!-- comment -->
			<context name="comment" attribute="Comment" lineEndContext="#pop" >
				<DetectSpaces />
				<IncludeRules context="##Comments" />
			</context>
		</contexts>
		
		<itemDatas>
			<itemData name="Device"     defStyleNum="dsKeyword" spellChecking="false"/>
			<itemData name="Mount Point" defStyleNum="dsDataType"  spellChecking="false"/>
			<itemData name="Type"       defStyleNum="dsFunction"  spellChecking="false"/>
			<itemData name="Options"    defStyleNum="dsAttribute"  spellChecking="false"/>
			<itemData name="Dump"       defStyleNum="dsDecVal"  spellChecking="false"/>
			<itemData name="Pass"       defStyleNum="dsDecVal"  spellChecking="false"/>
			
			<itemData name="Valid FileSystem" defStyleNum="dsDataType" italic="1" spellChecking="false"/>
			
			<itemData name="Normal"     defStyleNum="dsNormal" spellChecking="false"/>
			<itemData name="Comment"    defStyleNum="dsComment" />
			<itemData name="Error"      defStyleNum="dsError" spellChecking="false"/>
		</itemDatas>
	</highlighting>
	
	<general>
		<comments>
			<comment name="singleLine" start="#" />
		</comments>
	</general>
</language>
<!-- kate: replace-tabs off; -->
