aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-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) {