Version 0.21.0 of package Sweeprolog has just been released in NonGNU ELPA. You can now find it in M-x list-packages RET.
Sweeprolog describes itself as: =================== Embedded SWI-Prolog =================== More at https://elpa.nongnu.org/nongnu/sweeprolog.html ## Summary: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SWEEP: SWI-PROLOG EMBEDDED IN EMACS Eshel Yaron [email protected] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ This manual describes the Emacs package Sweep (or `sweeprolog.el'), which provides an embedded SWI-Prolog runtime inside of Emacs. Table of Contents ───────────────── Overview .. Main Features .. Architecture .. Alternatives Installation Getting Started Discovering Sweep Initialization Querying Prolog .. Elisp to Prolog .. Prolog to Elisp .. Example Query .. Call Back to Elisp Editing Prolog Code .. Indentation ..... Indentation Rules .. Highlighting ..... PceEmacs Theme ..... Highlight Variables ..... Quasi-Quotation .. Hover for Help .. Code Layout ..... Aligning Spaces ..... Electric Layout mode .. Term-based Editing ## Recent NEWS: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SWEEP NEWS – HISTORY OF USER-VISIBLE CHANGES ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ This file contains the release notes for Sweep, an embedding of SWI-Prolog in Emacs. For further details, please consult the manual: [https://eshelyaron.com/sweep.html]. [https://eshelyaron.com/sweep.html] <https://eshelyaron.com/sweep.html> Version 0.21.0 on 2023-06-27 ════════════════════════════ New `sweeprolog-pce' custom theme ───────────────────────────────── This version of Sweep adds a custom theme called `sweeprolog-pce' that mimics the highlighting of SWI-Prolog’s built-in editor, PceEmacs. This theme obsoletes the “faces styles” feature that Sweep provided thus far for the purpose of emulating PceEmacs highlighting. For backward compatibility, the user option `sweeprolog-faces-style' is retained for the next few versions. Also, if you have `sweeprolog-faces-style' set to `light' or `dark', Sweep tries to respect that by enabling the `sweeprolog-pce' theme for you when you first open a Prolog buffer, which should achieve the same result of mimicking PceEmacs highlighting. Descriptions for module completion candidates ───────────────────────────────────────────── Commands that read a Prolog module name in the minibuffer now provide enhanced information about completion candidates. Namely, the annotation for documented modules now also includes the module’s one line description. `C-x 4 a' in Prolog buffers finds the predicate indicator at point ────────────────────────────────────────────────────────────────── Sweep now defines a dedicated `add-log-current-defun-function' for `sweeprolog-mode' buffers. This allows `C-x 4 a' and related commands to correctly identify the predicate definition at point for inclusion in commit messages and change log entries. Version 0.20.0 on 2023-06-19 ════════════════════════════ New user option `sweeprolog-top-level-persistent-history' ───────────────────────────────────────────────────────── This option controls if and where Sweep top-level buffers store their input history persistently. Persistent history is off by default, refer to the “Top-level History” section in the manual for more details. Version 0.19.1 on 2023-06-14 ════════════════════════════ New user option `sweeprolog-predicate-visible-p-function' ───────────────────────────────────────────────────────── This option specifies a function that is used for filtering completion candidates in commands that prompt for a predicate. By default, it is set to a function that hides predicates whose functor begin with the character `$'. Further improvements in DCG support ─────────────────────────────────── DCG completion at point argument names ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ Sweep is now able to use the argument names from the documentation of DCG grammar rules to give more indicative names for holes when completing a DCG invocation. Documenting DCGs with `C-c C-d' ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ The command `sweeprolog-document-predicate-at-point' (`C-c C-d') now correctly handles documenting DCG grammar rules. Minor code simplifications and bug fixes ──────────────────────────────────────── Version 0.19.0 on 2023-06-08 ════════════════════════════ Greatly improved support for DCG grammar rules ────────────────────────────────────────────── This version includes an overhaul of Sweep’s treatment of DCG grammar rules. Crucially, commands that suggest the predicate at point as a default option now correctly recognize and format grammar rules as such. Furthermore, `sweeprolog-describe-predicate' now correctly displays the documentation for grammar rules. Bug fix in `context-menu-mode' integration ────────────────────────────────────────── In previous versions, Sweep would change the global value of `context-menu-functions' which caused non-Prolog buffers to be analyzed as such. This was never intended, and now Sweep only changes `context-menu-functions' locally in Prolog buffers. Version 0.18.4 on 2023-06-06 ════════════════════════════ Highlighting and tooltip info for string-style DCG terminals ──────────────────────────────────────────────────────────── Sweep now highlights and annotates DCG terminals written as quoted strings in grammar rule definitions. Improved exporting of DCG non-terminals ─────────────────────────────────────── The command `sweeprolog-export-predicate' now exports DCG non-terminals as such, using the `F//N' notation, instead of `F/N+2'. Version 0.18.3 on 2023-06-01 ════════════════════════════ Semantic highlighting and tooltip info for declaration options ────────────────────────────────────────────────────────────── … …
