Since PR #3859 (2d1b3d5), specifically since baaed02, which merges ctags#3471 and #3473 (among others), Geany's tagmanager adds a "module" tag for instances of a module (in addition to the "instance" tag for the instance itself, which Geany didn't show in the tree view until #4039).

Example code:

module outer_module (input D, output Q);
    inner_module inst (D, Q);
endmodule
Before baaed02: After baaed02:
Geany_before_baaed02.png (view on web) Geany_after_baaed02.png (view on web)

For an analogy, this is like having the C code struct inner_struct foo; tag both inner_struct and foo as struct/variable declarations (but it's not defining a struct type, just using it).

This seems to be caused by ctags now creating a reference tag whenever it declares an instance, referencing the corresponding module, and Geany erroneously(?) interpreting that reference tag as a normal tag. But I don't know enough about ctags to know what's going on for sure, nor what's the proper way to handle it (other than refraining from creating a reference tag).

Is there a way to fix this? It looks like #3102 might be related to this kind of issue.


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <geany/geany/issues/4072@github.com>