SciTE 5.5.4 released

109 views
Skip to first unread message

Neil Hodgson

unread,
Dec 17, 2024, 5:21:27 PM12/17/24
to scite-i...@googlegroups.com
SciTE 5.5.4 is now available from the scintilla.org web site. It uses Lexilla 5.4.2 and Scintilla 5.5.4.

This is a feature and fix release.

A lexer was added for Nix. Improvements were made for JavaScript, PHP, Rust, TOML, and Zig languages.

On GTK, middle click can be repeated with one value.

A C++20 compiler is needed to build SciTE.

A detailed list of changes is available on the history page.
https://www.scintilla.org/SciTEHistory.html

SciTE uses Mercurial (Hg) and Git for source code control. The repositories can be cloned with
git clone https://github.com/ScintillaOrg/lexilla
hg clone http://hg.code.sf.net/p/scintilla/code
hg clone http://hg.code.sf.net/p/scintilla/scite

Downloads:
https://www.scintilla.org/SciTEDownload.html

There will be a commercial macOS release of SciTE shortly.

Thanks to the contributors of code and documentation and to the testers.

Neil

Baltasar García Perez-Schofield

unread,
Dec 19, 2024, 3:59:25 AM12/19/24
to 'Neil Hodgson' via scite-interest
Hi,

I've been trying to create a "dark mode" for SCiTE.

https://github.com/Baltasarq/My-Scite-Conf/

Unfortunately, I finally gave up. The problem is that you have to modify
nearly all the language configurations, including those to come.

For instance, Julia includes what appears to be a set of styles:

# Julia styles
# White space
style.julia.0=fore:#808080
# Comment
style.julia.1=fore:#007F00,$(font.comment)
# Number
style.julia.2=fore:#007F7F
# String
style.julia.3=fore:#7F007F,$(font.monospace)
# Single quoted string
style.julia.4=fore:#7F007F,$(font.monospace)

As Python also does:

# Python styles
# White space
style.python.0=fore:#808080
# Comment
style.python.1=fore:#00AF00,$(font.comment)
# Number
style.python.2=fore:#dfdf00
# String
style.python.3=fore:#dfdf00$(font.monospace)
# Single quoted string
style.python.4=fore:#dfdf00,$(font.monospace)
# Keyword
style.python.5=fore:#00cdcd,bold
# Triple quotes
style.python.6=fore:#dfdf00
# Triple double quotes
style.python.7=fore:#dfdf00
# Class name definition
style.python.8=fore:#007F7F,bold
# Function or method name definition
style.python.9=fore:#007F7F,bold
# Operators
style.python.10=bold

But it seems that HTML has their own:

# Text
style.hypertext.0=fore:#ffffff,$(font.text)
# Tags
style.hypertext.1=fore:#00ffff
# Unknown Tags
style.hypertext.2=fore:#FF0000
# Attributes
style.hypertext.3=fore:#00cdcd
# Unknown Attributes
style.hypertext.4=fore:#FF0000
# Numbers
style.hypertext.5=$(colour.number)
# Double quoted strings
style.hypertext.6=$(colour.string)
# Single quoted strings
style.hypertext.7=$(colour.string)
# Other inside tag, including space and '='
style.hypertext.8=fore:#cd00cd

There should be a way to define a set of limited styles, that all the
others could refer to. For instance, it seems that styles 1, 2, 3, 4...
are more or less standard for all languages, I wonder if you could do
something like:

# Julia styles
# White space
style.*.0=fore:#808080
# Comment
style.*.1=fore:#007F00,$(font.comment)
# Number
style.*.2=fore:#007F7F
# String
style.*.3=fore:#7F007F,$(font.monospace)
# Single quoted string
style.*.4=fore:#7F007F,$(font.monospace)

I.e., refer to all these styles like style.*.n, being n the number of
the style, and then remove all the references to these styles in the
other syntax files. Maybe, there could be also the possibility to adapt
the remaining styles (above 31?) to these basic ones:

style.*.100 = ${style.*.1)

Or something like that. Finally, the basic styles could be defined in a
separate file called theme.properties or something like that, and it
would be trivial to change theme for SCiTE.

I don't know whether all of this is really possible or not.

-- Baltasar












