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.