Just a comment, wanna bet somebody interprets "by type" as by int float string etc ;-) Technically it should be "by kind" but then beginners won't know what that means, so might as well leave it.
Yeah, I was thinking the same - better not to leak ctags terminology to end users. Also, technically, it's not even kinds - several different kinds can be grouped into the same root in the tree by our mappings in `tm_parser.c`.