An open API service indexing awesome lists of open source software.

https://github.com/trippwill/guttermode.nvim

Show your mode in your gutter
https://github.com/trippwill/guttermode.nvim

Last synced: over 1 year ago
JSON representation

Show your mode in your gutter

Awesome Lists containing this project

README

          

# guttermode.nvim

๐Ÿšฆ A minimal Neovim plugin that displays your current mode using a colored sign in the gutter (sign column), with colors that match your `lualine` theme.

---

## โœจ Features

- โœ… Seamless integration with your existing colorscheme via `lualine_a_{mode}` highlight groups
- โœ… Updates in all modes (Normal, Insert, Visual, Replace, Command)
- โœ… Optional cursor-following or full-height border
- โœ… Fully theme-aware
- โœ… Lightweight, no dependencies

---

## ๐Ÿ“ฆ Installation

### Using [lazy.nvim](https://github.com/folke/lazy.nvim)

```lua
{
"trippwill/guttermode.nvim",
event = "VeryLazy",
opts = {
follow_cursor = false, -- true = only current line, false = all lines
sign_char = "โ”‚", -- customize gutter character
debounce_ms = 20, -- debounce updates (ms)
debug = false, -- enable logging
},
config = function(_, opts)
require("guttermode").setup(opts)
end,
}
```

---

## โš™๏ธ Options

| Name | Type | Default | Description |
|----------------|---------|---------|-----------------------------------------------------------------------------|
| `follow_cursor`| boolean | `false` | Show sign only on the cursor line (`true`) or on all lines (`false`) |
| `sign_char` | string | `"โ”‚"` | The character to show in the sign column |
| `debounce_ms` | number | `20` | Debounce interval for updates (in milliseconds) |
| `debug` | boolean | `false` | Enable logging for development/debugging |

---

## ๐Ÿงช Planned Features

- [ ] Optionally disable in inactive windows
- [ ] Support for per-window or per-tab highlight overrides
- [ ] Compatibility layer for users without `lualine`

---

## ๐Ÿชช License

MIT ยฉ [trippwill](https://github.com/trippwill)

---

## ๐Ÿ™ Thanks

This plugin was inspired by a desire for a subtle but visible indicator of insert/visual mode in terminal Neovim, without disrupting your layout.