SF.net SVN: geany:[3861] trunk

ntrel at users.sourceforge.net ntrel at xxxxx
Fri Jun 12 15:22:33 UTC 2009


Revision: 3861
          http://geany.svn.sourceforge.net/geany/?rev=3861&view=rev
Author:   ntrel
Date:     2009-06-12 15:22:32 +0000 (Fri, 12 Jun 2009)

Log Message:
-----------
Don't autocomplete in unterminated strings as well.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/src/editor.c

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2009-06-12 12:21:29 UTC (rev 3860)
+++ trunk/ChangeLog	2009-06-12 15:22:32 UTC (rev 3861)
@@ -2,6 +2,8 @@
 
  * tagmanager/pascal.c:
    Fix type definitions being parsed as functions.
+ * src/editor.c:
+   Don't autocomplete in unterminated strings as well.
 
 
 2009-06-11  Nick Treleaven  <nick(dot)treleaven(at)btinternet(dot)com>

Modified: trunk/src/editor.c
===================================================================
--- trunk/src/editor.c	2009-06-12 12:21:29 UTC (rev 3860)
+++ trunk/src/editor.c	2009-06-12 15:22:32 UTC (rev 3861)
@@ -3054,6 +3054,8 @@
 /* Checks whether the given style is a string for the given lexer.
  * It doesn't handle LEX_HTML, this should be done by the caller.
  * Returns true if the style is a string, FALSE otherwise.
+ *
+ * Don't forget STRINGEOL, to prevent completion whilst typing a string with no closing char.
  */
 static gboolean is_string_style(gint lexer, gint style)
 {
@@ -3061,26 +3063,31 @@
 	{
 		case SCLEX_CPP:
 			return (style == SCE_C_CHARACTER ||
-				style == SCE_C_STRING);
+				style == SCE_C_STRING ||
+				style == SCE_C_STRINGEOL);
 
 		case SCLEX_PASCAL:
 			return (style == SCE_PAS_CHARACTER ||
-				style == SCE_PAS_STRING);
+				style == SCE_PAS_STRING ||
+				style == SCE_PAS_STRINGEOL);
 
 		case SCLEX_D:
 			return (style == SCE_D_CHARACTER ||
-				style == SCE_D_STRING);
+				style == SCE_D_STRING ||
+				style == SCE_D_STRINGEOL);
 
 		case SCLEX_PYTHON:
 			return (style == SCE_P_STRING ||
 				style == SCE_P_TRIPLE ||
 				style == SCE_P_TRIPLEDOUBLE ||
-				style == SCE_P_CHARACTER);
+				style == SCE_P_CHARACTER ||
+				style == SCE_P_STRINGEOL);
 
 		case SCLEX_F77:
 		case SCLEX_FORTRAN:
 			return (style == SCE_F_STRING1 ||
-				style == SCE_F_STRING2);
+				style == SCE_F_STRING2 ||
+				style == SCE_F_STRINGEOL);
 
 		case SCLEX_PERL:
 			return (style == SCE_PL_STRING ||
@@ -3115,6 +3122,7 @@
 		case SCLEX_LUA:
 			return (style == SCE_LUA_LITERALSTRING ||
 				style == SCE_LUA_CHARACTER ||
+				style == SCE_LUA_STRINGEOL ||
 				style == SCE_LUA_STRING);
 
 		case SCLEX_HASKELL:
@@ -3122,7 +3130,8 @@
 				style == SCE_HA_STRING);
 
 		case SCLEX_FREEBASIC:
-			return (style == SCE_B_STRING);
+			return (style == SCE_B_STRING ||
+				style == SCE_B_STRINGEOL);
 
 		case SCLEX_MATLAB:
 			return (style == SCE_MATLAB_STRING ||
@@ -3131,13 +3140,17 @@
 		case SCLEX_HTML:
 			return (
 				style == SCE_HBA_STRING ||
+				style == SCE_HBA_STRINGEOL ||
 				style == SCE_HB_STRING ||
+				style == SCE_HB_STRINGEOL ||
 				style == SCE_H_CDATA ||
 				style == SCE_H_DOUBLESTRING ||
 				style == SCE_HJA_DOUBLESTRING ||
 				style == SCE_HJA_SINGLESTRING ||
+				style == SCE_HJA_STRINGEOL ||
 				style == SCE_HJ_DOUBLESTRING ||
 				style == SCE_HJ_SINGLESTRING ||
+				style == SCE_HJ_STRINGEOL ||
 				style == SCE_HPA_CHARACTER ||
 				style == SCE_HPA_STRING ||
 				style == SCE_HPA_TRIPLE ||
@@ -3169,7 +3182,9 @@
 
 		case SCLEX_ADA:
 			return (style == SCE_ADA_CHARACTER ||
-				style == SCE_ADA_STRING);
+				style == SCE_ADA_STRING ||
+				style == SCE_ADA_CHARACTEREOL ||
+				style == SCE_ADA_STRINGEOL);
 	}
 	return FALSE;
 }


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