[PATCH] D55363: [clangd] Expose FileStatus in LSP.

Haojian Wu via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Dec 20 04:38:03 PST 2018

hokein added a comment.

In D55363#1336315 <https://reviews.llvm.org/D55363#1336315>, @ilya-biryukov wrote:

> Could we add a capability to the init request to check for this extension? We don't want to send those notifications to clients that don't have the code to handle them.

yes, I think we should add it to `initializationOptions`, since LSP clients don't provide interfaces to customize `TextDocumentClientCapabilities`.

> Another observation: when I played around with the previous version of the patch, `RunningAction` and `BuildingAST` where constantly "blinking", i.e. it changes faster than I can read it.
>  This lead to them being irritating and not providing any actual value.

This depends on the file, for some huge files, `BuildingAST` `RunningAction` may take a while, but I agree that for most small files, these two are fast :).

> Maybe consider sending an update after some period of time, e.g. `0.5s`? (I expect this particular strategy to be a bit complicated and out of scope of this patch, so another alternative is to simply not send them to the clients in the first version). WDYT?

Sounds fair, keeping status bar  `blinking` seems annony to users. Added a FIXME.

Comment at: clangd/Protocol.h:999
+  /// Details of the state that are worth sufacing to users.
+  std::vector<ShowMessageParams> details;
ilya-biryukov wrote:
> Why not `vector<string>`? What's the use of the `MessageType`?
`MessageType` indicates the importance of the message. Editors might choose different UI for showing different message (e.g. in vscode, `error` message are prompted with a red icon; while `Info` are prompted with a yellow icon).

  rCTE Clang Tools Extra



More information about the cfe-commits mailing list