Closed Guo-Shiyu closed 1 week ago
Thank you for your suggestions.
I am using the latest version of llvm for development because I might need to modify clang's source code and merge it into the mainline. The lower versions haven't been tested yet. Even after the entire program is completed, I believe supporting lower versions of llvm won't provide much value. The higher the version, the more powerful it is, with more features supported.
I currently don't plan to use package managers like xmake, since llvm's build only requires cmake and python. Therefore, I hope the users of clice will only need these two dependencies if they decide to build from source.
The reason I'm using libuv is that I'm more familiar with it, and I'm not very familiar with libhv. Could you elaborate on how it might be more suitable? Even with libuv, clice only uses a small portion of its features, so I want to keep the dependencies as lightweight as possible.
The project isn't ready to accept contributions yet as it is still in an early development phase. My roadmap roughly looks like this:
I've spent a significant amount of time over the past few months studying clang's source code and testing prototypes. Now I'm in the second phase. To contribute at this stage, one needs to have a deep understanding of clang's internals. I wouldn't recommend contributing at this stage as it's very challenging. Contributing in the third phase will be relatively easier, where you'd only need to work with the apis I've encapsulated. I expect it will take me another 1-2 months to complete phase 2.
I've noticed that many people seem interested in building a new c++ lsp. I will open some issues to discuss and track progress. You're welcome to share your thoughts! :)
Fix Build with Clang-18 toolchain
So sorry to start such a direct PR without any issue or email communication before. I'm interested in this project to build a new LSP for C++. Tried to build it in my machine, I got some CE and has fixed it in this PR.
My develop environment: WSL Ubuntu 22.04.5 LTS
What I did (as the changes):
Fix a link error (with build script
scripts/build-dev.sh
) caused by missing argument-fno-rtti
Fix bad
.clang-format
file. I noticed that thealt + shift + f
can not work properly and there are some error logs in clangd (whth clang-format-18)./home/shiyu/github/clice/.clang-format:35:1: error: unknown key 'BreakAfterReturnType' BreakAfterReturnType: Automatic ^
~~~~~~~ I[00:16:45.539] getStyle() failed for file /home/shiyu/github/clice/include/Server/Logger.h: Error reading /home/shiyu/github/clice/.clang-format: Invalid argument. Fallback is LLVM style.