if lspserver.ready
BufferInit(lspserver.id, bnr)
else
- augroup LSPBufferAutocmds
- exe $'autocmd User LspServerReady_{lspserver.id} ++once BufferInit({lspserver.id}, {bnr})'
- augroup END
+ # Lsp server is not ready yet. Initialize the lsp state for this buffer
+ # when the server is ready.
+ autocmd_add([{group: 'LSPBufferAutocmds',
+ event: 'User',
+ pattern: $'LspServerReady_{lspserver.id}',
+ once: true,
+ cmd: $'BufferInit({lspserver.id}, {bnr})'}])
endif
endfor
enddef
exe $'doautocmd <nomodeline> User LspServerReady{lspserver.name}'
endif
# Used internally, and shouldn't be used by users
- if exists($'#User#LspServerReady_{lspserver.id}')
- exe $'doautocmd <nomodeline> User LspServerReady_{lspserver.id}'
+ if exists($'#LSPBufferAutocmds#User#LspServerReady_{lspserver.id}')
+ exe $'doautocmd <nomodeline> LSPBufferAutocmds User LspServerReady_{lspserver.id}'
endif
# set the server debug trace level