Commit Graph

347 Commits

Author SHA1 Message Date
Dirk-Jan C. Binnema 95dffb98a6 query: Rework querying/threading machinery
Rewrite the query machinery in c++:
- use an MSet decorator instead of the mu-msg-iter stuff
- use mu-query-decider to mark duplicates/unreadable/related messages
- use mu-query-threader to replace the older container/thread code

Algorithm did not substantially change, but the implementation details
did.
2021-01-20 14:09:04 +02:00
Dirk-Jan C. Binnema 3ff8fd165f cmd-server: use std::fflush 2020-12-07 00:35:58 +02:00
Dirk-Jan C. Binnema 0ef88af34e cmd-server: fflush before reading next line
Seems this is necessary on Windows/MSYS2. HT to juanjosegarciaripoll.
2020-12-06 17:04:10 +02:00
Dirk-Jan C. Binnema a1d1619bda use c++ for some more sources
Do a (superficial) port to c++ of some of the c sources. Update
deps. Fix a few compiler warnings.
2020-11-07 14:11:59 +02:00
Dirk-Jan C. Binnema f7452761cb index: improve error handling 2020-11-07 11:43:11 +02:00
Dirk-Jan C. Binnema c7a874b8d6 lib: convert threader/container to c++
Did change the code much, but it's now compiled as c++
2020-11-07 11:43:11 +02:00
Dirk-Jan C. Binnema 2804087b3a mu: use updated Query API 2020-11-04 23:35:30 +02:00
Dirk-Jan C. Binnema 2135844e1b fix some compiler warnings 2020-11-01 14:25:25 +02:00
Dirk-Jan C. Binnema aea64c4a08 mu/lib: refactor mu(-cmd)-server code
Split off the parsing/handling code from the mu command server into
mu-server, and only leave the external interface (the mu4e repl) in
mu-cmd-server.
2020-10-31 09:46:13 +02:00
Dirk-Jan C. Binnema d2aa1f91b0 mu: support json output directly
Allow for dumping json directly from the Sexp structures, so we don't
need any external libs (i.e. json-glib) anymore.
2020-10-26 18:39:56 +02:00
Dirk-Jan C. Binnema 38b5c25762 mu-index: make progress a bit smoother
Avoid the lock
2020-10-13 23:36:19 +03:00
Dirk-Jan C. Binnema d1b0938187 mu-cmd-cfind: include <array> 2020-08-15 11:04:36 +03:00
Dirk-Jan C. Binnema 5402e00fc5 mu-cmd-find: don't mark rainbow constexpr
clang/libc++ don't allow constexpr:

```
mu-cmd-find.cc:498:40: error: constexpr variable cannot have non-literal type 'const std::array<Color, 6>' (aka 'const array<Mu::MaybeAnsi::Color, 6>')
        constexpr std::array<Color, 6> rainbow = {
```

So let's make it mere `const` instead.
2020-08-15 10:51:04 +03:00
David 857a4227a9
Fix `mu help` doesn't show the `init` command. Fix a sentence. 2020-08-14 00:00:54 +10:00
Dirk-Jan C. Binnema 148c906d8a fix compilation error / clang warnings 2020-07-25 11:26:08 +03:00
Dirk-Jan C. Binnema 092084b987 cmd: Update find, server for Sexp changes 2020-07-13 21:43:59 +03:00
Dirk-Jan C. Binnema c8eff488ba cosmetics 2020-06-27 17:07:00 +03:00
Dirk-Jan C. Binnema ba13a62e90 cmd-server: Update to use the new Indexer 2020-06-27 17:07:00 +03:00
Dirk-Jan C. Binnema f9415caab7 cmd-index: Use the new Indexer 2020-06-27 17:07:00 +03:00
Dirk-Jan C. Binnema 10dbddec79 mu-cmd: Use the new Store API 2020-06-27 17:07:00 +03:00
Dirk-Jan C. Binnema 4e6bd7dfdf lib/index: Implement new indexer
Implement a new message indexer consisting of a single-threaded scanner
and a multi-threaded indexer.

This allows for a number of optimizations as well as background
indexing, though this initial version should be behave similar to the
old indexer.
2020-06-27 17:07:00 +03:00
Dirk-Jan C. Binnema 0e50bfc02c mu: better output
Improve the output of various mu commands
2020-06-27 17:07:00 +03:00
Dirk-Jan C. Binnema 63a8c72b74 config: add message-size, batch-size option for init 2020-06-27 11:36:34 +03:00
Dirk-Jan C. Binnema c8e8004f29 server: show complete help by default
And add :terse to get a one-line description.
2020-06-27 10:24:37 +03:00
Dirk-Jan C. Binnema 68533cee0d mu: use g_printerr for errors, instead of g_warning
With the new logging setup, we need g_printerr
2020-06-13 16:56:41 +03:00
Dirk-Jan C. Binnema 9b2746dce5 server: use symbolic names with ':'
After the command-parser changes
2020-06-13 16:56:41 +03:00
Dirk-Jan C. Binnema 3dc4b93989 mu4e/server: implement mark-as-read for (view ...)
Instead of a multi-step process to display an unread message (ie. get
the original, notice it's unread, then update it, replace the message
with update one etc.), we now handle that in the (view /./..) command on
the server side.

