Since PR #3859 (2d1b3d5), specifically since baaed02, which merges
[ctags#3471](universal-ctags/ctags#3471) and
[#3473](universal-ctags/ctags#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:
```verilog
module outer_module (input D, output Q);
inner_module inst (D, Q);
endmodule
```
| Before baaed02: | After baaed02: |
|-----------------|----------------|
|

|

|
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 or view it on GitHub:
https://github.com/geany/geany/issues/4072
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/issues/[email protected]>