Luajit - Nvim Lsp Config

์†Œ๊ฐœ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ(Alpine Linux)์—์„œ lua-language-server ์„ค์น˜ํ•˜๊ณ  nvim์—์„œ ์„ค์ • ๋ฐ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ด ๋ณธ๋‹ค. alpine 3.2x ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•œ๋‹ค. ๊ณผ๊ฑฐ alpine ๋ฒ„์ „๋“ค์€ lua-language-server๊ฐ€ ์—†๊ฑฐ๋‚˜ nvim์˜ ๋ฒ„์ „์ด ๋‚ฎ์•„ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ง€์›์— ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ํ˜„์žฌ ์‹œ์ ์„ ๊ธฐ์ค€์œผ๋กœ ๋ชจ๋‘ ์ ์ ˆํ•œ ๋ฒ„์ „์„ ์ง€์›ํ•˜๊ณ  ํŒจํ‚ค์ง€๋„ ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์†Œ์Šค ์ปดํŒŒ์ผ ๋“ฑ์˜ ๋ถ€๋‹ด์ด ์—†์–ด์กŒ๋‹ค. ์„ค์น˜ luajit๋ฐ lua-language-server ๊ทธ๋ฆฌ๊ณ  neovim๊ด€๋ จ ํŒจํ‚ค์ง€ ์„ค์น˜ ์•„๋ž˜์˜ ๊ฒฝ์šฐ nvim(neovim) ์„ค์น˜์‹œ lfs.so,penlight๋“ฑ์ด ๊ธฐ๋ณธ ํฌํ•จํ•˜๊ฒŒ ๋œ๋‹ค. (์ถ”๊ฐ€ ์„ค์น˜ ๋ถˆํ•„์š”) apk add --no-cache luajit luajit-dev lua-language-server ldoc apk add --no-cache neovim neovim-doc nvim-treesitter \ tree-sitter tree-sitter-cli tree-sitter-lua tree-sitter-bash \ tree-sitter-c tree-sitter-markdown tree-sitter-vimdoc ์„ค์ • ~/.config/nvim/init.lua์— ๋‹ค์Œ ์„ค์ •์„ ์ถ”๊ฐ€ my_project_path๋Š” ๊ฐœ๋ณ„ ๋ชจ๋“ˆ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค. workspace์˜ library ๋ฒ”์œ„๊ฐ€ ํฌ๋ฉด ๋ถ€ํ•˜๊ฐ€ ์ปค์ง€๋ฏ€๋กœ ์ ๋‹นํžˆ ์กฐ์ ˆํ•ด ์ฃผ์–ด์•ผ nvim์—์„œ ๋ฌด๋ฆฌ๊ฐ€ ์—†๋‹ค. ์•„๋ž˜ ์ฃผ์„ ํ‘œ์‹œ๋œ ๋ถ€๋ถ„์„ ์ฃผ์˜ํ•ด์„œ ํ™•์ธํ•˜๊ณ  ์ž์‹ ์—๊ฒŒ ๋งž๋Š” ํ™˜๊ฒฝ์„ ์„ค์ •ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ณผ๊ฑฐ sumneko๋ผ๋Š” ์‹์œผ๋กœ ์„ค์ •ํ–ˆ๋Š”๋ฐ ํ˜„์žฌ lspconfig.lua_ls.setup์œผ๋กœ ๋ฐ”๋€Œ์—ˆ๋‹ค. -- Now set capabilities on your LSP servers local lspconfig = require'lspconfig' local my_project_path = os.getenv('HOME') .. '/.local/lib/lua' print(my_project_path) lspconfig.lua_ls.setup { --capabilities = capabilities, root_dir = lspconfig.util.root_pattern(".git", ".luarc.json", ".luarc.js"), settings = { Lua = { runtime = { version = 'Luajit', path = vim.split(package.path, ";"), }, diagnostics = { globals = {'vim'}, update_in_insert = false, }, workspace = { library = { --// ๊ธฐ๋ณธ vim ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ ๋ชจ๋“ˆ ์ถ”๊ฐ€ [vim.env.VIMRUNTIME] = true, --// ๋ชจ๋“  vim์˜ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ ๋ชจ๋“ˆ ์ถ”๊ฐ€ --[vim.api.nvim_get_runtime_file("", true)] = true, --// my project ๋ชจ๋“ˆ ์ถ”๊ฐ€ [vim.fn.expand(my_project_path)] = true, }, --// ์ œ3์˜ ๋ชจ๋“ˆ ์ œ์™ธ checkThirdParty = false, }, telemetry = { enable = false, }, }, }, } ์ฐธ๊ณ  lua-language-server - Getting Started https://github.com/sumneko/lua-language-server/wiki/Getting-Started#command-line

2025-07-27 ยท 241 words

Zig + Nvim ์„ค์ •

last updated: {{ โ€œ1710903265โ€ | date: โ€œ%Y-%m-%d %H:%Mโ€ }} Intro neovim์—์„œ zig ์„ค์ • ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ๋‹ค. Install on Alpine ์„ค์น˜ํ•˜๊ธฐ $ doas apk add zig zls neovim $ nvim ~/.local/nvim/init.lua require 'lspconfig'.zls.setup{} ๋‹ค๋ฅธ ์–ด๋–ค ์–ธ์–ด๋ณด๋‹ค๋„ ์„ค์ •์ด ๊ฐ„๋‹จํ•˜๋‹ค. zls๋Š” zig language server lspconfig๋Š” neovim์— ๋‚ด์žฅ๋œ LSP ์„ค์ •์„ ๋งํ•œ๋‹ค. nvim ์„ค์ • ํ›„ zigํŒŒ์ผ์„ ์—ด๊ณ  ์ฝ”๋”ฉํ•˜๋ฉด ๋„์›€๋ง์ด ๋‚˜ํƒ€๋‚œ๋‹ค. tab์œผ๋กœ ์ด๋™ํ•˜๊ณ  Enter๋กœ ์„ ํƒํ•œ๋‹ค. Install zls from Source ์†Œ์Šค๋ฅผ ์ปดํŒŒ์ผํ•˜๋Š” ๋ฐฉ๋ฒ•. ์ตœ์‹  ๋ฒ„์ „์˜ zig(ํ˜„์žฌ 0.12)์ด์–ด์•ผ git ์†Œ์Šค๋กœ ์ปดํŒŒ์ผ ๋œ๋‹ค. zig ์ตœ์‹  ๋ฒ„์ „์€ zig ํ™ˆ์—์„œ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์Œ ์ ˆ์ฐจ์— ๋”ฐ๋ผ ๋นŒ๋“œํ•œ๋‹ค. $ git clone https://github.com/zigtools/zls $ cd zls $ zig build -Doptimize=ReleaseSafe $ mkdir ~/bin && cp zig-out/bin/zls ~/bin $ echo 'export PATH=$HOME/bin:$PATH' >> ~/.bash_profile $ source ~/.bash_profile $ zls --version Links Neovim setup for Zig https://terminalprogrammer.com/neovim-setup-for-zig

2024-03-12 ยท 121 words

Alpine - Lua Language Server Install

25-07-27: Alpine Linux 3.2x ๊ธฐ์ค€์œผ๋กœ luajit-nvim-lspconfig ์ฐธ๊ณ  23-08-08: nvim ๋ฒ„์ „์ด 3.18๋Œ€๋กœ ์˜ฌ๋ผ์˜ค๊ณ , Community Repository๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ํŒจํ‚ค์ง€๋กœ ๊ฐ„๋‹จํžˆ ์„ค์น˜ํ•  ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ์ตœ์ ํ™”๋‚˜ ์ปดํŒŒ์ผ ์ž์ฒด์— ์˜๋ฏธ๋ฅผ ๋‘์ง€ ์•Š๋Š”๋‹ค๋ฉด ํŒจํ‚ค์ง€๋กœ ์„ค์น˜ํ•˜์ž. PREINSTALL clang ๋ฐ luajit ๋ฐ ๊ฐœ๋ฐœ ํˆด ์„ค์น˜ ํ•„์ˆ˜: build-base, clang, clang-extra-tools(clangd), cmake, luajit, luajit-dev # apk add --no-cache build-base clang clang-extra-tools lld compiler-rt compiler-rt-static cmake git luajit luajit-dev bash bash-completion grep rlwrap bat fd curl wget rsync sqlite jq tree ninja ์„ค์น˜ - alpine 3.16.3 ํ˜„์žฌ ๊ธฐ๋ณธ ํŒจํ‚ค์ง€ ์—†์Œ # git clone https://github.com/ninja-build/ninja && cd ninja # cmake -Bbuild-cmake # cmake --build build-cmake # ./build-cmake/ninja_test # cp ./build-cmake/ninja /usr/local/bin/ # which ninja # PATH ํ™•์ธ lua-language-server ์„ค์น˜ # cd /usr/local/ # git clone --depth=1 https://github.com/sumneko/lua-language-server # cd lua-language-server # git submodule update --depth 1 --init --recursive # cd 3rd/luamake # ./compile/install.sh # cd ../.. # ./3rd/luamake/luamake rebuild # ./bin/lua-language-server --version # cat<<EOF > /usr/local/bin/lua-language-server #!/usr/bin/env bash exec "/usr/local/lua-language-server/bin/lua-language-server" "$@" EOF # chmod 755 /usr/local/bin/lua-language-server # which lua-language-server # PATH ํ™•์ธ clangd ์„ค์น˜ clangd๋Š” c,c++์„ ์ง€์›ํ•œ๋‹ค. clangd๋Š” clang-extra-tools ํŒจํ‚ค์ง€์— ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. Links ninja build howto https://github.com/ninja-build/ninja lua-language-server - Getting Started https://github.com/sumneko/lua-language-server/wiki/Getting-Started#command-line

2022-11-21 ยท (updated 2025-07-27) ยท 179 words