summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/language_server
Commit message (Collapse)AuthorAgeFilesLines
* Fix various typos with codespellRémi Verschelde2023-08-071-1/+1
| | | | | | | | | Also includes typo fixes from #79993, #80068, #80276, and #80303. Co-authored-by: betalars <contact@betalars.de> Co-authored-by: spaceyjase <429978+spaceyjase@users.noreply.github.com> Co-authored-by: Swarkin <102416174+Swarkin@users.noreply.github.com> Co-authored-by: Raul Santos <raulsntos@gmail.com>
* Style: Harmonize header includes in modulesRémi Verschelde2023-06-157-11/+18
| | | | | | | | | | | | | | | | | | | | This applies our existing style guide, and adds a new rule to that style guide for modular components such as platform ports and modules: Includes from the platform port or module ("local" includes) should be listed first in their own block using relative paths, before Godot's "core" includes which use "absolute" (project folder relative) paths, and finally thirdparty includes. Includes in `#ifdef`s come after their relevant section, i.e. the overall structure is: - Local includes * Conditional local includes - Core includes * Conditional core includes - Thirdparty includes * Conditional thirdparty includes
* LSP: don't send empty completion commandАлександр Черник2023-05-061-1/+3
|
* Fix GDScript LSP variable renameAdam Scott2023-04-223-19/+45
|
* Merge pull request #76197 from dalexeev/fix-error-macro-misusesYuri Sizov2023-04-181-1/+1
|\ | | | | Fix misuses of error macros
| * Fix misuses of error macrosDanil Alexeev2023-04-181-1/+1
| |
* | Fix typo when parsing LSP function parametersAdam Scott2023-04-151-1/+1
|/
* Poll LSP/DAP clients for connection status updatesRicardo Subtil2023-04-091-0/+1
|
* GDScript: Change parser representation of class extendsDmitrii Maganov2023-03-131-1/+1
|
* Fix internal editor not updating when using external editor via LSPRindbee2023-01-221-0/+1
|
* call update_exports from LSP didSave functionAdam Wardell2023-01-201-0/+1
| | | | | exports in the inspector were not properly appearing when a gdscript was saved using an external IDE this commit adds a call to GDScript::UpdateExports toward the end of GDScriptTextDocument::didSave
* Unify typing of variables, constants and parameters in GDScriptDmitrii Maganov2023-01-061-4/+4
|
* One Copyright Update to rule them allRémi Verschelde2023-01-0511-319/+319
| | | | | | | | | | | | | | | | | | | | As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
* Fix use of comma instead of semicolonQuentin Guidée2022-12-171-1/+1
| | | | Signed-off-by: Quentin Guidée <quentin.guidee@gmail.com>
* Keep GDScriptAnalyzer alive for whole parse()Bartosz Bielecki2022-12-061-1/+2
| | | | | | | | Analyzed data is allocated by Parser but kept as a reference in the cache which in turn is held by the Analyzer. If Analyzer goes away Parser is left with a tree of dangling references. Code is analogous to all other usages of Analyzer + Parser pair.
* Use forward-declarations in big editor classestrollodel2022-11-291-0/+1
|
* Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg2022-10-074-57/+55
| | | | change warnings=all to use /W4.
* Merge pull request #66885 from atirut-w/lsp-doc-fixRémi Verschelde2022-10-051-4/+4
|\ | | | | | | LSP: Fix GDScript doc comments
| * LSP: Fix GDScript doc commentsAtirut Wattanamongkol2022-10-051-4/+4
| |
* | Implement `GDScriptTextDocument::willSaveWaitUntil` to clean up outdated ↵Rindbee2022-10-043-13/+22
|/ | | | | | | documents before saving Implement `GDScriptTextDocument::willSaveWaitUntil` to clean up outdated documents before saving, then update the document in `GDScriptTextDocument::didSave`.
* Fix out of sync when the script is edited externally via lspRindbee2022-09-251-0/+1
| | | | | | | | | Previously, external editing via lsp would modify the modified time of the script, which caused the internal display of the script to not be refreshed when refocusing the engine. Now saving the script externally via lsp will automatically refresh the internal display.
* fix: add uri_decode to root_uri #63388Lamia2022-08-311-3/+3
|
* Rename String `plus_file` to `path_join`Aaron Franke2022-08-291-2/+2
|
* fix: modifies workspace->root_uri so that p_uri is symmetrical to other ↵Lamia2022-08-082-4/+4
| | | | operating systems. #63388
* Extract EditorResourceConversionPlugin into its own source files and clean ↵Yuri Sizov2022-07-313-0/+3
| | | | up editor includes
* Merge pull request #63049 from Faless/mp/4.x_as_moduleRémi Verschelde2022-07-281-3/+1
|\
| * [Net] Modularize multiplayer, expose MultiplayerAPI to extensions.Fabio Alessandrelli2022-07-261-3/+1
| | | | | | | | | | | | | | | | | | - RPC configurations are now dictionaries. - Script.get_rpc_methods renamed to Script.get_rpc_config. - Node.rpc[_id] and Callable.rpc now return an Error. - Refactor MultiplayerAPI to allow extension. - New MultiplayerAPI.rpc method with Array argument (for scripts). - Move the default MultiplayerAPI implementation to a module.
* | LSP: Sanitizes protocol URI `file:///c%3A` in file pathLamia2022-07-281-1/+3
|/ | | | Fixes #63205.
* Code quality: Fix header guards consistencyRémi Verschelde2022-07-255-9/+9
| | | | | Adds `header_guards.sh` bash script, used in CI to validate future changes. Can be run locally to fix invalid header guards.
* Add grouping annotations for class properties in GDScriptYuri Sizov2022-07-051-0/+4
|
* Merge pull request #59482 from kurtlachmann/lsp_better_parenthesesRémi Verschelde2022-06-152-7/+3
|\
| * Use insertText from the internal autocompletionKurt Lachmann2022-03-242-7/+3
| | | | | | | | | | | | * GDScriptLanguage::complete_code already adds parentheses to function calls, and does this a lot smarter than the language server right now. * Instead of the previous naive approach we now reuse the same logic as the internal editor. * For this to have any effect we also have to send the `insertText` field already during the completionRequest and not only during resolve.
* | Add a new HashSet templatereduz2022-05-201-1/+1
| | | | | | | | | | * Intended to replace RBSet in most cases. * Optimized for iteration speed
* | Use range iterators for RBSet in most casesAaron Record2022-05-191-2/+2
| |
* | Replace most uses of Map by HashMapreduz2022-05-165-42/+42
| | | | | | | | | | | | | | | | | | | | | | | | * Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
* | Add a new HashMap implementationreduz2022-05-124-59/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a new, cleaned up, HashMap implementation. * Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing). * Keeps elements in a double linked list for simpler, ordered, iteration. * Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much for performance vs keeping the key, but helps replace old code). * Uses a more modern C++ iterator API, deprecates the old one. * Supports custom allocator (in case there is a wish to use a paged one). This class aims to unify all the associative template usage and replace it by this one: * Map<> (whereas key order does not matter, which is 99% of cases) * HashMap<> * OrderedHashMap<> * OAHashMap<>
* | Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`Hugo Locurcio2022-05-032-2/+2
| | | | | | | | | | | | These typedefs don't save much typing compared to the full `Ref<Resource>` and `Ref<RefCounted>`, yet they sometimes introduce confusion among new contributors.
* | Make FileAccess and DirAccess classes reference counted.bruvzg2022-04-114-8/+3
| |
* | Zero initialize all pointer class and struct membersRémi Verschelde2022-04-041-1/+1
| | | | | | | | | | This prevents the pitfall of UB when checking if they have been assigned something valid by comparing to nullptr.
* | Add GDExtension support to Scriptreduz2022-03-273-15/+17
|/ | | | | | | | | * Ability to create script languages from GDExtension * Some additions to gdnative_extension.h to make this happen * Moved the GDExtension binder to core This now allows creating scripting languages from GDExtension, with the same ease as if it was a module. It replaces the old PluginScript from Godot 3.x. Warning: GodotCPP will need to be updated to support this (it may be a bit of work as ScriptInstance needs to be created over there again).
* Convert _notification methods to switch - Chunk CJakob Bouchard2022-02-161-4/+7
|
* Cleanup and move char functions to the `char_utils.h` header.bruvzg2022-02-041-2/+2
|
* String: Add contains().Anilforextra2022-02-042-3/+3
|
* Merge pull request #57205 from TechnoPorg/variant-template-castRémi Verschelde2022-01-271-1/+1
|\ | | | | Allow method binds to take Object subclasses as arguments
| * Allow method binds to take Object subclasses as argumentsTechnoPorg2022-01-251-1/+1
| | | | | | | | | | | | This commit adds a condition to VariantCaster that casts Variants of type OBJECT to any type T, if T is derived from Object. This change enables a fair bit of code cleanup. First, the Variant implicit cast operators for Node and Control can be removed, which allows for some invalid includes to be removed. Second, helper methods in Tree whose sole purpose was to cast arguments to TreeItem * are no longer necessary. A few small changes also had to be made to other files, due to the changes cascading down all the includes.
* | Rename String::is_subsequence_ofi to String::is_subsequence_ofnWilson E. Alvarez2022-01-261-1/+1
|/
* Update copyright statements to 2022Rémi Verschelde2022-01-0311-22/+22
| | | | Happy new year to the wonderful Godot community!
* Remove extraneous return to LSPFrancois Belair2021-12-071-3/+0
|
* Merge pull request #55624 from Razoric480/raz/cs-lsp-signalRémi Verschelde2021-12-061-1/+5
|\
| * Prevent LSP adding signal func to non GDScriptsFrancois Belair2021-12-041-1/+5
| |