mirror of
https://github.com/neovim/nvim-lspconfig.git
synced 2026-05-07 09:36:09 +02:00
76 lines
2.5 KiB
Lua
76 lines
2.5 KiB
Lua
-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
-- This config is DEPRECATED.
|
|
-- Use the configs in `lsp/` instead (requires Nvim 0.11).
|
|
--
|
|
-- ALL configs in `lua/lspconfig/configs/` will be DELETED.
|
|
-- They exist only to support Nvim 0.10 or older.
|
|
-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
local util = require 'lspconfig.util'
|
|
|
|
return {
|
|
default_config = {
|
|
cmd = { 'atlas', 'tool', 'lsp', '--stdio' },
|
|
filetypes = {
|
|
'atlas-*',
|
|
},
|
|
root_dir = function(fname)
|
|
return util.root_pattern('atlas.hcl')(fname)
|
|
end,
|
|
single_file_support = true,
|
|
},
|
|
docs = {
|
|
description = [[
|
|
https://github.com/ariga/atlas
|
|
|
|
Language server for Atlas config and scheme files.
|
|
|
|
You may also need to configure the filetype for *.hcl files:
|
|
|
|
`autocmd BufNewFile,BufRead atlas.hcl set filetype=atlas-config`
|
|
`autocmd BufNewFile,BufRead *.my.hcl set filetype=atlas-schema-mysql`
|
|
`autocmd BufNewFile,BufRead *.pg.hcl set filetype=atlas-schema-postgresql`
|
|
`autocmd BufNewFile,BufRead *.lt.hcl set filetype=atlas-schema-sqlite`
|
|
`autocmd BufNewFile,BufRead *.ch.hcl set filetype=atlas-schema-clickhouse`
|
|
`autocmd BufNewFile,BufRead *.ms.hcl set filetype=atlas-schema-mssql`
|
|
`autocmd BufNewFile,BufRead *.rs.hcl set filetype=atlas-schema-redshift`
|
|
`autocmd BufNewFile,BufRead *.test.hcl set filetype=atlas-test`
|
|
`autocmd BufNewFile,BufRead *.plan.hcl set filetype=atlas-plan`
|
|
|
|
or
|
|
|
|
```lua
|
|
vim.filetype.add({
|
|
filename = {
|
|
['atlas.hcl'] = 'atlas-config',
|
|
},
|
|
pattern = {
|
|
['.*/*.my.hcl'] = 'atlas-schema-mysql',
|
|
['.*/*.pg.hcl'] = 'atlas-schema-postgresql',
|
|
['.*/*.lt.hcl'] = 'atlas-schema-sqlite',
|
|
['.*/*.ch.hcl'] = 'atlas-schema-clickhouse',
|
|
['.*/*.ms.hcl'] = 'atlas-schema-mssql',
|
|
['.*/*.rs.hcl'] = 'atlas-schema-redshift',
|
|
['.*/*.test.hcl'] = 'atlas-test',
|
|
['.*/*.plan.hcl'] = 'atlas-plan',
|
|
},
|
|
})
|
|
```
|
|
|
|
Optionally, tell treesitter to treat Atlas filetypes as HCL for better syntax highlighting:
|
|
|
|
```lua
|
|
vim.treesitter.language.register('hcl', 'atlas-config')
|
|
vim.treesitter.language.register('hcl', 'atlas-schema-mysql')
|
|
vim.treesitter.language.register('hcl', 'atlas-schema-postgresql')
|
|
vim.treesitter.language.register('hcl', 'atlas-schema-sqlite')
|
|
vim.treesitter.language.register('hcl', 'atlas-schema-clickhouse')
|
|
vim.treesitter.language.register('hcl', 'atlas-schema-mssql')
|
|
vim.treesitter.language.register('hcl', 'atlas-schema-redshift')
|
|
vim.treesitter.language.register('hcl', 'atlas-test')
|
|
vim.treesitter.language.register('hcl', 'atlas-plan')
|
|
```
|
|
|
|
]],
|
|
},
|
|
}
|