On 2016-12-06 06:41 PM, Lex Trotman wrote:
On 7 December 2016 at 11:17, Matthew Brush mbrush@codebrainz.ca wrote:
On 2016-12-06 05:08 PM, Lex Trotman wrote:
On 7 December 2016 at 11:01, Matthew Brush mbrush@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