Martín Lucas Golini
fe8417bdc7
Fix debugger crash when attaching to a PID: Guard against dereferencing an empty debugger command and use stdio for local PID attachments unless socket transport is explicitly requested.
2026-08-01 23:32:48 -03:00
Martín Lucas Golini
da4d201eeb
Implemented both opt-out settings for vscode config load, although enabled by default:
...
```json
// autocomplete.json
{
"config": {
"load_vscode_snippets": false
}
}
// debugger.json
{
"config": {
"load_vscode_launch_config": false
}
}
```
Disabling them affects only .vscode imports. Personal/.ecode snippets and .ecode/launch.json continue loading normally.
Refs SpartanJ/ecod€#111
2026-08-01 01:38:14 -03:00
Martín Lucas Golini
b5efd6d709
Graphics: refine drawable cloning and icon source rendering:
...
Rename Drawable::createInstance() to clone() and update drawable implementations,
typed helpers, consumers, tests, tools, and external modules.
Avoid retaining private icon clones for immediate single-threaded rendering in the
code editor and ecode plugins. Borrow cached per-size icon sources instead, restoring
temporary color changes after drawing, while preserving owned clones for widgets,
menus, models, and other stateful consumers.
Reduce common drawable allocation overhead by lazily creating DrawableResource
callback state, using inline callback storage and notification snapshots, and safely
supporting callback disconnection during notification.
Lazily allocate UIImage and UINodeDrawable asynchronous lifetime tokens only when
an uncached asynchronous load is actually scheduled.
Document the distinction between borrowed immediate rendering and independently
owned drawable state.
2026-07-21 21:16:32 -03:00
Martín Lucas Golini
dc377335b9
graphics: migrate drawables to shared ownership
...
- introduce DrawablePtr and per-consumer createInstance() semantics
- add TextureDrawable wrappers backed by shared TexturePtr handles
- migrate regions, sprites, nine-patches, state lists, skins, groups, gradients,
UI widgets, tools, modules, ecode, and eeiv to shared drawable ownership
- remove ownIt flags, manual drawable deletion, and unload-based lifetime handling
- replace drawable callback IDs with RAII change connections
- move Variant drawable storage outside its scalar union
- split UIIcon source lookup from explicit drawable instance creation
- retain icon instances used by rendering loops instead of cloning per frame
- avoid shared source mutation in texture-region consumers
- use drawable type tags instead of RTTI casts
- fix nearest-size UIIcon lookup
- document the drawable source/instance contract and add ownership tests
2026-07-20 01:09:36 -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
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
4718a52423
Migrated from robin_hood to unordered_dense (for UnorderedMap and UnorederedSet).
...
Added support for SmallVector using svector (and we are already using it in a couple of places).
Added debug symbol inspector script for the new SmallVector in project/scripts/debug.
Added tilde support for files and folders passed as parameters from the CLI in ecode (and added FileSystem::expandTilde).
Fixed a bug in "light-dark" parsing.
2026-03-14 15:13:41 -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
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
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
8f2b9d65ba
Register debugger commands globally.
2025-12-24 00:39:26 -03:00
Martín Lucas Golini
f7a08b6f42
Fix environment not being inherited in debuggee.
2025-10-29 22:10:20 -03:00
Martín Lucas Golini
d033102d20
Small fix in DAP protocol implementation.
2025-10-24 00:44:35 -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
0ec661852a
eepp: Updated mojoal, dr_mp3, dr_flac. Fixed various mojoal bugs. Added SoundFileFactory::isKnownFileExtension. SoundFileFactory::isValidAudio, SoundFileFactory::isValidAudioFile.
...
ecode: Added audio player support (SpartanJ/ecode#96 ).
2025-09-29 00:02:06 -03:00
Martín Lucas Golini
dfd47dd1e3
Native file dialogs support WIP ( SpartanJ/ecode#653 ).
2025-09-18 23:20:16 -03:00
Martín Lucas Golini
130301ca77
Do not create file when requested to open a file path that doesn't exists + nit.
2025-08-27 01:36:24 -03:00
Martín Lucas Golini
bdde898d52
MouseBindings in UICodeEditor WIP.
2025-08-25 00:41:54 -03:00
Martín Lucas Golini
54aaeb4931
Spell-checked the whole project.
2025-08-22 01:33:51 -03:00
Martín Lucas Golini
4b4a5f3491
More work on the Spell-Checker ( SpartanJ/ecode#515 ).
...
Spell-Checked a lot of code.
2025-08-21 01:43:42 -03:00
Martín Lucas Golini
62bfcf29c3
Greatly improve debugging session stability.
...
Handle some more sequences in TerminalEmulator.
Update SOIL2.
2025-08-15 02:55:12 -03:00
Martín Lucas Golini
0ec2a4dba9
Try fix invalid memory access in SyntaxDefinitions.
...
Added attach in Chat UI.
Some minor improvements in Http pool implementation.
2025-08-12 00:49:13 -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
e0b763f637
Node debugger fixes.
...
LSP mouse hover fix when there's also a linter error in the same position.
Fix in emscripten file parameter parsing.
2025-07-02 01:41:18 -03:00
Martín Lucas Golini
c9507c2cba
Allow supporting multiple "type"s per DAP.
...
Should fix macOS build.
2025-06-26 20:45:56 -03:00
Martín Lucas Golini
df0a58c34e
Some debugger improvements for node dap.
...
Fixed a bug in TextDocument that created new history in the undo/redo stack when not doing any operation when trying to cut.
2025-06-26 20:19:17 -03:00
Martín Lucas Golini
5cc94842e1
Add DAP multi-session support and add Node.js debugging support.
2025-06-22 01:48:17 -03:00
Martín Lucas Golini
03df17b96b
Support setting environment to the terminal process.
...
WIP fixes in DAP runInTerminal and working on startDebugging.
2025-06-21 02:14:43 -03:00
Martín Lucas Golini
2fb80cd94a
WIP trying to support vscode-js-debug.
2025-06-20 22:18:30 -03:00
Martín Lucas Golini
b6ead5f2fd
Added "Build & Run" and "Build & Debug" buttons.
2025-05-21 00:33:25 -03:00
Martín Lucas Golini
c3faa293d3
Ensure Process::create is always checked as true before continue doing anything.
2025-05-12 19:07:27 -03:00
Martín Lucas Golini
dbe674eecf
Remember last used model in AI Assistant.
...
Minor change in goToNext and goToPrev in linter errors/warnings.
And a couple of nits.
2025-04-27 01:55:43 -03:00
Martín Lucas Golini
67a86c3c05
Process class fix a dead-lock.
...
Compile with C++20 (compilation might fail on some systems, let's see the CI).
Fixed V1 syntax highlighting.
2025-03-31 18:52:42 -03:00
Martín Lucas Golini
9e6a29653f
AI Assistant UI refactor.
...
Fixes in debugger an autocomplete plugin (from some of the new changes in both cases).
Fix UITextView not updating the aligment after padding change.
2025-03-14 21:56:05 -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
276ed6bfb0
Fix UIWidget::notifyLayoutAttrChangeParent() when used during a transaction.
...
Fix UIWidget::setLayoutMargin* not correctly invalidating the parent layout.
Fix a complete UI lock when trying to display a UIMessageBox after failed debugging in ecode.
2025-03-02 20:29:17 -03:00
Martín Lucas Golini
a91fde6dfd
Improved whitespace rendering performance on wrapped lines, now it has the same cost than non-wrapped lines.
...
Fixed: Debugger gutter not drawing its background.
Fixed: horizontal scrollbar sometimes being visible on wrapped documents.
Updated CSS Specification documentation.
2025-02-27 19:26:08 -03:00
Martín Lucas Golini
dc927e07c0
Fix command palette not displaying all available commands.
...
Minor very rare crash in Debugger when unloading the plugin.
Formatter will try to refresh the semantic highlighting after a document format.
2025-02-13 20:00:13 -03:00
Martín Lucas Golini
b3ed22c666
Add transformation commands for documents: escape, unscape, to-base64, from-base64.
2025-02-12 20:18:43 -03:00
Martín Lucas Golini
2bb95cb21b
Pump version before release.
2025-02-09 13:04:42 -03:00
Martín Lucas Golini
75c63660b1
Support all debugger vscode predefined variables.
2025-02-06 01:21:46 -03:00
Martín Lucas Golini
d1700f07a1
Add a documentation link in debugger side panel tab.
2025-02-06 00:32:19 -03:00
Martín Lucas Golini
72c1d9fd3f
Improve attach to "Run Target". Now it's possible to debug a terminal application by using this attach.
2025-02-05 02:08:31 -03:00
Martín Lucas Golini
eae433796e
Highlight current debugged line.
...
Hid debugger panel if other panel is opened.
Silence the debugger by default.
2025-02-05 01:02:46 -03:00
Martín Lucas Golini
0b7dad2696
Update breakpoints line position if document is edited (added/removed lines).
2025-02-04 00:12:15 -03:00
Martín Lucas Golini
d3bc6f2935
Fix for multi-line signature help labels, now labels will be flatten into a single line ( SpartanJ/ecode#388 ).
...
Fix next signature help position.
Fix signature help and suggestions styles for light color schemes, and some minor improvements for other schemes.
Allow to set extra trigger characters for signature help in LSP configurations (fix zig zls not updating signature position after a "," input).
Plus some other minor fixes.
2025-02-02 19:07:41 -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
4bbcfdd78b
Improve default PATH in macOS to make available lldb-dap from default.
2025-01-25 11:06:57 -03:00
Martín Lucas Golini
b300c9d48b
Fixes for checkboxes in tree views and table views. Fixes for breakpoints enable/disable.
2025-01-25 02:09:29 -03:00