Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Turns out that the FreeBSD ports Makefiles install programs and scripts with 0555 by default,
i.e. without write permissions.
This broke the install-exec-hook unless building as root.
Unfortunately, this also broke the Poudriere builds at the FreeBSD build servers.
See https://pkg-status.freebsd.org/package19/data/141amd64-default-build-as-user/aa1f9b124e36/logs/errors/sciteco-curses-2.2.0.log
|
|
* They are used at runtime only by the GTK port.
* Their existence can cause problems if OS-specific build systems
have to clean these files from the staging directory afterwards.
This was the case on FreeBSD where the committer refused to remove
these files after installation.
In the official FreeBSD port, we therefore currently ship the
PNG icons unnecessarily.
* They are now installed and shipped only on GTK builds.
|
|
|
|
This is not done automatically when building ports.
The FreeBSD binaries were thus the only ones without LTO.
We should prefer WITH_LTO, even once we add something like --enable-lto,
as WITH_LTO enables Clang-specific ThinLTO support.
|
|
Rodrigo Osorio re-included the PNGs even for sciteco-curses.
Should be fixed at the Autoconf-level, by only installing the PNGs on GTK.
|
|
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* You no longer have to copy contrib/scintilla, contrib/scinterm and contrib/lexilla
manually to the build directory.
* It turns out, that Scintilla/Lexilla was supporting this since 2016.
Scintilla allows pointing to a source directory (srdir) and Lexilla to a binary directory (DIR_O).
* For Scinterm I opened a pull request in order to add srcdir/basedir variables:
https://github.com/orbitalquark/scinterm/pull/21
* `make distcheck` is therefore now also fixed.
* The FreeBSD package is now allowed to build out of source.
I haven't tested it yet.
* See also https://github.com/ScintillaOrg/lexilla/issues/266
|
|
* 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).
|
|
|
|
|
|
FreeBSD ports tree
* see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276492
* also the license is GPLv3+ to be precise
|
|
* The lexer scripts are not installed if the LEXILLA option is disabled,
so they need to be excluded from pkg-plist.
|
|
* The plain text format is deprecated.
* Thanks to Bob Eager.
|
|
FreeBSD port
* Makefiles are in .gitignore.
|
|
* 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.
|