Neovim LSP and DAP using Lua

7 min readFeb 22, 2021

LSP and DAP for Python, Golang, Rust, and Typescript/Javascript.

Neovim IDE with LSP and DAP


In my previous article, I walked through with you how to convert existing .vimrc to a Lua-based configuration and set up LSP for Lua.

In this article let’s add LSP and DAP support. Particularly I will focus on Python, Typescript, Golang, and Rust.

Installation of Language Servers

Let’s get started by installing the language server.

If you are using coc.nvim, normally the language server is installed automatically for you. For Neovim LSP, there are available plugins to automate this process. Here I will go through the manual installation steps.


For Python, let’s install pyright.

$ npm install -g pyright


For Golang, let’s install gopls.

$ GO111MODULE=on go get





Software engineer, Data Science and ML practitioner.