Commit Graph

94 Commits

Author SHA1 Message Date
Martín Lucas Golini
42108f442a Properly display untracked files diff view. 2026-04-24 19:36:30 -03:00
Martín Lucas Golini
527c1dc56c Fix in drop-down height calculation.
Added `--diff` parameter.
Allow to load multiple files and folders from the CLI.
2026-03-25 13:20:10 -03:00
Martín Lucas Golini
d0093a7801 Added multi-file diff / patch visualization support. 2026-03-25 00:54:48 -03:00
Martín Lucas Golini
d38415f335 UIDiffView: Added Reduced / Complete toggle. Added LCS support. A lot of extra improvements. 2026-03-24 18:50:54 -03:00
Martín Lucas Golini
534c052722 Added side by side view in the diff viewer, allow to change view mode with a switch. Performance improvements and more. 2026-03-24 13:34:56 -03:00
Martín Lucas Golini
0e923adea9 UI: Add UIDiffView for specialized diff/patch visualization
- Integrated dtl into thirdparty for native string diffing
- Implemented UIDiffView, a composite wrapper for UICodeEditor with a custom plugin (UIDiffEditorPlugin)
- Handles dynamic string diffing and standard .patch file parsing
- Automatically extracts target filename from patch headers for proper syntax highlighting
- Corrects line numbers in gutter to match the diff origins while hiding patch headers
- Wired into App::loadDiffFromPath and GitPlugin
- Added exhaustive unit tests in uidiffview_test.cpp
2026-03-23 18:50:26 -03:00
Martín Lucas Golini
ccf5a49f88 Minor fix in AI chat file links.
Minor improvements in breeze CSS rules and color scheme translator.
2026-02-23 01:05:33 -03:00
Martín Lucas Golini
619295fa62 Fix modifed files color highlight in treeview.
Minor change in AI Assistant.
2026-02-06 00:45:24 -03:00
Martín Lucas Golini
bbb8fce43f Instead of using *::cell::text and tableview::cell::icon in breeze and styles we will just use *::tableview::cell. And leave the inner elements of PushButton unaltered (since the father already can alter them).
Did some fixes in `Text::findCharacterPos` and `Text::findCharacterFromPos`, also tentatively added support for soft-wrap in those function (I haven't tested much yet).
2026-02-01 21:46:42 -03:00
Martín Lucas Golini
1789540388 Separate TextLayout result into paragraphs with ShapedTextParagraph.
Change the `Text::wrapText` implementation to use the `LineWrap::computeLineBreaks` function, so it's consistent across eepp. Also renamed the function to `Text::hardWrapText` to be more descriptive.
Added new-line support in `LineWrap::computeLineBreaks`.
2026-01-24 17:59:09 -03:00
Martín Lucas Golini
f180e58e56 Added Settings -> Window -> UI Theme -> Syntax Color Scheme to use the editor color scheme globally for the UI Theme colors, having a single color palette for the whole UI and making much easier to style the UI, this solves SpartanJ/ecode#661, since now we support one UI theme for each existing syntax color scheme. Still a WIP, I'll continue improving it during the development of 0.7.5, but it's ready to use. 2026-01-18 01:38:27 -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
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
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
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
54aaeb4931 Spell-checked the whole project. 2025-08-22 01:33:51 -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
3797aa877b Minor refactor in SyntaxTokenizer.
Open .xbm and .xpm files as C (SpartanJ/ecode#532).
2025-06-28 20:55:09 -03:00
Martín Lucas Golini
c156b53e4b Rename "keyword2" to "type" and "keyword3" to "parameter".
Added some String overloaded functions.
2025-06-01 20:07:23 -03:00
Martín Lucas Golini
1d2c258ae7 Make Git plugin less verbose. 2025-04-07 21:16:20 -03:00
Martín Lucas Golini
da85af1246 Added C3 syntax highlighting and LSP support.
Refactored TextUndoStack, now uses std::variant and avoids heap allocating each command.
Fix possible crash in Process::readAll.
Fix SyntaxDefinition::setSymbols.
Some minor improvements for Odin and Ü syntax definitions.
Fix Git plugin silent configuration.
2025-04-04 01:48:39 -03:00
Martín Lucas Golini
d8aa670d12 Some minor fixes in debugger and gitplugin.
Minor visual improvement in status bar.
2025-03-14 00:30:53 -03:00
Martín Lucas Golini
0005f9ff09 Fix crash when staging/unstaging too fast (or something like that). 2025-01-27 16:07:38 -03:00
Martín Lucas Golini
c3399143df Fixes in Git plugin staging.
Added a value viewer window in debugger.
2025-01-25 12:56:41 -03:00
Martín Lucas Golini
16a0da5dab Fix git status position. 2025-01-17 20:44:40 -03:00
Martín Lucas Golini
682eac247c Set line wrap for commit text box. 2025-01-17 00:51:10 -03:00
Martín Lucas Golini
c4bd88461d Still more WIP 2025-01-03 22:01:16 -03:00
Martín Lucas Golini
cf84fc7cff Save side panel tabs order. 2025-01-01 16:18:26 -03:00
Martín Lucas Golini
0e0ce71609 Optimization to reduce almost to zero allocations during frame rendering in ecode (this gives around 6% perf gains). 2024-10-29 02:11:33 -03:00
Martín Lucas Golini
9ef654929c Display the stashes creation date. Also add a tooltip text for the stash in order to make easier to read the full name.
Fix in Process::create when parsing command arguments from string.
Fix text-align in UITooltip.
Fix in GitPlugin refreshing repositories during git lock files changes.
2024-10-25 00:10:30 -03:00
Martín Lucas Golini
1e58843896 Optimized String::toString.
Revert a change in focus behavior in UIDropDownList since it's incorrect.
Measure plugin load times.
2024-10-22 21:23:31 -03:00
Martín Lucas Golini
5a7e7e5387 Avoid crashes on plugin unload while loading. 2024-09-28 13:42:54 -03:00
Martín Lucas Golini
04e5cd5fb6 Add RegEx class. Refactor PatternMatcher. 2024-09-21 22:29:23 -03:00
Martín Lucas Golini
8da73f749d Fix icon size. 2024-07-04 12:59:46 -03:00
Martín Lucas Golini
9600f82f8c Fix Text::wrapText for string views.
ecode: Minor visual fixes.
2024-05-05 12:23:13 -03:00
Martín Lucas Golini
630a611133 Two crash fixes. 2024-04-29 13:51:50 -03:00
Martín Lucas Golini
c971c16911 Added vertical menu for status build output and app output.
Fix incorrect initialization of the Git plugin model controller when loading a folder from the Welcome Screen.
2024-04-28 01:42:43 -03:00
Martín Lucas Golini
d493674363 A couple of minor fixes. 2024-04-10 13:08:17 -03:00
Martín Lucas Golini
acf0182e63 Implement terminal for legacy Windows users (SpartanJ/ecode#153).
Added Sys::getPlatformType.
Fix for TerminalEmulator selection.
2024-04-06 23:08:28 -03:00
Martín Lucas Golini
6db1e5ec43 Fix project search error incorrectly counting the result line number when searching with the wholeword flag.
A couple of minor fixes.
2024-03-13 20:14:41 -03:00
Martín Lucas Golini
5d7d31c236 Git plugin fixes. 2024-03-08 20:25:42 -03:00
Martín Lucas Golini
ca85127605 Added MoonScript and GraphQL langs.
Minor fixes.
2024-02-20 02:01:04 -03:00
Martín Lucas Golini
d7d56783c6 Added "ft" locator for switch file type.
Added "select-all-words" command for documents (default keybind is ctrl/cmd+shift+d).
Manage git plugin tab visibility when folder is closed, reopened, etc.
2024-02-18 12:26:07 -03:00
Martín Lucas Golini
36c91989d3 Lambda captures clean up, plus other minor clean ups. 2024-02-17 18:19:55 -03:00
Martín Lucas Golini
b2fff897be Revert round() of UIDrawable position.
Re-subscribe on model change for Git tree view styling
2024-02-16 18:27:18 -03:00
Martín Lucas Golini
b8d79fe493 Menu option for Git diff for staged files and repo.
Improved visually git file modified indicator.
Minor fix in auto complete.
Added Main Menu shortcut on welcome screen.
Added String::numberClean.
2024-02-15 19:42:24 -03:00
Martín Lucas Golini
ec1a09e9a3 Highlight git modified files in file tree. 2024-02-14 01:40:05 -03:00
Martín Lucas Golini
eccf1f1cba Optimize UITableView and UITreeView by only allocating as many cells as needed to cover the viewport. 2024-02-11 13:45:18 -03:00
Martín Lucas Golini
9c2822e3d6 More work to get better i18n support. 2024-02-09 22:39:19 -03:00