Regarding JS:
The only unexpected thing is the behavior of the javascript parser - this is from the javascript commit message:
There are lots of differences because of
[universal-ctags/ctags@6d85089](https://github.com/universal-ctags/ctags/commit/6d85089456ed215ce6b6a673744a...)
Yeah, all this look OK. Some can be viewed as implementor's choice, but it's fair so I'm fine with it.
Also
[universal-ctags/ctags@b1870b8](https://github.com/universal-ctags/ctags/commit/b1870b826a384c35671937743720...)
seems to confuse the parser in simple.js so it doesn't generate `my_global_var2`.
Despite what's in the test file, this is *not* valid JS (AFAICT, or as far as SpiderMonkey tells me), so it's understandable the parser doesn't get along very well with it. If you add a semicolon after it it fixes it, as it then consider it the end of the construct and "resets" itself.
Finally, Geany reports
(geany:820768): Tagmanager-WARNING **: 20:38:28.755: ignoring null tag in /home/parallels/projects/geany/doc/reference/jquery.js(line: 2, language: JavaScript)
Is this actually anything new? I just fixed a few upstream in https://github.com/universal-ctags/ctags/pull/3993, but I believe we already had this before.
Also, there's one instance in that jQuery code where it's somewhat expected, as there is indeed a zero-length property. For that remaining one, I'm not sure what the parser should do, as it can't really emit an empty name (format would probably not accept it, and anyway consumers are unlikely to like it), yet there *is* one in the input…
@b4n Does the PR in general and the javascript parser in particular look good to you? I didn't investigate the javascript parser differences much as I'm not a javascript user myself. At least the NULL warning should be fixed though.
Yeah, the JS changes look (almost) fine. I raised a couple issues upstream, but it's nothing serious nor that actually affect us much (see e.g. https://github.com/universal-ctags/ctags/issues/3995 and https://github.com/universal-ctags/ctags/issues/3997).
Two things: * we should probabmy use a newer snapshot (some parser changes, e.g. related to class vs. object vs. variable are gonna lead to additional test result changes, which are admittedly better in the newer version, and I'm not sure it's worth having an intermediary step here) * we should probably rather fix *simple.js* test to remove the invalid syntax that confuses the parser. I'll try and do that Soon™.