small pixel drawing of a pufferfish dotfiles

bin/prompt.go

package main

import (
	"fmt"
	"os"
	"strings"
	"time"
)

func main() {
	cwd, _ := os.Getwd()
	host, _ := os.Hostname()
	emoji := "💀"
	if host == "zora" {
		emoji = "🍣"
	} else if host == "nostromo" {
		emoji = "🛸"
	}
	home := os.Getenv("HOME")
	var parts []string
	if strings.HasPrefix(cwd, home) {
		cwd = "~" + cwd[len(home):]
	}
	now := time.Now().Format("15:04:05")
	fmt.Printf("[%s] %s%s ", now, emoji, host)

	parts = strings.Split(cwd, "/")
	for i, part := range parts {
		if i == len(parts)-1 {
			fmt.Printf("%s", part)
		} else {
			if len(part) != 0 {
				fmt.Printf("%c/", part[0])
			} else {
				fmt.Printf("/")
			}
		}
	}
}