Skip to content

ttak0422/piccolo-pomodoro.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

piccolo-pomodoro

neovim lua license

Minimal Pomodoro plugin written in pure Lua.

Usage

-- minimal setup
require("piccolo-pomodoro").setup()

-- default config
require("piccolo-pomodoro").setup({
  focus_time = 25, -- minutes
  break_time = 5, -- minutes
  long_break_time = 15, -- minutes
  long_break_interval = 4,
  auto_start_breaks = false,
  auto_start_pomodoros = false,

  ---@type fun()
  on_start = function() end,

  ---@type fun()
  on_update = function() end,

  ---@type fun()
  on_pause = function() end,

  ---@class PomodoroFocusCompleteContext
  ---@type fun(ctx: PomodoroFocusCompleteContext)
  on_complete_focus_time = function() end,

  ---@class PomodoroBreakCompleteContext
  ---@field is_long_break boolean
  ---@type fun(ctx: PomodoroBreakCompleteContext)
  on_complete_break_time = function() end,

  ---@class PomodoroFocusContext
  ---@field h integer
  ---@field m integer
  ---@field s integer
  ---@field cycles integer
  ---@field timer_mode TimerMode
  ---@field timer_state TimerState
  ---@type fun(ctx: PomodoroFocusContext):string
  focus_format = function(ctx)
    return string.format("󰞌 focus %02d:%02d", ctx.m, ctx.s)
  end,

  ---@class PomodoroBreakContext
  ---@field h integer
  ---@field m integer
  ---@field s integer
  ---@field is_long_break boolean
  ---@field timer_mode TimerMode
  ---@field timer_state TimerState
  ---@type fun(ctx: PomodoroBreakContext):string
  break_format = function(ctx)
    return string.format("󰞌 break %02d:%02d", ctx.m, ctx.s)
  end,
})

-- commands
require("piccolo-pomodoro").start()        -- start pomodoro timer
require("piccolo-pomodoro").pause()        -- pause pomodoro timer
require("piccolo-pomodoro").toggle()       -- toggle start/pause
require("piccolo-pomodoro").print_status() -- print pomodoro status
require("piccolo-pomodoro").status()       -- get pomodoro status string
require("piccolo-pomodoro").reset()        -- reset current session
require("piccolo-pomodoro").skip()         -- skip current session

About

Minimal Pomodoro plugin written in pure Lua.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages