Bagi anda yang telat terbiasa berada di lingkungan berbasis UNIX, Vim bukan software yang asing. Editor ini biasanya sering dikaitkan dengan Emacs dalam suatu perang suci. Tentu saja seiring makin berkembangnya dunia software, perang suci ini sudah tidak terlalu relevan lagi. Vim pun sekarang sudah terpecah menjadi 2: Vim dan Neovim. Saya tidak akan membahas perang suci ini maupun perpecahan pasukan yang ikut dalam peperangan tersebut tentu saja. Sebagai pengguna Vim dan kemudian berpindah ke Neovim, saya rasa banyak hal yang harus dipelajari dan disesuaikan meskipun tidak secara eksplisit dan to the point. Satu di antara hal-hal tersebut adalah konfigurasi LSP (Language Server Protocol) dan syntax highlighting.
Sebenarnya kita bisa memulai LSP dan syntax highlighting dari plain Neovim, tetapi saya pribadi lebih memilih menggunakan distribusi Neovim untuk menghemat waktu. Ada banyak distribusi dari Vim/Neovim dan saya menyukai LazyVim. Silakan akses halaman web dari LazyVim dan lakukan instalasi sesuai petunjuk.
Meski sudah menggunakan banyak plugins, LazyVim tidak memberikan petunjuk yang cukup jelas untuk konfigurasi LSP server serta syntax highlighting. LazyVim telah menyertakan nvim-lspconfig untuk konfigurasi LSP server serta Tree-sitter dan nvim-treesitter untuk layer abstraksi dan konfigurasi bagi Neovim. Berikut adalah konfigurasi dari Neovim - LazyVim untuk LSP server dan syntax highlighting. Contoh berikut menggunakan bahasa pemrograman dan kompilator Gleam.
- Konfigurasi LSP.
Konfigurasi LSP sangat mudah, cukup menuliskan di $HOME/.config/nvim/init.lua
:
Lihat informasi lengkapnya di server configuration jika anda akan mengkonfigurasikan LSP untuk bahasa pemrograman lainnya.
- Install parser untuk Gleam.
Saat belum diinstall, syntax highlighting untuk Gleam tidak muncul:
Install parser Tree-sitter menggunakan :TSInstall gleam
Setelah terinstall:
- Berikut adalah berbagai hasil dari LSP: