Commit Graph

107 Commits

Author SHA1 Message Date
Martín Lucas Golini
f180e58e56 Added Settings -> Window -> UI Theme -> Syntax Color Scheme to use the editor color scheme globally for the UI Theme colors, having a single color palette for the whole UI and making much easier to style the UI, this solves SpartanJ/ecode#661, since now we support one UI theme for each existing syntax color scheme. Still a WIP, I'll continue improving it during the development of 0.7.5, but it's ready to use. 2026-01-18 01:38:27 -03:00
Martín Lucas Golini
d198f36eca Added an option to reset panel layout (SpartanJ/ecode#675).
Added options to "Reset Global File Associations" and "Reset Project File Associations" (renamed the command names too).
2026-01-11 18:25:49 -03:00
Martín Lucas Golini
d6f60354c1 Improve UIWindow default focusing behavior.
Adjust `window-flags` behavior when used from CSS.
Display a download progress window when download-file-web is used. Also support loading images and sounds from downloads.
Minor safety checks added for engine termination and window closing.
Minor changes in Http.
2026-01-10 01:49:20 -03:00
Martín Lucas Golini
8260cf6999 Added an option to set to always open terminal in exclusve mode (SpartanJ/ecode#800).
Set language extension priorities per-project.
Added "reset-global-language-extensions-priorities" and "reset-project-language-extensions-priorities" commands.
Added FreeBASIC and QB64 syntax highlighting.
Fixed a minor bug that loaded the same language into memory multiple times.
2026-01-09 01:38:12 -03:00
Martín Lucas Golini
1d2dd61cf5 Added option to force opening documents in main split (Settings -> Window -> Open Documents in Main Split). 2025-12-29 01:44:04 -03:00
Martín Lucas Golini
f9eb012f77 Added an option to open new terminals in status bar panel. 2025-12-28 14:02:07 -03:00
Martín Lucas Golini
2b4b9d98b6 Clear up settings menu Open Folder options. 2025-12-28 11:54:03 -03:00
Martín Lucas Golini
7cfd823881 Some clean up to the terminal configurations. 2025-12-27 20:01:48 -03:00
Martín Lucas Golini
8415e62b4c Update status bar terminals on scrollbar type or mode change. 2025-12-27 18:31:42 -03:00
Martín Lucas Golini
0ca36374c4 Terminal status bar now is a Tab Widget and can create any number of terminals.
Fix a bug when initializing the LSP that provoked to not correctly send the initial commands.
Added `expand-text` to UIPushButton.
Added `setAcceptsDropOfWidgetFn` to externally control which widgets are accepted as droppable in UITabWidget.
Improved draw invalidation in UIStackWidget.
2025-12-27 17:22:12 -03:00
Martín Lucas Golini
cb70f5b205 Apply terminal configuration changes to the status bar terminal. 2025-12-26 01:04:58 -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
5965d77e02 Add an option to configure the Settings -> Window -> "Use editor font in input fields" (this is enabled by default but not always convenient). 2025-12-21 13:00:52 -03:00
Martín Lucas Golini
8378f2a1fa Add scrollbar type and mode options for the terminal.
Hack auto-scroll in terminal for Windows 11.
Renamed ScrollViewType and made it global, properties are now `overlay` or `outside`.
Added a couple of goodies for the terminal mode (retain side panel configuration and restore it if no terminals are left).
2025-12-21 02:01:37 -03:00
Martín Lucas Golini
abda8775ac Add terminal cursor styles selection at Settings -> Terminal -> Cursor Styles.
Fix how selection in terminal is enabled or disabled based on the reported application capabilities.
Added sharedir option in premake files.
2025-12-19 12:56:16 -03:00
Martín Lucas Golini
1cd943ae26 Side Panel right click context menu improvements (SpartanJ/ecode#712).
Side Panel: Right click on a sub-directory and "Find in folder..." (SpartanJ/ecode#720).
File Save now defaults to the most recent save location (SpartanJ/ecode#734).
Side Panel: right click on a directory and open it on new window (SpartanJ/ecode#736).
Build and Run: fix run in terminal on Windows 8.1 (SpartanJ/ecode#740).
2025-12-07 00:24:04 -03:00
Martín Lucas Golini
1d2369ecf9 Fix Process::kill() in Windows.
And a couple of minor fixes.
2025-11-27 11:45:11 -03:00
Martín Lucas Golini
9d2aec8e14 eepp: Added UIImageViewer new tool widget to view images.
Added a new UIMessageBox event: `Event::OnDiscard`, this will triggered when window is closed without confirmation (`Event::OnConfirm`). And now `Event::OnCancel` is only triggered when is manually cancelled (click the cancel button).
ecode: Greatly improved image viewing experience. Now you can switch images from the same directory with the mouse wheel, also zoom, translate and rotate the images, images open in a new tab by default but quick-preview can be activated in `Settings -> Window -> Quick Preview Images` (SpartanJ/ecode#96).
2025-09-28 00:39:17 -03:00
Martín Lucas Golini
dfd47dd1e3 Native file dialogs support WIP (SpartanJ/ecode#653). 2025-09-18 23:20:16 -03:00
Martín Lucas Golini
993506dfb7 Added "Open Project in New Window" (SpartanJ/ecode#654). Can be enabled from Settings -> Window -> Open Project in New Window.
Close UIFileDialog with escape key down and not key up.
2025-09-13 19:26:03 -03:00
Martín Lucas Golini
10fdd7a0b1 Warn before closing terminal that is running some process (SpartanJ/ecode#644), probably still WIP, not tested outside Linux (it might not build).
Build ecode with -g1, it should improve crash information.
Regain editor focus after escaping from settings menu.
Prevent crash when during widget splitting (couldn't reproduce it but this just avoid crashing, SpartanJ/ecode#650).
2025-09-13 01:37:30 -03:00
Martín Lucas Golini
97a89902e2 Added Open in New Window and Move to New Window as tab right-click options and Edit options (SpartanJ/ecode#629).
Added `Move Tab to Start` and `Move Tab to End` in tab right-click options (SpartanJ/ecode#630).
Added `--profile` CLI option (SpartanJ/ecode#634).
Added `--disable-plugins` CLI option (SpartanJ/ecode#635).
Moved `crashes` directory to profile directory (SpartanJ/ecode#639).
Added `Settings -> Terminal -> Close Terminal Tab on Exit` (SpartanJ/ecode#643).
2025-09-10 01:35:11 -03:00
Martín Lucas Golini
54aaeb4931 Spell-checked the whole project. 2025-08-22 01:33:51 -03:00
Martín Lucas Golini
4b4a5f3491 More work on the Spell-Checker (SpartanJ/ecode#515).
Spell-Checked a lot of code.
2025-08-21 01:43:42 -03:00
Martín Lucas Golini
dbb36cdcf4 Fix Objective-C highlighter.
Added Objective-C++ highlighter (SpartanJ/ecode#616).
Replaced "Treat .h file as C++" in favor of "Treat .h files as..." with multiple options, including auto-detection (SpartanJ/ecode#614).
Refresh semantic-highlighting after syntax highlighter change.
2025-08-17 16:56:12 -03:00
Martín Lucas Golini
2df4e88836 Improvements when opening binary files from drag and drop and from the tree-view (SpartanJ/ecode#589).
Fixes a bug that prevented signature help to not be displayed.
2025-07-13 19:22:31 -03:00
Martín Lucas Golini
a79c16ec0a Added the possibility to configure the font hinting and font anti-aliasing.
MenuBar buttons are now slightly more separated.
When switching between dark and light ui prefers color scheme now pick a dark/light color scheme if the currently set is the default (SpartanJ/ecode#535).
Fix a bug in menu bar pop-up not hiding properly.
2025-06-30 02:23:51 -03:00
Martín Lucas Golini
e072649221 Fixes for the UITabWidget tab switcher.
Remove "Flash Cursor" (it was too broken and it's not useful after alll).
2025-05-27 01:13:44 -03:00
Martín Lucas Golini
dcea675e5b Fix input methods that depend on OpenKey, Unikey and similar software.
Fix flashing cursor on Windows! How this was not reported?!
Fix crash when closing ecode on Windows and tabs with same name where present.
2025-05-24 20:48:42 -03:00
Martín Lucas Golini
d3667b55fd Fix auto-close brackets when used with multiple cursors.
Remove the old Hide Tab Bar in single tab button.
2025-05-24 10:48:06 -03:00
Martín Lucas Golini
70aecddd18 Added support for Tab jump modes (SpartanJ/ecode#469). Including a Tab Switcher (I have no better name for the moment).
Added support to hide the Tab Bar (SpartanJ/ecode#477).
Updated efsw.
Updated JS, TS, C++ grammars.
2025-05-24 01:10:50 -03:00
Martín Lucas Golini
5f9d2bd5ea Fix a bug when changing themes (some properties where not updated due to cached properties).
Fix a bug when displaying sub-menus, it was sometimes incorrectly positioned.
2025-04-20 12:41:36 -03:00
Martín Lucas Golini
995b0c8432 Improve covscript syntax highlighting.
Add Tab Stops description / explanation.
2025-04-10 00:59:14 -03:00
Martín Lucas Golini
4146bfef6f Implemented tab-stops support (SpartanJ/ecode#55). Not enabled by default until I'm sure I did not break anything. 2025-04-09 21:22:17 -03:00
Martín Lucas Golini
2d62165657 Minor fixes in xit and markdown definitions.
Minor fix in text wrap.
Chat UI now displays Google Gemini error messages.
2025-04-06 23:41:35 -03:00
Martín Lucas Golini
ea8a44e7a9 Fixed an old bug in syntax highlighting that sometimes the first line of the file was not correctly highlighted.
Added Svelte syntax highlighting support.
Improved CSS syntax highlighting.
Added "Open All Files in Folder" option when right click a folder in the folder tree view.
2025-03-09 13:37:33 -03:00
Martín Lucas Golini
0da3ffca17 Add flash cursor command and functionality. 2025-02-07 00:09:32 -03:00
Martín Lucas Golini
337ac0f334 Hint user to configure keybindings from plugins. 2025-01-25 22:23:53 -03:00
Martín Lucas Golini
a15e461cc8 Speed up load time by loading asynchronously some resources before window creation and avoiding creating some of the largest submenues in settings menu. 2024-12-22 22:23:44 -03:00
Martín Lucas Golini
98c387f2b1 Fix for SpartanJ/ecode#371.
Slightly increase brighness in inactive tab text color.
2024-12-19 19:16:20 -03:00
Martín Lucas Golini
6c413995ae Reduce type ambiguity.
Don't expose locale headers.
2024-10-20 13:43:08 -03:00
Martín Lucas Golini
2bb66d2e40 Improvements for better theming support in ecode. 2024-10-19 22:59:16 -03:00
Martín Lucas Golini
e7f4c6fa45 Change "Single Instance" to "Open Files in New Window". 2024-10-03 00:22:45 -03:00
Martín Lucas Golini
49e56f05a2 Single instance support (tested in Linux and Windows, pending the rest of the OSes, issue SpartanJ/ecode#58).
Refresh buttons state when Clear Menu is used (issue SpartanJ/ecode#339).
2024-09-28 01:01:14 -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
5382496f08 Clean up a little bit main class App, move some code to new helper classes. 2024-09-05 00:07:31 -03:00
Martín Lucas Golini
73a868db55 Allow to drag folder into the editor and it will load the folder (SpartanJ/ecode/314).
Flag the document as modified until saved when changing it's line ending (SpartanJ/ecode/315).
Avoid processing document symbols on huge files. Avoid matching brackets on huge files.
2024-08-29 18:20:17 -03:00
Martín Lucas Golini
bd96005bf8 ecode: Implemented LSP document symbol tree with search, integrated with the breadcrumb.
eepp: Added a new flag to UIWindow to create ephemeral windows (windows that close on focus loss).
2024-08-26 01:09:50 -03:00
Martín Lucas Golini
526e86b5d6 Adds support for custom tab visualization (SpartanJ/ecode#37). 2024-08-17 13:02:59 -03:00
Martín Lucas Golini
81a8605e04 Rename Auto Save to Session Snapshot 2024-07-16 16:25:34 -03:00