<?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>jsp</string>
	</array>
	<key>foldingStartMarker</key>
	<string>/\*\*|\{\s*$</string>
	<key>foldingStopMarker</key>
	<string>\*\*/|^\s*\}</string>
	<key>keyEquivalent</key>
	<string>^~J</string>
	<key>name</key>
	<string>Java Server Page (JSP)</string>
	<key>patterns</key>
	<array>
		<dict>
			<key>begin</key>
			<string>&lt;%--</string>
			<key>captures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.definition.comment.jsp</string>
				</dict>
			</dict>
			<key>end</key>
			<string>--%&gt;</string>
			<key>name</key>
			<string>comment.block.jsp</string>
		</dict>
		<dict>
			<key>begin</key>
			<string>&lt;%@</string>
			<key>captures</key>
			<dict>
				<key>0</key>
				<dict>
					<key>name</key>
					<string>punctuation.section.directive.jsp</string>
				</dict>
			</dict>
			<key>end</key>
			<string>%&gt;</string>
			<key>name</key>
			<string>meta.directive.jsp</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>begin</key>
					<string>\w+</string>
					<key>beginCaptures</key>
					<dict>
						<key>0</key>
						<dict>
							<key>name</key>
							<string>keyword.other.directive.jsp</string>
						</dict>
					</dict>
					<key>end</key>
					<string>(?=%&gt;)</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>match</key>
							<string>\w+</string>
							<key>name</key>
							<string>constant.other.directive.attribute.jsp</string>
						</dict>
						<dict>
							<key>match</key>
							<string>=</string>
							<key>name</key>
							<string>keyword.operator.assignment.jsp</string>
						</dict>
						<dict>
							<key>begin</key>
							<string>"</string>
							<key>beginCaptures</key>
							<dict>
								<key>0</key>
								<dict>
									<key>name</key>
									<string>punctuation.definition.string.begin.jsp</string>
								</dict>
							</dict>
							<key>end</key>
							<string>"</string>
							<key>endCaptures</key>
							<dict>
								<key>0</key>
								<dict>
									<key>name</key>
									<string>punctuation.definition.string.end.jsp</string>
								</dict>
							</dict>
							<key>name</key>
							<string>string.quoted.double.jsp</string>
							<key>patterns</key>
							<array>
								<dict>
									<key>match</key>
									<string>\\.</string>
									<key>name</key>
									<string>constant.character.escape.jsp</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.jsp</string>
								</dict>
							</dict>
							<key>end</key>
							<string>'</string>
							<key>endCaptures</key>
							<dict>
								<key>0</key>
								<dict>
									<key>name</key>
									<string>punctuation.definition.string.end.jsp</string>
								</dict>
							</dict>
							<key>name</key>
							<string>string.quoted.single.jsp</string>
							<key>patterns</key>
							<array>
								<dict>
									<key>match</key>
									<string>\\.</string>
									<key>name</key>
									<string>constant.character.escape.jsp</string>
								</dict>
							</array>
						</dict>
					</array>
				</dict>
			</array>
		</dict>
		<dict>
			<key>begin</key>
			<string>(&lt;%[!=]?)|(&lt;jsp:scriptlet&gt;|&lt;jsp:expression&gt;|&lt;jsp:declaration&gt;)</string>
			<key>beginCaptures</key>
			<dict>
				<key>1</key>
				<dict>
					<key>name</key>
					<string>punctuation.section.embedded.jsp</string>
				</dict>
				<key>2</key>
				<dict>
					<key>name</key>
					<string>meta.tag.block.jsp</string>
				</dict>
			</dict>
			<key>end</key>
			<string>(?&lt;=&lt;/jsp:scriptlet&gt;|&lt;/jsp:expression&gt;|&lt;/jsp:declaration&gt;|%&gt;)</string>
			<key>patterns</key>
			<array>
				<dict>
					<key>captures</key>
					<dict>
						<key>1</key>
						<dict>
							<key>name</key>
							<string>meta.tag.block.jsp</string>
						</dict>
						<key>2</key>
						<dict>
							<key>name</key>
							<string>punctuation.section.embedded.jsp</string>
						</dict>
					</dict>
					<key>match</key>
					<string>(&lt;/jsp:scriptlet&gt;|&lt;/jsp:expression&gt;|&lt;/jsp:declaration&gt;)|(%&gt;)</string>
				</dict>
				<dict>
					<key>begin</key>
					<string>(?&lt;!\n)(?!&lt;/jsp:scriptlet&gt;|&lt;/jsp:expression&gt;|&lt;/jsp:declaration&gt;|%&gt;|\{|\})</string>
					<key>end</key>
					<string>(?=&lt;/jsp:scriptlet&gt;|&lt;/jsp:expression&gt;|&lt;/jsp:declaration&gt;|%&gt;|\{|\})|\n</string>
					<key>name</key>
					<string>source.java.embedded.html</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>include</key>
							<string>source.java</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>begin</key>
					<string>{</string>
					<key>end</key>
					<string>}</string>
					<key>patterns</key>
					<array>
						<dict>
							<key>begin</key>
							<string>(&lt;/jsp:scriptlet&gt;|&lt;/jsp:expression&gt;|&lt;/jsp:declaration&gt;)|(%&gt;)</string>
							<key>captures</key>
							<dict>
								<key>1</key>
								<dict>
									<key>name</key>
									<string>meta.tag.block.jsp</string>
								</dict>
								<key>2</key>
								<dict>
									<key>name</key>
									<string>punctuation.section.embedded.jsp</string>
								</dict>
							</dict>
							<key>end</key>
							<string>(&lt;jsp:scriptlet&gt;|&lt;jsp:expression&gt;|&lt;jsp:declaration&gt;)|(&lt;%[!=]?)</string>
							<key>patterns</key>
							<array>
								<dict>
									<key>include</key>
									<string>text.html.jsp</string>
								</dict>
							</array>
						</dict>
						<dict>
							<key>include</key>
							<string>source.java</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>include</key>
					<string>source.java</string>
				</dict>
			</array>
		</dict>
		<dict>
			<key>include</key>
			<string>text.html.basic</string>
		</dict>
	</array>
	<key>scopeName</key>
	<string>text.html.jsp</string>
	<key>uuid</key>
	<string>ACB58B55-9437-4AE6-AF42-854995CF51DF</string>
</dict>
</plist>
