This Neovim plugin uses lines to indicate code folding areas and highlights the current fold.
The line of the current fold is yellow. You can change the color by setting the FoldLineCurrent highlight group.
Using lazy.nvim
-- init.lua:
{
"gh-liu/fold_line.nvim",
event = "VeryLazy",
init = function()
-- change the char of the line, see the `Appearance` section
vim.g.fold_line_char_open_start = "╭"
vim.g.fold_line_char_open_end = "╰"
end,
}
Use the highlight group FoldLine to change the color of the line. Per default it links to Folded.
And use the highlight group FoldLineCurrent to change the color of the line of current fold. Per default it links to CursorLineFold.
change the char of the line:
vim.g.fold_line_char_top_close = "+" -- default: fillchars.foldclose or "+"
vim.g.fold_line_char_close = "├" -- default: fillchars.vertright or "├"
vim.g.fold_line_char_open_sep = "│" -- default: fillchars.foldsep or "│"
vim.g.fold_line_char_open_start = "╭" -- default: "┌"
vim.g.fold_line_char_open_end = "╰" -- default: "└"
vim.g.fold_line_char_open_start_close = "╒" -- default: "╒"
vim.g.fold_line_char_open_end_close = "╘" -- default: "╘"
To show lines for the current fold only, set vim.g.fold_line_current_fold_only to true.
The “bar” is the rendered character (for example │, ┌, └) drawn via virtual text.
You can control how its screen column is computed via fold_line_bar_pos_strategy:
vim.b.fold_line_bar_pos_strategyvim.w.fold_line_bar_pos_strategyvim.g.fold_line_bar_pos_strategyPriority: b: > w: > g: > default.
vim.g.fold_line_bar_pos_strategy = "indent": align bars to (fold start) indentation (legacy behavior).vim.g.fold_line_bar_pos_strategy = "level": align bars by fold level (fixed step per level, like a foldcolumn).vim.g.fold_line_bar_pos_strategy = "hybrid": prefer "indent", but auto-degrade to "level" when foldmethod is expr/syntax (where indentation is often not meaningful).If unset, it defaults to "hybrid".
Set vim.g.fold_line_disable (globally) or vim.w.fold_line_disable (for a window) or vim.b.fold_line_disable (for a buffer) to true.