Music by @oxfordrecite
Let's setup NeoVim for a vscode-like IDE experience. We will setup the Solidity Language Server Protocol, linting with Solhint and auto-formatting with prettier and prettier-plugin-solidity.
Timestamps:
00:00 - Introduction & Previewing Solidity Files
03:21 - Mason.Nvim (install Solidity LSP, Solhint linter and Prettier formatter)
07:43 - Explaining the NeoVim LSP Client
08:13 - Setting up solidity_ls with nvim lspconfig
12:26 - LspSaga for better LSP Support
15:36 - efm-langserver (setting up linting with solhint, autoformatting with prettier)
22:11 - auto-format on save autocommand
24:00 - prettier-plugin-solidity project level installation
25:24 - demo of LSP, linter, autoformatting & wrap up
Links:
My NeoVim Config: https://github.com/radleylewis/nvim
Hardhat Boilerplate Project: https://hardhat.org/tutorial/boilerpl...
Mason.Nvim: https://github.com/williamboman/mason...
Prettier Plugin Solidity: https://www.npmjs.com/package/prettie...
Prettier: https://prettier.io/
LspSaga: https://github.com/nvimdev/lspsaga.nvim
LspConfig: https://github.com/neovim/nvim-lspconfig
Mason LspConfig: https://github.com/williamboman/mason...
efm-langserver: https://github.com/mattn/efm-langserver
efmls-configs: https://github.com/creativenull/efmls...
NeoVim: https://neovim.io/
SolHint: https://github.com/protofire/solhint
Neovim Autocompletion: https://github.com/hrsh7th/nvim-cmp
Thank you to all contributors to the above projects that made this possible!