[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29409] trunk/blender/source/blender: patch [#22570] Text editor syntax coloring update

Campbell Barton ideasman42 at gmail.com
Fri Jun 11 17:35:11 CEST 2010


Revision: 29409
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29409
Author:   campbellbarton
Date:     2010-06-11 17:35:11 +0200 (Fri, 11 Jun 2010)

Log Message:
-----------
patch [#22570] Text editor syntax coloring update
from Jacob F (raccoon) 

This does two things to the text editor:
1) Adds coloring (same color as numbers) for True and False.
2) Fixes [#22551] Syntax coloring offset does not update when using real tabs and changing tab width

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_text/space_text.c
    trunk/blender/source/blender/editors/space_text/text_draw.c
    trunk/blender/source/blender/makesrna/intern/rna_space.c

Modified: trunk/blender/source/blender/editors/space_text/space_text.c
===================================================================
--- trunk/blender/source/blender/editors/space_text/space_text.c	2010-06-11 14:10:02 UTC (rev 29408)
+++ trunk/blender/source/blender/editors/space_text/space_text.c	2010-06-11 15:35:11 UTC (rev 29409)
@@ -118,15 +118,13 @@
 	/* context changes */
 	switch(wmn->category) {
 		case NC_TEXT:
-			if(!wmn->reference || wmn->reference == st->text) {
+			if(!wmn->reference || wmn->reference == st->text || wmn->data == ND_DISPLAY || wmn->action == NA_EDITED) {
 				ED_area_tag_redraw(sa);
 
 				if(wmn->action == NA_EDITED)
 					if(st->text)
 						text_update_edited(st->text);
 			}
-			else if(wmn->data == ND_DISPLAY)
-				ED_area_tag_redraw(sa);
 
 			break;
 		case NC_SPACE:

Modified: trunk/blender/source/blender/editors/space_text/text_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_text/text_draw.c	2010-06-11 14:10:02 UTC (rev 29408)
+++ trunk/blender/source/blender/editors/space_text/text_draw.c	2010-06-11 15:35:11 UTC (rev 29409)
@@ -224,6 +224,21 @@
 	return i;
 }
 
+static int find_bool(char *string) 
+{
+	int i = 0;
+	/* Check for "False" */
+	if(string[0]=='F' && string[1]=='a' && string[2]=='l' && string[3]=='s' && string[4]=='e')
+		i = 5;
+	/* Check for "True" */
+	else if(string[0]=='T' && string[1]=='r' && string[2]=='u' && string[3]=='e')
+		i = 4;
+	/* If next source char is an identifier (eg. 'i' in "definate") no match */
+	if(i==0 || text_check_identifier(string[i]))
+		return -1;
+	return i;
+}
+
 /* Ensures the format string for the given line is long enough, reallocating
  as needed. Allocation is done here, alone, to ensure consistency. */
 int text_check_format_len(TextLine *line, unsigned int len)
@@ -335,6 +350,17 @@
 			/* Numbers (digits not part of an identifier and periods followed by digits) */
 			else if((prev != 'q' && text_check_digit(*str)) || (*str == '.' && text_check_digit(*(str+1))))
 				*fmt = 'n';
+			/* Booleans */
+			else if(prev != 'q' && (i=find_bool(str)) != -1)
+				if(i>0) {
+					while(i>1) {
+						*fmt = 'n'; fmt++; str++;
+						i--;
+					}
+					*fmt = 'n';
+				}
+				else
+					*fmt = 'q';
 			/* Punctuation */
 			else if(text_check_delim(*str))
 				*fmt = '!';

Modified: trunk/blender/source/blender/makesrna/intern/rna_space.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_space.c	2010-06-11 14:10:02 UTC (rev 29408)
+++ trunk/blender/source/blender/makesrna/intern/rna_space.c	2010-06-11 15:35:11 UTC (rev 29409)
@@ -1557,7 +1557,7 @@
 	RNA_def_property_int_sdna(prop, NULL, "tabnumber");
 	RNA_def_property_range(prop, 2, 8);
 	RNA_def_property_ui_text(prop, "Tab Width", "Number of spaces to display tabs with");
-	RNA_def_property_update(prop, NC_SPACE|ND_SPACE_TEXT, NULL);
+	RNA_def_property_update(prop, NC_TEXT|NA_EDITED, NULL);
 
 	prop= RNA_def_property(srna, "font_size", PROP_INT, PROP_NONE);
 	RNA_def_property_int_sdna(prop, NULL, "lheight");





More information about the Bf-blender-cvs mailing list