현재 필자는 NvChad를 이용중이다.
Mason을 통해 asm-lsp를 설치하고 다른 언어와 마찬가지로 lsp서버를 세팅에 추가하였으나 서버에 접속이 안 된다는 문구가 뜸.
레딧에서 구글링을 좀 해본 결과 Mason자체가 문제인 것은 아닌 듯하다.
asm-lsp는 다른 lsp들과 좀 다른데, git으로 관리되지 않으면 사용이 안된다는 듯하다.
그런데 나의 경우 이 부분에 대해 아무런 문제가 없었다. 원래부터 깃으로 관리되고 있어서 git init 하나 던진다고 해결이 되는 게 아니었음.
결과적으로
https://github.com/bergercookie/asm-lsp
레포에 직접 찾아가서 Mason이 아니라 cargo를 통해 다시 다운받아주었는데 이게 필수적인지는 잘 모르겠다.
어째거나 원인을 모르니 그렇게 했고,
lspconfig.lua에서
-- lspconfig.lua
local on_attach = require("nvchad.configs.lspconfig").on_attach
local on_init = require("nvchad.configs.lspconfig").on_init
local capabilities = require("nvchad.configs.lspconfig").capabilities
local lspconfig = require "lspconfig"
local servers = { "html", "cssls", "clangd", "tsserver", "pyright", "eslint", "gopls" }
-- lsps with default config
for _, lsp in ipairs(servers) do
lspconfig[lsp].setup {
on_attach = on_attach,
on_init = on_init,
capabilities = capabilities,
}
end
lspconfig.asm_lsp.setup {
cmd = { "asm-lsp" }, -- asm-lsp 명령어
filetypes = { "asm", "s" }, -- 어셈블리 파일 유형
root_dir = lspconfig.util.root_pattern(".git", vim.fn.getcwd()), -- 프로젝트 루트를 설정
}
아래 부분을 추가해주었다.
이제 asm확장자 붙이면 정상 작동되는 걸 확인함. 만세~~~~~~~