rabbit.nvim

Quickly jump between buffers

Stars
55
Committers
2

Bot releases are hidden (Show)

rabbit.nvim - v4.0.0 - Nebula Latest Release

Published by VoxelPrismatic 4 months ago

i ran out of quirky names related to rabbits, so now i'm doing space related things

⚞NEW⚟

  • Harpoon plugin now allows collections
    • Like virtual folders
    • Still separated by directory, of course
  • Created a wiki to document everything outside of readme

Updates

  • Plugins no longer need to bind new autocmds. This is automatically handled.
    • breaking - please remove all instances of this
  • Updated compatibility details
  • Rabbit:History now pulls all the currently available buffers on windows with no history
    • Rabbit must be closed once before
    • I'll probably change this soon since it is unintuitive

Internals

  • New Input API
  • Rabbit now calls the BufEnter event on new windows
    • breaking - please remove any window listeners
  • A few more early returns
    • lua is actually the least syntactically readable language i have ever used
  • Added more context to prevent recalculating the same table

Bug Fixes

  • vim.uv is now set to vim.loop if unavailable
    • #12 is a peculiar bug. vim.loop is deprecated
rabbit.nvim - v3.2.2

Published by VoxelPrismatic 4 months ago

  • fix < v0.10.0 compatibility
    • v0.9.x does not support tabpage_set_win
    • replaced with set_current_win, as it's less redundant anyway
  • fix macOS compatibility
    • apparently macOS does not include width or height when calling config
    • thank you, @jeromepin for helping me track this down
  • fix rabbit:reopen
    • nvim v0.10.0 changed evt.file to be just the local file
    • evt.match produces the full name (for now)
  • entering insert mode in rabbit now works as expected
    • previously would bring you to line 1, column 1
    • now escapes the window before closing
  • require("Rabbit").Switch(...) now returns a rabbit instance
    • require("Rabbit").Switch(...).func.select(...) is now possible as an easy autocmd for harpoon
rabbit.nvim - v3.2.1

Published by VoxelPrismatic 5 months ago

  • fix out of bounds bug in harpoon
    • you could add the same entry multiple times at the end of the list, but deleting one would delete all
    • now you can only add each entry once, deleting the old one in the process
rabbit.nvim - v3.2.0 - bunny ears

Published by VoxelPrismatic 5 months ago

⚞NEW⚟

  • Harpoon plugin
  • You can now set float to center
    • rabbit.opts.window.float = "center"
    • Thanks to @ccidral for #7

Updates

  • The History Rabbit will now recall the history of the last closed window
    • Only shown on new windows with no history
    • Option to restore full history if you closed the window accidentally
  • The Reopen Rabbit will now recall the list of open buffers you last closed with
    • Separated by current working directory
    • Only available if you haven't closed a buffer yet
    • Option to open all buffers to quickly resume work
  • The Oxide Rabbit is more efficient
    • Note: Previous history will be purged
    • Automatically deletes files that don't exist
    • Doesn't redraw the entire window on file_del
    • Entries don't jump around as much
  • The Rabbit window now automatically removes files that don't exist
  • Plugins can now have their own WinClosed autocmd

Bug Fixes

  • No longer crashes when you set rabbit.opts.window.width or height to nil
  • The global WinClosed autocmd now actually works
    • For how type-unsafe Lua is, I'm amazed that strings don't equal numbers
rabbit.nvim - v3.1.5

Published by VoxelPrismatic 5 months ago

  1. Add option to ignore unlisted buffers
    • Prevents showing :Oil buffers
  2. Fix no highlight crash bug
    • As found in #4, if any one of your highlight groups doesn't have a foreground color, Rabbit crashes.
rabbit.nvim - v3.1.4

Published by VoxelPrismatic 5 months ago

  • Optimize LuaDoc
    • Now it isn't all a bunch of classes in one file
  • Export ---@class Rabbit.Options so you can use the LSP to check your config, like in Lazy
  • Slight optimizations as I learn Lua
rabbit.nvim - v3.1.3

Published by VoxelPrismatic 5 months ago

  • compat warning is less intrusive
