aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2019-06-18 09:42:41 -0400
committerDrew DeVault <sir@cmpwn.com>2019-06-18 09:50:06 -0400
commit74af57b6c617382ed0e8cd79626cac98ffc2e549 (patch)
tree213bb28bfd9ebafed60c91f3c0634ee72c6251a6
parentce475e4952fe182a15d8897c3cd94f59df4b64e1 (diff)
downloadaerc-74af57b6c617382ed0e8cd79626cac98ffc2e549.tar.gz
Add aerc -v to print the installed version
-rw-r--r--Makefile4
-rw-r--r--aerc.go18
-rw-r--r--doc/aerc.1.scd7
3 files changed, 28 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index a2f92f67..b4f105a0 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,9 @@
.POSIX:
.SUFFIXES:
.SUFFIXES: .1 .5 .7 .1.scd .5.scd .7.scd
+
+VERSION?=0.1.1
+
VPATH=doc
PREFIX?=/usr/local
_INSTDIR=$(DESTDIR)$(PREFIX)
@@ -16,6 +19,7 @@ aerc: $(GOSRC)
go build $(GOFLAGS) \
-ldflags "-X main.Prefix=$(PREFIX)" \
-ldflags "-X main.ShareDir=$(SHAREDIR)" \
+ -ldflags "-X main.Version=$(VERSION)" \
-o $@
aerc.conf: config/aerc.conf.in
diff --git a/aerc.go b/aerc.go
index ffce931b..20e2bb18 100644
--- a/aerc.go
+++ b/aerc.go
@@ -8,6 +8,7 @@ import (
"os"
"time"
+ "git.sr.ht/~sircmpwn/getopt"
"github.com/mattn/go-isatty"
"git.sr.ht/~sircmpwn/aerc/commands"
@@ -53,9 +54,26 @@ func getCommands(selected libui.Drawable) []*commands.Commands {
var (
Prefix string
ShareDir string
+ Version string
)
func main() {
+ // TODO: Support starting with mailto links, ad-hoc accounts, etc
+ opts, optind, err := getopt.Getopts(os.Args, "v")
+ if err != nil {
+ panic(err)
+ }
+ for _, opt := range opts {
+ switch opt.Option {
+ case 'v':
+ fmt.Println("aerc " + Version)
+ return
+ }
+ }
+ if optind != len(os.Args) {
+ log.Fatal("Usage: aerc [-v]")
+ }
+
var (
logOut io.Writer
logger *log.Logger
diff --git a/doc/aerc.1.scd b/doc/aerc.1.scd
index 88dab34c..4fdd91ab 100644
--- a/doc/aerc.1.scd
+++ b/doc/aerc.1.scd
@@ -6,11 +6,16 @@ aerc - the world's best email client
# SYNOPSIS
-_aerc_
+_aerc_ [-v]
For a guided tutorial, use *:help tutorial* from aerc, or *man aerc-tutorial*
from your terminal.
+# OPTIONS
+
+*-v*
+ Prints the installed version of aerc and exits.
+
# RUNTIME COMMANDS
To execute a command, press ':' to bring up the command interface. Commands may