Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/declancm/maximize.nvim

Maximize window splits. A Neovim plugin written in Lua!
https://github.com/declancm/maximize.nvim

lua maximize neovim nvim plugin vim

Last synced: about 3 hours ago
JSON representation

Maximize window splits. A Neovim plugin written in Lua!

Awesome Lists containing this project

README

        

# maximize.nvim

Maximize Neovim windows.

## ✨ Features

* Toggle maximizing the current window without any ugly borders.
* Has builtin integration for the following plugins:
* aerial.nvim
* nvim-dap-ui
* nvim-tree.lua

## 🛠ī¸ Requirements

* Neovim >= 0.8.0 (use a tagged version for older Neovim versions)

## đŸ“Ļ Installation

Install with your favourite plugin manager and run the setup function.

### Packer

```lua
use {
'declancm/maximize.nvim',
config = function() require('maximize').setup() end
}
```

### Lazy

```lua
return {
'declancm/maximize.nvim',
config = true
}
```

## ℹī¸ Usage

### Vim Commands

* Toggle maximizing the current window:

`:Maximize`

### Lua API

* Toggle maximizing the current window:

`require('maximize').toggle()`

* Maximize the current window:

`require('maximize').maximize()`

* Restore windows:

`require('maximize').restore()`

## ⚙ī¸ Configuration

A settings table can be passed into the setup function for custom options.

### Default Options

```lua
{
plugins = {
aerial = { enable = true }, -- enable aerial.nvim integration
dapui = { enable = true }, -- enable nvim-dap-ui integration
tree = { enable = true }, -- enable nvim-tree.lua integration
}
}
```

## 📅 User Events

The following user events are triggered:

* **WindowMaximizeStart**: before maximizing
* **WindowRestoreEnd**: after restoring

## đŸšĨ statusline & winbar

Use the variable `vim.t.maximized` to check whether the tab has a maximized window.

### Lualine

```lua
local function maximize_status()
return vim.t.maximized and ' ī‹ ' or ''
end

require('lualine').setup {
sections = {
lualine_c = { maximize_status }
}
}
```

### winbar

```lua
-- ~/.config/nvim/lua/winbar.lua
local M = {}

M.maximize_status = function()
return vim.t.maximized and ' ī‹ ' or ''
end

return M

-- ~/.config/nvim/init.lua
vim.o.winbar = "%{%v:lua.require('winbar').maximize_status()%}"
```