SF.net SVN: geany:[4163] trunk
eht16 at users.sourceforge.net
eht16 at xxxxx
Sun Sep 6 20:57:42 UTC 2009
Revision: 4163
http://geany.svn.sourceforge.net/geany/?rev=4163&view=rev
Author: eht16
Date: 2009-09-06 20:57:42 +0000 (Sun, 06 Sep 2009)
Log Message:
-----------
Add new filetype: Txt2Tags (patch by Eric Forgeot, thanks).
Modified Paths:
--------------
trunk/ChangeLog
trunk/THANKS
trunk/data/filetype_extensions.conf
trunk/src/about.c
trunk/src/filetypes.c
trunk/src/filetypes.h
trunk/src/plugindata.h
trunk/src/symbols.c
trunk/tagmanager/Makefile.am
trunk/tagmanager/makefile.win32
trunk/tagmanager/parsers.h
trunk/wscript
Added Paths:
-----------
trunk/data/filetypes.txt2tags
trunk/tagmanager/txt2tags.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2009-09-06 16:51:11 UTC (rev 4162)
+++ trunk/ChangeLog 2009-09-06 20:57:42 UTC (rev 4163)
@@ -25,6 +25,12 @@
replace_target() to the plugin API
(patch by Eugene Arshinov, thanks).
Add new plugin signal: "document-filetype-set" (closes #2852286).
+ * data/filetype_extensions.conf, data/filetypes.txt2tags, src/about.c,
+ src/filetypes.c, src/filetypes.h, src/plugindata.h, src/symbols.c,
+ tagmanager/Makefile.am, tagmanager/makefile.win32,
+ tagmanager/parsers.h, tagmanager/txt2tags.c, tagmanager/txt2tags.c,
+ wscript, THANKS:
+ Add new filetype: Txt2Tags (patch by Eric Forgeot, thanks).
2009-09-04 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
Modified: trunk/THANKS
===================================================================
--- trunk/THANKS 2009-09-06 16:51:11 UTC (rev 4162)
+++ trunk/THANKS 2009-09-06 20:57:42 UTC (rev 4163)
@@ -67,6 +67,7 @@
Jesse Mayes <plasmasheep(at)gmail(dot)com> - Tango'ish Save All icon
Eugene Arshinov <earshinov(at)gmail(dot)com> - Reload color schemes, split lines KB patches, and more
Jon Strait <jstrait(at)moonloop(dot)net> - Markdown filetype patch
+Forgeot Eric <eforgeot(at)yahoo(dot)fr> - Txt2Tags filetype patch
Translators:
------------
Modified: trunk/data/filetype_extensions.conf
===================================================================
--- trunk/data/filetype_extensions.conf 2009-09-06 16:51:11 UTC (rev 4162)
+++ trunk/data/filetype_extensions.conf 2009-09-06 20:57:42 UTC (rev 4163)
@@ -43,6 +43,7 @@
Po=*.po;*.pot;
LaTeX=*.tex;*.sty;*.idx;*.ltx;
reStructuredText=*.rest;*.reST;*.rst;
+txt2tags=*.t2t;
SQL=*.sql;
YAML=*.yaml;*.yml;
None=*;
Added: trunk/data/filetypes.txt2tags
===================================================================
--- trunk/data/filetypes.txt2tags (rev 0)
+++ trunk/data/filetypes.txt2tags 2009-09-06 20:57:42 UTC (rev 4163)
@@ -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=txt2tags
+
+
Property changes on: trunk/data/filetypes.txt2tags
___________________________________________________________________
Added: keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/src/about.c
===================================================================
--- trunk/src/about.c 2009-09-06 16:51:11 UTC (rev 4162)
+++ trunk/src/about.c 2009-09-06 20:57:42 UTC (rev 4163)
@@ -82,7 +82,7 @@
static const gchar *contributors =
"Alexander Rodin, Andrew Rowland, Anh Phạm, blackdog, Bo Lorentsen, Bob Doan, Bronisław Białek, Catalin Marinas, "
"Chris Macksey, Christoph Berg, Colomban Wendling, Conrad Steenberg, Daniel Richard G., Dave Moore, Dirk Weber, "
-"Elias Pschernig, Eugene Arshinov, Felipe Pena, François Cami, "
+"Elias Pschernig, Eric Forgeot, Eugene Arshinov, Felipe Pena, François Cami, "
"Giuseppe Torelli, Guillaume de Rorthais, Guillaume Hoffmann, Herbert Voss, Jason Oster, Jean-François Wauthy, Jeff Pohlmeyer, "
"Jesse Mayes, John Gabriele, Jon Strait, Josef Whiter, Kevin Ellwood, Kristoffer A. Tjernås, Marko Peric, Matti Mårds, Moritz Barsnick, "
"Peter Strand, Philipp Gildein, Pierre Joye, Rob van der Linde, Robert McGinley, Roland Baudin, S Jagannathan, Saleem Abdulrasool, "
Modified: trunk/src/filetypes.c
===================================================================
--- trunk/src/filetypes.c 2009-09-06 16:51:11 UTC (rev 4162)
+++ trunk/src/filetypes.c 2009-09-06 20:57:42 UTC (rev 4163)
@@ -379,6 +379,17 @@
ft->comment_open = NULL;
ft->comment_close = NULL;
ft->group = GEANY_FILETYPE_GROUP_MISC;
+
+#define TXT2TAGS
+ ft = filetypes[GEANY_FILETYPES_TXT2TAGS];
+ ft->lang = 37;
+ ft->name = g_strdup("Txt2tags");
+ filetype_make_title(ft, TITLE_SOURCE_FILE);
+ ft->extension = g_strdup("t2t");
+ ft->pattern = utils_strv_new("*.t2t", "*.txt2tags", NULL);
+ ft->comment_open = NULL;
+ ft->comment_close = NULL;
+ ft->group = GEANY_FILETYPE_GROUP_MISC;
#define SH
ft = filetypes[GEANY_FILETYPES_SH];
Modified: trunk/src/filetypes.h
===================================================================
--- trunk/src/filetypes.h 2009-09-06 16:51:11 UTC (rev 4162)
+++ trunk/src/filetypes.h 2009-09-06 20:57:42 UTC (rev 4163)
@@ -78,6 +78,7 @@
GEANY_FILETYPES_ADA,
GEANY_FILETYPES_CMAKE,
GEANY_FILETYPES_MARKDOWN,
+ GEANY_FILETYPES_TXT2TAGS,
/* ^ append items here */
GEANY_MAX_BUILT_IN_FILETYPES /* Don't use this, use filetypes_array->len instead */
}
Modified: trunk/src/plugindata.h
===================================================================
--- trunk/src/plugindata.h 2009-09-06 16:51:11 UTC (rev 4162)
+++ trunk/src/plugindata.h 2009-09-06 20:57:42 UTC (rev 4163)
@@ -50,7 +50,7 @@
enum {
/** The Application Programming Interface (API) version, incremented
* whenever any plugin data types are modified or appended to. */
- GEANY_API_VERSION = 154,
+ GEANY_API_VERSION = 155,
/** The Application Binary Interface (ABI) version, incremented whenever
* existing fields in the plugin data types have to be changed or reordered. */
Modified: trunk/src/symbols.c
===================================================================
--- trunk/src/symbols.c 2009-09-06 16:51:11 UTC (rev 4162)
+++ trunk/src/symbols.c 2009-09-06 20:57:42 UTC (rev 4163)
@@ -695,6 +695,7 @@
break;
}
case GEANY_FILETYPES_REST:
+ case GEANY_FILETYPES_TXT2TAGS:
{
tag_list_add_groups(tag_store,
&(tv_iters.tag_namespace), _("Chapter"), NULL,
Modified: trunk/tagmanager/Makefile.am
===================================================================
--- trunk/tagmanager/Makefile.am 2009-09-06 16:51:11 UTC (rev 4162)
+++ trunk/tagmanager/Makefile.am 2009-09-06 20:57:42 UTC (rev 4163)
@@ -61,6 +61,7 @@
python.c\
tcl.c\
sh.c\
+ txt2tags.c\
vhdl.c\
actionscript.c\
nsis.c\
Modified: trunk/tagmanager/makefile.win32
===================================================================
--- trunk/tagmanager/makefile.win32 2009-09-06 16:51:11 UTC (rev 4162)
+++ trunk/tagmanager/makefile.win32 2009-09-06 20:57:42 UTC (rev 4163)
@@ -43,7 +43,7 @@
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 \
-parse.o basic.o read.o sort.o strlist.o latex.o markdown.o matlab.o docbook.o tcl.o ruby.o asm.o sql.o css.o \
+parse.o basic.o read.o sort.o strlist.o latex.o markdown.o matlab.o docbook.o tcl.o ruby.o asm.o sql.o text2tags.o css.o \
vstring.o regex.o tm_workspace.o tm_work_object.o tm_source_file.o tm_project.o tm_tag.o \
tm_symbol.o tm_file_entry.o tm_tagmanager.o
$(AR) rc $@ $^
Modified: trunk/tagmanager/parsers.h
===================================================================
--- trunk/tagmanager/parsers.h 2009-09-06 16:51:11 UTC (rev 4162)
+++ trunk/tagmanager/parsers.h 2009-09-06 20:57:42 UTC (rev 4163)
@@ -51,7 +51,8 @@
ValaParser, \
ActionScriptParser, \
NsisParser, \
- MarkdownParser
+ MarkdownParser, \
+ Txt2tagsParser
/*
langType of each parser
0 CParser
@@ -91,6 +92,7 @@
34 ActionScriptParser
35 NsisParser
36 MarkdownParser
+37 Txt2tagsParser
*/
#endif /* _PARSERS_H */
Added: trunk/tagmanager/txt2tags.c
===================================================================
--- trunk/tagmanager/txt2tags.c (rev 0)
+++ trunk/tagmanager/txt2tags.c 2009-09-06 20:57:42 UTC (rev 4163)
@@ -0,0 +1,118 @@
+/*
+* 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 Txt2tags 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 Txt2tagsKinds[] = {
+ { TRUE, 'v', "members", "sections" },
+ { TRUE, 's', "struct", "header1"}
+};
+
+/*
+* FUNCTION DEFINITIONS
+*/
+
+static void makeTxt2tagsTag (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 = "variable";
+ e.kind = 'v';
+
+ makeTagEntry(&e);
+}
+
+static void makeTxt2tagsTag2 (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 findTxt2tagsTags (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))
+ {
+ makeTxt2tagsTag(name, TRUE);
+ }*/
+ if (line[0] == '=') {
+ /*vStringClear(name);*/
+ vStringCatS(name, (const char *) line);
+ vStringTerminate(name);
+ makeTxt2tagsTag(name, FALSE);
+ }
+ /*else if (line[0] == "=") {
+ vStringClear(name);
+ vStringCatS(name, (const char *) line);
+ vStringTerminate(name);
+ makeTxt2tagsTag(name, FALSE);
+ }*/
+ else if (line[0] == '°') {
+ /*vStringClear(name);*/
+ vStringCatS(name, (const char *) line);
+ vStringTerminate(name);
+ makeTxt2tagsTag2(name, FALSE);
+ }
+ else {
+ vStringClear (name);
+ if (! isspace(*line))
+ vStringCatS(name, (const char*) line);
+ vStringTerminate(name);
+ }
+ }
+ vStringDelete (name);
+}
+
+extern parserDefinition* Txt2tagsParser (void)
+{
+ static const char *const patterns [] = { "*.t2t", NULL };
+ static const char *const extensions [] = { "t2t", NULL };
+ parserDefinition* const def = parserNew ("Txt2tags");
+
+ def->kinds = Txt2tagsKinds;
+ def->kindCount = KIND_COUNT (Txt2tagsKinds);
+ def->patterns = patterns;
+ def->extensions = extensions;
+ def->parser = findTxt2tagsTags;
+ return def;
+}
+
Property changes on: trunk/tagmanager/txt2tags.c
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/wscript
===================================================================
--- trunk/wscript 2009-09-06 16:51:11 UTC (rev 4162)
+++ trunk/wscript 2009-09-06 20:57:42 UTC (rev 4163)
@@ -72,7 +72,8 @@
'tagmanager/parse.c', 'tagmanager/pascal.c',
'tagmanager/perl.c', 'tagmanager/php.c', 'tagmanager/python.c', 'tagmanager/read.c',
'tagmanager/rest.c', 'tagmanager/ruby.c', 'tagmanager/sh.c', 'tagmanager/sort.c',
- 'tagmanager/sql.c', 'tagmanager/strlist.c', 'tagmanager/tcl.c', 'tagmanager/tm_file_entry.c',
+ 'tagmanager/sql.c', 'tagmanager/strlist.c', 'tagmanager/txt2tags.c', 'tagmanager/tcl.c',
+ 'tagmanager/tm_file_entry.c',
'tagmanager/tm_project.c', 'tagmanager/tm_source_file.c', 'tagmanager/tm_symbol.c',
'tagmanager/tm_tag.c', 'tagmanager/tm_tagmanager.c', 'tagmanager/tm_work_object.c',
'tagmanager/tm_workspace.c', 'tagmanager/vhdl.c', 'tagmanager/vstring.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