aboutsummaryrefslogtreecommitdiffstats
path: root/lsp/regal.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lsp/regal.lua')
-rw-r--r--lsp/regal.lua20
1 files changed, 20 insertions, 0 deletions
diff --git a/lsp/regal.lua b/lsp/regal.lua
new file mode 100644
index 00000000..dafb75d7
--- /dev/null
+++ b/lsp/regal.lua
@@ -0,0 +1,20 @@
+local util = require 'lspconfig.util'
+
+---@brief
+---
+---https://github.com/StyraInc/regal
+--
+-- A linter for Rego, with support for running as an LSP server.
+--
+-- `regal` can be installed by running:
+-- ```sh
+-- go install github.com/StyraInc/regal@latest
+-- ```
+return {
+ cmd = { 'regal', 'language-server' },
+ filetypes = { 'rego' },
+ root_dir = function(bufnr, on_dir)
+ local fname = vim.api.nvim_buf_get_name(bufnr)
+ on_dir(util.root_pattern '*.rego'(fname) or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1]))
+ end,
+}