<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sciteco/lib, branch v2.0.0</title>
<subtitle>Scintilla-based Text Editor and COrrector</subtitle>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/'/>
<entry>
<title>added Asciidoc lexer config</title>
<updated>2023-04-16T10:06:19+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2023-04-16T10:06:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=f0d57d7676e2fed234a10d93f2737209e8007c2c'/>
<id>f0d57d7676e2fed234a10d93f2737209e8007c2c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>allow disabling Lexilla (Lexer) support by specifying --without-lexilla</title>
<updated>2023-04-14T17:42:03+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2023-04-14T17:42:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=030e0f5859698638a33d3a34c0659871d1dc7333'/>
<id>030e0f5859698638a33d3a34c0659871d1dc7333</id>
<content type='text'>
* This does not make sense for most SciTECO builds, but only when you
  want to optimize for size as the lexers take up 50% of the compressed binary
  size.
  Without Lexilla, it should be possible get it compiled in about 500kb.
* It can be useful for instance when building for embedded distributions.
* When Lexilla is disabled, symbols-scilexer.c is also not generated
  (we assume that the Lexilla sources are not available and it also doesn't serve any purpose).
* Consequently, most of the lexer configuration scripts are also not installed
  under --without-lexilla.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* This does not make sense for most SciTECO builds, but only when you
  want to optimize for size as the lexers take up 50% of the compressed binary
  size.
  Without Lexilla, it should be possible get it compiled in about 500kb.
* It can be useful for instance when building for embedded distributions.
* When Lexilla is disabled, symbols-scilexer.c is also not generated
  (we assume that the Lexilla sources are not available and it also doesn't serve any purpose).
* Consequently, most of the lexer configuration scripts are also not installed
  under --without-lexilla.
</pre>
</div>
</content>
</entry>
<entry>
<title>added Markdown and YAML lexer configs</title>
<updated>2022-11-27T16:12:54+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2022-11-26T02:39:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=85599c7e929237c61fb4b7857935475a6e57c8ec'/>
<id>85599c7e929237c61fb4b7857935475a6e57c8ec</id>
<content type='text'>
* For markdown.tes we should better introduce new predefined colors in the
  color scheme files since it doesn't map well to existing colors.
  For italic and bold, I am not using the predefined colors at all but only set
  the bold and italic style attributes -- this should still be portable across
  color schemes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* For markdown.tes we should better introduce new predefined colors in the
  color scheme files since it doesn't map well to existing colors.
  For italic and bold, I am not using the predefined colors at all but only set
  the bold and italic style attributes -- this should still be portable across
  color schemes.
</pre>
</div>
</content>
</entry>
<entry>
<title>scite2co.lua: avoid unnecessary string concatenations with io.write()</title>
<updated>2022-11-22T04:04:10+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2022-11-22T04:04:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=2a5dbe746e32df09c3913a68444fc13011a7f84e'/>
<id>2a5dbe746e32df09c3913a68444fc13011a7f84e</id>
<content type='text'>
Not that speed would make any difference here whatsoever...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Not that speed would make any difference here whatsoever...
</pre>
</div>
</content>
</entry>
<entry>
<title>scite2co.lua: support generating substyles</title>
<updated>2022-11-22T03:59:20+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2022-11-22T03:59:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=4570a6470b89f573286e8202efe4468497df75bd'/>
<id>4570a6470b89f573286e8202efe4468497df75bd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>improved the C/C++ and Gob lexers</title>
<updated>2022-11-21T05:27:04+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2022-11-21T05:27:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=d10997addbd6753b6a4e2db663a539848510ddbc'/>
<id>d10997addbd6753b6a4e2db663a539848510ddbc</id>
<content type='text'>
* single quoted constants are highlighted like single quoted strings in all other
  auto-generated lexers using "CPP".
* recognize /// and //! and comments after preprocessor statements
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* single quoted constants are highlighted like single quoted strings in all other
  auto-generated lexers using "CPP".
* recognize /// and //! and comments after preprocessor statements
</pre>
</div>
</content>
</entry>
<entry>
<title>added lexers for Python and Linux Device Trees</title>
<updated>2022-11-21T05:24:23+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2022-11-21T05:24:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=4273088e40c21bffe449fc13bfc2a8d760c3dc7d'/>
<id>4273088e40c21bffe449fc13bfc2a8d760c3dc7d</id>
<content type='text'>
* The device tree lexer reuses CPP and has certain limitations.
  For once it does not recognize /keywords/ and secondly it confuses
  properties beginning with # as preprocessor statements.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* The device tree lexer reuses CPP and has certain limitations.
  For once it does not recognize /keywords/ and secondly it confuses
  properties beginning with # as preprocessor statements.
</pre>
</div>
</content>
</entry>
<entry>
<title>improved default selection colors and made them configurable via color.tes</title>
<updated>2021-10-13T13:32:32+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2021-10-13T13:11:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=f337481d17838e45020e4ce70e74181adc1cba89'/>
<id>f337481d17838e45020e4ce70e74181adc1cba89</id>
<content type='text'>
* NOTE: Selections are currently only used to highlight search results.
* The default selection colors were not always visible well with default settings (--no-profile)
  and they were not uniform across platforms.
  On Curses, the selection would be reversed, while on Gtk it had a lighter foreground color.
  They are now always reversed (black on white background).
  The default styles do not assume any color support - they use only black and white.
* Since these defaults cannot possibly work on every color scheme,
  color.selfore and color.selback has been added to color.tes.
  All existing color schemes have been updated to configure selections as reversed
  to the default colors.
  This especially fixes selection colors on Gtk.
* On solarized.tes, the caret style was already distinct from inversed default colors.
  On terminal.tes, the color of the caret is now bright white, so it stands out
  from the selection colors.
* In Curses, the caret color is currently __not__ applied to the command line where
  it is continued to be drawn reversed.
  The command line drawing code is considered deprecated and will eventually be replaced
  with a Scintilla minibuffer.
* In Gtk, we now apply the caret style to the commandline view as well.
* Fixed the comment color in solarized.light.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* NOTE: Selections are currently only used to highlight search results.
* The default selection colors were not always visible well with default settings (--no-profile)
  and they were not uniform across platforms.
  On Curses, the selection would be reversed, while on Gtk it had a lighter foreground color.
  They are now always reversed (black on white background).
  The default styles do not assume any color support - they use only black and white.
* Since these defaults cannot possibly work on every color scheme,
  color.selfore and color.selback has been added to color.tes.
  All existing color schemes have been updated to configure selections as reversed
  to the default colors.
  This especially fixes selection colors on Gtk.
* On solarized.tes, the caret style was already distinct from inversed default colors.
  On terminal.tes, the color of the caret is now bright white, so it stands out
  from the selection colors.
* In Curses, the caret color is currently __not__ applied to the command line where
  it is continued to be drawn reversed.
  The command line drawing code is considered deprecated and will eventually be replaced
  with a Scintilla minibuffer.
* In Gtk, we now apply the caret style to the commandline view as well.
* Fixed the comment color in solarized.light.
</pre>
</div>
</content>
</entry>
<entry>
<title>upgraded to Scintilla 5.1.3 and Scinterm 3.1</title>
<updated>2021-10-11T05:02:05+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2021-10-11T05:02:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=6e67f5a682ff46d69888fec61b94bf45cec46721'/>
<id>6e67f5a682ff46d69888fec61b94bf45cec46721</id>
<content type='text'>
* Previous Scintilla version was 3.6.4 and Scinterm was 1.7 (with lots of custom patches).
  All of the patches are now either irrelevant or have been merged upstream.
* Since Scintilla 5 requires C++17, this increases the minimum GCC version at least
  to 5.0. We may actually require even newer versions.
* I could not upgrade the scintilla-mirror (which was imported from Mercurial),
  so the old sciteco-dev branch was renamed to sciteco-dev-pre-v2.0.0,
  master was deleted and I reimported the entire Scintilla repo using
  git-remote-hg.
  This means that scintilla-mirror now contains two entirely separate trees.
  But it is still possible to clone old SciTECO repos.
* The strategy/workflow of maintaining hotfix branches on scintilla-mirror has been changed.
  Instead of having one sciteco-dev branch that is rebased onto new Scintilla upstream
  releases and tagging SciTECO releases in scintilla-mirror (to keep the commits referenced),
  we now create a branch for every Scintilla version we are based on (eg. sciteco-rel-5-1-3).
  This branch is never rebased or deleted. Therefore, we are guaranteed to be able to
  clone arbitrary SciTECO repo commits - not only releases.
  Releases no longer have to be tagged in scintilla-mirror.
  On the downside, fixup commits may accumulate in these new branches.
  They can only be squashed once a new branch for a new Scintilla release is created
  (e.g. by cherry-picking followed by rebase).
* Scinterm does no longer have to reside in the Scintilla subdirectory,
  so we added it as a regular submodule.
  There are no more recursive submodules.
  The Scinterm build system has not been improved at all, but we use
  a trick based on VPATH to build Scinterm in scintilla/bin/.
* Scinterm is now in Git and we reference the upstream repo for the
  time being.
  We might mirror it and apply the same branching workflow as with Scintilla
  if necessary.
  The scinterm-mirror repository still exists but has not been touched.
  We will also have to rewrite its master branch as it was a non-reproducible
  Mercurial import.
* Scinterm now also comes with patches for Scintilla which we simply applied
  on our sciteco-rel-5-1-3 branch.
* Scintilla 5 outsourced its lexers into the Lexilla project.
  We added it as yet another submodule.
* All submodules have been moved into contrib/.
* The Scintilla API for setting lexers has consequently changed.
  We now have to call SCI_SETILEXER(0, CreateLexer(name)).
  As I did not want to introduce a separate command for setting lexers,
  &lt;ES&gt; has been extended to allow setting lexers by name with the SCI_SETILEXER
  message which effectively replaces SCI_SETLEXERLANGUAGE.
* The lexer macros (SCLEX_...) no longer serve any purpose - they weren't used
  in the SciTECO standard library anyway - and have consequently been removed
  from symbols-scilexer.c.
  The style macros from SciLexer.h (SCE_...) are theoretically still useful - even
  though they are not used by our current color schemes - and have therefore been
  retained. They can be specified as wParam in &lt;ES&gt;.
* &lt;ES&gt; no longer allows symbolic constants for lParam.
  This never made any sense since all supported symbols were always wParam.
* Scinterm supports new native cursor modes.
  They are not used for the time being and the previous CARETSTYLE_BLOCK_AFTER
  caret style is configured by default.
  It makes no sense to enable native cursor modes now since the
  command line should have a native cursor but is not yet a Scintilla view.
* The Scintilla upgrade performed much worse than before,
  so some optimizations will be necessary.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Previous Scintilla version was 3.6.4 and Scinterm was 1.7 (with lots of custom patches).
  All of the patches are now either irrelevant or have been merged upstream.
* Since Scintilla 5 requires C++17, this increases the minimum GCC version at least
  to 5.0. We may actually require even newer versions.
* I could not upgrade the scintilla-mirror (which was imported from Mercurial),
  so the old sciteco-dev branch was renamed to sciteco-dev-pre-v2.0.0,
  master was deleted and I reimported the entire Scintilla repo using
  git-remote-hg.
  This means that scintilla-mirror now contains two entirely separate trees.
  But it is still possible to clone old SciTECO repos.
* The strategy/workflow of maintaining hotfix branches on scintilla-mirror has been changed.
  Instead of having one sciteco-dev branch that is rebased onto new Scintilla upstream
  releases and tagging SciTECO releases in scintilla-mirror (to keep the commits referenced),
  we now create a branch for every Scintilla version we are based on (eg. sciteco-rel-5-1-3).
  This branch is never rebased or deleted. Therefore, we are guaranteed to be able to
  clone arbitrary SciTECO repo commits - not only releases.
  Releases no longer have to be tagged in scintilla-mirror.
  On the downside, fixup commits may accumulate in these new branches.
  They can only be squashed once a new branch for a new Scintilla release is created
  (e.g. by cherry-picking followed by rebase).
* Scinterm does no longer have to reside in the Scintilla subdirectory,
  so we added it as a regular submodule.
  There are no more recursive submodules.
  The Scinterm build system has not been improved at all, but we use
  a trick based on VPATH to build Scinterm in scintilla/bin/.
* Scinterm is now in Git and we reference the upstream repo for the
  time being.
  We might mirror it and apply the same branching workflow as with Scintilla
  if necessary.
  The scinterm-mirror repository still exists but has not been touched.
  We will also have to rewrite its master branch as it was a non-reproducible
  Mercurial import.
* Scinterm now also comes with patches for Scintilla which we simply applied
  on our sciteco-rel-5-1-3 branch.
* Scintilla 5 outsourced its lexers into the Lexilla project.
  We added it as yet another submodule.
* All submodules have been moved into contrib/.
* The Scintilla API for setting lexers has consequently changed.
  We now have to call SCI_SETILEXER(0, CreateLexer(name)).
  As I did not want to introduce a separate command for setting lexers,
  &lt;ES&gt; has been extended to allow setting lexers by name with the SCI_SETILEXER
  message which effectively replaces SCI_SETLEXERLANGUAGE.
* The lexer macros (SCLEX_...) no longer serve any purpose - they weren't used
  in the SciTECO standard library anyway - and have consequently been removed
  from symbols-scilexer.c.
  The style macros from SciLexer.h (SCE_...) are theoretically still useful - even
  though they are not used by our current color schemes - and have therefore been
  retained. They can be specified as wParam in &lt;ES&gt;.
* &lt;ES&gt; no longer allows symbolic constants for lParam.
  This never made any sense since all supported symbols were always wParam.
* Scinterm supports new native cursor modes.
  They are not used for the time being and the previous CARETSTYLE_BLOCK_AFTER
  caret style is configured by default.
  It makes no sense to enable native cursor modes now since the
  command line should have a native cursor but is not yet a Scintilla view.
* The Scintilla upgrade performed much worse than before,
  so some optimizations will be necessary.
</pre>
</div>
</content>
</entry>
<entry>
<title>CPP lexer: support *.ino files (Arduino IDE sketches)</title>
<updated>2017-11-16T21:25:23+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2017-11-16T21:25:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=df6c898e8e56886488951bc51967089003768b12'/>
<id>df6c898e8e56886488951bc51967089003768b12</id>
<content type='text'>
 * a proper Arduino lexer supporting the special Arduino keywords/classes
   could in principle be written, but for the time being they're treated
   just like regular C++ sources
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 * a proper Arduino lexer supporting the special Arduino keywords/classes
   could in principle be written, but for the time being they're treated
   just like regular C++ sources
</pre>
</div>
</content>
</entry>
</feed>
