<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>fileTypes</key>
	<array>
		<string>sh</string>
		<string>bash</string>
		<string>zsh</string>
		<string>.bashrc</string>
		<string>.bash_profile</string>
		<string>.bash_login</string>
		<string>.profile</string>
		<string>.bash_logout</string>
		<string>.textmate_init</string>
	</array>
	<key>firstLineMatch</key>
	<string>^#!.*\b(bash|zsh|sh|tcsh)|^#\s*-\*-[^*]*mode:\s*shell-script[^*]*-\*-</string>
	<key>foldingStartMarker</key>
	<string>\b(if|case)\b|(\{|\b(do)\b)$</string>
	<key>foldingStopMarker</key>
	<string>^\s*(\}|(done|fi|esac)\b)</string>
	<key>keyEquivalent</key>
	<string>^~S</string>
	<key>name</key>
	<string>Shell Script (Bash)</string>
	<key>patterns</key>
	<array>
		<dict>
			<key>include</key>
			<string>#comment</string>
		</dict>
		<dict>
			<key>include</key>
			<string>#pipeline</string>
		</dict>
		<dict>
			<key>include</key>
			<string>#list</string>
		</dict>
		<dict>
			<key>include</key>
			<string>#compound-command</string>
		</dict>
		<dict>
			<key>include</key>
			<string>#loop</string>
		</dict>
		<dict>
			<key>include</key>
			<string>#function-definition</string>
		</dict>
		<dict>
			<key>include</key>
			<string>#string</string>
		</dict>
		<dict>
			<key>include</key>
			<string>#variable</string>
		</dict>
		<dict>
			<key>include</key>
			<string>#interpolation</string>
		</dict>
		<dict>
			<key>include</key>
			<string>#heredoc</string>
		</dict>
		<dict>
			<key>include</key>
			<string>#herestring</string>
		</dict>
		<dict>
			<key>include</key>
			<string>#redirection</string>
		</dict>
		<dict>
			<key>include</key>
			<string>#pathname</string>
		</dict>
		<dict>
			<key>include</key>
			<string>#keyword</string>
		</dict>
		<dict>
			<key>include</key>
			<string>#support</string>
		</dict>
	</array>
	<key>repository</key>
	<dict>
		<key>case-clause</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>begin</key>
					<string>(?=\S)</string>
					<key>end</key>
					<string>;;</string>
					<key>endCaptures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.terminator.case-clause.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>meta.scope.case-clause.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>begin</key>
							<string>(\(|(?=\S))</string>
							<key>captures</key>
							<dict>
								<key>0</key>
								<dict>
									<key>name</key>
									<string>punctuation.definition.case-pattern.shell</string>
								</dict>
							</dict>
							<key>end</key>
							<string>\)</string>
							<key>name</key>
							<string>meta.scope.case-pattern.shell</string>
							<key>patterns</key>
							<array>
								<dict>
									<key>match</key>
									<string>\|</string>
									<key>name</key>
									<string>punctuation.separator.pipe-sign.shell</string>
								</dict>
								<dict>
									<key>include</key>
									<string>#string</string>
								</dict>
								<dict>
									<key>include</key>
									<string>#variable</string>
								</dict>
								<dict>
									<key>include</key>
									<string>#interpolation</string>
								</dict>
								<dict>
									<key>include</key>
									<string>#pathname</string>
								</dict>
							</array>
						</dict>
						<dict>
							<key>begin</key>
							<string>(?&lt;=\))</string>
							<key>end</key>
							<string>(?=;;)</string>
							<key>name</key>
							<string>meta.scope.case-clause-body.shell</string>
							<key>patterns</key>
							<array>
								<dict>
									<key>include</key>
									<string>$self</string>
								</dict>
							</array>
						</dict>
					</array>
				</dict>
			</array>
		</dict>
		<key>comment</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.comment.shell</string>
						</dict>
					</dict>
					<key>match</key>
					<string>(?&lt;!\S)(#)(?!\{).*$\n?</string>
					<key>name</key>
					<string>comment.line.number-sign.shell</string>
				</dict>
			</array>
		</dict>
		<key>compound-command</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>begin</key>
					<string>(\[{2})</string>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.logical-expression.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>(\]{2})</string>
					<key>name</key>
					<string>meta.scope.logical-expression.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>#logical-expression</string>
						</dict>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>(\({2})</string>
					<key>beginCaptures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.begin.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>(\){2})</string>
					<key>endCaptures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.end.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>string.other.math.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>#math</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>(\()</string>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.subshell.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>(\))</string>
					<key>name</key>
					<string>meta.scope.subshell.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>(?&lt;=\s|^)(\{)(?=\s|$)</string>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.group.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>(?&lt;=^|;)\s*(\})</string>
					<key>name</key>
					<string>meta.scope.group.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
			</array>
		</dict>
		<key>function-definition</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>begin</key>
					<string>\b(function)\s+([^\s\\]+)(?:\s*(\(\)))?</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>storage.type.function.shell</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>entity.name.function.shell</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.arguments.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>;|&amp;|$</string>
					<key>endCaptures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.function.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>meta.function.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>\b([^\s\\=]+)\s*(\(\))</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>entity.name.function.shell</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.arguments.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>;|&amp;|$</string>
					<key>endCaptures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.function.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>meta.function.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
			</array>
		</dict>
		<key>heredoc</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>begin</key>
					<string>(&lt;&lt;)-("|'|)(RUBY)\2</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.operator.heredoc.shell</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>captures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.shell</string>
						</dict>
					</dict>
					<key>contentName</key>
					<string>source.ruby.embedded.shell</string>
					<key>end</key>
					<string>^\t*(RUBY)\b</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>string.unquoted.heredoc.no-indent.ruby.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>source.ruby</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>(&lt;&lt;)("|'|)(RUBY)\2</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.operator.heredoc.shell</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>captures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.shell</string>
						</dict>
					</dict>
					<key>contentName</key>
					<string>source.ruby.embedded.shell</string>
					<key>end</key>
					<string>^(RUBY)\b</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>string.unquoted.heredoc.ruby.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>source.ruby</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>(&lt;&lt;)-("|'|)(PYTHON)\2</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.operator.heredoc.shell</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>captures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.shell</string>
						</dict>
					</dict>
					<key>contentName</key>
					<string>source.python.embedded.shell</string>
					<key>end</key>
					<string>^\t*(PYTHON)\b</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>string.unquoted.heredoc.no-indent.python.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>source.python</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>(&lt;&lt;)("|'|)(PYTHON)\2</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.operator.heredoc.shell</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>captures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.shell</string>
						</dict>
					</dict>
					<key>contentName</key>
					<string>source.python.embedded.shell</string>
					<key>end</key>
					<string>^(PYTHON)\b</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>string.unquoted.heredoc.python.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>source.python</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>(&lt;&lt;)-("|'|)(APPLESCRIPT)\2</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.operator.heredoc.shell</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>captures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.shell</string>
						</dict>
					</dict>
					<key>contentName</key>
					<string>source.applescript.embedded.shell</string>
					<key>end</key>
					<string>^\t*(APPLESCRIPT)\b</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>string.unquoted.heredoc.no-indent.applescript.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>source.applescript</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>(&lt;&lt;)("|'|)(APPLESCRIPT)\2</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.operator.heredoc.shell</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>captures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.shell</string>
						</dict>
					</dict>
					<key>contentName</key>
					<string>source.applescript.embedded.shell</string>
					<key>end</key>
					<string>^(APPLESCRIPT)\b</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>string.unquoted.heredoc.applescript.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>source.applescript</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>(&lt;&lt;)-("|'|)(HTML)\2</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.operator.heredoc.shell</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>captures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.shell</string>
						</dict>
					</dict>
					<key>contentName</key>
					<string>text.html.embedded.shell</string>
					<key>end</key>
					<string>^\t*(HTML)\b</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>string.unquoted.heredoc.no-indent.html.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>text.html.basic</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>(&lt;&lt;)("|'|)(HTML)\2</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.operator.heredoc.shell</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>captures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.shell</string>
						</dict>
					</dict>
					<key>contentName</key>
					<string>text.html.embedded.shell</string>
					<key>end</key>
					<string>^(HTML)\b</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>string.unquoted.heredoc.html.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>text.html.basic</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>(&lt;&lt;)-("|'|)(MARKDOWN)\2</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.operator.heredoc.shell</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>captures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.shell</string>
						</dict>
					</dict>
					<key>contentName</key>
					<string>text.html.markdown.embedded.shell</string>
					<key>end</key>
					<string>^\t*(MARKDOWN)\b</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>string.unquoted.heredoc.no-indent.markdown.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>text.html.markdown</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>(&lt;&lt;)("|'|)(MARKDOWN)\2</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.operator.heredoc.shell</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>captures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.shell</string>
						</dict>
					</dict>
					<key>contentName</key>
					<string>text.html.markdown.embedded.shell</string>
					<key>end</key>
					<string>^(MARKDOWN)\b</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>string.unquoted.heredoc.markdown.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>text.html.markdown</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>(&lt;&lt;)-("|'|)(TEXTILE)\2</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.operator.heredoc.shell</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>captures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.shell</string>
						</dict>
					</dict>
					<key>contentName</key>
					<string>text.html.textile.embedded.shell</string>
					<key>end</key>
					<string>^\t*(TEXTILE)\b</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>string.unquoted.heredoc.no-indent.textile.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>text.html.textile</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>(&lt;&lt;)("|'|)(TEXTILE)\2</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.operator.heredoc.shell</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>captures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.shell</string>
						</dict>
					</dict>
					<key>contentName</key>
					<string>text.html.textile.embedded.shell</string>
					<key>end</key>
					<string>^(TEXTILE)\b</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>string.unquoted.heredoc.textile.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>text.html.textile</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>(&lt;&lt;)-("|'|)\\?(\w+)\2</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.operator.heredoc.shell</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>captures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>^\t*(\3)\b</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>string.unquoted.heredoc.no-indent.shell</string>
				</dict>
				<dict>
					<key>begin</key>
					<string>(&lt;&lt;)("|'|)\\?(\w+)\2</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.operator.heredoc.shell</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>captures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>^(\3)\b</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.heredoc-token.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>string.unquoted.heredoc.shell</string>
				</dict>
			</array>
		</dict>
		<key>herestring</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.operator.herestring.shell</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>string.quoted.single.herestring.shell</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.begin.shell</string>
						</dict>
						<key>4</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.end.shell</string>
						</dict>
					</dict>
					<key>match</key>
					<string>(&lt;&lt;&lt;)((')[^']*('))</string>
					<key>name</key>
					<string>meta.herestring.shell</string>
				</dict>
				<dict>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.operator.herestring.shell</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>string.quoted.double.herestring.shell</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.begin.shell</string>
						</dict>
						<key>6</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.end.shell</string>
						</dict>
					</dict>
					<key>match</key>
					<string>(&lt;&lt;&lt;)((")(\\("|\\)|[^"])*("))</string>
					<key>name</key>
					<string>meta.herestring.shell</string>
				</dict>
				<dict>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.operator.herestring.shell</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>string.unquoted.herestring.shell</string>
						</dict>
					</dict>
					<key>match</key>
					<string>(&lt;&lt;&lt;)(([^\s\\]|\\.)+)</string>
					<key>name</key>
					<string>meta.herestring.shell</string>
				</dict>
			</array>
		</dict>
		<key>interpolation</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>begin</key>
					<string>\$\({2}</string>
					<key>beginCaptures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.begin.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>\){2}</string>
					<key>endCaptures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.end.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>string.other.math.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>#math</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>`</string>
					<key>beginCaptures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.begin.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>`</string>
					<key>endCaptures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.end.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>string.interpolated.backtick.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>match</key>
							<string>\\[`\\$]</string>
							<key>name</key>
							<string>constant.character.escape.shell</string>
						</dict>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>\$\(</string>
					<key>beginCaptures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.begin.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>\)</string>
					<key>endCaptures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.end.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>string.interpolated.dollar.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
			</array>
		</dict>
		<key>keyword</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>\b(?:if|then|else|elif|fi|for|in|do|done|select|case|continue|esac|while|until|return)\b</string>
					<key>name</key>
					<string>keyword.control.shell</string>
				</dict>
				<dict>
					<key>match</key>
					<string>(?&lt;![-/])\b(?:export|declare|typeset|local|readonly)\b</string>
					<key>name</key>
					<string>storage.modifier.shell</string>
				</dict>
			</array>
		</dict>
		<key>list</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>;|&amp;&amp;|&amp;|\|\|</string>
					<key>name</key>
					<string>keyword.operator.list.shell</string>
				</dict>
			</array>
		</dict>
		<key>logical-expression</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>comment</key>
					<string>do we want a special rule for ( expr )?</string>
					<key>match</key>
					<string>=[=~]?|!=?|&lt;|&gt;|&amp;&amp;|\|\|</string>
					<key>name</key>
					<string>keyword.operator.logical.shell</string>
				</dict>
				<dict>
					<key>match</key>
					<string>(?&lt;!\S)-(nt|ot|ef|eq|ne|l[te]|g[te]|[a-hknoprstuwxzOGLSN])</string>
					<key>name</key>
					<string>keyword.operator.logical.shell</string>
				</dict>
			</array>
		</dict>
		<key>loop</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>begin</key>
					<string>\b(for)\s+(?=\({2})</string>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>\b(done)\b</string>
					<key>name</key>
					<string>meta.scope.for-loop.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>\b(for)\s+((?:[^\s\\]|\\.)+)\b</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.shell</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>variable.other.loop.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>\b(done)\b</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>meta.scope.for-in-loop.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>\b(while|until)\b</string>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>\b(done)\b</string>
					<key>name</key>
					<string>meta.scope.while-loop.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>\b(select)\s+((?:[^\s\\]|\\.)+)\b</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.shell</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>variable.other.loop.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>\b(done)\b</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>meta.scope.select-block.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>\b(case)\b</string>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>\b(esac)\b</string>
					<key>name</key>
					<string>meta.scope.case-block.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>begin</key>
							<string>\b(?:in)\b</string>
							<key>beginCaptures</key>
							<dict>
								<key>1</key>
								<dict>
									<key>name</key>
									<string>keyword.control.shell</string>
								</dict>
							</dict>
							<key>end</key>
							<string>(?=\b(?:esac)\b)</string>
							<key>name</key>
							<string>meta.scope.case-body.shell</string>
							<key>patterns</key>
							<array>
								<dict>
									<key>include</key>
									<string>#comment</string>
								</dict>
								<dict>
									<key>include</key>
									<string>#case-clause</string>
								</dict>
								<dict>
									<key>include</key>
									<string>$self</string>
								</dict>
							</array>
						</dict>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>\b(if)\b</string>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>\b(fi)\b</string>
					<key>name</key>
					<string>meta.scope.if-block.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
			</array>
		</dict>
		<key>math</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#variable</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\+{1,2}|-{1,2}|!|~|\*{1,2}|/|%|&lt;[&lt;=]?|&gt;[&gt;=]?|==|!=|^|\|{1,2}|&amp;{1,2}|\?|\:|,|=|[*/%+\-&amp;^|]=|&lt;&lt;=|&gt;&gt;=</string>
					<key>name</key>
					<string>keyword.operator.arithmetic.shell</string>
				</dict>
				<dict>
					<key>match</key>
					<string>0[xX]\h+</string>
					<key>name</key>
					<string>constant.numeric.hex.shell</string>
				</dict>
				<dict>
					<key>match</key>
					<string>0\d+</string>
					<key>name</key>
					<string>constant.numeric.octal.shell</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\d{1,2}#[0-9a-zA-Z@_]+</string>
					<key>name</key>
					<string>constant.numeric.other.shell</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\d+</string>
					<key>name</key>
					<string>constant.numeric.integer.shell</string>
				</dict>
			</array>
		</dict>
		<key>pathname</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>(?&lt;=\s|:|=|^)~</string>
					<key>name</key>
					<string>keyword.operator.tilde.shell</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\*|\?</string>
					<key>name</key>
					<string>keyword.operator.glob.shell</string>
				</dict>
				<dict>
					<key>begin</key>
					<string>([?*+@!])(\()</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.operator.extglob.shell</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.extglob.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>(\))</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.extglob.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>meta.structure.extglob.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
			</array>
		</dict>
		<key>pipeline</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>\b(time)\b</string>
					<key>name</key>
					<string>keyword.other.shell</string>
				</dict>
				<dict>
					<key>match</key>
					<string>[|!]</string>
					<key>name</key>
					<string>keyword.operator.pipe.shell</string>
				</dict>
			</array>
		</dict>
		<key>redirection</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>begin</key>
					<string>[&gt;&lt;]\(</string>
					<key>beginCaptures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.begin.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>\)</string>
					<key>endCaptures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.end.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>string.interpolated.process-substitution.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>comment</key>
					<string>valid: &amp;&gt;word &gt;&amp;word &gt;word [n]&gt;&amp;[n] [n]&lt;word [n]&gt;word [n]&gt;&gt;word [n]&lt;&amp;word (last one is duplicate)</string>
					<key>match</key>
					<string>&amp;&gt;|\d*&gt;&amp;\d*|\d*(&gt;&gt;|&gt;|&lt;)|\d*&lt;&amp;|\d*&lt;&gt;</string>
					<key>name</key>
					<string>keyword.operator.redirect.shell</string>
				</dict>
			</array>
		</dict>
		<key>string</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>\\.</string>
					<key>name</key>
					<string>constant.character.escape.shell</string>
				</dict>
				<dict>
					<key>begin</key>
					<string>'</string>
					<key>beginCaptures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.begin.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>'</string>
					<key>endCaptures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.end.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>string.quoted.single.shell</string>
				</dict>
				<dict>
					<key>begin</key>
					<string>\$?"</string>
					<key>beginCaptures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.begin.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>"</string>
					<key>endCaptures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.end.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>string.quoted.double.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>match</key>
							<string>\\[\$`"\\\n]</string>
							<key>name</key>
							<string>constant.character.escape.shell</string>
						</dict>
						<dict>
							<key>include</key>
							<string>#variable</string>
						</dict>
						<dict>
							<key>include</key>
							<string>#interpolation</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>\$'</string>
					<key>beginCaptures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.begin.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>'</string>
					<key>endCaptures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.end.shell</string>
						</dict>
					</dict>
					<key>name</key>
					<string>string.quoted.single.dollar.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>match</key>
							<string>\\(a|b|e|f|n|r|t|v|\\|')</string>
							<key>name</key>
							<string>constant.character.escape.ansi-c.shell</string>
						</dict>
						<dict>
							<key>match</key>
							<string>\\[0-9]{3}</string>
							<key>name</key>
							<string>constant.character.escape.octal.shell</string>
						</dict>
						<dict>
							<key>match</key>
							<string>\\x[0-9a-fA-F]{2}</string>
							<key>name</key>
							<string>constant.character.escape.hex.shell</string>
						</dict>
						<dict>
							<key>match</key>
							<string>\\c.</string>
							<key>name</key>
							<string>constant.character.escape.control-char.shell</string>
						</dict>
					</array>
				</dict>
			</array>
		</dict>
		<key>support</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>(?&lt;=^|\s)(?::|\.)(?=\s|;|&amp;|$)</string>
					<key>name</key>
					<string>support.function.builtin.shell</string>
				</dict>
				<dict>
					<key>match</key>
					<string>(?&lt;![-/])\b(?:alias|bg|bind|break|builtin|caller|cd|command|compgen|complete|dirs|disown|echo|enable|eval|exec|exit|false|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|read|readonly|set|shift|shopt|source|suspend|test|times|trap|true|type|ulimit|umask|unalias|unset|wait)\b</string>
					<key>name</key>
					<string>support.function.builtin.shell</string>
				</dict>
			</array>
		</dict>
		<key>variable</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.variable.shell</string>
						</dict>
					</dict>
					<key>match</key>
					<string>(\$)[-*@#?$!0_]</string>
					<key>name</key>
					<string>variable.other.special.shell</string>
				</dict>
				<dict>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.variable.shell</string>
						</dict>
					</dict>
					<key>match</key>
					<string>(\$)[1-9]</string>
					<key>name</key>
					<string>variable.other.positional.shell</string>
				</dict>
				<dict>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.variable.shell</string>
						</dict>
					</dict>
					<key>match</key>
					<string>(\$)[a-zA-Z_][a-zA-Z0-9_]*</string>
					<key>name</key>
					<string>variable.other.normal.shell</string>
				</dict>
				<dict>
					<key>begin</key>
					<string>\$\{</string>
					<key>captures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.variable.shell</string>
						</dict>
					</dict>
					<key>end</key>
					<string>\}</string>
					<key>name</key>
					<string>variable.other.bracket.shell</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>match</key>
							<string>!|:[-=?]?|\*|@|#{1,2}|%{1,2}|/</string>
							<key>name</key>
							<string>keyword.operator.expansion.shell</string>
						</dict>
						<dict>
							<key>captures</key>
							<dict>
								<key>1</key>
								<dict>
									<key>name</key>
									<string>punctuation.section.array.shell</string>
								</dict>
								<key>3</key>
								<dict>
									<key>name</key>
									<string>punctuation.section.array.shell</string>
								</dict>
							</dict>
							<key>match</key>
							<string>(\[)([^\]]+)(\])</string>
						</dict>
					</array>
				</dict>
			</array>
		</dict>
	</dict>
	<key>scopeName</key>
	<string>source.shell</string>
	<key>uuid</key>
	<string>DDEEA3ED-6B1C-11D9-8B10-000D93589AF6</string>
</dict>
</plist>
