Commit Graph

1802 Commits

Author SHA1 Message Date
Martín Lucas Golini
014d2b767c Improve UIMenu positioning (allow to take into account the trigger button to position). 2026-01-01 14:17:10 -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
7cfd823881 Some clean up to the terminal configurations. 2025-12-27 20:01:48 -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
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