aboutsummaryrefslogtreecommitdiff
path: root/commands
AgeCommit message (Collapse)Author
2019-07-26Add command history and cyclingGalen Abell
Aerc will keep track of the previous 1000 commands, which the user can cycle through using the arrow keys while in the ex-line. Pressing up will move backwards in history while pressing down will move forward.
2019-07-26Support configurable header layout in compose widgetDaniel Bridges
2019-07-26Add new-email triggerJeffas
This patch sets up the trigger config section of aerc.conf. Each trigger has its own function which is called from the place where it is triggered. Currently only the new-email trigger is implemented. The triggers make use of format strings. For instance, in the new-email trigger this allows the user to select the trigger command and also the information extracted from the command and placed into their command. To actually execute the trigger commands the keypresses are simulated. Further triggers can be implemented in the future. Formatting of the command is moved to a new package.
2019-07-25Fix :close on terminal panicJeffas
Executing :close on a terminal would panic due to it already having been removed. This is also related to the fact that removing a tab doesn't check for whether it actually found a tab to remove or not.
2019-07-25Add space which was missingJeffas
2019-07-23Add change tab commandJeffas
This command allows the user to change tab by giving the tab name. This can be tab completed too. The previous tab is stored in the tabs module so that when a new tab is created it is still possible to go to the previous one. Normal invocation is :ct folder Previous tab is :ct -
2019-07-19Implement :filter, :clearKevin Kuehler
Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
2019-07-19Add :attach command for composeGalen Abell
Allow users to add attachments to emails in the Compose view. Syntax is :attach <path>, where path is a valid file. Attachments will show up in the pre-send review screen.
2019-07-17Add :cp alias for :copyDrew DeVault
2019-07-17Add an option to toggle between read and unreadNicolai Dagestad
2019-07-17Update status message to include destinationJeffas
2019-07-15commands: Don't crash when store is nilKevin Kuehler
On a slow network connection, running these commands without this guard will cause aerc to panic. Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
2019-07-1571: Allow user to change config options at runtimePedro L. Ramos
There is a LoadConf and a LoadConfFromFile. LoadConfFromFile reads the iniFile into memory and and calls LoadConf, which executes the old parsing commands from LoadConf (old func). The remaining of the LoadConfFromFile is the same as the old OldConf.
2019-07-10Fix crashes when operating on empty folder (#216)Daniel Bridges
2019-07-08Fix :pipe -b actually writing to stdinDrew DeVault
2019-07-08Fix re-opening of expired pipe tabsDrew DeVault
2019-07-08:exec, :pipe: show exit status on completionDrew DeVault
2019-07-08Add :exec and :pipe -b(ackground)Drew DeVault
2019-07-08Factor IMAP-specific structs out of UI modelsBen Burwell
Before, we were using several IMAP-specific concepts to represent information being displayed in the UI. Factor these structures out of the IMAP package to make it easier for other backends to provide the required information.
2019-07-05Make :pipe command more genericDrew DeVault
2019-07-04Remove unused caps stringDrew DeVault
2019-07-04Add IMAP folder tab completionGregory Mullen
Credit for this fix goes to Reto; I guess if we're not gonna be mutt we should probabaly do things correctly.
2019-07-04Crash on delete in empty folder (#213)Zach Sisco
2019-07-04Add unsubscribe commandBen Burwell
The unsubscribe command, available when in a message viewer context, enables users to easily unsubscribe from mailing lists. When the command is executed, aerc looks for a List-Unsubscribe header as defined in RFC 2369. If found, aerc will attempt to present the user with a suitable interface for completing the request. Currently, mailto and http(s) URLs are supported. In the case of a HTTP(S) URL, aerc will open the link in a browser. For mailto links, a new composer tab will be opened with a message filled out according to the URL. The message is not sent automatically in order to provide the user a chance to review it first. Closes #101
2019-07-04Use "open" instead of "xdg-open" on Darwin systemsBen Burwell
2019-06-29Implement basic tab completion supportGregory Mullen
Tab completion currently only works on commands. Contextual completion will be added in the future.
2019-06-26Implement :search, :next-result, :prev-resultDrew DeVault
2019-06-25msgview/save: Use defaultSavePath if no path is providedReto Brunner
2019-06-21Fix Cc & Bcc handling in repliesDrew DeVault
2019-06-18Insert nil check before handling prev/next messageMartin Hafskjold Thoresen
If these are called before the store is setup, `acct.Store()` returns `nil`, and we SEGFAULT in `MessageStore.nextPrev`.
2019-06-17commands/msgview: add open commandRéouven Assouly
2019-06-16Make part encoding checks case insensitiveRéouven Assouly
commands/msgview/save and commands/msgview/pipe now use case insensitive comparisons to determine if the part is encoded as base64 or quoted-printable.
2019-06-14Support directories in path to :saveClayton Craft
This adds new functionality to :save in the message view for specifying directories in the path. A new flag, -p, is also added to :save for automatically creating any directories in the path that do not exist. If the path ends in a / (e.g. "Downloads/mail/") or if the path is an existing directory, the part's file name is the filename from the mail header for the part. Otherwise, it uses the last element in the path as the filename (e.g. 'blah.jpg' is the filename if the path is 'Downloads/mail/blah.jpg')
2019-06-11commands/msgview: Add next/prev commandsKevin Kuehler
Signed-off-by: Kevin Kuehler <kkuehler@brave.com>
2019-06-11Move select functionality from msglist to msgstoreKevin Kuehler
Remove msglist Next and Prev commands Signed-off-by: Kevin Kuehler <kkuehler@brave.com>
2019-06-11commands/msg/archive: Work with msgviwerKevin Kuehler
Inside the generic msg command we cannot use aerc.SelectedAccount() because the method naively assumes the current tab is an AccountView. Use the ProvidesMessage interface instead. Signed-off-by: Kevin Kuehler <kkuehler@brave.com>
2019-06-09Implement :mkdir commandDrew DeVault
2019-06-09Fix :new-account getoptsDrew DeVault
2019-06-09Fix :copy arg handlingDrew DeVault
2019-06-09Fix :move command's arg parsingDrew DeVault
2019-06-09Update reply to use getopt posix optind formatClayton Craft
This changes the handling of optind for the 'reply' command to match recent changes to getopt.
2019-06-09Add :read and :unread commandsDrew DeVault
2019-06-09commands/msg/copy: remove unnecessary codeDrew DeVault
2019-06-09Add archive commandRobert Günzler
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.
2019-06-08Mark sent emails as readYash Srivastav
2019-06-07Message list: implement index-format optionYash Srivastav
2019-06-07implements ability to view headers in message viewYash Srivastav
2019-06-05Introduce :new-account -tJanUlrich
Adding the [-t] temporary flag to the new-account command - when using -t a newly created account will not be stored into the accounts.conf Issue #134
2019-06-05Allow no arguments to :cdTadeo Kondrak
I often use the bare `cd` command to get back to my home directory.
2019-06-02widget: Add ProvidesMessage interfaceKevin Kuehler
Consists of 3 functions * Store: Access to MessageStore type * SelectedAccount: Access to Account widget that the target widget belongs to * SelectedMessage: Current message (selected in msglist or the one we are viewing) Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>