For most languages the parser is hard-coded using the table here: ... I think only a few non-builtin filetypes like JSON use the tag_parser option to specify the parser by name. But if the name is invalid or not provided, we shouldn't crash which this PR tries to do.
And also the hard-coded parsers can be overridden by this option so by specifying e.g. `tag_parser=Python` for the C filetype, we'd start using the Python parser for it (doesn't make much sense in this case). So by specifying `tag_parser=` we override the C parser to "no parser" so TM is completely disabled for C and LSP doesn't interfere with it.