Commit Graph

3745 Commits

Author SHA1 Message Date
Martín Lucas Golini
2d700f9e36 Use Resources path when building ecode.app. Should fix signing. 2025-10-08 22:21:59 -03:00
Martín Lucas Golini
97d6665d3b Implement macOS code-signing (not tested, let's see if CI works, very unlikely). 2025-10-08 21:39:44 -03:00
Martín Lucas Golini
921ad5c4c4 Update submodules. 2025-10-08 01:40:54 -03:00
Martín Lucas Golini
ba1d9bdba2 Fixed a few bugs in Color (this fixes the eepp Tests blurred windows background).
Added `Primitives::drawSoftShadow` to draw simple shadows with primitives. Improved the shadow rendering adding correct rounded borders. UIWindow::drawShadow now uses this function.
Fixed a bug not displaying a recently create window when default transitions are enabled.
Plus some minor fixes.
2025-10-07 00:13:45 -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
92bb0c9d75 Pump SDL2 version for macOS, fixes initialization slowdown reported in libsdl-org/SDL#13427. 2025-10-05 15:12:17 -03:00
Martín Lucas Golini
dc8007d355 Make conf files syntax highlighting compatible with UCL (let's try this way, so user does not need to switch between languages all the time), SpartanJ/ecode#617. 2025-10-05 11:50:56 -03:00
Martín Lucas Golini
e7106c6fd4 Fix possible dead-lock while closing / destructing in LinterPlugin.
Minor nit in Markdown syntax highlighter.
2025-10-04 13:17:07 -03:00
Martín Lucas Golini
7dde5826c7 In widgets rename all the addEventListener calls to on.
Some minor fixes in cpp, css, xml and html syntax highlighters.
2025-10-03 21:12:08 -03:00
Martín Lucas Golini
c585e1761b IDK how that happened. 2025-10-03 11:14:24 -03:00
Martín Lucas Golini
15f9bc3fd8 Arrange correctly the elements in statusbar on some cases.
Add the option "Open URL" in the context menu when right clickin a URL.
2025-10-03 00:05:28 -03:00
Martín Lucas Golini
04c846b569 Implemented new text document commands:
* "convert-indentation-to-tabs" and "convert-indentation-to-spaces" (SpartanJ/ecode#667).
* "fold", "unfold", "toggle-fold", "fold-all", "unfold-all" (SpartanJ/ecode#683).

Added logic for file associations in SyntaxDefinitionManager, not used yet. Also added generic logic to detect languages from file path (specifically for C++ headers that contain file names without extension).
Minor changes in String.
2025-10-02 01:11:55 -03:00
Martín Lucas Golini
3d002678a8 Added "join-lines" (SpartanJ/ecode#669).
Added "move-to-previous-paragraph", "move-to-next-paragraph", "select-paragraph", "delete-paragraph" (SpartanJ/ecode#670).
Updated codicon font and changed the AI Assistant main icon.
Improved `CommandPalette::build`.
2025-10-01 00:50:03 -03:00
Martín Lucas Golini
3ca72f91d3 Remove duplicate entries in command palette (SpartanJ/ecode#680). 2025-09-30 01:26:28 -03:00
Martín Lucas Golini
3248543ce2 Added trim-trailing-whitespace command (SpartanJ/ecode#667).
Added `delete-to-start-of-line` command (SpartanJ/ecode#668).
Added OpenRouter support to the AI Assistant.
2025-09-30 01:13:24 -03:00
Martín Lucas Golini
5f666007bf Do not use std::format since it doesn't seem to be available in all CI build environments. 2025-09-29 01:08:04 -03:00
Martín Lucas Golini
2cc0aa6ac6 Should fix build. 2025-09-29 00:56:04 -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
6244563e7d Fix a GL sync issue when loading huge texture asynchronously.
Fix a bug in String::numberCleanInPlace.
Added a few Node::setScale related functions.
2025-09-27 12:59:47 -03:00
Martín Lucas Golini
fdbce78cf8 UICodeEditor: Better line ending glyph fallback. 2025-09-26 21:16:55 -03:00
Martín Lucas Golini
ea41c6842b Fix line endings fallback. 2025-09-25 13:59:26 -03:00
Martín Lucas Golini
9464f3918f Fix for flathub/dev.ensoft.ecode#53. 2025-09-25 13:30:43 -03:00
Martín Lucas Golini
da9c8f42ac Fix crash when using native file dialogs. 2025-09-25 12:42:02 -03:00
Martín Lucas Golini
bb66d53d16 Fix a crash while exiting if a close editor dialog was present. 2025-09-24 14:19:48 -03:00
Martín Lucas Golini
ec8016eb0e Added CSS light-dark function support (https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/light-dark).
Fix minor bug in SyntaxTokenizer.
Fix default Google chepeast model.
2025-09-24 00:35:37 -03:00
Martín Lucas Golini
997be992fe Add a few function helpers in tRECT. 2025-09-23 11:09:31 -03:00
Martín Lucas Golini
2cb83cc8cf Merge remote-tracking branch 'origin/develop' into develop 2025-09-22 23:53:24 -03:00
Martín Lucas Golini
b3447f8a55 Pump eepp minor version since there are a log of new ABI changes. 2025-09-22 23:53:04 -03:00
Martín Lucas Golini
471465897b Only show message boxes when they are ready. 2025-09-22 00:56:26 -03:00
Martín Lucas Golini
f9481a5686 Added this keyword to elena. 2025-09-21 21:09:13 -03:00
Martín Lucas Golini
835c1b7a2c Fix mingw64 windows build. 2025-09-19 01:05:52 -03:00
Charlie Root
062854a7a2 Fix FreeBSD build. 2025-09-18 23:58:15 -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
aa3eea5810 Fix regression in SpartanJ/ecode#659. 2025-09-18 10:36:01 -03:00
Martín Lucas Golini
4408d61482 Use posix spawn in Sys::execute when available and possible.
Add jEdit color scheme (SpartanJ/ecode#660).
Add a `--first-instance` CLI option to open files in the oldest ecode instance (SpartanJ/ecode#659).
2025-09-18 00:59:56 -03:00
Martín Lucas Golini
cb386d7f7e Add constexpr to C and Obj-C. 2025-09-17 14:55:37 -03:00
Martín Lucas Golini
ad61461e20 Add readonly keyword in Obj-C / C++. 2025-09-17 10:31:04 -03:00
Martín Lucas Golini
6a9e222f09 Text shaping fixes. 2025-09-16 01:36:34 -03:00
Martín Lucas Golini
04df763bc0 Disable some private sequences in terminal emulator due to not correct handling generating some artifacts. 2025-09-15 01:21:10 -03:00
Martín Lucas Golini
240961864d A couple of optimizations in terminal display. 2025-09-14 13:22:56 -03:00
Martín Lucas Golini
f9e0e8354a Fix accidental delete of VBO. 2025-09-14 12:17:27 -03:00
Martín Lucas Golini
2611af5a04 Fix crash in macOS. 2025-09-14 02:12:37 -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
9e5357edd7 Fix Sys::processHasChildren in BSD and macOS. 2025-09-13 18:21:17 -03:00
Martín Lucas Golini
fe5d226fae Finished implementing the logic of warn before tab close on terminals (SpartanJ/ecode#644). Also added this feature in eterm (enabled with --warn-before-closing).
Fix a use-after-free bug in Font::getGlyph and FontTrueType::getGlyphIndex.
Some extra checks to avoid crash reported in SpartanJ/ecode#650.
Some minor improvement in auto-close brackets logic.
Added clone document buffer (SpartanJ/ecode#632).
2025-09-13 17:07:55 -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
4c097fd3f7 Minor nit. 2025-09-11 00:11:08 -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
3a7e4add3a Forgot to stash the debugger crash fix. 2025-09-09 00:01:50 -03:00