gnu-emacs-sources
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[NonGNU ELPA] Sweeprolog version 0.21.0


From: ELPA update
Subject: [NonGNU ELPA] Sweeprolog version 0.21.0
Date: Tue, 27 Jun 2023 17:05:12 -0400

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
                             me@eshelyaron.com
                   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


  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
──────────────────────────────────────────────────────────────

  …  …

reply via email to

[Prev in Thread] Current Thread [Next in Thread]