aboutsummaryrefslogtreecommitdiff
path: root/config/config.go
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2019-06-08 19:41:56 +0200
committerDrew DeVault <sir@cmpwn.com>2019-06-09 11:33:50 -0400
commitacfe7d7625192bc856d5d696f741e35ce38cab25 (patch)
tree64f76ab6927cbb25be95c0ff2e65e063791593a6 /config/config.go
parent35f57321f8d53dba2c1a2480aaa5860333e1c269 (diff)
Add archive command
Adds an archive command that moves the current message into the folder specified in the account config entry. Supports three layouts at this point: - flat: puts all messages next to each other - year: creates a folder per year - month: same as above, plus folders per month This also adds a "-p" argument to "cp" and "mv" that works like "--parents" on mkdir(1). We use this to auto-create the directories for the archive layout.
Diffstat (limited to 'config/config.go')
-rw-r--r--config/config.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/config/config.go b/config/config.go
index 3ef587b..8e669f7 100644
--- a/config/config.go
+++ b/config/config.go
@@ -34,6 +34,7 @@ const (
)
type AccountConfig struct {
+ Archive string
CopyTo string
Default string
From string
@@ -115,6 +116,7 @@ func loadAccountConfig(path string) ([]AccountConfig, error) {
}
sec := file.Section(_sec)
account := AccountConfig{
+ Archive: "Archive",
Default: "INBOX",
Name: _sec,
Params: make(map[string]string),
@@ -137,6 +139,8 @@ func loadAccountConfig(path string) ([]AccountConfig, error) {
account.From = val
} else if key == "copy-to" {
account.CopyTo = val
+ } else if key == "archive" {
+ account.Archive = val
} else if key != "name" {
account.Params[key] = val
}