# =========================================================================
# 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!
# =========================================================================
### 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) \
$(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 \
$(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 \
$(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)\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 \
$(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 \
$(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 \
!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
!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)
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
$(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
$(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) $**
$(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) $**
$(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
$(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
$(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) $**
$(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) $**
$(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
$(OBJS)\stclib_XPM.obj: ../../src/stc\scintilla\src\XPM.cxx
$(CXX) -q -c -P -o$@ $(STCLIB_CXXFLAGS) $**
+
# =========================================================================
# 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!
# =========================================================================
### 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 \
$(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 \
$(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 \
$(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 \
$(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 \
$(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 \
$(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 \
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
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)
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)
$(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
$(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) $<
$(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) $<
$(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
$(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
$(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) $<
$(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) $<
$(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
$(CXX) -c -o $@ $(STCLIB_CXXFLAGS) $<
.PHONY: all clean
+
# =========================================================================
# 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!
# =========================================================================
### 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 \
$(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 \
$(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 \
$(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)\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 \
$(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 \
$(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 \
!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
!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)
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
$(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
$(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) $**
$(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) $**
$(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
$(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
$(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) $**
$(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) $**
$(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
$(OBJS)\stclib_XPM.obj: ../../src/stc\scintilla\src\XPM.cxx
$(CXX) /c /nologo /TP /Fo$@ $(STCLIB_CXXFLAGS) $**
+
# =========================================================================
# 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!
# =========================================================================
!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 =
__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
!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 &
$(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 &
$(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 &
$(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 &
$(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 &
$(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 &
$(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 &
-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
$(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
$(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) $<
$(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) $<
$(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
$(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
$(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) $<
$(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) $<
$(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
$(OBJS)\stclib_XPM.obj : .AUTODEPEND ../../src/stc\scintilla\src\XPM.cxx
$(CXX) -zq -fo=$^@ $(STCLIB_CXXFLAGS) $<
+
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
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
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
# 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"
# 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"
# 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"
# 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"
# 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"
# 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"
# 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"
# 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"
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
#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.
#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
#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
#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
#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
#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
// 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();
# =========================================================================
# 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!
# =========================================================================
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 \
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 \
stcdll_LexAVE.o \
stcdll_LexAda.o \
stcdll_LexAsm.o \
+ stcdll_LexAsn1.o \
stcdll_LexBaan.o \
stcdll_LexBash.o \
stcdll_LexBullant.o \
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 \
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 \
stclib_LexAVE.o \
stclib_LexAda.o \
stclib_LexAsm.o \
+ stclib_LexAsn1.o \
stclib_LexBaan.o \
stclib_LexBash.o \
stclib_LexBullant.o \
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 \
-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)
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)
@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:
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.
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,
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
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
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);
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);
};
#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
#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
#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
#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
#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
#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
# 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(,)
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.
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
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
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
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
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)
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;
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;
/// 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();
}
}
-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) {
}
}
-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;
//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
void CellBuffer::DeleteMark(int line, int markerNum) {
if ((line >= 0) && (line < lv.lines)) {
- lv.DeleteMark(line, markerNum);
+ lv.DeleteMark(line, markerNum, false);
}
}
void CellBuffer::DeleteAllMarks(int markerNum) {
for (int line = 0; line < lv.lines; line++) {
- lv.DeleteMark(line, markerNum);
+ lv.DeleteMark(line, markerNum, true);
}
}
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);
};
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);
};
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);
}
}
+// 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();
}
* 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)));
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(); }
topLine = 0;
posTopLine = 0;
+ lengthForEncode = 0;
+
needUpdateUI = true;
braces[0] = invalidPosition;
braces[1] = invalidPosition;
void Editor::SetTopLine(int topLineNew) {
topLine = topLineNew;
- posTopLine = pdoc->LineStart(topLine);
+ posTopLine = pdoc->LineStart(cs.DocFromDisplay(topLine));
}
static inline bool IsEOLChar(char ch) {
Redraw();
}
}
+ UpdateSystemCaret();
}
void Editor::ShowCaretAtCurrentPosition() {
InvalidateRange(posDrag, posDrag + 1);
else
InvalidateRange(currentPos, currentPos + 1);
+ UpdateSystemCaret();
+}
+
+void Editor::UpdateSystemCaret() {
}
void Editor::NeedWrapping(int docLineStartWrapping, int docLineEndWrapping) {
// 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) {
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;
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];
currentPos = 0;
SetTopLine(0);
SetVerticalScrollPos();
- InvalidateStyleRedraw();
}
void Editor::ClearDocumentStyle() {
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();
}
//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
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;
SetSelection(currentPos, anchor); // Ensure selection inside document
return 0;
+ case SCI_SETLENGTHFORENCODE:
+ lengthForEncode = wParam;
+ return 0;
+
case SCI_SELECTIONISRECTANGLE:
return selType == selRectangle ? 1 : 0;
/**
* 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:
int searchFlags;
int topLine;
int posTopLine;
+ int lengthForEncode;
bool needUpdateUI;
Position braces[2];
void ShowCaretAtCurrentPosition();
void DropCaret();
void InvalidateCaret();
+ virtual void UpdateSystemCaret();
void NeedWrapping(int docLineStartWrapping = 0, int docLineEndWrapping = 0x7ffffff);
bool WrapLines(bool fullWrap, int priorityWrapLineStart);
LINK_LEXER(lmAda);
LINK_LEXER(lmAPDL);
LINK_LEXER(lmAsm);
+ LINK_LEXER(lmAsn1);
LINK_LEXER(lmAU3);
LINK_LEXER(lmAVE);
LINK_LEXER(lmBaan);
LINK_LEXER(lmVB);
LINK_LEXER(lmVBScript);
LINK_LEXER(lmVerilog);
+ LINK_LEXER(lmVHDL);
LINK_LEXER(lmYAML);
//--Autogenerated -- end of automatically generated section
+// 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 <neilh@scintilla.org>
+// The License.txt file describes the conditions under which this software may be distributed.
#include <stdlib.h>
#include <string.h>
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<char>(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<char>(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<char>(sc.ch))) {
+ sc.SetState(SCE_APDL_OPERATOR);
+ }
+ }
+ }
+ sc.Complete();
}
static const char * const apdlWordListDesc[] = {
- "Commands",
- "Processors",
- "Functions",
+ "processors",
+ "commands",
+ "slashommands",
+ "starcommands",
+ "arguments",
+ "functions",
0
};
// 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 <xyz.au3> 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 <neilh@scintilla.org>
// The License.txt file describes the conditions under which this software may be distributed.
// Scintilla source code edit control
#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)
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;
}
// 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;
}
{
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,
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);
{
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);}
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);
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);
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<char>(sc.ch))) {sc.SetState(SCE_AU3_OPERATOR);}
else if (IsAWordStart(sc.ch)) {sc.SetState(SCE_AU3_KEYWORD);}
+ else if (IsAOperator(static_cast<char>(sc.ch))) {sc.SetState(SCE_AU3_OPERATOR);}
else if (sc.atLineEnd) {sc.SetState(SCE_AU3_DEFAULT);}
}
} //for (; sc.More(); sc.Forward())
}
//
+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) {
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<char>(tolower(ch));
+ }
+ }
+ }
+ // start the capture of the first word
+ if (!(FirstWordStart)) {
+ if (IsAWordChar(ch) || IsAWordStart(ch) || ch == ';') {
+ FirstWordStart = true;
+ szKeyword[szKeywordlen++] = static_cast<char>(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<char>(tolower(ch));
+ if (strcmp(szThen,"then") == 0 ) {
+ ThenFoundLast = true;
+ }
+ }
+ else {
+ szThen[szThenlen++] = static_cast<char>(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++;
}
}
-
}
"#autoit macros",
"#autoit Sent keys",
"#autoit Pre-processors",
+ "#autoit Special",
0
};
LexerModule lmAU3(SCLEX_AU3, ColouriseAU3Doc, "au3", FoldAU3Doc , AU3WordLists);
ColouriseLabel(sc, keywords, apostropheStartsAttribute);
// Whitespace
- } else if (isspace(sc.ch)) {
+ } else if (IsASpace(sc.ch)) {
ColouriseWhiteSpace(sc, apostropheStartsAttribute);
// Delimiters
ColouriseDelimiter(sc, apostropheStartsAttribute);
// Numbers
- } else if (isdigit(sc.ch) || sc.ch == '#') {
+ } else if (IsADigit(sc.ch) || sc.ch == '#') {
ColouriseNumber(sc, apostropheStartsAttribute);
// Keywords or identifiers
}
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) {
}
canBeSpecial = false;
seenDot = true;
- } else if (isdigit(number[i])) {
+ } else if (IsADigit(number[i])) {
canBeSpecial = true;
} else {
break;
if (!canBeSpecial)
return false;
canBeSpecial = false;
- } else if (isdigit (ch)) {
+ } else if (IsADigit(ch)) {
base = base * 10 + (ch - '0');
if (base > 16)
return false;
canBeSpecial = false;
seenDot = true;
- } else if (isdigit (ch)) {
+ } else if (IsADigit(ch)) {
if (ch - '0' >= base) {
return false;
}
return false;
}
canBeSpecial = false;
- } else if (isdigit(number[i])) {
+ } else if (IsADigit(number[i])) {
canBeSpecial = true;
} else {
return false;
}
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 == '_';
}
--- /dev/null
+// Scintilla source code edit control
+/** @file LexAsn1.cxx
+ ** Lexer for ASN.1
+ **/
+// Copyright 2004 by Herr Pfarrer rpfarrer <at> yahoo <dot> de
+// Last Updated: 20/07/2004
+// The License.txt file describes the conditions under which this software may be distributed.
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <stdio.h>
+#include <stdarg.h>
+
+#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);
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);
}
}
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;
}
}
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);
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<char>(sc.ch))) {
// 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 <neilh@scintilla.org>
// The License.txt file describes the conditions under which this software may be distributed.
#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);
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) {
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 '.':
}
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
)) {
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))
}
static const char * const cssWordListDesc[] = {
- "Keywords",
+ "CSS1 Keywords",
"Pseudo classes",
+ "CSS2 Keywords",
0
};
// 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 {
(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);
}
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;
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;
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);
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;
}
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)) {
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);
}
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)) {
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;
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);
}
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(
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 <filename>:<line>:message
// Look for Microsoft <filename>(line) :message
// 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 <neilh@scintilla.org>
// The License.txt file describes the conditions under which this software may be distributed.
char chNext = styler[startPos];
bool fNewLine=true;
+ bool fMightBeMultiLineMacro=false;
+ bool fBeginOfCommentFound=false;
for (unsigned int i = startPos; i < endPos; i++)
{
char ch = chNext;
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;
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:
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;
} 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);
--- /dev/null
+// 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 <neilh@scintilla.org>
+// The License.txt file describes the conditions under which this software may be distributed.
+
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <stdio.h>
+#include <stdarg.h>
+
+#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<char>(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<end-j+1 ); k++) {
+ s[k] = static_cast<char>(tolower(styler[j+k]));
+ }
+ s[k] = '\0';
+
+ if(keywords.InList(s)) {
+ strcpy(prevWord, s);
+ break;
+ }
+ }
+ }
+ }
+ for(j=j+strlen(prevWord); j<endPos; j++)
+ {
+ char ch = styler.SafeGetCharAt(j);
+ int style = styler.StyleAt(j);
+ if ((style != SCE_VHDL_COMMENT) && (style != SCE_VHDL_STRING))
+ {
+ if((ch == ';') && (strcmp(prevWord, "end") == 0))
+ {
+ strcpy(prevWord, ";");
+ }
+ }
+ }
+
+ char chNext = styler[startPos];
+ char chPrev = '\0';
+ char chNextNonBlank;
+ int styleNext = styler.StyleAt(startPos);
+ int style = initStyle;
+ //Platform::DebugPrintf("Line[%04d] Prev[%20s] ************************* Level[%x]\n", lineCurrent+1, prevWord, levelCurrent);
+
+ /***************************************/
+ for (unsigned int i = startPos; i < endPos; i++)
+ {
+ char ch = chNext;
+ chNext = styler.SafeGetCharAt(i + 1);
+ chPrev = styler.SafeGetCharAt(i - 1);
+ chNextNonBlank = chNext;
+ unsigned int j = i+1;
+ while(IsABlank(chNextNonBlank) && j<endPos)
+ {
+ j ++ ;
+ chNextNonBlank = styler.SafeGetCharAt(j);
+ }
+ style = styleNext;
+ styleNext = styler.StyleAt(i + 1);
+ bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n');
+
+ if (foldComment && atEOL && IsCommentLine(lineCurrent, styler))
+ {
+ if(!IsCommentLine(lineCurrent-1, styler) && IsCommentLine(lineCurrent+1, styler))
+ {
+ levelNext++;
+ }
+ else if(IsCommentLine(lineCurrent-1, styler) && !IsCommentLine(lineCurrent+1, styler))
+ {
+ levelNext--;
+ }
+ }
+
+ if ((style == SCE_VHDL_OPERATOR) && foldAtParenthese)
+ {
+ if(ch == '(') {
+ levelNext++;
+ } else if (ch == ')') {
+ levelNext--;
+ }
+ }
+
+ if ((style != SCE_VHDL_COMMENT) && (style != SCE_VHDL_STRING))
+ {
+ if((ch == ';') && (strcmp(prevWord, "end") == 0))
+ {
+ strcpy(prevWord, ";");
+ }
+
+ if(!IsAWordChar(chPrev) && IsAWordStart(ch))
+ {
+ lastStart = i;
+ }
+
+ if(iswordchar(ch) && !iswordchar(chNext)) {
+ char s[32];
+ unsigned int k;
+ for(k=0; (k<31 ) && (k<i-lastStart+1 ); k++) {
+ s[k] = static_cast<char>(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<styler.Length(); j++)
+ {
+ int LocalStyle = styler.StyleAt(j);
+ char LocalCh = styler.SafeGetCharAt(j);
+ if(LocalCh == '(') BracketLevel++;
+ if(LocalCh == ')') BracketLevel--;
+ if(
+ (BracketLevel == 0) &&
+ (LocalStyle != SCE_VHDL_COMMENT) &&
+ (LocalStyle != SCE_VHDL_STRING) &&
+ !iswordchar(styler.SafeGetCharAt(j-1)) &&
+ styler.Match(j, "is") &&
+ !iswordchar(styler.SafeGetCharAt(j+2)))
+ {
+ if (levelMinCurrentElse > 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
+//
+
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;
}
}
}
+void PropSet::Unset(const char *key, int lenKey) {
+ if (!*key) // Empty keys are not supported
+ return;
+ if (lenKey == -1)
+ lenKey = static_cast<int>(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<unsigned int>(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) {
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) {
}
}
+
+
// 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) {
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);
* 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
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
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;
}
}
/**
* 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)
// 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--;
*/
char *WordList::GetNearestWords(
const char *wordStart,
- int searchLen /*= -1*/,
+ int searchLen,
bool ignoreCase /*= false*/,
char otherSeparator /*= '\0'*/,
bool exactLen /*=false*/) {
(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) {
(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) {
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);
}
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();
if (uch < 0x80)
len++;
else if (uch < 0x800)
- len+=2;
+ len += 2;
else
len +=3;
}
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);
#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.
#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
#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
#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
#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
#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
// 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();
# =========================================================================
# 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!
# =========================================================================
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 \
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 \
stcdll_LexAVE.o \
stcdll_LexAda.o \
stcdll_LexAsm.o \
+ stcdll_LexAsn1.o \
stcdll_LexBaan.o \
stcdll_LexBash.o \
stcdll_LexBullant.o \
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 \
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 \
stclib_LexAVE.o \
stclib_LexAda.o \
stclib_LexAsm.o \
+ stclib_LexAsn1.o \
stclib_LexBaan.o \
stclib_LexBash.o \
stclib_LexBullant.o \
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 \
-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)
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)
@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:
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.
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,
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
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
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);
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);
};
#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
#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
#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
#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
#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
#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
# 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(,)
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.
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
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
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
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
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)
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;
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;
/// 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();
}
}
-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) {
}
}
-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;
//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
void CellBuffer::DeleteMark(int line, int markerNum) {
if ((line >= 0) && (line < lv.lines)) {
- lv.DeleteMark(line, markerNum);
+ lv.DeleteMark(line, markerNum, false);
}
}
void CellBuffer::DeleteAllMarks(int markerNum) {
for (int line = 0; line < lv.lines; line++) {
- lv.DeleteMark(line, markerNum);
+ lv.DeleteMark(line, markerNum, true);
}
}
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);
};
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);
};
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);
}
}
+// 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();
}
* 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)));
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(); }
topLine = 0;
posTopLine = 0;
+ lengthForEncode = 0;
+
needUpdateUI = true;
braces[0] = invalidPosition;
braces[1] = invalidPosition;
void Editor::SetTopLine(int topLineNew) {
topLine = topLineNew;
- posTopLine = pdoc->LineStart(topLine);
+ posTopLine = pdoc->LineStart(cs.DocFromDisplay(topLine));
}
static inline bool IsEOLChar(char ch) {
Redraw();
}
}
+ UpdateSystemCaret();
}
void Editor::ShowCaretAtCurrentPosition() {
InvalidateRange(posDrag, posDrag + 1);
else
InvalidateRange(currentPos, currentPos + 1);
+ UpdateSystemCaret();
+}
+
+void Editor::UpdateSystemCaret() {
}
void Editor::NeedWrapping(int docLineStartWrapping, int docLineEndWrapping) {
// 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) {
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;
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];
currentPos = 0;
SetTopLine(0);
SetVerticalScrollPos();
- InvalidateStyleRedraw();
}
void Editor::ClearDocumentStyle() {
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();
}
//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
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;
SetSelection(currentPos, anchor); // Ensure selection inside document
return 0;
+ case SCI_SETLENGTHFORENCODE:
+ lengthForEncode = wParam;
+ return 0;
+
case SCI_SELECTIONISRECTANGLE:
return selType == selRectangle ? 1 : 0;
/**
* 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:
int searchFlags;
int topLine;
int posTopLine;
+ int lengthForEncode;
bool needUpdateUI;
Position braces[2];
void ShowCaretAtCurrentPosition();
void DropCaret();
void InvalidateCaret();
+ virtual void UpdateSystemCaret();
void NeedWrapping(int docLineStartWrapping = 0, int docLineEndWrapping = 0x7ffffff);
bool WrapLines(bool fullWrap, int priorityWrapLineStart);
LINK_LEXER(lmAda);
LINK_LEXER(lmAPDL);
LINK_LEXER(lmAsm);
+ LINK_LEXER(lmAsn1);
LINK_LEXER(lmAU3);
LINK_LEXER(lmAVE);
LINK_LEXER(lmBaan);
LINK_LEXER(lmVB);
LINK_LEXER(lmVBScript);
LINK_LEXER(lmVerilog);
+ LINK_LEXER(lmVHDL);
LINK_LEXER(lmYAML);
//--Autogenerated -- end of automatically generated section
+// 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 <neilh@scintilla.org>
+// The License.txt file describes the conditions under which this software may be distributed.
#include <stdlib.h>
#include <string.h>
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<char>(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<char>(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<char>(sc.ch))) {
+ sc.SetState(SCE_APDL_OPERATOR);
+ }
+ }
+ }
+ sc.Complete();
}
static const char * const apdlWordListDesc[] = {
- "Commands",
- "Processors",
- "Functions",
+ "processors",
+ "commands",
+ "slashommands",
+ "starcommands",
+ "arguments",
+ "functions",
0
};
// 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 <xyz.au3> 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 <neilh@scintilla.org>
// The License.txt file describes the conditions under which this software may be distributed.
// Scintilla source code edit control
#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)
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;
}
// 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;
}
{
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,
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);
{
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);}
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);
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);
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<char>(sc.ch))) {sc.SetState(SCE_AU3_OPERATOR);}
else if (IsAWordStart(sc.ch)) {sc.SetState(SCE_AU3_KEYWORD);}
+ else if (IsAOperator(static_cast<char>(sc.ch))) {sc.SetState(SCE_AU3_OPERATOR);}
else if (sc.atLineEnd) {sc.SetState(SCE_AU3_DEFAULT);}
}
} //for (; sc.More(); sc.Forward())
}
//
+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) {
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<char>(tolower(ch));
+ }
+ }
+ }
+ // start the capture of the first word
+ if (!(FirstWordStart)) {
+ if (IsAWordChar(ch) || IsAWordStart(ch) || ch == ';') {
+ FirstWordStart = true;
+ szKeyword[szKeywordlen++] = static_cast<char>(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<char>(tolower(ch));
+ if (strcmp(szThen,"then") == 0 ) {
+ ThenFoundLast = true;
+ }
+ }
+ else {
+ szThen[szThenlen++] = static_cast<char>(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++;
}
}
-
}
"#autoit macros",
"#autoit Sent keys",
"#autoit Pre-processors",
+ "#autoit Special",
0
};
LexerModule lmAU3(SCLEX_AU3, ColouriseAU3Doc, "au3", FoldAU3Doc , AU3WordLists);
ColouriseLabel(sc, keywords, apostropheStartsAttribute);
// Whitespace
- } else if (isspace(sc.ch)) {
+ } else if (IsASpace(sc.ch)) {
ColouriseWhiteSpace(sc, apostropheStartsAttribute);
// Delimiters
ColouriseDelimiter(sc, apostropheStartsAttribute);
// Numbers
- } else if (isdigit(sc.ch) || sc.ch == '#') {
+ } else if (IsADigit(sc.ch) || sc.ch == '#') {
ColouriseNumber(sc, apostropheStartsAttribute);
// Keywords or identifiers
}
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) {
}
canBeSpecial = false;
seenDot = true;
- } else if (isdigit(number[i])) {
+ } else if (IsADigit(number[i])) {
canBeSpecial = true;
} else {
break;
if (!canBeSpecial)
return false;
canBeSpecial = false;
- } else if (isdigit (ch)) {
+ } else if (IsADigit(ch)) {
base = base * 10 + (ch - '0');
if (base > 16)
return false;
canBeSpecial = false;
seenDot = true;
- } else if (isdigit (ch)) {
+ } else if (IsADigit(ch)) {
if (ch - '0' >= base) {
return false;
}
return false;
}
canBeSpecial = false;
- } else if (isdigit(number[i])) {
+ } else if (IsADigit(number[i])) {
canBeSpecial = true;
} else {
return false;
}
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 == '_';
}
--- /dev/null
+// Scintilla source code edit control
+/** @file LexAsn1.cxx
+ ** Lexer for ASN.1
+ **/
+// Copyright 2004 by Herr Pfarrer rpfarrer <at> yahoo <dot> de
+// Last Updated: 20/07/2004
+// The License.txt file describes the conditions under which this software may be distributed.
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <stdio.h>
+#include <stdarg.h>
+
+#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);
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);
}
}
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;
}
}
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);
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<char>(sc.ch))) {
// 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 <neilh@scintilla.org>
// The License.txt file describes the conditions under which this software may be distributed.
#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);
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) {
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 '.':
}
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
)) {
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))
}
static const char * const cssWordListDesc[] = {
- "Keywords",
+ "CSS1 Keywords",
"Pseudo classes",
+ "CSS2 Keywords",
0
};
// 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 {
(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);
}
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;
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;
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);
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;
}
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)) {
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);
}
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)) {
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;
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);
}
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(
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 <filename>:<line>:message
// Look for Microsoft <filename>(line) :message
// 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 <neilh@scintilla.org>
// The License.txt file describes the conditions under which this software may be distributed.
char chNext = styler[startPos];
bool fNewLine=true;
+ bool fMightBeMultiLineMacro=false;
+ bool fBeginOfCommentFound=false;
for (unsigned int i = startPos; i < endPos; i++)
{
char ch = chNext;
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;
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:
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;
} 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);
--- /dev/null
+// 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 <neilh@scintilla.org>
+// The License.txt file describes the conditions under which this software may be distributed.
+
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <stdio.h>
+#include <stdarg.h>
+
+#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<char>(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<end-j+1 ); k++) {
+ s[k] = static_cast<char>(tolower(styler[j+k]));
+ }
+ s[k] = '\0';
+
+ if(keywords.InList(s)) {
+ strcpy(prevWord, s);
+ break;
+ }
+ }
+ }
+ }
+ for(j=j+strlen(prevWord); j<endPos; j++)
+ {
+ char ch = styler.SafeGetCharAt(j);
+ int style = styler.StyleAt(j);
+ if ((style != SCE_VHDL_COMMENT) && (style != SCE_VHDL_STRING))
+ {
+ if((ch == ';') && (strcmp(prevWord, "end") == 0))
+ {
+ strcpy(prevWord, ";");
+ }
+ }
+ }
+
+ char chNext = styler[startPos];
+ char chPrev = '\0';
+ char chNextNonBlank;
+ int styleNext = styler.StyleAt(startPos);
+ int style = initStyle;
+ //Platform::DebugPrintf("Line[%04d] Prev[%20s] ************************* Level[%x]\n", lineCurrent+1, prevWord, levelCurrent);
+
+ /***************************************/
+ for (unsigned int i = startPos; i < endPos; i++)
+ {
+ char ch = chNext;
+ chNext = styler.SafeGetCharAt(i + 1);
+ chPrev = styler.SafeGetCharAt(i - 1);
+ chNextNonBlank = chNext;
+ unsigned int j = i+1;
+ while(IsABlank(chNextNonBlank) && j<endPos)
+ {
+ j ++ ;
+ chNextNonBlank = styler.SafeGetCharAt(j);
+ }
+ style = styleNext;
+ styleNext = styler.StyleAt(i + 1);
+ bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n');
+
+ if (foldComment && atEOL && IsCommentLine(lineCurrent, styler))
+ {
+ if(!IsCommentLine(lineCurrent-1, styler) && IsCommentLine(lineCurrent+1, styler))
+ {
+ levelNext++;
+ }
+ else if(IsCommentLine(lineCurrent-1, styler) && !IsCommentLine(lineCurrent+1, styler))
+ {
+ levelNext--;
+ }
+ }
+
+ if ((style == SCE_VHDL_OPERATOR) && foldAtParenthese)
+ {
+ if(ch == '(') {
+ levelNext++;
+ } else if (ch == ')') {
+ levelNext--;
+ }
+ }
+
+ if ((style != SCE_VHDL_COMMENT) && (style != SCE_VHDL_STRING))
+ {
+ if((ch == ';') && (strcmp(prevWord, "end") == 0))
+ {
+ strcpy(prevWord, ";");
+ }
+
+ if(!IsAWordChar(chPrev) && IsAWordStart(ch))
+ {
+ lastStart = i;
+ }
+
+ if(iswordchar(ch) && !iswordchar(chNext)) {
+ char s[32];
+ unsigned int k;
+ for(k=0; (k<31 ) && (k<i-lastStart+1 ); k++) {
+ s[k] = static_cast<char>(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<styler.Length(); j++)
+ {
+ int LocalStyle = styler.StyleAt(j);
+ char LocalCh = styler.SafeGetCharAt(j);
+ if(LocalCh == '(') BracketLevel++;
+ if(LocalCh == ')') BracketLevel--;
+ if(
+ (BracketLevel == 0) &&
+ (LocalStyle != SCE_VHDL_COMMENT) &&
+ (LocalStyle != SCE_VHDL_STRING) &&
+ !iswordchar(styler.SafeGetCharAt(j-1)) &&
+ styler.Match(j, "is") &&
+ !iswordchar(styler.SafeGetCharAt(j+2)))
+ {
+ if (levelMinCurrentElse > 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
+//
+
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;
}
}
}
+void PropSet::Unset(const char *key, int lenKey) {
+ if (!*key) // Empty keys are not supported
+ return;
+ if (lenKey == -1)
+ lenKey = static_cast<int>(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<unsigned int>(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) {
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) {
}
}
+
+
// 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) {
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);
* 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
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
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;
}
}
/**
* 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)
// 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--;
*/
char *WordList::GetNearestWords(
const char *wordStart,
- int searchLen /*= -1*/,
+ int searchLen,
bool ignoreCase /*= false*/,
char otherSeparator /*= '\0'*/,
bool exactLen /*=false*/) {
(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) {
(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) {
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);
}
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();
if (uch < 0x80)
len++;
else if (uch < 0x800)
- len+=2;
+ len += 2;
else
len +=3;
}
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);