Commit Graph
126 Commits
Author SHA1 Message Date
Martín Lucas Golini 98088dd44d Add color boxes support (SpartanJ/ecode#825). 2026-04-04 14:11:05 -03:00
Martín Lucas Golini 5c264ce906 ecode: allow configuring the default working directory of a new terminal 2026-04-03 17:28:59 -03:00
Martín Lucas Golini 64794b7859 Fix SyntaxHighlighter::tokenizeAsync (damn i pushed a temporal change into develop).
Fix duplicating the load of session snapshot temporal files.
2026-03-22 17:38:51 -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 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 d5e10aa790 Improve color emoji rendering.
Add new test for emojis + text.
Enabled text-shaper by default.
Updated the NotoColorEmoji font with the latest version.
2025-12-30 17:52:31 -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 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 2008b57033 Added SheenBidi segmentation. 2025-11-10 00:53:28 -03:00
Martín Lucas Golini 4edb776d51 Added a new option to set files associations in projects.
Introduced a new configuration file for projects in the project file `.ecode/settings.json` file.
Initially it supports files associations the following way:
```json
{
	"files.associations": {
		"glob_pattern": "language_name",
		"functional": "cpp",
		"map": "cpp",
		"**/c++/**": "cpp"
	}
}
```

Format is exactly the same as in vscode, and also, if no `.ecode/settings.json` file exists but does `.vscode/settings.json` file exists, it will fallback to that one.
This is related to the discussion in issue SpartanJ/ecode#585.
2025-10-06 00:12:05 -03:00
Martín Lucas Golini 0ec661852a eepp: Updated mojoal, dr_mp3, dr_flac. Fixed various mojoal bugs. Added SoundFileFactory::isKnownFileExtension. SoundFileFactory::isValidAudio, SoundFileFactory::isValidAudioFile.
ecode: Added audio player support (SpartanJ/ecode#96).
2025-09-29 00:02:06 -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 66e793436c Implemented a basic Spell Checker plugin using typos-cli. Still needs some improvements but it's working (SpartanJ/ecode#515). 2025-08-20 20:45:36 -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 4da71def34 Fix bug not displaying an error when opening a terminal in unsupported platforms and then allowing to open an external terminal (mentioned in SpartanJ/ecode#609). 2025-08-10 11:04:15 -03:00
Martín Lucas Golini 79ec7d1c77 Allow configuring the default shell command line arguments. Set -l by default in Haiku (to recover the user profile by default, SpartanJ/ecode#601). 2025-07-27 13:15:59 -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 e0b763f637 Node debugger fixes.
LSP mouse hover fix when there's also a linter error in the same position.
Fix in emscripten file parameter parsing.
2025-07-02 01:41:18 -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 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 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 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 62d3a41527 Disable flashing cursor by default. 2025-04-06 10:25:52 -03:00
Martín Lucas Golini 8ac5e1e2e8 Refactor in SyntaxDefinition and related classes.
Minor improvements in CPP, CSS, xit syntax highlighting.
AI Assistant / LLM Chat now can restore previous opened chats and states (last model used, panel split), can have private conversations, can clone a previous conversation, plus some visual improvements.
Fixed a bug in tab widget splitting.
2025-03-26 23:55:29 -03:00
Martín Lucas Golini 9e6a29653f AI Assistant UI refactor.
Fixes in debugger an autocomplete plugin (from some of the new changes in both cases).
Fix UITextView not updating the aligment after padding change.
2025-03-14 21:56:05 -03:00
Martín Lucas Golini 2bccd1f836 More AI Assistant WIP. 2025-03-12 01:27:20 -03:00
Martín Lucas Golini 4ef3dfa312 AI Assistant WIP (first working version, no settings available and many things pending but chat working). 2025-03-11 22:04:46 -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 882e68542e Added expressions support in debugger.
Persist debugger state.
2025-01-12 20:29:44 -03:00
Martín Lucas Golini cf84fc7cff Save side panel tabs order. 2025-01-01 16:18:26 -03:00
Martín Lucas Golini 9fc6078c61 Merge branch 'develop' into debugger 2024-12-29 23:50:46 -03:00
Martín Lucas Golini 793e87af5c Allow to split editors views by dragging tabs into the tab widget corners. 2024-12-29 23:50:24 -03:00
Martín Lucas Golini d07bb2572c More WIP. 2024-12-28 13:16:03 -03:00
Martín Lucas Golini 60784d79a6 Window size fixes on macOS.
Changes for SpartanJ/ecode/#373
2024-12-22 14:40:02 -03:00
Martín Lucas Golini 889ba51a2e IME fixes that should fix SpartanJ/ecode#355.
Fix a crash when loading empty file from disk.
2024-11-15 00:07:40 -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 a60cff4d93 Add RegEx support for global search.
Minor change in how minimap is dragged.
2024-09-22 14:03:07 -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 72a0cdbc69 Add support for DropDownList and ComboBox on UIMessageBox.
Improve displayed indent tab character settings.
2024-08-17 20:16:32 -03:00