diff --git a/autoload/nuwiki/lsp.vim b/autoload/nuwiki/lsp.vim index b7e673c..f2251bc 100644 --- a/autoload/nuwiki/lsp.vim +++ b/autoload/nuwiki/lsp.vim @@ -27,14 +27,19 @@ function! nuwiki#lsp#start() abort return endif - if exists('*lsp#register_server') - " vim-lsp + if exists('g:lsp_loaded') + " vim-lsp — its autoload functions aren't triggered by `exists('*…')`, + " but its plugin/lsp.vim sets `g:lsp_loaded = 1` once requirements + " (json_encode + timers + lambda) are met, so that's the reliable + " presence check. call lsp#register_server({ \ 'name': 'nuwiki', \ 'cmd': {server_info -> [l:bin]}, \ 'allowlist': ['vimwiki'], \ 'config': { 'settings': { 'nuwiki': s:settings() } }, \ }) + " vim-lsp auto-enables servers when 'g:lsp_auto_enable' is on + " (default) — no manual `lsp#enable()` needed. return endif diff --git a/start-vim.sh b/start-vim.sh index 7348557..815929d 100755 --- a/start-vim.sh +++ b/start-vim.sh @@ -157,8 +157,9 @@ augroup NuwikiStart autocmd FileType vimwiki call nuwiki#lsp#start() augroup END -echo '[nuwiki-dev] ready — wiki root: $WIKI_DIR' -echo '[nuwiki-dev] :LspStatus for client diagnostics, :messages for log' +" Status messages go to :messages so they don't trigger "Press ENTER". +echomsg '[nuwiki-dev] ready — wiki root: $WIKI_DIR' +echomsg '[nuwiki-dev] :LspStatus for diagnostics, :messages for log' EOF }