1
0
mirror of https://github.com/djcb/mu.git synced 2024-06-26 07:29:17 +02:00
Commit Graph

554 Commits

Author SHA1 Message Date
Dirk-Jan C. Binnema
960a436e77 cli: split off commands into their own .cc files
Smaller files are easier to manage
2023-07-02 00:06:56 +03:00
Dirk-Jan C. Binnema
c6fff6a281 all: update for API changes (config etc.)
Use the new & improved APIs.
2023-07-02 00:06:56 +03:00
Dirk-Jan C. Binnema
ecf87c5d82 gmime-test: fix leak 2023-06-11 12:23:23 +03:00
Dirk-Jan C. Binnema
9544473e35 mu extract/view/verify: allow reading message from stdin
Fixes #1463.
2023-04-30 10:35:28 +03:00
Dirk-Jan C. Binnema
8762ac27dc mu: improve error numbers
Ensure they match what mu expects.
2023-04-11 20:47:48 +03:00
Dirk-Jan C. Binnema
ec942a988d tests: always log to file during tests
And set the cachedir (for logging and other things) to a random tmpdir.
2023-04-09 14:43:36 +03:00
Dirk-Jan C. Binnema
d90692e27b tests: turn off dead test test_mu_extract_01 2023-04-09 11:17:02 +03:00
Dirk-Jan C. Binnema
0e44764702 tests: fix links tests 2023-04-09 11:03:42 +03:00
Dirk-Jan C. Binnema
e43452fa18 test: don't "uniqify" link names during test 2023-04-09 11:02:58 +03:00
Dirk-Jan C. Binnema
0ab2371c5c mu-cfind: re-enable --after option
It was still there, but disabled.

Fixes #2470.
2023-04-08 20:48:46 +03:00
Dirk-Jan C. Binnema
cd23e6015d mu: allow relative message paths in mu commands 2023-04-06 07:19:26 +03:00
Dirk-Jan C. Binnema
ff1e06c7c8 mu-find: restore JSON output
Fixes #2453
2023-03-30 18:12:33 +03:00
Babak Farrokhi
99487c0155
Merge branch 'djcb:master' into master 2023-03-30 15:50:51 +02:00
Dirk-Jan C. Binnema
39101cf583 mu-find: brush off --format=links unit test
Enable it by default, and modernize it a little bit
2023-03-28 22:26:56 +03:00
Dirk-Jan C. Binnema
81ee182f05 mu: mu-view: don't insist on absolute path
Make it absolute so make_from_path can deal with it.
2023-03-28 20:58:11 +03:00
Babak Farrokhi
597a731099
Reset terminal color after error message 2023-03-26 22:05:47 +02:00
Dirk-Jan C. Binnema
96e16034c7 contact: fix quoting
Ensure that addresses with commas are quoted. Don't 2047-encode though.

Update tests.
2023-03-14 06:18:56 +02:00
Dirk-Jan C. Binnema
ff08731298 mu: add --uncooked option for mu extract
To avoid replacing spaces with dashes

Fixes #2434.
2023-02-23 20:23:25 +02:00
Dirk-Jan C. Binnema
3d4805de0c server: small output improvement
For human users.
2023-02-17 10:20:14 +02:00
Dirk-Jan C. Binnema
abfa6f277c mu: index html text as if it were plain text
This is a bit of hack to include html text in results.

Of course, html text is not really plain text, so this is a bit of a
hack until we introduce some html parsing step.
2023-01-31 23:41:57 +02:00
Dirk-Jan C. Binnema
3ec960c609 mu: improve mu-error
Add specific error-code for SchemaMismatch

