Martín Lucas Golini
f5ce1589e3
Some snippets improvements to support insertTextFormat (SpartanJ/ecode/discussions#929).
...
Closes SpartanJ/ecode#933
2026-07-18 13:31:06 -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
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
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
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
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
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
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
240961864d
A couple of optimizations in terminal display.
2025-09-14 13:22:56 -03:00
Martín Lucas Golini
1568a442b8
Try to be a little defensive during the LSP server shutdown.
2025-09-01 23:38:42 -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
6d8d991abc
Add ellipsis to the error lens if it does not fit in the line, also display code lens in the correct visible line index when the line is wrapped.
2025-08-15 23:57:05 -03:00
Martín Lucas Golini
929b38410b
Fix slowdown due to locking the main thread when sending text buffer changes to the LSP.
2025-08-14 00:17:16 -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
cec73de2eb
Fix a couple of bugs related with use-after-free. Try to make some of the text document and syntax highlighter functionality more thread-safe.
2025-08-10 01:25:10 -03:00
Martín Lucas Golini
ec4f122519
Register more makefiles extensions ( SpartanJ/ecode#578 ).
...
Some minor nits in LSP.
2025-07-10 22:55:25 -03:00
Martín Lucas Golini
3170fd79ff
Fix Node::removeActionsByTag and Node::getActionsByTag using the wrong tag type (and in consequence not removing anything whe requested, generating crashes on some cases). Improved LSP restart stability, although I still can crash it on some rare cases, haven't found the problem yet.
2025-06-22 20:47:20 -03:00
Martín Lucas Golini
e4bf8215a6
Prevent crashes when restarting the LSP server.
2025-06-14 14:03:58 -03:00
Martín Lucas Golini
058b9cab4d
Fix for SpartanJ/ecode#461 . Used CreateProcess is the Unicode version ("CreateProcessW"), and binary paths are now resolved as absolute paths in Windows.
2025-05-11 19:45:42 -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
2a88bac8a1
Performance improvements due to not debouncing some function calls.
...
Adjust JSX and TS syntax definitions.
2025-04-02 20:24:45 -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
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
0e97236369
Started implementing LSP workspace diagnostic to find that not a single LSP implements it, so I just wasted 2 hours of my life. I'll keep the base structure for the future.
2024-11-26 00:51:23 -03:00
Martín Lucas Golini
6c413995ae
Reduce type ambiguity.
...
Don't expose locale headers.
2024-10-20 13:43:08 -03:00
Martín Lucas Golini
66002c3db8
Fixes Haiku performance issues.
2024-10-20 04:09:20 -03:00
Martín Lucas Golini
4082ce517e
Fix error parsing document symbols with the old format (fixes document symbols in pylsp).
2024-09-15 12:41:41 -03:00
Martín Lucas Golini
060e4f4450
Fix crash on LSP reload.
...
Fix document symbols not being sorted (some LSPs do not sort the symbols for some reason).
Update efsw.
2024-09-03 19:17:08 -03:00
Martín Lucas Golini
d6fc60a2ce
Editor Breadcrumb WIP.
2024-08-25 01:18:31 -03:00
Martín Lucas Golini
7dd0579842
This is a fix for issue SpartanJ/ecode#310 .
2024-08-11 01:40:43 -03:00
Martín Lucas Golini
1cbdf3ba0c
Try fix a weird crash with fold service.
2024-07-08 21:16:29 -03:00
Martín Lucas Golini
396f1e2558
Code Folding WIP.
2024-05-27 00:57:18 -03:00
Martín Lucas Golini
d74d460a5a
Line Wrap fixes:
...
[x] Line clip
[x] Override commands
"select-to-previous-line"
"move-to-previous-"line"
"select-to-next-line"
"move-to-next-line"
[x] Draw underline for links
[x] Bugs
- Delete line with shift+delete when the next line is wrapped
- Delete line with shift+delete when the next line has a different offset than the current one
[x] Clean up UITextEdit
2024-05-17 01:58:15 -03:00
Martín Lucas Golini
c6aedb8dd3
Safer LSP Server shutdown.
2024-04-29 19:36:33 -03:00
Martín Lucas Golini
c6cc4fa4ac
Display error when LSP Server fails to initialize.
2024-04-10 21:35:56 -03:00
Martín Lucas Golini
560733d25a
Fix bug when deleting an item in UIBuildSettings.
...
Improve LSPClientServer::shutdown.
Fix possible div / 0 in UIConsole.
2024-03-28 10:59:17 -03:00
Martín Lucas Golini
bdc376a1eb
Fix TypeScript React and JavasSript React files in LSP, they were recognized as TypeScript and JavaScript files so it was incorrectly parsed.
2024-03-21 12:55:36 -03:00
Martín Lucas Golini
4fd4a02361
Improve LSP client close/exit.
...
Implemented Closing Symbol Override (SpartanJ/ecode#121 ), improved the auto-close bracket to be balanced.
2024-03-09 20:55:13 -03:00
Martín Lucas Golini
70c1c4daa5
Fix SpartanJ/ecode#169 .
...
Shutdown correctly LSPs (wait for shudown response).
Allow LSPs definition to declare dynamic vars that can run external commands to set the vars.
Added AdeptLSP support (SpartanJ/ecode#157 ).
2024-03-08 23:02:59 -03:00
Martín Lucas Golini
a1ee816608
Fix unlocked handler.
2024-02-21 22:03:35 -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
3867a472b3
Allow multiple fallback fonts.
...
Reduced allocations and improved logs in LSP Plugin.
Added String::split for std::string_view.
Added support for std::string_view in Log.
2023-11-05 18:56:56 -03:00
Martín Lucas Golini
8612eb2721
eepp: Improvements in Process. Some minor performance improvements.
...
ecode : Fixes in XML Tools. Fixes in Linter Plugin.
2023-09-28 01:05:15 -03:00
Martín Lucas Golini
9ba49ffab4
Minor improvements in symbol search.
2023-09-09 22:30:40 -03:00