Replace syntax highlight from sublime to atom

Add icon
Release 0.1.1
This commit is contained in:
Geequlim
2016-12-28 12:06:26 +08:00
parent a56872c843
commit 50b81b115f
7 changed files with 213 additions and 392 deletions

3
.gitignore vendored
View File

@@ -1,4 +1,5 @@
out
node_modules
server
test
test
*.vsix

7
CHANGELOG.md Normal file
View File

@@ -0,0 +1,7 @@
# Change Log
### 0.1.1
* Better syntax highlit with GDScript
### 0.1.0
* Initial release

View File

@@ -43,4 +43,8 @@ Please feel free to open issues and pull requirests on github about the [Godot-T
## Release Notes
### 0.1.0 Initialize publish
### 0.1.1
* Better syntax highlit with GDScript
### 0.1.0
* Initial release

View File

@@ -1,388 +0,0 @@
<?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>gd</string>
</array>
<key>name</key>
<string>GDScript (Godot Engine)</string>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.number-sign.gdscript</string>
</dict>
</dict>
<key>match</key>
<string>(#).*$\n?</string>
<key>name</key>
<string>comment.line.number-sign.gdscript</string>
</dict>
<dict>
<key>begin</key>
<string>^(""")</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.triple-quote.gdscript</string>
</dict>
</dict>
<key>end</key>
<string>(""")</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.triple-quote.gdscript</string>
</dict>
</dict>
<key>name</key>
<string>comment.block.triple-quote</string>
</dict>
<dict>
<key>begin</key>
<string>"</string>
<key>end</key>
<string>(?&lt;!\\)"</string>
<key>name</key>
<string>string.quoted.double.gdscript</string>
</dict>
<dict>
<key>begin</key>
<string>'</string>
<key>end</key>
<string>(?&lt;!\\)'</string>
<key>name</key>
<string>string.quoted.single.gdscript</string>
</dict>
<dict>
<key>begin</key>
<string>"""</string>
<key>end</key>
<string>(?&lt;!\\)"""</string>
<key>name</key>
<string>string.quoted.triple.gdscript</string>
</dict>
<dict>
<key>begin</key>
<string>@"</string>
<key>end</key>
<string>(?&lt;!\\)"</string>
<key>name</key>
<string>string.quoted.double.node-path.gdscript</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:0x\h*)\b</string>
<key>name</key>
<string>constant.numeric.integer.hexadecimal.gdscript</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:(\d+\.\d*(e[\-\+]?\d+)?))\b</string>
<key>name</key>
<string>constant.numeric.float.gdscript</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:(\.\d+(e[\-\+]?\d+)?))\b</string>
<key>name</key>
<string>constant.numeric.float.gdscript</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:(\d+e[\-\+]?\d+))\b</string>
<key>name</key>
<string>constant.numeric.float.gdscript</string>
</dict>
<dict>
<key>match</key>
<string>\b\d+\b</string>
<key>name</key>
<string>constant.numeric.integer.gdscript</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:elif|else|for|if|while|break|continue|pass|return)\b</string>
<key>name</key>
<string>keyword.control.flow.gdscript</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:&amp;&amp;|and|in|is|!|not|\|\||or)\b</string>
<key>name</key>
<string>keyword.operator.logical.gdscript</string>
</dict>
<dict>
<key>match</key>
<string>&lt;=|&gt;=|==|&lt;|&gt;|!=</string>
<key>name</key>
<string>keyword.operator.comparison.gdscript</string>
</dict>
<dict>
<key>match</key>
<string>\+=|-=|\*=|/=|%=|&amp;=|\|=|\*|/|%|\+|-|&lt;&lt;|&gt;&gt;|&amp;|\||\^|~</string>
<key>name</key>
<string>keyword.operator.arithmetic.gdscript</string>
</dict>
<dict>
<key>match</key>
<string>=</string>
<key>name</key>
<string>keyword.operator.assignment.gdscript</string>
</dict>
<dict>
<key>match</key>
<string>\b(bool|int|float|String|funcref)\b</string>
<key>name</key>
<string>support.type.basic.gdscript</string>
</dict>
<dict>
<key>match</key>
<string>\b(Vector[23]|Rect2|Matrix32?|Plane|Quat|AABB|Transform)\b</string>
<key>name</key>
<string>support.type.vector.gdscript</string>
</dict>
<dict>
<key>match</key>
<string>\b(Color|Image|NodePath|RID|Object|InputEvent)\b</string>
<key>name</key>
<string>support.type.engine.gdscript</string>
</dict>
<dict>
<key>match</key>
<string>\b(Array|Dictionary|ByteArray|IntArray|FloatArray|StringArray|Vector[23]Array|ColorArray)\b</string>
<key>name</key>
<string>support.type.container.gdscript</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.class.gdscript</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.type.class.gdscript</string>
</dict>
</dict>
<key>match</key>
<string>^\s*(?i:(class))\s+([a-zA-Z_][a-zA-Z_0-9]*)\s*:</string>
</dict>
<dict>
<key>begin</key>
<string>^\s*(?i:(?:(static)\s+)?(func))\s+([a-zA-Z_][a-zA-Z_0-9]*)\s*\(</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.modifier.static-function.gdscript</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>storage.type.function.gdscript</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>entity.name.function.gdscript</string>
</dict>
</dict>
<key>end</key>
<string>\)\s*:</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>[a-zA-Z_][a-zA-Z_0-9]*</string>
<key>name</key>
<string>variable.parameter.gdscript</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>^\s*(?i:(signal))\s+([a-zA-Z_][a-zA-Z_0-9]*)\s*\(</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.signal.gdscript</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.function.siglan.gdscript</string>
</dict>
</dict>
<key>end</key>
<string>\)\s*:</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>[a-zA-Z_][a-zA-Z_0-9]*</string>
<key>name</key>
<string>variable.parameter.gdscript</string>
</dict>
</array>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.onready.gdscript</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>storage.type.var.gdscript</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>variable.other.gdscript</string>
</dict>
</dict>
<key>match</key>
<string>(?i:\b(?:(onready)\s+)?(var))\s+([a-zA-Z_][a-zA-Z_0-9]*)</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.const.gdscript</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>variable.other.gdscript</string>
</dict>
</dict>
<key>match</key>
<string>\b(?i:(const))\s+([a-zA-Z_][a-zA-Z_0-9]*)</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:extends|assert|breakpoint)\b</string>
<key>name</key>
<string>keyword.other.gdscript</string>
</dict>
<dict>
<key>match</key>
<string>(?&lt;=extends)\s+[a-zA-Z_][a-zA-Z_0-9]*(\.([a-zA-Z_][a-zA-Z_0-9]*))?</string>
<key>name</key>
<string>entity.other.inherited-class.gdscript</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:true|false|null)\b</string>
<key>name</key>
<string>constant.language.gdscript</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:export|tool)\b</string>
<key>name</key>
<string>storage.modifier.static.gdscript</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.setget.gdscript</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.function.gdscript</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>entity.name.function.gdscript</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>entity.name.function.gdscript</string>
</dict>
</dict>
<key>match</key>
<string>\b((?i:setget))\b\s+(?:,?([a-zA-Z_][a-zA-Z_0-9]*)|([a-zA-Z_][a-zA-Z_0-9]*)\s*,\s*([a-zA-Z_][a-zA-Z_0-9]*))</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:yield)\b</string>
<key>name</key>
<string>keyword.control.flow.yield.gdscript</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:var|const|onready|class|func|signal)\b</string>
<key>name</key>
<string>invalid.illegal</string>
</dict>
<dict>
<key>match</key>
<string>([A-Z][a-zA-Z_0-9]*)</string>
<key>name</key>
<string>entity.name.type.class-type.gdscript</string>
</dict>
<dict>
<key>match</key>
<string>([a-z_][a-zA-Z_0-9]*)</string>
<key>name</key>
<string>entity.name.type.variant.gdscript</string>
</dict>
<dict>
<key>begin</key>
<string>([a-z][a-zA-Z_0-9]*)\s*\(</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>entity.name.function.reference.gdscript</string>
</dict>
</dict>
<key>end</key>
<string>\)</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>([a-zA-Z_][a-zA-Z_0-9]*)</string>
<key>name</key>
<string>variable.parameter.gdscript</string>
</dict>
</array>
</dict>
</array>
<key>scopeName</key>
<string>source.gdscript</string>
<key>uuid</key>
<string>e08b7d98-5d50-4aa9-8935-7c759a4a8fdd</string>
</dict>
</plist>

