summaryrefslogtreecommitdiff
path: root/scene/gui/code_edit.cpp
AgeCommit message (Collapse)Author
2023-04-24Fix CI build errorJuan Linietsky
Fixes potential use of uninitialized variable. (cherry picked from commit 37362202a48f6ee731e14e47579979509bc23017)
2023-03-13Don't autocomplete numbers in GDScriptArman Elgudzhyan
Cancel code autocompletion when a numerical value is entered. Avoids interference when setting numbers. (cherry picked from commit 688d00b70645a822ba694b13bcdb312e74d8c034)
2023-02-19Fix Indent/Unindent without a selection not causing a redrawVolTer
2023-02-15Fix autocomplete persisting at the beginning of a lineVolTer
2023-01-23Fix autocomplete filter not including substringspoohcom1
2023-01-18Allow unindent without selectionkobewi
2023-01-14Fixed adding extra quote when completing stringsPaulb23
2023-01-11Fix crash in CodeEdit when caret column exceeds line length.Eric M
2023-01-08Use BitField<> in core type masksJuan Linietsky
* All core types masks are now correctly marked as bitfields. * The enum hacks in MouseButtonMask and many other types are gone. This ensures that binders to other languages non C++ can actually implement type safe bitmasks. * Most bitmask operations replaced by functions in BitField<> * Key is still a problem because its enum and mask at the same time. While it kind of works in C++, this most likely can't be implemented safely in other languages and will have to be changed at some point. Mostly left as-is. * Documentation and API dump updated to reflect bitfields in core types.
2023-01-06fix typo 'comleption' -> 'completion'Michael Bickel
2023-01-05One Copyright Update to rule them allRémi Verschelde
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".
2022-12-19Fix autocomplete with autobrace completion not adding closing pairPaulb23
2022-12-17Fix autocomplete box placementHayden Leete
2022-12-03Merge pull request #62675 from Jummit/tolerant_lookupRémi Verschelde
Allow drag-clicking before symbol lookup
2022-11-17Add `Control::localize_numeral_system` property to toggle automatic numeral ↵bruvzg
system conversion.
2022-11-05Pass caret index when deleting selection with backspaceAlfred Reinold Baudisch
Fixes and closes #67992
2022-11-02Merge pull request #67994 from YeldhamDev/how_suggestiveRémi Verschelde
Stop centering clicked suggestions in the autocomplete popup
2022-10-28Stop centering clicked suggestions in the autocomplete popupMichael Alexsander
2022-10-16Fix crash in code completion when using an invalid / null fontPaulb23
2022-10-10Improved breakpoints hover indicatorVolTer
2022-10-09Allow drag-clicking before symbol lookupJummit
This makes it easier for touch and tablet users to do symbol lookups in the code editor.
2022-10-07Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg
change warnings=all to use /W4.
2022-10-05Add multi caret support to CodeEditPaulb23
2022-10-05Add mutliple Caret support to TextEditPaulb23
2022-09-26Merge pull request #65540 from MewPurPur/easier-bookmarksRémi Verschelde
Implement Shift+LMB as a Way to Toggle Bookmarks
2022-09-08Shift+LMB to Toggle BookmarksVolTer
2022-09-07Fix key mapping changes when moving from macOS to other platformbruvzg
Removes separate `Command` key (use `Meta` instead). Adds an event flag to automatically remap `Command` <-> `Control` (cannot be set alongside `Control` or `Meta`).
2022-08-29Rename `CanvasItem.update()` to `queue_redraw()`Micky
Affects a lot of classes. Very thoroughly checked signal connections and deferred calls to this method, add_do_method/add_undo_method calls, and so on. Also renames the internal `_update_callback()` to `_redraw_callback()` for consistency. Just a few comments have also been changed to say "redraw". In CPUParticles2D, there was a private variable with the same name. It has been renamed to `do_redraw`.
2022-08-29Revert "Remove NOTIFICATION_ENTER_TREE when paired with ↵Rémi Verschelde
NOTIFICATION_THEME_CHANGED" This reverts commit 4b817a565cab8af648c88cfc7ab6481e86ee3625. Fixes #64988. Fixes #64997. This caused several regressions (#64988, #64997, https://github.com/godotengine/godot/issues/64997#issuecomment-1229970605) which point at a flaw in the current logic: - `Control::NOTIFICATION_ENTER_TREE` triggers a *deferred* notification with `NOTIFCATION_THEME_CHANGED` as introduced in #62845. - Some classes use their `THEME_CHANGED` to cache theme items in member variables (e.g. `style_normal`, etc.), and use those member variables in `ENTER_TREE`, `READY`, `DRAW`, etc. Since the `THEME_CHANGE` notification is now deferred, they end up accessing invalid state and this can lead to not applying theme properly (e.g. for EditorHelp) or crashing (e.g. for EditorLog or CodeEdit). So we need to go back to the drawing board and see if `THEME_CHANGED` can be called earlier so that the previous logic still works? Or can we refactor all engine code to make sure that: - `ENTER_TREE` and similar do not depend on theme properties cached in member variables. - Or `THEME_CHANGE` does trigger a general UI update to make sure that any bad theme handling in `ENTER_TREE` and co. gets fixed when `THEME_CHANGE` does arrive for the first time. But that means having a temporary invalid (and possibly still crashing) state, and doing some computations twice which might be heavy (e.g. `EditorHelp::_update_doc()`).
2022-08-27Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGEDAaron Record
2022-08-22Replace Array return types with TypedArraykobewi
2022-07-21Rename OSX to macOS and iPhoneOS to iOS.bruvzg
2022-07-06Refactor Font configuration and import UI, and Font resources.bruvzg
2022-07-03Add the ability to drag the code completion scrollbar using the mouse clickMinusKube
2022-05-19Use range iterators for RBSet in most casesAaron Record
2022-05-16Replace most uses of Map by HashMapreduz
* 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!
2022-05-13Add ALT NUM+ {hex code} character input support for LineEdit, TextEdit and ↵bruvzg
CodeEdit.
2022-05-12Add a new HashMap implementationreduz
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-03Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`Hugo Locurcio
These typedefs don't save much typing compared to the full `Ref<Resource>` and `Ref<RefCounted>`, yet they sometimes introduce confusion among new contributors.
2022-04-28fix lines ending in comments causing auto indentNathan Franke
2022-04-23Rename theme properties to include underscoresFireForge
- check_vadjust -> check_v_adjust - close_h_ofs -> close_h_offset - close_v_ofs -> close_v_offset - commentfocus -> comment_focus - hseparation -> h_separation - ofs -> offset - selectedframe -> selected_frame - state_machine_selectedframe -> state_machine_selected_frame - table_hseparation -> table_h_separation - table_vseparation -> table_v_separation - vseparation -> v_separation
2022-03-28Fix inspector group name capitalizationFireForge
2022-03-27Add GDExtension support to Scriptreduz
* 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).
2022-02-15Use `switch` consistently in `_notification` (`scene` folder)Rémi Verschelde
2022-02-12Add sub-pixel glyph positioning support.bruvzg
2022-02-04Cleanup and move char functions to the `char_utils.h` header.bruvzg
2022-02-04String: Add contains().Anilforextra
2022-01-30With auto_brace_complete enabled, selected text now gets wrapped by bracesIgor Kordiukiewicz
2022-01-27Merge pull request #57281 from Rubonnek/rename-subsequenceRémi Verschelde
2022-01-26Rename String::is_subsequence_ofi to String::is_subsequence_ofnWilson E. Alvarez