Skip to content

๐ŸŽˆ Floating winbar statuslines for Neovim

License

Notifications You must be signed in to change notification settings

deresmos/incline.nvim

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

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

Lightweight floating statuslines, intended for use with Neovim's new global statusline (set laststatus=3).

This plugin is still early in development โ€” Please expect frequent breaking changes!

Incline is still sparse on features, but it should now be stable enough for basic usage. New features are being added regularly.

Once v0.1.0 is reached, breaking changes will be limited to major releases. Until then, breaking changes may occur on patch-level versions. I recommend pinning the version in your plugin manager so that you're not surprised by a breaking change at an inconvenient time.

Screenshot of Incline.nvim running in Neovim

Installation

Note: Incline requires Neovim v0.7 or Neovim nightly.

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 Maddison Hellstrom and contributors

Released under the MIT License.

About

๐ŸŽˆ Floating winbar statuslines for Neovim

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Lua 93.3%
  • Shell 6.6%
  • Makefile 0.1%