From a33203cb9f52a07df4d9c375c33d6cf3103cba7a Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Fri, 11 Feb 2005 22:53:19 +0000 Subject: [PATCH] Updated to Scintilla 1.62 git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31938 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- contrib/build/stc/makefile.bcc | 59 ++- contrib/build/stc/makefile.gcc | 69 ++- contrib/build/stc/makefile.vc | 59 ++- contrib/build/stc/makefile.wat | 88 ++-- contrib/build/stc/stc.bkl | 6 +- contrib/build/stc/stc.dsp | 152 +++--- contrib/include/wx/stc/stc.h | 49 +- contrib/src/stc/Makefile.in | 332 ++++++------ contrib/src/stc/ScintillaWX.cpp | 3 +- contrib/src/stc/gen_iface.py | 5 + contrib/src/stc/scintilla/README.txt | 2 +- contrib/src/stc/scintilla/include/Platform.h | 2 +- contrib/src/stc/scintilla/include/PropSet.h | 6 +- contrib/src/stc/scintilla/include/SciLexer.h | 41 +- contrib/src/stc/scintilla/include/Scintilla.h | 4 + .../src/stc/scintilla/include/Scintilla.iface | 63 ++- contrib/src/stc/scintilla/src/CallTip.cxx | 4 +- contrib/src/stc/scintilla/src/CallTip.h | 3 +- contrib/src/stc/scintilla/src/CellBuffer.cxx | 21 +- contrib/src/stc/scintilla/src/CellBuffer.h | 4 +- contrib/src/stc/scintilla/src/Document.cxx | 82 ++- contrib/src/stc/scintilla/src/Document.h | 1 + contrib/src/stc/scintilla/src/Editor.cxx | 45 +- contrib/src/stc/scintilla/src/Editor.h | 4 +- contrib/src/stc/scintilla/src/KeyWords.cxx | 2 + contrib/src/stc/scintilla/src/LexAPDL.cxx | 252 ++++------ contrib/src/stc/scintilla/src/LexAU3.cxx | 325 ++++++++++-- contrib/src/stc/scintilla/src/LexAda.cxx | 20 +- contrib/src/stc/scintilla/src/LexAsn1.cxx | 181 +++++++ contrib/src/stc/scintilla/src/LexCPP.cxx | 9 +- contrib/src/stc/scintilla/src/LexCSS.cxx | 38 +- contrib/src/stc/scintilla/src/LexHTML.cxx | 9 +- contrib/src/stc/scintilla/src/LexLisp.cxx | 22 +- contrib/src/stc/scintilla/src/LexLua.cxx | 2 +- contrib/src/stc/scintilla/src/LexOthers.cxx | 48 +- contrib/src/stc/scintilla/src/LexPB.cxx | 160 ++++-- contrib/src/stc/scintilla/src/LexPython.cxx | 3 +- contrib/src/stc/scintilla/src/LexVHDL.cxx | 473 ++++++++++++++++++ contrib/src/stc/scintilla/src/PropSet.cxx | 231 +++++---- .../src/stc/scintilla/src/ScintillaBase.cxx | 15 +- .../src/stc/scintilla/src/UniConversion.cxx | 2 +- contrib/src/stc/stc.cpp | 6 + include/wx/stc/stc.h | 49 +- src/stc/Makefile.in | 332 ++++++------ src/stc/ScintillaWX.cpp | 3 +- src/stc/gen_iface.py | 5 + src/stc/scintilla/README.txt | 2 +- src/stc/scintilla/include/Platform.h | 2 +- src/stc/scintilla/include/PropSet.h | 6 +- src/stc/scintilla/include/SciLexer.h | 41 +- src/stc/scintilla/include/Scintilla.h | 4 + src/stc/scintilla/include/Scintilla.iface | 63 ++- src/stc/scintilla/src/CallTip.cxx | 4 +- src/stc/scintilla/src/CallTip.h | 3 +- src/stc/scintilla/src/CellBuffer.cxx | 21 +- src/stc/scintilla/src/CellBuffer.h | 4 +- src/stc/scintilla/src/Document.cxx | 82 ++- src/stc/scintilla/src/Document.h | 1 + src/stc/scintilla/src/Editor.cxx | 45 +- src/stc/scintilla/src/Editor.h | 4 +- src/stc/scintilla/src/KeyWords.cxx | 2 + src/stc/scintilla/src/LexAPDL.cxx | 252 ++++------ src/stc/scintilla/src/LexAU3.cxx | 325 ++++++++++-- src/stc/scintilla/src/LexAda.cxx | 20 +- src/stc/scintilla/src/LexAsn1.cxx | 181 +++++++ src/stc/scintilla/src/LexCPP.cxx | 9 +- src/stc/scintilla/src/LexCSS.cxx | 38 +- src/stc/scintilla/src/LexHTML.cxx | 9 +- src/stc/scintilla/src/LexLisp.cxx | 22 +- src/stc/scintilla/src/LexLua.cxx | 2 +- src/stc/scintilla/src/LexOthers.cxx | 48 +- src/stc/scintilla/src/LexPB.cxx | 160 ++++-- src/stc/scintilla/src/LexPython.cxx | 3 +- src/stc/scintilla/src/LexVHDL.cxx | 473 ++++++++++++++++++ src/stc/scintilla/src/PropSet.cxx | 231 +++++---- src/stc/scintilla/src/ScintillaBase.cxx | 15 +- src/stc/scintilla/src/UniConversion.cxx | 2 +- src/stc/stc.cpp | 6 + 78 files changed, 4014 insertions(+), 1357 deletions(-) create mode 100644 contrib/src/stc/scintilla/src/LexAsn1.cxx create mode 100644 contrib/src/stc/scintilla/src/LexVHDL.cxx create mode 100644 src/stc/scintilla/src/LexAsn1.cxx create mode 100644 src/stc/scintilla/src/LexVHDL.cxx diff --git a/contrib/build/stc/makefile.bcc b/contrib/build/stc/makefile.bcc index f67cbace16..a42a13701f 100644 --- a/contrib/build/stc/makefile.bcc +++ b/contrib/build/stc/makefile.bcc @@ -1,6 +1,6 @@ # ========================================================================= # This makefile was generated by -# Bakefile 0.1.4 (http://bakefile.sourceforge.net) +# Bakefile 0.1.6 (http://bakefile.sourceforge.net) # Do not modify, all changes will be overwritten! # ========================================================================= @@ -22,9 +22,10 @@ BCCDIR = $(MAKEDIR)\.. ### Variables: ### WX_RELEASE_NODOT = 25 -WX_VERSION_NODOT = $(WX_RELEASE_NODOT)3 +WX_VERSION_NODOT = $(WX_RELEASE_NODOT)4 OBJS = \ bcc_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG) +LIBDIRNAME = ..\..\src\stc\..\..\..\lib\bcc_$(LIBTYPE_SUFFIX)$(CFG) SETUPHDIR = \ $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG) STCDLL_CXXFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include $(__DEBUGINFO) \ @@ -41,8 +42,8 @@ STCDLL_OBJECTS = \ $(OBJS)\stcdll_CallTip.obj \ $(OBJS)\stcdll_CellBuffer.obj \ $(OBJS)\stcdll_ContractionState.obj \ - $(OBJS)\stcdll_DocumentAccessor.obj \ $(OBJS)\stcdll_Document.obj \ + $(OBJS)\stcdll_DocumentAccessor.obj \ $(OBJS)\stcdll_Editor.obj \ $(OBJS)\stcdll_ExternalLexer.obj \ $(OBJS)\stcdll_Indicator.obj \ @@ -53,6 +54,7 @@ STCDLL_OBJECTS = \ $(OBJS)\stcdll_LexAVE.obj \ $(OBJS)\stcdll_LexAda.obj \ $(OBJS)\stcdll_LexAsm.obj \ + $(OBJS)\stcdll_LexAsn1.obj \ $(OBJS)\stcdll_LexBaan.obj \ $(OBJS)\stcdll_LexBash.obj \ $(OBJS)\stcdll_LexBullant.obj \ @@ -91,14 +93,15 @@ STCDLL_OBJECTS = \ $(OBJS)\stcdll_LexSpecman.obj \ $(OBJS)\stcdll_LexTeX.obj \ $(OBJS)\stcdll_LexVB.obj \ + $(OBJS)\stcdll_LexVHDL.obj \ $(OBJS)\stcdll_LexVerilog.obj \ $(OBJS)\stcdll_LexYAML.obj \ $(OBJS)\stcdll_LineMarker.obj \ $(OBJS)\stcdll_PropSet.obj \ $(OBJS)\stcdll_RESearch.obj \ $(OBJS)\stcdll_ScintillaBase.obj \ - $(OBJS)\stcdll_StyleContext.obj \ $(OBJS)\stcdll_Style.obj \ + $(OBJS)\stcdll_StyleContext.obj \ $(OBJS)\stcdll_UniConversion.obj \ $(OBJS)\stcdll_ViewStyle.obj \ $(OBJS)\stcdll_WindowAccessor.obj \ @@ -117,8 +120,8 @@ STCLIB_OBJECTS = \ $(OBJS)\stclib_CallTip.obj \ $(OBJS)\stclib_CellBuffer.obj \ $(OBJS)\stclib_ContractionState.obj \ - $(OBJS)\stclib_DocumentAccessor.obj \ $(OBJS)\stclib_Document.obj \ + $(OBJS)\stclib_DocumentAccessor.obj \ $(OBJS)\stclib_Editor.obj \ $(OBJS)\stclib_ExternalLexer.obj \ $(OBJS)\stclib_Indicator.obj \ @@ -129,6 +132,7 @@ STCLIB_OBJECTS = \ $(OBJS)\stclib_LexAVE.obj \ $(OBJS)\stclib_LexAda.obj \ $(OBJS)\stclib_LexAsm.obj \ + $(OBJS)\stclib_LexAsn1.obj \ $(OBJS)\stclib_LexBaan.obj \ $(OBJS)\stclib_LexBash.obj \ $(OBJS)\stclib_LexBullant.obj \ @@ -167,14 +171,15 @@ STCLIB_OBJECTS = \ $(OBJS)\stclib_LexSpecman.obj \ $(OBJS)\stclib_LexTeX.obj \ $(OBJS)\stclib_LexVB.obj \ + $(OBJS)\stclib_LexVHDL.obj \ $(OBJS)\stclib_LexVerilog.obj \ $(OBJS)\stclib_LexYAML.obj \ $(OBJS)\stclib_LineMarker.obj \ $(OBJS)\stclib_PropSet.obj \ $(OBJS)\stclib_RESearch.obj \ $(OBJS)\stclib_ScintillaBase.obj \ - $(OBJS)\stclib_StyleContext.obj \ $(OBJS)\stclib_Style.obj \ + $(OBJS)\stclib_StyleContext.obj \ $(OBJS)\stclib_UniConversion.obj \ $(OBJS)\stclib_ViewStyle.obj \ $(OBJS)\stclib_WindowAccessor.obj \ @@ -209,6 +214,12 @@ WXUNIVNAME = univ !if "$(SHARED)" == "1" WXDLLFLAG = dll !endif +!if "$(SHARED)" == "0" +LIBTYPE_SUFFIX = lib +!endif +!if "$(SHARED)" == "1" +LIBTYPE_SUFFIX = dll +!endif !if "$(MONOLITHIC)" == "0" EXTRALIBS_FOR_BASE = !endif @@ -289,12 +300,6 @@ __DEBUG_DEFINE_p = -D__WXDEBUG__ !if "$(UNICODE)" == "1" __UNICODE_DEFINE_p = -D_UNICODE !endif -!if "$(SHARED)" == "0" -LIBDIRNAME = ..\..\src\stc\..\..\..\lib\bcc_lib$(CFG) -!endif -!if "$(SHARED)" == "1" -LIBDIRNAME = ..\..\src\stc\..\..\..\lib\bcc_dll$(CFG) -!endif all: $(OBJS) @@ -308,6 +313,7 @@ all: $(__stcdll___depname) $(__stclib___depname) clean: -if exist $(OBJS)\*.obj del $(OBJS)\*.obj -if exist $(OBJS)\*.res del $(OBJS)\*.res + -if exist $(OBJS)\*.csm del $(OBJS)\*.csm -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_bcc$(VENDORTAG).dll del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_bcc$(VENDORTAG).dll -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_bcc$(VENDORTAG).tds del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_bcc$(VENDORTAG).tds -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_bcc$(VENDORTAG).ilc del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_bcc$(VENDORTAG).ilc @@ -354,10 +360,10 @@ $(OBJS)\stcdll_CellBuffer.obj: ../../src/stc\scintilla\src\CellBuffer.cxx $(OBJS)\stcdll_ContractionState.obj: ../../src/stc\scintilla\src\ContractionState.cxx $(CXX) -q -c -P -o$@ $(STCDLL_CXXFLAGS) $** -$(OBJS)\stcdll_DocumentAccessor.obj: ../../src/stc\scintilla\src\DocumentAccessor.cxx +$(OBJS)\stcdll_Document.obj: ../../src/stc\scintilla\src\Document.cxx $(CXX) -q -c -P -o$@ $(STCDLL_CXXFLAGS) $** -$(OBJS)\stcdll_Document.obj: ../../src/stc\scintilla\src\Document.cxx +$(OBJS)\stcdll_DocumentAccessor.obj: ../../src/stc\scintilla\src\DocumentAccessor.cxx $(CXX) -q -c -P -o$@ $(STCDLL_CXXFLAGS) $** $(OBJS)\stcdll_Editor.obj: ../../src/stc\scintilla\src\Editor.cxx @@ -390,6 +396,9 @@ $(OBJS)\stcdll_LexAda.obj: ../../src/stc\scintilla\src\LexAda.cxx $(OBJS)\stcdll_LexAsm.obj: ../../src/stc\scintilla\src\LexAsm.cxx $(CXX) -q -c -P -o$@ $(STCDLL_CXXFLAGS) $** +$(OBJS)\stcdll_LexAsn1.obj: ../../src/stc\scintilla\src\LexAsn1.cxx + $(CXX) -q -c -P -o$@ $(STCDLL_CXXFLAGS) $** + $(OBJS)\stcdll_LexBaan.obj: ../../src/stc\scintilla\src\LexBaan.cxx $(CXX) -q -c -P -o$@ $(STCDLL_CXXFLAGS) $** @@ -504,6 +513,9 @@ $(OBJS)\stcdll_LexTeX.obj: ../../src/stc\scintilla\src\LexTeX.cxx $(OBJS)\stcdll_LexVB.obj: ../../src/stc\scintilla\src\LexVB.cxx $(CXX) -q -c -P -o$@ $(STCDLL_CXXFLAGS) $** +$(OBJS)\stcdll_LexVHDL.obj: ../../src/stc\scintilla\src\LexVHDL.cxx + $(CXX) -q -c -P -o$@ $(STCDLL_CXXFLAGS) $** + $(OBJS)\stcdll_LexVerilog.obj: ../../src/stc\scintilla\src\LexVerilog.cxx $(CXX) -q -c -P -o$@ $(STCDLL_CXXFLAGS) $** @@ -522,10 +534,10 @@ $(OBJS)\stcdll_RESearch.obj: ../../src/stc\scintilla\src\RESearch.cxx $(OBJS)\stcdll_ScintillaBase.obj: ../../src/stc\scintilla\src\ScintillaBase.cxx $(CXX) -q -c -P -o$@ $(STCDLL_CXXFLAGS) $** -$(OBJS)\stcdll_StyleContext.obj: ../../src/stc\scintilla\src\StyleContext.cxx +$(OBJS)\stcdll_Style.obj: ../../src/stc\scintilla\src\Style.cxx $(CXX) -q -c -P -o$@ $(STCDLL_CXXFLAGS) $** -$(OBJS)\stcdll_Style.obj: ../../src/stc\scintilla\src\Style.cxx +$(OBJS)\stcdll_StyleContext.obj: ../../src/stc\scintilla\src\StyleContext.cxx $(CXX) -q -c -P -o$@ $(STCDLL_CXXFLAGS) $** $(OBJS)\stcdll_UniConversion.obj: ../../src/stc\scintilla\src\UniConversion.cxx @@ -561,10 +573,10 @@ $(OBJS)\stclib_CellBuffer.obj: ../../src/stc\scintilla\src\CellBuffer.cxx $(OBJS)\stclib_ContractionState.obj: ../../src/stc\scintilla\src\ContractionState.cxx $(CXX) -q -c -P -o$@ $(STCLIB_CXXFLAGS) $** -$(OBJS)\stclib_DocumentAccessor.obj: ../../src/stc\scintilla\src\DocumentAccessor.cxx +$(OBJS)\stclib_Document.obj: ../../src/stc\scintilla\src\Document.cxx $(CXX) -q -c -P -o$@ $(STCLIB_CXXFLAGS) $** -$(OBJS)\stclib_Document.obj: ../../src/stc\scintilla\src\Document.cxx +$(OBJS)\stclib_DocumentAccessor.obj: ../../src/stc\scintilla\src\DocumentAccessor.cxx $(CXX) -q -c -P -o$@ $(STCLIB_CXXFLAGS) $** $(OBJS)\stclib_Editor.obj: ../../src/stc\scintilla\src\Editor.cxx @@ -597,6 +609,9 @@ $(OBJS)\stclib_LexAda.obj: ../../src/stc\scintilla\src\LexAda.cxx $(OBJS)\stclib_LexAsm.obj: ../../src/stc\scintilla\src\LexAsm.cxx $(CXX) -q -c -P -o$@ $(STCLIB_CXXFLAGS) $** +$(OBJS)\stclib_LexAsn1.obj: ../../src/stc\scintilla\src\LexAsn1.cxx + $(CXX) -q -c -P -o$@ $(STCLIB_CXXFLAGS) $** + $(OBJS)\stclib_LexBaan.obj: ../../src/stc\scintilla\src\LexBaan.cxx $(CXX) -q -c -P -o$@ $(STCLIB_CXXFLAGS) $** @@ -711,6 +726,9 @@ $(OBJS)\stclib_LexTeX.obj: ../../src/stc\scintilla\src\LexTeX.cxx $(OBJS)\stclib_LexVB.obj: ../../src/stc\scintilla\src\LexVB.cxx $(CXX) -q -c -P -o$@ $(STCLIB_CXXFLAGS) $** +$(OBJS)\stclib_LexVHDL.obj: ../../src/stc\scintilla\src\LexVHDL.cxx + $(CXX) -q -c -P -o$@ $(STCLIB_CXXFLAGS) $** + $(OBJS)\stclib_LexVerilog.obj: ../../src/stc\scintilla\src\LexVerilog.cxx $(CXX) -q -c -P -o$@ $(STCLIB_CXXFLAGS) $** @@ -729,10 +747,10 @@ $(OBJS)\stclib_RESearch.obj: ../../src/stc\scintilla\src\RESearch.cxx $(OBJS)\stclib_ScintillaBase.obj: ../../src/stc\scintilla\src\ScintillaBase.cxx $(CXX) -q -c -P -o$@ $(STCLIB_CXXFLAGS) $** -$(OBJS)\stclib_StyleContext.obj: ../../src/stc\scintilla\src\StyleContext.cxx +$(OBJS)\stclib_Style.obj: ../../src/stc\scintilla\src\Style.cxx $(CXX) -q -c -P -o$@ $(STCLIB_CXXFLAGS) $** -$(OBJS)\stclib_Style.obj: ../../src/stc\scintilla\src\Style.cxx +$(OBJS)\stclib_StyleContext.obj: ../../src/stc\scintilla\src\StyleContext.cxx $(CXX) -q -c -P -o$@ $(STCLIB_CXXFLAGS) $** $(OBJS)\stclib_UniConversion.obj: ../../src/stc\scintilla\src\UniConversion.cxx @@ -746,3 +764,4 @@ $(OBJS)\stclib_WindowAccessor.obj: ../../src/stc\scintilla\src\WindowAccessor.cx $(OBJS)\stclib_XPM.obj: ../../src/stc\scintilla\src\XPM.cxx $(CXX) -q -c -P -o$@ $(STCLIB_CXXFLAGS) $** + diff --git a/contrib/build/stc/makefile.gcc b/contrib/build/stc/makefile.gcc index 8e54bac89d..a2cb5d0844 100644 --- a/contrib/build/stc/makefile.gcc +++ b/contrib/build/stc/makefile.gcc @@ -1,6 +1,6 @@ # ========================================================================= # This makefile was generated by -# Bakefile 0.1.4 (http://bakefile.sourceforge.net) +# Bakefile 0.1.6 (http://bakefile.sourceforge.net) # Do not modify, all changes will be overwritten! # ========================================================================= @@ -13,18 +13,19 @@ include ../../../build/msw/config.gcc ### Variables: ### WX_RELEASE_NODOT = 25 -WX_VERSION_NODOT = $(WX_RELEASE_NODOT)3 +WX_VERSION_NODOT = $(WX_RELEASE_NODOT)4 OBJS = \ gcc_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG) +LIBDIRNAME = ..\..\src\stc\..\..\..\lib\gcc_$(LIBTYPE_SUFFIX)$(CFG) SETUPHDIR = \ $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG) STCDLL_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(GCCFLAGS) -DHAVE_W32API_H \ -D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__UNICODE_DEFINE_p) \ - -I..\..\src\stc\..\..\..\include -I$(SETUPHDIR) -Wall \ + -I..\..\src\stc\..\..\..\include -I$(SETUPHDIR) -W -Wall \ -I..\..\src\stc\..\..\include -I..\..\src\stc\scintilla\include \ -I..\..\src\stc\scintilla\src -D__WX__ -DSCI_LEXER -DLINK_LEXERS \ -DWXUSINGDLL -DWXMAKINGDLL_STC $(__EXCEPTIONSFLAG) $(__EXCEPTIONSFLAG_0) \ - $(CPPFLAGS) $(CXXFLAGS) + -Wno-ctor-dtor-privacy $(CPPFLAGS) $(CXXFLAGS) STCDLL_OBJECTS = \ $(OBJS)\stcdll_PlatWX.o \ $(OBJS)\stcdll_ScintillaWX.o \ @@ -33,8 +34,8 @@ STCDLL_OBJECTS = \ $(OBJS)\stcdll_CallTip.o \ $(OBJS)\stcdll_CellBuffer.o \ $(OBJS)\stcdll_ContractionState.o \ - $(OBJS)\stcdll_DocumentAccessor.o \ $(OBJS)\stcdll_Document.o \ + $(OBJS)\stcdll_DocumentAccessor.o \ $(OBJS)\stcdll_Editor.o \ $(OBJS)\stcdll_ExternalLexer.o \ $(OBJS)\stcdll_Indicator.o \ @@ -45,6 +46,7 @@ STCDLL_OBJECTS = \ $(OBJS)\stcdll_LexAVE.o \ $(OBJS)\stcdll_LexAda.o \ $(OBJS)\stcdll_LexAsm.o \ + $(OBJS)\stcdll_LexAsn1.o \ $(OBJS)\stcdll_LexBaan.o \ $(OBJS)\stcdll_LexBash.o \ $(OBJS)\stcdll_LexBullant.o \ @@ -83,24 +85,26 @@ STCDLL_OBJECTS = \ $(OBJS)\stcdll_LexSpecman.o \ $(OBJS)\stcdll_LexTeX.o \ $(OBJS)\stcdll_LexVB.o \ + $(OBJS)\stcdll_LexVHDL.o \ $(OBJS)\stcdll_LexVerilog.o \ $(OBJS)\stcdll_LexYAML.o \ $(OBJS)\stcdll_LineMarker.o \ $(OBJS)\stcdll_PropSet.o \ $(OBJS)\stcdll_RESearch.o \ $(OBJS)\stcdll_ScintillaBase.o \ - $(OBJS)\stcdll_StyleContext.o \ $(OBJS)\stcdll_Style.o \ + $(OBJS)\stcdll_StyleContext.o \ $(OBJS)\stcdll_UniConversion.o \ $(OBJS)\stcdll_ViewStyle.o \ $(OBJS)\stcdll_WindowAccessor.o \ $(OBJS)\stcdll_XPM.o STCLIB_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(GCCFLAGS) -DHAVE_W32API_H \ -D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__UNICODE_DEFINE_p) \ - -I..\..\src\stc\..\..\..\include -I$(SETUPHDIR) -Wall \ + -I..\..\src\stc\..\..\..\include -I$(SETUPHDIR) -W -Wall \ -I..\..\src\stc\..\..\include -I..\..\src\stc\scintilla\include \ -I..\..\src\stc\scintilla\src -D__WX__ -DSCI_LEXER -DLINK_LEXERS \ - $(__EXCEPTIONSFLAG) $(__EXCEPTIONSFLAG_0) $(CPPFLAGS) $(CXXFLAGS) + $(__EXCEPTIONSFLAG) $(__EXCEPTIONSFLAG_0) -Wno-ctor-dtor-privacy \ + $(CPPFLAGS) $(CXXFLAGS) STCLIB_OBJECTS = \ $(OBJS)\stclib_PlatWX.o \ $(OBJS)\stclib_ScintillaWX.o \ @@ -109,8 +113,8 @@ STCLIB_OBJECTS = \ $(OBJS)\stclib_CallTip.o \ $(OBJS)\stclib_CellBuffer.o \ $(OBJS)\stclib_ContractionState.o \ - $(OBJS)\stclib_DocumentAccessor.o \ $(OBJS)\stclib_Document.o \ + $(OBJS)\stclib_DocumentAccessor.o \ $(OBJS)\stclib_Editor.o \ $(OBJS)\stclib_ExternalLexer.o \ $(OBJS)\stclib_Indicator.o \ @@ -121,6 +125,7 @@ STCLIB_OBJECTS = \ $(OBJS)\stclib_LexAVE.o \ $(OBJS)\stclib_LexAda.o \ $(OBJS)\stclib_LexAsm.o \ + $(OBJS)\stclib_LexAsn1.o \ $(OBJS)\stclib_LexBaan.o \ $(OBJS)\stclib_LexBash.o \ $(OBJS)\stclib_LexBullant.o \ @@ -159,14 +164,15 @@ STCLIB_OBJECTS = \ $(OBJS)\stclib_LexSpecman.o \ $(OBJS)\stclib_LexTeX.o \ $(OBJS)\stclib_LexVB.o \ + $(OBJS)\stclib_LexVHDL.o \ $(OBJS)\stclib_LexVerilog.o \ $(OBJS)\stclib_LexYAML.o \ $(OBJS)\stclib_LineMarker.o \ $(OBJS)\stclib_PropSet.o \ $(OBJS)\stclib_RESearch.o \ $(OBJS)\stclib_ScintillaBase.o \ - $(OBJS)\stclib_StyleContext.o \ $(OBJS)\stclib_Style.o \ + $(OBJS)\stclib_StyleContext.o \ $(OBJS)\stclib_UniConversion.o \ $(OBJS)\stclib_ViewStyle.o \ $(OBJS)\stclib_WindowAccessor.o \ @@ -206,6 +212,12 @@ endif ifeq ($(SHARED),1) WXDLLFLAG = dll endif +ifeq ($(SHARED),0) +LIBTYPE_SUFFIX = lib +endif +ifeq ($(SHARED),1) +LIBTYPE_SUFFIX = dll +endif ifeq ($(MONOLITHIC),0) EXTRALIBS_FOR_BASE = endif @@ -292,12 +304,6 @@ endif ifeq ($(UNICODE),1) __UNICODE_DEFINE_p = -D_UNICODE endif -ifeq ($(SHARED),0) -LIBDIRNAME = ..\..\src\stc\..\..\..\lib\gcc_lib$(CFG) -endif -ifeq ($(SHARED),1) -LIBDIRNAME = ..\..\src\stc\..\..\..\lib\gcc_dll$(CFG) -endif all: $(OBJS) @@ -316,7 +322,7 @@ clean: ifeq ($(SHARED),1) $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_gcc$(VENDORTAG).dll: $(STCDLL_OBJECTS) - $(CXX) -shared -o $@ $(STCDLL_OBJECTS) $(LDFLAGS) $(__DEBUGINFO) -mthreads -L$(LIBDIRNAME) -Wl,--out-implib,$(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc.a $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) -lwxzlib$(WXDEBUGFLAG) -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lodbc32 $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) + $(CXX) -shared -fPIC -o $@ $(STCDLL_OBJECTS) $(LDFLAGS) $(__DEBUGINFO) -mthreads -L$(LIBDIRNAME) -Wl,--out-implib,$(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc.a $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) -lwxzlib$(WXDEBUGFLAG) -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lodbc32 $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) endif ifeq ($(SHARED),0) @@ -347,10 +353,10 @@ $(OBJS)\stcdll_CellBuffer.o: ../../src/stc/scintilla/src/CellBuffer.cxx $(OBJS)\stcdll_ContractionState.o: ../../src/stc/scintilla/src/ContractionState.cxx $(CXX) -c -o $@ $(STCDLL_CXXFLAGS) $< -$(OBJS)\stcdll_DocumentAccessor.o: ../../src/stc/scintilla/src/DocumentAccessor.cxx +$(OBJS)\stcdll_Document.o: ../../src/stc/scintilla/src/Document.cxx $(CXX) -c -o $@ $(STCDLL_CXXFLAGS) $< -$(OBJS)\stcdll_Document.o: ../../src/stc/scintilla/src/Document.cxx +$(OBJS)\stcdll_DocumentAccessor.o: ../../src/stc/scintilla/src/DocumentAccessor.cxx $(CXX) -c -o $@ $(STCDLL_CXXFLAGS) $< $(OBJS)\stcdll_Editor.o: ../../src/stc/scintilla/src/Editor.cxx @@ -383,6 +389,9 @@ $(OBJS)\stcdll_LexAda.o: ../../src/stc/scintilla/src/LexAda.cxx $(OBJS)\stcdll_LexAsm.o: ../../src/stc/scintilla/src/LexAsm.cxx $(CXX) -c -o $@ $(STCDLL_CXXFLAGS) $< +$(OBJS)\stcdll_LexAsn1.o: ../../src/stc/scintilla/src/LexAsn1.cxx + $(CXX) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(OBJS)\stcdll_LexBaan.o: ../../src/stc/scintilla/src/LexBaan.cxx $(CXX) -c -o $@ $(STCDLL_CXXFLAGS) $< @@ -497,6 +506,9 @@ $(OBJS)\stcdll_LexTeX.o: ../../src/stc/scintilla/src/LexTeX.cxx $(OBJS)\stcdll_LexVB.o: ../../src/stc/scintilla/src/LexVB.cxx $(CXX) -c -o $@ $(STCDLL_CXXFLAGS) $< +$(OBJS)\stcdll_LexVHDL.o: ../../src/stc/scintilla/src/LexVHDL.cxx + $(CXX) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(OBJS)\stcdll_LexVerilog.o: ../../src/stc/scintilla/src/LexVerilog.cxx $(CXX) -c -o $@ $(STCDLL_CXXFLAGS) $< @@ -515,10 +527,10 @@ $(OBJS)\stcdll_RESearch.o: ../../src/stc/scintilla/src/RESearch.cxx $(OBJS)\stcdll_ScintillaBase.o: ../../src/stc/scintilla/src/ScintillaBase.cxx $(CXX) -c -o $@ $(STCDLL_CXXFLAGS) $< -$(OBJS)\stcdll_StyleContext.o: ../../src/stc/scintilla/src/StyleContext.cxx +$(OBJS)\stcdll_Style.o: ../../src/stc/scintilla/src/Style.cxx $(CXX) -c -o $@ $(STCDLL_CXXFLAGS) $< -$(OBJS)\stcdll_Style.o: ../../src/stc/scintilla/src/Style.cxx +$(OBJS)\stcdll_StyleContext.o: ../../src/stc/scintilla/src/StyleContext.cxx $(CXX) -c -o $@ $(STCDLL_CXXFLAGS) $< $(OBJS)\stcdll_UniConversion.o: ../../src/stc/scintilla/src/UniConversion.cxx @@ -554,10 +566,10 @@ $(OBJS)\stclib_CellBuffer.o: ../../src/stc/scintilla/src/CellBuffer.cxx $(OBJS)\stclib_ContractionState.o: ../../src/stc/scintilla/src/ContractionState.cxx $(CXX) -c -o $@ $(STCLIB_CXXFLAGS) $< -$(OBJS)\stclib_DocumentAccessor.o: ../../src/stc/scintilla/src/DocumentAccessor.cxx +$(OBJS)\stclib_Document.o: ../../src/stc/scintilla/src/Document.cxx $(CXX) -c -o $@ $(STCLIB_CXXFLAGS) $< -$(OBJS)\stclib_Document.o: ../../src/stc/scintilla/src/Document.cxx +$(OBJS)\stclib_DocumentAccessor.o: ../../src/stc/scintilla/src/DocumentAccessor.cxx $(CXX) -c -o $@ $(STCLIB_CXXFLAGS) $< $(OBJS)\stclib_Editor.o: ../../src/stc/scintilla/src/Editor.cxx @@ -590,6 +602,9 @@ $(OBJS)\stclib_LexAda.o: ../../src/stc/scintilla/src/LexAda.cxx $(OBJS)\stclib_LexAsm.o: ../../src/stc/scintilla/src/LexAsm.cxx $(CXX) -c -o $@ $(STCLIB_CXXFLAGS) $< +$(OBJS)\stclib_LexAsn1.o: ../../src/stc/scintilla/src/LexAsn1.cxx + $(CXX) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(OBJS)\stclib_LexBaan.o: ../../src/stc/scintilla/src/LexBaan.cxx $(CXX) -c -o $@ $(STCLIB_CXXFLAGS) $< @@ -704,6 +719,9 @@ $(OBJS)\stclib_LexTeX.o: ../../src/stc/scintilla/src/LexTeX.cxx $(OBJS)\stclib_LexVB.o: ../../src/stc/scintilla/src/LexVB.cxx $(CXX) -c -o $@ $(STCLIB_CXXFLAGS) $< +$(OBJS)\stclib_LexVHDL.o: ../../src/stc/scintilla/src/LexVHDL.cxx + $(CXX) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(OBJS)\stclib_LexVerilog.o: ../../src/stc/scintilla/src/LexVerilog.cxx $(CXX) -c -o $@ $(STCLIB_CXXFLAGS) $< @@ -722,10 +740,10 @@ $(OBJS)\stclib_RESearch.o: ../../src/stc/scintilla/src/RESearch.cxx $(OBJS)\stclib_ScintillaBase.o: ../../src/stc/scintilla/src/ScintillaBase.cxx $(CXX) -c -o $@ $(STCLIB_CXXFLAGS) $< -$(OBJS)\stclib_StyleContext.o: ../../src/stc/scintilla/src/StyleContext.cxx +$(OBJS)\stclib_Style.o: ../../src/stc/scintilla/src/Style.cxx $(CXX) -c -o $@ $(STCLIB_CXXFLAGS) $< -$(OBJS)\stclib_Style.o: ../../src/stc/scintilla/src/Style.cxx +$(OBJS)\stclib_StyleContext.o: ../../src/stc/scintilla/src/StyleContext.cxx $(CXX) -c -o $@ $(STCLIB_CXXFLAGS) $< $(OBJS)\stclib_UniConversion.o: ../../src/stc/scintilla/src/UniConversion.cxx @@ -741,3 +759,4 @@ $(OBJS)\stclib_XPM.o: ../../src/stc/scintilla/src/XPM.cxx $(CXX) -c -o $@ $(STCLIB_CXXFLAGS) $< .PHONY: all clean + diff --git a/contrib/build/stc/makefile.vc b/contrib/build/stc/makefile.vc index b0b80ec39c..7a9413e271 100644 --- a/contrib/build/stc/makefile.vc +++ b/contrib/build/stc/makefile.vc @@ -1,6 +1,6 @@ # ========================================================================= # This makefile was generated by -# Bakefile 0.1.4 (http://bakefile.sourceforge.net) +# Bakefile 0.1.6 (http://bakefile.sourceforge.net) # Do not modify, all changes will be overwritten! # ========================================================================= @@ -13,9 +13,10 @@ ### Variables: ### WX_RELEASE_NODOT = 25 -WX_VERSION_NODOT = $(WX_RELEASE_NODOT)3 +WX_VERSION_NODOT = $(WX_RELEASE_NODOT)4 OBJS = \ vc_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG) +LIBDIRNAME = ..\..\src\stc\..\..\..\lib\vc_$(LIBTYPE_SUFFIX)$(CFG) SETUPHDIR = \ $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG) STCDLL_CXXFLAGS = /M$(__RUNTIME_LIBS)$(__DEBUGRUNTIME_4) /DWIN32 \ @@ -36,8 +37,8 @@ STCDLL_OBJECTS = \ $(OBJS)\stcdll_CallTip.obj \ $(OBJS)\stcdll_CellBuffer.obj \ $(OBJS)\stcdll_ContractionState.obj \ - $(OBJS)\stcdll_DocumentAccessor.obj \ $(OBJS)\stcdll_Document.obj \ + $(OBJS)\stcdll_DocumentAccessor.obj \ $(OBJS)\stcdll_Editor.obj \ $(OBJS)\stcdll_ExternalLexer.obj \ $(OBJS)\stcdll_Indicator.obj \ @@ -48,6 +49,7 @@ STCDLL_OBJECTS = \ $(OBJS)\stcdll_LexAVE.obj \ $(OBJS)\stcdll_LexAda.obj \ $(OBJS)\stcdll_LexAsm.obj \ + $(OBJS)\stcdll_LexAsn1.obj \ $(OBJS)\stcdll_LexBaan.obj \ $(OBJS)\stcdll_LexBash.obj \ $(OBJS)\stcdll_LexBullant.obj \ @@ -86,14 +88,15 @@ STCDLL_OBJECTS = \ $(OBJS)\stcdll_LexSpecman.obj \ $(OBJS)\stcdll_LexTeX.obj \ $(OBJS)\stcdll_LexVB.obj \ + $(OBJS)\stcdll_LexVHDL.obj \ $(OBJS)\stcdll_LexVerilog.obj \ $(OBJS)\stcdll_LexYAML.obj \ $(OBJS)\stcdll_LineMarker.obj \ $(OBJS)\stcdll_PropSet.obj \ $(OBJS)\stcdll_RESearch.obj \ $(OBJS)\stcdll_ScintillaBase.obj \ - $(OBJS)\stcdll_StyleContext.obj \ $(OBJS)\stcdll_Style.obj \ + $(OBJS)\stcdll_StyleContext.obj \ $(OBJS)\stcdll_UniConversion.obj \ $(OBJS)\stcdll_ViewStyle.obj \ $(OBJS)\stcdll_WindowAccessor.obj \ @@ -115,8 +118,8 @@ STCLIB_OBJECTS = \ $(OBJS)\stclib_CallTip.obj \ $(OBJS)\stclib_CellBuffer.obj \ $(OBJS)\stclib_ContractionState.obj \ - $(OBJS)\stclib_DocumentAccessor.obj \ $(OBJS)\stclib_Document.obj \ + $(OBJS)\stclib_DocumentAccessor.obj \ $(OBJS)\stclib_Editor.obj \ $(OBJS)\stclib_ExternalLexer.obj \ $(OBJS)\stclib_Indicator.obj \ @@ -127,6 +130,7 @@ STCLIB_OBJECTS = \ $(OBJS)\stclib_LexAVE.obj \ $(OBJS)\stclib_LexAda.obj \ $(OBJS)\stclib_LexAsm.obj \ + $(OBJS)\stclib_LexAsn1.obj \ $(OBJS)\stclib_LexBaan.obj \ $(OBJS)\stclib_LexBash.obj \ $(OBJS)\stclib_LexBullant.obj \ @@ -165,14 +169,15 @@ STCLIB_OBJECTS = \ $(OBJS)\stclib_LexSpecman.obj \ $(OBJS)\stclib_LexTeX.obj \ $(OBJS)\stclib_LexVB.obj \ + $(OBJS)\stclib_LexVHDL.obj \ $(OBJS)\stclib_LexVerilog.obj \ $(OBJS)\stclib_LexYAML.obj \ $(OBJS)\stclib_LineMarker.obj \ $(OBJS)\stclib_PropSet.obj \ $(OBJS)\stclib_RESearch.obj \ $(OBJS)\stclib_ScintillaBase.obj \ - $(OBJS)\stclib_StyleContext.obj \ $(OBJS)\stclib_Style.obj \ + $(OBJS)\stclib_StyleContext.obj \ $(OBJS)\stclib_UniConversion.obj \ $(OBJS)\stclib_ViewStyle.obj \ $(OBJS)\stclib_WindowAccessor.obj \ @@ -207,6 +212,12 @@ WXUNIVNAME = univ !if "$(SHARED)" == "1" WXDLLFLAG = dll !endif +!if "$(SHARED)" == "0" +LIBTYPE_SUFFIX = lib +!endif +!if "$(SHARED)" == "1" +LIBTYPE_SUFFIX = dll +!endif !if "$(MONOLITHIC)" == "0" EXTRALIBS_FOR_BASE = !endif @@ -371,12 +382,6 @@ __DEBUG_DEFINE_p = /D__WXDEBUG__ !if "$(UNICODE)" == "1" __UNICODE_DEFINE_p = /D_UNICODE !endif -!if "$(SHARED)" == "0" -LIBDIRNAME = ..\..\src\stc\..\..\..\lib\vc_lib$(CFG) -!endif -!if "$(SHARED)" == "1" -LIBDIRNAME = ..\..\src\stc\..\..\..\lib\vc_dll$(CFG) -!endif all: $(OBJS) @@ -390,6 +395,7 @@ all: $(__stcdll___depname) $(__stclib___depname) clean: -if exist $(OBJS)\*.obj del $(OBJS)\*.obj -if exist $(OBJS)\*.res del $(OBJS)\*.res + -if exist $(OBJS)\*.pch del $(OBJS)\*.pch -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_vc$(VENDORTAG).dll del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_vc$(VENDORTAG).dll -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_vc$(VENDORTAG).ilk del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_vc$(VENDORTAG).ilk -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_vc$(VENDORTAG).pdb del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_vc$(VENDORTAG).pdb @@ -432,10 +438,10 @@ $(OBJS)\stcdll_CellBuffer.obj: ../../src/stc\scintilla\src\CellBuffer.cxx $(OBJS)\stcdll_ContractionState.obj: ../../src/stc\scintilla\src\ContractionState.cxx $(CXX) /c /nologo /TP /Fo$@ $(STCDLL_CXXFLAGS) $** -$(OBJS)\stcdll_DocumentAccessor.obj: ../../src/stc\scintilla\src\DocumentAccessor.cxx +$(OBJS)\stcdll_Document.obj: ../../src/stc\scintilla\src\Document.cxx $(CXX) /c /nologo /TP /Fo$@ $(STCDLL_CXXFLAGS) $** -$(OBJS)\stcdll_Document.obj: ../../src/stc\scintilla\src\Document.cxx +$(OBJS)\stcdll_DocumentAccessor.obj: ../../src/stc\scintilla\src\DocumentAccessor.cxx $(CXX) /c /nologo /TP /Fo$@ $(STCDLL_CXXFLAGS) $** $(OBJS)\stcdll_Editor.obj: ../../src/stc\scintilla\src\Editor.cxx @@ -468,6 +474,9 @@ $(OBJS)\stcdll_LexAda.obj: ../../src/stc\scintilla\src\LexAda.cxx $(OBJS)\stcdll_LexAsm.obj: ../../src/stc\scintilla\src\LexAsm.cxx $(CXX) /c /nologo /TP /Fo$@ $(STCDLL_CXXFLAGS) $** +$(OBJS)\stcdll_LexAsn1.obj: ../../src/stc\scintilla\src\LexAsn1.cxx + $(CXX) /c /nologo /TP /Fo$@ $(STCDLL_CXXFLAGS) $** + $(OBJS)\stcdll_LexBaan.obj: ../../src/stc\scintilla\src\LexBaan.cxx $(CXX) /c /nologo /TP /Fo$@ $(STCDLL_CXXFLAGS) $** @@ -582,6 +591,9 @@ $(OBJS)\stcdll_LexTeX.obj: ../../src/stc\scintilla\src\LexTeX.cxx $(OBJS)\stcdll_LexVB.obj: ../../src/stc\scintilla\src\LexVB.cxx $(CXX) /c /nologo /TP /Fo$@ $(STCDLL_CXXFLAGS) $** +$(OBJS)\stcdll_LexVHDL.obj: ../../src/stc\scintilla\src\LexVHDL.cxx + $(CXX) /c /nologo /TP /Fo$@ $(STCDLL_CXXFLAGS) $** + $(OBJS)\stcdll_LexVerilog.obj: ../../src/stc\scintilla\src\LexVerilog.cxx $(CXX) /c /nologo /TP /Fo$@ $(STCDLL_CXXFLAGS) $** @@ -600,10 +612,10 @@ $(OBJS)\stcdll_RESearch.obj: ../../src/stc\scintilla\src\RESearch.cxx $(OBJS)\stcdll_ScintillaBase.obj: ../../src/stc\scintilla\src\ScintillaBase.cxx $(CXX) /c /nologo /TP /Fo$@ $(STCDLL_CXXFLAGS) $** -$(OBJS)\stcdll_StyleContext.obj: ../../src/stc\scintilla\src\StyleContext.cxx +$(OBJS)\stcdll_Style.obj: ../../src/stc\scintilla\src\Style.cxx $(CXX) /c /nologo /TP /Fo$@ $(STCDLL_CXXFLAGS) $** -$(OBJS)\stcdll_Style.obj: ../../src/stc\scintilla\src\Style.cxx +$(OBJS)\stcdll_StyleContext.obj: ../../src/stc\scintilla\src\StyleContext.cxx $(CXX) /c /nologo /TP /Fo$@ $(STCDLL_CXXFLAGS) $** $(OBJS)\stcdll_UniConversion.obj: ../../src/stc\scintilla\src\UniConversion.cxx @@ -639,10 +651,10 @@ $(OBJS)\stclib_CellBuffer.obj: ../../src/stc\scintilla\src\CellBuffer.cxx $(OBJS)\stclib_ContractionState.obj: ../../src/stc\scintilla\src\ContractionState.cxx $(CXX) /c /nologo /TP /Fo$@ $(STCLIB_CXXFLAGS) $** -$(OBJS)\stclib_DocumentAccessor.obj: ../../src/stc\scintilla\src\DocumentAccessor.cxx +$(OBJS)\stclib_Document.obj: ../../src/stc\scintilla\src\Document.cxx $(CXX) /c /nologo /TP /Fo$@ $(STCLIB_CXXFLAGS) $** -$(OBJS)\stclib_Document.obj: ../../src/stc\scintilla\src\Document.cxx +$(OBJS)\stclib_DocumentAccessor.obj: ../../src/stc\scintilla\src\DocumentAccessor.cxx $(CXX) /c /nologo /TP /Fo$@ $(STCLIB_CXXFLAGS) $** $(OBJS)\stclib_Editor.obj: ../../src/stc\scintilla\src\Editor.cxx @@ -675,6 +687,9 @@ $(OBJS)\stclib_LexAda.obj: ../../src/stc\scintilla\src\LexAda.cxx $(OBJS)\stclib_LexAsm.obj: ../../src/stc\scintilla\src\LexAsm.cxx $(CXX) /c /nologo /TP /Fo$@ $(STCLIB_CXXFLAGS) $** +$(OBJS)\stclib_LexAsn1.obj: ../../src/stc\scintilla\src\LexAsn1.cxx + $(CXX) /c /nologo /TP /Fo$@ $(STCLIB_CXXFLAGS) $** + $(OBJS)\stclib_LexBaan.obj: ../../src/stc\scintilla\src\LexBaan.cxx $(CXX) /c /nologo /TP /Fo$@ $(STCLIB_CXXFLAGS) $** @@ -789,6 +804,9 @@ $(OBJS)\stclib_LexTeX.obj: ../../src/stc\scintilla\src\LexTeX.cxx $(OBJS)\stclib_LexVB.obj: ../../src/stc\scintilla\src\LexVB.cxx $(CXX) /c /nologo /TP /Fo$@ $(STCLIB_CXXFLAGS) $** +$(OBJS)\stclib_LexVHDL.obj: ../../src/stc\scintilla\src\LexVHDL.cxx + $(CXX) /c /nologo /TP /Fo$@ $(STCLIB_CXXFLAGS) $** + $(OBJS)\stclib_LexVerilog.obj: ../../src/stc\scintilla\src\LexVerilog.cxx $(CXX) /c /nologo /TP /Fo$@ $(STCLIB_CXXFLAGS) $** @@ -807,10 +825,10 @@ $(OBJS)\stclib_RESearch.obj: ../../src/stc\scintilla\src\RESearch.cxx $(OBJS)\stclib_ScintillaBase.obj: ../../src/stc\scintilla\src\ScintillaBase.cxx $(CXX) /c /nologo /TP /Fo$@ $(STCLIB_CXXFLAGS) $** -$(OBJS)\stclib_StyleContext.obj: ../../src/stc\scintilla\src\StyleContext.cxx +$(OBJS)\stclib_Style.obj: ../../src/stc\scintilla\src\Style.cxx $(CXX) /c /nologo /TP /Fo$@ $(STCLIB_CXXFLAGS) $** -$(OBJS)\stclib_Style.obj: ../../src/stc\scintilla\src\Style.cxx +$(OBJS)\stclib_StyleContext.obj: ../../src/stc\scintilla\src\StyleContext.cxx $(CXX) /c /nologo /TP /Fo$@ $(STCLIB_CXXFLAGS) $** $(OBJS)\stclib_UniConversion.obj: ../../src/stc\scintilla\src\UniConversion.cxx @@ -824,3 +842,4 @@ $(OBJS)\stclib_WindowAccessor.obj: ../../src/stc\scintilla\src\WindowAccessor.cx $(OBJS)\stclib_XPM.obj: ../../src/stc\scintilla\src\XPM.cxx $(CXX) /c /nologo /TP /Fo$@ $(STCLIB_CXXFLAGS) $** + diff --git a/contrib/build/stc/makefile.wat b/contrib/build/stc/makefile.wat index 2e04f74e33..0c78d51663 100644 --- a/contrib/build/stc/makefile.wat +++ b/contrib/build/stc/makefile.wat @@ -1,6 +1,6 @@ # ========================================================================= # This makefile was generated by -# Bakefile 0.1.4 (http://bakefile.sourceforge.net) +# Bakefile 0.1.6 (http://bakefile.sourceforge.net) # Do not modify, all changes will be overwritten! # ========================================================================= @@ -62,6 +62,13 @@ WXDLLFLAG = !ifeq SHARED 1 WXDLLFLAG = dll !endif +LIBTYPE_SUFFIX = +!ifeq SHARED 0 +LIBTYPE_SUFFIX = lib +!endif +!ifeq SHARED 1 +LIBTYPE_SUFFIX = dll +!endif EXTRALIBS_FOR_BASE = !ifeq MONOLITHIC 0 EXTRALIBS_FOR_BASE = @@ -159,7 +166,14 @@ __EXCEPTIONSFLAG = __EXCEPTIONSFLAG = !endif !ifeq USE_EXCEPTIONS 1 -__EXCEPTIONSFLAG = -xs +__EXCEPTIONSFLAG = -xr +!endif +__EXCEPTIONSFLAG_0 = +!ifeq USE_EXCEPTIONS 0 +__EXCEPTIONSFLAG_0 = +!endif +!ifeq USE_EXCEPTIONS 1 +__EXCEPTIONSFLAG_0 = -xs !endif __WXUNIV_DEFINE_p = !ifeq WXUNIV 1 @@ -178,28 +192,23 @@ __UNICODE_DEFINE_p = !ifeq UNICODE 1 __UNICODE_DEFINE_p = -d_UNICODE !endif -LIBDIRNAME = -!ifeq SHARED 0 -LIBDIRNAME = ..\..\src\stc\..\..\..\lib\wat_lib$(CFG) -!endif -!ifeq SHARED 1 -LIBDIRNAME = ..\..\src\stc\..\..\..\lib\wat_dll$(CFG) -!endif ### Variables: ### WX_RELEASE_NODOT = 25 -WX_VERSION_NODOT = $(WX_RELEASE_NODOT)3 +WX_VERSION_NODOT = $(WX_RELEASE_NODOT)4 OBJS = & wat_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG) +LIBDIRNAME = ..\..\src\stc\..\..\..\lib\wat_$(LIBTYPE_SUFFIX)$(CFG) SETUPHDIR = & $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG) STCDLL_CXXFLAGS = -bd $(__DEBUGINFO_1) $(__OPTIMIZEFLAG) -bm $(__RUNTIME_LIBS) & -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__UNICODE_DEFINE_p) & - -i=..\..\src\stc\..\..\..\include -i=$(SETUPHDIR) -wcd=549 -wcd=656 -wcd=657 & - -i=..\..\src\stc\..\..\include -i=..\..\src\stc\scintilla\include & - -i=..\..\src\stc\scintilla\src -d__WX__ -dSCI_LEXER -dLINK_LEXERS & - -dWXUSINGDLL -dWXMAKINGDLL_STC $(__EXCEPTIONSFLAG) $(CPPFLAGS) $(CXXFLAGS) + -i=..\..\src\stc\..\..\..\include -i=$(SETUPHDIR) -wx -wcd=549 -wcd=656 & + -wcd=657 -wcd=667 -i=..\..\src\stc\..\..\include & + -i=..\..\src\stc\scintilla\include -i=..\..\src\stc\scintilla\src -d__WX__ & + -dSCI_LEXER -dLINK_LEXERS -dWXUSINGDLL -dWXMAKINGDLL_STC $(__EXCEPTIONSFLAG) & + $(__EXCEPTIONSFLAG_0) $(CPPFLAGS) $(CXXFLAGS) STCDLL_OBJECTS = & $(OBJS)\stcdll_PlatWX.obj & $(OBJS)\stcdll_ScintillaWX.obj & @@ -208,8 +217,8 @@ STCDLL_OBJECTS = & $(OBJS)\stcdll_CallTip.obj & $(OBJS)\stcdll_CellBuffer.obj & $(OBJS)\stcdll_ContractionState.obj & - $(OBJS)\stcdll_DocumentAccessor.obj & $(OBJS)\stcdll_Document.obj & + $(OBJS)\stcdll_DocumentAccessor.obj & $(OBJS)\stcdll_Editor.obj & $(OBJS)\stcdll_ExternalLexer.obj & $(OBJS)\stcdll_Indicator.obj & @@ -220,6 +229,7 @@ STCDLL_OBJECTS = & $(OBJS)\stcdll_LexAVE.obj & $(OBJS)\stcdll_LexAda.obj & $(OBJS)\stcdll_LexAsm.obj & + $(OBJS)\stcdll_LexAsn1.obj & $(OBJS)\stcdll_LexBaan.obj & $(OBJS)\stcdll_LexBash.obj & $(OBJS)\stcdll_LexBullant.obj & @@ -258,24 +268,26 @@ STCDLL_OBJECTS = & $(OBJS)\stcdll_LexSpecman.obj & $(OBJS)\stcdll_LexTeX.obj & $(OBJS)\stcdll_LexVB.obj & + $(OBJS)\stcdll_LexVHDL.obj & $(OBJS)\stcdll_LexVerilog.obj & $(OBJS)\stcdll_LexYAML.obj & $(OBJS)\stcdll_LineMarker.obj & $(OBJS)\stcdll_PropSet.obj & $(OBJS)\stcdll_RESearch.obj & $(OBJS)\stcdll_ScintillaBase.obj & - $(OBJS)\stcdll_StyleContext.obj & $(OBJS)\stcdll_Style.obj & + $(OBJS)\stcdll_StyleContext.obj & $(OBJS)\stcdll_UniConversion.obj & $(OBJS)\stcdll_ViewStyle.obj & $(OBJS)\stcdll_WindowAccessor.obj & $(OBJS)\stcdll_XPM.obj STCLIB_CXXFLAGS = $(__DEBUGINFO_1) $(__OPTIMIZEFLAG) -bm $(__RUNTIME_LIBS) & -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__UNICODE_DEFINE_p) & - -i=..\..\src\stc\..\..\..\include -i=$(SETUPHDIR) -wcd=549 -wcd=656 -wcd=657 & - -i=..\..\src\stc\..\..\include -i=..\..\src\stc\scintilla\include & - -i=..\..\src\stc\scintilla\src -d__WX__ -dSCI_LEXER -dLINK_LEXERS & - $(__EXCEPTIONSFLAG) $(CPPFLAGS) $(CXXFLAGS) + -i=..\..\src\stc\..\..\..\include -i=$(SETUPHDIR) -wx -wcd=549 -wcd=656 & + -wcd=657 -wcd=667 -i=..\..\src\stc\..\..\include & + -i=..\..\src\stc\scintilla\include -i=..\..\src\stc\scintilla\src -d__WX__ & + -dSCI_LEXER -dLINK_LEXERS $(__EXCEPTIONSFLAG) $(__EXCEPTIONSFLAG_0) & + $(CPPFLAGS) $(CXXFLAGS) STCLIB_OBJECTS = & $(OBJS)\stclib_PlatWX.obj & $(OBJS)\stclib_ScintillaWX.obj & @@ -284,8 +296,8 @@ STCLIB_OBJECTS = & $(OBJS)\stclib_CallTip.obj & $(OBJS)\stclib_CellBuffer.obj & $(OBJS)\stclib_ContractionState.obj & - $(OBJS)\stclib_DocumentAccessor.obj & $(OBJS)\stclib_Document.obj & + $(OBJS)\stclib_DocumentAccessor.obj & $(OBJS)\stclib_Editor.obj & $(OBJS)\stclib_ExternalLexer.obj & $(OBJS)\stclib_Indicator.obj & @@ -296,6 +308,7 @@ STCLIB_OBJECTS = & $(OBJS)\stclib_LexAVE.obj & $(OBJS)\stclib_LexAda.obj & $(OBJS)\stclib_LexAsm.obj & + $(OBJS)\stclib_LexAsn1.obj & $(OBJS)\stclib_LexBaan.obj & $(OBJS)\stclib_LexBash.obj & $(OBJS)\stclib_LexBullant.obj & @@ -334,14 +347,15 @@ STCLIB_OBJECTS = & $(OBJS)\stclib_LexSpecman.obj & $(OBJS)\stclib_LexTeX.obj & $(OBJS)\stclib_LexVB.obj & + $(OBJS)\stclib_LexVHDL.obj & $(OBJS)\stclib_LexVerilog.obj & $(OBJS)\stclib_LexYAML.obj & $(OBJS)\stclib_LineMarker.obj & $(OBJS)\stclib_PropSet.obj & $(OBJS)\stclib_RESearch.obj & $(OBJS)\stclib_ScintillaBase.obj & - $(OBJS)\stclib_StyleContext.obj & $(OBJS)\stclib_Style.obj & + $(OBJS)\stclib_StyleContext.obj & $(OBJS)\stclib_UniConversion.obj & $(OBJS)\stclib_ViewStyle.obj & $(OBJS)\stclib_WindowAccessor.obj & @@ -361,6 +375,7 @@ clean : .SYMBOLIC -if exist $(OBJS)\*.res del $(OBJS)\*.res -if exist $(OBJS)\*.lbc del $(OBJS)\*.lbc -if exist $(OBJS)\*.ilk del $(OBJS)\*.ilk + -if exist $(OBJS)\*.pch del $(OBJS)\*.pch -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_wat$(VENDORTAG).dll del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_wat$(VENDORTAG).dll -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc.lib del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc.lib -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc.lib del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc.lib @@ -408,10 +423,10 @@ $(OBJS)\stcdll_CellBuffer.obj : .AUTODEPEND ../../src/stc\scintilla\src\CellBuf $(OBJS)\stcdll_ContractionState.obj : .AUTODEPEND ../../src/stc\scintilla\src\ContractionState.cxx $(CXX) -zq -fo=$^@ $(STCDLL_CXXFLAGS) $< -$(OBJS)\stcdll_DocumentAccessor.obj : .AUTODEPEND ../../src/stc\scintilla\src\DocumentAccessor.cxx +$(OBJS)\stcdll_Document.obj : .AUTODEPEND ../../src/stc\scintilla\src\Document.cxx $(CXX) -zq -fo=$^@ $(STCDLL_CXXFLAGS) $< -$(OBJS)\stcdll_Document.obj : .AUTODEPEND ../../src/stc\scintilla\src\Document.cxx +$(OBJS)\stcdll_DocumentAccessor.obj : .AUTODEPEND ../../src/stc\scintilla\src\DocumentAccessor.cxx $(CXX) -zq -fo=$^@ $(STCDLL_CXXFLAGS) $< $(OBJS)\stcdll_Editor.obj : .AUTODEPEND ../../src/stc\scintilla\src\Editor.cxx @@ -444,6 +459,9 @@ $(OBJS)\stcdll_LexAda.obj : .AUTODEPEND ../../src/stc\scintilla\src\LexAda.cxx $(OBJS)\stcdll_LexAsm.obj : .AUTODEPEND ../../src/stc\scintilla\src\LexAsm.cxx $(CXX) -zq -fo=$^@ $(STCDLL_CXXFLAGS) $< +$(OBJS)\stcdll_LexAsn1.obj : .AUTODEPEND ../../src/stc\scintilla\src\LexAsn1.cxx + $(CXX) -zq -fo=$^@ $(STCDLL_CXXFLAGS) $< + $(OBJS)\stcdll_LexBaan.obj : .AUTODEPEND ../../src/stc\scintilla\src\LexBaan.cxx $(CXX) -zq -fo=$^@ $(STCDLL_CXXFLAGS) $< @@ -558,6 +576,9 @@ $(OBJS)\stcdll_LexTeX.obj : .AUTODEPEND ../../src/stc\scintilla\src\LexTeX.cxx $(OBJS)\stcdll_LexVB.obj : .AUTODEPEND ../../src/stc\scintilla\src\LexVB.cxx $(CXX) -zq -fo=$^@ $(STCDLL_CXXFLAGS) $< +$(OBJS)\stcdll_LexVHDL.obj : .AUTODEPEND ../../src/stc\scintilla\src\LexVHDL.cxx + $(CXX) -zq -fo=$^@ $(STCDLL_CXXFLAGS) $< + $(OBJS)\stcdll_LexVerilog.obj : .AUTODEPEND ../../src/stc\scintilla\src\LexVerilog.cxx $(CXX) -zq -fo=$^@ $(STCDLL_CXXFLAGS) $< @@ -576,10 +597,10 @@ $(OBJS)\stcdll_RESearch.obj : .AUTODEPEND ../../src/stc\scintilla\src\RESearch. $(OBJS)\stcdll_ScintillaBase.obj : .AUTODEPEND ../../src/stc\scintilla\src\ScintillaBase.cxx $(CXX) -zq -fo=$^@ $(STCDLL_CXXFLAGS) $< -$(OBJS)\stcdll_StyleContext.obj : .AUTODEPEND ../../src/stc\scintilla\src\StyleContext.cxx +$(OBJS)\stcdll_Style.obj : .AUTODEPEND ../../src/stc\scintilla\src\Style.cxx $(CXX) -zq -fo=$^@ $(STCDLL_CXXFLAGS) $< -$(OBJS)\stcdll_Style.obj : .AUTODEPEND ../../src/stc\scintilla\src\Style.cxx +$(OBJS)\stcdll_StyleContext.obj : .AUTODEPEND ../../src/stc\scintilla\src\StyleContext.cxx $(CXX) -zq -fo=$^@ $(STCDLL_CXXFLAGS) $< $(OBJS)\stcdll_UniConversion.obj : .AUTODEPEND ../../src/stc\scintilla\src\UniConversion.cxx @@ -615,10 +636,10 @@ $(OBJS)\stclib_CellBuffer.obj : .AUTODEPEND ../../src/stc\scintilla\src\CellBuf $(OBJS)\stclib_ContractionState.obj : .AUTODEPEND ../../src/stc\scintilla\src\ContractionState.cxx $(CXX) -zq -fo=$^@ $(STCLIB_CXXFLAGS) $< -$(OBJS)\stclib_DocumentAccessor.obj : .AUTODEPEND ../../src/stc\scintilla\src\DocumentAccessor.cxx +$(OBJS)\stclib_Document.obj : .AUTODEPEND ../../src/stc\scintilla\src\Document.cxx $(CXX) -zq -fo=$^@ $(STCLIB_CXXFLAGS) $< -$(OBJS)\stclib_Document.obj : .AUTODEPEND ../../src/stc\scintilla\src\Document.cxx +$(OBJS)\stclib_DocumentAccessor.obj : .AUTODEPEND ../../src/stc\scintilla\src\DocumentAccessor.cxx $(CXX) -zq -fo=$^@ $(STCLIB_CXXFLAGS) $< $(OBJS)\stclib_Editor.obj : .AUTODEPEND ../../src/stc\scintilla\src\Editor.cxx @@ -651,6 +672,9 @@ $(OBJS)\stclib_LexAda.obj : .AUTODEPEND ../../src/stc\scintilla\src\LexAda.cxx $(OBJS)\stclib_LexAsm.obj : .AUTODEPEND ../../src/stc\scintilla\src\LexAsm.cxx $(CXX) -zq -fo=$^@ $(STCLIB_CXXFLAGS) $< +$(OBJS)\stclib_LexAsn1.obj : .AUTODEPEND ../../src/stc\scintilla\src\LexAsn1.cxx + $(CXX) -zq -fo=$^@ $(STCLIB_CXXFLAGS) $< + $(OBJS)\stclib_LexBaan.obj : .AUTODEPEND ../../src/stc\scintilla\src\LexBaan.cxx $(CXX) -zq -fo=$^@ $(STCLIB_CXXFLAGS) $< @@ -765,6 +789,9 @@ $(OBJS)\stclib_LexTeX.obj : .AUTODEPEND ../../src/stc\scintilla\src\LexTeX.cxx $(OBJS)\stclib_LexVB.obj : .AUTODEPEND ../../src/stc\scintilla\src\LexVB.cxx $(CXX) -zq -fo=$^@ $(STCLIB_CXXFLAGS) $< +$(OBJS)\stclib_LexVHDL.obj : .AUTODEPEND ../../src/stc\scintilla\src\LexVHDL.cxx + $(CXX) -zq -fo=$^@ $(STCLIB_CXXFLAGS) $< + $(OBJS)\stclib_LexVerilog.obj : .AUTODEPEND ../../src/stc\scintilla\src\LexVerilog.cxx $(CXX) -zq -fo=$^@ $(STCLIB_CXXFLAGS) $< @@ -783,10 +810,10 @@ $(OBJS)\stclib_RESearch.obj : .AUTODEPEND ../../src/stc\scintilla\src\RESearch. $(OBJS)\stclib_ScintillaBase.obj : .AUTODEPEND ../../src/stc\scintilla\src\ScintillaBase.cxx $(CXX) -zq -fo=$^@ $(STCLIB_CXXFLAGS) $< -$(OBJS)\stclib_StyleContext.obj : .AUTODEPEND ../../src/stc\scintilla\src\StyleContext.cxx +$(OBJS)\stclib_Style.obj : .AUTODEPEND ../../src/stc\scintilla\src\Style.cxx $(CXX) -zq -fo=$^@ $(STCLIB_CXXFLAGS) $< -$(OBJS)\stclib_Style.obj : .AUTODEPEND ../../src/stc\scintilla\src\Style.cxx +$(OBJS)\stclib_StyleContext.obj : .AUTODEPEND ../../src/stc\scintilla\src\StyleContext.cxx $(CXX) -zq -fo=$^@ $(STCLIB_CXXFLAGS) $< $(OBJS)\stclib_UniConversion.obj : .AUTODEPEND ../../src/stc\scintilla\src\UniConversion.cxx @@ -800,3 +827,4 @@ $(OBJS)\stclib_WindowAccessor.obj : .AUTODEPEND ../../src/stc\scintilla\src\Win $(OBJS)\stclib_XPM.obj : .AUTODEPEND ../../src/stc\scintilla\src\XPM.cxx $(CXX) -zq -fo=$^@ $(STCLIB_CXXFLAGS) $< + diff --git a/contrib/build/stc/stc.bkl b/contrib/build/stc/stc.bkl index 2ce95a4441..7ec877db25 100644 --- a/contrib/build/stc/stc.bkl +++ b/contrib/build/stc/stc.bkl @@ -16,8 +16,8 @@ scintilla/src/CallTip.cxx scintilla/src/CellBuffer.cxx scintilla/src/ContractionState.cxx - scintilla/src/DocumentAccessor.cxx scintilla/src/Document.cxx + scintilla/src/DocumentAccessor.cxx scintilla/src/Editor.cxx scintilla/src/ExternalLexer.cxx scintilla/src/Indicator.cxx @@ -28,6 +28,7 @@ scintilla/src/LexAVE.cxx scintilla/src/LexAda.cxx scintilla/src/LexAsm.cxx + scintilla/src/LexAsn1.cxx scintilla/src/LexBaan.cxx scintilla/src/LexBash.cxx scintilla/src/LexBullant.cxx @@ -66,14 +67,15 @@ scintilla/src/LexSpecman.cxx scintilla/src/LexTeX.cxx scintilla/src/LexVB.cxx + scintilla/src/LexVHDL.cxx scintilla/src/LexVerilog.cxx scintilla/src/LexYAML.cxx scintilla/src/LineMarker.cxx scintilla/src/PropSet.cxx scintilla/src/RESearch.cxx scintilla/src/ScintillaBase.cxx - scintilla/src/StyleContext.cxx scintilla/src/Style.cxx + scintilla/src/StyleContext.cxx scintilla/src/UniConversion.cxx scintilla/src/ViewStyle.cxx scintilla/src/WindowAccessor.cxx diff --git a/contrib/build/stc/stc.dsp b/contrib/build/stc/stc.dsp index 8c64a9a9ae..e54aaf9e1d 100644 --- a/contrib/build/stc/stc.dsp +++ b/contrib/build/stc/stc.dsp @@ -55,18 +55,18 @@ RSC=rc.exe # PROP Output_Dir "..\..\src\stc\..\..\..\lib\vc_dll" # PROP Intermediate_Dir "vc_mswunivudll\stc" # PROP Target_Dir "" -# ADD BASE CPP /nologo /FD /MD /O1 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswunivu" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv253u_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c -# ADD CPP /nologo /FD /MD /O1 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswunivu" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv253u_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c +# ADD BASE CPP /nologo /FD /MD /O2 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswunivu" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv254u_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c +# ADD CPP /nologo /FD /MD /O2 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswunivu" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv254u_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c # ADD BASE MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /mktyplib203 /win32 # ADD MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /mktyplib203 /win32 -# ADD BASE RSC /l 0x405 /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "_UNICODE" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswunivu" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC -# ADD RSC /l 0x405 /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "_UNICODE" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswunivu" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC +# ADD BASE RSC /l 0x409 /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "_UNICODE" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswunivu" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC +# ADD RSC /l 0x409 /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "_UNICODE" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswunivu" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmswuniv25u_core.lib wxbase25u.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv253u_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv25u_stc.lib" -# ADD LINK32 wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmswuniv25u_core.lib wxbase25u.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv253u_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv25u_stc.lib" +# ADD BASE LINK32 wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmswuniv25u_core.lib wxbase25u.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv254u_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv25u_stc.lib" +# ADD LINK32 wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmswuniv25u_core.lib wxbase25u.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv254u_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv25u_stc.lib" !ELSEIF "$(CFG)" == "stc - Win32 DLL Universal Unicode Debug" @@ -80,18 +80,18 @@ LINK32=link.exe # PROP Output_Dir "..\..\src\stc\..\..\..\lib\vc_dll" # PROP Intermediate_Dir "vc_mswunivuddll\stc" # PROP Target_Dir "" -# ADD BASE CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswunivud" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv253ud_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c -# ADD CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswunivud" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv253ud_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c +# ADD BASE CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswunivud" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv254ud_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c +# ADD CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswunivud" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv254ud_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c # ADD BASE MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /mktyplib203 /win32 # ADD MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /mktyplib203 /win32 -# ADD BASE RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /d "_UNICODE" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswunivud" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC -# ADD RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /d "_UNICODE" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswunivud" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC +# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /d "_UNICODE" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswunivud" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC +# ADD RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /d "_UNICODE" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswunivud" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmswuniv25ud_core.lib wxbase25ud.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv253ud_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv25ud_stc.lib" /debug -# ADD LINK32 wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmswuniv25ud_core.lib wxbase25ud.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv253ud_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv25ud_stc.lib" /debug +# ADD BASE LINK32 wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmswuniv25ud_core.lib wxbase25ud.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv254ud_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv25ud_stc.lib" /debug +# ADD LINK32 wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmswuniv25ud_core.lib wxbase25ud.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv254ud_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv25ud_stc.lib" /debug !ELSEIF "$(CFG)" == "stc - Win32 DLL Universal Release" @@ -105,18 +105,18 @@ LINK32=link.exe # PROP Output_Dir "..\..\src\stc\..\..\..\lib\vc_dll" # PROP Intermediate_Dir "vc_mswunivdll\stc" # PROP Target_Dir "" -# ADD BASE CPP /nologo /FD /MD /O1 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswuniv" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv253_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c -# ADD CPP /nologo /FD /MD /O1 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswuniv" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv253_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c +# ADD BASE CPP /nologo /FD /MD /O2 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswuniv" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv254_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c +# ADD CPP /nologo /FD /MD /O2 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswuniv" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv254_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c # ADD BASE MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /mktyplib203 /win32 # ADD MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /mktyplib203 /win32 -# ADD BASE RSC /l 0x405 /d "__WXMSW__" /d "__WXUNIVERSAL__" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswuniv" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC -# ADD RSC /l 0x405 /d "__WXMSW__" /d "__WXUNIVERSAL__" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswuniv" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC +# ADD BASE RSC /l 0x409 /d "__WXMSW__" /d "__WXUNIVERSAL__" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswuniv" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC +# ADD RSC /l 0x409 /d "__WXMSW__" /d "__WXUNIVERSAL__" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswuniv" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmswuniv25_core.lib wxbase25.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv253_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv25_stc.lib" -# ADD LINK32 wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmswuniv25_core.lib wxbase25.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv253_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv25_stc.lib" +# ADD BASE LINK32 wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmswuniv25_core.lib wxbase25.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv254_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv25_stc.lib" +# ADD LINK32 wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmswuniv25_core.lib wxbase25.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv254_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv25_stc.lib" !ELSEIF "$(CFG)" == "stc - Win32 DLL Universal Debug" @@ -130,18 +130,18 @@ LINK32=link.exe # PROP Output_Dir "..\..\src\stc\..\..\..\lib\vc_dll" # PROP Intermediate_Dir "vc_mswunivddll\stc" # PROP Target_Dir "" -# ADD BASE CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswunivd" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv253d_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c -# ADD CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswunivd" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv253d_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c +# ADD BASE CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswunivd" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv254d_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c +# ADD CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswunivd" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv254d_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c # ADD BASE MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /mktyplib203 /win32 # ADD MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /mktyplib203 /win32 -# ADD BASE RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswunivd" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC -# ADD RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswunivd" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC +# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswunivd" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC +# ADD RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswunivd" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmswuniv25d_core.lib wxbase25d.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv253d_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv25d_stc.lib" /debug -# ADD LINK32 wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmswuniv25d_core.lib wxbase25d.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv253d_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv25d_stc.lib" /debug +# ADD BASE LINK32 wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmswuniv25d_core.lib wxbase25d.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv254d_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv25d_stc.lib" /debug +# ADD LINK32 wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmswuniv25d_core.lib wxbase25d.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv254d_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmswuniv25d_stc.lib" /debug !ELSEIF "$(CFG)" == "stc - Win32 DLL Unicode Release" @@ -155,18 +155,18 @@ LINK32=link.exe # PROP Output_Dir "..\..\src\stc\..\..\..\lib\vc_dll" # PROP Intermediate_Dir "vc_mswudll\stc" # PROP Target_Dir "" -# ADD BASE CPP /nologo /FD /MD /O1 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswu" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmsw253u_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c -# ADD CPP /nologo /FD /MD /O1 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswu" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmsw253u_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c +# ADD BASE CPP /nologo /FD /MD /O2 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswu" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmsw254u_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c +# ADD CPP /nologo /FD /MD /O2 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswu" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmsw254u_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c # ADD BASE MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /mktyplib203 /win32 # ADD MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /mktyplib203 /win32 -# ADD BASE RSC /l 0x405 /d "__WXMSW__" /d "_UNICODE" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswu" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC -# ADD RSC /l 0x405 /d "__WXMSW__" /d "_UNICODE" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswu" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC +# ADD BASE RSC /l 0x409 /d "__WXMSW__" /d "_UNICODE" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswu" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC +# ADD RSC /l 0x409 /d "__WXMSW__" /d "_UNICODE" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswu" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmsw25u_core.lib wxbase25u.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw253u_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw25u_stc.lib" -# ADD LINK32 wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmsw25u_core.lib wxbase25u.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw253u_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw25u_stc.lib" +# ADD BASE LINK32 wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmsw25u_core.lib wxbase25u.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw254u_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw25u_stc.lib" +# ADD LINK32 wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmsw25u_core.lib wxbase25u.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw254u_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw25u_stc.lib" !ELSEIF "$(CFG)" == "stc - Win32 DLL Unicode Debug" @@ -180,18 +180,18 @@ LINK32=link.exe # PROP Output_Dir "..\..\src\stc\..\..\..\lib\vc_dll" # PROP Intermediate_Dir "vc_mswuddll\stc" # PROP Target_Dir "" -# ADD BASE CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswud" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmsw253ud_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c -# ADD CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswud" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmsw253ud_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c +# ADD BASE CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswud" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmsw254ud_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c +# ADD CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswud" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmsw254ud_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c # ADD BASE MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /mktyplib203 /win32 # ADD MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /mktyplib203 /win32 -# ADD BASE RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /d "_UNICODE" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswud" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC -# ADD RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /d "_UNICODE" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswud" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC +# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /d "_UNICODE" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswud" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC +# ADD RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /d "_UNICODE" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswud" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmsw25ud_core.lib wxbase25ud.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw253ud_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw25ud_stc.lib" /debug -# ADD LINK32 wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmsw25ud_core.lib wxbase25ud.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw253ud_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw25ud_stc.lib" /debug +# ADD BASE LINK32 wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmsw25ud_core.lib wxbase25ud.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw254ud_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw25ud_stc.lib" /debug +# ADD LINK32 wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmsw25ud_core.lib wxbase25ud.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw254ud_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw25ud_stc.lib" /debug !ELSEIF "$(CFG)" == "stc - Win32 DLL Release" @@ -205,18 +205,18 @@ LINK32=link.exe # PROP Output_Dir "..\..\src\stc\..\..\..\lib\vc_dll" # PROP Intermediate_Dir "vc_mswdll\stc" # PROP Target_Dir "" -# ADD BASE CPP /nologo /FD /MD /O1 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\msw" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmsw253_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c -# ADD CPP /nologo /FD /MD /O1 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\msw" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmsw253_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c +# ADD BASE CPP /nologo /FD /MD /O2 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\msw" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmsw254_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c +# ADD CPP /nologo /FD /MD /O2 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\msw" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmsw254_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c # ADD BASE MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /mktyplib203 /win32 # ADD MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /mktyplib203 /win32 -# ADD BASE RSC /l 0x405 /d "__WXMSW__" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\msw" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC -# ADD RSC /l 0x405 /d "__WXMSW__" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\msw" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC +# ADD BASE RSC /l 0x409 /d "__WXMSW__" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\msw" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC +# ADD RSC /l 0x409 /d "__WXMSW__" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\msw" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmsw25_core.lib wxbase25.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw253_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw25_stc.lib" -# ADD LINK32 wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmsw25_core.lib wxbase25.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw253_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw25_stc.lib" +# ADD BASE LINK32 wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmsw25_core.lib wxbase25.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw254_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw25_stc.lib" +# ADD LINK32 wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmsw25_core.lib wxbase25.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw254_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw25_stc.lib" !ELSEIF "$(CFG)" == "stc - Win32 DLL Debug" @@ -230,18 +230,18 @@ LINK32=link.exe # PROP Output_Dir "..\..\src\stc\..\..\..\lib\vc_dll" # PROP Intermediate_Dir "vc_mswddll\stc" # PROP Target_Dir "" -# ADD BASE CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswd" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmsw253d_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c -# ADD CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswd" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmsw253d_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c +# ADD BASE CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswd" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmsw254d_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c +# ADD CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_dll\mswd" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_dll\wxmsw254d_stc_vc_custom.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /c # ADD BASE MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /mktyplib203 /win32 # ADD MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /D "WXUSINGDLL" /D "WXMAKINGDLL_STC" /mktyplib203 /win32 -# ADD BASE RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswd" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC -# ADD RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswd" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC +# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswd" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC +# ADD RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /i "..\..\src\stc\..\..\..\include" /i "..\..\src\stc\..\..\..\lib\vc_dll\mswd" /i "..\..\src\stc\..\..\include" /i "..\..\src\stc\scintilla\include" /i "..\..\src\stc\scintilla\src" /d "__WX__" /d "SCI_LEXER" /d "LINK_LEXERS" /d "WXUSINGDLL" /d WXMAKINGDLL_STC BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmsw25d_core.lib wxbase25d.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw253d_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw25d_stc.lib" /debug -# ADD LINK32 wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmsw25d_core.lib wxbase25d.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw253d_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw25d_stc.lib" /debug +# ADD BASE LINK32 wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmsw25d_core.lib wxbase25d.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw254d_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw25d_stc.lib" /debug +# ADD LINK32 wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib wxmsw25d_core.lib wxbase25d.lib /nologo /dll /machine:i386 /out:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw254d_stc_vc_custom.dll" /libpath:"..\..\src\stc\..\..\..\lib\vc_dll" /implib:"..\..\src\stc\..\..\..\lib\vc_dll\wxmsw25d_stc.lib" /debug !ELSEIF "$(CFG)" == "stc - Win32 Universal Unicode Release" @@ -255,10 +255,10 @@ LINK32=link.exe # PROP Output_Dir "..\..\src\stc\..\..\..\lib\vc_lib" # PROP Intermediate_Dir "vc_mswunivu\stc" # PROP Target_Dir "" -# ADD BASE CPP /nologo /FD /MD /O1 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\mswunivu" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmswuniv25u_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c -# ADD CPP /nologo /FD /MD /O1 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\mswunivu" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmswuniv25u_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c -# ADD BASE RSC /l 0x405 -# ADD RSC /l 0x405 +# ADD BASE CPP /nologo /FD /MD /O2 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\mswunivu" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmswuniv25u_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c +# ADD CPP /nologo /FD /MD /O2 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\mswunivu" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmswuniv25u_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo @@ -280,8 +280,8 @@ LIB32=link.exe -lib # PROP Target_Dir "" # ADD BASE CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\mswunivud" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmswuniv25ud_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c # ADD CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\mswunivud" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmswuniv25ud_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c -# ADD BASE RSC /l 0x405 -# ADD RSC /l 0x405 +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo @@ -301,10 +301,10 @@ LIB32=link.exe -lib # PROP Output_Dir "..\..\src\stc\..\..\..\lib\vc_lib" # PROP Intermediate_Dir "vc_mswuniv\stc" # PROP Target_Dir "" -# ADD BASE CPP /nologo /FD /MD /O1 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\mswuniv" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmswuniv25_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c -# ADD CPP /nologo /FD /MD /O1 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\mswuniv" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmswuniv25_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c -# ADD BASE RSC /l 0x405 -# ADD RSC /l 0x405 +# ADD BASE CPP /nologo /FD /MD /O2 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\mswuniv" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmswuniv25_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c +# ADD CPP /nologo /FD /MD /O2 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\mswuniv" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmswuniv25_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo @@ -326,8 +326,8 @@ LIB32=link.exe -lib # PROP Target_Dir "" # ADD BASE CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\mswunivd" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmswuniv25d_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c # ADD CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\mswunivd" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmswuniv25d_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c -# ADD BASE RSC /l 0x405 -# ADD RSC /l 0x405 +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo @@ -347,10 +347,10 @@ LIB32=link.exe -lib # PROP Output_Dir "..\..\src\stc\..\..\..\lib\vc_lib" # PROP Intermediate_Dir "vc_mswu\stc" # PROP Target_Dir "" -# ADD BASE CPP /nologo /FD /MD /O1 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\mswu" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmsw25u_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "__WXMSW__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c -# ADD CPP /nologo /FD /MD /O1 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\mswu" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmsw25u_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "__WXMSW__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c -# ADD BASE RSC /l 0x405 -# ADD RSC /l 0x405 +# ADD BASE CPP /nologo /FD /MD /O2 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\mswu" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmsw25u_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "__WXMSW__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c +# ADD CPP /nologo /FD /MD /O2 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\mswu" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmsw25u_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "__WXMSW__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo @@ -372,8 +372,8 @@ LIB32=link.exe -lib # PROP Target_Dir "" # ADD BASE CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\mswud" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmsw25ud_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c # ADD CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\mswud" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmsw25ud_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c -# ADD BASE RSC /l 0x405 -# ADD RSC /l 0x405 +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo @@ -393,10 +393,10 @@ LIB32=link.exe -lib # PROP Output_Dir "..\..\src\stc\..\..\..\lib\vc_lib" # PROP Intermediate_Dir "vc_msw\stc" # PROP Target_Dir "" -# ADD BASE CPP /nologo /FD /MD /O1 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\msw" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmsw25_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "__WXMSW__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c -# ADD CPP /nologo /FD /MD /O1 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\msw" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmsw25_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "__WXMSW__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c -# ADD BASE RSC /l 0x405 -# ADD RSC /l 0x405 +# ADD BASE CPP /nologo /FD /MD /O2 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\msw" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmsw25_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "__WXMSW__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c +# ADD CPP /nologo /FD /MD /O2 /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\msw" /W4 /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmsw25_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "__WXMSW__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo @@ -418,8 +418,8 @@ LIB32=link.exe -lib # PROP Target_Dir "" # ADD BASE CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\mswd" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmsw25d_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c # ADD CPP /nologo /FD /MDd /Od /GR /GX /I "..\..\src\stc\..\..\..\include" /I "..\..\src\stc\..\..\..\lib\vc_lib\mswd" /W4 /Zi /Gm /GZ /Fd..\..\src\stc\..\..\..\lib\vc_lib\wxmsw25d_stc.pdb /I "..\..\src\stc\..\..\include" /I "..\..\src\stc\scintilla\include" /I "..\..\src\stc\scintilla\src" /D "WIN32" /D "_LIB" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "__WX__" /D "SCI_LEXER" /D "LINK_LEXERS" /c -# ADD BASE RSC /l 0x405 -# ADD RSC /l 0x405 +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo @@ -516,6 +516,10 @@ SOURCE=../../src/stc\scintilla\src\LexAsm.cxx # End Source File # Begin Source File +SOURCE=../../src/stc\scintilla\src\LexAsn1.cxx +# End Source File +# Begin Source File + SOURCE=../../src/stc\scintilla\src\LexBaan.cxx # End Source File # Begin Source File @@ -668,6 +672,10 @@ SOURCE=../../src/stc\scintilla\src\LexVB.cxx # End Source File # Begin Source File +SOURCE=../../src/stc\scintilla\src\LexVHDL.cxx +# End Source File +# Begin Source File + SOURCE=../../src/stc\scintilla\src\LexVerilog.cxx # End Source File # Begin Source File diff --git a/contrib/include/wx/stc/stc.h b/contrib/include/wx/stc/stc.h index 10519a61b7..b636753aa5 100644 --- a/contrib/include/wx/stc/stc.h +++ b/contrib/include/wx/stc/stc.h @@ -363,6 +363,8 @@ #define wxSTC_LEX_AU3 60 #define wxSTC_LEX_APDL 61 #define wxSTC_LEX_BASH 62 +#define wxSTC_LEX_ASN1 63 +#define wxSTC_LEX_VHDL 64 // When a lexer specifies its language as SCLEX_AUTOMATIC it receives a // value assigned in sequence from SCLEX_AUTOMATIC+1. @@ -649,6 +651,7 @@ #define wxSTC_ERR_IFORT 17 #define wxSTC_ERR_ABSF 18 #define wxSTC_ERR_TIDY 19 +#define wxSTC_ERR_JAVA_STACK 20 // Lexical states for SCLEX_BATCH #define wxSTC_BAT_DEFAULT 0 @@ -863,6 +866,7 @@ #define wxSTC_CSS_DIRECTIVE 12 #define wxSTC_CSS_DOUBLESTRING 13 #define wxSTC_CSS_SINGLESTRING 14 +#define wxSTC_CSS_IDENTIFIER2 15 // Lexical states for SCLEX_POV #define wxSTC_POV_DEFAULT 0 @@ -1126,6 +1130,7 @@ #define wxSTC_AU3_VARIABLE 9 #define wxSTC_AU3_SENT 10 #define wxSTC_AU3_PREPROCESSOR 11 +#define wxSTC_AU3_SPECIAL 12 // Lexical states for SCLEX_APDL #define wxSTC_APDL_DEFAULT 0 @@ -1133,10 +1138,14 @@ #define wxSTC_APDL_COMMENTBLOCK 2 #define wxSTC_APDL_NUMBER 3 #define wxSTC_APDL_STRING 4 -#define wxSTC_APDL_WORD 5 -#define wxSTC_APDL_COMMAND 6 +#define wxSTC_APDL_OPERATOR 5 +#define wxSTC_APDL_WORD 6 #define wxSTC_APDL_PROCESSOR 7 -#define wxSTC_APDL_FUNCTION 8 +#define wxSTC_APDL_COMMAND 8 +#define wxSTC_APDL_SLASHCOMMAND 9 +#define wxSTC_APDL_STARCOMMAND 10 +#define wxSTC_APDL_ARGUMENT 11 +#define wxSTC_APDL_FUNCTION 12 // Lexical states for SCLEX_BASH #define wxSTC_SH_DEFAULT 0 @@ -1154,6 +1163,36 @@ #define wxSTC_SH_HERE_DELIM 12 #define wxSTC_SH_HERE_Q 13 +// Lexical states for SCLEX_ASN1 +#define wxSTC_ASN1_DEFAULT 0 +#define wxSTC_ASN1_COMMENT 1 +#define wxSTC_ASN1_IDENTIFIER 2 +#define wxSTC_ASN1_STRING 3 +#define wxSTC_ASN1_OID 4 +#define wxSTC_ASN1_SCALAR 5 +#define wxSTC_ASN1_KEYWORD 6 +#define wxSTC_ASN1_ATTRIBUTE 7 +#define wxSTC_ASN1_DESCRIPTOR 8 +#define wxSTC_ASN1_TYPE 9 +#define wxSTC_ASN1_OPERATOR 10 + +// Lexical states for SCLEX_VHDL +#define wxSTC_VHDL_DEFAULT 0 +#define wxSTC_VHDL_COMMENT 1 +#define wxSTC_VHDL_COMMENTLINEBANG 2 +#define wxSTC_VHDL_NUMBER 3 +#define wxSTC_VHDL_STRING 4 +#define wxSTC_VHDL_OPERATOR 5 +#define wxSTC_VHDL_IDENTIFIER 6 +#define wxSTC_VHDL_STRINGEOL 7 +#define wxSTC_VHDL_KEYWORD 8 +#define wxSTC_VHDL_STDOPERATOR 9 +#define wxSTC_VHDL_ATTRIBUTE 10 +#define wxSTC_VHDL_STDFUNCTION 11 +#define wxSTC_VHDL_STDPACKAGE 12 +#define wxSTC_VHDL_STDTYPE 13 +#define wxSTC_VHDL_USERWORD 14 + //----------------------------------------- // Commands that can be bound to keystrokes @@ -2737,6 +2776,10 @@ public: // Enlarge the document to a particular size of text bytes. void Allocate(int bytes); + // Find the position of a column on a line taking into account tabs and + // multi-byte characters. If beyond end of line, return line end position. + int FindColumn(int line, int column); + // Start notifying the container of all key presses and commands. void StartRecord(); diff --git a/contrib/src/stc/Makefile.in b/contrib/src/stc/Makefile.in index 7775115607..385a300f12 100644 --- a/contrib/src/stc/Makefile.in +++ b/contrib/src/stc/Makefile.in @@ -1,6 +1,6 @@ # ========================================================================= # This makefile was generated by -# Bakefile 0.1.4 (http://bakefile.sourceforge.net) +# Bakefile 0.1.6 (http://bakefile.sourceforge.net) # Do not modify, all changes will be overwritten! # ========================================================================= @@ -49,8 +49,8 @@ HOST_SUFFIX = @HOST_SUFFIX@ DESTDIR = WX_RELEASE = 2.5 WX_RELEASE_NODOT = 25 -WX_VERSION = $(WX_RELEASE).3 -WX_VERSION_NODOT = $(WX_RELEASE_NODOT)3 +WX_VERSION = $(WX_RELEASE).4 +WX_VERSION_NODOT = $(WX_RELEASE_NODOT)4 LIBDIRNAME = $(top_builddir)lib STCDLL_CXXFLAGS = -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \ -I$(srcdir)/../../include -I$(srcdir)/scintilla/include \ @@ -64,8 +64,8 @@ STCDLL_OBJECTS = \ stcdll_CallTip.o \ stcdll_CellBuffer.o \ stcdll_ContractionState.o \ - stcdll_DocumentAccessor.o \ stcdll_Document.o \ + stcdll_DocumentAccessor.o \ stcdll_Editor.o \ stcdll_ExternalLexer.o \ stcdll_Indicator.o \ @@ -76,6 +76,7 @@ STCDLL_OBJECTS = \ stcdll_LexAVE.o \ stcdll_LexAda.o \ stcdll_LexAsm.o \ + stcdll_LexAsn1.o \ stcdll_LexBaan.o \ stcdll_LexBash.o \ stcdll_LexBullant.o \ @@ -114,14 +115,15 @@ STCDLL_OBJECTS = \ stcdll_LexSpecman.o \ stcdll_LexTeX.o \ stcdll_LexVB.o \ + stcdll_LexVHDL.o \ stcdll_LexVerilog.o \ stcdll_LexYAML.o \ stcdll_LineMarker.o \ stcdll_PropSet.o \ stcdll_RESearch.o \ stcdll_ScintillaBase.o \ - stcdll_StyleContext.o \ stcdll_Style.o \ + stcdll_StyleContext.o \ stcdll_UniConversion.o \ stcdll_ViewStyle.o \ stcdll_WindowAccessor.o \ @@ -138,8 +140,8 @@ STCLIB_OBJECTS = \ stclib_CallTip.o \ stclib_CellBuffer.o \ stclib_ContractionState.o \ - stclib_DocumentAccessor.o \ stclib_Document.o \ + stclib_DocumentAccessor.o \ stclib_Editor.o \ stclib_ExternalLexer.o \ stclib_Indicator.o \ @@ -150,6 +152,7 @@ STCLIB_OBJECTS = \ stclib_LexAVE.o \ stclib_LexAda.o \ stclib_LexAsm.o \ + stclib_LexAsn1.o \ stclib_LexBaan.o \ stclib_LexBash.o \ stclib_LexBullant.o \ @@ -188,14 +191,15 @@ STCLIB_OBJECTS = \ stclib_LexSpecman.o \ stclib_LexTeX.o \ stclib_LexVB.o \ + stclib_LexVHDL.o \ stclib_LexVerilog.o \ stclib_LexYAML.o \ stclib_LineMarker.o \ stclib_PropSet.o \ stclib_RESearch.o \ stclib_ScintillaBase.o \ - stclib_StyleContext.o \ stclib_Style.o \ + stclib_StyleContext.o \ stclib_UniConversion.o \ stclib_ViewStyle.o \ stclib_WindowAccessor.o \ @@ -238,14 +242,14 @@ COND_PLATFORM_WIN32_1___stcdll___importlib = \ -Wl,--out-implib,$(LIBDIRNAME)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc-$(WX_RELEASE)$(HOST_SUFFIX).$(DLLIMP_SUFFIX) @COND_PLATFORM_WIN32_1@__stcdll___importlib = $(COND_PLATFORM_WIN32_1___stcdll___importlib) @COND_PLATFORM_MACOSX_0_USE_SOVERSION_1@__stcdll___targetsuf2 \ -@COND_PLATFORM_MACOSX_0_USE_SOVERSION_1@ = .$(SO_SUFFIX).3 +@COND_PLATFORM_MACOSX_0_USE_SOVERSION_1@ = .$(SO_SUFFIX).4 @COND_PLATFORM_MACOSX_1_USE_SOVERSION_1@__stcdll___targetsuf2 \ -@COND_PLATFORM_MACOSX_1_USE_SOVERSION_1@ = .3.$(SO_SUFFIX) +@COND_PLATFORM_MACOSX_1_USE_SOVERSION_1@ = .4.$(SO_SUFFIX) @COND_USE_SOVERSION_0@__stcdll___targetsuf2 = .$(SO_SUFFIX) @COND_PLATFORM_MACOSX_0_USE_SOVERSION_1@__stcdll___targetsuf3 \ -@COND_PLATFORM_MACOSX_0_USE_SOVERSION_1@ = .$(SO_SUFFIX).3.0.0 +@COND_PLATFORM_MACOSX_0_USE_SOVERSION_1@ = .$(SO_SUFFIX).4.0.0 @COND_PLATFORM_MACOSX_1_USE_SOVERSION_1@__stcdll___targetsuf3 \ -@COND_PLATFORM_MACOSX_1_USE_SOVERSION_1@ = .3.0.0.$(SO_SUFFIX) +@COND_PLATFORM_MACOSX_1_USE_SOVERSION_1@ = .4.0.0.$(SO_SUFFIX) @COND_USE_SOVERSION_0@__stcdll___targetsuf3 = .$(SO_SUFFIX) COND_USE_SOVERLINUX_1___stcdll___soname_flags = \ $(SONAME_FLAG)$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(__stcdll___targetsuf2) @@ -336,7 +340,7 @@ clean: rm -f $(LIBDIRNAME)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc-$(WX_RELEASE)$(HOST_SUFFIX)$(LIBEXT) distclean: clean - rm -f configure config.cache config.log config.status bk-deps bk-make-pch shared-ld-sh Makefile + rm -f config.cache config.log config.status bk-deps bk-make-pch shared-ld-sh Makefile @COND_SHARED_1@$(LIBDIRNAME)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(__stcdll___targetsuf3): $(STCDLL_OBJECTS) @COND_SHARED_1@ $(SHARED_LD_CXX) $@ $(STCDLL_OBJECTS) $(LDFLAGS) -L$(LIBDIRNAME) $(__stcdll___macinstnamecmd) $(__stcdll___importlib) $(__stcdll___soname_flags) $(__stcdll___macver) $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(__LIB_ZLIB_p) $(__LIB_ODBC_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(EXTRALIBS_FOR_GUI) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) @@ -359,418 +363,430 @@ distclean: clean @COND_SHARED_0@ $(INSTALL_DATA) $(LIBDIRNAME)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc-$(WX_RELEASE)$(HOST_SUFFIX)$(LIBEXT) $(DESTDIR)$(libdir) stcdll_PlatWX.o: $(srcdir)/PlatWX.cpp - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/PlatWX.cpp stcdll_ScintillaWX.o: $(srcdir)/ScintillaWX.cpp - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/ScintillaWX.cpp stcdll_stc.o: $(srcdir)/stc.cpp - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/stc.cpp stcdll_AutoComplete.o: $(srcdir)/scintilla/src/AutoComplete.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/AutoComplete.cxx stcdll_CallTip.o: $(srcdir)/scintilla/src/CallTip.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/CallTip.cxx stcdll_CellBuffer.o: $(srcdir)/scintilla/src/CellBuffer.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/CellBuffer.cxx stcdll_ContractionState.o: $(srcdir)/scintilla/src/ContractionState.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< - -stcdll_DocumentAccessor.o: $(srcdir)/scintilla/src/DocumentAccessor.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/ContractionState.cxx stcdll_Document.o: $(srcdir)/scintilla/src/Document.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/Document.cxx + +stcdll_DocumentAccessor.o: $(srcdir)/scintilla/src/DocumentAccessor.cxx + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/DocumentAccessor.cxx stcdll_Editor.o: $(srcdir)/scintilla/src/Editor.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/Editor.cxx stcdll_ExternalLexer.o: $(srcdir)/scintilla/src/ExternalLexer.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/ExternalLexer.cxx stcdll_Indicator.o: $(srcdir)/scintilla/src/Indicator.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/Indicator.cxx stcdll_KeyMap.o: $(srcdir)/scintilla/src/KeyMap.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/KeyMap.cxx stcdll_KeyWords.o: $(srcdir)/scintilla/src/KeyWords.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/KeyWords.cxx stcdll_LexAPDL.o: $(srcdir)/scintilla/src/LexAPDL.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexAPDL.cxx stcdll_LexAU3.o: $(srcdir)/scintilla/src/LexAU3.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexAU3.cxx stcdll_LexAVE.o: $(srcdir)/scintilla/src/LexAVE.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexAVE.cxx stcdll_LexAda.o: $(srcdir)/scintilla/src/LexAda.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexAda.cxx stcdll_LexAsm.o: $(srcdir)/scintilla/src/LexAsm.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexAsm.cxx + +stcdll_LexAsn1.o: $(srcdir)/scintilla/src/LexAsn1.cxx + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexAsn1.cxx stcdll_LexBaan.o: $(srcdir)/scintilla/src/LexBaan.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexBaan.cxx stcdll_LexBash.o: $(srcdir)/scintilla/src/LexBash.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexBash.cxx stcdll_LexBullant.o: $(srcdir)/scintilla/src/LexBullant.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexBullant.cxx stcdll_LexCLW.o: $(srcdir)/scintilla/src/LexCLW.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexCLW.cxx stcdll_LexCPP.o: $(srcdir)/scintilla/src/LexCPP.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexCPP.cxx stcdll_LexCSS.o: $(srcdir)/scintilla/src/LexCSS.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexCSS.cxx stcdll_LexConf.o: $(srcdir)/scintilla/src/LexConf.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexConf.cxx stcdll_LexCrontab.o: $(srcdir)/scintilla/src/LexCrontab.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexCrontab.cxx stcdll_LexEScript.o: $(srcdir)/scintilla/src/LexEScript.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexEScript.cxx stcdll_LexEiffel.o: $(srcdir)/scintilla/src/LexEiffel.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexEiffel.cxx stcdll_LexErlang.o: $(srcdir)/scintilla/src/LexErlang.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexErlang.cxx stcdll_LexForth.o: $(srcdir)/scintilla/src/LexForth.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexForth.cxx stcdll_LexFortran.o: $(srcdir)/scintilla/src/LexFortran.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexFortran.cxx stcdll_LexGui4Cli.o: $(srcdir)/scintilla/src/LexGui4Cli.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexGui4Cli.cxx stcdll_LexHTML.o: $(srcdir)/scintilla/src/LexHTML.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexHTML.cxx stcdll_LexKix.o: $(srcdir)/scintilla/src/LexKix.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexKix.cxx stcdll_LexLisp.o: $(srcdir)/scintilla/src/LexLisp.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexLisp.cxx stcdll_LexLout.o: $(srcdir)/scintilla/src/LexLout.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexLout.cxx stcdll_LexLua.o: $(srcdir)/scintilla/src/LexLua.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexLua.cxx stcdll_LexMMIXAL.o: $(srcdir)/scintilla/src/LexMMIXAL.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexMMIXAL.cxx stcdll_LexMPT.o: $(srcdir)/scintilla/src/LexMPT.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexMPT.cxx stcdll_LexMSSQL.o: $(srcdir)/scintilla/src/LexMSSQL.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexMSSQL.cxx stcdll_LexMatlab.o: $(srcdir)/scintilla/src/LexMatlab.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexMatlab.cxx stcdll_LexMetapost.o: $(srcdir)/scintilla/src/LexMetapost.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexMetapost.cxx stcdll_LexNsis.o: $(srcdir)/scintilla/src/LexNsis.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexNsis.cxx stcdll_LexOthers.o: $(srcdir)/scintilla/src/LexOthers.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexOthers.cxx stcdll_LexPB.o: $(srcdir)/scintilla/src/LexPB.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexPB.cxx stcdll_LexPOV.o: $(srcdir)/scintilla/src/LexPOV.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexPOV.cxx stcdll_LexPS.o: $(srcdir)/scintilla/src/LexPS.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexPS.cxx stcdll_LexPascal.o: $(srcdir)/scintilla/src/LexPascal.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexPascal.cxx stcdll_LexPerl.o: $(srcdir)/scintilla/src/LexPerl.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexPerl.cxx stcdll_LexPython.o: $(srcdir)/scintilla/src/LexPython.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexPython.cxx stcdll_LexRuby.o: $(srcdir)/scintilla/src/LexRuby.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexRuby.cxx stcdll_LexSQL.o: $(srcdir)/scintilla/src/LexSQL.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexSQL.cxx stcdll_LexScriptol.o: $(srcdir)/scintilla/src/LexScriptol.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexScriptol.cxx stcdll_LexSpecman.o: $(srcdir)/scintilla/src/LexSpecman.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexSpecman.cxx stcdll_LexTeX.o: $(srcdir)/scintilla/src/LexTeX.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexTeX.cxx stcdll_LexVB.o: $(srcdir)/scintilla/src/LexVB.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexVB.cxx + +stcdll_LexVHDL.o: $(srcdir)/scintilla/src/LexVHDL.cxx + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexVHDL.cxx stcdll_LexVerilog.o: $(srcdir)/scintilla/src/LexVerilog.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexVerilog.cxx stcdll_LexYAML.o: $(srcdir)/scintilla/src/LexYAML.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexYAML.cxx stcdll_LineMarker.o: $(srcdir)/scintilla/src/LineMarker.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LineMarker.cxx stcdll_PropSet.o: $(srcdir)/scintilla/src/PropSet.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/PropSet.cxx stcdll_RESearch.o: $(srcdir)/scintilla/src/RESearch.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/RESearch.cxx stcdll_ScintillaBase.o: $(srcdir)/scintilla/src/ScintillaBase.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< - -stcdll_StyleContext.o: $(srcdir)/scintilla/src/StyleContext.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/ScintillaBase.cxx stcdll_Style.o: $(srcdir)/scintilla/src/Style.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/Style.cxx + +stcdll_StyleContext.o: $(srcdir)/scintilla/src/StyleContext.cxx + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/StyleContext.cxx stcdll_UniConversion.o: $(srcdir)/scintilla/src/UniConversion.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/UniConversion.cxx stcdll_ViewStyle.o: $(srcdir)/scintilla/src/ViewStyle.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/ViewStyle.cxx stcdll_WindowAccessor.o: $(srcdir)/scintilla/src/WindowAccessor.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/WindowAccessor.cxx stcdll_XPM.o: $(srcdir)/scintilla/src/XPM.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/XPM.cxx stclib_PlatWX.o: $(srcdir)/PlatWX.cpp - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/PlatWX.cpp stclib_ScintillaWX.o: $(srcdir)/ScintillaWX.cpp - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/ScintillaWX.cpp stclib_stc.o: $(srcdir)/stc.cpp - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/stc.cpp stclib_AutoComplete.o: $(srcdir)/scintilla/src/AutoComplete.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/AutoComplete.cxx stclib_CallTip.o: $(srcdir)/scintilla/src/CallTip.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/CallTip.cxx stclib_CellBuffer.o: $(srcdir)/scintilla/src/CellBuffer.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/CellBuffer.cxx stclib_ContractionState.o: $(srcdir)/scintilla/src/ContractionState.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< - -stclib_DocumentAccessor.o: $(srcdir)/scintilla/src/DocumentAccessor.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/ContractionState.cxx stclib_Document.o: $(srcdir)/scintilla/src/Document.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/Document.cxx + +stclib_DocumentAccessor.o: $(srcdir)/scintilla/src/DocumentAccessor.cxx + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/DocumentAccessor.cxx stclib_Editor.o: $(srcdir)/scintilla/src/Editor.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/Editor.cxx stclib_ExternalLexer.o: $(srcdir)/scintilla/src/ExternalLexer.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/ExternalLexer.cxx stclib_Indicator.o: $(srcdir)/scintilla/src/Indicator.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/Indicator.cxx stclib_KeyMap.o: $(srcdir)/scintilla/src/KeyMap.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/KeyMap.cxx stclib_KeyWords.o: $(srcdir)/scintilla/src/KeyWords.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/KeyWords.cxx stclib_LexAPDL.o: $(srcdir)/scintilla/src/LexAPDL.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexAPDL.cxx stclib_LexAU3.o: $(srcdir)/scintilla/src/LexAU3.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexAU3.cxx stclib_LexAVE.o: $(srcdir)/scintilla/src/LexAVE.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexAVE.cxx stclib_LexAda.o: $(srcdir)/scintilla/src/LexAda.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexAda.cxx stclib_LexAsm.o: $(srcdir)/scintilla/src/LexAsm.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexAsm.cxx + +stclib_LexAsn1.o: $(srcdir)/scintilla/src/LexAsn1.cxx + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexAsn1.cxx stclib_LexBaan.o: $(srcdir)/scintilla/src/LexBaan.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexBaan.cxx stclib_LexBash.o: $(srcdir)/scintilla/src/LexBash.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexBash.cxx stclib_LexBullant.o: $(srcdir)/scintilla/src/LexBullant.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexBullant.cxx stclib_LexCLW.o: $(srcdir)/scintilla/src/LexCLW.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexCLW.cxx stclib_LexCPP.o: $(srcdir)/scintilla/src/LexCPP.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexCPP.cxx stclib_LexCSS.o: $(srcdir)/scintilla/src/LexCSS.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexCSS.cxx stclib_LexConf.o: $(srcdir)/scintilla/src/LexConf.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexConf.cxx stclib_LexCrontab.o: $(srcdir)/scintilla/src/LexCrontab.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexCrontab.cxx stclib_LexEScript.o: $(srcdir)/scintilla/src/LexEScript.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexEScript.cxx stclib_LexEiffel.o: $(srcdir)/scintilla/src/LexEiffel.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexEiffel.cxx stclib_LexErlang.o: $(srcdir)/scintilla/src/LexErlang.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexErlang.cxx stclib_LexForth.o: $(srcdir)/scintilla/src/LexForth.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexForth.cxx stclib_LexFortran.o: $(srcdir)/scintilla/src/LexFortran.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexFortran.cxx stclib_LexGui4Cli.o: $(srcdir)/scintilla/src/LexGui4Cli.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexGui4Cli.cxx stclib_LexHTML.o: $(srcdir)/scintilla/src/LexHTML.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexHTML.cxx stclib_LexKix.o: $(srcdir)/scintilla/src/LexKix.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexKix.cxx stclib_LexLisp.o: $(srcdir)/scintilla/src/LexLisp.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexLisp.cxx stclib_LexLout.o: $(srcdir)/scintilla/src/LexLout.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexLout.cxx stclib_LexLua.o: $(srcdir)/scintilla/src/LexLua.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexLua.cxx stclib_LexMMIXAL.o: $(srcdir)/scintilla/src/LexMMIXAL.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexMMIXAL.cxx stclib_LexMPT.o: $(srcdir)/scintilla/src/LexMPT.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexMPT.cxx stclib_LexMSSQL.o: $(srcdir)/scintilla/src/LexMSSQL.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexMSSQL.cxx stclib_LexMatlab.o: $(srcdir)/scintilla/src/LexMatlab.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexMatlab.cxx stclib_LexMetapost.o: $(srcdir)/scintilla/src/LexMetapost.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexMetapost.cxx stclib_LexNsis.o: $(srcdir)/scintilla/src/LexNsis.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexNsis.cxx stclib_LexOthers.o: $(srcdir)/scintilla/src/LexOthers.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexOthers.cxx stclib_LexPB.o: $(srcdir)/scintilla/src/LexPB.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexPB.cxx stclib_LexPOV.o: $(srcdir)/scintilla/src/LexPOV.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexPOV.cxx stclib_LexPS.o: $(srcdir)/scintilla/src/LexPS.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexPS.cxx stclib_LexPascal.o: $(srcdir)/scintilla/src/LexPascal.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexPascal.cxx stclib_LexPerl.o: $(srcdir)/scintilla/src/LexPerl.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexPerl.cxx stclib_LexPython.o: $(srcdir)/scintilla/src/LexPython.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexPython.cxx stclib_LexRuby.o: $(srcdir)/scintilla/src/LexRuby.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexRuby.cxx stclib_LexSQL.o: $(srcdir)/scintilla/src/LexSQL.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexSQL.cxx stclib_LexScriptol.o: $(srcdir)/scintilla/src/LexScriptol.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexScriptol.cxx stclib_LexSpecman.o: $(srcdir)/scintilla/src/LexSpecman.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexSpecman.cxx stclib_LexTeX.o: $(srcdir)/scintilla/src/LexTeX.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexTeX.cxx stclib_LexVB.o: $(srcdir)/scintilla/src/LexVB.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexVB.cxx + +stclib_LexVHDL.o: $(srcdir)/scintilla/src/LexVHDL.cxx + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexVHDL.cxx stclib_LexVerilog.o: $(srcdir)/scintilla/src/LexVerilog.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexVerilog.cxx stclib_LexYAML.o: $(srcdir)/scintilla/src/LexYAML.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexYAML.cxx stclib_LineMarker.o: $(srcdir)/scintilla/src/LineMarker.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LineMarker.cxx stclib_PropSet.o: $(srcdir)/scintilla/src/PropSet.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/PropSet.cxx stclib_RESearch.o: $(srcdir)/scintilla/src/RESearch.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/RESearch.cxx stclib_ScintillaBase.o: $(srcdir)/scintilla/src/ScintillaBase.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< - -stclib_StyleContext.o: $(srcdir)/scintilla/src/StyleContext.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/ScintillaBase.cxx stclib_Style.o: $(srcdir)/scintilla/src/Style.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/Style.cxx + +stclib_StyleContext.o: $(srcdir)/scintilla/src/StyleContext.cxx + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/StyleContext.cxx stclib_UniConversion.o: $(srcdir)/scintilla/src/UniConversion.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/UniConversion.cxx stclib_ViewStyle.o: $(srcdir)/scintilla/src/ViewStyle.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/ViewStyle.cxx stclib_WindowAccessor.o: $(srcdir)/scintilla/src/WindowAccessor.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/WindowAccessor.cxx stclib_XPM.o: $(srcdir)/scintilla/src/XPM.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/XPM.cxx # Include dependency info, if present: diff --git a/contrib/src/stc/ScintillaWX.cpp b/contrib/src/stc/ScintillaWX.cpp index 41b3a5a06d..796f06e0c8 100644 --- a/contrib/src/stc/ScintillaWX.cpp +++ b/contrib/src/stc/ScintillaWX.cpp @@ -539,7 +539,8 @@ long ScintillaWX::WndProc(unsigned int iMessage, unsigned long wParam, long lPar defn, vs.styles[STYLE_DEFAULT].fontName, vs.styles[STYLE_DEFAULT].sizeZoomed, - IsUnicodeMode(), + CodePage(), + vs.styles[STYLE_DEFAULT].characterSet, wMain); // If the call-tip window would be out of the client // space, adjust so it displays above the text. diff --git a/contrib/src/stc/gen_iface.py b/contrib/src/stc/gen_iface.py index 541dd96ee8..6e0a0aee90 100644 --- a/contrib/src/stc/gen_iface.py +++ b/contrib/src/stc/gen_iface.py @@ -501,6 +501,11 @@ methodOverrideMap = { return SendMsg(%s, strlen(buf), (long)(const char*)buf);''', 0), + # not sure what to do about these yet + 'TargetAsUTF8' : ( None, 0, 0, 0), + 'SetLengthForEncode' : ( None, 0, 0, 0), + 'EncodedFromUTF8' : ( None, 0, 0, 0), + 'GetDocPointer' : (0, diff --git a/contrib/src/stc/scintilla/README.txt b/contrib/src/stc/scintilla/README.txt index 25dca357b1..fce427d5d1 100644 --- a/contrib/src/stc/scintilla/README.txt +++ b/contrib/src/stc/scintilla/README.txt @@ -3,5 +3,5 @@ scintilla/include directories from the Scintilla/SCiTE source distribution. All other code needed to implement Scintilla on top of wxWindows is located in the directory above this one. -The current version of the Scintilla code is 1.61 +The current version of the Scintilla code is 1.62 diff --git a/contrib/src/stc/scintilla/include/Platform.h b/contrib/src/stc/scintilla/include/Platform.h index e6385da71d..f0c0b84d17 100644 --- a/contrib/src/stc/scintilla/include/Platform.h +++ b/contrib/src/stc/scintilla/include/Platform.h @@ -69,7 +69,7 @@ public: int x; int y; - Point(int x_=0, int y_=0) : x(x_), y(y_) { + explicit Point(int x_=0, int y_=0) : x(x_), y(y_) { } // Other automatically defined methods (assignment, copy constructor, destructor) are fine diff --git a/contrib/src/stc/scintilla/include/PropSet.h b/contrib/src/stc/scintilla/include/PropSet.h index 0b4c2f58de..32aea8a0c7 100644 --- a/contrib/src/stc/scintilla/include/PropSet.h +++ b/contrib/src/stc/scintilla/include/PropSet.h @@ -39,12 +39,14 @@ protected: return ret; } static bool IncludesVar(const char *value, const char *key); + public: PropSet *superPS; PropSet(); ~PropSet(); void Set(const char *key, const char *val, int lenKey=-1, int lenVal=-1); void Set(const char *keyVal); + void Unset(const char *key, int lenKey=-1); void SetMultiple(const char *s); SString Get(const char *key); SString GetExpanded(const char *key); @@ -85,9 +87,9 @@ public: char *Allocate(int size); void SetFromAllocated(); bool InList(const char *s); - const char *GetNearestWord(const char *wordStart, int searchLen = -1, + const char *GetNearestWord(const char *wordStart, int searchLen, bool ignoreCase = false, SString wordCharacters="", int wordIndex = -1); - char *GetNearestWords(const char *wordStart, int searchLen=-1, + char *GetNearestWords(const char *wordStart, int searchLen, bool ignoreCase=false, char otherSeparator='\0', bool exactLen=false); }; diff --git a/contrib/src/stc/scintilla/include/SciLexer.h b/contrib/src/stc/scintilla/include/SciLexer.h index 5c8307a595..ce50a7fab5 100644 --- a/contrib/src/stc/scintilla/include/SciLexer.h +++ b/contrib/src/stc/scintilla/include/SciLexer.h @@ -77,6 +77,8 @@ #define SCLEX_AU3 60 #define SCLEX_APDL 61 #define SCLEX_BASH 62 +#define SCLEX_ASN1 63 +#define SCLEX_VHDL 64 #define SCLEX_AUTOMATIC 1000 #define SCE_P_DEFAULT 0 #define SCE_P_COMMENTLINE 1 @@ -318,6 +320,7 @@ #define SCE_ERR_IFORT 17 #define SCE_ERR_ABSF 18 #define SCE_ERR_TIDY 19 +#define SCE_ERR_JAVA_STACK 20 #define SCE_BAT_DEFAULT 0 #define SCE_BAT_COMMENT 1 #define SCE_BAT_WORD 2 @@ -498,6 +501,7 @@ #define SCE_CSS_DIRECTIVE 12 #define SCE_CSS_DOUBLESTRING 13 #define SCE_CSS_SINGLESTRING 14 +#define SCE_CSS_IDENTIFIER2 15 #define SCE_POV_DEFAULT 0 #define SCE_POV_COMMENT 1 #define SCE_POV_COMMENTLINE 2 @@ -726,15 +730,20 @@ #define SCE_AU3_VARIABLE 9 #define SCE_AU3_SENT 10 #define SCE_AU3_PREPROCESSOR 11 +#define SCE_AU3_SPECIAL 12 #define SCE_APDL_DEFAULT 0 #define SCE_APDL_COMMENT 1 #define SCE_APDL_COMMENTBLOCK 2 #define SCE_APDL_NUMBER 3 #define SCE_APDL_STRING 4 -#define SCE_APDL_WORD 5 -#define SCE_APDL_COMMAND 6 +#define SCE_APDL_OPERATOR 5 +#define SCE_APDL_WORD 6 #define SCE_APDL_PROCESSOR 7 -#define SCE_APDL_FUNCTION 8 +#define SCE_APDL_COMMAND 8 +#define SCE_APDL_SLASHCOMMAND 9 +#define SCE_APDL_STARCOMMAND 10 +#define SCE_APDL_ARGUMENT 11 +#define SCE_APDL_FUNCTION 12 #define SCE_SH_DEFAULT 0 #define SCE_SH_ERROR 1 #define SCE_SH_COMMENTLINE 2 @@ -749,6 +758,32 @@ #define SCE_SH_BACKTICKS 11 #define SCE_SH_HERE_DELIM 12 #define SCE_SH_HERE_Q 13 +#define SCE_ASN1_DEFAULT 0 +#define SCE_ASN1_COMMENT 1 +#define SCE_ASN1_IDENTIFIER 2 +#define SCE_ASN1_STRING 3 +#define SCE_ASN1_OID 4 +#define SCE_ASN1_SCALAR 5 +#define SCE_ASN1_KEYWORD 6 +#define SCE_ASN1_ATTRIBUTE 7 +#define SCE_ASN1_DESCRIPTOR 8 +#define SCE_ASN1_TYPE 9 +#define SCE_ASN1_OPERATOR 10 +#define SCE_VHDL_DEFAULT 0 +#define SCE_VHDL_COMMENT 1 +#define SCE_VHDL_COMMENTLINEBANG 2 +#define SCE_VHDL_NUMBER 3 +#define SCE_VHDL_STRING 4 +#define SCE_VHDL_OPERATOR 5 +#define SCE_VHDL_IDENTIFIER 6 +#define SCE_VHDL_STRINGEOL 7 +#define SCE_VHDL_KEYWORD 8 +#define SCE_VHDL_STDOPERATOR 9 +#define SCE_VHDL_ATTRIBUTE 10 +#define SCE_VHDL_STDFUNCTION 11 +#define SCE_VHDL_STDPACKAGE 12 +#define SCE_VHDL_STDTYPE 13 +#define SCE_VHDL_USERWORD 14 //--Autogenerated -- end of section automatically generated from Scintilla.iface #endif diff --git a/contrib/src/stc/scintilla/include/Scintilla.h b/contrib/src/stc/scintilla/include/Scintilla.h index 1a4e488722..f20f0de22d 100644 --- a/contrib/src/stc/scintilla/include/Scintilla.h +++ b/contrib/src/stc/scintilla/include/Scintilla.h @@ -583,6 +583,10 @@ typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam, #define SCI_SETCHARSDEFAULT 2444 #define SCI_AUTOCGETCURRENT 2445 #define SCI_ALLOCATE 2446 +#define SCI_TARGETASUTF8 2447 +#define SCI_SETLENGTHFORENCODE 2448 +#define SCI_ENCODEDFROMUTF8 2449 +#define SCI_FINDCOLUMN 2456 #define SCI_STARTRECORD 3001 #define SCI_STOPRECORD 3002 #define SCI_SETLEXER 4001 diff --git a/contrib/src/stc/scintilla/include/Scintilla.iface b/contrib/src/stc/scintilla/include/Scintilla.iface index fef371328c..5be763f258 100644 --- a/contrib/src/stc/scintilla/include/Scintilla.iface +++ b/contrib/src/stc/scintilla/include/Scintilla.iface @@ -1583,6 +1583,23 @@ fun int AutoCGetCurrent=2445(,) # Enlarge the document to a particular size of text bytes. fun void Allocate=2446(int bytes,) +# Returns the target converted to UTF8. +# Return the length in bytes. +fun int TargetAsUTF8=2447(, stringresult s) + +# Set the length of the utf8 argument for calling EncodedFromUTF8. +# Set to 0 and the string will be measured to the first nul. +fun void SetLengthForEncode=2448(int bytes,) + +# Translates a UTF8 string into the document encoding. +# Return the length of the result in bytes. +# On error return 0. +fun int EncodedFromUTF8=2449(string utf8, stringresult encoded) + +# Find the position of a column on a line taking into account tabs and +# multi-byte characters. If beyond end of line, return line end position. +fun int FindColumn=2456(int line, int column) + # Start notifying the container of all key presses and commands. fun void StartRecord=3001(,) @@ -1733,6 +1750,8 @@ val SCLEX_SPECMAN=59 val SCLEX_AU3=60 val SCLEX_APDL=61 val SCLEX_BASH=62 +val SCLEX_ASN1=63 +val SCLEX_VHDL=64 # When a lexer specifies its language as SCLEX_AUTOMATIC it receives a # value assigned in sequence from SCLEX_AUTOMATIC+1. @@ -2017,6 +2036,7 @@ val SCE_ERR_IFC=16 val SCE_ERR_IFORT=17 val SCE_ERR_ABSF=18 val SCE_ERR_TIDY=19 +val SCE_ERR_JAVA_STACK=20 # Lexical states for SCLEX_BATCH lex Batch=SCLEX_BATCH SCE_BAT_ val SCE_BAT_DEFAULT=0 @@ -2232,6 +2252,7 @@ val SCE_CSS_IMPORTANT=11 val SCE_CSS_DIRECTIVE=12 val SCE_CSS_DOUBLESTRING=13 val SCE_CSS_SINGLESTRING=14 +val SCE_CSS_IDENTIFIER2=15 # Lexical states for SCLEX_POV lex POV=SCLEX_POV SCE_POV_ val SCE_POV_DEFAULT=0 @@ -2496,6 +2517,7 @@ val SCE_AU3_OPERATOR=8 val SCE_AU3_VARIABLE=9 val SCE_AU3_SENT=10 val SCE_AU3_PREPROCESSOR=11 +val SCE_AU3_SPECIAL=12 # Lexical states for SCLEX_APDL lex APDL=SCLEX_APDL SCE_APDL_ val SCE_APDL_DEFAULT=0 @@ -2503,10 +2525,14 @@ val SCE_APDL_COMMENT=1 val SCE_APDL_COMMENTBLOCK=2 val SCE_APDL_NUMBER=3 val SCE_APDL_STRING=4 -val SCE_APDL_WORD=5 -val SCE_APDL_COMMAND=6 +val SCE_APDL_OPERATOR=5 +val SCE_APDL_WORD=6 val SCE_APDL_PROCESSOR=7 -val SCE_APDL_FUNCTION=8 +val SCE_APDL_COMMAND=8 +val SCE_APDL_SLASHCOMMAND=9 +val SCE_APDL_STARCOMMAND=10 +val SCE_APDL_ARGUMENT=11 +val SCE_APDL_FUNCTION=12 # Lexical states for SCLEX_BASH lex Bash=SCLEX_BASH SCE_SH_ val SCE_SH_DEFAULT=0 @@ -2523,6 +2549,37 @@ val SCE_SH_PARAM=10 val SCE_SH_BACKTICKS=11 val SCE_SH_HERE_DELIM=12 val SCE_SH_HERE_Q=13 +# Lexical states for SCLEX_ASN1 +lex Asn1=SCLEX_ASN1 SCE_ASN1_ +val SCE_ASN1_DEFAULT=0 +val SCE_ASN1_COMMENT=1 +val SCE_ASN1_IDENTIFIER=2 +val SCE_ASN1_STRING=3 +val SCE_ASN1_OID=4 +val SCE_ASN1_SCALAR=5 +val SCE_ASN1_KEYWORD=6 +val SCE_ASN1_ATTRIBUTE=7 +val SCE_ASN1_DESCRIPTOR=8 +val SCE_ASN1_TYPE=9 +val SCE_ASN1_OPERATOR=10 +# Lexical states for SCLEX_VHDL +lex VHDL=SCLEX_VHDL SCE_VHDL_ +val SCE_VHDL_DEFAULT=0 +val SCE_VHDL_COMMENT=1 +val SCE_VHDL_COMMENTLINEBANG=2 +val SCE_VHDL_NUMBER=3 +val SCE_VHDL_STRING=4 +val SCE_VHDL_OPERATOR=5 +val SCE_VHDL_IDENTIFIER=6 +val SCE_VHDL_STRINGEOL=7 +val SCE_VHDL_KEYWORD=8 +val SCE_VHDL_STDOPERATOR=9 +val SCE_VHDL_ATTRIBUTE=10 +val SCE_VHDL_STDFUNCTION=11 +val SCE_VHDL_STDPACKAGE=12 +val SCE_VHDL_STDTYPE=13 +val SCE_VHDL_USERWORD=14 + # Events evt void StyleNeeded=2000(int position) diff --git a/contrib/src/stc/scintilla/src/CallTip.cxx b/contrib/src/stc/scintilla/src/CallTip.cxx index 93e888d0e6..003284c12d 100644 --- a/contrib/src/stc/scintilla/src/CallTip.cxx +++ b/contrib/src/stc/scintilla/src/CallTip.cxx @@ -214,7 +214,7 @@ void CallTip::MouseClick(Point pt) { PRectangle CallTip::CallTipStart(int pos, Point pt, const char *defn, const char *faceName, int size, - int codePage_, Window &wParent) { + int codePage_, int characterSet, Window &wParent) { clickPlace = 0; if (val) delete []val; @@ -234,7 +234,7 @@ PRectangle CallTip::CallTipStart(int pos, Point pt, const char *defn, inCallTipMode = true; posStartCallTip = pos; int deviceHeight = surfaceMeasure->DeviceHeightFont(size); - font.Create(faceName, SC_CHARSET_DEFAULT, deviceHeight, false, false); + font.Create(faceName, characterSet, deviceHeight, false, false); // Look for multiple lines in the text // Only support \n here - simply means container must avoid \r! int numLines = 1; diff --git a/contrib/src/stc/scintilla/src/CallTip.h b/contrib/src/stc/scintilla/src/CallTip.h index ffaedb0771..feff7ea0b1 100644 --- a/contrib/src/stc/scintilla/src/CallTip.h +++ b/contrib/src/stc/scintilla/src/CallTip.h @@ -52,7 +52,8 @@ public: /// Setup the calltip and return a rectangle of the area required. PRectangle CallTipStart(int pos, Point pt, const char *defn, - const char *faceName, int size, int codePage_, Window &wParent); + const char *faceName, int size, int codePage_, + int characterSet, Window &wParent); void CallTipCancel(); diff --git a/contrib/src/stc/scintilla/src/CellBuffer.cxx b/contrib/src/stc/scintilla/src/CellBuffer.cxx index 27e62ac61c..8183e4d8d3 100644 --- a/contrib/src/stc/scintilla/src/CellBuffer.cxx +++ b/contrib/src/stc/scintilla/src/CellBuffer.cxx @@ -96,17 +96,20 @@ void MarkerHandleSet::RemoveHandle(int handle) { } } -void MarkerHandleSet::RemoveNumber(int markerNum) { +bool MarkerHandleSet::RemoveNumber(int markerNum) { + bool performedDeletion = false; MarkerHandleNumber **pmhn = &root; while (*pmhn) { MarkerHandleNumber *mhn = *pmhn; if (mhn->number == markerNum) { *pmhn = mhn->next; delete mhn; + performedDeletion = true; } else { pmhn = &((*pmhn)->next); } } + return performedDeletion; } void MarkerHandleSet::CombineWith(MarkerHandleSet *other) { @@ -306,13 +309,18 @@ void LineVector::MergeMarkers(int pos) { } } -void LineVector::DeleteMark(int line, int markerNum) { +void LineVector::DeleteMark(int line, int markerNum, bool all) { if (linesData[line].handleSet) { if (markerNum == -1) { delete linesData[line].handleSet; linesData[line].handleSet = 0; } else { - linesData[line].handleSet->RemoveNumber(markerNum); + bool performedDeletion = + linesData[line].handleSet->RemoveNumber(markerNum); + while (all && performedDeletion) { + performedDeletion = + linesData[line].handleSet->RemoveNumber(markerNum); + } if (linesData[line].handleSet->Length() == 0) { delete linesData[line].handleSet; linesData[line].handleSet = 0; @@ -442,6 +450,9 @@ void UndoHistory::AppendAction(actionType at, int position, char *data, int leng //Platform::DebugPrintf("%% %d action %d %d %d\n", at, position, lengthData, currentAction); //Platform::DebugPrintf("^ %d action %d %d\n", actions[currentAction - 1].at, // actions[currentAction - 1].position, actions[currentAction - 1].lenData); + if (currentAction < savePoint) { + savePoint = -1; + } if (currentAction >= 1) { if (0 == undoSequenceDepth) { // Top level actions may not always be coalesced @@ -833,7 +844,7 @@ int CellBuffer::AddMark(int line, int markerNum) { void CellBuffer::DeleteMark(int line, int markerNum) { if ((line >= 0) && (line < lv.lines)) { - lv.DeleteMark(line, markerNum); + lv.DeleteMark(line, markerNum, false); } } @@ -849,7 +860,7 @@ int CellBuffer::GetMark(int line) { void CellBuffer::DeleteAllMarks(int markerNum) { for (int line = 0; line < lv.lines; line++) { - lv.DeleteMark(line, markerNum); + lv.DeleteMark(line, markerNum, true); } } diff --git a/contrib/src/stc/scintilla/src/CellBuffer.h b/contrib/src/stc/scintilla/src/CellBuffer.h index bf4a102f22..b16eef5e51 100644 --- a/contrib/src/stc/scintilla/src/CellBuffer.h +++ b/contrib/src/stc/scintilla/src/CellBuffer.h @@ -33,7 +33,7 @@ public: bool Contains(int handle); bool InsertHandle(int handle, int markerNum); void RemoveHandle(int handle); - void RemoveNumber(int markerNum); + bool RemoveNumber(int markerNum); void CombineWith(MarkerHandleSet *other); }; @@ -77,7 +77,7 @@ public: int AddMark(int line, int marker); void MergeMarkers(int pos); - void DeleteMark(int line, int markerNum); + void DeleteMark(int line, int markerNum, bool all); void DeleteMarkFromHandle(int markerHandle); int LineFromHandle(int markerHandle); }; diff --git a/contrib/src/stc/scintilla/src/Document.cxx b/contrib/src/stc/scintilla/src/Document.cxx index 97abd62546..76fa456ccb 100644 --- a/contrib/src/stc/scintilla/src/Document.cxx +++ b/contrib/src/stc/scintilla/src/Document.cxx @@ -653,7 +653,7 @@ int Document::FindColumn(int line, int column) { int position = LineStart(line); int columnCurrent = 0; if ((line >= 0) && (line < LinesTotal())) { - while (columnCurrent < column) { + while ((columnCurrent < column) && (position < Length())) { char ch = cb.CharAt(position); if (ch == '\t') { columnCurrent = NextTab(columnCurrent, tabInChars); @@ -682,43 +682,73 @@ void Document::Indent(bool forwards, int lineBottom, int lineTop) { } } +// Convert line endings for a piece of text to a particular mode. +// Stop at len or when a NUL is found. +// Caller must delete the returned pointer. +char *Document::TransformLineEnds(int *pLenOut, const char *s, size_t len, int eolMode) { + char *dest = new char[2 * len + 1]; + const char *sptr = s; + char *dptr = dest; + for (size_t i = 0; (i < len) && (*sptr != '\0'); i++) { + if (*sptr == '\n' || *sptr == '\r') { + if (eolMode == SC_EOL_CR) { + *dptr++ = '\r'; + } else if (eolMode == SC_EOL_LF) { + *dptr++ = '\n'; + } else { // eolMode == SC_EOL_CRLF + *dptr++ = '\r'; + *dptr++ = '\n'; + } + if ((*sptr == '\r') && (i+1 < len) && (*(sptr+1) == '\n')) { + i++; + sptr++; + } + sptr++; + } else { + *dptr++ = *sptr++; + } + } + *dptr++ = '\0'; + *pLenOut = (dptr - dest) - 1; + return dest; +} + void Document::ConvertLineEnds(int eolModeSet) { BeginUndoAction(); + for (int pos = 0; pos < Length(); pos++) { if (cb.CharAt(pos) == '\r') { - if (cb.CharAt(pos + 1) == '\n') { - if (eolModeSet != SC_EOL_CRLF) { - DeleteChars(pos, 2); - if (eolModeSet == SC_EOL_CR) - InsertString(pos, "\r", 1); - else - InsertString(pos, "\n", 1); + if (cb.CharAt(pos + 1) == '\n') { + // CRLF + if (eolModeSet == SC_EOL_CR) { + DeleteChars(pos + 1, 1); // Delete the LF + } else if (eolModeSet == SC_EOL_LF) { + DeleteChars(pos, 1); // Delete the CR } else { pos++; } - } else { - if (eolModeSet != SC_EOL_CR) { - DeleteChars(pos, 1); - if (eolModeSet == SC_EOL_CRLF) { - InsertString(pos, "\r\n", 2); - pos++; - } else { - InsertString(pos, "\n", 1); - } - } - } - } else if (cb.CharAt(pos) == '\n') { - if (eolModeSet != SC_EOL_LF) { - DeleteChars(pos, 1); + } else { + // CR if (eolModeSet == SC_EOL_CRLF) { - InsertString(pos, "\r\n", 2); + InsertString(pos + 1, "\n", 1); // Insert LF pos++; - } else { - InsertString(pos, "\r", 1); + } else if (eolModeSet == SC_EOL_LF) { + InsertString(pos, "\n", 1); // Insert LF + DeleteChars(pos + 1, 1); // Delete CR } } + } else if (cb.CharAt(pos) == '\n') { + // LF + if (eolModeSet == SC_EOL_CRLF) { + InsertString(pos, "\r", 1); // Insert CR + pos++; + } else if (eolModeSet == SC_EOL_CR) { + InsertString(pos, "\r", 1); // Insert CR + DeleteChars(pos + 1, 1); // Delete LF + } } } + EndUndoAction(); } @@ -854,7 +884,7 @@ bool Document::IsWordStartAt(int pos) { * the next character is of a different character class. */ bool Document::IsWordEndAt(int pos) { - if (pos < Length() - 1) { + if (pos < Length()) { charClassification ccPrev = WordCharClass(CharAt(pos-1)); return (ccPrev == ccWord || ccPrev == ccPunctuation) && (ccPrev != WordCharClass(CharAt(pos))); diff --git a/contrib/src/stc/scintilla/src/Document.h b/contrib/src/stc/scintilla/src/Document.h index 54ecadb004..ce27ffc476 100644 --- a/contrib/src/stc/scintilla/src/Document.h +++ b/contrib/src/stc/scintilla/src/Document.h @@ -156,6 +156,7 @@ public: int GetColumn(int position); int FindColumn(int line, int column); void Indent(bool forwards, int lineBottom, int lineTop); + static char *TransformLineEnds(int *pLenOut, const char *s, size_t len, int eolMode); void ConvertLineEnds(int eolModeSet); void SetReadOnly(bool set) { cb.SetReadOnly(set); } bool IsReadOnly() { return cb.IsReadOnly(); } diff --git a/contrib/src/stc/scintilla/src/Editor.cxx b/contrib/src/stc/scintilla/src/Editor.cxx index 591125dda6..399e659764 100644 --- a/contrib/src/stc/scintilla/src/Editor.cxx +++ b/contrib/src/stc/scintilla/src/Editor.cxx @@ -361,6 +361,8 @@ Editor::Editor() { topLine = 0; posTopLine = 0; + lengthForEncode = 0; + needUpdateUI = true; braces[0] = invalidPosition; braces[1] = invalidPosition; @@ -670,7 +672,7 @@ int Editor::LineFromLocation(Point pt) { void Editor::SetTopLine(int topLineNew) { topLine = topLineNew; - posTopLine = pdoc->LineStart(topLine); + posTopLine = pdoc->LineStart(cs.DocFromDisplay(topLine)); } static inline bool IsEOLChar(char ch) { @@ -1392,6 +1394,7 @@ void Editor::EnsureCaretVisible(bool useMargin, bool vert, bool horiz) { Redraw(); } } + UpdateSystemCaret(); } void Editor::ShowCaretAtCurrentPosition() { @@ -1416,6 +1419,10 @@ void Editor::InvalidateCaret() { InvalidateRange(posDrag, posDrag + 1); else InvalidateRange(currentPos, currentPos + 1); + UpdateSystemCaret(); +} + +void Editor::UpdateSystemCaret() { } void Editor::NeedWrapping(int docLineStartWrapping, int docLineEndWrapping) { @@ -2206,8 +2213,9 @@ void Editor::DrawLine(Surface *surface, ViewStyle &vsDraw, int line, int lineVis // See if something overrides the line background color: Either if caret is on the line // and background color is set for that, or if a marker is defined that forces its background // color onto the line, or if a marker is defined but has no selection margin in which to - // display itself. These are checked in order with the earlier taking precedence. When - // multiple markers cause background override, the color for the highest numbered one is used. + // display itself (as long as it's not an SC_MARK_EMPTY marker). These are checked in order + // with the earlier taking precedence. When multiple markers cause background override, + // the color for the highest numbered one is used. bool overrideBackground = false; ColourAllocated background; if (caret.active && vsDraw.showCaretLineBackground && ll->containsCaret) { @@ -2228,9 +2236,9 @@ void Editor::DrawLine(Surface *surface, ViewStyle &vsDraw, int line, int lineVis if (vsDraw.maskInLine) { int marks = pdoc->GetMark(line) & vsDraw.maskInLine; if (marks) { - overrideBackground = true; for (int markBit = 0; (markBit < 32) && marks; markBit++) { - if (marks & 1) { + if ((marks & 1) && (vsDraw.markers[markBit].markType != SC_MARK_EMPTY)) { + overrideBackground = true; background = vsDraw.markers[markBit].back.allocated; } marks >>= 1; @@ -2523,10 +2531,11 @@ void Editor::DrawLine(Surface *surface, ViewStyle &vsDraw, int line, int lineVis indStart[indica] = 0; for (int indicPos = lineStart; indicPos <= lineEnd; indicPos++) { - if ((indicPos == lineEnd) || (ll->indicators[indicPos] != ll->indicators[indicPos + 1])) { + if ((indicPos == lineStart) || (indicPos == lineEnd) || + (ll->indicators[indicPos] != ll->indicators[indicPos + 1])) { int mask = 1 << pdoc->stylingBits; for (int indicnum = 0; mask < 0x100; indicnum++) { - if ((indicPos == lineEnd)) { + if ((indicPos == lineStart) || (indicPos == lineEnd)) { indStart[indicnum] = ll->positions[indicPos]; } else if ((ll->indicators[indicPos + 1] & mask) && !(ll->indicators[indicPos] & mask)) { indStart[indicnum] = ll->positions[indicPos + 1]; @@ -3283,7 +3292,6 @@ void Editor::ClearAll() { currentPos = 0; SetTopLine(0); SetVerticalScrollPos(); - InvalidateStyleRedraw(); } void Editor::ClearDocumentStyle() { @@ -4154,16 +4162,20 @@ int Editor::KeyCommand(unsigned int iMessage) { break; case SCI_LINEENDWRAP: { int endPos = MovePositionSoVisible(StartEndDisplayLine(currentPos, false), 1); - if (currentPos >= endPos) - endPos = pdoc->LineEndPosition(currentPos); + int realEndPos = pdoc->LineEndPosition(currentPos); + if (endPos > realEndPos // if moved past visible EOLs + || currentPos >= endPos) // if at end of display line already + endPos = realEndPos; MovePositionTo(endPos); SetLastXChosen(); } break; case SCI_LINEENDWRAPEXTEND: { int endPos = MovePositionSoVisible(StartEndDisplayLine(currentPos, false), 1); - if (currentPos >= endPos) - endPos = pdoc->LineEndPosition(currentPos); + int realEndPos = pdoc->LineEndPosition(currentPos); + if (endPos > realEndPos // if moved past visible EOLs + || currentPos >= endPos) // if at end of display line already + endPos = realEndPos; MovePositionTo(endPos, selStream); SetLastXChosen(); } @@ -4929,7 +4941,7 @@ void Editor::ButtonDown(Point pt, unsigned int curTime, bool shift, bool ctrl, b //Platform::DebugPrintf("Double click: %d - %d\n", anchor, currentPos); if (doubleClick) { NotifyDoubleClick(pt, shift); - if (PointIsHotspot(newPos)) + if (PositionIsHotspot(newPos)) NotifyHotSpotDoubleClicked(newPos, shift, ctrl, alt); } } else { // Single click @@ -6301,6 +6313,9 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { case SCI_GETCOLUMN: return pdoc->GetColumn(wParam); + case SCI_FINDCOLUMN: + return pdoc->FindColumn(wParam, lParam); + case SCI_SETHSCROLLBAR : if (horizontalScrollBarVisible != (wParam != 0)) { horizontalScrollBarVisible = wParam != 0; @@ -6949,6 +6964,10 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { SetSelection(currentPos, anchor); // Ensure selection inside document return 0; + case SCI_SETLENGTHFORENCODE: + lengthForEncode = wParam; + return 0; + case SCI_SELECTIONISRECTANGLE: return selType == selRectangle ? 1 : 0; diff --git a/contrib/src/stc/scintilla/src/Editor.h b/contrib/src/stc/scintilla/src/Editor.h index b9bda04ab4..e14cb5ed95 100644 --- a/contrib/src/stc/scintilla/src/Editor.h +++ b/contrib/src/stc/scintilla/src/Editor.h @@ -127,7 +127,7 @@ public: /** * Hold a piece of text selected for copying or dragging. - * The text is expected to hold a terminating '\0'. + * The text is expected to hold a terminating '\0' and this is counted in len. */ class SelectionText { public: @@ -257,6 +257,7 @@ protected: // ScintillaBase subclass needs access to much of Editor int searchFlags; int topLine; int posTopLine; + int lengthForEncode; bool needUpdateUI; Position braces[2]; @@ -368,6 +369,7 @@ protected: // ScintillaBase subclass needs access to much of Editor void ShowCaretAtCurrentPosition(); void DropCaret(); void InvalidateCaret(); + virtual void UpdateSystemCaret(); void NeedWrapping(int docLineStartWrapping = 0, int docLineEndWrapping = 0x7ffffff); bool WrapLines(bool fullWrap, int priorityWrapLineStart); diff --git a/contrib/src/stc/scintilla/src/KeyWords.cxx b/contrib/src/stc/scintilla/src/KeyWords.cxx index def79f6ecd..67e52ec11a 100644 --- a/contrib/src/stc/scintilla/src/KeyWords.cxx +++ b/contrib/src/stc/scintilla/src/KeyWords.cxx @@ -132,6 +132,7 @@ int Scintilla_LinkLexers() { LINK_LEXER(lmAda); LINK_LEXER(lmAPDL); LINK_LEXER(lmAsm); + LINK_LEXER(lmAsn1); LINK_LEXER(lmAU3); LINK_LEXER(lmAVE); LINK_LEXER(lmBaan); @@ -189,6 +190,7 @@ int Scintilla_LinkLexers() { LINK_LEXER(lmVB); LINK_LEXER(lmVBScript); LINK_LEXER(lmVerilog); + LINK_LEXER(lmVHDL); LINK_LEXER(lmYAML); //--Autogenerated -- end of automatically generated section diff --git a/contrib/src/stc/scintilla/src/LexAPDL.cxx b/contrib/src/stc/scintilla/src/LexAPDL.cxx index b739e9a7cb..1cf263e501 100644 --- a/contrib/src/stc/scintilla/src/LexAPDL.cxx +++ b/contrib/src/stc/scintilla/src/LexAPDL.cxx @@ -1,3 +1,10 @@ +// Scintilla source code edit control +/** @file LexAPDL.cxx + ** Lexer for APDL. Based on the lexer for Assembler by The Black Horus. + ** By Hadar Raz. + **/ +// Copyright 1998-2003 by Neil Hodgson +// The License.txt file describes the conditions under which this software may be distributed. #include #include @@ -16,158 +23,113 @@ static inline bool IsAWordChar(const int ch) { - return (ch < 0x80) && (isalnum(ch) || ch == '_'); + return (ch < 0x80 && (isalnum(ch) || ch == '_')); } -static inline bool IsAWordStart(const int ch) { - return (ch < 0x80) && (isalnum(ch) || ch == '/' || ch == '*'); +static inline bool IsAnOperator(char ch) { + // '.' left out as it is used to make up numbers + if (ch == '*' || ch == '/' || ch == '-' || ch == '+' || + ch == '(' || ch == ')' || ch == '=' || ch == '^' || + ch == '[' || ch == ']' || ch == '<' || ch == '&' || + ch == '>' || ch == ',' || ch == '|' || ch == '~' || + ch == '$' || ch == ':' || ch == '%') + return true; + return false; } -inline bool IsABlank(unsigned int ch) { - return (ch == ' ') || (ch == 0x09) || (ch == 0x0b) ; -} - - - -static void ColouriseAPDLDoc(unsigned int startPos, int length, int initStyle, - WordList *keywordlists[], Accessor &styler) -{ - - //~ FILE *fp; - //~ fp = fopen("myoutput.txt", "w"); - - WordList &commands = *keywordlists[0]; - WordList &processors = *keywordlists[1]; - WordList &functions = *keywordlists[2]; - - - // backtrack to the beginning of the document, this may be slow for big documents. - initStyle = SCE_APDL_DEFAULT; - StyleContext sc(0, startPos+length, initStyle, styler); - - // backtrack to the nearest keyword - //~ while ((startPos > 1) && (styler.StyleAt(startPos) != SCE_APDL_WORD)) { - //~ startPos--; - //~ } - //~ startPos = styler.LineStart(styler.GetLine(startPos)); - //~ initStyle = styler.StyleAt(startPos - 1); - //~ StyleContext sc(startPos, endPos-startPos, initStyle, styler); - - bool firstInLine = true; - bool atEOL; - - for (; sc.More(); sc.Forward()) { - - atEOL = (sc.ch == '\r' && sc.chNext == '\n') || (sc.ch == '\n'); - - //~ if (sc.ch == '\r') { - //~ fprintf(fp,"CR\t%d\t%d", atEOL, firstInLine); - //~ } else if (sc.ch == '\n') { - //~ fprintf(fp,"LF\t%d\t%d", atEOL, firstInLine); - //~ } else { - //~ fprintf(fp,"%c\t%d\t%d", sc.ch, atEOL, firstInLine); - //~ } - - // Determine if the current state should terminate. - if (sc.state == SCE_APDL_COMMENT) { - //~ fprintf(fp,"\tCOMMENT"); - if (atEOL) { - sc.SetState(SCE_APDL_DEFAULT); - } - } else if (sc.state == SCE_APDL_COMMENTBLOCK) { - //~ fprintf(fp,"\tCOMMENTBLOCK"); - if (atEOL) { - if (sc.ch == '\r') { - sc.Forward(); - } - sc.ForwardSetState(SCE_APDL_DEFAULT); - } - } else if (sc.state == SCE_APDL_NUMBER) { - //~ fprintf(fp,"\tNUMBER"); - if (isdigit(sc.ch)) { - } else if ((sc.ch == 'e' || sc.ch == 'E') && (isdigit(sc.chNext) || sc.chNext == '+' || sc.chNext == '-')) { - } else if (sc.ch == '.') { - } else if ((sc.ch == '+' || sc.ch == '-') && (sc.chPrev == 'e' || sc.chPrev == 'E')) { - } else { - sc.SetState(SCE_APDL_DEFAULT); - } - } else if (sc.state == SCE_APDL_STRING) { - //~ fprintf(fp,"\tSTRING"); - if (sc.ch == '\"') { - //~ sc.ForwardSetState(SCE_APDL_DEFAULT); - sc.Forward(); - atEOL = (sc.ch == '\r' && sc.chNext == '\n') || (sc.ch == '\n'); - if (atEOL) { - firstInLine = true; - } - sc.SetState(SCE_APDL_DEFAULT); - } - } else if (sc.state == SCE_APDL_WORD) { - //~ fprintf(fp,"\tWORD"); - if (!IsAWordChar(sc.ch) || sc.ch == '%') { - char s[100]; - sc.GetCurrentLowered(s, sizeof(s)); - if (commands.InList(s) && firstInLine) { - if (IsABlank(sc.ch) || sc.ch == ',' || atEOL) { - sc.ChangeState(SCE_APDL_COMMAND); - } - if (sc.ch != '\n') { - firstInLine = false; - } - } else if (processors.InList(s)) { - if (IsABlank(sc.ch) || atEOL) { - sc.ChangeState(SCE_APDL_PROCESSOR); - while (sc.ch != '\n') { - sc.Forward(); - } - sc.Forward(); - } - } else if (functions.InList(s)) { - sc.ChangeState(SCE_APDL_FUNCTION); - if (sc.ch != '\n') { - firstInLine = false; - } - } else { - if (sc.ch != '\n') { - firstInLine = false; - } - } - sc.SetState(SCE_APDL_DEFAULT); - } - } - - // Determine if a new state should be entered. - if (sc.state == SCE_APDL_DEFAULT) { - if (sc.ch == '!' && sc.chNext != '!') { - sc.SetState(SCE_APDL_COMMENT); - } else if (sc.ch == '!' && sc.chNext == '!') { - sc.SetState(SCE_APDL_COMMENTBLOCK); - } else if (IsADigit(sc.ch) && !IsAWordChar(sc.chPrev)) { - sc.SetState(SCE_APDL_NUMBER); - } else if (sc.ch == '.' && (isoperator(static_cast(sc.chPrev)) || - IsABlank(sc.chPrev) || sc.chPrev == '\n' || sc.chPrev == '\r')) { - sc.SetState(SCE_APDL_NUMBER); - } else if (sc.ch == '\"') { - sc.SetState(SCE_APDL_STRING); - } else if (IsAWordStart(sc.ch) && (!IsADigit(sc.chPrev))) { - sc.SetState(SCE_APDL_WORD); - } - - } - //~ fprintf(fp,"\n"); - - if (atEOL) { - firstInLine = true; - } - - } - sc.Complete(); +static void ColouriseAPDLDoc(unsigned int startPos, int length, int initStyle, WordList *keywordlists[], + Accessor &styler) { + + int stringStart = ' '; + + WordList &processors = *keywordlists[0]; + WordList &commands = *keywordlists[1]; + WordList &slashcommands = *keywordlists[2]; + WordList &starcommands = *keywordlists[3]; + WordList &arguments = *keywordlists[4]; + WordList &functions = *keywordlists[5]; + + // Do not leak onto next line + initStyle = SCE_APDL_DEFAULT; + StyleContext sc(startPos, length, initStyle, styler); + + for (; sc.More(); sc.Forward()) { + // Determine if the current state should terminate. + if (sc.state == SCE_APDL_NUMBER) { + if (!(IsADigit(sc.ch) || sc.ch == '.' || (sc.ch == 'e' || sc.ch == 'E') || + ((sc.ch == '+' || sc.ch == '-') && (sc.chPrev == 'e' || sc.chPrev == 'E')))) { + sc.SetState(SCE_APDL_DEFAULT); + } + } else if (sc.state == SCE_APDL_COMMENT) { + if (sc.atLineEnd) { + sc.SetState(SCE_APDL_DEFAULT); + } + } else if (sc.state == SCE_APDL_COMMENTBLOCK) { + if (sc.atLineEnd) { + if (sc.ch == '\r') { + sc.Forward(); + } + sc.ForwardSetState(SCE_APDL_DEFAULT); + } + } else if (sc.state == SCE_APDL_STRING) { + if (sc.atLineEnd) { + sc.SetState(SCE_APDL_DEFAULT); + } else if ((sc.ch == '\'' && stringStart == '\'') || (sc.ch == '\"' && stringStart == '\"')) { + sc.ForwardSetState(SCE_APDL_DEFAULT); + } + } else if (sc.state == SCE_APDL_WORD) { + if (!IsAWordChar(sc.ch)) { + char s[100]; + sc.GetCurrentLowered(s, sizeof(s)); + if (processors.InList(s)) { + sc.ChangeState(SCE_APDL_PROCESSOR); + } else if (slashcommands.InList(s)) { + sc.ChangeState(SCE_APDL_SLASHCOMMAND); + } else if (starcommands.InList(s)) { + sc.ChangeState(SCE_APDL_STARCOMMAND); + } else if (commands.InList(s)) { + sc.ChangeState(SCE_APDL_COMMAND); + } else if (arguments.InList(s)) { + sc.ChangeState(SCE_APDL_ARGUMENT); + } else if (functions.InList(s)) { + sc.ChangeState(SCE_APDL_FUNCTION); + } + sc.SetState(SCE_APDL_DEFAULT); + } + } else if (sc.state == SCE_APDL_OPERATOR) { + if (!IsAnOperator(static_cast(sc.ch))) { + sc.SetState(SCE_APDL_DEFAULT); + } + } + + // Determine if a new state should be entered. + if (sc.state == SCE_APDL_DEFAULT) { + if (sc.ch == '!' && sc.chNext == '!') { + sc.SetState(SCE_APDL_COMMENTBLOCK); + } else if (sc.ch == '!') { + sc.SetState(SCE_APDL_COMMENT); + } else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) { + sc.SetState(SCE_APDL_NUMBER); + } else if (sc.ch == '\'' || sc.ch == '\"') { + sc.SetState(SCE_APDL_STRING); + stringStart = sc.ch; + } else if (IsAWordChar(sc.ch) || ((sc.ch == '*' || sc.ch == '/') && !isgraph(sc.chPrev))) { + sc.SetState(SCE_APDL_WORD); + } else if (IsAnOperator(static_cast(sc.ch))) { + sc.SetState(SCE_APDL_OPERATOR); + } + } + } + sc.Complete(); } static const char * const apdlWordListDesc[] = { - "Commands", - "Processors", - "Functions", + "processors", + "commands", + "slashommands", + "starcommands", + "arguments", + "functions", 0 }; diff --git a/contrib/src/stc/scintilla/src/LexAU3.cxx b/contrib/src/stc/scintilla/src/LexAU3.cxx index 8bc1f062eb..31e4ee52d2 100644 --- a/contrib/src/stc/scintilla/src/LexAU3.cxx +++ b/contrib/src/stc/scintilla/src/LexAU3.cxx @@ -12,9 +12,20 @@ // Fixed "#comments_end" -> "#comments-end" // Fixed Sendkeys in Strings when not terminated with } // Added support for Sendkey strings that have second parameter e.g. {UP 5} or {a down} -// April 26, 2004 Fixed # pre-processor statement inside of comment block would invalidly change the color. +// April 26, 2004 - Fixed # pre-processor statement inside of comment block would invalidly change the color. // Added logic for #include to treat the <> as string // Added underscore to IsAOperator. +// May 17, 2004 - Changed the folding logic from indent to keyword folding. +// Added Folding logic for blocks of single-commentlines or commentblock. +// triggered by: fold.comment=1 +// Added Folding logic for preprocessor blocks triggered by fold.preprocessor=1 +// Added Special for #region - #endregion syntax highlight and folding. +// May 30, 2004 - Fixed issue with continuation lines on If statements. +// June 5, 2004 - Added comma to Operators for better readability. +// Added fold.compact support set with fold.compact=1 +// Changed folding inside of #cs-#ce. Default is no keyword folding inside comment blocks when fold.comment=1 +// it will now only happen when fold.comment=2. +// // Copyright for Scintilla: 1998-2001 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. // Scintilla source code edit control @@ -34,17 +45,13 @@ #include "Scintilla.h" #include "SciLexer.h" -static bool IsAU3Comment(Accessor &styler, int pos, int len) { - return len>0 && styler[pos]==';'; -} - static inline bool IsTypeCharacter(const int ch) { return ch == '$'; } static inline bool IsAWordChar(const int ch) { - return (ch < 0x80) && (isalnum(ch) || ch == '_' || ch == '-'); + return (ch < 0x80) && (isalnum(ch) || ch == '_'); } static inline bool IsAWordStart(const int ch) @@ -57,7 +64,7 @@ static inline bool IsAOperator(char ch) { return false; if (ch == '+' || ch == '-' || ch == '*' || ch == '/' || ch == '&' || ch == '^' || ch == '=' || ch == '<' || ch == '>' || - ch == '(' || ch == ')' || ch == '[' || ch == ']' || ch == '_' ) + ch == '(' || ch == ')' || ch == '[' || ch == ']' || ch == ',' ) return true; return false; } @@ -111,9 +118,9 @@ static int GetSendKey(const char *szLine, char *szKey) // Check if the second portion is either a number or one of these keywords szKey[nKeyPos] = '\0'; szSpecial[nSpecPos] = '\0'; - if (strcmp(szSpecial,"down")==0 || strcmp(szSpecial,"up")==0 || - strcmp(szSpecial,"on")==0 || strcmp(szSpecial,"off")==0 || - strcmp(szSpecial,"toggle")==0 || nSpecNum == 1 ) + if (strcmp(szSpecial,"down")== 0 || strcmp(szSpecial,"up")== 0 || + strcmp(szSpecial,"on")== 0 || strcmp(szSpecial,"off")== 0 || + strcmp(szSpecial,"toggle")== 0 || nSpecNum == 1 ) { nFlag = 0; } @@ -121,9 +128,9 @@ static int GetSendKey(const char *szLine, char *szKey) { nFlag = 1; } - return nFlag; // 1 is bad, 0 is good + return nFlag; // 1 is bad, 0 is good -} // GetSendKey() +} // GetSendKey() static void ColouriseAU3Doc(unsigned int startPos, int length, int initStyle, @@ -135,6 +142,7 @@ static void ColouriseAU3Doc(unsigned int startPos, WordList &keywords3 = *keywordlists[2]; WordList &keywords4 = *keywordlists[3]; WordList &keywords5 = *keywordlists[4]; + WordList &keywords6 = *keywordlists[5]; styler.StartAt(startPos); StyleContext sc(startPos, length, initStyle, styler); @@ -148,9 +156,9 @@ static void ColouriseAU3Doc(unsigned int startPos, { case SCE_AU3_COMMENTBLOCK: { - if (!IsAWordChar(sc.ch)) + if (!(IsAWordChar(sc.ch) || (sc.ch == '-' && strcmp(s, "#comments") == 0))) { - if ((strcmp(s, "#ce")==0 || strcmp(s, "#comments-end")==0)) + if ((strcmp(s, "#ce")== 0 || strcmp(s, "#comments-end")== 0)) {sc.SetState(SCE_AU3_COMMENT);} // set to comment line for the rest of the line else {sc.SetState(SCE_AU3_COMMENTBLOCK);} @@ -167,13 +175,18 @@ static void ColouriseAU3Doc(unsigned int startPos, sc.SetState(SCE_AU3_DEFAULT); break; } + case SCE_AU3_SPECIAL: + { + if (sc.atLineEnd) {sc.SetState(SCE_AU3_DEFAULT);} + break; + } case SCE_AU3_KEYWORD: { - if (!IsAWordChar(sc.ch)) + if (!(IsAWordChar(sc.ch) || (sc.ch == '-' && (strcmp(s, "#comments") == 0 || strcmp(s, "#include") == 0)))) { if (!IsTypeCharacter(sc.ch)) { - if (strcmp(s, "#cs")==0 || strcmp(s, "#comments-start")==0 ) + if (strcmp(s, "#cs")== 0 || strcmp(s, "#comments-start")== 0 ) { sc.ChangeState(SCE_AU3_COMMENTBLOCK); sc.SetState(SCE_AU3_COMMENTBLOCK); @@ -193,11 +206,19 @@ static void ColouriseAU3Doc(unsigned int startPos, else if (keywords5.InList(s)) { sc.ChangeState(SCE_AU3_PREPROCESSOR); sc.SetState(SCE_AU3_DEFAULT); - if (strcmp(s, "#include")==0) + if (strcmp(s, "#include")== 0) { si = 3; // use to determine string start for #inlude <> } } + else if (keywords6.InList(s)) { + sc.ChangeState(SCE_AU3_SPECIAL); + sc.SetState(SCE_AU3_SPECIAL); + } + else if (strcmp(s, "_") == 0) { + sc.ChangeState(SCE_AU3_OPERATOR); + sc.SetState(SCE_AU3_DEFAULT); + } else if (!IsAWordChar(sc.ch)) { sc.ChangeState(SCE_AU3_DEFAULT); sc.SetState(SCE_AU3_DEFAULT); @@ -302,8 +323,8 @@ static void ColouriseAU3Doc(unsigned int startPos, sc.SetState(SCE_AU3_STRING); si = 2; } else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {sc.SetState(SCE_AU3_NUMBER);} - else if (IsAOperator(static_cast(sc.ch))) {sc.SetState(SCE_AU3_OPERATOR);} else if (IsAWordStart(sc.ch)) {sc.SetState(SCE_AU3_KEYWORD);} + else if (IsAOperator(static_cast(sc.ch))) {sc.SetState(SCE_AU3_OPERATOR);} else if (sc.atLineEnd) {sc.SetState(SCE_AU3_DEFAULT);} } } //for (; sc.More(); sc.Forward()) @@ -311,11 +332,62 @@ static void ColouriseAU3Doc(unsigned int startPos, } // +static bool IsStreamCommentStyle(int style) { + return style == SCE_AU3_COMMENT || style == SCE_AU3_COMMENTBLOCK; +} + // -static void FoldAU3Doc(unsigned int startPos, int length, int, WordList *[], Accessor &styler) +// Routine to find first none space on the current line and return its Style +// needed for comment lines not starting on pos 1 +static int GetStyleFirstWord(unsigned int szLine, Accessor &styler) { - int endPos = startPos + length; + int nsPos = styler.LineStart(szLine); + int nePos = styler.LineStart(szLine+1) - 1; + while (isspacechar(styler.SafeGetCharAt(nsPos)) && nsPos < nePos) + { + nsPos++; // skip to next char + + } // End While + return styler.StyleAt(nsPos); +} // GetStyleFirstWord() + +// +// Routine to check the last "none comment" character on a line to see if its a continuation +// +static bool IsContinuationLine(unsigned int szLine, Accessor &styler) +{ + int nsPos = styler.LineStart(szLine); + int nePos = styler.LineStart(szLine+1) - 2; + //int stylech = styler.StyleAt(nsPos); + while (nsPos < nePos) + { + //stylech = styler.StyleAt(nePos); + int stylech = styler.StyleAt(nsPos); + if (!(stylech == SCE_AU3_COMMENT)) { + char ch = styler.SafeGetCharAt(nePos); + if (!isspacechar(ch)) { + if (ch == '_') + return true; + else + return false; + } + } + nePos--; // skip to next char + } // End While + return false; +} // IsContinuationLine() + + +// +static void FoldAU3Doc(unsigned int startPos, int length, int, WordList *[], Accessor &styler) +{ + int endPos = startPos + length; + // get settings from the config files for folding comments and preprocessor lines + bool foldComment = styler.GetPropertyInt("fold.comment") != 0; + bool foldInComment = styler.GetPropertyInt("fold.comment") == 2; + bool foldCompact = styler.GetPropertyInt("fold.compact", 1) != 0; + bool foldpreprocessor = styler.GetPropertyInt("fold.preprocessor") != 0; // Backtrack to previous line in case need to fix its fold status int lineCurrent = styler.GetLine(startPos); if (startPos > 0) { @@ -324,35 +396,207 @@ static void FoldAU3Doc(unsigned int startPos, int length, int, WordList *[], Acc startPos = styler.LineStart(lineCurrent); } } - int spaceFlags = 0; - int indentCurrent = styler.IndentAmount(lineCurrent, &spaceFlags, IsAU3Comment); - char chNext = styler[startPos]; + // vars for style of previous/current/next lines + int style = GetStyleFirstWord(lineCurrent,styler); + int stylePrev = 0; + // find the first previous line without continuation character at the end + while ((lineCurrent > 0 && IsContinuationLine(lineCurrent,styler)) || + (lineCurrent > 1 && IsContinuationLine(lineCurrent-1,styler))) { + lineCurrent--; + startPos = styler.LineStart(lineCurrent); + } + if (lineCurrent > 0) { + stylePrev = GetStyleFirstWord(lineCurrent-1,styler); + } + // vars for getting first word to check for keywords + bool FirstWordStart = false; + bool FirstWordEnd = false; + char szKeyword[10]=""; + int szKeywordlen = 0; + char szThen[5]=""; + int szThenlen = 0; + bool ThenFoundLast = false; + // var for indentlevel + int levelCurrent = SC_FOLDLEVELBASE; + if (lineCurrent > 0) + levelCurrent = styler.LevelAt(lineCurrent-1) >> 16; + int levelNext = levelCurrent; + // + int visibleChars = 0; + char chNext = styler.SafeGetCharAt(startPos); + char chPrev = ' '; + // for (int i = startPos; i < endPos; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); - - if ((ch == '\r' && chNext != '\n') || (ch == '\n') || (i == endPos)) { - int lev = indentCurrent; - int indentNext = styler.IndentAmount(lineCurrent + 1, &spaceFlags, IsAU3Comment); - if (!(indentCurrent & SC_FOLDLEVELWHITEFLAG)) { - // Only non whitespace lines can be headers - if ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext & SC_FOLDLEVELNUMBERMASK)) { - lev |= SC_FOLDLEVELHEADERFLAG; - } else if (indentNext & SC_FOLDLEVELWHITEFLAG) { - // Line after is blank so check the next - maybe should continue further? - int spaceFlags2 = 0; - int indentNext2 = styler.IndentAmount(lineCurrent + 2, &spaceFlags2, IsAU3Comment); - if ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext2 & SC_FOLDLEVELNUMBERMASK)) { - lev |= SC_FOLDLEVELHEADERFLAG; + if (IsAWordChar(ch)) { + visibleChars++; + } + // get the syle for the current character neede to check in comment + int stylech = styler.StyleAt(i); + // get first word for the line for indent check max 9 characters + if (FirstWordStart && (!(FirstWordEnd))) { + if (!IsAWordChar(ch)) { + FirstWordEnd = true; + szKeyword[szKeywordlen] = '\0'; + } + else { + if (szKeywordlen < 10) { + szKeyword[szKeywordlen++] = static_cast(tolower(ch)); + } + } + } + // start the capture of the first word + if (!(FirstWordStart)) { + if (IsAWordChar(ch) || IsAWordStart(ch) || ch == ';') { + FirstWordStart = true; + szKeyword[szKeywordlen++] = static_cast(tolower(ch)); + } + } + // only process this logic when not in comment section + if (!(stylech == SCE_AU3_COMMENT)) { + if (ThenFoundLast) { + if (IsAWordChar(ch)) { + ThenFoundLast = false; + } + } + // find out if the word "then" is the last on a "if" line + if (FirstWordEnd && strcmp(szKeyword,"if") == 0) { + if (szThenlen == 4) { + szThen[0] = szThen[1]; + szThen[1] = szThen[2]; + szThen[2] = szThen[3]; + szThen[3] = static_cast(tolower(ch)); + if (strcmp(szThen,"then") == 0 ) { + ThenFoundLast = true; + } + } + else { + szThen[szThenlen++] = static_cast(tolower(ch)); + if (szThenlen == 5) { + szThen[4] = '\0'; } } } - indentCurrent = indentNext; - styler.SetLevel(lineCurrent, lev); + } + // End of Line found so process the information + if ((ch == '\r' && chNext != '\n') || (ch == '\n') || (i == endPos)) { + // ************************** + // Folding logic for Keywords + // ************************** + // if a keyword is found on the current line and the line doesn't end with _ (continuation) + // and we are not inside a commentblock. + if (szKeywordlen > 0 && (!(chPrev == '_')) && + ((!(IsStreamCommentStyle(style)) || foldInComment)) ) { + szKeyword[szKeywordlen] = '\0'; + // only fold "if" last keyword is "then" (else its a one line if) + if (strcmp(szKeyword,"if") == 0 && ThenFoundLast) { + levelNext++; + } + // create new fold for these words + if (strcmp(szKeyword,"do") == 0 || strcmp(szKeyword,"for") == 0 || + strcmp(szKeyword,"func") == 0 || strcmp(szKeyword,"while") == 0|| + strcmp(szKeyword,"#region") == 0 ) { + levelNext++; + } + // create double Fold for select because Case will subtract one of the current level + if (strcmp(szKeyword,"select") == 0) { + levelNext++; + levelNext++; + } + // end the fold for these words before the current line + if (strcmp(szKeyword,"endfunc") == 0 || strcmp(szKeyword,"endif") == 0 || + strcmp(szKeyword,"next") == 0 || strcmp(szKeyword,"until") == 0 || + strcmp(szKeyword,"wend") == 0){ + levelNext--; + levelCurrent--; + } + // end the fold for these words before the current line and Start new fold + if (strcmp(szKeyword,"case") == 0 || strcmp(szKeyword,"else") == 0 || + strcmp(szKeyword,"elseif") == 0 ) { + levelCurrent--; + } + // end the double fold for this word before the current line + if (strcmp(szKeyword,"endselect") == 0 ) { + levelNext--; + levelNext--; + levelCurrent--; + levelCurrent--; + } + // end the fold for these words on the current line + if (strcmp(szKeyword,"#endregion") == 0 ) { + levelNext--; + } + } + // Preprocessor and Comment folding + int styleNext = GetStyleFirstWord(lineCurrent + 1,styler); + // ************************************* + // Folding logic for preprocessor blocks + // ************************************* + // process preprosessor line + if (foldpreprocessor && style == SCE_AU3_PREPROCESSOR) { + if (!(stylePrev == SCE_AU3_PREPROCESSOR) && (styleNext == SCE_AU3_PREPROCESSOR)) { + levelNext++; + } + // fold till the last line for normal comment lines + else if (stylePrev == SCE_AU3_PREPROCESSOR && !(styleNext == SCE_AU3_PREPROCESSOR)) { + levelNext--; + } + } + // ********************************* + // Folding logic for Comment blocks + // ********************************* + if (foldComment && IsStreamCommentStyle(style)) { + // Start of a comment block + if (!(stylePrev==style) && IsStreamCommentStyle(styleNext) && styleNext==style) { + levelNext++; + } + // fold till the last line for normal comment lines + else if (IsStreamCommentStyle(stylePrev) + && !(styleNext == SCE_AU3_COMMENT) + && stylePrev == SCE_AU3_COMMENT + && style == SCE_AU3_COMMENT) { + levelNext--; + } + // fold till the one but last line for Blockcomment lines + else if (IsStreamCommentStyle(stylePrev) + && !(styleNext == SCE_AU3_COMMENTBLOCK) + && style == SCE_AU3_COMMENTBLOCK) { + levelNext--; + levelCurrent--; + } + } + int levelUse = levelCurrent; + int lev = levelUse | levelNext << 16; + if (visibleChars == 0 && foldCompact) + lev |= SC_FOLDLEVELWHITEFLAG; + if (levelUse < levelNext) { + lev |= SC_FOLDLEVELHEADERFLAG; + } + if (lev != styler.LevelAt(lineCurrent)) { + styler.SetLevel(lineCurrent, lev); + } + // reset values for the next line lineCurrent++; + stylePrev = style; + style = styleNext; + levelCurrent = levelNext; + visibleChars = 0; + // if the last character is an Underscore then don't reset since the line continues on the next line. + if (!(chPrev == '_')) { + szKeywordlen = 0; + szThenlen = 0; + FirstWordStart = false; + FirstWordEnd = false; + ThenFoundLast = false; + } + } + // save the last processed character + if (!isspacechar(ch)) { + chPrev = ch; + visibleChars++; } } - } @@ -364,6 +608,7 @@ static const char * const AU3WordLists[] = { "#autoit macros", "#autoit Sent keys", "#autoit Pre-processors", + "#autoit Special", 0 }; LexerModule lmAU3(SCLEX_AU3, ColouriseAU3Doc, "au3", FoldAU3Doc , AU3WordLists); diff --git a/contrib/src/stc/scintilla/src/LexAda.cxx b/contrib/src/stc/scintilla/src/LexAda.cxx index 2e5f891b4b..0227ce1108 100644 --- a/contrib/src/stc/scintilla/src/LexAda.cxx +++ b/contrib/src/stc/scintilla/src/LexAda.cxx @@ -256,7 +256,7 @@ static void ColouriseDocument( ColouriseLabel(sc, keywords, apostropheStartsAttribute); // Whitespace - } else if (isspace(sc.ch)) { + } else if (IsASpace(sc.ch)) { ColouriseWhiteSpace(sc, apostropheStartsAttribute); // Delimiters @@ -264,7 +264,7 @@ static void ColouriseDocument( ColouriseDelimiter(sc, apostropheStartsAttribute); // Numbers - } else if (isdigit(sc.ch) || sc.ch == '#') { + } else if (IsADigit(sc.ch) || sc.ch == '#') { ColouriseNumber(sc, apostropheStartsAttribute); // Keywords or identifiers @@ -310,11 +310,11 @@ static inline bool IsNumberCharacter(int ch) { } static inline bool IsNumberStartCharacter(int ch) { - return isdigit(ch) != 0; + return IsADigit(ch); } static inline bool IsSeparatorOrDelimiterCharacter(int ch) { - return isspace(ch) || IsDelimiterCharacter(ch); + return IsASpace(ch) || IsDelimiterCharacter(ch); } static bool IsValidIdentifier(const SString& identifier) { @@ -377,7 +377,7 @@ static bool IsValidNumber(const SString& number) { } canBeSpecial = false; seenDot = true; - } else if (isdigit(number[i])) { + } else if (IsADigit(number[i])) { canBeSpecial = true; } else { break; @@ -398,7 +398,7 @@ static bool IsValidNumber(const SString& number) { if (!canBeSpecial) return false; canBeSpecial = false; - } else if (isdigit (ch)) { + } else if (IsADigit(ch)) { base = base * 10 + (ch - '0'); if (base > 16) return false; @@ -436,7 +436,7 @@ static bool IsValidNumber(const SString& number) { canBeSpecial = false; seenDot = true; - } else if (isdigit (ch)) { + } else if (IsADigit(ch)) { if (ch - '0' >= base) { return false; } @@ -496,7 +496,7 @@ static bool IsValidNumber(const SString& number) { return false; } canBeSpecial = false; - } else if (isdigit(number[i])) { + } else if (IsADigit(number[i])) { canBeSpecial = true; } else { return false; @@ -512,9 +512,9 @@ static bool IsValidNumber(const SString& number) { } static inline bool IsWordCharacter(int ch) { - return IsWordStartCharacter(ch) || isdigit(ch); + return IsWordStartCharacter(ch) || IsADigit(ch); } static inline bool IsWordStartCharacter(int ch) { - return isalpha(ch) || ch == '_'; + return (isascii(ch) && isalpha(ch)) || ch == '_'; } diff --git a/contrib/src/stc/scintilla/src/LexAsn1.cxx b/contrib/src/stc/scintilla/src/LexAsn1.cxx new file mode 100644 index 0000000000..be6c3f2aea --- /dev/null +++ b/contrib/src/stc/scintilla/src/LexAsn1.cxx @@ -0,0 +1,181 @@ +// Scintilla source code edit control +/** @file LexAsn1.cxx + ** Lexer for ASN.1 + **/ +// Copyright 2004 by Herr Pfarrer rpfarrer yahoo de +// Last Updated: 20/07/2004 +// The License.txt file describes the conditions under which this software may be distributed. +#include +#include +#include +#include +#include + +#include "Platform.h" + +#include "PropSet.h" +#include "Accessor.h" +#include "StyleContext.h" +#include "KeyWords.h" +#include "Scintilla.h" +#include "SciLexer.h" + +// Some char test functions +static bool isAsn1Number(int ch) +{ + return (ch >= '0' && ch <= '9'); +} + +static bool isAsn1Letter(int ch) +{ + return (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z'); +} + +static bool isAsn1Char(int ch) +{ + return (ch == '-' ) || isAsn1Number(ch) || isAsn1Letter (ch); +} + +// +// Function determining the color of a given code portion +// Based on a "state" +// +static void ColouriseAsn1Doc(unsigned int startPos, int length, int initStyle, WordList *keywordLists[], Accessor &styler) +{ + // The keywords + WordList &Keywords = *keywordLists[0]; + WordList &Attributes = *keywordLists[1]; + WordList &Descriptors = *keywordLists[2]; + WordList &Types = *keywordLists[3]; + + // Parse the whole buffer character by character using StyleContext + StyleContext sc(startPos, length, initStyle, styler); + for (; sc.More(); sc.Forward()) + { + // The state engine + switch (sc.state) + { + case SCE_ASN1_DEFAULT: // Plain characters +asn1_default: + if (sc.ch == '-' && sc.chNext == '-') + // A comment begins here + sc.SetState(SCE_ASN1_COMMENT); + else if (sc.ch == '"') + // A string begins here + sc.SetState(SCE_ASN1_STRING); + else if (isAsn1Number (sc.ch)) + // A number starts here (identifier should start with a letter in ASN.1) + sc.SetState(SCE_ASN1_SCALAR); + else if (isAsn1Char (sc.ch)) + // An identifier starts here (identifier always start with a letter) + sc.SetState(SCE_ASN1_IDENTIFIER); + else if (sc.ch == ':') + // A ::= operator starts here + sc.SetState(SCE_ASN1_OPERATOR); + break; + case SCE_ASN1_COMMENT: // A comment + if (sc.ch == '\r' || sc.ch == '\n') + // A comment ends here + sc.SetState(SCE_ASN1_DEFAULT); + break; + case SCE_ASN1_IDENTIFIER: // An identifier (keyword, attribute, descriptor or type) + if (!isAsn1Char (sc.ch)) + { + // The end of identifier is here: we can look for it in lists by now and change its state + char s[100]; + sc.GetCurrent(s, sizeof(s)); + if (Keywords.InList(s)) + // It's a keyword, change its state + sc.ChangeState(SCE_ASN1_KEYWORD); + else if (Attributes.InList(s)) + // It's an attribute, change its state + sc.ChangeState(SCE_ASN1_ATTRIBUTE); + else if (Descriptors.InList(s)) + // It's a descriptor, change its state + sc.ChangeState(SCE_ASN1_DESCRIPTOR); + else if (Types.InList(s)) + // It's a type, change its state + sc.ChangeState(SCE_ASN1_TYPE); + + // Set to default now + sc.SetState(SCE_ASN1_DEFAULT); + } + break; + case SCE_ASN1_STRING: // A string delimited by "" + if (sc.ch == '"') + { + // A string ends here + sc.ForwardSetState(SCE_ASN1_DEFAULT); + + // To correctly manage a char sticking to the string quote + goto asn1_default; + } + break; + case SCE_ASN1_SCALAR: // A plain number + if (!isAsn1Number (sc.ch)) + // A number ends here + sc.SetState(SCE_ASN1_DEFAULT); + break; + case SCE_ASN1_OPERATOR: // The affectation operator ::= and wath follows (eg: ::= { org 6 } OID or ::= 12 trap) + if (sc.ch == '{') + { + // An OID definition starts here: enter the sub loop + for (; sc.More(); sc.Forward()) + { + if (isAsn1Number (sc.ch) && (!isAsn1Char (sc.chPrev) || isAsn1Number (sc.chPrev))) + // The OID number is highlighted + sc.SetState(SCE_ASN1_OID); + else if (isAsn1Char (sc.ch)) + // The OID parent identifier is plain + sc.SetState(SCE_ASN1_IDENTIFIER); + else + sc.SetState(SCE_ASN1_DEFAULT); + + if (sc.ch == '}') + // Here ends the OID and the operator sub loop: go back to main loop + break; + } + } + else if (isAsn1Number (sc.ch)) + { + // A trap number definition starts here: enter the sub loop + for (; sc.More(); sc.Forward()) + { + if (isAsn1Number (sc.ch)) + // The trap number is highlighted + sc.SetState(SCE_ASN1_OID); + else + { + // The number ends here: go back to main loop + sc.SetState(SCE_ASN1_DEFAULT); + break; + } + } + } + else if (sc.ch != ':' && sc.ch != '=' && sc.ch != ' ') + // The operator doesn't imply an OID definition nor a trap, back to main loop + goto asn1_default; // To be sure to handle actually the state change + break; + } + } + sc.Complete(); +} + +static void FoldAsn1Doc(unsigned int, int, int, WordList *[], Accessor &styler) +{ + // No folding enabled, no reason to continue... + if( styler.GetPropertyInt("fold") == 0 ) + return; + + // No folding implemented: doesn't make sense for ASN.1 +} + +static const char * const asn1WordLists[] = { + "Keywords", + "Attributes", + "Descriptors", + "Types", + 0, }; + + +LexerModule lmAsn1(SCLEX_ASN1, ColouriseAsn1Doc, "asn1", FoldAsn1Doc, asn1WordLists); diff --git a/contrib/src/stc/scintilla/src/LexCPP.cxx b/contrib/src/stc/scintilla/src/LexCPP.cxx index 9c8ea416ae..c6ca065058 100644 --- a/contrib/src/stc/scintilla/src/LexCPP.cxx +++ b/contrib/src/stc/scintilla/src/LexCPP.cxx @@ -123,7 +123,7 @@ static void ColouriseCppDoc(unsigned int startPos, int length, int initStyle, Wo sc.SetState(SCE_C_DEFAULT); } } else { - if ((sc.atLineEnd) || (sc.Match('/', '*')) || (sc.Match('/', '/'))) { + if ((sc.ch == '\r') || (sc.ch == '\n') || (sc.Match('/', '*')) || (sc.Match('/', '/'))) { sc.SetState(SCE_C_DEFAULT); } } @@ -140,7 +140,7 @@ static void ColouriseCppDoc(unsigned int startPos, int length, int initStyle, Wo sc.SetState(SCE_C_COMMENTDOCKEYWORD); } } else if (sc.state == SCE_C_COMMENTLINE || sc.state == SCE_C_COMMENTLINEDOC) { - if (sc.atLineEnd) { + if (sc.ch == '\r' || sc.ch == '\n') { sc.SetState(SCE_C_DEFAULT); visibleChars = 0; } @@ -235,7 +235,8 @@ static void ColouriseCppDoc(unsigned int startPos, int length, int initStyle, Wo } sc.Forward(); // Eat the * so it isn't used for the end of the comment } else if (sc.Match('/', '/')) { - if (sc.Match("///") || sc.Match("//!")) // Support of Qt/Doxygen doc. style + if ((sc.Match("///") && !sc.Match("////")) || sc.Match("//!")) + // Support of Qt/Doxygen doc. style sc.SetState(SCE_C_COMMENTLINEDOC); else sc.SetState(SCE_C_COMMENTLINE); @@ -252,7 +253,7 @@ static void ColouriseCppDoc(unsigned int startPos, int length, int initStyle, Wo do { sc.Forward(); } while ((sc.ch == ' ' || sc.ch == '\t') && sc.More()); - if (sc.atLineEnd) { + if (sc.ch == '\r' || sc.ch == '\n') { sc.SetState(SCE_C_DEFAULT); } } else if (isoperator(static_cast(sc.ch))) { diff --git a/contrib/src/stc/scintilla/src/LexCSS.cxx b/contrib/src/stc/scintilla/src/LexCSS.cxx index 11daa14238..f45ce1cda4 100644 --- a/contrib/src/stc/scintilla/src/LexCSS.cxx +++ b/contrib/src/stc/scintilla/src/LexCSS.cxx @@ -1,7 +1,8 @@ // Scintilla source code edit control /** @file LexCSS.cxx - ** Lexer for Cascade Style Sheets + ** Lexer for Cascading Style Sheets ** Written by Jakub Vrána + ** Improved by Philippe Lhoste (CSS2) **/ // Copyright 1998-2002 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. @@ -21,19 +22,27 @@ #include "Scintilla.h" #include "SciLexer.h" + static inline bool IsAWordChar(const unsigned int ch) { return (isalnum(ch) || ch == '-' || ch == '_' || ch >= 161); // _ is not in fact correct CSS word-character } inline bool IsCssOperator(const char ch) { - if (!isalnum(ch) && (ch == '{' || ch == '}' || ch == ':' || ch == ',' || ch == ';' || ch == '.' || ch == '#' || ch == '!' || ch == '@')) + if (!isalnum(ch) && + (ch == '{' || ch == '}' || ch == ':' || ch == ',' || ch == ';' || + ch == '.' || ch == '#' || ch == '!' || ch == '@' || + /* CSS2 */ + ch == '*' || ch == '>' || ch == '+' || ch == '=' || ch == '~' || ch == '|' || + ch == '[' || ch == ']' || ch == '(' || ch == ')')) { return true; + } return false; } static void ColouriseCssDoc(unsigned int startPos, int length, int initStyle, WordList *keywordlists[], Accessor &styler) { WordList &keywords = *keywordlists[0]; WordList &pseudoClasses = *keywordlists[1]; + WordList &keywords2 = *keywordlists[2]; StyleContext sc(startPos, length, initStyle, styler); @@ -44,7 +53,8 @@ static void ColouriseCssDoc(unsigned int startPos, int length, int initStyle, Wo for (; sc.More(); sc.Forward()) { if (sc.state == SCE_CSS_COMMENT && sc.Match('*', '/')) { if (lastStateC == -1) { - // backtrack to get last state + // backtrack to get last state: + // comments are like whitespace, so we must return to the previous state unsigned int i = startPos; for (; i > 0; i--) { if ((lastStateC = styler.StyleAt(i-1)) != SCE_CSS_COMMENT) { @@ -104,14 +114,15 @@ static void ColouriseCssDoc(unsigned int startPos, int length, int initStyle, Wo sc.SetState(SCE_CSS_IDENTIFIER); break; case '}': - if (lastState == SCE_CSS_DEFAULT || lastState == SCE_CSS_VALUE || lastState == SCE_CSS_IMPORTANT || lastState == SCE_CSS_IDENTIFIER) + if (lastState == SCE_CSS_DEFAULT || lastState == SCE_CSS_VALUE || lastState == SCE_CSS_IMPORTANT || + lastState == SCE_CSS_IDENTIFIER || lastState == SCE_CSS_IDENTIFIER2) sc.SetState(SCE_CSS_DEFAULT); break; case ':': if (lastState == SCE_CSS_TAG || lastState == SCE_CSS_PSEUDOCLASS || lastState == SCE_CSS_DEFAULT || lastState == SCE_CSS_CLASS || lastState == SCE_CSS_ID || lastState == SCE_CSS_UNKNOWN_PSEUDOCLASS) sc.SetState(SCE_CSS_PSEUDOCLASS); - else if (lastState == SCE_CSS_IDENTIFIER || lastState == SCE_CSS_UNKNOWN_IDENTIFIER) + else if (lastState == SCE_CSS_IDENTIFIER || lastState == SCE_CSS_IDENTIFIER2 || lastState == SCE_CSS_UNKNOWN_IDENTIFIER) sc.SetState(SCE_CSS_VALUE); break; case '.': @@ -146,7 +157,8 @@ static void ColouriseCssDoc(unsigned int startPos, int length, int initStyle, Wo } if (IsAWordChar(sc.chPrev) && ( - sc.state == SCE_CSS_IDENTIFIER || sc.state == SCE_CSS_UNKNOWN_IDENTIFIER + sc.state == SCE_CSS_IDENTIFIER || sc.state == SCE_CSS_IDENTIFIER2 + || sc.state == SCE_CSS_UNKNOWN_IDENTIFIER || sc.state == SCE_CSS_PSEUDOCLASS || sc.state == SCE_CSS_UNKNOWN_PSEUDOCLASS || sc.state == SCE_CSS_IMPORTANT )) { @@ -157,12 +169,19 @@ static void ColouriseCssDoc(unsigned int startPos, int length, int initStyle, Wo s2++; switch (sc.state) { case SCE_CSS_IDENTIFIER: - if (!keywords.InList(s2)) - sc.ChangeState(SCE_CSS_UNKNOWN_IDENTIFIER); + if (!keywords.InList(s2)) { + if (keywords2.InList(s2)) { + sc.ChangeState(SCE_CSS_IDENTIFIER2); + } else { + sc.ChangeState(SCE_CSS_UNKNOWN_IDENTIFIER); + } + } break; case SCE_CSS_UNKNOWN_IDENTIFIER: if (keywords.InList(s2)) sc.ChangeState(SCE_CSS_IDENTIFIER); + else if (keywords2.InList(s2)) + sc.ChangeState(SCE_CSS_IDENTIFIER2); break; case SCE_CSS_PSEUDOCLASS: if (!pseudoClasses.InList(s2)) @@ -253,8 +272,9 @@ static void FoldCSSDoc(unsigned int startPos, int length, int, WordList *[], Acc } static const char * const cssWordListDesc[] = { - "Keywords", + "CSS1 Keywords", "Pseudo classes", + "CSS2 Keywords", 0 }; diff --git a/contrib/src/stc/scintilla/src/LexHTML.cxx b/contrib/src/stc/scintilla/src/LexHTML.cxx index d2cd30f60e..e3546b436f 100644 --- a/contrib/src/stc/scintilla/src/LexHTML.cxx +++ b/contrib/src/stc/scintilla/src/LexHTML.cxx @@ -314,7 +314,7 @@ static void classifyWordHTPy(unsigned int start, unsigned int end, WordList &key // Called when in a PHP word static void classifyWordHTPHP(unsigned int start, unsigned int end, WordList &keywords, Accessor &styler) { char chAttr = SCE_HPHP_DEFAULT; - bool wordIsNumber = IsADigit(styler[start]); + bool wordIsNumber = IsADigit(styler[start]) || (styler[start] == '.' && start+1 <= end && IsADigit(styler[start+1])); if (wordIsNumber) chAttr = SCE_HPHP_NUMBER; else { @@ -637,9 +637,10 @@ static void ColouriseHyperTextDoc(unsigned int startPos, int length, int initSty (state != SCE_HPHP_COMMENT) && (ch == '<') && (chNext == '?')) { + scriptLanguage = segIsScriptingIndicator(styler, styler.GetStartSegment() + 2, i + 10, eScriptPHP); + if (scriptLanguage != eScriptPHP && isStringState(state)) continue; styler.ColourTo(i - 1, StateToPrint); beforePreProc = state; - scriptLanguage = segIsScriptingIndicator(styler, styler.GetStartSegment() + 2, i + 10, eScriptPHP); i++; visibleChars++; i += PrintScriptingIndicatorOffset(styler, styler.GetStartSegment() + 2, i + 10); @@ -1495,7 +1496,7 @@ static void ColouriseHyperTextDoc(unsigned int startPos, int length, int initSty } break; case SCE_HPHP_NUMBER: - if (!IsADigit(ch)) { + if (!IsADigit(ch) && ch != '.' && ch != 'e' && ch != 'E' && (ch != '-' || (chPrev != 'e' && chPrev != 'E'))) { styler.ColourTo(i - 1, SCE_HPHP_NUMBER); if (isoperator(ch)) state = SCE_HPHP_OPERATOR; @@ -1567,7 +1568,7 @@ static void ColouriseHyperTextDoc(unsigned int startPos, int length, int initSty case SCE_HPHP_OPERATOR: case SCE_HPHP_DEFAULT: styler.ColourTo(i - 1, StateToPrint); - if (IsADigit(ch)) { + if (IsADigit(ch) || (ch == '.' && IsADigit(chNext))) { state = SCE_HPHP_NUMBER; } else if (iswordstart(ch)) { state = SCE_HPHP_WORD; diff --git a/contrib/src/stc/scintilla/src/LexLisp.cxx b/contrib/src/stc/scintilla/src/LexLisp.cxx index 9cd5433c89..549b573e2e 100644 --- a/contrib/src/stc/scintilla/src/LexLisp.cxx +++ b/contrib/src/stc/scintilla/src/LexLisp.cxx @@ -66,9 +66,6 @@ static void ColouriseLispDoc(unsigned int startPos, int length, int initStyle, W styler.StartAt(startPos); int state = initStyle; - if (state == SCE_LISP_STRINGEOL) // Does not leak onto next line - state = SCE_LISP_DEFAULT; - char chPrev = ' '; char chNext = styler[startPos]; unsigned int lengthDoc = startPos + length; styler.StartSegment(startPos); @@ -77,19 +74,9 @@ static void ColouriseLispDoc(unsigned int startPos, int length, int initStyle, W chNext = styler.SafeGetCharAt(i + 1); bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); - if (atEOL) { - // Trigger on CR only (Mac style) or either on LF from CR+LF (Dos/Win) or on LF alone (Unix) - // Avoid triggering two times on Dos/Win - // End of line - if (state == SCE_LISP_STRINGEOL) { - styler.ColourTo(i, state); - state = SCE_LISP_DEFAULT; - } - } if (styler.IsLeadByte(ch)) { chNext = styler.SafeGetCharAt(i + 2); - chPrev = ' '; i += 1; continue; } @@ -107,9 +94,9 @@ static void ColouriseLispDoc(unsigned int startPos, int length, int initStyle, W styler.ColourTo(i - 1, state); styler.ColourTo(i, SCE_LISP_OPERATOR); } - else if (ch == '\"') { - state = SCE_LISP_STRING; + styler.ColourTo(i - 1, state); + state = SCE_LISP_STRING; } } else if (state == SCE_LISP_IDENTIFIER) { if (!isLispwordstart(ch)) { @@ -131,20 +118,15 @@ static void ColouriseLispDoc(unsigned int startPos, int length, int initStyle, W if (ch == '\\') { if (chNext == '\"' || chNext == '\'' || chNext == '\\') { i++; - ch = chNext; chNext = styler.SafeGetCharAt(i + 1); } } else if (ch == '\"') { styler.ColourTo(i, state); state = SCE_LISP_DEFAULT; - } else if ((chNext == '\r' || chNext == '\n') && (chPrev != '\\')) { - styler.ColourTo(i - 1, SCE_LISP_STRINGEOL); - state = SCE_LISP_STRINGEOL; } } } - chPrev = ch; } styler.ColourTo(lengthDoc - 1, state); } diff --git a/contrib/src/stc/scintilla/src/LexLua.cxx b/contrib/src/stc/scintilla/src/LexLua.cxx index 3781eed83a..3e4b25cb5e 100644 --- a/contrib/src/stc/scintilla/src/LexLua.cxx +++ b/contrib/src/stc/scintilla/src/LexLua.cxx @@ -138,7 +138,7 @@ static void ColouriseLuaDoc( sc.SetState(SCE_LUA_DEFAULT); } } else if (sc.state == SCE_LUA_IDENTIFIER) { - if (!IsAWordChar(sc.ch)) { + if (!IsAWordChar(sc.ch) || sc.Match('.', '.')) { char s[100]; sc.GetCurrent(s, sizeof(s)); if (keywords.InList(s)) { diff --git a/contrib/src/stc/scintilla/src/LexOthers.cxx b/contrib/src/stc/scintilla/src/LexOthers.cxx index 1681ba5d4a..f777e300fa 100644 --- a/contrib/src/stc/scintilla/src/LexOthers.cxx +++ b/contrib/src/stc/scintilla/src/LexOthers.cxx @@ -330,6 +330,7 @@ static void FoldPropsDoc(unsigned int startPos, int length, int, WordList *[], A char chNext = styler[startPos]; int styleNext = styler.StyleAt(startPos); bool headerPoint = false; + int lev; for (unsigned int i = startPos; i < endPos; i++) { char ch = chNext; @@ -339,21 +340,32 @@ static void FoldPropsDoc(unsigned int startPos, int length, int, WordList *[], A styleNext = styler.StyleAt(i + 1); bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); - if (style==2) { + if (style == SCE_PROPS_SECTION) { headerPoint = true; } if (atEOL) { - int lev = SC_FOLDLEVELBASE+1; - if (headerPoint) - lev = SC_FOLDLEVELBASE; + lev = SC_FOLDLEVELBASE; + + if (lineCurrent > 0) { + int levelPrevious = styler.LevelAt(lineCurrent - 1); + if (levelPrevious & SC_FOLDLEVELHEADERFLAG) { + lev = SC_FOLDLEVELBASE + 1; + } else { + lev = levelPrevious & SC_FOLDLEVELNUMBERMASK; + } + } + + if (headerPoint) { + lev = SC_FOLDLEVELBASE; + } if (visibleChars == 0 && foldCompact) lev |= SC_FOLDLEVELWHITEFLAG; - if (headerPoint) + if (headerPoint) { lev |= SC_FOLDLEVELHEADERFLAG; - + } if (lev != styler.LevelAt(lineCurrent)) { styler.SetLevel(lineCurrent, lev); } @@ -366,9 +378,18 @@ static void FoldPropsDoc(unsigned int startPos, int length, int, WordList *[], A visibleChars++; } - int lev = headerPoint ? SC_FOLDLEVELBASE : SC_FOLDLEVELBASE+1; - int flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK; - styler.SetLevel(lineCurrent, lev | flagsNext); + if (lineCurrent > 0) { + int levelPrevious = styler.LevelAt(lineCurrent - 1); + if (levelPrevious & SC_FOLDLEVELHEADERFLAG) { + lev = SC_FOLDLEVELBASE + 1; + } else { + lev = levelPrevious & SC_FOLDLEVELNUMBERMASK; + } + } else { + lev = SC_FOLDLEVELBASE; + } + int flagsNext = styler.LevelAt(lineCurrent); + styler.SetLevel(lineCurrent, lev | flagsNext & ~SC_FOLDLEVELNUMBERMASK); } static void ColouriseMakeLine( @@ -523,6 +544,15 @@ static void ColouriseErrorListLine( strstr(lineBuffer, ", file ")) { // Essential Lahey Fortran error message styler.ColourTo(endPos, SCE_ERR_ELF); + } else if (strstart(lineBuffer, "line ") && + strstr(lineBuffer, " column ")) { + // HTML tidy style: line 42 column 1 + styler.ColourTo(endPos, SCE_ERR_TIDY); + } else if (strstart(lineBuffer, "\tat ") && + strstr(lineBuffer, "(") && + strstr(lineBuffer, ".java:")) { + // Java stack back trace + styler.ColourTo(endPos, SCE_ERR_JAVA_STACK); } else { // Look for GCC ::message // Look for Microsoft (line) :message diff --git a/contrib/src/stc/scintilla/src/LexPB.cxx b/contrib/src/stc/scintilla/src/LexPB.cxx index 775b558725..7878a6bf8f 100644 --- a/contrib/src/stc/scintilla/src/LexPB.cxx +++ b/contrib/src/stc/scintilla/src/LexPB.cxx @@ -3,10 +3,32 @@ // Lexer for PowerBasic by Roland Walter, roland@rowalt.de (for PowerBasic see www.powerbasic.com) // // Changes: -// 17.10.2003 Toggling of subs/functions now until next sub/function - this gives better results -// 29.10.2003 1. Bug: Toggling didn't work for subs/functions added in editor -// 2. Own colors for PB constants and Inline Assembler SCE_B_CONSTANT and SCE_B_ASM -// 3. Several smaller syntax coloring improvements and speed optimizations +// 17.10.2003: Toggling of subs/functions now until next sub/function - this gives better results +// 29.10.2003: 1. Bug: Toggling didn't work for subs/functions added in editor +// 2. Own colors for PB constants and Inline Assembler SCE_B_CONSTANT and SCE_B_ASM +// 3. Several smaller syntax coloring improvements and speed optimizations +// 12.07.2004: 1. Toggling for macros added +// 2. Further folding speed optimitations (for people dealing with very large listings) +// +// Necessary changes for the PB lexer in Scintilla project: +// - In SciLexer.h and Scintilla.iface: +// +// #define SCLEX_POWERBASIC 51 //ID for PowerBasic lexer +// (...) +// #define SCE_B_DEFAULT 0 //in both VB and PB lexer +// #define SCE_B_COMMENT 1 //in both VB and PB lexer +// #define SCE_B_NUMBER 2 //in both VB and PB lexer +// #define SCE_B_KEYWORD 3 //in both VB and PB lexer +// #define SCE_B_STRING 4 //in both VB and PB lexer +// #define SCE_B_PREPROCESSOR 5 //VB lexer only, not in PB lexer +// #define SCE_B_OPERATOR 6 //in both VB and PB lexer +// #define SCE_B_IDENTIFIER 7 //in both VB and PB lexer +// #define SCE_B_DATE 8 //VB lexer only, not in PB lexer +// #define SCE_B_CONSTANT 13 //PB lexer only, not in VB lexer +// #define SCE_B_ASM 14 //PB lexer only, not in VB lexer + +// - Statement added to KeyWords.cxx: 'LINK_LEXER(lmPB);' +// - Statement added to scintilla_vc6.mak: '$(DIR_O)\LexPB.obj: ...\src\LexPB.cxx $(LEX_HEADERS)' // // Copyright for Scintilla: 1998-2001 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. @@ -171,6 +193,8 @@ static void FoldPBDoc(unsigned int startPos, int length, int, WordList *[], Acce char chNext = styler[startPos]; bool fNewLine=true; + bool fMightBeMultiLineMacro=false; + bool fBeginOfCommentFound=false; for (unsigned int i = startPos; i < endPos; i++) { char ch = chNext; @@ -179,10 +203,11 @@ static void FoldPBDoc(unsigned int startPos, int length, int, WordList *[], Acce if (fNewLine) //Begin of a new line (The Sub/Function/Macro keywords may occur at begin of line only) { fNewLine=false; - + fBeginOfCommentFound=false; switch (ch) { - case ' ': //Most lines start with space - so check this first + case ' ': //Most lines start with space - so check this first, the code is the same as for 'default:' + case '\t': //Handle tab too { int levelUse = levelCurrent; int lev = levelUse | levelNext << 16; @@ -190,37 +215,89 @@ static void FoldPBDoc(unsigned int startPos, int length, int, WordList *[], Acce break; } case 'F': - case 'S': - case 'C': case 'f': + { + switch (chNext) + { + case 'U': + case 'u': + { + if( MatchUpperCase(styler,i,"FUNCTION") ) + { + styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG); + levelNext=SC_FOLDLEVELBASE+1; + } + break; + } + } + break; + } + case 'S': case 's': + { + switch (chNext) + { + case 'U': + case 'u': + { + if( MatchUpperCase(styler,i,"SUB") ) + { + styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG); + levelNext=SC_FOLDLEVELBASE+1; + } + break; + } + case 'T': + case 't': + { + if( MatchUpperCase(styler,i,"STATIC FUNCTION") ) + { + styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG); + levelNext=SC_FOLDLEVELBASE+1; + } + else if( MatchUpperCase(styler,i,"STATIC SUB") ) + { + styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG); + levelNext=SC_FOLDLEVELBASE+1; + } + break; + } + } + break; + } + case 'C': case 'c': { - if( MatchUpperCase(styler,i,"FUNCTION") ) - { - styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG); - levelNext=SC_FOLDLEVELBASE+1; - } - else if( MatchUpperCase(styler,i,"SUB") ) - { - styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG); - levelNext=SC_FOLDLEVELBASE+1; - } - else if( MatchUpperCase(styler,i,"CALLBACK FUNCTION") ) - { - styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG); - levelNext=SC_FOLDLEVELBASE+1; - } - else if( MatchUpperCase(styler,i,"STATIC FUNCTION") ) - { - styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG); - levelNext=SC_FOLDLEVELBASE+1; - } - else if( MatchUpperCase(styler,i,"STATIC SUB") ) - { - styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG); - levelNext=SC_FOLDLEVELBASE+1; - } + switch (chNext) + { + case 'A': + case 'a': + { + if( MatchUpperCase(styler,i,"CALLBACK FUNCTION") ) + { + styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG); + levelNext=SC_FOLDLEVELBASE+1; + } + break; + } + } + break; + } + case 'M': + case 'm': + { + switch (chNext) + { + case 'A': + case 'a': + { + if( MatchUpperCase(styler,i,"MACRO") ) + { + fMightBeMultiLineMacro=true; //Set folder level at end of line, we have to check for single line macro + } + break; + } + } break; } default: @@ -235,8 +312,25 @@ static void FoldPBDoc(unsigned int startPos, int length, int, WordList *[], Acce switch (ch) { + case '=': //To test single line macros + { + if (fBeginOfCommentFound==false) + fMightBeMultiLineMacro=false; //The found macro is a single line macro only; + break; + } + case '\'': //A comment starts + { + fBeginOfCommentFound=true; + break; + } case '\n': { + if (fMightBeMultiLineMacro) //The current line is the begin of a multi line macro + { + fMightBeMultiLineMacro=false; + styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG); + levelNext=SC_FOLDLEVELBASE+1; + } lineCurrent++; levelCurrent = levelNext; fNewLine=true; diff --git a/contrib/src/stc/scintilla/src/LexPython.cxx b/contrib/src/stc/scintilla/src/LexPython.cxx index d4d4f46fed..e13c6220d9 100644 --- a/contrib/src/stc/scintilla/src/LexPython.cxx +++ b/contrib/src/stc/scintilla/src/LexPython.cxx @@ -265,7 +265,8 @@ static void ColourisePyDoc(unsigned int startPos, int length, int initStyle, } else if (IsPyStringStart(sc.ch, sc.chNext, sc.GetRelative(2))) { unsigned int nextIndex = 0; sc.SetState(GetPyStringState(styler, sc.currentPos, &nextIndex)); - while (nextIndex > (sc.currentPos + 1) && sc.More()) { sc.Forward(); + while (nextIndex > (sc.currentPos + 1) && sc.More()) { + sc.Forward(); } } else if (IsAWordStart(sc.ch)) { sc.SetState(SCE_P_IDENTIFIER); diff --git a/contrib/src/stc/scintilla/src/LexVHDL.cxx b/contrib/src/stc/scintilla/src/LexVHDL.cxx new file mode 100644 index 0000000000..0feef95120 --- /dev/null +++ b/contrib/src/stc/scintilla/src/LexVHDL.cxx @@ -0,0 +1,473 @@ +// Scintilla source code edit control +/** @file LexVHDL.cxx + ** Lexer for VHDL + ** Written by Phil Reid, + ** Based on: + ** - The Verilog Lexer by Avi Yegudin + ** - The Fortran Lexer by Chuan-jian Shen + ** - The C++ lexer by Neil Hodgson + **/ +// Copyright 1998-2002 by Neil Hodgson +// The License.txt file describes the conditions under which this software may be distributed. + +#include +#include +#include +#include +#include + +#include "Platform.h" + +#include "PropSet.h" +#include "Accessor.h" +#include "StyleContext.h" +#include "KeyWords.h" +#include "Scintilla.h" +#include "SciLexer.h" + +static void ColouriseVHDLDoc( + unsigned int startPos, + int length, + int initStyle, + WordList *keywordlists[], + Accessor &styler); + + +/***************************************/ +static inline bool IsAWordChar(const int ch) { + return (ch < 0x80) && (isalnum(ch) || ch == '.' || ch == '_' ); +} + +/***************************************/ +static inline bool IsAWordStart(const int ch) { + return (ch < 0x80) && (isalnum(ch) || ch == '_'); +} + +/***************************************/ +inline bool IsABlank(unsigned int ch) { + return (ch == ' ') || (ch == 0x09) || (ch == 0x0b) ; +} + +/***************************************/ +static void ColouriseVHDLDoc( + unsigned int startPos, + int length, + int initStyle, + WordList *keywordlists[], + Accessor &styler) +{ + WordList &Keywords = *keywordlists[0]; + WordList &Operators = *keywordlists[1]; + WordList &Attributes = *keywordlists[2]; + WordList &Functions = *keywordlists[3]; + WordList &Packages = *keywordlists[4]; + WordList &Types = *keywordlists[5]; + WordList &User = *keywordlists[6]; + + StyleContext sc(startPos, length, initStyle, styler); + + for (; sc.More(); sc.Forward()) + { + + // Determine if the current state should terminate. + if (sc.state == SCE_VHDL_OPERATOR) { + sc.SetState(SCE_VHDL_DEFAULT); + } else if (sc.state == SCE_VHDL_NUMBER) { + if (!IsAWordChar(sc.ch) && (sc.ch != '#')) { + sc.SetState(SCE_VHDL_DEFAULT); + } + } else if (sc.state == SCE_VHDL_IDENTIFIER) { + if (!IsAWordChar(sc.ch) || (sc.ch == '.')) { + char s[100]; + sc.GetCurrentLowered(s, sizeof(s)); + if (Keywords.InList(s)) { + sc.ChangeState(SCE_VHDL_KEYWORD); + } else if (Operators.InList(s)) { + sc.ChangeState(SCE_VHDL_STDOPERATOR); + } else if (Attributes.InList(s)) { + sc.ChangeState(SCE_VHDL_ATTRIBUTE); + } else if (Functions.InList(s)) { + sc.ChangeState(SCE_VHDL_STDFUNCTION); + } else if (Packages.InList(s)) { + sc.ChangeState(SCE_VHDL_STDPACKAGE); + } else if (Types.InList(s)) { + sc.ChangeState(SCE_VHDL_STDTYPE); + } else if (User.InList(s)) { + sc.ChangeState(SCE_VHDL_USERWORD); + } + sc.SetState(SCE_VHDL_DEFAULT); + } + } else if (sc.state == SCE_VHDL_COMMENT || sc.state == SCE_V_COMMENTLINEBANG) { + if (sc.atLineEnd) { + sc.SetState(SCE_VHDL_DEFAULT); + } + } else if (sc.state == SCE_VHDL_STRING) { + if (sc.ch == '\\') { + if (sc.chNext == '\"' || sc.chNext == '\'' || sc.chNext == '\\') { + sc.Forward(); + } + } else if (sc.ch == '\"') { + sc.ForwardSetState(SCE_VHDL_DEFAULT); + } else if (sc.atLineEnd) { + sc.ChangeState(SCE_V_STRINGEOL); + sc.ForwardSetState(SCE_VHDL_DEFAULT); + } + } + + // Determine if a new state should be entered. + if (sc.state == SCE_VHDL_DEFAULT) { + if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) { + sc.SetState(SCE_VHDL_NUMBER); + } else if (IsAWordStart(sc.ch)) { + sc.SetState(SCE_VHDL_IDENTIFIER); + } else if (sc.Match('-', '-')) { + sc.SetState(SCE_VHDL_COMMENT); + sc.Forward(); + } else if (sc.Match('-', '-')) { + if (sc.Match("--!")) // Nice to have a different comment style + sc.SetState(SCE_VHDL_COMMENTLINEBANG); + else + sc.SetState(SCE_VHDL_COMMENT); + } else if (sc.ch == '\"') { + sc.SetState(SCE_VHDL_STRING); + } else if (isoperator(static_cast(sc.ch))) { + sc.SetState(SCE_VHDL_OPERATOR); + } + } + } + sc.Complete(); +} +//============================================================================= +static bool IsCommentLine(int line, Accessor &styler) { + int pos = styler.LineStart(line); + int eol_pos = styler.LineStart(line + 1) - 1; + for (int i = pos; i < eol_pos; i++) { + char ch = styler[i]; + char chNext = styler[i+1]; + if ((ch == '-') && (chNext == '-')) + return true; + else if (ch != ' ' && ch != '\t') + return false; + } + return false; +} + +//============================================================================= +// Folding the code +static void FoldNoBoxVHDLDoc( + unsigned int startPos, + int length, + int initStyle, + Accessor &styler) +{ + // Decided it would be smarter to have the lexer have all keywords included. Therefore I + // don't check if the style for the keywords that I use to adjust the levels. + char words[] = + "architecture begin case component else elsif end entity generate loop package process record then " + "procedure function when"; + WordList keywords; + keywords.Set(words); + + bool foldComment = styler.GetPropertyInt("fold.comment", 1) != 0; + bool foldCompact = styler.GetPropertyInt("fold.compact", 1) != 0; + bool foldAtElse = styler.GetPropertyInt("fold.at.else", 1) != 0; + bool foldAtBegin = styler.GetPropertyInt("fold.at.Begin", 1) != 0; + bool foldAtParenthese = styler.GetPropertyInt("fold.at.Parenthese", 1) != 0; + //bool foldAtWhen = styler.GetPropertyInt("fold.at.When", 1) != 0; //< fold at when in case statements + + int visibleChars = 0; + unsigned int endPos = startPos + length; + + int lineCurrent = styler.GetLine(startPos); + int levelCurrent = SC_FOLDLEVELBASE; + if(lineCurrent > 0) + levelCurrent = styler.LevelAt(lineCurrent-1) >> 16; + //int levelMinCurrent = levelCurrent; + int levelMinCurrentElse = levelCurrent; //< Used for folding at 'else' + int levelMinCurrentBegin = levelCurrent; //< Used for folding at 'begin' + int levelNext = levelCurrent; + + /***************************************/ + int lastStart = 0; + char prevWord[32] = ""; + + /***************************************/ + // Find prev word + // The logic for going up or down a level depends on a the previous keyword + // This code could be cleaned up. + int end = 0; + unsigned int j; + for(j = startPos; j>0; j--) + { + char ch = styler.SafeGetCharAt(j); + char chPrev = styler.SafeGetCharAt(j-1); + int style = styler.StyleAt(j); + int stylePrev = styler.StyleAt(j-1); + if ((stylePrev != SCE_VHDL_COMMENT) && (stylePrev != SCE_VHDL_STRING)) + { + if(IsAWordChar(chPrev) && !IsAWordChar(ch)) + { + end = j-1; + } + } + if ((style != SCE_VHDL_COMMENT) && (style != SCE_VHDL_STRING)) + { + if(!IsAWordChar(chPrev) && IsAWordStart(ch) && (end != 0)) + { + char s[32]; + unsigned int k; + for(k=0; (k<31 ) && (k(tolower(styler[j+k])); + } + s[k] = '\0'; + + if(keywords.InList(s)) { + strcpy(prevWord, s); + break; + } + } + } + } + for(j=j+strlen(prevWord); j(tolower(styler[lastStart+k])); + } + s[k] = '\0'; + + if(keywords.InList(s)) + { + if ( + strcmp(s, "architecture") == 0 || + strcmp(s, "case") == 0 || + strcmp(s, "component") == 0 || + strcmp(s, "entity") == 0 || + strcmp(s, "generate") == 0 || + strcmp(s, "loop") == 0 || + strcmp(s, "package") ==0 || + strcmp(s, "process") == 0 || + strcmp(s, "record") == 0 || + strcmp(s, "then") == 0) + { + if (strcmp(prevWord, "end") != 0) + { + if (levelMinCurrentElse > levelNext) { + levelMinCurrentElse = levelNext; + } + levelNext++; + } + } else if ( + strcmp(s, "procedure") == 0 || + strcmp(s, "function") == 0) + { + if (strcmp(prevWord, "end") != 0) // check for "end procedure" etc. + { // This code checks to see if the procedure / function is a definition within a "package" + // rather than the actual code in the body. + int BracketLevel = 0; + for(int j=i+1; j levelNext) { + levelMinCurrentElse = levelNext; + } + levelNext++; + break; + } + if((BracketLevel == 0) && (LocalCh == ';')) + { + break; + } + } + } + + } else if (strcmp(s, "end") == 0) { + levelNext--; + } else if(strcmp(s, "elsif") == 0) { // elsif is followed by then so folding occurs correctly + levelNext--; + } else if (strcmp(s, "else") == 0) { + if(strcmp(prevWord, "when") != 0) // ignore a <= x when y else z; + { + levelMinCurrentElse = levelNext - 1; // VHDL else is all on its own so just dec. the min level + } + } else if( + ((strcmp(s, "begin") == 0) && (strcmp(prevWord, "architecture") == 0)) || + ((strcmp(s, "begin") == 0) && (strcmp(prevWord, "function") == 0)) || + ((strcmp(s, "begin") == 0) && (strcmp(prevWord, "procedure") == 0))) + { + levelMinCurrentBegin = levelNext - 1; + } + //Platform::DebugPrintf("Line[%04d] Prev[%20s] Cur[%20s] Level[%x]\n", lineCurrent+1, prevWord, s, levelCurrent); + strcpy(prevWord, s); + } + } + } + if (atEOL) { + int levelUse = levelCurrent; + + if (foldAtElse && (levelMinCurrentElse < levelUse)) { + levelUse = levelMinCurrentElse; + } + if (foldAtBegin && (levelMinCurrentBegin < levelUse)) { + levelUse = levelMinCurrentBegin; + } + int lev = levelUse | levelNext << 16; + if (visibleChars == 0 && foldCompact) + lev |= SC_FOLDLEVELWHITEFLAG; + + if (levelUse < levelNext) + lev |= SC_FOLDLEVELHEADERFLAG; + if (lev != styler.LevelAt(lineCurrent)) { + styler.SetLevel(lineCurrent, lev); + } + //Platform::DebugPrintf("Line[%04d] ---------------------------------------------------- Level[%x]\n", lineCurrent+1, levelCurrent); + lineCurrent++; + levelCurrent = levelNext; + //levelMinCurrent = levelCurrent; + levelMinCurrentElse = levelCurrent; + levelMinCurrentBegin = levelCurrent; + visibleChars = 0; + } + /***************************************/ + if (!isspacechar(ch)) visibleChars++; + } + + /***************************************/ +// Platform::DebugPrintf("Line[%04d] ---------------------------------------------------- Level[%x]\n", lineCurrent+1, levelCurrent); +} + +//============================================================================= +static void FoldVHDLDoc(unsigned int startPos, int length, int initStyle, WordList *[], + Accessor &styler) { + FoldNoBoxVHDLDoc(startPos, length, initStyle, styler); +} + +//============================================================================= +static const char * const VHDLWordLists[] = { + "Keywords", + "Operators", + "Attributes", + "Standard Functions", + "Standard Packages", + "Standard Types", + "User Words", + 0, + }; + + +LexerModule lmVHDL(SCLEX_VHDL, ColouriseVHDLDoc, "vhdl", FoldVHDLDoc, VHDLWordLists); + + +// Keyword: +// access after alias all architecture array assert attribute begin block body buffer bus case component +// configuration constant disconnect downto else elsif end entity exit file for function generate generic +// group guarded if impure in inertial inout is label library linkage literal loop map new next null of +// on open others out package port postponed procedure process pure range record register reject report +// return select severity shared signal subtype then to transport type unaffected units until use variable +// wait when while with +// +// Operators: +// abs and mod nand nor not or rem rol ror sla sll sra srl xnor xor +// +// Attributes: +// left right low high ascending image value pos val succ pred leftof rightof base range reverse_range +// length delayed stable quiet transaction event active last_event last_active last_value driving +// driving_value simple_name path_name instance_name +// +// Std Functions: +// now readline read writeline write endfile resolved to_bit to_bitvector to_stdulogic to_stdlogicvector +// to_stdulogicvector to_x01 to_x01z to_UX01 rising_edge falling_edge is_x shift_left shift_right rotate_left +// rotate_right resize to_integer to_unsigned to_signed std_match to_01 +// +// Std Packages: +// std ieee work standard textio std_logic_1164 std_logic_arith std_logic_misc std_logic_signed +// std_logic_textio std_logic_unsigned numeric_bit numeric_std math_complex math_real vital_primitives +// vital_timing +// +// Std Types: +// boolean bit character severity_level integer real time delay_length natural positive string bit_vector +// file_open_kind file_open_status line text side width std_ulogic std_ulogic_vector std_logic +// std_logic_vector X01 X01Z UX01 UX01Z unsigned signed +// + diff --git a/contrib/src/stc/scintilla/src/PropSet.cxx b/contrib/src/stc/scintilla/src/PropSet.cxx index d0a7f8b0f7..1e9920d79c 100644 --- a/contrib/src/stc/scintilla/src/PropSet.cxx +++ b/contrib/src/stc/scintilla/src/PropSet.cxx @@ -124,7 +124,7 @@ SString &SString::assign(const char *sOther, lenpos_t sSize_) { s = StringAllocate(sOther, sSize_); if (s) { sSize = sSize_; // Allow buffer bigger than real string, thus providing space to grow - sLen = strlen(s); + sLen = sSize_; } else { sSize = sLen = 0; } @@ -383,6 +383,33 @@ void PropSet::Set(const char *keyVal) { } } +void PropSet::Unset(const char *key, int lenKey) { + if (!*key) // Empty keys are not supported + return; + if (lenKey == -1) + lenKey = static_cast(strlen(key)); + unsigned int hash = HashString(key, lenKey); + Property *pPrev = NULL; + for (Property *p = props[hash % hashRoots]; p; p = p->next) { + if ((hash == p->hash) && + ((strlen(p->key) == static_cast(lenKey)) && + (0 == strncmp(p->key, key, lenKey)))) { + if (pPrev) + pPrev->next = p->next; + else + props[hash % hashRoots] = p->next; + if (p == enumnext) + enumnext = p->next; // Not that anyone should mix enum and Set / Unset. + delete [](p->key); + delete [](p->val); + delete p; + return; + } else { + pPrev = p; + } + } +} + void PropSet::SetMultiple(const char *s) { const char *eol = strchr(s, '\n'); while (eol) { @@ -422,39 +449,71 @@ bool PropSet::IncludesVar(const char *value, const char *key) { return false; } + +// There is some inconsistency between GetExpanded("foo") and Expand("$(foo)"). +// A solution is to keep a stack of variables that have been expanded, so that +// recursive expansions can be skipped. For now I'll just use the C++ stack +// for that, through a recursive function and a simple chain of pointers. + +struct VarChain { + VarChain(const char*var_=NULL, const VarChain *link_=NULL): var(var_), link(link_) {} + + bool contains(const char *testVar) const { + return (var && (0 == strcmp(var, testVar))) + || (link && link->contains(testVar)); + } + + const char *var; + const VarChain *link; +}; + +static int ExpandAllInPlace(PropSet &props, SString &withVars, int maxExpands, const VarChain &blankVars = VarChain()) { + int varStart = withVars.search("$("); + while ((varStart >= 0) && (maxExpands > 0)) { + int varEnd = withVars.search(")", varStart+2); + if (varEnd < 0) { + break; + } + + // For consistency, when we see '$(ab$(cde))', expand the inner variable first, + // regardless whether there is actually a degenerate variable named 'ab$(cde'. + int innerVarStart = withVars.search("$(", varStart+2); + while ((innerVarStart > varStart) && (innerVarStart < varEnd)) { + varStart = innerVarStart; + innerVarStart = withVars.search("$(", varStart+2); + } + + SString var(withVars.c_str(), varStart + 2, varEnd); + SString val = props.Get(var.c_str()); + + if (blankVars.contains(var.c_str())) { + val.clear(); // treat blankVar as an empty string (e.g. to block self-reference) + } + + if (--maxExpands >= 0) { + maxExpands = ExpandAllInPlace(props, val, maxExpands, VarChain(var.c_str(), &blankVars)); + } + + withVars.remove(varStart, varEnd-varStart+1); + withVars.insert(varStart, val.c_str(), val.length()); + + varStart = withVars.search("$("); + } + + return maxExpands; +} + + SString PropSet::GetExpanded(const char *key) { SString val = Get(key); - if (IncludesVar(val.c_str(), key)) - return val; - return Expand(val.c_str()); + ExpandAllInPlace(*this, val, 100, VarChain(key)); + return val; } SString PropSet::Expand(const char *withVars, int maxExpands) { - char *base = StringDup(withVars); - char *cpvar = strstr(base, "$("); - while (cpvar && (maxExpands > 0)) { - char *cpendvar = strchr(cpvar, ')'); - if (!cpendvar) - break; - int lenvar = cpendvar - cpvar - 2; // Subtract the $() - char *var = StringDup(cpvar + 2, lenvar); - SString val = Get(var); - if (IncludesVar(val.c_str(), var)) - break; - size_t newlenbase = strlen(base) + val.length() - lenvar; - char *newbase = new char[newlenbase]; - strncpy(newbase, base, cpvar - base); - strcpy(newbase + (cpvar - base), val.c_str()); - strcpy(newbase + (cpvar - base) + val.length(), cpendvar + 1); - delete []var; - delete []base; - base = newbase; - cpvar = strstr(base, "$("); - maxExpands--; - } - SString sret = base; - delete []base; - return sret; + SString val = withVars; + ExpandAllInPlace(*this, val, maxExpands); + return val; } int PropSet::GetInt(const char *key, int defaultValue) { @@ -549,6 +608,8 @@ SString PropSet::GetWild(const char *keybase, const char *filename) { } } + + // GetNewExpand does not use Expand as it has to use GetWild with the filename for each // variable reference found. SString PropSet::GetNewExpand(const char *keybase, const char *filename) { @@ -561,6 +622,8 @@ SString PropSet::GetNewExpand(const char *keybase, const char *filename) { int lenvar = cpendvar - cpvar - 2; // Subtract the $() char *var = StringDup(cpvar + 2, lenvar); SString val = GetWild(var, filename); + if (0 == strcmp(var, keybase)) + val.clear(); // Self-references evaluate to empty string size_t newlenbase = strlen(base) + val.length() - lenvar; char *newbase = new char[newlenbase]; strncpy(newbase, base, cpvar - base); @@ -820,7 +883,7 @@ bool WordList::InList(const char *s) { * The length of the word to compare is passed too. * Letter case can be ignored or preserved (default). */ -const char *WordList::GetNearestWord(const char *wordStart, int searchLen /*= -1*/, bool ignoreCase /*= false*/, SString wordCharacters /*='/0' */, int wordIndex /*= -1 */) { +const char *WordList::GetNearestWord(const char *wordStart, int searchLen, bool ignoreCase /*= false*/, SString wordCharacters /*='/0' */, int wordIndex /*= -1 */) { int start = 0; // lower bound of the api array block to search int end = len - 1; // upper bound of the api array block to search int pivot; // index of api array element just being compared @@ -838,36 +901,32 @@ const char *WordList::GetNearestWord(const char *wordStart, int searchLen /*= -1 pivot = (start + end) >> 1; word = wordsNoCase[pivot]; cond = CompareNCaseInsensitive(wordStart, word, searchLen); - if (!cond && (!wordCharacters.contains(word[searchLen]))) { - // Found a word in a binary fashion. Now checks if a specific index was requested - if (wordIndex < 0) - return word; // result must not be freed with free() - + if (!cond) { + // find first word + start = pivot; + while (start > 0 && !CompareNCaseInsensitive(wordStart, wordsNoCase[start-1], searchLen)) { + start--; + } + // find last word + end = pivot; + while (end < len-1 && !CompareNCaseInsensitive(wordStart, wordsNoCase[end+1], searchLen)) { + end++; + } + // Finds first word in a series of equal words - int first = pivot; - end = pivot - 1; - while (start <= end) { - pivot = (start + end) >> 1; + for (pivot = start; pivot <= end; pivot++) { word = wordsNoCase[pivot]; - cond = CompareNCaseInsensitive(wordStart, word, searchLen); - if (!cond && (!wordCharacters.contains(word[searchLen]))) { - // Found another word - first = pivot; - end = pivot - 1; + if (!wordCharacters.contains(word[searchLen])) { + if (wordIndex <= 0) // Checks if a specific index was requested + return word; // result must not be freed with free() + wordIndex--; } - else if (cond > 0) - start = pivot + 1; - else if (cond <= 0) - break; } - - // Gets the word at the requested index - word = wordsNoCase[first + wordIndex]; - return word; + return NULL; } else if (cond > 0) start = pivot + 1; - else if (cond <= 0) + else if (cond < 0) end = pivot - 1; } } else { // preserve the letter case @@ -875,36 +934,34 @@ const char *WordList::GetNearestWord(const char *wordStart, int searchLen /*= -1 pivot = (start + end) >> 1; word = words[pivot]; cond = strncmp(wordStart, word, searchLen); - if (!cond && (!wordCharacters.contains(word[searchLen]))) { - // Found a word in a binary fashion. Now checks if a specific index was requested - if (wordIndex < 0) - return word; // result must not be freed with free() - + if (!cond) { + // find first word + start = pivot; + while (start > 0 && !strncmp(wordStart, words[start-1], searchLen)) { + start--; + } + // find last word + end = pivot; + while (end < len-1 && !strncmp(wordStart, words[end+1], searchLen)) { + end++; + } + // Finds first word in a series of equal words - int first = pivot; - end = pivot - 1; - while (start <= end) { - pivot = (start + end) >> 1; + pivot = start; + while (pivot <= end) { word = words[pivot]; - cond = strncmp(wordStart, word, searchLen); - if (!cond && (!wordCharacters.contains(word[searchLen]))) { - // Found another word - first = pivot; - end = pivot - 1; + if (!wordCharacters.contains(word[searchLen])) { + if (wordIndex <= 0) // Checks if a specific index was requested + return word; // result must not be freed with free() + wordIndex--; } - else if (cond > 0) - start = pivot + 1; - else if (cond <= 0) - break; + pivot++; } - - // Gets the word at the requested index - word = words[first + wordIndex]; - return word; + return NULL; } else if (cond > 0) start = pivot + 1; - else if (cond <= 0) + else if (cond < 0) end = pivot - 1; } } @@ -913,15 +970,13 @@ const char *WordList::GetNearestWord(const char *wordStart, int searchLen /*= -1 /** * Find the length of a 'word' which is actually an identifier in a string - * which looks like "identifier(..." or "identifier:" or "identifier" and where + * which looks like "identifier(..." or "identifier" and where * there may be extra spaces after the identifier that should not be * counted in the length. */ static unsigned int LengthWord(const char *word, char otherSeparator) { - // Find a '(', or ':'. If that fails go to the end of the string. + // Find a '('. If that fails go to the end of the string. const char *endWord = strchr(word, '('); - if (!endWord) - endWord = strchr(word, ':'); if (!endWord && otherSeparator) endWord = strchr(word, otherSeparator); if (!endWord) @@ -930,7 +985,7 @@ static unsigned int LengthWord(const char *word, char otherSeparator) { // Drop any space characters. if (endWord > word) { - endWord--; // Back from the '(', ':', or '\0' + endWord--; // Back from the '(', otherSeparator, or '\0' // Move backwards over any spaces while ((endWord > word) && (IsASpace(*endWord))) { endWord--; @@ -951,7 +1006,7 @@ static unsigned int LengthWord(const char *word, char otherSeparator) { */ char *WordList::GetNearestWords( const char *wordStart, - int searchLen /*= -1*/, + int searchLen, bool ignoreCase /*= false*/, char otherSeparator /*= '\0'*/, bool exactLen /*=false*/) { @@ -985,10 +1040,10 @@ char *WordList::GetNearestWords( (0 == CompareNCaseInsensitive(wordStart, wordsNoCase[pivot], searchLen))) { wordlen = LengthWord(wordsNoCase[pivot], otherSeparator) + 1; - if (exactLen && wordlen != LengthWord(wordStart, otherSeparator) + 1) - break; - wordsNear.append(wordsNoCase[pivot], wordlen, ' '); ++pivot; + if (exactLen && wordlen != LengthWord(wordStart, otherSeparator) + 1) + continue; + wordsNear.append(wordsNoCase[pivot-1], wordlen, ' '); } return wordsNear.detach(); } else if (cond < 0) { @@ -1013,10 +1068,10 @@ char *WordList::GetNearestWords( (0 == strncmp(wordStart, words[pivot], searchLen))) { wordlen = LengthWord(words[pivot], otherSeparator) + 1; - if (exactLen && wordlen != LengthWord(wordStart, otherSeparator) + 1) - break; - wordsNear.append(words[pivot], wordlen, ' '); ++pivot; + if (exactLen && wordlen != LengthWord(wordStart, otherSeparator) + 1) + continue; + wordsNear.append(words[pivot-1], wordlen, ' '); } return wordsNear.detach(); } else if (cond < 0) { diff --git a/contrib/src/stc/scintilla/src/ScintillaBase.cxx b/contrib/src/stc/scintilla/src/ScintillaBase.cxx index cc02674b35..1d3867b7fe 100644 --- a/contrib/src/stc/scintilla/src/ScintillaBase.cxx +++ b/contrib/src/stc/scintilla/src/ScintillaBase.cxx @@ -280,9 +280,9 @@ void ScintillaBase::AutoCompleteMoveToCurrentWord() { char wordCurrent[1000]; int i; int startWord = ac.posStart - ac.startLen; - for (i = startWord; i < currentPos; i++) + for (i = startWord; i < currentPos && i - startWord < 1000; i++) wordCurrent[i - startWord] = pdoc->CharAt(i); - wordCurrent[i - startWord] = '\0'; + wordCurrent[Platform::Minimum(i - startWord, 999)] = '\0'; ac.Select(wordCurrent); } @@ -357,11 +357,12 @@ void ScintillaBase::CallTipShow(Point pt, const char *defn) { AutoCompleteCancel(); pt.y += vs.lineHeight; PRectangle rc = ct.CallTipStart(currentPos, pt, - defn, - vs.styles[STYLE_DEFAULT].fontName, - vs.styles[STYLE_DEFAULT].sizeZoomed, - IsUnicodeMode(), - wMain); + defn, + vs.styles[STYLE_DEFAULT].fontName, + vs.styles[STYLE_DEFAULT].sizeZoomed, + CodePage(), + vs.styles[STYLE_DEFAULT].characterSet, + wMain); // If the call-tip window would be out of the client // space, adjust so it displays above the text. PRectangle rcClient = GetClientRectangle(); diff --git a/contrib/src/stc/scintilla/src/UniConversion.cxx b/contrib/src/stc/scintilla/src/UniConversion.cxx index 15cad63829..363db90f45 100644 --- a/contrib/src/stc/scintilla/src/UniConversion.cxx +++ b/contrib/src/stc/scintilla/src/UniConversion.cxx @@ -16,7 +16,7 @@ unsigned int UTF8Length(const wchar_t *uptr, unsigned int tlen) { if (uch < 0x80) len++; else if (uch < 0x800) - len+=2; + len += 2; else len +=3; } diff --git a/contrib/src/stc/stc.cpp b/contrib/src/stc/stc.cpp index b3b3cd2765..f534906177 100644 --- a/contrib/src/stc/stc.cpp +++ b/contrib/src/stc/stc.cpp @@ -2408,6 +2408,12 @@ void wxStyledTextCtrl::Allocate(int bytes) { SendMsg(2446, bytes, 0); } +// Find the position of a column on a line taking into account tabs and +// multi-byte characters. If beyond end of line, return line end position. +int wxStyledTextCtrl::FindColumn(int line, int column) { + return SendMsg(2456, line, column); +} + // Start notifying the container of all key presses and commands. void wxStyledTextCtrl::StartRecord() { SendMsg(3001, 0, 0); diff --git a/include/wx/stc/stc.h b/include/wx/stc/stc.h index 10519a61b7..b636753aa5 100644 --- a/include/wx/stc/stc.h +++ b/include/wx/stc/stc.h @@ -363,6 +363,8 @@ #define wxSTC_LEX_AU3 60 #define wxSTC_LEX_APDL 61 #define wxSTC_LEX_BASH 62 +#define wxSTC_LEX_ASN1 63 +#define wxSTC_LEX_VHDL 64 // When a lexer specifies its language as SCLEX_AUTOMATIC it receives a // value assigned in sequence from SCLEX_AUTOMATIC+1. @@ -649,6 +651,7 @@ #define wxSTC_ERR_IFORT 17 #define wxSTC_ERR_ABSF 18 #define wxSTC_ERR_TIDY 19 +#define wxSTC_ERR_JAVA_STACK 20 // Lexical states for SCLEX_BATCH #define wxSTC_BAT_DEFAULT 0 @@ -863,6 +866,7 @@ #define wxSTC_CSS_DIRECTIVE 12 #define wxSTC_CSS_DOUBLESTRING 13 #define wxSTC_CSS_SINGLESTRING 14 +#define wxSTC_CSS_IDENTIFIER2 15 // Lexical states for SCLEX_POV #define wxSTC_POV_DEFAULT 0 @@ -1126,6 +1130,7 @@ #define wxSTC_AU3_VARIABLE 9 #define wxSTC_AU3_SENT 10 #define wxSTC_AU3_PREPROCESSOR 11 +#define wxSTC_AU3_SPECIAL 12 // Lexical states for SCLEX_APDL #define wxSTC_APDL_DEFAULT 0 @@ -1133,10 +1138,14 @@ #define wxSTC_APDL_COMMENTBLOCK 2 #define wxSTC_APDL_NUMBER 3 #define wxSTC_APDL_STRING 4 -#define wxSTC_APDL_WORD 5 -#define wxSTC_APDL_COMMAND 6 +#define wxSTC_APDL_OPERATOR 5 +#define wxSTC_APDL_WORD 6 #define wxSTC_APDL_PROCESSOR 7 -#define wxSTC_APDL_FUNCTION 8 +#define wxSTC_APDL_COMMAND 8 +#define wxSTC_APDL_SLASHCOMMAND 9 +#define wxSTC_APDL_STARCOMMAND 10 +#define wxSTC_APDL_ARGUMENT 11 +#define wxSTC_APDL_FUNCTION 12 // Lexical states for SCLEX_BASH #define wxSTC_SH_DEFAULT 0 @@ -1154,6 +1163,36 @@ #define wxSTC_SH_HERE_DELIM 12 #define wxSTC_SH_HERE_Q 13 +// Lexical states for SCLEX_ASN1 +#define wxSTC_ASN1_DEFAULT 0 +#define wxSTC_ASN1_COMMENT 1 +#define wxSTC_ASN1_IDENTIFIER 2 +#define wxSTC_ASN1_STRING 3 +#define wxSTC_ASN1_OID 4 +#define wxSTC_ASN1_SCALAR 5 +#define wxSTC_ASN1_KEYWORD 6 +#define wxSTC_ASN1_ATTRIBUTE 7 +#define wxSTC_ASN1_DESCRIPTOR 8 +#define wxSTC_ASN1_TYPE 9 +#define wxSTC_ASN1_OPERATOR 10 + +// Lexical states for SCLEX_VHDL +#define wxSTC_VHDL_DEFAULT 0 +#define wxSTC_VHDL_COMMENT 1 +#define wxSTC_VHDL_COMMENTLINEBANG 2 +#define wxSTC_VHDL_NUMBER 3 +#define wxSTC_VHDL_STRING 4 +#define wxSTC_VHDL_OPERATOR 5 +#define wxSTC_VHDL_IDENTIFIER 6 +#define wxSTC_VHDL_STRINGEOL 7 +#define wxSTC_VHDL_KEYWORD 8 +#define wxSTC_VHDL_STDOPERATOR 9 +#define wxSTC_VHDL_ATTRIBUTE 10 +#define wxSTC_VHDL_STDFUNCTION 11 +#define wxSTC_VHDL_STDPACKAGE 12 +#define wxSTC_VHDL_STDTYPE 13 +#define wxSTC_VHDL_USERWORD 14 + //----------------------------------------- // Commands that can be bound to keystrokes @@ -2737,6 +2776,10 @@ public: // Enlarge the document to a particular size of text bytes. void Allocate(int bytes); + // Find the position of a column on a line taking into account tabs and + // multi-byte characters. If beyond end of line, return line end position. + int FindColumn(int line, int column); + // Start notifying the container of all key presses and commands. void StartRecord(); diff --git a/src/stc/Makefile.in b/src/stc/Makefile.in index 7775115607..385a300f12 100644 --- a/src/stc/Makefile.in +++ b/src/stc/Makefile.in @@ -1,6 +1,6 @@ # ========================================================================= # This makefile was generated by -# Bakefile 0.1.4 (http://bakefile.sourceforge.net) +# Bakefile 0.1.6 (http://bakefile.sourceforge.net) # Do not modify, all changes will be overwritten! # ========================================================================= @@ -49,8 +49,8 @@ HOST_SUFFIX = @HOST_SUFFIX@ DESTDIR = WX_RELEASE = 2.5 WX_RELEASE_NODOT = 25 -WX_VERSION = $(WX_RELEASE).3 -WX_VERSION_NODOT = $(WX_RELEASE_NODOT)3 +WX_VERSION = $(WX_RELEASE).4 +WX_VERSION_NODOT = $(WX_RELEASE_NODOT)4 LIBDIRNAME = $(top_builddir)lib STCDLL_CXXFLAGS = -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \ -I$(srcdir)/../../include -I$(srcdir)/scintilla/include \ @@ -64,8 +64,8 @@ STCDLL_OBJECTS = \ stcdll_CallTip.o \ stcdll_CellBuffer.o \ stcdll_ContractionState.o \ - stcdll_DocumentAccessor.o \ stcdll_Document.o \ + stcdll_DocumentAccessor.o \ stcdll_Editor.o \ stcdll_ExternalLexer.o \ stcdll_Indicator.o \ @@ -76,6 +76,7 @@ STCDLL_OBJECTS = \ stcdll_LexAVE.o \ stcdll_LexAda.o \ stcdll_LexAsm.o \ + stcdll_LexAsn1.o \ stcdll_LexBaan.o \ stcdll_LexBash.o \ stcdll_LexBullant.o \ @@ -114,14 +115,15 @@ STCDLL_OBJECTS = \ stcdll_LexSpecman.o \ stcdll_LexTeX.o \ stcdll_LexVB.o \ + stcdll_LexVHDL.o \ stcdll_LexVerilog.o \ stcdll_LexYAML.o \ stcdll_LineMarker.o \ stcdll_PropSet.o \ stcdll_RESearch.o \ stcdll_ScintillaBase.o \ - stcdll_StyleContext.o \ stcdll_Style.o \ + stcdll_StyleContext.o \ stcdll_UniConversion.o \ stcdll_ViewStyle.o \ stcdll_WindowAccessor.o \ @@ -138,8 +140,8 @@ STCLIB_OBJECTS = \ stclib_CallTip.o \ stclib_CellBuffer.o \ stclib_ContractionState.o \ - stclib_DocumentAccessor.o \ stclib_Document.o \ + stclib_DocumentAccessor.o \ stclib_Editor.o \ stclib_ExternalLexer.o \ stclib_Indicator.o \ @@ -150,6 +152,7 @@ STCLIB_OBJECTS = \ stclib_LexAVE.o \ stclib_LexAda.o \ stclib_LexAsm.o \ + stclib_LexAsn1.o \ stclib_LexBaan.o \ stclib_LexBash.o \ stclib_LexBullant.o \ @@ -188,14 +191,15 @@ STCLIB_OBJECTS = \ stclib_LexSpecman.o \ stclib_LexTeX.o \ stclib_LexVB.o \ + stclib_LexVHDL.o \ stclib_LexVerilog.o \ stclib_LexYAML.o \ stclib_LineMarker.o \ stclib_PropSet.o \ stclib_RESearch.o \ stclib_ScintillaBase.o \ - stclib_StyleContext.o \ stclib_Style.o \ + stclib_StyleContext.o \ stclib_UniConversion.o \ stclib_ViewStyle.o \ stclib_WindowAccessor.o \ @@ -238,14 +242,14 @@ COND_PLATFORM_WIN32_1___stcdll___importlib = \ -Wl,--out-implib,$(LIBDIRNAME)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc-$(WX_RELEASE)$(HOST_SUFFIX).$(DLLIMP_SUFFIX) @COND_PLATFORM_WIN32_1@__stcdll___importlib = $(COND_PLATFORM_WIN32_1___stcdll___importlib) @COND_PLATFORM_MACOSX_0_USE_SOVERSION_1@__stcdll___targetsuf2 \ -@COND_PLATFORM_MACOSX_0_USE_SOVERSION_1@ = .$(SO_SUFFIX).3 +@COND_PLATFORM_MACOSX_0_USE_SOVERSION_1@ = .$(SO_SUFFIX).4 @COND_PLATFORM_MACOSX_1_USE_SOVERSION_1@__stcdll___targetsuf2 \ -@COND_PLATFORM_MACOSX_1_USE_SOVERSION_1@ = .3.$(SO_SUFFIX) +@COND_PLATFORM_MACOSX_1_USE_SOVERSION_1@ = .4.$(SO_SUFFIX) @COND_USE_SOVERSION_0@__stcdll___targetsuf2 = .$(SO_SUFFIX) @COND_PLATFORM_MACOSX_0_USE_SOVERSION_1@__stcdll___targetsuf3 \ -@COND_PLATFORM_MACOSX_0_USE_SOVERSION_1@ = .$(SO_SUFFIX).3.0.0 +@COND_PLATFORM_MACOSX_0_USE_SOVERSION_1@ = .$(SO_SUFFIX).4.0.0 @COND_PLATFORM_MACOSX_1_USE_SOVERSION_1@__stcdll___targetsuf3 \ -@COND_PLATFORM_MACOSX_1_USE_SOVERSION_1@ = .3.0.0.$(SO_SUFFIX) +@COND_PLATFORM_MACOSX_1_USE_SOVERSION_1@ = .4.0.0.$(SO_SUFFIX) @COND_USE_SOVERSION_0@__stcdll___targetsuf3 = .$(SO_SUFFIX) COND_USE_SOVERLINUX_1___stcdll___soname_flags = \ $(SONAME_FLAG)$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(__stcdll___targetsuf2) @@ -336,7 +340,7 @@ clean: rm -f $(LIBDIRNAME)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc-$(WX_RELEASE)$(HOST_SUFFIX)$(LIBEXT) distclean: clean - rm -f configure config.cache config.log config.status bk-deps bk-make-pch shared-ld-sh Makefile + rm -f config.cache config.log config.status bk-deps bk-make-pch shared-ld-sh Makefile @COND_SHARED_1@$(LIBDIRNAME)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(__stcdll___targetsuf3): $(STCDLL_OBJECTS) @COND_SHARED_1@ $(SHARED_LD_CXX) $@ $(STCDLL_OBJECTS) $(LDFLAGS) -L$(LIBDIRNAME) $(__stcdll___macinstnamecmd) $(__stcdll___importlib) $(__stcdll___soname_flags) $(__stcdll___macver) $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(__LIB_ZLIB_p) $(__LIB_ODBC_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(EXTRALIBS_FOR_GUI) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) @@ -359,418 +363,430 @@ distclean: clean @COND_SHARED_0@ $(INSTALL_DATA) $(LIBDIRNAME)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc-$(WX_RELEASE)$(HOST_SUFFIX)$(LIBEXT) $(DESTDIR)$(libdir) stcdll_PlatWX.o: $(srcdir)/PlatWX.cpp - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/PlatWX.cpp stcdll_ScintillaWX.o: $(srcdir)/ScintillaWX.cpp - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/ScintillaWX.cpp stcdll_stc.o: $(srcdir)/stc.cpp - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/stc.cpp stcdll_AutoComplete.o: $(srcdir)/scintilla/src/AutoComplete.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/AutoComplete.cxx stcdll_CallTip.o: $(srcdir)/scintilla/src/CallTip.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/CallTip.cxx stcdll_CellBuffer.o: $(srcdir)/scintilla/src/CellBuffer.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/CellBuffer.cxx stcdll_ContractionState.o: $(srcdir)/scintilla/src/ContractionState.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< - -stcdll_DocumentAccessor.o: $(srcdir)/scintilla/src/DocumentAccessor.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/ContractionState.cxx stcdll_Document.o: $(srcdir)/scintilla/src/Document.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/Document.cxx + +stcdll_DocumentAccessor.o: $(srcdir)/scintilla/src/DocumentAccessor.cxx + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/DocumentAccessor.cxx stcdll_Editor.o: $(srcdir)/scintilla/src/Editor.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/Editor.cxx stcdll_ExternalLexer.o: $(srcdir)/scintilla/src/ExternalLexer.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/ExternalLexer.cxx stcdll_Indicator.o: $(srcdir)/scintilla/src/Indicator.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/Indicator.cxx stcdll_KeyMap.o: $(srcdir)/scintilla/src/KeyMap.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/KeyMap.cxx stcdll_KeyWords.o: $(srcdir)/scintilla/src/KeyWords.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/KeyWords.cxx stcdll_LexAPDL.o: $(srcdir)/scintilla/src/LexAPDL.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexAPDL.cxx stcdll_LexAU3.o: $(srcdir)/scintilla/src/LexAU3.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexAU3.cxx stcdll_LexAVE.o: $(srcdir)/scintilla/src/LexAVE.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexAVE.cxx stcdll_LexAda.o: $(srcdir)/scintilla/src/LexAda.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexAda.cxx stcdll_LexAsm.o: $(srcdir)/scintilla/src/LexAsm.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexAsm.cxx + +stcdll_LexAsn1.o: $(srcdir)/scintilla/src/LexAsn1.cxx + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexAsn1.cxx stcdll_LexBaan.o: $(srcdir)/scintilla/src/LexBaan.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexBaan.cxx stcdll_LexBash.o: $(srcdir)/scintilla/src/LexBash.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexBash.cxx stcdll_LexBullant.o: $(srcdir)/scintilla/src/LexBullant.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexBullant.cxx stcdll_LexCLW.o: $(srcdir)/scintilla/src/LexCLW.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexCLW.cxx stcdll_LexCPP.o: $(srcdir)/scintilla/src/LexCPP.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexCPP.cxx stcdll_LexCSS.o: $(srcdir)/scintilla/src/LexCSS.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexCSS.cxx stcdll_LexConf.o: $(srcdir)/scintilla/src/LexConf.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexConf.cxx stcdll_LexCrontab.o: $(srcdir)/scintilla/src/LexCrontab.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexCrontab.cxx stcdll_LexEScript.o: $(srcdir)/scintilla/src/LexEScript.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexEScript.cxx stcdll_LexEiffel.o: $(srcdir)/scintilla/src/LexEiffel.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexEiffel.cxx stcdll_LexErlang.o: $(srcdir)/scintilla/src/LexErlang.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexErlang.cxx stcdll_LexForth.o: $(srcdir)/scintilla/src/LexForth.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexForth.cxx stcdll_LexFortran.o: $(srcdir)/scintilla/src/LexFortran.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexFortran.cxx stcdll_LexGui4Cli.o: $(srcdir)/scintilla/src/LexGui4Cli.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexGui4Cli.cxx stcdll_LexHTML.o: $(srcdir)/scintilla/src/LexHTML.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexHTML.cxx stcdll_LexKix.o: $(srcdir)/scintilla/src/LexKix.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexKix.cxx stcdll_LexLisp.o: $(srcdir)/scintilla/src/LexLisp.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexLisp.cxx stcdll_LexLout.o: $(srcdir)/scintilla/src/LexLout.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexLout.cxx stcdll_LexLua.o: $(srcdir)/scintilla/src/LexLua.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexLua.cxx stcdll_LexMMIXAL.o: $(srcdir)/scintilla/src/LexMMIXAL.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexMMIXAL.cxx stcdll_LexMPT.o: $(srcdir)/scintilla/src/LexMPT.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexMPT.cxx stcdll_LexMSSQL.o: $(srcdir)/scintilla/src/LexMSSQL.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexMSSQL.cxx stcdll_LexMatlab.o: $(srcdir)/scintilla/src/LexMatlab.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexMatlab.cxx stcdll_LexMetapost.o: $(srcdir)/scintilla/src/LexMetapost.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexMetapost.cxx stcdll_LexNsis.o: $(srcdir)/scintilla/src/LexNsis.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexNsis.cxx stcdll_LexOthers.o: $(srcdir)/scintilla/src/LexOthers.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexOthers.cxx stcdll_LexPB.o: $(srcdir)/scintilla/src/LexPB.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexPB.cxx stcdll_LexPOV.o: $(srcdir)/scintilla/src/LexPOV.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexPOV.cxx stcdll_LexPS.o: $(srcdir)/scintilla/src/LexPS.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexPS.cxx stcdll_LexPascal.o: $(srcdir)/scintilla/src/LexPascal.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexPascal.cxx stcdll_LexPerl.o: $(srcdir)/scintilla/src/LexPerl.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexPerl.cxx stcdll_LexPython.o: $(srcdir)/scintilla/src/LexPython.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexPython.cxx stcdll_LexRuby.o: $(srcdir)/scintilla/src/LexRuby.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexRuby.cxx stcdll_LexSQL.o: $(srcdir)/scintilla/src/LexSQL.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexSQL.cxx stcdll_LexScriptol.o: $(srcdir)/scintilla/src/LexScriptol.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexScriptol.cxx stcdll_LexSpecman.o: $(srcdir)/scintilla/src/LexSpecman.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexSpecman.cxx stcdll_LexTeX.o: $(srcdir)/scintilla/src/LexTeX.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexTeX.cxx stcdll_LexVB.o: $(srcdir)/scintilla/src/LexVB.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexVB.cxx + +stcdll_LexVHDL.o: $(srcdir)/scintilla/src/LexVHDL.cxx + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexVHDL.cxx stcdll_LexVerilog.o: $(srcdir)/scintilla/src/LexVerilog.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexVerilog.cxx stcdll_LexYAML.o: $(srcdir)/scintilla/src/LexYAML.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LexYAML.cxx stcdll_LineMarker.o: $(srcdir)/scintilla/src/LineMarker.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/LineMarker.cxx stcdll_PropSet.o: $(srcdir)/scintilla/src/PropSet.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/PropSet.cxx stcdll_RESearch.o: $(srcdir)/scintilla/src/RESearch.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/RESearch.cxx stcdll_ScintillaBase.o: $(srcdir)/scintilla/src/ScintillaBase.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< - -stcdll_StyleContext.o: $(srcdir)/scintilla/src/StyleContext.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/ScintillaBase.cxx stcdll_Style.o: $(srcdir)/scintilla/src/Style.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/Style.cxx + +stcdll_StyleContext.o: $(srcdir)/scintilla/src/StyleContext.cxx + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/StyleContext.cxx stcdll_UniConversion.o: $(srcdir)/scintilla/src/UniConversion.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/UniConversion.cxx stcdll_ViewStyle.o: $(srcdir)/scintilla/src/ViewStyle.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/ViewStyle.cxx stcdll_WindowAccessor.o: $(srcdir)/scintilla/src/WindowAccessor.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/WindowAccessor.cxx stcdll_XPM.o: $(srcdir)/scintilla/src/XPM.cxx - $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/scintilla/src/XPM.cxx stclib_PlatWX.o: $(srcdir)/PlatWX.cpp - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/PlatWX.cpp stclib_ScintillaWX.o: $(srcdir)/ScintillaWX.cpp - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/ScintillaWX.cpp stclib_stc.o: $(srcdir)/stc.cpp - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/stc.cpp stclib_AutoComplete.o: $(srcdir)/scintilla/src/AutoComplete.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/AutoComplete.cxx stclib_CallTip.o: $(srcdir)/scintilla/src/CallTip.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/CallTip.cxx stclib_CellBuffer.o: $(srcdir)/scintilla/src/CellBuffer.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/CellBuffer.cxx stclib_ContractionState.o: $(srcdir)/scintilla/src/ContractionState.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< - -stclib_DocumentAccessor.o: $(srcdir)/scintilla/src/DocumentAccessor.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/ContractionState.cxx stclib_Document.o: $(srcdir)/scintilla/src/Document.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/Document.cxx + +stclib_DocumentAccessor.o: $(srcdir)/scintilla/src/DocumentAccessor.cxx + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/DocumentAccessor.cxx stclib_Editor.o: $(srcdir)/scintilla/src/Editor.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/Editor.cxx stclib_ExternalLexer.o: $(srcdir)/scintilla/src/ExternalLexer.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/ExternalLexer.cxx stclib_Indicator.o: $(srcdir)/scintilla/src/Indicator.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/Indicator.cxx stclib_KeyMap.o: $(srcdir)/scintilla/src/KeyMap.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/KeyMap.cxx stclib_KeyWords.o: $(srcdir)/scintilla/src/KeyWords.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/KeyWords.cxx stclib_LexAPDL.o: $(srcdir)/scintilla/src/LexAPDL.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexAPDL.cxx stclib_LexAU3.o: $(srcdir)/scintilla/src/LexAU3.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexAU3.cxx stclib_LexAVE.o: $(srcdir)/scintilla/src/LexAVE.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexAVE.cxx stclib_LexAda.o: $(srcdir)/scintilla/src/LexAda.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexAda.cxx stclib_LexAsm.o: $(srcdir)/scintilla/src/LexAsm.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexAsm.cxx + +stclib_LexAsn1.o: $(srcdir)/scintilla/src/LexAsn1.cxx + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexAsn1.cxx stclib_LexBaan.o: $(srcdir)/scintilla/src/LexBaan.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexBaan.cxx stclib_LexBash.o: $(srcdir)/scintilla/src/LexBash.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexBash.cxx stclib_LexBullant.o: $(srcdir)/scintilla/src/LexBullant.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexBullant.cxx stclib_LexCLW.o: $(srcdir)/scintilla/src/LexCLW.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexCLW.cxx stclib_LexCPP.o: $(srcdir)/scintilla/src/LexCPP.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexCPP.cxx stclib_LexCSS.o: $(srcdir)/scintilla/src/LexCSS.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexCSS.cxx stclib_LexConf.o: $(srcdir)/scintilla/src/LexConf.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexConf.cxx stclib_LexCrontab.o: $(srcdir)/scintilla/src/LexCrontab.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexCrontab.cxx stclib_LexEScript.o: $(srcdir)/scintilla/src/LexEScript.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexEScript.cxx stclib_LexEiffel.o: $(srcdir)/scintilla/src/LexEiffel.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexEiffel.cxx stclib_LexErlang.o: $(srcdir)/scintilla/src/LexErlang.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexErlang.cxx stclib_LexForth.o: $(srcdir)/scintilla/src/LexForth.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexForth.cxx stclib_LexFortran.o: $(srcdir)/scintilla/src/LexFortran.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexFortran.cxx stclib_LexGui4Cli.o: $(srcdir)/scintilla/src/LexGui4Cli.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexGui4Cli.cxx stclib_LexHTML.o: $(srcdir)/scintilla/src/LexHTML.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexHTML.cxx stclib_LexKix.o: $(srcdir)/scintilla/src/LexKix.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexKix.cxx stclib_LexLisp.o: $(srcdir)/scintilla/src/LexLisp.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexLisp.cxx stclib_LexLout.o: $(srcdir)/scintilla/src/LexLout.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexLout.cxx stclib_LexLua.o: $(srcdir)/scintilla/src/LexLua.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexLua.cxx stclib_LexMMIXAL.o: $(srcdir)/scintilla/src/LexMMIXAL.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexMMIXAL.cxx stclib_LexMPT.o: $(srcdir)/scintilla/src/LexMPT.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexMPT.cxx stclib_LexMSSQL.o: $(srcdir)/scintilla/src/LexMSSQL.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexMSSQL.cxx stclib_LexMatlab.o: $(srcdir)/scintilla/src/LexMatlab.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexMatlab.cxx stclib_LexMetapost.o: $(srcdir)/scintilla/src/LexMetapost.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexMetapost.cxx stclib_LexNsis.o: $(srcdir)/scintilla/src/LexNsis.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexNsis.cxx stclib_LexOthers.o: $(srcdir)/scintilla/src/LexOthers.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexOthers.cxx stclib_LexPB.o: $(srcdir)/scintilla/src/LexPB.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexPB.cxx stclib_LexPOV.o: $(srcdir)/scintilla/src/LexPOV.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexPOV.cxx stclib_LexPS.o: $(srcdir)/scintilla/src/LexPS.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexPS.cxx stclib_LexPascal.o: $(srcdir)/scintilla/src/LexPascal.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexPascal.cxx stclib_LexPerl.o: $(srcdir)/scintilla/src/LexPerl.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexPerl.cxx stclib_LexPython.o: $(srcdir)/scintilla/src/LexPython.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexPython.cxx stclib_LexRuby.o: $(srcdir)/scintilla/src/LexRuby.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexRuby.cxx stclib_LexSQL.o: $(srcdir)/scintilla/src/LexSQL.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexSQL.cxx stclib_LexScriptol.o: $(srcdir)/scintilla/src/LexScriptol.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexScriptol.cxx stclib_LexSpecman.o: $(srcdir)/scintilla/src/LexSpecman.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexSpecman.cxx stclib_LexTeX.o: $(srcdir)/scintilla/src/LexTeX.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexTeX.cxx stclib_LexVB.o: $(srcdir)/scintilla/src/LexVB.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexVB.cxx + +stclib_LexVHDL.o: $(srcdir)/scintilla/src/LexVHDL.cxx + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexVHDL.cxx stclib_LexVerilog.o: $(srcdir)/scintilla/src/LexVerilog.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexVerilog.cxx stclib_LexYAML.o: $(srcdir)/scintilla/src/LexYAML.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LexYAML.cxx stclib_LineMarker.o: $(srcdir)/scintilla/src/LineMarker.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/LineMarker.cxx stclib_PropSet.o: $(srcdir)/scintilla/src/PropSet.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/PropSet.cxx stclib_RESearch.o: $(srcdir)/scintilla/src/RESearch.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/RESearch.cxx stclib_ScintillaBase.o: $(srcdir)/scintilla/src/ScintillaBase.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< - -stclib_StyleContext.o: $(srcdir)/scintilla/src/StyleContext.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/ScintillaBase.cxx stclib_Style.o: $(srcdir)/scintilla/src/Style.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/Style.cxx + +stclib_StyleContext.o: $(srcdir)/scintilla/src/StyleContext.cxx + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/StyleContext.cxx stclib_UniConversion.o: $(srcdir)/scintilla/src/UniConversion.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/UniConversion.cxx stclib_ViewStyle.o: $(srcdir)/scintilla/src/ViewStyle.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/ViewStyle.cxx stclib_WindowAccessor.o: $(srcdir)/scintilla/src/WindowAccessor.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/WindowAccessor.cxx stclib_XPM.o: $(srcdir)/scintilla/src/XPM.cxx - $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $< + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/scintilla/src/XPM.cxx # Include dependency info, if present: diff --git a/src/stc/ScintillaWX.cpp b/src/stc/ScintillaWX.cpp index 41b3a5a06d..796f06e0c8 100644 --- a/src/stc/ScintillaWX.cpp +++ b/src/stc/ScintillaWX.cpp @@ -539,7 +539,8 @@ long ScintillaWX::WndProc(unsigned int iMessage, unsigned long wParam, long lPar defn, vs.styles[STYLE_DEFAULT].fontName, vs.styles[STYLE_DEFAULT].sizeZoomed, - IsUnicodeMode(), + CodePage(), + vs.styles[STYLE_DEFAULT].characterSet, wMain); // If the call-tip window would be out of the client // space, adjust so it displays above the text. diff --git a/src/stc/gen_iface.py b/src/stc/gen_iface.py index 541dd96ee8..6e0a0aee90 100644 --- a/src/stc/gen_iface.py +++ b/src/stc/gen_iface.py @@ -501,6 +501,11 @@ methodOverrideMap = { return SendMsg(%s, strlen(buf), (long)(const char*)buf);''', 0), + # not sure what to do about these yet + 'TargetAsUTF8' : ( None, 0, 0, 0), + 'SetLengthForEncode' : ( None, 0, 0, 0), + 'EncodedFromUTF8' : ( None, 0, 0, 0), + 'GetDocPointer' : (0, diff --git a/src/stc/scintilla/README.txt b/src/stc/scintilla/README.txt index 25dca357b1..fce427d5d1 100644 --- a/src/stc/scintilla/README.txt +++ b/src/stc/scintilla/README.txt @@ -3,5 +3,5 @@ scintilla/include directories from the Scintilla/SCiTE source distribution. All other code needed to implement Scintilla on top of wxWindows is located in the directory above this one. -The current version of the Scintilla code is 1.61 +The current version of the Scintilla code is 1.62 diff --git a/src/stc/scintilla/include/Platform.h b/src/stc/scintilla/include/Platform.h index e6385da71d..f0c0b84d17 100644 --- a/src/stc/scintilla/include/Platform.h +++ b/src/stc/scintilla/include/Platform.h @@ -69,7 +69,7 @@ public: int x; int y; - Point(int x_=0, int y_=0) : x(x_), y(y_) { + explicit Point(int x_=0, int y_=0) : x(x_), y(y_) { } // Other automatically defined methods (assignment, copy constructor, destructor) are fine diff --git a/src/stc/scintilla/include/PropSet.h b/src/stc/scintilla/include/PropSet.h index 0b4c2f58de..32aea8a0c7 100644 --- a/src/stc/scintilla/include/PropSet.h +++ b/src/stc/scintilla/include/PropSet.h @@ -39,12 +39,14 @@ protected: return ret; } static bool IncludesVar(const char *value, const char *key); + public: PropSet *superPS; PropSet(); ~PropSet(); void Set(const char *key, const char *val, int lenKey=-1, int lenVal=-1); void Set(const char *keyVal); + void Unset(const char *key, int lenKey=-1); void SetMultiple(const char *s); SString Get(const char *key); SString GetExpanded(const char *key); @@ -85,9 +87,9 @@ public: char *Allocate(int size); void SetFromAllocated(); bool InList(const char *s); - const char *GetNearestWord(const char *wordStart, int searchLen = -1, + const char *GetNearestWord(const char *wordStart, int searchLen, bool ignoreCase = false, SString wordCharacters="", int wordIndex = -1); - char *GetNearestWords(const char *wordStart, int searchLen=-1, + char *GetNearestWords(const char *wordStart, int searchLen, bool ignoreCase=false, char otherSeparator='\0', bool exactLen=false); }; diff --git a/src/stc/scintilla/include/SciLexer.h b/src/stc/scintilla/include/SciLexer.h index 5c8307a595..ce50a7fab5 100644 --- a/src/stc/scintilla/include/SciLexer.h +++ b/src/stc/scintilla/include/SciLexer.h @@ -77,6 +77,8 @@ #define SCLEX_AU3 60 #define SCLEX_APDL 61 #define SCLEX_BASH 62 +#define SCLEX_ASN1 63 +#define SCLEX_VHDL 64 #define SCLEX_AUTOMATIC 1000 #define SCE_P_DEFAULT 0 #define SCE_P_COMMENTLINE 1 @@ -318,6 +320,7 @@ #define SCE_ERR_IFORT 17 #define SCE_ERR_ABSF 18 #define SCE_ERR_TIDY 19 +#define SCE_ERR_JAVA_STACK 20 #define SCE_BAT_DEFAULT 0 #define SCE_BAT_COMMENT 1 #define SCE_BAT_WORD 2 @@ -498,6 +501,7 @@ #define SCE_CSS_DIRECTIVE 12 #define SCE_CSS_DOUBLESTRING 13 #define SCE_CSS_SINGLESTRING 14 +#define SCE_CSS_IDENTIFIER2 15 #define SCE_POV_DEFAULT 0 #define SCE_POV_COMMENT 1 #define SCE_POV_COMMENTLINE 2 @@ -726,15 +730,20 @@ #define SCE_AU3_VARIABLE 9 #define SCE_AU3_SENT 10 #define SCE_AU3_PREPROCESSOR 11 +#define SCE_AU3_SPECIAL 12 #define SCE_APDL_DEFAULT 0 #define SCE_APDL_COMMENT 1 #define SCE_APDL_COMMENTBLOCK 2 #define SCE_APDL_NUMBER 3 #define SCE_APDL_STRING 4 -#define SCE_APDL_WORD 5 -#define SCE_APDL_COMMAND 6 +#define SCE_APDL_OPERATOR 5 +#define SCE_APDL_WORD 6 #define SCE_APDL_PROCESSOR 7 -#define SCE_APDL_FUNCTION 8 +#define SCE_APDL_COMMAND 8 +#define SCE_APDL_SLASHCOMMAND 9 +#define SCE_APDL_STARCOMMAND 10 +#define SCE_APDL_ARGUMENT 11 +#define SCE_APDL_FUNCTION 12 #define SCE_SH_DEFAULT 0 #define SCE_SH_ERROR 1 #define SCE_SH_COMMENTLINE 2 @@ -749,6 +758,32 @@ #define SCE_SH_BACKTICKS 11 #define SCE_SH_HERE_DELIM 12 #define SCE_SH_HERE_Q 13 +#define SCE_ASN1_DEFAULT 0 +#define SCE_ASN1_COMMENT 1 +#define SCE_ASN1_IDENTIFIER 2 +#define SCE_ASN1_STRING 3 +#define SCE_ASN1_OID 4 +#define SCE_ASN1_SCALAR 5 +#define SCE_ASN1_KEYWORD 6 +#define SCE_ASN1_ATTRIBUTE 7 +#define SCE_ASN1_DESCRIPTOR 8 +#define SCE_ASN1_TYPE 9 +#define SCE_ASN1_OPERATOR 10 +#define SCE_VHDL_DEFAULT 0 +#define SCE_VHDL_COMMENT 1 +#define SCE_VHDL_COMMENTLINEBANG 2 +#define SCE_VHDL_NUMBER 3 +#define SCE_VHDL_STRING 4 +#define SCE_VHDL_OPERATOR 5 +#define SCE_VHDL_IDENTIFIER 6 +#define SCE_VHDL_STRINGEOL 7 +#define SCE_VHDL_KEYWORD 8 +#define SCE_VHDL_STDOPERATOR 9 +#define SCE_VHDL_ATTRIBUTE 10 +#define SCE_VHDL_STDFUNCTION 11 +#define SCE_VHDL_STDPACKAGE 12 +#define SCE_VHDL_STDTYPE 13 +#define SCE_VHDL_USERWORD 14 //--Autogenerated -- end of section automatically generated from Scintilla.iface #endif diff --git a/src/stc/scintilla/include/Scintilla.h b/src/stc/scintilla/include/Scintilla.h index 1a4e488722..f20f0de22d 100644 --- a/src/stc/scintilla/include/Scintilla.h +++ b/src/stc/scintilla/include/Scintilla.h @@ -583,6 +583,10 @@ typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam, #define SCI_SETCHARSDEFAULT 2444 #define SCI_AUTOCGETCURRENT 2445 #define SCI_ALLOCATE 2446 +#define SCI_TARGETASUTF8 2447 +#define SCI_SETLENGTHFORENCODE 2448 +#define SCI_ENCODEDFROMUTF8 2449 +#define SCI_FINDCOLUMN 2456 #define SCI_STARTRECORD 3001 #define SCI_STOPRECORD 3002 #define SCI_SETLEXER 4001 diff --git a/src/stc/scintilla/include/Scintilla.iface b/src/stc/scintilla/include/Scintilla.iface index fef371328c..5be763f258 100644 --- a/src/stc/scintilla/include/Scintilla.iface +++ b/src/stc/scintilla/include/Scintilla.iface @@ -1583,6 +1583,23 @@ fun int AutoCGetCurrent=2445(,) # Enlarge the document to a particular size of text bytes. fun void Allocate=2446(int bytes,) +# Returns the target converted to UTF8. +# Return the length in bytes. +fun int TargetAsUTF8=2447(, stringresult s) + +# Set the length of the utf8 argument for calling EncodedFromUTF8. +# Set to 0 and the string will be measured to the first nul. +fun void SetLengthForEncode=2448(int bytes,) + +# Translates a UTF8 string into the document encoding. +# Return the length of the result in bytes. +# On error return 0. +fun int EncodedFromUTF8=2449(string utf8, stringresult encoded) + +# Find the position of a column on a line taking into account tabs and +# multi-byte characters. If beyond end of line, return line end position. +fun int FindColumn=2456(int line, int column) + # Start notifying the container of all key presses and commands. fun void StartRecord=3001(,) @@ -1733,6 +1750,8 @@ val SCLEX_SPECMAN=59 val SCLEX_AU3=60 val SCLEX_APDL=61 val SCLEX_BASH=62 +val SCLEX_ASN1=63 +val SCLEX_VHDL=64 # When a lexer specifies its language as SCLEX_AUTOMATIC it receives a # value assigned in sequence from SCLEX_AUTOMATIC+1. @@ -2017,6 +2036,7 @@ val SCE_ERR_IFC=16 val SCE_ERR_IFORT=17 val SCE_ERR_ABSF=18 val SCE_ERR_TIDY=19 +val SCE_ERR_JAVA_STACK=20 # Lexical states for SCLEX_BATCH lex Batch=SCLEX_BATCH SCE_BAT_ val SCE_BAT_DEFAULT=0 @@ -2232,6 +2252,7 @@ val SCE_CSS_IMPORTANT=11 val SCE_CSS_DIRECTIVE=12 val SCE_CSS_DOUBLESTRING=13 val SCE_CSS_SINGLESTRING=14 +val SCE_CSS_IDENTIFIER2=15 # Lexical states for SCLEX_POV lex POV=SCLEX_POV SCE_POV_ val SCE_POV_DEFAULT=0 @@ -2496,6 +2517,7 @@ val SCE_AU3_OPERATOR=8 val SCE_AU3_VARIABLE=9 val SCE_AU3_SENT=10 val SCE_AU3_PREPROCESSOR=11 +val SCE_AU3_SPECIAL=12 # Lexical states for SCLEX_APDL lex APDL=SCLEX_APDL SCE_APDL_ val SCE_APDL_DEFAULT=0 @@ -2503,10 +2525,14 @@ val SCE_APDL_COMMENT=1 val SCE_APDL_COMMENTBLOCK=2 val SCE_APDL_NUMBER=3 val SCE_APDL_STRING=4 -val SCE_APDL_WORD=5 -val SCE_APDL_COMMAND=6 +val SCE_APDL_OPERATOR=5 +val SCE_APDL_WORD=6 val SCE_APDL_PROCESSOR=7 -val SCE_APDL_FUNCTION=8 +val SCE_APDL_COMMAND=8 +val SCE_APDL_SLASHCOMMAND=9 +val SCE_APDL_STARCOMMAND=10 +val SCE_APDL_ARGUMENT=11 +val SCE_APDL_FUNCTION=12 # Lexical states for SCLEX_BASH lex Bash=SCLEX_BASH SCE_SH_ val SCE_SH_DEFAULT=0 @@ -2523,6 +2549,37 @@ val SCE_SH_PARAM=10 val SCE_SH_BACKTICKS=11 val SCE_SH_HERE_DELIM=12 val SCE_SH_HERE_Q=13 +# Lexical states for SCLEX_ASN1 +lex Asn1=SCLEX_ASN1 SCE_ASN1_ +val SCE_ASN1_DEFAULT=0 +val SCE_ASN1_COMMENT=1 +val SCE_ASN1_IDENTIFIER=2 +val SCE_ASN1_STRING=3 +val SCE_ASN1_OID=4 +val SCE_ASN1_SCALAR=5 +val SCE_ASN1_KEYWORD=6 +val SCE_ASN1_ATTRIBUTE=7 +val SCE_ASN1_DESCRIPTOR=8 +val SCE_ASN1_TYPE=9 +val SCE_ASN1_OPERATOR=10 +# Lexical states for SCLEX_VHDL +lex VHDL=SCLEX_VHDL SCE_VHDL_ +val SCE_VHDL_DEFAULT=0 +val SCE_VHDL_COMMENT=1 +val SCE_VHDL_COMMENTLINEBANG=2 +val SCE_VHDL_NUMBER=3 +val SCE_VHDL_STRING=4 +val SCE_VHDL_OPERATOR=5 +val SCE_VHDL_IDENTIFIER=6 +val SCE_VHDL_STRINGEOL=7 +val SCE_VHDL_KEYWORD=8 +val SCE_VHDL_STDOPERATOR=9 +val SCE_VHDL_ATTRIBUTE=10 +val SCE_VHDL_STDFUNCTION=11 +val SCE_VHDL_STDPACKAGE=12 +val SCE_VHDL_STDTYPE=13 +val SCE_VHDL_USERWORD=14 + # Events evt void StyleNeeded=2000(int position) diff --git a/src/stc/scintilla/src/CallTip.cxx b/src/stc/scintilla/src/CallTip.cxx index 93e888d0e6..003284c12d 100644 --- a/src/stc/scintilla/src/CallTip.cxx +++ b/src/stc/scintilla/src/CallTip.cxx @@ -214,7 +214,7 @@ void CallTip::MouseClick(Point pt) { PRectangle CallTip::CallTipStart(int pos, Point pt, const char *defn, const char *faceName, int size, - int codePage_, Window &wParent) { + int codePage_, int characterSet, Window &wParent) { clickPlace = 0; if (val) delete []val; @@ -234,7 +234,7 @@ PRectangle CallTip::CallTipStart(int pos, Point pt, const char *defn, inCallTipMode = true; posStartCallTip = pos; int deviceHeight = surfaceMeasure->DeviceHeightFont(size); - font.Create(faceName, SC_CHARSET_DEFAULT, deviceHeight, false, false); + font.Create(faceName, characterSet, deviceHeight, false, false); // Look for multiple lines in the text // Only support \n here - simply means container must avoid \r! int numLines = 1; diff --git a/src/stc/scintilla/src/CallTip.h b/src/stc/scintilla/src/CallTip.h index ffaedb0771..feff7ea0b1 100644 --- a/src/stc/scintilla/src/CallTip.h +++ b/src/stc/scintilla/src/CallTip.h @@ -52,7 +52,8 @@ public: /// Setup the calltip and return a rectangle of the area required. PRectangle CallTipStart(int pos, Point pt, const char *defn, - const char *faceName, int size, int codePage_, Window &wParent); + const char *faceName, int size, int codePage_, + int characterSet, Window &wParent); void CallTipCancel(); diff --git a/src/stc/scintilla/src/CellBuffer.cxx b/src/stc/scintilla/src/CellBuffer.cxx index 27e62ac61c..8183e4d8d3 100644 --- a/src/stc/scintilla/src/CellBuffer.cxx +++ b/src/stc/scintilla/src/CellBuffer.cxx @@ -96,17 +96,20 @@ void MarkerHandleSet::RemoveHandle(int handle) { } } -void MarkerHandleSet::RemoveNumber(int markerNum) { +bool MarkerHandleSet::RemoveNumber(int markerNum) { + bool performedDeletion = false; MarkerHandleNumber **pmhn = &root; while (*pmhn) { MarkerHandleNumber *mhn = *pmhn; if (mhn->number == markerNum) { *pmhn = mhn->next; delete mhn; + performedDeletion = true; } else { pmhn = &((*pmhn)->next); } } + return performedDeletion; } void MarkerHandleSet::CombineWith(MarkerHandleSet *other) { @@ -306,13 +309,18 @@ void LineVector::MergeMarkers(int pos) { } } -void LineVector::DeleteMark(int line, int markerNum) { +void LineVector::DeleteMark(int line, int markerNum, bool all) { if (linesData[line].handleSet) { if (markerNum == -1) { delete linesData[line].handleSet; linesData[line].handleSet = 0; } else { - linesData[line].handleSet->RemoveNumber(markerNum); + bool performedDeletion = + linesData[line].handleSet->RemoveNumber(markerNum); + while (all && performedDeletion) { + performedDeletion = + linesData[line].handleSet->RemoveNumber(markerNum); + } if (linesData[line].handleSet->Length() == 0) { delete linesData[line].handleSet; linesData[line].handleSet = 0; @@ -442,6 +450,9 @@ void UndoHistory::AppendAction(actionType at, int position, char *data, int leng //Platform::DebugPrintf("%% %d action %d %d %d\n", at, position, lengthData, currentAction); //Platform::DebugPrintf("^ %d action %d %d\n", actions[currentAction - 1].at, // actions[currentAction - 1].position, actions[currentAction - 1].lenData); + if (currentAction < savePoint) { + savePoint = -1; + } if (currentAction >= 1) { if (0 == undoSequenceDepth) { // Top level actions may not always be coalesced @@ -833,7 +844,7 @@ int CellBuffer::AddMark(int line, int markerNum) { void CellBuffer::DeleteMark(int line, int markerNum) { if ((line >= 0) && (line < lv.lines)) { - lv.DeleteMark(line, markerNum); + lv.DeleteMark(line, markerNum, false); } } @@ -849,7 +860,7 @@ int CellBuffer::GetMark(int line) { void CellBuffer::DeleteAllMarks(int markerNum) { for (int line = 0; line < lv.lines; line++) { - lv.DeleteMark(line, markerNum); + lv.DeleteMark(line, markerNum, true); } } diff --git a/src/stc/scintilla/src/CellBuffer.h b/src/stc/scintilla/src/CellBuffer.h index bf4a102f22..b16eef5e51 100644 --- a/src/stc/scintilla/src/CellBuffer.h +++ b/src/stc/scintilla/src/CellBuffer.h @@ -33,7 +33,7 @@ public: bool Contains(int handle); bool InsertHandle(int handle, int markerNum); void RemoveHandle(int handle); - void RemoveNumber(int markerNum); + bool RemoveNumber(int markerNum); void CombineWith(MarkerHandleSet *other); }; @@ -77,7 +77,7 @@ public: int AddMark(int line, int marker); void MergeMarkers(int pos); - void DeleteMark(int line, int markerNum); + void DeleteMark(int line, int markerNum, bool all); void DeleteMarkFromHandle(int markerHandle); int LineFromHandle(int markerHandle); }; diff --git a/src/stc/scintilla/src/Document.cxx b/src/stc/scintilla/src/Document.cxx index 97abd62546..76fa456ccb 100644 --- a/src/stc/scintilla/src/Document.cxx +++ b/src/stc/scintilla/src/Document.cxx @@ -653,7 +653,7 @@ int Document::FindColumn(int line, int column) { int position = LineStart(line); int columnCurrent = 0; if ((line >= 0) && (line < LinesTotal())) { - while (columnCurrent < column) { + while ((columnCurrent < column) && (position < Length())) { char ch = cb.CharAt(position); if (ch == '\t') { columnCurrent = NextTab(columnCurrent, tabInChars); @@ -682,43 +682,73 @@ void Document::Indent(bool forwards, int lineBottom, int lineTop) { } } +// Convert line endings for a piece of text to a particular mode. +// Stop at len or when a NUL is found. +// Caller must delete the returned pointer. +char *Document::TransformLineEnds(int *pLenOut, const char *s, size_t len, int eolMode) { + char *dest = new char[2 * len + 1]; + const char *sptr = s; + char *dptr = dest; + for (size_t i = 0; (i < len) && (*sptr != '\0'); i++) { + if (*sptr == '\n' || *sptr == '\r') { + if (eolMode == SC_EOL_CR) { + *dptr++ = '\r'; + } else if (eolMode == SC_EOL_LF) { + *dptr++ = '\n'; + } else { // eolMode == SC_EOL_CRLF + *dptr++ = '\r'; + *dptr++ = '\n'; + } + if ((*sptr == '\r') && (i+1 < len) && (*(sptr+1) == '\n')) { + i++; + sptr++; + } + sptr++; + } else { + *dptr++ = *sptr++; + } + } + *dptr++ = '\0'; + *pLenOut = (dptr - dest) - 1; + return dest; +} + void Document::ConvertLineEnds(int eolModeSet) { BeginUndoAction(); + for (int pos = 0; pos < Length(); pos++) { if (cb.CharAt(pos) == '\r') { - if (cb.CharAt(pos + 1) == '\n') { - if (eolModeSet != SC_EOL_CRLF) { - DeleteChars(pos, 2); - if (eolModeSet == SC_EOL_CR) - InsertString(pos, "\r", 1); - else - InsertString(pos, "\n", 1); + if (cb.CharAt(pos + 1) == '\n') { + // CRLF + if (eolModeSet == SC_EOL_CR) { + DeleteChars(pos + 1, 1); // Delete the LF + } else if (eolModeSet == SC_EOL_LF) { + DeleteChars(pos, 1); // Delete the CR } else { pos++; } - } else { - if (eolModeSet != SC_EOL_CR) { - DeleteChars(pos, 1); - if (eolModeSet == SC_EOL_CRLF) { - InsertString(pos, "\r\n", 2); - pos++; - } else { - InsertString(pos, "\n", 1); - } - } - } - } else if (cb.CharAt(pos) == '\n') { - if (eolModeSet != SC_EOL_LF) { - DeleteChars(pos, 1); + } else { + // CR if (eolModeSet == SC_EOL_CRLF) { - InsertString(pos, "\r\n", 2); + InsertString(pos + 1, "\n", 1); // Insert LF pos++; - } else { - InsertString(pos, "\r", 1); + } else if (eolModeSet == SC_EOL_LF) { + InsertString(pos, "\n", 1); // Insert LF + DeleteChars(pos + 1, 1); // Delete CR } } + } else if (cb.CharAt(pos) == '\n') { + // LF + if (eolModeSet == SC_EOL_CRLF) { + InsertString(pos, "\r", 1); // Insert CR + pos++; + } else if (eolModeSet == SC_EOL_CR) { + InsertString(pos, "\r", 1); // Insert CR + DeleteChars(pos + 1, 1); // Delete LF + } } } + EndUndoAction(); } @@ -854,7 +884,7 @@ bool Document::IsWordStartAt(int pos) { * the next character is of a different character class. */ bool Document::IsWordEndAt(int pos) { - if (pos < Length() - 1) { + if (pos < Length()) { charClassification ccPrev = WordCharClass(CharAt(pos-1)); return (ccPrev == ccWord || ccPrev == ccPunctuation) && (ccPrev != WordCharClass(CharAt(pos))); diff --git a/src/stc/scintilla/src/Document.h b/src/stc/scintilla/src/Document.h index 54ecadb004..ce27ffc476 100644 --- a/src/stc/scintilla/src/Document.h +++ b/src/stc/scintilla/src/Document.h @@ -156,6 +156,7 @@ public: int GetColumn(int position); int FindColumn(int line, int column); void Indent(bool forwards, int lineBottom, int lineTop); + static char *TransformLineEnds(int *pLenOut, const char *s, size_t len, int eolMode); void ConvertLineEnds(int eolModeSet); void SetReadOnly(bool set) { cb.SetReadOnly(set); } bool IsReadOnly() { return cb.IsReadOnly(); } diff --git a/src/stc/scintilla/src/Editor.cxx b/src/stc/scintilla/src/Editor.cxx index 591125dda6..399e659764 100644 --- a/src/stc/scintilla/src/Editor.cxx +++ b/src/stc/scintilla/src/Editor.cxx @@ -361,6 +361,8 @@ Editor::Editor() { topLine = 0; posTopLine = 0; + lengthForEncode = 0; + needUpdateUI = true; braces[0] = invalidPosition; braces[1] = invalidPosition; @@ -670,7 +672,7 @@ int Editor::LineFromLocation(Point pt) { void Editor::SetTopLine(int topLineNew) { topLine = topLineNew; - posTopLine = pdoc->LineStart(topLine); + posTopLine = pdoc->LineStart(cs.DocFromDisplay(topLine)); } static inline bool IsEOLChar(char ch) { @@ -1392,6 +1394,7 @@ void Editor::EnsureCaretVisible(bool useMargin, bool vert, bool horiz) { Redraw(); } } + UpdateSystemCaret(); } void Editor::ShowCaretAtCurrentPosition() { @@ -1416,6 +1419,10 @@ void Editor::InvalidateCaret() { InvalidateRange(posDrag, posDrag + 1); else InvalidateRange(currentPos, currentPos + 1); + UpdateSystemCaret(); +} + +void Editor::UpdateSystemCaret() { } void Editor::NeedWrapping(int docLineStartWrapping, int docLineEndWrapping) { @@ -2206,8 +2213,9 @@ void Editor::DrawLine(Surface *surface, ViewStyle &vsDraw, int line, int lineVis // See if something overrides the line background color: Either if caret is on the line // and background color is set for that, or if a marker is defined that forces its background // color onto the line, or if a marker is defined but has no selection margin in which to - // display itself. These are checked in order with the earlier taking precedence. When - // multiple markers cause background override, the color for the highest numbered one is used. + // display itself (as long as it's not an SC_MARK_EMPTY marker). These are checked in order + // with the earlier taking precedence. When multiple markers cause background override, + // the color for the highest numbered one is used. bool overrideBackground = false; ColourAllocated background; if (caret.active && vsDraw.showCaretLineBackground && ll->containsCaret) { @@ -2228,9 +2236,9 @@ void Editor::DrawLine(Surface *surface, ViewStyle &vsDraw, int line, int lineVis if (vsDraw.maskInLine) { int marks = pdoc->GetMark(line) & vsDraw.maskInLine; if (marks) { - overrideBackground = true; for (int markBit = 0; (markBit < 32) && marks; markBit++) { - if (marks & 1) { + if ((marks & 1) && (vsDraw.markers[markBit].markType != SC_MARK_EMPTY)) { + overrideBackground = true; background = vsDraw.markers[markBit].back.allocated; } marks >>= 1; @@ -2523,10 +2531,11 @@ void Editor::DrawLine(Surface *surface, ViewStyle &vsDraw, int line, int lineVis indStart[indica] = 0; for (int indicPos = lineStart; indicPos <= lineEnd; indicPos++) { - if ((indicPos == lineEnd) || (ll->indicators[indicPos] != ll->indicators[indicPos + 1])) { + if ((indicPos == lineStart) || (indicPos == lineEnd) || + (ll->indicators[indicPos] != ll->indicators[indicPos + 1])) { int mask = 1 << pdoc->stylingBits; for (int indicnum = 0; mask < 0x100; indicnum++) { - if ((indicPos == lineEnd)) { + if ((indicPos == lineStart) || (indicPos == lineEnd)) { indStart[indicnum] = ll->positions[indicPos]; } else if ((ll->indicators[indicPos + 1] & mask) && !(ll->indicators[indicPos] & mask)) { indStart[indicnum] = ll->positions[indicPos + 1]; @@ -3283,7 +3292,6 @@ void Editor::ClearAll() { currentPos = 0; SetTopLine(0); SetVerticalScrollPos(); - InvalidateStyleRedraw(); } void Editor::ClearDocumentStyle() { @@ -4154,16 +4162,20 @@ int Editor::KeyCommand(unsigned int iMessage) { break; case SCI_LINEENDWRAP: { int endPos = MovePositionSoVisible(StartEndDisplayLine(currentPos, false), 1); - if (currentPos >= endPos) - endPos = pdoc->LineEndPosition(currentPos); + int realEndPos = pdoc->LineEndPosition(currentPos); + if (endPos > realEndPos // if moved past visible EOLs + || currentPos >= endPos) // if at end of display line already + endPos = realEndPos; MovePositionTo(endPos); SetLastXChosen(); } break; case SCI_LINEENDWRAPEXTEND: { int endPos = MovePositionSoVisible(StartEndDisplayLine(currentPos, false), 1); - if (currentPos >= endPos) - endPos = pdoc->LineEndPosition(currentPos); + int realEndPos = pdoc->LineEndPosition(currentPos); + if (endPos > realEndPos // if moved past visible EOLs + || currentPos >= endPos) // if at end of display line already + endPos = realEndPos; MovePositionTo(endPos, selStream); SetLastXChosen(); } @@ -4929,7 +4941,7 @@ void Editor::ButtonDown(Point pt, unsigned int curTime, bool shift, bool ctrl, b //Platform::DebugPrintf("Double click: %d - %d\n", anchor, currentPos); if (doubleClick) { NotifyDoubleClick(pt, shift); - if (PointIsHotspot(newPos)) + if (PositionIsHotspot(newPos)) NotifyHotSpotDoubleClicked(newPos, shift, ctrl, alt); } } else { // Single click @@ -6301,6 +6313,9 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { case SCI_GETCOLUMN: return pdoc->GetColumn(wParam); + case SCI_FINDCOLUMN: + return pdoc->FindColumn(wParam, lParam); + case SCI_SETHSCROLLBAR : if (horizontalScrollBarVisible != (wParam != 0)) { horizontalScrollBarVisible = wParam != 0; @@ -6949,6 +6964,10 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { SetSelection(currentPos, anchor); // Ensure selection inside document return 0; + case SCI_SETLENGTHFORENCODE: + lengthForEncode = wParam; + return 0; + case SCI_SELECTIONISRECTANGLE: return selType == selRectangle ? 1 : 0; diff --git a/src/stc/scintilla/src/Editor.h b/src/stc/scintilla/src/Editor.h index b9bda04ab4..e14cb5ed95 100644 --- a/src/stc/scintilla/src/Editor.h +++ b/src/stc/scintilla/src/Editor.h @@ -127,7 +127,7 @@ public: /** * Hold a piece of text selected for copying or dragging. - * The text is expected to hold a terminating '\0'. + * The text is expected to hold a terminating '\0' and this is counted in len. */ class SelectionText { public: @@ -257,6 +257,7 @@ protected: // ScintillaBase subclass needs access to much of Editor int searchFlags; int topLine; int posTopLine; + int lengthForEncode; bool needUpdateUI; Position braces[2]; @@ -368,6 +369,7 @@ protected: // ScintillaBase subclass needs access to much of Editor void ShowCaretAtCurrentPosition(); void DropCaret(); void InvalidateCaret(); + virtual void UpdateSystemCaret(); void NeedWrapping(int docLineStartWrapping = 0, int docLineEndWrapping = 0x7ffffff); bool WrapLines(bool fullWrap, int priorityWrapLineStart); diff --git a/src/stc/scintilla/src/KeyWords.cxx b/src/stc/scintilla/src/KeyWords.cxx index def79f6ecd..67e52ec11a 100644 --- a/src/stc/scintilla/src/KeyWords.cxx +++ b/src/stc/scintilla/src/KeyWords.cxx @@ -132,6 +132,7 @@ int Scintilla_LinkLexers() { LINK_LEXER(lmAda); LINK_LEXER(lmAPDL); LINK_LEXER(lmAsm); + LINK_LEXER(lmAsn1); LINK_LEXER(lmAU3); LINK_LEXER(lmAVE); LINK_LEXER(lmBaan); @@ -189,6 +190,7 @@ int Scintilla_LinkLexers() { LINK_LEXER(lmVB); LINK_LEXER(lmVBScript); LINK_LEXER(lmVerilog); + LINK_LEXER(lmVHDL); LINK_LEXER(lmYAML); //--Autogenerated -- end of automatically generated section diff --git a/src/stc/scintilla/src/LexAPDL.cxx b/src/stc/scintilla/src/LexAPDL.cxx index b739e9a7cb..1cf263e501 100644 --- a/src/stc/scintilla/src/LexAPDL.cxx +++ b/src/stc/scintilla/src/LexAPDL.cxx @@ -1,3 +1,10 @@ +// Scintilla source code edit control +/** @file LexAPDL.cxx + ** Lexer for APDL. Based on the lexer for Assembler by The Black Horus. + ** By Hadar Raz. + **/ +// Copyright 1998-2003 by Neil Hodgson +// The License.txt file describes the conditions under which this software may be distributed. #include #include @@ -16,158 +23,113 @@ static inline bool IsAWordChar(const int ch) { - return (ch < 0x80) && (isalnum(ch) || ch == '_'); + return (ch < 0x80 && (isalnum(ch) || ch == '_')); } -static inline bool IsAWordStart(const int ch) { - return (ch < 0x80) && (isalnum(ch) || ch == '/' || ch == '*'); +static inline bool IsAnOperator(char ch) { + // '.' left out as it is used to make up numbers + if (ch == '*' || ch == '/' || ch == '-' || ch == '+' || + ch == '(' || ch == ')' || ch == '=' || ch == '^' || + ch == '[' || ch == ']' || ch == '<' || ch == '&' || + ch == '>' || ch == ',' || ch == '|' || ch == '~' || + ch == '$' || ch == ':' || ch == '%') + return true; + return false; } -inline bool IsABlank(unsigned int ch) { - return (ch == ' ') || (ch == 0x09) || (ch == 0x0b) ; -} - - - -static void ColouriseAPDLDoc(unsigned int startPos, int length, int initStyle, - WordList *keywordlists[], Accessor &styler) -{ - - //~ FILE *fp; - //~ fp = fopen("myoutput.txt", "w"); - - WordList &commands = *keywordlists[0]; - WordList &processors = *keywordlists[1]; - WordList &functions = *keywordlists[2]; - - - // backtrack to the beginning of the document, this may be slow for big documents. - initStyle = SCE_APDL_DEFAULT; - StyleContext sc(0, startPos+length, initStyle, styler); - - // backtrack to the nearest keyword - //~ while ((startPos > 1) && (styler.StyleAt(startPos) != SCE_APDL_WORD)) { - //~ startPos--; - //~ } - //~ startPos = styler.LineStart(styler.GetLine(startPos)); - //~ initStyle = styler.StyleAt(startPos - 1); - //~ StyleContext sc(startPos, endPos-startPos, initStyle, styler); - - bool firstInLine = true; - bool atEOL; - - for (; sc.More(); sc.Forward()) { - - atEOL = (sc.ch == '\r' && sc.chNext == '\n') || (sc.ch == '\n'); - - //~ if (sc.ch == '\r') { - //~ fprintf(fp,"CR\t%d\t%d", atEOL, firstInLine); - //~ } else if (sc.ch == '\n') { - //~ fprintf(fp,"LF\t%d\t%d", atEOL, firstInLine); - //~ } else { - //~ fprintf(fp,"%c\t%d\t%d", sc.ch, atEOL, firstInLine); - //~ } - - // Determine if the current state should terminate. - if (sc.state == SCE_APDL_COMMENT) { - //~ fprintf(fp,"\tCOMMENT"); - if (atEOL) { - sc.SetState(SCE_APDL_DEFAULT); - } - } else if (sc.state == SCE_APDL_COMMENTBLOCK) { - //~ fprintf(fp,"\tCOMMENTBLOCK"); - if (atEOL) { - if (sc.ch == '\r') { - sc.Forward(); - } - sc.ForwardSetState(SCE_APDL_DEFAULT); - } - } else if (sc.state == SCE_APDL_NUMBER) { - //~ fprintf(fp,"\tNUMBER"); - if (isdigit(sc.ch)) { - } else if ((sc.ch == 'e' || sc.ch == 'E') && (isdigit(sc.chNext) || sc.chNext == '+' || sc.chNext == '-')) { - } else if (sc.ch == '.') { - } else if ((sc.ch == '+' || sc.ch == '-') && (sc.chPrev == 'e' || sc.chPrev == 'E')) { - } else { - sc.SetState(SCE_APDL_DEFAULT); - } - } else if (sc.state == SCE_APDL_STRING) { - //~ fprintf(fp,"\tSTRING"); - if (sc.ch == '\"') { - //~ sc.ForwardSetState(SCE_APDL_DEFAULT); - sc.Forward(); - atEOL = (sc.ch == '\r' && sc.chNext == '\n') || (sc.ch == '\n'); - if (atEOL) { - firstInLine = true; - } - sc.SetState(SCE_APDL_DEFAULT); - } - } else if (sc.state == SCE_APDL_WORD) { - //~ fprintf(fp,"\tWORD"); - if (!IsAWordChar(sc.ch) || sc.ch == '%') { - char s[100]; - sc.GetCurrentLowered(s, sizeof(s)); - if (commands.InList(s) && firstInLine) { - if (IsABlank(sc.ch) || sc.ch == ',' || atEOL) { - sc.ChangeState(SCE_APDL_COMMAND); - } - if (sc.ch != '\n') { - firstInLine = false; - } - } else if (processors.InList(s)) { - if (IsABlank(sc.ch) || atEOL) { - sc.ChangeState(SCE_APDL_PROCESSOR); - while (sc.ch != '\n') { - sc.Forward(); - } - sc.Forward(); - } - } else if (functions.InList(s)) { - sc.ChangeState(SCE_APDL_FUNCTION); - if (sc.ch != '\n') { - firstInLine = false; - } - } else { - if (sc.ch != '\n') { - firstInLine = false; - } - } - sc.SetState(SCE_APDL_DEFAULT); - } - } - - // Determine if a new state should be entered. - if (sc.state == SCE_APDL_DEFAULT) { - if (sc.ch == '!' && sc.chNext != '!') { - sc.SetState(SCE_APDL_COMMENT); - } else if (sc.ch == '!' && sc.chNext == '!') { - sc.SetState(SCE_APDL_COMMENTBLOCK); - } else if (IsADigit(sc.ch) && !IsAWordChar(sc.chPrev)) { - sc.SetState(SCE_APDL_NUMBER); - } else if (sc.ch == '.' && (isoperator(static_cast(sc.chPrev)) || - IsABlank(sc.chPrev) || sc.chPrev == '\n' || sc.chPrev == '\r')) { - sc.SetState(SCE_APDL_NUMBER); - } else if (sc.ch == '\"') { - sc.SetState(SCE_APDL_STRING); - } else if (IsAWordStart(sc.ch) && (!IsADigit(sc.chPrev))) { - sc.SetState(SCE_APDL_WORD); - } - - } - //~ fprintf(fp,"\n"); - - if (atEOL) { - firstInLine = true; - } - - } - sc.Complete(); +static void ColouriseAPDLDoc(unsigned int startPos, int length, int initStyle, WordList *keywordlists[], + Accessor &styler) { + + int stringStart = ' '; + + WordList &processors = *keywordlists[0]; + WordList &commands = *keywordlists[1]; + WordList &slashcommands = *keywordlists[2]; + WordList &starcommands = *keywordlists[3]; + WordList &arguments = *keywordlists[4]; + WordList &functions = *keywordlists[5]; + + // Do not leak onto next line + initStyle = SCE_APDL_DEFAULT; + StyleContext sc(startPos, length, initStyle, styler); + + for (; sc.More(); sc.Forward()) { + // Determine if the current state should terminate. + if (sc.state == SCE_APDL_NUMBER) { + if (!(IsADigit(sc.ch) || sc.ch == '.' || (sc.ch == 'e' || sc.ch == 'E') || + ((sc.ch == '+' || sc.ch == '-') && (sc.chPrev == 'e' || sc.chPrev == 'E')))) { + sc.SetState(SCE_APDL_DEFAULT); + } + } else if (sc.state == SCE_APDL_COMMENT) { + if (sc.atLineEnd) { + sc.SetState(SCE_APDL_DEFAULT); + } + } else if (sc.state == SCE_APDL_COMMENTBLOCK) { + if (sc.atLineEnd) { + if (sc.ch == '\r') { + sc.Forward(); + } + sc.ForwardSetState(SCE_APDL_DEFAULT); + } + } else if (sc.state == SCE_APDL_STRING) { + if (sc.atLineEnd) { + sc.SetState(SCE_APDL_DEFAULT); + } else if ((sc.ch == '\'' && stringStart == '\'') || (sc.ch == '\"' && stringStart == '\"')) { + sc.ForwardSetState(SCE_APDL_DEFAULT); + } + } else if (sc.state == SCE_APDL_WORD) { + if (!IsAWordChar(sc.ch)) { + char s[100]; + sc.GetCurrentLowered(s, sizeof(s)); + if (processors.InList(s)) { + sc.ChangeState(SCE_APDL_PROCESSOR); + } else if (slashcommands.InList(s)) { + sc.ChangeState(SCE_APDL_SLASHCOMMAND); + } else if (starcommands.InList(s)) { + sc.ChangeState(SCE_APDL_STARCOMMAND); + } else if (commands.InList(s)) { + sc.ChangeState(SCE_APDL_COMMAND); + } else if (arguments.InList(s)) { + sc.ChangeState(SCE_APDL_ARGUMENT); + } else if (functions.InList(s)) { + sc.ChangeState(SCE_APDL_FUNCTION); + } + sc.SetState(SCE_APDL_DEFAULT); + } + } else if (sc.state == SCE_APDL_OPERATOR) { + if (!IsAnOperator(static_cast(sc.ch))) { + sc.SetState(SCE_APDL_DEFAULT); + } + } + + // Determine if a new state should be entered. + if (sc.state == SCE_APDL_DEFAULT) { + if (sc.ch == '!' && sc.chNext == '!') { + sc.SetState(SCE_APDL_COMMENTBLOCK); + } else if (sc.ch == '!') { + sc.SetState(SCE_APDL_COMMENT); + } else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) { + sc.SetState(SCE_APDL_NUMBER); + } else if (sc.ch == '\'' || sc.ch == '\"') { + sc.SetState(SCE_APDL_STRING); + stringStart = sc.ch; + } else if (IsAWordChar(sc.ch) || ((sc.ch == '*' || sc.ch == '/') && !isgraph(sc.chPrev))) { + sc.SetState(SCE_APDL_WORD); + } else if (IsAnOperator(static_cast(sc.ch))) { + sc.SetState(SCE_APDL_OPERATOR); + } + } + } + sc.Complete(); } static const char * const apdlWordListDesc[] = { - "Commands", - "Processors", - "Functions", + "processors", + "commands", + "slashommands", + "starcommands", + "arguments", + "functions", 0 }; diff --git a/src/stc/scintilla/src/LexAU3.cxx b/src/stc/scintilla/src/LexAU3.cxx index 8bc1f062eb..31e4ee52d2 100644 --- a/src/stc/scintilla/src/LexAU3.cxx +++ b/src/stc/scintilla/src/LexAU3.cxx @@ -12,9 +12,20 @@ // Fixed "#comments_end" -> "#comments-end" // Fixed Sendkeys in Strings when not terminated with } // Added support for Sendkey strings that have second parameter e.g. {UP 5} or {a down} -// April 26, 2004 Fixed # pre-processor statement inside of comment block would invalidly change the color. +// April 26, 2004 - Fixed # pre-processor statement inside of comment block would invalidly change the color. // Added logic for #include to treat the <> as string // Added underscore to IsAOperator. +// May 17, 2004 - Changed the folding logic from indent to keyword folding. +// Added Folding logic for blocks of single-commentlines or commentblock. +// triggered by: fold.comment=1 +// Added Folding logic for preprocessor blocks triggered by fold.preprocessor=1 +// Added Special for #region - #endregion syntax highlight and folding. +// May 30, 2004 - Fixed issue with continuation lines on If statements. +// June 5, 2004 - Added comma to Operators for better readability. +// Added fold.compact support set with fold.compact=1 +// Changed folding inside of #cs-#ce. Default is no keyword folding inside comment blocks when fold.comment=1 +// it will now only happen when fold.comment=2. +// // Copyright for Scintilla: 1998-2001 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. // Scintilla source code edit control @@ -34,17 +45,13 @@ #include "Scintilla.h" #include "SciLexer.h" -static bool IsAU3Comment(Accessor &styler, int pos, int len) { - return len>0 && styler[pos]==';'; -} - static inline bool IsTypeCharacter(const int ch) { return ch == '$'; } static inline bool IsAWordChar(const int ch) { - return (ch < 0x80) && (isalnum(ch) || ch == '_' || ch == '-'); + return (ch < 0x80) && (isalnum(ch) || ch == '_'); } static inline bool IsAWordStart(const int ch) @@ -57,7 +64,7 @@ static inline bool IsAOperator(char ch) { return false; if (ch == '+' || ch == '-' || ch == '*' || ch == '/' || ch == '&' || ch == '^' || ch == '=' || ch == '<' || ch == '>' || - ch == '(' || ch == ')' || ch == '[' || ch == ']' || ch == '_' ) + ch == '(' || ch == ')' || ch == '[' || ch == ']' || ch == ',' ) return true; return false; } @@ -111,9 +118,9 @@ static int GetSendKey(const char *szLine, char *szKey) // Check if the second portion is either a number or one of these keywords szKey[nKeyPos] = '\0'; szSpecial[nSpecPos] = '\0'; - if (strcmp(szSpecial,"down")==0 || strcmp(szSpecial,"up")==0 || - strcmp(szSpecial,"on")==0 || strcmp(szSpecial,"off")==0 || - strcmp(szSpecial,"toggle")==0 || nSpecNum == 1 ) + if (strcmp(szSpecial,"down")== 0 || strcmp(szSpecial,"up")== 0 || + strcmp(szSpecial,"on")== 0 || strcmp(szSpecial,"off")== 0 || + strcmp(szSpecial,"toggle")== 0 || nSpecNum == 1 ) { nFlag = 0; } @@ -121,9 +128,9 @@ static int GetSendKey(const char *szLine, char *szKey) { nFlag = 1; } - return nFlag; // 1 is bad, 0 is good + return nFlag; // 1 is bad, 0 is good -} // GetSendKey() +} // GetSendKey() static void ColouriseAU3Doc(unsigned int startPos, int length, int initStyle, @@ -135,6 +142,7 @@ static void ColouriseAU3Doc(unsigned int startPos, WordList &keywords3 = *keywordlists[2]; WordList &keywords4 = *keywordlists[3]; WordList &keywords5 = *keywordlists[4]; + WordList &keywords6 = *keywordlists[5]; styler.StartAt(startPos); StyleContext sc(startPos, length, initStyle, styler); @@ -148,9 +156,9 @@ static void ColouriseAU3Doc(unsigned int startPos, { case SCE_AU3_COMMENTBLOCK: { - if (!IsAWordChar(sc.ch)) + if (!(IsAWordChar(sc.ch) || (sc.ch == '-' && strcmp(s, "#comments") == 0))) { - if ((strcmp(s, "#ce")==0 || strcmp(s, "#comments-end")==0)) + if ((strcmp(s, "#ce")== 0 || strcmp(s, "#comments-end")== 0)) {sc.SetState(SCE_AU3_COMMENT);} // set to comment line for the rest of the line else {sc.SetState(SCE_AU3_COMMENTBLOCK);} @@ -167,13 +175,18 @@ static void ColouriseAU3Doc(unsigned int startPos, sc.SetState(SCE_AU3_DEFAULT); break; } + case SCE_AU3_SPECIAL: + { + if (sc.atLineEnd) {sc.SetState(SCE_AU3_DEFAULT);} + break; + } case SCE_AU3_KEYWORD: { - if (!IsAWordChar(sc.ch)) + if (!(IsAWordChar(sc.ch) || (sc.ch == '-' && (strcmp(s, "#comments") == 0 || strcmp(s, "#include") == 0)))) { if (!IsTypeCharacter(sc.ch)) { - if (strcmp(s, "#cs")==0 || strcmp(s, "#comments-start")==0 ) + if (strcmp(s, "#cs")== 0 || strcmp(s, "#comments-start")== 0 ) { sc.ChangeState(SCE_AU3_COMMENTBLOCK); sc.SetState(SCE_AU3_COMMENTBLOCK); @@ -193,11 +206,19 @@ static void ColouriseAU3Doc(unsigned int startPos, else if (keywords5.InList(s)) { sc.ChangeState(SCE_AU3_PREPROCESSOR); sc.SetState(SCE_AU3_DEFAULT); - if (strcmp(s, "#include")==0) + if (strcmp(s, "#include")== 0) { si = 3; // use to determine string start for #inlude <> } } + else if (keywords6.InList(s)) { + sc.ChangeState(SCE_AU3_SPECIAL); + sc.SetState(SCE_AU3_SPECIAL); + } + else if (strcmp(s, "_") == 0) { + sc.ChangeState(SCE_AU3_OPERATOR); + sc.SetState(SCE_AU3_DEFAULT); + } else if (!IsAWordChar(sc.ch)) { sc.ChangeState(SCE_AU3_DEFAULT); sc.SetState(SCE_AU3_DEFAULT); @@ -302,8 +323,8 @@ static void ColouriseAU3Doc(unsigned int startPos, sc.SetState(SCE_AU3_STRING); si = 2; } else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {sc.SetState(SCE_AU3_NUMBER);} - else if (IsAOperator(static_cast(sc.ch))) {sc.SetState(SCE_AU3_OPERATOR);} else if (IsAWordStart(sc.ch)) {sc.SetState(SCE_AU3_KEYWORD);} + else if (IsAOperator(static_cast(sc.ch))) {sc.SetState(SCE_AU3_OPERATOR);} else if (sc.atLineEnd) {sc.SetState(SCE_AU3_DEFAULT);} } } //for (; sc.More(); sc.Forward()) @@ -311,11 +332,62 @@ static void ColouriseAU3Doc(unsigned int startPos, } // +static bool IsStreamCommentStyle(int style) { + return style == SCE_AU3_COMMENT || style == SCE_AU3_COMMENTBLOCK; +} + // -static void FoldAU3Doc(unsigned int startPos, int length, int, WordList *[], Accessor &styler) +// Routine to find first none space on the current line and return its Style +// needed for comment lines not starting on pos 1 +static int GetStyleFirstWord(unsigned int szLine, Accessor &styler) { - int endPos = startPos + length; + int nsPos = styler.LineStart(szLine); + int nePos = styler.LineStart(szLine+1) - 1; + while (isspacechar(styler.SafeGetCharAt(nsPos)) && nsPos < nePos) + { + nsPos++; // skip to next char + + } // End While + return styler.StyleAt(nsPos); +} // GetStyleFirstWord() + +// +// Routine to check the last "none comment" character on a line to see if its a continuation +// +static bool IsContinuationLine(unsigned int szLine, Accessor &styler) +{ + int nsPos = styler.LineStart(szLine); + int nePos = styler.LineStart(szLine+1) - 2; + //int stylech = styler.StyleAt(nsPos); + while (nsPos < nePos) + { + //stylech = styler.StyleAt(nePos); + int stylech = styler.StyleAt(nsPos); + if (!(stylech == SCE_AU3_COMMENT)) { + char ch = styler.SafeGetCharAt(nePos); + if (!isspacechar(ch)) { + if (ch == '_') + return true; + else + return false; + } + } + nePos--; // skip to next char + } // End While + return false; +} // IsContinuationLine() + + +// +static void FoldAU3Doc(unsigned int startPos, int length, int, WordList *[], Accessor &styler) +{ + int endPos = startPos + length; + // get settings from the config files for folding comments and preprocessor lines + bool foldComment = styler.GetPropertyInt("fold.comment") != 0; + bool foldInComment = styler.GetPropertyInt("fold.comment") == 2; + bool foldCompact = styler.GetPropertyInt("fold.compact", 1) != 0; + bool foldpreprocessor = styler.GetPropertyInt("fold.preprocessor") != 0; // Backtrack to previous line in case need to fix its fold status int lineCurrent = styler.GetLine(startPos); if (startPos > 0) { @@ -324,35 +396,207 @@ static void FoldAU3Doc(unsigned int startPos, int length, int, WordList *[], Acc startPos = styler.LineStart(lineCurrent); } } - int spaceFlags = 0; - int indentCurrent = styler.IndentAmount(lineCurrent, &spaceFlags, IsAU3Comment); - char chNext = styler[startPos]; + // vars for style of previous/current/next lines + int style = GetStyleFirstWord(lineCurrent,styler); + int stylePrev = 0; + // find the first previous line without continuation character at the end + while ((lineCurrent > 0 && IsContinuationLine(lineCurrent,styler)) || + (lineCurrent > 1 && IsContinuationLine(lineCurrent-1,styler))) { + lineCurrent--; + startPos = styler.LineStart(lineCurrent); + } + if (lineCurrent > 0) { + stylePrev = GetStyleFirstWord(lineCurrent-1,styler); + } + // vars for getting first word to check for keywords + bool FirstWordStart = false; + bool FirstWordEnd = false; + char szKeyword[10]=""; + int szKeywordlen = 0; + char szThen[5]=""; + int szThenlen = 0; + bool ThenFoundLast = false; + // var for indentlevel + int levelCurrent = SC_FOLDLEVELBASE; + if (lineCurrent > 0) + levelCurrent = styler.LevelAt(lineCurrent-1) >> 16; + int levelNext = levelCurrent; + // + int visibleChars = 0; + char chNext = styler.SafeGetCharAt(startPos); + char chPrev = ' '; + // for (int i = startPos; i < endPos; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); - - if ((ch == '\r' && chNext != '\n') || (ch == '\n') || (i == endPos)) { - int lev = indentCurrent; - int indentNext = styler.IndentAmount(lineCurrent + 1, &spaceFlags, IsAU3Comment); - if (!(indentCurrent & SC_FOLDLEVELWHITEFLAG)) { - // Only non whitespace lines can be headers - if ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext & SC_FOLDLEVELNUMBERMASK)) { - lev |= SC_FOLDLEVELHEADERFLAG; - } else if (indentNext & SC_FOLDLEVELWHITEFLAG) { - // Line after is blank so check the next - maybe should continue further? - int spaceFlags2 = 0; - int indentNext2 = styler.IndentAmount(lineCurrent + 2, &spaceFlags2, IsAU3Comment); - if ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext2 & SC_FOLDLEVELNUMBERMASK)) { - lev |= SC_FOLDLEVELHEADERFLAG; + if (IsAWordChar(ch)) { + visibleChars++; + } + // get the syle for the current character neede to check in comment + int stylech = styler.StyleAt(i); + // get first word for the line for indent check max 9 characters + if (FirstWordStart && (!(FirstWordEnd))) { + if (!IsAWordChar(ch)) { + FirstWordEnd = true; + szKeyword[szKeywordlen] = '\0'; + } + else { + if (szKeywordlen < 10) { + szKeyword[szKeywordlen++] = static_cast(tolower(ch)); + } + } + } + // start the capture of the first word + if (!(FirstWordStart)) { + if (IsAWordChar(ch) || IsAWordStart(ch) || ch == ';') { + FirstWordStart = true; + szKeyword[szKeywordlen++] = static_cast(tolower(ch)); + } + } + // only process this logic when not in comment section + if (!(stylech == SCE_AU3_COMMENT)) { + if (ThenFoundLast) { + if (IsAWordChar(ch)) { + ThenFoundLast = false; + } + } + // find out if the word "then" is the last on a "if" line + if (FirstWordEnd && strcmp(szKeyword,"if") == 0) { + if (szThenlen == 4) { + szThen[0] = szThen[1]; + szThen[1] = szThen[2]; + szThen[2] = szThen[3]; + szThen[3] = static_cast(tolower(ch)); + if (strcmp(szThen,"then") == 0 ) { + ThenFoundLast = true; + } + } + else { + szThen[szThenlen++] = static_cast(tolower(ch)); + if (szThenlen == 5) { + szThen[4] = '\0'; } } } - indentCurrent = indentNext; - styler.SetLevel(lineCurrent, lev); + } + // End of Line found so process the information + if ((ch == '\r' && chNext != '\n') || (ch == '\n') || (i == endPos)) { + // ************************** + // Folding logic for Keywords + // ************************** + // if a keyword is found on the current line and the line doesn't end with _ (continuation) + // and we are not inside a commentblock. + if (szKeywordlen > 0 && (!(chPrev == '_')) && + ((!(IsStreamCommentStyle(style)) || foldInComment)) ) { + szKeyword[szKeywordlen] = '\0'; + // only fold "if" last keyword is "then" (else its a one line if) + if (strcmp(szKeyword,"if") == 0 && ThenFoundLast) { + levelNext++; + } + // create new fold for these words + if (strcmp(szKeyword,"do") == 0 || strcmp(szKeyword,"for") == 0 || + strcmp(szKeyword,"func") == 0 || strcmp(szKeyword,"while") == 0|| + strcmp(szKeyword,"#region") == 0 ) { + levelNext++; + } + // create double Fold for select because Case will subtract one of the current level + if (strcmp(szKeyword,"select") == 0) { + levelNext++; + levelNext++; + } + // end the fold for these words before the current line + if (strcmp(szKeyword,"endfunc") == 0 || strcmp(szKeyword,"endif") == 0 || + strcmp(szKeyword,"next") == 0 || strcmp(szKeyword,"until") == 0 || + strcmp(szKeyword,"wend") == 0){ + levelNext--; + levelCurrent--; + } + // end the fold for these words before the current line and Start new fold + if (strcmp(szKeyword,"case") == 0 || strcmp(szKeyword,"else") == 0 || + strcmp(szKeyword,"elseif") == 0 ) { + levelCurrent--; + } + // end the double fold for this word before the current line + if (strcmp(szKeyword,"endselect") == 0 ) { + levelNext--; + levelNext--; + levelCurrent--; + levelCurrent--; + } + // end the fold for these words on the current line + if (strcmp(szKeyword,"#endregion") == 0 ) { + levelNext--; + } + } + // Preprocessor and Comment folding + int styleNext = GetStyleFirstWord(lineCurrent + 1,styler); + // ************************************* + // Folding logic for preprocessor blocks + // ************************************* + // process preprosessor line + if (foldpreprocessor && style == SCE_AU3_PREPROCESSOR) { + if (!(stylePrev == SCE_AU3_PREPROCESSOR) && (styleNext == SCE_AU3_PREPROCESSOR)) { + levelNext++; + } + // fold till the last line for normal comment lines + else if (stylePrev == SCE_AU3_PREPROCESSOR && !(styleNext == SCE_AU3_PREPROCESSOR)) { + levelNext--; + } + } + // ********************************* + // Folding logic for Comment blocks + // ********************************* + if (foldComment && IsStreamCommentStyle(style)) { + // Start of a comment block + if (!(stylePrev==style) && IsStreamCommentStyle(styleNext) && styleNext==style) { + levelNext++; + } + // fold till the last line for normal comment lines + else if (IsStreamCommentStyle(stylePrev) + && !(styleNext == SCE_AU3_COMMENT) + && stylePrev == SCE_AU3_COMMENT + && style == SCE_AU3_COMMENT) { + levelNext--; + } + // fold till the one but last line for Blockcomment lines + else if (IsStreamCommentStyle(stylePrev) + && !(styleNext == SCE_AU3_COMMENTBLOCK) + && style == SCE_AU3_COMMENTBLOCK) { + levelNext--; + levelCurrent--; + } + } + int levelUse = levelCurrent; + int lev = levelUse | levelNext << 16; + if (visibleChars == 0 && foldCompact) + lev |= SC_FOLDLEVELWHITEFLAG; + if (levelUse < levelNext) { + lev |= SC_FOLDLEVELHEADERFLAG; + } + if (lev != styler.LevelAt(lineCurrent)) { + styler.SetLevel(lineCurrent, lev); + } + // reset values for the next line lineCurrent++; + stylePrev = style; + style = styleNext; + levelCurrent = levelNext; + visibleChars = 0; + // if the last character is an Underscore then don't reset since the line continues on the next line. + if (!(chPrev == '_')) { + szKeywordlen = 0; + szThenlen = 0; + FirstWordStart = false; + FirstWordEnd = false; + ThenFoundLast = false; + } + } + // save the last processed character + if (!isspacechar(ch)) { + chPrev = ch; + visibleChars++; } } - } @@ -364,6 +608,7 @@ static const char * const AU3WordLists[] = { "#autoit macros", "#autoit Sent keys", "#autoit Pre-processors", + "#autoit Special", 0 }; LexerModule lmAU3(SCLEX_AU3, ColouriseAU3Doc, "au3", FoldAU3Doc , AU3WordLists); diff --git a/src/stc/scintilla/src/LexAda.cxx b/src/stc/scintilla/src/LexAda.cxx index 2e5f891b4b..0227ce1108 100644 --- a/src/stc/scintilla/src/LexAda.cxx +++ b/src/stc/scintilla/src/LexAda.cxx @@ -256,7 +256,7 @@ static void ColouriseDocument( ColouriseLabel(sc, keywords, apostropheStartsAttribute); // Whitespace - } else if (isspace(sc.ch)) { + } else if (IsASpace(sc.ch)) { ColouriseWhiteSpace(sc, apostropheStartsAttribute); // Delimiters @@ -264,7 +264,7 @@ static void ColouriseDocument( ColouriseDelimiter(sc, apostropheStartsAttribute); // Numbers - } else if (isdigit(sc.ch) || sc.ch == '#') { + } else if (IsADigit(sc.ch) || sc.ch == '#') { ColouriseNumber(sc, apostropheStartsAttribute); // Keywords or identifiers @@ -310,11 +310,11 @@ static inline bool IsNumberCharacter(int ch) { } static inline bool IsNumberStartCharacter(int ch) { - return isdigit(ch) != 0; + return IsADigit(ch); } static inline bool IsSeparatorOrDelimiterCharacter(int ch) { - return isspace(ch) || IsDelimiterCharacter(ch); + return IsASpace(ch) || IsDelimiterCharacter(ch); } static bool IsValidIdentifier(const SString& identifier) { @@ -377,7 +377,7 @@ static bool IsValidNumber(const SString& number) { } canBeSpecial = false; seenDot = true; - } else if (isdigit(number[i])) { + } else if (IsADigit(number[i])) { canBeSpecial = true; } else { break; @@ -398,7 +398,7 @@ static bool IsValidNumber(const SString& number) { if (!canBeSpecial) return false; canBeSpecial = false; - } else if (isdigit (ch)) { + } else if (IsADigit(ch)) { base = base * 10 + (ch - '0'); if (base > 16) return false; @@ -436,7 +436,7 @@ static bool IsValidNumber(const SString& number) { canBeSpecial = false; seenDot = true; - } else if (isdigit (ch)) { + } else if (IsADigit(ch)) { if (ch - '0' >= base) { return false; } @@ -496,7 +496,7 @@ static bool IsValidNumber(const SString& number) { return false; } canBeSpecial = false; - } else if (isdigit(number[i])) { + } else if (IsADigit(number[i])) { canBeSpecial = true; } else { return false; @@ -512,9 +512,9 @@ static bool IsValidNumber(const SString& number) { } static inline bool IsWordCharacter(int ch) { - return IsWordStartCharacter(ch) || isdigit(ch); + return IsWordStartCharacter(ch) || IsADigit(ch); } static inline bool IsWordStartCharacter(int ch) { - return isalpha(ch) || ch == '_'; + return (isascii(ch) && isalpha(ch)) || ch == '_'; } diff --git a/src/stc/scintilla/src/LexAsn1.cxx b/src/stc/scintilla/src/LexAsn1.cxx new file mode 100644 index 0000000000..be6c3f2aea --- /dev/null +++ b/src/stc/scintilla/src/LexAsn1.cxx @@ -0,0 +1,181 @@ +// Scintilla source code edit control +/** @file LexAsn1.cxx + ** Lexer for ASN.1 + **/ +// Copyright 2004 by Herr Pfarrer rpfarrer yahoo de +// Last Updated: 20/07/2004 +// The License.txt file describes the conditions under which this software may be distributed. +#include +#include +#include +#include +#include + +#include "Platform.h" + +#include "PropSet.h" +#include "Accessor.h" +#include "StyleContext.h" +#include "KeyWords.h" +#include "Scintilla.h" +#include "SciLexer.h" + +// Some char test functions +static bool isAsn1Number(int ch) +{ + return (ch >= '0' && ch <= '9'); +} + +static bool isAsn1Letter(int ch) +{ + return (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z'); +} + +static bool isAsn1Char(int ch) +{ + return (ch == '-' ) || isAsn1Number(ch) || isAsn1Letter (ch); +} + +// +// Function determining the color of a given code portion +// Based on a "state" +// +static void ColouriseAsn1Doc(unsigned int startPos, int length, int initStyle, WordList *keywordLists[], Accessor &styler) +{ + // The keywords + WordList &Keywords = *keywordLists[0]; + WordList &Attributes = *keywordLists[1]; + WordList &Descriptors = *keywordLists[2]; + WordList &Types = *keywordLists[3]; + + // Parse the whole buffer character by character using StyleContext + StyleContext sc(startPos, length, initStyle, styler); + for (; sc.More(); sc.Forward()) + { + // The state engine + switch (sc.state) + { + case SCE_ASN1_DEFAULT: // Plain characters +asn1_default: + if (sc.ch == '-' && sc.chNext == '-') + // A comment begins here + sc.SetState(SCE_ASN1_COMMENT); + else if (sc.ch == '"') + // A string begins here + sc.SetState(SCE_ASN1_STRING); + else if (isAsn1Number (sc.ch)) + // A number starts here (identifier should start with a letter in ASN.1) + sc.SetState(SCE_ASN1_SCALAR); + else if (isAsn1Char (sc.ch)) + // An identifier starts here (identifier always start with a letter) + sc.SetState(SCE_ASN1_IDENTIFIER); + else if (sc.ch == ':') + // A ::= operator starts here + sc.SetState(SCE_ASN1_OPERATOR); + break; + case SCE_ASN1_COMMENT: // A comment + if (sc.ch == '\r' || sc.ch == '\n') + // A comment ends here + sc.SetState(SCE_ASN1_DEFAULT); + break; + case SCE_ASN1_IDENTIFIER: // An identifier (keyword, attribute, descriptor or type) + if (!isAsn1Char (sc.ch)) + { + // The end of identifier is here: we can look for it in lists by now and change its state + char s[100]; + sc.GetCurrent(s, sizeof(s)); + if (Keywords.InList(s)) + // It's a keyword, change its state + sc.ChangeState(SCE_ASN1_KEYWORD); + else if (Attributes.InList(s)) + // It's an attribute, change its state + sc.ChangeState(SCE_ASN1_ATTRIBUTE); + else if (Descriptors.InList(s)) + // It's a descriptor, change its state + sc.ChangeState(SCE_ASN1_DESCRIPTOR); + else if (Types.InList(s)) + // It's a type, change its state + sc.ChangeState(SCE_ASN1_TYPE); + + // Set to default now + sc.SetState(SCE_ASN1_DEFAULT); + } + break; + case SCE_ASN1_STRING: // A string delimited by "" + if (sc.ch == '"') + { + // A string ends here + sc.ForwardSetState(SCE_ASN1_DEFAULT); + + // To correctly manage a char sticking to the string quote + goto asn1_default; + } + break; + case SCE_ASN1_SCALAR: // A plain number + if (!isAsn1Number (sc.ch)) + // A number ends here + sc.SetState(SCE_ASN1_DEFAULT); + break; + case SCE_ASN1_OPERATOR: // The affectation operator ::= and wath follows (eg: ::= { org 6 } OID or ::= 12 trap) + if (sc.ch == '{') + { + // An OID definition starts here: enter the sub loop + for (; sc.More(); sc.Forward()) + { + if (isAsn1Number (sc.ch) && (!isAsn1Char (sc.chPrev) || isAsn1Number (sc.chPrev))) + // The OID number is highlighted + sc.SetState(SCE_ASN1_OID); + else if (isAsn1Char (sc.ch)) + // The OID parent identifier is plain + sc.SetState(SCE_ASN1_IDENTIFIER); + else + sc.SetState(SCE_ASN1_DEFAULT); + + if (sc.ch == '}') + // Here ends the OID and the operator sub loop: go back to main loop + break; + } + } + else if (isAsn1Number (sc.ch)) + { + // A trap number definition starts here: enter the sub loop + for (; sc.More(); sc.Forward()) + { + if (isAsn1Number (sc.ch)) + // The trap number is highlighted + sc.SetState(SCE_ASN1_OID); + else + { + // The number ends here: go back to main loop + sc.SetState(SCE_ASN1_DEFAULT); + break; + } + } + } + else if (sc.ch != ':' && sc.ch != '=' && sc.ch != ' ') + // The operator doesn't imply an OID definition nor a trap, back to main loop + goto asn1_default; // To be sure to handle actually the state change + break; + } + } + sc.Complete(); +} + +static void FoldAsn1Doc(unsigned int, int, int, WordList *[], Accessor &styler) +{ + // No folding enabled, no reason to continue... + if( styler.GetPropertyInt("fold") == 0 ) + return; + + // No folding implemented: doesn't make sense for ASN.1 +} + +static const char * const asn1WordLists[] = { + "Keywords", + "Attributes", + "Descriptors", + "Types", + 0, }; + + +LexerModule lmAsn1(SCLEX_ASN1, ColouriseAsn1Doc, "asn1", FoldAsn1Doc, asn1WordLists); diff --git a/src/stc/scintilla/src/LexCPP.cxx b/src/stc/scintilla/src/LexCPP.cxx index 9c8ea416ae..c6ca065058 100644 --- a/src/stc/scintilla/src/LexCPP.cxx +++ b/src/stc/scintilla/src/LexCPP.cxx @@ -123,7 +123,7 @@ static void ColouriseCppDoc(unsigned int startPos, int length, int initStyle, Wo sc.SetState(SCE_C_DEFAULT); } } else { - if ((sc.atLineEnd) || (sc.Match('/', '*')) || (sc.Match('/', '/'))) { + if ((sc.ch == '\r') || (sc.ch == '\n') || (sc.Match('/', '*')) || (sc.Match('/', '/'))) { sc.SetState(SCE_C_DEFAULT); } } @@ -140,7 +140,7 @@ static void ColouriseCppDoc(unsigned int startPos, int length, int initStyle, Wo sc.SetState(SCE_C_COMMENTDOCKEYWORD); } } else if (sc.state == SCE_C_COMMENTLINE || sc.state == SCE_C_COMMENTLINEDOC) { - if (sc.atLineEnd) { + if (sc.ch == '\r' || sc.ch == '\n') { sc.SetState(SCE_C_DEFAULT); visibleChars = 0; } @@ -235,7 +235,8 @@ static void ColouriseCppDoc(unsigned int startPos, int length, int initStyle, Wo } sc.Forward(); // Eat the * so it isn't used for the end of the comment } else if (sc.Match('/', '/')) { - if (sc.Match("///") || sc.Match("//!")) // Support of Qt/Doxygen doc. style + if ((sc.Match("///") && !sc.Match("////")) || sc.Match("//!")) + // Support of Qt/Doxygen doc. style sc.SetState(SCE_C_COMMENTLINEDOC); else sc.SetState(SCE_C_COMMENTLINE); @@ -252,7 +253,7 @@ static void ColouriseCppDoc(unsigned int startPos, int length, int initStyle, Wo do { sc.Forward(); } while ((sc.ch == ' ' || sc.ch == '\t') && sc.More()); - if (sc.atLineEnd) { + if (sc.ch == '\r' || sc.ch == '\n') { sc.SetState(SCE_C_DEFAULT); } } else if (isoperator(static_cast(sc.ch))) { diff --git a/src/stc/scintilla/src/LexCSS.cxx b/src/stc/scintilla/src/LexCSS.cxx index 11daa14238..f45ce1cda4 100644 --- a/src/stc/scintilla/src/LexCSS.cxx +++ b/src/stc/scintilla/src/LexCSS.cxx @@ -1,7 +1,8 @@ // Scintilla source code edit control /** @file LexCSS.cxx - ** Lexer for Cascade Style Sheets + ** Lexer for Cascading Style Sheets ** Written by Jakub Vrána + ** Improved by Philippe Lhoste (CSS2) **/ // Copyright 1998-2002 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. @@ -21,19 +22,27 @@ #include "Scintilla.h" #include "SciLexer.h" + static inline bool IsAWordChar(const unsigned int ch) { return (isalnum(ch) || ch == '-' || ch == '_' || ch >= 161); // _ is not in fact correct CSS word-character } inline bool IsCssOperator(const char ch) { - if (!isalnum(ch) && (ch == '{' || ch == '}' || ch == ':' || ch == ',' || ch == ';' || ch == '.' || ch == '#' || ch == '!' || ch == '@')) + if (!isalnum(ch) && + (ch == '{' || ch == '}' || ch == ':' || ch == ',' || ch == ';' || + ch == '.' || ch == '#' || ch == '!' || ch == '@' || + /* CSS2 */ + ch == '*' || ch == '>' || ch == '+' || ch == '=' || ch == '~' || ch == '|' || + ch == '[' || ch == ']' || ch == '(' || ch == ')')) { return true; + } return false; } static void ColouriseCssDoc(unsigned int startPos, int length, int initStyle, WordList *keywordlists[], Accessor &styler) { WordList &keywords = *keywordlists[0]; WordList &pseudoClasses = *keywordlists[1]; + WordList &keywords2 = *keywordlists[2]; StyleContext sc(startPos, length, initStyle, styler); @@ -44,7 +53,8 @@ static void ColouriseCssDoc(unsigned int startPos, int length, int initStyle, Wo for (; sc.More(); sc.Forward()) { if (sc.state == SCE_CSS_COMMENT && sc.Match('*', '/')) { if (lastStateC == -1) { - // backtrack to get last state + // backtrack to get last state: + // comments are like whitespace, so we must return to the previous state unsigned int i = startPos; for (; i > 0; i--) { if ((lastStateC = styler.StyleAt(i-1)) != SCE_CSS_COMMENT) { @@ -104,14 +114,15 @@ static void ColouriseCssDoc(unsigned int startPos, int length, int initStyle, Wo sc.SetState(SCE_CSS_IDENTIFIER); break; case '}': - if (lastState == SCE_CSS_DEFAULT || lastState == SCE_CSS_VALUE || lastState == SCE_CSS_IMPORTANT || lastState == SCE_CSS_IDENTIFIER) + if (lastState == SCE_CSS_DEFAULT || lastState == SCE_CSS_VALUE || lastState == SCE_CSS_IMPORTANT || + lastState == SCE_CSS_IDENTIFIER || lastState == SCE_CSS_IDENTIFIER2) sc.SetState(SCE_CSS_DEFAULT); break; case ':': if (lastState == SCE_CSS_TAG || lastState == SCE_CSS_PSEUDOCLASS || lastState == SCE_CSS_DEFAULT || lastState == SCE_CSS_CLASS || lastState == SCE_CSS_ID || lastState == SCE_CSS_UNKNOWN_PSEUDOCLASS) sc.SetState(SCE_CSS_PSEUDOCLASS); - else if (lastState == SCE_CSS_IDENTIFIER || lastState == SCE_CSS_UNKNOWN_IDENTIFIER) + else if (lastState == SCE_CSS_IDENTIFIER || lastState == SCE_CSS_IDENTIFIER2 || lastState == SCE_CSS_UNKNOWN_IDENTIFIER) sc.SetState(SCE_CSS_VALUE); break; case '.': @@ -146,7 +157,8 @@ static void ColouriseCssDoc(unsigned int startPos, int length, int initStyle, Wo } if (IsAWordChar(sc.chPrev) && ( - sc.state == SCE_CSS_IDENTIFIER || sc.state == SCE_CSS_UNKNOWN_IDENTIFIER + sc.state == SCE_CSS_IDENTIFIER || sc.state == SCE_CSS_IDENTIFIER2 + || sc.state == SCE_CSS_UNKNOWN_IDENTIFIER || sc.state == SCE_CSS_PSEUDOCLASS || sc.state == SCE_CSS_UNKNOWN_PSEUDOCLASS || sc.state == SCE_CSS_IMPORTANT )) { @@ -157,12 +169,19 @@ static void ColouriseCssDoc(unsigned int startPos, int length, int initStyle, Wo s2++; switch (sc.state) { case SCE_CSS_IDENTIFIER: - if (!keywords.InList(s2)) - sc.ChangeState(SCE_CSS_UNKNOWN_IDENTIFIER); + if (!keywords.InList(s2)) { + if (keywords2.InList(s2)) { + sc.ChangeState(SCE_CSS_IDENTIFIER2); + } else { + sc.ChangeState(SCE_CSS_UNKNOWN_IDENTIFIER); + } + } break; case SCE_CSS_UNKNOWN_IDENTIFIER: if (keywords.InList(s2)) sc.ChangeState(SCE_CSS_IDENTIFIER); + else if (keywords2.InList(s2)) + sc.ChangeState(SCE_CSS_IDENTIFIER2); break; case SCE_CSS_PSEUDOCLASS: if (!pseudoClasses.InList(s2)) @@ -253,8 +272,9 @@ static void FoldCSSDoc(unsigned int startPos, int length, int, WordList *[], Acc } static const char * const cssWordListDesc[] = { - "Keywords", + "CSS1 Keywords", "Pseudo classes", + "CSS2 Keywords", 0 }; diff --git a/src/stc/scintilla/src/LexHTML.cxx b/src/stc/scintilla/src/LexHTML.cxx index d2cd30f60e..e3546b436f 100644 --- a/src/stc/scintilla/src/LexHTML.cxx +++ b/src/stc/scintilla/src/LexHTML.cxx @@ -314,7 +314,7 @@ static void classifyWordHTPy(unsigned int start, unsigned int end, WordList &key // Called when in a PHP word static void classifyWordHTPHP(unsigned int start, unsigned int end, WordList &keywords, Accessor &styler) { char chAttr = SCE_HPHP_DEFAULT; - bool wordIsNumber = IsADigit(styler[start]); + bool wordIsNumber = IsADigit(styler[start]) || (styler[start] == '.' && start+1 <= end && IsADigit(styler[start+1])); if (wordIsNumber) chAttr = SCE_HPHP_NUMBER; else { @@ -637,9 +637,10 @@ static void ColouriseHyperTextDoc(unsigned int startPos, int length, int initSty (state != SCE_HPHP_COMMENT) && (ch == '<') && (chNext == '?')) { + scriptLanguage = segIsScriptingIndicator(styler, styler.GetStartSegment() + 2, i + 10, eScriptPHP); + if (scriptLanguage != eScriptPHP && isStringState(state)) continue; styler.ColourTo(i - 1, StateToPrint); beforePreProc = state; - scriptLanguage = segIsScriptingIndicator(styler, styler.GetStartSegment() + 2, i + 10, eScriptPHP); i++; visibleChars++; i += PrintScriptingIndicatorOffset(styler, styler.GetStartSegment() + 2, i + 10); @@ -1495,7 +1496,7 @@ static void ColouriseHyperTextDoc(unsigned int startPos, int length, int initSty } break; case SCE_HPHP_NUMBER: - if (!IsADigit(ch)) { + if (!IsADigit(ch) && ch != '.' && ch != 'e' && ch != 'E' && (ch != '-' || (chPrev != 'e' && chPrev != 'E'))) { styler.ColourTo(i - 1, SCE_HPHP_NUMBER); if (isoperator(ch)) state = SCE_HPHP_OPERATOR; @@ -1567,7 +1568,7 @@ static void ColouriseHyperTextDoc(unsigned int startPos, int length, int initSty case SCE_HPHP_OPERATOR: case SCE_HPHP_DEFAULT: styler.ColourTo(i - 1, StateToPrint); - if (IsADigit(ch)) { + if (IsADigit(ch) || (ch == '.' && IsADigit(chNext))) { state = SCE_HPHP_NUMBER; } else if (iswordstart(ch)) { state = SCE_HPHP_WORD; diff --git a/src/stc/scintilla/src/LexLisp.cxx b/src/stc/scintilla/src/LexLisp.cxx index 9cd5433c89..549b573e2e 100644 --- a/src/stc/scintilla/src/LexLisp.cxx +++ b/src/stc/scintilla/src/LexLisp.cxx @@ -66,9 +66,6 @@ static void ColouriseLispDoc(unsigned int startPos, int length, int initStyle, W styler.StartAt(startPos); int state = initStyle; - if (state == SCE_LISP_STRINGEOL) // Does not leak onto next line - state = SCE_LISP_DEFAULT; - char chPrev = ' '; char chNext = styler[startPos]; unsigned int lengthDoc = startPos + length; styler.StartSegment(startPos); @@ -77,19 +74,9 @@ static void ColouriseLispDoc(unsigned int startPos, int length, int initStyle, W chNext = styler.SafeGetCharAt(i + 1); bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); - if (atEOL) { - // Trigger on CR only (Mac style) or either on LF from CR+LF (Dos/Win) or on LF alone (Unix) - // Avoid triggering two times on Dos/Win - // End of line - if (state == SCE_LISP_STRINGEOL) { - styler.ColourTo(i, state); - state = SCE_LISP_DEFAULT; - } - } if (styler.IsLeadByte(ch)) { chNext = styler.SafeGetCharAt(i + 2); - chPrev = ' '; i += 1; continue; } @@ -107,9 +94,9 @@ static void ColouriseLispDoc(unsigned int startPos, int length, int initStyle, W styler.ColourTo(i - 1, state); styler.ColourTo(i, SCE_LISP_OPERATOR); } - else if (ch == '\"') { - state = SCE_LISP_STRING; + styler.ColourTo(i - 1, state); + state = SCE_LISP_STRING; } } else if (state == SCE_LISP_IDENTIFIER) { if (!isLispwordstart(ch)) { @@ -131,20 +118,15 @@ static void ColouriseLispDoc(unsigned int startPos, int length, int initStyle, W if (ch == '\\') { if (chNext == '\"' || chNext == '\'' || chNext == '\\') { i++; - ch = chNext; chNext = styler.SafeGetCharAt(i + 1); } } else if (ch == '\"') { styler.ColourTo(i, state); state = SCE_LISP_DEFAULT; - } else if ((chNext == '\r' || chNext == '\n') && (chPrev != '\\')) { - styler.ColourTo(i - 1, SCE_LISP_STRINGEOL); - state = SCE_LISP_STRINGEOL; } } } - chPrev = ch; } styler.ColourTo(lengthDoc - 1, state); } diff --git a/src/stc/scintilla/src/LexLua.cxx b/src/stc/scintilla/src/LexLua.cxx index 3781eed83a..3e4b25cb5e 100644 --- a/src/stc/scintilla/src/LexLua.cxx +++ b/src/stc/scintilla/src/LexLua.cxx @@ -138,7 +138,7 @@ static void ColouriseLuaDoc( sc.SetState(SCE_LUA_DEFAULT); } } else if (sc.state == SCE_LUA_IDENTIFIER) { - if (!IsAWordChar(sc.ch)) { + if (!IsAWordChar(sc.ch) || sc.Match('.', '.')) { char s[100]; sc.GetCurrent(s, sizeof(s)); if (keywords.InList(s)) { diff --git a/src/stc/scintilla/src/LexOthers.cxx b/src/stc/scintilla/src/LexOthers.cxx index 1681ba5d4a..f777e300fa 100644 --- a/src/stc/scintilla/src/LexOthers.cxx +++ b/src/stc/scintilla/src/LexOthers.cxx @@ -330,6 +330,7 @@ static void FoldPropsDoc(unsigned int startPos, int length, int, WordList *[], A char chNext = styler[startPos]; int styleNext = styler.StyleAt(startPos); bool headerPoint = false; + int lev; for (unsigned int i = startPos; i < endPos; i++) { char ch = chNext; @@ -339,21 +340,32 @@ static void FoldPropsDoc(unsigned int startPos, int length, int, WordList *[], A styleNext = styler.StyleAt(i + 1); bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); - if (style==2) { + if (style == SCE_PROPS_SECTION) { headerPoint = true; } if (atEOL) { - int lev = SC_FOLDLEVELBASE+1; - if (headerPoint) - lev = SC_FOLDLEVELBASE; + lev = SC_FOLDLEVELBASE; + + if (lineCurrent > 0) { + int levelPrevious = styler.LevelAt(lineCurrent - 1); + if (levelPrevious & SC_FOLDLEVELHEADERFLAG) { + lev = SC_FOLDLEVELBASE + 1; + } else { + lev = levelPrevious & SC_FOLDLEVELNUMBERMASK; + } + } + + if (headerPoint) { + lev = SC_FOLDLEVELBASE; + } if (visibleChars == 0 && foldCompact) lev |= SC_FOLDLEVELWHITEFLAG; - if (headerPoint) + if (headerPoint) { lev |= SC_FOLDLEVELHEADERFLAG; - + } if (lev != styler.LevelAt(lineCurrent)) { styler.SetLevel(lineCurrent, lev); } @@ -366,9 +378,18 @@ static void FoldPropsDoc(unsigned int startPos, int length, int, WordList *[], A visibleChars++; } - int lev = headerPoint ? SC_FOLDLEVELBASE : SC_FOLDLEVELBASE+1; - int flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK; - styler.SetLevel(lineCurrent, lev | flagsNext); + if (lineCurrent > 0) { + int levelPrevious = styler.LevelAt(lineCurrent - 1); + if (levelPrevious & SC_FOLDLEVELHEADERFLAG) { + lev = SC_FOLDLEVELBASE + 1; + } else { + lev = levelPrevious & SC_FOLDLEVELNUMBERMASK; + } + } else { + lev = SC_FOLDLEVELBASE; + } + int flagsNext = styler.LevelAt(lineCurrent); + styler.SetLevel(lineCurrent, lev | flagsNext & ~SC_FOLDLEVELNUMBERMASK); } static void ColouriseMakeLine( @@ -523,6 +544,15 @@ static void ColouriseErrorListLine( strstr(lineBuffer, ", file ")) { // Essential Lahey Fortran error message styler.ColourTo(endPos, SCE_ERR_ELF); + } else if (strstart(lineBuffer, "line ") && + strstr(lineBuffer, " column ")) { + // HTML tidy style: line 42 column 1 + styler.ColourTo(endPos, SCE_ERR_TIDY); + } else if (strstart(lineBuffer, "\tat ") && + strstr(lineBuffer, "(") && + strstr(lineBuffer, ".java:")) { + // Java stack back trace + styler.ColourTo(endPos, SCE_ERR_JAVA_STACK); } else { // Look for GCC ::message // Look for Microsoft (line) :message diff --git a/src/stc/scintilla/src/LexPB.cxx b/src/stc/scintilla/src/LexPB.cxx index 775b558725..7878a6bf8f 100644 --- a/src/stc/scintilla/src/LexPB.cxx +++ b/src/stc/scintilla/src/LexPB.cxx @@ -3,10 +3,32 @@ // Lexer for PowerBasic by Roland Walter, roland@rowalt.de (for PowerBasic see www.powerbasic.com) // // Changes: -// 17.10.2003 Toggling of subs/functions now until next sub/function - this gives better results -// 29.10.2003 1. Bug: Toggling didn't work for subs/functions added in editor -// 2. Own colors for PB constants and Inline Assembler SCE_B_CONSTANT and SCE_B_ASM -// 3. Several smaller syntax coloring improvements and speed optimizations +// 17.10.2003: Toggling of subs/functions now until next sub/function - this gives better results +// 29.10.2003: 1. Bug: Toggling didn't work for subs/functions added in editor +// 2. Own colors for PB constants and Inline Assembler SCE_B_CONSTANT and SCE_B_ASM +// 3. Several smaller syntax coloring improvements and speed optimizations +// 12.07.2004: 1. Toggling for macros added +// 2. Further folding speed optimitations (for people dealing with very large listings) +// +// Necessary changes for the PB lexer in Scintilla project: +// - In SciLexer.h and Scintilla.iface: +// +// #define SCLEX_POWERBASIC 51 //ID for PowerBasic lexer +// (...) +// #define SCE_B_DEFAULT 0 //in both VB and PB lexer +// #define SCE_B_COMMENT 1 //in both VB and PB lexer +// #define SCE_B_NUMBER 2 //in both VB and PB lexer +// #define SCE_B_KEYWORD 3 //in both VB and PB lexer +// #define SCE_B_STRING 4 //in both VB and PB lexer +// #define SCE_B_PREPROCESSOR 5 //VB lexer only, not in PB lexer +// #define SCE_B_OPERATOR 6 //in both VB and PB lexer +// #define SCE_B_IDENTIFIER 7 //in both VB and PB lexer +// #define SCE_B_DATE 8 //VB lexer only, not in PB lexer +// #define SCE_B_CONSTANT 13 //PB lexer only, not in VB lexer +// #define SCE_B_ASM 14 //PB lexer only, not in VB lexer + +// - Statement added to KeyWords.cxx: 'LINK_LEXER(lmPB);' +// - Statement added to scintilla_vc6.mak: '$(DIR_O)\LexPB.obj: ...\src\LexPB.cxx $(LEX_HEADERS)' // // Copyright for Scintilla: 1998-2001 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. @@ -171,6 +193,8 @@ static void FoldPBDoc(unsigned int startPos, int length, int, WordList *[], Acce char chNext = styler[startPos]; bool fNewLine=true; + bool fMightBeMultiLineMacro=false; + bool fBeginOfCommentFound=false; for (unsigned int i = startPos; i < endPos; i++) { char ch = chNext; @@ -179,10 +203,11 @@ static void FoldPBDoc(unsigned int startPos, int length, int, WordList *[], Acce if (fNewLine) //Begin of a new line (The Sub/Function/Macro keywords may occur at begin of line only) { fNewLine=false; - + fBeginOfCommentFound=false; switch (ch) { - case ' ': //Most lines start with space - so check this first + case ' ': //Most lines start with space - so check this first, the code is the same as for 'default:' + case '\t': //Handle tab too { int levelUse = levelCurrent; int lev = levelUse | levelNext << 16; @@ -190,37 +215,89 @@ static void FoldPBDoc(unsigned int startPos, int length, int, WordList *[], Acce break; } case 'F': - case 'S': - case 'C': case 'f': + { + switch (chNext) + { + case 'U': + case 'u': + { + if( MatchUpperCase(styler,i,"FUNCTION") ) + { + styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG); + levelNext=SC_FOLDLEVELBASE+1; + } + break; + } + } + break; + } + case 'S': case 's': + { + switch (chNext) + { + case 'U': + case 'u': + { + if( MatchUpperCase(styler,i,"SUB") ) + { + styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG); + levelNext=SC_FOLDLEVELBASE+1; + } + break; + } + case 'T': + case 't': + { + if( MatchUpperCase(styler,i,"STATIC FUNCTION") ) + { + styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG); + levelNext=SC_FOLDLEVELBASE+1; + } + else if( MatchUpperCase(styler,i,"STATIC SUB") ) + { + styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG); + levelNext=SC_FOLDLEVELBASE+1; + } + break; + } + } + break; + } + case 'C': case 'c': { - if( MatchUpperCase(styler,i,"FUNCTION") ) - { - styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG); - levelNext=SC_FOLDLEVELBASE+1; - } - else if( MatchUpperCase(styler,i,"SUB") ) - { - styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG); - levelNext=SC_FOLDLEVELBASE+1; - } - else if( MatchUpperCase(styler,i,"CALLBACK FUNCTION") ) - { - styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG); - levelNext=SC_FOLDLEVELBASE+1; - } - else if( MatchUpperCase(styler,i,"STATIC FUNCTION") ) - { - styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG); - levelNext=SC_FOLDLEVELBASE+1; - } - else if( MatchUpperCase(styler,i,"STATIC SUB") ) - { - styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG); - levelNext=SC_FOLDLEVELBASE+1; - } + switch (chNext) + { + case 'A': + case 'a': + { + if( MatchUpperCase(styler,i,"CALLBACK FUNCTION") ) + { + styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG); + levelNext=SC_FOLDLEVELBASE+1; + } + break; + } + } + break; + } + case 'M': + case 'm': + { + switch (chNext) + { + case 'A': + case 'a': + { + if( MatchUpperCase(styler,i,"MACRO") ) + { + fMightBeMultiLineMacro=true; //Set folder level at end of line, we have to check for single line macro + } + break; + } + } break; } default: @@ -235,8 +312,25 @@ static void FoldPBDoc(unsigned int startPos, int length, int, WordList *[], Acce switch (ch) { + case '=': //To test single line macros + { + if (fBeginOfCommentFound==false) + fMightBeMultiLineMacro=false; //The found macro is a single line macro only; + break; + } + case '\'': //A comment starts + { + fBeginOfCommentFound=true; + break; + } case '\n': { + if (fMightBeMultiLineMacro) //The current line is the begin of a multi line macro + { + fMightBeMultiLineMacro=false; + styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG); + levelNext=SC_FOLDLEVELBASE+1; + } lineCurrent++; levelCurrent = levelNext; fNewLine=true; diff --git a/src/stc/scintilla/src/LexPython.cxx b/src/stc/scintilla/src/LexPython.cxx index d4d4f46fed..e13c6220d9 100644 --- a/src/stc/scintilla/src/LexPython.cxx +++ b/src/stc/scintilla/src/LexPython.cxx @@ -265,7 +265,8 @@ static void ColourisePyDoc(unsigned int startPos, int length, int initStyle, } else if (IsPyStringStart(sc.ch, sc.chNext, sc.GetRelative(2))) { unsigned int nextIndex = 0; sc.SetState(GetPyStringState(styler, sc.currentPos, &nextIndex)); - while (nextIndex > (sc.currentPos + 1) && sc.More()) { sc.Forward(); + while (nextIndex > (sc.currentPos + 1) && sc.More()) { + sc.Forward(); } } else if (IsAWordStart(sc.ch)) { sc.SetState(SCE_P_IDENTIFIER); diff --git a/src/stc/scintilla/src/LexVHDL.cxx b/src/stc/scintilla/src/LexVHDL.cxx new file mode 100644 index 0000000000..0feef95120 --- /dev/null +++ b/src/stc/scintilla/src/LexVHDL.cxx @@ -0,0 +1,473 @@ +// Scintilla source code edit control +/** @file LexVHDL.cxx + ** Lexer for VHDL + ** Written by Phil Reid, + ** Based on: + ** - The Verilog Lexer by Avi Yegudin + ** - The Fortran Lexer by Chuan-jian Shen + ** - The C++ lexer by Neil Hodgson + **/ +// Copyright 1998-2002 by Neil Hodgson +// The License.txt file describes the conditions under which this software may be distributed. + +#include +#include +#include +#include +#include + +#include "Platform.h" + +#include "PropSet.h" +#include "Accessor.h" +#include "StyleContext.h" +#include "KeyWords.h" +#include "Scintilla.h" +#include "SciLexer.h" + +static void ColouriseVHDLDoc( + unsigned int startPos, + int length, + int initStyle, + WordList *keywordlists[], + Accessor &styler); + + +/***************************************/ +static inline bool IsAWordChar(const int ch) { + return (ch < 0x80) && (isalnum(ch) || ch == '.' || ch == '_' ); +} + +/***************************************/ +static inline bool IsAWordStart(const int ch) { + return (ch < 0x80) && (isalnum(ch) || ch == '_'); +} + +/***************************************/ +inline bool IsABlank(unsigned int ch) { + return (ch == ' ') || (ch == 0x09) || (ch == 0x0b) ; +} + +/***************************************/ +static void ColouriseVHDLDoc( + unsigned int startPos, + int length, + int initStyle, + WordList *keywordlists[], + Accessor &styler) +{ + WordList &Keywords = *keywordlists[0]; + WordList &Operators = *keywordlists[1]; + WordList &Attributes = *keywordlists[2]; + WordList &Functions = *keywordlists[3]; + WordList &Packages = *keywordlists[4]; + WordList &Types = *keywordlists[5]; + WordList &User = *keywordlists[6]; + + StyleContext sc(startPos, length, initStyle, styler); + + for (; sc.More(); sc.Forward()) + { + + // Determine if the current state should terminate. + if (sc.state == SCE_VHDL_OPERATOR) { + sc.SetState(SCE_VHDL_DEFAULT); + } else if (sc.state == SCE_VHDL_NUMBER) { + if (!IsAWordChar(sc.ch) && (sc.ch != '#')) { + sc.SetState(SCE_VHDL_DEFAULT); + } + } else if (sc.state == SCE_VHDL_IDENTIFIER) { + if (!IsAWordChar(sc.ch) || (sc.ch == '.')) { + char s[100]; + sc.GetCurrentLowered(s, sizeof(s)); + if (Keywords.InList(s)) { + sc.ChangeState(SCE_VHDL_KEYWORD); + } else if (Operators.InList(s)) { + sc.ChangeState(SCE_VHDL_STDOPERATOR); + } else if (Attributes.InList(s)) { + sc.ChangeState(SCE_VHDL_ATTRIBUTE); + } else if (Functions.InList(s)) { + sc.ChangeState(SCE_VHDL_STDFUNCTION); + } else if (Packages.InList(s)) { + sc.ChangeState(SCE_VHDL_STDPACKAGE); + } else if (Types.InList(s)) { + sc.ChangeState(SCE_VHDL_STDTYPE); + } else if (User.InList(s)) { + sc.ChangeState(SCE_VHDL_USERWORD); + } + sc.SetState(SCE_VHDL_DEFAULT); + } + } else if (sc.state == SCE_VHDL_COMMENT || sc.state == SCE_V_COMMENTLINEBANG) { + if (sc.atLineEnd) { + sc.SetState(SCE_VHDL_DEFAULT); + } + } else if (sc.state == SCE_VHDL_STRING) { + if (sc.ch == '\\') { + if (sc.chNext == '\"' || sc.chNext == '\'' || sc.chNext == '\\') { + sc.Forward(); + } + } else if (sc.ch == '\"') { + sc.ForwardSetState(SCE_VHDL_DEFAULT); + } else if (sc.atLineEnd) { + sc.ChangeState(SCE_V_STRINGEOL); + sc.ForwardSetState(SCE_VHDL_DEFAULT); + } + } + + // Determine if a new state should be entered. + if (sc.state == SCE_VHDL_DEFAULT) { + if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) { + sc.SetState(SCE_VHDL_NUMBER); + } else if (IsAWordStart(sc.ch)) { + sc.SetState(SCE_VHDL_IDENTIFIER); + } else if (sc.Match('-', '-')) { + sc.SetState(SCE_VHDL_COMMENT); + sc.Forward(); + } else if (sc.Match('-', '-')) { + if (sc.Match("--!")) // Nice to have a different comment style + sc.SetState(SCE_VHDL_COMMENTLINEBANG); + else + sc.SetState(SCE_VHDL_COMMENT); + } else if (sc.ch == '\"') { + sc.SetState(SCE_VHDL_STRING); + } else if (isoperator(static_cast(sc.ch))) { + sc.SetState(SCE_VHDL_OPERATOR); + } + } + } + sc.Complete(); +} +//============================================================================= +static bool IsCommentLine(int line, Accessor &styler) { + int pos = styler.LineStart(line); + int eol_pos = styler.LineStart(line + 1) - 1; + for (int i = pos; i < eol_pos; i++) { + char ch = styler[i]; + char chNext = styler[i+1]; + if ((ch == '-') && (chNext == '-')) + return true; + else if (ch != ' ' && ch != '\t') + return false; + } + return false; +} + +//============================================================================= +// Folding the code +static void FoldNoBoxVHDLDoc( + unsigned int startPos, + int length, + int initStyle, + Accessor &styler) +{ + // Decided it would be smarter to have the lexer have all keywords included. Therefore I + // don't check if the style for the keywords that I use to adjust the levels. + char words[] = + "architecture begin case component else elsif end entity generate loop package process record then " + "procedure function when"; + WordList keywords; + keywords.Set(words); + + bool foldComment = styler.GetPropertyInt("fold.comment", 1) != 0; + bool foldCompact = styler.GetPropertyInt("fold.compact", 1) != 0; + bool foldAtElse = styler.GetPropertyInt("fold.at.else", 1) != 0; + bool foldAtBegin = styler.GetPropertyInt("fold.at.Begin", 1) != 0; + bool foldAtParenthese = styler.GetPropertyInt("fold.at.Parenthese", 1) != 0; + //bool foldAtWhen = styler.GetPropertyInt("fold.at.When", 1) != 0; //< fold at when in case statements + + int visibleChars = 0; + unsigned int endPos = startPos + length; + + int lineCurrent = styler.GetLine(startPos); + int levelCurrent = SC_FOLDLEVELBASE; + if(lineCurrent > 0) + levelCurrent = styler.LevelAt(lineCurrent-1) >> 16; + //int levelMinCurrent = levelCurrent; + int levelMinCurrentElse = levelCurrent; //< Used for folding at 'else' + int levelMinCurrentBegin = levelCurrent; //< Used for folding at 'begin' + int levelNext = levelCurrent; + + /***************************************/ + int lastStart = 0; + char prevWord[32] = ""; + + /***************************************/ + // Find prev word + // The logic for going up or down a level depends on a the previous keyword + // This code could be cleaned up. + int end = 0; + unsigned int j; + for(j = startPos; j>0; j--) + { + char ch = styler.SafeGetCharAt(j); + char chPrev = styler.SafeGetCharAt(j-1); + int style = styler.StyleAt(j); + int stylePrev = styler.StyleAt(j-1); + if ((stylePrev != SCE_VHDL_COMMENT) && (stylePrev != SCE_VHDL_STRING)) + { + if(IsAWordChar(chPrev) && !IsAWordChar(ch)) + { + end = j-1; + } + } + if ((style != SCE_VHDL_COMMENT) && (style != SCE_VHDL_STRING)) + { + if(!IsAWordChar(chPrev) && IsAWordStart(ch) && (end != 0)) + { + char s[32]; + unsigned int k; + for(k=0; (k<31 ) && (k(tolower(styler[j+k])); + } + s[k] = '\0'; + + if(keywords.InList(s)) { + strcpy(prevWord, s); + break; + } + } + } + } + for(j=j+strlen(prevWord); j(tolower(styler[lastStart+k])); + } + s[k] = '\0'; + + if(keywords.InList(s)) + { + if ( + strcmp(s, "architecture") == 0 || + strcmp(s, "case") == 0 || + strcmp(s, "component") == 0 || + strcmp(s, "entity") == 0 || + strcmp(s, "generate") == 0 || + strcmp(s, "loop") == 0 || + strcmp(s, "package") ==0 || + strcmp(s, "process") == 0 || + strcmp(s, "record") == 0 || + strcmp(s, "then") == 0) + { + if (strcmp(prevWord, "end") != 0) + { + if (levelMinCurrentElse > levelNext) { + levelMinCurrentElse = levelNext; + } + levelNext++; + } + } else if ( + strcmp(s, "procedure") == 0 || + strcmp(s, "function") == 0) + { + if (strcmp(prevWord, "end") != 0) // check for "end procedure" etc. + { // This code checks to see if the procedure / function is a definition within a "package" + // rather than the actual code in the body. + int BracketLevel = 0; + for(int j=i+1; j levelNext) { + levelMinCurrentElse = levelNext; + } + levelNext++; + break; + } + if((BracketLevel == 0) && (LocalCh == ';')) + { + break; + } + } + } + + } else if (strcmp(s, "end") == 0) { + levelNext--; + } else if(strcmp(s, "elsif") == 0) { // elsif is followed by then so folding occurs correctly + levelNext--; + } else if (strcmp(s, "else") == 0) { + if(strcmp(prevWord, "when") != 0) // ignore a <= x when y else z; + { + levelMinCurrentElse = levelNext - 1; // VHDL else is all on its own so just dec. the min level + } + } else if( + ((strcmp(s, "begin") == 0) && (strcmp(prevWord, "architecture") == 0)) || + ((strcmp(s, "begin") == 0) && (strcmp(prevWord, "function") == 0)) || + ((strcmp(s, "begin") == 0) && (strcmp(prevWord, "procedure") == 0))) + { + levelMinCurrentBegin = levelNext - 1; + } + //Platform::DebugPrintf("Line[%04d] Prev[%20s] Cur[%20s] Level[%x]\n", lineCurrent+1, prevWord, s, levelCurrent); + strcpy(prevWord, s); + } + } + } + if (atEOL) { + int levelUse = levelCurrent; + + if (foldAtElse && (levelMinCurrentElse < levelUse)) { + levelUse = levelMinCurrentElse; + } + if (foldAtBegin && (levelMinCurrentBegin < levelUse)) { + levelUse = levelMinCurrentBegin; + } + int lev = levelUse | levelNext << 16; + if (visibleChars == 0 && foldCompact) + lev |= SC_FOLDLEVELWHITEFLAG; + + if (levelUse < levelNext) + lev |= SC_FOLDLEVELHEADERFLAG; + if (lev != styler.LevelAt(lineCurrent)) { + styler.SetLevel(lineCurrent, lev); + } + //Platform::DebugPrintf("Line[%04d] ---------------------------------------------------- Level[%x]\n", lineCurrent+1, levelCurrent); + lineCurrent++; + levelCurrent = levelNext; + //levelMinCurrent = levelCurrent; + levelMinCurrentElse = levelCurrent; + levelMinCurrentBegin = levelCurrent; + visibleChars = 0; + } + /***************************************/ + if (!isspacechar(ch)) visibleChars++; + } + + /***************************************/ +// Platform::DebugPrintf("Line[%04d] ---------------------------------------------------- Level[%x]\n", lineCurrent+1, levelCurrent); +} + +//============================================================================= +static void FoldVHDLDoc(unsigned int startPos, int length, int initStyle, WordList *[], + Accessor &styler) { + FoldNoBoxVHDLDoc(startPos, length, initStyle, styler); +} + +//============================================================================= +static const char * const VHDLWordLists[] = { + "Keywords", + "Operators", + "Attributes", + "Standard Functions", + "Standard Packages", + "Standard Types", + "User Words", + 0, + }; + + +LexerModule lmVHDL(SCLEX_VHDL, ColouriseVHDLDoc, "vhdl", FoldVHDLDoc, VHDLWordLists); + + +// Keyword: +// access after alias all architecture array assert attribute begin block body buffer bus case component +// configuration constant disconnect downto else elsif end entity exit file for function generate generic +// group guarded if impure in inertial inout is label library linkage literal loop map new next null of +// on open others out package port postponed procedure process pure range record register reject report +// return select severity shared signal subtype then to transport type unaffected units until use variable +// wait when while with +// +// Operators: +// abs and mod nand nor not or rem rol ror sla sll sra srl xnor xor +// +// Attributes: +// left right low high ascending image value pos val succ pred leftof rightof base range reverse_range +// length delayed stable quiet transaction event active last_event last_active last_value driving +// driving_value simple_name path_name instance_name +// +// Std Functions: +// now readline read writeline write endfile resolved to_bit to_bitvector to_stdulogic to_stdlogicvector +// to_stdulogicvector to_x01 to_x01z to_UX01 rising_edge falling_edge is_x shift_left shift_right rotate_left +// rotate_right resize to_integer to_unsigned to_signed std_match to_01 +// +// Std Packages: +// std ieee work standard textio std_logic_1164 std_logic_arith std_logic_misc std_logic_signed +// std_logic_textio std_logic_unsigned numeric_bit numeric_std math_complex math_real vital_primitives +// vital_timing +// +// Std Types: +// boolean bit character severity_level integer real time delay_length natural positive string bit_vector +// file_open_kind file_open_status line text side width std_ulogic std_ulogic_vector std_logic +// std_logic_vector X01 X01Z UX01 UX01Z unsigned signed +// + diff --git a/src/stc/scintilla/src/PropSet.cxx b/src/stc/scintilla/src/PropSet.cxx index d0a7f8b0f7..1e9920d79c 100644 --- a/src/stc/scintilla/src/PropSet.cxx +++ b/src/stc/scintilla/src/PropSet.cxx @@ -124,7 +124,7 @@ SString &SString::assign(const char *sOther, lenpos_t sSize_) { s = StringAllocate(sOther, sSize_); if (s) { sSize = sSize_; // Allow buffer bigger than real string, thus providing space to grow - sLen = strlen(s); + sLen = sSize_; } else { sSize = sLen = 0; } @@ -383,6 +383,33 @@ void PropSet::Set(const char *keyVal) { } } +void PropSet::Unset(const char *key, int lenKey) { + if (!*key) // Empty keys are not supported + return; + if (lenKey == -1) + lenKey = static_cast(strlen(key)); + unsigned int hash = HashString(key, lenKey); + Property *pPrev = NULL; + for (Property *p = props[hash % hashRoots]; p; p = p->next) { + if ((hash == p->hash) && + ((strlen(p->key) == static_cast(lenKey)) && + (0 == strncmp(p->key, key, lenKey)))) { + if (pPrev) + pPrev->next = p->next; + else + props[hash % hashRoots] = p->next; + if (p == enumnext) + enumnext = p->next; // Not that anyone should mix enum and Set / Unset. + delete [](p->key); + delete [](p->val); + delete p; + return; + } else { + pPrev = p; + } + } +} + void PropSet::SetMultiple(const char *s) { const char *eol = strchr(s, '\n'); while (eol) { @@ -422,39 +449,71 @@ bool PropSet::IncludesVar(const char *value, const char *key) { return false; } + +// There is some inconsistency between GetExpanded("foo") and Expand("$(foo)"). +// A solution is to keep a stack of variables that have been expanded, so that +// recursive expansions can be skipped. For now I'll just use the C++ stack +// for that, through a recursive function and a simple chain of pointers. + +struct VarChain { + VarChain(const char*var_=NULL, const VarChain *link_=NULL): var(var_), link(link_) {} + + bool contains(const char *testVar) const { + return (var && (0 == strcmp(var, testVar))) + || (link && link->contains(testVar)); + } + + const char *var; + const VarChain *link; +}; + +static int ExpandAllInPlace(PropSet &props, SString &withVars, int maxExpands, const VarChain &blankVars = VarChain()) { + int varStart = withVars.search("$("); + while ((varStart >= 0) && (maxExpands > 0)) { + int varEnd = withVars.search(")", varStart+2); + if (varEnd < 0) { + break; + } + + // For consistency, when we see '$(ab$(cde))', expand the inner variable first, + // regardless whether there is actually a degenerate variable named 'ab$(cde'. + int innerVarStart = withVars.search("$(", varStart+2); + while ((innerVarStart > varStart) && (innerVarStart < varEnd)) { + varStart = innerVarStart; + innerVarStart = withVars.search("$(", varStart+2); + } + + SString var(withVars.c_str(), varStart + 2, varEnd); + SString val = props.Get(var.c_str()); + + if (blankVars.contains(var.c_str())) { + val.clear(); // treat blankVar as an empty string (e.g. to block self-reference) + } + + if (--maxExpands >= 0) { + maxExpands = ExpandAllInPlace(props, val, maxExpands, VarChain(var.c_str(), &blankVars)); + } + + withVars.remove(varStart, varEnd-varStart+1); + withVars.insert(varStart, val.c_str(), val.length()); + + varStart = withVars.search("$("); + } + + return maxExpands; +} + + SString PropSet::GetExpanded(const char *key) { SString val = Get(key); - if (IncludesVar(val.c_str(), key)) - return val; - return Expand(val.c_str()); + ExpandAllInPlace(*this, val, 100, VarChain(key)); + return val; } SString PropSet::Expand(const char *withVars, int maxExpands) { - char *base = StringDup(withVars); - char *cpvar = strstr(base, "$("); - while (cpvar && (maxExpands > 0)) { - char *cpendvar = strchr(cpvar, ')'); - if (!cpendvar) - break; - int lenvar = cpendvar - cpvar - 2; // Subtract the $() - char *var = StringDup(cpvar + 2, lenvar); - SString val = Get(var); - if (IncludesVar(val.c_str(), var)) - break; - size_t newlenbase = strlen(base) + val.length() - lenvar; - char *newbase = new char[newlenbase]; - strncpy(newbase, base, cpvar - base); - strcpy(newbase + (cpvar - base), val.c_str()); - strcpy(newbase + (cpvar - base) + val.length(), cpendvar + 1); - delete []var; - delete []base; - base = newbase; - cpvar = strstr(base, "$("); - maxExpands--; - } - SString sret = base; - delete []base; - return sret; + SString val = withVars; + ExpandAllInPlace(*this, val, maxExpands); + return val; } int PropSet::GetInt(const char *key, int defaultValue) { @@ -549,6 +608,8 @@ SString PropSet::GetWild(const char *keybase, const char *filename) { } } + + // GetNewExpand does not use Expand as it has to use GetWild with the filename for each // variable reference found. SString PropSet::GetNewExpand(const char *keybase, const char *filename) { @@ -561,6 +622,8 @@ SString PropSet::GetNewExpand(const char *keybase, const char *filename) { int lenvar = cpendvar - cpvar - 2; // Subtract the $() char *var = StringDup(cpvar + 2, lenvar); SString val = GetWild(var, filename); + if (0 == strcmp(var, keybase)) + val.clear(); // Self-references evaluate to empty string size_t newlenbase = strlen(base) + val.length() - lenvar; char *newbase = new char[newlenbase]; strncpy(newbase, base, cpvar - base); @@ -820,7 +883,7 @@ bool WordList::InList(const char *s) { * The length of the word to compare is passed too. * Letter case can be ignored or preserved (default). */ -const char *WordList::GetNearestWord(const char *wordStart, int searchLen /*= -1*/, bool ignoreCase /*= false*/, SString wordCharacters /*='/0' */, int wordIndex /*= -1 */) { +const char *WordList::GetNearestWord(const char *wordStart, int searchLen, bool ignoreCase /*= false*/, SString wordCharacters /*='/0' */, int wordIndex /*= -1 */) { int start = 0; // lower bound of the api array block to search int end = len - 1; // upper bound of the api array block to search int pivot; // index of api array element just being compared @@ -838,36 +901,32 @@ const char *WordList::GetNearestWord(const char *wordStart, int searchLen /*= -1 pivot = (start + end) >> 1; word = wordsNoCase[pivot]; cond = CompareNCaseInsensitive(wordStart, word, searchLen); - if (!cond && (!wordCharacters.contains(word[searchLen]))) { - // Found a word in a binary fashion. Now checks if a specific index was requested - if (wordIndex < 0) - return word; // result must not be freed with free() - + if (!cond) { + // find first word + start = pivot; + while (start > 0 && !CompareNCaseInsensitive(wordStart, wordsNoCase[start-1], searchLen)) { + start--; + } + // find last word + end = pivot; + while (end < len-1 && !CompareNCaseInsensitive(wordStart, wordsNoCase[end+1], searchLen)) { + end++; + } + // Finds first word in a series of equal words - int first = pivot; - end = pivot - 1; - while (start <= end) { - pivot = (start + end) >> 1; + for (pivot = start; pivot <= end; pivot++) { word = wordsNoCase[pivot]; - cond = CompareNCaseInsensitive(wordStart, word, searchLen); - if (!cond && (!wordCharacters.contains(word[searchLen]))) { - // Found another word - first = pivot; - end = pivot - 1; + if (!wordCharacters.contains(word[searchLen])) { + if (wordIndex <= 0) // Checks if a specific index was requested + return word; // result must not be freed with free() + wordIndex--; } - else if (cond > 0) - start = pivot + 1; - else if (cond <= 0) - break; } - - // Gets the word at the requested index - word = wordsNoCase[first + wordIndex]; - return word; + return NULL; } else if (cond > 0) start = pivot + 1; - else if (cond <= 0) + else if (cond < 0) end = pivot - 1; } } else { // preserve the letter case @@ -875,36 +934,34 @@ const char *WordList::GetNearestWord(const char *wordStart, int searchLen /*= -1 pivot = (start + end) >> 1; word = words[pivot]; cond = strncmp(wordStart, word, searchLen); - if (!cond && (!wordCharacters.contains(word[searchLen]))) { - // Found a word in a binary fashion. Now checks if a specific index was requested - if (wordIndex < 0) - return word; // result must not be freed with free() - + if (!cond) { + // find first word + start = pivot; + while (start > 0 && !strncmp(wordStart, words[start-1], searchLen)) { + start--; + } + // find last word + end = pivot; + while (end < len-1 && !strncmp(wordStart, words[end+1], searchLen)) { + end++; + } + // Finds first word in a series of equal words - int first = pivot; - end = pivot - 1; - while (start <= end) { - pivot = (start + end) >> 1; + pivot = start; + while (pivot <= end) { word = words[pivot]; - cond = strncmp(wordStart, word, searchLen); - if (!cond && (!wordCharacters.contains(word[searchLen]))) { - // Found another word - first = pivot; - end = pivot - 1; + if (!wordCharacters.contains(word[searchLen])) { + if (wordIndex <= 0) // Checks if a specific index was requested + return word; // result must not be freed with free() + wordIndex--; } - else if (cond > 0) - start = pivot + 1; - else if (cond <= 0) - break; + pivot++; } - - // Gets the word at the requested index - word = words[first + wordIndex]; - return word; + return NULL; } else if (cond > 0) start = pivot + 1; - else if (cond <= 0) + else if (cond < 0) end = pivot - 1; } } @@ -913,15 +970,13 @@ const char *WordList::GetNearestWord(const char *wordStart, int searchLen /*= -1 /** * Find the length of a 'word' which is actually an identifier in a string - * which looks like "identifier(..." or "identifier:" or "identifier" and where + * which looks like "identifier(..." or "identifier" and where * there may be extra spaces after the identifier that should not be * counted in the length. */ static unsigned int LengthWord(const char *word, char otherSeparator) { - // Find a '(', or ':'. If that fails go to the end of the string. + // Find a '('. If that fails go to the end of the string. const char *endWord = strchr(word, '('); - if (!endWord) - endWord = strchr(word, ':'); if (!endWord && otherSeparator) endWord = strchr(word, otherSeparator); if (!endWord) @@ -930,7 +985,7 @@ static unsigned int LengthWord(const char *word, char otherSeparator) { // Drop any space characters. if (endWord > word) { - endWord--; // Back from the '(', ':', or '\0' + endWord--; // Back from the '(', otherSeparator, or '\0' // Move backwards over any spaces while ((endWord > word) && (IsASpace(*endWord))) { endWord--; @@ -951,7 +1006,7 @@ static unsigned int LengthWord(const char *word, char otherSeparator) { */ char *WordList::GetNearestWords( const char *wordStart, - int searchLen /*= -1*/, + int searchLen, bool ignoreCase /*= false*/, char otherSeparator /*= '\0'*/, bool exactLen /*=false*/) { @@ -985,10 +1040,10 @@ char *WordList::GetNearestWords( (0 == CompareNCaseInsensitive(wordStart, wordsNoCase[pivot], searchLen))) { wordlen = LengthWord(wordsNoCase[pivot], otherSeparator) + 1; - if (exactLen && wordlen != LengthWord(wordStart, otherSeparator) + 1) - break; - wordsNear.append(wordsNoCase[pivot], wordlen, ' '); ++pivot; + if (exactLen && wordlen != LengthWord(wordStart, otherSeparator) + 1) + continue; + wordsNear.append(wordsNoCase[pivot-1], wordlen, ' '); } return wordsNear.detach(); } else if (cond < 0) { @@ -1013,10 +1068,10 @@ char *WordList::GetNearestWords( (0 == strncmp(wordStart, words[pivot], searchLen))) { wordlen = LengthWord(words[pivot], otherSeparator) + 1; - if (exactLen && wordlen != LengthWord(wordStart, otherSeparator) + 1) - break; - wordsNear.append(words[pivot], wordlen, ' '); ++pivot; + if (exactLen && wordlen != LengthWord(wordStart, otherSeparator) + 1) + continue; + wordsNear.append(words[pivot-1], wordlen, ' '); } return wordsNear.detach(); } else if (cond < 0) { diff --git a/src/stc/scintilla/src/ScintillaBase.cxx b/src/stc/scintilla/src/ScintillaBase.cxx index cc02674b35..1d3867b7fe 100644 --- a/src/stc/scintilla/src/ScintillaBase.cxx +++ b/src/stc/scintilla/src/ScintillaBase.cxx @@ -280,9 +280,9 @@ void ScintillaBase::AutoCompleteMoveToCurrentWord() { char wordCurrent[1000]; int i; int startWord = ac.posStart - ac.startLen; - for (i = startWord; i < currentPos; i++) + for (i = startWord; i < currentPos && i - startWord < 1000; i++) wordCurrent[i - startWord] = pdoc->CharAt(i); - wordCurrent[i - startWord] = '\0'; + wordCurrent[Platform::Minimum(i - startWord, 999)] = '\0'; ac.Select(wordCurrent); } @@ -357,11 +357,12 @@ void ScintillaBase::CallTipShow(Point pt, const char *defn) { AutoCompleteCancel(); pt.y += vs.lineHeight; PRectangle rc = ct.CallTipStart(currentPos, pt, - defn, - vs.styles[STYLE_DEFAULT].fontName, - vs.styles[STYLE_DEFAULT].sizeZoomed, - IsUnicodeMode(), - wMain); + defn, + vs.styles[STYLE_DEFAULT].fontName, + vs.styles[STYLE_DEFAULT].sizeZoomed, + CodePage(), + vs.styles[STYLE_DEFAULT].characterSet, + wMain); // If the call-tip window would be out of the client // space, adjust so it displays above the text. PRectangle rcClient = GetClientRectangle(); diff --git a/src/stc/scintilla/src/UniConversion.cxx b/src/stc/scintilla/src/UniConversion.cxx index 15cad63829..363db90f45 100644 --- a/src/stc/scintilla/src/UniConversion.cxx +++ b/src/stc/scintilla/src/UniConversion.cxx @@ -16,7 +16,7 @@ unsigned int UTF8Length(const wchar_t *uptr, unsigned int tlen) { if (uch < 0x80) len++; else if (uch < 0x800) - len+=2; + len += 2; else len +=3; } diff --git a/src/stc/stc.cpp b/src/stc/stc.cpp index b3b3cd2765..f534906177 100644 --- a/src/stc/stc.cpp +++ b/src/stc/stc.cpp @@ -2408,6 +2408,12 @@ void wxStyledTextCtrl::Allocate(int bytes) { SendMsg(2446, bytes, 0); } +// Find the position of a column on a line taking into account tabs and +// multi-byte characters. If beyond end of line, return line end position. +int wxStyledTextCtrl::FindColumn(int line, int column) { + return SendMsg(2456, line, column); +} + // Start notifying the container of all key presses and commands. void wxStyledTextCtrl::StartRecord() { SendMsg(3001, 0, 0); -- 2.45.2