aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rwxr-xr-xsrc/symbols-extract.tes13
-rw-r--r--src/symbols.h7
2 files changed, 13 insertions, 7 deletions
diff --git a/src/symbols-extract.tes b/src/symbols-extract.tes
index 9f2c61a..48d749c 100755
--- a/src/symbols-extract.tes
+++ b/src/symbols-extract.tes
@@ -69,7 +69,14 @@ I/*
#include "sciteco.h"
#include "symbols.h"
-static const SymbolList::Entry entries[] = {
+static class SymbolListInitializer_Q#na {
+ static const SymbolList::Entry entries[];
+
+public:
+ SymbolListInitializer_Q#na();
+} initializer INIT_PRIO(PRIO_SYMBOLS);
+
+const SymbolList::Entry SymbolListInitializer_Q#na::entries[] = {

<
.,W.Xa 0KK
@@ -80,9 +87,7 @@ static const SymbolList::Entry entries[] = {
.-Z;>
I};
-__attribute__((constructor(PRIO_SYMBOLS)))
-static void
-initialize(void)
+SymbolListInitializer_Q#na::SymbolListInitializer_Q#na()
{
Symbols::Q#na.entries = entries;
Symbols::Q#na.size = G_N_ELEMENTS(entries);
diff --git a/src/symbols.h b/src/symbols.h
index bb27d01..1e94e98 100644
--- a/src/symbols.h
+++ b/src/symbols.h
@@ -22,7 +22,6 @@
#include <glib.h>
class SymbolList {
-public:
struct Entry {
const gchar *name;
gint value;
@@ -30,8 +29,6 @@ public:
const Entry *entries;
gint size;
-
-private:
int (*cmp_fnc)(const char *, const char *, size_t);
/* for auto-completions */
@@ -53,6 +50,10 @@ public:
gint lookup(const gchar *name, const gchar *prefix = "");
GList *get_glist(void);
+
+ /* generated per Scintilla SymbolList */
+ friend class SymbolListInitializer_scintilla;
+ friend class SymbolListInitializer_scilexer;
};
namespace Symbols {