[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53841] trunk/blender/source/blender: dont add identifiers starting with digits to autocomplete
Campbell Barton
ideasman42 at gmail.com
Wed Jan 16 05:43:43 CET 2013
Revision: 53841
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53841
Author: campbellbarton
Date: 2013-01-16 04:43:37 +0000 (Wed, 16 Jan 2013)
Log Message:
-----------
dont add identifiers starting with digits to autocomplete
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/BKE_text.h
trunk/blender/source/blender/blenkernel/intern/text.c
trunk/blender/source/blender/editors/space_text/text_autocomplete.c
Modified: trunk/blender/source/blender/blenkernel/BKE_text.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_text.h 2013-01-16 04:23:55 UTC (rev 53840)
+++ trunk/blender/source/blender/blenkernel/BKE_text.h 2013-01-16 04:43:37 UTC (rev 53841)
@@ -105,6 +105,7 @@
int text_check_delim(const char ch);
int text_check_digit(const char ch);
int text_check_identifier(const char ch);
+int text_check_identifier_nodigit(const char ch);
int text_check_whitespace(const char ch);
int text_find_identifier_start(const char *str, int i);
Modified: trunk/blender/source/blender/blenkernel/intern/text.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/text.c 2013-01-16 04:23:55 UTC (rev 53840)
+++ trunk/blender/source/blender/blenkernel/intern/text.c 2013-01-16 04:43:37 UTC (rev 53841)
@@ -2930,6 +2930,16 @@
return 0;
}
+int text_check_identifier_nodigit(const char ch)
+{
+ if (ch <= '9') return 0;
+ if (ch < 'A') return 0;
+ if (ch <= 'Z' || ch == '_') return 1;
+ if (ch < 'a') return 0;
+ if (ch <= 'z') return 1;
+ return 0;
+}
+
int text_check_whitespace(const char ch)
{
if (ch == ' ' || ch == '\t' || ch == '\r' || ch == '\n')
Modified: trunk/blender/source/blender/editors/space_text/text_autocomplete.c
===================================================================
--- trunk/blender/source/blender/editors/space_text/text_autocomplete.c 2013-01-16 04:23:55 UTC (rev 53840)
+++ trunk/blender/source/blender/editors/space_text/text_autocomplete.c 2013-01-16 04:43:37 UTC (rev 53841)
@@ -167,7 +167,7 @@
while (i_start < linep->len) {
/* seek identifier beginning */
- while (i_start < linep->len && !text_check_identifier(linep->line[i_start])) {
+ while (i_start < linep->len && !text_check_identifier_nodigit(linep->line[i_start])) {
i_start++;
}
i_end = i_start;
@@ -175,7 +175,11 @@
i_end++;
}
- if (i_start != i_end) {
+ if ((i_start != i_end) &&
+ /* check we're at the beginning of a line or that the previous char is not an identifier
+ * this prevents digits from being added */
+ ((i_start < 1) || !text_check_identifier(linep->line[i_start - 1])))
+ {
char *str_sub = &linep->line[i_start];
const int choice_len = i_end - i_start;
More information about the Bf-blender-cvs
mailing list