aboutsummaryrefslogtreecommitdiffstats
path: root/lua/lspconfig/server_configurations/turtle_ls.lua
diff options
context:
space:
mode:
authorlucascool12 <71119084+lucascool12@users.noreply.github.com>2022-11-13 12:51:29 +0100
committerGitHub <noreply@github.com>2022-11-13 19:51:29 +0800
commitc3e0af1a734538bd02e12887221ae3186bbe5683 (patch)
treefc5bfd6776de53705746bc658ff7ebeb47034752 /lua/lspconfig/server_configurations/turtle_ls.lua
parentfix(eslint): root dir not found if using package.json config (#2234) (diff)
downloadnvim-lspconfig-c3e0af1a734538bd02e12887221ae3186bbe5683.tar
nvim-lspconfig-c3e0af1a734538bd02e12887221ae3186bbe5683.tar.gz
nvim-lspconfig-c3e0af1a734538bd02e12887221ae3186bbe5683.tar.bz2
nvim-lspconfig-c3e0af1a734538bd02e12887221ae3186bbe5683.tar.lz
nvim-lspconfig-c3e0af1a734538bd02e12887221ae3186bbe5683.tar.xz
nvim-lspconfig-c3e0af1a734538bd02e12887221ae3186bbe5683.tar.zst
nvim-lspconfig-c3e0af1a734538bd02e12887221ae3186bbe5683.zip
feat: add turtle-language-server support (#2239)
Diffstat (limited to 'lua/lspconfig/server_configurations/turtle_ls.lua')
-rw-r--r--lua/lspconfig/server_configurations/turtle_ls.lua51
1 files changed, 51 insertions, 0 deletions
diff --git a/lua/lspconfig/server_configurations/turtle_ls.lua b/lua/lspconfig/server_configurations/turtle_ls.lua
new file mode 100644
index 00000000..0e58e956
--- /dev/null
+++ b/lua/lspconfig/server_configurations/turtle_ls.lua
@@ -0,0 +1,51 @@
+local util = require 'lspconfig.util'
+
+local bin_name = 'turtle-language-server'
+local bin_path = os.getenv 'NVM_BIN'
+local full_path
+if bin_path == nil then
+ local paths = {}
+ local sep = ':'
+ if vim.fn.has 'win32' == 1 then
+ sep = ';'
+ end
+ local path = os.getenv 'PATH'
+ if path ~= nil then
+ for str in string.gmatch(path, '([^' .. sep .. ']+)') do
+ table.insert(paths, str)
+ end
+ end
+ for _, p in ipairs(paths) do
+ local candidate = util.path.join(p, bin_name)
+ if util.path.is_file(candidate) then
+ full_path = candidate
+ break
+ end
+ end
+else
+ full_path = util.path.join(bin_path, bin_name)
+end
+
+local cmd = { 'node', full_path, '--stdio' }
+
+if vim.fn.has 'win32' == 1 then
+ cmd = { 'cmd.exe', '/C', 'node', full_path, '--stdio' }
+end
+
+return {
+ default_config = {
+ cmd = cmd,
+ filetypes = { 'turtle', 'ttl' },
+ root_dir = function(fname)
+ return util.find_git_ancestor(fname)
+ end,
+ },
+ docs = {
+ description = [[
+https://github.com/stardog-union/stardog-language-servers/tree/master/packages/turtle-language-server
+`turtle-language-server`, An editor-agnostic server providing language intelligence (diagnostics, hover tooltips, etc.) for the W3C standard Turtle RDF syntax via the Language Server Protocol.
+installable via npm install -g turtle-language-server or yarn global add turtle-language-server.
+requires node.
+]],
+ },
+}