You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
2.8 KiB

# Setup of tested language servers
## JavaScript/TypeScript
### JavaScript with Flow static type checker
- Prerequisites:
- Node.js
- Recommended:
- [Prettier](https://github.com/prettier/prettier) (installed globally: `install i -g prettier`)
Install language server, and create executable to enable server in juCi++:
```sh
npm install -g flow-bin
# Usually as root:
echo '#!/bin/sh
flow lsp' > /usr/local/bin/javascript-language-server
chmod 755 /usr/local/bin/javascript-language-server
```
- Additional setup within a JavaScript project:
- Add a `.prettierrc` file to enable style format on save
### TypeScript or JavaScript without Flow
- Prerequisites:
- Node.js
- Recommended:
- [Prettier](https://github.com/prettier/prettier) (installed globally: `install i -g prettier`)
Install language server, and create executable to enable server in juCi++:
```sh
npm install -g typescript-language-server typescript
# Usually as root:
echo '#!/bin/sh
`npm root -g`/typescript-language-server/lib/cli.js --stdio' > /usr/local/bin/javascript-language-server
chmod 755 /usr/local/bin/javascript-language-server
rm -f /usr/local/bin/typescript-language-server
cp /usr/local/bin/javascript-language-server /usr/local/bin/typescript-language-server
cp /usr/local/bin/javascript-language-server /usr/local/bin/typescriptreact-language-server
```
- Additional setup within a JavaScript project:
- Add a `.prettierrc` file to enable style format on save
## Python3
- Prerequisites:
- Python3
Install language server, and create symbolic link to enable server in juCi++:
```sh
pip3 install python-language-server[rope,pycodestyle,yapf]
# Usually as root:
ln -s `which pyls` /usr/local/bin/python-language-server
```
- Additional setup within a Python project:
- Add a setup file, for instance:
`printf '[pycodestyle]\nmax-line-length = 120\n\n[yapf]\nCOLUMN_LIMIT = 120\n' > setup.cfg`
- Add an empty `.python-format` file to enable style format on save
## Rust
- Prerequisites:
- Rust
Install language server, and create symbolic link to enable server in juCi++:
```sh
rustup component add rust-src
git clone https://github.com/rust-analyzer/rust-analyzer
cd rust-analyzer
cargo xtask install --server
# Usually as root:
ln -s ~/.cargo/bin/rust-analyzer /usr/local/bin/rust-language-server
```
- Additional setup within a Rust project:
- Add an empty `.rust-format` file to enable style format on save
## GLSL
Install language server, and create a script to enable server in juCi++:
```sh
git clone https://github.com/svenstaro/glsl-language-server --recursive
cd glsl-language-server
mkdir build
cd build
cmake ..
make
# Usually as root:
make install
echo '#!/bin/sh
/usr/local/bin/glslls --stdin' > /usr/local/bin/glsl-language-server
chmod 755 /usr/local/bin/glsl-language-server
```