wisi
- Description
- Utilities for implementing an indentation/navigation engine using a generalized LR parser
- Latest
- wisi-4.3.2.0.20240313.173240.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.3.2.0.20231026.105332.tar.lz | 2023-Oct-26 | 455 KiB |
wisi-4.3.0.0.20231018.92008.tar.lz | 2023-Oct-23 | 455 KiB |
wisi-4.2.2.0.20230126.2042.tar.lz | 2023-Jan-26 | 442 KiB |
wisi-4.2.0.0.20230111.162957.tar.lz | 2023-Jan-12 | 442 KiB |
wisi-4.1.1.0.20221221.82801.tar.lz | 2022-Dec-21 | 446 KiB |
wisi-3.1.8.0.20220710.91007.tar.lz | 2022-Jul-10 | 448 KiB |
wisi-3.1.7.0.20211124.100157.tar.lz | 2021-Nov-24 | 300 KiB |
wisi-3.1.6.0.20211121.80330.tar.lz | 2021-Nov-21 | 299 KiB |
wisi-3.1.5.0.20210730.233202.tar.lz | 2021-Jul-31 | 299 KiB |
wisi-3.1.3.0.20201128.194735.tar.lz | 2020-Dec-14 | 295 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 ... ...