Here's a first draft for CO1, based on https://www.scintilla.org/ScintillaDoc.html, especially https://www.scintilla.org/ScintillaDoc.html#Folding*/.
But I'm a beginner in C, I've never contributed code to online projects before, and I have no idea where exactly this would be integrated in Geany.
So any advice/info is welcome to make this more fun :)

#include "ScintillaTypes.h"
#include "ScintillaMessages.h"

/* move cursor to parent line (if current line has a parent) and fold it (hide its children lines). */
void moveToParentAndFold(line currentLine)
{
	line parentLine= SCI_GETFOLDPARENT(currentLine);
	// if currently at level 0 (no parents), then effect will be folding current line
	if (parentLine == -1)
		parentLine=currentLine;

	//set caret at first non-whitespace char in parentLine
	SCI_GOTOPOS(SCI_GETLINEINDENTPOSITION(parentLine) );

	// fold parentLine
	SCI_FOLDLINE(parentLine, SC_FOLDACTION_CONTRACT);
}


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.