a refined oil.nvim
  • Lua 99.7%
  • Nix 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Barrett Ruth 407c8949de
All checks were successful
quality / Lint (push) Successful in 2s
quality / Format (push) Successful in 3s
quality / Typecheck (push) Successful in 1s
quality / Test (push) Successful in 2s
style: format the migration check
2026-09-26 15:55:31 -05:00
.forgejo ci: allow manual quality runs 2026-09-26 15:32:43 -05:00
doc docs: relocate main branch media [skip ci] 2026-09-21 22:02:55 -05:00
lua style: format the migration check 2026-09-26 15:55:31 -05:00
perf refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
plugin ci: format 2026-03-21 18:36:43 -04:00
scripts ci: replace prettier with biome 2026-05-09 12:26:12 -04:00
spec fix(init): scope restart directory handling (#374) 2026-07-20 14:59:45 -05:00
syntax refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
.busted build: migrate test framework from plenary to busted 2026-02-22 00:26:54 -05:00
.editorconfig build: modernize repository (#27) 2026-02-22 16:06:31 -05:00
.gitignore refactor: drop nvim 0.8/0.9 compat shims from init.lua (#79) 2026-03-06 16:36:37 -05:00
.luarc.json ci: align Lua type checks [skip ci] 2026-09-21 22:54:12 -05:00
.pre-commit-config.yaml ci: replace prettier with biome 2026-05-09 12:26:12 -04:00
.stylua.toml build: replace luacheck with selene, add nix devshell and pre-commit (#20) 2026-02-21 23:52:27 -05:00
.styluaignore ci: scripts and format (#68) 2026-03-04 13:49:06 -05:00
biome.json ci: replace prettier with biome 2026-05-09 12:26:12 -04:00
flake.lock build(nix): use nixpkgs vimdoc-language-server (#315) 2026-04-20 17:10:22 -04:00
flake.nix ci: replace prettier with biome 2026-05-09 12:26:12 -04:00
LICENSE chore: license under GPL-3.0 2026-09-21 19:34:15 -05:00
README.md docs: host previews on Forgejo [skip ci] 2026-09-21 22:21:31 -05:00
selene.toml ci: migrate to nix 2026-02-23 18:13:51 -05:00
vim.yaml ci: add bit luajit global 2026-02-23 18:18:35 -05:00

canola.nvim

oil.nvim with 133 upstream issues and PRs triaged. Drop-in replacement — zero config changes needed.

Installation

Swap stevearc/oil.nvim for barrettruth/canola.nvim. Everything else is identical — same module, same config, same keymaps, same require('oil').setup(opts).

{ 'https://forge.barrettruth.com/barrettruth/canola.nvim', opts = {} }

Quick Start

Put canola on a parent-directory key when you want a vinegar-style entry point.

vim.keymap.set('n', '-', '<CMD>Oil<CR>', { desc = 'Open parent directory' })

Open a project directory when you want to browse and edit it as a buffer.

nvim .

Inside the listing, press <CR> to open a file or descend into a directory, and press - to move back up.

Rename, create, or delete entries by editing the listing as text, then write the buffer to apply the filesystem changes.

:w

See :help canola for full documentation.

Requirements

Similar Projects

  • stevearc/oil.nvim — the original
  • mini.files — cross-directory filesystem-as-buffer with a column view
  • vim-vinegar — the granddaddy of single-directory file browsing
  • dirbuf.nvim — filesystem as buffer without cross-directory edits
  • lir.nvim — vim-vinegar style with Neovim integration
  • vim-dirvish — stable, simple directory browser

Acknowledgements