Compare commits
288 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dadf188b98 | ||
|
|
eb90637e39 | ||
|
|
9d7187970a | ||
|
|
e1d80ad159 | ||
|
|
73bf27ab8e | ||
|
|
fed2a2edab | ||
|
|
37bb1116fb | ||
|
|
dfe97cb952 | ||
|
|
bf5fcea38c | ||
|
|
45db62bfa3 | ||
|
|
4bca5d71a6 | ||
|
|
4b41776b16 | ||
|
|
29734ea849 | ||
|
|
af6df23306 | ||
|
|
4d00f9f41a | ||
|
|
6a3b1b6274 | ||
|
|
0a7eb9c0e4 | ||
|
|
911a34fda4 | ||
|
|
d14e2ee280 | ||
|
|
60cd57767b | ||
|
|
87e033e6ba | ||
|
|
1cc738bf9b | ||
|
|
d9ea6245d4 | ||
|
|
e38db288b7 | ||
|
|
0da21f23a3 | ||
|
|
a04f58c82d | ||
|
|
03606fdb3a | ||
|
|
f4ae73c9a0 | ||
|
|
1dcbd651df | ||
|
|
54f68f15ea | ||
|
|
0203cec293 | ||
|
|
34de1b64f0 | ||
|
|
e528384ea5 | ||
|
|
c5c7aa2ced | ||
|
|
0a3c319879 | ||
|
|
3f7a944e96 | ||
|
|
51ef0ef0c0 | ||
|
|
b29fbb75a0 | ||
|
|
b986ce0e51 | ||
|
|
035211276d | ||
|
|
53f48ede63 | ||
|
|
7844979c90 | ||
|
|
9297920d73 | ||
|
|
8059ba89c2 | ||
|
|
2490d0cdad | ||
|
|
7c70ac2753 | ||
|
|
e7b9530a7f | ||
|
|
002cfa18a3 | ||
|
|
489db36e85 | ||
|
|
996a7aefe6 | ||
|
|
2e9117870d | ||
|
|
aee83dd2a4 | ||
|
|
6ddf05d4a1 | ||
|
|
f648c37353 | ||
|
|
709fa1bbad | ||
|
|
694feea1bc | ||
|
|
fd637d0641 | ||
|
|
c33982d38e | ||
|
|
43bb36ca30 | ||
|
|
96510971f4 | ||
|
|
0a632d62b5 | ||
|
|
4404b76006 | ||
|
|
1c32bbb1cb | ||
|
|
86ae182088 | ||
|
|
658270e742 | ||
|
|
170d3d4819 | ||
|
|
1a84a57647 | ||
|
|
9b16946ba9 | ||
|
|
c4ce162284 | ||
|
|
e2b891c530 | ||
|
|
892f71d3c2 | ||
|
|
5b725b55fd | ||
|
|
18225ab0d5 | ||
|
|
e45d122a37 | ||
|
|
bc89f274d5 | ||
|
|
ec513e7c2e | ||
|
|
d915dccba1 | ||
|
|
5c026f0b32 | ||
|
|
ac7ecbde3e | ||
|
|
80fefd2ceb | ||
|
|
9750f8dfc6 | ||
|
|
cca25099c4 | ||
|
|
6456a789af | ||
|
|
1ff626ba47 | ||
|
|
c07fe37f30 | ||
|
|
17af8e20c9 | ||
|
|
f55d36e86c | ||
|
|
df445b8390 | ||
|
|
6b009ea123 | ||
|
|
2e6eedb196 | ||
|
|
d9d834b165 | ||
|
|
0fc399bbc3 | ||
|
|
56a7871d06 | ||
|
|
019d87e5c7 | ||
|
|
a9508d965d | ||
|
|
24e72ecc36 | ||
|
|
ecaf1db977 | ||
|
|
5cef963162 | ||
|
|
e89cb784da | ||
|
|
5ea22968fb | ||
|
|
c129098bfa | ||
|
|
93e49e4273 | ||
|
|
a8a852bf66 | ||
|
|
51c89a6c35 | ||
|
|
0c9c2554fb | ||
|
|
436ff64d07 | ||
|
|
b0f7220f41 | ||
|
|
0058ffa870 | ||
|
|
bf1d739d07 | ||
|
|
13e9b71d44 | ||
|
|
e2f2dc4b93 | ||
|
|
ccfd30755e | ||
|
|
3b018f115c | ||
|
|
605fe7fa1c | ||
|
|
4ae31bf99d | ||
|
|
c5bbd27b04 | ||
|
|
34916becd6 | ||
|
|
7462f88848 | ||
|
|
98aa85ed1f | ||
|
|
0a794ebc1b | ||
|
|
ec1d9c3ae6 | ||
|
|
d6d211bc00 | ||
|
|
e7e2d0439d | ||
|
|
f65033c626 | ||
|
|
a4c1181894 | ||
|
|
55617fdd39 | ||
|
|
55fd8964a6 | ||
|
|
dcbfcb4b4b | ||
|
|
d8700eaca1 | ||
|
|
d3b2c5227c | ||
|
|
1054053a03 | ||
|
|
53c3419be3 | ||
|
|
97f5f4d18c | ||
|
|
5bfe853f8c | ||
|
|
37ea21272a | ||
|
|
f4e4b9c422 | ||
|
|
6a9f408d4e | ||
|
|
acfcfdbdab | ||
|
|
4e486e353c | ||
|
|
931ec50614 | ||
|
|
41f40ee38f | ||
|
|
cdc550a412 | ||
|
|
a561c523ee | ||
|
|
df386efa54 | ||
|
|
3ce256379f | ||
|
|
f76a8f2937 | ||
|
|
0636797c22 | ||
|
|
5a67e4c78d | ||
|
|
8cef9532a7 | ||
|
|
9ac029561d | ||
|
|
570e848f03 | ||
|
|
fb82ef69e5 | ||
|
|
e7674c12ad | ||
|
|
441873eb6d | ||
|
|
dfe23195eb | ||
|
|
b3f4dda47e | ||
|
|
fb4d40858c | ||
|
|
cf432a17fb | ||
|
|
f2145688b1 | ||
|
|
ef450cad38 | ||
|
|
ec95c21b84 | ||
|
|
6dc5a8293f | ||
|
|
868ec5116f | ||
|
|
e539a4e7a9 | ||
|
|
50dd95ffcb | ||
|
|
4562bf1c31 | ||
|
|
fd11e47662 | ||
|
|
e344cdf2fc | ||
|
|
a116454b5a | ||
|
|
94e5a9e95d | ||
|
|
372936b606 | ||
|
|
ad7665f35f | ||
|
|
9ea9ce0915 | ||
|
|
13bd54d2fe | ||
|
|
7b49c4b3e8 | ||
|
|
588df8fd93 | ||
|
|
f860020c63 | ||
|
|
1d76541f04 | ||
|
|
fb96098c70 | ||
|
|
0835506157 | ||
|
|
2cfbed2dad | ||
|
|
5e0d108953 | ||
|
|
78e37e8016 | ||
|
|
547b92ad80 | ||
|
|
4ac06a7691 | ||
|
|
d404eaedc6 | ||
|
|
854ec42027 | ||
|
|
281c78f133 | ||
|
|
a254b55aa5 | ||
|
|
1be4ccaaad | ||
|
|
1755e2f3c3 | ||
|
|
f9a5204dcf | ||
|
|
62cb49e506 | ||
|
|
c347a522a3 | ||
|
|
293cc8c1fb | ||
|
|
f21d7517c4 | ||
|
|
314288b592 | ||
|
|
c3c615825d | ||
|
|
6ebc866ce1 | ||
|
|
fb498a7502 | ||
|
|
ee80ea914b | ||
|
|
158c0c38bf | ||
|
|
f1e57e5443 | ||
|
|
e78a8b8f86 | ||
|
|
c03ab7e3f5 | ||
|
|
12858a2e05 | ||
|
|
355c0f8614 | ||
|
|
650170ce13 | ||
|
|
1b358fadec | ||
|
|
20dc0445c3 | ||
|
|
1a932d5283 | ||
|
|
975acd7aa4 | ||
|
|
1ec75dc622 | ||
|
|
6fe93c9c6b | ||
|
|
363160ee3b | ||
|
|
9fa3031699 | ||
|
|
ce30e6ed95 | ||
|
|
2364664f7a | ||
|
|
21cfd82f4d | ||
|
|
29f1bc0ceb | ||
|
|
338b6ae977 | ||
|
|
71a4a0420d | ||
|
|
383dcc9507 | ||
|
|
5c5c19b534 | ||
|
|
91da651444 | ||
|
|
f2a6288276 | ||
|
|
a8872c2e56 | ||
|
|
e9f674d9e7 | ||
|
|
116d74d355 | ||
|
|
e60d081927 | ||
|
|
8115fba367 | ||
|
|
60cb0c57fc | ||
|
|
0c4e2a1177 | ||
|
|
e351d07d33 | ||
|
|
54453e34ae | ||
|
|
c13f48c1f4 | ||
|
|
c5f1ba1a0f | ||
|
|
8cf10c6554 | ||
|
|
c68c91faf8 | ||
|
|
3a112f2f79 | ||
|
|
b84013719c | ||
|
|
bb712533e6 | ||
|
|
dc1a7e06e8 | ||
|
|
d2d7813312 | ||
|
|
d3914bceaf | ||
|
|
8d22cc9e8f | ||
|
|
0742deed36 | ||
|
|
b793da7ef7 | ||
|
|
340f032f24 | ||
|
|
4cb9394847 | ||
|
|
2042b5eb22 | ||
|
|
56770d79f3 | ||
|
|
658a360c97 | ||
|
|
e92048c85b | ||
|
|
3bcfbe81b0 | ||
|
|
cb19255e28 | ||
|
|
97587b5b31 | ||
|
|
1c2b3ffadc | ||
|
|
ccad4acfac | ||
|
|
667e70b142 | ||
|
|
4f7bb4ccec | ||
|
|
85ad8512bb | ||
|
|
098fb976b6 | ||
|
|
0c9a3e0e59 | ||
|
|
f8db70dc22 | ||
|
|
518c07866e | ||
|
|
af11664b05 | ||
|
|
b97ba1df4f | ||
|
|
2a467ed990 | ||
|
|
60937ad776 | ||
|
|
0ac1299f47 | ||
|
|
cf22aa3595 | ||
|
|
c41bd642f0 | ||
|
|
8d8f5c2d9b | ||
|
|
119a7ebd23 | ||
|
|
555cb1ce9a | ||
|
|
ca3a1e62c4 | ||
|
|
61e05e7d6e | ||
|
|
96b833851d | ||
|
|
602cc895c0 | ||
|
|
41a58d76b1 | ||
|
|
8d6992822e | ||
|
|
f0914742e1 | ||
|
|
a1e020560d | ||
|
|
cf9e478b12 | ||
|
|
d155016b08 | ||
|
|
40b09491ac | ||
|
|
24c29452c7 |
55
.eslintrc.json
Normal file
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"env": {
|
||||
"node": true
|
||||
},
|
||||
"extends": [
|
||||
"eslint:recommended",
|
||||
"plugin:@typescript-eslint/recommended"
|
||||
],
|
||||
"ignorePatterns": [
|
||||
"out/**",
|
||||
"node_modules/**",
|
||||
"prism.js"
|
||||
],
|
||||
"overrides": [
|
||||
],
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"parserOptions": {
|
||||
"ecmaVersion": "latest",
|
||||
"sourceType": "module"
|
||||
},
|
||||
"plugins": [
|
||||
"@typescript-eslint",
|
||||
"@typescript-eslint/tslint"
|
||||
],
|
||||
"rules": {
|
||||
"@typescript-eslint/no-empty-function": "off",
|
||||
"@typescript-eslint/no-explicit-any": "off",
|
||||
"@typescript-eslint/no-unused-vars": "off",
|
||||
"@typescript-eslint/no-inferrable-types": "off",
|
||||
"@typescript-eslint/ban-types": "warn",
|
||||
"no-async-promise-executor": "warn",
|
||||
"no-inner-declarations": "warn",
|
||||
"no-prototype-builtins": "warn",
|
||||
"no-constant-condition": "warn",
|
||||
"prefer-const": "warn",
|
||||
"no-useless-escape": "off",
|
||||
"no-var": "off",
|
||||
"indent": [
|
||||
"off",
|
||||
"tab"
|
||||
],
|
||||
"linebreak-style": [
|
||||
"off",
|
||||
"windows"
|
||||
],
|
||||
"quotes": [
|
||||
"warn",
|
||||
"double"
|
||||
],
|
||||
"semi": [
|
||||
"error",
|
||||
"always"
|
||||
]
|
||||
}
|
||||
}
|
||||
71
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
name: Bug report
|
||||
description: Report a bug in Godot Tools VS Code add-on
|
||||
labels:
|
||||
- bug
|
||||
body:
|
||||
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
- Write a descriptive issue title above.
|
||||
- Search [open](https://github.com/godotengine/godot-vscode-plugin/issues) and [closed](https://github.com/godotengine/godot-vscode-plugin/issues?q=is%3Aissue+is%3Aclosed) issues to ensure it has not already been reported.
|
||||
- Verify that you are using a [supported Godot version](https://docs.godotengine.org/en/stable/about/release_policy.html).
|
||||
- This repository only contains the LSP *client*. Issues pertaining to the Godot editor itself or the LSP's *server* side should be reported on the [main Godot repository](https://github.com/godotengine/godot/issues).
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: Godot version
|
||||
description: >
|
||||
Specify the Git commit hash if using a development or non-official build.
|
||||
If you use a custom build, please test if your issue is reproducible in official builds too.
|
||||
placeholder: 4.3.stable, 4.4.dev1 (28a72fa43)
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: VS Code version
|
||||
description: >
|
||||
Use the **Help > About** menu to see your current version.
|
||||
Specify the Git commit hash if using a development or non-official build.
|
||||
If you use a custom build, please test if your issue is reproducible in official builds too.
|
||||
placeholder: "1.98.1"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: Godot Tools VS Code extension version
|
||||
description: >
|
||||
Open the **Extensions** side panel and click on the **godot-tools** extension to see your current version.
|
||||
Specify the Git commit hash if using a development or non-official build.
|
||||
If you use a custom build, please test if your issue is reproducible in official builds too.
|
||||
placeholder: "2.5.1"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: System information
|
||||
description: |
|
||||
Specify the OS version, and when relevant hardware information.
|
||||
placeholder: Windows 10
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Issue description
|
||||
description: |
|
||||
Describe your issue briefly. What doesn't work, and how do you expect it to work instead?
|
||||
You can include images or videos with drag and drop, and format code blocks or logs with <code>```</code> tags.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Steps to reproduce
|
||||
description: |
|
||||
List of steps or sample code that reproduces the issue. Having reproducible issues is a prerequisite for contributors to be able to solve them.
|
||||
validations:
|
||||
required: true
|
||||
6
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
blank_issues_enabled: false
|
||||
|
||||
contact_links:
|
||||
- name: Godot community channels
|
||||
url: https://godotengine.org/community
|
||||
about: Please ask for technical support on one of the other community channels, not here.
|
||||
71
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
name: Feature request
|
||||
description: Request a new feature to be added or improved in Godot Tools VS Code add-on
|
||||
labels:
|
||||
- enhancement
|
||||
body:
|
||||
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
- Write a descriptive issue title above.
|
||||
- Search [open](https://github.com/godotengine/godot-vscode-plugin/issues) and [closed](https://github.com/godotengine/godot-vscode-plugin/issues?q=is%3Aissue+is%3Aclosed) issues to ensure it has not already been reported.
|
||||
- Verify that you are using a [supported Godot version](https://docs.godotengine.org/en/stable/about/release_policy.html).
|
||||
- This repository only contains the LSP *client*. Issues pertaining to the Godot editor itself or the LSP's *server* side should be reported on the [main Godot repository](https://github.com/godotengine/godot/issues).
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: Godot version
|
||||
description: >
|
||||
Specify the Git commit hash if using a development or non-official build.
|
||||
If you use a custom build, please test if your issue is reproducible in official builds too.
|
||||
placeholder: 4.3.stable, 4.4.dev1 (28a72fa43)
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: VS Code version
|
||||
description: >
|
||||
Use the **Help > About** menu to see your current version.
|
||||
Specify the Git commit hash if using a development or non-official build.
|
||||
If you use a custom build, please test if your issue is reproducible in official builds too.
|
||||
placeholder: "1.98.1"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: Godot Tools VS Code extension version
|
||||
description: >
|
||||
Open the **Extensions** side panel and click on the **godot-tools** extension to see your current version.
|
||||
Specify the Git commit hash if using a development or non-official build.
|
||||
If you use a custom build, please test if your issue is reproducible in official builds too.
|
||||
placeholder: "2.5.1"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: System information
|
||||
description: |
|
||||
Specify the OS version, and when relevant hardware information.
|
||||
placeholder: Windows 10
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Problem statement
|
||||
description: |
|
||||
Describe the problem or limitation you're currently facing with the Godot Tools extension.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Proposed solution
|
||||
description: |
|
||||
Describe your proposed solution and how it resolves the problem or limitation mentioned above.
|
||||
You can include images or videos with drag and drop, and format code blocks or logs with <code>```</code> tags.
|
||||
validations:
|
||||
required: true
|
||||
6
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
81
.github/workflows/ci.yml
vendored
Normal file
@@ -0,0 +1,81 @@
|
||||
name: Continuous integration
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: Test
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [macos-latest, ubuntu-latest, windows-latest]
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v5.0.0
|
||||
with:
|
||||
node-version: 22.x
|
||||
|
||||
- name: Install Godot (Ubuntu)
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: |
|
||||
wget https://github.com/godotengine/godot/releases/download/4.3-stable/Godot_v4.3-stable_linux.x86_64.zip
|
||||
unzip Godot_v4.3-stable_linux.x86_64.zip
|
||||
sudo mv Godot_v4.3-stable_linux.x86_64 /usr/local/bin/godot
|
||||
chmod +x /usr/local/bin/godot
|
||||
|
||||
- name: Install Godot (macOS)
|
||||
if: matrix.os == 'macos-latest'
|
||||
run: |
|
||||
curl -L -o Godot.zip https://github.com/godotengine/godot/releases/download/4.3-stable/Godot_v4.3-stable_macos.universal.zip
|
||||
unzip Godot.zip
|
||||
sudo mv Godot.app /Applications/Godot.app
|
||||
sudo ln -s /Applications/Godot.app/Contents/MacOS/Godot /usr/local/bin/godot
|
||||
|
||||
- name: Install Godot (Windows)
|
||||
if: matrix.os == 'windows-latest'
|
||||
run: |
|
||||
Invoke-WebRequest -Uri "https://github.com/godotengine/godot/releases/download/4.3-stable/Godot_v4.3-stable_win64.exe.zip" -OutFile "Godot.zip"
|
||||
Expand-Archive -Path "Godot.zip" -DestinationPath "C:\Godot43"
|
||||
"C:\Godot43\Godot_v4.3-stable_win64.exe %*" | Out-File -Encoding ascii -FilePath ([Environment]::SystemDirectory+"\godot.cmd")
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm install
|
||||
|
||||
- name: Godot init project
|
||||
run: godot --import test_projects/test-dap-project-godot4/project.godot --headless
|
||||
|
||||
- name: Run headless test
|
||||
uses: coactions/setup-xvfb@v1
|
||||
with:
|
||||
run: |
|
||||
npm run compile
|
||||
npm test
|
||||
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v5.0.0
|
||||
with:
|
||||
node-version: 16.x
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm install
|
||||
|
||||
- name: Lint and build extension
|
||||
run: |
|
||||
npm run lint
|
||||
npm run package -- --out godot-tools.vsix
|
||||
ls -l godot-tools.vsix
|
||||
|
||||
- name: Upload extension VSIX
|
||||
uses: actions/upload-artifact@v4.6.2
|
||||
with:
|
||||
name: godot-tools
|
||||
path: godot-tools.vsix
|
||||
9
.gitignore
vendored
@@ -1,9 +1,8 @@
|
||||
out
|
||||
node_modules
|
||||
server
|
||||
publish/*.vsix
|
||||
test
|
||||
*.vsix
|
||||
configurations/tmp.txt
|
||||
configurations/test.py
|
||||
.vscode-test
|
||||
workspace.code-workspace
|
||||
.history
|
||||
.godot
|
||||
*.tmp
|
||||
11
.vscode-test.js
Normal file
@@ -0,0 +1,11 @@
|
||||
const { defineConfig } = require('@vscode/test-cli');
|
||||
|
||||
module.exports = defineConfig(
|
||||
{
|
||||
// version: '1.96.4',
|
||||
label: 'unitTests',
|
||||
files: 'out/**/*.test.js',
|
||||
launchArgs: ['--disable-extensions'],
|
||||
workspaceFolder: './test_projects/test-dap-project-godot4',
|
||||
}
|
||||
);
|
||||
6
.vscode/extensions.json
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"ms-vscode.extension-test-runner",
|
||||
"biomejs.biome"
|
||||
]
|
||||
}
|
||||
53
.vscode/launch.json
vendored
@@ -4,7 +4,8 @@
|
||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [{
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Run Extension",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
@@ -15,9 +16,57 @@
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/out/**/*.js"
|
||||
],
|
||||
"skipFiles": [
|
||||
"**/extensionHostProcess.js",
|
||||
"<node_internals>/**/*.js"
|
||||
],
|
||||
"preLaunchTask": "npm: watch",
|
||||
"env": {
|
||||
"VSCODE_DEBUG_MODE": true
|
||||
"VSCODE_DEBUG_MODE": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Run Extension with workspace file",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"--profile=temp",
|
||||
"--extensionDevelopmentPath=${workspaceFolder}",
|
||||
"${workspaceFolder}/test_projects/test-dap-project-godot4"
|
||||
],
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/out/**/*.js"
|
||||
],
|
||||
"skipFiles": [
|
||||
"**/extensionHostProcess.js",
|
||||
"<node_internals>/**/*.js"
|
||||
],
|
||||
"preLaunchTask": "npm: watch",
|
||||
"env": {
|
||||
"VSCODE_DEBUG_MODE": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Run Extension with local workspace file",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"--profile=temp",
|
||||
"--extensionDevelopmentPath=${workspaceFolder}",
|
||||
"${workspaceFolder}/workspace.code-workspace"
|
||||
],
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/out/**/*.js"
|
||||
],
|
||||
"skipFiles": [
|
||||
"**/extensionHostProcess.js",
|
||||
"<node_internals>/**/*.js"
|
||||
],
|
||||
"preLaunchTask": "npm: watch",
|
||||
"env": {
|
||||
"VSCODE_DEBUG_MODE": "true"
|
||||
}
|
||||
},
|
||||
]
|
||||
|
||||
5
.vscode/settings.json
vendored
@@ -7,5 +7,8 @@
|
||||
"out": true // set this to false to include "out" folder in search results
|
||||
},
|
||||
// Turn off tsc task auto detection since we have the necessary tasks as npm scripts
|
||||
"typescript.tsc.autoDetect": "off"
|
||||
"typescript.tsc.autoDetect": "off",
|
||||
|
||||
"prettier.useTabs": true,
|
||||
|
||||
}
|
||||
48
.vscode/test_files.code-snippets
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"# --- IN ---": {
|
||||
"scope": "gdscript",
|
||||
"prefix": "#IN",
|
||||
"body": [
|
||||
"# --- IN ---"
|
||||
],
|
||||
"description": "Snapshot Test #IN block"
|
||||
},
|
||||
"# --- OUT ---": {
|
||||
"scope": "gdscript",
|
||||
"prefix": "#OUT",
|
||||
"body": [
|
||||
"# --- OUT ---"
|
||||
],
|
||||
"description": "Snapshot Test #OUT block"
|
||||
},
|
||||
"# --- END ---": {
|
||||
"scope": "gdscript",
|
||||
"prefix": "#END",
|
||||
"body": [
|
||||
"# --- END ---"
|
||||
],
|
||||
"description": "Snapshot Test #END block"
|
||||
},
|
||||
"# --- CONFIG ---": {
|
||||
"scope": "gdscript",
|
||||
"prefix": [
|
||||
"#CO",
|
||||
"#CONFIG"
|
||||
],
|
||||
"body": [
|
||||
"# --- CONFIG ---"
|
||||
],
|
||||
"description": "Snapshot Test #CONFIG block"
|
||||
},
|
||||
"# --- CONFIG ALL ---": {
|
||||
"scope": "gdscript",
|
||||
"prefix": [
|
||||
"#CA",
|
||||
"#CONFIG ALL"
|
||||
],
|
||||
"body": [
|
||||
"# --- CONFIG ALL ---"
|
||||
],
|
||||
"description": "Snapshot Test #CONFIG ALL block"
|
||||
},
|
||||
}
|
||||
@@ -1,10 +1,15 @@
|
||||
.vscode/**
|
||||
.vscode-test/**
|
||||
out/test/**
|
||||
src/**
|
||||
.gitignore
|
||||
vsc-extension-quickstart.md
|
||||
**/tsconfig.json
|
||||
**/tslint.json
|
||||
**/*.map
|
||||
**/*.ts
|
||||
*
|
||||
*/**
|
||||
**/*.js.map
|
||||
!out/extension.js
|
||||
!syntaxes/*.tmLanguage.json
|
||||
!resources/
|
||||
!media/
|
||||
!configurations/
|
||||
!package.json
|
||||
!package.nls.json
|
||||
!README.md
|
||||
!icon.png
|
||||
!CHANGELOG.md
|
||||
!LICENSE
|
||||
!ThirdPartyNotices.txt
|
||||
|
||||
379
CHANGELOG.md
@@ -1,16 +1,194 @@
|
||||
# Change Log
|
||||
# Changelog
|
||||
|
||||
### 2.5.1
|
||||
|
||||
- [Fix "Request textDocument/documentSymbol failed" error when opening a GDScript file](https://github.com/godotengine/godot-vscode-plugin/pull/823)
|
||||
|
||||
### 2.5.0
|
||||
|
||||
- [**Add `print_rich()` support to debug console**](https://github.com/godotengine/godot-vscode-plugin/pull/792)
|
||||
- [Improve Scene Preview drag-and-drop behavior](https://github.com/godotengine/godot-vscode-plugin/pull/815)
|
||||
- [Add snippet/placeholder behavior to Scene Preview file drops](https://github.com/godotengine/godot-vscode-plugin/pull/813)
|
||||
- [Overhaul the DebugAdapter variables in DAP](https://github.com/godotengine/godot-vscode-plugin/pull/793)
|
||||
- [Fix opening a Godot project in Visual Studio Code before the editor resulting in bad file requests](https://github.com/godotengine/godot-vscode-plugin/pull/816)
|
||||
- [Fix some GDScript syntax highlighting and formatting issues](https://github.com/godotengine/godot-vscode-plugin/pull/783)
|
||||
- [Fix attached debugging](https://github.com/godotengine/godot-vscode-plugin/pull/784)
|
||||
- [Fix multi-packet reponses breaking things when starting or ending in a multi-byte UTF-8 sequence](https://github.com/godotengine/godot-vscode-plugin/pull/797)
|
||||
|
||||
### 2.4.0
|
||||
|
||||
- [**Implement warnings and errors in debug console**](https://github.com/godotengine/godot-vscode-plugin/pull/749)
|
||||
- The items are expandable/collapsible, and the links on the right side of the panel work for any file inside the user's project
|
||||
- [**Improve GDScript formatter**](https://github.com/godotengine/godot-vscode-plugin/pull/746)
|
||||
- Add new style of formatter snapshot tests
|
||||
- Add many new test cases
|
||||
- Fix several issues ([#728](https://github.com/godotengine/godot-vscode-plugin/pull/728), [#624](https://github.com/godotengine/godot-vscode-plugin/pull/624), [#657](https://github.com/godotengine/godot-vscode-plugin/pull/657), [#717](https://github.com/godotengine/godot-vscode-plugin/pull/717), [#734](https://github.com/godotengine/godot-vscode-plugin/pull/734), likely more)
|
||||
- [**Add debugger support for typed Dictionaries**](https://github.com/godotengine/godot-vscode-plugin/pull/764)
|
||||
- [Add some useful GDScript snippets for Godot 4](https://github.com/godotengine/godot-vscode-plugin/pull/794)
|
||||
- [Add setting to enable/disable documentation minimap](https://github.com/godotengine/godot-vscode-plugin/pull/786)
|
||||
- [Add newline when dropping nodes into editor](https://github.com/godotengine/godot-vscode-plugin/pull/754)
|
||||
- [Add `@static_unload` annotation and Godot 4.3 Variant types to syntax highlighting](https://github.com/godotengine/godot-vscode-plugin/pull/738)
|
||||
- [Overhaul LSP client](https://github.com/godotengine/godot-vscode-plugin/pull/752)
|
||||
- Simplify LSP client internals
|
||||
- Streamline control flow between Client, IO, and Buffer classes
|
||||
- Create canonical, obvious place to implement filters on incoming and outgoing LSP messages
|
||||
- Remove legacy WebSockets-based LSP support
|
||||
- [Update float syntax rules and formatting to better support complex cases](https://github.com/godotengine/godot-vscode-plugin/pull/756)
|
||||
- [Implement Godot-in-the-loop test suite and fix debugger errors](https://github.com/godotengine/godot-vscode-plugin/pull/788)
|
||||
- [Remove OS, GDScript and Object from the list of builtins in syntax highlighting](https://github.com/godotengine/godot-vscode-plugin/pull/739)
|
||||
- [Fix typed arrays of scripts not being decoded properly](https://github.com/godotengine/godot-vscode-plugin/pull/731)
|
||||
- [Fix debugger watch window freeze caused by missing responses](https://github.com/godotengine/godot-vscode-plugin/pull/781)
|
||||
- [Fix the TextMate grammar erroneously tagging enum members and const variables as language constants](https://github.com/godotengine/godot-vscode-plugin/pull/737)
|
||||
- [Fix VBoxContainer and HBoxContainer documentation not opening](https://github.com/godotengine/godot-vscode-plugin/pull/755)
|
||||
|
||||
### 2.3.0
|
||||
|
||||
- [Add documentation page scaling feature](https://github.com/godotengine/godot-vscode-plugin/pull/722)
|
||||
- [Suppress "workspace/symbol" not found error](https://github.com/godotengine/godot-vscode-plugin/pull/723)
|
||||
- [Capitalize the drive letter in Windows absolute paths](https://github.com/godotengine/godot-vscode-plugin/pull/727)
|
||||
|
||||
### 2.2.0
|
||||
|
||||
- [Add partial debugger support for new types (such as typed arrays)](https://github.com/godotengine/godot-vscode-plugin/pull/715)
|
||||
- [Fix bare nodepaths referencing absolute/root paths](https://github.com/godotengine/godot-vscode-plugin/pull/712)
|
||||
- [Add `@export_custom` and `@export_storage` to syntax highlighting](https://github.com/godotengine/godot-vscode-plugin/pull/702)
|
||||
- [Fix format_documentation for `[code skip-lint]`](https://github.com/godotengine/godot-vscode-plugin/pull/700)
|
||||
- [Update Godot icons included in the extension](https://github.com/godotengine/godot-vscode-plugin/pull/711)
|
||||
|
||||
### 2.1.0
|
||||
|
||||
- [Improve dragging items from Scene Preview into source code](https://github.com/godotengine/godot-vscode-plugin/pull/661)
|
||||
- [Improve macOS path resolution for app bundles](https://github.com/godotengine/godot-vscode-plugin/pull/632)
|
||||
- [Improve codeblock formatting in documentation](https://github.com/godotengine/godot-vscode-plugin/pull/629)
|
||||
- [Improve Scene Preview ergonomics](https://github.com/godotengine/godot-vscode-plugin/pull/665)
|
||||
- "Pinning" in the scene preview is now referred to as "locking" to avoid confusion with pinning a scene as the debug/launch target.
|
||||
- Added commands for opening the Scene Preview's target scene, and the "main script" of the target scene, if it exists.
|
||||
- Added existing "refresh scene preview" command as a button.
|
||||
- [Prevent document links from accidentally being resolved to your entire document](https://github.com/godotengine/godot-vscode-plugin/pull/639)
|
||||
- [Fix poor documentation formatting of class titles and inheritance chain](https://github.com/godotengine/godot-vscode-plugin/pull/628)
|
||||
- [Fix bad formatting on several operators](https://github.com/godotengine/godot-vscode-plugin/pull/605)
|
||||
- [Fix various formatting issues](https://github.com/godotengine/godot-vscode-plugin/pull/672)
|
||||
- [Fix various syntax highlighting issues](https://github.com/godotengine/godot-vscode-plugin/pull/674)
|
||||
- [Fix Object ID decoded as wrong signedness](https://github.com/godotengine/godot-vscode-plugin/pull/670)
|
||||
- [Fix project not found when `project.godot` file is excluded](https://github.com/godotengine/godot-vscode-plugin/pull/635)
|
||||
- [Fix LSP connection attempts not resetting](https://github.com/godotengine/godot-vscode-plugin/pull/638)
|
||||
- [Fix child processes not being killed properly](https://github.com/godotengine/godot-vscode-plugin/pull/613)
|
||||
- [Fix broken scene file parser](https://github.com/godotengine/godot-vscode-plugin/pull/603)
|
||||
- [Fix debugged process not being terminated when debugging session closes on Linux](https://github.com/godotengine/godot-vscode-plugin/pull/620)
|
||||
|
||||
### 2.0.0
|
||||
|
||||
- [**Rewrite debugger for Godot 4 support + improved maintainability**](https://github.com/godotengine/godot-vscode-plugin/pull/452)
|
||||
- [**Implement headless LSP mode**](https://github.com/godotengine/godot-vscode-plugin/pull/488)
|
||||
- [**Add scene preview panel**](https://github.com/godotengine/godot-vscode-plugin/pull/413)
|
||||
- [**Replace temporary `.gdshader` syntax with more extensive support**](https://github.com/godotengine/godot-vscode-plugin/pull/360)
|
||||
- [Add "additional options" to launch debugger with](https://github.com/godotengine/godot-vscode-plugin/pull/363)
|
||||
- [Add "Open Type Documentation" context menu option](https://github.com/godotengine/godot-vscode-plugin/pull/405)
|
||||
- [Add `_physics_process` snippet](https://github.com/godotengine/godot-vscode-plugin/pull/411)
|
||||
- [Add `_unhandled_input` snippet](https://github.com/godotengine/godot-vscode-plugin/pull/422)
|
||||
- [Add highlighting support for %Unique nodes in NodePaths](https://github.com/godotengine/godot-vscode-plugin/pull/403)
|
||||
- [Adjust Godot version detection regex](https://github.com/godotengine/godot-vscode-plugin/pull/526)
|
||||
- [Fix BBCode [br] not rendering in hover](https://github.com/godotengine/godot-vscode-plugin/pull/557)
|
||||
- [Fix errors in grammar syntax](https://github.com/godotengine/godot-vscode-plugin/pull/416)
|
||||
- [Fix Godot 4.x debug console printing multiple logs into one line](https://github.com/godotengine/godot-vscode-plugin/pull/571)
|
||||
- [Fix internal document link handling](https://github.com/godotengine/godot-vscode-plugin/pull/410)
|
||||
- [Fix overaggressive formatting when adding lines after `if` statement](https://github.com/godotengine/godot-vscode-plugin/pull/385)
|
||||
- [Fix func keyword highlighting](https://github.com/godotengine/godot-vscode-plugin/pull/398)
|
||||
- [Fix OS singleton being incorrectly highlighted as a constant](https://github.com/godotengine/godot-vscode-plugin/pull/402)
|
||||
- [Fix incorrect highlighting in dictionary literals](https://github.com/godotengine/godot-vscode-plugin/pull/419)
|
||||
- [Fix various highlighting errors](https://github.com/godotengine/godot-vscode-plugin/pull/407)
|
||||
- [Fix various syntax highlighting problems](https://github.com/godotengine/godot-vscode-plugin/pull/441)
|
||||
- [Improve debugger setup instructions](https://github.com/godotengine/godot-vscode-plugin/pull/491)
|
||||
- [Improve displaying symbols documentation](https://github.com/godotengine/godot-vscode-plugin/pull/404)
|
||||
- [Improve extension startup performance](https://github.com/godotengine/godot-vscode-plugin/pull/408)
|
||||
- [Improve LSP connection behavior (fixes Godot3/4 port issue) ](https://github.com/godotengine/godot-vscode-plugin/pull/511)
|
||||
- [Improve path handling when starting processes](https://github.com/godotengine/godot-vscode-plugin/pull/575)
|
||||
- [Make launching the editor open a new custom terminal](https://github.com/godotengine/godot-vscode-plugin/pull/561)
|
||||
- [Reorganize extension entrypoint](https://github.com/godotengine/godot-vscode-plugin/pull/505)
|
||||
- [Restructure and rename settings](https://github.com/godotengine/godot-vscode-plugin/pull/376)
|
||||
- [Multiple highlighting improvements](https://github.com/godotengine/godot-vscode-plugin/pull/506)
|
||||
- [Syntax highlighting changes](https://github.com/godotengine/godot-vscode-plugin/pull/515)
|
||||
- [Update `.gdshader` syntax](https://github.com/godotengine/godot-vscode-plugin/pull/397)
|
||||
- [Various highlighting/formatting fixes](https://github.com/godotengine/godot-vscode-plugin/pull/559)
|
||||
- [Various quality-of-life improvements](https://github.com/godotengine/godot-vscode-plugin/pull/529)
|
||||
- **Add GDScript formatter**
|
||||
- Add (disabled) experimental providers for custom completions, semantic tokens, and tasks
|
||||
- Add a file decorator to show the pinned debug file in the filesystem view/editor tabs
|
||||
- Add buttons for relevant actions to ScenePreview items
|
||||
- Add hover for SubResource() and ExtResource() statements in scene files
|
||||
- Add internal document links for SubResource() and ExtResource() statements in scene files
|
||||
- Add item decorators to the Scene Preview to show Node attributes more clearly
|
||||
- Fix scene file highlighting not working
|
||||
- Fix ScenePreview not working in Godot 3
|
||||
- Improve "Debug Pinned Scene" command by making the pinned scene persist between VSCode sessions
|
||||
- Improve ability to right click -> open docs for methods of builtin types (doesn't always work)
|
||||
- Overhaul documentation viewer
|
||||
- Update Godot icons (and remove old ones)
|
||||
|
||||
### 1.3.1
|
||||
|
||||
- [Fix regression in launching debugger](https://github.com/godotengine/godot-vscode-plugin/pull/371)
|
||||
- [Fix operator syntax highlighting when next to an opening parenthesis](https://github.com/godotengine/godot-vscode-plugin/pull/375)
|
||||
|
||||
### 1.3.0
|
||||
|
||||
- [Add context menu options to copy resource path](https://github.com/godotengine/godot-vscode-plugin/pull/357)
|
||||
- [Add option to run the project with visible collision shapes and navigation](https://github.com/godotengine/godot-vscode-plugin/pull/312)
|
||||
- [Overhaul syntax highlighting](https://github.com/godotengine/godot-vscode-plugin/pull/342)
|
||||
- [Mention that the Godot editor must be running in connection error message](https://github.com/godotengine/godot-vscode-plugin/pull/358)
|
||||
- [Fix automatic indentation on line breaks not working as expected](https://github.com/godotengine/godot-vscode-plugin/pull/344)
|
||||
|
||||
### 1.2.0
|
||||
|
||||
- [Add support for setting language-server-host](https://github.com/godotengine/godot-vscode-plugin/pull/297)
|
||||
- [Improve syntax highlighting](https://github.com/godotengine/godot-vscode-plugin/pull/330)
|
||||
- [Update LSP client to 7.0.0 to use the 3.16.0 specification](https://github.com/godotengine/godot-vscode-plugin/pull/264)
|
||||
- [Fix some `$` node path shorthand regex bugs in syntax highlighting](https://github.com/godotengine/godot-vscode-plugin/pull/340)
|
||||
- [Fix handling of Windows terminals determined by profiles](https://github.com/godotengine/godot-vscode-plugin/pull/303)
|
||||
- [Fix "static func" indent error](https://github.com/godotengine/godot-vscode-plugin/pull/279)
|
||||
- [Fix restart of debugging sessions](https://github.com/godotengine/godot-vscode-plugin/pull/327)
|
||||
- [Use the LSP defined SymbolKind enum and fix marked](https://github.com/godotengine/godot-vscode-plugin/pull/325)
|
||||
- [Fix "Continue" for multiple breakpoints in the same script](https://github.com/godotengine/godot-vscode-plugin/pull/324)
|
||||
|
||||
### 1.1.3
|
||||
|
||||
- [Fix conditional breakpoints being parsed as regular breakpoints](https://github.com/godotengine/godot-vscode-plugin/pull/278)
|
||||
- [Add `in` to the list of keywords and add rule for `$` shorthand](https://github.com/godotengine/godot-vscode-plugin/pull/274)
|
||||
- [Fix typo in snippets: "decleration" -> "declaration"](https://github.com/godotengine/godot-vscode-plugin/pull/262)
|
||||
- [Add `remote` keyword to syntax highlighting](https://github.com/godotengine/godot-vscode-plugin/pull/257)
|
||||
- [Remove the configuration item `godot-tools.check_config` as it has no effect](https://github.com/godotengine/godot-vscode-plugin/pull/246)
|
||||
- [Fix the syntax of escaped characters in strings](https://github.com/godotengine/godot-vscode-plugin/pull/247)
|
||||
|
||||
### 1.1.1
|
||||
|
||||
- Fix bug for GDScript debugger
|
||||
- Add TCP protocol support for GDScript language server Godot 3.2.2
|
||||
|
||||
### 1.1
|
||||
|
||||
- Add the debugger to the extension
|
||||
|
||||
### 1.0.3
|
||||
|
||||
- Fix hover popup position for VSCode 1.42+
|
||||
|
||||
### 1.0.1
|
||||
|
||||
- Fix run editor error on windows with default terminal configurations
|
||||
|
||||
### 1.0.0
|
||||
* Refactor the whole plugin with gdscript language server support
|
||||
* Add webview renderer to show documentations of native symbols.
|
||||
* Only support godot 3.2 and above
|
||||
|
||||
- Refactor the whole plugin with gdscript language server support
|
||||
- Add webview renderer to show documentations of native symbols.
|
||||
- Only support godot 3.2 and above
|
||||
|
||||
### 0.3.7
|
||||
* Add `lint` configuration to control the behaviors of syntax checking
|
||||
* Fix error with run godot editor when the editor contains spaces
|
||||
* Disable semicolons and brackets checks as default can be enabled with project settings
|
||||
* Fix bugs in syntax valiadating
|
||||
* Sync documentations with godot 3.0.4
|
||||
|
||||
- Add `lint` configuration to control the behaviors of syntax checking
|
||||
- Fix error with run godot editor when the editor contains spaces
|
||||
- Disable semicolons and brackets checks as default can be enabled with project settings
|
||||
- Fix bugs in syntax valiadating
|
||||
- Sync documentations with godot 3.0.4
|
||||
```json
|
||||
{
|
||||
"lint": {
|
||||
@@ -21,61 +199,70 @@
|
||||
```
|
||||
|
||||
### 0.3.6
|
||||
* Fix project configuartion file path
|
||||
|
||||
- Fix project configuration file path
|
||||
|
||||
### 0.3.5
|
||||
* Add option to disable syntax checking for GDScript
|
||||
* Improved inline if else statement syntax checking
|
||||
* More resource type supported for syntax highglight
|
||||
* Bump default godot version to 3.0
|
||||
* Sync the documentations from godot 3.0
|
||||
|
||||
- Add option to disable syntax checking for GDScript
|
||||
- Improved inline if else statement syntax checking
|
||||
- More resource type supported for syntax highglight
|
||||
- Bump default godot version to 3.0
|
||||
- Sync the documentations from godot 3.0
|
||||
|
||||
### 0.3.4
|
||||
* Fix bug with builtin symbols parsing for godot 2.1
|
||||
* Improved hover documentation
|
||||
* Show window progress when parsing workspace symbols
|
||||
|
||||
- Fix bug with builtin symbols parsing for godot 2.1
|
||||
- Improved hover documentation
|
||||
- Show window progress when parsing workspace symbols
|
||||
|
||||
### 0.3.3
|
||||
* Fix some syntax checking errors.
|
||||
* Fix problems with hover documentation with latest VSCode.
|
||||
* Improved builtin class documentation page.
|
||||
* Update the documentation data with latest godot version.
|
||||
|
||||
- Fix some syntax checking errors.
|
||||
- Fix problems with hover documentation with latest VSCode.
|
||||
- Improved builtin class documentation page.
|
||||
- Update the documentation data with latest godot version.
|
||||
|
||||
### 0.3.2
|
||||
* Fix syntax checking error with match statement.
|
||||
* Improved documentation for builtin code blocks.
|
||||
* Start using MarkdonwString to keep links valid.
|
||||
|
||||
- Fix syntax checking error with match statement.
|
||||
- Improved documentation for builtin code blocks.
|
||||
- Start using MarkdonwString to keep links valid.
|
||||
|
||||
### 0.3.1
|
||||
* Update documentations with latest godot.
|
||||
* Fix errors with run script and run project.
|
||||
* Improve code completion with opening script file and constants.
|
||||
* Some improvements for documentations.
|
||||
|
||||
- Update documentations with latest godot.
|
||||
- Fix errors with run script and run project.
|
||||
- Improve code completion with opening script file and constants.
|
||||
- Some improvements for documentations.
|
||||
|
||||
### 0.3.0
|
||||
* Add project root configuration settings as `GodotTools.godotProjectRoot` thanks Konstantin Zaitcev
|
||||
* Add auto indent support for gdscript language
|
||||
* More friendly with godot 3.0 alpha
|
||||
* Updated script snippets
|
||||
* Fix highglight error with gdscript language
|
||||
* Limited code completions
|
||||
|
||||
- Add project root configuration settings as `GodotTools.godotProjectRoot` thanks Konstantin Zaitcev
|
||||
- Add auto indent support for gdscript language
|
||||
- More friendly with godot 3.0 alpha
|
||||
- Updated script snippets
|
||||
- Fix highglight error with gdscript language
|
||||
- Limited code completions
|
||||
|
||||
### 0.2.9
|
||||
* Add configuration `GodotTools.completeNodePath` to switch is complete node pathes
|
||||
* Enhanced syntax highlight with GDScript
|
||||
* Enhanced code completion with GDScript
|
||||
|
||||
- Add configuration `GodotTools.completeNodePath` to switch is complete node paths
|
||||
- Enhanced syntax highlight with GDScript
|
||||
- Enhanced code completion with GDScript
|
||||
|
||||
### 0.2.8
|
||||
* Add godot 3.0 project support with configuration `GodotTools.parseTextScene` >= 3
|
||||
* Add configuration `GodotTools.parseTextScene` to allow disable node path parsing
|
||||
* Remove `GodotTools.editorServerPort` configuration
|
||||
|
||||
- Add godot 3.0 project support with configuration `GodotTools.parseTextScene` >= 3
|
||||
- Add configuration `GodotTools.parseTextScene` to allow disable node path parsing
|
||||
- Remove `GodotTools.editorServerPort` configuration
|
||||
|
||||
### 0.2.7
|
||||
|
||||
* Fix some error with syntax checking
|
||||
* Add symbol support for enumerations
|
||||
* Remove key bindings for `F5`~`F8` as it might be confict with other functionalities of VSCode
|
||||
* You can bind the key bindings back by add following configurations
|
||||
- Fix some error with syntax checking
|
||||
- Add symbol support for enumerations
|
||||
- Remove key bindings for `F5`~`F8` as it might be conflict with other functionalities of VSCode
|
||||
- You can bind the key bindings back by add following configurations
|
||||
```json
|
||||
{
|
||||
"command": "godot.runWorkspace",
|
||||
@@ -98,93 +285,99 @@
|
||||
|
||||
### 0.2.6
|
||||
|
||||
* Add shorthand if else expression support
|
||||
* Add `enum` and `match` expression support
|
||||
* Fix bugs with syntax checking
|
||||
* Updated documentation data with godot 2.1.3
|
||||
* Add syntax checking for end of expression
|
||||
* The pulugin is compiled with latest VSCode thanks @arrkiin
|
||||
* Add key bindings for open workspace with godot editor with `F7` and update workspace symbols with `F8`
|
||||
- Add shorthand if else expression support
|
||||
- Add `enum` and `match` expression support
|
||||
- Fix bugs with syntax checking
|
||||
- Updated documentation data with godot 2.1.3
|
||||
- Add syntax checking for end of expression
|
||||
- The pulugin is compiled with latest VSCode thanks @arrkiin
|
||||
- Add key bindings for open workspace with godot editor with `F7` and update workspace symbols with `F8`
|
||||
|
||||
### 0.2.5
|
||||
|
||||
* Run games within VSCode terminals
|
||||
* Add key bindings for `F5 to run the workspace` and `F6 to run the edting scene`
|
||||
* Fix a lot of bugs with unused vaiable cheching
|
||||
* Move workspace symbols state notice to status bar
|
||||
- Run games within VSCode terminals
|
||||
- Add key bindings for `F5 to run the workspace` and `F6 to run the edting scene`
|
||||
- Fix a lot of bugs with unused variable checking
|
||||
- Move workspace symbols state notice to status bar
|
||||
|
||||
### 0.2.4
|
||||
|
||||
* Add code cheching for asignments and comparations
|
||||
* Impoved builtin documentation preview page
|
||||
* Fix bugs with unused vaiable cheching
|
||||
- Add code checking for asignments and comparisons
|
||||
- Improved builtin documentation preview page
|
||||
- Fix bugs with unused variable checking
|
||||
|
||||
### 0.2.3
|
||||
* Fix known errors with code syntax checking
|
||||
* Add configuration `ignoreIndentedVars` to allow ignore indented variables in scripts
|
||||
* Enhanced hover tip documentation rendering with code examples
|
||||
* Add launch configurations to launch game with F5(expiremental)
|
||||
|
||||
- Fix known errors with code syntax checking
|
||||
- Add configuration `ignoreIndentedVars` to allow ignore indented variables in scripts
|
||||
- Enhanced hover tip documentation rendering with code examples
|
||||
- Add launch configurations to launch game with F5(expiremental)
|
||||
|
||||
### 0.2.2
|
||||
* Better Syntax validating for code blocks
|
||||
* More waring for non-python liked expression
|
||||
|
||||
- Better Syntax validating for code blocks
|
||||
- More warning for non-python liked expression
|
||||
|
||||
### 0.2.1
|
||||
* Support markdown render in hover tips for documentations in workspace symbols
|
||||
* Add configuration `GodotTools.workspaceDocumentWithMarkdown` to control workspace documentation rendering
|
||||
|
||||
- Support markdown render in hover tips for documentations in workspace symbols
|
||||
- Add configuration `GodotTools.workspaceDocumentWithMarkdown` to control workspace documentation rendering
|
||||
|
||||
### 0.2.0
|
||||
|
||||
* Show autoloads informations in hover tips and go to autoloads' definitions are supported now
|
||||
* Fix the bug that workspace symbols resoved twice on Windows
|
||||
- Show autoloads information in hover tips and go to autoloads' definitions are supported now
|
||||
- Fix the bug that workspace symbols resoved twice on Windows
|
||||
|
||||
### 0.1.9
|
||||
|
||||
* Show workspace constant value in hover tips and completion items
|
||||
* More readable style for links in documentation preview page
|
||||
* Improve code completion sort order and auto insert `()` for functions without paramaters
|
||||
* Fix bugs with workspace documentation parsing
|
||||
- Show workspace constant value in hover tips and completion items
|
||||
- More readable style for links in documentation preview page
|
||||
- Improve code completion sort order and auto insert `()` for functions without parameters
|
||||
- Fix bugs with workspace documentation parsing
|
||||
|
||||
### 0.1.8
|
||||
|
||||
* Show signatures on completion label
|
||||
* More reliable unused variable and constant checking in documente
|
||||
* Show workspace documentations and function signatures in completions
|
||||
- Show signatures on completion label
|
||||
- More reliable unused variable and constant checking in documente
|
||||
- Show workspace documentations and function signatures in completions
|
||||
|
||||
### 0.1.7
|
||||
|
||||
* Show documentations parsed from GDScripts in hover tips
|
||||
- Show documentations parsed from GDScripts in hover tips
|
||||
|
||||
### 0.1.6
|
||||
|
||||
* Reorder mouse hover tips, builtin methods are at top of workspace methods
|
||||
* Show callabel signatures with documente symbols and workspace symbols
|
||||
* Syntax highlight support for signal paramaters
|
||||
- Reorder mouse hover tips, builtin methods are at top of workspace methods
|
||||
- Show callabel signatures with documente symbols and workspace symbols
|
||||
- Syntax highlight support for signal parameters
|
||||
|
||||
### 0.1.5
|
||||
|
||||
* Add function signature hint support
|
||||
* Better syntax grammar checking
|
||||
* Better hover hint message for workspace methods and signals
|
||||
- Add function signature hint support
|
||||
- Better syntax grammar checking
|
||||
- Better hover hint message for workspace methods and signals
|
||||
|
||||
### 0.1.4
|
||||
|
||||
* Add documentation support for builtin Symbols.
|
||||
* Improve speed of syntax parsing and other actions
|
||||
- Add documentation support for builtin Symbols.
|
||||
- Improve speed of syntax parsing and other actions
|
||||
|
||||
### 0.1.3
|
||||
|
||||
* Better syntax highlight for GDScript
|
||||
* Add mouse hover information support
|
||||
* Add definition provider for GDScript
|
||||
- Better syntax highlight for GDScript
|
||||
- Add mouse hover information support
|
||||
- Add definition provider for GDScript
|
||||
|
||||
### 0.1.2
|
||||
* Multiline string and `StringName` highlight support
|
||||
* Builtin classes, properties, functions and constants highlight support
|
||||
* Fix errors in code snipt
|
||||
|
||||
- Multiline string and `StringName` highlight support
|
||||
- Builtin classes, properties, functions and constants highlight support
|
||||
- Fix errors in code snipt
|
||||
|
||||
### 0.1.1
|
||||
* Better syntax highlight with GDScript
|
||||
|
||||
- Better syntax highlight with GDScript
|
||||
|
||||
### 0.1.0
|
||||
* Initial release
|
||||
|
||||
- Initial release
|
||||
|
||||
39
CONTRIBUTING.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# Contributing
|
||||
|
||||
### Building from source
|
||||
|
||||
#### Requirements
|
||||
|
||||
- [npm](https://www.npmjs.com/get-npm)
|
||||
|
||||
#### Process
|
||||
|
||||
1. Open a command prompt/terminal and browse to the location of this repository on your local filesystem.
|
||||
2. Download dependencies by using the command `npm install`
|
||||
3. When done, package a VSIX file by using the command `npm run package`.
|
||||
4. Install it by opening Visual Studio Code, opening the Extensions tab, clicking on the More actions (**...**) button in the top right, and choose **Install from VSIX...** and find the compiled VSIX file.
|
||||
|
||||
When developing for the extension, you can open this project in Visual Studio Code and debug the extension by using the **Run Extension** launch configuration instead of going through steps 3 and 4. It will launch a new instance of Visual Studio Code that has the extension running. You can then open a Godot project folder and debug the extension or GDScript debugger.
|
||||
|
||||
Additionally, if you create a `workspace.code-workspace` file, you can use the **Run Extension with workspace file** launch configuration to quickly change what folder your Extension Host is running in, and quickly change the settings passed to the debug environment
|
||||
|
||||
An example `workspace.code-workspace` file:
|
||||
```jsonc
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
// "path": "."
|
||||
"path": "P:/project1"
|
||||
// "path": "P:/project2"
|
||||
// "path": "P:/folder/project3"
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"godotTools.editorPath.godot3": "godot3.dev.exe",
|
||||
"godotTools.editorPath.godot4": "godot4.dev.exe",
|
||||
// "godotTools.editorPath.godot4": "godot4.custom.exe"
|
||||
// "godotTools.editorPath.godot4": "Godot_v4.1.1-stable_win64.exe",
|
||||
"godotTools.lsp.headless": false
|
||||
}
|
||||
}
|
||||
```
|
||||
2
LICENSE
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2016-2019 The Godot Engine community
|
||||
Copyright (c) 2016-2022 The Godot Engine community
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
239
README.md
@@ -1,63 +1,222 @@
|
||||
A complete set of tools to code games with the [Godot game engine](http://www.godotengine.org/) in Visual Studio Code.
|
||||
# Godot Tools
|
||||
|
||||
**IMPORTANT NOTE**
|
||||
This version of plugin only support godot 3.2 and above.
|
||||
Game development tools for working with [Godot Engine](http://www.godotengine.org/) in Visual Studio Code.
|
||||
|
||||
## Features
|
||||
**IMPORTANT NOTE:** Versions 1.0.0 and later of this extension only support
|
||||
Godot 3.2 or later.
|
||||
|
||||
The extension comes with a wealth of features to make your Godot programming experience as comfortable as possible:
|
||||
- [Godot Tools](#godot-tools)
|
||||
- [Features](#features)
|
||||
- [Download](#download)
|
||||
- [Commands](#commands)
|
||||
- [Configuration](#configuration)
|
||||
- [Godot Editor](#godot-editor)
|
||||
- [VS Code](#vs-code)
|
||||
- [GDScript Debugger](#gdscript-debugger)
|
||||
- [*Configurations*](#configurations)
|
||||
- [Issues and contributions](#issues-and-contributions)
|
||||
- [Contributing](#contributing)
|
||||
- [FAQ](#faq)
|
||||
- [Why does it fail to connect to the language server?](#why-does-it-fail-to-connect-to-the-language-server)
|
||||
- [Why isn't IntelliSense displaying script members?](#why-isnt-intellisense-displaying-script-members)
|
||||
|
||||
- Syntax highlighting for the GDScript (`.gd`) language
|
||||
- Syntax highlighting for the `.tscn` and `.tres` scene formats
|
||||
- Full Typed GDScript support
|
||||
- Optional `Smart Mode` to speed up dynamic typed script coding
|
||||
- Function definitions and documentation display on hover (see image below)
|
||||
- Rich auto-completion
|
||||
- Display script warnings and errors
|
||||
- Ctrl-click on a variable or method call to jump to its definition
|
||||
- Full documentation of the Godot engine's API supported
|
||||
- Run godot project from VS Code
|
||||
|
||||

|
||||
# Features
|
||||
|
||||
## Available Commands
|
||||
(**bold items** are new in Godot Tools `v2.0.0`)
|
||||
- **ALL FEATURES FULLY SUPPORT GODOT 4**
|
||||
- GDScript (`.gd`) language features:
|
||||
- syntax highlighting
|
||||
- `ctrl+click` on any symbol to jump to its definition or **open its documentation**
|
||||
- `ctrl+click` on `res://resource/path` links
|
||||
- **hover previews on `res://resource/path` links**
|
||||
- **builtin code formatter**
|
||||
- autocompletions
|
||||
- full typed GDScript support
|
||||
- optional "Smart Mode" to improve productivity with dynamically typed scripts
|
||||
- Hover previews show function/variable definitions including doc-comments
|
||||
- **switch from a `.gd` file to the related `.tscn` file (default keybind is `alt+o`)**
|
||||
- display script warnings and errors
|
||||
- GDScript Debugger features:
|
||||
- **completely rewritten, greatly improved reliability**
|
||||
- **new, simple configuration** (seriously, just hit F5!)
|
||||
- **convenient launch targets: current project/current file/pinned file**,
|
||||
- breakpoints
|
||||
- exceptions
|
||||
- step-in/out/over
|
||||
- variable watch
|
||||
- call stack
|
||||
- active scene tree
|
||||
- inspector
|
||||
- GDResource (`.tscn` and `.tres`) language features:
|
||||
- syntax highlighting
|
||||
- **`ctrl+click` on `res://resource/path` links**
|
||||
- **`ctrl+click` on symbols to jump to its definition or open its documentation**
|
||||
- **hover previews show definitions of External and Sub Resources**
|
||||
- **hover previews on `res://resource/path` links**
|
||||
- **inlay hints to help visualize External and Sub Resources**
|
||||
- **in-editor Scene Preview**
|
||||
- GDShader (`.gdshader`) language features:
|
||||
- syntax highlighting
|
||||
|
||||
The extension adds a few entries to the VS Code Command Palette under "GodotTools":
|
||||
# Download
|
||||
|
||||
- [Visual Studio Marketplace **(recommended)**](https://marketplace.visualstudio.com/items?itemName=geequlim.godot-tools)
|
||||
- Stable release, with support for automatic updates.
|
||||
- [GitHub Releases](https://github.com/godotengine/godot-vscode-plugin/releases)
|
||||
- Stable release, but no automatic updates. Can be useful if you need to install an older version of the extension.
|
||||
- [Development build (follows the `master` branch)](https://nightly.link/godotengine/godot-vscode-plugin/workflows/ci/master/godot-tools.zip)
|
||||
- Development build. Contains new features and fixes not available in stable releases, but may be unstable.
|
||||
- Extract the ZIP archive before installing (it contains the `.vsix` file inside).
|
||||
|
||||
To install from GitHub Releases or a development build,
|
||||
see [Install from a VSIX](https://code.visualstudio.com/docs/editor/extension-marketplace#_install-from-a-vsix)
|
||||
in the Visual Studio Code documentation.
|
||||
|
||||
# Commands
|
||||
|
||||
The extension adds a few entries to the VS Code Command Palette under "Godot Tools":
|
||||
|
||||
- Open workspace with Godot editor
|
||||
- Run workspace as Godot project
|
||||
- List native classes of godot
|
||||
- List Godot's native classes (and open thier documentation)
|
||||
- Debug the current `.tscn`/`.gd` file
|
||||
- Debug the pinned `.tscn`/`.gd` file
|
||||
- Pin/Unpin the current `.tscn`/`.gd` file for debugging
|
||||
- Open the pinned file
|
||||
|
||||
## Settings
|
||||
# Configuration
|
||||
|
||||
### Godot
|
||||
### Godot Editor
|
||||
|
||||
If you like this extension, you can set VS Code as your default script editor for Godot by following these steps:
|
||||
1. Open editor settings
|
||||
2. Select `Text Editor / External`
|
||||
3. Make sure the `Use External Editor` box is checked
|
||||
4. Fill `Exec Path` with the path to your VS Code executable
|
||||
5. Fill `Exec Flags` with `{project} --goto {file}:{line}:{col}`
|
||||
You can set VS Code as your default script editor for Godot by following these steps:
|
||||
|
||||
1. Open the **Editor Settings**
|
||||
2. Select **Text Editor > External**
|
||||
3. Check **Use External Editor**
|
||||
4. Fill **Exec Path** with the path to your VS Code executable
|
||||
* On macOS, this executable is typically located at: `/Applications/Visual Studio Code.app/Contents/MacOS/Electron`
|
||||
5. Fill **Exec Flags** with `{project} --goto {file}:{line}:{col}`
|
||||
|
||||
You can make Godot seamlessly reload VSCode-edited scripts by changing some additional settings. More details about each are available when hovering over the description in the Settings window:
|
||||
|
||||
- **Editor Settings > Text Editor > Behavior > Files > Auto Reload Scripts on External Change**
|
||||
- **Editor Settings > Interface > Editor > Save on Focus Loss**
|
||||
- **Editor Settings > Interface > Editor > Import Resources When Unfocused**
|
||||
|
||||
### VS Code
|
||||
|
||||
You can use the following settings to configure Godot Tools:
|
||||
- **editor_path** - The absolute path to the Godot editor executable
|
||||
- **gdscript_lsp_server_port** - The websocket server port of the GDScript language server
|
||||
- **check_status** - Check the GDScript language server connection status
|
||||
|
||||
## Issues and Contributions
|
||||
- `godotTools.editorPath.godot3`
|
||||
- `godotTools.editorPath.godot4`
|
||||
|
||||
The [Godot Tools](https://github.com/godotengine/godot-vscode-plugin) extension is an open source project of godot orgnization. Feel free to open issues and create pull requests anytime.
|
||||
The path to the Godot editor executable. _Under Mac OS, this is the executable inside of Godot.app._
|
||||
|
||||
See the [full changelog](https://github.com/GodotExplorer/godot-tools/blob/master/CHANGELOG.md) for the latest changes.
|
||||
- `godotTools.lsp.headless`
|
||||
|
||||
When using Godot >3.6 or >4.2, Headless LSP mode is available. In Headless mode, the extension will attempt to launch a windowless instance of the Godot editor to use as its Language Server.
|
||||
|
||||
# GDScript Debugger
|
||||
|
||||
The debugger is for GDScript projects. To debug C# projects, use [C# Tools for Godot](https://github.com/godotengine/godot-csharp-vscode).
|
||||
|
||||
To configure the GDScript debugger:
|
||||
|
||||
1. Open the command palette (by pressing F1):
|
||||
2. `>View: Show Run and Debug`
|
||||
3. Click on "create a launch.json file"
|
||||
|
||||

|
||||
|
||||
4. Select the Debug Godot configuration.
|
||||
5. Change any relevant settings.
|
||||
6. Press F5 to launch.
|
||||
|
||||
### *Configurations*
|
||||
|
||||
Minimal:
|
||||
```json
|
||||
{
|
||||
"name": "Launch",
|
||||
"type": "godot",
|
||||
"request": "launch"
|
||||
}
|
||||
```
|
||||
|
||||
Everything:
|
||||
```json
|
||||
{
|
||||
"name": "Launch",
|
||||
"type": "godot",
|
||||
"request": "launch",
|
||||
"project": "${workspaceFolder}",
|
||||
"address": "127.0.0.1",
|
||||
"port": 6007,
|
||||
"scene": "main|current|pinned|<path>",
|
||||
"editor_path": "<path>",
|
||||
// engine command line flags
|
||||
"profiling": false,
|
||||
"single_threaded_scene": false,
|
||||
"debug_collisions": false,
|
||||
"debug_paths": false,
|
||||
"debug_navigation": false,
|
||||
"debug_avoidance": false,
|
||||
"debug_stringnames": false,
|
||||
"frame_delay": 0,
|
||||
"time_scale": 1.0,
|
||||
"disable_vsync": false,
|
||||
"fixed_fps": 60,
|
||||
// anything else
|
||||
"additional_options": ""
|
||||
}
|
||||
```
|
||||
|
||||
Godot's command flags are documented here: https://docs.godotengine.org/en/stable/tutorials/editor/command_line_tutorial.html
|
||||
|
||||
*Usage*
|
||||
|
||||
- Stacktrace and variable dumps are the same as any regular debugger
|
||||
- The active scene tree can be refreshed with the Refresh icon in the top right.
|
||||
- Nodes can be brought to the fore in the Inspector by clicking the Eye icon next to nodes in the active scene tree, or Objects in the inspector.
|
||||
- You can edit integers, floats, strings, and booleans within the inspector by clicking the pencil icon next to each.
|
||||
|
||||

|
||||
|
||||
## Issues and contributions
|
||||
|
||||
The [Godot Tools](https://github.com/godotengine/godot-vscode-plugin) extension
|
||||
is an open source project from the Godot organization. Feel free to open issues
|
||||
and create pull requests anytime.
|
||||
|
||||
See the [full changelog](https://github.com/GodotExplorer/godot-tools/blob/master/CHANGELOG.md)
|
||||
for the latest changes.
|
||||
|
||||
# Contributing
|
||||
|
||||
see [CONTRIBUTING.md](CONTRIBUTING.md)
|
||||
|
||||
## FAQ
|
||||
|
||||
### Why failed to connect to language server?
|
||||
- You may not open your project with godot editor.
|
||||
- Godot 3.2 and above is required.
|
||||
### Why does it fail to connect to the language server?
|
||||
|
||||
### Why isn't intellisense showing up my script members for me?
|
||||
- The GDScript is a dynamic typed script language the tool may can infer all the variable types as you want.
|
||||
- You can turn on the `Smart Mode` in godot editor `Editor Settings > Language Server` check the `Enable Smart Resolve`.
|
||||
- Godot 3.2 or later is required.
|
||||
- Make sure the Godot editor is running
|
||||
- Make sure to open the project in the Godot editor first. If you opened
|
||||
the editor after opening VS Code, you can click the **Retry** button
|
||||
in the bottom-right corner in VS Code.
|
||||
- Reset the LSP Server port to the default values in both Godot's Editor Settings and
|
||||
in VSCode.
|
||||
|
||||
### Why isn't IntelliSense displaying script members?
|
||||
|
||||
- GDScript is a gradually typed script language. The language server can't
|
||||
infer all variable types.
|
||||
- To increase the number of results displayed, use static typing in your scripts.
|
||||
|
||||
### Can Godot/VSCode load in my script changes automatically instead of showing a confirmation window?
|
||||
|
||||
Godot has some Editor Settings that can help you if your workflow involves changing files in both editors:
|
||||
|
||||
- **Editor Settings > Text Editor > Behavior > Files > Auto Reload Scripts on External Change**
|
||||
- **Editor Settings > Interface > Editor > Save on Focus Loss**
|
||||
- **Editor Settings > Interface > Editor > Import Resources When Unfocused**
|
||||
|
||||
31
biome.json
Normal file
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"$schema": "https://biomejs.dev/schemas/1.9.3/schema.json",
|
||||
"vcs": {
|
||||
"defaultBranch": "master"
|
||||
},
|
||||
"formatter": {
|
||||
"enabled": true,
|
||||
"formatWithErrors": false,
|
||||
"indentStyle": "tab",
|
||||
"indentWidth": 4,
|
||||
"lineWidth": 120,
|
||||
"lineEnding": "lf",
|
||||
"include": ["src/**/*.ts", "tools/**/*.ts"]
|
||||
},
|
||||
"files": {
|
||||
"include": ["src/**/*.ts", "tools/**/*.ts"],
|
||||
"ignore": ["node_modules"]
|
||||
},
|
||||
"linter": {
|
||||
"rules": {
|
||||
"style": {
|
||||
"noUselessElse": "off",
|
||||
"useImportType": "off",
|
||||
"noParameterAssign": "warn"
|
||||
},
|
||||
"suspicious": {
|
||||
"noExplicitAny": "off"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,335 +0,0 @@
|
||||
{
|
||||
"fileTypes": [
|
||||
"gd"
|
||||
],
|
||||
"scopeName": "source.gdscript",
|
||||
"name": "GDScript",
|
||||
"patterns": [
|
||||
{ "include": "#base_expression" },
|
||||
{ "include": "#logic_op" },
|
||||
{ "include": "#compare_op" },
|
||||
{ "include": "#arithmetic_op" },
|
||||
{ "include": "#assignment_op" },
|
||||
{ "include": "#keywords" },
|
||||
{ "include": "#self" },
|
||||
{ "include": "#const_def" },
|
||||
{ "include": "#type_declear"},
|
||||
{ "include": "#class_def" },
|
||||
{ "include": "#classname"},
|
||||
{ "include": "#builtin_func" },
|
||||
{ "include": "#builtin_classes" },
|
||||
{ "include": "#const_vars" },
|
||||
{ "include": "#class_new"},
|
||||
{ "include": "#class_is"},
|
||||
{ "include": "#class_enum"},
|
||||
{ "include": "#function-declaration" },
|
||||
{ "include": "#function-return-type" },
|
||||
{ "include": "#any-method" },
|
||||
{ "include": "#any-property" },
|
||||
{ "include": "#extends" },
|
||||
{ "include": "#parscal_class" }
|
||||
],
|
||||
"repository": {
|
||||
"comment": {
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.comment.number-sign.gdscript"
|
||||
}
|
||||
},
|
||||
"match": "(#).*$\\n?",
|
||||
"name": "comment.line.number-sign.gdscript"
|
||||
},
|
||||
"strings": {
|
||||
"patterns": [{
|
||||
"begin": "\"",
|
||||
"end": "\"",
|
||||
"patterns": [
|
||||
{ "name": "constant.character.escape.untitled",
|
||||
"match": "\\."
|
||||
}
|
||||
],
|
||||
"name": "string.quoted.double.gdscript"
|
||||
},
|
||||
{
|
||||
"begin": "'",
|
||||
"end": "'",
|
||||
"patterns": [
|
||||
{ "name": "constant.character.escape.untitled",
|
||||
"match": "\\."
|
||||
}
|
||||
],
|
||||
"name": "string.quoted.single.gdscript"
|
||||
},
|
||||
{
|
||||
"begin": "@\"",
|
||||
"end": "\"",
|
||||
"patterns": [
|
||||
{ "name": "constant.character.escape.untitled",
|
||||
"match": "\\."
|
||||
}
|
||||
],
|
||||
"name": "string.nodepath.gdscript"
|
||||
}
|
||||
]
|
||||
},
|
||||
"self": {
|
||||
"match": "\\bself\\b",
|
||||
"name": "variable.language.gdscript"
|
||||
},
|
||||
"base_expression": {
|
||||
"patterns": [
|
||||
{ "include": "#strings"},
|
||||
{ "include": "#comment"},
|
||||
{ "include": "#letter"},
|
||||
{ "include": "#numbers"},
|
||||
{ "include": "#line-continuation"}
|
||||
]
|
||||
},
|
||||
"logic_op": {
|
||||
"match": "\\b(and|or|not)\\b",
|
||||
"name": "keyword.operator.logical.gdscript"
|
||||
},
|
||||
"compare_op": {
|
||||
"match": "<=|>=|==|<|>|!=",
|
||||
"name": "keyword.operator.comparison.gdscript"
|
||||
},
|
||||
"arithmetic_op": {
|
||||
"match": "\\+=|-=|\\*=|/=|%=|&=|\\|=|\\*|/|%|\\+|-|<<|>>|&|\\||\\^|~",
|
||||
"name": "keyword.operator.arithmetic.gdscript"
|
||||
},
|
||||
"assignment_op": {
|
||||
"match": "=",
|
||||
"name": "keyword.operator.assignment.gdscript"
|
||||
},
|
||||
|
||||
"keywords": {
|
||||
"match": "\\b(?i:if|elif|else|for|while|break|continue|pass|return|match|func|class|class_name|extends|is|onready|tool|static|export|setget|const|var|as|void|enum|preload|assert|yield|signal|breakpoint|rpc|sync|master|puppet|slave|remotesync|mastersync|puppetsync)\\b",
|
||||
"name": "keyword.language.gdscript"
|
||||
},
|
||||
"letter": {
|
||||
"match": "\\b(?i:true|false|null)\\b",
|
||||
"name": "constant.language.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"
|
||||
}
|
||||
]
|
||||
},
|
||||
"const_def": {
|
||||
"match": "\\b(?i:(const))\\s+([a-zA-Z_][a-zA-Z_0-9]*)",
|
||||
"captures": {
|
||||
"1": { "name": "storage.type.const.gdscript" },
|
||||
"2": { "name": "constant.language.gdscript" }
|
||||
}
|
||||
},
|
||||
"var_def": {
|
||||
"match": "\\b(?i:(var))\\s+([a-zA-Z_][a-zA-Z_0-9]*)",
|
||||
"captures": {
|
||||
"1": { "name": "storage.type.var.gdscript" },
|
||||
"2": { "name": "variable.language.gdscript" }
|
||||
}
|
||||
},
|
||||
"type_declear": {
|
||||
"match": "\\:\\s*([a-zA-Z_][a-zA-Z_0-9]*)",
|
||||
"captures": {
|
||||
"1": { "name": "entity.name.type.class.gdscript" }
|
||||
}
|
||||
},
|
||||
"function-return-type": {
|
||||
"match": "\\)\\s*\\-\\>\\s*([a-zA-Z_][a-zA-Z_0-9]*)\\s*\\:",
|
||||
"captures": {
|
||||
"1": { "name": "entity.name.type.class.gdscript" }
|
||||
}
|
||||
},
|
||||
"class_def": {
|
||||
"captures": {
|
||||
"1": { "name": "entity.name.type.class.gdscript" },
|
||||
"2": { "name": "class.other.gdscript" }
|
||||
},
|
||||
"match": "(?<=^class)\\s+([a-zA-Z_]\\w*)\\s*(?=:)"
|
||||
},
|
||||
"class_new": {
|
||||
"captures": {
|
||||
"1": { "name": "entity.name.type.class.gdscript" },
|
||||
"2": { "name": "storage.type.new.gdscript" }
|
||||
},
|
||||
"match": "\\b([a-zA-Z_][a-zA-Z_0-9]*).(new)\\("
|
||||
},
|
||||
"class_is": {
|
||||
"captures": {
|
||||
"1": { "name": "storage.type.is.gdscript" },
|
||||
"2": { "name": "entity.name.type.class.gdscript" }
|
||||
},
|
||||
"match": "\\s+(is)\\s+([a-zA-Z_][a-zA-Z_0-9]*)"
|
||||
},
|
||||
"class_enum": {
|
||||
"captures": {
|
||||
"1": { "name": "entity.name.type.class.gdscript" },
|
||||
"2": { "name": "constant.language.gdscript" }
|
||||
},
|
||||
"match": "\\b([A-Z][a-zA-Z_0-9]*)\\.([A-Z_0-9]+)"
|
||||
},
|
||||
"classname": {
|
||||
"match": "(?<=class_name)\\s+([a-zA-Z_][a-zA-Z_0-9]*(\\.([a-zA-Z_][a-zA-Z_0-9]*))?)",
|
||||
"name": "entity.name.type.class.gdscript"
|
||||
},
|
||||
"extends": {
|
||||
"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"
|
||||
},
|
||||
"builtin_func": {
|
||||
"match": "(?<![^.]\\.|:)\\b(sin|cos|tan|sinh|cosh|tanh|asin|acos|atan|atan2|sqrt|fmod|fposmod|floor|ceil|round|abs|sign|pow|log|exp|is_nan|is_inf|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|type_exists|char|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.builtin.gdscript"
|
||||
},
|
||||
"builtin_classes": {
|
||||
"match": "(?<![^.]\\.|:)\\b(Vector2|Vector3|Color|Rect2|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|AABB|String|Color|NodePath|RID|Object|Dictionary|Array|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray)\\b",
|
||||
"name": "support.class.library.gdscript"
|
||||
},
|
||||
"const_vars": {
|
||||
"match": "\\b([A-Z_0-9]+)\\b",
|
||||
"name": "constant.language.gdscript"
|
||||
},
|
||||
"function-declaration": {
|
||||
"name": "meta.function.gdscript",
|
||||
"begin": "(?x)\n \\s*\n (?:\\b(static) \\s+)? \\b(func|signal)\\s+\n (?=\n [[:alpha:]_][[:word:]]* \\s* \\(\n )\n",
|
||||
"end": "(:|(?=[#'\"\\n]))",
|
||||
"beginCaptures": {
|
||||
"1": { "name": "storage.type.function.static.gdscript" },
|
||||
"2": { "name": "storage.type.function.gdscript" }
|
||||
},
|
||||
"endCaptures": {
|
||||
"1": { "name": "punctuation.section.function.begin.gdscript" }
|
||||
},
|
||||
"patterns": [
|
||||
{ "include": "#function-def-name" },
|
||||
{ "include": "#parameters" },
|
||||
{ "include": "#line-continuation" },
|
||||
{ "include": "#return-annotation" }
|
||||
]
|
||||
},
|
||||
"function-def-name": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "entity.name.function.gdscript",
|
||||
"match": "(?x)\n \\b ([[:alpha:]_]\\w*) \\b\n"
|
||||
}
|
||||
]
|
||||
},
|
||||
"parameters": {
|
||||
"name": "meta.function.parameters.gdscript",
|
||||
"begin": "(\\()",
|
||||
"end": "(\\))",
|
||||
"beginCaptures": {
|
||||
"1": { "name": "punctuation.definition.parameters.begin.gdscript" }
|
||||
},
|
||||
"endCaptures": {
|
||||
"1": { "name": "punctuation.definition.parameters.end.gdscript" }
|
||||
},
|
||||
"patterns": [{
|
||||
"name": "keyword.operator.unpacking.parameter.gdscript",
|
||||
"match": "(\\*\\*|\\*)"
|
||||
},
|
||||
{ "include": "#parameter-special" },
|
||||
{
|
||||
"match": "(?x)\n ([[:alpha:]_]\\w*)\n \\s* (?: (,) | (?=[)#\\n=]))\n",
|
||||
"captures": {
|
||||
"1": { "name": "variable.parameter.function.language.gdscript" },
|
||||
"2": { "name": "punctuation.separator.parameters.gdscript" }
|
||||
}
|
||||
},
|
||||
{ "include": "#comment" },
|
||||
{ "include": "#loose-default"},
|
||||
{ "include": "#annotated-parameter" }
|
||||
]
|
||||
},
|
||||
"any-method": {
|
||||
"match": "\\b([A-Za-z_]\\w*)\\b(?=\\s*(?:[(]))",
|
||||
"name": "support.function.any-method.gdscript"
|
||||
},
|
||||
"any-property": {
|
||||
"match": "(?<=[^.]\\.)\\b([A-Za-z_]\\w*)\\b(?![(])",
|
||||
"name": "variable.other.property.gdscript"
|
||||
},
|
||||
"parameter-special": {
|
||||
"match": "(?x)\n \\b ((self)|(cls)) \\b \\s*(?:(,)|(?=\\)))\n",
|
||||
"captures": {
|
||||
"1": { "name": "variable.parameter.function.language.gdscript" },
|
||||
"2": { "name": "variable.parameter.function.language.special.self.gdscript" },
|
||||
"3": { "name": "variable.parameter.function.language.special.cls.gdscript" },
|
||||
"4": { "name": "punctuation.separator.parameters.gdscript" }
|
||||
}
|
||||
},
|
||||
"loose-default": {
|
||||
"begin": "(=)",
|
||||
"end": "(,)|(?=\\))",
|
||||
"beginCaptures": {
|
||||
"1": { "name": "keyword.operator.gdscript" }
|
||||
},
|
||||
"endCaptures": {
|
||||
"1": { "name": "punctuation.separator.parameters.gdscript" }
|
||||
},
|
||||
"patterns": [
|
||||
{ "include": "#base_expression"}
|
||||
]
|
||||
},
|
||||
"annotated-parameter": {
|
||||
"begin": "(?x)\n \\b\n ([[:alpha:]_]\\w*) \\s* (:)\n",
|
||||
"end": "(,)|(?=\\))",
|
||||
"beginCaptures": {
|
||||
"1": { "name": "variable.parameter.function.language.gdscript" },
|
||||
"2": { "name": "punctuation.separator.annotation.gdscript" }
|
||||
},
|
||||
"endCaptures": {
|
||||
"1": { "name": "punctuation.separator.parameters.gdscript" }
|
||||
},
|
||||
"patterns": [
|
||||
{ "name": "keyword.operator.assignment.gdscript", "match": "=(?!=)"}
|
||||
]
|
||||
},
|
||||
"line-continuation": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "(\\\\)\\s*(\\S.*$\\n?)",
|
||||
"captures": {
|
||||
"1": { "name": "punctuation.separator.continuation.line.gdscript" },
|
||||
"2": { "name": "invalid.illegal.line.continuation.gdscript" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"begin": "(\\\\)\\s*$\\n?",
|
||||
"end": "(?x)\n (?=^\\s*$)\n |\n (?! (\\s* [rR]? (\\'\\'\\'|\\\"\\\"\\\"|\\'|\\\"))\n |\n (\\G $) (?# '\\G' is necessary for ST)\n )\n",
|
||||
"beginCaptures": {
|
||||
"1": { "name": "punctuation.separator.continuation.line.gdscript" }
|
||||
},
|
||||
"patterns": [
|
||||
{ "include": "#base_expression" }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"parscal_class": {
|
||||
"captures": {
|
||||
"1": { "name": "entity.name.type.class.gdscript" }
|
||||
},
|
||||
"match": "([A-Z][a-zA-Z_0-9]*)"
|
||||
}
|
||||
}
|
||||
}
|
||||
24
configurations/gdresource.language-configuration.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"comments": {
|
||||
"lineComment": ";"
|
||||
},
|
||||
"brackets": [
|
||||
["(", ")"],
|
||||
["[", "]"],
|
||||
["{", "}"]
|
||||
],
|
||||
"autoClosingPairs": [
|
||||
["'", "'"],
|
||||
["\"", "\""],
|
||||
["(", ")"],
|
||||
["[", "]"],
|
||||
["{", "}"]
|
||||
],
|
||||
"surroundingPairs": [
|
||||
["'", "'"],
|
||||
["\"", "\""],
|
||||
["(", ")"],
|
||||
["[", "]"],
|
||||
["{", "}"]
|
||||
]
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
{
|
||||
"comments": {
|
||||
"lineComment": "#",
|
||||
"blockComment": ["\"\"\"", "\"\"\""]
|
||||
},
|
||||
"brackets": [
|
||||
["(", ")"],
|
||||
["[", "]"],
|
||||
["{", "}"]
|
||||
],
|
||||
"autoClosingPairs": [
|
||||
["'", "'"],
|
||||
["\"", "\""],
|
||||
["(", ")"],
|
||||
["[", "]"],
|
||||
["{", "}"]
|
||||
],
|
||||
"surroundingPairs": [
|
||||
["'", "'"],
|
||||
["\"", "\""],
|
||||
["(", ")"],
|
||||
["[", "]"],
|
||||
["{", "}"]
|
||||
],
|
||||
"indentationRules": {
|
||||
"increaseIndentPattern": "^\\s*((class|func|else|elif|for|if|match|while|enum)|(.*\\sdo\\b))\\b[^\\{;]*$",
|
||||
"decreaseIndentPattern": "^\\s*([}\\]]([,)]?\\s*(#|$)|\\.[a-zA-Z_]\\w*\\b)|(else|elif)\\b)"
|
||||
},
|
||||
"folding": {
|
||||
"offSide": true,
|
||||
"markers": {
|
||||
"start": "^\\s*#\\s*region\\b",
|
||||
"end": "^\\s*#\\s*endregion\\b"
|
||||
}
|
||||
}
|
||||
}
|
||||
40
configurations/gdscript.language-configuration.json
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"comments": {
|
||||
"lineComment": "#"
|
||||
},
|
||||
"brackets": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"]
|
||||
],
|
||||
"autoClosingPairs": [
|
||||
{ "open": "{", "close": "}" },
|
||||
{ "open": "[", "close": "]" },
|
||||
{ "open": "(", "close": ")" },
|
||||
{ "open": "\"", "close": "\"", "notIn": ["string", "comment"] },
|
||||
{ "open": "'", "close": "'", "notIn": ["string", "comment"] }
|
||||
],
|
||||
"autoCloseBefore": ";:.,=}])>` \n\t",
|
||||
"surroundingPairs": [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"],
|
||||
["\"", "\""],
|
||||
["'", "'"]
|
||||
],
|
||||
"folding": {
|
||||
"offSide": true,
|
||||
"markers": {
|
||||
"start": "^\\s*#\\s*region\\b",
|
||||
"end": "^\\s*#\\s*endregion\\b"
|
||||
}
|
||||
},
|
||||
"onEnterRules": [
|
||||
{
|
||||
"beforeText": ":\\s*$",
|
||||
"action": {
|
||||
"indent": "indent"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
25
configurations/gdshader.language-configuration.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"comments": {
|
||||
"lineComment": "//",
|
||||
"blockComment": ["/*", "*/"]
|
||||
},
|
||||
"brackets": [
|
||||
["(", ")"],
|
||||
["[", "]"],
|
||||
["{", "}"]
|
||||
],
|
||||
"autoClosingPairs": [
|
||||
["'", "'"],
|
||||
["\"", "\""],
|
||||
["(", ")"],
|
||||
["[", "]"],
|
||||
["{", "}"]
|
||||
],
|
||||
"surroundingPairs": [
|
||||
["'", "'"],
|
||||
["\"", "\""],
|
||||
["(", ")"],
|
||||
["[", "]"],
|
||||
["{", "}"]
|
||||
]
|
||||
}
|
||||
387
configurations/snippets.json
Normal file → Executable file
@@ -6,14 +6,12 @@
|
||||
"\t$3"
|
||||
]
|
||||
},
|
||||
|
||||
"Print messages to console": {
|
||||
"prefix": "pr",
|
||||
"body": [
|
||||
"print($1)"
|
||||
]
|
||||
},
|
||||
|
||||
"_ready method of Node": {
|
||||
"prefix": "ready",
|
||||
"body": [
|
||||
@@ -21,7 +19,6 @@
|
||||
"\t${1:pass}"
|
||||
]
|
||||
},
|
||||
|
||||
"_init method of Object": {
|
||||
"prefix": "init",
|
||||
"body": [
|
||||
@@ -29,192 +26,260 @@
|
||||
"\t${1:pass}"
|
||||
]
|
||||
},
|
||||
|
||||
"_process method of Node": {
|
||||
"prefix": "process",
|
||||
"body": [
|
||||
"func _process(delta):",
|
||||
"\t${1:pass}"
|
||||
]
|
||||
"func _process(delta):",
|
||||
"\t${1:pass}"
|
||||
]
|
||||
},
|
||||
"_physics_process method of Node": {
|
||||
"prefix": "physics",
|
||||
"body": [
|
||||
"func _physics_process(delta):",
|
||||
"\t${1:pass}"
|
||||
]
|
||||
},
|
||||
|
||||
"_input method of Node": {
|
||||
"prefix": "input",
|
||||
"body": [
|
||||
"func _input(event):",
|
||||
"\t${1:pass}"
|
||||
]
|
||||
"func _input(event):",
|
||||
"\t${1:pass}"
|
||||
]
|
||||
},
|
||||
|
||||
"_input_event method of Node": {
|
||||
"_input_event method of Node": {
|
||||
"prefix": "inpute",
|
||||
"body": [
|
||||
"func _input_event(event):",
|
||||
"\t${1:pass}"
|
||||
]
|
||||
},
|
||||
|
||||
"_draw method of Node": {
|
||||
"prefix": "draw",
|
||||
"body": [
|
||||
"func _draw():",
|
||||
"\t${1:pass}"
|
||||
]
|
||||
},
|
||||
|
||||
"_gui_input method of Node": {
|
||||
"prefix": "guii",
|
||||
"body": [
|
||||
"func _gui_input(event):",
|
||||
"\t${1:pass}"
|
||||
]
|
||||
},
|
||||
|
||||
"func _input_event(event):",
|
||||
"\t${1:pass}"
|
||||
]
|
||||
},
|
||||
"_unhandled_input method of Node": {
|
||||
"prefix": "uinput",
|
||||
"body": [
|
||||
"func _unhandled_input(event):",
|
||||
"\t${1:pass}"
|
||||
]
|
||||
},
|
||||
"_draw method of Node": {
|
||||
"prefix": "draw",
|
||||
"body": [
|
||||
"func _draw():",
|
||||
"\t${1:pass}"
|
||||
]
|
||||
},
|
||||
"_gui_input method of Node": {
|
||||
"prefix": "guii",
|
||||
"body": [
|
||||
"func _gui_input(event):",
|
||||
"\t${1:pass}"
|
||||
]
|
||||
},
|
||||
"for loop": {
|
||||
"prefix": "for",
|
||||
"body": [
|
||||
"for $1 in $2:",
|
||||
"\t${3:pass}"
|
||||
]
|
||||
"for $1 in $2:",
|
||||
"\t${3:pass}"
|
||||
]
|
||||
},
|
||||
|
||||
"for range loop": {
|
||||
"for range loop": {
|
||||
"prefix": "for",
|
||||
"body": [
|
||||
"for $1 in range(${2:start}{$3:,end}):",
|
||||
"\t${4:pass}"
|
||||
]
|
||||
"for $1 in range(${2:start}{$3:,end}):",
|
||||
"\t${4:pass}"
|
||||
]
|
||||
},
|
||||
|
||||
"if elif else": {
|
||||
"prefix": "if",
|
||||
"if elif else": {
|
||||
"prefix": "if",
|
||||
"body": [
|
||||
"if ${1:condition}:",
|
||||
"\t${3:pass}",
|
||||
"elif ${2:condition}:",
|
||||
"\t${4:pass}",
|
||||
"else:",
|
||||
"\t${5:pass}"
|
||||
]
|
||||
},
|
||||
|
||||
"if else": {
|
||||
"prefix": "if",
|
||||
"if ${1:condition}:",
|
||||
"\t${3:pass}",
|
||||
"elif ${2:condition}:",
|
||||
"\t${4:pass}",
|
||||
"else:",
|
||||
"\t${5:pass}"
|
||||
]
|
||||
},
|
||||
"if else": {
|
||||
"prefix": "if",
|
||||
"body": [
|
||||
"if ${1:condition}:",
|
||||
"\t${2:pass}",
|
||||
"else:",
|
||||
"\t${3:pass}"
|
||||
]
|
||||
},
|
||||
|
||||
"if": {
|
||||
"prefix": "if",
|
||||
"if ${1:condition}:",
|
||||
"\t${2:pass}",
|
||||
"else:",
|
||||
"\t${3:pass}"
|
||||
]
|
||||
},
|
||||
"if": {
|
||||
"prefix": "if",
|
||||
"body": [
|
||||
"if ${1:condition}:",
|
||||
"\t${2:pass}"
|
||||
]
|
||||
},
|
||||
|
||||
"while": {
|
||||
"prefix": "while",
|
||||
"if ${1:condition}:",
|
||||
"\t${2:pass}"
|
||||
]
|
||||
},
|
||||
"while": {
|
||||
"prefix": "while",
|
||||
"body": [
|
||||
"while ${1:condition}:",
|
||||
"\t${2:pass}"
|
||||
]
|
||||
},
|
||||
|
||||
"function define": {
|
||||
"prefix": "func",
|
||||
"while ${1:condition}:",
|
||||
"\t${2:pass}"
|
||||
]
|
||||
},
|
||||
"function define": {
|
||||
"prefix": "func",
|
||||
"body": [
|
||||
"func ${1:method}(${2:args}):",
|
||||
"\t${3:pass}"
|
||||
]
|
||||
},
|
||||
|
||||
"signal decleration": {
|
||||
"prefix": "signal",
|
||||
"func ${1:method}(${2:args}):",
|
||||
"\t${3:pass}"
|
||||
]
|
||||
},
|
||||
"match": {
|
||||
"prefix": "match",
|
||||
"body": [
|
||||
"signal ${1:signalname}(${2:args})"
|
||||
]
|
||||
},
|
||||
|
||||
"export variables": {
|
||||
"prefix": "export",
|
||||
"match ${1:expression}:\n\t${2:pattern}:\n\t\t${3}\n\t_:\n\t\t${0:default}"
|
||||
]
|
||||
},
|
||||
"signal declaration": {
|
||||
"prefix": "signal",
|
||||
"body": [
|
||||
"export(${1:type}${2:,other_configs}) var ${3:name}${4: = default}${5: setget }"
|
||||
]
|
||||
},
|
||||
|
||||
"define variables": {
|
||||
"prefix": "var",
|
||||
"signal ${1:signalname}(${2:args})"
|
||||
]
|
||||
},
|
||||
"export variables": {
|
||||
"prefix": "export",
|
||||
"body": [
|
||||
"var ${1:name}${2: = default}${3: setget }"
|
||||
]
|
||||
},
|
||||
|
||||
"define onready variables": {
|
||||
"prefix": "onready",
|
||||
"@export(${1:type}${2:,other_configs}) var ${3:name}${4: = default}${5: setget }"
|
||||
]
|
||||
},
|
||||
"define variables": {
|
||||
"prefix": "var",
|
||||
"body": [
|
||||
"onready var ${1:name} = get_node($2)"
|
||||
]
|
||||
},
|
||||
|
||||
"Is instance of a class": {
|
||||
"prefix": "extends",
|
||||
"var ${1:name}${2: = default}${3: setget }"
|
||||
]
|
||||
},
|
||||
"define onready variables": {
|
||||
"prefix": "onready",
|
||||
"body": [
|
||||
"${1:instance} extends ${2:class_name}"
|
||||
]
|
||||
},
|
||||
|
||||
"Is instance of a class or script": {
|
||||
"prefix": "is",
|
||||
"body": [
|
||||
"${1:instance} is ${2:class}"
|
||||
]
|
||||
},
|
||||
|
||||
"element in array": {
|
||||
"prefix": "in",
|
||||
"onready var ${1:name} = get_node($2)"
|
||||
]
|
||||
},
|
||||
"Is instance of a class or script": {
|
||||
"prefix": "is",
|
||||
"body": [
|
||||
"${1:element} in ${$2:array}"
|
||||
]
|
||||
},
|
||||
|
||||
"GDScript template": {
|
||||
"prefix": "gdscript",
|
||||
"${1:instance} is ${2:class}"
|
||||
]
|
||||
},
|
||||
"element in array": {
|
||||
"prefix": "in",
|
||||
"body": [
|
||||
"extends ${1:BaseClass}",
|
||||
"",
|
||||
"# class member variables go here, for example:",
|
||||
"# var a = 2",
|
||||
"# var b = \"textvar\"",
|
||||
"",
|
||||
"func _ready():",
|
||||
"\t# Called every time the node is added to the scene.",
|
||||
"\t# Initialization here",
|
||||
"\tpass",
|
||||
""
|
||||
]
|
||||
},
|
||||
|
||||
"Enable process function": {
|
||||
"prefix": "process",
|
||||
"${1:element} in ${$2:array}"
|
||||
]
|
||||
},
|
||||
"GDScript template": {
|
||||
"prefix": "gdscript",
|
||||
"body": [
|
||||
"set_process(true)"
|
||||
]
|
||||
},
|
||||
|
||||
"Enable process input function": {
|
||||
"prefix": "processin",
|
||||
"extends ${1:BaseClass}",
|
||||
"",
|
||||
"# class member variables go here, for example:",
|
||||
"# var a = 2",
|
||||
"# var b = \"textvar\"",
|
||||
"",
|
||||
"func _ready():",
|
||||
"\t# Called every time the node is added to the scene.",
|
||||
"\t# Initialization here",
|
||||
"\tpass",
|
||||
""
|
||||
]
|
||||
},
|
||||
"pass statement": {
|
||||
"prefix": "pass",
|
||||
"body": [
|
||||
"set_process_input(true)"
|
||||
]
|
||||
},
|
||||
"pass statement": {
|
||||
"prefix": "pass",
|
||||
"body": [
|
||||
"pass"
|
||||
]
|
||||
}
|
||||
}
|
||||
"pass"
|
||||
]
|
||||
},
|
||||
"GDScript Void": {
|
||||
"prefix": [
|
||||
"void"
|
||||
],
|
||||
"body": [
|
||||
"func ${1:function_name}($2) -> void:",
|
||||
"\t${3:pass}"
|
||||
],
|
||||
"description": "Void function"
|
||||
},
|
||||
"GDScript Load Resource": {
|
||||
"prefix": [
|
||||
"loadres",
|
||||
"ld"
|
||||
],
|
||||
"body": [
|
||||
"load(\"res://${1:resource_path}\")$0"
|
||||
],
|
||||
"description": "Quickly load a resource with the 'res://' prefix"
|
||||
},
|
||||
"GDScript Preload Resource": {
|
||||
"prefix": [
|
||||
"preloadres",
|
||||
"pl"
|
||||
],
|
||||
"body": [
|
||||
"preload(\"res://${1:resource_path}\")$0"
|
||||
],
|
||||
"description": "Quickly preload a resource with the 'res://' prefix"
|
||||
},
|
||||
"GDScript Variable with Getter and Setter": {
|
||||
"prefix": [
|
||||
"gs",
|
||||
"vargetset"
|
||||
],
|
||||
"body": [
|
||||
"var ${1:variable_name}:",
|
||||
"\tget:",
|
||||
"\t\treturn ${1:variable_name}",
|
||||
"\tset(value):",
|
||||
"\t\t${1:variable_name} = value"
|
||||
],
|
||||
"description": "Creates a variable with getter and setter functions in GDScript"
|
||||
},
|
||||
"GDScript Variable with Getter and Setter (typed)": {
|
||||
"prefix": [
|
||||
"gst",
|
||||
"vargetsettyped"
|
||||
],
|
||||
"body": [
|
||||
"var ${1:variable_name}: ${2:String}:",
|
||||
"\tget:",
|
||||
"\t\treturn ${1:variable_name}",
|
||||
"\tset(value):",
|
||||
"\t\t${1:variable_name} = value"
|
||||
],
|
||||
"description": "Creates a typed variable with getter and setter functions in GDScript"
|
||||
},
|
||||
"GDScript export var": {
|
||||
"prefix": [
|
||||
"exportvar",
|
||||
"xp"
|
||||
],
|
||||
"body": [
|
||||
"export var ${1:variable_name}: ${2:String} = ${3:default_value}"
|
||||
],
|
||||
"description": "Creates an exported (typed) variable in GDScript"
|
||||
},
|
||||
"GDScript tween": {
|
||||
"prefix": [
|
||||
"tween",
|
||||
"tw"
|
||||
],
|
||||
"body": [
|
||||
"var tween := create_tween()"
|
||||
],
|
||||
"description": "Creates a tween object"
|
||||
},
|
||||
"GDScript wait": {
|
||||
"prefix": [
|
||||
"wait",
|
||||
"timer"
|
||||
],
|
||||
"body": [
|
||||
"await get_tree().create_timer($1).timeout"
|
||||
],
|
||||
"description": "Waits for a given amount of seconds"
|
||||
}
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
import json
|
||||
docdata = json.loads(open("../doc/classes.json").read())
|
||||
|
||||
classes = ""
|
||||
for c in docdata['classes'].keys():
|
||||
classes += c + "|"
|
||||
print(classes)
|
||||
|
||||
print("")
|
||||
|
||||
builtinfuctions = ''
|
||||
for m in docdata['classes']['@GDScript']['methods']:
|
||||
builtinfuctions += m['name'] +'|'
|
||||
print(builtinfuctions)
|
||||
|
||||
print("")
|
||||
|
||||
consts = ''
|
||||
for c in docdata['classes']['@GDScript']['constants']:
|
||||
consts += c['name'] + "|"
|
||||
|
||||
for c in docdata['classes']['@Global Scope']['constants']:
|
||||
consts += c['name'] + "|"
|
||||
|
||||
print consts
|
||||
|
||||
print("")
|
||||
|
||||
props = ""
|
||||
for p in docdata['classes']['@Global Scope']['properties']:
|
||||
props += p['name'] + "|"
|
||||
|
||||
print props
|
||||
BIN
icon.png
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.4 KiB |
BIN
img/godot-debug.png
Normal file
|
After Width: | Height: | Size: 382 KiB |
|
Before Width: | Height: | Size: 183 KiB After Width: | Height: | Size: 107 KiB |
BIN
img/hover-extresource.png
Normal file
|
After Width: | Height: | Size: 9.1 KiB |
BIN
img/hover-subresource.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
img/run-and-debug.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
img/scene-preview.png
Normal file
|
After Width: | Height: | Size: 144 KiB |
43
media/docs.css
Normal file
@@ -0,0 +1,43 @@
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#minimap {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 200px;
|
||||
height: 100%;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
pre:has(code) {
|
||||
position: relative;
|
||||
background-color: var(--vscode-textPreformat-background);
|
||||
padding: 2.5em 1.5em 1em 1.5em;
|
||||
border-radius: 8px;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
pre code {
|
||||
background-color: transparent !important;
|
||||
padding-left: 0px;
|
||||
padding-right: 0px;
|
||||
}
|
||||
|
||||
pre:has(code[class*="language-"])::before {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
padding: 0.5em 1em;
|
||||
color: var(--vscode-titlebar-activeForeground);
|
||||
font-family: var(--vscode-font-family);
|
||||
}
|
||||
|
||||
pre:has(code.language-gdscript)::before {
|
||||
content: "GDScript";
|
||||
}
|
||||
|
||||
pre:has(code.language-csharp)::before {
|
||||
content: "C#";
|
||||
}
|
||||
349
media/pagemap.js
Normal file
@@ -0,0 +1,349 @@
|
||||
/*! pagemap v1.4.0 - https://larsjung.de/pagemap/ */
|
||||
(function webpackUniversalModuleDefinition(root, factory) {
|
||||
if(typeof exports === 'object' && typeof module === 'object')
|
||||
module.exports = factory();
|
||||
else if(typeof define === 'function' && define.amd)
|
||||
define("pagemap", [], factory);
|
||||
else if(typeof exports === 'object')
|
||||
exports["pagemap"] = factory();
|
||||
else
|
||||
root["pagemap"] = factory();
|
||||
})((typeof self !== 'undefined' ? self : this), function() {
|
||||
return /******/ (function(modules) { // webpackBootstrap
|
||||
/******/ // The module cache
|
||||
/******/ var installedModules = {};
|
||||
/******/
|
||||
/******/ // The require function
|
||||
/******/ function __webpack_require__(moduleId) {
|
||||
/******/
|
||||
/******/ // Check if module is in cache
|
||||
/******/ if(installedModules[moduleId]) {
|
||||
/******/ return installedModules[moduleId].exports;
|
||||
/******/ }
|
||||
/******/ // Create a new module (and put it into the cache)
|
||||
/******/ var module = installedModules[moduleId] = {
|
||||
/******/ i: moduleId,
|
||||
/******/ l: false,
|
||||
/******/ exports: {}
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Execute the module function
|
||||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||||
/******/
|
||||
/******/ // Flag the module as loaded
|
||||
/******/ module.l = true;
|
||||
/******/
|
||||
/******/ // Return the exports of the module
|
||||
/******/ return module.exports;
|
||||
/******/ }
|
||||
/******/
|
||||
/******/
|
||||
/******/ // expose the modules object (__webpack_modules__)
|
||||
/******/ __webpack_require__.m = modules;
|
||||
/******/
|
||||
/******/ // expose the module cache
|
||||
/******/ __webpack_require__.c = installedModules;
|
||||
/******/
|
||||
/******/ // define getter function for harmony exports
|
||||
/******/ __webpack_require__.d = function(exports, name, getter) {
|
||||
/******/ if(!__webpack_require__.o(exports, name)) {
|
||||
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
||||
/******/ }
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // define __esModule on exports
|
||||
/******/ __webpack_require__.r = function(exports) {
|
||||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
||||
/******/ }
|
||||
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // create a fake namespace object
|
||||
/******/ // mode & 1: value is a module id, require it
|
||||
/******/ // mode & 2: merge all properties of value into the ns
|
||||
/******/ // mode & 4: return value when already ns object
|
||||
/******/ // mode & 8|1: behave like require
|
||||
/******/ __webpack_require__.t = function(value, mode) {
|
||||
/******/ if(mode & 1) value = __webpack_require__(value);
|
||||
/******/ if(mode & 8) return value;
|
||||
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
||||
/******/ var ns = Object.create(null);
|
||||
/******/ __webpack_require__.r(ns);
|
||||
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
||||
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
||||
/******/ return ns;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||||
/******/ __webpack_require__.n = function(module) {
|
||||
/******/ var getter = module && module.__esModule ?
|
||||
/******/ function getDefault() { return module['default']; } :
|
||||
/******/ function getModuleExports() { return module; };
|
||||
/******/ __webpack_require__.d(getter, 'a', getter);
|
||||
/******/ return getter;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Object.prototype.hasOwnProperty.call
|
||||
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
||||
/******/
|
||||
/******/ // __webpack_public_path__
|
||||
/******/ __webpack_require__.p = "";
|
||||
/******/
|
||||
/******/
|
||||
/******/ // Load entry module and return exports
|
||||
/******/ return __webpack_require__(__webpack_require__.s = 0);
|
||||
/******/ })
|
||||
/************************************************************************/
|
||||
/******/ ([
|
||||
/* 0 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
/* WEBPACK VAR INJECTION */(function(global) {module.exports = function (canvas, options) {
|
||||
var WIN = global.window;
|
||||
var DOC = WIN.document;
|
||||
var DOC_EL = DOC.documentElement;
|
||||
var BODY = DOC.querySelector('body');
|
||||
var CTX = canvas.getContext('2d');
|
||||
|
||||
var black = function black(pc) {
|
||||
return "rgba(0,0,0,".concat(pc / 100, ")");
|
||||
};
|
||||
|
||||
var settings = Object.assign({
|
||||
viewport: null,
|
||||
styles: {
|
||||
'header,footer,section,article': black(8),
|
||||
'h1,a': black(10),
|
||||
'h2,h3,h4': black(8)
|
||||
},
|
||||
back: black(2),
|
||||
view: black(5),
|
||||
drag: black(10),
|
||||
interval: null
|
||||
}, options);
|
||||
|
||||
var _listener = function _listener(el, method, types, fn) {
|
||||
return types.split(/\s+/).forEach(function (type) {
|
||||
return el[method](type, fn);
|
||||
});
|
||||
};
|
||||
|
||||
var on = function on(el, types, fn) {
|
||||
return _listener(el, 'addEventListener', types, fn, {passive: true});
|
||||
};
|
||||
|
||||
var off = function off(el, types, fn) {
|
||||
return _listener(el, 'removeEventListener', types, fn);
|
||||
};
|
||||
|
||||
var Rect = function Rect(x, y, w, h) {
|
||||
return {
|
||||
x: x,
|
||||
y: y,
|
||||
w: w,
|
||||
h: h
|
||||
};
|
||||
};
|
||||
|
||||
var rect_rel_to = function rect_rel_to(rect) {
|
||||
var pos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
||||
x: 0,
|
||||
y: 0
|
||||
};
|
||||
return Rect(rect.x - pos.x, rect.y - pos.y, rect.w, rect.h);
|
||||
};
|
||||
|
||||
var rect_of_doc = function rect_of_doc() {
|
||||
return Rect(0, 0, DOC_EL.scrollWidth, DOC_EL.scrollHeight);
|
||||
};
|
||||
|
||||
var rect_of_win = function rect_of_win() {
|
||||
return Rect(WIN.pageXOffset, WIN.pageYOffset, DOC_EL.clientWidth, DOC_EL.clientHeight);
|
||||
};
|
||||
|
||||
var el_get_offset = function el_get_offset(el) {
|
||||
var br = el.getBoundingClientRect();
|
||||
return {
|
||||
x: br.left + WIN.pageXOffset,
|
||||
y: br.top + WIN.pageYOffset
|
||||
};
|
||||
};
|
||||
|
||||
var rect_of_el = function rect_of_el(el) {
|
||||
var _el_get_offset = el_get_offset(el),
|
||||
x = _el_get_offset.x,
|
||||
y = _el_get_offset.y;
|
||||
|
||||
return Rect(x, y, el.offsetWidth, el.offsetHeight);
|
||||
};
|
||||
|
||||
var rect_of_viewport = function rect_of_viewport(el) {
|
||||
var _el_get_offset2 = el_get_offset(el),
|
||||
x = _el_get_offset2.x,
|
||||
y = _el_get_offset2.y;
|
||||
|
||||
return Rect(x + el.clientLeft, y + el.clientTop, el.clientWidth, el.clientHeight);
|
||||
};
|
||||
|
||||
var rect_of_content = function rect_of_content(el) {
|
||||
var _el_get_offset3 = el_get_offset(el),
|
||||
x = _el_get_offset3.x,
|
||||
y = _el_get_offset3.y;
|
||||
|
||||
return Rect(x + el.clientLeft - el.scrollLeft, y + el.clientTop - el.scrollTop, el.scrollWidth, el.scrollHeight);
|
||||
};
|
||||
|
||||
var calc_scale = function () {
|
||||
var width = canvas.clientWidth;
|
||||
var height = canvas.clientHeight;
|
||||
return function (w, h) {
|
||||
return Math.min(width / w, height / h);
|
||||
};
|
||||
}();
|
||||
|
||||
var resize_canvas = function resize_canvas(w, h) {
|
||||
canvas.width = w;
|
||||
canvas.height = h;
|
||||
canvas.style.width = "".concat(w, "px");
|
||||
canvas.style.height = "".concat(h, "px");
|
||||
};
|
||||
|
||||
var viewport = settings.viewport;
|
||||
|
||||
var find = function find(sel) {
|
||||
return Array.from((viewport || DOC).querySelectorAll(sel));
|
||||
};
|
||||
|
||||
var drag = false;
|
||||
var root_rect;
|
||||
var view_rect;
|
||||
var scale;
|
||||
var drag_rx;
|
||||
var drag_ry;
|
||||
|
||||
var draw_rect = function draw_rect(rect, col) {
|
||||
if (col) {
|
||||
CTX.beginPath();
|
||||
CTX.rect(rect.x, rect.y, rect.w, rect.h);
|
||||
CTX.fillStyle = col;
|
||||
CTX.fill();
|
||||
}
|
||||
};
|
||||
|
||||
var apply_styles = function apply_styles(styles) {
|
||||
Object.keys(styles).forEach(function (sel) {
|
||||
var col = styles[sel];
|
||||
find(sel).forEach(function (el) {
|
||||
draw_rect(rect_rel_to(rect_of_el(el), root_rect), col);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
var draw = function draw() {
|
||||
root_rect = viewport ? rect_of_content(viewport) : rect_of_doc();
|
||||
view_rect = viewport ? rect_of_viewport(viewport) : rect_of_win();
|
||||
scale = calc_scale(root_rect.w, root_rect.h);
|
||||
resize_canvas(root_rect.w * scale, root_rect.h * scale);
|
||||
CTX.setTransform(1, 0, 0, 1, 0, 0);
|
||||
CTX.clearRect(0, 0, canvas.width, canvas.height);
|
||||
CTX.scale(scale, scale);
|
||||
draw_rect(rect_rel_to(root_rect, root_rect), settings.back);
|
||||
apply_styles(settings.styles);
|
||||
draw_rect(rect_rel_to(view_rect, root_rect), drag ? settings.drag : settings.view);
|
||||
};
|
||||
|
||||
var on_drag = function on_drag(ev) {
|
||||
ev.preventDefault();
|
||||
var cr = rect_of_viewport(canvas);
|
||||
var x = (ev.pageX - cr.x) / scale - view_rect.w * drag_rx;
|
||||
var y = (ev.pageY - cr.y) / scale - view_rect.h * drag_ry;
|
||||
|
||||
if (viewport) {
|
||||
viewport.scrollLeft = x;
|
||||
viewport.scrollTop = y;
|
||||
} else {
|
||||
WIN.scrollTo(x, y);
|
||||
}
|
||||
|
||||
draw();
|
||||
};
|
||||
|
||||
var on_drag_end = function on_drag_end(ev) {
|
||||
drag = false;
|
||||
canvas.style.cursor = 'pointer';
|
||||
BODY.style.cursor = 'auto';
|
||||
off(WIN, 'mousemove', on_drag);
|
||||
off(WIN, 'mouseup', on_drag_end);
|
||||
on_drag(ev);
|
||||
};
|
||||
|
||||
var on_drag_start = function on_drag_start(ev) {
|
||||
drag = true;
|
||||
var cr = rect_of_viewport(canvas);
|
||||
var vr = rect_rel_to(view_rect, root_rect);
|
||||
drag_rx = ((ev.pageX - cr.x) / scale - vr.x) / vr.w;
|
||||
drag_ry = ((ev.pageY - cr.y) / scale - vr.y) / vr.h;
|
||||
|
||||
if (drag_rx < 0 || drag_rx > 1 || drag_ry < 0 || drag_ry > 1) {
|
||||
drag_rx = 0.5;
|
||||
drag_ry = 0.5;
|
||||
}
|
||||
|
||||
canvas.style.cursor = 'crosshair';
|
||||
BODY.style.cursor = 'crosshair';
|
||||
on(WIN, 'mousemove', on_drag);
|
||||
on(WIN, 'mouseup', on_drag_end);
|
||||
on_drag(ev);
|
||||
};
|
||||
|
||||
var init = function init() {
|
||||
canvas.style.cursor = 'pointer';
|
||||
on(canvas, 'mousedown', on_drag_start);
|
||||
on(viewport || WIN, 'load resize scroll', draw);
|
||||
|
||||
if (settings.interval > 0) {
|
||||
setInterval(function () {
|
||||
return draw();
|
||||
}, settings.interval);
|
||||
}
|
||||
|
||||
draw();
|
||||
};
|
||||
|
||||
init();
|
||||
return {
|
||||
redraw: draw
|
||||
};
|
||||
};
|
||||
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)))
|
||||
|
||||
/***/ }),
|
||||
/* 1 */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
var g;
|
||||
|
||||
// This works in non-strict mode
|
||||
g = (function() {
|
||||
return this;
|
||||
})();
|
||||
|
||||
try {
|
||||
// This works if eval is allowed (see CSP)
|
||||
g = g || new Function("return this")();
|
||||
} catch (e) {
|
||||
// This works if the window reference is available
|
||||
if (typeof window === "object") g = window;
|
||||
}
|
||||
|
||||
// g can still be undefined, but nothing to do about it...
|
||||
// We return undefined, instead of nothing here, so it's
|
||||
// easier to handle this case. if(!global) { ...}
|
||||
|
||||
module.exports = g;
|
||||
|
||||
|
||||
/***/ })
|
||||
/******/ ]);
|
||||
});
|
||||
128
media/prism.css
Normal file
@@ -0,0 +1,128 @@
|
||||
code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
color: #657b83;
|
||||
/* base00 */
|
||||
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
|
||||
font-size: 1em;
|
||||
text-align: left;
|
||||
white-space: pre;
|
||||
word-spacing: normal;
|
||||
word-break: normal;
|
||||
word-wrap: normal;
|
||||
|
||||
line-height: 1.5;
|
||||
|
||||
-moz-tab-size: 4;
|
||||
-o-tab-size: 4;
|
||||
tab-size: 4;
|
||||
|
||||
-webkit-hyphens: none;
|
||||
-moz-hyphens: none;
|
||||
-ms-hyphens: none;
|
||||
hyphens: none;
|
||||
}
|
||||
|
||||
pre[class*="language-"]::-moz-selection,
|
||||
pre[class*="language-"] ::-moz-selection,
|
||||
code[class*="language-"]::-moz-selection,
|
||||
code[class*="language-"] ::-moz-selection {
|
||||
background: #073642;
|
||||
/* base02 */
|
||||
}
|
||||
|
||||
pre[class*="language-"]::selection,
|
||||
pre[class*="language-"] ::selection,
|
||||
code[class*="language-"]::selection,
|
||||
code[class*="language-"] ::selection {
|
||||
background: #073642;
|
||||
/* base02 */
|
||||
}
|
||||
|
||||
/* Code blocks */
|
||||
pre[class*="language-"] {
|
||||
padding: 1em;
|
||||
margin: .5em 0;
|
||||
overflow: auto;
|
||||
border-radius: 0.3em;
|
||||
}
|
||||
|
||||
:not(pre)>code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
background-color: #fdf6e3;
|
||||
}
|
||||
|
||||
/* Inline code */
|
||||
:not(pre)>code[class*="language-"] {
|
||||
padding: .1em;
|
||||
border-radius: .3em;
|
||||
}
|
||||
|
||||
.token.comment,
|
||||
.token.prolog,
|
||||
.token.doctype,
|
||||
.token.cdata {
|
||||
color: #6A9955;
|
||||
}
|
||||
|
||||
.token.punctuation {
|
||||
color: #586e75;
|
||||
}
|
||||
|
||||
.namespace {
|
||||
opacity: .7;
|
||||
}
|
||||
|
||||
.token.property,
|
||||
.token.tag,
|
||||
.token.boolean,
|
||||
.token.number,
|
||||
.token.constant,
|
||||
.token.symbol,
|
||||
.token.deleted {
|
||||
color: #569cd6;
|
||||
}
|
||||
|
||||
.token.selector,
|
||||
.token.attr-name,
|
||||
.token.string,
|
||||
.token.char,
|
||||
.token.builtin,
|
||||
.token.url,
|
||||
.token.inserted {
|
||||
color: #ce9178;
|
||||
}
|
||||
|
||||
.token.entity {
|
||||
color: #657b83;
|
||||
background: #eee8d5;
|
||||
}
|
||||
|
||||
.token.atrule,
|
||||
.token.attr-value,
|
||||
.token.keyword {
|
||||
color: #859900;
|
||||
}
|
||||
|
||||
.token.function,
|
||||
.token.class-name {
|
||||
color: #4EC9B0;
|
||||
}
|
||||
|
||||
.token.regex,
|
||||
.token.important,
|
||||
.token.variable {
|
||||
color: #cb4b16;
|
||||
}
|
||||
|
||||
.token.important,
|
||||
.token.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.token.italic {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.token.entity {
|
||||
cursor: help;
|
||||
}
|
||||
7094
package-lock.json
generated
Normal file
916
package.json
@@ -2,62 +2,379 @@
|
||||
"name": "godot-tools",
|
||||
"displayName": "godot-tools",
|
||||
"icon": "icon.png",
|
||||
"version": "1.0.0",
|
||||
"description": "Tools for game development with godot game engine",
|
||||
"repository": "https://github.com/godotengine/godot-vscode-plugin",
|
||||
"version": "2.5.1",
|
||||
"description": "Tools for game development with Godot Engine and GDScript",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/godotengine/godot-vscode-plugin"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/godotengine/godot-vscode-plugin/issues"
|
||||
},
|
||||
"license": "MIT",
|
||||
"author": "The Godot Engine community",
|
||||
"publisher": "geequlim",
|
||||
"engines": {
|
||||
"vscode": "^1.33.0"
|
||||
"vscode": "^1.96.0"
|
||||
},
|
||||
"categories": [
|
||||
"Programming Languages",
|
||||
"Linters",
|
||||
"Snippets",
|
||||
"Debuggers",
|
||||
"Formatters",
|
||||
"Other"
|
||||
],
|
||||
"activationEvents": [
|
||||
"workspaceContains:project.godot",
|
||||
"onLanguage:gdscript"
|
||||
"onDebugResolve:godot"
|
||||
],
|
||||
"main": "./out/extension.js",
|
||||
"scripts": {
|
||||
"vscode:prepublish": "yarn run compile",
|
||||
"format": "biome format --write --changed src",
|
||||
"compile": "tsc -p ./",
|
||||
"lint": "biome lint src",
|
||||
"watch": "tsc -watch -p ./",
|
||||
"postinstall": "node ./node_modules/vscode/bin/install",
|
||||
"test": "yarn run compile && node ./node_modules/vscode/bin/test"
|
||||
"package": "vsce package",
|
||||
"vscode:prepublish": "npm run esbuild-base -- --minify",
|
||||
"esbuild-base": "esbuild ./src/extension.ts --bundle --outfile=out/extension.js --external:vscode --format=cjs --platform=node",
|
||||
"esbuild": "npm run esbuild-base -- --sourcemap",
|
||||
"esbuild-watch": "npm run esbuild-base -- --sourcemap --watch",
|
||||
"generate-icons": "ts-node tools/generate_icons.ts",
|
||||
"test": "vscode-test"
|
||||
},
|
||||
"contributes": {
|
||||
"customEditors": [
|
||||
{
|
||||
"viewType": "gddoc",
|
||||
"displayName": "Godot Documentation",
|
||||
"selector": [
|
||||
{
|
||||
"filenamePattern": "*.gddoc"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"commands": [
|
||||
{
|
||||
"command": "godot-tool.open_editor",
|
||||
"title": "Godot Tools: Open workspace with Godot editor"
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.openEditor",
|
||||
"title": "Open workspace with Godot editor"
|
||||
},
|
||||
{
|
||||
"command": "godot-tool.run_project",
|
||||
"title": "Godot Tools: Run workspace as Godot project"
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.openEditorSettings",
|
||||
"title": "Open EditorSettings File"
|
||||
},
|
||||
{
|
||||
"command": "godot-tool.list_native_classes",
|
||||
"title": "Godot Tools: List native classes of godot"
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.startLanguageServer",
|
||||
"title": "Start the GDScript Language Server for this workspace"
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.stopLanguageServer",
|
||||
"title": "Stop the GDScript Language Server for this workspace"
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.listGodotClasses",
|
||||
"title": "List Godot classes"
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.debugger.inspectNode",
|
||||
"title": "Inspect Remote Node",
|
||||
"icon": {
|
||||
"light": "resources/godot_icons/light/GuiVisibilityVisible.svg",
|
||||
"dark": "resources/godot_icons/dark/GuiVisibilityVisible.svg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.debugger.refreshSceneTree",
|
||||
"title": "Refresh",
|
||||
"icon": {
|
||||
"light": "resources/godot_icons/light/Reload.svg",
|
||||
"dark": "resources/godot_icons/dark/Reload.svg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.debugger.refreshInspector",
|
||||
"title": "Refresh",
|
||||
"icon": {
|
||||
"light": "resources/godot_icons/light/Reload.svg",
|
||||
"dark": "resources/godot_icons/dark/Reload.svg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.debugger.editValue",
|
||||
"title": "Edit value",
|
||||
"icon": {
|
||||
"light": "resources/godot_icons/light/Edit.svg",
|
||||
"dark": "resources/godot_icons/dark/Edit.svg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.debugger.debugCurrentFile",
|
||||
"title": "Debug Current File",
|
||||
"icon": {
|
||||
"light": "resources/godot_icons/light/PlayScene.svg",
|
||||
"dark": "resources/godot_icons/dark/PlayScene.svg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.debugger.debugPinnedFile",
|
||||
"title": "Debug Pinned File",
|
||||
"icon": {
|
||||
"light": "resources/godot_icons/light/Play.svg",
|
||||
"dark": "resources/godot_icons/dark/Play.svg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.debugger.pinFile",
|
||||
"title": "Pin Scene File",
|
||||
"icon": "resources/pin_off.svg"
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.debugger.unpinFile",
|
||||
"title": "Unpin Scene File",
|
||||
"icon": "resources/pin_on.svg"
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.debugger.openPinnedFile",
|
||||
"title": "Open the currently pinned scene"
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.scenePreview.refresh",
|
||||
"title": "Refresh Scene Preview",
|
||||
"icon": {
|
||||
"light": "resources/godot_icons/light/Reload.svg",
|
||||
"dark": "resources/godot_icons/dark/Reload.svg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.scenePreview.openCurrentScene",
|
||||
"title": "Open the Scene Preview's current scene",
|
||||
"icon": {
|
||||
"light": "resources/godot_icons/light/PackedScene.svg",
|
||||
"dark": "resources/godot_icons/dark/PackedScene.svg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.scenePreview.openMainScript",
|
||||
"title": "Open the main script of the Scene Preview's current scene",
|
||||
"icon": {
|
||||
"light": "resources/godot_icons/light/Script.svg",
|
||||
"dark": "resources/godot_icons/dark/Script.svg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.scenePreview.lock",
|
||||
"title": "Lock Scene Preview",
|
||||
"icon": {
|
||||
"light": "resources/godot_icons/light/Unlock.svg",
|
||||
"dark": "resources/godot_icons/dark/Unlock.svg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.scenePreview.unlock",
|
||||
"title": "Unlock Scene Preview",
|
||||
"icon": {
|
||||
"light": "resources/godot_icons/light/Lock.svg",
|
||||
"dark": "resources/godot_icons/dark/Lock.svg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.scenePreview.goToDefinition",
|
||||
"title": "Go to Definition"
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.scenePreview.openDocumentation",
|
||||
"title": "Open Documentation"
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.scenePreview.copyNodePath",
|
||||
"title": "Copy Node Path"
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.scenePreview.copyResourcePath",
|
||||
"title": "Copy Resource Path"
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.scenePreview.openScene",
|
||||
"title": "Open Scene",
|
||||
"icon": {
|
||||
"light": "resources/InstanceOptions.svg",
|
||||
"dark": "resources/InstanceOptions.svg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.scenePreview.openScript",
|
||||
"title": "Open Script",
|
||||
"icon": {
|
||||
"light": "resources/godot_icons/light/Script.svg",
|
||||
"dark": "resources/godot_icons/dark/Script.svg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.switchSceneScript",
|
||||
"title": "Switch Scene/Script"
|
||||
},
|
||||
{
|
||||
"category": "Godot Tools",
|
||||
"command": "godotTools.copyResourcePath",
|
||||
"title": "Copy Resource Path"
|
||||
}
|
||||
],
|
||||
"keybindings": [
|
||||
{
|
||||
"command": "godotTools.switchSceneScript",
|
||||
"key": "alt+o",
|
||||
"when": "editorLangId in godotTools.context.godotFiles && editorTextFocus"
|
||||
}
|
||||
],
|
||||
"configuration": {
|
||||
"type": "object",
|
||||
"title": "Godot Tools configuration",
|
||||
"title": "Godot Tools",
|
||||
"properties": {
|
||||
"godot_tools.gdscript_lsp_server_port": {
|
||||
"godotTools.documentation.pageScale": {
|
||||
"type": "integer",
|
||||
"default": 100,
|
||||
"minimum": 50,
|
||||
"maximum": 200,
|
||||
"description": "Scale factor (%) to apply to the Godot documentation viewer."
|
||||
},
|
||||
"godotTools.documentation.displayMinimap": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Whether to display the minimap for the Godot documentation viewer."
|
||||
},
|
||||
"godotTools.editorPath.godot3": {
|
||||
"type": "string",
|
||||
"default": "godot3",
|
||||
"description": "Path to the Godot 3 editor executable. Supports environment variables using '${env:VAR_NAME}'."
|
||||
},
|
||||
"godotTools.editorPath.godot4": {
|
||||
"type": "string",
|
||||
"default": "godot",
|
||||
"description": "Path to the Godot 4 editor executable. Supports environment variables using '${env:VAR_NAME}'."
|
||||
},
|
||||
"godotTools.editor.verbose": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Whether to launch the Godot Editor with the --verbose flag"
|
||||
},
|
||||
"godotTools.editor.revealTerminal": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Whether to reveal the terminal when launching the Godot Editor"
|
||||
},
|
||||
"godotTools.formatter.maxEmptyLines": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"1",
|
||||
"2"
|
||||
],
|
||||
"enumDescriptions": [
|
||||
"1 empty line. A more compact style.",
|
||||
"2 empty lines. Conforms to the official GDScript style guide."
|
||||
],
|
||||
"default": "2",
|
||||
"description": "Number of empty lines allowed anywhere in the file"
|
||||
},
|
||||
"godotTools.formatter.denseFunctionParameters": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Whether extra space should be removed from function parameter lists"
|
||||
},
|
||||
"godotTools.formatter.spacesBeforeEndOfLineComment": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"1",
|
||||
"2"
|
||||
],
|
||||
"enumDescriptions": [
|
||||
"1 space before EOL comments # Like this.",
|
||||
"2 spaces before EOL comments # Like this."
|
||||
],
|
||||
"default": "1",
|
||||
"description": "Number of spaces before an end-of-line comment"
|
||||
},
|
||||
"godotTools.lsp.serverHost": {
|
||||
"type": "string",
|
||||
"default": "127.0.0.1",
|
||||
"description": "The server host of the GDScript language server"
|
||||
},
|
||||
"godotTools.lsp.serverPort": {
|
||||
"type": "number",
|
||||
"default": 6008,
|
||||
"description": "The websocket server port of the GDScript language server"
|
||||
"minimum": 0,
|
||||
"maximum": 65535,
|
||||
"description": "The server port of the GDScript language server"
|
||||
},
|
||||
"godot_tools.editor_path": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "The absolute path to the Godot editor executable"
|
||||
"godotTools.lsp.headless": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Whether to launch the LSP as a headless child process"
|
||||
},
|
||||
"godot-tool.check_status": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "Check the gdscript language server connection status"
|
||||
"godotTools.lsp.autoReconnect.enabled": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Whether the plugin should attempt to reconnect to the GDScript language server"
|
||||
},
|
||||
"godotTools.lsp.autoReconnect.cooldown": {
|
||||
"type": "number",
|
||||
"default": 3000,
|
||||
"description": "The number of milliseconds to wait before attempting to reconnect"
|
||||
},
|
||||
"godotTools.lsp.autoReconnect.attempts": {
|
||||
"type": "number",
|
||||
"default": 10,
|
||||
"description": "How many times the client will attempt to reconnect"
|
||||
},
|
||||
"godotTools.scenePreview.previewRelatedScenes": {
|
||||
"enum": [
|
||||
"anyFolder",
|
||||
"sameFolder",
|
||||
"off"
|
||||
],
|
||||
"enumDescriptions": [
|
||||
"Attempt to preview a related scene from anywhere in the workspace.",
|
||||
"Attempt to preview a related scene from the same folder.",
|
||||
"Do not attempt to preview a related scene."
|
||||
],
|
||||
"default": "sameFolder",
|
||||
"description": "Controls where the Scene Preview will search for related scenes when viewing a script file."
|
||||
},
|
||||
"godotTools.inlayHints.gdscript": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Whether to enable inlay hints in GDScript files (experimental)"
|
||||
},
|
||||
"godotTools.inlayHints.gdresource": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Whether to enable inlay hints in GDResource (.tscn, .tres, etc) files"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -71,25 +388,75 @@
|
||||
"extensions": [
|
||||
".gd"
|
||||
],
|
||||
"configuration": "./configurations/gdscript-configuration.json"
|
||||
"configuration": "./configurations/gdscript.language-configuration.json"
|
||||
},
|
||||
{
|
||||
"id": "properties",
|
||||
"id": "gdscene",
|
||||
"aliases": [
|
||||
"GDScene",
|
||||
"gdscene"
|
||||
],
|
||||
"extensions": [
|
||||
"cfg",
|
||||
"tres",
|
||||
"tscn",
|
||||
"godot",
|
||||
"gdns",
|
||||
"gdnlib"
|
||||
]
|
||||
".tscn"
|
||||
],
|
||||
"configuration": "./configurations/gdresource.language-configuration.json"
|
||||
},
|
||||
{
|
||||
"id": "gdresource",
|
||||
"aliases": [
|
||||
"GDResource",
|
||||
"gdresource"
|
||||
],
|
||||
"extensions": [
|
||||
".godot",
|
||||
".tres",
|
||||
".import",
|
||||
".gdns",
|
||||
".gdnlib"
|
||||
],
|
||||
"configuration": "./configurations/gdresource.language-configuration.json"
|
||||
},
|
||||
{
|
||||
"id": "gdshader",
|
||||
"aliases": [
|
||||
"gdshader"
|
||||
],
|
||||
"extensions": [
|
||||
".gdshader",
|
||||
".gdshaderinc"
|
||||
],
|
||||
"configuration": "./configurations/gdshader.language-configuration.json"
|
||||
}
|
||||
],
|
||||
"grammars": [
|
||||
{
|
||||
"language": "gdscript",
|
||||
"scopeName": "source.gdscript",
|
||||
"path": "./configurations/GDScript.tmLanguage.json"
|
||||
"path": "./syntaxes/GDScript.tmLanguage.json"
|
||||
},
|
||||
{
|
||||
"language": "gdresource",
|
||||
"scopeName": "source.gdresource",
|
||||
"path": "./syntaxes/GDResource.tmLanguage.json"
|
||||
},
|
||||
{
|
||||
"language": "gdscene",
|
||||
"scopeName": "source.gdresource",
|
||||
"path": "./syntaxes/GDResource.tmLanguage.json"
|
||||
},
|
||||
{
|
||||
"language": "gdshader",
|
||||
"scopeName": "source.gdshader",
|
||||
"path": "./syntaxes/GDShader.tmLanguage.json"
|
||||
}
|
||||
],
|
||||
"semanticTokenScopes": [
|
||||
{
|
||||
"scopes": {
|
||||
"nodePath": [
|
||||
"constant.character.escape"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"snippets": [
|
||||
@@ -97,22 +464,477 @@
|
||||
"language": "gdscript",
|
||||
"path": "./configurations/snippets.json"
|
||||
}
|
||||
]
|
||||
],
|
||||
"debuggers": [
|
||||
{
|
||||
"type": "godot",
|
||||
"label": "GDScript Godot Debug",
|
||||
"runtime": "node",
|
||||
"configurationAttributes": {
|
||||
"launch": {
|
||||
"required": [],
|
||||
"properties": {
|
||||
"project": {
|
||||
"type": "string",
|
||||
"description": "Absolute path to a directory with a project.godot file.",
|
||||
"default": "${workspaceFolder}"
|
||||
},
|
||||
"address": {
|
||||
"type": "string",
|
||||
"description": "The IP address for the Godot remote debugger to use.",
|
||||
"default": "127.0.0.1"
|
||||
},
|
||||
"port": {
|
||||
"type": "number",
|
||||
"description": "The port number for the Godot remote debugger to use.",
|
||||
"default": 6007
|
||||
},
|
||||
"scene": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"main",
|
||||
"current",
|
||||
"pinned"
|
||||
],
|
||||
"enumDescriptions": [
|
||||
"Launch the 'main_scene' specified in project.godot",
|
||||
"Launch the scene (or related scene) in the current editor",
|
||||
"Launch the pinned scene"
|
||||
],
|
||||
"description": "Scene file to run when debugging. Choices are 'main', 'current', 'pinned', or providing a custom path to a scene.",
|
||||
"default": ""
|
||||
},
|
||||
"editor_path": {
|
||||
"type": "string",
|
||||
"description": "Absolute path to the Godot executable to be used for this debug profile.",
|
||||
"default": false
|
||||
},
|
||||
"profiling": {
|
||||
"type": "boolean",
|
||||
"description": "Enable profiling in the script debugger.",
|
||||
"default": false
|
||||
},
|
||||
"single_threaded_scene": {
|
||||
"type": "boolean",
|
||||
"description": "Scene tree runs in single-threaded mode. Sub-thread groups are disabled and run on the main thread. (Godot 4 only)",
|
||||
"default": false
|
||||
},
|
||||
"debug_collisions": {
|
||||
"type": "boolean",
|
||||
"description": "Show collision shapes when running the scene.",
|
||||
"default": false
|
||||
},
|
||||
"debug_paths": {
|
||||
"type": "boolean",
|
||||
"description": "Show navigation polygons when running the scene. (Godot 4 only)",
|
||||
"default": false
|
||||
},
|
||||
"debug_navigation": {
|
||||
"type": "boolean",
|
||||
"description": "Show navigation polygons when running the scene.",
|
||||
"default": false
|
||||
},
|
||||
"debug_avoidance": {
|
||||
"type": "boolean",
|
||||
"description": "Show navigation avoidance debug visuals when running the scene. (Godot 4 only)",
|
||||
"default": false
|
||||
},
|
||||
"debug_stringnames": {
|
||||
"type": "boolean",
|
||||
"description": "Print all StringName allocations to stdout when the engine quits. (Godot 4 only)",
|
||||
"default": false
|
||||
},
|
||||
"frame_delay": {
|
||||
"type": "number",
|
||||
"description": "Simulate high CPU load (delay each frame by <ms> milliseconds)."
|
||||
},
|
||||
"time_scale": {
|
||||
"type": "number",
|
||||
"description": "Force time scale (higher values are faster, 1.0 is normal speed)."
|
||||
},
|
||||
"disable_vsync": {
|
||||
"type": "boolean",
|
||||
"description": "Forces disabling of vertical synchronization, even if enabled in the project settings. Does not override driver-level V-Sync enforcement. (Godot 4 only)",
|
||||
"default": false
|
||||
},
|
||||
"fixed_fps": {
|
||||
"type": "number",
|
||||
"description": "Force a fixed number of frames per second. This setting disables real-time synchronization."
|
||||
},
|
||||
"additional_options": {
|
||||
"type": "string",
|
||||
"description": "Additional command line arguments.",
|
||||
"default": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"attach": {
|
||||
"required": [],
|
||||
"properties": {
|
||||
"address": {
|
||||
"type": "string",
|
||||
"description": "The IP address for the Godot remote debugger to use.",
|
||||
"default": "127.0.0.1"
|
||||
},
|
||||
"port": {
|
||||
"type": "number",
|
||||
"description": "The port number for the Godot remote debugger to use.",
|
||||
"default": 6007
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"initialConfigurations": [
|
||||
{
|
||||
"name": "GDScript: Launch Project",
|
||||
"type": "godot",
|
||||
"request": "launch",
|
||||
"project": "${workspaceFolder}",
|
||||
"debug_collisions": false,
|
||||
"debug_paths": false,
|
||||
"debug_navigation": false,
|
||||
"additional_options": ""
|
||||
}
|
||||
],
|
||||
"configurationSnippets": [
|
||||
{
|
||||
"label": "GDScript: Launch Project",
|
||||
"description": "A config to launch the current project.",
|
||||
"body": {
|
||||
"name": "GDScript: Launch Project",
|
||||
"type": "godot",
|
||||
"request": "launch",
|
||||
"project": "${workspaceFolder}",
|
||||
"debug_collisions": false,
|
||||
"debug_paths": false,
|
||||
"debug_navigation": false,
|
||||
"additional_options": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "GDScript: Launch Current File",
|
||||
"description": "A config to launch the currently open scene.",
|
||||
"body": {
|
||||
"name": "GDScript: Launch Current File",
|
||||
"type": "godot",
|
||||
"request": "launch",
|
||||
"scene": "current",
|
||||
"project": "${workspaceFolder}",
|
||||
"additional_options": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "GDScript: Launch Pinned File",
|
||||
"description": "A config to launch the currently pinned scene.",
|
||||
"body": {
|
||||
"name": "GDScript: Launch Pinned File",
|
||||
"type": "godot",
|
||||
"request": "launch",
|
||||
"scene": "pinned",
|
||||
"project": "${workspaceFolder}",
|
||||
"additional_options": ""
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"breakpoints": [
|
||||
{
|
||||
"language": "gdscript"
|
||||
}
|
||||
],
|
||||
"viewsContainers": {
|
||||
"activitybar": [
|
||||
{
|
||||
"id": "godotTools",
|
||||
"title": "Godot Tools",
|
||||
"icon": "resources/godot_icon.svg"
|
||||
}
|
||||
]
|
||||
},
|
||||
"views": {
|
||||
"debug": [
|
||||
{
|
||||
"id": "godotTools.activeSceneTree",
|
||||
"name": "Active Scene Tree",
|
||||
"icon": "resources/godot_icon.svg"
|
||||
},
|
||||
{
|
||||
"id": "godotTools.nodeInspector",
|
||||
"name": "Inspector",
|
||||
"icon": "resources/godot_icon.svg"
|
||||
}
|
||||
],
|
||||
"godotTools": [
|
||||
{
|
||||
"id": "godotTools.scenePreview",
|
||||
"name": "Scene Preview",
|
||||
"icon": "resources/godot_icon.svg"
|
||||
}
|
||||
]
|
||||
},
|
||||
"viewsWelcome": [
|
||||
{
|
||||
"view": "godotTools.activeSceneTree",
|
||||
"contents": "Scene Tree data has not been requested"
|
||||
},
|
||||
{
|
||||
"view": "godotTools.nodeInspector",
|
||||
"contents": "Node has not been inspected"
|
||||
},
|
||||
{
|
||||
"view": "godotTools.scenePreview",
|
||||
"contents": "Open a Scene to see a preview of its structure"
|
||||
}
|
||||
],
|
||||
"menus": {
|
||||
"commandPalette": [
|
||||
{
|
||||
"command": "godotTools.listGodotClasses",
|
||||
"when": "godotTools.context.connectedToLSP"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.scenePreview.goToDefinition",
|
||||
"when": "false"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.scenePreview.openDocumentation",
|
||||
"when": "false"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.scenePreview.copyNodePath",
|
||||
"when": "false"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.scenePreview.copyResourcePath",
|
||||
"when": "false"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.scenePreview.openScript",
|
||||
"when": "false"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.scenePreview.openScene",
|
||||
"when": "false"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.debugger.editValue",
|
||||
"when": "false"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.debugger.inspectNode",
|
||||
"when": "false"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.debugger.refreshSceneTree",
|
||||
"when": "false"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.debugger.refreshInspector",
|
||||
"when": "false"
|
||||
}
|
||||
],
|
||||
"view/title": [
|
||||
{
|
||||
"command": "godotTools.debugger.refreshSceneTree",
|
||||
"when": "view == godotTools.activeSceneTree",
|
||||
"group": "navigation"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.debugger.refreshInspector",
|
||||
"when": "view == godotTools.nodeInspector",
|
||||
"group": "navigation"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.scenePreview.lock",
|
||||
"when": "view == godotTools.scenePreview && !godotTools.context.scenePreview.locked",
|
||||
"group": "navigation@1"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.scenePreview.unlock",
|
||||
"when": "view == godotTools.scenePreview && godotTools.context.scenePreview.locked",
|
||||
"group": "navigation@1"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.scenePreview.refresh",
|
||||
"when": "view == godotTools.scenePreview",
|
||||
"group": "navigation@2"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.scenePreview.openMainScript",
|
||||
"when": "view == godotTools.scenePreview",
|
||||
"group": "navigation@3"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.scenePreview.openCurrentScene",
|
||||
"when": "view == godotTools.scenePreview",
|
||||
"group": "navigation@4"
|
||||
}
|
||||
],
|
||||
"view/item/context": [
|
||||
{
|
||||
"command": "godotTools.debugger.inspectNode",
|
||||
"when": "view == godotTools.activeSceneTree",
|
||||
"group": "inline"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.debugger.inspectNode",
|
||||
"when": "view == godotTools.nodeInspector && viewItem == remote_object",
|
||||
"group": "inline"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.debugger.editValue",
|
||||
"when": "view == godotTools.nodeInspector && viewItem == editable_value",
|
||||
"group": "inline"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.scenePreview.goToDefinition",
|
||||
"when": "view == godotTools.scenePreview",
|
||||
"group": "1@1"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.scenePreview.openDocumentation",
|
||||
"when": "view == godotTools.scenePreview",
|
||||
"group": "1@1"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.scenePreview.copyNodePath",
|
||||
"when": "view == godotTools.scenePreview"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.scenePreview.copyResourcePath",
|
||||
"when": "view == godotTools.scenePreview && viewItem =~ /hasResourcePath/"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.scenePreview.openScene",
|
||||
"when": "view == godotTools.scenePreview && viewItem =~ /openable/",
|
||||
"group": "1@2"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.scenePreview.openScript",
|
||||
"when": "view == godotTools.scenePreview && viewItem =~ /hasScript/",
|
||||
"group": "1@2"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.scenePreview.openScene",
|
||||
"when": "view == godotTools.scenePreview && viewItem =~ /openable/",
|
||||
"group": "inline"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.scenePreview.openScript",
|
||||
"when": "view == godotTools.scenePreview && viewItem =~ /hasScript/",
|
||||
"group": "inline"
|
||||
}
|
||||
],
|
||||
"explorer/context": [
|
||||
{
|
||||
"command": "godotTools.debugger.pinFile",
|
||||
"group": "2_workspace",
|
||||
"when": "resourceLangId in godotTools.context.sceneLikeFiles && !(resourcePath in godotTools.context.pinnedScene)"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.debugger.unpinFile",
|
||||
"group": "2_workspace",
|
||||
"when": "resourceLangId in godotTools.context.sceneLikeFiles && (resourcePath in godotTools.context.pinnedScene)"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.copyResourcePath",
|
||||
"group": "6_copypath"
|
||||
}
|
||||
],
|
||||
"editor/title/run": [
|
||||
{
|
||||
"command": "godotTools.debugger.debugCurrentFile",
|
||||
"group": "navigation@10",
|
||||
"when": "editorLangId in godotTools.context.sceneLikeFiles && !isInDiffEditor && !virtualWorkspace"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.debugger.debugPinnedFile",
|
||||
"group": "navigation@10",
|
||||
"when": "editorLangId in godotTools.context.sceneLikeFiles && !isInDiffEditor && !virtualWorkspace"
|
||||
}
|
||||
],
|
||||
"editor/title": [
|
||||
{
|
||||
"command": "godotTools.debugger.pinFile",
|
||||
"group": "navigation@11",
|
||||
"when": "editorLangId in godotTools.context.sceneLikeFiles && !isInDiffEditor && !virtualWorkspace && !(resourcePath in godotTools.context.pinnedScene)"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.debugger.unpinFile",
|
||||
"group": "navigation@11",
|
||||
"when": "editorLangId in godotTools.context.sceneLikeFiles && !isInDiffEditor && !virtualWorkspace && (resourcePath in godotTools.context.pinnedScene)"
|
||||
}
|
||||
],
|
||||
"editor/title/context": [
|
||||
{
|
||||
"command": "godotTools.copyResourcePath",
|
||||
"group": "1_godot"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.debugger.pinFile",
|
||||
"group": "1_godot",
|
||||
"when": "resourceLangId in godotTools.context.sceneLikeFiles && !(resourcePath in godotTools.context.pinnedScene)"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.debugger.unpinFile",
|
||||
"group": "1_godot",
|
||||
"when": "resourceLangId in godotTools.context.sceneLikeFiles && (resourcePath in godotTools.context.pinnedScene)"
|
||||
}
|
||||
],
|
||||
"editor/context": [
|
||||
{
|
||||
"command": "godotTools.switchSceneScript",
|
||||
"when": "editorLangId in godotTools.context.godotFiles",
|
||||
"group": "custom1@1"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/marked": "^0.6.5",
|
||||
"@types/mocha": "^2.2.42",
|
||||
"@types/node": "^10.12.21",
|
||||
"@types/prismjs": "^1.16.0",
|
||||
"@types/ws": "^6.0.1",
|
||||
"tslint": "^5.16.0",
|
||||
"typescript": "^3.4.5",
|
||||
"vscode": "^1.1.33"
|
||||
"@biomejs/biome": "^1.9.4",
|
||||
"@types/chai": "^4.3.11",
|
||||
"@types/chai-as-promised": "^8.0.1",
|
||||
"@types/chai-subset": "^1.3.5",
|
||||
"@types/marked": "^4.0.8",
|
||||
"@types/mocha": "^10.0.6",
|
||||
"@types/node": "^18.19.75",
|
||||
"@types/prismjs": "^1.16.8",
|
||||
"@types/sinon": "^17.0.4",
|
||||
"@types/vscode": "^1.96.0",
|
||||
"@types/ws": "^8.5.4",
|
||||
"@typescript-eslint/eslint-plugin": "^5.57.1",
|
||||
"@typescript-eslint/eslint-plugin-tslint": "^5.57.1",
|
||||
"@typescript-eslint/parser": "^5.57.1",
|
||||
"@vscode/test-cli": "^0.0.10",
|
||||
"@vscode/test-electron": "^2.3.8",
|
||||
"@vscode/vsce": "^2.29.0",
|
||||
"chai": "^4.5.0",
|
||||
"chai-as-promised": "^8.0.1",
|
||||
"chai-subset": "^1.6.0",
|
||||
"esbuild": "^0.25.0",
|
||||
"eslint": "^8.37.0",
|
||||
"mocha": "^10.8.2",
|
||||
"sinon": "^19.0.2",
|
||||
"ts-node": "^10.9.1",
|
||||
"tsconfig-paths": "^4.2.0",
|
||||
"tslint": "^5.20.1",
|
||||
"typescript": "^5.2.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@vscode/debugadapter": "^1.68.0",
|
||||
"@vscode/debugprotocol": "^1.68.0",
|
||||
"await-notify": "^1.0.1",
|
||||
"bbcode-to-ansi": "^1.0.0",
|
||||
"global": "^4.4.0",
|
||||
"marked": "^0.7.0",
|
||||
"vscode-languageclient": "^5.2.1",
|
||||
"ws": "^7.0.0"
|
||||
"marked": "^4.0.11",
|
||||
"net": "^1.0.2",
|
||||
"prismjs": "^1.30.0",
|
||||
"terminate": "^2.5.0",
|
||||
"vscode-languageclient": "^9.0.1",
|
||||
"vscode-oniguruma": "^2.0.1",
|
||||
"vscode-textmate": "^9.0.0",
|
||||
"ws": "^8.17.1",
|
||||
"ya-bbcode": "^4.0.0"
|
||||
}
|
||||
}
|
||||
|
||||
1
resources/InstanceOptions.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill="#e0e0e0" transform="translate(0 -1036.4)"><path d="m1 7v6c0 1.1046.89543 2 2 2h12v-8zm4 2h6l-3 4z" transform="translate(0 1036.4)"/><path d="m.71129 1040.4.28871 1.9791 2.2438-.3273-.81826-1.9018-1.7143.25zm3.6933-.5387.81826 1.9018 1.9791-.2887-.81826-1.9018zm3.9581-.5775.81826 1.9018 1.9791-.2887-.81826-1.9018zm3.9581-.5774.81826 1.9018 1.7143-.25-.28871-1.9791-2.2438.3273z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 484 B |
121
resources/godot_icon.svg
Normal file
@@ -0,0 +1,121 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="1024"
|
||||
height="1024"
|
||||
id="svg3030"
|
||||
version="1.1"
|
||||
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||
sodipodi:docname="godot_icon.svg"
|
||||
inkscape:export-filename="/home/akien/Projects/godot/godot.git/icon.png"
|
||||
inkscape:export-xdpi="24"
|
||||
inkscape:export-ydpi="24"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<defs
|
||||
id="defs3032" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.8359375"
|
||||
inkscape:cx="511.40187"
|
||||
inkscape:cy="416.29907"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="g82-3"
|
||||
showgrid="false"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1377"
|
||||
inkscape:window-x="1912"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:document-rotation="0"
|
||||
inkscape:pagecheckerboard="0" />
|
||||
<metadata
|
||||
id="metadata3035">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-98.519719)"
|
||||
style="display:inline">
|
||||
<g
|
||||
id="g78"
|
||||
transform="matrix(4.162611,0,0,-4.162611,919.24059,771.67186)"
|
||||
style="display:none;stroke-width:0.320312">
|
||||
<path
|
||||
d="m 0,0 c 0,0 -0.325,1.994 -0.515,1.976 l -36.182,-3.491 c -2.879,-0.278 -5.115,-2.574 -5.317,-5.459 l -0.994,-14.247 -27.992,-1.997 -1.904,12.912 c -0.424,2.872 -2.932,5.037 -5.835,5.037 h -38.188 c -2.902,0 -5.41,-2.165 -5.834,-5.037 l -1.905,-12.912 -27.992,1.997 -0.994,14.247 c -0.202,2.886 -2.438,5.182 -5.317,5.46 l -36.2,3.49 c -0.187,0.018 -0.324,-1.978 -0.511,-1.978 l -0.049,-7.83 30.658,-4.944 1.004,-14.374 c 0.203,-2.91 2.551,-5.263 5.463,-5.472 l 38.551,-2.75 c 0.146,-0.01 0.29,-0.016 0.434,-0.016 2.897,0 5.401,2.166 5.825,5.038 l 1.959,13.286 h 28.005 l 1.959,-13.286 c 0.423,-2.871 2.93,-5.037 5.831,-5.037 0.142,0 0.284,0.005 0.423,0.015 l 38.556,2.75 c 2.911,0.209 5.26,2.562 5.463,5.472 l 1.003,14.374 30.645,4.966 z"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.320312"
|
||||
id="path80"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
id="g82-3"
|
||||
transform="matrix(4.162611,0,0,-4.162611,104.69892,525.90697)"
|
||||
style="display:inline;stroke-width:0.320312">
|
||||
<path
|
||||
id="path84-6"
|
||||
style="fill:#478cbf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33333"
|
||||
d="m 417.61523,76.875 c -42.39201,9.424151 -84.32671,22.544942 -123.64257,42.33398 0.89912,34.71618 3.14362,67.97967 7.69336,101.76758 -15.26846,9.78214 -31.31507,18.17757 -45.57618,29.62891 -14.49005,11.14747 -29.2896,21.81231 -42.41015,34.84961 C 187.46773,268.1178 159.72502,251.82518 131.14453,237.44336 100.33705,270.59856 71.53124,306.38344 48,346.42773 c 18.493057,29.02877 38.32949,58.20569 56.69922,80.95899 v 197.7832 25.1211 22.86132 c 0.44956,0.004 0.89835,0.0209 1.34375,0.0625 l 150.66992,14.52735 c 7.89231,0.76176 14.07749,7.11449 14.62695,15.02343 l 4.64649,66.50977 131.42969,9.37891 9.05468,-61.38672 c 1.17386,-7.95891 8.00029,-13.85742 16.05078,-13.85742 h 158.96094 c 8.04633,0 14.87302,5.89851 16.04688,13.85742 l 9.05468,61.38672 131.4336,-9.37891 4.64258,-66.50977 c 0.55362,-7.90894 6.73464,-14.25751 14.62695,-15.02343 l 150.61133,-14.52735 c 0.4454,-0.0416 0.89028,-0.0583 1.33984,-0.0625 v -19.61132 l 0.0625,-0.0195 v -226.1348 c 21.2165,-26.70928 41.30684,-56.1715 56.69922,-80.95899 -23.52291,-40.04429 -52.34486,-75.82917 -83.15234,-108.98437 -28.57217,14.38182 -56.32515,30.67444 -82.53711,48.01172 -13.11639,-13.0373 -27.88953,-23.70214 -42.40039,-34.84961 -14.25695,-11.45134 -30.32318,-19.84677 -45.5625,-29.62891 4.53724,-33.78791 6.7803,-67.0514 7.68359,-101.76758 C 690.71123,99.419942 648.78198,86.299151 606.36914,76.875 c -16.9335,28.45977 -32.41939,59.27922 -45.90625,89.4082 -15.99275,-2.67239 -32.05995,-3.66203 -48.14844,-3.85351 v -0.0254 c -0.11239,0 -0.21676,0.0254 -0.3125,0.0254 -0.0999,0 -0.20478,-0.0254 -0.30468,-0.0254 v 0.0254 c -16.11763,0.19148 -32.17106,1.18112 -48.16797,3.85351 C 450.05076,136.15422 434.57371,105.33477 417.61523,76.875 Z M 298.41602,436.39844 c 50.15111,0 90.79882,40.61746 90.79882,90.75195 0,50.16779 -40.64771,90.80859 -90.79882,90.80859 -50.12617,0 -90.78711,-40.6408 -90.78711,-90.80859 0,-50.13449 40.66094,-90.75195 90.78711,-90.75195 z m 427.17773,0 c 50.122,0 90.7793,40.61746 90.7793,90.75195 0,50.16779 -40.6573,90.80859 -90.7793,90.80859 -50.15946,0 -90.80664,-40.6408 -90.80664,-90.80859 0,-50.13449 40.64718,-90.75195 90.80664,-90.75195 z m -213.59961,53.10937 c 16.14261,0 29.25391,11.90816 29.25391,26.56055 v 83.58984 c 0,14.66488 -13.1113,26.5625 -29.25391,26.5625 -16.1426,0 -29.22656,-11.89762 -29.22656,-26.5625 v -83.58984 c 0,-14.65239 13.08396,-26.56055 29.22656,-26.56055 z"
|
||||
transform="matrix(0.24023383,0,0,-0.24023383,-25.152223,102.67288)" />
|
||||
</g>
|
||||
<g
|
||||
id="g86-7"
|
||||
transform="matrix(4.162611,0,0,-4.162611,784.07144,817.24284)"
|
||||
style="display:inline;stroke-width:0.320312">
|
||||
<path
|
||||
d="m 0,0 -1.121,-16.063 c -0.135,-1.936 -1.675,-3.477 -3.611,-3.616 l -38.555,-2.751 c -0.094,-0.007 -0.188,-0.01 -0.281,-0.01 -1.916,0 -3.569,1.406 -3.852,3.33 l -2.211,14.994 H -81.09 l -2.211,-14.994 c -0.297,-2.018 -2.101,-3.469 -4.133,-3.32 l -38.555,2.751 c -1.936,0.139 -3.476,1.68 -3.611,3.616 L -130.721,0 -163.268,3.138 c 0.015,-3.498 0.06,-7.33 0.06,-8.093 0,-34.374 43.605,-50.896 97.781,-51.086 h 0.066 0.067 c 54.176,0.19 97.766,16.712 97.766,51.086 0,0.777 0.047,4.593 0.063,8.093 z"
|
||||
style="fill:#478cbf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.320312"
|
||||
id="path88-5"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
id="g90-3"
|
||||
transform="matrix(4.162611,0,0,-4.162611,389.21484,625.67104)"
|
||||
style="display:none;stroke-width:0.320312" />
|
||||
<g
|
||||
id="g94-6"
|
||||
transform="matrix(4.162611,0,0,-4.162611,367.36686,631.05679)"
|
||||
style="display:none;stroke-width:0.320312">
|
||||
<path
|
||||
d="m 0,0 c 0,-7.994 -6.479,-14.473 -14.479,-14.473 -7.996,0 -14.479,6.479 -14.479,14.473 0,7.994 6.483,14.479 14.479,14.479 C -6.479,14.479 0,7.994 0,0"
|
||||
style="fill:#414042;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.320312"
|
||||
id="path96-2"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
id="g98-9"
|
||||
transform="matrix(4.162611,0,0,-4.162611,511.99336,724.73954)"
|
||||
style="display:inline;stroke-width:0.320312" />
|
||||
<g
|
||||
id="g102-2"
|
||||
transform="matrix(4.162611,0,0,-4.162611,634.78706,625.67104)"
|
||||
style="display:none;stroke-width:0.320312" />
|
||||
<g
|
||||
id="g106-0"
|
||||
transform="matrix(4.162611,0,0,-4.162611,656.64056,631.05679)"
|
||||
style="display:none;stroke-width:0.320312">
|
||||
<path
|
||||
d="m 0,0 c 0,-7.994 6.477,-14.473 14.471,-14.473 8.002,0 14.479,6.479 14.479,14.473 0,7.994 -6.477,14.479 -14.479,14.479 C 6.477,14.479 0,7.994 0,0"
|
||||
style="fill:#414042;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.320312"
|
||||
id="path108-9"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.7 KiB |
1
resources/godot_icons/dark/ARVRAnchor.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m7 1v2h-2v2h2v3.2656l-2.5527-1.2773c-.15005-.075253-.31662-.11152-.48438-.10547-.36536.013648-.69415.2256-.85742.55273-.24709.49403-.046823 1.0948.44727 1.3418l4.4473 2.2227 4.4473-2.2227c.49409-.24697.69435-.84777.44726-1.3418-.24697-.49409-.84777-.69435-1.3418-.44727l-2.5527 1.2773v-3.2656h2v-2h-2v-2zm-3 11v1c0 .55228.44772 1 1 1-.55228 0-1 .44772-1 1v1h1v-1h1v1h1v-1c0-.55228-.44772-1-1-1 .55228 0 1-.44772 1-1v-1h-1v1h-1v-1zm5 0v4h1v-1h1v1h1v-1c-.000834-.17579-.047991-.34825-.13672-.5.088728-.15175.13588-.32421.13672-.5v-1c0-.55228-.44772-1-1-1h-1zm1 1h1v1h-1z" fill="#fc9c9c"/></svg>
|
||||
|
After Width: | Height: | Size: 685 B |
1
resources/godot_icons/dark/ARVRCamera.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m9.5 0a3 3 0 0 0 -2.9883 2.7773 3 3 0 0 0 -2.0117-.77734 3 3 0 0 0 -3 3 3 3 0 0 0 2 2.8242v2.1758c0 .554.44599 1 1 1h6c.55401 0 1-.446 1-1v-1l3 2v-6l-3 2v-1.7695a3 3 0 0 0 1-2.2305 3 3 0 0 0 -3-3zm-5.5 12v1c0 .55228.44772 1 1 1-.55228 0-1 .44772-1 1v1h1v-1h1v1h1v-1c0-.55228-.44772-1-1-1 .55228 0 1-.44772 1-1v-1h-1v1h-1v-1zm5 0v1 3h1v-1h1v1h1v-1c-.000834-.17579-.047991-.34825-.13672-.5.088728-.15175.13588-.32421.13672-.5v-1c0-.55228-.44772-1-1-1h-1zm1 1h1v1h-1z" fill="#fc9c9c"/></svg>
|
||||
|
After Width: | Height: | Size: 581 B |
1
resources/godot_icons/dark/ARVRController.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m2 1c-.554 0-1 .446-1 1v6c0 .554.446 1 1 1h12c.554 0 1-.446 1-1v-6c0-.554-.446-1-1-1zm2 1h2v2h2v2h-2v2h-2v-2h-2v-2h2zm9 1c.55228 0 1 .44772 1 1s-.44772 1-1 1-1-.44772-1-1 .44772-1 1-1zm-2 2c.55228 0 1 .44772 1 1s-.44772 1-1 1-1-.44772-1-1 .44772-1 1-1zm-7 7v1c0 .55228.44772 1 1 1-.55228 0-1 .44772-1 1v1h1v-1h1v1h1v-1c0-.55228-.44772-1-1-1 .55228 0 1-.44772 1-1v-1h-1v1h-1v-1zm5 0v1 3h1v-1h1v1h1v-1c-.000834-.17579-.047991-.34825-.13672-.5.088728-.15175.13588-.32421.13672-.5v-1c0-.55228-.44772-1-1-1h-1zm1 1h1v1h-1z" fill="#fc9c9c"/></svg>
|
||||
|
After Width: | Height: | Size: 634 B |
1
resources/godot_icons/dark/ARVROrigin.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m7 1v3h2v-3zm-4 4v2h3v-2zm5 0c-.55228 0-1 .44772-1 1s.44772 1 1 1 1-.44772 1-1-.44772-1-1-1zm2 0v2h3v-2zm-3 3v3h2v-3zm-3 4v1c0 .55228.44772 1 1 1-.55228 0-1 .44772-1 1v1h1v-1h1v1h1v-1c0-.55228-.44772-1-1-1 .55228 0 1-.44772 1-1v-1h-1v1h-1v-1zm5 0v1 3h1v-1h1v1h1v-1c-.000834-.17579-.047991-.34825-.13672-.5.088728-.15175.13588-.32421.13672-.5v-1c0-.55228-.44772-1-1-1h-1zm1 1h1v1h-1z" fill="#fc9c9c"/></svg>
|
||||
|
After Width: | Height: | Size: 499 B |
1
resources/godot_icons/dark/AcceptDialog.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#e0e0e0" d="M3 1a2 2 0 0 0-2 2v1h14V3a2 2 0 0 0-2-2zm9 1h1v1h-1zM1 5v8a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V5zm9.475 1.637 1.414 1.414L6.939 13l-2.828-2.828 1.414-1.414 1.415 1.414z"/></svg>
|
||||
|
After Width: | Height: | Size: 259 B |
1
resources/godot_icons/dark/AnimatableBody2D.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#a5b7f3" d="M11 4h2v2h-2zm0 7h2v2h-2zm-7 0h2v2H4z"/><g fill="none" stroke="#8da5f3" stroke-linecap="round"><path d="M2.5 8v5A1.5 1.5 0 0 0 4 14.5h9a1.5 1.5 0 0 0 1.5-1.5V4A1.5 1.5 0 0 0 13 2.5H8"/><path stroke-width="1.5" d="m2 2 6 6M7 1.75l2 2M1.75 7l2 2"/></g></svg>
|
||||
|
After Width: | Height: | Size: 343 B |
1
resources/godot_icons/dark/AnimatableBody3D.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fc9c9c" d="M11 4h2v2h-2zm0 7h2v2h-2zm-7 0h2v2H4z"/><g fill="none" stroke="#fc7f7f" stroke-linecap="round"><path d="M2.5 8v5A1.5 1.5 0 0 0 4 14.5h9a1.5 1.5 0 0 0 1.5-1.5V4A1.5 1.5 0 0 0 13 2.5H8"/><path stroke-width="1.5" d="m2 2 6 6M7 1.75l2 2M1.75 7l2 2"/></g></svg>
|
||||
|
After Width: | Height: | Size: 343 B |
1
resources/godot_icons/dark/AnimatedSprite.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill="#a5b7f3"><path d="m7 0c-1.108 0-2 .89199-2 2h7c1.108 0 2 .89199 2 2v6c1.108 0 2-.89199 2-2v-6c0-1.108-.89199-2-2-2z" fill-opacity=".39216"/><path d="m5 2c-1.108 0-2 .89199-2 2h7c1.108 0 2 .89199 2 2v7c1.108 0 2-.89199 2-2v-7c0-1.108-.89199-2-2-2z" fill-opacity=".58824"/><path d="m3 4c-1.108 0-2 .89199-2 2v7c0 1.108.89199 2 2 2h7c1.108 0 2-.89199 2-2v-7c0-1.108-.89199-2-2-2zm0 4c.554 0 1 .446 1 1v1c0 .554-.446 1-1 1s-1-.446-1-1v-1c0-.554.446-1 1-1zm7 0c.554 0 1 .446 1 1v1c0 .554-.446 1-1 1s-1-.446-1-1v-1c0-.554.446-1 1-1zm-6 4h5a2.5 2 0 0 1 -1.25 1.7324 2.5 2 0 0 1 -2.5 0 2.5 2 0 0 1 -1.25-1.7324z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 709 B |
1
resources/godot_icons/dark/AnimatedSprite2D.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><g fill="#a5b7f3"><path fill-opacity=".4" d="M7 0a2 2 0 0 0-2 2h7a2 2 0 0 1 2 2v6a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2z"/><path fill-opacity=".6" d="M5 2a2 2 0 0 0-2 2h7a2 2 0 0 1 2 2v7a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2z"/><path d="M3 4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h7a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zM2 9a1 1 0 0 1 2 0v1a1 1 0 0 1-2 0zm7 0a1 1 0 0 1 2 0v1a1 1 0 0 1-2 0zm0 3a2.5 2 0 0 1-5 0z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 455 B |
1
resources/godot_icons/dark/AnimatedSprite3D.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><g fill="#fc9c9c"><path fill-opacity=".4" d="M7 0a2 2 0 0 0-2 2h7a2 2 0 0 1 2 2v6a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2z"/><path fill-opacity=".6" d="M5 2a2 2 0 0 0-2 2h7a2 2 0 0 1 2 2v7a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2z"/><path d="M3 4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h7a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zM2 9a1 1 0 0 1 2 0v1a1 1 0 0 1-2 0zm7 0a1 1 0 0 1 2 0v1a1 1 0 0 1-2 0zm0 3a2.5 2 0 0 1-5 0z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 455 B |
1
resources/godot_icons/dark/AnimatedTexture.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#e0e0e0" d="M1 1v14h1v-2h2v2h8v-2h2v2h1V1h-1v2h-2V1H4v2H2V1zm1 4h2v2H2zm10 0h2v2h-2zM2 9h2v2H2zm10 0h2v2h-2z"/></svg>
|
||||
|
After Width: | Height: | Size: 192 B |
1
resources/godot_icons/dark/Animation.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#e0e0e0" d="M12 14a2 2 0 0 0 2 2h1v-2h-.5a.5.5 0 0 1-.5-.5V8a6 6 0 1 0-2 4.465zM8 3a1 1 0 0 1 0 2 1 1 0 0 1 0-2zm3.441 2a1 1 0 0 1 0 2 1 1 0 0 1 0-2zM4.488 5a1 1 0 0 1 0 2 1 1 0 0 1 0-2zm.024 4a1 1 0 0 1 0 2 1 1 0 0 1 0-2zm6.904 0a1 1 0 0 1 0 2 1 1 0 0 1 0-2zM8 11a1 1 0 0 1 0 2 1 1 0 0 1 0-2z"/></svg>
|
||||
|
After Width: | Height: | Size: 377 B |
1
resources/godot_icons/dark/AnimationLibrary.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#e0e0e0" d="M14.5 2a6 6 0 0 0 0 12v-1.01a1 1 0 0 1 0-2v-6a1 1 0 0 1 0-2zM11 5a1 1 0 0 1 0 2 1 1 0 0 1 0-2zm0 4a1 1 0 0 1 0 2 1 1 0 0 1 0-2zm0-7a6 6 0 0 0 0 12 6 6 0 0 1-2.95-3.133A1 1 0 1 1 7.53 9a6 6 0 0 1 0-2 1 1 0 1 1 .52-1.867A5.795 6.506 0 0 1 11 2zM7.5 2a6 6 0 0 0 0 12 6 6 0 0 1-2.95-3.133A1 1 0 1 1 4.03 9a6 6 0 0 1 0-2 1 1 0 1 1 .52-1.867A5.795 6.506 0 0 1 7.5 2z"/></svg>
|
||||
|
After Width: | Height: | Size: 456 B |
1
resources/godot_icons/dark/AnimationPlayer.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#cea4f1" d="M1 1v14h1v-2h2v2h8v-2h2v2h1V1h-1v2h-2V1H4v2H2V1zm1 4h2v2H2zm10 0h2v2h-2zM2 9h2v2H2zm10 0h2v2h-2z"/></svg>
|
||||
|
After Width: | Height: | Size: 192 B |
1
resources/godot_icons/dark/AnimationTree.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#cea4f1" d="M1 1v14h1v-2h2v2h8v-2h2v2h1V1h-1v2h-2V1H4v2H2V1zm4 3h2v2h4v2H9v2h2v2H8a1 1 0 0 1-1-1V8H6a1 1 0 0 1-1-1zM2 5h2v2H2zm10 0h2v2h-2zM2 9h2v2H2zm10 0h2v2h-2z"/></svg>
|
||||
|
After Width: | Height: | Size: 247 B |
1
resources/godot_icons/dark/AnimationTreePlayer.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m1 1v14h1.166v-2h1.834v2h8v-2h2v2h1v-14h-1v2h-2v-2h-8v2h-1.834v-2zm4 3h2v1 1h1 3v2h-2v1 1h1 1v2h-1-2a1.0001 1.0001 0 0 1 -1-1v-1-2h-1a1.0001 1.0001 0 0 1 -1-1v-1-1zm-2.834 1h1.834v2h-1.834zm9.834 0h2v2h-2zm-9.834 4h1.834v2h-1.834zm9.834 0h2v2h-2z" fill="#cea4f1"/></svg>
|
||||
|
After Width: | Height: | Size: 363 B |
1
resources/godot_icons/dark/Area.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m1 1v2 2h2v-2h2v-2zm10 0v2h2v2h2v-4zm-7 3v2 4 2h8v-2-6zm2 2h4v4h-4zm-5 5v2 2h2 2v-2h-2v-2zm12 0v2h-2v2h4v-2-2z" fill="#fc9c9c"/></svg>
|
||||
|
After Width: | Height: | Size: 227 B |
1
resources/godot_icons/dark/Area2D.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#a5b7f3" d="M1 1v4h2V3h2V1zm10 0v2h2v2h2V1zM4 4v8h8V4zm2 2h4v4H6zm-5 5v4h4v-2H3v-2zm12 0v2h-2v2h4v-4z"/></svg>
|
||||
|
After Width: | Height: | Size: 185 B |
1
resources/godot_icons/dark/Area3D.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fc9c9c" d="M1 1v4h2V3h2V1zm10 0v2h2v2h2V1zM4 4v8h8V4zm2 2h4v4H6zm-5 5v4h4v-2H3v-2zm12 0v2h-2v2h4v-4z"/></svg>
|
||||
|
After Width: | Height: | Size: 185 B |
1
resources/godot_icons/dark/ArrayMesh.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#ffca5f" d="M3 1a2 2 0 0 0 0 4 2 2 0 0 0 0-4zm10 0a2 2 0 0 0 0 4 2 2 0 0 0 0-4zm-2 7v3H8v2h3v3h2v-3h3v-2h-3V8zm-8 3a2 2 0 0 0 0 4 2 2 0 0 0 0-4z"/></svg>
|
||||
|
After Width: | Height: | Size: 228 B |
1
resources/godot_icons/dark/ArrayOccluder3D.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#ffca5f" d="M13 1a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm-2 7v3H8v2h3v3h2v-3h3v-2h-3V8zm-8 3a2 2 0 1 0 0 4 2 2 0 0 0 0-4z"/></svg>
|
||||
|
After Width: | Height: | Size: 195 B |
1
resources/godot_icons/dark/ArrowDown.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="none" stroke="#e0e0e0" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 5v7l4-4m-4 4L4 8"/></svg>
|
||||
|
After Width: | Height: | Size: 193 B |
1
resources/godot_icons/dark/ArrowLeft.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="none" stroke="#e0e0e0" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 8H4l4 4M4 8l4-4"/></svg>
|
||||
|
After Width: | Height: | Size: 193 B |
1
resources/godot_icons/dark/ArrowRight.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="none" stroke="#e0e0e0" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 8h7L8 4m4 4-4 4"/></svg>
|
||||
|
After Width: | Height: | Size: 192 B |
1
resources/godot_icons/dark/ArrowUp.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="none" stroke="#e0e0e0" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 11V4L4 8m4-4 4 4"/></svg>
|
||||
|
After Width: | Height: | Size: 193 B |
1
resources/godot_icons/dark/AspectRatioContainer.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#a5efac" d="M5 1a2 2 0 0 0-2 2h2zm2 0v2h2V1zm4 0v2h2a2 2 0 0 0-2-2zM3 5v2h2V5zm8 0v2h2V5zM3 9v2h2V9zm8 0v2h2V9zm-8 4a2 2 0 0 0 2 2v-2zm4 0v2h2v-2zm4 0v2a2 2 0 0 0 2-2z"/></svg>
|
||||
|
After Width: | Height: | Size: 251 B |
1
resources/godot_icons/dark/AtlasTexture.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#e0e0e0" d="M6 1 1 3v12l5-2 4 2 5-2V1l-5 2zm0 2 4 2v8l-4-2z"/></svg>
|
||||
|
After Width: | Height: | Size: 143 B |
1
resources/godot_icons/dark/AudioListener2D.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="none" stroke="#a5b7f3" stroke-linejoin="round" stroke-width="2" d="M2 6a4 4 0 0 1 8 0c0 1 0 3-3 4.75 0 3-1.47 3.25-3 3.25H3M13.05 2.5a7 7 0 0 1 0 7"/></svg>
|
||||
|
After Width: | Height: | Size: 231 B |
1
resources/godot_icons/dark/AudioListener3D.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="none" stroke="#fc9c9c" stroke-linejoin="round" stroke-width="2" d="M2 6a4 4 0 0 1 8 0c0 1 0 3-3 4.75 0 3-1.47 3.25-3 3.25H3M13.05 2.5a7 7 0 0 1 0 7"/></svg>
|
||||
|
After Width: | Height: | Size: 231 B |
1
resources/godot_icons/dark/AudioStreamPlayer.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="16" height="16" version="1.0" viewBox="0 0 2.4 2.4"><path fill="#e0e0e0" d="M1.252.15a.1.1 0 0 0-.082.03L.6.75H.318C.225.75.15.817.15.9v.6c0 .083.075.15.168.15H.6l.57.57c.066.067.18.02.18-.074V.256A.106.106 0 0 0 1.252.15" paint-order="markers stroke fill"/><path fill="none" stroke="#e0e0e0" stroke-linecap="round" stroke-linejoin="round" stroke-width=".165" d="M1.575.675c.45.525 0 1.05 0 1.05m.3-1.35c.675.825 0 1.65 0 1.65" paint-order="markers stroke fill"/></svg>
|
||||
|
After Width: | Height: | Size: 537 B |
1
resources/godot_icons/dark/AudioStreamPlayer2D.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="16" height="16" version="1.0" viewBox="0 0 2.4 2.4"><path fill="#a5b7f3" d="M1.252.15a.1.1 0 0 0-.082.03L.6.75H.318C.225.75.15.817.15.9v.6c0 .083.075.15.168.15H.6l.57.57c.066.067.18.02.18-.074V.256A.106.106 0 0 0 1.252.15" paint-order="markers stroke fill"/><path fill="none" stroke="#8da5f3" stroke-linecap="round" stroke-linejoin="round" stroke-width=".165" d="M1.575.675c.45.525 0 1.05 0 1.05m.3-1.35c.675.825 0 1.65 0 1.65" paint-order="markers stroke fill"/></svg>
|
||||
|
After Width: | Height: | Size: 537 B |
1
resources/godot_icons/dark/AudioStreamPlayer3D.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="16" height="16" version="1.0" viewBox="0 0 2.4 2.4"><path fill="#fc9c9c" d="M1.252.15a.1.1 0 0 0-.082.03L.6.75H.318C.225.75.15.817.15.9v.6c0 .083.075.15.168.15H.6l.57.57c.066.067.18.02.18-.074V.256A.106.106 0 0 0 1.252.15" paint-order="markers stroke fill"/><path fill="none" stroke="#fc7f7f" stroke-linecap="round" stroke-linejoin="round" stroke-width=".165" d="M1.575.675c.45.525 0 1.05 0 1.05m.3-1.35c.675.825 0 1.65 0 1.65" paint-order="markers stroke fill"/></svg>
|
||||
|
After Width: | Height: | Size: 537 B |
1
resources/godot_icons/dark/AudioStreamPolyphonic.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><linearGradient id="a" x2="0" y1="1" y2="15" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ff5f5f"/><stop offset=".5" stop-color="#e1da5b"/><stop offset="1" stop-color="#5fff97"/></linearGradient><path fill="url(#a)" d="M13 2a1 1 0 0 0-1-1L4.754 3A1 1 0 0 0 4 4v5.55A2.5 2.5 0 1 0 6 12V4.756l5-1.428V6.5l2-1zm-3 6h2v2h2v2h-2v2h-2v-2H8v-2h2z"/></svg>
|
||||
|
After Width: | Height: | Size: 427 B |
1
resources/godot_icons/dark/AudioStreamSample.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientUnits="userSpaceOnUse" x1="8" x2="8" y1="1" y2="15"><stop offset="0" stop-color="#ff7a7a"/><stop offset=".5" stop-color="#e1dc7a"/><stop offset="1" stop-color="#66ff9e"/></linearGradient><path d="m11.971 1.002c-.08326.00207-.16593.014541-.24609.037109l-7 2c-.42881.12287-.7244.51487-.72461.96094v5.5508c-.16454-.033679-.33205-.050692-.5-.050781-1.3807 0-2.5 1.1193-2.5 2.5-.00000475 1.3807 1.1193 2.5 2.5 2.5 1.3456-.0013 2.4488-1.0674 2.4961-2.4121.0025906-.029226.003894-.058551.0039062-.087891v-7.2441l5-1.4277v3.1719l2-1v-3.5c-.000916-.56314-.4664-1.0145-1.0293-.99805zm-1.4707 6.998c-.277 0-.5.223-.5.5v5c0 .277.223.5.5.5s.5-.223.5-.5v-5c0-.277-.223-.5-.5-.5zm2 1c-.277 0-.5.223-.5.5v3c0 .277.223.5.5.5s.5-.223.5-.5v-3c0-.277-.223-.5-.5-.5zm-4 1c-.277 0-.5.223-.5.5v1c0 .277.223.5.5.5s.5-.223.5-.5v-1c0-.277-.223-.5-.5-.5zm6 0c-.277 0-.5.223-.5.5v1c0 .277.223.5.5.5s.5-.223.5-.5v-1c0-.277-.223-.5-.5-.5z" fill="url(#a)"/></svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
1
resources/godot_icons/dark/AudioStreamWAV.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><linearGradient id="a" x2="0" y1="1" y2="15" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ff5f5f"/><stop offset=".5" stop-color="#e1da5b"/><stop offset="1" stop-color="#5fff97"/></linearGradient><path fill="url(#a)" d="M13 2a1 1 0 0 0-1-1L4.754 3A1 1 0 0 0 4 4v5.55A2.5 2.5 0 1 0 6 12V4.756l5-1.428V6.5l2-1z"/><path fill="none" stroke="url(#a)" stroke-linecap="round" d="M10.5 8v5m2-4v3m-4-2v1m6-1v1"/></svg>
|
||||
|
After Width: | Height: | Size: 487 B |
1
resources/godot_icons/dark/BackBufferCopy.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#a5b7f3" d="m1 1v11h5v-2h-3v-7h6v-2zm6 3v11h8v-11zm2 2h4v7h-4z"/></svg>
|
||||
|
After Width: | Height: | Size: 146 B |
1
resources/godot_icons/dark/BakedLightmap.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m2 1v2h12v-2zm-1 3v9a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-9zm2 1h1v1h-1zm3 0h1v1h-1zm3 0h1v1h-1zm3 0h1v1h-1zm-9 2h10v6h-10zm3 1v1h4v-1z" fill="#fc9c9c"/></svg>
|
||||
|
After Width: | Height: | Size: 247 B |
1
resources/godot_icons/dark/BakedLightmapData.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m1 1v2h2v-2zm3 0v2h2v-2zm4 0v2h6v-2zm-7 3v2h2v-2zm3 0v2h2v-2zm4 0v3h5v6h-5v2h5a2 2 0 0 0 2-2v-9zm1 1h1v1h-1zm3 0h1v1h-1zm-11 2v2h2v-2zm3 0v2h2v-2zm4 1v1h2v-1zm-7 2v2h2v-2zm3 0v2h2v-2zm-3 3v2h2v-2zm3 0v2h2v-2z" fill="#e0e0e0"/></svg>
|
||||
|
After Width: | Height: | Size: 325 B |
1
resources/godot_icons/dark/BitMap.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#e0e0e0" d="m1 1v2h2v-2zm2 2v2h2v-2zm2 0h2v-2h-2zm2 0v2h2v-2zm2 0h2v-2h-2zm2 0v2h2v-2zm2 0h2v-2h-2zm0 2v2h2v-2zm0 2h-2v2h2zm0 2v2h2v-2zm0 2h-2v2h2zm0 2v2h2v-2zm-2 0h-2v2h2zm-2 0v-2h-2v2zm-2 0h-2v2h2zm-2 0v-2h-2v2zm-2 0h-2v2h2zm0-2v-2h-2v2zm0-2h2v-2h-2zm0-2v-2h-2v2zm2 0h2v-2h-2zm2 0v2h2v-2zm2 0h2v-2h-2zm0 2v2h2v-2zm-2 0h-2v2h2z"/></svg>
|
||||
|
After Width: | Height: | Size: 412 B |
1
resources/godot_icons/dark/BitmapFont.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m1 1037.4v4h1v-1h1v-1h4v10h-1v1h-1v1h6v-1h-1v-1h-1v-10h4v1h1v1h1v-4z" fill="#84c2ff" transform="translate(0 -1036.4)"/></svg>
|
||||
|
After Width: | Height: | Size: 218 B |
1
resources/godot_icons/dark/Bone2D.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#a5b7f3" d="M4.824 8.384a2.466 2.466 0 1 0-1.705 4.496 2.466 2.466 0 1 0 4.496-1.705l3.56-3.56a2.466 2.466 0 1 0 1.705-4.496 2.466 2.466 0 1 0-4.496 1.705z"/></svg>
|
||||
|
After Width: | Height: | Size: 239 B |
1
resources/godot_icons/dark/BoneAttachment.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m10.478 1037.4a2.4664 2.4663 0 0 0 -1.7804.7205 2.4664 2.4663 0 0 0 -.31408 3.1041l-3.559 3.5608a2.4664 2.4663 0 0 0 -3.1023.3121 2.4664 2.4663 0 0 0 0 3.4876 2.4664 2.4663 0 0 0 1.397.6955 2.4664 2.4663 0 0 0 .69561 1.397 2.4664 2.4663 0 0 0 3.4877 0 2.4664 2.4663 0 0 0 .31408-3.1041l3.5609-3.5608a2.4664 2.4663 0 0 0 3.1004-.3102 2.4664 2.4663 0 0 0 0-3.4875 2.4664 2.4663 0 0 0 -1.397-.6974 2.4664 2.4663 0 0 0 -.69561-1.3971 2.4664 2.4663 0 0 0 -1.7072-.7205z" fill="#fc9c9c" transform="translate(0 -1036.4)"/></svg>
|
||||
|
After Width: | Height: | Size: 614 B |
1
resources/godot_icons/dark/BoneAttachment3D.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="16" height="16"><path fill="#FC7F7F" d="M9.264,8.125L8.119,9.27c-0.219,0.228-0.212,0.589,0.014,0.81c0.222,0.213,0.574,0.213,0.794,0l0.169-0.168 v4.912h4.909l-0.167,0.165c-0.219,0.229-0.212,0.591,0.015,0.81c0.222,0.214,0.573,0.214,0.794,0l1.145-1.145 c0.224-0.224,0.224-0.584,0-0.809l-1.145-1.143c-0.226-0.221-0.588-0.215-0.809,0.014c-0.213,0.221-0.213,0.573,0,0.795l0.167,0.168 h-2.957l3.195-3.196v0.237c0,0.317,0.256,0.573,0.572,0.573c0.315,0,0.571-0.256,0.571-0.573V9.102c0-0.315-0.256-0.571-0.571-0.571 h-1.619c-0.316,0-0.572,0.256-0.572,0.571c0,0.316,0.256,0.572,0.572,0.572h0.237l-3.194,3.194V9.911l0.167,0.168 c0.228,0.218,0.59,0.213,0.81-0.015c0.214-0.223,0.214-0.572,0-0.795l-1.144-1.145C9.848,7.903,9.486,7.903,9.264,8.125L9.264,8.125 z"/><path fill="#FC7F7F" d="M7.615,11.175l0.326-0.326c-0.119-0.06-0.23-0.135-0.328-0.229c-0.524-0.511-0.538-1.349-0.035-1.871 l1.155-1.155c0.5-0.499,1.367-0.497,1.865-0.003l0.3,0.3l0.276-0.276c0.399,0.266,0.849,0.393,1.296,0.405 c0.211-0.142,0.453-0.24,0.726-0.24h0.399c0.391-0.186,0.741-0.467,0.998-0.854c0.754-1.134,0.446-2.665-0.688-3.419 c-0.309-0.205-0.66-0.338-1.026-0.389c-0.188-1.349-1.433-2.291-2.782-2.103c-1.349,0.188-2.29,1.433-2.103,2.782 c0.051,0.367,0.184,0.717,0.389,1.026l-3.56,3.56C3.69,7.63,2.159,7.938,1.405,9.072c-0.754,1.134-0.446,2.664,0.688,3.419 c0.308,0.204,0.659,0.338,1.026,0.389c0.188,1.349,1.433,2.29,2.782,2.103c1.349-0.188,2.291-1.433,2.103-2.781 C7.953,11.834,7.82,11.483,7.615,11.175z"/></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
1
resources/godot_icons/dark/BoxContainer.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#a5efac" d="M3 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2zm0 2h10v2H3zm0 4h10v2H3zm0 4h10v2H3z" transform="rotate(45 4.241 9.083)scale(.737)"/></svg>
|
||||
|
After Width: | Height: | Size: 247 B |
1
resources/godot_icons/dark/BoxMesh.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="none" stroke="#ffca5f" stroke-width="2" d="m8 2 6 3v6l-6 3-6-3V5zm0 12V8l6-3M8 8 2 5"/></svg>
|
||||
|
After Width: | Height: | Size: 168 B |
1
resources/godot_icons/dark/BoxOccluder3D.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#ffca5f" d="m8 .889-.506.254A4.5 4.5 0 1 1 1 7.314v4.297l7 3.5 7-3.5V4.39z"/></svg>
|
||||
|
After Width: | Height: | Size: 158 B |
1
resources/godot_icons/dark/BoxShape.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill-rule="evenodd" transform="translate(0 -1036.4)"><path d="m8 1-7 3v8l7 3 7-3v-8z" fill="#2998ff" transform="translate(0 1036.4)"/><path d="m8 1051.4-7-3v-8l7 3z" fill="#68b6ff"/><path d="m1 1040.4 7 3 7-3-7-3z" fill="#a2d2ff"/></g></svg>
|
||||
|
After Width: | Height: | Size: 328 B |
1
resources/godot_icons/dark/BoxShape3D.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#2998ff" d="m8 1-7 3v8l7 3 7-3v-8z"/><path fill="#5fb2ff" d="m8 15-7-3v-8l7 3z"/><path fill="#a2d2ff" d="m1 4 7 3 7-3-7-3z"/></svg>
|
||||
|
After Width: | Height: | Size: 206 B |
1
resources/godot_icons/dark/Button.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#a5efac" d="M7 1v3.133l-1.445-.965-1.11 1.664 3 2a1 1 0 0 0 1.11 0l3-2-1.11-1.664L9 4.133V1zM5.5 9A1.5 1.5 0 0 0 4 10.5V12H2v2h12v-2h-2v-1.5A1.5 1.5 0 0 0 10.5 9z"/></svg>
|
||||
|
After Width: | Height: | Size: 246 B |
1
resources/godot_icons/dark/ButtonGroup.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#e0e0e0" d="M4 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zm1 1h2a1 1 0 0 1 0 2H5a1 1 0 0 1 0-2zm6 0a1 1 0 0 1 0 2 1 1 0 0 1 0-2zM6 6a2 2 0 0 1 0 4 2 2 0 0 1 0-4zm5 0a1 1 0 0 1 0 2 1 1 0 0 1 0-2zm0 4a1 1 0 0 1 0 2 1 1 0 0 1 0-2zm-7 2h1v2H4zm2 0h1v2H6zm2 0h1v2H8z"/></svg>
|
||||
|
After Width: | Height: | Size: 367 B |
1
resources/godot_icons/dark/CPUParticles.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m4.5587261.60940813c-.4226244 0-.7617187.3410473-.7617187.76367177v.5078126c0 .1028478.020058.199689.056641.2890624h-1.1933597c-.4226245 0-.7617188.3390944-.7617188.7617188v.921875c-.040428-.00657-.0767989-.0234375-.1191406-.0234375h-.5078125c-.42262448 0-.76367188.3410475-.76367188.7636719v.3730468c0 .4226245.3410474.7617188.76367188.7617188h.5078125c.042396 0 .078663-.016851.1191406-.023437v4.4531248c-.040428-.0066-.076799-.02344-.1191406-.02344h-.5078125c-.42262448 0-.76367188.341047-.76367188.763672v.373047c0 .422625.3410474.761718.76367188.761718h.5078125c.042396 0 .078663-.01685.1191406-.02344v1.125c0 .422624.3390944.763672.7617188.763672h1.1367187v.457031c0 .422624.3390943.763672.7617187.763672h.3730469c.4226244 0 .7636719-.341048.7636719-.763672v-.457031h4.4062501v.457031c0 .422624.339094.763672.761719.763672h.373047c.422624 0 .763671-.341048.763671-.763672v-.457031h1.269532c.422625 0 .763672-.341048.763672-.763672v-1.111328c.01774.0012.03272.0098.05078.0098h.507812c.422624 0 .763672-.339093.763672-.761718v-.373047c0-.422624-.341048-.763672-.763672-.763672h-.507812c-.01803 0-.03307.0085-.05078.0098v-4.4258454c.01774.00122.03272.00977.05078.00977h.507812c.422624 0 .763672-.3390943.763672-.7617188v-.3730512c0-.4226244-.341048-.7636719-.763672-.7636719h-.507812c-.01803 0-.03307.00855-.05078.00977v-.9082075c0-.4226244-.341047-.7617187-.763672-.7617188h-1.328125c.03658-.089375.05859-.1862118.05859-.2890624v-.5078126c0-.42262437-.341047-.76367177-.763671-.76367177h-.373047c-.422625 0-.761719.3410474-.761719.76367177v.5078126c0 .1028478.02006.1996891.05664.2890624h-4.5214809c.036585-.0893749.0585938-.1862118.0585938-.2890624v-.5078126c0-.42262437-.3410475-.76367177-.7636719-.76367177zm3.2382813 2.35742177a3.279661 3.6440678 0 0 1 3.2128906 2.9394532 2.1864407 2.1864407 0 0 1 1.888672 2.1621094 2.1864407 2.1864407 0 0 1 -2.1875 2.1855475h-5.8300782a2.1864407 2.1864407 0 0 1 -2.1855469-2.1855475 2.1864407 2.1864407 0 0 1 1.8847656-2.1640626 3.279661 3.6440678 0 0 1 3.2167969-2.9375zm-2.9160156 8.0156251a.72881355.72881355 0 0 1 .7285156.728516.72881355.72881355 0 0 1 -.7285156.730469.72881355.72881355 0 0 1 -.7285157-.730469.72881355.72881355 0 0 1 .7285157-.728516zm5.8300782 0a.72881355.72881355 0 0 1 .730469.728516.72881355.72881355 0 0 1 -.730469.730469.72881355.72881355 0 0 1 -.7285157-.730469.72881355.72881355 0 0 1 .7285157-.728516zm-2.9140626.728516a.72881355.72881355 0 0 1 .7285156.730469.72881355.72881355 0 0 1 -.7285156.728515.72881355.72881355 0 0 1 -.7285156-.728515.72881355.72881355 0 0 1 .7285156-.730469z" fill="#fc9c9c"/></svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
1
resources/godot_icons/dark/CPUParticles2D.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#a5b7f3" d="M4.586.5a.764.764 0 0 0-.764.764v.6h-1.2a.764.764 0 0 0-.764.764v1.2h-.6a.764.764 0 0 0-.764.764v.4a.764.764 0 0 0 .764.764h.6v4.5h-.6a.764.764 0 0 0-.764.764v.4a.764.764 0 0 0 .764.764h.6v1.2a.764.764 0 0 0 .764.764h1.2v.6a.764.764 0 0 0 .764.764h.4a.764.764 0 0 0 .764-.764v-.6h4.5v.6a.764.764 0 0 0 .764.764h.4a.764.764 0 0 0 .764-.764v-.6h1.2a.764.764 0 0 0 .764-.764v-1.2h.6a.764.764 0 0 0 .764-.764v-.4a.764.764 0 0 0-.764-.764h-.6v-4.5h.6a.764.764 0 0 0 .764-.764v-.4a.764.764 0 0 0-.764-.764h-.6v-1.2a.764.764 0 0 0-.764-.763h-1.2v-.6a.764.764 0 0 0-.764-.764h-.4a.764.764 0 0 0-.764.764v.6h-4.5v-.6a.764.764 0 0 0-.764-.764zm6.575 5.3a2.186 2.186 0 0 1-.3 4.349h-5.83a2.186 2.186 0 0 1-.3-4.349 3.28 3.644 0 0 1 6.434 0zM5.084 11a.729.729 0 0 1 0 1.459.729.729 0 0 1 0-1.459zm5.83 0a.729.729 0 0 1 0 1.459.729.729 0 0 1 0-1.459zM8 11.729a.729.729 0 0 1 0 1.459.729.729 0 0 1 0-1.46z"/></svg>
|
||||
|
After Width: | Height: | Size: 987 B |
1
resources/godot_icons/dark/CPUParticles3D.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fc9c9c" d="M4.586.5a.764.764 0 0 0-.764.764v.6h-1.2a.764.764 0 0 0-.764.764v1.2h-.6a.764.764 0 0 0-.764.764v.4a.764.764 0 0 0 .764.764h.6v4.5h-.6a.764.764 0 0 0-.764.764v.4a.764.764 0 0 0 .764.764h.6v1.2a.764.764 0 0 0 .764.764h1.2v.6a.764.764 0 0 0 .764.764h.4a.764.764 0 0 0 .764-.764v-.6h4.5v.6a.764.764 0 0 0 .764.764h.4a.764.764 0 0 0 .764-.764v-.6h1.2a.764.764 0 0 0 .764-.764v-1.2h.6a.764.764 0 0 0 .764-.764v-.4a.764.764 0 0 0-.764-.764h-.6v-4.5h.6a.764.764 0 0 0 .764-.764v-.4a.764.764 0 0 0-.764-.764h-.6v-1.2a.764.764 0 0 0-.764-.763h-1.2v-.6a.764.764 0 0 0-.764-.764h-.4a.764.764 0 0 0-.764.764v.6h-4.5v-.6a.764.764 0 0 0-.764-.764zm6.575 5.3a2.186 2.186 0 0 1-.3 4.349h-5.83a2.186 2.186 0 0 1-.3-4.349 3.28 3.644 0 0 1 6.434 0zM5.084 11a.729.729 0 0 1 0 1.459.729.729 0 0 1 0-1.459zm5.83 0a.729.729 0 0 1 0 1.459.729.729 0 0 1 0-1.459zM8 11.729a.729.729 0 0 1 0 1.459.729.729 0 0 1 0-1.46z"/></svg>
|
||||
|
After Width: | Height: | Size: 987 B |
6
resources/godot_icons/dark/CSGBox.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="translate(0 -1036.4)">
|
||||
<path transform="translate(0 1036.4)" d="m12 9c-0.55401 0-1 0.44599-1 1v1h2v2h1c0.55401 0 1-0.44599 1-1v-2c0-0.55401-0.44599-1-1-1h-2zm1 4h-2v-2h-1c-0.55401 0-1 0.44599-1 1v2c0 0.55401 0.44599 1 1 1h2c0.55401 0 1-0.44599 1-1v-1z" fill="#84c2ff"/>
|
||||
<path transform="translate(0 1036.4)" d="m8 0.94531-7 3.5v7.2227l7 3.5 0.29492-0.14844c-0.18282-0.30101-0.29492-0.64737-0.29492-1.0195v-2c0-0.72651 0.40824-1.3664 1-1.7168v-1.6699l4-2v1.3867h1c0.36419 0 0.70336 0.10754 1 0.2832v-3.8379zm0 2.1152 3.9395 1.9707-3.9395 1.9688-3.9395-1.9688zm-5 3.5527 4 2v3.9414l-4-2.002z" fill="#fc9c9c" stroke-width="1.0667"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 754 B |
1
resources/godot_icons/dark/CSGBox3D.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><mask id="a"><path fill="#fefefe" d="M0 0h16v10a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2 2 2 0 0 0-2 2v2a2 2 0 0 0 2 2H0z"/></mask><path fill="#5fb2ff" d="M12 9a1 1 0 0 0-1 1v1h2v2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1zm1 4h-2v-2h-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z"/><path fill="none" stroke="#fc9c9c" stroke-width="2" d="m8 2 6 3v6l-6 3-6-3V5zm0 12V8l6-3M8 8 2 5" mask="url(#a)"/></svg>
|
||||
|
After Width: | Height: | Size: 450 B |
8
resources/godot_icons/dark/CSGCombiner.svg
Normal file
@@ -0,0 +1,8 @@
|
||||
<svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="translate(0 -1036.4)">
|
||||
<path transform="translate(0 1036.4)" d="m12 9c-0.55401 0-1 0.44599-1 1v1h2v2h1c0.55401 0 1-0.44599 1-1v-2c0-0.55401-0.44599-1-1-1h-2zm1 4h-2v-2h-1c-0.55401 0-1 0.44599-1 1v2c0 0.55401 0.44599 1 1 1h2c0.55401 0 1-0.44599 1-1v-1z" fill="#84c2ff"/>
|
||||
<g fill="#fc9c9c">
|
||||
<path transform="translate(0 1036.4)" d="m3 1c-1.1046 0-2 0.89543-2 2h2zm2 0v2h2v-2zm4 0v2h2v-2zm4 0v2h2c0-1.1046-0.89543-2-2-2zm-12 4v2h2v-2zm12 0v2h2v-2zm-12 4v2h2v-2zm0 4c0 1.1046 0.89543 2 2 2v-2zm4 0v2h2v-2z" fill="#fc9c9c"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 649 B |
1
resources/godot_icons/dark/CSGCombiner3D.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#5fb2ff" d="M12 9a1 1 0 0 0-1 1v1h2v2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1zm1 4h-2v-2h-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z"/><path fill="#fc9c9c" d="M3 1a2 2 0 0 0-2 2h2zm2 0v2h2V1zm4 0v2h2V1zm4 0v2h2a2 2 0 0 0-2-2zM1 5v2h2V5zm12 0v2h2V5zM1 9v2h2V9zm0 4a2 2 0 0 0 2 2v-2zm4 0v2h2v-2z"/></svg>
|
||||
|
After Width: | Height: | Size: 376 B |
6
resources/godot_icons/dark/CSGCylinder.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg width="16" height="16" version="1.1" viewBox="0 0 14.999999 14.999999" xmlns="http://www.w3.org/2000/svg">
|
||||
<g>
|
||||
<path transform="scale(.9375)" d="m8 1c-1.7469 0-3.328 0.22648-4.5586 0.63672-0.61528 0.20512-1.1471 0.45187-1.5898 0.80078-0.44272 0.34891-0.85156 0.88101-0.85156 1.5625v8c0 0.68149 0.40884 1.2155 0.85156 1.5645 0.44272 0.34891 0.97457 0.59577 1.5898 0.80078 1.2306 0.41024 2.8117 0.63477 4.5586 0.63477 0.095648 0 0.18467-0.008426 0.2793-0.009766-0.1722-0.29446-0.2793-0.62995-0.2793-0.99023v-1c-1.5668 0-2.9867-0.2195-3.9277-0.5332-0.46329-0.15435-0.90474-0.33752-1.0723-0.4668v-5.8125c0.1468 0.058667 0.2835 0.12515 0.44141 0.17773 1.2306 0.41024 2.8117 0.63477 4.5586 0.63477s3.328-0.22453 4.5586-0.63477c0.15791-0.052267 0.29461-0.11864 0.44141-0.17773v1.8125h1c0.36396 0 0.70348 0.10774 1 0.2832v-4.2832c0-0.68149-0.40884-1.2136-0.85156-1.5625-0.44272-0.34891-0.97457-0.59566-1.5898-0.80078-1.2306-0.41024-2.8117-0.63672-4.5586-0.63672zm0 2c1.5668 0 2.9867 0.22145 3.9277 0.53516 0.46368 0.15456 0.80138 0.33741 0.96875 0.4668-0.16752 0.12928-0.50546 0.3105-0.96875 0.46484-0.94102 0.31371-2.361 0.5332-3.9277 0.5332s-2.9867-0.2195-3.9277-0.5332c-0.46329-0.15435-0.80123-0.33556-0.96875-0.46484 0.16737-0.12939 0.50507-0.31224 0.96875-0.4668 0.94102-0.31371 2.361-0.53516 3.9277-0.53516z" fill="#fc9c9c" stroke-width="1.0667"/>
|
||||
<path d="m11.25 8.4375c-0.51938 0-0.9375 0.41812-0.9375 0.9375v0.9375h1.875v1.875h0.9375c0.51938 0 0.9375-0.41812 0.9375-0.9375v-1.875c0-0.51938-0.41812-0.9375-0.9375-0.9375zm0.9375 3.75h-1.875v-1.875h-0.9375c-0.51938 0-0.9375 0.41812-0.9375 0.9375v1.875c0 0.51938 0.41812 0.9375 0.9375 0.9375h1.875c0.51938 0 0.9375-0.41812 0.9375-0.9375z" fill="#84c2ff"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
1
resources/godot_icons/dark/CSGCylinder3D.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><mask id="a"><path fill="#fefefe" d="M0 0h16v10a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2 2 2 0 0 0-2 2v2a2 2 0 0 0 2 2H0z"/></mask><path fill="#5fb2ff" d="M12 9a1 1 0 0 0-1 1v1h2v2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1zm1 4h-2v-2h-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z"/><path fill="none" stroke="#fc9c9c" stroke-width="2" d="M2 4v8a6 2 0 0 0 12 0V4A6 2 0 0 0 2 4a6 2 0 0 0 12 0" mask="url(#a)"/></svg>
|
||||
|
After Width: | Height: | Size: 461 B |
6
resources/godot_icons/dark/CSGMesh.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||
<g>
|
||||
<path d="m3 1c-1.1046 0-2 0.89543-2 2 5.649e-4 0.71397 0.38169 1.3735 1 1.7305v6.541c-0.61771 0.35663-0.99874 1.0152-1 1.7285 0 1.1046 0.89543 2 2 2 0.71397-5.65e-4 1.3735-0.38169 1.7305-1h3.2695v-2h-3.2715c-0.17478-0.30301-0.42598-0.55488-0.72852-0.73047v-5.8555l4.916 4.916c0.31428-0.20669 0.68609-0.33008 1.084-0.33008 0-0.3979 0.12338-0.76971 0.33008-1.084l-4.916-4.916h5.8574c0.17478 0.30301 0.42598 0.55488 0.72852 0.73047v3.2695h2v-3.2715c0.61771-0.35663 0.99874-1.0152 1-1.7285 0-1.1046-0.89543-2-2-2-0.71397 5.648e-4 -1.3735 0.38169-1.7305 1h-6.541c-0.35663-0.61771-1.0152-0.99874-1.7285-1z" fill="#fc9c9c"/>
|
||||
<path d="m12 9c-0.55401 0-1 0.44599-1 1v1h2v2h1c0.55401 0 1-0.44599 1-1v-2c0-0.55401-0.44599-1-1-1zm1 4h-2v-2h-1c-0.55401 0-1 0.44599-1 1v2c0 0.55401 0.44599 1 1 1h2c0.55401 0 1-0.44599 1-1z" fill="#84c2ff"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 941 B |
1
resources/godot_icons/dark/CSGMesh3D.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fc9c9c" d="M4.73 2A2 2 0 1 0 2 4.73v6.541A2 2 0 1 0 4.729 14H8v-2H4.729A2 2 0 0 0 4 11.271V5.415l4.914 4.916A2 2 0 0 1 9.998 10a2 2 0 0 1 .33-1.084L5.414 4h5.856a2 2 0 0 0 .73.729V8h2V4.729A2 2 0 1 0 11.27 2z"/><path fill="#5fb2ff" d="M12 9a1 1 0 0 0-1 1v1h2v2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1zm1 4h-2v-2h-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z"/></svg>
|
||||
|
After Width: | Height: | Size: 439 B |