diff --git a/Makefile.in b/Makefile.in
index de571fc4db..947dd80d4c 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -236,6 +236,7 @@ WXSCINTILLA_OBJECTS = \
wxscintilla_LexBaan.o \
wxscintilla_LexBash.o \
wxscintilla_LexBasic.o \
+ wxscintilla_LexBibTeX.o \
wxscintilla_LexBullant.o \
wxscintilla_LexCaml.o \
wxscintilla_LexCLW.o \
@@ -249,6 +250,7 @@ WXSCINTILLA_OBJECTS = \
wxscintilla_LexCSS.o \
wxscintilla_LexD.o \
wxscintilla_LexDMAP.o \
+ wxscintilla_LexDMIS.o \
wxscintilla_LexECL.o \
wxscintilla_LexEiffel.o \
wxscintilla_LexErlang.o \
@@ -259,6 +261,7 @@ WXSCINTILLA_OBJECTS = \
wxscintilla_LexGAP.o \
wxscintilla_LexGui4Cli.o \
wxscintilla_LexHaskell.o \
+ wxscintilla_LexHex.o \
wxscintilla_LexHTML.o \
wxscintilla_LexInno.o \
wxscintilla_LexKix.o \
@@ -294,6 +297,7 @@ WXSCINTILLA_OBJECTS = \
wxscintilla_LexPython.o \
wxscintilla_LexR.o \
wxscintilla_LexRebol.o \
+ wxscintilla_LexRegistry.o \
wxscintilla_LexRuby.o \
wxscintilla_LexRust.o \
wxscintilla_LexScriptol.o \
@@ -336,11 +340,14 @@ WXSCINTILLA_OBJECTS = \
wxscintilla_ContractionState.o \
wxscintilla_Decoration.o \
wxscintilla_Document.o \
+ wxscintilla_EditModel.o \
+ wxscintilla_EditView.o \
wxscintilla_Editor.o \
wxscintilla_ExternalLexer.o \
wxscintilla_Indicator.o \
wxscintilla_KeyMap.o \
wxscintilla_LineMarker.o \
+ wxscintilla_MarginView.o \
wxscintilla_PerLine.o \
wxscintilla_PositionCache.o \
wxscintilla_RESearch.o \
@@ -17059,6 +17066,9 @@ wxscintilla_LexBash.o: $(srcdir)/src/stc/scintilla/lexers/LexBash.cxx
wxscintilla_LexBasic.o: $(srcdir)/src/stc/scintilla/lexers/LexBasic.cxx
$(CXXC) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(srcdir)/src/stc/scintilla/lexers/LexBasic.cxx
+wxscintilla_LexBibTeX.o: $(srcdir)/src/stc/scintilla/lexers/LexBibTeX.cxx
+ $(CXXC) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(srcdir)/src/stc/scintilla/lexers/LexBibTeX.cxx
+
wxscintilla_LexBullant.o: $(srcdir)/src/stc/scintilla/lexers/LexBullant.cxx
$(CXXC) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(srcdir)/src/stc/scintilla/lexers/LexBullant.cxx
@@ -17098,6 +17108,9 @@ wxscintilla_LexD.o: $(srcdir)/src/stc/scintilla/lexers/LexD.cxx
wxscintilla_LexDMAP.o: $(srcdir)/src/stc/scintilla/lexers/LexDMAP.cxx
$(CXXC) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(srcdir)/src/stc/scintilla/lexers/LexDMAP.cxx
+wxscintilla_LexDMIS.o: $(srcdir)/src/stc/scintilla/lexers/LexDMIS.cxx
+ $(CXXC) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(srcdir)/src/stc/scintilla/lexers/LexDMIS.cxx
+
wxscintilla_LexECL.o: $(srcdir)/src/stc/scintilla/lexers/LexECL.cxx
$(CXXC) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(srcdir)/src/stc/scintilla/lexers/LexECL.cxx
@@ -17128,6 +17141,9 @@ wxscintilla_LexGui4Cli.o: $(srcdir)/src/stc/scintilla/lexers/LexGui4Cli.cxx
wxscintilla_LexHaskell.o: $(srcdir)/src/stc/scintilla/lexers/LexHaskell.cxx
$(CXXC) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(srcdir)/src/stc/scintilla/lexers/LexHaskell.cxx
+wxscintilla_LexHex.o: $(srcdir)/src/stc/scintilla/lexers/LexHex.cxx
+ $(CXXC) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(srcdir)/src/stc/scintilla/lexers/LexHex.cxx
+
wxscintilla_LexHTML.o: $(srcdir)/src/stc/scintilla/lexers/LexHTML.cxx
$(CXXC) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(srcdir)/src/stc/scintilla/lexers/LexHTML.cxx
@@ -17233,6 +17249,9 @@ wxscintilla_LexR.o: $(srcdir)/src/stc/scintilla/lexers/LexR.cxx
wxscintilla_LexRebol.o: $(srcdir)/src/stc/scintilla/lexers/LexRebol.cxx
$(CXXC) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(srcdir)/src/stc/scintilla/lexers/LexRebol.cxx
+wxscintilla_LexRegistry.o: $(srcdir)/src/stc/scintilla/lexers/LexRegistry.cxx
+ $(CXXC) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(srcdir)/src/stc/scintilla/lexers/LexRegistry.cxx
+
wxscintilla_LexRuby.o: $(srcdir)/src/stc/scintilla/lexers/LexRuby.cxx
$(CXXC) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(srcdir)/src/stc/scintilla/lexers/LexRuby.cxx
@@ -17359,6 +17378,12 @@ wxscintilla_Decoration.o: $(srcdir)/src/stc/scintilla/src/Decoration.cxx
wxscintilla_Document.o: $(srcdir)/src/stc/scintilla/src/Document.cxx
$(CXXC) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(srcdir)/src/stc/scintilla/src/Document.cxx
+wxscintilla_EditModel.o: $(srcdir)/src/stc/scintilla/src/EditModel.cxx
+ $(CXXC) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(srcdir)/src/stc/scintilla/src/EditModel.cxx
+
+wxscintilla_EditView.o: $(srcdir)/src/stc/scintilla/src/EditView.cxx
+ $(CXXC) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(srcdir)/src/stc/scintilla/src/EditView.cxx
+
wxscintilla_Editor.o: $(srcdir)/src/stc/scintilla/src/Editor.cxx
$(CXXC) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(srcdir)/src/stc/scintilla/src/Editor.cxx
@@ -17374,6 +17399,9 @@ wxscintilla_KeyMap.o: $(srcdir)/src/stc/scintilla/src/KeyMap.cxx
wxscintilla_LineMarker.o: $(srcdir)/src/stc/scintilla/src/LineMarker.cxx
$(CXXC) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(srcdir)/src/stc/scintilla/src/LineMarker.cxx
+wxscintilla_MarginView.o: $(srcdir)/src/stc/scintilla/src/MarginView.cxx
+ $(CXXC) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(srcdir)/src/stc/scintilla/src/MarginView.cxx
+
wxscintilla_PerLine.o: $(srcdir)/src/stc/scintilla/src/PerLine.cxx
$(CXXC) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(srcdir)/src/stc/scintilla/src/PerLine.cxx
diff --git a/build/bakefiles/scintilla.bkl b/build/bakefiles/scintilla.bkl
index 9a24e9304f..06d41a15b1 100644
--- a/build/bakefiles/scintilla.bkl
+++ b/build/bakefiles/scintilla.bkl
@@ -69,6 +69,7 @@
src/stc/scintilla/lexers/LexBaan.cxx
src/stc/scintilla/lexers/LexBash.cxx
src/stc/scintilla/lexers/LexBasic.cxx
+ src/stc/scintilla/lexers/LexBibTeX.cxx
src/stc/scintilla/lexers/LexBullant.cxx
src/stc/scintilla/lexers/LexCaml.cxx
src/stc/scintilla/lexers/LexCLW.cxx
@@ -82,6 +83,7 @@
src/stc/scintilla/lexers/LexCSS.cxx
src/stc/scintilla/lexers/LexD.cxx
src/stc/scintilla/lexers/LexDMAP.cxx
+ src/stc/scintilla/lexers/LexDMIS.cxx
src/stc/scintilla/lexers/LexECL.cxx
src/stc/scintilla/lexers/LexEiffel.cxx
src/stc/scintilla/lexers/LexErlang.cxx
@@ -92,6 +94,7 @@
src/stc/scintilla/lexers/LexGAP.cxx
src/stc/scintilla/lexers/LexGui4Cli.cxx
src/stc/scintilla/lexers/LexHaskell.cxx
+ src/stc/scintilla/lexers/LexHex.cxx
src/stc/scintilla/lexers/LexHTML.cxx
src/stc/scintilla/lexers/LexInno.cxx
src/stc/scintilla/lexers/LexKix.cxx
@@ -127,6 +130,7 @@
src/stc/scintilla/lexers/LexPython.cxx
src/stc/scintilla/lexers/LexR.cxx
src/stc/scintilla/lexers/LexRebol.cxx
+ src/stc/scintilla/lexers/LexRegistry.cxx
src/stc/scintilla/lexers/LexRuby.cxx
src/stc/scintilla/lexers/LexRust.cxx
src/stc/scintilla/lexers/LexScriptol.cxx
@@ -169,11 +173,14 @@
src/stc/scintilla/src/ContractionState.cxx
src/stc/scintilla/src/Decoration.cxx
src/stc/scintilla/src/Document.cxx
+ src/stc/scintilla/src/EditModel.cxx
+ src/stc/scintilla/src/EditView.cxx
src/stc/scintilla/src/Editor.cxx
src/stc/scintilla/src/ExternalLexer.cxx
src/stc/scintilla/src/Indicator.cxx
src/stc/scintilla/src/KeyMap.cxx
src/stc/scintilla/src/LineMarker.cxx
+ src/stc/scintilla/src/MarginView.cxx
src/stc/scintilla/src/PerLine.cxx
src/stc/scintilla/src/PositionCache.cxx
src/stc/scintilla/src/RESearch.cxx
diff --git a/build/msw/makefile.bcc b/build/msw/makefile.bcc
index f231e69412..aab7be56ea 100644
--- a/build/msw/makefile.bcc
+++ b/build/msw/makefile.bcc
@@ -217,6 +217,7 @@ WXSCINTILLA_OBJECTS = \
$(OBJS)\wxscintilla_LexBaan.obj \
$(OBJS)\wxscintilla_LexBash.obj \
$(OBJS)\wxscintilla_LexBasic.obj \
+ $(OBJS)\wxscintilla_LexBibTeX.obj \
$(OBJS)\wxscintilla_LexBullant.obj \
$(OBJS)\wxscintilla_LexCaml.obj \
$(OBJS)\wxscintilla_LexCLW.obj \
@@ -230,6 +231,7 @@ WXSCINTILLA_OBJECTS = \
$(OBJS)\wxscintilla_LexCSS.obj \
$(OBJS)\wxscintilla_LexD.obj \
$(OBJS)\wxscintilla_LexDMAP.obj \
+ $(OBJS)\wxscintilla_LexDMIS.obj \
$(OBJS)\wxscintilla_LexECL.obj \
$(OBJS)\wxscintilla_LexEiffel.obj \
$(OBJS)\wxscintilla_LexErlang.obj \
@@ -240,6 +242,7 @@ WXSCINTILLA_OBJECTS = \
$(OBJS)\wxscintilla_LexGAP.obj \
$(OBJS)\wxscintilla_LexGui4Cli.obj \
$(OBJS)\wxscintilla_LexHaskell.obj \
+ $(OBJS)\wxscintilla_LexHex.obj \
$(OBJS)\wxscintilla_LexHTML.obj \
$(OBJS)\wxscintilla_LexInno.obj \
$(OBJS)\wxscintilla_LexKix.obj \
@@ -275,6 +278,7 @@ WXSCINTILLA_OBJECTS = \
$(OBJS)\wxscintilla_LexPython.obj \
$(OBJS)\wxscintilla_LexR.obj \
$(OBJS)\wxscintilla_LexRebol.obj \
+ $(OBJS)\wxscintilla_LexRegistry.obj \
$(OBJS)\wxscintilla_LexRuby.obj \
$(OBJS)\wxscintilla_LexRust.obj \
$(OBJS)\wxscintilla_LexScriptol.obj \
@@ -317,11 +321,14 @@ WXSCINTILLA_OBJECTS = \
$(OBJS)\wxscintilla_ContractionState.obj \
$(OBJS)\wxscintilla_Decoration.obj \
$(OBJS)\wxscintilla_Document.obj \
+ $(OBJS)\wxscintilla_EditModel.obj \
+ $(OBJS)\wxscintilla_EditView.obj \
$(OBJS)\wxscintilla_Editor.obj \
$(OBJS)\wxscintilla_ExternalLexer.obj \
$(OBJS)\wxscintilla_Indicator.obj \
$(OBJS)\wxscintilla_KeyMap.obj \
$(OBJS)\wxscintilla_LineMarker.obj \
+ $(OBJS)\wxscintilla_MarginView.obj \
$(OBJS)\wxscintilla_PerLine.obj \
$(OBJS)\wxscintilla_PositionCache.obj \
$(OBJS)\wxscintilla_RESearch.obj \
@@ -5941,6 +5948,9 @@ $(OBJS)\wxscintilla_LexBash.obj: ..\..\src\stc\scintilla\lexers\LexBash.cxx
$(OBJS)\wxscintilla_LexBasic.obj: ..\..\src\stc\scintilla\lexers\LexBasic.cxx
$(CXX) -q -c -P -o$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexBasic.cxx
+$(OBJS)\wxscintilla_LexBibTeX.obj: ..\..\src\stc\scintilla\lexers\LexBibTeX.cxx
+ $(CXX) -q -c -P -o$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexBibTeX.cxx
+
$(OBJS)\wxscintilla_LexBullant.obj: ..\..\src\stc\scintilla\lexers\LexBullant.cxx
$(CXX) -q -c -P -o$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexBullant.cxx
@@ -5980,6 +5990,9 @@ $(OBJS)\wxscintilla_LexD.obj: ..\..\src\stc\scintilla\lexers\LexD.cxx
$(OBJS)\wxscintilla_LexDMAP.obj: ..\..\src\stc\scintilla\lexers\LexDMAP.cxx
$(CXX) -q -c -P -o$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexDMAP.cxx
+$(OBJS)\wxscintilla_LexDMIS.obj: ..\..\src\stc\scintilla\lexers\LexDMIS.cxx
+ $(CXX) -q -c -P -o$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexDMIS.cxx
+
$(OBJS)\wxscintilla_LexECL.obj: ..\..\src\stc\scintilla\lexers\LexECL.cxx
$(CXX) -q -c -P -o$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexECL.cxx
@@ -6010,6 +6023,9 @@ $(OBJS)\wxscintilla_LexGui4Cli.obj: ..\..\src\stc\scintilla\lexers\LexGui4Cli.cx
$(OBJS)\wxscintilla_LexHaskell.obj: ..\..\src\stc\scintilla\lexers\LexHaskell.cxx
$(CXX) -q -c -P -o$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexHaskell.cxx
+$(OBJS)\wxscintilla_LexHex.obj: ..\..\src\stc\scintilla\lexers\LexHex.cxx
+ $(CXX) -q -c -P -o$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexHex.cxx
+
$(OBJS)\wxscintilla_LexHTML.obj: ..\..\src\stc\scintilla\lexers\LexHTML.cxx
$(CXX) -q -c -P -o$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexHTML.cxx
@@ -6115,6 +6131,9 @@ $(OBJS)\wxscintilla_LexR.obj: ..\..\src\stc\scintilla\lexers\LexR.cxx
$(OBJS)\wxscintilla_LexRebol.obj: ..\..\src\stc\scintilla\lexers\LexRebol.cxx
$(CXX) -q -c -P -o$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexRebol.cxx
+$(OBJS)\wxscintilla_LexRegistry.obj: ..\..\src\stc\scintilla\lexers\LexRegistry.cxx
+ $(CXX) -q -c -P -o$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexRegistry.cxx
+
$(OBJS)\wxscintilla_LexRuby.obj: ..\..\src\stc\scintilla\lexers\LexRuby.cxx
$(CXX) -q -c -P -o$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexRuby.cxx
@@ -6241,6 +6260,12 @@ $(OBJS)\wxscintilla_Decoration.obj: ..\..\src\stc\scintilla\src\Decoration.cxx
$(OBJS)\wxscintilla_Document.obj: ..\..\src\stc\scintilla\src\Document.cxx
$(CXX) -q -c -P -o$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\src\Document.cxx
+$(OBJS)\wxscintilla_EditModel.obj: ..\..\src\stc\scintilla\src\EditModel.cxx
+ $(CXX) -q -c -P -o$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\src\EditModel.cxx
+
+$(OBJS)\wxscintilla_EditView.obj: ..\..\src\stc\scintilla\src\EditView.cxx
+ $(CXX) -q -c -P -o$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\src\EditView.cxx
+
$(OBJS)\wxscintilla_Editor.obj: ..\..\src\stc\scintilla\src\Editor.cxx
$(CXX) -q -c -P -o$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\src\Editor.cxx
@@ -6256,6 +6281,9 @@ $(OBJS)\wxscintilla_KeyMap.obj: ..\..\src\stc\scintilla\src\KeyMap.cxx
$(OBJS)\wxscintilla_LineMarker.obj: ..\..\src\stc\scintilla\src\LineMarker.cxx
$(CXX) -q -c -P -o$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\src\LineMarker.cxx
+$(OBJS)\wxscintilla_MarginView.obj: ..\..\src\stc\scintilla\src\MarginView.cxx
+ $(CXX) -q -c -P -o$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\src\MarginView.cxx
+
$(OBJS)\wxscintilla_PerLine.obj: ..\..\src\stc\scintilla\src\PerLine.cxx
$(CXX) -q -c -P -o$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\src\PerLine.cxx
diff --git a/build/msw/makefile.gcc b/build/msw/makefile.gcc
index f9e6858055..e9a450f975 100644
--- a/build/msw/makefile.gcc
+++ b/build/msw/makefile.gcc
@@ -205,6 +205,7 @@ WXSCINTILLA_OBJECTS = \
$(OBJS)\wxscintilla_LexBaan.o \
$(OBJS)\wxscintilla_LexBash.o \
$(OBJS)\wxscintilla_LexBasic.o \
+ $(OBJS)\wxscintilla_LexBibTeX.o \
$(OBJS)\wxscintilla_LexBullant.o \
$(OBJS)\wxscintilla_LexCaml.o \
$(OBJS)\wxscintilla_LexCLW.o \
@@ -218,6 +219,7 @@ WXSCINTILLA_OBJECTS = \
$(OBJS)\wxscintilla_LexCSS.o \
$(OBJS)\wxscintilla_LexD.o \
$(OBJS)\wxscintilla_LexDMAP.o \
+ $(OBJS)\wxscintilla_LexDMIS.o \
$(OBJS)\wxscintilla_LexECL.o \
$(OBJS)\wxscintilla_LexEiffel.o \
$(OBJS)\wxscintilla_LexErlang.o \
@@ -228,6 +230,7 @@ WXSCINTILLA_OBJECTS = \
$(OBJS)\wxscintilla_LexGAP.o \
$(OBJS)\wxscintilla_LexGui4Cli.o \
$(OBJS)\wxscintilla_LexHaskell.o \
+ $(OBJS)\wxscintilla_LexHex.o \
$(OBJS)\wxscintilla_LexHTML.o \
$(OBJS)\wxscintilla_LexInno.o \
$(OBJS)\wxscintilla_LexKix.o \
@@ -263,6 +266,7 @@ WXSCINTILLA_OBJECTS = \
$(OBJS)\wxscintilla_LexPython.o \
$(OBJS)\wxscintilla_LexR.o \
$(OBJS)\wxscintilla_LexRebol.o \
+ $(OBJS)\wxscintilla_LexRegistry.o \
$(OBJS)\wxscintilla_LexRuby.o \
$(OBJS)\wxscintilla_LexRust.o \
$(OBJS)\wxscintilla_LexScriptol.o \
@@ -305,11 +309,14 @@ WXSCINTILLA_OBJECTS = \
$(OBJS)\wxscintilla_ContractionState.o \
$(OBJS)\wxscintilla_Decoration.o \
$(OBJS)\wxscintilla_Document.o \
+ $(OBJS)\wxscintilla_EditModel.o \
+ $(OBJS)\wxscintilla_EditView.o \
$(OBJS)\wxscintilla_Editor.o \
$(OBJS)\wxscintilla_ExternalLexer.o \
$(OBJS)\wxscintilla_Indicator.o \
$(OBJS)\wxscintilla_KeyMap.o \
$(OBJS)\wxscintilla_LineMarker.o \
+ $(OBJS)\wxscintilla_MarginView.o \
$(OBJS)\wxscintilla_PerLine.o \
$(OBJS)\wxscintilla_PositionCache.o \
$(OBJS)\wxscintilla_RESearch.o \
@@ -6116,6 +6123,9 @@ $(OBJS)\wxscintilla_LexBash.o: ../../src/stc/scintilla/lexers/LexBash.cxx
$(OBJS)\wxscintilla_LexBasic.o: ../../src/stc/scintilla/lexers/LexBasic.cxx
$(CXX) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\wxscintilla_LexBibTeX.o: ../../src/stc/scintilla/lexers/LexBibTeX.cxx
+ $(CXX) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\wxscintilla_LexBullant.o: ../../src/stc/scintilla/lexers/LexBullant.cxx
$(CXX) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(CPPDEPS) $<
@@ -6155,6 +6165,9 @@ $(OBJS)\wxscintilla_LexD.o: ../../src/stc/scintilla/lexers/LexD.cxx
$(OBJS)\wxscintilla_LexDMAP.o: ../../src/stc/scintilla/lexers/LexDMAP.cxx
$(CXX) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\wxscintilla_LexDMIS.o: ../../src/stc/scintilla/lexers/LexDMIS.cxx
+ $(CXX) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\wxscintilla_LexECL.o: ../../src/stc/scintilla/lexers/LexECL.cxx
$(CXX) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(CPPDEPS) $<
@@ -6185,6 +6198,9 @@ $(OBJS)\wxscintilla_LexGui4Cli.o: ../../src/stc/scintilla/lexers/LexGui4Cli.cxx
$(OBJS)\wxscintilla_LexHaskell.o: ../../src/stc/scintilla/lexers/LexHaskell.cxx
$(CXX) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\wxscintilla_LexHex.o: ../../src/stc/scintilla/lexers/LexHex.cxx
+ $(CXX) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\wxscintilla_LexHTML.o: ../../src/stc/scintilla/lexers/LexHTML.cxx
$(CXX) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(CPPDEPS) $<
@@ -6290,6 +6306,9 @@ $(OBJS)\wxscintilla_LexR.o: ../../src/stc/scintilla/lexers/LexR.cxx
$(OBJS)\wxscintilla_LexRebol.o: ../../src/stc/scintilla/lexers/LexRebol.cxx
$(CXX) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\wxscintilla_LexRegistry.o: ../../src/stc/scintilla/lexers/LexRegistry.cxx
+ $(CXX) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\wxscintilla_LexRuby.o: ../../src/stc/scintilla/lexers/LexRuby.cxx
$(CXX) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(CPPDEPS) $<
@@ -6416,6 +6435,12 @@ $(OBJS)\wxscintilla_Decoration.o: ../../src/stc/scintilla/src/Decoration.cxx
$(OBJS)\wxscintilla_Document.o: ../../src/stc/scintilla/src/Document.cxx
$(CXX) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\wxscintilla_EditModel.o: ../../src/stc/scintilla/src/EditModel.cxx
+ $(CXX) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\wxscintilla_EditView.o: ../../src/stc/scintilla/src/EditView.cxx
+ $(CXX) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\wxscintilla_Editor.o: ../../src/stc/scintilla/src/Editor.cxx
$(CXX) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(CPPDEPS) $<
@@ -6431,6 +6456,9 @@ $(OBJS)\wxscintilla_KeyMap.o: ../../src/stc/scintilla/src/KeyMap.cxx
$(OBJS)\wxscintilla_LineMarker.o: ../../src/stc/scintilla/src/LineMarker.cxx
$(CXX) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\wxscintilla_MarginView.o: ../../src/stc/scintilla/src/MarginView.cxx
+ $(CXX) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\wxscintilla_PerLine.o: ../../src/stc/scintilla/src/PerLine.cxx
$(CXX) -c -o $@ $(WXSCINTILLA_CXXFLAGS) $(CPPDEPS) $<
diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc
index 7c672251ce..85e140a1fe 100644
--- a/build/msw/makefile.vc
+++ b/build/msw/makefile.vc
@@ -228,6 +228,7 @@ WXSCINTILLA_OBJECTS = \
$(OBJS)\wxscintilla_LexBaan.obj \
$(OBJS)\wxscintilla_LexBash.obj \
$(OBJS)\wxscintilla_LexBasic.obj \
+ $(OBJS)\wxscintilla_LexBibTeX.obj \
$(OBJS)\wxscintilla_LexBullant.obj \
$(OBJS)\wxscintilla_LexCaml.obj \
$(OBJS)\wxscintilla_LexCLW.obj \
@@ -241,6 +242,7 @@ WXSCINTILLA_OBJECTS = \
$(OBJS)\wxscintilla_LexCSS.obj \
$(OBJS)\wxscintilla_LexD.obj \
$(OBJS)\wxscintilla_LexDMAP.obj \
+ $(OBJS)\wxscintilla_LexDMIS.obj \
$(OBJS)\wxscintilla_LexECL.obj \
$(OBJS)\wxscintilla_LexEiffel.obj \
$(OBJS)\wxscintilla_LexErlang.obj \
@@ -251,6 +253,7 @@ WXSCINTILLA_OBJECTS = \
$(OBJS)\wxscintilla_LexGAP.obj \
$(OBJS)\wxscintilla_LexGui4Cli.obj \
$(OBJS)\wxscintilla_LexHaskell.obj \
+ $(OBJS)\wxscintilla_LexHex.obj \
$(OBJS)\wxscintilla_LexHTML.obj \
$(OBJS)\wxscintilla_LexInno.obj \
$(OBJS)\wxscintilla_LexKix.obj \
@@ -286,6 +289,7 @@ WXSCINTILLA_OBJECTS = \
$(OBJS)\wxscintilla_LexPython.obj \
$(OBJS)\wxscintilla_LexR.obj \
$(OBJS)\wxscintilla_LexRebol.obj \
+ $(OBJS)\wxscintilla_LexRegistry.obj \
$(OBJS)\wxscintilla_LexRuby.obj \
$(OBJS)\wxscintilla_LexRust.obj \
$(OBJS)\wxscintilla_LexScriptol.obj \
@@ -328,11 +332,14 @@ WXSCINTILLA_OBJECTS = \
$(OBJS)\wxscintilla_ContractionState.obj \
$(OBJS)\wxscintilla_Decoration.obj \
$(OBJS)\wxscintilla_Document.obj \
+ $(OBJS)\wxscintilla_EditModel.obj \
+ $(OBJS)\wxscintilla_EditView.obj \
$(OBJS)\wxscintilla_Editor.obj \
$(OBJS)\wxscintilla_ExternalLexer.obj \
$(OBJS)\wxscintilla_Indicator.obj \
$(OBJS)\wxscintilla_KeyMap.obj \
$(OBJS)\wxscintilla_LineMarker.obj \
+ $(OBJS)\wxscintilla_MarginView.obj \
$(OBJS)\wxscintilla_PerLine.obj \
$(OBJS)\wxscintilla_PositionCache.obj \
$(OBJS)\wxscintilla_RESearch.obj \
@@ -6633,6 +6640,9 @@ $(OBJS)\wxscintilla_LexBash.obj: ..\..\src\stc\scintilla\lexers\LexBash.cxx
$(OBJS)\wxscintilla_LexBasic.obj: ..\..\src\stc\scintilla\lexers\LexBasic.cxx
$(CXX) /c /nologo /TP /Fo$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexBasic.cxx
+$(OBJS)\wxscintilla_LexBibTeX.obj: ..\..\src\stc\scintilla\lexers\LexBibTeX.cxx
+ $(CXX) /c /nologo /TP /Fo$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexBibTeX.cxx
+
$(OBJS)\wxscintilla_LexBullant.obj: ..\..\src\stc\scintilla\lexers\LexBullant.cxx
$(CXX) /c /nologo /TP /Fo$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexBullant.cxx
@@ -6672,6 +6682,9 @@ $(OBJS)\wxscintilla_LexD.obj: ..\..\src\stc\scintilla\lexers\LexD.cxx
$(OBJS)\wxscintilla_LexDMAP.obj: ..\..\src\stc\scintilla\lexers\LexDMAP.cxx
$(CXX) /c /nologo /TP /Fo$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexDMAP.cxx
+$(OBJS)\wxscintilla_LexDMIS.obj: ..\..\src\stc\scintilla\lexers\LexDMIS.cxx
+ $(CXX) /c /nologo /TP /Fo$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexDMIS.cxx
+
$(OBJS)\wxscintilla_LexECL.obj: ..\..\src\stc\scintilla\lexers\LexECL.cxx
$(CXX) /c /nologo /TP /Fo$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexECL.cxx
@@ -6702,6 +6715,9 @@ $(OBJS)\wxscintilla_LexGui4Cli.obj: ..\..\src\stc\scintilla\lexers\LexGui4Cli.cx
$(OBJS)\wxscintilla_LexHaskell.obj: ..\..\src\stc\scintilla\lexers\LexHaskell.cxx
$(CXX) /c /nologo /TP /Fo$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexHaskell.cxx
+$(OBJS)\wxscintilla_LexHex.obj: ..\..\src\stc\scintilla\lexers\LexHex.cxx
+ $(CXX) /c /nologo /TP /Fo$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexHex.cxx
+
$(OBJS)\wxscintilla_LexHTML.obj: ..\..\src\stc\scintilla\lexers\LexHTML.cxx
$(CXX) /c /nologo /TP /Fo$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexHTML.cxx
@@ -6807,6 +6823,9 @@ $(OBJS)\wxscintilla_LexR.obj: ..\..\src\stc\scintilla\lexers\LexR.cxx
$(OBJS)\wxscintilla_LexRebol.obj: ..\..\src\stc\scintilla\lexers\LexRebol.cxx
$(CXX) /c /nologo /TP /Fo$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexRebol.cxx
+$(OBJS)\wxscintilla_LexRegistry.obj: ..\..\src\stc\scintilla\lexers\LexRegistry.cxx
+ $(CXX) /c /nologo /TP /Fo$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexRegistry.cxx
+
$(OBJS)\wxscintilla_LexRuby.obj: ..\..\src\stc\scintilla\lexers\LexRuby.cxx
$(CXX) /c /nologo /TP /Fo$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\lexers\LexRuby.cxx
@@ -6933,6 +6952,12 @@ $(OBJS)\wxscintilla_Decoration.obj: ..\..\src\stc\scintilla\src\Decoration.cxx
$(OBJS)\wxscintilla_Document.obj: ..\..\src\stc\scintilla\src\Document.cxx
$(CXX) /c /nologo /TP /Fo$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\src\Document.cxx
+$(OBJS)\wxscintilla_EditModel.obj: ..\..\src\stc\scintilla\src\EditModel.cxx
+ $(CXX) /c /nologo /TP /Fo$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\src\EditModel.cxx
+
+$(OBJS)\wxscintilla_EditView.obj: ..\..\src\stc\scintilla\src\EditView.cxx
+ $(CXX) /c /nologo /TP /Fo$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\src\EditView.cxx
+
$(OBJS)\wxscintilla_Editor.obj: ..\..\src\stc\scintilla\src\Editor.cxx
$(CXX) /c /nologo /TP /Fo$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\src\Editor.cxx
@@ -6948,6 +6973,9 @@ $(OBJS)\wxscintilla_KeyMap.obj: ..\..\src\stc\scintilla\src\KeyMap.cxx
$(OBJS)\wxscintilla_LineMarker.obj: ..\..\src\stc\scintilla\src\LineMarker.cxx
$(CXX) /c /nologo /TP /Fo$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\src\LineMarker.cxx
+$(OBJS)\wxscintilla_MarginView.obj: ..\..\src\stc\scintilla\src\MarginView.cxx
+ $(CXX) /c /nologo /TP /Fo$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\src\MarginView.cxx
+
$(OBJS)\wxscintilla_PerLine.obj: ..\..\src\stc\scintilla\src\PerLine.cxx
$(CXX) /c /nologo /TP /Fo$@ $(WXSCINTILLA_CXXFLAGS) ..\..\src\stc\scintilla\src\PerLine.cxx
diff --git a/build/msw/wx_vc7_wxscintilla.vcproj b/build/msw/wx_vc7_wxscintilla.vcproj
index 0dc370af45..a9bd1621bd 100644
--- a/build/msw/wx_vc7_wxscintilla.vcproj
+++ b/build/msw/wx_vc7_wxscintilla.vcproj
@@ -286,6 +286,12 @@
+
+
+
+
@@ -337,6 +343,9 @@
+
+
@@ -376,6 +385,9 @@
+
+
@@ -409,6 +421,9 @@
+
+
@@ -511,6 +526,9 @@
+
+
@@ -592,6 +610,9 @@
+
+
diff --git a/build/msw/wx_vc8_wxscintilla.vcproj b/build/msw/wx_vc8_wxscintilla.vcproj
index 48d22ef8ff..c5888d7105 100644
--- a/build/msw/wx_vc8_wxscintilla.vcproj
+++ b/build/msw/wx_vc8_wxscintilla.vcproj
@@ -730,6 +730,14 @@
RelativePath="..\..\src\stc\scintilla\src\Document.cxx"
>
+
+
+
+
@@ -798,6 +806,10 @@
RelativePath="..\..\src\stc\scintilla\lexers\LexBasic.cxx"
>
+
+
@@ -850,6 +862,10 @@
RelativePath="..\..\src\stc\scintilla\lexers\LexDMAP.cxx"
>
+
+
@@ -894,6 +910,10 @@
RelativePath="..\..\src\stc\scintilla\lexers\LexHaskell.cxx"
>
+
+
@@ -1030,6 +1050,10 @@
RelativePath="..\..\src\stc\scintilla\lexers\LexRebol.cxx"
>
+
+
@@ -1138,6 +1162,10 @@
RelativePath="..\..\src\stc\scintilla\src\LineMarker.cxx"
>
+
+
diff --git a/build/msw/wx_vc9_wxscintilla.vcproj b/build/msw/wx_vc9_wxscintilla.vcproj
index 922a184ffd..61b58586ce 100644
--- a/build/msw/wx_vc9_wxscintilla.vcproj
+++ b/build/msw/wx_vc9_wxscintilla.vcproj
@@ -726,6 +726,14 @@
RelativePath="..\..\src\stc\scintilla\src\Document.cxx"
>
+
+
+
+
@@ -794,6 +802,10 @@
RelativePath="..\..\src\stc\scintilla\lexers\LexBasic.cxx"
>
+
+
@@ -846,6 +858,10 @@
RelativePath="..\..\src\stc\scintilla\lexers\LexDMAP.cxx"
>
+
+
@@ -890,6 +906,10 @@
RelativePath="..\..\src\stc\scintilla\lexers\LexHaskell.cxx"
>
+
+
@@ -1026,6 +1046,10 @@
RelativePath="..\..\src\stc\scintilla\lexers\LexRebol.cxx"
>
+
+
@@ -1134,6 +1158,10 @@
RelativePath="..\..\src\stc\scintilla\src\LineMarker.cxx"
>
+
+
diff --git a/build/msw/wx_wxscintilla.vcxproj b/build/msw/wx_wxscintilla.vcxproj
index 94d5c0d658..fd8b973e13 100644
--- a/build/msw/wx_wxscintilla.vcxproj
+++ b/build/msw/wx_wxscintilla.vcxproj
@@ -415,6 +415,8 @@
+
+
@@ -432,6 +434,7 @@
+
@@ -445,6 +448,7 @@
+
@@ -456,6 +460,7 @@
+
@@ -490,6 +495,7 @@
+
@@ -517,6 +523,7 @@
+
diff --git a/build/msw/wx_wxscintilla.vcxproj.filters b/build/msw/wx_wxscintilla.vcxproj.filters
index 6b8eeae322..30a0a1dca5 100644
--- a/build/msw/wx_wxscintilla.vcxproj.filters
+++ b/build/msw/wx_wxscintilla.vcxproj.filters
@@ -50,6 +50,12 @@
Source Files
+
+ Source Files
+
+
+ Source Files
+
Source Files
@@ -101,6 +107,9 @@
Source Files
+
+ Source Files
+
Source Files
@@ -140,6 +149,9 @@
Source Files
+
+ Source Files
+
Source Files
@@ -173,6 +185,9 @@
Source Files
+
+ Source Files
+
Source Files
@@ -275,6 +290,9 @@
Source Files
+
+ Source Files
+
Source Files
@@ -356,6 +374,9 @@
Source Files
+
+ Source Files
+
Source Files
diff --git a/docs/changes.txt b/docs/changes.txt
index d1182e9302..0807ff4f0b 100644
--- a/docs/changes.txt
+++ b/docs/changes.txt
@@ -98,7 +98,7 @@ All (GUI):
- Optimized wxRTC insertion and deletion when floating objects are present.
- Added on-demand image loading option to wxRTC.
- Add wxFont::GetBaseFont() (Melroy Tellis).
-- Update included Scintilla to version 3.4.1 (Christian Walther, Heyoupeng).
+- Update Scintilla to v3.5.5 (Christian Walther, Heyoupeng, ARATA Mizuki).
- Add wxStyledTextCtrl copy/paste text events (Christian Walther).
- Improve RTL support in wxStyledTextCtrl (Zane U. Ji).
- Add support for loading old V1 BMP files to wxImage (Artur Wieczorek).
diff --git a/include/wx/stc/stc.h b/include/wx/stc/stc.h
index c8adbb3854..abc8de19bc 100644
--- a/include/wx/stc/stc.h
+++ b/include/wx/stc/stc.h
@@ -75,6 +75,8 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar;
/// The SC_CP_UTF8 value can be used to enter Unicode mode.
/// This is the same value as CP_UTF8 in Windows
#define wxSTC_CP_UTF8 65001
+#define wxSTC_IME_WINDOWED 0
+#define wxSTC_IME_INLINE 1
#define wxSTC_MARKER_MAX 31
#define wxSTC_MARK_CIRCLE 0
#define wxSTC_MARK_ROUNDRECT 1
@@ -190,12 +192,20 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar;
#define wxSTC_INDIC_DOTBOX 12
#define wxSTC_INDIC_SQUIGGLEPIXMAP 13
#define wxSTC_INDIC_COMPOSITIONTHICK 14
-#define wxSTC_INDIC_MAX 31
+#define wxSTC_INDIC_COMPOSITIONTHIN 15
+#define wxSTC_INDIC_FULLBOX 16
+#define wxSTC_INDIC_TEXTFORE 17
+#define wxSTC_INDIC_IME 32
+#define wxSTC_INDIC_IME_MAX 35
+#define wxSTC_INDIC_MAX 35
#define wxSTC_INDIC_CONTAINER 8
#define wxSTC_INDIC0_MASK 0x20
#define wxSTC_INDIC1_MASK 0x40
#define wxSTC_INDIC2_MASK 0x80
#define wxSTC_INDICS_MASK 0xE0
+#define wxSTC_INDICVALUEBIT 0x1000000
+#define wxSTC_INDICVALUEMASK 0xFFFFFF
+#define wxSTC_INDICFLAG_VALUEFORE 1
#define wxSTC_IV_NONE 0
#define wxSTC_IV_REAL 1
#define wxSTC_IV_LOOKFORWARD 2
@@ -220,6 +230,7 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar;
#define wxSTC_FIND_WORDSTART 0x00100000
#define wxSTC_FIND_REGEXP 0x00200000
#define wxSTC_FIND_POSIX 0x00400000
+#define wxSTC_FIND_CXX11REGEX 0x00800000
#define wxSTC_FOLDLEVELBASE 0x400
#define wxSTC_FOLDLEVELWHITEFLAG 0x1000
#define wxSTC_FOLDLEVELHEADERFLAG 0x2000
@@ -235,6 +246,7 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar;
#define wxSTC_FOLDFLAG_LINEAFTER_EXPANDED 0x0008
#define wxSTC_FOLDFLAG_LINEAFTER_CONTRACTED 0x0010
#define wxSTC_FOLDFLAG_LEVELNUMBERS 0x0040
+#define wxSTC_FOLDFLAG_LINESTATE 0x0080
#define wxSTC_TIME_FOREVER 10000000
#define wxSTC_WRAP_NONE 0
#define wxSTC_WRAP_WORD 1
@@ -254,6 +266,9 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar;
#define wxSTC_CACHE_CARET 1
#define wxSTC_CACHE_PAGE 2
#define wxSTC_CACHE_DOCUMENT 3
+#define wxSTC_PHASES_ONE 0
+#define wxSTC_PHASES_TWO 1
+#define wxSTC_PHASES_MULTIPLE 2
/// Control font anti-aliasing.
#define wxSTC_EFF_QUALITY_MASK 0xF
@@ -269,6 +284,8 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar;
#define wxSTC_STATUS_OK 0
#define wxSTC_STATUS_FAILURE 1
#define wxSTC_STATUS_BADALLOC 2
+#define wxSTC_STATUS_WARN_START 1000
+#define wxSTC_STATUS_WARN_REGEX 1001
#define wxSTC_CURSORNORMAL -1
#define wxSTC_CURSORARROW 2
#define wxSTC_CURSORWAIT 4
@@ -309,6 +326,8 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar;
#define wxSTC_SEL_THIN 3
#define wxSTC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE 0
#define wxSTC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE 1
+#define wxSTC_MULTIAUTOC_ONCE 0
+#define wxSTC_MULTIAUTOC_EACH 1
#define wxSTC_ORDER_PRESORTED 0
#define wxSTC_ORDER_PERFORMSORT 1
#define wxSTC_ORDER_CUSTOM 2
@@ -326,12 +345,15 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar;
#define wxSTC_ANNOTATION_HIDDEN 0
#define wxSTC_ANNOTATION_STANDARD 1
#define wxSTC_ANNOTATION_BOXED 2
+#define wxSTC_ANNOTATION_INDENTED 3
#define wxSTC_UNDO_MAY_COALESCE 1
#define wxSTC_SCVS_NONE 0
#define wxSTC_SCVS_RECTANGULARSELECTION 1
#define wxSTC_SCVS_USERACCESSIBLE 2
#define wxSTC_TECHNOLOGY_DEFAULT 0
#define wxSTC_TECHNOLOGY_DIRECTWRITE 1
+#define wxSTC_TECHNOLOGY_DIRECTWRITERETAIN 2
+#define wxSTC_TECHNOLOGY_DIRECTWRITEDC 3
/// Line end types which may be used in addition to LF, CR, and CRLF
/// SC_LINE_END_TYPE_UNICODE includes U+2028 Line Separator,
@@ -369,7 +391,9 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar;
#define wxSTC_MOD_CHANGEANNOTATION 0x20000
#define wxSTC_MOD_CONTAINER 0x40000
#define wxSTC_MOD_LEXERSTATE 0x80000
-#define wxSTC_MODEVENTMASKALL 0xFFFFF
+#define wxSTC_MOD_INSERTCHECK 0x100000
+#define wxSTC_MOD_CHANGETABSTOPS 0x200000
+#define wxSTC_MODEVENTMASKALL 0x3FFFFF
#define wxSTC_UPDATE_CONTENT 0x1
#define wxSTC_UPDATE_SELECTION 0x2
#define wxSTC_UPDATE_V_SCROLL 0x4
@@ -518,6 +542,12 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar;
#define wxSTC_LEX_RUST 111
#define wxSTC_LEX_DMAP 112
#define wxSTC_LEX_AS 113
+#define wxSTC_LEX_DMIS 114
+#define wxSTC_LEX_REGISTRY 115
+#define wxSTC_LEX_BIBTEX 116
+#define wxSTC_LEX_SREC 117
+#define wxSTC_LEX_IHEX 118
+#define wxSTC_LEX_TEHEX 119
/// When a lexer specifies its language as SCLEX_AUTOMATIC it receives a
/// value assigned in sequence from SCLEX_AUTOMATIC+1.
@@ -568,6 +598,8 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar;
#define wxSTC_C_PREPROCESSORCOMMENT 23
#define wxSTC_C_PREPROCESSORCOMMENTDOC 24
#define wxSTC_C_USERLITERAL 25
+#define wxSTC_C_TASKMARKER 26
+#define wxSTC_C_ESCAPESEQUENCE 27
/// Lexical states for SCLEX_D
#define wxSTC_D_DEFAULT 0
@@ -1399,6 +1431,11 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar;
#define wxSTC_V_IDENTIFIER 11
#define wxSTC_V_STRINGEOL 12
#define wxSTC_V_USER 19
+#define wxSTC_V_COMMENT_WORD 20
+#define wxSTC_V_INPUT 21
+#define wxSTC_V_OUTPUT 22
+#define wxSTC_V_INOUT 23
+#define wxSTC_V_PORT_CONNECT 24
/// Lexical states for SCLEX_KIX
#define wxSTC_KIX_DEFAULT 0
@@ -1411,6 +1448,7 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar;
#define wxSTC_KIX_KEYWORD 7
#define wxSTC_KIX_FUNCTIONS 8
#define wxSTC_KIX_OPERATOR 9
+#define wxSTC_KIX_COMMENTSTREAM 10
#define wxSTC_KIX_IDENTIFIER 31
/// Lexical states for SCLEX_GUI4CLI
@@ -1521,6 +1559,7 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar;
#define wxSTC_VHDL_STDPACKAGE 12
#define wxSTC_VHDL_STDTYPE 13
#define wxSTC_VHDL_USERWORD 14
+#define wxSTC_VHDL_BLOCK_COMMENT 15
/// Lexical states for SCLEX_CAML
#define wxSTC_CAML_DEFAULT 0
@@ -1642,6 +1681,7 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar;
#define wxSTC_SQL_USER3 21
#define wxSTC_SQL_USER4 22
#define wxSTC_SQL_QUOTEDIDENTIFIER 23
+#define wxSTC_SQL_QOPERATOR 24
/// Lexical states for SCLEX_SMALLTALK
#define wxSTC_ST_DEFAULT 0
@@ -2287,6 +2327,9 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar;
#define wxSTC_RUST_LIFETIME 18
#define wxSTC_RUST_MACRO 19
#define wxSTC_RUST_LEXERROR 20
+#define wxSTC_RUST_BYTESTRING 21
+#define wxSTC_RUST_BYTESTRINGR 22
+#define wxSTC_RUST_BYTECHARACTER 23
/// Lexical states for SCLEX_DMAP
#define wxSTC_DMAP_DEFAULT 0
@@ -2301,6 +2344,63 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar;
#define wxSTC_DMAP_WORD2 9
#define wxSTC_DMAP_WORD3 10
+/// Lexical states for SCLEX_DMIS
+#define wxSTC_DMIS_DEFAULT 0
+#define wxSTC_DMIS_COMMENT 1
+#define wxSTC_DMIS_STRING 2
+#define wxSTC_DMIS_NUMBER 3
+#define wxSTC_DMIS_KEYWORD 4
+#define wxSTC_DMIS_MAJORWORD 5
+#define wxSTC_DMIS_MINORWORD 6
+#define wxSTC_DMIS_UNSUPPORTED_MAJOR 7
+#define wxSTC_DMIS_UNSUPPORTED_MINOR 8
+#define wxSTC_DMIS_LABEL 9
+
+/// Lexical states for SCLEX_REGISTRY
+#define wxSTC_REG_DEFAULT 0
+#define wxSTC_REG_COMMENT 1
+#define wxSTC_REG_VALUENAME 2
+#define wxSTC_REG_STRING 3
+#define wxSTC_REG_HEXDIGIT 4
+#define wxSTC_REG_VALUETYPE 5
+#define wxSTC_REG_ADDEDKEY 6
+#define wxSTC_REG_DELETEDKEY 7
+#define wxSTC_REG_ESCAPED 8
+#define wxSTC_REG_KEYPATH_GUID 9
+#define wxSTC_REG_STRING_GUID 10
+#define wxSTC_REG_PARAMETER 11
+#define wxSTC_REG_OPERATOR 12
+
+/// Lexical state for SCLEX_BIBTEX
+#define wxSTC_BIBTEX_DEFAULT 0
+#define wxSTC_BIBTEX_ENTRY 1
+#define wxSTC_BIBTEX_UNKNOWN_ENTRY 2
+#define wxSTC_BIBTEX_KEY 3
+#define wxSTC_BIBTEX_PARAMETER 4
+#define wxSTC_BIBTEX_VALUE 5
+#define wxSTC_BIBTEX_COMMENT 6
+
+/// Lexical state for SCLEX_SREC
+#define wxSTC_HEX_DEFAULT 0
+#define wxSTC_HEX_RECSTART 1
+#define wxSTC_HEX_RECTYPE 2
+#define wxSTC_HEX_RECTYPE_UNKNOWN 3
+#define wxSTC_HEX_BYTECOUNT 4
+#define wxSTC_HEX_BYTECOUNT_WRONG 5
+#define wxSTC_HEX_NOADDRESS 6
+#define wxSTC_HEX_DATAADDRESS 7
+#define wxSTC_HEX_RECCOUNT 8
+#define wxSTC_HEX_STARTADDRESS 9
+#define wxSTC_HEX_ADDRESSFIELD_UNKNOWN 10
+#define wxSTC_HEX_EXTENDEDADDRESS 11
+#define wxSTC_HEX_DATA_ODD 12
+#define wxSTC_HEX_DATA_EVEN 13
+#define wxSTC_HEX_DATA_UNKNOWN 14
+#define wxSTC_HEX_DATA_EMPTY 15
+#define wxSTC_HEX_CHECKSUM 16
+#define wxSTC_HEX_CHECKSUM_WRONG 17
+#define wxSTC_HEX_GARBAGE 18
+
//}}}
//----------------------------------------------------------------------
@@ -2666,6 +2766,9 @@ public:
// Insert string at a position.
void InsertText(int pos, const wxString& text);
+ // Change the text that is being inserted in response to SC_MOD_INSERTCHECK
+ void ChangeInsertion(int length, const wxString& text);
+
// Delete all text in the document.
void ClearAll();
@@ -2745,6 +2848,7 @@ public:
// Retrieve the text of the line containing the caret.
// Returns the index of the caret on the line.
+ // Result is NUL-terminated.
#ifdef SWIG
wxString GetCurLine(int* OUTPUT);
#else
@@ -2784,9 +2888,24 @@ public:
// Retrieve the visible size of a tab.
int GetTabWidth() const;
+ // Clear explicit tabstops on a line.
+ void ClearTabStops(int line);
+
+ // Add an explicit tab stop for a line.
+ void AddTabStop(int line, int x);
+
+ // Find the next explicit tab stop position on a line after a position.
+ int GetNextTabStop(int line, int x);
+
// Set the code page used to interpret the bytes of the document as characters.
void SetCodePage(int codePage);
+ // Is the IME displayed in a winow or inline?
+ int GetIMEInteraction() const;
+
+ // Choose to display the the IME in a winow or inline.
+ void SetIMEInteraction(int imeInteraction);
+
// Set the symbol used for a particular marker number,
// and optionally the fore and background colours.
void MarkerDefine(int markerNumber, int markerSymbol,
@@ -3025,6 +3144,24 @@ public:
// Retrieve whether indicator drawn under or over text.
bool IndicatorGetUnder(int indic) const;
+ // Set a hover indicator to plain, squiggle or TT.
+ void IndicatorSetHoverStyle(int indic, int style);
+
+ // Retrieve the hover style of an indicator.
+ int IndicatorGetHoverStyle(int indic) const;
+
+ // Set the foreground hover colour of an indicator.
+ void IndicatorSetHoverForeground(int indic, const wxColour& fore);
+
+ // Retrieve the foreground hover colour of an indicator.
+ wxColour IndicatorGetHoverForeground(int indic) const;
+
+ // Set the attributes of an indicator.
+ void IndicatorSetFlags(int indic, int flags);
+
+ // Retrieve the attributes of an indicator.
+ int IndicatorGetFlags(int indic) const;
+
// Set the foreground colour of all whitespace and whether to use this setting.
void SetWhitespaceForeground(bool useSetting, const wxColour& fore);
@@ -3383,6 +3520,12 @@ public:
// Get the position that ends the target.
int GetTargetEnd() const;
+ // Sets both the start and end of the target in one call.
+ void SetTargetRange(int start, int end);
+
+ // Retrieve the text in the target.
+ wxString GetTargetText() const;
+
// Replace the target text with the argument text.
// Text is counted so it can contain NULs.
// Returns the length of the replacement text.
@@ -3610,13 +3753,22 @@ public:
// Append a string to the end of the document without changing the selection.
void AppendText(const wxString& text);
- // Is drawing done in two phases with backgrounds drawn before faoregrounds?
+ // Is drawing done in two phases with backgrounds drawn before foregrounds?
bool GetTwoPhaseDraw() const;
// In twoPhaseDraw mode, drawing is performed in two phases, first the background
// and then the foreground. This avoids chopping off characters that overlap the next run.
void SetTwoPhaseDraw(bool twoPhase);
+ // How many phases is drawing done in?
+ int GetPhasesDraw() const;
+
+ // In one phase draw, text is drawn in a series of rectangular blocks with no overlap.
+ // In two phase draw, text is drawn in a series of lines allowing runs to overlap horizontally.
+ // In multiple phase draw, each element is drawn over the whole drawing area, allowing text
+ // to overlap from one line to the next.
+ void SetPhasesDraw(int phases);
+
// Scroll so that a display line is at the top of the display.
void SetFirstVisibleLine(int lineDisplay);
@@ -3627,6 +3779,7 @@ public:
int GetMultiPaste() const;
// Retrieve the value of a tag from a regular expression search.
+ // Result is NUL-terminated.
wxString GetTag(int tagNumber) const;
// Make the target range start and end be the same as the selection range start and end.
@@ -4129,6 +4282,12 @@ public:
// Get auto-completion case insensitive behaviour.
int AutoCompGetCaseInsensitiveBehaviour() const;
+ // Change the effect of autocompleting when there are multiple selections.
+ void AutoCompSetMulti(int multi);
+
+ // Retrieve the effect of autocompleting when there are multiple selections..
+ int AutoCompGetMulti() const;
+
// Set the way autocompletion lists are ordered.
void AutoCompSetOrder(int order);
@@ -4224,12 +4383,6 @@ public:
// the range of a call to GetRangePointer.
int GetGapPosition() const;
- // Always interpret keyboard input as Unicode
- void SetKeysUnicode(bool keysUnicode);
-
- // Are keys always interpreted as Unicode?
- bool GetKeysUnicode() const;
-
// Set the alpha fill colour of the given indicator.
void IndicatorSetAlpha(int indicator, int alpha);
@@ -4539,6 +4692,7 @@ public:
void SetRepresentation(const wxString& encodedCharacter, const wxString& representation);
// Set the way a character is drawn.
+ // Result is NUL-terminated.
wxString GetRepresentation(const wxString& encodedCharacter) const;
// Remove a character representation.
@@ -4586,15 +4740,18 @@ public:
void* PrivateLexerCall(int operation, void* pointer);
// Retrieve a '\n' separated list of properties understood by the current lexer.
+ // Result is NUL-terminated.
wxString PropertyNames() const;
// Retrieve the type of a property.
int PropertyType(const wxString& name);
// Describe a property.
+ // Result is NUL-terminated.
wxString DescribeProperty(const wxString& name) const;
// Retrieve a '\n' separated list of descriptions of the keyword sets understood by the current lexer.
+ // Result is NUL-terminated.
wxString DescribeKeyWordSets() const;
// Bit set of LineEndType enumertion for which line ends beyond the standard
@@ -4627,6 +4784,7 @@ public:
int DistanceToSecondaryStyles() const;
// Get the set of base styles that can be extended with sub styles
+ // Result is NUL-terminated.
wxString GetSubStyleBases() const;
//}}}
diff --git a/interface/wx/stc/stc.h b/interface/wx/stc/stc.h
index a4fa06151c..62ed006e2a 100644
--- a/interface/wx/stc/stc.h
+++ b/interface/wx/stc/stc.h
@@ -31,6 +31,8 @@
/// The SC_CP_UTF8 value can be used to enter Unicode mode.
/// This is the same value as CP_UTF8 in Windows
#define wxSTC_CP_UTF8 65001
+#define wxSTC_IME_WINDOWED 0
+#define wxSTC_IME_INLINE 1
#define wxSTC_MARKER_MAX 31
#define wxSTC_MARK_CIRCLE 0
#define wxSTC_MARK_ROUNDRECT 1
@@ -146,12 +148,20 @@
#define wxSTC_INDIC_DOTBOX 12
#define wxSTC_INDIC_SQUIGGLEPIXMAP 13
#define wxSTC_INDIC_COMPOSITIONTHICK 14
-#define wxSTC_INDIC_MAX 31
+#define wxSTC_INDIC_COMPOSITIONTHIN 15
+#define wxSTC_INDIC_FULLBOX 16
+#define wxSTC_INDIC_TEXTFORE 17
+#define wxSTC_INDIC_IME 32
+#define wxSTC_INDIC_IME_MAX 35
+#define wxSTC_INDIC_MAX 35
#define wxSTC_INDIC_CONTAINER 8
#define wxSTC_INDIC0_MASK 0x20
#define wxSTC_INDIC1_MASK 0x40
#define wxSTC_INDIC2_MASK 0x80
#define wxSTC_INDICS_MASK 0xE0
+#define wxSTC_INDICVALUEBIT 0x1000000
+#define wxSTC_INDICVALUEMASK 0xFFFFFF
+#define wxSTC_INDICFLAG_VALUEFORE 1
#define wxSTC_IV_NONE 0
#define wxSTC_IV_REAL 1
#define wxSTC_IV_LOOKFORWARD 2
@@ -176,6 +186,7 @@
#define wxSTC_FIND_WORDSTART 0x00100000
#define wxSTC_FIND_REGEXP 0x00200000
#define wxSTC_FIND_POSIX 0x00400000
+#define wxSTC_FIND_CXX11REGEX 0x00800000
#define wxSTC_FOLDLEVELBASE 0x400
#define wxSTC_FOLDLEVELWHITEFLAG 0x1000
#define wxSTC_FOLDLEVELHEADERFLAG 0x2000
@@ -191,6 +202,7 @@
#define wxSTC_FOLDFLAG_LINEAFTER_EXPANDED 0x0008
#define wxSTC_FOLDFLAG_LINEAFTER_CONTRACTED 0x0010
#define wxSTC_FOLDFLAG_LEVELNUMBERS 0x0040
+#define wxSTC_FOLDFLAG_LINESTATE 0x0080
#define wxSTC_TIME_FOREVER 10000000
#define wxSTC_WRAP_NONE 0
#define wxSTC_WRAP_WORD 1
@@ -210,6 +222,9 @@
#define wxSTC_CACHE_CARET 1
#define wxSTC_CACHE_PAGE 2
#define wxSTC_CACHE_DOCUMENT 3
+#define wxSTC_PHASES_ONE 0
+#define wxSTC_PHASES_TWO 1
+#define wxSTC_PHASES_MULTIPLE 2
/// Control font anti-aliasing.
#define wxSTC_EFF_QUALITY_MASK 0xF
@@ -225,6 +240,8 @@
#define wxSTC_STATUS_OK 0
#define wxSTC_STATUS_FAILURE 1
#define wxSTC_STATUS_BADALLOC 2
+#define wxSTC_STATUS_WARN_START 1000
+#define wxSTC_STATUS_WARN_REGEX 1001
#define wxSTC_CURSORNORMAL -1
#define wxSTC_CURSORARROW 2
#define wxSTC_CURSORWAIT 4
@@ -265,6 +282,8 @@
#define wxSTC_SEL_THIN 3
#define wxSTC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE 0
#define wxSTC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE 1
+#define wxSTC_MULTIAUTOC_ONCE 0
+#define wxSTC_MULTIAUTOC_EACH 1
#define wxSTC_ORDER_PRESORTED 0
#define wxSTC_ORDER_PERFORMSORT 1
#define wxSTC_ORDER_CUSTOM 2
@@ -282,12 +301,15 @@
#define wxSTC_ANNOTATION_HIDDEN 0
#define wxSTC_ANNOTATION_STANDARD 1
#define wxSTC_ANNOTATION_BOXED 2
+#define wxSTC_ANNOTATION_INDENTED 3
#define wxSTC_UNDO_MAY_COALESCE 1
#define wxSTC_SCVS_NONE 0
#define wxSTC_SCVS_RECTANGULARSELECTION 1
#define wxSTC_SCVS_USERACCESSIBLE 2
#define wxSTC_TECHNOLOGY_DEFAULT 0
#define wxSTC_TECHNOLOGY_DIRECTWRITE 1
+#define wxSTC_TECHNOLOGY_DIRECTWRITERETAIN 2
+#define wxSTC_TECHNOLOGY_DIRECTWRITEDC 3
/// Line end types which may be used in addition to LF, CR, and CRLF
/// SC_LINE_END_TYPE_UNICODE includes U+2028 Line Separator,
@@ -325,7 +347,9 @@
#define wxSTC_MOD_CHANGEANNOTATION 0x20000
#define wxSTC_MOD_CONTAINER 0x40000
#define wxSTC_MOD_LEXERSTATE 0x80000
-#define wxSTC_MODEVENTMASKALL 0xFFFFF
+#define wxSTC_MOD_INSERTCHECK 0x100000
+#define wxSTC_MOD_CHANGETABSTOPS 0x200000
+#define wxSTC_MODEVENTMASKALL 0x3FFFFF
#define wxSTC_UPDATE_CONTENT 0x1
#define wxSTC_UPDATE_SELECTION 0x2
#define wxSTC_UPDATE_V_SCROLL 0x4
@@ -474,6 +498,12 @@
#define wxSTC_LEX_RUST 111
#define wxSTC_LEX_DMAP 112
#define wxSTC_LEX_AS 113
+#define wxSTC_LEX_DMIS 114
+#define wxSTC_LEX_REGISTRY 115
+#define wxSTC_LEX_BIBTEX 116
+#define wxSTC_LEX_SREC 117
+#define wxSTC_LEX_IHEX 118
+#define wxSTC_LEX_TEHEX 119
/// When a lexer specifies its language as SCLEX_AUTOMATIC it receives a
/// value assigned in sequence from SCLEX_AUTOMATIC+1.
@@ -524,6 +554,8 @@
#define wxSTC_C_PREPROCESSORCOMMENT 23
#define wxSTC_C_PREPROCESSORCOMMENTDOC 24
#define wxSTC_C_USERLITERAL 25
+#define wxSTC_C_TASKMARKER 26
+#define wxSTC_C_ESCAPESEQUENCE 27
/// Lexical states for SCLEX_D
#define wxSTC_D_DEFAULT 0
@@ -1355,6 +1387,11 @@
#define wxSTC_V_IDENTIFIER 11
#define wxSTC_V_STRINGEOL 12
#define wxSTC_V_USER 19
+#define wxSTC_V_COMMENT_WORD 20
+#define wxSTC_V_INPUT 21
+#define wxSTC_V_OUTPUT 22
+#define wxSTC_V_INOUT 23
+#define wxSTC_V_PORT_CONNECT 24
/// Lexical states for SCLEX_KIX
#define wxSTC_KIX_DEFAULT 0
@@ -1367,6 +1404,7 @@
#define wxSTC_KIX_KEYWORD 7
#define wxSTC_KIX_FUNCTIONS 8
#define wxSTC_KIX_OPERATOR 9
+#define wxSTC_KIX_COMMENTSTREAM 10
#define wxSTC_KIX_IDENTIFIER 31
/// Lexical states for SCLEX_GUI4CLI
@@ -1477,6 +1515,7 @@
#define wxSTC_VHDL_STDPACKAGE 12
#define wxSTC_VHDL_STDTYPE 13
#define wxSTC_VHDL_USERWORD 14
+#define wxSTC_VHDL_BLOCK_COMMENT 15
/// Lexical states for SCLEX_CAML
#define wxSTC_CAML_DEFAULT 0
@@ -1598,6 +1637,7 @@
#define wxSTC_SQL_USER3 21
#define wxSTC_SQL_USER4 22
#define wxSTC_SQL_QUOTEDIDENTIFIER 23
+#define wxSTC_SQL_QOPERATOR 24
/// Lexical states for SCLEX_SMALLTALK
#define wxSTC_ST_DEFAULT 0
@@ -2243,6 +2283,9 @@
#define wxSTC_RUST_LIFETIME 18
#define wxSTC_RUST_MACRO 19
#define wxSTC_RUST_LEXERROR 20
+#define wxSTC_RUST_BYTESTRING 21
+#define wxSTC_RUST_BYTESTRINGR 22
+#define wxSTC_RUST_BYTECHARACTER 23
/// Lexical states for SCLEX_DMAP
#define wxSTC_DMAP_DEFAULT 0
@@ -2257,6 +2300,63 @@
#define wxSTC_DMAP_WORD2 9
#define wxSTC_DMAP_WORD3 10
+/// Lexical states for SCLEX_DMIS
+#define wxSTC_DMIS_DEFAULT 0
+#define wxSTC_DMIS_COMMENT 1
+#define wxSTC_DMIS_STRING 2
+#define wxSTC_DMIS_NUMBER 3
+#define wxSTC_DMIS_KEYWORD 4
+#define wxSTC_DMIS_MAJORWORD 5
+#define wxSTC_DMIS_MINORWORD 6
+#define wxSTC_DMIS_UNSUPPORTED_MAJOR 7
+#define wxSTC_DMIS_UNSUPPORTED_MINOR 8
+#define wxSTC_DMIS_LABEL 9
+
+/// Lexical states for SCLEX_REGISTRY
+#define wxSTC_REG_DEFAULT 0
+#define wxSTC_REG_COMMENT 1
+#define wxSTC_REG_VALUENAME 2
+#define wxSTC_REG_STRING 3
+#define wxSTC_REG_HEXDIGIT 4
+#define wxSTC_REG_VALUETYPE 5
+#define wxSTC_REG_ADDEDKEY 6
+#define wxSTC_REG_DELETEDKEY 7
+#define wxSTC_REG_ESCAPED 8
+#define wxSTC_REG_KEYPATH_GUID 9
+#define wxSTC_REG_STRING_GUID 10
+#define wxSTC_REG_PARAMETER 11
+#define wxSTC_REG_OPERATOR 12
+
+/// Lexical state for SCLEX_BIBTEX
+#define wxSTC_BIBTEX_DEFAULT 0
+#define wxSTC_BIBTEX_ENTRY 1
+#define wxSTC_BIBTEX_UNKNOWN_ENTRY 2
+#define wxSTC_BIBTEX_KEY 3
+#define wxSTC_BIBTEX_PARAMETER 4
+#define wxSTC_BIBTEX_VALUE 5
+#define wxSTC_BIBTEX_COMMENT 6
+
+/// Lexical state for SCLEX_SREC
+#define wxSTC_HEX_DEFAULT 0
+#define wxSTC_HEX_RECSTART 1
+#define wxSTC_HEX_RECTYPE 2
+#define wxSTC_HEX_RECTYPE_UNKNOWN 3
+#define wxSTC_HEX_BYTECOUNT 4
+#define wxSTC_HEX_BYTECOUNT_WRONG 5
+#define wxSTC_HEX_NOADDRESS 6
+#define wxSTC_HEX_DATAADDRESS 7
+#define wxSTC_HEX_RECCOUNT 8
+#define wxSTC_HEX_STARTADDRESS 9
+#define wxSTC_HEX_ADDRESSFIELD_UNKNOWN 10
+#define wxSTC_HEX_EXTENDEDADDRESS 11
+#define wxSTC_HEX_DATA_ODD 12
+#define wxSTC_HEX_DATA_EVEN 13
+#define wxSTC_HEX_DATA_UNKNOWN 14
+#define wxSTC_HEX_DATA_EMPTY 15
+#define wxSTC_HEX_CHECKSUM 16
+#define wxSTC_HEX_CHECKSUM_WRONG 17
+#define wxSTC_HEX_GARBAGE 18
+
//}}}
// Commands that can be bound to keystrokes {{{
@@ -2708,6 +2808,11 @@ public:
*/
void InsertText(int pos, const wxString& text);
+ /**
+ Change the text that is being inserted in response to SC_MOD_INSERTCHECK
+ */
+ void ChangeInsertion(int length, const wxString& text);
+
/**
Delete all text in the document.
*/
@@ -2836,6 +2941,7 @@ public:
/**
Retrieve the text of the line containing the caret.
Returns the index of the caret on the line.
+ Result is NUL-terminated.
*/
wxString GetCurLine(int* linePos=NULL);
@@ -2892,11 +2998,36 @@ public:
*/
int GetTabWidth() const;
+ /**
+ Clear explicit tabstops on a line.
+ */
+ void ClearTabStops(int line);
+
+ /**
+ Add an explicit tab stop for a line.
+ */
+ void AddTabStop(int line, int x);
+
+ /**
+ Find the next explicit tab stop position on a line after a position.
+ */
+ int GetNextTabStop(int line, int x);
+
/**
Set the code page used to interpret the bytes of the document as characters.
*/
void SetCodePage(int codePage);
+ /**
+ Is the IME displayed in a winow or inline?
+ */
+ int GetIMEInteraction() const;
+
+ /**
+ Choose to display the the IME in a winow or inline.
+ */
+ void SetIMEInteraction(int imeInteraction);
+
/**
Set the symbol used for a particular marker number,
and optionally the fore and background colours.
@@ -3289,6 +3420,36 @@ public:
*/
bool IndicatorGetUnder(int indic) const;
+ /**
+ Set a hover indicator to plain, squiggle or TT.
+ */
+ void IndicatorSetHoverStyle(int indic, int style);
+
+ /**
+ Retrieve the hover style of an indicator.
+ */
+ int IndicatorGetHoverStyle(int indic) const;
+
+ /**
+ Set the foreground hover colour of an indicator.
+ */
+ void IndicatorSetHoverForeground(int indic, const wxColour& fore);
+
+ /**
+ Retrieve the foreground hover colour of an indicator.
+ */
+ wxColour IndicatorGetHoverForeground(int indic) const;
+
+ /**
+ Set the attributes of an indicator.
+ */
+ void IndicatorSetFlags(int indic, int flags);
+
+ /**
+ Retrieve the attributes of an indicator.
+ */
+ int IndicatorGetFlags(int indic) const;
+
/**
Set the foreground colour of all whitespace and whether to use this setting.
*/
@@ -3869,6 +4030,16 @@ public:
*/
int GetTargetEnd() const;
+ /**
+ Sets both the start and end of the target in one call.
+ */
+ void SetTargetRange(int start, int end);
+
+ /**
+ Retrieve the text in the target.
+ */
+ wxString GetTargetText() const;
+
/**
Replace the target text with the argument text.
Text is counted so it can contain NULs.
@@ -4237,7 +4408,7 @@ public:
void AppendText(const wxString& text);
/**
- Is drawing done in two phases with backgrounds drawn before faoregrounds?
+ Is drawing done in two phases with backgrounds drawn before foregrounds?
*/
bool GetTwoPhaseDraw() const;
@@ -4247,6 +4418,19 @@ public:
*/
void SetTwoPhaseDraw(bool twoPhase);
+ /**
+ How many phases is drawing done in?
+ */
+ int GetPhasesDraw() const;
+
+ /**
+ In one phase draw, text is drawn in a series of rectangular blocks with no overlap.
+ In two phase draw, text is drawn in a series of lines allowing runs to overlap horizontally.
+ In multiple phase draw, each element is drawn over the whole drawing area, allowing text
+ to overlap from one line to the next.
+ */
+ void SetPhasesDraw(int phases);
+
/**
Scroll so that a display line is at the top of the display.
*/
@@ -4264,6 +4448,7 @@ public:
/**
Retrieve the value of a tag from a regular expression search.
+ Result is NUL-terminated.
*/
wxString GetTag(int tagNumber) const;
@@ -5073,6 +5258,16 @@ public:
*/
int AutoCompGetCaseInsensitiveBehaviour() const;
+ /**
+ Change the effect of autocompleting when there are multiple selections.
+ */
+ void AutoCompSetMulti(int multi);
+
+ /**
+ Retrieve the effect of autocompleting when there are multiple selections..
+ */
+ int AutoCompGetMulti() const;
+
/**
Set the way autocompletion lists are ordered.
*/
@@ -5228,16 +5423,6 @@ public:
*/
int GetGapPosition() const;
- /**
- Always interpret keyboard input as Unicode
- */
- void SetKeysUnicode(bool keysUnicode);
-
- /**
- Are keys always interpreted as Unicode?
- */
- bool GetKeysUnicode() const;
-
/**
Set the alpha fill colour of the given indicator.
*/
@@ -5734,6 +5919,7 @@ public:
/**
Set the way a character is drawn.
+ Result is NUL-terminated.
*/
wxString GetRepresentation(const wxString& encodedCharacter) const;
@@ -5811,6 +5997,7 @@ public:
/**
Retrieve a '\n' separated list of properties understood by the current lexer.
+ Result is NUL-terminated.
*/
wxString PropertyNames() const;
@@ -5821,11 +6008,13 @@ public:
/**
Describe a property.
+ Result is NUL-terminated.
*/
wxString DescribeProperty(const wxString& name) const;
/**
Retrieve a '\n' separated list of descriptions of the keyword sets understood by the current lexer.
+ Result is NUL-terminated.
*/
wxString DescribeKeyWordSets() const;
@@ -5878,6 +6067,7 @@ public:
/**
Get the set of base styles that can be extended with sub styles
+ Result is NUL-terminated.
*/
wxString GetSubStyleBases() const;
diff --git a/src/stc/PlatWX.cpp b/src/stc/PlatWX.cpp
index 98cde26a90..dbd2397134 100644
--- a/src/stc/PlatWX.cpp
+++ b/src/stc/PlatWX.cpp
@@ -1643,10 +1643,11 @@ wxWX2MBbuf wx2stc(const wxString& str)
size_t wclen = str.length();
size_t len = UTF8Length(wcstr, wclen);
- wxCharBuffer buffer(len+1);
- UTF8FromUTF16(wcstr, wclen, buffer.data(), len);
-
- // TODO check NULL termination!!
+ // The buffer object adds extra byte for the terminating NUL and we must
+ // pass the total length, including this NUL, to UTF8FromUTF16() to ensure
+ // that it NULL-terminates the string.
+ wxCharBuffer buffer(len);
+ UTF8FromUTF16(wcstr, wclen, buffer.data(), len + 1);
return buffer;
}
diff --git a/src/stc/ScintillaWX.cpp b/src/stc/ScintillaWX.cpp
index a22707ce58..a6c7d01aef 100644
--- a/src/stc/ScintillaWX.cpp
+++ b/src/stc/ScintillaWX.cpp
@@ -545,7 +545,7 @@ void ScintillaWX::Paste() {
}
else
{
- InsertPaste(selStart, buf, len);
+ InsertPaste(buf, len);
}
}
#endif // wxUSE_DATAOBJ
diff --git a/src/stc/ScintillaWX.h b/src/stc/ScintillaWX.h
index 54f4bb0217..003cc0696c 100644
--- a/src/stc/ScintillaWX.h
+++ b/src/stc/ScintillaWX.h
@@ -26,6 +26,7 @@
#include
#include