77 Commits

Author SHA1 Message Date
Thaddeus Crews f1e8491c16 Merge pull request #118979 from HolonProduction/lsp/annoation-identifier-crash
LSP: Fix crash in `find_usages_in_file` by correctly resolving annotation names
2026-05-04 12:40:41 -05:00
HolonProduction 612475a680 GDScript: Track columns by raw string offsets 2026-04-26 21:32:46 +02:00
HolonProduction 0813b357d2 LSP: Fix crash in find_usages_in_file by correctly resolving annotation names 2026-04-26 19:02:11 +02:00
Nolkaloid 1d165e7ea9 Add keyword code completion option 2026-04-08 20:04:08 +02:00
HolonProduction 82f308d957 LSP: Calculate string insertions on the server-side 2026-03-25 14:53:31 +01:00
HolonProduction 7ab735fbbb LSP: When supported use snippet insert mode to add closing braces 2026-03-25 14:53:10 +01:00
Rémi Verschelde e33e98a26f Style: Apply clang-format grouping rules 2026-03-17 20:11:01 +01:00
Rémi Verschelde eabb9a63d4 Rename callable_method_pointer.h to callable_mp.h and include it explicitly
This allows removing it from `class_db.h`, significantly reducing the amount of files
that include it transitively.

Also includes some include cleanup in `control.h` and `rich_text_label.h` done while
ensure they don't depend on `callable_mp`.
2026-03-04 16:23:23 +01:00
Rémi Verschelde f332faf46b Explicitly include core/os/os.h where used 2026-03-04 09:54:10 +01:00
Thaddeus Crews e380a41752 Style: Add class_db.h includes explicitly 2026-02-26 15:50:28 -06:00
HolonProduction c416cbaf54 LSP: Fix type bind, mark as experimental, deprecate direct LSP access 2026-02-16 14:36:31 +01:00
Thaddeus Crews 56f3e2611d Merge pull request #114559 from HolonProduction/lsp/fix-performance-scene-loading-workspace-completion
LSP: Fix loading scene for every request on script file for workspace completion
2026-02-06 08:18:04 -06:00
Lukas Tenbrink c5df0cb82b Don't right-align escaped newlines, e.g. for #define. This has previously led to long diffs in the commit history. 2026-02-04 19:31:28 +01:00
Thaddeus Crews 8d2c8b5433 Merge pull request #114186 from voylin/language_server_highlight_support
Add highlight support to Language Server for external editors
2026-01-28 12:26:51 -06:00
Thaddeus Crews 9c3b86713c Merge pull request #114442 from HolonProduction/rm-native-member-completions
LSP: Remove unread `native_member_completions` member
2026-01-28 12:26:50 -06:00
Dekara VanHoc a4d029f889 LSP: Fix loading scene for every request on script file for workspace completion
Co-authored-by: HolonProduction <holonproduction@gmail.com>
2026-01-26 13:47:34 +01:00
HolonProduction 9d90a6794c LSP: Reuse stale parsers in request 2026-01-09 15:45:18 +01:00
voylin 055648ea19 Add highlight support for language server
Update modules/gdscript/language_server/gdscript_text_document.cpp

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2026-01-05 08:17:05 +09:00
HolonProduction 1d95e762a2 LSP: Remove unread native_member_completions member 2025-12-30 13:32:37 +01:00
HolonProduction a1fb9daae1 LSP: Fix infinite recursion in symbol calculation 2025-12-28 19:11:29 +01:00
HolonProduction 4cc88e5175 LSP: Rework management of client owned files 2025-11-22 19:17:15 +01:00
HolonProduction bbdf37b7a2 LSP: Fix remaining unsave dict access 2025-10-28 18:12:59 +01:00
A Thousand Ships f11aff3841 Editor: Restructure editor code
Moving various editor files into sub folders to reduce clutter
2025-07-04 18:18:22 +02:00
HolonProduction d55883b4b1 LSP: Fix file URI handling + warn about workspace project mismatch 2025-06-18 19:54:50 +02:00
A Thousand Ships 889410dcda Add String::replace_char(s) methods for performance and convenience 2025-04-10 13:08:45 +02:00
HolonProduction e2c3731cdd JSONRPC: Require manual method registration 2025-04-03 17:51:03 +02:00
Kiro 23129a66ed Replace append_utfx with direct String::utfx 2025-03-30 19:56:38 +02:00
Lukas Tenbrink ffa6ef220b Use append_ instead of parse_ for String methods. 2025-03-27 17:51:02 +01:00
Thaddeus Crews 1cb3cfaa8e Style: Convert namespaces to PascalCase 2025-03-23 19:10:24 -05:00
A Thousand Ships 194bdde947 Cleanup of raw nullptr checks with Ref
Using `is_valid/null` over checks with `nullptr` or `ERR_FAIL_NULL` etc.
2024-08-31 15:01:09 +02:00
Mikael Hermansson e2485044a1 Allow LSP to process multiple messages per poll 2024-03-08 18:49:29 +01:00
A Thousand Ships 517e9f8aef [Modules] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-26 16:44:52 +02:00
BooksBaum 0202a36a7a Language Server: Improve hovered symbol resolution, fix renaming bugs, implement reference lookup
Co-Authored-By: Ryan Brue <56272643+ryanabx@users.noreply.github.com>
Co-Authored-By: BooksBaum <15612932+booksbaum@users.noreply.github.com>
2023-09-11 09:46:34 -05:00
Danil Alexeev 36bedd341a Fix misuses of error macros 2023-04-18 10:20:48 +03:00
Ricardo Subtil 4be4eeea3a Poll LSP/DAP clients for connection status updates 2023-04-09 12:36:01 +01:00
Rémi Verschelde d95794ec8a One Copyright Update to rule them all
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".
2023-01-05 13:25:55 +01:00
trollodel c90d0bd84f Use forward-declarations in big editor classes 2022-11-29 09:59:43 +01:00
Lamia 42a16ef76e fix: modifies workspace->root_uri so that p_uri is symmetrical to other operating systems. #63388 2022-08-08 22:40:13 +10:00
Yuri Sizov 9f55bd971e Extract EditorResourceConversionPlugin into its own source files and clean up editor includes 2022-07-31 21:14:15 +03:00
reduz 8b7c7f5a75 Add a new HashMap implementation
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<>
2022-05-12 11:21:29 +02:00
Rémi Verschelde fe52458154 Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
Lightning_A e078f970db Rename remove() to remove_at() when removing by index 2021-11-23 18:58:57 -07:00
Lightning_A c63b18507d Use range iterators for Map 2021-09-30 15:09:12 -06:00
Rémi Verschelde 14dcb97556 Merge pull request #50378 from Razoric480/apply-edit-40 2021-09-25 20:43:17 +02:00
Ev1lbl0w 7bccd5487e Implemented initial DAP support
Implemented "output" event