View File

@@ -0,0 +1,196 @@
{
"fileTypes": [
"gd"
],
"scopeName": "source.gdscript",
"name": "Godot Engine GDScript",
"patterns": [
{
"include": "#strings"
},
{
"include": "#numbers"
},
{
"include": "#const_vars"
},
{
"include": "#self"
},
{
"match": "(#).*$\\n?",
"name": "punctuation.definition.comment.gdscript"
},
{
"match": "\\b(?i:elif|else|for|if|while|break|continue|pass|and|in|is|not|or|return|onready|setget|breakpoint)\\b",
"name": "keyword.control.gdscript"
},
{
"match": "\\b(&&|!|\\|\\|)\\b",
"name": "keyword.operator.logical.gdscript"
},
{
"match": "<=|>=|==|<|>|!=",
"name": "keyword.operator.comparison.gdscript"
},
{
"match": "\\+=|-=|\\*=|/=|%=|&=|\\|=|\\*|/|%|\\+|-|<<|>>|&|\\||\\^|~",
"name": "keyword.operator.arithmetic.gdscript"
},
{
"match": "=",
"name": "keyword.operator.assignment.gdscript"
},
{
"match": "\\b(?i:class|extends|assert|signal)\\b",
"name": "keyword.other.gdscript"
},
{
"match": "(?<=extends)\\s+[a-zA-Z_][a-zA-Z_0-9]*(\\.([a-zA-Z_][a-zA-Z_0-9]*))?",
"name": "entity.other.inherited-class.gdscript"
},
{
"match": "\\b(?i:true|false|null)\\b",
"name": "constant.language.gdscript"
},
{
"match": "\\b(?i:export|tool|yield)\\b",
"name": "storage.modifier.static.gdscript"
},
{
"match": "\\bvar\\b",
"name": "storage.type.var.gdscript"
},
{
"match": "(?<![^.]\\.|:)\\b(sin|cos|tan|sinh|cosh|tanh|asin|acos|atan|atan2|sqrt|fmod|fposmod|floor|ceil|round|abs|sign|pow|log|exp|isnan|isinf|ease|decimals|stepify|lerp|dectime|randomize|randi|randf|rand_range|seed|rand_seed|deg2rad|rad2deg|linear2db|db2linear|max|min|clamp|nearest_po2|weakref|funcref|convert|typeof|str|print|printt|prints|printerr|printraw|var2str|str2var|var2bytes|bytes2var|range|load|inst2dict|dict2inst|hash|Color8|print_stack|instance_from_id|preload|yield|assert)\\b(?=(\\()([^)]*)(\\)))",
"name": "support.function.gdscript"
},
{
"match": "(?<![^.]\\.|:)\\b(print|set_\\w+|get_\\w+)\\b(?=(\\()([^)]*)(\\)))",
"name": "support.function.library.gdscript"
},
{
"match": "\\b([A-Za-z_]\\w*)\\b(?=\\s*(?:[(]))",
"name": "support.function.any-method.gdscript"
},
{
"match": "(?<=[^.]\\.)\\b([A-Za-z_]\\w*)\\b(?![(])",
"name": "variable.other.property.gdscript"
},
{
"captures": {
"1": {
"name": "entity.name.type.class.gdscript"
}
},
"match": "(?<=^class)\\s+([a-zA-Z_]\\w*)\\s*(?=:)"
},
{
"captures": {
"1": {
"name": "storage.type.const.gdscript"
},
"2": {
"name": "constant.other.gdscript"
}
},
"match": "\\b(?i:(const))\\s+([a-zA-Z_][a-zA-Z_0-9]*)"
},
{
"captures": {
"1": {
"name": "entity.name.type.instance.gdscript"
},
"2": {
"name": "keyword.operator.new.gdscript"
}
},
"match": "\\s*\\b(\\w+)\\.(new)\\b"
},
{
"begin": "^\\s*(static)?\\s*(func)\\s+([a-zA-Z_]\\w*)s*(\\()",
"beginCaptures": {
"1": {
"name": "storage.modifier.static.gdscript"
},
"2": {
"name": "storage.type.function.gdscript"
},
"3": {
"name": "entity.name.function.gdscript"
},
"4": {
"name": "punctuation.definition.parameters.begin.bracket.round.gdscript"
}
},
"end": "(\\))\\s*:",
"endCaptures": {
"1": {
"name": "punctuation.definition.parameters.end.bracket.round.gdscript"
}
},
"patterns": [
{
"match": "[a-zA-Z_][a-zA-Z_0-9]*",
"name": "variable.parameter.function.gdscript"
},
{
"match": ",",
"name": "punctuation.definition.parameters.comma.gdscript"
},
{
"match": "\\s*",
"name": "punctuation.definition.parameters.space.gdscript"
}
]
}
],
"repository": {
"self": {
"match": "\\bself\\b",
"name": "variable.language.gdscript"
},
"const_vars": {
"match": "\\b([A-Z_0-9]+)\\b",
"name": "constant.other.gdscript"
},
"strings": {
"patterns": [
{
"begin": "\"",
"end": "(?<!\\\\)\"",
"name": "string.quoted.double.gdscript"
},
{
"begin": "'",
"end": "(?<!\\\\)'",
"name": "string.quoted.single.gdscript"
}
]
},
"numbers": {
"patterns": [
{
"match": "\\b(?i:0x\\h*)\\b",
"name": "constant.numeric.integer.hexadecimal.gdscript"
},
{
"match": "\\b(?i:(\\d+\\.\\d*(e[\\-\\+]?\\d+)?))\\b",
"name": "constant.numeric.float.gdscript"
},
{
"match": "\\b(?i:(\\.\\d+(e[\\-\\+]?\\d+)?))\\b",
"name": "constant.numeric.float.gdscript"
},
{
"match": "\\b(?i:(\\d+e[\\-\\+]?\\d+))\\b",
"name": "constant.numeric.float.gdscript"
},
{
"match": "\\b\\d+\\b",
"name": "constant.numeric.integer.gdscript"
}
]
}
}
}

BIN
icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -1,8 +1,9 @@
{
"name": "godot-tools",
"displayName": "Godot Tools",
"icon": "icon.png",
"description": "\"Tools for game development with godot game engine\"",
"version": "0.1.0",
"version": "0.1.1",
"publisher": "geequlim",
"engines": {
"vscode": "^1.5.0"
@@ -72,7 +73,7 @@
{
"language": "gdscript",
"scopeName": "source.gdscript",
"path": "./configrations/GDScript.tmLanguage"
"path": "./configrations/GDScript.tmLanguage.json"
}
],
"snippets": [