<?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>applescript</string>
		<string>script editor</string>
	</array>
	<key>firstLineMatch</key>
	<string>^#!.*(osascript)</string>
	<key>foldingStartMarker</key>
	<string>(?x)
		^\s*
		(
		 tell \s+ (?! .* \b(to)\b) .*
		|tell\b.*?\bto\ tell \s+ (?! .* \b(to)\b) .*
		|using \s+ terms \s+ from \s+ .*
		|if\b .* \bthen\b
		|repeat\b .*
		|( on | to )\b (?!\s+ error) .*
		|try\b
		|with \s+ timeout\b .*
		|script\b .*
		|( considering | ignoring )\b .*
		)\s*(--.*?)?$
	</string>
	<key>foldingStopMarker</key>
	<string>^\s*end\b.*$</string>
	<key>keyEquivalent</key>
	<string>^~A</string>
	<key>name</key>
	<string>AppleScript</string>
	<key>patterns</key>
	<array>
		<dict>
			<key>include</key>
			<string>#blocks</string>
		</dict>
		<dict>
			<key>include</key>
			<string>#inline</string>
		</dict>
	</array>
	<key>repository</key>
	<dict>
		<key>attributes.considering-ignoring</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>,</string>
					<key>name</key>
					<string>punctuation.separator.array.attributes.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(and)\b</string>
					<key>name</key>
					<string>keyword.control.attributes.and.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(?i:case|diacriticals|hyphens|numeric\s+strings|punctuation|white\s+space)\b</string>
					<key>name</key>
					<string>constant.other.attributes.text.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(?i:application\s+responses)\b</string>
					<key>name</key>
					<string>constant.other.attributes.application.applescript</string>
				</dict>
			</array>
		</dict>
		<key>blocks</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>begin</key>
					<string>^\s*(script)\s+(\w+)</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.script.applescript</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>entity.name.type.script-object.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>^\s*(end(?:\s+script)?)(?=\s*(--.*?)?$)</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.script.applescript</string>
						</dict>
					</dict>
					<key>name</key>
					<string>meta.block.script.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>^(?x)
						\s*(to|on)\s+ 					# "on" or "to"
						(\w+)							# function name
						(\()							# opening paren
							((?:[\s,:\{\}]*(?:\w+)?)*)	# parameters
						(\))							# closing paren
					</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.function.applescript</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>entity.name.function.handler.applescript</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.parameters.applescript</string>
						</dict>
						<key>4</key>
						<dict>
							<key>name</key>
							<string>variable.parameter.handler.applescript</string>
						</dict>
						<key>5</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.parameters.applescript</string>
						</dict>
					</dict>
					<key>comment</key>
					<string>
						This is not a very well-designed rule.  For now,
						we can leave it like this though, as it sorta works.
					</string>
					<key>end</key>
					<string>^\s*(end)(?:\s+(\2))?(?=\s*(--.*?)?$)</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.function.applescript</string>
						</dict>
					</dict>
					<key>name</key>
					<string>meta.function.positional.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>^(?x)
						\s*(to|on)\s+ 					# "on" or "to"
						(\w+)							# function name
						(?:\s+
							(of|in)\s+					# "of" or "in"
							(\w+)						# direct parameter
						)?
						(?=\s+(above|against|apart\s+from|around|aside\s+from|at|below|beneath|beside|between|by|for|from|instead\s+of|into|on|onto|out\s+of|over|thru|under)\b)
					</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.function.applescript</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>entity.name.function.handler.applescript</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>keyword.control.function.applescript</string>
						</dict>
						<key>4</key>
						<dict>
							<key>name</key>
							<string>variable.parameter.handler.direct.applescript</string>
						</dict>
					</dict>
					<key>comment</key>
					<string>TODO: match `given` parameters</string>
					<key>end</key>
					<string>^\s*(end)(?:\s+(\2))?(?=\s*(--.*?)?$)</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.function.applescript</string>
						</dict>
					</dict>
					<key>name</key>
					<string>meta.function.prepositional.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>captures</key>
							<dict>
								<key>1</key>
								<dict>
									<key>name</key>
									<string>keyword.control.preposition.applescript</string>
								</dict>
								<key>2</key>
								<dict>
									<key>name</key>
									<string>variable.parameter.handler.applescript</string>
								</dict>
							</dict>
							<key>match</key>
							<string>\b(?i:above|against|apart\s+from|around|aside\s+from|at|below|beneath|beside|between|by|for|from|instead\s+of|into|on|onto|out\s+of|over|thru|under)\s+(\w+)\b</string>
						</dict>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>^(?x)
						\s*(to|on)\s+ 					# "on" or "to"
						(\w+)							# function name
						(?=\s*(--.*?)?$)				# nothing else
					</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.function.applescript</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>entity.name.function.handler.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>^\s*(end)(?:\s+(\2))?(?=\s*(--.*?)?$)</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.function.applescript</string>
						</dict>
					</dict>
					<key>name</key>
					<string>meta.function.parameterless.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>include</key>
					<string>#blocks.tell</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#blocks.repeat</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#blocks.statement</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#blocks.other</string>
				</dict>
			</array>
		</dict>
		<key>blocks.other</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>begin</key>
					<string>^\s*(considering)\b</string>
					<key>end</key>
					<string>^\s*(end(?:\s+considering)?)(?=\s*(--.*?)?$)</string>
					<key>name</key>
					<string>meta.block.considering.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>begin</key>
							<string>(?&lt;=considering)</string>
							<key>end</key>
							<string>(?&lt;!¬)$</string>
							<key>name</key>
							<string>meta.array.attributes.considering.applescript</string>
							<key>patterns</key>
							<array>
								<dict>
									<key>include</key>
									<string>#attributes.considering-ignoring</string>
								</dict>
							</array>
						</dict>
						<dict>
							<key>begin</key>
							<string>(?&lt;=ignoring)</string>
							<key>end</key>
							<string>(?&lt;!¬)$</string>
							<key>name</key>
							<string>meta.array.attributes.ignoring.applescript</string>
							<key>patterns</key>
							<array>
								<dict>
									<key>include</key>
									<string>#attributes.considering-ignoring</string>
								</dict>
							</array>
						</dict>
						<dict>
							<key>match</key>
							<string>\b(but)\b</string>
							<key>name</key>
							<string>keyword.control.but.applescript</string>
						</dict>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>^\s*(ignoring)\b</string>
					<key>end</key>
					<string>^\s*(end(?:\s+ignoring)?)(?=\s*(--.*?)?$)</string>
					<key>name</key>
					<string>meta.block.ignoring.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>begin</key>
							<string>(?&lt;=considering)</string>
							<key>end</key>
							<string>(?&lt;!¬)$</string>
							<key>name</key>
							<string>meta.array.attributes.considering.applescript</string>
							<key>patterns</key>
							<array>
								<dict>
									<key>include</key>
									<string>#attributes.considering-ignoring</string>
								</dict>
							</array>
						</dict>
						<dict>
							<key>begin</key>
							<string>(?&lt;=ignoring)</string>
							<key>end</key>
							<string>(?&lt;!¬)$</string>
							<key>name</key>
							<string>meta.array.attributes.ignoring.applescript</string>
							<key>patterns</key>
							<array>
								<dict>
									<key>include</key>
									<string>#attributes.considering-ignoring</string>
								</dict>
							</array>
						</dict>
						<dict>
							<key>match</key>
							<string>\b(but)\b</string>
							<key>name</key>
							<string>keyword.control.but.applescript</string>
						</dict>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>^\s*(if)\b</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.if.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>^\s*(end(?:\s+if)?)(?=\s*(--.*?)?$)</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.end.applescript</string>
						</dict>
					</dict>
					<key>name</key>
					<string>meta.block.if.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>match</key>
							<string>\b(then)\b</string>
							<key>name</key>
							<string>keyword.control.then.applescript</string>
						</dict>
						<dict>
							<key>match</key>
							<string>\b(else\s+if)\b</string>
							<key>name</key>
							<string>keyword.control.else-if.applescript</string>
						</dict>
						<dict>
							<key>match</key>
							<string>\b(else)\b</string>
							<key>name</key>
							<string>keyword.control.else.applescript</string>
						</dict>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>^\s*(try)\b</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.try.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>^\s*(end(?:\s+(try|error))?)(?=\s*(--.*?)?$)</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.end.applescript</string>
						</dict>
					</dict>
					<key>name</key>
					<string>meta.block.try.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>begin</key>
							<string>^\s*(on\s+error)\b</string>
							<key>beginCaptures</key>
							<dict>
								<key>1</key>
								<dict>
									<key>name</key>
									<string>keyword.control.exception.on-error.applescript</string>
								</dict>
							</dict>
							<key>end</key>
							<string>(?&lt;!¬)$</string>
							<key>name</key>
							<string>meta.property.error.applescript</string>
							<key>patterns</key>
							<array>
								<dict>
									<key>match</key>
									<string>\b(?i:number|partial|from|to)\b</string>
									<key>name</key>
									<string>keyword.control.exception.modifier.applescript</string>
								</dict>
								<dict>
									<key>include</key>
									<string>#inline</string>
								</dict>
							</array>
						</dict>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>^\s*(using\s+terms\s+from)\b</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.terms.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>^\s*(end(?:\s+using\s+terms\s+from)?)(?=\s*(--.*?)?$)</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.end.applescript</string>
						</dict>
					</dict>
					<key>name</key>
					<string>meta.block.terms.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>^\s*(with\s+timeout(\s+of)?)\b</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.timeout.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>^\s*(end(?:\s+timeout)?)(?=\s*(--.*?)?$)</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.end.applescript</string>
						</dict>
					</dict>
					<key>name</key>
					<string>meta.block.timeout.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>^\s*(with\s+transaction(\s+of)?)\b</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.transaction.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>^\s*(end(?:\s+transaction)?)(?=\s*(--.*?)?$)</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.end.applescript</string>
						</dict>
					</dict>
					<key>name</key>
					<string>meta.block.transaction.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
			</array>
		</dict>
		<key>blocks.repeat</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>begin</key>
					<string>^\s*(repeat)\s+(until)\b</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.repeat.applescript</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>keyword.control.until.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>^\s*(end(?:\s+repeat)?)(?=\s*(--.*?)?$)</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.end.applescript</string>
						</dict>
					</dict>
					<key>name</key>
					<string>meta.block.repeat.until.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>^\s*(repeat)\s+(while)\b</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.repeat.applescript</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>keyword.control.while.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>^\s*(end(?:\s+repeat)?)(?=\s*(--.*?)?$)</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.end.applescript</string>
						</dict>
					</dict>
					<key>name</key>
					<string>meta.block.repeat.while.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>^\s*(repeat)\s+(with)\s+(\w+)\b</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.repeat.applescript</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>keyword.control.until.applescript</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>variable.parameter.loop.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>^\s*(end(?:\s+repeat)?)(?=\s*(--.*?)?$)</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.end.applescript</string>
						</dict>
					</dict>
					<key>name</key>
					<string>meta.block.repeat.with.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>match</key>
							<string>\b(from|to|by)\b</string>
							<key>name</key>
							<string>keyword.control.modifier.range.applescript</string>
						</dict>
						<dict>
							<key>match</key>
							<string>\b(in)\b</string>
							<key>name</key>
							<string>keyword.control.modifier.list.applescript</string>
						</dict>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>^\s*(repeat)\b(?=\s*(--.*?)?$)</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.repeat.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>^\s*(end(?:\s+repeat)?)(?=\s*(--.*?)?$)</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.end.applescript</string>
						</dict>
					</dict>
					<key>name</key>
					<string>meta.block.repeat.forever.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>^\s*(repeat)\b</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.repeat.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>^\s*(end(?:\s+repeat)?)(?=\s*(--.*?)?$)</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.end.applescript</string>
						</dict>
					</dict>
					<key>name</key>
					<string>meta.block.repeat.times.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>match</key>
							<string>\b(times)\b</string>
							<key>name</key>
							<string>keyword.control.times.applescript</string>
						</dict>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
			</array>
		</dict>
		<key>blocks.statement</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>begin</key>
					<string>\b(prop(?:erty)?)\s+(\w+)\b</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.def.property.applescript</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>variable.other.property.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>(?&lt;!¬)$</string>
					<key>name</key>
					<string>meta.statement.property.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>match</key>
							<string>:</string>
							<key>name</key>
							<string>punctuation.separator.key-value.property.applescript</string>
						</dict>
						<dict>
							<key>include</key>
							<string>#inline</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>\b(set)\s+(\w+)\s+(to)\b</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.def.set.applescript</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>variable.other.readwrite.set.applescript</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>keyword.control.def.set.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>(?&lt;!¬)$</string>
					<key>name</key>
					<string>meta.statement.set.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>#inline</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>\b(local)\b</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.def.local.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>(?&lt;!¬)$</string>
					<key>name</key>
					<string>meta.statement.local.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>match</key>
							<string>,</string>
							<key>name</key>
							<string>punctuation.separator.variables.local.applescript</string>
						</dict>
						<dict>
							<key>match</key>
							<string>\b\w+</string>
							<key>name</key>
							<string>variable.other.readwrite.local.applescript</string>
						</dict>
						<dict>
							<key>include</key>
							<string>#inline</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>\b(global)\b</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.def.global.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>(?&lt;!¬)$</string>
					<key>name</key>
					<string>meta.statement.global.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>match</key>
							<string>,</string>
							<key>name</key>
							<string>punctuation.separator.variables.global.applescript</string>
						</dict>
						<dict>
							<key>match</key>
							<string>\b\w+</string>
							<key>name</key>
							<string>variable.other.readwrite.global.applescript</string>
						</dict>
						<dict>
							<key>include</key>
							<string>#inline</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>\b(error)\b</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.exception.error.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>(?&lt;!¬)$</string>
					<key>name</key>
					<string>meta.statement.error.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>match</key>
							<string>\b(number|partial|from|to)\b</string>
							<key>name</key>
							<string>keyword.control.exception.modifier.applescript</string>
						</dict>
						<dict>
							<key>include</key>
							<string>#inline</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>\b(if)\b(?=.*\bthen\b(?!\s*(--.*?)?$))</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.if.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>(?&lt;!¬)$</string>
					<key>name</key>
					<string>meta.statement.if-then.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>#inline</string>
						</dict>
					</array>
				</dict>
			</array>
		</dict>
		<key>blocks.tell</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>begin</key>
					<string>^\s*(tell)\s+(?=app(lication)?\s+"(?i:textmate)")(?!.*\bto(?!\s+tell)\b)</string>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.tell.applescript</string>
						</dict>
					</dict>
					<key>comment</key>
					<string>tell Textmate</string>
					<key>end</key>
					<string>^\s*(end(?:\s+tell)?)(?=\s*(--.*?)?$)</string>
					<key>name</key>
					<string>meta.block.tell.application.textmate.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>#textmate</string>
						</dict>
						<dict>
							<key>include</key>
							<string>#standard-suite</string>
						</dict>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>^\s*(tell)\s+(?=app(lication)?\s+"(?i:finder)")(?!.*\bto(?!\s+tell)\b)</string>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.tell.applescript</string>
						</dict>
					</dict>
					<key>comment</key>
					<string>tell Finder</string>
					<key>end</key>
					<string>^\s*(end(?:\s+tell)?)(?=\s*(--.*?)?$)</string>
					<key>name</key>
					<string>meta.block.tell.application.finder.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>#finder</string>
						</dict>
						<dict>
							<key>include</key>
							<string>#standard-suite</string>
						</dict>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>^\s*(tell)\s+(?=app(lication)?\s+"(?i:system events)")(?!.*\bto(?!\s+tell)\b)</string>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.tell.applescript</string>
						</dict>
					</dict>
					<key>comment</key>
					<string>tell System Events</string>
					<key>end</key>
					<string>^\s*(end(?:\s+tell)?)(?=\s*(--.*?)?$)</string>
					<key>name</key>
					<string>meta.block.tell.application.system-events.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>#system-events</string>
						</dict>
						<dict>
							<key>include</key>
							<string>#standard-suite</string>
						</dict>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>^\s*(tell)\s+(?=app(lication)?\s+"(?i:itunes)")(?!.*\bto(?!\s+tell)\b)</string>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.tell.applescript</string>
						</dict>
					</dict>
					<key>comment</key>
					<string>tell iTunes</string>
					<key>end</key>
					<string>^\s*(end(?:\s+tell)?)(?=\s*(--.*?)?$)</string>
					<key>name</key>
					<string>meta.block.tell.application.itunes.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>#itunes</string>
						</dict>
						<dict>
							<key>include</key>
							<string>#standard-suite</string>
						</dict>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>^\s*(tell)\s+(?=app(lication)?\s+process\b)(?!.*\bto(?!\s+tell)\b)</string>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.tell.applescript</string>
						</dict>
					</dict>
					<key>comment</key>
					<string>tell generic application process</string>
					<key>end</key>
					<string>^\s*(end(?:\s+tell)?)(?=\s*(--.*?)?$)</string>
					<key>name</key>
					<string>meta.block.tell.application-process.generic.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>#standard-suite</string>
						</dict>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>^\s*(tell)\s+(?=app(lication)?\b)(?!.*\bto(?!\s+tell)\b)</string>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.tell.applescript</string>
						</dict>
					</dict>
					<key>comment</key>
					<string>tell generic application</string>
					<key>end</key>
					<string>^\s*(end(?:\s+tell)?)(?=\s*(--.*?)?$)</string>
					<key>name</key>
					<string>meta.block.tell.application.generic.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>#standard-suite</string>
						</dict>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>^\s*(tell)\s+(?!.*\bto(?!\s+tell)\b)</string>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.tell.applescript</string>
						</dict>
					</dict>
					<key>comment</key>
					<string>generic tell block</string>
					<key>end</key>
					<string>^\s*(end(?:\s+tell)?)(?=\s*(--.*?)?$)</string>
					<key>name</key>
					<string>meta.block.tell.generic.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>^\s*(tell)\s+(?=.*\bto\b)</string>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>keyword.control.tell.applescript</string>
						</dict>
					</dict>
					<key>comment</key>
					<string>tell … to statement</string>
					<key>end</key>
					<string>(?&lt;!¬)$</string>
					<key>name</key>
					<string>meta.block.tell.generic.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>$self</string>
						</dict>
					</array>
				</dict>
			</array>
		</dict>
		<key>built-in</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#built-in.constant</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#built-in.keyword</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#built-in.support</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#built-in.punctuation</string>
				</dict>
			</array>
		</dict>
		<key>built-in.constant</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>comment</key>
					<string>yes/no can’t always be used as booleans, e.g. in an if() expression. But they work e.g. for boolean arguments.</string>
					<key>match</key>
					<string>\b(?i:true|false|yes|no)\b</string>
					<key>name</key>
					<string>constant.language.boolean.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(?i:null|missing\s+value)\b</string>
					<key>name</key>
					<string>constant.language.null.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>-?\b\d+((\.(\d+\b)?)?(?i:e\+?\d*\b)?|\b)</string>
					<key>name</key>
					<string>constant.numeric.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(?i:space|tab|return|linefeed|quote)\b</string>
					<key>name</key>
					<string>constant.other.text.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(?i:all\s+(caps|lowercase)|bold|condensed|expanded|hidden|italic|outline|plain|shadow|small\s+caps|strikethrough|(sub|super)script|underline)\b</string>
					<key>name</key>
					<string>constant.other.styles.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(?i:Jan(uary)?|Feb(ruary)?|Mar(ch)?|Apr(il)?|May|Jun(e)?|Jul(y)?|Aug(ust)?|Sep(tember)?|Oct(ober)?|Nov(ember)?|Dec(ember)?)\b</string>
					<key>name</key>
					<string>constant.other.time.month.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(?i:Mon(day)?|Tue(sday)?|Wed(nesday)?|Thu(rsday)?|Fri(day)?|Sat(urday)?|Sun(day)?)\b</string>
					<key>name</key>
					<string>constant.other.time.weekday.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(?i:AppleScript|pi|result|version|current\s+application|its?|m[ey])\b</string>
					<key>name</key>
					<string>constant.other.miscellaneous.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(?i:text\s+item\s+delimiters|print\s+(length|depth))\b</string>
					<key>name</key>
					<string>variable.language.applescript</string>
				</dict>
			</array>
		</dict>
		<key>built-in.keyword</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>(&amp;|\*|\+|-|/|÷|\^)</string>
					<key>name</key>
					<string>keyword.operator.arithmetic.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>(=|≠|&gt;|&lt;|≥|&gt;=|≤|&lt;=)</string>
					<key>name</key>
					<string>keyword.operator.comparison.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>(?ix)\b
						(and|or|div|mod|as|not
						|(a\s+)?(ref(\s+to)?|reference\s+to)
						|equal(s|\s+to)|contains?|comes\s+(after|before)|(start|begin|end)s?\s+with
						)
					\b</string>
					<key>name</key>
					<string>keyword.operator.word.applescript</string>
				</dict>
				<dict>
					<key>comment</key>
					<string>In double quotes so we can use a single quote in the keywords.</string>
					<key>match</key>
					<string>(?ix)\b
						(is(n't|\s+not)?(\s+(equal(\s+to)?|(less|greater)\s+than(\s+or\s+equal(\s+to)?)?|in|contained\s+by))?
						|does(n't|\s+not)\s+(equal|come\s+(before|after)|contain)
						)
					\b</string>
					<key>name</key>
					<string>keyword.operator.word.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(?i:some|every|whose|where|that|id|index|\d+(st|nd|rd|th)|first|second|third|fourth|fifth|sixth|seventh|eighth|ninth|tenth|last|front|back|middle|named|beginning|end|from|to|thr(u|ough)|before|(front|back|beginning|end)\s+of|after|behind|in\s+(front|back|beginning|end)\s+of)\b</string>
					<key>name</key>
					<string>keyword.operator.reference.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(?i:continue|return|exit(\s+repeat)?)\b</string>
					<key>name</key>
					<string>keyword.control.loop.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(?i:about|above|after|against|and|apart\s+from|around|as|aside\s+from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|contain|contains|contains|copy|div|does|eighth|else|end|equal|equals|error|every|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead\s+of|into|is|it|its|last|local|me|middle|mod|my|ninth|not|of|on|onto|or|out\s+of|over|prop|property|put|ref|reference|repeat|returning|script|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b</string>
					<key>name</key>
					<string>keyword.other.applescript</string>
				</dict>
			</array>
		</dict>
		<key>built-in.punctuation</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>¬</string>
					<key>name</key>
					<string>punctuation.separator.continuation.line.applescript</string>
				</dict>
				<dict>
					<key>comment</key>
					<string>the : in property assignments</string>
					<key>match</key>
					<string>:</string>
					<key>name</key>
					<string>punctuation.separator.key-value.property.applescript</string>
				</dict>
				<dict>
					<key>comment</key>
					<string>the parentheses in groups</string>
					<key>match</key>
					<string>[()]</string>
					<key>name</key>
					<string>punctuation.section.group.applescript</string>
				</dict>
			</array>
		</dict>
		<key>built-in.support</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>\b(?i:POSIX\s+path|frontmost|id|name|running|version|days?|weekdays?|months?|years?|time|date\s+string|time\s+string|length|rest|reverse|items?|contents|quoted\s+form|characters?|paragraphs?|words?)\b</string>
					<key>name</key>
					<string>support.function.built-in.property.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(?i:activate|log|clipboard\s+info|set\s+the\s+clipboard\s+to|the\s+clipboard|info\s+for|list\s+(disks|folder)|mount\s+volume|path\s+to(\s+resource)?|close\s+access|get\s+eof|open\s+for\s+access|read|set\s+eof|write|open\s+location|current\s+date|do\s+shell\s+script|get\s+volume\s+settings|random\s+number|round|set\s+volume|system\s+(attribute|info)|time\s+to\s+GMT|load\s+script|run\s+script|scripting\s+components|store\s+script|copy|count|get|launch|run|set|ASCII\s+(character|number)|localized\s+string|offset|summarize|beep|choose\s+(application|color|file(\s+name)?|folder|from\s+list|remote\s+application|URL)|delay|display\s+(alert|dialog)|say)\b</string>
					<key>name</key>
					<string>support.function.built-in.command.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(?i:get|run)\b</string>
					<key>name</key>
					<string>support.function.built-in.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(?i:anything|data|text|upper\s+case|propert(y|ies))\b</string>
					<key>name</key>
					<string>support.class.built-in.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(?i:alias|class)(es)?\b</string>
					<key>name</key>
					<string>support.class.built-in.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(?i:app(lication)?|boolean|character|constant|date|event|file(\s+specification)?|handler|integer|item|keystroke|linked\s+list|list|machine|number|picture|preposition|POSIX\s+file|real|record|reference(\s+form)?|RGB\s+color|script|sound|text\s+item|type\s+class|vector|writing\s+code(\s+info)?|zone|((international|styled(\s+(Clipboard|Unicode))?|Unicode)\s+)?text|((C|encoded|Pascal)\s+)?string)s?\b</string>
					<key>name</key>
					<string>support.class.built-in.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>(?ix)\b
						(	(cubic\s+(centi)?|square\s+(kilo)?|centi|kilo)met(er|re)s
						|	square\s+(yards|feet|miles)|cubic\s+(yards|feet|inches)|miles|inches
						|	lit(re|er)s|gallons|quarts
						|	(kilo)?grams|ounces|pounds
						|	degrees\s+(Celsius|Fahrenheit|Kelvin)
						)
					\b</string>
					<key>name</key>
					<string>support.class.built-in.unit.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(?i:seconds|minutes|hours|days)\b</string>
					<key>name</key>
					<string>support.class.built-in.time.applescript</string>
				</dict>
			</array>
		</dict>
		<key>comments</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.comment.applescript</string>
						</dict>
					</dict>
					<key>match</key>
					<string>^\s*(#!).*$\n?</string>
					<key>name</key>
					<string>comment.line.number-sign.applescript</string>
				</dict>
				<dict>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.comment.applescript</string>
						</dict>
					</dict>
					<key>match</key>
					<string>(--).*$\n?</string>
					<key>name</key>
					<string>comment.line.double-dash.applescript</string>
				</dict>
				<dict>
					<key>begin</key>
					<string>\(\*</string>
					<key>captures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.comment.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>\*\)</string>
					<key>name</key>
					<string>comment.block.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>#comments.nested</string>
						</dict>
					</array>
				</dict>
			</array>
		</dict>
		<key>comments.nested</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>begin</key>
					<string>\(\*</string>
					<key>captures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.comment.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>\*\)</string>
					<key>name</key>
					<string>comment.block.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>#comments.nested</string>
						</dict>
					</array>
				</dict>
			</array>
		</dict>
		<key>data-structures</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>begin</key>
					<string>(\{)</string>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.section.array.applescript</string>
						</dict>
					</dict>
					<key>comment</key>
					<string>We cannot necessarily distinguish "records" from "arrays", and so this could be either.</string>
					<key>end</key>
					<string>(\})</string>
					<key>name</key>
					<string>meta.array.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>captures</key>
							<dict>
								<key>1</key>
								<dict>
									<key>name</key>
									<string>constant.other.key.applescript</string>
								</dict>
								<key>2</key>
								<dict>
									<key>name</key>
									<string>meta.identifier.applescript</string>
								</dict>
								<key>3</key>
								<dict>
									<key>name</key>
									<string>punctuation.definition.identifier.applescript</string>
								</dict>
								<key>4</key>
								<dict>
									<key>name</key>
									<string>punctuation.definition.identifier.applescript</string>
								</dict>
								<key>5</key>
								<dict>
									<key>name</key>
									<string>punctuation.separator.key-value.applescript</string>
								</dict>
							</dict>
							<key>match</key>
							<string>(\w+|((\|)[^|\n]*(\|)))\s*(:)</string>
						</dict>
						<dict>
							<key>match</key>
							<string>:</string>
							<key>name</key>
							<string>punctuation.separator.key-value.applescript</string>
						</dict>
						<dict>
							<key>match</key>
							<string>,</string>
							<key>name</key>
							<string>punctuation.separator.array.applescript</string>
						</dict>
						<dict>
							<key>include</key>
							<string>#inline</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>(?:(?&lt;=application )|(?&lt;=app ))(")</string>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>(")</string>
					<key>name</key>
					<string>string.quoted.double.application-name.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>match</key>
							<string>\\.</string>
							<key>name</key>
							<string>constant.character.escape.applescript</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>(")</string>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.string.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>(")</string>
					<key>name</key>
					<string>string.quoted.double.applescript</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>match</key>
							<string>\\.</string>
							<key>name</key>
							<string>constant.character.escape.applescript</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.identifier.applescript</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.identifier.applescript</string>
						</dict>
					</dict>
					<key>match</key>
					<string>(\|)[^|\n]*(\|)</string>
					<key>name</key>
					<string>meta.identifier.applescript</string>
				</dict>
				<dict>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.data.applescript</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>support.class.built-in.applescript</string>
						</dict>
						<key>3</key>
						<dict>
							<key>name</key>
							<string>storage.type.utxt.applescript</string>
						</dict>
						<key>4</key>
						<dict>
							<key>name</key>
							<string>string.unquoted.data.applescript</string>
						</dict>
						<key>5</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.data.applescript</string>
						</dict>
						<key>6</key>
						<dict>
							<key>name</key>
							<string>keyword.operator.applescript</string>
						</dict>
						<key>7</key>
						<dict>
							<key>name</key>
							<string>support.class.built-in.applescript</string>
						</dict>
					</dict>
					<key>match</key>
					<string>(«)(data) (utxt|utf8)([[:xdigit:]]*)(»)(?:\s+(as)\s+(?i:Unicode\s+text))?</string>
					<key>name</key>
					<string>constant.other.data.utxt.applescript</string>
				</dict>
				<dict>
					<key>begin</key>
					<string>(«)(\w+)\b(?=\s)</string>
					<key>beginCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.data.applescript</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>support.class.built-in.applescript</string>
						</dict>
					</dict>
					<key>end</key>
					<string>(»)</string>
					<key>endCaptures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.data.applescript</string>
						</dict>
					</dict>
					<key>name</key>
					<string>constant.other.data.raw.applescript</string>
				</dict>
				<dict>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.data.applescript</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>punctuation.definition.data.applescript</string>
						</dict>
					</dict>
					<key>match</key>
					<string>(«)[^»]*(»)</string>
					<key>name</key>
					<string>invalid.illegal.data.applescript</string>
				</dict>
			</array>
		</dict>
		<key>finder</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>\b(item|container|(computer|disk|trash)-object|disk|folder|((alias|application|document|internet location) )?file|clipping|package)s?\b</string>
					<key>name</key>
					<string>support.class.finder.items.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b((Finder|desktop|information|preferences|clipping) )windows?\b</string>
					<key>name</key>
					<string>support.class.finder.window-classes.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(preferences|(icon|column|list) view options|(label|column|alias list)s?)\b</string>
					<key>name</key>
					<string>support.class.finder.type-definitions.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(copy|find|sort|clean up|eject|empty( trash)|erase|reveal|update)\b</string>
					<key>name</key>
					<string>support.function.finder.items.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(insertion location|product version|startup disk|desktop|trash|home|computer container|finder preferences)\b</string>
					<key>name</key>
					<string>support.constant.finder.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(visible)\b</string>
					<key>name</key>
					<string>support.variable.finder.applescript</string>
				</dict>
			</array>
		</dict>
		<key>inline</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>include</key>
					<string>#comments</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#data-structures</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#built-in</string>
				</dict>
				<dict>
					<key>include</key>
					<string>#standardadditions</string>
				</dict>
			</array>
		</dict>
		<key>itunes</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>\b(artwork|application|encoder|EQ preset|item|source|visual|(EQ |browser )?window|((audio CD|device|shared|URL|file) )?track|playlist window|((audio CD|device|radio tuner|library|folder|user) )?playlist)s?\b</string>
					<key>name</key>
					<string>support.class.itunes.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(add|back track|convert|fast forward|(next|previous) track|pause|play(pause)?|refresh|resume|rewind|search|stop|update|eject|subscribe|update(Podcast|AllPodcasts)|download)\b</string>
					<key>name</key>
					<string>support.function.itunes.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(current (playlist|stream (title|URL)|track)|player state)\b</string>
					<key>name</key>
					<string>support.constant.itunes.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(current (encoder|EQ preset|visual)|EQ enabled|fixed indexing|full screen|mute|player position|sound volume|visuals enabled|visual size)\b</string>
					<key>name</key>
					<string>support.variable.itunes.applescript</string>
				</dict>
			</array>
		</dict>
		<key>standard-suite</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>\b(colors?|documents?|items?|windows?)\b</string>
					<key>name</key>
					<string>support.class.standard-suite.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(close|count|delete|duplicate|exists|make|move|open|print|quit|save|activate|select|data size)\b</string>
					<key>name</key>
					<string>support.function.standard-suite.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(name|frontmost|version)\b</string>
					<key>name</key>
					<string>support.constant.standard-suite.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(selection)\b</string>
					<key>name</key>
					<string>support.variable.standard-suite.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(attachments?|attribute runs?|characters?|paragraphs?|texts?|words?)\b</string>
					<key>name</key>
					<string>support.class.text-suite.applescript</string>
				</dict>
			</array>
		</dict>
		<key>standardadditions</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>\b((alert|dialog) reply)\b</string>
					<key>name</key>
					<string>support.class.standardadditions.user-interaction.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(file information)\b</string>
					<key>name</key>
					<string>support.class.standardadditions.file.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(POSIX files?|system information|volume settings)\b</string>
					<key>name</key>
					<string>support.class.standardadditions.miscellaneous.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(URLs?|internet address(es)?|web pages?|FTP items?)\b</string>
					<key>name</key>
					<string>support.class.standardadditions.internet.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(info for|list (disks|folder)|mount volume|path to( resource)?)\b</string>
					<key>name</key>
					<string>support.function.standardadditions.file.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(beep|choose (application|color|file( name)?|folder|from list|remote application|URL)|delay|display (alert|dialog)|say)\b</string>
					<key>name</key>
					<string>support.function.standardadditions.user-interaction.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(ASCII (character|number)|localized string|offset|summarize)\b</string>
					<key>name</key>
					<string>support.function.standardadditions.string.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(set the clipboard to|the clipboard|clipboard info)\b</string>
					<key>name</key>
					<string>support.function.standardadditions.clipboard.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(open for access|close access|read|write|get eof|set eof)\b</string>
					<key>name</key>
					<string>support.function.standardadditions.file-i-o.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b((load|store|run) script|scripting components)\b</string>
					<key>name</key>
					<string>support.function.standardadditions.scripting.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(current date|do shell script|get volume settings|random number|round|set volume|system attribute|system info|time to GMT)\b</string>
					<key>name</key>
					<string>support.function.standardadditions.miscellaneous.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(opening folder|(closing|moving) folder window for|adding folder items to|removing folder items from)\b</string>
					<key>name</key>
					<string>support.function.standardadditions.folder-actions.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(open location|handle CGI request)\b</string>
					<key>name</key>
					<string>support.function.standardadditions.internet.applescript</string>
				</dict>
			</array>
		</dict>
		<key>system-events</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>\b(audio (data|file))\b</string>
					<key>name</key>
					<string>support.class.system-events.audio-file.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(alias(es)?|(Classic|local|network|system|user) domain objects?|disk( item)?s?|domains?|file( package)?s?|folders?|items?)\b</string>
					<key>name</key>
					<string>support.class.system-events.disk-folder-file.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(delete|open|move)\b</string>
					<key>name</key>
					<string>support.function.system-events.disk-folder-file.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(folder actions?|scripts?)\b</string>
					<key>name</key>
					<string>support.class.system-events.folder-actions.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(attach action to|attached scripts|edit action of|remove action from)\b</string>
					<key>name</key>
					<string>support.function.system-events.folder-actions.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(movie data|movie file)\b</string>
					<key>name</key>
					<string>support.class.system-events.movie-file.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(log out|restart|shut down|sleep)\b</string>
					<key>name</key>
					<string>support.function.system-events.power.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(((application |desk accessory )?process|(check|combo )?box)(es)?|(action|attribute|browser|(busy|progress|relevance) indicator|color well|column|drawer|group|grow area|image|incrementor|list|menu( bar)?( item)?|(menu |pop up |radio )?button|outline|(radio|tab|splitter) group|row|scroll (area|bar)|sheet|slider|splitter|static text|table|text (area|field)|tool bar|UI element|window)s?)\b</string>
					<key>name</key>
					<string>support.class.system-events.processes.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(click|key code|keystroke|perform|select)\b</string>
					<key>name</key>
					<string>support.function.system-events.processes.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(property list (file|item))\b</string>
					<key>name</key>
					<string>support.class.system-events.property-list.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(annotation|QuickTime (data|file)|track)s?\b</string>
					<key>name</key>
					<string>support.class.system-events.quicktime-file.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b((abort|begin|end) transaction)\b</string>
					<key>name</key>
					<string>support.function.system-events.system-events.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(XML (attribute|data|element|file)s?)\b</string>
					<key>name</key>
					<string>support.class.system-events.xml.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(print settings|users?|login items?)\b</string>
					<key>name</key>
					<string>support.class.sytem-events.other.applescript</string>
				</dict>
			</array>
		</dict>
		<key>textmate</key>
		<dict>
			<key>patterns</key>
			<array>
				<dict>
					<key>match</key>
					<string>\b(print settings)\b</string>
					<key>name</key>
					<string>support.class.textmate.applescript</string>
				</dict>
				<dict>
					<key>match</key>
					<string>\b(get url|insert|reload bundles)\b</string>
					<key>name</key>
					<string>support.function.textmate.applescript</string>
				</dict>
			</array>
		</dict>
	</dict>
	<key>scopeName</key>
	<string>source.applescript</string>
	<key>uuid</key>
	<string>777CF925-14B9-428E-B07B-17FAAB8FA27E</string>
</dict>
</plist>
