]> git.eshelyaron.com Git - emacs.git/commit
WIP on a generalized search query language for Gnus
authorEric Abrahamsen <eric@ericabrahamsen.net>
Wed, 29 Mar 2017 16:11:47 +0000 (09:11 -0700)
committerEric Abrahamsen <eric@ericabrahamsen.net>
Sun, 21 May 2017 12:44:05 +0000 (20:44 +0800)
commita1cfb383e726da6a299d8c1d0109d2e34bd05adc
treed9bcf4166345cc16a35d88bba96b12ddcacea107
parentf723102b320545e3c33e245b3b24dd9558b767aa
WIP on a generalized search query language for Gnus

* lisp/gnus/nnir.el (nnir-search-parse-query, nnir-query-next-expr,
  nnir-query-next-term, nnir-query-next-symbol,
  nnir-query-peek-symbol, nnir-query-end-of-input,
  nnir-query-parse-kv, nnir-query-parse-date nnir-query-parse-mark,
  nnir-query-parse-contact): Functions for reading the generalized
  search query language and parsing it into a sexp.
  (gnus-search-engine, gnus-search-process, gnus-search-indexed): Base
  classes for creating search-engine specific engine classes.
  (nnir-run-search): Method for running one engine's search routine.
  (nnir-search-transform-top-level, nnir-search-transform-expression):
  Methods for transforming the parsed sexp query format into a
  backend-specific string.
  (nnir-search-indexed-search-command,
  nnir-search-indexed-massage-output): Methods used by indexed
  backends to retrieve their results.
* test/lisp/gnus/search-tests.el: Basic set of tests for the parsing
  routine.
lisp/gnus/nnir.el
test/lisp/gnus/search-tests.el [new file with mode: 0644]