Commit Graph

1797 Commits

Author SHA1 Message Date
Martín Lucas Golini
8f2b9d65ba Register debugger commands globally. 2025-12-24 00:39:26 -03:00
Martín Lucas Golini
396b3d9d07 Fix paste with middle-click in OSes with no primary selection.
Fix emoji color positioning (broke in previous commit).
Prevent dead-locks in LSP *very* heavy usage scenarios (added a few logs i might remove later).
Enable auto-complete list highlighting by default.
2025-12-23 18:04:36 -03:00
Martín Lucas Golini
0cb44a39d2 Fix bitmap fonts text and cursor positioning. 2025-12-22 14:40:11 -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
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
a696c95d75 Improve bitmap fonts support in UICodeEditor.
Refactor font loading.
2025-12-20 23:09:31 -03:00
Martín Lucas Golini
35fbf7c733 Terminal: multiple issues with the copy/paste operations fixed. Now uses the primary selection when corresponds (middle mouse click, shift+insert). Fixed paste operation, it does not hang the app, pastes instantly contents and behaves exactly the same as other terminals.
Incorporated new features into eterm.
2025-12-20 01:58:21 -03:00
Martín Lucas Golini
e5a67727c4 Terminal: Add auto-scroll when selecting and mouse cursor moves out of vertical view range.
Fix tab owned widget focus.
Fix overlapping shortcuts and terminal shortcuts in terminal.
2025-12-19 14:20:17 -03:00
Martín Lucas Golini
661c453d94 Added menu-width-mode for UIDropDownList. 2025-12-14 18:41:41 -03:00
Martín Lucas Golini
354c958d6d Markdown grammar improvements. 2025-12-13 17:21:25 -03:00
Martín Lucas Golini
c5bcf349ed Allow to link files in AI Assistant.
In Http connections destroy connection on early exit.
2025-12-08 01:59:11 -03:00
Martín Lucas Golini
08a8c2b06e Added an option to reuse the previously launched terminal (SpartanJ/ecode#710). 2025-12-07 00:53:58 -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
ab738ea79d Added duplicate-line-or-selection TextDocument command.
Updated README.
2025-12-06 12:28:35 -03:00
Martín Lucas Golini
69a5c8c3c2 Fixes in process kill. 2025-11-27 13:31:01 -03:00
Martín Lucas Golini
02cd65eebe A few extra optimizations. 2025-11-20 00:19:45 -03:00
Martín Lucas Golini
a4002717be Added String::isLatin1 and String::getTextHints.
Added TextHint::NoKerning to skip kerning in Text and TextLayout.
Added Gemini 3 Pro Preview new Gemini model.
Some minor changes in TextEmulator, backported from st latest version.
2025-11-19 01:24:39 -03:00
Martín Lucas Golini
e3ca29842f Rename TextLayouter and move the static functions to TextLayout.
Several fixes in AI Assistant chat UI.
TextLayout cache is now returned as a shared pointer to avoid copying the struct each time.
Some minor changes in FontTrueType and FontManager.
ShapedGlyph now stores the TextDirection of each glyph.
2025-11-17 00:23:58 -03:00
Martín Lucas Golini
c704e00833 Improve editor "add-cursor-above" and "add-cursor-below" behavior. 2025-11-16 20:04:46 -03:00
Martín Lucas Golini
24e8ec447b Try again, not sure what failed in Windows tests (cannot repro). 2025-11-16 11:02:42 -03:00
Martín Lucas Golini
276c481f00 Added support to OpenType SVG font files in FontTrueType. 2025-11-16 00:52:45 -03:00
Martín Lucas Golini
cc709e9d5d Fixed positioning with grapheme clustering in TextDocument. Added String::isGraphemeBoundary, String::isWordBoundary and String::isSentenceBoundary that help this.
Added unicodelib.h dependency.
In TerminalEmulator allow to select text outside the visible range.
2025-11-15 19:48:24 -03:00
Martín Lucas Golini
a1b08cdc38 More fixes for RTL. 2025-11-12 21:42:41 -03:00
Martín Lucas Golini
b0f6e6083d Clean up. 2025-11-12 00:06:38 -03:00
Martín Lucas Golini
7fc992ef2a Fix RTL text rendering. 2025-11-11 01:43:43 -03:00
Martín Lucas Golini
2008b57033 Added SheenBidi segmentation. 2025-11-10 00:53:28 -03:00
Martín Lucas Golini
c114b57b09 Fix Windows build. 2025-11-09 16:01:24 -03:00
Martín Lucas Golini
91f93184af Update FreeType to 2.14.1.
Add SheenBidi dependency (still not in use).
Update tests with the new FreeType version.
2025-11-09 13:36:13 -03:00
Martín Lucas Golini
9d8878a60b ecode: Fixed crash when waiting from an LLM prompt response and closing the Chat UI. eepp: Http client fixes. Thread::getCurrentThreadId() fix. 2025-11-08 01:08:43 -03:00
Martín Lucas Golini
fcce822350 Add LRUCache and use it in TextLayouter. 2025-11-06 01:17:28 -03:00
Martín Lucas Golini
2115546349 Refactor and performance improvements. 2025-11-03 00:06:58 -03:00
Martín Lucas Golini
491b15d6ca Some extra improvements and adjustments. 2025-11-02 17:58:05 -03:00
Martín Lucas Golini
58b8a815d2 Many text-shaper fixes and many more tests. 2025-11-02 13:47:15 -03:00
Martín Lucas Golini
f91c6d0f48 Merge branch 'develop' into text-shape 2025-10-28 00:48:31 -03:00
Martín Lucas Golini
6ec1a10c47 Minor changes in UIApplication. 2025-10-28 00:48:21 -03:00
Martín Lucas Golini
7f30a7e22b Glyph get fixes. 2025-10-26 21:50:09 -03:00
Martín Lucas Golini
fa5c6017f7 WIP text shaping refactor. 2025-10-26 21:29:50 -03:00
Martín Lucas Golini
41be87b4fe Fix Windows build. 2025-10-25 23:47:29 -03:00
Martín Lucas Golini
74ef41e029 Improve font rendering test suite.
Fixed some minor issues cleaning up memory while destroying the engine (this is to be able to create a new window and load resources without issues, a not very common behavior but needed for tests).
2025-10-25 21:15:18 -03:00
Martín Lucas Golini
521631decf Fix ARGB images save when using WebP.
Upload artifacts.
2025-10-25 02:52:21 -03:00
Martín Lucas Golini
af5daa4717 Add Image::diff.
Fixed inavalid memory access due to double free in FontBMP and FontSprite.
Added FontRendering unit-tests.
2025-10-25 00:56:05 -03:00
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