wisi
- Description
- Utilities for implementing an indentation/navigation engine using a generalized LR parser
- Latest
- wisi-4.3.2.tar (.sig), 2024-Apr-24, 3.57 MiB
- Maintainer
- Stephen Leake <stephen_leake@stephe-leake.org>
- Atom feed
- wisi.xml
- Website
- https://stephe-leake.org/ada/wisitoken.html
- Browse ELPA's repository
- CGit or Gitweb
- Badge
- Manual
- wisi wisitoken-user_guide
To install this package from Emacs, use package-install or list-packages.
Full description
Emacs wisi package 4.3.2 The wisi package provides utilities for using generalized error-correcting LR parsers (in external processes) to do indentation, fontification, and navigation; and integration with Emacs package.el. See ada-mode for an example of its use. It also provides wisitoken-parse_table-mode, for navigating the diagnostic parse tables output by wisitoken-bnf-generate. The generated code is in Ada; it can be built via Alire (https://alire.ada.dev/). Normally this is done by a package that uses wisi, such as ada-mode.
Old versions
| wisi-4.2.2.tar.lz | 2023-Jan-24 | 442 KiB |
| wisi-4.2.1.tar.lz | 2023-Jan-12 | 442 KiB |
| wisi-4.0.0.tar.lz | 2022-Oct-25 | 448 KiB |
| wisi-3.1.8.tar.lz | 2022-Jul-10 | 443 KiB |
| wisi-3.1.7.tar.lz | 2021-Nov-24 | 299 KiB |
| wisi-3.1.6.tar.lz | 2021-Nov-21 | 299 KiB |
| wisi-3.1.5.tar.lz | 2021-Jul-31 | 299 KiB |
| wisi-3.1.4.tar.lz | 2021-Jul-27 | 292 KiB |
| wisi-3.1.3.tar.lz | 2020-Jun-07 | 296 KiB |
| wisi-3.1.2.tar.lz | 2020-Jun-05 | 296 KiB |
| wisi-3.1.1.tar.lz | 2020-May-14 | 283 KiB |
| wisi-3.1.0.tar.lz | 2020-May-14 | 283 KiB |
| wisi-3.0.1.tar.lz | 2020-Jan-31 | 258 KiB |
| wisi-2.2.1.tar.lz | 2019-Aug-18 | 243 KiB |
| wisi-2.1.1.tar.lz | 2019-Jul-12 | 247 KiB |
| wisi-2.1.0.tar.lz | 2019-Mar-22 | 211 KiB |
| wisi-2.0.1.tar.lz | 2018-Dec-08 | 203 KiB |
| wisi-2.0.0.tar.lz | 2018-Dec-03 | 205 KiB |
| wisi-1.1.6.tar.lz | 2017-Oct-03 | 22.8 KiB |
| wisi-1.0.6.tar.lz | 2014-Sep-29 | 18.6 KiB |
News
GNU Emacs wisi NEWS -- history of user-visible changes.
Copyright (C) 2014 - 2023 Free Software Foundation, Inc.
Please send wisi bug reports to bug-gnu-emacs@gnu.org, with
'wisi' in the subject. If possible, use M-x report-emacs-bug.
* wisi 4.3.2
21 Oct 2023
** wisi-incremental-parse-enable is now t by default.
* wisi 4.3.0
15 Sep 2023
** Use WisiToken 4.2.0.
* wisi 4.2.3
26 Jan 2023
** Fix byte-compiler warnings reported by Emacs master.
* wisi 4.2.2
16 Jan 2023
** Fix bug in wisi parser startup.
* wisi 4.2.0
3 Jan 2023
** New user variables wisi-disable-completion,
wisi-disable-diagnostics, wisi-disable-indent, wisi-disable-parser,
wisi-disable-statement to control various features. Normally set by
the major mode when it chooses which backends to use.
** New wisi project file statement; @code{import_env_var} - copies the
value of an environment variable from @code{process-environment} to
the project environment variables.
** Case exception files declared in a wisi project file are now
searched for on the project file search path.
** No longer displays right fringe marks, that were supposed to show
the location of erros within a file; too hard to get right and
maintain, not very useful.
** No longer sets global value of skeleton-end-hook.
** Several small bug fixes
** parser process protocol version 7
Add commands dump_prev_tree, save_prev_auto; useful for debugging
incremental parse issues. Controlled by new user variable
wisi-save-text-tree.
* wisi 4.1.1
8 Oct 2022
** Ada code builds with alire.
** gnat-compiler split out into separate ELPA package.
** A bug in updating the fringe error marks is fixed.
** Support using eglot to replace some wisi functions; new user
configuration variables wisi-disable-face, wisi-disable-completion,
wisi-disable-indent, wisi-disable-parser.
** In wisi project files, import_env_var=<name> can be used to inherit
an environment variable from the Emacs process.
* wisi 4.0.0
22 Oct 2022 beta prompted to release
* wisi 4.0.beta
9 Jul 2022 beta testing
** 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
...
...