This pull request removes the geany_ prefix from parsers we can sync easily with ctags and which contain only small changes and copies over these parsers from uctags (the versions from tag p5.9.20211031.0 like in #2984). More details can be found in the commit messages.
I plan to do the same with other parsers too, this pull request just includes those that didn't contain many changes to make this pull request easy to review. This pull request compiles fine independently of whether #2984 is applied or not. You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/2990
-- Commit Summary --
* <a href="https://github.com/geany/geany/pull/2990/commits/1756f0cbc27338f63eda500a4af56d9a9c8c1872">Remove the geany_ prefix from parsers with trivial changes against ctags</a> * <a href="https://github.com/geany/geany/pull/2990/commits/7dbbd1bee2ea1c2dca7343c4710f8385a60a9a0a">Update parsers to the uctags versions and update Geany where needed</a>
-- File Changes --
M ctags/Makefile.am (30) R ctags/parsers/abaqus.c (12) R ctags/parsers/abc.c (65) R ctags/parsers/asciidoc.c (6) R ctags/parsers/bibtex.c (22) R ctags/parsers/cobol.c (0) R ctags/parsers/css.c (1) R ctags/parsers/erlang.c (3) R ctags/parsers/flex.c (16) R ctags/parsers/haskell.c (16) R ctags/parsers/haxe.c (10) R ctags/parsers/json.c (54) R ctags/parsers/julia.c (0) R ctags/parsers/powershell.c (17) R ctags/parsers/rst.c (59) R ctags/parsers/txt2tags.c (10) M src/tagmanager/tm_parser.c (22) M tests/ctags/rules.t2t.tags (6) M tests/ctags/titles.t2t.tags (24)
-- Patch Links --
https://github.com/geany/geany/pull/2990.patch https://github.com/geany/geany/pull/2990.diff
I haven't looked at update-ctags.py in detail but I assume it attempts to preserve our small changes?
I haven't looked at update-ctags.py in detail but I assume it attempts to preserve our small changes?
The only small change in ctags `main` is what `ctags_changes.patch` does - the script just copies over the files from ctags main and applies this patch.
Another story are the parsers where changes are rather big apart from parsers in this pull request. The script ignores parsers starting with `geany_` (those will have to be maintained by us) and only replaces parsers without this prefix. This is something this pull request does too - removes the `geany_` prefix so the next time we run `update-ctags.py`, the upstream versions of these parsers will be copied automatically and we won't have to worry about them any more.
Agree with @techee the aim is to be able to simply update changes from ctags automatically. For those parsers where we have a worthwhile change we should push it upstream, thats a nice thing to do anyway, and it then allows us to import the parsers automatically.
`c.c` and others that have big changes are more or a problem and the `geany_` prefix will protect them until such time as they can be synchronised (or replaced with new upstream in the case of C/C++).
See https://github.com/geany/geany/pull/2991#issuecomment-980814999
@techee pushed 2 commits.
e8252074ea77f107a1cc4aee50f098a2856afa80 Add julia test to Makefile.am b01bd9162405662ae567d05c9338f18fbed6b317 Remove REST from tm_parser_context_separator()
@techee pushed 3 commits.
885d591f4a854de899745eba0f1f70b093aa55de Undo previous commit removing REST scope separator and improve comment 114290b982c3f58311aef06a1bc86dcdfb92c470 Add asciidoc among languages without nested scope c8929fcde8ba839d7620380cf4ee0ae5c2383475 Use "\x3" as the improbable character for scope separator
Just to clarify what I did in the last few commits - first I got a bit confused about the reason why the various text file format parsers are mentioned in `tm_parser_context_separator()` even though they don't report nested scope and the context separator never appears in the context. The only reason for them to be here is to report some invalid context separator so `tm_parser_context_separator()` doesn't report false positive scope separators (e.g. imagine `1.1 My subsection` where `.` would be detected as a scope separator).
The situation with these languages is - txt2tags now reports full context with `""` as its context separator. Asciidoc, conf, rest don't use context separator and use `\x3` as the improbable-to-appear-in-text character.
I went through all the languages in this pull request and everything seems to be good from my perspective so as far as I can tell, this pull request is ready to be merged.
Merged #2990 into master.
this pull request is ready to be merged.
Done!!!
github-comments@lists.geany.org