aboutsummaryrefslogtreecommitdiffhomepage
path: root/freebsd/pkg-plist
AgeCommit message (Collapse)AuthorFilesLines
2024-12-13implemented Scintilla lexer for SciTECO code, i.e. TECO syntax highlightingRobin Haberkorn1-0/+1
* this works by embedding the SciTECO parser and driving it always (exclusively) in parse-only mode. * A new teco_state_t::style determines the Scintilla style for any character accepted in the given state. * Therefore, the SciTECO lexer is always 100% exact and corresponds to the current SciTECO grammer - it does not have to be maintained separately. There are a few exceptions and tweaks, though. * The contents of curly-brace escapes (`@^Uq{...}`) are rendered as ordinary code using a separate parser instance. This can be disabled with the lexer.sciteco.macrodef property. Unfortunately, SciTECO does not currently allow setting lexer properties (FIXME). * Labels and comments are currently styled the same. This could change in the future once we introduce real comments. * Lexers are usually implemented in C++, but I did not want to draw in C++. Especially not since we'd have to include parser.h and other SciTECO headers, that really do not want to keep C++-compatible. Instead, the lexer is implemented "in the container". @ES/SCI_SETILEXER/sciteco/ is internally translated to SCI_SETILEXER(NULL) and we get Scintilla notifications when styling the view becomes necessary. This is then centrally forwarded to the teco_lexer_style() which uses the ordinary teco_view_ssm() API for styling. * Once the command line becomes a Scintilla view even on Curses, we can enabled syntax highlighting of the command line macro.
2024-10-16updated FreeBSD port for v2.1.0 releasev2.1.0Robin Haberkorn1-4/+4
2024-09-15FreeBSD package: add the git.tes lexer configRobin Haberkorn1-0/+1
2024-08-18added troff/nroff lexerRobin Haberkorn1-0/+1
* This is optimized for Groff, but works for Heirloom Troff and Neatroff as well. Currently, the Heirloom and Neatroff requests are just added ontop of the Groff ones. Theoretically, we could also try to separate the keyword lists into a base K&R set with Groff, Heirloom and Neatroff ontop. * The lexer necessarily has many restrictions, as Troff is fundamentally unparseable (like classic TECO) and needs a lot of per-request knowledge. * The "*.mm" extension has been removed from the lexers/cpp.tes. I don't know what language this was for, and I prefer `*.mm` files to be considered Troff. * Temporarily changed the lexilla submodule URL. The corresponding Lexila lexer is in the process of being upstreamed. Once it is, I will probably revert the submodule to the official repository, as the "troff" branch is not stable (can be rebased).
2023-07-23FreeBSD port: fixed the LEXILLA optionRobin Haberkorn1-76/+76
* The lexer scripts are not installed if the LEXILLA option is disabled, so they need to be excluded from pkg-plist.
2023-07-02added FreBSD port (for ports tree)Robin Haberkorn1-0/+108
* it is supposed to be mainstreamed, but this did not yet happen * even if it will eventually become part of the ports tree, I won't have access to this repo and could not keep it up to date. But I can keep this copy here up to date and it can serve as an upstream source for the ports tree maintainer. * Also, it can be used to build FreeBSD binary packages even now without being part of the official ports tree.