summaryrefslogtreecommitdiff
path: root/mu/mu-cmd.cc
AgeCommit message (Collapse)Author
2026-03-07scm: support --evalDirk-Jan C. Binnema
With the ~--eval~ option you can evaluate an expression in mu/scm environment. For example: $ mu scm --eval \ '(format #t "found ~d match(es)\n" (length (mfind "hello")))' found 7173 match(es) Add command-line parameter and implement.
2025-09-08rename 'mu label' -> 'mu labels'Dirk-Jan C. Binnema
Update names, docs etc.
2025-08-25scm: clean up scm runningDirk-Jan C. Binnema
Split run_script / run_repl more clearly; update callers.
2025-08-24scm: implement blocking / non-blocking modesDirk-Jan C. Binnema
Implement running the REPL on background thread. That way, we can _share_ the store&.
2025-08-15mu: add 'label' command + manpage + testsDirk-Jan C. Binnema
Add a label command and document it.
2025-07-24mu-cmd: load mu-scm.hh only with BUILD_SCMDirk-Jan C. Binnema
We don't want/need it otherwise, and in fact it triggers build failures when guile (but not scm) is enabled. Fixes #2861.
2025-06-24build: better handle non-guile buildDirk-Jan C. Binnema
2025-06-16mu: add 'scm' commandDirk-Jan C. Binnema
Add the "scm" command, the way to get a Guile/Scheme shell. This is experimental but will replace the current guile support in guile/ at some point.
2024-04-05mu: add --reindex option for mu indexDirk-Jan C. Binnema
I.e. without having to reinit explicitly.
2023-09-24mu-move: add new move sub commandDirk-Jan C. Binnema
Add sub-command to move messages; add tests and docs. Fixes #157
2023-07-06mu-info: improve docs; better colorsDirk-Jan C. Binnema
2023-07-05update to use fmt-based apisDirk-Jan C. Binnema
Not complete, but a first big stab converting users of Mu::Error and various g_warning & friends, format to the new libfmt-based APIs.
2023-07-05cli: merge 'fields' with 'info' commandDirk-Jan C. Binnema
Update the 'info' command to handle 'fields' as well; remove fields.
2023-07-02cli: split off commands into their own .cc filesDirk-Jan C. Binnema
Smaller files are easier to manage
2023-04-30mu extract/view/verify: allow reading message from stdinDirk-Jan C. Binnema
Fixes #1463.
2023-04-06mu: allow relative message paths in mu commandsDirk-Jan C. Binnema
2023-03-28mu: mu-view: don't insist on absolute pathDirk-Jan C. Binnema
Make it absolute so make_from_path can deal with it.
2023-01-29mu init: implement --reinit optionDirk-Jan C. Binnema
Create new mu database from an existing one.
2023-01-14utils: get rid of mu-util.[ch]Dirk-Jan C. Binnema
It was getting old... Remove the unused parts, refactor the few parts still in use.
2022-11-17mu: implement new command-line parserDirk-Jan C. Binnema
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-07mu/cmd: update for new sexp APIDirk-Jan C. Binnema
Makes the code a bit cleaner.
2022-10-16view: be clearer there's no text body foundDirk-Jan C. Binnema
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-05-19lib: remove some dead code (mu-str/utils)Dirk-Jan C. Binnema
Remove unused library code; recycle some electrons.
2022-05-18mu-info: turn back on againDirk-Jan C. Binnema
This reverts commit c708e0996b677983423ba94bcd9bdc4c96b6aee1. Doesn't avoid the macos ci crash
2022-05-18mu-info: temporarily turn offDirk-Jan C. Binnema
2022-05-17build: fix some clang warningsDirk-Jan C. Binnema
2022-05-17mu: use locale_workaround for tablesDirk-Jan C. Binnema
The tabulate package triggers some locale exception, let's attempt to work around it.
2022-05-15mu: improve error reportingDirk-Jan C. Binnema
2022-05-12mu: Make commands Result-basedDirk-Jan C. Binnema
Use Result<void> as the return value, simplifying some code.
2022-05-10store/info: Gather some usage statisticsDirk-Jan C. Binnema
Keep track of the latest-change/latest-index.
2022-05-09store: use Result<Store> builder, add auto upgradeDirk-Jan C. Binnema
Make it a Result type, and add auto-upgrade (not enabled yet) Update dependents.
2022-05-09mu-maildir: No need for namespaced function namesDirk-Jan C. Binnema
Mu::mu_maildir_... -> Mu::maildir_...
2022-05-06mu: merge flags into fields commandDirk-Jan C. Binnema
One is enough
2022-05-05mu: add fields/flags commandsDirk-Jan C. Binnema
Useful information for devising queries. Directly generated from the source. Add manpages, too.
2022-04-30cmd: update commands and tests for MessageDirk-Jan C. Binnema
2022-04-30commands: Updated 'find' and 'index' to use Mu::MessageDirk-Jan C. Binnema
2022-04-18autotools: minor updatesDirk-Jan C. Binnema
2022-04-18mu: update 'verify' command for message changesDirk-Jan C. Binnema
2022-04-18option: rename to to_string_opt and to_string_view_optDirk-Jan C. Binnema
to_option_string -> to_string_opt to_string_view -> to_string_view_opt
2022-04-16cmd-verify: honor the auto-retrieve flagDirk-Jan C. Binnema
2022-04-16cmd verify: rework in terms of MessageDirk-Jan C. Binnema
2022-04-16cmd view/extract: rework in terms of MessageDirk-Jan C. Binnema
2022-03-28extract: rework in terms of Mu::MessageDirk-Jan C. Binnema
Use the new message class
2022-03-26many: update for lib/message updatesDirk-Jan C. Binnema
Adapt to the new names / directory. Big commit, but mostly just very boring renaming.
2022-02-22utils/mu-date: removeDirk-Jan C. Binnema
Remove mu-date.[ch] and convert its last users to use time_to_string instead.
2022-02-21lib: rename contacts into contacts-cacheDirk-Jan C. Binnema
Plus dependents.
2022-02-17*: update for for mu-maildir changesDirk-Jan C. Binnema
Update the dependencies.
2022-02-17tickle: removeDirk-Jan C. Binnema
Remove the hidden 'tickle' command; it wasn't really advertised so I'm sure nobody is using it (xkcd/1172). Well, it'd need to be reworked anyway.
2022-02-14store: rename "metadata" into "properties"Dirk-Jan C. Binnema
properties are the constant (for the duration) values for a store; metadata may change, so reserve that name for that.
2021-10-20clang-format: update c/cc coding styleDirk-Jan C. Binnema
Update all cc code using .clang-format; please do so as well for future PRs etc.; emacs has a handy 'clang-format' mode to make this automatic. For comparing old changes with git blame, we can disregard this one using --ignore-rev (see https://www.moxio.com/blog/43/ignoring-bulk-change-commits-with-git-blame )