[Geany-Devel] [FT-plugins] Proposed "Features"

Matthew Brush mbrush at xxxxx
Thu Sep 1 05:28:34 UTC 2016


On 2016-08-31 10:00 PM, Thomas Martitz wrote:
> Am 01.09.2016 um 05:42 schrieb Lex Trotman:
>> On 31 August 2016 at 11:27, Matthew Brush <mbrush at codebrainz.ca> wrote:
>>>
>>> With the `LexClang.so` dynamic lexer I made, dynamic lexers
>>> seemed not to fit well (too isolated, too many assumptions that
>>> it's a simple dumb lexer and not a semantic-based on, etc) . All
>>> I really wanted was a way to disable Scintilla's lexer (ie.
>>> switch it to `SCLEX_CONTAINER`) without changing the filetype in
>>> Geany, and without doing it behind Geany's back from the plugin.
>> Agree with Matthew.
>>
>> The point of not using the standard Scintilla lexer is to be able to
>> add semantic information made available for the language support
>> library in the FT-Plugin.
>>
>> The major example of this is fixing the current situation where any
>> name that is a type in any scope is coloured as a type in every other
>> scope, even if the type is not visible there.
>>
>> That means that the lexer is intimately tied into the FT-Plugin so it
>> likely won't run without the FT-Plugin anyway, so actually including
>> it in the plugin and accessing it via the container lexers interface
>> looks better than having a separate DLL that won't run by itself
>> anyway and then has to be sure its loaded at the right time.
>
> Can this support color schemes and custom keywords (although the latter
> is probably not very important).
>
> I don't know what SCLEX_CONTAINER is.
>

It's the built-in (application-provided) lexing support in Scintilla. It 
means "Tell me when, and I'll highlight the source for you". It only 
requires a GTK+ signal from Scintilla rather than having to implement a 
concrete C++ class of ILexer and conforming to some interface in a 
separate DLL, to perform roughly the same task.

http://www.scintilla.org/ScintillaDoc.html#SCN_STYLENEEDED

Cheers,
Matthew Brush


More information about the Devel mailing list