aboutsummaryrefslogtreecommitdiffstats
path: root/commands
Commit message (Collapse)AuthorAgeFilesLines
* Fix directory completion case sensitivityBen Burwell2019-08-031-11/+19
| | | | | | Before, lower_only was not being correctly set and was only considering whether the string ended with a lowercase sequence. Refactored this with some more explicit functions as the logic is a little confusing.
* Add cc and bcc commandsDaniel Bridges2019-08-031-0/+39
|
* select next message when deleting from message viewerAditya Srivastava2019-08-021-3/+10
|
* ChangeFolder: do not depend on the msgstoreReto Brunner2019-08-021-6/+6
| | | | | We need to clear the filtering etc upon folder switch. Not having a valid msgstore is however no reason not to switch directories.
* Add filesystem completions for :attach and :cdGalen Abell2019-08-022-2/+24
| | | | | Tab-completions now cycle through filesystem paths when using :attach or :cd commands.
* Add CompletePath methodGalen Abell2019-08-021-0/+91
| | | | | CompletePath takes an existing path and returns possible filesystem completions based on that path.
* Sendmail: allow for arbitrary parametersReto Brunner2019-07-291-1/+11
| | | | Allows the outgoing command to contain arguments and flags
* Add index option to change-tabJeffas2019-07-271-4/+23
| | | | | | | This allows selection of a tab using its index. It attempts to parse the given argument as a number, if it fails then it uses it as a name. Also supports relative indexes using prefixed + or -.
* Add :detach commandGalen Abell2019-07-271-0/+55
| | | | | | | Add a command for removing attachments from a composed message. Syntax is :detach [path], with path being an optional argument specifying the path of one existing attachment. If no path is specified, the first attachment is removed.
* Add missing fallthroughDrew DeVault2019-07-271-0/+2
|
* Implement sendmail supportDrew DeVault2019-07-271-10/+36
|
* Add tab completion to textinputsJeffas2019-07-262-3/+17
| | | | | | | | | | | | | This adds tab completion to textinput components. They can be configured with a completion function. This function is called when the user presses <tab>. The first completion is initially shown to the user inserted into the text. Repeated presses of <tab> or <backtab> cycle through the completions list. The completions list is invalidated when any other non-tab-like key is pressed. Also changed is some logic for current completion generation so that all available commands are returned when <tab> is pressed with no current text and similarly for arguments of commands.
* Add command history and cyclingGalen Abell2019-07-261-0/+62
| | | | | | 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.
* Support configurable header layout in compose widgetDaniel Bridges2019-07-263-15/+20
|
* Add new-email triggerJeffas2019-07-261-5/+1
| | | | | | | | | | | | | | | | | 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.
* Fix :close on terminal panicJeffas2019-07-251-1/+0
| | | | | | | | 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.
* Add space which was missingJeffas2019-07-251-1/+1
|
* Add change tab commandJeffas2019-07-231-0/+48
| | | | | | | | | | 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 -
* Implement :filter, :clearKevin Kuehler2019-07-193-9/+61
| | | | Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
* Add :attach command for composeGalen Abell2019-07-191-0/+56
| | | | | | 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.
* Add :cp alias for :copyDrew DeVault2019-07-171-1/+1
|
* Add an option to toggle between read and unreadNicolai Dagestad2019-07-171-3/+29
|
* Update status message to include destinationJeffas2019-07-171-1/+1
|
* commands: Don't crash when store is nilKevin Kuehler2019-07-158-4/+28
| | | | | | | 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>
* 71: Allow user to change config options at runtimePedro L. Ramos2019-07-151-0/+69
| | | | | | | | | 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.
* Fix crashes when operating on empty folder (#216)Daniel Bridges2019-07-108-10/+32
|
* Fix :pipe -b actually writing to stdinDrew DeVault2019-07-081-1/+9
|
* Fix re-opening of expired pipe tabsDrew DeVault2019-07-082-3/+11
|
* :exec, :pipe: show exit status on completionDrew DeVault2019-07-082-2/+4
|
* Add :exec and :pipe -b(ackground)Drew DeVault2019-07-082-17/+89
|
* Factor IMAP-specific structs out of UI modelsBen Burwell2019-07-081-15/+13
| | | | | | | 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.
* Make :pipe command more genericDrew DeVault2019-07-055-99/+107
|
* Remove unused caps stringDrew DeVault2019-07-041-2/+0
|
* Add IMAP folder tab completionGregory Mullen2019-07-043-2/+27
| | | | | Credit for this fix goes to Reto; I guess if we're not gonna be mutt we should probabaly do things correctly.
* Crash on delete in empty folder (#213)Zach Sisco2019-07-041-0/+3
|
* Add unsubscribe commandBen Burwell2019-07-042-0/+144
| | | | | | | | | | | | | | | | 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
* Use "open" instead of "xdg-open" on Darwin systemsBen Burwell2019-07-041-3/+2
|
* Implement basic tab completion supportGregory Mullen2019-06-2942-126/+524
| | | | | Tab completion currently only works on commands. Contextual completion will be added in the future.
* Implement :search, :next-result, :prev-resultDrew DeVault2019-06-262-0/+95
|
* msgview/save: Use defaultSavePath if no path is providedReto Brunner2019-06-251-6/+16
|
* Fix Cc & Bcc handling in repliesDrew DeVault2019-06-211-0/+3
|
* Insert nil check before handling prev/next messageMartin Hafskjold Thoresen2019-06-181-2/+8
| | | | | If these are called before the store is setup, `acct.Store()` returns `nil`, and we SEGFAULT in `MessageStore.nextPrev`.
* commands/msgview: add open commandRéouven Assouly2019-06-171-0/+61
|
* Make part encoding checks case insensitiveRéouven Assouly2019-06-162-6/+7
| | | | | | commands/msgview/save and commands/msgview/pipe now use case insensitive comparisons to determine if the part is encoded as base64 or quoted-printable.
* Support directories in path to :saveClayton Craft2019-06-141-4/+53
| | | | | | | | | | | | 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')
* commands/msgview: Add next/prev commandsKevin Kuehler2019-06-112-2/+40
| | | | Signed-off-by: Kevin Kuehler <kkuehler@brave.com>
* Move select functionality from msglist to msgstoreKevin Kuehler2019-06-113-3/+6
| | | | | | Remove msglist Next and Prev commands Signed-off-by: Kevin Kuehler <kkuehler@brave.com>
* commands/msg/archive: Work with msgviwerKevin Kuehler2019-06-111-3/+4
| | | | | | | | 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>
* Implement :mkdir commandDrew DeVault2019-06-091-0/+39
|
* Fix :new-account getoptsDrew DeVault2019-06-091-1/+1
|