Version 3.1.8 of package Wisi has just been released in GNU ELPA.
You can now find it in M-x package-list RET.

Wisi describes itself as:
  Utilities for implementing an indentation/navigation engine using a 
generalized LR parser

More at https://elpa.gnu.org/packages/wisi.html

Recent NEWS:

GNU Emacs wisi NEWS -- history of user-visible changes.

Copyright (C) 2014 - 2022 Free Software Foundation, Inc.

Please send wisi bug reports to bug-gnu-em...@gnu.org, with
'wisi' in the subject. If possible, use M-x report-emacs-bug.


* wisi 4.0.0
9 Jul 2022

** Major redesign to support incremental parse.

** New user custom variable wisi-incremental-parse-enable; when
   non-nil, wisi uses incremental parse.

** There is now a log buffer showing all interactions with the parser
   process. The buffer name is given by
   (wisi-parser-transaction-log-buffer-name parser); for Ada it is
   "*Ada-wisi-parser-log*".

** The buffer-local variable containing the wisi parser object is
   split and renamed from wisi--parser to wisi-parser-shared, and
   wisi-parser-local. wisi-parser-shared points to a per-language
   structure; wisi-parser-local contains parser state that is buffer
   local, such as error messages.

** The new command wisi-parse-tree-query allows querying the stored
   parse tree for various things.

** Redesign how indents add, and what some indent functions mean; see
   wisi.info for details. In general, it is easier to arrange indent
   actions to get the desired result. This may require grammar file
   indent action changes; most likely add 'wisi-block' in block
   statements.

** The algorithm for naming conflicts is now more accurate, and the
   format of the %conflict declaration has changed. The old format is
   still supported. Some conflicts have the same name, but others will
   need to be updated.

** wisitoken-parse_table-mode now provides a command
   wisitoken-parse_table-conflict-goto that will find a conflict in
   the parse table file. wisitoken-grammar-mode binds that command to
   "\C-c."

** wisitoken-parse_table-mode now provides a command
   wisitoken-parse_table-goto that will find a nonterminal or state in
   the parse table file. It is recommended to bind that command to
   "\C-c.", either in global-key-map, or in modes that typically have
   nonterminals or states.

** parser process protocol version 6
    add zombie_limit
    add error-pos in Recover
    replace debug-mode, trace-mckenzie, trace-action with verbosity string
    delete wisi-mckenzie-disable, -check-limit
    add incremental parse
    increase command length to 4 digits
    add query_tree command

* wisi 3.1.3
5 Jun 2020

** Fix packaging bug.

* wisi 3.1.2
4 Jun 2020

** New dispatching function wisi-xref-completion-delim-regex for
   setting completion delimiters; example use in gpr-query.el.

** wisi-get-identifier (used by wisi-goto-spec/body and others) sets
   completion delimiters using wisi-xref-completion-delim-regex.

** A bug in wisi-before-change is fixed; it was missing many buffer
   changes, causing the parser not to be run when it should be.

* wisi 3.1.1
14 May 2020

** packaging bug fix

* wisi 3.1.0
11 May 2020

** Add Wisitoken.Syntax_Trees.Insert_Token, to allow using inserted
   virtual terminals tokens in indent. Several related changes to
   allow treating virtual terminals on par with actual terminals.

** New elisp generic functions: wisi-xref-completion-table, 
wisi-xref-completion-regexp, wisi-xref-completion-at-point-table

** New elisp functions: wisi-filter-table, wisi-completion-at-point, 
wisi-skel-add-token-after

** wisi-get-identifier uses wisi-xref-completion-table.

** wisi-prj-identifier-at-point returns (IDENT START END)

** In wisi.ads: augmented tokens are no stored only in the syntax
   tree; new functions Get_Aug_Token_Const_1, Get_Aug_Token_Const,
   Get_Aug_Token_Var provide access to them. Parse_Data_Type contains
   a reference to the shared Terminals.

* wisi 3.0.1
30 Jan 2020

** fix packaging bugs

** improve xref integration

* wisi 3.0.0
19 Dec 2019

** parser process protocol version 5

** Add project.el integration. See wisi.info for more information.

** Move autocase functions from ada-mode to wisi.

** Replace most ada-mode function variables with dispatching on wisi-prj.
...
...

Reply via email to