<?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>sublime-keymap</string>
	</array>
	<key>name</key>
	<string>Sublime Text Key Map</string>
	<key>patterns</key>
	<array>
		<dict>
			<key>include</key>
			<string>#multiLineComment</string>
		</dict>
		<dict>
			<key>include</key>
			<string>#lineComment</string>
		</dict>
		<dict>
			<key>begin</key>
			<string>(^\[$)</string>
			<key>contentName</key>
			<string>meta.keybinding.collection.sublimekeymap</string>
			<key>end</key>
			<string>(^\]$)</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#multiLineComment</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#lineComment</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#keys</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#mainKeys</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#supportKeys</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#string</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#numericPrimitives</string>
				</dict>
			</array>
		</dict>
	</array>
	<key>repository</key>
	<dict>
		<key>keys</key>
		<dict>
			<key>begin</key>
			<string>"(keys)": \[</string>
			<key>beginCaptures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>keyword.other.sublimekeymap</string>
				</dict>
			</dict>
			<key>end</key>
			<string>\],</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>begin</key>
					<string>(")</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.keybinding.definition.key.sequence.start.sublimekeymap</string>
						</dict>
					</dict>
					<key>contentName</key>
					<string>meta.key.sequence.sublimekeymap</string>
					<key>end</key>
					<string>(?&lt;!\\)(")</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.keybinding.definition.key.sequence.end.sublime.sublimekeymap</string>
						</dict>
					</dict>
					<key>patterns</key>
					<array>
						<dict>
							<key>match</key>
							<string>(?&lt;!shift|ctrl|alt|super|\+)\+</string>
							<key>name</key>
							<string>invalid.illegal.key.sequence.sublimekeymap</string>
						</dict>
						<dict>
							<key>captures</key>
							<dict>
								<key>1</key>
								<dict>
									<key>name</key>
									<string>support.function.modifier.key.sublimekeymap</string>
								</dict>
								<key>2</key>
								<dict>
									<key>name</key>
									<string>keyword.modifier.key.connector.sublimekeymap</string>
								</dict>
							</dict>
							<key>match</key>
							<string>(shift|ctrl|alt|super)(\+)</string>
						</dict>
						<dict>
							<key>match</key>
							<string>f(?:[2-9]\d+|\d{3,})</string>
							<key>name</key>
							<string>invalid.illegal.key.sublimekeymap</string>
						</dict>
						<dict>
							<key>match</key>
							<string>\b(?:up|down|right|left|insert|home|end|pageup|pagedown|backspace|delete|tab|enter|pause|escape|space|keypad[0-9]|keypad_(?:period|divide|multiply|minus|plus|enter)|clear|sysreq|break|context_menu|browser_(?:back|forward|refresh|stop|search|favorites|home)|forward_slash|backquote|plus|equals|minus|f(20|1[0-9]|[1-9]))\b</string>
							<key>name</key>
							<string>entity.other.attribute-name.key.named.sublimekeymap</string>
						</dict>
						<dict>
							<key>match</key>
							<string>[A-Za-z0-9,;.:_=+-]{2,}</string>
							<key>name</key>
							<string>invalid.illegal.key.sublimekeymap</string>
						</dict>
						<dict>
							<key>captures</key>
							<dict>
								<key>1</key>
								<dict>
									<key>name</key>
									<string>entity.other.attribute-name.key.captured.sublimekeymap</string>
								</dict>
							</dict>
							<key>match</key>
							<string>&lt;(character)&gt;</string>
							<key>name</key>
							<string>keyword.control.other.sublimekeymap</string>
						</dict>
						<dict>
							<key>comment</key>
							<string>XXX What's invalid for key names?</string>
							<key>match</key>
							<string>.{1}</string>
							<key>name</key>
							<string>string.key.literal.sublimekeymap</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>match</key>
					<string>[^\s,]</string>
					<key>name</key>
					<string>invalid.illegal.key.sequence.sublimekeymap</string>
				</dict>
			</array>
		</dict>
		<key>lineComment</key>
		<dict>
			<key>match</key>
			<string>//.*?$</string>
			<key>name</key>
			<string>comment.single.line.sublimekeymap</string>
		</dict>
		<key>mainKeys</key>
		<dict>
			<key>captures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>keyword.other.sublimekeymap</string>
				</dict>
			</dict>
			<key>match</key>
			<string>"(command|args|context|key)":</string>
		</dict>
		<key>multiLineComment</key>
		<dict>
			<key>begin</key>
			<string>/\*</string>
			<key>end</key>
			<string>\*/</string>
			<key>name</key>
			<string>comment.single.line.sublimekeymap</string>
		</dict>
		<key>numericPrimitives</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>\b(?:true|false)\b</string>
					<key>name</key>
					<string>constant.numeric.boolean.sublimekeymap</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\d+(?:\.\d+)?</string>
					<key>name</key>
					<string>constant.numeric.sublimekeymap</string>
				</dict>
			</array>
		</dict>
		<key>string</key>
		<dict>
			<key>begin</key>
			<string>"</string>
			<key>contentName</key>
			<string>string.double.quote.sublimekeymap</string>
			<key>end</key>
			<string>(?&lt;!\\)"</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>source.sublimesnippetraw</string>
				</dict>
			</array>
		</dict>
		<key>supportKeys</key>
		<dict>
			<key>captures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>support.function.sublimekeymap</string>
				</dict>
			</dict>
			<key>match</key>
			<string>"([A-z]+?)":</string>
		</dict>
	</dict>
	<key>scopeName</key>
	<string>source.sublimekeymap</string>
	<key>uuid</key>
	<string>f56e1baa-51fc-4791-a9d9-21301f2e3a01</string>
</dict>
</plist>
