A Neovim plugin hiding your colorcolumn when unneeded.
The colorcolumn is hidden as default, but it appears after one of lines in the
scope exceeds the colorcolumn
value you set.
You can:
- hide colorcolumn for specific filetype
- set custom colorcolumn value for different filetype
- specify the scope where the plugin should work
- Install via your favorite package manager.
{
"m4xshen/smartcolumn.nvim",
opts = {}
},
use "m4xshen/smartcolumn.nvim"
Plug "m4xshen/smartcolumn.nvim"
- Setup the plugin in your
init.lua
. This step is not needed with lazy.nvim ifopts
is set as above.
require("smartcolumn").setup()
You can pass your config table into the setup()
function or opts
if you use
lazy.nvim.
The available options:
colorcolumn
(strings or table) : screen columns that are highlighted"80"
(default){ "80", "100" }
disabled_filetypes
(table of strings) : thecolorcolumn
will be disabled under the filetypes in this table{ "help", "text", "markdown" }
(default){ "NvimTree", "lazy", "mason", "help", "checkhealth", "lspinfo", "noice", "Trouble", "fish", "zsh"}
Note
You can use :set filetype?
to check the filetype of current buffer.
scope
(strings): the plugin only checks whether the lines within scope exceed colorcolumn"file"
(default): current file"window"
: visible part of current window"line"
: current line
custom_colorcolumn
(table or function returning string): customcolorcolumn
values for different filetypes{}
(default){ ruby = "120", java = { "180", "200"} }
- you can also pass a function to handle more complicated logic:
custom_colorcolumn = function () return "100" end
editorconfig
: usemax_line_length
from EditorConfig, overridescustom_colorcolumn
local config = {
colorcolumn = "80",
disabled_filetypes = { "help", "text", "markdown" },
custom_colorcolumn = {},
scope = "file",
editorconfig = true,
}