Skip to content

raquentin/tamagotchi.nvim

Repository files navigation

🐱 tamagotchi.nvim

is a configurable plugin for raising pets across Neovim sessions.

tamagotchi.demo.mov

Features

  • 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.

Installation

vim-plug

Plug "raquentin/tamagotchi.nvim"

packer.nvim

use { "raquentin/tamagotchi.nvim", }

lazy.nvim

{ "raquentin/tamagotchi.nvim", }

Configuration

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,
        },
      },
    },
  },
})

Native Pets

  • 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)

Contributing

Submit issues and PRs as you please. If you have a more general question, start a discussion.

About

🐱 Write programs to feed furry friends (aka rust devs).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages