/incline.nvim

🎈 Floating statuslines for Neovim

Primary LanguageLuaMIT LicenseMIT

incline.nvim Version v0.0.3 License: MIT Test Status

Lightweight floating statuslines, best used with Neovim's global statusline (set laststatus=3).

Screenshot of Incline.nvim running in Neovim

See more screenshots and share your own in the showcase.

Installation

Packer:

use "b0o/incline.nvim"

Usage

require('incline').setup()

Configuration

Incline's default configuration:

require('incline').setup {
  debounce_threshold = {
    falling = 50,
    rising = 10
  },
  hide = {
    cursorline = false,
    focused_win = false,
    only_win = false
  },
  highlight = {
    groups = {
      InclineNormal = {
        default = true,
        group = "NormalFloat"
      },
      InclineNormalNC = {
        default = true,
        group = "NormalFloat"
      }
    }
  },
  ignore = {
    buftypes = "special",
    filetypes = {},
    floating_wins = true,
    unlisted_buffers = true,
    wintypes = "special"
  },
  render = "basic",
  window = {
    margin = {
      horizontal = 1,
      vertical = 1
    },
    options = {
      signcolumn = "no",
      wrap = false
    },
    padding = 1,
    padding_char = " ",
    placement = {
      horizontal = "right",
      vertical = "top"
    },
    width = "fit",
    winhighlight = {
      active = {
        EndOfBuffer = "None",
        Normal = "InclineNormal",
        Search = "None"
      },
      inactive = {
        EndOfBuffer = "None",
        Normal = "InclineNormalNC",
        Search = "None"
      }
    },
    zindex = 50
  }
}

See incline.txt for full documentation of all configuration options.

Changelog

29 Apr 2022                                                             v0.0.3
  Breaking: window.options.winhighlight is deprecated
  Feat: Add highlight support
  Feat: Support hiding Incline on the only window in a tabpage
  Feat: Support hiding Incline on the focused window
  Feat: Allow tables of highlight args as winhighlight values
  Feat: Add preset render functions
  Feat: Add functions to globally enable/disable/toggle Incline
  Feat: Add config.window.options
  Feat: Add configuration transforms
  Tweak: Display notification upon invalid config rather than throwing error
  Tweak: Allow rising & falling debounce threshold to be configured separately
  Fix: Destroy child when an existing win becomes ignored
  Fix: Handle when manager.win_get_tabpage passed nil or 0
  Fix: check winline _buf and _win for nil
  Misc: Refactor, fix bugs, and improve stability

14 Apr 2022                                                             v0.0.2
  Feat: Make position, size, and content configurable
  Feat: Validate user configuration against schema
  Docs: Add documentation
  Tests: Add tests for configuration and schema
  Misc: Refactor, fix bugs, and improve stability

07 Apr 2022                                                             v0.0.1
  Initial Release

License

© 2022-2023 Maddison Hellstrom and contributors

Released under the MIT License.