summaryrefslogtreecommitdiff
path: root/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/ast_grep.lua
diff options
context:
space:
mode:
Diffstat (limited to 'start/lspconfig-0.1.8/lua/lspconfig/server_configurations/ast_grep.lua')
-rw-r--r--start/lspconfig-0.1.8/lua/lspconfig/server_configurations/ast_grep.lua37
1 files changed, 37 insertions, 0 deletions
diff --git a/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/ast_grep.lua b/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/ast_grep.lua
new file mode 100644
index 0000000..35b0189
--- /dev/null
+++ b/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/ast_grep.lua
@@ -0,0 +1,37 @@
+local util = require 'lspconfig.util'
+
+return {
+ default_config = {
+ cmd = { 'ast-grep', 'lsp' },
+ filetypes = { -- https://ast-grep.github.io/reference/languages.html
+ 'c',
+ 'cpp',
+ 'rust',
+ 'go',
+ 'java',
+ 'python',
+ 'javascript',
+ 'typescript',
+ 'html',
+ 'css',
+ 'kotlin',
+ 'dart',
+ 'lua',
+ },
+ root_dir = util.root_pattern('sgconfig.yaml', 'sgconfig.yml'),
+ },
+ docs = {
+ description = [[
+https://ast-grep.github.io/
+
+ast-grep(sg) is a fast and polyglot tool for code structural search, lint, rewriting at large scale.
+ast-grep LSP only works in projects that have `sgconfig.y[a]ml` in their root directories.
+```sh
+npm install [-g] @ast-grep/cli
+```
+]],
+ default_config = {
+ root_dir = [[root_pattern('sgconfig.yaml', 'sgconfig.yml')]],
+ },
+ },
+}