|
|
|
# Make file for Scintilla on Windows Visual C++ version
|
|
|
|
# Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org>
|
|
|
|
# The License.txt file describes the conditions under which this software may be distributed.
|
|
|
|
# This makefile is for using Visual C++ with nmake.
|
|
|
|
# Usage for Microsoft:
|
|
|
|
# nmake -f scintilla.mak
|
|
|
|
# For debug versions define DEBUG on the command line:
|
|
|
|
# nmake DEBUG=1 -f scintilla.mak
|
|
|
|
# The main makefile uses mingw32 gcc and may be more current than this file.
|
|
|
|
|
|
|
|
.SUFFIXES: .cxx
|
|
|
|
|
|
|
|
DIR_O=.
|
|
|
|
DIR_BIN=..\bin
|
|
|
|
|
|
|
|
COMPONENT=$(DIR_BIN)\Scintilla.dll
|
|
|
|
LIBSCI=$(DIR_BIN)\libscintilla.lib
|
|
|
|
|
|
|
|
LD=link
|
|
|
|
|
|
|
|
!IFDEF SUPPORT_XP
|
|
|
|
ADD_DEFINE=-D_USING_V110_SDK71_
|
|
|
|
# Different subsystems for 32-bit and 64-bit Windows XP so detect based on Platform
|
|
|
|
# environment variable set by vcvars*.bat to be either x86 or x64
|
|
|
|
!IF "$(PLATFORM)" == "x64"
|
|
|
|
SUBSYSTEM=-SUBSYSTEM:WINDOWS,5.02
|
|
|
|
!ELSE
|
|
|
|
SUBSYSTEM=-SUBSYSTEM:WINDOWS,5.01
|
|
|
|
!ENDIF
|
|
|
|
!ELSE
|
|
|
|
CETCOMPAT=-CETCOMPAT
|
|
|
|
!IFDEF ARM64
|
|
|
|
ADD_DEFINE=-D_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1
|
|
|
|
SUBSYSTEM=-SUBSYSTEM:WINDOWS,10.00
|
|
|
|
!ENDIF
|
|
|
|
!ENDIF
|
|
|
|
|
Update scintilla 5.3.4 and lexilla 5.2.4 with:
https://www.scintilla.org/scintilla534.zip
Released 8 March 2023.
Add multithreaded wrap to significantly improve performance of wrapping large files.
More typesafe bindings of *Full APIs in ScintillaCall. Feature #1477.
Fix overlapping of text with line end wrap marker. Bug #2378.
Fix clipping of line end wrap symbol for SC_WRAPVISUALFLAGLOC_END_BY_TEXT.
Where a multi-byte character contains multiple styles, display each byte as a representation. This makes it easier to see and fix lexers that change styles mid-character, commonly because they use fixed size buffers.
Fix a potential crash with autocompletion list fill-ups where a SCN_CHARADDED handler retriggered an autocompletion list, but with no items that match the typed character.
lexilla523
Released 8 March 2023.
Add scripts/PromoteNew.bat script to promote .new files after checking.
Makefile: Remove 1024-byte line length limit..
Ruby: Add new lexical classes for % literals SCE_RB_STRING_W (%w non-interpolable string array), SCE_RB_STRING_I (%i non-interpolable symbol array), SCE_RB_STRING_QI (%I interpolable symbol array), and SCE_RB_STRING_QS (%s symbol). Issue #124.
Ruby: Disambiguate %= which may be a quote or modulo assignment. Issue #124, Bug #1255, Bug #2182.
Ruby: Fix additional fold level for single character in SCE_RB_STRING_QW. Issue #132.
Ruby: Set SCE_RB_HERE_QQ for unquoted and double-quoted heredocs and SCE_RB_HERE_QX for backticks-quoted heredocs. Issue #134.
Ruby: Recognise #{} inside SCE_RB_HERE_QQ and SCE_RB_HERE_QX. Issue #134.
Ruby: Improve regex and heredoc recognition. Issue #136.
Ruby: Highlight #@, #@@ and #$ style interpolation. Issue #140.
Ruby: Fix folding for multiple heredocs started on one line. Fix folding when there is a space after heredoc opening delimiter. Issue #135.
YAML: Remove 1024-byte line length limit.
https://www.scintilla.org/lexilla524.zip
Released 13 March 2023.
C++: Fix failure to recognize keywords containing upper case. Issue #149.
GDScript: Support % and $ node paths. Issue #145, Pull request #146.
Close #13338
2 years ago
|
|
|
CRTFLAGS=-D_CRT_SECURE_NO_DEPRECATE=1 $(ADD_DEFINE)
|
|
|
|
CXXFLAGS=-Zi -TP -MP -W4 -EHsc -std:c++17 -utf-8 $(CRTFLAGS)
|
|
|
|
CXXDEBUG=-Od -MTd -DDEBUG
|
|
|
|
CXXNDEBUG=-O2 -MT -DNDEBUG -GL
|
|
|
|
NAME=-Fo
|
|
|
|
LDFLAGS=-OPT:REF -LTCG -IGNORE:4197 -DEBUG $(SUBSYSTEM) $(CETCOMPAT)
|
|
|
|
LDDEBUG=
|
Update to scintilla 5.5.0 & Lexilla 5.3.2
Sintilla Release 5.5.0 (https://www.scintilla.org/scintilla550.zip)
Released 23 April 2024.
Add elements for inactive additional selections SC_ELEMENT_SELECTION_INACTIVE_ADDITIONAL_TEXT and SC_ELEMENT_SELECTION_INACTIVE_ADDITIONAL_BACK. When not set these default to SC_ELEMENT_SELECTION_INACTIVE_TEXT and SC_ELEMENT_SELECTION_INACTIVE_BACK. Bug #2417.
On Cocoa, avoid use of NSUserDefaults which will soon require justification when used in applications on the App Store.
Fix Win32 IME crash in windowed mode. Bug #2433.
Scale reverse arrow cursor for margins to match other cursors when user changes pointer size. Bug #2321.
Lexilla Release 5.3.2 (https://www.scintilla.org/lexilla532.zip)
Released 23 April 2024.
COBOL: Stop string literal continuing over line end. Issue #229.
COBOL: Stop doc comment assigning different styles to \r and \n at line end. Issue #229.
COBOL: Recognize keywords that start with 'V'. Issue #230.
COBOL: Recognize comments after tag or that start with '/'. Issue #231.
HTML: Implement substyles for tags, attributes, and identifiers SCE_H_TAG, SCE_H_ATTRIBUTE, SCE_HJ_WORD, SCE_HJA_WORD, SCE_HB_WORD, SCE_HP_WORD, SCE_HPHP_WORD.
HTML: Implement context-sensitive attributes. "tag.attribute" matches "attribute" only inside "tag".
HTML: Match standard handling of comments. Issue #232.
Lua: Implement substyles for identifiers SCE_LUA_IDENTIFIER.
Ruby: Allow non-ASCII here-doc delimiters. Issue #234.
Ruby: Allow modifier if, unless, while and until after heredoc delimiter. Issue #236.
Rust: Recognize raw identifiers. Issue #239, Pull request #240.
Close #15042
7 months ago
|
|
|
LIBS=KERNEL32.lib USER32.lib GDI32.lib IMM32.lib OLE32.lib OLEAUT32.lib ADVAPI32.lib
|
|
|
|
NOLOGO=-nologo
|
|
|
|
|
|
|
|
!IFDEF QUIET
|
|
|
|
CXX=@$(CXX)
|
|
|
|
CXXFLAGS=$(CXXFLAGS) $(NOLOGO)
|
|
|
|
LDFLAGS=$(LDFLAGS) $(NOLOGO)
|
|
|
|
!ENDIF
|
|
|
|
|
|
|
|
!IFDEF NO_CXX11_REGEX
|
|
|
|
CXXFLAGS=$(CXXFLAGS) -DNO_CXX11_REGEX
|
|
|
|
!ENDIF
|
|
|
|
|
|
|
|
!IFDEF DEBUG
|
|
|
|
CXXFLAGS=$(CXXFLAGS) $(CXXDEBUG)
|
|
|
|
LDFLAGS=$(LDDEBUG) $(LDFLAGS)
|
|
|
|
!ELSE
|
|
|
|
CXXFLAGS=$(CXXFLAGS) $(CXXNDEBUG)
|
|
|
|
!ENDIF
|
|
|
|
|
|
|
|
INCLUDES=-I../include -I../src
|
|
|
|
CXXFLAGS=$(CXXFLAGS) $(INCLUDES)
|
|
|
|
|
|
|
|
all: $(COMPONENT) $(LIBSCI)
|
|
|
|
|
|
|
|
clean:
|
|
|
|
-del /q $(DIR_O)\*.obj $(DIR_O)\*.pdb $(DIR_O)\*.asm $(COMPONENT) \
|
|
|
|
$(DIR_O)\*.res $(DIR_BIN)\*.map $(DIR_BIN)\*.exp $(DIR_BIN)\*.pdb \
|
|
|
|
$(DIR_BIN)\Scintilla.lib $(LIBSCI)
|
|
|
|
|
|
|
|
depend:
|
|
|
|
pyw DepGen.py
|
|
|
|
|
|
|
|
# Required for base Scintilla
|
|
|
|
SRC_OBJS=\
|
|
|
|
$(DIR_O)\AutoComplete.obj \
|
|
|
|
$(DIR_O)\CallTip.obj \
|
|
|
|
$(DIR_O)\CaseConvert.obj \
|
|
|
|
$(DIR_O)\CaseFolder.obj \
|
|
|
|
$(DIR_O)\CellBuffer.obj \
|
|
|
|
$(DIR_O)\ChangeHistory.obj \
|
|
|
|
$(DIR_O)\CharacterCategoryMap.obj \
|
|
|
|
$(DIR_O)\CharacterType.obj \
|
|
|
|
$(DIR_O)\CharClassify.obj \
|
|
|
|
$(DIR_O)\ContractionState.obj \
|
|
|
|
$(DIR_O)\DBCS.obj \
|
|
|
|
$(DIR_O)\Decoration.obj \
|
|
|
|
$(DIR_O)\Document.obj \
|
|
|
|
$(DIR_O)\EditModel.obj \
|
|
|
|
$(DIR_O)\Editor.obj \
|
|
|
|
$(DIR_O)\EditView.obj \
|
|
|
|
$(DIR_O)\Geometry.obj \
|
|
|
|
$(DIR_O)\Indicator.obj \
|
|
|
|
$(DIR_O)\KeyMap.obj \
|
|
|
|
$(DIR_O)\LineMarker.obj \
|
|
|
|
$(DIR_O)\MarginView.obj \
|
|
|
|
$(DIR_O)\PerLine.obj \
|
|
|
|
$(DIR_O)\PositionCache.obj \
|
|
|
|
$(DIR_O)\RESearch.obj \
|
|
|
|
$(DIR_O)\RunStyles.obj \
|
|
|
|
$(DIR_O)\Selection.obj \
|
|
|
|
$(DIR_O)\Style.obj \
|
Updated to Scintilla 5.4.2 & Lexilla 5.3.1
https://www.scintilla.org/scintilla542.zip
Release 5.4.2
Released 5 March 2024.
Significantly reduce memory used for undo actions, often to a half or quarter of previous versions. Feature #1458.
Add APIs for saving and restoring undo history.
For GTK, when laying out text, detect runs with both left-to-right and right-to-left ranges and divide into an ASCII prefix and more complex suffix. Lay out the ASCII prefix in the standard manner but, for the suffix, measure the whole width and spread that over the suffix bytes. This produces more usable results where the caret moves over the ASCII prefix correctly and over the suffix reasonably but not accurately.
For ScintillaEdit on Qt, fix reference from ScintillaDocument to Document to match change in 5.4.1 using IDocumentEditable for SCI_GETDOCPOINTER and SCI_SETDOCPOINTER.
For Direct2D on Win32, use the multi-threaded option to avoid crashes when Scintilla instances created on different threads. There may be more problems with this scenario so it should be avoided. Bug #2420.
For Win32, ensure keyboard-initiated context menu appears in multi-screen situations.
https://www.scintilla.org/lexilla531.zip
Release 5.3.1
Released 5 March 2024.
Assembler: After comments, treat \r\n line ends the same as \n. This makes testing easier.
Bash: Fix folding when line changed to/from comment and previous line is comment. Issue #224.
Batch: Fix handling ':' next to keywords. Issue #222.
JavaScript: in cpp lexer, add lexer.cpp.backquoted.strings=2 mode to treat ` back-quoted strings as template literals which allow embedded ${expressions}. Issue #94.
Python: fix lexing of rb'' and rf'' strings. Issue #223, Pull request #227.
Ruby: fix lexing of methods on numeric literals like '3.times' so the '.' and method name do not appear in numeric style. Issue #225.
9 months ago
|
|
|
$(DIR_O)\UndoHistory.obj \
|
|
|
|
$(DIR_O)\UniConversion.obj \
|
|
|
|
$(DIR_O)\UniqueString.obj \
|
|
|
|
$(DIR_O)\ViewStyle.obj \
|
|
|
|
$(DIR_O)\XPM.obj
|
|
|
|
|
|
|
|
|
|
|
|
# To have PCRE boost regex with header only is integrated and not just the one from std
|
|
|
|
!INCLUDE ../../boostregex/nppSpecifics.mak
|
|
|
|
|
|
|
|
COMPONENT_OBJS = \
|
|
|
|
$(DIR_O)\HanjaDic.obj \
|
|
|
|
$(DIR_O)\PlatWin.obj \
|
|
|
|
$(DIR_O)\ScintillaBase.obj \
|
|
|
|
$(DIR_O)\ScintillaWin.obj \
|
|
|
|
$(SRC_OBJS)
|
|
|
|
|
|
|
|
SHARED_OBJS = \
|
|
|
|
$(DIR_O)\ScintillaDLL.obj
|
|
|
|
|
|
|
|
$(DIR_O)\ScintRes.res : ScintRes.rc
|
|
|
|
$(RC) -fo$@ $**
|
|
|
|
|
|
|
|
$(COMPONENT): $(COMPONENT_OBJS) $(SHARED_OBJS) $(DIR_O)\ScintRes.res
|
|
|
|
$(LD) $(LDFLAGS) -DEF:Scintilla.def -DLL -OUT:$@ $** $(LIBS)
|
|
|
|
|
|
|
|
$(LIBSCI): $(COMPONENT_OBJS)
|
|
|
|
LIB /OUT:$@ $**
|
|
|
|
|
|
|
|
# Define how to build all the objects and what they depend on
|
|
|
|
|
|
|
|
{..\src}.cxx{$(DIR_O)}.obj::
|
|
|
|
$(CXX) $(CXXFLAGS) -c $(NAME)$(DIR_O)\ $<
|
|
|
|
{.}.cxx{$(DIR_O)}.obj::
|
|
|
|
$(CXX) $(CXXFLAGS) -c $(NAME)$(DIR_O)\ $<
|
|
|
|
|
|
|
|
# Dependencies
|
|
|
|
|
|
|
|
!IF EXISTS(nmdeps.mak)
|
|
|
|
|
|
|
|
# Protect with !IF EXISTS to handle accidental deletion - just 'nmake -f scintilla.mak depend'
|
|
|
|
|
|
|
|
!INCLUDE nmdeps.mak
|
|
|
|
|
|
|
|
!ENDIF
|
|
|
|
|