GitHunt
LV

lvignoli/pickdate

date picker for your terminal

Pickdate

fastly select date via vim-motions and print it to stdout

showcase

Install

arch linux:

yay -S install pickdate 

manualy:

git clone git@github.com:maraloon/pickdate.git
cd pickdate
go install

Usage idea

It's for what i develop this app. Terminal-based notes. Open (or create) file for selected date

#!/usr/bin/env sh
prev_selected_date=$(date +"%Y/%m/%d")
while true
do 
    selected_date=$(pickdate -m --start-at $prev_selected_date) || exit 1
    nvim "$HOME/diary/$selected_date.md" # opens diary/2025/01/15.md
    prev_selected_date=$selected_date # alows to stay in selected date after quit editor
done

usage

Flags

Usage: pickdate [OPTIONS]

Options:
  -f, --format string     Format of date output (default "yyyy/mm/dd")
  -h, --help              Help
  -m, --monday            Monday as first day of week
      --start-at string   Pointed date on enter (default today)
  -s, --sunday            Sunday as first day of week (default true)

--format values

You can use both left and right format types

Format Go Layout
yyyy/mm/dd 2006/01/02
Y/m/d 2006/01/02
yyyy-mm-dd 2006-01-02
Y-m-d 2006-01-02
F j, Y January 2, 2006
m/d/y 01/02/06
M-d-y Jan-02-06
l Monday
D Mon
d 02
j 2
F January
M Jan
m 01
n 1
Y 2006
y 06

Set custom colors for days

You can send string to stdin to set custom colors for each day.
String format: color1:day1,day2;color2:day3,day31
color - [0-15] or hex (#b16286)
day - 2006/01/02

example: echo "#b16286:2025/08/10,2025/08/11;#d79920:2025/08/12" | pickdate

TODO

  • Show today, style
  • Help menu
  • Jumps
    • Jump to today
    • Month jump
      • p, n
      • m[1-12]
    • Year jump
      • P, N
      • y[1-12]
    • Jump in line: 3l - 3 days later
    • Jump n month up/down: 3ml/3m - 3 month down
    • Jump lines: 2j - 2 weeks later
    • Jump to selected day: d[1-31]/31g/31<cr> will jump on 31th day of current month
  • Lists
    • Month list (M)
    • Year list (Y)
  • View
    • Show 3 month view
    • Show full year view
    • Change colors via config
  • Toggle fullsceen (WithAltScreen)
  • Center align
  • Toggle week start, monday or sunday
  • CLI opts
    • Week first day
    • Output date format
    • --start-at date
    • Fullscreen
  • aur
    • stable
    • git version

Made with

It depends on datepicker bubble, which you can use in your go apps too

Bubble Tea Title Treatment

Languages

Go100.0%

Contributors

Created September 29, 2025
Updated September 29, 2025
lvignoli/pickdate | GitHunt