mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-15 14:16:07 -06:00
[GH-ISSUE #43] Intellisense #27
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/ultimatepp#27
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ScSofts on GitHub (Sep 14, 2021).
Original GitHub issue: https://github.com/ultimatepp/ultimatepp/issues/43
Can we improve the intellisense of TheIDE by using clangd ?
Moreover , I hope it can pop the code completion window when I type.
@ScSofts commented on GitHub (Sep 14, 2021):
Including auto error detect may make it more attractive。
@klugier commented on GitHub (Sep 15, 2021):
@ScSofts I totally agree moving towards clangd instead of custom Intellisense will have many benefits to us. The first one is maintenance code - the c++ code is evolving very rapidly. New standards are introduced within 3 years period. On the other hand, at the moment we do not support all latest language features for example concepts.
However, this change will require significant amount of work. Right now, we do not have enough workforce. Any contribution are welcome - even prototyped one that can be further adapted. @mirek-fidler & Oblvion any thought on this?
@mirek-fidler commented on GitHub (Sep 15, 2021):
I support Zbigniew opinion in general.
The only questions I have is whether clangd is able to provide all the
functions of current system (e.g. Jump to definition and Navigator
features, also what about speed?) - for that reason I would not be in hurry
removing current parser from the U++ codebase - upgrading and fixing it is
still viable option too.
Another issue I see is that we will need clangd distributed with Win32
releases too.
That said, I have not gone deep into clangd and ASTs yet, but MAYBE we can
make normal clang work for us here too. That would be good in case clangd
is not compatible with our build procedure or is not fast enough.
Mirek
On Wed, Sep 15, 2021 at 3:01 PM Zbigniew Rębacz @.***>
wrote:
@sdbtools commented on GitHub (Sep 16, 2021):
I use clangd (actually, ccls language server) with U++ for several years.
I use it from vim. This works very well for me.
Opening of a project takes about 10-15 sec on a 8 core (16 threads) CPU.
Navigation is much better than in TheIDE.
Language server spends ~1-2 sec. recompiling a file on each save operation.
I'd recommend to take a look at tree-sitter, which is an incremental parsing library.
Both, language server and tree-sitter are built into a new version of vim called neovim, which I recommend to use as a reference example.
We can also move this discussion to a U++ forum.
@mirek-fidler commented on GitHub (Sep 16, 2021):
Moved here:
https://www.ultimatepp.org/forums/index.php?t=msg&goto=57515&#msg_57515
On Thu, Sep 16, 2021 at 7:25 AM sdbtools @.***> wrote:
@mirek-fidler commented on GitHub (Oct 26, 2022):
I think we can consider this issue resolved? :) (As master is now using libclang)