]>
git.eshelyaron.com Git - sweep.git/log
Jan Wielemaker [Mon, 17 Oct 2022 09:36:54 +0000 (11:36 +0200)]
Use list notation for format/2
Eshel Yaron [Sun, 16 Oct 2022 18:34:21 +0000 (21:34 +0300)]
Extracted locating libswipl and sweep-module to sweep_link.pl
Eshel Yaron [Sun, 16 Oct 2022 15:22:08 +0000 (18:22 +0300)]
ADDED: new command for showing help for Prolog modules
* sweep.pl: sweep_module_html_documentation/2: new predicate.
* sweeprolog.el:
- sweeprolog-read-module-history: new variable.
- sweeprolog-read-module-name: use it.
- sweeprolog--describe-module: new function.
- sweeprolog-describe-module: new command.
- sweeprolog-help-prefix-map: new keymap.
- sweeprolog-prefix-map: bind it keymap to `h'.
* README.org: Prolog Help: new section.
Eshel Yaron [Sun, 16 Oct 2022 15:20:33 +0000 (18:20 +0300)]
ENHANCED: update xref data for buffer after exporting predicate
Eshel Yaron [Sun, 16 Oct 2022 15:18:10 +0000 (18:18 +0300)]
FIXED: possible loop finding start of clause at start of buffer
Eshel Yaron [Sat, 15 Oct 2022 10:25:39 +0000 (13:25 +0300)]
ADDED: new command for exporting Prolog predicates
* sweep.pl: sweep_local_predicate_export_comment/2: new predicate.
* sweeprolog.el:
- sweeprolog-read-exportable-predicate-prompt: new user option.
- sweeprolog--exportable-predicates: new buffer local variable.
- sweeprolog--colour-term-to-faces: accumulate exportable predicates.
- sweeprolog-colourise-buffer: reset sweeprolog--exportable-predicates.
- sweeprolog-export-predicate: new command.
- sweeprolog-mode-map: bind it.
- sweeprolog-menu: bind it.
- README.org: document it.
Eshel Yaron [Sat, 15 Oct 2022 08:10:34 +0000 (11:10 +0300)]
DOC: mention new sweep Prolog flag in README.org and NEWS.org
Eshel Yaron [Sat, 15 Oct 2022 07:43:01 +0000 (10:43 +0300)]
FIXED: sweep_identifier_at_point/2: possible infinite failure loop
Eshel Yaron [Sat, 15 Oct 2022 06:26:41 +0000 (09:26 +0300)]
FIXED: disregard stderr when invoking write_sweep_module_location
Eshel Yaron [Sat, 15 Oct 2022 06:25:54 +0000 (09:25 +0300)]
ENHANCED: create Prolog flag sweep=true when running under sweep
Eshel Yaron [Sat, 15 Oct 2022 06:22:04 +0000 (09:22 +0300)]
Remove unused dependencies library(help) and library(prolog_server)
Eshel Yaron [Thu, 13 Oct 2022 08:38:52 +0000 (11:38 +0300)]
Load libswipl ahead of sweep-module if it's an ELF
Eshel Yaron [Thu, 13 Oct 2022 08:16:10 +0000 (11:16 +0300)]
DOC: index some keystrokes in the manual
Jan Wielemaker [Wed, 12 Oct 2022 08:43:08 +0000 (10:43 +0200)]
PORT: Try to find emacs-module.h in the $MINGW_ROOT to build it along with
the Windows versions.
Eshel Yaron [Tue, 11 Oct 2022 14:37:08 +0000 (17:37 +0300)]
DOC: Update section "Things to do"
Eshel Yaron [Mon, 10 Oct 2022 12:59:14 +0000 (15:59 +0300)]
ENHANCED: use next-error-select-buffer when switching to a buffer
* sweeprolog.el: sweeprolog-mode: add hook to
window-selection-change-functions.
Eshel Yaron [Mon, 10 Oct 2022 12:31:29 +0000 (15:31 +0300)]
FIXED: sweeprolog-end-of-top-term would get confused by "=.."
* sweeprolog.el: sweeprolog-end-of-top-term: don't stop after "=..".
* sweeprolog-tests.el: add unit test.
Eshel Yaron [Sun, 9 Oct 2022 14:48:13 +0000 (17:48 +0300)]
ADDED: Flymake integration in sweeprolog-mode
* sweeprolog.el:
- sweeprolog-enable-flymake: new user option.
- sweeprolog--diagnostics: new buffer-local variable.
- sweeprolog--diagnostics-report-fn,
sweeprolog--diagnostics-changes-beg,
sweeprolog--diagnostics-changes-end: new buffer-local variables.
- sweeprolog-
defface : add docstrings for generated functions.
- sweeprolog--colourise: accumulate diagnostics when
sweeprolog-enable-flymake is non-nil.
- sweeprolog-colourise-buffer, sweeprolog-colourise-some-terms: report
diagnostics when sweeprolog-enable-flymake is non-nil.
- sweeprolog-show-diagnostics: new command in sweeprolog-mode buffers.
- sweeprolog-mode-map: bind it.
- sweeprolog-diagnostic-function: new function.
- sweeprolog-mode: use it when sweeprolog-enable-flymake is non-nil.
* README.org: Examining diagnostics: new section.
* NEWS.org: announce flymake integration.
Eshel Yaron [Sun, 9 Oct 2022 12:02:38 +0000 (15:02 +0300)]
DOC: add descriptions to all manual sections
Eshel Yaron [Sun, 9 Oct 2022 04:41:34 +0000 (07:41 +0300)]
FIXED: quote file paths passed to shell-command-to-string
* sweeprolog.el: sweeprolog--ensure-module: quote paths and use
packaged sweep.pl
* README.org: fix typo
Eshel Yaron [Sat, 8 Oct 2022 20:38:45 +0000 (23:38 +0300)]
ADDED: new command and user option for updating whitespace
* sweeprolog.el:
- sweeprolog-align-spaces: new command, updates whitespace around
point according to SWI-Prolog conventions.
- sweeprolog-enable-cycle-spacing: new user option, when non-nil
sweeprolog-align-spaces is added to cycle-spacing-actions.
- sweeprolog-mode: use it.
- README.org: document it.
- NEWS.org: announce it.
Eshel Yaron [Fri, 7 Oct 2022 09:44:08 +0000 (12:44 +0300)]
FIXED: detecting end of clause with inline comments ending with "."
Eshel Yaron [Fri, 7 Oct 2022 09:01:05 +0000 (12:01 +0300)]
Use sweep.pl from the ELPA package rather than from SWI-Prolog
Eshel Yaron [Fri, 7 Oct 2022 07:03:17 +0000 (10:03 +0300)]
DOC: added short documentation for sweep as a SWI-Prolog package
Eshel Yaron [Thu, 6 Oct 2022 19:37:00 +0000 (22:37 +0300)]
PORT: don't use defvar-keymap, introduced only in Emacs 29
Eshel Yaron [Thu, 6 Oct 2022 19:04:52 +0000 (22:04 +0300)]
TEST: add unit test for nested Elisp->Prolog->Elisp call chains
Eshel Yaron [Thu, 6 Oct 2022 18:18:31 +0000 (21:18 +0300)]
ENHANCED: allow for Elisp->Prolog->Elisp->... call chains
Eshel Yaron [Thu, 6 Oct 2022 06:56:51 +0000 (09:56 +0300)]
DOC: add manual sections "Contributing" and "Things to do"
Eshel Yaron [Tue, 4 Oct 2022 18:35:58 +0000 (21:35 +0300)]
Announce recent changes in NEWS.org, bump version to 0.5.0
Eshel Yaron [Tue, 4 Oct 2022 18:16:17 +0000 (21:16 +0300)]
DOC: describe the Top-level Menu and signaling in the manual
* README.org:
- The Top-level Menu buffer: new section.
- Sending signals to running top-levels: new section.
Eshel Yaron [Tue, 4 Oct 2022 14:32:17 +0000 (17:32 +0300)]
ADDED: key and menu bindings for sweeprolog-list-top-levels
* sweeprolog.el:
- sweeprolog-prefix-map: bind sweeprolog-list-top-levels to T
- sweeprolog-menu: add menu entry for sweeprolog-list-top-levels
Eshel Yaron [Tue, 4 Oct 2022 11:21:42 +0000 (14:21 +0300)]
ADDED: new command for signaling a top-level from the Top-level Menu
* sweeprolog.el:
- sweeprolog-top-level-menu-signal: new command
- sweeprolog-top-level-menu-mode-map: bind it to s
Eshel Yaron [Tue, 4 Oct 2022 11:20:05 +0000 (14:20 +0300)]
ADDED: new command for signaling the current top-level
* sweeprolog.el:
- sweeprolog-top-level-signal-current: new command
- sweeprolog-top-level-mode-map: bind it to C-c C-c
Eshel Yaron [Tue, 4 Oct 2022 09:42:48 +0000 (12:42 +0300)]
FIXED: top-level buffer to thread synchronization
Eshel Yaron [Tue, 4 Oct 2022 09:33:08 +0000 (12:33 +0300)]
ADDED: new command for signaling Prolog top-level threads
* sweep.pl: sweep_thread_signal/2: new predicate.
* sweeprolog.el:
- sweeprolog-signal-thread: new function, Elisp interface for
sweep_thread_signal/2.
- sweeprolog-top-level-thread-id: new buffer-local variable in
sweeprolog-top-level buffers.
- sweeprolog-top-level-signal: new command.
- sweeprolog-top-level-mode: signal top-level thread with
thread_exit/1 when buffer is killed.
Eshel Yaron [Tue, 4 Oct 2022 08:27:20 +0000 (11:27 +0300)]
FIXED: reverse args modes in sweeprolog-document-predicate-at-point
Eshel Yaron [Mon, 3 Oct 2022 15:55:36 +0000 (18:55 +0300)]
ADDED: sweep Top-level Menu for listing Prolog top-levels
* sweep.pl
- sweep_top_level_threads/2: new predicate for querying
currently active Prolog top-level threads
* sweeprolog.el
- sweeprolog-top-level-menu--entries: new function, exposing
sweep_top_level_threads/2 to Elisp.
- sweeprolog-top-level-menu-mode: new major mode derived from
tabulated-list-mode
- sweeprolog-top-level-menu-go-to: new command, switches to the
top-level buffer of the Top-level Menu entry at point
- sweeprolog-top-level-menu-kill: new command, kills the top-level
buffer of the Top-level Menu entry at point
- sweeprolog-top-level-menu-new: new command, creates a new top-level
from the Top-level Menu
- sweeprolog-list-top-levels: new command, opens the Top-level Menu
Eshel Yaron [Mon, 3 Oct 2022 15:55:14 +0000 (18:55 +0300)]
NEWS.org: announce sweeprolog-document-predicate-at-point
Eshel Yaron [Mon, 3 Oct 2022 15:53:58 +0000 (18:53 +0300)]
README.org: fix typos
Eshel Yaron [Sun, 2 Oct 2022 20:04:02 +0000 (23:04 +0300)]
DOC: Add docstrings to some undocumented internal functions
Eshel Yaron [Sun, 2 Oct 2022 20:03:29 +0000 (23:03 +0300)]
DOC: new manual section "Documenting predicates"
Eshel Yaron [Sun, 2 Oct 2022 17:20:14 +0000 (20:20 +0300)]
ADDED: new command sweeprolog-document-predicate-at-point
Eshel Yaron [Sat, 1 Oct 2022 19:26:07 +0000 (22:26 +0300)]
ADDED: new function sweeprolog-definition-at-point
Eshel Yaron [Sat, 1 Oct 2022 15:55:32 +0000 (18:55 +0300)]
DOC: document new eldoc integration
Eshel Yaron [Sat, 1 Oct 2022 14:33:47 +0000 (17:33 +0300)]
ADDED: on-the-fly documentation for predicates with eldoc
Eshel Yaron [Sat, 1 Oct 2022 10:57:20 +0000 (13:57 +0300)]
ADDED: auto-insert integration for filling in Prolog module headers
* sweeprolog-module-header-comment-skeleton: new user option
Eshel Yaron [Fri, 30 Sep 2022 20:23:06 +0000 (23:23 +0300)]
FIXED: clear highlighting from whitespace after a fullstop
Eshel Yaron [Fri, 30 Sep 2022 20:05:38 +0000 (23:05 +0300)]
NEWS.org: remove version macro using internal package-desc-version
Eshel Yaron [Fri, 30 Sep 2022 14:11:27 +0000 (17:11 +0300)]
FIXED: error when indenting after prefix operator
Eshel Yaron [Fri, 30 Sep 2022 11:57:30 +0000 (14:57 +0300)]
DOC: say sweep-module instead of sweeprolog-module in the manual
Eshel Yaron [Fri, 30 Sep 2022 11:55:42 +0000 (14:55 +0300)]
DOC: add missing source block in Getting Started section
Eshel Yaron [Fri, 30 Sep 2022 11:50:18 +0000 (14:50 +0300)]
DOC: Added "Getting Started" manual section
Eshel Yaron [Fri, 30 Sep 2022 11:50:11 +0000 (14:50 +0300)]
ADDED: Menu for sweep commands
Eshel Yaron [Fri, 30 Sep 2022 09:03:05 +0000 (12:03 +0300)]
DOC: add a reference to the SWI-Prolog manual QQ section
Eshel Yaron [Fri, 30 Sep 2022 08:58:41 +0000 (11:58 +0300)]
ENHANCED: provide semantic highlighting for missing term kinds
Eshel Yaron [Fri, 30 Sep 2022 06:54:01 +0000 (09:54 +0300)]
DOC: document quasi-quotation highlighting in the manual
Eshel Yaron [Fri, 30 Sep 2022 06:22:42 +0000 (09:22 +0300)]
ENHANCED: fontify quasi-quotation content according to its type
* sweeprolog-qq-mode-alist: new user option
* (sweeprolog--colour-term-to-faces): use it
Eshel Yaron [Thu, 29 Sep 2022 20:12:02 +0000 (23:12 +0300)]
FIXED: error on interactively removing variable highlighting
Eshel Yaron [Thu, 29 Sep 2022 20:05:59 +0000 (23:05 +0300)]
DOC: document new variable highlighting in the manual
Eshel Yaron [Thu, 29 Sep 2022 20:04:22 +0000 (23:04 +0300)]
ADDED: new command sweeprolog-highlight-variable
* (sweeprolog-highlight-variable): New command
* (sweeprolog-cursor-sensor-functions): use it
Eshel Yaron [Thu, 29 Sep 2022 20:03:21 +0000 (23:03 +0300)]
ADDED: new user option sweeprolog-enable-cursor-sensor
* sweeprolog-enable-cursor-sensor: New option
* (sweeprolog-mode): use it
Eshel Yaron [Thu, 29 Sep 2022 18:49:25 +0000 (21:49 +0300)]
ENHANCED: underline occurrences of the variable at point
Eshel Yaron [Thu, 29 Sep 2022 18:28:55 +0000 (21:28 +0300)]
DOC: add installation instructions from NonGNU ELPA
Eshel Yaron [Thu, 29 Sep 2022 17:55:48 +0000 (20:55 +0300)]
Use a public mailing list in the Maintainer package header
Eshel Yaron [Thu, 29 Sep 2022 17:46:51 +0000 (20:46 +0300)]
ENHANCED: More indicative error on failure to locate sweep-module
Eshel Yaron [Thu, 29 Sep 2022 17:38:58 +0000 (20:38 +0300)]
ENHANCED: only fontify visible sweeprolog-mode buffers on idle
Eshel Yaron [Thu, 29 Sep 2022 13:57:23 +0000 (16:57 +0300)]
ENHANCED: (sweep--colour-term-to-face): return multiple regions
Eshel Yaron [Thu, 29 Sep 2022 08:43:43 +0000 (11:43 +0300)]
DOC: document the newly added sweeprolog-restart command
Eshel Yaron [Thu, 29 Sep 2022 05:58:05 +0000 (08:58 +0300)]
ADDED: new command sweeprolog-restart for resetting sweep
* (sweeprolog-init): new &rest args
* (sweeprolog-restart): new command
* sweeprolog-prefix-map: bind it
Eshel Yaron [Wed, 28 Sep 2022 17:13:45 +0000 (20:13 +0300)]
FIXED: remove message_hook during cleanup to avoid possible crash
Eshel Yaron [Wed, 28 Sep 2022 15:15:40 +0000 (18:15 +0300)]
MODIFIED: Breaking change: rename sweep.el to sweeprolog.el...
...and replace the `sweep-` prefix for all symbols with `sweeprolog-`.
This follows a request from RMS and Philip Kaludercic on the
emacs-devel mailing list to make the name of the Emacs package more
indicative.
Eshel Yaron [Mon, 26 Sep 2022 10:00:58 +0000 (13:00 +0300)]
FIXED: don't rely on string-lines added in Emacs 28.1
Eshel Yaron [Mon, 26 Sep 2022 09:16:16 +0000 (12:16 +0300)]
FIXED: use a more robust mechanism for finding sweep-module
Eshel Yaron [Mon, 26 Sep 2022 07:58:16 +0000 (10:58 +0300)]
Update LICENSE
Eshel Yaron [Mon, 26 Sep 2022 06:48:25 +0000 (09:48 +0300)]
DOC: update installation instruction to reflect inclusion in swipl
Eshel Yaron [Sun, 25 Sep 2022 20:25:32 +0000 (23:25 +0300)]
DOC: fix typos in README.org
Eshel Yaron [Sun, 25 Sep 2022 15:07:37 +0000 (18:07 +0300)]
DOC: document imenu support in sweep-mode buffers
Eshel Yaron [Sun, 25 Sep 2022 14:35:13 +0000 (17:35 +0300)]
ADDED: support imenu in sweep-mode buffers
Eshel Yaron [Sun, 25 Sep 2022 11:48:44 +0000 (14:48 +0300)]
ENHANCED: also update highlighting between sub terms
Eshel Yaron [Sun, 25 Sep 2022 07:03:18 +0000 (10:03 +0300)]
ADDED: sweep-mode: make sexp-based commands work on Prolog terms
This includes forward-sexp (C-M-f), transpose-sexps (C-M-t), etc.
Eshel Yaron [Sat, 24 Sep 2022 14:35:11 +0000 (17:35 +0300)]
DOC: fix copy-paste error in README.org
Eshel Yaron [Sat, 24 Sep 2022 14:33:23 +0000 (17:33 +0300)]
DOC: document new user option sweep-faces-style
Eshel Yaron [Sat, 24 Sep 2022 14:17:44 +0000 (17:17 +0300)]
Tweak README to prevent a hosting platform from failing to render it
Eshel Yaron [Fri, 23 Sep 2022 20:08:10 +0000 (23:08 +0300)]
ADDED: sweep-faces-style user option for controlling highlighting
Eshel Yaron [Fri, 23 Sep 2022 20:07:47 +0000 (23:07 +0300)]
sweep.el: remove outdated sweep--compile-module function
Jan Wielemaker [Sat, 24 Sep 2022 13:48:02 +0000 (15:48 +0200)]
Find Emacs as `emacs`
Eshel Yaron [Fri, 23 Sep 2022 18:43:38 +0000 (21:43 +0300)]
FIXED: qualify calls to sweep_funcall/2
Eshel Yaron [Fri, 23 Sep 2022 18:18:53 +0000 (21:18 +0300)]
FIXED: sweep-init-args separate arguments
Eshel Yaron [Fri, 23 Sep 2022 16:10:49 +0000 (19:10 +0300)]
FIXED: indentation error when typing at end of buffer
Eshel Yaron [Fri, 23 Sep 2022 15:44:10 +0000 (18:44 +0300)]
BUILD: replaced Makefile with CMakeLists.txt
Eshel Yaron [Fri, 23 Sep 2022 15:22:01 +0000 (18:22 +0300)]
BUILD: rely on preexisting emacs-module.h
Eshel Yaron [Fri, 23 Sep 2022 10:05:50 +0000 (13:05 +0300)]
BUILD: Inline sweep.h in sweep.c
Eshel Yaron [Fri, 23 Sep 2022 10:05:16 +0000 (13:05 +0300)]
New make target: make info
Eshel Yaron [Fri, 23 Sep 2022 09:43:52 +0000 (12:43 +0300)]
ADDED: new user option for choosing indentation increments
* sweep.el:
** sweep-indent-offset: new user option
** (sweep-indent-line): use it
* README.org: document new indentation engine
Eshel Yaron [Wed, 21 Sep 2022 18:58:39 +0000 (21:58 +0300)]
ENHANCHED: automatic syntax aware autoindentation in sweep-mode
Eshel Yaron [Wed, 21 Sep 2022 16:30:34 +0000 (19:30 +0300)]
ADDED: sweep_op_info/2: new_predicate
Eshel Yaron [Mon, 19 Sep 2022 17:10:27 +0000 (20:10 +0300)]
FIXED: handle some more color terms
Eshel Yaron [Mon, 19 Sep 2022 09:15:28 +0000 (12:15 +0300)]
FIXED: (sweep--colourise): handle the dict_content color term
Eshel Yaron [Mon, 19 Sep 2022 08:14:28 +0000 (11:14 +0300)]
PORT: use (eql sweep) instead of (eql 'sweep) in cl-defmethods...
...for compatibility with Emacs 27
Eshel Yaron [Fri, 16 Sep 2022 11:08:32 +0000 (14:08 +0300)]
FIXED: (sweep-beginning-of-top-term): possible infinite loop