Age | Commit message (Collapse) | Author |
|
Fix wrong counting of function argument usage
|
|
Remove duplicate valid value check in gdscript_tokenizer.cpp.
|
|
Fixes auto completion for singletons
|
|
This makes sure that the classes internally represented with an
underscore (_) prefix, such as singletons, are still properly checked
for inheritance in the ClassDB.
|
|
There's no need to subtract 1 from the assignment usages because it's
not incremented anywhere else.
Also put back the assignment with operators because they should not
count as usage if the argument is on the left side.
|
|
|
|
|
|
|
|
|
|
This decreases the language server's CPU usage.
|
|
lsp: Send godot class tree to clients
|
|
|
|
|
|
In some errors, there were closing quotation marks but no opening (e. g. "Unable to iterate on object of type " +
Variant::get_type_name(container->get_type()) + "'."
|
|
|
|
from LSP clients
|
|
Add custom notification 'gdscript/show_native_symbol' to show native symbols in clients.
Close client connections when stop gdscript-lsp
|
|
GDScript LSP server improvement
|
|
|
|
Print errors when tab indent found in [codeblock]
|
|
|
|
This decreases its saturation to make it less visually jarring.
The code was also refactored for clarity and to avoid repetition.
|
|
|
|
Allow weakref(null) in gdscript
|
|
Also, implement a small QoL change for auto-typed variables.
Closes #5739
|
|
Added some obvious errors explanations
|
|
|
|
Some situations caused the parser node type to not being update when
trying to resolve the type, returning invalid data and breaking the
parsing when it shouldn't. This patch fix the behavior.
|
|
Fix a few missing bindings or unspecified argument names and default values.
|
|
This closes #32090.
|
|
|
|
Distinguish editor-originating messages in the editor log
|
|
Fix misc. source comment typos
|
|
This fades out messages originating from the editor to make messages
printed by the project stand out more.
This also tweaks wording in some editor messages for consistency.
|
|
Found using `codespell -q 3 -S ./thirdparty,*.po -L ang,ba,cas,dof,doubleclick,fave,hist,leapyear,lod,nd,numer,ois,paket,seeked,sinc,switchs,te,uint -D ~/Projects/codespell/codespell_lib/data/dictionary.txt `
|
|
Fix uninitialized arrays and dictionaries retaining value
|
|
Fix const deceleration for inherited scripts above immediate parent
|
|
Produce an error when a class has the same name as a Singleton
|
|
GDScript: add an optional message parameter to assert()
|
|
Tiny addition I personally found useful - this allows us to `var my_ref := weakref(null)` for nullable weak ref (with type hint!). When trying to test if `my_ref` is holding valid reference, we can just `if my_ref.get_ref():` instead of `if my_ref and my_ref.get_ref():` everywhere.
|
|
Before this patch, assert() only took the condition to assert on:
assert(item_data)
Now, it can optionally take a string that will be printed upon failure:
assert(item_data, item_name + " has no item data in ItemDatabase")
This makes it easier to immediately see what the issue is by being
able to write informative failure messages.
Thanks to @wiped1 for sharing their patch, upon which this is based.
Closes #17082
|
|
immediate parent.
|
|
If you somehow end up with a Singleton.gd that looks like this:
extends Node
class_name Singleton
func foo():
pass
You will get an error when using it in another file:
extends Node2D
func _init():
# Parser Error: Non-static function "foo" can only be called from an instance.
Singleton.foo()
This error is confusing. This patch ensures that an error on the class_name line will be produced:
Parse Error: The class "Singleton" conflicts with the AutoLoad singleton of the same name, and is therefore redundant. Remove the class_name declaration to fix this error.
Fixes #28187.
|
|
|
|
triggering completion.
Closes https://github.com/godotengine/godot/issues/25097
|
|
Fixes #28978
|
|
Re-allow indexing on objects and other non-builtin types
|
|
Solves ctrl+click on functions by ignoring the cursor
|
|
Fixes #25081
|
|
The PR did not use the ScriptCodeCompletionOption system introduced
later on, and somehow this did not generate a merge conflict even
though neighboring code was changed.
|