aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorSeth Daniel <seth@sethdaniel.org>2022-03-06 15:34:50 -0600
committerGitHub <noreply@github.com>2022-03-06 13:34:50 -0800
commitb0e9a54252c04e91c8575d32495eea18e42d928d (patch)
treed8390890274bacc4249811a4f191c003e6ff1f44 /lua
parentdocs: update server_configurations.md (diff)
downloadnvim-lspconfig-b0e9a54252c04e91c8575d32495eea18e42d928d.tar
nvim-lspconfig-b0e9a54252c04e91c8575d32495eea18e42d928d.tar.gz
nvim-lspconfig-b0e9a54252c04e91c8575d32495eea18e42d928d.tar.bz2
nvim-lspconfig-b0e9a54252c04e91c8575d32495eea18e42d928d.tar.lz
nvim-lspconfig-b0e9a54252c04e91c8575d32495eea18e42d928d.tar.xz
nvim-lspconfig-b0e9a54252c04e91c8575d32495eea18e42d928d.tar.zst
nvim-lspconfig-b0e9a54252c04e91c8575d32495eea18e42d928d.zip
feat: add perlnavigator support (#1756)
Diffstat (limited to 'lua')
-rw-r--r--lua/lspconfig/server_configurations/perlnavigator.lua39
1 files changed, 39 insertions, 0 deletions
diff --git a/lua/lspconfig/server_configurations/perlnavigator.lua b/lua/lspconfig/server_configurations/perlnavigator.lua
new file mode 100644
index 00000000..7ba38955
--- /dev/null
+++ b/lua/lspconfig/server_configurations/perlnavigator.lua
@@ -0,0 +1,39 @@
+local util = require 'lspconfig.util'
+
+return {
+ default_config = {
+ cmd = {},
+ filetypes = { 'perl' },
+ root_dir = util.find_git_ancestor,
+ single_file_support = true,
+ },
+ docs = {
+ description = [[
+https://github.com/bscan/PerlNavigator
+
+A Perl language server
+
+**By default, perlnavigator 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 PerlNavigator repo, install based on the [instructions](https://github.com/bscan/PerlNavigator#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 `perl` in your path. If you want to use a non-standard `perl` you will need to set your configuration like so:
+```lua
+settings = {
+ perlnavigator = {
+ perlPath = '/some/odd/location/my-perl'
+ }
+}
+```
+
+The `contributes.configuration.properties` section of `perlnavigator`'s `package.json` has all available configuration settings. All
+settings have a reasonable default, but, at minimum, you may want to point `perlnavigator` at your `perltidy` and `perlcritic` configurations.
+]],
+ },
+}