SF.net SVN: geany:[4211] trunk
eht16 at users.sourceforge.net
eht16 at xxxxx
Sun Sep 20 18:46:56 UTC 2009
Revision: 4211
http://geany.svn.sourceforge.net/geany/?rev=4211&view=rev
Author: eht16
Date: 2009-09-20 18:46:56 +0000 (Sun, 20 Sep 2009)
Log Message:
-----------
Add new filetype: Abc (patch by Eric Forgeot, thanks).
Modified Paths:
--------------
trunk/ChangeLog
trunk/data/filetype_extensions.conf
trunk/src/filetypes.c
trunk/src/filetypes.h
trunk/src/symbols.c
trunk/tagmanager/Makefile.am
trunk/tagmanager/makefile.win32
trunk/tagmanager/parsers.h
trunk/wscript
Added Paths:
-----------
trunk/data/filetypes.abc
trunk/tagmanager/abc.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2009-09-17 18:08:21 UTC (rev 4210)
+++ trunk/ChangeLog 2009-09-20 18:46:56 UTC (rev 4211)
@@ -1,3 +1,12 @@
+2009-09-20 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
+
+ * src/filetypes.c, src/filetypes.h, src/symbols.c,
+ tagmanager/parsers.h, tagmanager/makefile.win32,
+ tagmanager/abc.c, tagmanager/Makefile.am, data/filetypes.abc,
+ data/filetype_extensions.conf, wscript:
+
+
+
2009-09-17 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* src/printing.c:
Modified: trunk/data/filetype_extensions.conf
===================================================================
--- trunk/data/filetype_extensions.conf 2009-09-17 18:08:21 UTC (rev 4210)
+++ trunk/data/filetype_extensions.conf 2009-09-20 18:46:56 UTC (rev 4211)
@@ -3,6 +3,7 @@
# See Geany's main documentation for details.
[Extensions]
ASM=*.asm;
+Abc=*.abc;*.abp;
Ada=*.adb;*.ads;
C=*.c;*.h;
C++=*.cpp;*.cxx;*.c++;*.cc;*.h;*.hpp;*.hxx;*.h++;*.hh;*.C;*.H;
Added: trunk/data/filetypes.abc
===================================================================
--- trunk/data/filetypes.abc (rev 0)
+++ trunk/data/filetypes.abc 2009-09-20 18:46:56 UTC (rev 4211)
@@ -0,0 +1,9 @@
+# For complete documentation of this file, please see Geany's main documentation
+[styling]
+# no syntax highlighting yet
+
+[settings]
+# default extension used when saving files
+extension=abc
+
+
Property changes on: trunk/data/filetypes.abc
___________________________________________________________________
Added: keywords
+ Author Date Id Revision
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/src/filetypes.c
===================================================================
--- trunk/src/filetypes.c 2009-09-17 18:08:21 UTC (rev 4210)
+++ trunk/src/filetypes.c 2009-09-20 18:46:56 UTC (rev 4211)
@@ -391,6 +391,17 @@
ft->comment_close = NULL;
ft->group = GEANY_FILETYPE_GROUP_MISC;
+#define ABC
+ ft = filetypes[GEANY_FILETYPES_ABC];
+ ft->lang = 38;
+ ft->name = g_strdup("Abc");
+ filetype_make_title(ft, TITLE_SOURCE_FILE);
+ ft->extension = g_strdup("abc");
+ ft->pattern = utils_strv_new("*.abc", "*.abp", NULL);
+ ft->comment_open = NULL;
+ ft->comment_close = NULL;
+ ft->group = GEANY_FILETYPE_GROUP_MISC;
+
#define SH
ft = filetypes[GEANY_FILETYPES_SH];
ft->lang = 16;
Modified: trunk/src/filetypes.h
===================================================================
--- trunk/src/filetypes.h 2009-09-17 18:08:21 UTC (rev 4210)
+++ trunk/src/filetypes.h 2009-09-20 18:46:56 UTC (rev 4211)
@@ -79,6 +79,7 @@
GEANY_FILETYPES_CMAKE,
GEANY_FILETYPES_MARKDOWN,
GEANY_FILETYPES_TXT2TAGS,
+ GEANY_FILETYPES_ABC,
/* ^ append items here */
GEANY_MAX_BUILT_IN_FILETYPES /* Don't use this, use filetypes_array->len instead */
}
Modified: trunk/src/symbols.c
===================================================================
--- trunk/src/symbols.c 2009-09-17 18:08:21 UTC (rev 4210)
+++ trunk/src/symbols.c 2009-09-20 18:46:56 UTC (rev 4211)
@@ -696,6 +696,7 @@
}
case GEANY_FILETYPES_REST:
case GEANY_FILETYPES_TXT2TAGS:
+ case GEANY_FILETYPES_ABC:
{
tag_list_add_groups(tag_store,
&(tv_iters.tag_namespace), _("Chapter"), NULL,
Modified: trunk/tagmanager/Makefile.am
===================================================================
--- trunk/tagmanager/Makefile.am 2009-09-17 18:08:21 UTC (rev 4210)
+++ trunk/tagmanager/Makefile.am 2009-09-20 18:46:56 UTC (rev 4211)
@@ -34,6 +34,7 @@
strlist.h\
args.c\
args.h\
+ abc.c\
basic.c\
c.c\
conf.c\
Added: trunk/tagmanager/abc.c
===================================================================
--- trunk/tagmanager/abc.c (rev 0)
+++ trunk/tagmanager/abc.c 2009-09-20 18:46:56 UTC (rev 4211)
@@ -0,0 +1,127 @@
+/*
+* Copyright (c) 2009, Eric Forgeot
+*
+* Based on work by Jon Strait
+*
+* This source code is released for free distribution under the terms of the
+* GNU General Public License.
+*
+* This module contains functions for generating tags for Abc files.
+*/
+
+/*
+* INCLUDE FILES
+*/
+#include "general.h" /* must always come first */
+
+#include <ctype.h>
+#include <string.h>
+
+#include "parse.h"
+#include "read.h"
+#include "vstring.h"
+
+/*
+* DATA DEFINITIONS
+*/
+
+static kindOption AbcKinds[] = {
+ { TRUE, 'm', "member", "sections" },
+ { TRUE, 's', "struct", "header1"}
+};
+
+/*
+* FUNCTION DEFINITIONS
+*/
+
+/* checks if str is all the same character */
+/*static boolean issame(const char *str)
+{
+ char first = *str;
+
+ while (*(++str))
+ {
+ if (*str && *str != first)
+ return FALSE;
+ }
+ return TRUE;
+}*/
+
+
+static void makeAbcTag (const vString* const name, boolean name_before)
+{
+ tagEntryInfo e;
+ initTagEntry (&e, vStringValue(name));
+
+ if (name_before)
+ e.lineNumber--; /* we want the line before the underline chars */
+ e.kindName = AbcKinds[0].name;
+ e.kind = AbcKinds[0].letter;
+
+ makeTagEntry(&e);
+}
+
+/*static void makeAbcTag2 (const vString* const name, boolean name_before)
+{
+ tagEntryInfo e;
+ initTagEntry (&e, vStringValue(name));
+
+ if (name_before)
+ e.lineNumber--;
+ e.kindName = "struct";
+ e.kind = 's';
+
+ makeTagEntry(&e);
+}*/
+
+static void findAbcTags (void)
+{
+ vString *name = vStringNew();
+ const unsigned char *line;
+
+ while ((line = fileReadLine()) != NULL)
+ {
+ /*int name_len = vStringLength(name);*/
+
+ /* underlines must be the same length or more */
+ /*if (name_len > 0 && (line[0] == '=' || line[0] == '-') && issame((const char*) line))
+ {
+ makeAbcTag(name, TRUE);
+ }*/
+/* if (line[1] == '%') {
+ vStringClear(name);
+ vStringCatS(name, (const char *) line);
+ vStringTerminate(name);
+ makeAbcTag(name, FALSE);
+ }*/
+ if (line[0] == 'T') {
+ /*vStringClear(name);*/
+ vStringCatS(name, " / ");
+ vStringCatS(name, (const char *) line);
+ vStringTerminate(name);
+ makeAbcTag(name, FALSE);
+ }
+ else {
+ vStringClear (name);
+ if (! isspace(*line))
+ vStringCatS(name, (const char*) line);
+ vStringTerminate(name);
+ }
+ }
+ vStringDelete (name);
+}
+
+extern parserDefinition* AbcParser (void)
+{
+ static const char *const patterns [] = { "*.abc", NULL };
+ static const char *const extensions [] = { "abc", NULL };
+ parserDefinition* const def = parserNew ("Abc");
+
+ def->kinds = AbcKinds;
+ def->kindCount = KIND_COUNT (AbcKinds);
+ def->patterns = patterns;
+ def->extensions = extensions;
+ def->parser = findAbcTags;
+ return def;
+}
+
Property changes on: trunk/tagmanager/abc.c
___________________________________________________________________
Added: svn:mime-type
+ text/x-csrc
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/tagmanager/makefile.win32
===================================================================
--- trunk/tagmanager/makefile.win32 2009-09-17 18:08:21 UTC (rev 4210)
+++ trunk/tagmanager/makefile.win32 2009-09-20 18:46:56 UTC (rev 4211)
@@ -39,7 +39,7 @@
clean:
-$(RM) deps.mak *.o $(COMPLIB)
-$(COMPLIB): args.o c.o fortran.o make.o conf.o pascal.o perl.o php.o diff.o vhdl.o lua.o js.o \
+$(COMPLIB): abc.o args.o c.o fortran.o make.o conf.o pascal.o perl.o php.o diff.o vhdl.o lua.o js.o \
actionscript.o nsis.o \
haskell.o haxe.o html.o python.o lregex.o rest.o sh.o ctags.o entry.o get.o keyword.o nestlevel.o \
options.o \
Modified: trunk/tagmanager/parsers.h
===================================================================
--- trunk/tagmanager/parsers.h 2009-09-17 18:08:21 UTC (rev 4210)
+++ trunk/tagmanager/parsers.h 2009-09-20 18:46:56 UTC (rev 4211)
@@ -52,7 +52,8 @@
ActionScriptParser, \
NsisParser, \
MarkdownParser, \
- Txt2tagsParser
+ Txt2tagsParser, \
+ AbcParser
/*
langType of each parser
0 CParser
@@ -93,6 +94,7 @@
35 NsisParser
36 MarkdownParser
37 Txt2tagsParser
+38 AbcParser
*/
#endif /* _PARSERS_H */
Modified: trunk/wscript
===================================================================
--- trunk/wscript 2009-09-17 18:08:21 UTC (rev 4210)
+++ trunk/wscript 2009-09-20 18:46:56 UTC (rev 4211)
@@ -61,7 +61,7 @@
tagmanager_sources = [
- 'tagmanager/args.c', 'tagmanager/actionscript.c', 'tagmanager/asm.c',
+ 'tagmanager/args.c', 'tagmanager/abc.c', 'tagmanager/actionscript.c', 'tagmanager/asm.c',
'tagmanager/basic.c', 'tagmanager/c.c',
'tagmanager/conf.c', 'tagmanager/css.c', 'tagmanager/ctags.c', 'tagmanager/diff.c',
'tagmanager/docbook.c', 'tagmanager/entry.c', 'tagmanager/fortran.c', 'tagmanager/get.c',
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