diff options
| author | mitchell <unknown> | 2020-05-26 14:21:43 -0400 |
|---|---|---|
| committer | mitchell <unknown> | 2020-05-26 14:21:43 -0400 |
| commit | d5ca0474b5e15091b94c01f878e251f4263b9192 (patch) | |
| tree | 75ee6fc299c3448d92443e8a01f793a655123866 | |
| parent | 213decc706fe2576efeddb68aa280c37d858f3ec (diff) | |
| download | scintilla-mirror-d5ca0474b5e15091b94c01f878e251f4263b9192.tar.gz | |
Added SCI_PRIVATELEXERCALL API for retrieving the style number of a style name.
| -rw-r--r-- | doc/LPegLexer.html | 13 | ||||
| -rw-r--r-- | lexers/LexLPeg.cxx | 12 |
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) → 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) → int</a><br/> <a class="message" href="#SCI_NAMEOFSTYLE">SCI_NAMEOFSTYLE(int style, char *name) → 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) → 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; |
