SF.net SVN: geany:[4469] trunk
ntrel at users.sourceforge.net
ntrel at xxxxx
Mon Dec 7 13:24:12 UTC 2009
Revision: 4469
http://geany.svn.sourceforge.net/geany/?rev=4469&view=rev
Author: ntrel
Date: 2009-12-07 13:24:11 +0000 (Mon, 07 Dec 2009)
Log Message:
-----------
Highlight D & Java types from a global tags file.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/highlighting.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2009-12-03 16:22:33 UTC (rev 4468)
+++ trunk/ChangeLog 2009-12-07 13:24:11 UTC (rev 4469)
@@ -1,3 +1,9 @@
+2009-12-07 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
+
+ * src/highlighting.c:
+ Highlight D & Java types from a global tags file.
+
+
2009-12-03 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/highlighting.c, data/filetypes.cpp, data/filetypes.vala,
Modified: trunk/src/highlighting.c
===================================================================
--- trunk/src/highlighting.c 2009-12-03 16:22:33 UTC (rev 4468)
+++ trunk/src/highlighting.c 2009-12-07 13:24:11 UTC (rev 4469)
@@ -790,13 +790,14 @@
}
-/* Assign global typedefs and user secondary keywords */
-static void assign_global_and_user_keywords(ScintillaObject *sci,
- const gchar *user_words, gint lang)
+/* Merge & assign global typedefs and user secondary keywords.
+ * keyword_idx is used for both style_sets[].keywords and scintilla keyword style number */
+static void merge_type_keywords(ScintillaObject *sci, gint ft_id, gint keyword_idx)
{
+ const gchar *user_words = style_sets[ft_id].keywords[keyword_idx];
GString *s;
- s = get_global_typenames(lang);
+ s = get_global_typenames(filetypes[ft_id]->lang);
if (G_UNLIKELY(s == NULL))
s = g_string_sized_new(200);
else
@@ -804,7 +805,7 @@
g_string_append(s, user_words);
- sci_set_keywords(sci, 1, s->str);
+ sci_set_keywords(sci, keyword_idx, s->str);
g_string_free(s, TRUE);
}
@@ -938,12 +939,12 @@
styleset_c_like(sci, ft_id);
sci_set_keywords(sci, 0, style_sets[ft_id].keywords[0]);
- /* for SCI_SETKEYWORDS = 1, see below*/
+ /* SCI_SETKEYWORDS = 1 - secondary + global tags file types, see below */
sci_set_keywords(sci, 2, style_sets[ft_id].keywords[2]);
+ /* SCI_SETKEYWORDS = 3 is for current session types - see editor_lexer_get_type_keyword_idx() */
/* assign global types, merge them with user defined keywords and set them */
- assign_global_and_user_keywords(sci, style_sets[ft_id].keywords[1],
- filetypes[ft_id]->lang);
+ merge_type_keywords(sci, ft_id, 1);
}
@@ -1371,12 +1372,13 @@
styleset_c_like(sci, ft_id);
sci_set_keywords(sci, 0, style_sets[ft_id].keywords[0]);
- sci_set_keywords(sci, 1, style_sets[ft_id].keywords[1]);
+ /* SCI_SETKEYWORDS = 1 - secondary + global tags file types, see below */
sci_set_keywords(sci, 2, style_sets[ft_id].keywords[2]);
+ /* SCI_SETKEYWORDS = 3 is for current session types - see editor_lexer_get_type_keyword_idx() */
sci_set_keywords(sci, 4, style_sets[ft_id].keywords[3]);
/* assign global types, merge them with user defined keywords and set them */
- assign_global_and_user_keywords(sci, style_sets[ft_id].keywords[1], filetypes[ft_id]->lang);
+ merge_type_keywords(sci, ft_id, 1);
}
@@ -2583,10 +2585,14 @@
apply_filetype_properties(sci, SCLEX_D, ft_id);
sci_set_keywords(sci, 0, style_sets[ft_id].keywords[0]);
- sci_set_keywords(sci, 1, style_sets[ft_id].keywords[1]);
+ /* SCI_SETKEYWORDS = 1 - secondary + global tags file types, see below */
sci_set_keywords(sci, 2, style_sets[ft_id].keywords[2]);
- sci_set_keywords(sci, 3, style_sets[ft_id].keywords[3]);
+ /* SCI_SETKEYWORDS = 3 is for current session types - see editor_lexer_get_type_keyword_idx() */
+ sci_set_keywords(sci, 4, style_sets[ft_id].keywords[3]);
+ /* assign global types, merge them with user defined keywords and set them */
+ merge_type_keywords(sci, ft_id, 1);
+
set_sci_style(sci, STYLE_DEFAULT, ft_id, 0);
set_sci_style(sci, SCE_D_DEFAULT, ft_id, 0);
set_sci_style(sci, SCE_D_COMMENT, ft_id, 1);
@@ -2598,7 +2604,10 @@
set_sci_style(sci, SCE_D_WORD2, ft_id, 7);
set_sci_style(sci, SCE_D_WORD3, ft_id, 8);
set_sci_style(sci, SCE_D_TYPEDEF, ft_id, 9);
- set_sci_style(sci, SCE_D_STRING, ft_id, 10); /* also for other strings below */
+ set_sci_style(sci, SCE_D_WORD5, ft_id, 9);
+ set_sci_style(sci, SCE_D_STRING, ft_id, 10);
+ set_sci_style(sci, SCE_D_STRINGB, ft_id, 10);
+ set_sci_style(sci, SCE_D_STRINGR, ft_id, 10);
set_sci_style(sci, SCE_D_STRINGEOL, ft_id, 11);
set_sci_style(sci, SCE_D_CHARACTER, ft_id, 12);
set_sci_style(sci, SCE_D_OPERATOR, ft_id, 13);
@@ -2606,10 +2615,6 @@
set_sci_style(sci, SCE_D_COMMENTLINEDOC, ft_id, 15);
set_sci_style(sci, SCE_D_COMMENTDOCKEYWORD, ft_id, 16);
set_sci_style(sci, SCE_D_COMMENTDOCKEYWORDERROR, ft_id, 17);
-
- /* copy existing styles */
- set_sci_style(sci, SCE_D_STRINGB, ft_id, 10); /* `string` */
- set_sci_style(sci, SCE_D_STRINGR, ft_id, 10); /* r"string" */
}
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