is a configurable plugin for raising pets across Neovim sessions.
tamagotchi.demo.mov
- Floating Window UI: Displays your pet with sprite animations, stats, and a colored bottom bar with interactive tabs.
- Customizable Behavior: Configure tick length, decay probabilities, and Vim events that affect your pet's mood and satiety.
- Multiple Pets: Manage a list of pets, select different ones from a menu, view more info, and reset as needed.
- Persistent State: Your pet's mood and satiety persist across Neovim sessions.
Plug "raquentin/tamagotchi.nvim"use { "raquentin/tamagotchi.nvim", }{ "raquentin/tamagotchi.nvim", }require('tamagotchi').setup({
window_toggle_keybind = "<leader>tg",
tick_length_ms = 1000, -- 1 second per tick
default_pet = "Lucy",
pets = {
{
name = "Ilya",
sprite_update_interval = 5,
sprites = kitty_sprites,
initial_mood = 75,
initial_satiety = 75,
decay_speed = 2, -- 0-6 scale (0=none, 6=extreme)
vim_events = {
{
name = "BufWritePost",
mood_increment = 5,
satiety_increment = 3,
},
{
name = "TextYankPost",
mood_increment = 2,
satiety_increment = 1,
},
},
},
},
})- Kitty: a cat (moderate decay, balanced)
- Lucy: a star and mascot of the Gleam programming language (faster decay, food-focused)
- Churro: a dog (moderate decay, mood-focused)
- Bunny: a bunny (active, high satiety needs)
- Dragon: a dragon (slow decay, hardy)
- Grizz: a bear (moderate decay, very hungry)
Submit issues and PRs as you please. If you have a more general question, start a discussion.