Hi Stephen, Look in the bug tracker: there's someone implementing a better progress indicator with an implementation that looks very good from what I've seen so far and uses LSP interfaces. Here it is: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=59149 We can/should try to coalesce the "eglot--spinner" with that. Thanks, João On Fri, Nov 18, 2022 at 8:27 AM Stephen Leake < stephen_leake@stephe-leake.org> wrote: > The only uses of eglot--spinner in eglot.el are: > > eglot--mode-line-format, where it is added to the mode line. > > eglot--signal-textDocument/didChange, where it is set to (list nil > :textDocument/didChange t), meaning didChange is done. Because this is > set to done, it is not actually displayed in the modeline. > > For ada-mode, I'd like to use eglot--spinner to show "indexing" > progress; the server is parsing all the files in the project, collecting > cross reference information, which takes a while. The user needs to know > when it is done; then they can use cross reference commands. > > So I'd like to delete setting eglot--spinner in > eglot--signal-textDocument/didChange; otherwise that will overwrite the > indexing progress when a buffer is edited. > > This would also imply making eglot--spinner public. > > That then raises the issue of future conflicting uses of eglot-spinner. > So perhaps it would be better for ada-mode to add another item to the > mode line? To do that requires a hook in eglot--mode-line-format, so it > is grouped with the other eglot-derived mode line items. > > -- > -- Stephe > -- João Távora