I’m not sure whether this is an oversight or expected behavior, but the errors/warnings from lezer-generator seem to contain 1-based lines and 0-based columns as part of their message. This can lead to misleading context with tools that expect both to be 1-based (e.g. in a VS Code problem matcher).
I think changing either lineInfo or message would fix this. If the ch computed in lineInfo is meant to be 0-based, it would be helpful to at least adjust the message to contain 1-based lines and columns.