m4xshen / smartcolumn.nvim

A Neovim plugin hiding your colorcolumn when unneeded.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

smartcolumn.nvim

Stargazers Issues Contributors

demo

๐Ÿ“ƒ Introduction

A Neovim plugin hiding your colorcolumn when unneeded.

โš™๏ธ Features

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

๐Ÿ“ฆ Installation

  1. Install via your favorite package manager.
{
  "m4xshen/smartcolumn.nvim",
  opts = {}
},
use "m4xshen/smartcolumn.nvim"
Plug "m4xshen/smartcolumn.nvim"
  1. Setup the plugin in your init.lua. This step is not needed with lazy.nvim if opts is set as above.
require("smartcolumn").setup()

๐Ÿ”ง Configuration

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) : the colorcolumn 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): custom colorcolumn 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

Default config

local config = {
   colorcolumn = "80",
   disabled_filetypes = { "help", "text", "markdown" },
   custom_colorcolumn = {},
   scope = "file",
}

About

A Neovim plugin hiding your colorcolumn when unneeded.

License:MIT License


Languages

Language:Lua 100.0%