<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sciteco/freebsd/pkg-plist, branch session-extensions</title>
<subtitle>Scintilla-based Text Editor and COrrector</subtitle>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/'/>
<entry>
<title>FreeBSD port: ship email lexer and tutorial</title>
<updated>2025-03-31T17:24:59+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-03-31T17:24:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=5e8e13bc7490ae666cf3cef15c345edf10702cdc'/>
<id>5e8e13bc7490ae666cf3cef15c345edf10702cdc</id>
<content type='text'>
The email, git and sciteco lexer configurations are bundled even
without the LEXILLA option.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The email, git and sciteco lexer configurations are bundled even
without the LEXILLA option.
</pre>
</div>
</content>
</entry>
<entry>
<title>rename sample.teco_ini to fallback.teco_ini and mung it by default</title>
<updated>2025-03-03T20:35:04+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-03-02T22:44:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=1b907dae072f2aa93d75d8c056a9bd02555a17f8'/>
<id>1b907dae072f2aa93d75d8c056a9bd02555a17f8</id>
<content type='text'>
* After installation, SciTECO will therefore start into a more userfriendly mode
  even if the user does not create a custom ~/.teco_ini.
  It is hoped that this will scare away less of new users, who
  are not willing to read through all of the documentation.
  Still, users are warned in the absence of ~/.teco_ini.
  This warning however, might not be immediately visible, especially
  not when running gsciteco without an attached console.
  (This will change once I redo the UI and allow a number of messages
  to be queued in the message area.)
* Theoretically, you could also just extend fallback.teco_ini from ~/.teco_ini,
  but that would require installing it into $SCITECOPATH.
* Since the fallback profile will now be munged automatically
  on a wide range of systems, we set up xclip only when detecting X11
  ($DISPLAY is non-empty).
  E.g. when running under Wayland or the Linux console, you still won't
  get the clipboard registers, which is probably better than having the
  clipboard operations fail once you try to use them.
* xclip is now "suggested" on Debian/Ubuntu.
  Unfortunately we cannot pull it in only in the presence of X11.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* After installation, SciTECO will therefore start into a more userfriendly mode
  even if the user does not create a custom ~/.teco_ini.
  It is hoped that this will scare away less of new users, who
  are not willing to read through all of the documentation.
  Still, users are warned in the absence of ~/.teco_ini.
  This warning however, might not be immediately visible, especially
  not when running gsciteco without an attached console.
  (This will change once I redo the UI and allow a number of messages
  to be queued in the message area.)
* Theoretically, you could also just extend fallback.teco_ini from ~/.teco_ini,
  but that would require installing it into $SCITECOPATH.
* Since the fallback profile will now be munged automatically
  on a wide range of systems, we set up xclip only when detecting X11
  ($DISPLAY is non-empty).
  E.g. when running under Wayland or the Linux console, you still won't
  get the clipboard registers, which is probably better than having the
  clipboard operations fail once you try to use them.
* xclip is now "suggested" on Debian/Ubuntu.
  Unfortunately we cannot pull it in only in the presence of X11.
</pre>
</div>
</content>
</entry>
<entry>
<title>support +line[,column] and filename:line:column syntaxes when opening files</title>
<updated>2024-12-30T02:00:44+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-12-30T02:00:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=e2eff00a9c0d89a196bb297b4958473a681ddfee'/>
<id>e2eff00a9c0d89a196bb297b4958473a681ddfee</id>
<content type='text'>
* This is done via the new opener.tes in the standard library.
* Some programs that use $EDITOR expect the +line syntax to work.
* You can copy filename:line:column directly from GCC error messages
  and filename:line from grep output.
* Since there may be safe file names beginning with "+" or containing colons,
  there needs to be a way to turn this off, especially for scripts that don't
  know anything about the filenames to open.
  This is done with "--".
  Unfortunately, the first "--", that stops parameter processing,
  is always removed from the command line and not passed down into TECO land.
  This is not a problem for stand-alone scripts,
  since the script filename is already stopping option processing, so "--"
  would get passed down.
  But when calling the profile via `sciteco -- ...`, you could prevent leading
  minus signs to cause problems but since the `--` is removed, opener.tes cannot
  use it as a hint.
  Therefore, we introduced `-S` as a new alternative to `--`, that's always passed
  down as `--` (i.e. it is equivalent to "-- --").
  In other words, `sciteco -S *` will always open exactly the specified files
  without any danger of misinterpreting certain file names.
  Should we ever switch to a custom option parsing algorithm, we might preserve
  "--" (unless after --mung) and thus get rid of "-S".
