fastly select date via vim-motions and print it to stdout
yay -S install pickdate git clone [email protected]:maraloon/pickdate.git
cd pickdate
go installIt's for what i develop this app. Terminal-based notes. Open (or create) file for selected date
After time i rewrite my bash scripts to one project: tty-diary, so if you want to diarize like me, check it
#!/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
doneUsage: 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)
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 |
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
- [x] stable
- [ ] git version
- [x] decoupling to bubble component
It depends on datepicker bubble, which you can use in your go apps too


