Hi,
I've fixed the VHDL symbols, two patches are attached for src/symbols.c
and tagmanager/vhdl.c.
The changes are:
Added support of Alias symbol in symbols.c
Renamed / added symbols groups and added icons for displayed groups in
symbols.c
Correct symbol types in vhdl.c
In some cases several symbols are in the same group. For example VHDL
variables, signals and constants are similar to variables in other
programming languages, so all this types are grouped as variables. I've
done this to avoid introducing VHDL specific symbol types.
I tried creating a tags file for auto-completing functions in standard
IEEE VHDL packages (similar to having gtk tags). I've done this by
adding vhdl.tags in to /usr/share/geany but this doesn't work. I copied
c99.tags to vhdl.tags and that didn't work either so presumably I need
to add something else somewhere to get this working. What do I need to do?
I'd like to create symbols for Verilog as well. If I copy vhdl.c and
change it as needed and modify the symbols.c to pickup Verilog files.
Will these symbols get picked up or do I need to get geany to recognise
Verilog files. Also, how to get geany to do syntax highlighting for Verilog.
Regards,
Kelvin
Kelvin Gardiner wrote:
Hi,
Thanks for the patch. I've just had chance to give it a try. I'll have
a look at fixing the other VHDL tags, and send a patch when done.
Regards,
Kelvin
Nick Treleaven wrote:
On Fri, 20 Nov 2009 13:41:17 +0000
Kelvin Gardiner <[email protected]> wrote:
I've attached a simple counter testbench. I've compiled the current
code
Thanks.
from svn and get the same issue. The only other tag listed in the
VHDL tag file that works is function. Is the correct set of tags
been called?
I made a small change to get signals in the symbol list. You might like
to look at the commit and the HACKING file and make a patch to get
other tag types shown for VHDL:
http://geany.svn.sourceforge.net/viewvc/geany?view=rev&revision=4446
Also, it's worth saying that the CTags VHDL parser has been updated
quite a bit but this has made it 3 times bigger. Not sure whether we
want to upgrade to that.
Nick Treleaven wrote:
On Fri, 20 Nov 2009 11:45:16 +0000
Kelvin Gardiner <[email protected]> wrote:
What I meant by symbols was the symbols tab at the the right-hand
side of the window. When editing a C file this list functions,
variables etc. I'd like similar functionality for VHDL and Verilog.
If you provide a sample file I can try to improve the symbols parsed.
I think probably the problem is the tagmanager/vhdl.c parser hasn't
been updated to work with tagmanager tag types (VhdlKinds).
Regards,
Nick
_______________________________________________
Geany-devel mailing list
[email protected]
http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
_______________________________________________
Geany-devel mailing list
[email protected]
http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
--- trunk/src/symbols.c 2009-11-24 16:27:37.000000000 +0000
+++ trunk_new/src/symbols.c 2009-11-25 22:02:40.000000000 +0000
@@ -747,14 +747,16 @@
case GEANY_FILETYPES_VHDL:
{
tag_list_add_groups(tag_store,
- &(tv_iters.tag_function), _("Functions"), "classviewer-method",
+ &(tv_iters.tag_namespace), _("Package"), "classviewer-namespace",
+ &(tv_iters.tag_class), _("Entities"), "classviewer-class",
+ &(tv_iters.tag_struct), _("Architectures"), "classviewer-struct",
+ &(tv_iters.tag_type), _("Types"), "classviewer-other",
+ &(tv_iters.tag_function), _("Functions / Procedures"), "classviewer-method",
/*&(tv_iters.tag_class), _("Constants"),*/
/*&(tv_iters.tag_member), _("Members"),*/
/*&(tv_iters.tag_macro), _("Macros"),*/
- &(tv_iters.tag_variable), _("Variables"), "classviewer-var",
- &(tv_iters.tag_struct), _("Signals"), NULL,
- &(tv_iters.tag_namespace), _("Package"), "classviewer-namespace",
- &(tv_iters.tag_type), _("Types"), NULL,
+ &(tv_iters.tag_variable), _("Variables / Signals"), "classviewer-var",
+ &(tv_iters.tag_member), _("Processes / Components"), "classviewer-member",
&(tv_iters.tag_other), _("Other"), "classviewer-other",
NULL);
break;
--- trunk/tagmanager/vhdl.c 2009-11-24 16:27:37.000000000 +0000
+++ trunk_new/tagmanager/vhdl.c 2009-11-26 10:13:53.000000000 +0000
@@ -43,7 +43,8 @@
K_PROCESS,
K_ENTITY,
K_ARCHITECTURE,
- K_PORT
+ K_PORT,
+ K_ALIAS
} vhdlKind;
typedef struct {
@@ -63,20 +64,21 @@
static vString* TagName=NULL;
static kindOption VhdlKinds [] = {
- { TRUE, 'c', "other", "constants" },
+ { TRUE, 'c', "variable", "constants" },
{ TRUE, 't', "typedef", "types" },
{ TRUE, 'v', "variable", "variables" },
{ TRUE, 'a', "atribute", "atributes" },
- { TRUE, 's', "struct", "signals" },
+ { TRUE, 's', "variable", "signals" },
{ TRUE, 'f', "function", "functions" },
- { TRUE, 'p', "prototype", "procedure" },
- { TRUE, 'k', "component", "components" },
- { TRUE, 'l', "package", "packages" },
- { TRUE, 'm', "process", "process" },
- { TRUE, 'n', "entity", "entity" },
- { TRUE, 'o', "architecture", "architecture" },
- { TRUE, 'u', "port", "ports" }
-};
+ { TRUE, 'p', "function", "procedure" },
+ { TRUE, 'k', "member", "components" },
+ { TRUE, 'l', "namespace", "packages" },
+ { TRUE, 'm', "member", "process" },
+ { TRUE, 'n', "class", "entity" },
+ { TRUE, 'o', "struct", "architecture" },
+ { TRUE, 'u', "port", "ports" },
+ { TRUE, 'v', "typedef", "alias" }
+ };
static keywordAssoc VhdlKeywordTable [] = {
{ "constant", K_CONSTANT },
@@ -93,7 +95,8 @@
{ "architecture", K_ARCHITECTURE },
{ "inout", K_PORT },
{ "in", K_PORT },
- { "out", K_PORT }
+ { "out", K_PORT },
+ { "alias", K_ALIAS }
};
_______________________________________________
Geany-devel mailing list
[email protected]
http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel