-
Notifications
You must be signed in to change notification settings - Fork 0
/
default.lua
132 lines (124 loc) · 4.9 KB
/
default.lua
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
-- default settings, used in plugins configuration
return {
envs = {
{
name = 'EXAMPLE_ENVIRON_NVIM',
-- applying method
-- - prepend: export [env]=[value]:$[env]
-- - append: export [env]=$[env]:[value]
-- - overwrite: export [env]=$[value]
method = 'overwrite',
value = 'nvim-0.9',
},
},
plugins = {
use_git_ssh = false,
-- all registries found here: https://mason-registry.dev/registry/list
registries = {
lsp = {
-- language servers, should be compatible with nvim-lspconfig
['lua-language-server'] = {
-- enabled or not, if not enabled, it won't be installed or configured
enabled = true,
-- installer by mason.nvim, or 'system' for installer by package manager,
installer = 'mason',
-- registry types, it would be ignored if installer is 'system'
-- npm, binary, crates, pypi, git, for health checking
type = 'git',
-- lspconfig name
-- it could be nil if it's same as registry name
name = 'lua_ls',
options = {
-- configurations passed to lspconfig
-- FIXME: not support field root_dir(it's a lua class, not a list)
settings = {
Lua = {
runtime = {
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
version = 'LuaJIT',
},
diagnostics = {
-- Get the language server to recognize the `vim` global
globals = { 'vim' },
},
workspace = {
-- Make the server aware of Neovim runtime files
library = vim.api.nvim_get_runtime_file('', true),
},
-- Do not send telemetry data containing a randomized but unique identifier
telemetry = {
enable = false,
},
},
},
},
},
clangd = {
enabled = true,
installer = 'system',
type = 'binary',
options = {
cmd = {
'clangd',
'-j=8',
'--log=info',
'--pch-storage=memory',
'--enable-config',
'--header-insertion=iwyu',
'--clang-tidy',
'--completion-style=detailed',
'--background-index',
'--all-scopes-completion',
'--pretty',
},
single_file_support = true,
},
},
pyright = {
enabled = true,
installer = 'mason',
type = 'npm',
options = {},
},
['cmake-language-server'] = {
enabled = true,
installer = 'mason',
type = 'pypi',
name = 'cmake',
options = {},
},
['rust-analyzer'] = {
enabled = false,
installer = 'mason',
type = 'git',
options = {},
},
svls = {
enabled = false,
installer = 'mason',
type = 'crates',
options = {},
},
['json-lsp'] = {
enabled = true,
installer = 'mason',
type = 'npm',
name = 'jsonls',
options = {},
},
taplo = {
enabled = false,
installer = 'mason',
type = 'crates',
options = {},
},
},
null = {
-- hooks to nvim builtin lsp, should be compatible with null-ls.nvim
-- linters
-- formatters
-- DAP clients
},
},
},
}