<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>fileTypes</key>
	<array>
		<string>rn</string>
	</array>
	<key>foldingStartMarker</key>
	<string>^.*\bfn\s*(\w+\s*)?\([^\)]*\)(\s*\{[^\}]*)?\s*$</string>
	<key>foldingStopMarker</key>
	<string>^\s*\}</string>
	<key>name</key>
	<string>Rune</string>
	<key>patterns</key>
	<array>
		<dict>
			<key>match</key>
			<string>'[a-zA-Z_][a-zA-Z0-9_]*(?=[^\'])</string>
			<key>name</key>
			<string>variable.other.source.rune</string>
		</dict>
		<dict>
			<key>begin</key>
			<string>'</string>
			<key>end</key>
			<string>'</string>
			<key>name</key>
			<string>string.quoted.single.source.rune</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#rune_escaped_character</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>"</string>
			<key>end</key>
			<string>"</string>
			<key>name</key>
			<string>string.quoted.double.source.rune</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#rune_escaped_character</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>`</string>
			<key>end</key>
			<string>`</string>
			<key>name</key>
			<string>string.quoted.double.source.rune</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#rune_escaped_character</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>captures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>keyword.source.rune</string>
				</dict>
				<key>2</key>
				<dict>
					<key>name</key>
					<string>entity.name.function.source.rune</string>
				</dict>
				<key>3</key>
				<dict>
					<key>name</key>
					<string>keyword.operator.rune</string>
				</dict>
			</dict>
			<key>match</key>
			<string>\b(fn)\s+([a-zA-Z_][a-zA-Z0-9_]?[\w\:,+ \'&lt;&gt;]*)\s*(\()</string>
			<key>name</key>
			<string>meta.function.source.rune</string>
		</dict>
		<dict>
			<key>match</key>
			<string>\b(as|break|claim|const|copy|Copy|do|drop|else|extern|for|if|impl|in|let|loop|match|mod|mut|Owned|priv|pub|pure|ref|return|unsafe|use|while|mod|Send|static|trait|struct|enum|type)\b</string>
			<key>name</key>
			<string>keyword.source.rune</string>
		</dict>
		<dict>
			<key>match</key>
			<string>\b(Self|int|float|unit|char|bool|String|Bytes|GeneratorState|Generator|Future|Option|Result)\b</string>
			<key>name</key>
			<string>storage.type.source.rune</string>
		</dict>
		<dict>
			<key>match</key>
			<string>\bself\b</string>
			<key>name</key>
			<string>variable.language.source.rune</string>
		</dict>
		<dict>
			<key>match</key>
			<string>\b(true|false|Some|None|Left|Right|Ok|Err)\b</string>
			<key>name</key>
			<string>constant.language.source.rune</string>
		</dict>
		<dict>
			<key>match</key>
			<string>\b(EXIT_FAILURE|EXIT_SUCCESS|RAND_MAX|EOF|SEEK_SET|SEEK_CUR|SEEK_END|_IOFBF|_IONBF|_IOLBF|BUFSIZ|FOPEN_MAX|FILENAME_MAX|L_tmpnam|TMP_MAX|O_RDONLY|O_WRONLY|O_RDWR|O_APPEND|O_CREAT|O_EXCL|O_TRUNC|S_IFIFO|S_IFCHR|S_IFBLK|S_IFDIR|S_IFREG|S_IFMT|S_IEXEC|S_IWRITE|S_IREAD|S_IRWXU|S_IXUSR|S_IWUSR|S_IRUSR|F_OK|R_OK|W_OK|X_OK|STDIN_FILENO|STDOUT_FILENO|STDERR_FILENO)\b</string>
			<key>name</key>
			<string>support.constant.source.rune</string>
		</dict>
		<dict>
			<key>match</key>
			<string>^(\w\(\w\)*!)|(#\[[\w=\(\)_]+\])$</string>
			<key>name</key>
			<string>comment.block.preprocessor.rune</string>
		</dict>
		<dict>
			<key>match</key>
			<string>\{|\}</string>
			<key>name</key>
			<string>keyword.operator.rune</string>
		</dict>
		<dict>
			<key>match</key>
			<string>\(|\)</string>
			<key>name</key>
			<string>keyword.operator.rune</string>
		</dict>
		<dict>
			<key>match</key>
			<string>\[|\]</string>
			<key>name</key>
			<string>keyword.operator.rune</string>
		</dict>
		<dict>
			<key>match</key>
			<string>\b(([0-9][0-9_]*)|([0-9][0-9_]*(u|u8|u16|u32|u64))|([0-9][0-9_]*))\b</string>
			<key>name</key>
			<string>constant.numeric.integer.source.rune</string>
		</dict>
		<dict>
			<key>match</key>
			<string>\b((0x[a-fA-F0-9_]+)|(0x[a-fA-F0-9_]+(u|u8|u16|u32|u64))|(0x[a-fA-F0-9_]+))\b</string>
			<key>name</key>
			<string>constant.numeric.hex.source.rune</string>
		</dict>
		<dict>
			<key>match</key>
			<string>\b((0b[01_]+)|(0b[01_]+(u|u8|u16|u32|u64))|(0b[01_]+))\b</string>
			<key>name</key>
			<string>constant.numeric.binary.source.rune</string>
		</dict>
		<dict>
			<key>match</key>
			<string>([0-9][0-9_]*(f32|f64|f))|([0-9][0-9_]*([eE][+-]=[0-9_]+))|([0-9][0-9_]*([eE][+-]=[0-9_]+)(f32|f64|f))|([0-9][0-9_]*\.[0-9_]+)|([0-9][0-9_]*\.[0-9_]+(f32|f64|f))|([0-9][0-9_]*\.[0-9_]+%([eE][+-]=[0-9_]+))|([0-9][0-9_]*\.[0-9_]+%([eE][+-]=[0-9_]+)(f32|f64|f))</string>
			<key>name</key>
			<string>constant.numeric.float.source.rune</string>
		</dict>
		<dict>
			<key>begin</key>
			<string>//!</string>
			<key>end</key>
			<string>$\n</string>
			<key>name</key>
			<string>comment.line.documentation.source.rune</string>
		</dict>
		<dict>
			<key>begin</key>
			<string>//</string>
			<key>end</key>
			<string>$\n</string>
			<key>name</key>
			<string>comment.line.double-dash.source.rune</string>
		</dict>
		<dict>
			<key>begin</key>
			<string>/\*</string>
			<key>end</key>
			<string>\*/</string>
			<key>name</key>
			<string>comment.block.source.rune</string>
		</dict>
		<dict>
			<key>match</key>
			<string>(=&gt;)|(-&gt;)|[-:=*,!.+|%/&amp;~@&lt;&gt;;]</string>
			<key>name</key>
			<string>keyword.operator.rune</string>
		</dict>
		<dict>
			<key>match</key>
			<string>_</string>
			<key>name</key>
			<string>support.function.rune</string>
		</dict>
	</array>
	<key>repository</key>
	<dict>
		<key>rune_escaped_character</key>
		<dict>
			<key>match</key>
			<string>\\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)</string>
			<key>name</key>
			<string>constant.character.escape.source.rune</string>
		</dict>
	</dict>
	<key>scopeName</key>
	<string>source.rune</string>
	<key>uuid</key>
	<string>4339386b-4d67-4f0e-9e78-09ecbcddf71d</string>
</dict>
</plist>
