Skip to content

Commit cf531b0

Browse files
committed
coc auto install script
1 parent f6dc79d commit cf531b0

File tree

2 files changed

+23
-106
lines changed

2 files changed

+23
-106
lines changed

README.md

Lines changed: 1 addition & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
# cli develop env
22
### os
33
* ubuntu
4-
* centos
5-
* mac
64
### language
75
- php
86
- c/c++
@@ -29,102 +27,4 @@
2927

3028
### language server
3129

32-
#### java
33-
34-
* Install Eclipse JDT Language Server
35-
36-
```bash
37-
mkdir -p ~/lsp/eclipse.jdt.ls
38-
cd ~/lsp/eclipse.jdt.ls
39-
curl -L https://download.eclipse.org/jdtls/milestones/0.35.0/jdt-language-server-0.35.0-201903142358.tar.gz -O
40-
tar xf jdt-language-server-0.35.0-201903142358.tar.gz
41-
```
42-
* Create executable jdtls in path (e.g., /usr/local/bin/jdtls), with content
43-
44-
```bash
45-
#!/usr/bin/env sh
46-
47-
server="/root/lsp"
48-
49-
java \
50-
-Declipse.application=org.eclipse.jdt.ls.core.id1 \
51-
-Dosgi.bundles.defaultStartLevel=4 \
52-
-Declipse.product=org.eclipse.jdt.ls.core.product \
53-
-noverify \
54-
-Xms1G \
55-
-jar $server/eclipse.jdt.ls/plugins/org.eclipse.equinox.launcher_1.*.jar \
56-
-configuration $server/eclipse.jdt.ls/config_linux/ \
57-
"$@"
58-
```
59-
* Add to your vim config:
60-
61-
```viml
62-
let g:LanguageClient_serverCommands = {
63-
\ 'java': ['/usr/local/bin/jdtls', '-data', getcwd()],
64-
\ }
65-
```
66-
#### php
67-
* install intelephense
68-
```bash
69-
npm -g install intelephense
70-
```
71-
* add to your vim script
72-
```viml
73-
let g:LanguageClient_serverCommands = {
74-
\ 'php': ['node', '/usr/local/lib/node_modules/intelephense/lib/intelephense.js', '--stdio'],
75-
\ }
76-
```
77-
### python
78-
* install python language server
79-
```bash
80-
pip install python-language-server
81-
```
82-
83-
* add to your vimscript
84-
```viml
85-
let g:LanguageClient_serverCommands = {
86-
\ 'python': ['pyls'],
87-
\ }
88-
```
89-
### lua
90-
* install lua language server
91-
```bash
92-
apt install lua5.3-dev luarocks
93-
luarocks install --server=http://luarocks.org/dev lua-lsp
94-
```
95-
* add to vim config
96-
```viml
97-
let g:LanguageClient_serverCommands = {
98-
\ 'lua': ['lua-lsp'],
99-
\ }
100-
```
101-
### fe
102-
* install css js typescript language server
103-
```bash
104-
npm install -g typescript typescript-language-server
105-
npm install -g vscode-css-languageserver-bin
106-
```
107-
108-
* add to vim config
109-
```viml
110-
let g:LanguageClient_serverCommands = {
111-
\ 'css': ['css-languageserver', '--stdio'],
112-
\ 'less': ['css-languageserver', '--stdio'],
113-
\ 'sass': ['css-languageserver', '--stdio'],
114-
\ 'javascript': ['typescript-language-server', '--stdio'],
115-
\ 'javascript.jsx': ['typescript-language-server', '--stdio'],
116-
\ 'typescript': ['typescript-language-server', '--stdio'],
117-
\ 'typescript.tsx': ['typescript-language-server', '--stdio'],
118-
\ }
119-
```
120-
### bash
121-
* install bash language server
122-
```bash
123-
sudo npm i -g bash-language-server --unsafe-perm
124-
125-
```
126-
* add to vim config
127-
let g:LanguageClient_serverCommands = {
128-
\ 'sh': ['bash-language-server','start'],
129-
\ }
130-
30+
> use coc.nvim for lsp client

