[geany/geany] 76aec0: Revert incomplete Asciidoc filetype commit.

Lex git-noreply at geany.org
Thu Jan 17 04:27:39 UTC 2013


Branch:      refs/heads/master
Author:      Lex <elextr at gmail.com>
Committer:   Lex <elextr at gmail.com>
Date:        Thu, 17 Jan 2013 04:27:39 UTC
Commit:      76aec0852af3450aabb296dff17f878571d25a49
             https://github.com/geany/geany/commit/76aec0852af3450aabb296dff17f878571d25a49

Log Message:
-----------
Revert incomplete Asciidoc filetype commit.

This reverts commit da78a44a1cfeb753e0d06d7175e882f508ad9788.


Modified Paths:
--------------
    data/filetypes.asciidoc
    tagmanager/ctags/asciidoc.c

Modified: data/filetypes.asciidoc
35 files changed, 0 insertions(+), 35 deletions(-)
===================================================================
@@ -1,35 +0,0 @@
-# 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=asciidoc
-
-# the following characters are these which a "word" can contains, see documentation
-#wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
-
-# single comments, like # in this file
-comment_single=//
-# multiline comments
-#comment_open=////
-#comment_close=////
-
-# set to false if a comment character/string should start at column 0 of a line, true uses any
-# indentation of the line, e.g. setting to true causes the following on pressing CTRL+d
-	#command_example();
-# setting to false would generate this
-#	command_example();
-# This setting works only for single line comments
-comment_use_indent=false
-
-# context action command (please see Geany's main documentation for details)
-context_action_cmd=
-
-# sort tags by appearance
-symbol_list_sort_mode=1
-
-[indentation]
-#width=4
-# 0 is spaces, 1 is tabs, 2 is tab & spaces
-#type=1


Modified: tagmanager/ctags/asciidoc.c
208 files changed, 0 insertions(+), 208 deletions(-)
===================================================================
@@ -1,208 +0,0 @@
-/*
-*
-* 	Copyright (c) 2012, Lex Trotman
-*   Based on Rest code by Nick Treleaven, see rest.c
-*
-*   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 asciidoc 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"
-#include "nestlevel.h"
-
-/*
-*   DATA DEFINITIONS
-*/
-typedef enum {
-	K_CHAPTER = 0,
-	K_SECTION,
-	K_SUBSECTION,
-	K_SUBSUBSECTION,
-	K_LEVEL5SECTION,
-	SECTION_COUNT
-} asciidocKind;
-
-static kindOption AsciidocKinds[] = {
-	{ TRUE, 'n', "namespace",     "chapters"},
-	{ TRUE, 'm', "member",        "sections" },
-	{ TRUE, 'd', "macro",         "level2sections" },
-	{ TRUE, 'v', "variable",      "level3sections" },
-	{ TRUE, 's', "struct",        "level4sections" }
-};
-
-static char kindchars[SECTION_COUNT]={ '=', '-', '~', '^', '+' };
-
-static NestingLevels *nestingLevels = NULL;
-
-/*
-*   FUNCTION DEFINITIONS
-*/
-
-static NestingLevel *getNestingLevel(const int kind)
-{
-	NestingLevel *nl;
-
-	while (1)
-	{
-		nl = nestingLevelsGetCurrent(nestingLevels);
-		if (nl && nl->type >= kind)
-			nestingLevelsPop(nestingLevels);
-		else
-			break;
-	}
-	return nl;
-}
-
-static void makeAsciidocTag (const vString* const name, const int kind)
-{
-	const NestingLevel *const nl = getNestingLevel(kind);
-
-	if (vStringLength (name) > 0)
-	{
-		tagEntryInfo e;
-		initTagEntry (&e, vStringValue (name));
-
-		e.lineNumber--;	/* we want the line before the '---' underline chars */
-		e.kindName = AsciidocKinds [kind].name;
-		e.kind = AsciidocKinds [kind].letter;
-
-		if (nl && nl->type < kind)
-		{
-			e.extensionFields.scope [0] = AsciidocKinds [nl->type].name;
-			e.extensionFields.scope [1] = vStringValue (nl->name);
-		}
-		makeTagEntry (&e);
-	}
-	nestingLevelsPush(nestingLevels, name, kind);
-}
-
-
-/* checks if str is all the same character 
- * FIXME needs to consider single line titles as well as underlines
- * and rename me istitle() */
-static boolean issame(const char *str)
-{
-	char first = *str;
-
-	while (*str)
-	{
-		char c;
-
-		str++;
-		c = *str;
-		if (c && c != first)
-			return FALSE;
-	}
-	return TRUE;
-}
-
-
-static int get_kind(char c)
-{
-	int i;
-
-	for (i = 0; i < SECTION_COUNT; i++)
-	{
-		if (kindchars[i] == c)
-			return i;
-	}
-	return -1;
-}
-
-
-/* computes the length of an UTF-8 string
- * if the string doesn't look like UTF-8, return -1 
- * FIXME asciidoc also takes the asian character width into consideration */
-static int utf8_strlen(const char *buf, int buf_len)
-{
-	int len = 0;
-	const char *end = buf + buf_len;
-
-	for (len = 0; buf < end; len ++)
-	{
-		/* perform quick and naive validation (no sub-byte checking) */
-		if (! (*buf & 0x80))
-			buf ++;
-		else if ((*buf & 0xe0) == 0xc0)
-			buf += 2;
-		else if ((*buf & 0xf0) == 0xe0)
-			buf += 3;
-		else if ((*buf & 0xf8) == 0xf0)
-			buf += 4;
-		else /* not a valid leading UTF-8 byte, abort */
-			return -1;
-
-		if (buf > end) /* incomplete last byte */
-			return -1;
-	}
-
-	return len;
-}
-
-
-static void findAsciidocTags (void)
-{
-	vString *name = vStringNew ();
-	const unsigned char *line;
-
-	nestingLevels = nestingLevelsNew();
-
-	while ((line = fileReadLine ()) != NULL)
-	{
-		int line_len = strlen((const char*) line);
-		int name_len_bytes = vStringLength(name);
-		int name_len = utf8_strlen(vStringValue(name), name_len_bytes);
-
-		/* if the name doesn't look like UTF-8, assume one-byte charset */
-		if (name_len < 0)
-			name_len = name_len_bytes;
-
-		/* underlines must be +-2 chars */
-		if (line_len >= name_len - 2 && line_len <= name_len + 2 && name_len > 0 &&
-			ispunct(line[0]) && issame((const char*) line))
-		{
-			char c = line[0];
-			int kind = get_kind(c);
-
-			if (kind >= 0)
-			{
-				makeAsciidocTag(name, kind);
-				continue;
-			}
-		}
-		vStringClear (name);
-		if (! isspace(*line))
-			vStringCatS(name, (const char*) line);
-		vStringTerminate(name);
-	}
-	vStringDelete (name);
-	nestingLevelsFree(nestingLevels);
-}
-
-extern parserDefinition* AsciidocParser (void)
-{
-	static const char *const patterns [] = { "*.asciidoc", NULL };
-	static const char *const extensions [] = { "asciidoc", NULL };
-	parserDefinition* const def = parserNew ("Asciidoc");
-
-	def->kinds = AsciidocKinds;
-	def->kindCount = KIND_COUNT (AsciidocKinds);
-	def->patterns = patterns;
-	def->extensions = extensions;
-	def->parser = findAsciidocTags;
-	return def;
-}
-
-/* vi:set tabstop=8 shiftwidth=4: */



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Commits mailing list