Commit Graph

1362 Commits

Author SHA1 Message Date
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
Martín Lucas Golini
cb70f5b205 Apply terminal configuration changes to the status bar terminal. 2025-12-26 01:04:58 -03:00
Martín Lucas Golini
73e5bf1506 Fix rare crash introduced recently in EventDispatcher.
Change sun and moon icons.
2025-12-24 14:49:35 -03:00
Martín Lucas Golini
7004d7c282 Added an option to "Use status bar terminal" in the Run configuration. 2025-12-24 01:42:52 -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
b0707119ad Fix macOS build. 2025-12-22 01:34:10 -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
5965d77e02 Add an option to configure the Settings -> Window -> "Use editor font in input fields" (this is enabled by default but not always convenient). 2025-12-21 13:00:52 -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
97ed873daa Take into account the line spacing to position the cursor. 2025-12-20 15:35:09 -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
abda8775ac Add terminal cursor styles selection at Settings -> Terminal -> Cursor Styles.
Fix how selection in terminal is enabled or disabled based on the reported application capabilities.
Added sharedir option in premake files.
2025-12-19 12:56:16 -03:00
Martín Lucas Golini
7f340bad76 For the sake of being 100% safe while sending the didChangeConfiguration, always send at least an object and avoid sending a null (some servers are too strict with these things although I haven't found any case yet). 2025-12-18 13:30:29 -03:00
Martín Lucas Golini
825523bc47 Ups, revert back positionEncodings, that was not intentional. 2025-12-18 13:19:29 -03:00
Martín Lucas Golini
8a409d762a LSP client: always send the didChangeConfiguration, it seems that some servers won't initialize properly otherwise (pyright). 2025-12-18 13:14:34 -03:00
Martín Lucas Golini
e357785767 Disable mouse up event in UITab, does not seem to make much sense.
Fix unbinded buttons in side panel when ecode is started with `-t` CLI parameter (SpartanJ/ecode#755).
2025-12-17 00:19:12 -03:00
Martín Lucas Golini
2c4dc55b8f Minor changes in LLM Chat UI.
Fixes in shorthand parsing for background-position.
Fix in alignment for non-editable UITextInput.
2025-12-15 00:21:20 -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
64c6a4848e Show the ecode version on the Welcome Screen (SpartanJ/ecode#752). 2025-12-13 18:47:37 -03:00
Martín Lucas Golini
5f30967f80 Re-enable LM Studio models. 2025-12-11 18:38:44 -03:00
Martín Lucas Golini
856ca2def8 Fix rare crash in debugger when dealing with multi-session dap. 2025-12-10 18:28:03 -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
23265d2a9b Fix for SpartanJ/ecode#742. Implement workspace/configuration.
Also send "initialized" notification... as notification and not request, which might not be accepted by some LSPs.
2025-11-30 01:20:57 -03:00
Martín Lucas Golini
69a5c8c3c2 Fixes in process kill. 2025-11-27 13:31:01 -03:00
Martín Lucas Golini
1d2369ecf9 Fix Process::kill() in Windows.
And a couple of minor fixes.
2025-11-27 11:45:11 -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
51fcf80fe0 Fix minor bug when changing terminal font and creating a new terminal was still using the old font. 2025-11-17 19:40:01 -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
2008b57033 Added SheenBidi segmentation. 2025-11-10 00:53:28 -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
2115546349 Refactor and performance improvements. 2025-11-03 00:06:58 -03:00
Martín Lucas Golini
42390607aa Add an extra test for text shaper.
Do not disable AI assistant chat blocks when waiting or getting the AI response (allow to copy the contents).
2025-11-01 00:13:44 -03:00
Martín Lucas Golini
472b52cfb7 Attempt to fix a possible invalid access in LinterPlugin.
Minor visual nit with AI Assistant button.
2025-10-31 01:02:41 -03:00
Martín Lucas Golini
4814569db1 Implemented workspace/didChangeConfiguration command in LSP client. Now it's possible to set LSP settings for this command (SpartanJ/ecode#694). 2025-10-30 22:15:20 -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
e23ae24ac3 Fix terminal not redrawing after child process finish.
Fix minor annoyance in build settings, not setting the current run setting.
2025-10-27 01:22:19 -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
5f678f2dfe Pump versions. 2025-10-19 00:30:33 -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
Martín Lucas Golini
30e7b84c05 Reduce some padding in UI elements.
Minor change in AI assistant attachments UX.
2025-10-10 13:57:24 -03:00
Martín Lucas Golini
2d700f9e36 Use Resources path when building ecode.app. Should fix signing. 2025-10-08 22:21:59 -03:00
Martín Lucas Golini
4edb776d51 Added a new option to set files associations in projects.
Introduced a new configuration file for projects in the project file `.ecode/settings.json` file.
Initially it supports files associations the following way:
```json
{
	"files.associations": {
		"glob_pattern": "language_name",
		"functional": "cpp",
		"map": "cpp",
		"**/c++/**": "cpp"
	}
}
```

Format is exactly the same as in vscode, and also, if no `.ecode/settings.json` file exists but does `.vscode/settings.json` file exists, it will fallback to that one.
This is related to the discussion in issue SpartanJ/ecode#585.
2025-10-06 00:12:05 -03:00
Martín Lucas Golini
e7106c6fd4 Fix possible dead-lock while closing / destructing in LinterPlugin.
Minor nit in Markdown syntax highlighter.
2025-10-04 13:17:07 -03:00