Commit Graph

1756 Commits

Author SHA1 Message Date
Martín Lucas Golini
5f678f2dfe Pump versions. 2025-10-19 00:30:33 -03:00
Martín Lucas Golini
2d9e352818 Remove mScreenPosi from Node. 2025-10-18 23:41:07 -03:00
Martín Lucas Golini
022e680a00 ecode Debugger: Enable the variable context menu options (right-click) in the hover variable menu.
Fix a double free bug in UIWindow.
2025-10-15 00:40:13 -03:00
Martín Lucas Golini
fcc517a926 Display tooltip also for chat names. 2025-10-11 22:40:15 -03:00
Martín Lucas Golini
30e7b84c05 Reduce some padding in UI elements.
Minor change in AI assistant attachments UX.
2025-10-10 13:57:24 -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
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
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
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
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
da9c8f42ac Fix crash when using native file dialogs. 2025-09-25 12:42:02 -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
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
dfd47dd1e3 Native file dialogs support WIP (SpartanJ/ecode#653). 2025-09-18 23:20:16 -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
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
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
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
8f2157e700 Fixed a use after free crash when debugging.
Improved toggle-block-comment logic to take into account extra spaces between the open and close of block comments (improvement suggested in SpartanJ/ecode#625 for SpartanJ/ecode#604).
2025-09-09 00:01:24 -03:00
Martín Lucas Golini
428730c3fb Do not switch/steal focus when using the editor scrollbars (SpartanJ/ecode#626). 2025-09-08 13:56:21 -03:00
Martín Lucas Golini
7e6de3f9b2 Added keyboard shortcut operations in the file system tree view, to complete SpartanJ/ecode#71. 2025-09-07 19:48:29 -03:00
Martín Lucas Golini
873274e33c Initial support of drag and drop to move files and folders around from the file tree view (SpartanJ/ecode#71). 2025-09-07 02:06:53 -03:00
Martín Lucas Golini
bdde898d52 MouseBindings in UICodeEditor WIP. 2025-08-25 00:41:54 -03:00
Martín Lucas Golini
146b77eebe Improve / Fix Font::isEmojiCodePoint (fixes loading some text codepoint as emoji codepoints).
Improve TextDocument::fileMightBeBinary to avoid some false-positives.
Sanitize on load corrupted document line endings when \r\n are found but not expected.
Improve HExtLanguageTypeHelper::detectLanguage to avoid allocating memory.
Added String::readBySeparatorStoppable.
Added SyntaxDefinitionManager::isFileFormatSupported.
2025-08-24 16:01:40 -03:00
Martín Lucas Golini
5be86a39e9 Mouse shorcuts WIP. 2025-08-24 01:11:39 -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
4730c4f183 Implemented toggle-block-comment command (SpartanJ/ecode#604).
Added M4 syntax highlighting (SpartanJ/ecode#564).
2025-08-18 23:33:47 -03:00
Martín Lucas Golini
d6fa207457 Fix Windows build. 2025-08-17 21:34:13 -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
6d8d991abc Add ellipsis to the error lens if it does not fit in the line, also display code lens in the correct visible line index when the line is wrapped. 2025-08-15 23:57:05 -03:00
Martín Lucas Golini
62bfcf29c3 Greatly improve debugging session stability.
Handle some more sequences in TerminalEmulator.
Update SOIL2.
2025-08-15 02:55:12 -03:00
Martín Lucas Golini
929b38410b Fix slowdown due to locking the main thread when sending text buffer changes to the LSP. 2025-08-14 00:17:16 -03:00
Martín Lucas Golini
0ec2a4dba9 Try fix invalid memory access in SyntaxDefinitions.
Added attach in Chat UI.
Some minor improvements in Http pool implementation.
2025-08-12 00:49:13 -03:00
Martín Lucas Golini
cec73de2eb Fix a couple of bugs related with use-after-free. Try to make some of the text document and syntax highlighter functionality more thread-safe. 2025-08-10 01:25:10 -03:00
Martín Lucas Golini
a537214cc7 Allow to add a filtered file to the project file tree by adding it in .ecode/.prjallowed (SpartanJ/ecode#592).
Allow canceling the global search with escape.
2025-07-17 16:43:42 -03:00
Martín Lucas Golini
3e6ab795b4 Fix crash in linter. 2025-07-15 19:51:48 -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
23f90967c7 Fix some TypeScript React issues I introduced with the syntaxes pre-definitions.
Improved tokenizer performance, reduced heap allocations to the very minimum possible (lua patterns now can be flagged as anchored).
2025-07-12 13:47:42 -03:00
Martín Lucas Golini
e7a381eb5b SyntaxTokenizer: Prevent stalling in zero-width look ahead matches. 2025-07-12 01:51:35 -03:00
Martín Lucas Golini
fa5aa4d006 Add Qbs syntax highlighting (SpartanJ/ecode#553).
Add the possibility from inherit patterns and repositories from other syntax definition.
2025-07-11 01:02:46 -03:00
Martín Lucas Golini
a4deb66c2a Added pkg-config syntax highlighting (SpartanJ/ecode#563).
Register `.h.in` and `.c.in` extensions (SpartanJ/ecode#567).
Slight refactor for Repositories, now it will hold a SyntaxRespository struct (to easily extend it in the future).
2025-07-08 20:30:43 -03:00