Combine find/cfind no-matches
2023-01-29 15:38:40 +02:00
Dirk-Jan C. Binnema
e21d59e346 mu init: implement --reinit option
Create new mu database from an existing one.
2023-01-29 13:40:40 +02:00
Dirk-Jan C. Binnema
7db93fb0a7 mu-server: cosmetic 2023-01-29 12:03:13 +02:00
Dirk-Jan C. Binnema
4194f17440 mu: allow color in early command errors 2023-01-18 00:14:02 +02:00
Dirk-Jan C. Binnema
80a4842cb0 cfind: fix clang compiler warning 2023-01-16 22:35:20 +02:00
Derek Zhou
49fb937d61
fix batch-size option in sub_init
I use mu on a resource constrained VPS, so I need to reduce batch-size from the default value, thus I found this bug.
2023-01-15 12:54:04 -05:00
Dirk-Jan C. Binnema
6979a66630 utils: get rid of mu-util.[ch]
It was getting old...
Remove the unused parts, refactor the few parts still in use.
2023-01-14 20:02:05 +02:00
Dirk-Jan C. Binnema
8b7e63e84f mu-cfind: use UTC in json output
Fixes #2391.
2022-12-30 23:37:23 +02:00
Dirk-Jan C. Binnema
5300b7ce82 cfind: rework, add support for json output
Update the old cfind code, and add json output support while doing so.
2022-12-30 15:14:17 +02:00
Dirk-Jan C. Binnema
27ecbbdd65 many: use Mu::Regex instead of std::regex
The former is PCRE-compatible, and faster than std::regex.
2022-12-30 11:15:03 +02:00
Dirk-Jan C. Binnema
9eaad5ad9c mu-find: support shortcut chars in --sortfield
Fixes #2384.
2022-12-18 01:09:58 +02:00
Dirk-Jan C. Binnema
39a2c28777 mu: honor nocolor option
1. mu find hallo              --> color
2. mu find hallo | less       --> nocolor
3. NO_COLOR=yes mu find hallo --> nocolor

Fixes #2369.
2022-11-24 18:43:05 +02:00
Dirk-Jan C. Binnema
71162ee74f mu-find: bring back --reverse
It was missing after the cmdline parsing landed.

Fixes issue #2368.
2022-11-23 22:35:57 +02:00
Dirk-Jan C. Binnema
4d1352ec56 mu/options: Support date sortfield
Fixes #2368.
2022-11-22 23:16:37 +02:00
Dirk-Jan C. Binnema
ca33726628 mu/script: fix printing
Missing c_str, caught by macos build.
2022-11-19 11:16:45 +02:00
Dirk-Jan C. Binnema
f4ac16db5a mu/options: Add missing include unordered_map
This broke the MacOS build
2022-11-19 11:10:12 +02:00
Dirk-Jan C. Binnema
f43e991468 tests: update
Minor updates for the new CLI
2022-11-17 11:00:06 +02:00
Dirk-Jan C. Binnema
cec08ab1ea script: Rework guile script with new CLI support
Integrate the guile scripting a bit better into the mu cmdline.
Rework the old script module for that.
2022-11-17 11:00:06 +02:00
Dirk-Jan C. Binnema
36f6e387ae mu: implement new command-line parser
Implement a new command-line parser, based on CLI11.

It's a bit more C++'ish, and allows for a lot of fancy things... some of
which we have implemented here.

Update the various commands to use the new Options struct

Remove the old help strings; instead e.g. `mu help view` opens the
manpage.

Integrate the guile scripts more tightly.
2022-11-17 11:00:06 +02:00
Dirk-Jan C. Binnema
08ffba42b9 mu/cmd: update for new sexp API
Makes the code a bit cleaner.
2022-11-07 18:38:03 +02:00
Dirk-Jan C. Binnema
3d97db8ffc view: be clearer there's no text body found
There may have been an html body, but mu-view only shows a text-body;
make that clearer.

Add a test case for an html-only message.

Fixes #2349.
2022-10-16 00:57:19 +03:00
Dirk-Jan C. Binnema
44d3cefbf7
Merge pull request #2342 from sje30/patch-7
Update copyright to 2022
2022-10-02 14:34:34 +03:00
Stephen Eglen
36d006171d
Update copyright to 2022 2022-09-30 20:36:48 +01:00
Dirk-Jan C. Binnema
e416a5215f autotools: remove
Since 2008, autotools has served us well - thank you!

However, mu is now using meson build, and it's time to remove the
autotools support -- one build system is enough.
2022-08-20 11:19:29 +03:00
Dirk-Jan C. Binnema
317fe53ff7 tests: update test helpers and users
Move test-mu-common to mu-test-utils. Use mu_test_init as a wrapper for
g_test_init. Update users.
2022-08-11 22:55:10 +03:00
Dirk-Jan C. Binnema
1c57d91e26 mu-find: don't show deleted messages
Filter out messages for which there is no corresponding file.

Fixes #2306.
2022-07-19 21:54:26 +03:00
Dirk-Jan C. Binnema
8d2a805672 config: remove help_enabled flag
We of course still have "mu help <command>" but don't suggest help
options that do not exist.

