aboutsummaryrefslogtreecommitdiff
path: root/commands/account
AgeCommit message (Collapse)Author
2019-11-17commands/account: Disable :view for deleted msgsKevin Kuehler
Allowing the user to view deleted messages creates all sorts of race conditions. The most devious race condition is pv.source can be set to a nil while another PartViewer is still running a goroutine in attemptCopy. Here is a trace when this happens. goroutine 76 [running]: io.copyBuffer(0x7f8ad02641d0, 0xc00040f590, 0x0, 0x0, 0xc0007cc000, 0x8000, 0x8000, 0x0, 0x0, 0x8b3d60) /usr/lib/go/src/io/io.go:402 +0x101 io.Copy(...) /usr/lib/go/src/io/io.go:364 git.sr.ht/~sircmpwn/aerc/widgets.(*PartViewer).attemptCopy.func4(0xc00017efd0, 0xc0004da7c0) /home/keur/repos/aerc/widgets/msgviewer.go:576 +0x611 created by git.sr.ht/~sircmpwn/aerc/widgets.(*PartViewer).attemptCopy /home/keur/repos/aerc/widgets/msgviewer.go:544 +0x144 We could add a guard in store.FetchBodyPart to only call the callback when msg.Part.Reader != nil, but we still get a hanging pager. Therefore it seems more reasonable to disable this completely. Signed-off-by: Kevin Kuehler <keur@xcf.berkeley.edu>
2019-11-10Add Templates with ParsingSrivathsan Murali
+ Changes NewComposer to return error. + Add lib to handle templates using "text/template". + Add -T option to following commands - compose. - reply - forward + Quoted replies using templates. + Forwards as body using templates + Default templates are installed similar to filters. + Templates Config in aerc.conf. - Required templates are parsed while loading config. + Add aerc-templates.7 manual for using template data.
2019-09-20Make commands join args with spacesJeffas
This patch ensures the following commands join their arguments with spaces to make it easier to interact with: - cf - mkdir - cd - attach - detach - ct - copy - move - save
2019-09-20Add sorting functionalityJeffas
There is a command and config option. The criteria are a list of the sort criterion and each can be individually reversed. This only includes support for sorting in the maildir backend currently. The other backends are not supported in this patch.
2019-09-12Add signaturesJeffas
This adds the ability for per-account signatures in the accounts.conf config file. The signature is added to emails in the editor at the bottom of the email. This includes when forwarding, replying to, and composing emails. There are two config options: signature-file and signature-cmd. The former allows a signature to be read from a file and the latter allows an arbitrary command to be executed to return the signature. The config options have been documented in aerc-config
2019-09-04commands: move ParseNextPrevMessage error value to its last return valueWagner Riffel
Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
2019-09-04all: rewrite references to strings.Index to strings.ContainsWagner Riffel
Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
2019-09-04all: use fmt.Errorf for fomartting errorsWagner Riffel
Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
2019-09-04all: purge redundant underscoresWagner Riffel
Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
2019-08-29extract search criteria parsing into the backendsReto Brunner
2019-08-13Add optional body argument to compose commandDaniel Bridges
2019-08-12Joining the args in cf for folders with spacesBen Cohen
2019-08-12Ignore scroll command when msgstore is nilJelle Besseling
Fixes ~sircmpwn/aerc2#205. Many functions do a nil check on the store, so this changes Store() so it returns nil when msglist is nil. It also places the Scroll() behind the nil check in the next-message command. https://todo.sr.ht/~sircmpwn/aerc2/205
2019-08-12Let user edit arbitrary headers in composerDaniel Bridges
2019-08-07Implement next-message in msgview using accountJelle Besseling
This makes sure that the next-message command accepts the same arguments in the account view and the msgview
2019-08-07Implement next-folder using NextPrev with amountJelle Besseling
This fixes ~sircmpwn/aerc2#182 https://todo.sr.ht/~sircmpwn/aerc2/182
2019-08-02ChangeFolder: do not depend on the msgstoreReto Brunner
We need to clear the filtering etc upon folder switch. Not having a valid msgstore is however no reason not to switch directories.
2019-07-26Support configurable header layout in compose widgetDaniel Bridges
2019-07-19Implement :filter, :clearKevin Kuehler
Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
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-05Make :pipe command more genericDrew 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-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-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-11commands/msgview: Add next/prev commandsKevin Kuehler
Signed-off-by: Kevin Kuehler <kkuehler@brave.com>
2019-06-09Implement :mkdir commandDrew DeVault
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>
2019-06-02Fix infinite recursion in reply.go:findPlaintextDrew DeVault
2019-06-01Fetch plaintext part when replyingDrew DeVault
2019-05-27Add :save and :pipe commands to viewerGalen Abell
* :save takes a path and saves the current message part to that location * :pipe is the same as pipe on the account page, but uses the current message part rather than the whole email (ie :pipe gzip -d) * Refactored account:pipe and extracted common pipe code to commands.util.QuickTerm * Added helper command aerc.PushError
2019-05-25Implement :forwardDrew DeVault
2019-05-25Fix special characters in address.PersonalNameDrew DeVault
2019-05-20Flesh out multipart switcherDrew DeVault
2019-05-20pipe.go: let tab widget handle ellipsisDrew DeVault
2019-05-19Missed a spotDrew DeVault
2019-05-19Rename :delete-message et al to :delete et alDrew DeVault
2019-05-19Advance cursor after :delete and :moveDrew DeVault
So that you can repeat the action on the next message if appropriate
2019-05-18Fix scdoc & gofmt issuesDrew DeVault
2019-05-17s/aerc2/aerc/gDrew DeVault
2019-05-16Improve reply-all recipient enumeration strategyDrew DeVault
2019-05-16Decode email when reading it for quotingDrew DeVault
2019-05-16Don't prefix Re: if prefix already presentDrew DeVault
2019-05-16Implement :reply -q and :reply -aDrew DeVault
2019-05-16Implement (basic form) of :replyDrew DeVault
2019-05-15Copy sent emails to the Sent folderDrew DeVault
Or rather, to a user-specified folder
2019-05-14Implement move, mv commandsDrew DeVault
2019-05-14Implement :copy (aka :cp)Drew DeVault
2019-05-14Update tab name as subject changesDrew DeVault
Also moves truncation to the tab widget
2019-05-14Add $EDITOR, internal config for composeDrew DeVault