[Github-comments] [geany/geany] Folding code: more advanced commands (#2920)

Vic notifications at xxxxx
Sat Oct 9 09:44:26 UTC 2021


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 :) 
``` c
// for `line` type, https://www.scintilla.org/ScintillaDoc.html
#include "ScintillaTypes.h"
#include "ScintillaMessages.h"


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

	line parentLine= SCI_GETFOLDPARENT(currentLine);
	if (parentLine == -1)
		parentLine=currentLine;

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

	SCI_FOLDLINE(parentLine, SC_FOLDACTION_CONTRACT);

}
```

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/2920#issuecomment-939267034
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.geany.org/pipermail/github-comments/attachments/20211009/e12d1d5d/attachment.htm>


More information about the Github-comments mailing list