Compare commits

..

291 Commits

Author SHA1 Message Date
Hugo Locurcio
d9ea6245d4 Bump to version 2.5.1 2025-03-15 20:58:11 +01:00
David Kincaid
e38db288b7 Add ability to suppress LSP error messages (#823) 2025-03-15 15:01:35 -04:00
Hugo Locurcio
0da21f23a3 Bump to version 2.5.0 2025-03-11 00:18:18 +01:00
David Kincaid
a04f58c82d Scene Preview Improvements (relative path drag/drop) (#815)
* Improve scene preview lock behavior
* Add convert_uri_to_resource_path utility function
* Implement relative nodepath dropping
* Prevent a possible error when trying to refresh a scene that doesn't exist
* Fix wrong command name being called (scenePreview.openMainScene has actually never worked)
2025-03-10 04:50:00 -04:00
David Kincaid
03606fdb3a Various LSP Client Improvements (#816)
* Fix outgoing LSP messages not actually being discarded
* Resend init message if reconnecting (fixes #818)
* Added wrong project disconnect feature
* Update vscode-languageclient from ^7.0.0 to ^9.0.1
2025-03-10 04:49:05 -04:00
David Kincaid
f4ae73c9a0 Add automatic project formatting (#814)
* Add biome as a dev dependency and add "npm format" script

* Align new debugger code with project style
2025-03-04 19:54:47 -05:00
David Kincaid
1dcbd651df Add snippet/placeholder behavior to Scene Preview file drops (#813) 2025-03-04 19:11:27 -05:00
dependabot[bot]
54f68f15ea Bump esbuild from 0.17.19 to 0.25.0 (#790)
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.17.19 to 0.25.0.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2023.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.17.19...v0.25.0)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-04 19:10:58 -05:00
David Kincaid
0203cec293 Formatting and Highlighting Fixes (#812)
Fixes #805 and #810
2025-03-04 18:56:21 -05:00
Mikhail Zolotukhin
34de1b64f0 Fix scene preview with nodes, that have spaces in names (#806)
Fixes #688
2025-03-04 15:39:58 -05:00
David Kincaid
e528384ea5 Add godotTools.openEditorSettings command (#802)
Add godotTools.openEditorSettingscommand
2025-02-27 12:27:27 -05:00
dependabot[bot]
c5c7aa2ced Bump actions/upload-artifact from 4.6.0 to 4.6.1 (#803)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.6.0 to 4.6.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.6.0...v4.6.1)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-24 13:01:52 -05:00
Arron
0a3c319879 Add region blocks as a language scope for themes (#800) 2025-02-22 13:46:32 -05:00
David Kincaid
3f7a944e96 More Highlighting and Formatting Improvements (#783)
* Fix **= operator being formatted incorrectly

* Fix variables in get_node()-style function calls not being highlighted

* Move super from builtin_classes to keywords

* Fix uppercase builtin classes being highlighted as constants

* Fix setter and getter highlighting/formatting

* Fix variable as default parameter not highlighted in function declaration
2025-02-22 12:51:44 -05:00
Sabs, like "Sobs
51ef0ef0c0 Add Autosave details and Server Port note to README (#771)
* Add Autosave details and Server Port note to README
2025-02-22 12:50:21 -05:00
Saint
b29fbb75a0 Add print_rich() support to Debug Console (#792)
* add bbcode support to debug console
* fix output line for Debug Console
* Update debug console output. Add Godot3.6 support.
2025-02-22 12:36:11 -05:00
Jesse Ward
b986ce0e51 Resolves godotengine/godot-vscode-plugin#796 (#797) 2025-02-22 12:31:57 -05:00
Eric Cosky
035211276d Fixes for attached debugging and related improvements. (#784)
'launch' and 'attach' modes are working with these changes. The root problems were related to the version of the attached project not being detected properly and file paths not being correctly calculated when attached. The networking code that had version-dependent behavior is now a bit more robust and won't break if minor versions were to ever exceed 1 digit.
When using 'attach' mode, the version info wasn't available at all, causing most (all?) network messages to be ignored.
2025-02-22 12:28:38 -05:00
MichaelXt
53f48ede63 DebugAdapter variables overhaul (#793)
- Redesigned the representation of godot objects to match internal structure of godot server
- Lazy evaluation for the godot objects
- Stack frames now can be switched with variables updated
2025-02-22 12:17:55 -05:00
Hugo Locurcio
7844979c90 Bump to version 2.4.0 2025-02-22 00:07:17 +01:00
Saint
9297920d73 Add setting to enable/disable documentation minimap (#786) 2025-02-13 11:47:23 -05:00
btarg
8059ba89c2 Add some useful GDScript snippets for Godot 4 (#794) 2025-02-13 10:57:29 -05:00
MichaelXt
2490d0cdad Implement Godot-in-the-loop test suite and fix debugger errors (#788)
Fixes for get variables issues
1. Same reference but different variable override fix, which resulted in variables being lost
** Now different GodotVariable instances are used for different variables with same reference
** const replacement = {value: rawObject, sub_values: sub_values } as GodotVariable;
2. 'Signal' type handling crash and string representation fix
** value.sub_values()?.map
3. Empty scopes return fix
** if (this.ongoing_inspections.length === 0  && stackVars.remaining == 0)
4. Various splice from findIndex fixes (where findIndex can return -1)
5. Added variables tests
**  updated vscode types to version 1.96 to use `onDidChangeActiveStackItem` for breakpoint hit detection in tests
1 & 3 should fix https://github.com/godotengine/godot-vscode-plugin/issues/779
2025-02-10 16:56:13 -05:00
dependabot[bot]
7c70ac2753 Bump actions/setup-node from 4.1.0 to 4.2.0 (#785)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4.1.0...v4.2.0)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-27 12:40:23 -05:00
MichaelXt
e7b9530a7f Fix debugger watch window freeze caused by missing responses (#781) 2025-01-26 13:33:50 -05:00
dependabot[bot]
002cfa18a3 Bump actions/upload-artifact from 4.5.0 to 4.6.0 (#774)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.5.0 to 4.6.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.5.0...v4.6.0)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-10 11:03:54 -05:00
David Kincaid
489db36e85 Add debugger support for Typed Dictionaries (#764)
Add decoding support for Typed Dictionaries
2025-01-03 21:40:31 -05:00
KIM JISU
996a7aefe6 Add newline when dropping nodes into editor (#754)
Co-authored-by: k-expon <kimexpon@pm.me>
2025-01-03 21:02:58 -05:00
dependabot[bot]
2e9117870d Bump actions/upload-artifact from 4.4.3 to 4.5.0 (#766)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.4.3 to 4.5.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.4.3...v4.5.0)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-18 11:38:21 -05:00
David Kincaid
aee83dd2a4 Update float syntax rules and formatting (#756)
* Update float syntax rules and formatting

* Add missing export_group annotation

* Moved abstract from an annotation to a keyword

* Add an example of the other type of string interpolation.
2024-12-18 10:45:05 -05:00
David Kincaid
6ddf05d4a1 Fix VBox and HBox docs not opening (#755) 2024-11-18 11:25:30 -05:00
David Kincaid
f648c37353 Various Formatter Improvements (#746)
* add new style of formatter snapshot tests
* add many new test cases
* fix several open issues( #728, #624, #657, #717, #734, likely more)
2024-11-18 11:16:16 -05:00
David Kincaid
709fa1bbad Implement warnings and errors in Debug Console (#749) 2024-11-18 11:11:30 -05:00
David Kincaid
694feea1bc Overhaul LSP Client (#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 WS LSP support
2024-11-18 10:53:59 -05:00
dependabot[bot]
fd637d0641 Bump actions/setup-node from 4.0.4 to 4.1.0 (#741)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.4 to 4.1.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4.0.4...v4.1.0)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-24 12:31:37 -04:00
Hugo Locurcio
c33982d38e Remove OS, GDScript and Object from the list of builtins in syntax highlighting (#739) 2024-10-21 09:03:45 -04:00
ProgramGamer
43bb36ca30 Fixed the textmate grammar erroneously tagging enum members and const variables as language constants (#737) 2024-10-19 14:40:23 -04:00
Hugo Locurcio
96510971f4 Add @static_unload annotation and Godot 4.3 Variant types to syntax highlighting (#738) 2024-10-19 14:39:34 -04:00
Mikael Hermansson
0a632d62b5 Fix typed arrays of scripts not being decoded properly (#731) 2024-10-11 11:03:34 -04:00
dependabot[bot]
4404b76006 Bump actions/upload-artifact from 4.4.2 to 4.4.3 (#733)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.4.2 to 4.4.3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.4.2...v4.4.3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-11 16:38:38 +02:00
dependabot[bot]
1c32bbb1cb Bump actions/upload-artifact from 4.4.0 to 4.4.2 (#732)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.4.0 to 4.4.2.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.4.0...v4.4.2)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-09 11:24:47 -04:00
Hugo Locurcio
86ae182088 Bump to version 2.3.0 2024-10-07 17:52:11 +02:00
David Kincaid
658270e742 Capitalize the drive letter in windows absolute paths (#727) 2024-09-25 17:19:59 -04:00
David Kincaid
170d3d4819 Suppress "workspace/symbol" not found error (#723)
* Discard outgoing "workspace/symbol" LSP messages
2024-09-23 13:56:45 -04:00
David Kincaid
1a84a57647 Add documentation page scaling feature (#722)
* Add documentation.pageScale mechanism

* Fix issue with div of map() function catching the minimap style
2024-09-23 13:56:25 -04:00
Hugo Locurcio
9b16946ba9 Update feature request issue template placeholders to match the bug report template 2024-09-23 19:07:41 +02:00
Hugo Locurcio
c4ce162284 Bump to version 2.2.0 2024-09-23 19:04:45 +02:00
dependabot[bot]
e2b891c530 Bump actions/setup-node from 4.0.2 to 4.0.4 (#720)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.2 to 4.0.4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4.0.2...v4.0.4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-19 11:37:36 -04:00
David Kincaid
892f71d3c2 Standardize contributed language's extensions (#716)
This change shouldn't have any actual effect, but I noticed that some file extensions were listed with a period and some weren't. Both styles appear to function the same, but the language contribution point docs use a period, so I've standardized ours to be the same.
2024-09-15 16:34:02 -04:00
David Kincaid
5b725b55fd Fix bare nodepaths referencing absolute/root paths (#712) 2024-09-15 16:04:31 -04:00
David Kincaid
18225ab0d5 Update icons (#711) 2024-09-15 16:04:16 -04:00
David Kincaid
e45d122a37 Add partial debugger support for new types (#715)
* Add PACKED_VECTOR4_ARRAY type

* Disable noUselessElse lint rule

* Fix lint rules and formatting

* Implement decoding for PACKED_VECTOR4_ARRAY

* Implement decoding for typed Arrays
2024-09-15 15:58:16 -04:00
Patrick Werner
bc89f274d5 Add @export_custom and @export_storage to syntax highlighting (#702)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-09-02 23:59:43 +02:00
dependabot[bot]
ec513e7c2e Bump actions/upload-artifact from 4.3.6 to 4.4.0 (#704)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.6 to 4.4.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.3.6...v4.4.0)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-02 23:10:26 +02:00
Dillon Bayless
d915dccba1 fix format_documentation for [code skip-lint] (#700) 2024-08-19 22:32:10 -04:00
dependabot[bot]
5c026f0b32 Bump actions/upload-artifact from 4.3.5 to 4.3.6 (#693)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.5 to 4.3.6.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.3.5...v4.3.6)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-06 17:26:18 +02:00
dependabot[bot]
ac7ecbde3e Bump actions/upload-artifact from 4.3.3 to 4.3.5 (#691)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.3 to 4.3.5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.3.3...v4.3.5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-05 11:23:58 -04:00
Hugo Locurcio
80fefd2ceb Bump to version 2.1.0
Thanks to all contributors involved in the making of this release,
in particular DaelonSuzuka who has been central in this effort of
maintaining this extension!
2024-07-28 18:29:56 +02:00
David Kincaid
9750f8dfc6 Fix various syntax highlighting issues (#674)
* Fix variable declaration highlighting

* Clean up function call highlighting
2024-07-02 14:04:22 -04:00
David Kincaid
cca25099c4 More Formatter Fixes (#672)
* Fix nodepath function highlighting/tokenization

* Reverted dangerous line removal behavior change

* Fix detection of match keyword vs .match() function

* Rearrange formatter options

* Fix option default value

* Add biome linter/formatter config file

* Fix linter errors

* Add system to supply custom config values in tests

* Remove unused variable

* Implement tests for both formatter options

* Clean up formatter option handling

* Fix extra space inserted in list of nodepaths

* Add token rules for square and curly braces
2024-06-29 16:08:24 -04:00
Marvin Altemeier
6456a789af Improve dragging items from Scene Preview into source code (#661)
Co-authored-by: David Kincaid <daelonsuzuka@gmail.com>
2024-06-29 15:50:18 -04:00
David Kincaid
1ff626ba47 Fix object id decoded as wrong signedness. (#670)
* Fix id being decoded as an signed integer instead of an unsigned integer. (#660)

---------

Co-authored-by: karstensensensen <simonblsoerensen@gmail.com>
2024-06-24 17:43:58 -04:00
David Kincaid
c07fe37f30 Fix bad formatting on several operators (#605)
Many, many formatter and syntax highlighting improvements.
2024-06-24 16:48:44 -04:00
David Kincaid
17af8e20c9 Improve Scene Preview ergonomics (#665)
* Rename Scene Preview "pinning" to "locking"

* Add "refresh scene preview" command as button

* Expose scene preview commands to command palette

* Add openCurrentScene and openMainScript commands
2024-06-23 17:13:40 -04:00
David Kincaid
f55d36e86c Fix handling of editorPaths (#656) 2024-06-20 05:00:55 -04:00
Stephen Bell
df445b8390 improve macOS path resolution for app bundles (#632) 2024-04-29 19:55:52 -04:00
David Kincaid
6b009ea123 Fix relative godotPath values not resolving correctly (#655) 2024-04-29 16:24:52 -04:00
dependabot[bot]
2e6eedb196 Bump actions/upload-artifact from 4.3.2 to 4.3.3 (#651)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.2 to 4.3.3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.3.2...v4.3.3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-24 17:16:26 -04:00
dependabot[bot]
d9d834b165 Bump actions/upload-artifact from 4.3.1 to 4.3.2 (#648)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.1 to 4.3.2.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.3.1...v4.3.2)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-18 11:44:05 -04:00
Vladimir Pyatnitskiy
0fc399bbc3 Fix debugged process not being terminated when debugging session closes on Linux (#620) 2024-04-17 13:05:32 -04:00
Joseph Gilley
56a7871d06 Fix poor documentation formatting of class titles and inheritance chain (#628) 2024-04-17 12:59:18 -04:00
David Kincaid
019d87e5c7 Prevent document links from accidentally being resolved to your entire document (#639) 2024-04-17 12:45:54 -04:00
InfiniteXyy
a9508d965d Fix project not found when project.godot file is excluded (#635)
* Fix project not found when `project.godot` file is excluded

* Ignore user excludes when using workspace.findFiles

* Fix linter warnings

---------

Co-authored-by: David Kincaid <daelonsuzuka@gmail.com>
2024-04-06 13:45:47 -04:00
David Kincaid
24e72ecc36 Fix LSP connection attempts not resetting (#638)
* Fix linter warnings

* Fix LSP retry count not resetting on connection
2024-04-06 13:42:36 -04:00
Joseph Gilley
ecaf1db977 Improve codeblock formatting in documentation (#629)
* Improve codeblock formatting in documentation

Improves codeblock highlighting by:

 -  Adding context to the codeblock detailing which language the
    following code is.
 -  Setting the `pre` block's background to match the default
    background for `code` blocks to give a consistent experience.
 -  Setting a border radius for the `pre` block double that of the
    `code` block's default (4px, which is hard-coded).
2024-03-22 10:03:38 -04:00
Vladimir Pyatnitskiy
5cef963162 Fix child processes not being killed properly (#613) 2024-03-11 13:57:38 -04:00
David Kincaid
e89cb784da Fix broken scene file parser (#603) 2024-02-25 18:24:16 -05:00
Hugo Locurcio
5ea22968fb Bump to version 2.0.0
Thanks to all contributors involved in the making of this release,
in particular DaelonSuzuka who has been central in this effort of
updating this extension for Godot 4.x!
2024-02-24 18:17:58 +01:00
David Kincaid
c129098bfa Merge pull request #596 from DaelonSuzuka:fix-goto-docs
Fix definition provider not working because of accessing a Map as an Object
2024-02-23 17:15:54 -05:00
David Kincaid
93e49e4273 Fix definition provider not working because of accessing a Map as an Object 2024-02-23 17:14:31 -05:00
David Kincaid
a8a852bf66 Fix negative numbers in params not being formatted correctly (#595) 2024-02-23 11:22:54 -08:00
David Kincaid
51c89a6c35 Add image previews in hovers and fix various errors (#594)
* Fix weak comparisons
* Fix errors when converting resource paths
* Fix type error in register_capabilities
* Add image previews on document link hover
* Add image previews to ExtResource hovers
2024-02-21 14:16:25 -08:00
David Kincaid
0c9c2554fb Syntax highlighting fixes (#593) 2024-02-21 12:07:05 -08:00
David Kincaid
436ff64d07 Fix version check of Godot binary (#592)
* Change default value for godotTools.editorPath.godot4 to "godot"

* Switch godot version check back to using --version
2024-02-21 11:31:32 -08:00
Tristan F
b0f7220f41 Add basic inlay hint support for GDScript (#589)
* Add support for inlay hints in GDScript files
* Add "godotTools.inlayHints.gdscript" and "godotTools.inlayHints.gdresource" settings
* GDScript inlay hints are disabled by default, and marked as experimental
2024-02-21 11:20:36 -08:00
Butch Wesley
0058ffa870 Expose Godot path as getGodotPath command (#586)
adds new command: "godotTools.getGodotPath"

---------

Co-authored-by: David Kincaid <daelonsuzuka@gmail.com>
2024-02-21 10:21:35 -08:00
dependabot[bot]
bf1d739d07 Bump actions/setup-node from 4.0.1 to 4.0.2 (#587)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4.0.1...v4.0.2)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-07 09:00:11 -08:00
dependabot[bot]
13e9b71d44 Bump actions/upload-artifact from 4.3.0 to 4.3.1 (#584)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.0 to 4.3.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.3.0...v4.3.1)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-06 12:05:24 -08:00
Daelon Suzuka
e2f2dc4b93 Improve path handling when starting processes (#575)
`editorPath.godot3/4` setting and `editor_path` debug configuration now correctly handle paths with spaces or surrounded with quotes.
2024-01-24 21:14:39 -05:00
dependabot[bot]
ccfd30755e Bump actions/upload-artifact from 4.2.0 to 4.3.0 (#576)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.2.0...v4.3.0)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-24 08:44:23 -08:00
dependabot[bot]
3b018f115c Bump actions/upload-artifact from 4.0.0 to 4.2.0 (#572)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.0.0 to 4.2.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.0.0...v4.2.0)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-23 13:21:57 -08:00
kaluluosi111
605fe7fa1c fix Godot4.x debug console print multiple logs into one line. (#571) 2024-01-23 13:13:56 -08:00
Daelon Suzuka
4ae31bf99d Launching the editor opens a new custom terminal (#561) 2024-01-06 13:37:59 -08:00
Daelon Suzuka
c5bbd27b04 Clean up project and version detection (#553)
* Fixes #548 
* Add Open Settings button to "select godot exe" prompt
* Cleans up and standardizes Godot binary version detection
* Fix startup dependency order for project dir/file/version checks
* Improve handling of multiple project files
* Create runtime output channel for LSP logging
2024-01-02 02:05:48 -08:00
Daelon Suzuka
34916becd6 Various highlighting/formatting fixes (#559)
* Fix constant attribute access highlighting
* Fix line endings breaking the snapshot tests
* Fix nodepath shorthand formatting
2024-01-02 00:02:30 -08:00
Norbert Ormándi
7462f88848 Fix BBCode [br] not rendering in hover (#557)
Fix BBCode [br] not rendering in hover. This is a workaround to the LSP's incorrect concatenation of doc-comments.
2023-12-28 18:54:03 -08:00
dependabot[bot]
98aa85ed1f Bump actions/setup-node from 4.0.0 to 4.0.1 (#556)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4...v4.0.1)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-22 08:08:55 -08:00
Sandy Gutierrez
0a794ebc1b Add snapshot tests to formatter (#545)
* Add snapshot tests for formatter
* Add test runner to CI

---------

Co-authored-by: David Kincaid <daelonsuzuka@gmail.com>
2023-12-22 03:04:02 -08:00
dependabot[bot]
ec1d9c3ae6 Bump actions/setup-node from 4.0.0 to 4.0.1 (#550)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4.0.0...v4.0.1)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-18 19:48:42 +01:00
dependabot[bot]
d6d211bc00 Bump actions/upload-artifact from 3.1.3 to 4.0.0 (#549)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3.1.3 to 4.0.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3.1.3...v4.0.0)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-18 19:48:35 +01:00
Daelon Suzuka
e7e2d0439d Various QoL Improvements (#529)
* Updated Godot icons (and removed old ones)
* Improve "Debug Pinned Scene" command by making the pinned scene persist between VSCode sessions
* Fix scene file highlighting not working 
* Fix ScenePreview not working in Godot 3
* Add buttons for relevant actions to ScenePreview items
* Add internal document links for SubResource() and ExtResource() statements in scene files
* Add hover for SubResource() and ExtResource() statements in scene files
* Improve ability to right click -> open docs for methods of builtin types (doesn't always work)
* Add a file decorator to show the pinned debug file in the filesystem view/editor tabs
* Add item decorators to the Scene Preview to show Node attributes more clearly
* Updated readme
* Overhauled documentation viewer
* Added GDScript formatter
* Add (disabled) experimental providers for custom completions, semantic tokens, and tasks
* Lots of internal refactoring
2023-12-06 06:53:10 -08:00
mlsvrts
f65033c626 Adjust Godot version detection regex (#526)
* Adjust Godot version detection regex

Signed-off-by: mlsvrts <mlsvrts@protonmail.com>
2023-11-12 11:44:52 -08:00
Daelon Suzuka
a4c1181894 Rewrite debugger for Godot 4 support + improved maintainability (#452)
* Significantly rework the debugger to add Godot 4 support.

* Simplify debugger internal message handling and shorten code paths, to enable easier maintenance in the future.

* Streamline debugger configs: almost all fields are now optional, and the debugger should work out-of-the-box in a wider set of situations.

* Add guardrails, error handling, and input prompts to help guide the user to correct usage/configuration.

* Add the following commands:
  *  godotTools.debugger.debugCurrentFile
  *  godotTools.debugger.debugPinnedFile
  *  godotTools.debugger.pinFile
  *  godotTools.debugger.unpinFile
  *  godotTools.debugger.openPinnedFile

---------

Co-authored-by: RedMser <redmser.jj2@gmail.com>
Co-authored-by: Zachary Gardner <30502195+ZachIsAGardner@users.noreply.github.com>
2023-11-12 07:46:44 -08:00
Daelon Suzuka
55617fdd39 Improve LSP connection behavior (fixes Godot3/4 port issue) (#511)
* Add port auto-fallback when attempting to connect to open editor's LSP

* Improve status widget tooltips

* Fix issue with configuration changes requiring a reload

* Upgraded logger utility
2023-10-28 17:20:19 -07:00
dependabot[bot]
55fd8964a6 Bump actions/setup-node from 3.8.1 to 4.0.0 (#519)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.8.1 to 4.0.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3.8.1...v4.0.0)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-23 10:08:17 -07:00
Ryan Brue
dcbfcb4b4b Syntax highlighting changes (#515)
Better syntax highlighting for properties. Class variables used to be unhighlighted and are now highlighted properly as `variable.other.gdscript`, properties are still highlighted as `variable.other.property.gdscript`
2023-10-21 21:59:20 -04:00
Daelon Suzuka
d8700eaca1 Fix Headless LSP not starting (#513) 2023-10-14 17:11:08 -07:00
Daelon Suzuka
d3b2c5227c Reorganize extension entrypoint (#505)
* Combine godot-tools.ts into extension.ts to put the extension's major components at the same level
2023-10-13 11:33:26 -07:00
dependabot[bot]
1054053a03 Bump actions/setup-node from 3.5.1 to 3.8.1 (#509)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.5.1 to 3.8.1.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3.5.1...v3.8.1)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-13 08:28:55 -07:00
dependabot[bot]
53c3419be3 Bump actions/checkout from 3 to 4 (#507)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-13 08:28:37 -07:00
dependabot[bot]
97f5f4d18c Bump actions/upload-artifact from 3.1.1 to 3.1.3 (#508)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3.1.1 to 3.1.3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3.1.1...v3.1.3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-13 08:28:30 -07:00
Daelon Suzuka
5bfe853f8c Multiple highlighting improvements (#506)
* binary int notation
* `_` spacers in numeric literals
* fixed several instances of incorrect case insensitivity
* @"a", &"b", ^"c", and r"d" style string literals
2023-10-13 01:06:25 -04:00
Daelon Suzuka
37ea21272a Add additional launch profile (#503) 2023-10-11 11:50:10 -07:00
Ryan Brue
f4e4b9c422 Implement headless LSP mode (#488)
* adds new Headless LSP mode
* refactor and simplify LSP client control flow into new `ClientConnectionManager` class
* adds new setting: `godotTools.lsp.headless`, disabled by default
* split `godotTools.editorPath` into `godotTools.editorPath.godot3` and `.godot4`
* fix #373, broken formatting in hovers
* improve right click -> open docs to work on type-annotated variables

---------

Co-authored-by: David Kincaid <daelonsuzuka@gmail.com>
2023-10-10 23:05:22 -04:00
Moritz Tim W
6a9f408d4e Improve debugger setup instructions (#491)
* update config instructions

* clarify config instructions
2023-09-15 09:07:22 -07:00
EJ
acfcfdbdab feat(snippets): add match statement (#476) 2023-08-27 22:06:41 +02:00
s
4e486e353c Add warning and instructions for using Godot 4 to README (#479)
* add warning and instructions to README.md for godot 4

- add warning at top of README.md about manual configuration required for use with Godot 4
- add instructions in VS Code configuration setting about what value to use for Godot 4
- lightly reformat VS Code configuration section to better allow for multi-line setting descriptions and anchor linking (so the warning at the top of the readme can directly link to the relevant section)
- remove `checkStatus` setting which appears to no longer exist

* amend README faq section to add info about Godot 4
2023-06-20 05:30:55 -07:00
sequpt
931ec50614 Fix wrong section-identifier used to retrieve configuration (#475)
Fix #474
2023-05-06 13:11:51 -07:00
Ryan
41f40ee38f Fix spelling mistake when getting port and host from configuration (#465)
This fixes an issue where port isn't respected after being changed.
2023-04-22 23:55:37 +02:00
oidro
cdc550a412 Restructure and rename settings
Co-authored-by: David Kincaid <daelonsuzuka@gmail.com>
2023-03-26 13:32:36 -07:00
Daelon Suzuka
a561c523ee Fix errors left after cleaning up plugin initialization process (#459) 2023-03-16 00:26:19 +01:00
Daelon Suzuka
df386efa54 Add Godot 4 support to the Scene preview panel (#451) 2023-03-14 18:13:32 +01:00
Daelon Suzuka
3ce256379f Fix various syntax highlighting problems (#441) 2023-03-14 18:10:54 +01:00
Daelon Suzuka
f76a8f2937 Clean up plugin initialization process (#439) 2023-03-14 18:10:26 +01:00
Daelon Suzuka
0636797c22 Add scene preview panel (#413) 2022-10-26 16:20:28 +02:00
Daelon Suzuka
5a67e4c78d Fix errors in grammar syntax (#416) 2022-10-26 01:47:31 +02:00
dependabot[bot]
8cef9532a7 Bump actions/upload-artifact from 3.1.0 to 3.1.1 (#433)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-25 11:09:02 -07:00
dependabot[bot]
9ac029561d Bump actions/setup-node from 3.4.1 to 3.5.1 (#430)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-25 11:08:40 -07:00
kemgoblin
570e848f03 Add "_unhandled_input" snippet (#422) 2022-09-16 09:57:51 -07:00
Daelon Suzuka
fb82ef69e5 Fix incorrect highlighting in dictionary literals (#419) 2022-09-09 17:59:58 +02:00
Daelon Suzuka
e7674c12ad Add "Open Type Documentation" context menu option (#405)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-08-22 02:13:31 +02:00
Daelon Suzuka
441873eb6d Fix internal document link handling (#410)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-08-22 02:13:01 +02:00
Daelon Suzuka
dfe23195eb Fix various highlighting errors (#407)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-08-21 21:46:41 +02:00
kemgoblin
b3f4dda47e Add _physics_process snippet (#411) 2022-08-21 21:40:39 +02:00
Butch Wesley
fb4d40858c Add "additional options" to launch debugger with (#363) 2022-08-16 21:27:46 -07:00
Daelon Suzuka
cf432a17fb Improve extension startup performance (#408)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-08-13 18:59:10 +02:00
Tomasz Wyrowiński
f2145688b1 Improve displaying symbols documentation (#404)
Co-authored-by: Tomasz Wyrowiński <tomasz.wyrowinski@10clouds.com>
2022-08-11 12:48:49 -07:00
Daelon Suzuka
ef450cad38 Fix OS singleton being incorrectly highlighted as a constant (#402) 2022-08-07 08:09:09 +02:00
Daelon Suzuka
ec95c21b84 Add highlighting support for %Unique nodes in NodePaths (#403)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-08-06 09:07:31 +02:00
Daelon Suzuka
6dc5a8293f Update gdshader syntax (#397)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-08-06 08:52:59 +02:00
Daelon Suzuka
868ec5116f Fix func keyword highlighting (#398) 2022-07-23 02:31:31 +02:00
Daelon Suzuka
e539a4e7a9 Replace temporary .gdshader syntax with more extensive support (#360) 2022-07-21 00:09:16 +02:00
dependabot[bot]
50dd95ffcb Bump actions/setup-node from 3.3.0 to 3.4.1 (#393)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-14 17:38:46 +02:00
Zachary Gardner
4562bf1c31 Fix overaggressive formatting when adding lines after if statement (#385)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-06-17 01:03:00 +02:00
Zachary Gardner
fd11e47662 Fix some typos (#384) 2022-06-16 22:49:17 +02:00
Hugo Locurcio
e344cdf2fc Bump to version 1.3.1 2022-06-07 17:44:12 +02:00
dependabot[bot]
a116454b5a Bump actions/setup-node from 3.2.0 to 3.3.0 (#378)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3.2.0...v3.3.0)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-06 18:15:25 +02:00
oidro
94e5a9e95d Fix operator syntax highlighting when next to an opening parenthesis (#375) 2022-06-02 23:37:33 +02:00
Daelon Suzuka
372936b606 Fix regression in launching debugger (#371)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-05-28 22:23:08 +02:00
dependabot[bot]
ad7665f35f Bump actions/upload-artifact from 2 to 3.1.0 (#369)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-20 17:06:54 +02:00
dependabot[bot]
9ea9ce0915 Bump actions/setup-node from 3.1.0 to 3.2.0 (#364)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-16 23:20:48 +02:00
Daelon Suzuka
13bd54d2fe Add workspace file to .gitignore (#359)
Having a `workspace.code-workspace` file in the root of this workspace
will cause the Extension Development Host to automatically open the
specified folder.

I'm adding this to the gitignore instead of committing a workspace file directly
because I often want to specify a real project for testing, and that local path
obviously shouldn't be committed.

This workspace file will cause the Extension Development Host to open
the godot-tools folder as a workspace. Simply replace the path with a path
to a real project to open that instead.
2022-05-11 16:30:02 +02:00
Hugo Locurcio
7b49c4b3e8 Bump to version 1.3.0 2022-05-09 23:02:59 +02:00
Hugo Locurcio
588df8fd93 Mention that the Godot editor must be running in connection error message (#358) 2022-05-09 14:44:19 +02:00
Daelon Suzuka
f860020c63 Add context menu options to copy resource path (#357)
* Add feature
* Fix "open_workspace_with_editor" command
* Added option to tab title context menu
* Add ability to get resource path using command palette
* Update lockfile

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-05-08 23:47:53 +02:00
Anton Vakhtel
1d76541f04 Add strict onEnterRules for controlling indentation (#344)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-05-06 17:33:49 +02:00
Daelon Suzuka
fb96098c70 Fix keywords being incorrectly highlighted as function calls (#353) 2022-04-28 01:16:44 +02:00
Hugo Locurcio
0835506157 Add download links for stable releases and development builds to README (#343) 2022-04-24 17:17:04 +02:00
Daelon Suzuka
2cfbed2dad Fix syntax highlighting edge cases (#350)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-04-22 15:35:36 +02:00
Daelon Suzuka
5e0d108953 Add missing NodePath-using functions (#348) 2022-04-18 23:37:06 +02:00
Daelon Suzuka
78e37e8016 Overhaul syntax highlighting (#342)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-04-11 18:33:16 +02:00
Anton Vakhtel
547b92ad80 Add option to run the project with visible collision shapes and navigation (#312)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-04-07 02:27:13 +02:00
Daelon Suzuka
4ac06a7691 Add configurable auto-reconnect (#341)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-04-06 17:46:50 +02:00
Hugo Locurcio
d404eaedc6 Bump to version 1.2.0 2022-04-05 22:52:09 +02:00
Adam Chyb
854ec42027 Fix some $ node path shorthand regex bugs in syntax highlighting (#340) 2022-04-05 16:57:49 +02:00
dependabot[bot]
281c78f133 Bump actions/setup-node from 3.0.0 to 3.1.0 (#339)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-01 19:44:48 +02:00
dependabot[bot]
a254b55aa5 Bump minimist from 1.2.5 to 1.2.6 (#333)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-27 20:21:01 +02:00
Brian Bugh
1be4ccaaad Add macOS editor location to README since it's not obvious (#332)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-03-20 17:20:25 +01:00
Rémi Verschelde
1755e2f3c3 Merge pull request #264 from Razoric480/master
Update client to v7.0.0 to use 3.16.0 spec
2022-03-19 23:41:06 +01:00
Francois Belair
f9a5204dcf Update client to v7.0.0 to use of 3.16.0 spec 2022-03-19 15:32:40 -04:00
Rémi Verschelde
62cb49e506 Merge pull request #303 from kagof/master 2022-03-19 17:38:53 +01:00
johnjdonna
c347a522a3 Add support for setting language-server-host (#297) 2022-03-19 17:36:48 +01:00
Quan
293cc8c1fb Fix "static func" indent error (#279) 2022-03-19 17:32:57 +01:00
Rémi Verschelde
f21d7517c4 Merge pull request #331 from godotengine/dependabot/npm_and_yarn/simple-get-3.1.1 2022-03-19 17:30:26 +01:00
dependabot[bot]
314288b592 Bump simple-get from 3.1.0 to 3.1.1
Bumps [simple-get](https://github.com/feross/simple-get) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/feross/simple-get/releases)
- [Commits](https://github.com/feross/simple-get/compare/v3.1.0...v3.1.1)

---
updated-dependencies:
- dependency-name: simple-get
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-19 16:29:20 +00:00
Rémi Verschelde
c3c615825d Merge pull request #316 from Calinou/update-extension-metadata 2022-03-19 17:29:19 +01:00
Rémi Verschelde
6ebc866ce1 Merge pull request #313 from Calinou/update-dependencies 2022-03-19 17:28:57 +01:00
Hugo Locurcio
fb498a7502 Add GitHub issue templates (#326) 2022-03-19 17:02:34 +01:00
oidro
ee80ea914b Improve syntax highlighting (#330)
This pull request makes the syntax highlighting of GDScript more closely match
the built-in Godot editor's, as well as VSCode's Python syntax highlighting.
2022-03-19 17:02:10 +01:00
dependabot[bot]
158c0c38bf Bump actions/checkout from 2 to 3 (#329)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-02 18:39:46 +01:00
kurtlachmann
f1e57e5443 Fix restart of debugging sessions (#327) 2022-02-26 00:28:29 +01:00
dependabot[bot]
e78a8b8f86 Bump actions/setup-node from 2.5.1 to 3.0.0 (#322)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-24 18:17:34 +01:00
kurtlachmann
c03ab7e3f5 Fix "Continue" for multiple breakpoints in the same script (#324) 2022-02-24 17:56:11 +01:00
Raul Santos
12858a2e05 Use the LSP defined SymbolKind enum and fix marked (#325) 2022-02-24 17:25:43 +01:00
Hugo Locurcio
355c0f8614 Update dependencies, recommend local TypeScript and vsce
Local package installations should be favored over global installations
to avoid conflicts when working on multiple projects on the same system.

Only dependencies that did not cause the build to break were updated.

- Add `package` npm script to run local vsce installation.
2022-02-18 19:35:19 +01:00
Hugo Locurcio
650170ce13 Update extension metadata for better presentation on VS Marketplace
This also updates copyright statements to 2022.
2022-01-27 14:52:16 +01:00
Hugo Locurcio
1b358fadec Bump to version 1.1.3 2022-01-27 14:22:06 +01:00
Rémi Verschelde
20dc0445c3 Merge pull request #311 from godotengine/dependabot/npm_and_yarn/marked-4.0.10 2022-01-23 00:21:54 +01:00
Rémi Verschelde
1a932d5283 Merge pull request #273 from godotengine/dependabot/npm_and_yarn/ws-7.4.6 2022-01-23 00:21:43 +01:00
Rémi Verschelde
975acd7aa4 Merge pull request #268 from godotengine/dependabot/npm_and_yarn/lodash-4.17.21 2022-01-23 00:21:30 +01:00
dependabot[bot]
1ec75dc622 Bump marked from 0.7.0 to 4.0.10
Bumps [marked](https://github.com/markedjs/marked) from 0.7.0 to 4.0.10.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json)
- [Commits](https://github.com/markedjs/marked/compare/v0.7.0...v4.0.10)

---
updated-dependencies:
- dependency-name: marked
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-15 02:55:15 +00:00
dependabot[bot]
6fe93c9c6b Bump actions/setup-node from 2.3.2 to 2.5.1 (#309)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2.3.2 to 2.5.1.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.3.2...v2.5.1)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-28 18:15:42 +01:00
Francois Belair
363160ee3b Fix conditional breakpoints being parsed as regular breakpoints (#278)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2021-11-03 15:15:42 +01:00
Karl Goffin
9fa3031699 fixes #302 handling of Windows terminals determined by profiles 2021-10-10 10:44:05 +01:00
dependabot[bot]
ce30e6ed95 Bump path-parse from 1.0.6 to 1.0.7 (#293)
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)

---
updated-dependencies:
- dependency-name: path-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-12 23:26:04 +02:00
dependabot[bot]
2364664f7a Bump actions/setup-node from 2.2.0 to 2.3.2 (#290)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2.2.0 to 2.3.2.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.2.0...v2.3.2)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-04 17:19:14 +02:00
dependabot[bot]
21cfd82f4d Bump actions/setup-node from 2.1.5 to 2.2.0 (#284)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2.1.5 to 2.2.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.1.5...v2.2.0)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-30 18:40:45 +02:00
Vlad-Zumer
29f1bc0ceb Change $ node path shorthand regex to match only valid paths (#276)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2021-06-15 18:39:29 +02:00
Vlad-Zumer
338b6ae977 Added 'in' to the list of keywords and added rule for $ shorthand (#274) 2021-06-14 00:23:46 +02:00
dependabot[bot]
71a4a0420d Bump ws from 7.3.0 to 7.4.6
Bumps [ws](https://github.com/websockets/ws) from 7.3.0 to 7.4.6.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.3.0...7.4.6)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-30 19:55:21 +00:00
dependabot[bot]
383dcc9507 Bump lodash from 4.17.20 to 4.17.21
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.20 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.20...4.17.21)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-11 22:19:26 +00:00
Lightning_A
5c5c19b534 Fix typo in snippets: "decleration" -> "declaration" (#262) 2021-03-15 17:12:45 +01:00
dependabot[bot]
91da651444 Bump actions/setup-node from v2.1.4 to v2.1.5 (#261)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from v2.1.4 to v2.1.5.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.1.4...46071b5c7a2e0c34e49c3cb8a0e792e86e18d5ea)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-23 15:04:23 +01:00
iammrtndev
f2a6288276 Add "remote" keyword for highlighting (#257)
"remote" is currently not highlighted. https://imgur.com/WkP9STd
2021-02-07 16:57:48 +01:00
dependabot[bot]
a8872c2e56 Bump actions/setup-node from v2.1.3 to v2.1.4 (#251)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from v2.1.3 to v2.1.4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.1.3...c46424eee26de4078d34105d3de3cc4992202b1e)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-17 13:41:49 +01:00
dependabot[bot]
e9f674d9e7 Bump actions/setup-node from v2.1.2 to v2.1.3 (#250)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from v2.1.2 to v2.1.3.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.1.2...27082cecf3ff7a1742dbd5e12605f0cb59dce2d9)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-11 15:31:02 +01:00
Nils "Linkpy" Reid
116d74d355 Remove the configuration item 'godot-tools.check_config' as it has no effect (#246)
This closes #240.
2020-10-29 00:05:59 +01:00
Nils "Linkpy" Reid
e60d081927 Fixed the syntax of the escaped characters in strings (#247) 2020-10-28 15:16:03 +01:00
Nils "Linkpy" Reid
8115fba367 Clarify the function of the extra integer given by the debugger (#245)
This closes #242.
2020-10-27 17:44:45 +01:00
dependabot[bot]
60cb0c57fc Bump actions/setup-node from v1 to v2.1.2 (#237)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from v1 to v2.1.2.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v1...c6fd00ceb9747fb23ffdf72987450a2664414867)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-14 14:13:19 +02:00
John Losito
0c4e2a1177 Check for updates to GitHub Actions every weekday (#236) 2020-10-11 20:28:53 +02:00
Arrow-x
e351d07d33 Document access to the class reference from the extension (#234)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2020-10-03 00:37:20 +02:00
Geequlim
54453e34ae update version to 1.1.2 2020-09-19 13:59:02 +08:00
Geequlim
c13f48c1f4 Merge pull request #229 from Razoric480/fix-malformed-msg
Fix no header, non-TCP compliant msg for natives
2020-09-19 13:48:01 +08:00
Francois Belair
c5f1ba1a0f Fix no header, non-TCP compliant msg for natives
Add text-search widget to native symbol page

Fixes #210
2020-09-15 11:27:06 -04:00
Grant Forrest
8cf10c6554 Add check for PowerShell 7 executable name (#218) 2020-09-11 00:24:28 +02:00
phaitonican
c68c91faf8 Add exception handling during trigger command (#179) 2020-09-08 17:53:58 +02:00
Francois Belair
3a112f2f79 Move grammar from configurations to syntaxes directory (#228)
This enables Github's linguist to pick up on an up to date GDScript
 grammar file and better highlight GDScript files on Github without
impacting the extension's functions.
2020-09-08 16:43:15 +02:00
Ram Yerrappa
b84013719c Add ability for user to set scene file on right click in explorer (#182) 2020-09-08 16:18:32 +02:00
dependabot[bot]
bb712533e6 Bump lodash from 4.17.15 to 4.17.20 (#227)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.20.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.20)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-08 16:16:31 +02:00
Hugo Locurcio
dc1a7e06e8 Set up continuous integration using GitHub Actions (#197)
The extension will be built and uploaded to artifacts so it can be
tested easily by users.

This also fixes warnings reported by TSLint.
2020-09-08 16:08:44 +02:00
Francois Belair
d2d7813312 Fix debug server not closing properly, fix set breakpoints before project path is set (#183) 2020-09-08 15:56:00 +02:00
Francois Belair
d3914bceaf Fix breakpoints out of order and confusing VSCode (#217) 2020-09-08 15:55:32 +02:00
Hugo Locurcio
8d22cc9e8f Merge pull request #209 from Calinou/remove-trace-builtins-script
Remove unused `trace_builtins.py` script
2020-07-05 16:16:26 +02:00
Hugo Locurcio
0742deed36 Remove unused trace_builtins.py script
This closes #191.
2020-06-27 19:31:02 +02:00
Hugo Locurcio
b793da7ef7 Merge pull request #199 from Razoric480/document-building 2020-06-18 09:20:48 +02:00
Francois Belair
340f032f24 Add instructions on compiling extension to readme
Fixes #194
2020-06-17 13:18:49 -04:00
Geequlim
4cb9394847 Merge pull request #190 from Calinou/remove-extends-snippet
Remove `extends` snippet which no longer works since Godot 3.0
2020-06-04 20:29:00 +08:00
Hugo Locurcio
2042b5eb22 Remove extends snippet which no longer works since Godot 3.0
- Remove `set_process(true)`/`set_process_input(true)` snippets
  since these are enabled automatically in Godot 3.0 onwards.
2020-06-04 09:52:09 +02:00
Geequlim
56770d79f3 Add TCP protocol support for godot 3.2.2
Fix #154
Fix #177
Close #141
2020-05-13 23:07:52 +08:00
Geequlim
658a360c97 Merge pull request #178 from Razoric480/debugger-fix-patch
Fix scene_file and launch failure bug
2020-05-11 18:10:46 +08:00
Francois Belair
e92048c85b Fix scene_file config; fix launch failure
- scene_file used an unnecessary call to path.relative that prevented
proper use. Fixes #176
- If the debugger failed to launch, it would fail on future attempts.
2020-05-11 02:51:11 -04:00
Geequlim
3bcfbe81b0 Merge pull request #174 from Razoric480/debugger-output-fix
Fix debugger not showing output text
2020-05-06 10:47:46 +08:00
Francois Belair
cb19255e28 Fix debugger not showing output text
Or rather, the output window never got created. Fixes #173
2020-05-05 11:26:04 -04:00
Geequlim
97587b5b31 Merge pull request #170 from Razoric480/default-config-debugger-patch
Fix default debug config not using full filepath
2020-05-05 10:29:27 +08:00
Francois Belair
1c2b3ffadc Fix default debug config not using full filepath
As a result, it couldn't find project.godot even when one was there.
Fixes #167
2020-05-04 14:31:09 -04:00
Geequlim
ccad4acfac Merge pull request #159 from GiorgiBeriashvili/patch-1
Fix a typo
2020-04-26 22:20:15 +08:00
Geequlim
667e70b142 Merge pull request #165 from Razoric480/debugger-scene-tree
Add debugging support to the extension
2020-04-26 22:19:22 +08:00
Francois Belair
4f7bb4ccec Add screenshot for completeness 2020-04-22 22:48:10 -04:00
rakkarage
85ad8512bb Use Properties syntax highlighting for .import files 2020-04-22 22:48:10 -04:00
Francois Belair
098fb976b6 Add debugger to project
Step-in/over/out
Continue
Pause (though since Godot pausing doesn't report a breakpoint, the
  editor doesn't change, but hitting pause again will resume)
Locals, members and globals scopes for variables while broken
Scope drilling and objects-within-objects, including for Object types
Exceptions breaking to not allow continue/step-in/step/resume
Stack trace and jumping between those frames
The ability to launch a game instance to debug with or to attach to a
  debugger after the fact, a game instance pointing at the currently
  opened TSCN, or to specify a TSCN file.
Active scene tree is displayed and its nodes can be accessed in the
  Inspector
Inspector allows to browse nodes and values, and edit primitives
  (int, float, strings, bools.)
2020-04-22 22:48:03 -04:00
rakkarage
0c9a3e0e59 Use Properties syntax highlighting for .import files 2020-03-31 21:30:43 +02:00
Giorgi Beriashvili
f8db70dc22 Fix a typo 2020-03-12 02:06:05 +04:00
geequlim
518c07866e publish 1.0.3 2020-02-14 15:36:59 +08:00
geequlim
af11664b05 Fix hover popup functionality for VSCode 1.42+ 2020-02-14 15:20:22 +08:00
geequlim
b97ba1df4f Add in to keyword list 2020-02-12 18:09:43 +08:00
Geequlim
2a467ed990 Release version 1.0.1 2020-01-30 00:12:21 +08:00
Geequlim
60937ad776 Fix run editor error on windows with default terminal configurations 2020-01-30 00:11:23 +08:00
Geequlim
0ac1299f47 Release 1.0.0 2020-01-29 20:44:33 +08:00
Geequlim
cf22aa3595 Merge pull request #138 from sevkin/137
check before calling platform-specific code
2020-01-26 16:27:00 +08:00
Vsevolod Balashov
c41bd642f0 check before calling platform-specific code
closes #137
2020-01-26 02:29:34 +03:00
geequlim
8d8f5c2d9b Support reconnect to language server when server port changed 2020-01-12 00:00:17 +08:00
Geequlim
119a7ebd23 Merge pull request #134 from Bromeon/bugfix/highlight-camel-case
Fix syntax highlighting for camelCase identifiers
2020-01-10 23:54:50 +08:00
Jan Haller
555cb1ce9a Fix syntax highlighting for camelCase identifiers
Currently, any occurrences of PascalCase identifiers (even as parts of other words) are recognized as classes.
This assumes snake_case convention for all methods and variables and makes it impossible to use camelCase. While this is the recommended GDScript style, the syntax highlighter should allow for different styles as long as it can do so unambiguously. This is already done for existing rules, but overridden by one rule with an overly general regex pattern.

This commit modifies the catch-all rule for the 'parscal_class' group to only capture whole words.
For clarity, it renames 'parscal_class' to 'pascal_case_class'.

Other groups to recognize classes remain unchanged: type_declear, function-return-type, class_def, class_new, class_is, class_enum, class_name, extends
2019-12-29 18:00:31 +01:00
geequlim
ca3a1e62c4 Fix status icon color bug 2019-12-07 14:03:59 +08:00
geequlim
61e05e7d6e Update dependencies 2019-12-07 14:03:38 +08:00
Geequlim
96b833851d Merge pull request #124 from Calinou/improve-messages
Improve messages for consistency and fix typos
2019-11-06 00:25:49 +08:00
Hugo Locurcio
602cc895c0 Improve messages for consistency and fix typos 2019-11-04 18:52:53 +01:00
geequlim
41a58d76b1 Fix indent in GDScript.tmLaguage.json 2019-10-27 12:04:42 +08:00
Geequlim
8d6992822e Merge pull request #123 from OrenjiAkira/master
Fix class_name statement bug
2019-10-27 12:00:41 +08:00
orenjiakira
f0914742e1 Fix class_name statement bug 2019-10-26 16:07:09 -03:00
Geequlim
a1e020560d Merge pull request #120 from Calinou/improve-readme
Improve the README and fix various typos
2019-10-10 23:31:51 +08:00
Hugo Locurcio
cf9e478b12 Improve the README and fix various typos 2019-10-10 17:29:43 +02:00
Geequlim
d155016b08 Merge pull request #121 from Calinou/optimize-images
Optimize images losslessly using `oxipng -o6 --strip --zopfli`
2019-10-10 23:28:36 +08:00
Hugo Locurcio
40b09491ac Optimize images losslessly using oxipng -o6 --strip --zopfli 2019-10-10 17:04:21 +02:00
Geequlim
24c29452c7 Fix typo in readme 2019-10-09 15:15:25 +08:00
Geequlim
ecffd631a8 Update version to 1.0.0 ! 2019-10-09 14:47:21 +08:00
Geequlim
3645e431d3 Add command to list godot native classes 2019-10-09 13:30:21 +08:00
Geequlim
e2febb81b1 Setup class inherit tree and render in native documentation page 2019-10-09 13:14:04 +08:00
Geequlim
f07e1154ef Improve native documentation webview renderer
Make prism as a custom lib instead of node module to reduce the binary size
2019-10-08 19:34:47 +08:00
geequlim
a563a3584a Bump to 0.9.1 2019-10-06 17:09:09 +08:00
geequlim
758aafc570 Render docs of native symbols in webview mostly works now 2019-10-06 17:06:49 +08:00
geequlim
eba90dbbf9 Jump between native documentations 2019-10-04 20:54:47 +08:00
geequlim
47647a05ae [WIP] Add NativeDocumentManager to show native symbol informations 2019-10-04 19:22:02 +08:00
geequlim
28e284f0ad Improve code hlighting 2019-10-04 14:15:42 +08:00
Geequlim
c26320ec03 Merge pull request #118 from pduzinki:fix-string-highlighting
fix string literal highlighting
2019-10-04 13:05:26 +08:00
pawel duzinkiewicz
7d20df3b35 fix string literal highlighting 2019-10-03 19:58:38 +02:00
Geequlim
a84548aeac Merge pull request #116 from anoadragon453/patch-2
typo fix
2019-09-27 11:12:04 +08:00
Andrew Morgan
0ae80d6bcd typo fix
small typo fix
2019-09-26 23:54:47 +01:00
geequlim
325b17a29c transfer to godotengine/godot-vscode-plugin 2019-08-28 22:36:45 +08:00
geequlim
0938b6384a Fix crash with detect shell configurations of VSCode settings 2019-08-28 22:15:42 +08:00
Geequlim
3064849452 Fix error with restart godot editor
Move more client related code to GDScriptLanguageClient
2019-06-26 17:29:06 +08:00
Geequlim
c416ea6789 Allow retry connect to editor after ignored retry 2019-06-26 12:08:10 +08:00
Geequlim
1e22ac0d9a Fix release build 2019-06-25 17:33:25 +08:00
Geequlim
61e1cafdfe The GDScript LSP Client is works correctly ! 2019-06-25 17:16:59 +08:00
Geequlim
1844dd570b Merge pull request #102 from ankitpriyarup/lsp-client
minor addition in configuration and grammar files
2019-05-31 19:17:31 +08:00
Ankit Priyarup
ff7f31776a minor addition in configuration and grammar files
comment folding, addition of new keywords in grammar, removing wrong comments from snippets which was causing problem
2019-05-31 15:13:40 +05:30
geequlim
fafabc3b34 improve syntax highlight of GDScript 2019-05-22 22:20:54 +08:00
Geequlim
d6331fee89 Implement MessageTransports for the websocket connection
Drop stream wrap fro the websocket connection
2019-05-21 10:47:34 +08:00
geequlim
41b36e6e95 Warp the websocket connection to a mock stream 2019-05-19 18:46:14 +08:00
geequlim
ece1f3118d Checkout new GDScriptLanguageClient branch 2019-05-04 19:48:36 +08:00
1232 changed files with 26055 additions and 179809 deletions

7
.editorconfig Normal file
View File

@@ -0,0 +1,7 @@
root = true
[*]
charset = utf-8
end_of_line = lf
indent_style = tab
insert_final_newline = true

55
.eslintrc.json Normal file
View 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
View 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
View 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.

View 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
View File

@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"

81
.github/workflows/ci.yml vendored Normal file
View 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@v4
- name: Install Node.js
uses: actions/setup-node@v4.2.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@v4
- name: Install Node.js
uses: actions/setup-node@v4.2.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.1
with:
name: godot-tools
path: godot-tools.vsix

9
.gitignore vendored
View File

@@ -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
View 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',
}
);

5
.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,5 @@
{
"recommendations": [
"ms-vscode.extension-test-runner"
]
}

95
.vscode/launch.json vendored
View File

@@ -1,28 +1,73 @@
// A launch configuration that compiles the extension and then opens it inside a new window
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
{
"version": "0.1.0",
"configurations": [
{
"name": "Launch Extension",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": ["--extensionDevelopmentPath=${workspaceRoot}" ],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": ["${workspaceRoot}/out/src/**/*.js"],
"preLaunchTask": "npm"
},
{
"name": "Launch Tests",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": ["--extensionDevelopmentPath=${workspaceRoot}", "--extensionTestsPath=${workspaceRoot}/out/test" ],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": ["${workspaceRoot}/out/test"],
"preLaunchTask": "npm"
}
]
"version": "0.2.0",
"configurations": [
{
"name": "Run Extension",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
],
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"skipFiles": [
"**/extensionHostProcess.js",
"<node_internals>/**/*.js"
],
"preLaunchTask": "npm: watch",
"env": {
"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"
}
},
]
}

View File

@@ -6,5 +6,9 @@
"search.exclude": {
"out": true // set this to false to include "out" folder in search results
},
"typescript.tsdk": "./node_modules/typescript/lib" // we want to use the TS server from our node_modules folder to control its version
// Turn off tsc task auto detection since we have the necessary tasks as npm scripts
"typescript.tsc.autoDetect": "off",
"prettier.useTabs": true,
}

48
.vscode/tasks.json vendored
View File

@@ -1,30 +1,20 @@
// Available variables which can be used inside of strings.
// ${workspaceRoot}: the root folder of the team
// ${file}: the current opened file
// ${fileBasename}: the current opened file's basename
// ${fileDirname}: the current opened file's dirname
// ${fileExtname}: the current opened file's extension
// ${cwd}: the current working directory of the spawned process
// A task runner that calls a custom npm script that compiles the extension.
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
{
"version": "0.1.0",
// we want to run npm
"command": "npm",
// the command is a shell script
"isShellCommand": true,
// show the output window only if unrecognized errors occur.
"showOutput": "silent",
// we run the custom script "compile" as defined in package.json
"args": ["run", "compile", "--loglevel", "silent"],
// The tsc compiler is started in watching mode
"isBackground": true,
// use the standard tsc in watch mode problem matcher to find compile problems in the output.
"problemMatcher": "$tsc-watch"
}
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"script": "watch",
"problemMatcher": "$tsc-watch",
"isBackground": true,
"presentation": {
"reveal": "never"
},
"group": {
"kind": "build",
"isDefault": true
}
}
]
}

48
.vscode/test_files.code-snippets vendored Normal file
View 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"
},
}

View File

@@ -1,9 +1,15 @@
.vscode/**
.vscode-test/**
out/test/**
test/**
src/**
**/*.map
.gitignore
tsconfig.json
vsc-extension-quickstart.md
*
*/**
**/*.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

View File

@@ -1,11 +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
### 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": {
@@ -16,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",
@@ -93,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
View 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
}
}
```

View File

@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2016-2017 Geequlim
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
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.

243
README.md
View File

@@ -1,64 +1,223 @@
A complete set of tools to code games with the [Godot game engine](http://www.godotengine.org/) in Visual Studio Code.
# Godot Tools
## Features
Game development tools for working with [Godot Engine](http://www.godotengine.org/) in Visual Studio Code.
The extension comes with a wealth of features to make your Godot programming experience as comfortable as possible:
**IMPORTANT NOTE:** Versions 1.0.0 and later of this extension only support
Godot 3.2 or later.
- Syntax highlighting for the GDscript (`.gd`) language
- Syntax highlighting for the `.tscn` and `.tres` scene formats
- Function definitions and documentation display on hover (see image below)
- Rich auto-completion
- Static code validation
- Open projects and scenes in Godot from VS Code
- Ctrl-click on a variable or method call to jump to its definition
- Full documentation of the Godot engine's API supported
- [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)
![Showing the documentation on hover feature](img/godot-tools.jpg)
## Available Commands
# Features
The extension adds a few entries to the VS Code Command Palette under "GodotTools":
(**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
# 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":
- Update workspace symbols
- Run workspace as Godot project
- Open workspace with Godot editor
- Run current scene
- 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:
- **GodotTools.godotVersion** - The Godot version of your project.
- **GodotTools.editorPath** - The absolute path to the Godot executable. Required to run the project and test scenes directly from VS Code.
- **GodotTools.workspaceDocumentWithMarkdown** - Control how the documentation of workspace symbols should be rendered: as plain text or as HTML from Markdown.
- **GodotTools.ignoreIndentedVars** - Only parse variables defined on lines without an indentation.
- **GodotTools.parseTextScene** - Parse a file as a Godot scene when the file name ends with `.tscn`.
- **GodotTools.completeNodePath** - Show node paths within a workspace as part of code completion.
- **GodotTools.godotProjectRoot** - Your Godot project's directory, which contains `project.godot` or `engine.cfg`.
## Issues and Contributions
- `godotTools.editorPath.godot3`
- `godotTools.editorPath.godot4`
The [Godot Tools](https://github.com/GodotExplorer/godot-tools) extension and [engine modules](https://github.com/GodotExplorer/editor-server) are both hosted on GitHub. Feel free to open issues there 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"
![Run and Debug View](img/run-and-debug.png)
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.
![Showing the debugger in action](img/godot-debug.png)
## 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 isn't Intellisense showing up for me?
Make sure you save your `.gd` file, then run "GodotTools: Update Workspace Symbols" from the Command Palette.
### Why does it fail to connect to the language server?
## TODO:
* Convert official BBCode documentation into Markdown and render it into HTML with documentation previewer pages
* Add mermaid support with documentation
* Undefined variable checking
- 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 dynamically typed script language. The language server can't
infer all variable types.
- To increase the number of results displayed, open the **Editor Settings**,
go to the **Language Server** section then check **Enable Smart Resolve**.
### 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**

26
biome.json Normal file
View File

@@ -0,0 +1,26 @@
{
"vcs": {
"defaultBranch": "master"
},
"formatter": {
"enabled": true,
"formatWithErrors": false,
"indentStyle": "tab",
"indentWidth": 4,
"lineWidth": 120,
"lineEnding": "lf",
"include": ["src/**/*.ts"]
},
"files": {
"include": ["src/**/*.ts"],
"ignore": ["node_modules"]
},
"linter": {
"rules": {
"style": {
"noUselessElse": "off",
"useImportType": "off"
}
}
}
}

File diff suppressed because one or more lines are too long

View File

@@ -1,274 +0,0 @@
{
"fileTypes": [
"gd"
],
"scopeName": "source.gdscript",
"name": "GDScript",
"patterns": [
{ "include": "#base_expression" },
{ "include": "#self" },
{ "include": "#logic_op" },
{ "include": "#compare_op" },
{ "include": "#arithmetic_op" },
{ "include": "#assignment_op" },
{ "include": "#keywords" },
{ "include": "#const_def" },
{ "include": "#var_def" },
{ "include": "#class_def" },
{ "match": "\\b(?i:export|tool)\\b", "name": "storage.modifier.static.gdscript" },
{ "include": "#builtinFuncs" },
{
"match": "\\b([A-Za-z_]\\w*)\\b(?=\\s*(?:[(]))",
"name": "support.function.any-method.gdscript"
},
{
"match": "(?<=[^.]\\.)\\b([A-Za-z_]\\w*)\\b(?![(])",
"name": "variable.other.property.gdscript"
},
{ "include": "#function-declaration" },
{
"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"
},
{ "include": "#builtinClasses" },
{ "include": "#builtinProps" },
{ "include": "#builtinConsts" },
{ "include": "#const_vars" }
],
"repository": {
"comment": {
"captures": {
"1": {
"name": "punctuation.definition.comment.number-sign.gdscript"
}
},
"match": "(#).*$\\n?",
"name": "comment.line.number-sign.gdscript"
},
"strings": {
"patterns": [{
"begin": "\"",
"end": "(?<!\\\\)\"",
"name": "string.quoted.double.gdscript"
},
{
"begin": "'",
"end": "(?<!\\\\)'",
"name": "string.quoted.single.gdscript"
},
{
"begin": "@\"",
"end": "(?<!\\\\)\"",
"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:elif|else|for|if|while|break|continue|pass|in|is|return|onready|setget|enum|match|breakpoint|tool|extends|signal|class)\\b",
"name": "keyword.control.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.other.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": "support.member.gdscript" }
}
},
"class_def": {
"captures": {
"1": { "name": "entity.name.type.class.gdscript" },
"2": { "name": "class.other.gdscript" }
},
"match": "(?<=^class)\\s+([a-zA-Z_]\\w*)\\s*(?=:)"
},
"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"
},
"builtinClasses": {
"match": "(?<![^.]\\.|:)\\b(Vector2|Vector3|Color|Rect2|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D)\\b",
"name": "support.class.library.gdscript"
},
"const_vars": {
"match": "\\b([A-Z_0-9]+)\\b",
"name": "constant.other.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" }
]
},
"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" }
]
}
]
}
}
}

View File

@@ -0,0 +1,24 @@
{
"comments": {
"lineComment": ";"
},
"brackets": [
["(", ")"],
["[", "]"],
["{", "}"]
],
"autoClosingPairs": [
["'", "'"],
["\"", "\""],
["(", ")"],
["[", "]"],
["{", "}"]
],
"surroundingPairs": [
["'", "'"],
["\"", "\""],
["(", ")"],
["[", "]"],
["{", "}"]
]
}

View File

@@ -1,29 +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)"
}
}

View 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"
}
}
]
}

View File

@@ -0,0 +1,25 @@
{
"comments": {
"lineComment": "//",
"blockComment": ["/*", "*/"]
},
"brackets": [
["(", ")"],
["[", "]"],
["{", "}"]
],
"autoClosingPairs": [
["'", "'"],
["\"", "\""],
["(", ")"],
["[", "]"],
["{", "}"]
],
"surroundingPairs": [
["'", "'"],
["\"", "\""],
["(", ")"],
["[", "]"],
["{", "}"]
]
}

392
configurations/snippets.json Normal file → Executable file
View File

@@ -1,9 +1,4 @@
{
// Place your snippets for JavaScript React here. Each snippet is defined under a snippet name and has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, ${id} and ${id:label} and ${1:label} for variables. Variables with the same id are connected.
// Example:
"Inner class": {
"prefix": "class",
"body": [
@@ -11,14 +6,12 @@
"\t$3"
]
},
"Print messages to console": {
"prefix": "pr",
"body": [
"print($1)"
]
},
"_ready method of Node": {
"prefix": "ready",
"body": [
@@ -26,7 +19,6 @@
"\t${1:pass}"
]
},
"_init method of Object": {
"prefix": "init",
"body": [
@@ -34,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"
}
}

View File

@@ -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

2
doc/.gitignore vendored
View File

@@ -1,2 +0,0 @@
classes/*.xml
classes-*.xml

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,66 +0,0 @@
#!/usr/bin/python
import sys
import xml.etree.ElementTree as ET
import json
def parseClass(data):
dictCls = dict(data.attrib)
dictCls['brief_description'] = data.find("brief_description").text.strip()
dictCls['description'] = data.find("description").text.strip()
dictCls['methods'] = []
for m in data.find("methods"):
dictCls['methods'].append(parseMethod(m))
dictCls['signals'] = []
for s in (data.find("signals") if data.find("signals") is not None else []):
dictCls['signals'].append(parseMethod(s))
dictCls['constants'] = []
for c in (data.find("constants") if data.find("constants") is not None else []):
dictCls['constants'].append(parseConstant(c))
dictCls['properties'] = []
for m in (data.find("members") if data.find("members") is not None else []):
dictCls['properties'].append(parseProperty(m))
dictCls['theme_properties'] = []
for thi in (data.find("theme_items") if data.find("theme_items") is not None else []):
dictCls['theme_properties'].append(parseProperty(thi))
return dictCls
def parseMethod(data):
dictMethod = dict(data.attrib)
dictMethod['description'] = data.find("description").text.strip()
dictMethod['return_type'] = data.find("return").attrib["type"] if data.find("return") is not None else ""
if "qualifiers" not in dictMethod: dictMethod["qualifiers"] = ""
dictMethod["arguments"] = []
for arg in data.iter('argument'):
dictMethod["arguments"].append(parseArgument(arg))
return dictMethod
def parseArgument(data):
dictArg = dict(data.attrib)
if "dictArg" in dictArg: dictArg.pop("index")
dictArg["default_value"] = dictArg["default"] if "default" in dictArg else ""
if "default" in dictArg: dictArg.pop("default")
return dictArg
def parseConstant(data):
dictConst = dict(data.attrib)
dictConst["description"] = data.text.strip()
return dictConst
def parseProperty(data):
dictProp = dict(data.attrib)
dictProp["description"] = data.text.strip()
return dictProp
def main():
if len(sys.argv) >=2 :
tree = ET.parse(open(sys.argv[1], 'r'))
classes = {}
for cls in tree.getroot():
dictCls = parseClass(cls)
classes[dictCls['name']] = dictCls
jsonContent = json.dumps({"classes": classes, "version": "2.1.4"}, ensure_ascii=False, indent=2)
print(jsonContent)
if __name__ == '__main__':
main()

View File

@@ -1,80 +0,0 @@
#!/usr/bin/python
import sys
import xml.etree.ElementTree as ET
import json
import os
def glob_path(path, pattern):
import os, fnmatch
result = []
for root, _, files in os.walk(path):
for filename in files:
if fnmatch.fnmatch(filename, pattern):
result.append(os.path.join(root, filename))
return result
def parseClass(data):
dictCls = dict(data.attrib)
dictCls['brief_description'] = data.find("brief_description").text.strip()
dictCls['description'] = data.find("description").text.strip()
dictCls['methods'] = []
for m in data.find("methods"):
dictCls['methods'].append(parseMethod(m))
dictCls['signals'] = []
for s in (data.find("signals") if data.find("signals") is not None else []):
dictCls['signals'].append(parseMethod(s))
dictCls['constants'] = []
for c in (data.find("constants") if data.find("constants") is not None else []):
dictCls['constants'].append(parseConstant(c))
dictCls['properties'] = []
for m in (data.find("members") if data.find("members") is not None else []):
dictCls['properties'].append(parseProperty(m))
dictCls['theme_properties'] = []
for thi in (data.find("theme_items") if data.find("theme_items") is not None else []):
dictCls['theme_properties'].append(parseProperty(thi))
return dictCls
def parseMethod(data):
dictMethod = dict(data.attrib)
dictMethod['description'] = data.find("description").text.strip()
dictMethod['return_type'] = data.find("return").attrib["type"] if data.find("return") is not None else ""
if "qualifiers" not in dictMethod: dictMethod["qualifiers"] = ""
dictMethod["arguments"] = []
for arg in data.iter('argument'):
dictMethod["arguments"].append(parseArgument(arg))
return dictMethod
def parseArgument(data):
dictArg = dict(data.attrib)
if "dictArg" in dictArg: dictArg.pop("index")
dictArg["default_value"] = dictArg["default"] if "default" in dictArg else ""
if "default" in dictArg: dictArg.pop("default")
return dictArg
def parseConstant(data):
dictConst = dict(data.attrib)
dictConst["description"] = data.text.strip()
return dictConst
def parseProperty(data):
dictProp = dict(data.attrib)
dictProp["description"] = data.text.strip()
return dictProp
def main():
if len(sys.argv) >=2 :
if os.path.isdir(sys.argv[1]):
classes = {}
for f in glob_path(sys.argv[1], "**.xml"):
if f.find("/classes/") == -1 and f.find("/doc_classes/") == -1:
continue
tree = ET.parse(open(f, 'r'))
cls = tree.getroot()
dictCls = parseClass(cls)
classes[dictCls['name']] = dictCls
jsonContent = json.dumps({"classes": classes, "version": "3.0.4"}, ensure_ascii=False, indent=2)
print(jsonContent)
if __name__ == '__main__':
main()

BIN
icon.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
img/godot-debug.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 194 KiB

BIN
img/godot-tools.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

BIN
img/hover-extresource.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

BIN
img/hover-subresource.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
img/run-and-debug.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
img/scene-preview.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

43
media/docs.css Normal file
View 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
View 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
View 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;
}

9310
package-lock.json generated

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View 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
View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

Some files were not shown because too many files have changed in this diff Show More