summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/language_server/gdscript_workspace.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Style: Harmonize header includes in modulesRémi Verschelde2023-06-151-1/+2
| | | | | | | | | | | | | | | | | | | | 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
* Fix GDScript LSP variable renameAdam Scott2023-04-221-9/+31
|
* One Copyright Update to rule them allRémi Verschelde2023-01-051-29/+29
| | | | | | | | | | | | | | | | | | | | 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 MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg2022-10-071-18/+18
| | | | change warnings=all to use /W4.
* 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-081-3/+1
| | | | operating systems. #63388
* Extract EditorResourceConversionPlugin into its own source files and clean ↵Yuri Sizov2022-07-311-0/+1
| | | | up editor includes
* LSP: Sanitizes protocol URI `file:///c%3A` in file pathLamia2022-07-281-1/+3
| | | | Fixes #63205.
* 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-161-28/+28
| | | | | | | | | | | | * 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-121-12/+6
| | | | | | | | | | | | | | | | | 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-031-1/+1
| | | | | | 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-111-1/+1
|
* Add GDExtension support to Scriptreduz2022-03-271-2/+2
| | | | | | | | | * 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).
* String: Add contains().Anilforextra2022-02-041-2/+2
|
* 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-031-2/+2
| | | | Happy new year to the wonderful Godot community!
* Prevent LSP adding signal func to non GDScriptsFrancois Belair2021-12-041-1/+5
|
* Move the docs for constructors and operators out of methods sectionAaron Franke2021-10-291-0/+2
|
* Use range iterators for `Map`Lightning_A2021-09-301-16/+16
|
* Make LSP report _init instead of Object::newFrancois Belair2021-09-291-2/+5
|
* Merge pull request #50378 from Razoric480/apply-edit-40Rémi Verschelde2021-09-251-0/+52
|\
| * Implement applyEdit in LSP for signal connectingFrancois Belair2021-07-111-0/+52
| |
* | Fix LSP completion crashing on scene-less scriptsFrancois Belair2021-08-061-13/+15
| |
* | Fix LSP parsing get_node only from the scene rootFrancois Belair2021-08-051-1/+22
| |
* | Merge pull request #51247 from pycbouh/docs-extract-theme-itemsRémi Verschelde2021-08-051-6/+12
|\ \ | | | | | | Add theme item descriptions to the online documentation
| * | Add theme item descriptions to the online documentationYuri Sizov2021-08-041-6/+12
| | |
* | | Merge pull request #48615 from Razoric480/lsp-renameRémi Verschelde2021-08-051-0/+84
|\ \ \ | |/ / |/| | Implement LSP didSave notification and rename request
| * | Implement didSave notification and rename requestFrancois Belair2021-07-171-0/+84
| |/
* | Use const references where possible for List range iteratorsRémi Verschelde2021-07-251-2/+2
| |
* | Use C++ iterators for Lists in many situationsAaron Franke2021-07-231-6/+4
|/
* Rename `instance()`->`instantiate()` when it's a verbLightning_A2021-06-191-1/+1
|
* Translate file path to URI on LSP symbol requestsFrancois Belair2021-06-171-1/+3
|
* Implement LSP didDeleteFiles & make parser aware of sub-nodesFrancois Belair2021-04-101-0/+11
|
* Unify URI encoding/decoding and add to C#Aaron Franke2021-01-281-1/+1
| | | | http_escape and percent_encode have been unified into uri_encode, and http_unescape and percent_decode have been unified into uri_decode.
* Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
| | | | | | | | | | | | | | Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
* Rename empty() to is_empty()Marcel Admiraal2020-12-281-10/+10
|
* Refactor DocData into core and editor (DocTools) partsThakee Nathees2020-12-021-1/+2
|
* Reorganized core/ directory, it was too fatty alreadyreduz2020-11-071-2/+2
| | | | | | -Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
* Reenable GDScript LSP serverGeorge Marques2020-07-201-6/+1
|
* New GDScript tokenizer and parserGeorge Marques2020-07-201-0/+5
| | | | | | | | | | Sometimes to fix something you have to break it first. This get GDScript mostly working with the new tokenizer and parser but a lot of things isn't working yet. It compiles and it's usable, and that should be enough for now. Don't worry: other huge commits will come after this.
* GDScript LSP: Fix crash in notify_clientRémi Verschelde2020-06-081-6/+7
| | | | | | | | | `latest_client_id` now defaults to `-1` (invalid ID) instead of `0`. Also fix typo in notification `gdscrip_client/changeWorkspace`, and fix argument names in method binds. Fixes #39375.
* Style: Enforce braces around if blocks and loopsRémi Verschelde2020-05-141-3/+6
| | | | | Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
* Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde2020-05-141-21/+0
| | | | | | | | | | | | | | Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
* Style: clang-format: Disable AllowShortIfStatementsOnASingleLineRémi Verschelde2020-05-101-1/+2
| | | | | | | Part of #33027, also discussed in #29848. Enforcing the use of brackets even on single line statements would be preferred, but `clang-format` doesn't have this functionality yet.
* Replace NULL with nullptrlupoDharkael2020-04-021-10/+10
|