@techee something changed when it was upstreamed, the parser accepts level 5 [here](https://github.com/geany/geany/blob/ae1f499e3b2fa108d749942008431ec1aaf0294b...) and it has a letter [here](https://github.com/geany/geany/blob/ae1f499e3b2fa108d749942008431ec1aaf0294b...) but its not in the enum [here](https://github.com/geany/geany/blob/ae1f499e3b2fa108d749942008431ec1aaf0294b... Whats the comment about, does it matter not being in the enum, or does Geany just ignore letter u?
Note the difference in numbering in uctags and in what @jack6th sent as an example - level 5 in uctags is 5 equal signs while in the example above it is 6 equal signs because it starts from level 0. The `n_same` variable in the parser is named confusingly because it's always the number of `=` +1 and this 1 is then subtracted so the code `n_same <= 6` actually checks for level 5.
Basically right now `===== level` with 5 `=` is the deepest level supported by the parser. Would probably be trivial to increase this limit though.
And whats "cork" (a tree bark stopper in a wine bottle or a place in Ireland is all I know)?
It's the place in Ireland ;-).
No, well, I have no idea about where the name came from but when a parser uses "cork", it can do things like `createTag(my_tag, parent_tag);` and ctags takes care of correct generation of scope for `my_tag` (inside `parent_tag` and if `parent_tag` is also nested, it adds all the parents). Here this parser just uses the stack for parents directly by calling `nestingLevelsPush(nestingLevels, r);`.