Enable clangd's dot-to-arrow feature (#21142)

Closes #20815


![dot2arrow1127](https://github.com/user-attachments/assets/d825f9bf-52ae-47ee-b3a3-5f952b6e8979)

Release Notes:
- Enabled clangd's dot-to-arrow feature
This commit is contained in:
feeiyu 2024-11-28 16:43:25 +08:00 committed by GitHub
parent a4584c9d13
commit c2c968f2de
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 62 additions and 17 deletions

View file

@ -5673,8 +5673,6 @@ impl LspStore {
.initialization_options(&(delegate))
.await?;
Self::setup_lsp_messages(this.clone(), &language_server, delegate, adapter);
match (&mut initialization_options, override_options) {
(Some(initialization_options), Some(override_options)) => {
merge_json_value_into(override_options, initialization_options);
@ -5683,8 +5681,18 @@ impl LspStore {
_ => {}
}
let initialization_params = cx.update(|cx| {
let mut params = language_server.default_initialize_params(cx);
params.initialization_options = initialization_options;
adapter.adapter.prepare_initialize_params(params)
})??;
Self::setup_lsp_messages(this.clone(), &language_server, delegate, adapter);
let language_server = cx
.update(|cx| language_server.initialize(initialization_options, cx))?
.update(|cx| {
language_server.initialize(Some(initialization_params), cx)
})?
.await
.inspect_err(|_| {
if let Some(this) = this.upgrade() {