Fixes #1664.
2022-06-30 07:44:03 +03:00
Dirk-Jan C. Binnema
9987ceb7a7 cmd-find: fix link generation
And some minor cleanups.
2022-06-29 07:50:16 +03:00
Dirk-Jan C. Binnema
0fe8f9a613 mu-util-play: simplify
Remove some unused options
2022-06-04 00:41:28 +03:00
Dirk-Jan C. Binnema
734445f78d mu-server: add a bit more debugging info 2022-05-30 20:30:33 +03:00
Dirk-Jan C. Binnema
b1ff292bbb mu: support MUHOME environment variable 2022-05-29 11:10:46 +03:00
Dirk-Jan C. Binnema
cea3167f3e lib: remove some dead code (mu-str/utils)
Remove unused library code; recycle some electrons.
2022-05-19 23:38:49 +03:00
Dirk-Jan C. Binnema
2bc83b3c03 mu-info: turn back on again
This reverts commit c708e0996b.

Doesn't avoid the macos ci crash
2022-05-18 08:22:09 +03:00
Dirk-Jan C. Binnema
c708e0996b mu-info: temporarily turn off 2022-05-18 08:07:59 +03:00
Dirk-Jan C. Binnema
b03590cca8 tests: skip missing timezones in queries, too 2022-05-18 01:08:40 +03:00
Dirk-Jan C. Binnema
e835c7eea0 build: fix some clang warnings 2022-05-17 22:42:17 +03:00
Dirk-Jan C. Binnema
a46dab2aad mu: use locale_workaround for tables
The tabulate package triggers some locale exception, let's attempt to work
around it.
2022-05-17 22:32:37 +03:00
Dirk-Jan C. Binnema
6e37790012 mu: improve error reporting 2022-05-15 13:40:44 +03:00
Dirk-Jan C. Binnema
619c1c81fe fields: add sexp column
Indicates whether the given field is part of the s-expression.
2022-05-14 20:42:09 +03:00
Dirk-Jan C. Binnema
907751bc7b test: enable some more 2022-05-13 23:01:33 +03:00
Dirk-Jan C. Binnema
158117e843 mu: Make commands Result-based
Use Result<void> as the return value, simplifying some code.
2022-05-12 08:56:13 +03:00
Dirk-Jan C. Binnema
2e9666af0b store/info: Gather some usage statistics
Keep track of the latest-change/latest-index.
2022-05-10 08:16:47 +03:00
Dirk-Jan C. Binnema
81689f0af3 contacts-cache: return most relevant contacts
Return in the contacts in *reverse* rank order, i.e. the most relevant come first.
This is useful since we only want the first maxnum contacts, and those should of
course be the most relevant.

Update mu cfind/server as well.

cfind
2022-05-09 22:25:28 +03:00
Dirk-Jan C. Binnema
80d84bf635 store: use Result<Store> builder, add auto upgrade
Make it a Result type, and add auto-upgrade (not enabled yet)
Update dependents.
2022-05-09 22:25:28 +03:00
Dirk-Jan C. Binnema
dc69505580 mu-maildir: No need for namespaced function names
Mu::mu_maildir_... -> Mu::maildir_...
2022-05-09 22:25:28 +03:00
Dirk-Jan C. Binnema
d79488efdc avoid warnings, update tests 2022-05-06 22:54:41 +03:00
Dirk-Jan C. Binnema
ec500d3ed4 update documentation 2022-05-06 22:17:53 +03:00
Dirk-Jan C. Binnema
4fc05261ce message: implement rfc2047-encoding addresses
For address names with commas, quotes etc.
2022-05-06 22:17:53 +03:00
Dirk-Jan C. Binnema
da8489d0f6 sexp: allow for some prettified string output
Allow for adding newlines between list items
2022-05-06 22:17:53 +03:00
Dirk-Jan C. Binnema
f9550f3cb6 mu: merge flags into fields command
One is enough
2022-05-06 22:17:53 +03:00
Dirk-Jan C. Binnema
62e546a4e2 autotools: fix build 2022-05-05 23:40:56 +03:00
Dirk-Jan C. Binnema
87c122d1bc cmd-cfind: fix the "--after" handling
Use the message-date
2022-05-05 01:40:17 +03:00
Dirk-Jan C. Binnema
e6c3718253 cmd-extra: remove debug output 2022-05-05 01:40:17 +03:00
Dirk-Jan C. Binnema
6126d7ee62 store: ensure updates update message sexp too
And turn all "add" into "replace" so old messages get removed.
Update tests too.
2022-05-05 01:40:17 +03:00
Dirk-Jan C. Binnema
85fed37870 message/document: update sexp on the fly
Keep the sexp for the document up to date during scan / change, instead of
having a separate step.
2022-05-05 01:40:17 +03:00
Dirk-Jan C. Binnema
8f9d1e5e60 mu: add fields/flags commands
Useful information for devising queries.

