diff options
Diffstat (limited to 'worker/types/mfs.go')
-rw-r--r-- | worker/types/mfs.go | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/worker/types/mfs.go b/worker/types/mfs.go new file mode 100644 index 00000000..071eda1d --- /dev/null +++ b/worker/types/mfs.go @@ -0,0 +1,33 @@ +package types + +// MultiFileStrategy represents a strategy for taking file-based actions (e.g., +// move, copy, delete) on messages that are represented by more than one file. +// These strategies are only used by the notmuch backend but are defined in this +// package to prevent import cycles. +type MultiFileStrategy uint + +const ( + Refuse MultiFileStrategy = iota + ActAll + ActOne + ActOneDelRest + ActDir + ActDirDelRest +) + +var StrToStrategy = map[string]MultiFileStrategy{ + "refuse": Refuse, + "act-all": ActAll, + "act-one": ActOne, + "act-one-delete-rest": ActOneDelRest, + "act-dir": ActDir, + "act-dir-delete-rest": ActDirDelRest, +} + +func StrategyStrs() []string { + strs := make([]string, len(StrToStrategy)) + for s := range StrToStrategy { + strs = append(strs, s) + } + return strs +} |