return { { "vimpostor/vim-tpipeline", config = function() vim.g.tpipeline_restore = 0 vim.g.tpipeline_autoembed = 0 vim.o.laststatus = 0 vim.g.tpipeline_statusline = '%=%l:%c' end }, { 'kevinhwang91/nvim-bqf', event = "VeryLazy", ft = 'qf' }, { "folke/noice.nvim", event = "VeryLazy", opts = { cmdline = { enabled = true, view = "cmdline", }, lsp = { override = { ["vim.lsp.util.convert_input_to_markdown_lines"] = true, ["vim.lsp.util.stylize_markdown"] = true, }, signature = { enabled = false } }, presets = { inc_rename = true, }, }, dependencies = { "MunifTanjim/nui.nvim", } }, { "folke/zen-mode.nvim", event = "VeryLazy", opts = { vim.keymap.set("n", "z", " ZenMode ", { noremap = true, silent = true }), }, }, { 'kevinhwang91/nvim-ufo', dependencies = 'kevinhwang91/promise-async', config = function() vim.o.foldcolumn = '1' vim.o.foldlevel = 99 vim.o.foldlevelstart = 99 vim.o.foldenable = true vim.keymap.set('n', 'zR', require('ufo').openAllFolds) vim.keymap.set('n', 'zM', require('ufo').closeAllFolds) local handler = function(virtText, lnum, endLnum, width, truncate) local newVirtText = {} local suffix = (' %d '):format(endLnum - lnum) local sufWidth = vim.fn.strdisplaywidth(suffix) local targetWidth = width - sufWidth local curWidth = 0 for _, chunk in ipairs(virtText) do local chunkText = chunk[1] local chunkWidth = vim.fn.strdisplaywidth(chunkText) if targetWidth > curWidth + chunkWidth then table.insert(newVirtText, chunk) else chunkText = truncate(chunkText, targetWidth - curWidth) local hlGroup = chunk[2] table.insert(newVirtText, { chunkText, hlGroup }) chunkWidth = vim.fn.strdisplaywidth(chunkText) -- str width returned from truncate() may less than 2nd argument, need padding if curWidth + chunkWidth < targetWidth then suffix = suffix .. (' '):rep(targetWidth - curWidth - chunkWidth) end break end curWidth = curWidth + chunkWidth end table.insert(newVirtText, { suffix, 'MoreMsg' }) return newVirtText end -- global handler -- `handler` is the 2nd parameter of `setFoldVirtTextHandler`, -- check out `./lua/ufo.lua` and search `setFoldVirtTextHandler` for detail. require('ufo').setup({ fold_virt_text_handler = handler }) end } }