about summary refs log tree commit diff
path: root/sublime/.config/sublime-text-3/Packages/User/Smalltalk.JSON-tmLanguage
diff options
context:
space:
mode:
authorBen Harris <ben@tilde.team>2018-10-01 00:51:07 -0400
committerBen Harris <ben@tilde.team>2018-10-01 00:51:07 -0400
commitdb4a4fa9b74f49615aea0fd5f08c2322e1188a4a (patch)
treec57758c4138ea96f0825b6463b6b4a7d8ef012ed /sublime/.config/sublime-text-3/Packages/User/Smalltalk.JSON-tmLanguage
parent54ed1fc2973e0314a1756256ed7626684c349b98 (diff)
import sublime and vscode settings
Diffstat (limited to 'sublime/.config/sublime-text-3/Packages/User/Smalltalk.JSON-tmLanguage')
-rwxr-xr-xsublime/.config/sublime-text-3/Packages/User/Smalltalk.JSON-tmLanguage112
1 files changed, 112 insertions, 0 deletions
diff --git a/sublime/.config/sublime-text-3/Packages/User/Smalltalk.JSON-tmLanguage b/sublime/.config/sublime-text-3/Packages/User/Smalltalk.JSON-tmLanguage
new file mode 100755
index 0000000..7f4c819
--- /dev/null
+++ b/sublime/.config/sublime-text-3/Packages/User/Smalltalk.JSON-tmLanguage
@@ -0,0 +1,112 @@
+{
+	"name": "Smalltalk",
+	"scopeName": "source.smalltalk",
+	"fileTypes": ["st"],
+	"patterns": [
+		{
+			"begin": "([a-zA-Z][a-zA-Z0-9]*)\\s*(subclass:)\\s*([a-zA-Z][a-zA-Z0-9]*)\\s*\\[",
+			"end": "\\]",
+			"patterns": [
+				{ "include": "#pragma" },
+				{
+					"match": "(([a-zA-Z][a-zA-Z0-9]*:)|[+\\-\\/\\\\*~<>=@%|&?!.,:;^]+)\\s*([a-zA-Z][a-zA-Z0-9]*)",
+					"captures": {
+						"1": { "name": "entity.name.function" },
+						"3": { "name": "variable.other" }
+					}
+				},
+				{
+					"match": "([a-zA-Z][a-zA-Z0-9]*)",
+					"name": "entity.name.function"
+				},
+				{ "include": "#block" },
+				{ "include": "#comment" }
+			],
+			"beginCaptures": {
+				"1": { "name": "entity.other.inherited-class" },
+				"2": { "name": "keyword.other" },
+				"3": { "name": "entity.name.type" }
+			}
+		},
+		{ "include": "#block-body" }
+	],
+	"repository": {
+		"comment": {
+			"begin": "\"",
+			"end": "\"",
+			"name": "comment.block"
+		},
+		"string": {
+			"begin": "'",
+			"end": "'",
+			"name": "string.quoted.double"
+		},
+		"symbol": {
+			"match": "#(([a-zA-Z][a-zA-Z0-9:]*)|[+\\-\\/\\\\*~<>=@%|&?!.,:;^]+)",
+			"name": "constant.language"
+		},
+		"symbol2": {
+			"begin": "#'",
+			"end": "'",
+			"name": "constant.language"
+		},
+		"character": {
+			"match": "\\$(<[0-F]+>|.)",
+			"name": "constants.character"
+		},
+		"number": {
+			"match": "(([0-9]{1,2}r)?[0-9A-F]+)",
+			"name": "constant.numeric"
+		},
+		"special-variable": {
+			"match": "true|false|nil|thisContext",
+			"name": "constant.language"
+		},
+		"variable": {
+			"match": "([a-zA-Z][a-zA-Z0-9]*)",
+			"name": "variable.other"
+		},
+		"selector": {
+			"match": "([a-zA-Z][a-zA-Z0-9]*:)|[+\\-\\/\\\\*~<>=@%|&?!.,:;^]+",
+			"name": "keyword.other"
+		},
+		"literal": {
+			"patterns": [
+				{ "include": "#character" },
+				{ "include": "#special-variable" },
+				{ "include": "#variable" },
+				{ "include": "#number" },
+				{ "include": "#symbol" },
+				{ "include": "#symbol2" },
+				{ "include": "#string" }
+			]
+		},
+		"block": {
+			"begin": "\\[",
+			"end": "\\]",
+			"patterns": [
+				{ "include": "#block-body" }
+			]
+		},
+		"block-body": {
+			"patterns": [
+				{ "include": "#pragma" },
+				{ "include": "#selector"},
+				{ "include": "#literal" },
+				{ "include": "#block"},
+				{ "include": "#comment" }
+			]
+		},
+		"pragma": {
+			"begin": "<([a-zA-Z][a-zA-Z0-9]*:)",
+			"end": ">",
+			"patterns": [
+				{ "include": "#literal" }
+			],
+			"captures": {
+				"1": { "name": "keyword.other" }
+			}
+		}
+	},
+	"uuid": "e42217b0-9451-4406-8697-4ab7a7b42aa9"
+}