SF.net SVN: geany: [2055] trunk
eht16 at users.sourceforge.net
eht16 at xxxxx
Sun Nov 18 17:17:59 UTC 2007
Revision: 2055
http://geany.svn.sourceforge.net/geany/?rev=2055&view=rev
Author: eht16
Date: 2007-11-18 09:17:59 -0800 (Sun, 18 Nov 2007)
Log Message:
-----------
Add missing symbol types: Interface and Constants for PHP.
Disable use of non-ASCII characters for PHP parser, it caused problems when using with locales other than "C".
Add missing line break characters in error messages in lregex.c.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/symbols.c
trunk/tagmanager/lregex.c
trunk/tagmanager/php.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2007-11-18 15:09:28 UTC (rev 2054)
+++ trunk/ChangeLog 2007-11-18 17:17:59 UTC (rev 2055)
@@ -4,6 +4,11 @@
src/prefs.h, src/treeviews.c:
Add hidden pref to hide symbol list treeview expander (GTK >= 2.12).
Double click on symbol list sections now expands/collapses them.
+ * src/symbols.c, tagmanager/lregex.c, tagmanager/php.c:
+ Add missing symbol types: Interface and Constants for PHP.
+ Disable use of non-ASCII characters for PHP parser, it caused
+ problems when using with locales other than "C".
+ Add missing line break characters in error messages in lregex.c.
2007-11-17 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
Modified: trunk/src/symbols.c
===================================================================
--- trunk/src/symbols.c 2007-11-18 15:09:28 UTC (rev 2054)
+++ trunk/src/symbols.c 2007-11-18 17:17:59 UTC (rev 2055)
@@ -573,9 +573,10 @@
case GEANY_FILETYPES_PHP:
{
tag_list_add_groups(tag_store,
+ &(tv_iters.tag_struct), _("Interfaces"), "classviewer-struct",
&(tv_iters.tag_class), _("Classes"), "classviewer-class",
&(tv_iters.tag_function), _("Functions"), "classviewer-method",
- &(tv_iters.tag_macro), _("Constants"), NULL,
+ &(tv_iters.tag_macro), _("Constants"), "classviewer-macro",
&(tv_iters.tag_variable), _("Variables"), "classviewer-var",
NULL);
//&(tv_iters.tag_struct), _("Label"),
@@ -640,7 +641,7 @@
{
tag_list_add_groups(tag_store,
&(tv_iters.tag_namespace), _("Package"), NULL,
- &(tv_iters.tag_struct), _("Interfaces"), NULL,
+ &(tv_iters.tag_struct), _("Interfaces"), "classviewer-struct",
&(tv_iters.tag_class), _("Classes"), "classviewer-class",
&(tv_iters.tag_function), _("Methods"), "classviewer-method",
&(tv_iters.tag_member), _("Members"), "classviewer-member",
@@ -656,7 +657,7 @@
&(tv_iters.tag_struct), _("Interfaces"), "classviewer-struct",
&(tv_iters.tag_class), _("Classes"), "classviewer-class",
&(tv_iters.tag_function), _("Methods"), "classviewer-method",
- &(tv_iters.tag_type), _("Types"), NULL,
+ &(tv_iters.tag_type), _("Types"), "classviewer-macro",
&(tv_iters.tag_variable), _("Variables"), "classviewer-var",
&(tv_iters.tag_other), _("Other"), "classviewer-other",
NULL);
Modified: trunk/tagmanager/lregex.c
===================================================================
--- trunk/tagmanager/lregex.c 2007-11-18 15:09:28 UTC (rev 2054)
+++ trunk/tagmanager/lregex.c 2007-11-18 17:17:59 UTC (rev 2055)
@@ -217,18 +217,18 @@
*name = scanSeparators (regexp);
if (*regexp == '\0')
- printf ("regex: empty regexp");
+ printf ("regex: empty regexp\n");
else if (**name != separator)
- printf ("regex: %s: incomplete regexp", regexp);
+ printf ("regex: %s: incomplete regexp\n", regexp);
else
{
char* const third = scanSeparators (*name);
if (**name == '\0')
- printf ("regex: %s: regexp missing name pattern", regexp);
+ printf ("regex: %s: regexp missing name pattern\n", regexp);
if ((*name) [strlen (*name) - 1] == '\\')
- printf ("regex: error in name pattern: \"%s\"", *name);
+ printf ("regex: error in name pattern: \"%s\"\n", *name);
if (*third != separator)
- printf ("regex: %s: regexp missing final separator", regexp);
+ printf ("regex: %s: regexp missing final separator\n", regexp);
else
{
char* const fourth = scanSeparators (third);
@@ -323,7 +323,7 @@
case 'b': cflags &= ~REG_EXTENDED; break;
case 'e': cflags |= REG_EXTENDED; break;
case 'i': cflags |= REG_ICASE; break;
- default: printf ("regex: unknown regex flag: '%c'", *flags); break;
+ default: printf ("regex: unknown regex flag: '%c'\n", *flags); break;
}
}
result = xMalloc (1, regex_t);
@@ -332,7 +332,7 @@
{
char errmsg[256];
regerror (errcode, result, errmsg, 256);
- printf ("regex: regcomp %s: %s", regexp, errmsg);
+ printf ("regex: regcomp %s: %s\n", regexp, errmsg);
regfree (result);
eFree (result);
result = NULL;
@@ -402,13 +402,13 @@
else if (parameter [0] != '@')
addLanguageRegex (language, parameter);
else if (! doesFileExist (parameter + 1))
- printf ("regex: cannot open regex file");
+ printf ("regex: cannot open regex file\n");
else
{
const char* regexfile = parameter + 1;
FILE* const fp = fopen (regexfile, "r");
if (fp == NULL)
- printf ("regex: %s", regexfile);
+ printf ("regex: %s\n", regexfile);
else
{
vString* const regex = vStringNew ();
@@ -612,11 +612,11 @@
langType language;
language = getNamedLanguage (dash + 1);
if (language == LANG_IGNORE)
- printf ("regex: unknown language \"%s\" in --%s option", (dash + 1), option);
+ printf ("regex: unknown language \"%s\" in --%s option\n", (dash + 1), option);
else
processLanguageRegex (language, parameter);
#else
- printf ("regex: regex support not available; required for --%s option",
+ printf ("regex: regex support not available; required for --%s option\n",
option);
#endif
handled = TRUE;
Modified: trunk/tagmanager/php.c
===================================================================
--- trunk/tagmanager/php.c 2007-11-18 15:09:28 UTC (rev 2054)
+++ trunk/tagmanager/php.c 2007-11-18 17:17:59 UTC (rev 2055)
@@ -54,6 +54,7 @@
* end of an identifier, and we need something like iconv to take into
* account the user's locale (or an override on the command-line.)
*/
+/*
#ifdef __CYGWIN__
#define ALPHA "[:alpha:]"
#define ALNUM "[:alnum:]"
@@ -61,7 +62,12 @@
#define ALPHA "A-Za-z\x7f-\xff"
#define ALNUM "0-9A-Za-z\x7f-\xff"
#endif
+*/
+// eht16 - "A-Za-z\x7f-\xff" fails on other locales than "C" and so skip it
+#define ALPHA "[:alpha:]"
+#define ALNUM "[:alnum:]"
+
static void installPHPRegex (const langType language)
{
addTagRegex(language, "(^|[ \t])class[ \t]+([" ALPHA "_][" ALNUM "_]*)",
@@ -69,7 +75,7 @@
addTagRegex(language, "(^|[ \t])interface[ \t]+([" ALPHA "_][" ALNUM "_]*)",
"\\2", "i,interface,interfaces", NULL);
addTagRegex(language, "(^|[ \t])define[ \t]*\\([ \t]*['\"]?([" ALPHA "_][" ALNUM "_]*)",
- "\\2", "d,define,constant definitions", NULL);
+ "\\2", "d,macro,constant definitions", NULL);
addTagRegex(language, "(^|[ \t])function[ \t]+&?[ \t]*([" ALPHA "_][" ALNUM "_]*)",
"\\2", "f,function,functions", NULL);
addTagRegex(language, "(^|[ \t])(\\$|::\\$|\\$this->)([" ALPHA "_][" ALNUM "_]*)[ \t]*=",
@@ -159,7 +165,7 @@
cp++;
while (isspace ((int) *cp))
- ++cp;
+ ++cp;
}
vStringClear (name);
@@ -171,7 +177,7 @@
vStringTerminate (name);
makeSimpleTag (name, PhpKinds, K_FUNCTION);
vStringClear (name);
- }
+ }
else if (strncmp ((const char*) cp, "class", (size_t) 5) == 0 &&
isspace ((int) cp [5]))
{
@@ -206,7 +212,7 @@
++cp;
else if (! ((*cp == '_') || isalnum ((int) *cp)))
continue;
-
+
vStringClear (name);
while (isalnum ((int) *cp) || *cp == '_')
{
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list