Revision: 2078 http://geany.svn.sourceforge.net/geany/?rev=2078&view=rev Author: eht16 Date: 2007-11-29 10:24:06 -0800 (Thu, 29 Nov 2007)
Log Message: ----------- Use Ruby parser from CTags SVN and add/fix symbol list sections.
Modified Paths: -------------- trunk/ChangeLog trunk/src/symbols.c trunk/tagmanager/ruby.c
Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2007-11-29 18:21:12 UTC (rev 2077) +++ trunk/ChangeLog 2007-11-29 18:24:06 UTC (rev 2078) @@ -12,6 +12,8 @@ Add line and column number in charset conversion error dialog when saving a file and improve display of the failed character. * src/build.c: Fix broken Run command on Java files on Windows. + * src/symbols.c, tagmanager/ruby.c: + Use Ruby parser from CTags SVN and add/fix symbol list sections.
2007-11-27 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
Modified: trunk/src/symbols.c =================================================================== --- trunk/src/symbols.c 2007-11-29 18:21:12 UTC (rev 2077) +++ trunk/src/symbols.c 2007-11-29 18:24:06 UTC (rev 2078) @@ -199,6 +199,7 @@ { case GEANY_FILETYPES_C: // for C++ .h headers or C structs case GEANY_FILETYPES_CPP: + //~ case GEANY_FILETYPES_RUBY: // not sure what to use atm { static gchar cc[] = "::";
@@ -597,12 +598,10 @@ case GEANY_FILETYPES_RUBY: { tag_list_add_groups(tag_store, + &(tv_iters.tag_namespace), _("Modules"), NULL, &(tv_iters.tag_class), _("Classes"), "classviewer-class", - &(tv_iters.tag_member), _("Singletons"), NULL, - &(tv_iters.tag_macro), _("Mixins"), NULL, + &(tv_iters.tag_member), _("Singletons"), "classviewer-struct", &(tv_iters.tag_function), _("Methods"), "classviewer-method", - &(tv_iters.tag_struct), _("Members"), "classviewer-member", - &(tv_iters.tag_variable), _("Variables"), "classviewer-var", NULL); //&(tv_iters.tag_namespace), _("Begin"), //&(tv_iters.tag_other), _("Other"), NULL);
Modified: trunk/tagmanager/ruby.c =================================================================== --- trunk/tagmanager/ruby.c 2007-11-29 18:21:12 UTC (rev 2077) +++ trunk/tagmanager/ruby.c 2007-11-29 18:24:06 UTC (rev 2078) @@ -1,5 +1,5 @@ /* -* $Id$ +* $Id: ruby.c 571 2007-06-24 23:32:14Z elliotth $ * * Copyright (c) 2000-2001, Thaddeus Covert sahuagin@mediaone.net * Copyright (c) 2002 Matthias Veit matthias_veit@yahoo.de @@ -37,8 +37,8 @@ static kindOption RubyKinds [] = { { TRUE, 'c', "class", "classes" }, { TRUE, 'f', "method", "methods" }, - { TRUE, 'm', "module", "modules" }, - { TRUE, 'F', "singleton method", "singleton methods" } + { TRUE, 'm', "namespace", "modules" }, + { TRUE, 'F', "member", "singleton methods" } };
static stringList* nesting = 0; @@ -346,7 +346,7 @@
while (*cp != '\0') { - /* FIXME: we don't cope with here documents, or string literals, + /* FIXME: we don't cope with here documents, * or regular expression literals, or ... you get the idea. * Hopefully, the restriction above that insists on seeing * definitions at the starts of lines should keep us out of @@ -372,8 +372,17 @@ { /* Leave the most recent scope. */ vStringDelete (stringListLast (nesting)); - stringListRemoveLast (nesting); + stringListRemoveLast (nesting); } + else if (*cp == '"') + { + /* Skip string literals. + * FIXME: should cope with escapes and interpolation. + */ + do { + ++cp; + } while (*cp != 0 && *cp != '"'); + } else if (*cp != '\0') { do @@ -387,7 +396,7 @@
extern parserDefinition* RubyParser (void) { - static const char *const extensions [] = { "rb", "ruby", "rhtml", NULL }; + static const char *const extensions [] = { "rb", "ruby", NULL }; parserDefinition* def = parserNew ("Ruby"); def->kinds = RubyKinds; def->kindCount = KIND_COUNT (RubyKinds);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.