rabbit.nvim - v3.1.2

Published by VoxelPrismatic 5 months ago

  • rabbit now redraws on winresized
  • fixed massive ram leak
    • rabbit now closes its own buffers
rabbit.nvim - v3.1.1

Published by VoxelPrismatic 5 months ago

fix missing keybinds on empty screen

rabbit.nvim - v3.1.0; Rabbit Oxide

Published by VoxelPrismatic 5 months ago

yes, that's an element, i've decided.

⚞NEW⚟

  • Oxide plugin, which acts like zoxide but on how often you access files in a particular directory
  • Plugin API now supports persistent files
  • Keymap is shown below the Rabbit window (just scroll)

Updates

  • You can now change the plugin name position
  • Default file_del key is now <Del>
  • Added compatibility warnings for Windows. (seriously, if you use vim on win, you have other problems)

Fixes

  • Files would show ../../../../file or /file, now it shows :::/file and file, respectively
  • Global listing API now works (I wear I added that previously, but I must've accidentally removed it)
rabbit.nvim - v3.0.0; API = A Pain In (my ass)

Published by VoxelPrismatic 5 months ago

⚞NEW⚟

  • Actual plugin API that isn't janked together garbage
  • Plugin options are now in one spot instead of everywhere

Updates

  • File paths now show as many folders as possible
  • Actual color API

Breaking

  • rabbit.Select --> rabbit.func.select
  • rabbit.Close --> rabbit.func.close
  • Entirely different options table, see readme for more details
rabbit.nvim - v2.2.0 - plugins f'ing like rabbits

Published by VoxelPrismatic 5 months ago

⚞NEW⚟

  • Added plugin support!
  • New mode: reopen - Reopen recently closed buffers (still separated by window)
    • The old mode is called history

Updates

  • rabbit.opts.color.box is now a table for these new modes
rabbit.opts.color.box = {
    history = "Function",     -- The old mode, hopping between open buffers
    reopen = "Macro",         -- The new 'reopen' mode to open recently closed buffers
}
  • New :Rabbit command, so you can rebind easily
    • Usage: :Rabbit {{mode}} eg :Rabbit history or :Rabbit reopen to open that mode

Fixes

  • Confirm keys option now works (was hardcoded previously)

Internals

  • Screen module is now in charge of drawing borders
  • Autocmd is now bound on setup()
  • More dry
rabbit.nvim - v2.1.0 - hopping between corners

Published by VoxelPrismatic 5 months ago

v2.1.0

NEW

  • You can now choose to float in any corner
    • default is {"bottom", "right"}, see readme for more details
      *order does matter
    • you can choose an offset from the top left, { top = n, left = m }
  • Floating window now resizes to minuscule window
    • But who edits in 64x24 anyway? We're not using the Tandy TRS-80 anymore, are we?
  • You can now choose to split instead of to float, see readme for details
  • You can now choose to go fullscreen instead of float or split
  • The selected line is now highlighted accordingly
  • Rabbit now anchors itself to the current window, instead of the overall editor: (set to {"bottom", "left"})
    image
    *the background is dark in the screenshot because of terminal transparency.

FIXES

  • Ignored rabbit.opts.keys.quit (they are no longer hardcoded)
rabbit.nvim - v2.0.0 - electric boogaloo

Published by VoxelPrismatic 5 months ago

Changes

  1. Added config API
  2. Created a new screen handler so I don't have to worry about string lengths not matching
  3. Rabbit now shows a popup message when no buffers are available
  4. No longer crashes on empty buffer names
  5. Now displays empty buffer names in red (along with buffer ID so you can distinguish between them)
  6. Paths are now shaded
  7. Paths are now truncated
  8. No longer crashes whenever it didn't catch that the window closed
  9. BREAKING: Hides Rabbit global
  10. Now pinned to the bottom left... unless you have a term larger than 10000 chars
  11. Tracks bufdelete more accurately
rabbit.nvim - v1.0.0

Published by VoxelPrismatic 5 months ago

Initial release

Very basic, but works well