A Neovim plugin that provides random famous quotes from a bundled CSV file. Quotes are shuffled using the Fisher-Yates algorithm and cached for performance.
- No dependencies: everything is self-contained so no unnecessary internet API calls
- Supports fetching one quote, multiple quotes, or all the quotes
- Caches quotes to avoid repeated file I/O
- Neovim 0.5.0 or later
Install using your preferred Neovim package manager.
Using packer.nvim
use 'mahyarmirrashed/famous-quotes.nvim'Using vim-plug
Plug 'mahyarmirrashed/famous-quotes.nvim'Using lazy.nvim
{
"mahyarmirrashed/famous-quotes.nvim",
config = function()
require("famous-quotes").setup()
end,
}The plugin provides a single function, get_quote(count), to retrieve random quotes.
-- Get one random quote (default)
local quote = require('famous-quotes').get_quote()
print(quote[1].author .. ': ' .. quote[1].quote)
-- Get three random quotes
local quotes = require('famous-quotes').get_quote(3)
for _, q in ipairs(quotes) do
print(q.author .. ': ' .. q.quote)
end
-- Get all quotes
local all_quotes = require('famous-quotes').get_quote(-1)- count (optional, number): Number of quotes to retrieve. Defaults to 1. Use
-1to get all quotes - Returns: A table of quote objects, each with
authorandquotefields
- No-op function provided for compatibility. No configuration needed
Thanks to @JakubPetriska for the CSV of quotes used in this plugin.