tools/neovim/ubuntu_init.sh

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@ function java_ins(){
2222
echo "java ins"
2323
}
2424
function lua_ins(){
25-
! (grep -F 'lua-lsp' ~/.config/nvim/init.vim &>/dev/null ) && \
26-
sed -i "/LanguageClient_serverCommands/a \\\\\ 'lua': ['lua-lsp']," ~/.config/nvim/init.vim
25+
! ( grep -F "languageserver" ~/.config/nvim/coc-settings.json ) && \
26+
sed -i '/suggest.timeout/i "languageserver": {\n"lua": {\n"command": "lua-lsp",\n"filetypes": ["lua"]\n}\n },' ~/.config/nvim/coc-settings.json
2727
}
2828
function bash_ins(){
29-
! (grep -F 'bash-language-server' ~/.config/nvim/init.vim &>/dev/null ) && \
30-
sed -i "/LanguageClient_serverCommands/a \\\\\ 'sh': ['bash-language-server','start']," ~/.config/nvim/init.vim
29+
! ( grep -F "languageserver" ~/.config/nvim/coc-settings.json ) && \
30+
sed -i '/suggest.timeout/i "languageserver": {\n"bash": {\n"command": "bash-language-server",\n"args": ["start"],\n"filetypes": ["sh"]",ignoredRootPaths": ["~"]\n}\n},' ~/.config/nvim/coc-settings.json
3131
}
3232
function fe_ins(){
3333
echo "fe"
@@ -40,6 +40,9 @@ function go_ins(){
4040
pxy go get -u github.com/derekparker/delve/cmd/dlv
4141
pxy go get -u golang.org/x/tools/cmd/gopls
4242
fi
43+
44+
! ( grep -F "languageserver" ~/.config/nvim/coc-settings.json ) && \
45+
sed -i '/suggest.timeout/i "languageserver": {\n"golang": {\n"command": "gopls",\n"filetypes": ["go"]\n}\n},' ~/.config/nvim/coc-settings.json
4346
}
4447

4548
function php_ins(){
@@ -52,6 +55,9 @@ function php_ins(){
5255
php "\$@"
5356
END
5457
chmod u+x /usr/local/bin/phpxd
58+
59+
! ( grep -F "languageserver" ~/.config/nvim/coc-settings.json ) && \
60+
sed -i '/suggest.timeout/i "languageserver": { \n"intelephense": {\n"command": "intelephense",\n"args": ["--stdio"],\n"filetypes": ["php"],\n"initializationOptions": {\n"storagePath": "/tmp/intelephense"\n }\n }\n},' ~/.config/nvim/coc-settings.json
5561
}
5662

5763

@@ -122,7 +128,6 @@ if [ "Y$OPT_C" == "Yyes" ];then
122128
c_ins
123129
fi
124130

125-
126131
if [ "Y$OPT_LUA" == "Yyes" ];then
127132
lua_ins
128133
fi
@@ -147,6 +152,18 @@ fi
147152

148153
export shell=/bin/bash
149154
nvim +'PlugInstall --sync' +qall
155+
156+
#language server install
157+
nvim "+CocInstall -sync coc-snippets" +qall
158+
159+
if [ "Y$OPT_FE" == "Yyes" ];then
160+
nvim "+CocInstall -sync coc-html coc-css coc-tsserver coc-emmet" +qall
161+
fi
162+
163+
if [ "Y$OPT_JAVA" == "Yyes" ];then
164+
nvim "+CocInstall -sync coc-java" +qall
165+
fi
166+
150167
! which ctags >/dev/null && \
151168
git clone https://github.com/universal-ctags/ctags.git &&\
152169
cd ctags && ./autogen.sh && ./configure && make && make install &&\

0 commit comments

Comments
 (0)