about summary refs log tree commit diff stats
path: root/js/baba-yaga/dev/textmate/Baba Yaga.tmbundle
diff options
context:
space:
mode:
Diffstat (limited to 'js/baba-yaga/dev/textmate/Baba Yaga.tmbundle')
-rw-r--r--js/baba-yaga/dev/textmate/Baba Yaga.tmbundle/Info.plist34
-rw-r--r--js/baba-yaga/dev/textmate/Baba Yaga.tmbundle/Syntaxes/Baba Yaga.tmLanguage432
2 files changed, 466 insertions, 0 deletions
diff --git a/js/baba-yaga/dev/textmate/Baba Yaga.tmbundle/Info.plist b/js/baba-yaga/dev/textmate/Baba Yaga.tmbundle/Info.plist
new file mode 100644
index 0000000..e037606
--- /dev/null
+++ b/js/baba-yaga/dev/textmate/Baba Yaga.tmbundle/Info.plist
@@ -0,0 +1,34 @@
+<?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>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleExecutable</key>
+	<string>${EXECUTABLE_NAME}</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.textmate.baba-yaga</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>Baba Yaga</string>
+	<key>CFBundlePackageType</key>
+	<string>BNDL</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.0</string>
+	<key>CFBundleVersion</key>
+	<string>1</string>
+	<key>contactEmail</key>
+	<string>your-email@example.com</string>
+	<key>contactName</key>
+	<string>Your Name</string>
+	<key>description</key>
+	<string>Syntax highlighting for Baba Yaga programming language</string>
+	<key>license</key>
+	<string>MIT</string>
+	<key>repository</key>
+	<string>https://github.com/your-username/baba-yaga</string>
+	<key>uuid</key>
+	<string>BABA-YAGA-UUID-HERE</string>
+</dict>
+</plist>
diff --git a/js/baba-yaga/dev/textmate/Baba Yaga.tmbundle/Syntaxes/Baba Yaga.tmLanguage b/js/baba-yaga/dev/textmate/Baba Yaga.tmbundle/Syntaxes/Baba Yaga.tmLanguage
new file mode 100644
index 0000000..28cb71e
--- /dev/null
+++ b/js/baba-yaga/dev/textmate/Baba Yaga.tmbundle/Syntaxes/Baba Yaga.tmLanguage
@@ -0,0 +1,432 @@
+<?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>baba</string>
+	</array>
+	<key>foldingStartMarker</key>
+	<string>//\s*#?region\b</string>
+	<key>foldingStopMarker</key>
+	<string>//\s*#?endregion\b</string>
+	<key>name</key>
+	<string>Baba Yaga</string>
+	<key>patterns</key>
+	<array>
+		<dict>
+			<key>include</key>
+			<string>#comments</string>
+		</dict>
+		<dict>
+			<key>include</key>
+			<string>#strings</string>
+		</dict>
+		<dict>
+			<key>include</key>
+			<string>#numbers</string>
+		</dict>
+		<dict>
+			<key>include</key>
+			<string>#keywords</string>
+		</dict>
+		<dict>
+			<key>include</key>
+			<string>#operators</string>
+		</dict>
+		<dict>
+			<key>include</key>
+			<string>#functions</string>
+		</dict>
+		<dict>
+			<key>include</key>
+			<string>#variables</string>
+		</dict>
+		<dict>
+			<key>include</key>
+			<string>#types</string>
+		</dict>
+		<dict>
+			<key>include</key>
+			<string>#with-blocks</string>
+		</dict>
+		<dict>
+			<key>include</key>
+			<string>#when-expressions</string>
+		</dict>
+	</array>
+	<key>repository</key>
+	<dict>
+		<key>comments</key>
+		<dict>
+			<key>patterns</key>
+			<array>
+				<dict>
+					<key>match</key>
+					<string>//.*$</string>
+					<key>name</key>
+					<string>comment.line.double-slash.baba-yaga</string>
+				</dict>
+				<dict>
+					<key>begin</key>
+					<string>/\*</string>
+					<key>end</key>
+					<string>\*/</string>
+					<key>name</key>
+					<string>comment.block.baba-yaga</string>
+				</dict>
+			</array>
+		</dict>
+		<key>strings</key>
+		<dict>
+			<key>patterns</key>
+			<array>
+				<dict>
+					<key>begin</key>
+					<string>"</string>
+					<key>end</key>
+					<string>"</string>
+					<key>name</key>
+					<string>string.quoted.double.baba-yaga</string>
+					<key>patterns</key>
+					<array>
+						<dict>
+							<key>match</key>
+							<string>\\\\.</string>
+							<key>name</key>
+							<string>constant.character.escape.baba-yaga</string>
+						</dict>
+					</array>
+				</dict>
+			</array>
+		</dict>
+		<key>numbers</key>
+		<dict>
+			<key>patterns</key>
+			<array>
+				<dict>
+					<key>match</key>
+					<string>\b\d+\b</string>
+					<key>name</key>
+					<string>constant.numeric.integer.baba-yaga</string>
+				</dict>
+				<dict>
+					<key>match</key>
+					<string>\b\d+\.\d+\b</string>
+					<key>name</key>
+					<string>constant.numeric.float.baba-yaga</string>
+				</dict>
+			</array>
+		</dict>
+		<key>keywords</key>
+		<dict>
+			<key>patterns</key>
+			<array>
+				<dict>
+					<key>match</key>
+                    <string>\b(when|then|is|Ok|Err)\b</string>
+					<key>name</key>
+					<string>keyword.control.baba-yaga</string>
+				</dict>
+				<dict>
+					<key>match</key>
+                    <string>\b(Bool|Int|Float|String|List|Table|Result|Number)\b</string>
+					<key>name</key>
+					<string>storage.type.baba-yaga</string>
+				</dict>
+				<dict>
+					<key>match</key>
+					<string>\b(->|=>|\+|-|\*|/|%|=|>|<|>=|<=|\.\.|append|set|merge|shape)\b</string>
+					<key>name</key>
+					<string>keyword.operator.baba-yaga</string>
+				</dict>
+				<dict>
+					<key>match</key>
+					<string>\b(io\.out|io\.in|io\.emit|io\.listen|map|filter|reduce|pipe)\b</string>
+					<key>name</key>
+					<string>keyword.other.baba-yaga</string>
+				</dict>
+			</array>
+		</dict>
+		<key>operators</key>
+		<dict>
+			<key>patterns</key>
+			<array>
+				<dict>
+					<key>match</key>
+					<string>(\+|-|\*|/|%)</string>
+					<key>name</key>
+					<string>keyword.operator.arithmetic.baba-yaga</string>
+				</dict>
+				<dict>
+					<key>match</key>
+					<string>(=|>|<|>=|<=)</string>
+					<key>name</key>
+					<string>keyword.operator.comparison.baba-yaga</string>
+				</dict>
+				<dict>
+					<key>match</key>
+					<string>:</string>
+					<key>name</key>
+					<string>keyword.operator.assignment.baba-yaga</string>
+				</dict>
+				<dict>
+					<key>match</key>
+					<string>-></string>
+					<key>name</key>
+					<string>keyword.operator.function.baba-yaga</string>
+				</dict>
+				<dict>
+					<key>match</key>
+					<string>\.\.</string>
+					<key>name</key>
+					<string>keyword.operator.string.baba-yaga</string>
+				</dict>
+			</array>
+		</dict>
+		<key>functions</key>
+		<dict>
+			<key>patterns</key>
+			<array>
+				<dict>
+					<key>captures</key>
+					<dict>
+						<key>1</key>
+						<dict>
+							<key>name</key>
+							<string>entity.name.function.baba-yaga</string>
+						</dict>
+					</dict>
+					<key>match</key>
+					<string>\b([a-zA-Z_][a-zA-Z0-9_]*)\s*:</string>
+				</dict>
+				<dict>
+					<key>begin</key>
+					<string>\(</string>
+					<key>end</key>
+					<string>\)</string>
+					<key>name</key>
+					<string>meta.function.anonymous.baba-yaga</string>
+					<key>patterns</key>
+					<array>
+						<dict>
+							<key>match</key>
+							<string>\b([a-zA-Z_][a-zA-Z0-9_]*)\b</string>
+							<key>name</key>
+							<string>variable.parameter.baba-yaga</string>
+						</dict>
+						<dict>
+							<key>include</key>
+							<string>#operators</string>
+						</dict>
+					</array>
+				</dict>
+			</array>
+		</dict>
+		<key>variables</key>
+		<dict>
+			<key>patterns</key>
+			<array>
+				<dict>
+					<key>captures</key>
+					<dict>
+						<key>1</key>
+						<dict>
+							<key>name</key>
+							<string>variable.other.baba-yaga</string>
+						</dict>
+					</dict>
+					<key>match</key>
+					<string>\b([a-zA-Z_][a-zA-Z0-9_]*)\b</string>
+				</dict>
+			</array>
+		</dict>
+		<key>types</key>
+		<dict>
+			<key>patterns</key>
+			<array>
+				<dict>
+					<key>match</key>
+					<string>\b(Bool|Int|Float|String|List|Table|Result|Maybe)\b</string>
+					<key>name</key>
+					<string>storage.type.baba-yaga</string>
+				</dict>
+			</array>
+		</dict>
+		<key>with-blocks</key>
+		<dict>
+			<key>patterns</key>
+			<array>
+				<dict>
+					<key>begin</key>
+					<string>\bwith\b\s*\(\s*(?:rec\s*)?</string>
+					<key>end</key>
+					<string>\)\s*-></string>
+					<key>name</key>
+					<string>meta.with-block.baba-yaga</string>
+					<key>beginCaptures</key>
+					<dict>
+						<key>0</key>
+						<dict>
+							<key>name</key>
+							<string>keyword.control.with.baba-yaga</string>
+						</dict>
+					</dict>
+					<key>endCaptures</key>
+					<dict>
+						<key>0</key>
+							<dict>
+								<key>name</key>
+								<string>keyword.operator.function.baba-yaga</string>
+							</dict>
+						</key>
+					</dict>
+					<key>patterns</key>
+					<array>
+						<dict>
+							<key>include</key>
+							<string>#comments</string>
+						</dict>
+						<dict>
+							<key>include</key>
+							<string>#with-block-entries</string>
+						</dict>
+						<dict>
+							<key>include</key>
+							<string>#strings</string>
+						</dict>
+						<dict>
+							<key>include</key>
+							<string>#numbers</string>
+						</dict>
+						<dict>
+							<key>include</key>
+							<string>#variables</string>
+						</dict>
+						<dict>
+							<key>include</key>
+							<string>#operators</string>
+						</dict>
+					</array>
+				</dict>
+			</array>
+		</dict>
+		<key>with-block-entries</key>
+		<dict>
+			<key>patterns</key>
+			<array>
+				<dict>
+					<key>begin</key>
+					<string>([a-zA-Z_][a-zA-Z0-9_]*)\s*:</string>
+					<key>end</key>
+					<string>;</string>
+					<key>name</key>
+					<string>meta.with-block-entry.baba-yaga</string>
+					<key>beginCaptures</key>
+					<dict>
+						<key>1</key>
+							<dict>
+								<key>name</key>
+								<string>variable.other.with-local.baba-yaga</string>
+							</dict>
+						</key>
+					</dict>
+					<key>endCaptures</key>
+					<dict>
+						<key>0</key>
+							<dict>
+								<key>name</key>
+								<string>punctuation.terminator.semicolon.baba-yaga</string>
+							</dict>
+						</key>
+					</dict>
+					<key>patterns</key>
+					<array>
+						<dict>
+							<key>include</key>
+							<string>#comments</string>
+						</dict>
+						<dict>
+							<key>include</key>
+							<string>#when-expressions</string>
+						</dict>
+						<dict>
+							<key>include</key>
+							<string>#strings</string>
+						</dict>
+						<dict>
+							<key>include</key>
+							<string>#numbers</string>
+						</dict>
+						<dict>
+							<key>include</key>
+							<string>#variables</string>
+						</dict>
+						<dict>
+							<key>include</key>
+							<string>#operators</string>
+						</dict>
+					</array>
+				</dict>
+			</array>
+		</dict>
+		<key>when-expressions</key>
+		<dict>
+			<key>patterns</key>
+			<array>
+				<dict>
+					<key>begin</key>
+					<string>\bwhen\b</string>
+					<key>end</key>
+					<string>;</string>
+					<key>name</key>
+					<string>meta.when-expression.baba-yaga</string>
+					<key>patterns</key>
+					<array>
+						<dict>
+							<key>match</key>
+							<string>\bwhen\b</string>
+							<key>name</key>
+							<string>keyword.control.when.baba-yaga</string>
+						</dict>
+						<dict>
+							<key>match</key>
+							<string>\bthen\b</string>
+							<key>name</key>
+							<string>keyword.control.then.baba-yaga</string>
+						</dict>
+						<dict>
+							<key>match</key>
+							<string>\bis\b</string>
+							<key>name</key>
+							<string>keyword.control.is.baba-yaga</string>
+						</dict>
+						<dict>
+							<key>match</key>
+							<string>\b_\b</string>
+							<key>name</key>
+							<string>constant.language.wildcard.baba-yaga</string>
+						</dict>
+						<dict>
+							<key>include</key>
+							<string>#strings</string>
+						</dict>
+						<dict>
+							<key>include</key>
+							<string>#numbers</string>
+						</dict>
+						<dict>
+							<key>include</key>
+							<string>#variables</string>
+						</dict>
+					</array>
+				</dict>
+			</array>
+		</dict>
+	</dict>
+	<key>scopeName</key>
+	<string>source.baba-yaga</string>
+	<key>uuid</key>
+	<string>BABA-YAGA-SYNTAX-UUID-HERE</string>
+</dict>
+</plist>