aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--doc/LPegLexer.html13
-rw-r--r--lexers/LexLPeg.cxx12
2 files changed, 21 insertions, 4 deletions
diff --git a/doc/LPegLexer.html b/doc/LPegLexer.html
index 3f553e9f9..1cb85599f 100644
--- a/doc/LPegLexer.html
+++ b/doc/LPegLexer.html
@@ -289,7 +289,8 @@
<a class="message" href="#SCI_LOADLEXERLIBRARY">SCI_PRIVATELEXERCALL(SCI_LOADLEXERLIBRARY, const char *path)</a><br/>
<a class="message" href="#SCI_PROPERTYNAMES">SCI_PRIVATELEXERCALL(SCI_PROPERTYNAMES, char *names) &rarr; int</a><br/>
<a class="message" href="#SCI_SETDOCPOINTER">SCI_PRIVATELEXERCALL(SCI_SETDOCPOINTER, int sci)</a><br/>
- <a class="message" href="#SCI_SETLEXERLANGUAGE">SCI_PRIVATELEXERCALL(SCI_SETLEXERLANGUAGE, languageName)</a><br/>
+ <a class="message" href="#SCI_SETLEXERLANGUAGE">SCI_PRIVATELEXERCALL(SCI_SETLEXERLANGUAGE, char *languageName)</a><br/>
+ <a class="message" href="#SCI_GETNAMEDSTYLES">SCI_PRIVATELEXERCALL(SCI_GETNAMEDSTYLES, char *styleName) &rarr; int</a><br/>
<a class="message" href="#SCI_NAMEOFSTYLE">SCI_NAMEOFSTYLE(int style, char *name) &rarr; int</a><br/>
</code>
@@ -451,6 +452,16 @@
<a class="message" href="#SCI_SETDOCPOINTER"><code>SCI_SETDOCPOINTER</code></a>,
<a class="message" href="#SCI_PROPERTYNAMES"><code>SCI_PROPERTYNAMES</code></a></p>
+ <p><b id="SCI_GETNAMEDSTYLES">SCI_PRIVATELEXERCALL(SCI_GETNAMEDSTYLES, const char *styleName)</b><br/>
+ Returns the style number associated with <code>styleName</code>.</p>
+
+ <p>Usage:</p>
+
+ <pre><code>
+ style = SendScintilla(sci, SCI_PRIVATELEXERCALL, SCI_GETNAMEDSTYLES, "error")
+ SendScintilla(sci, SCI_ANNOTATIONSETSTYLE, line, style) // match error style
+ </code></pre>
+
<p><b id="SCI_NAMEOFSTYLE">SCI_NAMEOFSTYLE(int style, char *name) &rarr; int</b><br/>
Retrieves the name of a style. Note this is <em>not</em> a
<code>SCI_PRIVATELEXERCALL</code>.</p>
diff --git a/lexers/LexLPeg.cxx b/lexers/LexLPeg.cxx
index a34b10fda..60626fd3b 100644
--- a/lexers/LexLPeg.cxx
+++ b/lexers/LexLPeg.cxx
@@ -806,14 +806,14 @@ public:
auto lParam = reinterpret_cast<sptr_t>(arg);
switch(code) {
case SCI_GETDIRECTFUNCTION:
- SS = reinterpret_cast<SciFnDirect>(lParam);
+ SS = reinterpret_cast<SciFnDirect>(arg);
return nullptr;
case SCI_SETDOCPOINTER:
sci = lParam;
return nullptr;
case SCI_CHANGELEXERSTATE:
if (ownLua) lua_close(L);
- L = reinterpret_cast<lua_State *>(lParam), ownLua = false;
+ L = reinterpret_cast<lua_State *>(arg), ownLua = false;
return nullptr;
case SCI_LOADLEXERLIBRARY: {
const char *path = reinterpret_cast<const char*>(arg);
@@ -858,7 +858,13 @@ public:
}
val.append(val, 0, val.length() - 1); // "lexer/lexer" fallback
return StringResult(lParam, val.c_str());
- } case SCI_GETSTATUS:
+ } case SCI_GETNAMEDSTYLES:
+ if (!L) return reinterpret_cast<void *>(STYLE_DEFAULT);
+ for (int i = 0; i < STYLE_MAX; i++)
+ if (strcmp(NameOfStyle(i), reinterpret_cast<const char *>(arg)) == 0)
+ return reinterpret_cast<void *>(i);
+ return reinterpret_cast<void *>(STYLE_DEFAULT);
+ case SCI_GETSTATUS:
return StringResult(lParam, props.Get(LexerErrorKey));
}
return nullptr;