aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorRaphael <glepnir@neovim.pro>2022-12-30 13:35:01 +0800
committerGitHub <noreply@github.com>2022-12-30 13:35:01 +0800
commit0e77b9bcab7d986cb4b2cb84704e5a8a8a7df39b (patch)
treeba3b50c0d05d562ef914ffc06cc17f5272dee291 /lua
parentdocs: update server_configurations.md (diff)
downloadnvim-lspconfig-0e77b9bcab7d986cb4b2cb84704e5a8a8a7df39b.tar
nvim-lspconfig-0e77b9bcab7d986cb4b2cb84704e5a8a8a7df39b.tar.gz
nvim-lspconfig-0e77b9bcab7d986cb4b2cb84704e5a8a8a7df39b.tar.bz2
nvim-lspconfig-0e77b9bcab7d986cb4b2cb84704e5a8a8a7df39b.tar.lz
nvim-lspconfig-0e77b9bcab7d986cb4b2cb84704e5a8a8a7df39b.tar.xz
nvim-lspconfig-0e77b9bcab7d986cb4b2cb84704e5a8a8a7df39b.tar.zst
nvim-lspconfig-0e77b9bcab7d986cb4b2cb84704e5a8a8a7df39b.zip
feat: add RakuNavigator Raku language server (#2372)
Co-authored-by: massa humbertomassa@gmail.com
Diffstat (limited to 'lua')
-rw-r--r--lua/lspconfig/server_configurations/raku_navigator.lua33
1 files changed, 33 insertions, 0 deletions
diff --git a/lua/lspconfig/server_configurations/raku_navigator.lua b/lua/lspconfig/server_configurations/raku_navigator.lua
new file mode 100644
index 00000000..26ff321e
--- /dev/null
+++ b/lua/lspconfig/server_configurations/raku_navigator.lua
@@ -0,0 +1,33 @@
+local util = require 'lspconfig.util'
+
+return {
+ default_config = {
+ cmd = {},
+ filetypes = { 'raku' },
+ root_dir = util.find_git_ancestor,
+ single_file_support = true,
+ },
+ docs = {
+ description = [[
+https://github.com/bscan/RakuNavigator
+A Raku language server
+**By default, raku_navigator doesn't have a `cmd` set.** This is because nvim-lspconfig does not make assumptions about your path.
+You have to install the language server manually.
+Clone the RakuNavigator repo, install based on the [instructions](https://github.com/bscan/raku_Navigator#installation-for-other-editors),
+and point `cmd` to `server.js` inside the `server/out` directory:
+```lua
+cmd = {'node', '<path_to_repo>/server/out/server.js', '--stdio'}
+```
+At minimum, you will need `raku` in your path. If you want to use a non-standard `raku` you will need to set your configuration like so:
+```lua
+settings = {
+ raku_navigator = {
+ rakuPath = '/some/odd/location/my-raku'
+ }
+}
+```
+The `contributes.configuration.properties` section of `raku_navigator`'s `package.json` has all available configuration settings. All
+settings have a reasonable default, but, at minimum, you may want to point `raku_navigator` at your `raku_tidy` and `raku_critic` configurations.
+]],
+ },
+}