[Geany-Users] Code folding in geany 1.26

Matthew Brush mbrush at xxxxx
Wed Dec 7 04:36:09 UTC 2016


On 2016-12-06 06:41 PM, Lex Trotman wrote:
> On 7 December 2016 at 11:17, Matthew Brush <mbrush at codebrainz.ca> wrote:
>> On 2016-12-06 05:08 PM, Lex Trotman wrote:
>>> On 7 December 2016 at 11:01, Matthew Brush <mbrush at codebrainz.ca> wrote:
>>>> On 2016-11-26 07:20 AM, H wrote:
>>>>> [...]
>>>>> Ideally I would also like to be able to fold markdown text, not only
>>>>> programming code. Has anyone had success with that?
>>>>> [...]
>> A plugin could look at the code and notifications and decide what and when
>> to fold. If the lexer does folding already (unlike Markdown), the plugin
>> would be fighting the lexer's setting of fold levels, and would probably
>> require disabling code folding in Geany and doing everything in the plugin.
>
> Yes, setting the lexer to  SCLEX_CONTAINER is how you turn off the
> scintilla lexer and get the SCN_STYLENEEDED notification to do it in
> the plugin.  But ATM Geany doesn't support it.
>

For the Markdown lexer, which doesn't appear to support folding, you 
could just write simple plugin which scans the text and set the 
appropriate fold level on the desired lines.

For example this naive pseudo-code to fold on #-style headers:

	onTextChanged() {
		foreach line in allLines
			if line.text.startsWith("###")
				line.foldLevel = 3
	}

It's not as nice as doing it inside the lexer proper but it's probably 
only a few pages of code to implement.

Regards,
Matthew Brush



More information about the Users mailing list