| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
| |
These messages are not really the root of the thread, and should not be
displayed as such. Add a new special prefix to make them appear like
the first child of a rootless thread.
Signed-off-by: Julio B <julio.bacel@gmail.com>
Tested-by: Inwit <inwit@sindominio.net>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
| |
Add an option to encrypt outgoing messages to the sender or the key
specified in pgp-key-id.
Implements: https://todo.sr.ht/~rjarry/aerc/237
Changelog-added: New `pgp-self-encrypt` option in `accounts.conf`.
Signed-off-by: Bartkk <bartkk@bartkk.xyz>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the [ui].dialog-{position,width,height} options in aerc.conf to set
the position, width and height of popover dialogs such as the one from
:menu, :envelope or :attach -m relative to the main window.
Changelog-added: Add `[ui].dialog-{position,width,height}` to set
the position, width and height of popover dialogs.
Signed-off-by: Johannes Thyssen Tishman <johannes@thyssentishman.com>
Reviewed-by: Tim Culverhouse <tim@timculverhouse.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A single notmuch message can represent multiple files. As a result,
file-based operations like move, copy, and delete can be ambiguous. Add
a new account config option, multi-file-strategy, to tell aerc how to
handle these ambiguous cases. Also add options to relevant commands to
set the multi-file strategy on a per-invocation basis.
If no multi-file strategy is set, refuse to take file-based actions on
multi-file messages. This default behavior is mostly the same as aerc's
previous behavior, but a bit stricter in some cases which previously
tried to be smart about multi-file operations (e.g., move and delete).
Applying multi-file strategies to cross-account copy and move operations
is not implemented. These operations will proceed as they have in the
past -- aerc will copy/move a single file. However, for cross-account
move operations, aerc will refuse to delete multiple files to prevent
data loss as not all of the files are added to the destination account.
See the changes to aerc-notmuch(5) for details on the currently
supported multi-file strategies.
Changelog-added: Tell aerc how to handle file-based operations
on multi-file notmuch messages with the account config option
`multi-file-strategy` and the `-m` flag to `:archive`, `:copy`,
`:delete`, and `:move`.
Signed-off-by: Jason Cox <me@jasoncarloscox.com>
Tested-by: Maarten Aertsen <maarten@nlnetlabs.nl>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The mimetype of attachments are set by the sender, which can results in
attachments getting not so useful mimetypes (e.g.
application/octet-stream for a csv). Allow matching filter against
filenames directly, by adding the `.filename,` and `.filename,~` syntax,
similarly to headers.
Changelog-added: Match filters on filename via `.filename,~<regexp> =`.
Signed-off-by: Bence Ferdinandy <bence@ferdinandy.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
| |
Since aerc uses vaxis, the image/* filter has incorrect information.
Update this with the new behaviour.
Fixes: 4e26faf498b8 ("msgviewer: implement inline image viewing")
Signed-off-by: Bence Ferdinandy <bence@ferdinandy.com>
Reviewed-by: Inwit <inwit@sindominio.net>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
| |
Correct aerc-imap(5) which currently has the default idle-timeout listed
as 10ms even though the actual default is 10s.
Signed-off-by: Gary Kim <gary@garykim.dev>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
| |
This matches the behavior of :attach.
Changelog-added: The `:detach` command now understands globs similar to
`:attach`.
Signed-off-by: Tristan Partin <tristan@partin.io>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This used to work, but after f3a61a34 (where :query) was added, we had
two commands which then started with q. So, the automatic alias stopped
working.
Changelog-added: Specify a ":q" alias for quit.
Signed-off-by: Tristan Partin <tristan@partin.io>
Acked-by: Moritz Poldrack <moritz@poldrack.dev>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
| |
It's useful to have some indicator of whether or not aerc is in visual
mark mode. Add such an indicator to the TrayInfo available in the status
line.
Changelog-changed: The `TrayInfo` template variable now includes a
visual mark mode indicator.
Signed-off-by: Jason Cox <me@jasoncarloscox.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
| |
Document the msglist_thread_context styleset object that allows styling
the additional messages displayed when using the show-thread-context
option.
Fixes: 4ec1e1a5e4c7 ("ui: enable showing of thread-context")
Signed-off-by: Maarten Aertsen <maarten@nlnetlabs.nl>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current :cf command can be used to create folders for arbitrary
notmuch queries. These folders use the query as their namee. In some
cases, though, it's useful to give a more human-readable name. Create a
new :query command to allow doing so.
The :query command accepts an optional -n flag to specify a name. The
remaining arguments are interpreted verbatim as a notmuch query. If no
name is specified, the query itself is used as the name.
For example, to create a new folder with the full thread of the current
message, named by its subject, run the following command:
:query -n "{{.SubjectBase}}" thread:"{mid:{{.MessageId}}}"
:query could have been implemented as an additional flag to :cf. Giving
a name to the created folder would make the smantics of :cf strange,
though. For example, to create a named query folder, one would use
:cf -n <name> <query>. This syntax feels odd; the name of the folder
seems like it ought to be the positional argument of the change folder
command. Alternatively, the usage could be :cf -q <query> <name>, but
this feels wrong as well: the query, which is provided as a positional
parameter when no name is specified, becomes a flag parameter when a
name is specified. What's more, both of these potential usages add a
notmuch-specific flag to an otherwise general command. Creating a new
command feels cleaner. Perhaps the current query functionality of the
:cf command could eventually be deprecated to remove the duplicate
functionality and keep :cf limited to changing to existing folders.
Changelog-added: Create notmuch named queries with the `:query`
command.
Signed-off-by: Jason Cox <me@jasoncarloscox.com>
Tested-by: Inwit <inwit@sindominio.net>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new setting to configure the default split layout for message list
tabs. The syntax is a bit different from the :split and :vsplit commands
since it needs to convey the direction in the value as well. I didn't
reuse split/vsplit since they are a bit confusing when used in
a configuration file.
The syntax is as follows:
message-list-split = [<direction>] <size>
The direction is optional and defaults to horizontal. The size is the
number of terminal cells that will be used to display the message list.
All these examples are equivalent:
message-list-split = horiz 12
message-list-split = h 12
message-list-split = 12
Same idea for vertical splits:
message-list-split = vertical 120
message-list-split = vert 120
message-list-split = v 120
Both :split and :vsplit commands remain usable as before. The
configuration options only affect the initial layout at startup.
Add config.SPLIT_* constants and sanitize AccountView.{Split,Vsplit}
methods.
Changelog-added: Configure default message list `:split` or `:vsplit`
on startup with `message-list-split` in `aerc.conf`.
Signed-off-by: Robin Jarry <robin@jarry.cc>
Tested-by: Tim Culverhouse <tim@timculverhouse.com>
|
|
|
|
|
|
|
|
| |
Refactor the bind parser to construct arbitrary modified keys instead of
only relying on built in maps. Add additional tests to cover edge cases.
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When aerc receives a command over IPC, it quotes the arguments before
passing them on to the internal command parser. In many cases, the
parser interprets the quotes, and the command runs with the arguments
exactly as they were specified in the shell. In some cases, though, the
quotes are not interpreted and the additional quotes can cause the
command to fail. Simply eliminating the addition of quotes is not
possible because some commands need them.
Allow a command and its arguments to be specified as a single argument
in the shell. In that case, pass that argument verbatim to the internal
command parser so that it is interpreted exactly as if it had been typed
directly in aerc's command line.
Link: https://lists.sr.ht/~rjarry/aerc-devel/%3C20240203085541.27416-2-contact%40willowbarraco.fr%3E
Changelog-added: Execute IPC commands verbatim by providing the
command and its args as a single argument in the shell.
Cc: Willow Barraco <contact@willowbarraco.fr>
Signed-off-by: Jason Cox <me@jasoncarloscox.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
| |
When scripting for the mail-received hook, it can be useful to identify
a mail in a maildir. In that case the Message-ID might be one of the
most useful parameters to go for identifying the file of a message.
Changelog-changed: Add Message-ID to the variables of
`[hooks].mail-received`.
Suggested-by: Kirill Chibisov <contact@kchibisov.com>
Signed-off-by: Moritz Poldrack <git@moritz.sh>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To be consistent with stylesets for the rest of aerc's UI, settings in
the [viewer] section now only override the default colorize theme.
Implements: https://todo.sr.ht/~rjarry/aerc/222
Changelog-changed: The `[viewer]` section of stylesets now preserve
default values as documented in `aerc-stylesets(7)` unless explicitly
overridden.
Requested-by: Karel Balej <balejk@matfyz.cz>
Signed-off-by: Robin Jarry <robin@jarry.cc>
Tested-by: Karel Balej <balejk@matfyz.cz>
Tested-by: Matěj Cepl <mcepl@cepl.eu>
Tested-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The default styleset and ui settings are quite dull and don't make use
of the "newer" features that have been added to aerc in the past two
years.
Change the default styleset to something more colorful that renders
correctly on both dark and light backgrounds. Change the default ui
settings to get something more appealing to new users.
Save the previous default color theme to a new `monochrome` styleset.
Changelog-changed: The default `[ui]` settings and the `default`
styleset have changed extensively. A no-color theme can be restored
with the `monochrome` styleset.
Cc: Marc Coquand <marc@mccd.space>
Signed-off-by: Robin Jarry <robin@jarry.cc>
Tested-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a command to allow for reintroduction of messages into the transport
system. This means taking a message and forwarding it to new recipients
as is including original headers. The fact that the message has been
bounced is indicated by the prepend of *Resent-* headers in accordance
with RFC 2822. The bounced message is not stored in the sent mailbox.
Also add an `-A` switch to allow for bouncing using different account
than the one currently selected.
Also add default keybind and documentation entry for this command.
The mentioned RFC also recognizes *Resent-Cc* and *Resent-Bcc* headers
which might be an interesting continuation of this -- currently all
recipients are specified in *Resent-To*. Also more control over the
*Resent-From* header value could be implemented.
This command is strongly inspired by (neo)mutt's `bounce`.
Implements: https://todo.sr.ht/~rjarry/aerc/115
Changelog-added: `:bounce` command to reintroduce messages into the
transport system.
Signed-off-by: Karel Balej <balejk@matfyz.cz>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
| |
Update color value reference in documentation
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
| |
Document the recently added {{.Signature}} template.
Signed-off-by: Johannes Thyssen Tishman <johannes@thyssentishman.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new :align command that aligns the selected message vertically at
the top, center, or bottom of the message list.
The command requires a position argument that can either be: "top",
"center", or "bottom".
Create the following default keybinds:
zz = :align center<Enter>
zt = :align top<Enter>
zb = :align bottom<Enter>
Changelog-added: Add new `:align` command to align the selected
message at the top, center, or bottom of the message list.
Suggested-by: Ángel Castañeda <angel@acsq.me>
Signed-off-by: Koni Marti <koni.marti@gmail.com>
Tested-by: Jason Cox <me@jasoncarloscox.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the [ui].msglist-scroll-offset option in aerc.conf to set the scroll
offset in number of lines from the top and bottom of the message list.
Changelog-added: Add `[ui].msglist-scroll-offset` option to set a
scroll offset for the message list.
Suggested-by: Ángel Castañeda <angel@acsq.me>
Signed-off-by: Koni Marti <koni.marti@gmail.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Parse inline comments in binds.conf as annotations to the corresponding
keybinds. Note that a space is required before the comment symbol, so
the comment delimiter is " # ".
Example:
p = :postpone<Enter> # I'll work on it later
where "I'll work on it later" is the annotation.
When a comment symbol ("#") is needed in the value part of the keybind,
it should be escaped ("\#"). Comment symbols can be used without
restriction in the annotation itself.
Signed-off-by: Koni Marti <koni.marti@gmail.com>
Tested-by: Bence Ferdinandy <bence@ferdinandy.com>
Reviewed-by: Bence Ferdinandy <bence@ferdinandy.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
| |
Rename the command :patch delete to :patch unlink. This expresses the
"link" between the project data within aerc and the underlying
repository better. :patch unlink does not delete anything in the
repository, it only removes the metadata about currently applied patch
revisions/tags.
Signed-off-by: Koni Marti <koni.marti@gmail.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
| |
Replace the typo with a correct word for the description of the
OriginalDate template variable to make sense.
Signed-off-by: Karel Balej <balejk@matfyz.cz>
Acked-by: Moritz Poldrack <moritz@poldrack.dev>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
| |
Rename the :patch remove command to :patch drop to better express the
this operation is the counter-part to :patch apply.
Signed-off-by: Koni Marti <koni.marti@gmail.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement the listbox widget as fallback picker when no command to :menu
was specified or the command cannot be found in PATH.
The listbox will also be used with "-" as the shell command:
:menu -c "-" -d :cf
Signed-off-by: Koni Marti <koni.marti@gmail.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The thread prefix appearance is inspired by mutt and has been regarded
by some as too wide and not very aesthetically pleasing. Nevertheless,
it has some technical limitations, like not being able to show if a
thread is folded.
Allow for full customisation of the thread prefix by introducing 14 new
config options.
Dirlist is not affected.
Changelog-added: Thread arrow prefixes are now fully configurable.
Co-authored-by: Robin Jarry <robin@jarry.cc>
Signed-off-by: inwit <inwit@sindominio.net>
Tested-by: Koni Marti <koni.marti@gmail.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
| |
Two aliases did not have the same signature as the main command. Add the
missing signatures.
Signed-off-by: Bence Ferdinandy <bence@ferdinandy.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
| |
Since except for :help keys, we literally open man with the appropriate
aerc manpages, it makes sense to have that as an alias.
Signed-off-by: Bence Ferdinandy <bence@ferdinandy.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When simulating keystrokes of a binding, the command completion is
disabled momentarily for performance reasons and re-enabled once the
sequence is finished. See commit 055c6dc6604f ("exline: don't draw
completions for keybinds") for more details.
Since commit 0b0095eeadaf ("complete: allow disabling automatic
completion"), it is possible to only rely on explicit keystrokes to
display the completion menu.
With the default settings, if a key sequence contains more than
[ui].completion-min-chars, it should trigger completion after
[ui].completion-delay. But since the completion was disabled when the
keystrokes are input, it does not trigger the completion.
To work around this, an artificial <Tab> keystroke was added at the end
of the sequence to force trigger the completion menu. For more details,
see commit 04869bd2a39a ("aerc: fix popover menu regression").
The workaround that was added, along with commit b3dc63d69c14
("complete: only display popover for more than one choice"), forces the
completion when there is a single choice. Completely ignoring
[ui].completion-min-chars = manual.
Only explicitly trigger the completion if the completion key was seen in
the keystroke sequence or if completion-min-chars is not set to manual.
Use the correct completion key and not hard code Tab.
Fixes: 0b0095eeadaf ("complete: allow disabling automatic completion")
Fixes: https://todo.sr.ht/~rjarry/aerc/210
References: https://todo.sr.ht/~rjarry/aerc/104
Cc: Skejg <grolleman@zoho.com>
Reported-by: Karel Balej <balejk@matfyz.cz>
Signed-off-by: Robin Jarry <robin@jarry.cc>
Tested-by: Karel Balej <balejk@matfyz.cz>
Tested-by: Koni Marti <koni.marti@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Support the draft flag wherever flags are used. Automatically set it
when postponing a message, and allow recalling a message without the -f
flag if it has the draft flag set, regardless of what folder it's in.
Notmuch doesn't seem to pick up on the draft flag when indexing even
though the flag is set on the maildir file. Explicitly set all tags
corresponding to set flags when appending a message in notmuch.
Changelog-added: Support the `draft` flag.
Signed-off-by: Jason Cox <me@jasoncarloscox.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new -a flag to :mv. When specified, an account name is required
before the folder name. If the destination folder doesn't exist,
it will be created whether or not the -p flag is specified.
Changelog-added: Move messages across accounts with `:mv -a <account>
<folder>`.
Signed-off-by: Johannes Thyssen Tishman <johannes@thyssentishman.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new -a flag to :cp. When specified, an account name is required
before the folder name. If the destination folder doesn't exist,
it will be created whether or not the -p flag is specified.
Changelog-added: Copy messages across accounts with `:cp -a <account>
<folder>`.
Signed-off-by: Johannes Thyssen Tishman <johannes@thyssentishman.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
| |
Add a hook to trigger when a message is sent.
References: https://todo.sr.ht/~rjarry/aerc/136
Signed-off-by: Moritz Poldrack <git@moritz.sh>
Tested-by: Bence Ferdinandy <bence@ferdinandy.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new pgp-attach-key boolean setting in accounts.conf. When set to
true, enabling message signing (either automatically via pgp-auto-sign
or manually with :sign) will imply attaching the (public) key that will
be used to sign the message before sending.
The automatically attached key can be unattached like any other
attachment with :detach.
Implements: https://todo.sr.ht/~rjarry/aerc/207
Changelog-added: Automatically attach signing key with `pgp-attach-key`
in `accounts.conf`.
Requested-by: Drew Devault <sir@cmpwn.com>
Signed-off-by: Robin Jarry <robin@jarry.cc>
Tested-by: Thomas Böhler <witcher@wiredspace.de>
Reviewed-by: Thomas Böhler <witcher@wiredspace.de>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add --aerc-conf, --binds-conf and --accounts-conf CLI flags, which
respectively override the default aerc.conf, binds.conf and
accounts.conf configuration files. If the specified files do not exist
or cannot be read, exit with an error.
Implements: https://todo.sr.ht/~rjarry/aerc/209
Changelog-added: CLI flags to override paths to config files.
Signed-off-by: Bence Ferdinandy <bence@ferdinandy.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new :menu command that can be used to spawn a shell command in an
interactive dialog and execute aerc commands for each of the lines
printed on its standard output like xargs(1) would do in a shell.
The shell command can be configured in aerc.conf under
[general].default-menu-cmd and overridden via the :menu -c <cmd> option.
There are two flags to provide input text to the shell command which can
be useful in combination with other aerc commands:
-a: All account names, one per line:
'<account>' LF
-d: All current account directory names, one per line:
'<directory>' LF
-ad: All directories of all accounts, one per line:
'<account>' '<directory>' LF
Here are some examples:
:menu -adc fzf :cf -a
:menu -c 'fzf --multi' :attach
:menu -dc 'fzf --multi' :cp
And also for key bindings:
<C-p> = :menu -adc fzf :cf -a<Enter>
Changelog-added: New `:menu` command to invoke other aerc commands
based on a shell command output.
Signed-off-by: Robin Jarry <robin@jarry.cc>
Tested-by: Bence Ferdinandy <bence@ferdinandy.com>
Tested-by: Johannes Thyssen Tishman <johannes@thyssentishman.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some clients are sending a text/plain part that contains nothing but the
text/html part. This is rather suboptimal when replying. To be able to
filter these, it is important to be able to detect things like
<!doctype html>.
Add basic string operations to the template functions.
Signed-off-by: Moritz Poldrack <git@moritz.sh>
Tested-by: Koni Marti <koni.marti@gmail.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
| |
There's no colorized filter.
Fixes: c56e938f9c82 ("doc: proofreading")
Signed-off-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For the maildir and notmuch backends, add the full path of the message
as Filename to templates. In case of a notmuch message having multiple
files associated with it, it returns a random path. Also add Filenames
to templates, which is a list of all associated message paths. This is
relevant for the notmuch backend, where a single messages is shown, if
there are multiple copies of it.
Changelog-added: Add filepath to messages in templates as .Filename(s)
Signed-off-by: Bence Ferdinandy <bence@ferdinandy.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
| |
Implement the :patch find command. Search and filter for a given commit
by subject line in the current accout and current folder.
Signed-off-by: Koni Marti <koni.marti@gmail.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement worktree support for the patch management.
Use ":patch apply -w <commit-ish> <tag>" to create a new worktree and
apply the selected messages to it. The worktree is linked to repo in the
current project.
Internally, the worktree is stored as a new project. When this project
is deleted with ":patch delete", the underlying linked worktree is
removed as well.
":patch list" shows when a project is a worktree and to what project it
is linked to.
Worktrees enable the users to create a new copy of the repo at a given
commit and apply patches without interrupting the current work in the
base repo.
Signed-off-by: Koni Marti <koni.marti@gmail.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
| |
Add the :patch apply command to apply a patch set and create a
corresponding tag. The tag command argument can be completed based on
the subject lines of the selected messages. Add a test for the
completion proposal.
Signed-off-by: Koni Marti <koni.marti@gmail.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
| |
Fix check-docs linter for subcommands, i.e. where spaces are between the
root command and the subcommands such as in ":patch init".
Signed-off-by: Koni Marti <koni.marti@gmail.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
| |
Document the local patch management. Adjust the help command. Add
default key binds.
Changelog-added: Patch management with `:patch`.
Signed-off-by: Koni Marti <koni.marti@gmail.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new -a flag to :cf. When specified, an account name is required
before the folder name and the focus will be changed to the
corresponding account tab before changing folders.
If the target folder does not exist, an explicit error will be reported.
Changelog-added: Change to a folder of another account with
`:cf -a <account> <folder>`.
Signed-off-by: Robin Jarry <robin@jarry.cc>
Co-authored-by: Johannes Thyssen Tishman <johannes@thyssentishman.com>
Tested-by: Johannes Thyssen Tishman <johannes@thyssentishman.com>
|
|
|
|
|
|
|
|
|
| |
\n needs to be escaped in .scd files. Reword the description to make it
clear that CRLF is the standard.
Fixes: ad159d5e9bd4 ("compose: add option for LF-only editors")
Signed-off-by: Robin Jarry <robin@jarry.cc>
Acked-by: Moritz Poldrack <moritz@poldrack.dev>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An empty subject, especially in a thread makes it for a slightly jarring
layout. Add a new option empty-subject option to UI with "(no subject")
as the default value. If the subject is empty and the current message is
not the same subject as it's parent in a thread make {{.Subject}}
evaluate to this option's value.
Changelog-added: The `{{.Subject}}` template is evaluated to the new
option `[ui].empty-subject` if the subject is empty.
Signed-off-by: Bence Ferdinandy <bence@ferdinandy.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|