Scopes entities in the syntax schema define rules for calculating of the outlining (folding) structure, that actually allows you to fold code blocks, see nesting hierarchy, optimize smart highlight searches etc.
Node SCOPES contains a collection of scope definitions that can be used in the syntax.
<SCOPES open_container="normal"> <Scope open="begin" close="end"/> <DynamicScope lead="<" strict="false"/> <IndentScope/> </SCOPES>
They can be:
<Scope/> ).<DynamicScope/> ).<IndentScope/> ).Every scope definition has his own set of properties, that can control outlining processing.
Scopes are inheritable: child syntax gets scopes defined in parent syntax.
You can define global containers for all scopes on the level of main SCOPES node (the container list can be extended for explicit Scope on the level of that scope):
If you define only open_container it will be used also for middle and close tags by default.
If programming language does not support user defined regions (user defined collapsible regions) you can still do this, while editing in HippoEDIT.