Of course, folding can only happen at a fold points. But what is considered as "node" in the tree of the file could be made to be more inclusive than the fold points. Because that changes the determination of the current level and thus the navigation and which fold points will be folded/unfolded. For example, in the text my previous comment: - if currently the cursor is in middle of line 2, and one uses C3 to go to next sibling, I think that should be line 4 (as opposed to skiping it b/c it's not a fold point) - if currently in line 8, and one uses C5 (to fold all nodes of same level as current node), then IMO it should fold all folding points of level 1 - judging by current indentation level (as opposed to saying that current fold's level is 0, thus fold all folding points of level 0)