31 lines
		
	
	
	
		
			887 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
	
		
			887 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
| -- инициализация LSP для различных ЯП
 | |
| local lspconfig = require("lspconfig")
 | |
| local util = require("lspconfig/util")
 | |
| 
 | |
| local function config(_config)
 | |
| 	return vim.tbl_deep_extend("force", {
 | |
| 		capabilities = require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities()),
 | |
| 	}, _config or {})
 | |
| end
 | |
| -- иницализация gopls LSP для Go
 | |
| -- https://github.com/golang/tools/blob/master/gopls/doc/vim.md#neovim-install
 | |
| lspconfig.gopls.setup(config({
 | |
| 	cmd = { "gopls", "serve" },
 | |
| 	filetypes = { "go", "go.mod" },
 | |
| 	root_dir = util.root_pattern("go.work", "go.mod", ".git"),
 | |
| 	settings = {
 | |
| 		gopls = {
 | |
| 			analyses = {
 | |
| 				unusedparams = true,
 | |
| 			},
 | |
| 			staticcheck = true,
 | |
| 			gofumpt = true,
 | |
| 		},
 | |
| 	},
 | |
| }))
 | |
| 
 | |
| lspconfig.templ.setup(config({
 | |
| 	cmd = {"templ", "lsp"},
 | |
| 	filetypes = {"templ"},
 | |
| 	root_markers = { "go.work", "go.mod", ".git" },
 | |
| }))
 |