Add Racket language server setting (#403)

* add racket language server

* add install-racket-lsp.cmd

* add racket lsp information to README

* add `raco` to the requirement
This commit is contained in:
Kefei Lu
2021-03-14 17:54:48 -07:00
committed by GitHub
parent 024c8342b6
commit ab9f288c6a
5 changed files with 42 additions and 0 deletions

View File

@@ -130,6 +130,7 @@ Because there is no way to update a server, please run `:LspInstallServer` again
| Python | pyright-langserver | Yes | Yes |
| Prisma | prisma-language-server | Yes | Yes |
| R | languageserver | Yes | No |
| Racket | racket-lsp | Yes | No |
| Reason | reason-language-server | Yes | Yes |
| Ruby | solargraph | Yes | Yes |
| Rust | rls | Yes | No |

View File

@@ -0,0 +1,9 @@
@echo off
raco pkg install racket-langserver
echo @echo off ^
%%~dp0\racket.exe -l racket-langserver %%* ^
> racket-lsp.cmd

10
installer/install-racket-lsp.sh Executable file
View File

@@ -0,0 +1,10 @@
#!/usr/bin/env bash
raco pkg install racket-langserver
cat <<EOF >racket-lsp
#!/bin/sh
racket -l racket-langserver
EOF
chmod +x racket-lsp

View File

@@ -778,6 +778,14 @@
]
}
],
"racket": [
{
"command": "racket-lsp",
"requires": [
"raco"
]
}
],
"reason": [
{
"command": "reason-language-server",

14
settings/racket-lsp.vim Normal file
View File

@@ -0,0 +1,14 @@
augroup vim_lsp_settings_racket_lsp
au!
LspRegisterServer {
\ 'name': 'racket-lsp',
\ 'cmd': {server_info->lsp_settings#get('racket-lsp', 'cmd', [lsp_settings#exec_path('racket-lsp')])},
\ 'root_uri':{server_info->lsp_settings#get('racket-lsp', 'root_uri', lsp_settings#root_uri('racket-lsp'))},
\ 'initialization_options': lsp_settings#get('racket-lsp', 'initialization_options', v:null),
\ 'allowlist': lsp_settings#get('racket-lsp', 'allowlist', ['racket']),
\ 'blocklist': lsp_settings#get('racket-lsp', 'blocklist', []),
\ 'config': lsp_settings#get('racket-lsp', 'config', lsp_settings#server_config('racket-lsp')),
\ 'workspace_config': lsp_settings#get('racket-lsp', 'workspace_config', {}),
\ 'semantic_highlight': lsp_settings#get('racket-lsp', 'semantic_highlight', {}),
\ }
augroup END