summaryrefslogtreecommitdiff
path: root/modules/gdscript/gdscript_editor.cpp
AgeCommit message (Collapse)Author
2020-07-22Wrap up GDScript 2.0 base implementationGeorge Marques
2020-07-20Reintroduce code completionGeorge Marques
2020-07-20Add warning checks in GDScript analyzerGeorge Marques
Reenable checking those when validating code.
2020-07-20Add new GDScript type checkerGeorge Marques
2020-07-20New GDScript tokenizer and parserGeorge Marques
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.
2020-06-16Merge pull request #39315 from ThakeeNathees/ctrl-click-fix-for-subclassesRémi Verschelde
Fix: Ctrl + Click not working for subclasses
2020-06-05Fix: Ctrl + Click not working for subclassesThakee Nathees
2020-05-24regression: dictionary key no autocomplete fixThakee Nathees
Fix: #38998
2020-05-14Style: Enforce braces around if blocks and loopsRémi Verschelde
Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14Style: Enforce separation line between function definitionsRémi Verschelde
I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
2020-05-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
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.
2020-05-14Port member initialization from constructor to declaration (C++11)Rémi Verschelde
Using `clang-tidy`'s `modernize-use-default-member-init` check and manual review of the changes, and some extra manual changes that `clang-tidy` failed to do. Also went manually through all of `core` to find occurrences that `clang-tidy` couldn't handle, especially all initializations done in a constructor without using initializer lists.
2020-05-10Style: clang-format: Disable AllowShortCaseLabelsOnASingleLineRémi Verschelde
Part of #33027.
2020-05-05Merge pull request #37293 from Janglee123/ctrl-click-improvementsRémi Verschelde
Improved go-to definition (Ctrl + Click)
2020-05-05Improved go-to definition (Ctrl + Click)janglee
Co-Authored-By: Bojidar Marinov <bojidar.marinov.bg@gmail.com>
2020-04-24Merge pull request #37172 from theoway/autoCompletionBugRémi Verschelde
Fixed the auto-completion bug in gdscript_editor
2020-04-21Merge pull request #37954 from ThakeeNathees/autocomplete-indexing-native-typesRémi Verschelde
Autocompleting with indexing for builtin types added
2020-04-20Fix handling of PROPERTY_USAGE_SUBGROUP in DocData and editorRémi Verschelde
Subgroups were added in #37678 but not properly handled everywhere where PROPERTY_USAGE_GROUP is.
2020-04-17autocompleting with indexing for native types addedThakee Nathees
Fix: #37768
2020-04-16Fixed the bool _static logic Umang Kalra
2020-04-13autocomplete for disconnect, is_connected implementedThakee Nathees
2020-04-02Replace NULL with nullptrlupoDharkael
2020-03-31Add missing docs for assert message in GDScriptThomas ten Cate
Seems like this was overlooked in PR #31142. See also issue #17082.
2020-03-17Style: Set clang-format Standard to Cpp11Rémi Verschelde
For us, it practically only changes the fact that `A<A<int>>` is now used instead of the C++03 compatible `A<A<int> >`. Note: clang-format 10+ changed the `Standard` arguments to fully specified `c++11`, `c++14`, etc. versions, but we can't use `c++17` now if we want to preserve compatibility with clang-format 8 and 9. `Cpp11` is still supported as deprecated alias for `Latest`.
2020-03-08Refactor ScriptDebugger.Fabio Alessandrelli
EngineDebugger is the new interface to access the debugger. It tries to be as agnostic as possible on the data that various subsystems can expose. It allows 2 types of interactions: - Profilers: A subsystem can register a profiler, assigning it a unique name. That name can be used to activate the profiler or add data to it. The registered profiler can be composed of up to 3 functions: - Toggle: called when the profiler is activated/deactivated. - Add: called whenever data is added to the debugger (via `EngineDebugger::profiler_add_frame_data`) - Tick: called every frame (during idle), receives frame times. - Captures: (Only relevant in remote debugger for now) A subsystem can register a capture, assigning it a unique name. When receiving a message, the remote debugger will check if it starts with `[prefix]:` and call the associated capture with name `prefix`. Port MultiplayerAPI, Servers, Scripts, Visual, Performance to the new profiler system. Port SceneDebugger and RemoteDebugger to the new capture system. The LocalDebugger also uses the new profiler system for scripts profiling.
2020-02-26Fix autocomplete and GDScript Highlighting for typesnathanwfranke
Types include new integer types and others
2020-02-25Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.Juan Linietsky
- Renames PackedIntArray to PackedInt32Array. - Renames PackedFloatArray to PackedFloat32Array. - Adds PackedInt64Array and PackedFloat64Array. - Renames Variant::REAL to Variant::FLOAT for consistency. Packed arrays are for storing large amount of data and creating stuff like meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of memory. That said, many users requested the ability to have 64 bits packed arrays for their games, so this is just an optional added type. For Variant, the float datatype is always 64 bits, and exposed as `float`. We still have `real_t` which is the datatype that can change from 32 to 64 bits depending on a compile flag (not entirely working right now, but that's the idea). It affects math related datatypes and code only. Neither Variant nor PackedArray make use of real_t, which is only intended for math precision, so the term is removed from there to keep only float.
2020-02-23Replace FALLTHROUGH macro by C++17 [[fallthrough]]Rémi Verschelde
This attribute is now part of the standard we target so we no longer need compiler-specific hacks. Also enables -Wimplicit-fallthrough for Clang now that we can properly support it. It's already on by default for GCC's -Wextra. Fixes new warnings raised by Clang's -Wimplicit-fallthrough.
2020-02-20Reworked signal connection system, added support for Callable and Signal ↵Juan Linietsky
objects and made them default.
2020-02-18PoolVector is gone, replaced by VectorJuan Linietsky
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
2020-02-13Remove deprecated sync and slave networking keywordsRémi Verschelde
Those keywords were deprecated for 3.1 in #22087. Also fix token name for `TK_REMOTE`, should be "remote" like the keyword.
2020-01-16Merge pull request #35218 from bojidar-bg/26691-parse-error-errorsRémi Verschelde
Fix errors raised when showing parse errors in the editor
2020-01-16Fix errors raised when showing parse errors in the editorBojidar Marinov
Fixes #26691
2020-01-16Fix function arguments hint format in GDScript editorDanil Alexeev
for consistency with the format of the documentation: "type func_name(arg1: type, arg2: type)"
2020-01-01Update copyright statements to 2020Rémi Verschelde
Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
2019-12-12Fix GDScript autocompletion with `as` or typed variablesBojidar Marinov
Fixes #31818, fixes #33434
2019-11-17Make the script templates' blank lines conform with the official style guideMichael Alexsander
2019-10-17Fix autocompletion for singletonsEbbDrop
2019-09-03Adds skip-breakpoints featureiwek7
2019-09-03Try and show all the properties added with _get_property_list() when ↵MrCdK
triggering completion. Closes https://github.com/godotengine/godot/issues/25097
2019-09-02gdscript: Fix build after #24925Rémi Verschelde
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.
2019-09-02Merge pull request #24925 from Mr-Slurpy/typed-autoloadRémi Verschelde
Added autoloads as a potential type.
2019-08-17Replace last occurrences of 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG'Rémi Verschelde
The last remaining ERR_EXPLAIN call is in FreeType code and makes sense as is (conditionally defines the error message). There are a few ERR_EXPLAINC calls for C-strings where String is not included which can stay as is to avoid adding additional _MSGC macros just for that. Part of #31244.
2019-07-20Merge pull request #30576 from qarmin/lgtm_coverageRémi Verschelde
Changed some code reported by LGTM and Coverity
2019-07-20Changed some code showed in LGTM and Coverageqarmin
2019-07-17Remove useless casts to StringNils ANDRÉ-CHANG
2019-07-15Show static functions inside classes in method listNils ANDRÉ-CHANG
2019-07-04Parse more informations for code completionGeequlim
2019-06-29Many fallthrough switch cases now have the FALLTHROUGH macro to tell the ↵hbina085
compiler that this is intended.
2019-06-03Merge pull request #28099 from lupoDharkael/fix-completionRémi Verschelde
Fix code completion not working with class_name