Simplifies things, and is faster (which could be noticeable, esp. if
e.g. signature verification is part of the process)
2020-06-13 16:56:41 +03:00
Dirk-Jan C. Binnema 0b427e5ee8 server: use Mu::Store in c++ mode
I.e. Mu::Store instead of mu_store_*
2020-06-13 16:56:41 +03:00
Dirk-Jan C. Binnema a9fab4abcc mu: convert command-line tools to c++ 2020-06-13 16:56:41 +03:00
Dirk-Jan C. Binnema 87eff66b7d test-mu-cmd: temporarily turn off test 2020-06-11 21:49:55 +03:00
Dirk-Jan C. Binnema 9fa09f2c16 server: use sexp builder for return parameters
Generate sexps programmatically rather than with string-formatting,
using the new mu-sexp capabilities.
2020-06-06 14:27:25 +03:00
Dirk-Jan C. Binnema 3afdc08d50 lib/utils: build s-expression programmatically building
Allow for programmatically buildings sexps, rather that using raw
strings.
2020-06-06 14:27:25 +03:00
Dirk-Jan C. Binnema 3e233cba9a rework logging system
reimplement the old mu-log.[ch] into mu-logging.{cc,hh}

If available (and using an appropriately equipped glib), log to the
systemd journal

Only g_criticals have stderr output, all the other g_* go to the log
file / journal.
2020-05-30 13:29:44 +03:00
Dirk-Jan C. Binnema b60cfc7df2 mu-server: restore readline-support
Restore readline support for `mu server' (but _only_ when readline is
found and when in tty mode)
2020-05-25 18:34:42 +03:00
Dirk-Jan C. Binnema 53b553124c
Merge pull request #1663 from czan/master
mu: always sort descending within threads
2020-05-17 14:45:39 +03:00
Jonas Bernoulli 564d892701 Fix typos 2020-05-12 23:56:55 +02:00
Dirk-Jan C. Binnema 55cac6f2e5 mu-server: disable readline support for now
Seems to be causing problem in non-interactive mode
2020-05-11 22:04:01 +03:00
Dirk-Jan C. Binnema f3b70bf049 mu: support --eval for server testing
Add a hidden command-line argument, just for testing.
2020-05-05 21:24:37 +03:00
Carlo Zancanaro 928dc5e0fc mu: always sort descending within threads 2020-04-29 10:55:19 +10:00
Dirk-Jan C. Binnema 06d3deb4cc guile: path updates for 2.2 2020-04-20 00:01:07 +03:00
Dirk-Jan C. Binnema 2da1ddbd56 mu/config: properly close the config group 2020-04-19 22:24:44 +03:00
Dirk-Jan C. Binnema 46ae663937 mu4e: use faster count queries, document differences
Use faster queries for counting read/unread messages; document why the
results might differ from what you get doing a normal search.
2020-03-15 01:23:01 +02:00
Dirk-Jan C. Binnema 1d14b82595 mu index: remove duplicate cmdline parameter 2020-03-02 23:18:58 +02:00
Dirk-Jan C. Binnema f0a0c3ad46 server: reinstate readline support (when available) 2020-03-01 02:08:23 +02:00
damon-kwok 56b434347e error fix for gcc 9.x 2020-02-29 20:40:22 +08:00
Dirk-Jan C. Binnema 36a5d291d9 server/mu4e: update decrypt/verify options
"extract-encrypted" -> "decrypt"

and a separate option for "verify"
2020-02-28 00:43:08 +02:00
Dirk-Jan C. Binnema 4226a6e47f server: better readline check
Avoid _partial_ setups.

Fixes #1594.
2020-02-27 18:55:08 +02:00
Dirk-Jan C. Binnema 0e75f84228 server/find: handle maxnum correctly
If it's nil, use '-1' so we get unlimited results.

Fixes #1592.
2020-02-26 19:32:53 +02:00
Dirk-Jan C. Binnema 06c9b17a4e mu: remove mfind command
Better document what find does instead.
2020-02-24 21:18:54 +02:00
Dirk-Jan C. Binnema adbb57c098 server: enable repl history 2020-02-21 19:19:30 +02:00