From 85ccdb42d53d5a49e2b1c0d8784f82c23fb7829b Mon Sep 17 00:00:00 2001
From: Yevgen Muntyan <17531749+muntyan@users.noreply.github.com>
Date: Mon, 6 Aug 2007 23:45:17 -0500
Subject: [PATCH] Forgot to remove thse last time
---
moo/mooedit/indent.xml | 6 -
moo/mooedit/mooindenter-regex.h | 42 ----
moo/mooedit/mooindenter-regex.m | 371 --------------------------------
3 files changed, 419 deletions(-)
delete mode 100644 moo/mooedit/indent.xml
delete mode 100644 moo/mooedit/mooindenter-regex.h
delete mode 100644 moo/mooedit/mooindenter-regex.m
diff --git a/moo/mooedit/indent.xml b/moo/mooedit/indent.xml
deleted file mode 100644
index 5b9d4027..00000000
--- a/moo/mooedit/indent.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/moo/mooedit/mooindenter-regex.h b/moo/mooedit/mooindenter-regex.h
deleted file mode 100644
index aa772e81..00000000
--- a/moo/mooedit/mooindenter-regex.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * mooindenter-settings.h
- *
- * Copyright (C) 2004-2007 by Yevgen Muntyan
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * See COPYING file that comes with this distribution.
- */
-
-#ifndef MOOEDIT_COMPILATION
-#error "This file may not be included"
-#endif
-
-#ifndef MOO_INDENTER_SETTINGS_H
-#define MOO_INDENTER_SETTINGS_H
-
-#include "mooindenter.h"
-
-G_BEGIN_DECLS
-
-
-#ifdef __OBJC__
-@class MooIndenterRegex;
-#else
-typedef struct MooIndenterRegex MooIndenterRegex;
-#endif
-
-MooIndenterRegex *_moo_indenter_get_regex (const char *id_);
-MooIndenterRegex *_moo_indenter_regex_ref (MooIndenterRegex *regex);
-void _moo_indenter_regex_unref (MooIndenterRegex *regex);
-gboolean _moo_indenter_regex_newline (MooIndenterRegex *regex,
- MooIndenter *indenter,
- GtkTextIter *where);
-
-
-G_END_DECLS
-
-#endif /* MOO_INDENTER_SETTINGS_H */
diff --git a/moo/mooedit/mooindenter-regex.m b/moo/mooedit/mooindenter-regex.m
deleted file mode 100644
index d235e5de..00000000
--- a/moo/mooedit/mooindenter-regex.m
+++ /dev/null
@@ -1,371 +0,0 @@
-/* -*- objc -*-
- * mooindenter-settings.m
- *
- * Copyright (C) 2004-2007 by Yevgen Muntyan
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * See COPYING file that comes with this distribution.
- */
-
-#define MOOEDIT_COMPILATION
-#include "mooedit/mooindenter-regex.h"
-#include "mooutils/moocobject.h"
-#include "mooutils/moomarkup.h"
-#include "mooutils/mooutils-misc.h"
-#include
-
-
-static GHashTable *regex_hash;
-
-
-@protocol MooIndenterElm
-- (BOOL) newline: (MooIndenter*)indenter
- text: (const char*)text
- cursor: (GtkTextIter*)cursor
- start: (GtkTextIter*)start
- end: (GtkTextIter*)end;
-@end
-
-typedef MooCObject MooIndenterElm;
-
-@interface MooIndenterShift : MooCObject
-{
- GRegex *re;
-}
-
-- init: (const char*)pattern;
-@end;
-
-@interface MooIndenterRegex : MooCObject
-{
- char *id_;
- GRegex *re_all;
- guint n_elms;
- MooIndenterElm **elms;
-}
-
-- initWithMarkup: (MooMarkupNode*)node
- lang_id: (const char*)lang_id
- filename: (const char*)filename;
-
-- (BOOL) newline: (MooIndenter*)indenter
- where: (GtkTextIter*)where;
-
-+ (void) loadSettings;
-@end
-
-
-@implementation MooIndenterRegex
-
-+ (void) loadSettings
-{
- char *filename = NULL;
- MooMarkupDoc *doc;
- MooMarkupNode *root, *node;
- const char *version;
- GError *error = NULL;
- MooIndenterRegex *re;
-
- if (regex_hash)
- return;
-
- regex_hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free,
- (GDestroyNotify) _moo_indenter_regex_unref);
-
- filename = moo_get_data_file ("indent.xml");
-
- if (!filename)
- return;
-
- doc = moo_markup_parse_file (filename, &error);
-
- if (!doc)
- {
- g_warning ("%s: %s", G_STRLOC, error->message);
- g_free (error);
- goto out;
- }
-
- if (!(root = moo_markup_get_root_element (doc, "indent-settings")))
- {
- g_warning ("%s: 'indent-settings' element missing", G_STRLOC);
- goto out;
- }
-
- version = moo_markup_get_prop (root, "version");
- if (!version || strcmp (version, "1") != 0)
- {
- g_warning ("%s: invalid version '%s'", G_STRLOC,
- version ? version : "(null)");
- goto out;
- }
-
- for (node = root->children; node != NULL; node = node->next)
- {
- const char *lang_id;
-
- if (!MOO_MARKUP_IS_ELEMENT (node))
- continue;
-
- if (strcmp (node->name, "lang") != 0)
- {
- g_warning ("%s: invalid element '%s'", G_STRLOC, node->name);
- goto out;
- }
-
- lang_id = moo_markup_get_prop (node, "id");
- if (!lang_id)
- {
- g_warning ("%s: 'id' attribute missing in file '%s'", G_STRLOC, filename);
- goto out;
- }
-
- re = [[self alloc] initWithMarkup:node lang_id:lang_id filename:filename];
-
- if (!re)
- goto out;
-
- g_hash_table_insert (regex_hash, g_strdup (re->id_), re);
- }
-
-out:
- g_free (filename);
- if (doc)
- moo_markup_doc_unref (doc);
-}
-
-
-- initWithMarkup: (MooMarkupNode*)elm
- lang_id: (const char*)lang_id
- filename: (const char*)filename
-{
- MooMarkupNode *node;
- GSList *elements = NULL;
- GString *pattern_all;
- GError *error = NULL;
- guint i;
-
- [super init];
-
- id_ = g_strdup (lang_id);
- pattern_all = NULL;
-
- for (node = elm->children; node != NULL; node = node->next)
- {
- if (!MOO_MARKUP_IS_ELEMENT (node))
- continue;
-
- if (!strcmp (node->name, "shift"))
- {
- const char *pattern = moo_markup_get_prop (node, "pattern");
- MooIndenterElm *elm = [[MooIndenterShift alloc] init:pattern];
-
- if (!elm)
- goto error;
-
- elements = g_slist_prepend (elements, elm);
- if (!pattern_all)
- {
- pattern_all = g_string_new ("(");
- g_string_append (pattern_all, pattern);
- }
- else
- {
- g_string_append_printf (pattern_all, "|%s", pattern);
- }
- }
- else
- {
- g_warning ("in file %s: invalid element '%s' in lang '%s'",
- filename, node->name, lang_id);
- goto error;
- }
- }
-
- if (!elements)
- {
- g_warning ("in file %s: empty lang '%s' node",
- filename, lang_id);
- goto error;
- }
-
- g_string_append (pattern_all, ")");
- re_all = g_regex_new (pattern_all->str, G_REGEX_DUPNAMES | G_REGEX_OPTIMIZE,
- 0, &error);
- if (!re_all)
- {
- g_warning ("in file %s: could not compile resulting regex '%s': %s",
- filename, pattern_all->str, error->message);
- g_error_free (error);
- goto error;
- }
-
- elements = g_slist_reverse (elements);
- n_elms = g_slist_length (elements);
- elms = g_new (MooIndenterElm*, n_elms);
- for (i = 0; i < n_elms; ++i)
- {
- elms[i] = elements->data;
- elements = g_slist_delete_link (elements, elements);
- }
-
- g_string_free (pattern_all, TRUE);
- return self;
-
-error:
- while (elements)
- {
- [(id) elements->data release];
- elements = g_slist_delete_link (elements, elements);
- }
-
- g_string_free (pattern_all, TRUE);
- [self release];
- return nil;
-}
-
-- (void) dealloc
-{
- guint i;
-
- g_free (id_);
-
- if (re_all)
- g_regex_unref (re_all);
-
- for (i = 0; i < n_elms; ++i)
- [elms[i] release];
- g_free (elms);
-
- [super dealloc];
-}
-
-
-- (BOOL) newline: (MooIndenter*)indenter
- where: (GtkTextIter*)where
-{
- guint i;
- GtkTextIter start, end;
- char *text;
- BOOL handled;
-
- start = *where;
- gtk_text_iter_backward_line (&start);
-
- if (gtk_text_iter_ends_line (&start))
- return NO;
-
- end = start;
- gtk_text_iter_forward_to_line_end (&end);
- text = gtk_text_iter_get_slice (&start, &end);
-
- if (!g_regex_match (re_all, text, 0, NULL))
- {
- g_free (text);
- return NO;
- }
-
- for (i = 0, handled = NO; !handled && i < n_elms; ++i)
- handled = [elms[i] newline:indenter text:text
- cursor:where start:&start end:&end];
-
- g_free (text);
- return handled;
-}
-
-@end
-
-
-MooIndenterRegex *
-_moo_indenter_regex_ref (MooIndenterRegex *regex)
-{
- g_return_val_if_fail (regex != nil, NULL);
- return [regex retain];
-}
-
-void
-_moo_indenter_regex_unref (MooIndenterRegex *regex)
-{
- g_return_if_fail (regex != nil);
- [regex release];
-}
-
-MooIndenterRegex *
-_moo_indenter_get_regex (const char *id_)
-{
- g_return_val_if_fail (id_ != NULL, nil);
- [MooIndenterRegex loadSettings];
- return g_hash_table_lookup (regex_hash, id_);
-}
-
-gboolean
-_moo_indenter_regex_newline (MooIndenterRegex *regex,
- MooIndenter *indenter,
- GtkTextIter *where)
-{
- g_return_val_if_fail (regex != NULL, FALSE);
- return [regex newline:indenter where:where];
-}
-
-
-@implementation MooIndenterShift
-
-- init: (const char*)pattern
-{
- GError *error = NULL;
-
- [super init];
-
- re = g_regex_new (pattern, G_REGEX_DUPNAMES | G_REGEX_OPTIMIZE, 0, &error);
- if (!re)
- {
- g_warning ("%s: %s", G_STRFUNC, error->message);
- g_error_free (error);
- [self release];
- return nil;
- }
-
- return self;
-}
-
-- (void) dealloc
-{
- if (re)
- g_regex_unref (re);
- [super dealloc];
-}
-
-- (BOOL) newline: (MooIndenter*)indenter
- text: (const char*)text
- cursor: (GtkTextIter*)cursor
- start: (GtkTextIter*)start
- end: (GtkTextIter*)end
-{
- GtkTextIter iter;
- guint offset;
- char *insert;
- MOO_UNUSED_VAR (end);
-
- if (!g_regex_match (re, text, 0, NULL))
- return NO;
-
- iter = *start;
- if (!_moo_indenter_compute_line_offset (indenter, &iter, &offset))
- {
- g_critical ("%s: oops", G_STRFUNC);
- return NO;
- }
-
- offset = _moo_indenter_compute_next_offset (indenter, offset);
- insert = moo_indenter_make_space (indenter, offset, 0);
- gtk_text_buffer_insert (gtk_text_iter_get_buffer (start), cursor, insert, -1);
- g_free (insert);
-
- return YES;
-}
-
-@end;