summaryrefslogtreecommitdiff
path: root/nvim/fnl/plugins/nvim-lspconfig.fnl
blob: 1c38cf301aa679a90ac8a8ddcc6412f39f68d290 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
[{1 :neovim/nvim-lspconfig
  :config (fn []
            (local lsps [:gopls
                         :marksman
                         :ts_ls
                         :vue_ls
                         :cssls
                         :html
                         :unocss
                         :clojure_lsp
                         :ruff
                         :ty
                         :tinymist
                         :fennel_ls
                         :ltex])
            ((. (require :mason-lspconfig) :setup) {:ensure_installed lsps})
            (vim.lsp.config :lua_ls
                            {:settings {:Lua {:diagnostics {:globals [:vim]}}}})
            (local vue-language-server-path
                   (.. (vim.fn.expand :$MASON/packages) :/vue-language-server
                       "/node_modules/@vue/language-server"))
            (local tsserver-filetypes
                   [:typescript
                    :javascript
                    :javascriptreact
                    :typescriptreact
                    :vue])
            (local vue-plugin
                   {:configNamespace :typescript
                    :languages [:vue]
                    :location vue-language-server-path
                    :name "@vue/typescript-plugin"})
            (local ts-ls-config
                   {:filetypes tsserver-filetypes
                    :init_options {:plugins [vue-plugin]}})
            (local vue-ls-config {})
            (local ltex-ls-config 
                  {:settings {:ltex {:dictionary {:en-US [:Neovim :LSP :ltex-ls :Lua]
                                                 :zh-CN [:Neovim :LSP :ltex-ls :Lua]}
                                    :disabledRules {:zh-CN [:EN_QUOTES]}
                                    :language :zh-CN}}})
            (vim.lsp.config :vue_ls vue-ls-config)
            (vim.lsp.config :ts_ls ts-ls-config)
            (vim.lsp.config :ltex ltex-ls-config)	
            (vim.lsp.enable lsps))
  :dependencies [:mason-org/mason.nvim
                 :mason-org/mason-lspconfig.nvim]}]