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/6d85089456ed215ce6b6a673744ae42ccc5e0e99)

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/b1870b826a384c35671937743720464947af3b7e)
> 
> 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™.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/3859#issuecomment-2104282900
You are receiving this because you are subscribed to this thread.

Message ID: <geany/geany/pull/3859/c2104282...@github.com>

Reply via email to