Skip to content

Commit ffd4000

Browse files
committed
VERSION 1.7.0
- Added support for DECORATE - Fixed some stuff for ACS
1 parent 98a84e6 commit ffd4000

File tree

6 files changed

+298
-7
lines changed

6 files changed

+298
-7
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Change Log
22

3+
## [1.7.0] The "Absolute Decorate Man" update
4+
5+
- Added support for DECORATE
6+
- Fixed some stuff for ACS
7+
38
## [1.6.2] The "Autocomplete begins" update
49

510
- Added initial autocomplete capability. More to come.

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ Made with the help from: [marrub--'s ZScript documentation](https://github.com/m
1818

1919
- ZScript Programmatic Language Features
2020

21+
- Version 1.7.0
22+
23+
- DECORATE Syntax Highlighting
24+
2125
_More to come, soon™._
2226

2327
## IMAGES
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
{
2+
"comments": {
3+
"lineComment": "//",
4+
"blockComment": [
5+
"/*",
6+
"*/"
7+
]
8+
},
9+
"brackets": [
10+
[
11+
"{",
12+
"}"
13+
],
14+
[
15+
"[",
16+
"]"
17+
],
18+
[
19+
"(",
20+
")"
21+
]
22+
],
23+
"autoClosingPairs": [
24+
{
25+
"open": "{",
26+
"close": "}",
27+
"notIn": [
28+
"comment",
29+
"string"
30+
]
31+
},
32+
{
33+
"open": "[",
34+
"close": "]",
35+
"notIn": [
36+
"comment",
37+
"string"
38+
]
39+
},
40+
{
41+
"open": "(",
42+
"close": ")",
43+
"notIn": [
44+
"comment",
45+
"string"
46+
]
47+
},
48+
{
49+
"open": "\"",
50+
"close": "\"",
51+
"notIn": [
52+
"comment",
53+
"string"
54+
]
55+
},
56+
{
57+
"open": "'",
58+
"close": "'",
59+
"notIn": [
60+
"comment",
61+
"string"
62+
]
63+
}
64+
],
65+
"surroundingPairs": [
66+
{
67+
"open": "{",
68+
"close": "}"
69+
},
70+
{
71+
"open": "[",
72+
"close": "]"
73+
},
74+
{
75+
"open": "(",
76+
"close": ")"
77+
},
78+
{
79+
"open": "\"",
80+
"close": "\""
81+
},
82+
{
83+
"open": "'",
84+
"close": "'"
85+
}
86+
],
87+
"indentationRules": {
88+
"increaseIndentPattern": "[{}]"
89+
}
90+
}

package.json

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"name": "gzdoom-zscript",
33
"displayName": "GZDoom ZScript",
4-
"description": "GZDoom's ZScript scripting language support for VSCode",
4+
"description": "GZDoom's multiple scripting languages support (with a focus on ZScript) for VSCode (and compatible editors)",
55
"publisher": "kaptainmicila",
66
"icon": "icons/GZDoom.png",
7-
"version": "1.6.2",
7+
"version": "1.7.0",
88
"repository": {
99
"type": "git",
1010
"url": "https://github.com/KaptainMicila/ZScript-VSCode.git"
@@ -21,6 +21,8 @@
2121
"id": "zscript",
2222
"aliases": [
2323
"ZScript",
24+
"ZDoom Script",
25+
"DoomScript",
2426
"zscript"
2527
],
2628
"extensions": [
@@ -34,12 +36,30 @@
3436
"id": "acs",
3537
"aliases": [
3638
"ACS",
39+
"Action Code Script",
3740
"acs"
3841
],
3942
"extensions": [
4043
".acs"
4144
],
4245
"configuration": "./configurations/ACSConfiguration.json"
46+
},
47+
{
48+
"id": "decorate",
49+
"aliases": [
50+
"DECORATE",
51+
"decorate",
52+
"zdoomDecorate",
53+
"gzdoomDecorate"
54+
],
55+
"extensions": [
56+
".dec"
57+
],
58+
"filenames": [
59+
"DECORATE",
60+
"decorate"
61+
],
62+
"configuration": "./configurations/DecorateConfiguration.json"
4363
}
4464
],
4565
"grammars": [
@@ -52,6 +72,11 @@
5272
"language": "acs",
5373
"scopeName": "source.acs",
5474
"path": "./syntaxes/acs.tmLanguage.json"
75+
},
76+
{
77+
"language": "decorate",
78+
"scopeName": "source.decorate",
79+
"path": "./syntaxes/decorate.tmLanguage.json"
5580
}
5681
]
5782
},
@@ -74,7 +99,8 @@
7499
],
75100
"activationEvents": [
76101
"onLanguage:zscript",
77-
"onLanguage:acs"
102+
"onLanguage:acs",
103+
"onLanguage:decorate"
78104
],
79105
"main": "./out/extension.js",
80106
"scripts": {

syntaxes/acs.tmLanguage.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@
8686
"patterns": [
8787
{
8888
"name": "keyword.control.acs",
89-
"match": "\\b(?i:if|else|for|do|while)\\b"
89+
"match": "\\b(?i:if|else|for|do|while|switch|case|break|continue|return)\\b"
9090
},
9191
{
9292
"name": "keyword.operator.acs",
@@ -102,7 +102,7 @@
102102
},
103103
{
104104
"name": "storage.type.script.acs",
105-
"match": "(?i)(?<=^script\\s+.+?\\s+)\\w+"
105+
"match": "(?i)(?<=^script.+?)\\w+?$"
106106
},
107107
{
108108
"name": "constant.hexadecimal.acs",
@@ -114,7 +114,7 @@
114114
},
115115
{
116116
"name": "storage.type.acs",
117-
"match": "\\b(?i:null|void|array|bool|script)\\b|\\b(?<!\\.)\\w+?(?=\\ (?!(?i:true|false))(?:[a-zA-Z]+?))"
117+
"match": "\\b(?i:null|void|array|bool|script)\\b|\\b(?<!\\.)\\w+?(?=\\ (?!(?i:TRUE|FALSE))(?:[a-zA-Z]+?))"
118118
},
119119
{
120120
"name": "constant.language.boolean.acs",
@@ -126,7 +126,7 @@
126126
"patterns": [
127127
{
128128
"name": "entity.name.function.acs",
129-
"match": "\\w+(?=\\s*\\()"
129+
"match": "\\b\\w+(?=\\s*\\()\\b"
130130
},
131131
{
132132
"name": "variable.parameter",

syntaxes/decorate.tmLanguage.json

Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
{
2+
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
3+
"name": "DECORATE",
4+
"patterns": [
5+
{
6+
"include": "#comments"
7+
},
8+
{
9+
"name": "entity.name.tag.attribute.decorate",
10+
"match": "(?<=\\+|-)\\w+?\\b|(?<=(?<=\\+|-)\\w+?\\.??)\\w+?\\b"
11+
},
12+
{
13+
"include": "#strings"
14+
},
15+
{
16+
"include": "#punctuation"
17+
},
18+
{
19+
"include": "#keywords"
20+
},
21+
{
22+
"include": "#types"
23+
},
24+
{
25+
"name": "variable.parameter.decorate",
26+
"match": "(?<=\\w+?\\.)\\w+?\\b"
27+
},
28+
{
29+
"name": "entity.name.class.state.decorate",
30+
"match": "\\b\\w+?(?=:$)"
31+
},
32+
{
33+
"name": "entity.name.class.state.decorate",
34+
"match": "(?i)(?<=\\bgoto\\b\\s+?)\\w+?\\b"
35+
},
36+
{
37+
"name": "keyword.states.decorate",
38+
"match": "(?i)\\b(?:bright|canraise|fast|light|nodelay|offset|slow)\\b"
39+
},
40+
{
41+
"name": "keyword.control.states.decorate",
42+
"match": "(?i)\\b(?:loop|stop|wait|fail|goto)\\b"
43+
},
44+
{
45+
"name": "entity.name.function.decorate",
46+
"match": "A_\\w+?\b"
47+
},
48+
{
49+
"name": "entity.name.function.decorate",
50+
"match": "\\w+(?=\\s*\\()"
51+
},
52+
{
53+
"name": "variable.parameter",
54+
"match": "\\w:"
55+
},
56+
{
57+
"name": "keyword.control.directive.decorate",
58+
"match": "^\\#(?:include|library|define)\\b"
59+
},
60+
{
61+
"name": "variable.other.decorate",
62+
"match": "\\b\\w+?\\b"
63+
}
64+
],
65+
"repository": {
66+
"comments": {
67+
"patterns": [
68+
{
69+
"name": "comment.line.double-slash.decorate",
70+
"begin": "\\/\\/",
71+
"end": "$",
72+
"contentName": "comment.line.double-slash.text.decorate"
73+
},
74+
{
75+
"name": "comment.block.decorate",
76+
"begin": "\\/\\*",
77+
"end": "\\*\\/",
78+
"contentName": "comment.block.text.decorate"
79+
}
80+
]
81+
},
82+
"strings": {
83+
"patterns": [
84+
{
85+
"name": "string.quoted.double.decorate",
86+
"begin": "(?<!\\\\)\"",
87+
"end": "(?<!\\\\)\""
88+
},
89+
{
90+
"name": "string.quoted.single.decorate",
91+
"begin": "(?<!\\\\)'",
92+
"end": "(?<!\\\\)'"
93+
}
94+
]
95+
},
96+
"punctuation": {
97+
"patterns": [
98+
{
99+
"name": "punctuation.terminator.statement.decorate",
100+
"match": ";"
101+
},
102+
{
103+
"name": "punctuation.brackets.round.decorate",
104+
"match": "[()]"
105+
},
106+
{
107+
"name": "punctuation.brackets.square.decorate",
108+
"match": "[\\[\\]]"
109+
},
110+
{
111+
"name": "punctuation.brackets.curly.decorate",
112+
"match": "[{}]"
113+
},
114+
{
115+
"name": "constant.numeric.decimal.point.decorate",
116+
"match": "(?<=[\\d]?)\\.(?=[\\d])"
117+
}
118+
]
119+
},
120+
"keywords": {
121+
"patterns": [
122+
{
123+
"name": "keyword.control.decorate",
124+
"match": "\\b(?i:if|else|for|return|do|while|switch|continue|break|case)\\b"
125+
},
126+
{
127+
"name": "keyword.operator.decorate",
128+
"match": "(?:-[-=]?|!=?|\\+[+=]?|~(?:==)?|\\*[*=]?|\\/=?|%=?|<(?:<|>?=)?|>(?:>(?:>|=)?|=)?|\\.\\.?|==?|&[&=]?|\\|[|=]?|\\^=?|::?)|\\b(?:alignof|sizeof|cross|dot|is)\\b"
129+
},
130+
{
131+
"name": "keyword.other.decorate",
132+
"match": "\\b(?i:Script|abstract|action|clearscope|deprecated|final|native|override|play|private|protected|static|ui|vararg|virtual|virtualscope|abstract|replaces|readonly|extend|in|out)\\b"
133+
}
134+
]
135+
},
136+
"types": {
137+
"patterns": [
138+
{
139+
"name": "constant.numeric.decorate",
140+
"match": "\\b\\d+?\\b"
141+
},
142+
{
143+
"name": "storage.type.script.decorate",
144+
"match": "(?i)(?<=^script.+?)\\w+?$"
145+
},
146+
{
147+
"name": "storage.type.decorate",
148+
"match": "\\b(?i:null|void|array|bool|script|ON|OFF)\\b|\\b(?<!\\.)\\w+?(?=\\ (?!(?i:TRUE|FALSE))(?:[a-zA-Z]+?))"
149+
},
150+
{
151+
"name": "constant.decorate",
152+
"match": "\\b[A-Z_0-9]+?\\b"
153+
},
154+
{
155+
"name": "entity.name.class.structure.decorate",
156+
"match": "\\b\\w+?(?=\\[)\\b|\\b\\w+?(?=(?:\\[\\w+?\\])??\\.\\w+)"
157+
},
158+
{
159+
"name": "constant.language.boolean.decorate",
160+
"match": "\\b(?i:true|false)\\b"
161+
}
162+
]
163+
}
164+
},
165+
"scopeName": "source.decorate"
166+
}

0 commit comments

Comments
 (0)