Refactored "seq" field generation

Prevent debugging when editor and client are in different projects

Removed unneeded references to peer on the parser

Refactored way to detect project path

Implemented "setBreakpoints" request

Fix double events when terminating from client

Refactored "stopped" event

Implemented "stopped" with breakpoint event

Implemented "stackTrace", "scopes" and "variables" request

Report incoming number of stack dump variables

Implemented proper reporting of scopes and variables from stack frames

Prevent editor from grabbing focus when a DAP session is active

Implemented "next" and "stepIn" requests

Implemented "Source" checksum computing

Switched expected errors from macros to silent guards

Refactored message_id

Respect client settings regarding lines/columns behavior

Refactored nested DAP fields

Implement reporting of "Members" and "Globals" scopes as well

Fix error messages not being shown, and improved wrong path message
2021-08-02 10:43:35 +01:00
Francois Belair 9a8421aa05 Implement applyEdit in LSP for signal connecting 2021-07-11 16:17:49 -04:00
Lightning_A e28fd07b2b Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
Marcel Admiraal 2bafcd3422 Consolidate JSON, JSONParseResults and JSONParser into JSON
Renames JSON.parse_string() to parse()
Renames JSON.decode_data() to stringify()
2021-06-19 08:01:40 +01:00
Hugo Locurcio 3f078c99f6 Rename IP_Unix, IP_Address and TCP_Server to remove underscores 2021-05-06 02:52:01 +02:00
Rémi Verschelde 8247667a3e Core: Drop custom copymem/zeromem defines
We've been using standard C library functions `memcpy`/`memset` for these since
2016 with 67f65f6639.

There was still the possibility for third-party platform ports to override the
definitions with a custom header, but this doesn't seem useful anymore.
2021-04-27 16:26:27 +02:00