* This advanced behavior can be tweaked by the user relatively easily.
  In the easiest case, we could replace M[opener] with
  &lt;:L;R 0X.f [* @EB/^EN.f/ ]* L&gt;
  in ~/.teco_ini to completely disable the special syntax.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* This is done via the new opener.tes in the standard library.
* Some programs that use $EDITOR expect the +line syntax to work.
* You can copy filename:line:column directly from GCC error messages
  and filename:line from grep output.
* Since there may be safe file names beginning with "+" or containing colons,
  there needs to be a way to turn this off, especially for scripts that don't
  know anything about the filenames to open.
  This is done with "--".
  Unfortunately, the first "--", that stops parameter processing,
  is always removed from the command line and not passed down into TECO land.
  This is not a problem for stand-alone scripts,
  since the script filename is already stopping option processing, so "--"
  would get passed down.
  But when calling the profile via `sciteco -- ...`, you could prevent leading
  minus signs to cause problems but since the `--` is removed, opener.tes cannot
  use it as a hint.
  Therefore, we introduced `-S` as a new alternative to `--`, that's always passed
  down as `--` (i.e. it is equivalent to "-- --").
  In other words, `sciteco -S *` will always open exactly the specified files
  without any danger of misinterpreting certain file names.
  Should we ever switch to a custom option parsing algorithm, we might preserve
  "--" (unless after --mung) and thus get rid of "-S".
* This advanced behavior can be tweaked by the user relatively easily.
  In the easiest case, we could replace M[opener] with
  &lt;:L;R 0X.f [* @EB/^EN.f/ ]* L&gt;
  in ~/.teco_ini to completely disable the special syntax.
</pre>
</div>
</content>
</entry>
<entry>
<title>Curses: don't install PNG icons</title>
<updated>2024-12-23T01:07:44+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-12-23T01:07:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=e5d1253d363a209ecd1288278808e38ac87b34d9'/>
<id>e5d1253d363a209ecd1288278808e38ac87b34d9</id>
<content type='text'>
* 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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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.
</pre>
</div>
</content>
</entry>
<entry>
<title>freebsd port: synced with the version in FreeBSD ports</title>
<updated>2024-12-17T18:45:56+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-12-17T18:45:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=d8f747eea898717f96d8328e5ee52e17dfb37237'/>
<id>d8f747eea898717f96d8328e5ee52e17dfb37237</id>
<content type='text'>
Rodrigo Osorio re-included the PNGs even for sciteco-curses.
Should be fixed at the Autoconf-level, by only installing the PNGs on GTK.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rodrigo Osorio re-included the PNGs even for sciteco-curses.
Should be fixed at the Autoconf-level, by only installing the PNGs on GTK.
</pre>
</div>
</content>
</entry>
<entry>
<title>implemented Scintilla lexer for SciTECO code, i.e. TECO syntax highlighting</title>
<updated>2024-12-12T21:58:14+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-12-09T09:58:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=244a54a18b7db6af177c9d10f3224772f08d7484'/>
<id>244a54a18b7db6af177c9d10f3224772f08d7484</id>
<content type='text'>
* 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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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.
</pre>
</div>
</content>
</entry>
<entry>
<title>updated FreeBSD port for v2.1.0 release</title>
<updated>2024-10-16T16:30:18+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-10-16T16:30:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=57e7dc1219dcde7c9ca7628f16d78acdf1fc848f'/>
<id>57e7dc1219dcde7c9ca7628f16d78acdf1fc848f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>FreeBSD package: add the git.tes lexer config</title>
<updated>2024-09-15T09:30:28+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-09-15T09:30:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=909a4a6657b0912aee6435bff15ef3d054aa077e'/>
<id>909a4a6657b0912aee6435bff15ef3d054aa077e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>added troff/nroff lexer</title>
<updated>2024-08-18T16:48:06+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-08-18T16:34:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=bbcf801ddfd3eb50203518c130beb400de7ca53f'/>
<id>bbcf801ddfd3eb50203518c130beb400de7ca53f</id>
<content type='text'>
* 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&amp;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).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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&amp;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).
</pre>
</div>
</content>
</entry>
<entry>
<title>FreeBSD port: fixed the LEXILLA option</title>
<updated>2023-07-23T11:08:53+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2023-07-23T11:08:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=fe62b2451ac200f846a5bae1d08ec9c3201e26c9'/>
<id>fe62b2451ac200f846a5bae1d08ec9c3201e26c9</id>
<content type='text'>
* The lexer scripts are not installed if the LEXILLA option is disabled,
  so they need to be excluded from pkg-plist.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* The lexer scripts are not installed if the LEXILLA option is disabled,
  so they need to be excluded from pkg-plist.
</pre>
</div>
</content>
</entry>
</feed>
