Compare commits

...

3 commits

3 changed files with 59 additions and 17 deletions

1
.envrc
View file

@ -1 +1,2 @@
watch_file shell.nix
use flake

46
main.go
View file

@ -1,10 +1,15 @@
package main
import (
"bytes"
"errors"
"flag"
"fmt"
"log"
"os"
"os/exec"
"strings"
"time"
)
func main() {
@ -14,10 +19,12 @@ func main() {
func ParseFlags(sb string) {
note := sb + "/notes"
// daily := sb + "/periodic/daily"
// templates := sb + "/templates"
daily := sb + "/periodic/daily"
templates := sb + "/templates"
quickPtr := flag.Bool("q", false, "Open quick file for notes")
listPtr := flag.Bool("l", false, "List files in notes directory")
dailyPtr := flag.Bool("d", false, "Create/Edit daily journal entry")
flag.Parse()
@ -29,6 +36,41 @@ func ParseFlags(sb string) {
os.Exit(0)
}
if *listPtr {
files, err := os.ReadDir(note)
if err != nil {
log.Fatal(err)
}
for _, f := range files {
file := f.Name()
fmt.Println(strings.ReplaceAll(file, ".md", ""))
}
os.Exit(0)
}
if *dailyPtr {
date := time.Now().Local().Format("2006-01-02")
file := daily + "/" + date + ".md"
dailyTemplate := templates + "/daily.md"
// If the file doesn't exist, create it
if _, err := os.Stat(file); errors.Is(err, os.ErrNotExist) {
// Read template file
t, _ := os.ReadFile(dailyTemplate)
// Replace yesterday and tomorrow with specific dates
t = bytes.ReplaceAll(t, []byte("YESTERDAY"), []byte(time.Now().Local().AddDate(0, 0, -1).Format("2006-01-02")))
t = bytes.ReplaceAll(t, []byte("TOMORROW"), []byte(time.Now().Local().AddDate(0, 0, 1).Format("2006-01-02")))
// write the file
os.WriteFile(file, t, 0644)
}
OpenNvim(file)
os.Exit(0)
}
if len(fileName) == 0 {
fmt.Println("You didn't specify a note name")
os.Exit(1)

View file

@ -12,14 +12,13 @@
),
mkGoEnv ? pkgs.mkGoEnv,
gomod2nix ? pkgs.gomod2nix,
}:
let
}: let
goEnv = mkGoEnv {pwd = ./.;};
in
pkgs.mkShell {
packages = [
goEnv
gomod2nix
pkgs.gopls
];
}