Commit Graph

130 Commits

Author SHA1 Message Date
Martín Lucas Golini
7fa4bc8139 Add "lsp-show-document-symbols" keybinding to the default LSP options. 2024-12-15 11:27:17 -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
1de8c60e75 Add support to Julia LanguageServer.jl. 2024-11-23 16:07:59 -03:00
Martín Lucas Golini
1c6d94e578 A bunch of small micro-optimizations to reduce heap allocs. 2024-11-23 01:19:44 -03:00
Martín Lucas Golini
ce1e87ef38 Small clean up, add String::toUtf32. 2024-11-21 21:35:00 -03:00
Martín Lucas Golini
3001723a98 Do not heap allocate during LSPClientPlugin::drawTop. 2024-11-21 01:33:32 -03:00
Martín Lucas Golini
0e0ce71609 Optimization to reduce almost to zero allocations during frame rendering in ecode (this gives around 6% perf gains). 2024-10-29 02:11:33 -03:00
Martín Lucas Golini
1e58843896 Optimized String::toString.
Revert a change in focus behavior in UIDropDownList since it's incorrect.
Measure plugin load times.
2024-10-22 21:23:31 -03:00
Martín Lucas Golini
b9667b75a3 Identify and flag nightly builds. If a new version is released as stable they will be able to recognize that there's a new version available. 2024-10-19 17:29:18 -03:00
Martín Lucas Golini
4389c99401 Fix breadcrumb highlight.
Minor nit for lnk files.
2024-10-16 12:06:17 -03:00
Martín Lucas Golini
5a7e7e5387 Avoid crashes on plugin unload while loading. 2024-09-28 13:42:54 -03:00
Martín Lucas Golini
49e56f05a2 Single instance support (tested in Linux and Windows, pending the rest of the OSes, issue SpartanJ/ecode#58).
Refresh buttons state when Clear Menu is used (issue SpartanJ/ecode#339).
2024-09-28 01:01:14 -03:00
Martín Lucas Golini
92291448c0 Fix invalid memory access when Event::OnDocumentChange is processed in LSPClientPlugin.
Some refactor of Keyboards Shortcuts.
2024-09-25 20:56:05 -03:00
Martín Lucas Golini
5cd8039250 Fix breadcrumb overlapping with minimap when verticall scrollbar is present.
Do not use mbedtls for emscripten build.
2024-09-11 22:40:53 -03:00
Martín Lucas Golini
4d0da818c0 Small improvements in breadcrumb. Minor refactor of EventDispatcher::getMousePos. 2024-09-11 20:27:14 -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
bdc94fa587 Fix breadcrumb click area. 2024-09-03 13:03:42 -03:00
Martín Lucas Golini
a10f587545 Invalidate draw when editor updates its highlight.
Minor improvement on breadcrumb draw invalidation.
2024-08-29 11:41:07 -03:00
Martín Lucas Golini
2334ec078c Select current symbol on search symbol window. 2024-08-29 01:23:25 -03:00
Martín Lucas Golini
43be8cb024 Minor fixes. 2024-08-27 00:32:02 -03:00
Martín Lucas Golini
bd96005bf8 ecode: Implemented LSP document symbol tree with search, integrated with the breadcrumb.
eepp: Added a new flag to UIWindow to create ephemeral windows (windows that close on focus loss).
2024-08-26 01:09:50 -03:00
Martín Lucas Golini
d6fc60a2ce Editor Breadcrumb WIP. 2024-08-25 01:18:31 -03:00
Martín Lucas Golini
fe69610cb7 Fix crash when reloading plugins and triggering subscribed events. 2024-08-15 00:29:15 -03:00
Martín Lucas Golini
42ca1900fa Display signature help if avialable and not symbol info is available when pressing lsp-symbol-info (F1). 2024-08-10 21:43:32 -03:00
Martín Lucas Golini
82d9448693 Fix crash when enqueued a fold action and editor was closed before the action executed.
Fix linter messages being too long (now wraps the text, fixes issue SpartanJ/ecode#289).
Fix minor issue when reloading linter plugin.
2024-07-08 01:21:20 -03:00
Martín Lucas Golini
a9de765b60 Minor clean up in TCPSocket and set timeout on HTTP socket connections.
LSP list view always selects first item.
2024-07-05 01:37:50 -03:00
Martín Lucas Golini
3168bb6d6c Display vertical scrollbar in UICodeEditor list views when required. 2024-07-04 11:05:36 -03:00
Martín Lucas Golini
e54c7dee4f Add $PROJECTPATH and ${project_root} as keywords for commands in LSP, Formatter and Linter. 2024-06-24 23:31:19 -03:00
Martín Lucas Golini
efbc2c87bc Crash fix and optimization. 2024-06-05 20:11:09 -03:00
Martín Lucas Golini
80897f7c66 Improve rename symbol. 2024-05-31 01:20:50 -03:00
Martín Lucas Golini
396f1e2558 Code Folding WIP. 2024-05-27 00:57:18 -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
6c94ea50d9 Fix bug in LSP Plugin when opening a same document in a split and then closing the original document, keybinds were lost after that. 2024-03-10 13:07:21 -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
cc144c27c1 Added WordWrap for UITooltip.
LSP tooltip now wraps its contents.
2024-02-24 13:45:27 -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
9c2822e3d6 More work to get better i18n support. 2024-02-09 22:39:19 -03:00
Martín Lucas Golini
b5f660ca21 Git plugin more WIP. 2024-01-19 20:24:55 -03:00
Martín Lucas Golini
9e764c8100 Fix crash on UITabWidget.
Improve LSP tooltip.
Remove warnings.
2024-01-13 18:04:23 -03:00
Martín Lucas Golini
697fc29514 Added Git data models.
Small base Model clean up.
2024-01-13 12:56:00 -03:00
Martín Lucas Golini
74e3dee369 Hide tab widget scroll when mouse is not over.
Add context menu for splitter tabs.
Git status count lines of added files and other fixes.
Other code clean up regarding Variant class.
2024-01-07 15:18:07 -03:00
Martín Lucas Golini
2cbdc44ce7 Enable semantic highlighting by default. 2023-12-29 10:50:33 -03:00
Martín Lucas Golini
fc8ec9610b eepp: Fixed Node::debounce.
ecode: Fixes in Git plugin, now status also recurses submodules. Fixed doc info being incorrect on startup.
2023-12-18 21:18:29 -03:00
Martín Lucas Golini
05684dffc9 ecode: Visual improvements. 2023-12-17 19:11:41 -03:00
Martín Lucas Golini
4f1087a181 ecode: Git plugin more WIP. 2023-12-17 02:54:23 -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
6f3e458dc7 Ups. 2023-11-03 01:53:09 -03:00
Martín Lucas Golini
1bf41714f8 Add a button to restart the LSP Client. 2023-11-03 01:52:27 -03:00
Martín Lucas Golini
b7bdfd33ba eepp:
Added Sys::execute and Sys::getProcessFilePath (not tested on macOS, could be broken).
ecode:
Optimized document search (now is async).
Improved auto-reload of plugins, should solve some issues.
Added "New Window" option on Settings Menu.
2023-10-28 01:09:00 -03:00
Martín Lucas Golini
7d2fbc4678 ecode: Fix improper lock when adding watches. Fixed several crashed when plugin events where fired from closed editors. 2023-10-27 01:55:43 -03:00