Neovim: Instalasi dan Konfigurasi lua-language-server - Windows

wahyunanangwidodo

wahyunanangwidodo Selasa, 26 Juli 2022

Tidak seperti beberapa server bahasa lain, yang bisa dibilang cukup mudah dalam melakukan penginstalan server bahasa, serta konfigurasinya, seperti tsserver, jsonls, ccsls, dan html, yang dimana penginstalan server bahasa dapat / cukup melalui npm.

Neovim: Instalasi dan konfigurasi lua-language-server - windows

Sedangkan lua-language-server, jika dilihat pada dokumentasi di server_configurations.md, khususnya sumneko_lua, ada beberapa tahapan untuk dilakukan dalam proses penginstalan lua-language-server.

Penginstalan

Tahapan atau proses penginstalan serser bahasa Lua atau lua-language-server tersebut bisa dilihat pada petunjuk yang disediakan di wiki/Build-and-Run.

Tahapan-tahapan tersebut, khususnya windows, adalah sebagai berkiut:

1. Pertama, install package ninja terlebih dahulu untuk build modul:

  • Chocolatey: choco install ninja
  • Scoop: scoop install ninja

Lihat cara install Chocolatey atau cara install Scoop jika belum menginstalnya.

2. Pastikan sudah menginstal C++17 untuk compiling.

3. Selanjutnya, clone repo proyek lua-language-server.

git clone --depth=1 https://github.com/sumneko/lua-language-server
cd lua-language-server
git submodule update --depth 1 --init --recursive

4. Setelah kloning selesai, dan sudah berada di lokasi / path lua-language-server, selanjutnya jalankan di bawah ini:

cd 3rd\luamake
compile\install.bat
cd ..\..
3rd\luamake\luamake.exe rebuild

5. Terakhir, tinggal pengaturan konfigurasi server bahasa sumneko_lua dengan lspconfig di vim (neovim):

Pengaturan konfigurasi yang akan di contohkan di bawah menggunakan struktur file dan kongiruasi lsp dari repo: wahyunanangwidodo/nvim. Jika ada perbedaan konfigurasi server bahasa lspconfig, silakan disesuaikan.

Pada file konfigurasi lsp, tambahkan di bawah ini.

//plugin/lsp.lua
local root_dir = 'D:/nvim/servers/lua-language-server'
local server_bin = '/bin/lua-language-server.exe'
-- lspconfig.sumneko_lua.setup(require("lua-dev").setup({
lspconfig.sumneko_lua.setup({
  cmd = { root_dir .. server_bin, '-E', root_dir .. '/main.lua' },
  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,
      },
      format = {
        enable = true,
        defaultConfig = {
          indent_style = "space",
          indent_size = "2",
        }
      },
    },
  },
})

Silakan ubah D:/nvim/servers/lua-language-server pada 'root_dir' diatas dengan lokasi / path repo lua-language-server yang telah di kloning sebelumnya.

Sampai disini, tinggal compile ulang file loader packer :PackerCompile, dan muat ulang vim.

Selesai

Instalasi dan pengaturan konfigurasi lua-language-server untuk sumneko_lua telah selesai. Silankan dicoba, dikembangkan, dan lakukan eksperimen.

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel