add lsp_lines.nvim
diff --git a/modules/neovim/coc/default.nix b/modules/neovim/coc/default.nix
index aaebebe..7704e74 100644
--- a/modules/neovim/coc/default.nix
+++ b/modules/neovim/coc/default.nix
@@ -29,8 +29,6 @@
         };
         "suggest.noselect" = true;
         "cSpell.checkOnlyEnabledfileTypes" = false;
-        "diagnostic.virtualText" = true;
-        "diagnostic.virtualTextCurrentLineOnly" = false;
         "suggest.virtualText" = true;
         "cSpell.dictionaryDefinitions" = [
           {
@@ -102,6 +100,7 @@
       coc-json
       coc-jest
       coc-css
+      lsp_lines-nvim
       coc-go
       coc-markdownlint
       coc-texlab
diff --git a/modules/neovim/coc/theme.vim b/modules/neovim/coc/theme.vim
index 7caa2a2..e0a4024 100644
--- a/modules/neovim/coc/theme.vim
+++ b/modules/neovim/coc/theme.vim
@@ -20,3 +20,12 @@
 call g:Highlight("CocCodeLens", g:lightgrey, g:transparent)
 call g:Highlight("CocPumVirtualText", g:lightgrey, g:transparent)
 call g:Highlight("CocInlayHint", g:darkpurple, g:transparent)
+
+lua << EOF
+local ok, lsp_lines = pcall(require, 'lsp_lines')
+if ok then
+  lsp_lines.setup()
+end
+-- lsp_lines can sometimes fail to load (i.e. in git commits).
+-- We must not crash if it does not exist
+EOF