aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2015-05-11 19:28:25 +1000
committerNeil <nyamatongwe@gmail.com>2015-05-11 19:28:25 +1000
commitef8100fc09f74722b1a0afbd7f3a5373aa23ddd5 (patch)
tree0a4b4bd27e198bbc6a500fd3f9b6f1deb5fad115
parent7f95f0fd8ca4aa0d948fcdcfea8ed222ce97bc68 (diff)
downloadscintilla-mirror-ef8100fc09f74722b1a0afbd7f3a5373aa23ddd5.tar.gz
Folder folds units declarations and fixes a case insensitivity bug with not
treating "IS" the same as "is".
-rw-r--r--doc/ScintillaHistory.html3
-rw-r--r--lexers/LexVHDL.cxx7
2 files changed, 7 insertions, 3 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html
index 569fa2106..f59fe69fd 100644
--- a/doc/ScintillaHistory.html
+++ b/doc/ScintillaHistory.html
@@ -501,6 +501,9 @@
Verilog folder folds interface definitions.
</li>
<li>
+ VHDL folder folds units declarations and fixes a case insensitivity bug with not treating "IS" the same as "is".
+ </li>
+ <li>
Fix link error on Windows when SCI_NAMESPACE used.
</li>
<ul>
diff --git a/lexers/LexVHDL.cxx b/lexers/LexVHDL.cxx
index 35383f3d8..56426e43f 100644
--- a/lexers/LexVHDL.cxx
+++ b/lexers/LexVHDL.cxx
@@ -216,7 +216,7 @@ static void FoldNoBoxVHDLDoc(
// don't check if the style for the keywords that I use to adjust the levels.
char words[] =
"architecture begin block case component else elsif end entity generate loop package process record then "
- "procedure function when";
+ "procedure function when units";
WordList keywords;
keywords.Set(words);
@@ -382,7 +382,8 @@ static void FoldNoBoxVHDLDoc(
strcmp(s, "package") ==0 ||
strcmp(s, "process") == 0 ||
strcmp(s, "record") == 0 ||
- strcmp(s, "then") == 0)
+ strcmp(s, "then") == 0 ||
+ strcmp(s, "units") == 0)
{
if (strcmp(prevWord, "end") != 0)
{
@@ -437,7 +438,7 @@ static void FoldNoBoxVHDLDoc(
(!IsCommentStyle(styleAtPos)) &&
(styleAtPos != SCE_VHDL_STRING) &&
!iswordchar(styler.SafeGetCharAt(pos-1)) &&
- styler.Match(pos, "is") &&
+ (chAtPos|' ')=='i' && (styler.SafeGetCharAt(pos+1)|' ')=='s' &&
!iswordchar(styler.SafeGetCharAt(pos+2)))
{
if (levelMinCurrentElse > levelNext) {