diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Editor.cxx | 13 | ||||
-rw-r--r-- | src/Editor.h | 3 | ||||
-rw-r--r-- | src/LexCPP.cxx | 2 | ||||
-rw-r--r-- | src/ScintillaBase.cxx | 6 | ||||
-rw-r--r-- | src/ScintillaBase.h | 2 |
5 files changed, 17 insertions, 9 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx index 859421c92..677013a00 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -1300,6 +1300,13 @@ void Editor::SetScrollBars() { } void Editor::AddChar(char ch) { + char s[2]; + s[0] = ch; + s[1] = '\0'; + AddCharUTF(s, 1); +} + +void Editor::AddCharUTF(char *s, unsigned int len) { bool wasSelection = currentPos != anchor; ClearSelection(); if (inOverstrike && !wasSelection) { @@ -1309,11 +1316,11 @@ void Editor::AddChar(char ch) { } } } - pdoc->InsertChar(currentPos, ch); - SetEmptySelection(currentPos + 1); + pdoc->InsertString(currentPos, s, len); + SetEmptySelection(currentPos + len); EnsureCaretVisible(); SetLastXChosen(); - NotifyChar(ch); + NotifyChar(s[0]); } void Editor::ClearSelection() { diff --git a/src/Editor.h b/src/Editor.h index 1dccf35c7..fe670ddd5 100644 --- a/src/Editor.h +++ b/src/Editor.h @@ -192,7 +192,8 @@ protected: // ScintillaBase subclass needs access to much of Editor void SetScrollBarsTo(PRectangle rsClient); void SetScrollBars(); - virtual void AddChar(char ch); + void AddChar(char ch); + virtual void AddCharUTF(char *s, unsigned int len); void ClearSelection(); void ClearAll(); void Cut(); diff --git a/src/LexCPP.cxx b/src/LexCPP.cxx index b67779842..418c1133e 100644 --- a/src/LexCPP.cxx +++ b/src/LexCPP.cxx @@ -163,7 +163,7 @@ static void ColouriseCppDoc(unsigned int startPos, int length, int initStyle, Wo } } else if (state == SCE_C_COMMENTDOC) { if (ch == '/' && chPrev == '*') { - if (((i > styler.GetStartSegment() + 3) || ( + if (((i > styler.GetStartSegment() + 2) || ( (initStyle == SCE_C_COMMENTDOC) && (styler.GetStartSegment() == static_cast<unsigned int>(startPos))))) { styler.ColourTo(i, state); diff --git a/src/ScintillaBase.cxx b/src/ScintillaBase.cxx index 6683c0146..80ef3097b 100644 --- a/src/ScintillaBase.cxx +++ b/src/ScintillaBase.cxx @@ -52,11 +52,11 @@ void ScintillaBase::RefreshColourPalette(Palette &pal, bool want) { ct.RefreshColourPalette(pal, want); } -void ScintillaBase::AddChar(char ch) { +void ScintillaBase::AddCharUTF(char *s, unsigned int len) { bool acActiveBeforeCharAdded = ac.Active(); - Editor::AddChar(ch); + Editor::AddCharUTF(s, len); if (acActiveBeforeCharAdded) - AutoCompleteChanged(ch); + AutoCompleteChanged(s[0]); } void ScintillaBase::Command(int cmdId) { diff --git a/src/ScintillaBase.h b/src/ScintillaBase.h index ec64ab5dd..6344b17a3 100644 --- a/src/ScintillaBase.h +++ b/src/ScintillaBase.h @@ -45,7 +45,7 @@ protected: virtual void RefreshColourPalette(Palette &pal, bool want); - virtual void AddChar(char ch); + virtual void AddCharUTF(char *s, unsigned int len); void Command(int cmdId); virtual int KeyCommand(UINT iMessage); |