Commit Graph

57 Commits

Author SHA1 Message Date
Martín Lucas Golini
4a4da521d9 Change default keybindings using option+key for macOS to make possible to input text with those key combinations. Mostly changes on modifier keys for some operations: status control panels will switch with mod+number and ctrl+number will switch to tab number, also ctrl+tab and ctrl+shift+tab will advance and move to previous tab.
Also: "lsp-symbol-code-action" will default to cmd+return. "format-doc" will default to mod+option+f.
Important: these changes do not *change* any currently configured shortcut, existing users will have to migrate manually, this is intentional to not disrupt current users work flows.
These changes are for the issue: SpartanJ/ecode#877.
2026-04-14 20:56:49 -03:00
Martín Lucas Golini
05d6d3e2a3 Redesigned LLM model selection in AI Assistant chat UI (now it's possible to search by filtering its name).
Redesigned UIDropDownList to inherit from UIDropDown which is a base class to handle different types of drop-downs. Added UIDropDownModelList which is the same as UIDropDownList but uses a UIListView by default so it's a model/view based DropDown.
Fix crash when changing states of the buttons in the build panel.
Increased the default animations speed.
2026-03-21 15:02:50 -03:00
Martín Lucas Golini
409cda3ba5 Minor refactor in LineWrap. 2026-01-23 21:48:10 -03:00
Martín Lucas Golini
faedaa43f4 Refactor in LineWrap operations enums and structs, moved everything into linewrap.hpp.
Revisiting some old code, the Map Editor, many things are not properly layouted, I might fix it later, for the moment a few minor fixes.
Fix build output and app output highlighting.
Fix isStopSelChar used in UITextInput for text selection (double click).
2026-01-21 00:03:01 -03:00
Martín Lucas Golini
ac91cedf9c Added support for maximizing the current tab widget (commands: maximize-tab-widget and restore-maximized-tab-widget), it can also be triggered right clicking a tab -> Maximize Tab Widget (SpartanJ/ecode#651).
Added UINodeLink, this is a very simple node that lets you set a link to another node.
Improved focus control in the status bar panels and windows.
It's possible now in UICodeEditorSplitter to cancel a split request with a custom function checker.
When downloading a file that it's not a supported format, it will try to open with the default external program set in the host OS.
2026-01-11 13:32:48 -03:00
Martín Lucas Golini
35cd04e490 Revert "Add a hide / minize button on each panel vertical bar."
This reverts commit c85a431ae3.
2025-12-29 15:38:17 -03:00
Martín Lucas Golini
c85a431ae3 Add a hide / minize button on each panel vertical bar. 2025-12-29 10:47:19 -03:00
Martín Lucas Golini
1df4972f56 Allow to expand/contract status bar panel. 2025-12-28 01:07:15 -03:00
Martín Lucas Golini
f3b6fcacf4 Implementation for "Light/dark theme should follow system default" (issue SpartanJ/ecode#754). 2025-12-22 01:16:05 -03:00
Martín Lucas Golini
4877a4341a Added "Buffer Only Mode" to Global Search & Replace (#545).
emscripten build is now multi-threaded only.
2025-07-05 20:57:21 -03:00
Martín Lucas Golini
b6ead5f2fd Added "Build & Run" and "Build & Debug" buttons. 2025-05-21 00:33:25 -03:00
Martín Lucas Golini
da4386ddff Address: Specifying non-existing working directory for a build step isn't handled properly (SpartanJ/ecode#432).
ChatUI hide tooltips after button click.
Enable Tab Stops by default.
2025-04-10 18:40:46 -03:00
Martín Lucas Golini
469ca05e9f Refactor how App is exposed. Expose more functionality to the Plugins. 2024-12-31 19:01:32 -03:00
Martín Lucas Golini
1ac09d9e1c Fix crash when opening a file from the Build Issues view. 2024-11-18 01:30:38 -03:00
Martín Lucas Golini
6d2bcc8dd6 Running window calls in the main thread seems to fix dead-lock issues. 2024-11-17 02:34:05 -03:00
Martín Lucas Golini
66002c3db8 Fixes Haiku performance issues. 2024-10-20 04:09:20 -03:00
Martín Lucas Golini
bef41153c1 Implement glob match for path and extension search in Locate bar #336 (issue SpartanJ/ecode#336). 2024-09-24 23:13:53 -03:00
Martín Lucas Golini
2c617b1deb RegEx support in TextDocument search. Added RegEx support to ecode's Find & Replace. 2024-09-22 02:16:15 -03:00
Martín Lucas Golini
4d0da818c0 Small improvements in breadcrumb. Minor refactor of EventDispatcher::getMousePos. 2024-09-11 20:27:14 -03:00
Martín Lucas Golini
c768277c71 Reset line wrap info on document reset. 2024-05-20 21:19:22 -03:00
Martín Lucas Golini
c971c16911 Added vertical menu for status build output and app output.
Fix incorrect initialization of the Git plugin model controller when loading a folder from the Welcome Screen.
2024-04-28 01:42:43 -03:00
Martín Lucas Golini
18452139ab Add build and run commnad. Fix memory leak in FileSystemModel. Fix Log stdOut flag. 2024-04-22 10:11:18 -03:00
Martín Lucas Golini
944d6eeab3 Fix Run behavior on Windowses without terminal support. Now opens cmd.exe with a bat script helper that waits the user to terminate the process after it run.
ProjectBuild and StatusBuildOutputController clean up (unify build and clean).
2024-04-19 19:42:57 -03:00
Martín Lucas Golini
56765477d7 Added predefined variables for build:
${current_doc}: The last or current focused document path.
${current_doc_name}: The last or current focused document name (without extension).
2024-04-07 02:40:56 -03:00
Martín Lucas Golini
a9e3b8a19b ecode i18n fixes. 2024-02-17 19:35:03 -03:00
Martín Lucas Golini
36c91989d3 Lambda captures clean up, plus other minor clean ups. 2024-02-17 18:19:55 -03:00
Martín Lucas Golini
ea0f34de7e Fixed minor bug in UISplitter that caused to incorrectly calculate its size after being dragged.
Code clean up regarding the status bar (WIP).
2024-01-31 01:14:50 -03:00
Martín Lucas Golini
697fc29514 Added Git data models.
Small base Model clean up.
2024-01-13 12:56:00 -03:00
Martín Lucas Golini
74e3dee369 Hide tab widget scroll when mouse is not over.
Add context menu for splitter tabs.
Git status count lines of added files and other fixes.
Other code clean up regarding Variant class.
2024-01-07 15:18:07 -03:00
Martín Lucas Golini
b41cbfe1ce eepp: Added Sys::getEnvironmentVariables. Improved Process class.
ecode: Fixed a bug in StatusBuildOuputController. Improvements when code completion and signature help are present at the same time.
2023-12-16 00:21:20 -03:00
Martín Lucas Golini
7f2d9bc093 Improve scroll in status build log. 2023-11-02 20:10:24 -03:00
Martín Lucas Golini
809781b119 Display file lock icon when editor is on read-only state.
Fix emscripten build.
Fix scroll on status build logs.
Display shortcut for document read-only checkbox in settings.
Fix duplicating command execution on project tree view.
2023-11-01 22:48:52 -03:00
Martín Lucas Golini
b864a3ea62 Fix status build output in incorrect order when clicking the log.
Fix incorrect text editing status for tables and tree views.
2023-10-30 23:48:31 -03:00
Martín Lucas Golini
b2c2b80edf Fix Windows build.
Disabled dynamic syntax until it works properly.
2023-10-06 19:56:21 -03:00
Martín Lucas Golini
8612eb2721 eepp: Improvements in Process. Some minor performance improvements.
ecode : Fixes in XML Tools. Fixes in Linter Plugin.
2023-09-28 01:05:15 -03:00
Martín Lucas Golini
3231dabbee Minor fixes and improvements. 2023-09-05 19:51:36 -03:00
Martín Lucas Golini
d6a698bacc Project Build fixes. 2023-08-08 00:34:40 -03:00
Martín Lucas Golini
3e4ae1b1da ecode: Fix build button incorrect state. 2023-08-01 00:23:48 -03:00
Martín Lucas Golini
6a4a2881ab eepp:
UICodeEditorSplitter, goto line of document opened when creating a split.
StyleSheetParser allow UTF-8 BOM files.
Improved UICodeEditor::scrollTo.
ecode:
Fixed a crash in universal locator.
2023-07-06 00:32:07 -03:00
Martín Lucas Golini
0a9059771e eepp:
Minor changes in Action implementation.
Added setTimeout and setInterval to Node.
Runnable action now can loop.
Editor splitter will always try to focus an open document in the current tab widget.
ecode:
Trim memory every 60 seconds when editor has been active (Linux).
2023-06-28 00:24:00 -03:00
Martín Lucas Golini
f58866dd66 eepp: Added ScopedOp and BoolScopedOp. General optimization of lambda captures. Added support in UICodeEditorSplitter for navigation history.
ecode: Implemented navigation history over the editor, with Alt + Left | Right you can navigate over the relevant code navigation history.
2023-06-25 21:14:36 -03:00
Martín Lucas Golini
7e1e715dfd ecode: Linter now allows to navigate between erros and warnings with keyboard shortcuts. 2023-06-24 16:25:53 -03:00
Martín Lucas Golini
5d54f01352 eepp:
Added Window::flash().
FileSystemModel will not spam invalidations when not needed.
UIAbstractTableView and UIAbstractView won't queue more than 1 invalidation per frame when invalidations comes from a non-main thread.
ecode:
UniversalLocator now understands pasted file paths (with and withouth cursor position) and allows to go to that file and position.
2023-06-23 20:28:22 -03:00
Martín Lucas Golini
4120a25a24 ecode: Project Build Fixes. List open files in universal locator. Added some shortcuts. 2023-06-21 01:10:23 -03:00
Martín Lucas Golini
47552cdebe ecode: Allow copy error message and file path from build output issues. 2023-06-20 02:39:25 -03:00
Martín Lucas Golini
c29f43ed34 eepp: UITabWidget now let you set how a tab should be focused when the current focused tab is closed (search for the closest tab or focus the previous focused tab).
ecode: Document Info is shown in the status bar if the status bar is present. Fixed a bug when parsing the file path of a status build issue.
2023-06-15 00:55:56 -03:00
Martín Lucas Golini
c0aabb56d8 eepp: Fixed UI Editor crash when opening projects.
ecode: Status Build Output Controller crash fix. Added icons to the status bar buttons.
2023-06-13 20:44:49 -03:00
Martín Lucas Golini
de4875b255 eepp: Allow to unselect selection from UIAbstractView.
ecode: Updated icons ttf.
Completed implementation of Build Output, now it will list Issues found when compiling in the Issues section inside Build.
Tentative fix in LSPDocumentClient when parsing semantic highlight.
Improved Features Health GUI.
2023-06-11 17:23:18 -03:00
Martín Lucas Golini
32466ba8b7 ecode:
Fixed plugins not finding a running LSP for a language that it's not the default that made run the LSP when LSPs are shared between languages.
Finished implementing the project build configuration (added clone and fixed several minor stuff).
Fixed keybindings not loading the user configured keybidings in some components.
Improved status bar.
2023-06-09 01:27:17 -03:00
Martín Lucas Golini
cc62ec5790 ecode:
Improved drastically UIBorderDrawable performance.
Added Event::OnItemValueChange event and ItemValueEvent.
Added i18n function to UIWidget.
Remamed Node::addMouseClickListener to Node::onClick.
Added UI_SCROLLABLE flag and UINode::isScrollable to indicate if the widget implements some scrolling function and now UIScrollView will check if it can scroll by checking if the widget over is scrollable or not.
UISceneNode now implements loadLayoutFromString with const char* to avoid unnecessary std::string allocations.
Several fixes in UIListBox and UIDropDownList.
ecode:
Continued working on UIBuildSettings screen and Project Build configuration.
2023-06-01 02:32:03 -03:00