Development of Lunarvim

Getting started

We recommend setting up a symlink to your fork:

cd ~/.local/share/lunarvim/
ln -s ~/dev/Lunarvim ~/.local/share/lunarvim/lvim_dev

Your output should be something like:

$ ls -a
lrwxrwxrwx  1 user user   37 sep 23 14:35 lvim_dev -> /home/user/dev/LunarVim

Now switch your lvim to the development setup:

cd ~/.local/share/lunarvim/
mv lvim lvim_back
mv lvim_dev lvim

Going back to lvim

cd ~/.local/share/lunarvim/
mv lvim lvim_dev
mv lvim_back lvim

To test that you can get some output from lvim add the following to your init.lua file in your fork.

print ("it works")

Now type :messages. Happy contributing!

Lua + Neovim = ❤️

To get started, this guideopen in new window covers many points that will get you going with Lua and how Neovim works.

Official Documentation

The reference manualopen in new window is the official definition of the Lua language.

If you don't know about it, DevDocsopen in new window combines multiple API documentations in a fast, organized, and searchable interface.

Neovim Documentation

Neovim provides a standard libraryopen in new window which you should know about.

It provides many functions that you wish were implemented in Lua's stdlib, for instance strings.split.

It also comes with a LSP frameworkopen in new window and much moreopen in new window.

Style Guide

LuaRock style guideopen in new window is a complete work that deserves a look if you want learn how to write consistent and robust code.

It is based on many pre-existing guides, provides rationals for all their decisions, and worked successfully in a long-running project.

Code Quality

To ensure code quality and a consistent style, our CIopen in new window uses the following tools: