Comments (8)
I sent a PR and verified vim-langauge-server
can be installed on mac in neovim as well as start the server and everything works. Please give #56 a try.
from vim-lsp-settings.
@mattn Could you add label such as "help wanted", "PR welcome"?
from vim-lsp-settings.
I think, We should use termopen
function instead of :terminal
command if nvim.
from vim-lsp-settings.
Hmm. Seems difficult.
https://github.com/neovim/neovim/blob/e922576bdd6abd6736417343121120b289079565/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim#L42
from vim-lsp-settings.
I had ported vim-fz to support neovim and vim8. Can someone try something similar to this? mattn/vim-fz#5
from vim-lsp-settings.
I wrote dirty-hack:
diff --git a/plugin/lsp_settings.vim b/plugin/lsp_settings.vim
index 1081bf5..c1bd45a 100644
--- a/plugin/lsp_settings.vim
+++ b/plugin/lsp_settings.vim
@@ -1,3 +1,5 @@
+let s:is_nvim = has('nvim')
+
if exists('g:loaded_lsp_settings')
finish
endif
@@ -96,6 +98,12 @@ function! s:vimlsp_install_server_post(command, job, code) abort
endif
endfunction
+if s:is_nvim
+ function! s:vimlsp_install_server_post_nvim(command, job, code, eventtype) abort
+ return s:vimlsp_install_server_post(a:command, a:job, a:code)
+ endfunction
+endif
+
function! s:vimlsp_install_server() abort
let l:entry = s:vimlsp_installer()
let l:servers_dir = get(g:, 'lsp_settings_servers_dir', s:servers_dir)
@@ -104,11 +112,17 @@ function! s:vimlsp_install_server() abort
call delete(l:server_install_dir, 'rf')
endif
call mkdir(l:server_install_dir, 'p')
+
+ if s:is_nvim
+ let l:job = jobstart(l:entry[1], {'cwd': l:server_install_dir, 'on_exit': function('s:vimlsp_install_server_post_nvim', [l:entry[0]])})
+ else
let l:bufnr = term_start(l:entry[1], {'cwd': l:server_install_dir})
let l:job = term_getjob(l:bufnr)
if l:job != v:null
call job_setoptions(l:job, {'exit_cb': function('s:vimlsp_install_server_post', [l:entry[0]])})
endif
+ endif
+
endfunction
function! s:vimlsp_settings_suggest() abort
I'm unfamilier with vim script, and don't know about normal behavior of :LspInstallServer
.
It maybe makes so curious problems.
Hope someone fixes this code.
See also:
neovim/neovim#8364
from vim-lsp-settings.
I also checked #56 on WSL(Ubuntu), looks good to me.
from vim-lsp-settings.
I also tested #56 on macOS, with filetype c
, vim
, php
, bash
, java
, everything works well.
from vim-lsp-settings.
Related Issues (20)
- eclipse-jdt-ls not correct with native lsp
- Incorrectly adding --stdio to command
- Marksman installation fails on linux
- svelte-language-server uses incorrect binary name
- Managing upgrades of installed servers
- LSP action broken (apply_workspace_edit) HOT 1
- sumneko needs a meta folder to support builtins
- How to set lsp_settings_filetype_ with LspSettingsLocalEdit
- ruff lsp is weird, potentially add to readme? HOT 1
- Add pylizer
- There's no installer for vimscript-language-server HOT 4
- install-terraform-ls.sh curling non-existant file HOT 4
- customTags for yaml-language-server HOT 2
- term_start function unknown error HOT 2
- Add support for YANG LSP
- COBOL not working? HOT 2
- Java doesn't work on Windows 10
- `vscode-css-languageserver-bin` is too outdated.
- Could not find an installable clangd release HOT 1
- `:LspStatus` returns `typescript-language-server: not running` HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vim-lsp-settings.