From 1b1087ef553103de30655361fbe0a56cfa9433fb Mon Sep 17 00:00:00 2001 From: Patrick Auernig Date: Wed, 9 Aug 2023 16:47:33 +0200 Subject: [PATCH] Add plugin to fold comments and imports --- lua/valeth/packer.lua | 3 +++ lua/valeth/packer/lsp.lua | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/lua/valeth/packer.lua b/lua/valeth/packer.lua index d9ef803..cd2abc2 100644 --- a/lua/valeth/packer.lua +++ b/lua/valeth/packer.lua @@ -106,6 +106,9 @@ local function spec(use) -- lsp manager { "williamboman/mason.nvim" }, { "williamboman/mason-lspconfig.nvim" }, + -- code folding + { "kevinhwang91/nvim-ufo" }, + { "kevinhwang91/promise-async" }, }, config = function() require("valeth.packer.lsp") diff --git a/lua/valeth/packer/lsp.lua b/lua/valeth/packer/lsp.lua index cca1469..15c5b65 100644 --- a/lua/valeth/packer/lsp.lua +++ b/lua/valeth/packer/lsp.lua @@ -1,4 +1,5 @@ local lsp = require("lsp-zero") +local ufo = require("ufo") lsp.preset("recommended") @@ -40,6 +41,8 @@ lsp.set_sign_icons({ lsp.on_attach(function(_, buffnr) local opts = { buffer = buffnr, remap = false } + ufo.attach(buffnr) + vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) vim.keymap.set("n", "gr", vim.lsp.buf.references, opts) vim.keymap.set("n", "K", vim.lsp.buf.hover, opts) @@ -70,4 +73,13 @@ lsp.configure("rust_analyzer", { } }) +vim.opt.foldcolumn = "0" +vim.opt.foldlevel = 99 +vim.opt.foldlevelstart = 99 +vim.opt.foldenable = true + +ufo.setup { + close_fold_kinds = {"comment", "imports"}, +} + lsp.setup()