Red M

unread,
Dec 20, 2024, 12:20:53 AM12/20/24
to scite-i...@googlegroups.com
It is, I even built a theme suite to do it
https://github.com/Red-M/dotfiles/blob/master/.SciTEUser.properties#L386
It works but yes, you do need to set up the rest of the language files to use the computed variables that then get imported, if you do try this out with my existing configs, CTRL+k and CTRL+l cycle to the previous and next themes in the list in https://github.com/Red-M/dotfiles/tree/master/.scite/scite_themes/schemes 

--
You received this message because you are subscribed to the Google Groups "scite-interest" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scite-interes...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/scite-interest/e93ef087-9c44-4947-9b3b-69871fb5bd18%40gmail.com.

Mitchell

unread,
Dec 21, 2024, 12:00:04 PM12/21/24
to scite-i...@googlegroups.com
Hi,

> On Dec 19, 2024, at 3:59 AM, Baltasar García Perez-Schofield <balt...@gmail.com> wrote:
>
> Hi,
>
> I've been trying to create a "dark mode" for SCiTE.
>
> https://github.com/Baltasarq/My-Scite-Conf/
>
> Unfortunately, I finally gave up. The problem is that you have to modify nearly all the language configurations, including those to come.

This is one of the reasons I created Scintillua (https://github.com/orbitalquark/scintillua), which supports universal color themes. It uses its own set of lexers though, not SciTE’s.

Cheers,
Mitchell

Neil Hodgson

unread,
Dec 22, 2024, 4:45:07 PM12/22/24
to scite-i...@googlegroups.com
Baltasar García Perez-Schofield:

> I've been trying to create a "dark mode" for SCiTE.
> ...
> Unfortunately, I finally gave up. The problem is that you have to modify nearly all the language configurations, including those to come.
>
> For instance, Julia includes what appears to be a set of styles:
> ...
> There should be a way to define a set of limited styles, that all the others could refer to. For instance, it seems that styles 1, 2, 3, 4... are more or less standard for all languages, I wonder if you could do something like:

There are conflicting desires here. In one direction, some people want to control styling generically but another (sometimes overlapping) group of people want to have each nuance of the language differentiated.

Languages may, for example, offer a plethora of differing quoted string literal types. Some interpret escapes and others don't; some allow interpolation; some are for regular expressions; some are for a single character; some allow different character sets; some are for embeds inside another construct. Perl has around 25 different quoted literal styles recognized by Lexilla. Applying one string style over all of these (or a short subset) removes information that can be wanted and useful.

If the short list of global styles is only applied to the most directly equivalent styles then the original concern of having to change each language properties file remains and is not significantly eased.

Each language has areas of application and these areas influence what is regarded as important enough to have specific syntax. They shouldn't be treated as just variants of some familiar base language.

Neil

chris clark

unread,
Jan 13, 2025, 3:23:58 PMJan 13
to scite-interest
On Tuesday, December 17, 2024 at 2:21:27 PM UTC-8 Neil Hodgson wrote:
SciTE 5.5.4 is now available from the scintilla.org web site. It uses Lexilla 5.4.2 and Scintilla 5.5.4.
....

A C++20 compiler is needed to build SciTE.

I wasn't sure if this needed a readme update (C++17 is mention for Scite for Windows). Branch https://sourceforge.net/u/clach04/scintilla/ci/html_details_tag/tree/ has a readme tweak in https://sourceforge.net/u/clach04/scintilla/ci/83bb12a6b08f67d4028b4126b04395ce007884e6/

scintillaDotOrg

unread,
Jan 13, 2025, 3:40:53 PMJan 13
to scite-interest
Chris Clark:

I wasn't sure if this needed a readme update (C++17 is mention for Scite for Windows). Branch https://sourceforge.net/u/clach04/scintilla/ci/html_details_tag/tree/ has a readme tweak in https://sourceforge.net/u/clach04/scintilla/ci/83bb12a6b08f67d4028b4126b04395ce007884e6/

OK, incorporated that and updated the compiler versions a little. I'm unsure what the minimum required version of g++ is now (and it will likely increase with more use of c++20) but a fair bit is available with 9.x. 

Neil
Reply all
Reply to author
Forward
0 new messages