Directly generated from the source. Add manpages, too.
2022-05-05 01:38:25 +03:00
Dirk-Jan C. Binnema
9dd1aaeef5 cmd: update commands and tests for Message 2022-04-30 10:40:45 +03:00
Dirk-Jan C. Binnema
8db299ea05 commands: Updated 'find' and 'index' to use Mu::Message 2022-04-30 10:40:45 +03:00
Dirk-Jan C. Binnema
b21263da4a autotools: minor updates 2022-04-18 22:40:46 +03:00
Dirk-Jan C. Binnema
374d708024 mu: update 'extract' 2022-04-18 22:26:04 +03:00
Dirk-Jan C. Binnema
6b8f7db693 mu: update 'verify' command for message changes 2022-04-18 22:26:04 +03:00
Dirk-Jan C. Binnema
c0fe17eb1d test-mu-cmd: minor tweaks for message update 2022-04-18 22:26:04 +03:00
Dirk-Jan C. Binnema
66ee2004fc mu: extract Message::Options from command-line 2022-04-18 22:04:33 +03:00
Dirk-Jan C. Binnema
7c51bc68d4 option: rename to to_string_opt and to_string_view_opt
to_option_string -> to_string_opt
to_string_view   -> to_string_view_opt
2022-04-18 22:04:33 +03:00
Dirk-Jan C. Binnema
478ef67fc6 flags: rename flags_to_string -> to_string
For consistency.
2022-04-16 16:20:38 +03:00
Dirk-Jan C. Binnema
e74a84c7a2 cmd-verify: honor the auto-retrieve flag 2022-04-16 16:20:38 +03:00
Dirk-Jan C. Binnema
d2e8cd0f34 cmd verify: rework in terms of Message 2022-04-16 16:20:38 +03:00
Dirk-Jan C. Binnema
ad12e83eb5 cmd view/extract: rework in terms of Message 2022-04-16 16:20:38 +03:00
Dirk-Jan C. Binnema
db963f66df cfind: improve clang compatibility 2022-04-04 23:44:20 +03:00
Dirk-Jan C. Binnema
4fb0e0664d cfind: fix clang compilation (gmtime)
And a little code tidiness.
2022-04-04 08:41:20 +03:00
Dirk-Jan C. Binnema
b21e5a57b8 extract: rework in terms of Mu::Message
Use the new message class
2022-03-28 22:36:32 +03:00
Dirk-Jan C. Binnema
f7c84006d7 many: update for lib/message updates
Adapt to the new names / directory. Big commit, but mostly just very boring renaming.
2022-03-26 17:19:10 +02:00
Dirk-Jan C. Binnema
2e3fdfaeac mu-config: cosmetic 2022-03-07 06:50:18 +02:00
Dirk-Jan C. Binnema
04913d8ea9 tests: update for mu-message-fields 2022-03-07 06:50:18 +02:00
Dirk-Jan C. Binnema
65afb207d7 cmd-find: use mu-message-fields 2022-03-07 06:50:18 +02:00
Dirk-Jan C. Binnema
45499efef8 mu/tests: update unit tests
CI Ubuntu seems to behave quite differently from my Fedora.
2022-02-27 11:09:15 +02:00
Dirk-Jan C. Binnema
d236ed6e7f test-mu-cmd: fix for CI
Seems on Ubuntu we can get back an even smaller message, which still is okay.
So loosen the check a bit.
2022-02-26 11:23:38 +02:00
Dirk-Jan C. Binnema
724e0fd03a test-mu-cmd: better log failure
Some test fails on Ubuntu (in Github CI), though not locally.
2022-02-26 11:11:04 +02:00
Dirk-Jan C. Binnema
af87cde217 utils/mu-date: remove
Remove mu-date.[ch] and convert its last users to use time_to_string instead.
2022-02-22 23:07:29 +02:00
Dirk-Jan C. Binnema
f10a7560f7 build: fix some warnings 2022-02-21 23:51:46 +02:00