<?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-completions</string>
	</array>
	<key>name</key>
	<string>Sublime Completions</string>
	<key>patterns</key>
	<array>
		<dict>
			<key>include</key>
			<string>#completionsDict</string>
		</dict>
	</array>
	<key>repository</key>
	<dict>
		<key>completionsDict</key>
		<dict>
			<key>begin</key>
			<string>\{</string>
			<key>contentName</key>
			<string>meta.completions.dictionary.sublimecompletions</string>
			<key>end</key>
			<string>\}</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#scope</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#completionsList</string>
				</dict>
			</array>
		</dict>
		<key>completionsList</key>
		<dict>
			<key>begin</key>
			<string>"(completions)"\s*?:\s*?</string>
			<key>beginCaptures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>keyword.key.sublimecompletions</string>
				</dict>
			</dict>
			<key>contentName</key>
			<string>meta.completions.array.sublimecompletions</string>
			<key>end</key>
			<string>(?&lt;=\])</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>\[</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#triggerCompletion</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#simpleCompletion</string>
				</dict>
			</array>
		</dict>
		<key>scope</key>
		<dict>
			<key>captures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>keyword.key.sublimecompletions</string>
				</dict>
				<key>2</key>
				<dict>
					<key>name</key>
					<string>string.scope.selector.sublimecompletions</string>
				</dict>
			</dict>
			<key>match</key>
			<string>"(scope)"\s*?:\s*?"([a-zA-Z0-9. ,-]+)"</string>
		</dict>
		<key>simpleCompletion</key>
		<dict>
			<key>captures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>string.completion.simple.sublimecompletions</string>
				</dict>
			</dict>
			<key>match</key>
			<string>"([a-zA-Z0-9_.]+)"</string>
		</dict>
		<key>triggerCompletion</key>
		<dict>
			<key>begin</key>
			<string>\{</string>
			<key>contentName</key>
			<string>meta.completion.trigger-based.sublimecompletions</string>
			<key>end</key>
			<string>\}</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>support.function.key.sublimecompletions</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>string.trigger.name.sublimecompletions</string>
						</dict>
					</dict>
					<key>match</key>
					<string>"(trigger)"\s*?:\s*?"([a-zA-Z0-9_.-]+)"</string>
				</dict>
				<dict>
					<key>begin</key>
					<string>"(contents)"\s*?:\s*?"</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>support.function.key.sublimecompletions</string>
						</dict>
					</dict>
					<key>comment</key>
					<string>XXX: rules below are becoming a mess. escaped $ does not work at the moment after escaped backslashes.</string>
					<key>contentName</key>
					<string>source.sublimesnippetraw</string>
					<key>end</key>
					<string>"</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>match</key>
							<string>\\\\(?:\$)</string>
							<key>name</key>
							<string>constant.character.escape.sequence.snippet.sublimecompletions</string>
						</dict>
						<dict>
							<key>match</key>
							<string>\\(?:[tvbarn"\\])</string>
							<key>name</key>
							<string>entity.other.attribute-name.escape.sequence.json.sublimecompletions</string>
						</dict>
						<dict>
							<key>match</key>
							<string>\$(?!\{|[0-9A-Za-z])</string>
							<key>name</key>
							<string>invalid.illegal.unescaped.characters.sublimecompletions</string>
						</dict>
						<dict>
							<key>include</key>
							<string>source.sublimesnippetraw</string>
						</dict>
						<dict>
							<key>match</key>
							<string>.*?</string>
							<key>name</key>
							<string>string.snippet.sublimecompletions</string>
						</dict>
					</array>
				</dict>
			</array>
		</dict>
	</dict>
	<key>scopeName</key>
	<string>source.sublimecompletions</string>
	<key>uuid</key>
	<string>3abbb928-3b6a-49b9-903f-150c021accb2</string>
</dict>
</plist>
