Commit Graph

1513 Commits

Author SHA1 Message Date
Martín Lucas Golini
a3d78a1217 Implemented Built-in Scientific Calculator in the universal bar for ecode (SpartanJ/ecode#701). 2026-07-02 18:51:12 -03:00
Martín Lucas Golini
2810501cba Added UIFilePickerDialog support for ecode (SpartanJ/ecode#903) and improved the dialog. 2026-06-30 00:05:29 -03:00
Martín Lucas Golini
3a1c75f4f6 Added Insert Date / Time functionality (Settings -> Edit -> Insert Date, plus commands for each option).
Fixed a use after free bug in UICodeEditorSplitter.
2026-06-28 01:52:14 -03:00
Martín Lucas Golini
e720b70863 • Fixed the keybinding merge bug. The helper was restoring missing default commands
by overwriting an occupied default shortcut, which treated user bindings like mod+d=duplicate-line-or-selection as stale
  because that command is not in the default keybinding table. Now it only adds a default when the default shortcut is actually
  free.

  Added a regression test in src/tests/unit_tests/uicodeeditor_tests.cpp:108 covering the reported case: mod+d reassigned, then
  an extra mod+e=show-markdown-preview binding exists. This was reported in SpartanJ/ecode#914.

• Implemented the splitter-level focus state cache, it will remember closed documents cursor state when reopened and it will restore cursor state per-code editor and not per-document (SpartanJ/ecode#893).
2026-06-25 11:26:31 -03:00
Martín Lucas Golini
0693688f73 Cache cursors in local sessions, this will restore last cursor position of a recently closed file. 2026-06-24 01:42:12 -03:00
Martín Lucas Golini
b83c21bfdd ecode: Display the keybindings of some commands I forgot to add the keybind display. 2026-06-15 13:25:22 -03:00
Martín Lucas Golini
3312419fd6 Fix horizontal scroll when line wrap type set is Line Breakin Column (SpartanJ/ecode#915).
A few improvements for related to LSP rules overriding (SpartanJ/ecode#913).
2026-06-13 18:40:33 -03:00
Martín Lucas Golini
96cee9d1c4 This should make premake5 configuration beta8 friendly.
Improvement for: SpartanJ/ecode#913.
2026-06-12 14:43:35 -03:00
Martín Lucas Golini
b91b922ac8 This should fix the use after free rare issue: C++ destroys class members in reverse declaration order. mProcess was declared before mHandlers. So during destruction, mHandlers was freed first, then mProcess destructor ran and joined the async read threads but by then the threads were already accessing freed memory. 2026-06-11 20:47:27 -03:00
Martín Lucas Golini
10588e3eb4 Revert last commit, won't fix it properly. 2026-06-11 15:29:36 -03:00
Martín Lucas Golini
ff97358695 This should fix a possible but very implausible heap-use-after-free issue in the LSP client. 2026-06-11 02:16:24 -03:00
Martín Lucas Golini
650bbed0c5 Add MiMo support. 2026-06-11 01:57:57 -03:00
Martín Lucas Golini
e8be533de6 eepp: Added FileMapped class for mmap'ed files, added IOStreamFileMapped to be able to use it as any other IOStream implementation.
Some nits in FileSystem::fileGet, added support for case-insensitive BMH implementation.
ecode: project global search now uses mmap'ed files for big files and made several tweaks and optimizations to avoid trashing the memory allocator.
2026-06-10 02:03:31 -03:00
Martín Lucas Golini
b64b8f21f0 Improve signature documentation pop-up positioning when displaying signature help.
In system font resolver: Prefer native/open desktop families for CSS generics.
2026-06-09 01:23:32 -03:00
Martín Lucas Golini
9bc9b099ad Implemented calc, min, max, clamp CSS functions. 2026-06-06 02:19:40 -03:00
Martín Lucas Golini
9bfa128658 Use the new tab position setting for *all* new tabs (SpartanJ/ecode#904). 2026-06-04 16:42:10 -03:00
Martín Lucas Golini
5d0e31e52e Allow to inspect widget style from widget inspector. 2026-06-04 02:00:39 -03:00
Martín Lucas Golini
11a2ca801c Optionally display signature help documentation in signature help (enabled by default), SpartanJ/ecode#911. 2026-06-03 11:27:51 -03:00
Martín Lucas Golini
0c98717089 Improvements for SpartanJ/ecode#906. 2026-05-26 19:49:32 -03:00
Martín Lucas Golini
28290c20ef Quick crash fix SpartanJ/eepp#181. 2026-05-26 13:56:48 -03:00
Martín Lucas Golini
89028491ef Try fix macOS not passing tests due to incorrect Window sizing in macOS CI.
Add support to diff images in UIDiffView.
2026-05-23 14:17:48 -03:00
Martín Lucas Golini
7daca81bd6 Allow to select the default "New Tab Position" (SpartanJ/ecode#904) from the settings menu at Settings -> Document -> Global Settings -> New Tab Position.
| Option | Behavior |
	| --- | --- |
	| **`afterActive`** | Opens immediately to the right of your currently focused tab. *(VS Code default)* |
	| **`last`** | Opens at the very end of the entire tab bar, to the right of all open tabs. |
	| **`first`** | Opens at the very beginning of the tab bar, to the far left. |
	| **`leftOfActive`** | Opens immediately to the left of your currently focused tab. |
2026-05-19 20:38:24 -03:00
Martín Lucas Golini
9d8dc55445 Fix crash when displaying signature help (SpartanJ/ecode#902). 2026-05-19 01:40:10 -03:00
Martín Lucas Golini
97fc336955 Fix: When build is triggered with unsaved files don't display the file save dialog for files that are just in text buffer.
Fix: Ctrl+W does not close the tab in Build Settings: Added Event::OnFocusWithin so the tab widget registers that event to setCurrenWidget in UICodeEditorSplitter.
2026-05-18 01:08:14 -03:00
Martín Lucas Golini
a870a278bb Forgot to update versioning. A couple of minor nits. 2026-05-08 16:50:46 -03:00
Martín Lucas Golini
336afe90d7 Fixed a rendering bug in the terminal emulator when updated line only updated spaces.
Added an optimization for scene loading.
Do not allow the spell checker renderer to try to render on too long lines.
2026-05-04 19:30:56 -03:00
Martín Lucas Golini
4660257857 Remove ellipsis from some actions / commands (SpartanJ/ecode#892). 2026-04-26 17:37:36 -03:00
Martín Lucas Golini
009140f798 Update efsw and SOIL2. 2026-04-26 01:26:27 -03:00
Martín Lucas Golini
d93b03f624 Pump versions.
Add keybindings to the ecode markdown viewer.
Optimization in BlockLayouter.
Hack to display code in <pre><code> HTML elements.
2026-04-26 01:12:42 -03:00
Martín Lucas Golini
8a9bc2cd47 Some HTML rendering fixes. Most important is the media query is correctly processed when combining style sheets. 2026-04-25 20:47:51 -03:00
Martín Lucas Golini
3715933d7a Fix folder not closing when a terminal has focus (SpartanJ/ecode#890).
Fix release notes in nightly.
2026-04-25 11:41:30 -03:00
Martín Lucas Golini
1a2d4b1473 Fix in AI Assistant keybindings. 2026-04-25 00:31:06 -03:00
Martín Lucas Golini
42108f442a Properly display untracked files diff view. 2026-04-24 19:36:30 -03:00
Martín Lucas Golini
7d2d4c0a3b Address comment: https://github.com/SpartanJ/ecode/discussions/884#discussioncomment-16692272 . 2026-04-24 00:15:39 -03:00
Martín Lucas Golini
7307b524f4 Fix UISceneNode::solveRelativePath.
Some fixes in LLM Chat UI, also added the option to display the reasoning (`display_reasoning`).
2026-04-20 01:42:12 -03:00
Martín Lucas Golini
7ec6e3cf1f Greatly improved signature help rendering, now allows to render in multi-line with text-wrapped and it's enabled by default. Added new options for the Auto Complete Plugin:
* **max_signature_helper_width**: The maximum width in stylesheet length of the signature helper (default value: "90%").
* **max_suggestion_documentation_width**:  The maximum width in stylesheet length of the currently selected suggestion item documentation (default value: "100%").
* **signature_help_multi_line**: Enables the signature help to be rendered in multiple lines if needed (wraps text), otherwise it will render in a single line and ensure the current parameter is visible.
* **suggestion_documentation**:  Enables the suggestion item documentation.

(SpartanJ/ecode#874).
2026-04-19 00:52:03 -03:00
Martín Lucas Golini
4180e9d7c3 Separate the box placement logic into an static class UIPlacementUtils so it can be used in different cases (SpartanJ/ecode#874). 2026-04-18 15:24:27 -03:00
Martín Lucas Golini
da1bbda8c7 Much better documentation placement in the auto-complete suggestions function/method documentation (SpartanJ/ecode#874). 2026-04-18 13:27:03 -03:00
Martín Lucas Golini
9a094f8770 Reset multi-selection with escape in UITreeViewFS. 2026-04-17 00:26:29 -03:00
Martín Lucas Golini
20f44697a0 Add support to select multiple-files in file tree view (SpartanJ/ecode#869). 2026-04-16 19:13:43 -03:00
Martín Lucas Golini
3d894eb566 Add Together LLM provider to the AI Assistant plugin. 2026-04-15 01:45:30 -03:00
Martín Lucas Golini
f95f32eeba Add ${relative_dir} useful to solve case mentioned at https://github.com/SpartanJ/ecode/discussions/876 2026-04-15 00:34:49 -03:00
Martín Lucas Golini
4a4da521d9 Change default keybindings using option+key for macOS to make possible to input text with those key combinations. Mostly changes on modifier keys for some operations: status control panels will switch with mod+number and ctrl+number will switch to tab number, also ctrl+tab and ctrl+shift+tab will advance and move to previous tab.
Also: "lsp-symbol-code-action" will default to cmd+return. "format-doc" will default to mod+option+f.
Important: these changes do not *change* any currently configured shortcut, existing users will have to migrate manually, this is intentional to not disrupt current users work flows.
These changes are for the issue: SpartanJ/ecode#877.
2026-04-14 20:56:49 -03:00
Martín Lucas Golini
16579dad0e margin: auto support.
background from body to html when html background is transparent.
2026-04-14 00:54:47 -03:00
Martín Lucas Golini
9a6733e52b Some improvements to the ACP protocol. 2026-04-12 20:26:37 -03:00
Martín Lucas Golini
382781edec Make auto-indent configurable (none, preserve, smart). 2026-04-12 16:42:54 -03:00
Martín Lucas Golini
2e481f40f3 Update app title when focusing any new tab that it's not an editor or a terminal. 2026-04-12 15:45:04 -03:00
Martín Lucas Golini
88e88ab592 Add a few keybindings to the AI Assistant plugin. 2026-04-12 01:26:39 -03:00
Martín Lucas Golini
400d143d9c Fix emscripten build. 2026-04-09 11:13:33 -03:00
Martín Lucas Golini
7d09138bb0 Add woff2 font format support.
Try again luck with the test that it's failing in macOS...
2026-04-09 00:54:22 -03:00