Commit Graph

1409 Commits

Author SHA1 Message Date
Martín Lucas Golini
cfa4e548e9 Fix language health table not displaying correctly the text color (regression from the changes I made in breeze in current dev branch).
Pump plugins versions.
2026-02-28 00:28:24 -03:00
Martín Lucas Golini
bc83764358 Added native JSON linter (SpartanJ/ecode#828). 2026-02-27 18:41:56 -03:00
Martín Lucas Golini
8cd44ed8c5 Do not reconstruct user config files if the configuration file is broken, just notify the user that it's broken. Worst case scenario will have to reset it, addresses SpartanJ/ecode#827. 2026-02-27 01:19:55 -03:00
Martín Lucas Golini
677aab8e0c UIAbstractView::findRowWithText now accepts FindRowWithTextMatchKind instead of a boolean to force equal comparison.
Refactor of some examples, added a new hello world example but using UIApplication.
ecode: Fixed how it filters the `sbt`, `srt` and `sb` universal locator switches.
2026-02-26 00:32:48 -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
4850833b00 A couple of minor changes in AI Assistant: Added option to regenerate the conversation title (useful for when you clone a conversation and you modify it). And allow to copy conversation bubbles during AI response. 2026-02-21 12:11:33 -03:00
Martín Lucas Golini
43db376fdc ecode: Set a default name for the "Duplicate file..." action. 2026-02-19 19:29:29 -03:00
Martín Lucas Golini
19230cc2fb Fix a focusing issue when moving a terminal to the status bar terminal, hiding the terminal would not focus any editor. 2026-02-17 21:46:10 -03:00
Martín Lucas Golini
106af2f060 Minor refactor. 2026-02-15 00:07:08 -03:00
Martín Lucas Golini
1b1782bb2d I'll need this later.
Updated TODO.
2026-02-13 20:38:44 -03:00
Martín Lucas Golini
ccd6da0a1b Fix a bug in LLMChatCompletionRequest that missed parsing packets without a complete JSON object (affected Copilot and Perplexity).
Fix a bug in Markdown parser, I misinterpreted the documentation.
2026-02-10 01:01:41 -03:00
Martín Lucas Golini
7977cd99dd Minor changes in DropDownList style.
Added StringMapModel and an example.
2026-02-09 13:37:18 -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
a82a9652fb This really fixes MSVC build. But I don't understand how this broke in a first place... it makes no sense. 2026-02-05 01:44:09 -03:00
Martín Lucas Golini
2687f49294 Refactor in ContextSettings.
Added NVIDIA provider in AI Assistant and updated Perplexity models.
2026-02-05 00:53:07 -03:00
Martín Lucas Golini
f2d491384d Some UI widgets constructor refactor and minor function renaming.
Added Moonshot LLM models support.
2026-02-04 01:31:43 -03:00
Martín Lucas Golini
e553398b04 ecode: log the configuration path during initialization. 2026-02-02 19:04:39 -03:00
Martín Lucas Golini
e2c390eedf Fix --verbose on Windows. 2026-02-02 14:49:25 -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
73f04262be Fix user-after-free during plugin reload. 2026-01-30 00:35:34 -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
409cda3ba5 Minor refactor in LineWrap. 2026-01-23 21:48:10 -03:00
Martín Lucas Golini
5d56e4da34 Added String::formatBuffer for char32_t strings.
Minor fixes in breeze theme.
2026-01-22 01:41:25 -03:00
Martín Lucas Golini
faedaa43f4 Refactor in LineWrap operations enums and structs, moved everything into linewrap.hpp.
Revisiting some old code, the Map Editor, many things are not properly layouted, I might fix it later, for the moment a few minor fixes.
Fix build output and app output highlighting.
Fix isStopSelChar used in UITextInput for text selection (double click).
2026-01-21 00:03:01 -03:00
Martín Lucas Golini
1082e6db9b Fix LSP graceful exit (this fixes clangd not erasing the preamble cache files). 2026-01-18 12:37:17 -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
cf6c14fbda Do not copy the whole SyntaxDefinition into TextDocument but instead keep the shared pointer to the definition.
Did some minor SyntaxDefinition memory access safety improvements.
In breeze color scheme definition renamed `--win-icon` to `--icon-line` and removed `--scroll-button` since it was not being used.
2026-01-17 00:19:51 -03:00
Martín Lucas Golini
0f8f15fa53 Pump ecode and eepp versions.
Fix sharedir option in premake files.
Minor logic fix in copy file buffer.
2026-01-13 00:05:20 -03:00
Martín Lucas Golini
d198f36eca Added an option to reset panel layout (SpartanJ/ecode#675).
Added options to "Reset Global File Associations" and "Reset Project File Associations" (renamed the command names too).
2026-01-11 18:25:49 -03:00
Martín Lucas Golini
ac91cedf9c Added support for maximizing the current tab widget (commands: maximize-tab-widget and restore-maximized-tab-widget), it can also be triggered right clicking a tab -> Maximize Tab Widget (SpartanJ/ecode#651).
Added UINodeLink, this is a very simple node that lets you set a link to another node.
Improved focus control in the status bar panels and windows.
It's possible now in UICodeEditorSplitter to cancel a split request with a custom function checker.
When downloading a file that it's not a supported format, it will try to open with the default external program set in the host OS.
2026-01-11 13:32:48 -03:00
Martín Lucas Golini
d6f60354c1 Improve UIWindow default focusing behavior.
Adjust `window-flags` behavior when used from CSS.
Display a download progress window when download-file-web is used. Also support loading images and sounds from downloads.
Minor safety checks added for engine termination and window closing.
Minor changes in Http.
2026-01-10 01:49:20 -03:00
Martín Lucas Golini
8260cf6999 Added an option to set to always open terminal in exclusve mode (SpartanJ/ecode#800).
Set language extension priorities per-project.
Added "reset-global-language-extensions-priorities" and "reset-project-language-extensions-priorities" commands.
Added FreeBASIC and QB64 syntax highlighting.
Fixed a minor bug that loaded the same language into memory multiple times.
2026-01-09 01:38:12 -03:00
Martín Lucas Golini
93a8c6e4ab Fix crash when drag & dropping images into ecode.
Fix Windows temp path resolution.
2026-01-07 16:25:17 -03:00
Martín Lucas Golini
9fa7b2bb57 Correctly handle Private mode queries in the terminal emulator implementation.
Fix in terminal keybindings handling.
2026-01-07 13:23:22 -03:00
Martín Lucas Golini
70f7a1cc61 Added String::stripAnsiCodes. Now used in build and run settings, this can be configured for the build and the run options.
Minor fixes in C and C++ grammars.
Debugger: Expressions are now evaluated as soon as they are added if debugger is running but paused.
Fix a newly introduced bug that incorrectly calculated string widths when string contained new lines.
2026-01-06 00:46:31 -03:00
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
34d6115db8 Fix opening nonexistent files from CLI. 2025-12-29 19:42:06 -03:00
Martín Lucas Golini
35cd04e490 Revert "Add a hide / minize button on each panel vertical bar."
This reverts commit c85a431ae3.
2025-12-29 15:38:17 -03:00
Martín Lucas Golini
c85a431ae3 Add a hide / minize button on each panel vertical bar. 2025-12-29 10:47:19 -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
dfc23a5084 Add closeTerminalTabOnExit support for the status bar terminal. 2025-12-29 00:03:38 -03:00
Martín Lucas Golini
da5ca25297 Added a Copy Contents button in AI Chat UI globes (since copying directly won't resolve the links automatically).
Fix how `ECODE_SHAREDIR` is set.
Fix a very rare race condition in LSPClientPlugin.
Always resolve line number when locating files (do not enforce the need of the absolute path).
Add aliases for YAML and Markdown.
2025-12-28 23:28:59 -03:00
Martín Lucas Golini
f9eb012f77 Added an option to open new terminals in status bar panel. 2025-12-28 14:02:07 -03:00
Martín Lucas Golini
2b4b9d98b6 Clear up settings menu Open Folder options. 2025-12-28 11:54:03 -03:00
Martín Lucas Golini
1df4972f56 Allow to expand/contract status bar panel. 2025-12-28 01:07:15 -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
8415e62b4c Update status bar terminals on scrollbar type or mode change. 2025-12-27 18:31:42 -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
674c4c3011 Minor change in how ecode tints the title bar on macOS. 2025-12-26 20:30:34 -03:00