commands: use SelectedAccountUiConfig instead of explicit nil check

Remove code duplication and provide completion even when acct is nil

Signed-off-by: kt programs <ktprograms@gmail.com>
Acked-by: Robin Jarry <robin@jarry.cc>
This commit is contained in:
kt programs 2022-03-15 09:55:51 +08:00 committed by Robin Jarry
parent a16bd05321
commit a0fceb80b3
3 changed files with 5 additions and 19 deletions

View file

@ -24,11 +24,6 @@ func (Recover) Aliases() []string {
}
func (Recover) Complete(aerc *widgets.Aerc, args []string) []string {
acct := aerc.SelectedAccount()
if acct == nil {
return make([]string, 0)
}
// file name of temp file is hard-coded in the NewComposer() function
files, err := filepath.Glob(
filepath.Join(os.TempDir(), "aerc-compose-*.eml"),
@ -50,11 +45,12 @@ func (Recover) Complete(aerc *widgets.Aerc, args []string) []string {
return files
} else {
// only accepts one file to recover
return commands.FilterList(files, args[1], args[0]+" ", acct.UiConfig().FuzzyComplete)
return commands.FilterList(files, args[1], args[0]+" ",
aerc.SelectedAccountUiConfig().FuzzyComplete)
}
} else {
// only accepts one file to recover
return commands.FilterList(files, args[0], "", acct.UiConfig().FuzzyComplete)
return commands.FilterList(files, args[0], "", aerc.SelectedAccountUiConfig().FuzzyComplete)
}
}

View file

@ -20,11 +20,6 @@ func (Sort) Aliases() []string {
}
func (Sort) Complete(aerc *widgets.Aerc, args []string) []string {
acct := aerc.SelectedAccount()
if acct == nil {
return make([]string, 0)
}
supportedCriteria := []string{
"arrival",
"cc",
@ -61,7 +56,7 @@ func (Sort) Complete(aerc *widgets.Aerc, args []string) []string {
}
// the last item is not complete
completions = commands.FilterList(supportedCriteria, last, currentPrefix,
acct.UiConfig().FuzzyComplete)
aerc.SelectedAccountUiConfig().FuzzyComplete)
return completions
}

View file

@ -20,16 +20,11 @@ func (ChangeTab) Aliases() []string {
}
func (ChangeTab) Complete(aerc *widgets.Aerc, args []string) []string {
acct := aerc.SelectedAccount()
if acct == nil {
return make([]string, 0)
}
if len(args) == 0 {
return aerc.TabNames()
}
joinedArgs := strings.Join(args, " ")
return FilterList(aerc.TabNames(), joinedArgs, "", acct.UiConfig().FuzzyComplete)
return FilterList(aerc.TabNames(), joinedArgs, "", aerc.SelectedAccountUiConfig().FuzzyComplete)
}
func (ChangeTab) Execute(aerc *widgets.Aerc, args []string) error {