From f75fa857bcd1f7437685bf3936a5cc63654e4a16 Mon Sep 17 00:00:00 2001 From: "METANEOCORTEX\\Kotti" Date: Sat, 12 Feb 2022 09:58:16 +0100 Subject: [PATCH] +fix: typo --- .github/workflows/build-check-macos.yml | 29 + language/np3_en_us/menu_en_us.rc | 2 +- .../PortableApps.comInstaller/Interface.nsh | 363 +++++++++ .../Interface.nsh.to_be_copy_to.txt | 1 + test/scheme.ini | 744 ++++++++++++++++++ test/test.cmd | 10 + test/test.txt | 22 + .../StyleLexers/styleLexRegistry/Test.reg | Bin 0 -> 960 bytes 8 files changed, 1170 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/build-check-macos.yml create mode 100644 np3portableapp/PortableApps.comInstaller/Interface.nsh create mode 100644 np3portableapp/PortableApps.comInstaller/Interface.nsh.to_be_copy_to.txt create mode 100644 test/scheme.ini create mode 100644 test/test.cmd create mode 100644 test/test.txt create mode 100644 test/test_files/StyleLexers/styleLexRegistry/Test.reg diff --git a/.github/workflows/build-check-macos.yml b/.github/workflows/build-check-macos.yml new file mode 100644 index 000000000..a4fb109f6 --- /dev/null +++ b/.github/workflows/build-check-macos.yml @@ -0,0 +1,29 @@ +name: "Build and check Lexilla on macOS" + +on: [push] + +jobs: + build: + + runs-on: macos-11 + + strategy: + matrix: + cpp_compiler: [clang++] + + steps: + - uses: actions/checkout@v2 + - name: Install Scintilla source + run: | + (cd .. && wget --no-verbose https://www.scintilla.org/scintilla500.zip) + (cd .. && unzip scintilla500.zip) + - name: Unit Test + run: (cd test/unit && make DEBUG=1 CXX=${{matrix.cpp_compiler}} test) + - name: Build Lexilla + run: (cd src && make DEBUG=1 CXX=${{matrix.cpp_compiler}}) + - name: Test lexing and folding + run: (cd test && make DEBUG=1 CXX=${{matrix.cpp_compiler}} test) + - name: CheckLexilla C Example + run: (cd examples/CheckLexilla && make DEBUG=1 check) + - name: SimpleLexer Example + run: (cd examples/SimpleLexer && make DEBUG=1 CXX=${{matrix.cpp_compiler}} check) diff --git a/language/np3_en_us/menu_en_us.rc b/language/np3_en_us/menu_en_us.rc index b93dfad8b..0128dc884 100644 --- a/language/np3_en_us/menu_en_us.rc +++ b/language/np3_en_us/menu_en_us.rc @@ -340,7 +340,7 @@ BEGIN END POPUP "&View" BEGIN - MENUITEM "Document &ReadOnly" IDM_VIEW_READONLY + MENUITEM "Document &Read Only" IDM_VIEW_READONLY MENUITEM "&Word Wrap\tCtrl+W", IDM_VIEW_WORDWRAP MENUITEM "&Long Line Marker\tCtrl+Alt+L", IDM_VIEW_LONGLINEMARKER MENUITEM "Indentation &Guides\tCtrl+Shift+G", IDM_VIEW_SHOWINDENTGUIDES diff --git a/np3portableapp/PortableApps.comInstaller/Interface.nsh b/np3portableapp/PortableApps.comInstaller/Interface.nsh new file mode 100644 index 000000000..d59c32eb0 --- /dev/null +++ b/np3portableapp/PortableApps.comInstaller/Interface.nsh @@ -0,0 +1,363 @@ +/* + +NSIS Modern User Interface +Interface code for all pages +d:\PortableApps\PortableApps.comInstaller\App\nsis\Contrib\Modern UI 2\Interface.nsh +*/ + +;-------------------------------- +;Variables + +Var mui.Header.Text +Var mui.Header.Text.Font +Var mui.Header.SubText +Var mui.Header.Background +Var mui.Header.Image + +Var mui.Branding.Text +Var mui.Branding.Background + +Var mui.Line.Standard +Var mui.Line.FullWindow + +Var mui.Button.Next +Var mui.Button.Cancel +Var mui.Button.Back + + +;-------------------------------- +;General interface settings + +!macro MUI_INTERFACE + + !ifndef MUI_INTERFACE + + !define MUI_INTERFACE + + ;These values are set after the interface settings in the script, + ;so the script itself can override all values. + + ;Default interface settings in nsisconf.nsh + !ifdef MUI_INSERT_NSISCONF + !insertmacro MUI_NSISCONF + !endif + + ;Default interface settings + !insertmacro MUI_DEFAULT MUI_UI "${NSISDIR}\Contrib\UIs\modern.exe" + !insertmacro MUI_DEFAULT MUI_UI_HEADERIMAGE "${NSISDIR}\Contrib\UIs\modern_headerbmp.exe" + !insertmacro MUI_DEFAULT MUI_UI_HEADERIMAGE_RIGHT "${NSISDIR}\Contrib\UIs\modern_headerbmpr.exe" + !insertmacro MUI_DEFAULT MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" + !insertmacro MUI_DEFAULT MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" + !insertmacro MUI_DEFAULT MUI_BGCOLOR "FFFFFF" + !insertmacro MUI_DEFAULT MUI_TEXTCOLOR "000000" + + ;Map *_NOSTRETCH legacy define to the correct *_STRETCH value + !verbose push 2 + !insertmacro MUI_LEGACY_MAP_NOSTRETCH MUI_HEADERIMAGE_ "" + !insertmacro MUI_LEGACY_MAP_NOSTRETCH MUI_WELCOMEFINISHPAGE_ "" + !insertmacro MUI_LEGACY_MAP_NOSTRETCH MUI_UNWELCOMEFINISHPAGE_ "" + !verbose pop + + ;Default header images + !ifdef MUI_HEADERIMAGE + + !insertmacro MUI_DEFAULT MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\nsis.bmp" + !insertmacro MUI_DEFAULT MUI_HEADERIMAGE_BITMAP_STRETCH "FitControl" + !insertmacro MUI_DEFAULT MUI_HEADERIMAGE_BITMAP_RTL_STRETCH ${MUI_HEADERIMAGE_BITMAP_STRETCH} + + !ifndef MUI_HEADERIMAGE_UNBITMAP + !define MUI_HEADERIMAGE_UNBITMAP "${MUI_HEADERIMAGE_BITMAP}" + !insertmacro MUI_SET MUI_HEADERIMAGE_UNBITMAP_STRETCH ${MUI_HEADERIMAGE_BITMAP_STRETCH} + !endif + + !if "${MUI_HEADERIMAGE_BITMAP}" == "" + !error "Invalid MUI_HEADERIMAGE_BITMAP" + !endif + !if "${MUI_HEADERIMAGE_UNBITMAP}" == "" + !error "Invalid MUI_HEADERIMAGE_UNBITMAP" + !endif + + !ifdef MUI_HEADERIMAGE_BITMAP_RTL + !ifndef MUI_HEADERIMAGE_UNBITMAP_RTL + !define MUI_HEADERIMAGE_UNBITMAP_RTL "${MUI_HEADERIMAGE_BITMAP_RTL}" + !insertmacro MUI_SET MUI_HEADERIMAGE_UNBITMAP_RTL_STRETCH ${MUI_HEADERIMAGE_BITMAP_RTL_STRETCH} + !endif + + !if "${MUI_HEADERIMAGE_BITMAP_RTL}" == "" + !error "Invalid MUI_HEADERIMAGE_BITMAP_RTL" + !endif + !if "${MUI_HEADERIMAGE_UNBITMAP_RTL}" == "" + !error "Invalid MUI_HEADERIMAGE_UNBITMAP_RTL" + !endif + !endif + + !insertmacro MUI_DEFAULT MUI_HEADERIMAGE_UNBITMAP_STRETCH ${MUI_HEADERIMAGE_BITMAP_STRETCH} + !insertmacro MUI_DEFAULT MUI_HEADERIMAGE_UNBITMAP_RTL_STRETCH ${MUI_HEADERIMAGE_BITMAP_RTL_STRETCH} + + !endif + + ;Default texts + !insertmacro MUI_DEFAULT MUI_ABORTWARNING_TEXT "$(MUI_TEXT_ABORTWARNING)" + !insertmacro MUI_DEFAULT MUI_UNABORTWARNING_TEXT "$(MUI_UNTEXT_ABORTWARNING)" + + ;Apply settings + + XPStyle On ;XP style setting in manifest resource + + ;Dialog resources + ChangeUI all "${MUI_UI}" + !ifdef MUI_HEADERIMAGE + !ifndef MUI_HEADERIMAGE_RIGHT + ChangeUI IDD_INST "${MUI_UI_HEADERIMAGE}" + !else + ChangeUI IDD_INST "${MUI_UI_HEADERIMAGE_RIGHT}" + !endif + !endif + + ;Icons + Icon "${MUI_ICON}" + UninstallIcon "${MUI_UNICON}" + + !endif + +!macroend + + +;-------------------------------- +;Abort warning message box + +!macro MUI_ABORTWARNING + + !ifdef MUI_ABORTWARNING_CANCEL_DEFAULT + MessageBox MB_YESNO|MB_ICONEXCLAMATION|MB_DEFBUTTON2 "${MUI_ABORTWARNING_TEXT}" IDYES mui.Quit + !else + MessageBox MB_YESNO|MB_ICONEXCLAMATION "${MUI_ABORTWARNING_TEXT}" IDYES mui.Quit + !endif + + Abort + mui.Quit: + +!macroend + +!macro MUI_UNABORTWARNING + + !ifdef MUI_UNABORTWARNING_CANCEL_DEFAULT + MessageBox MB_YESNO|MB_ICONEXCLAMATION|MB_DEFBUTTON2 "${MUI_UNABORTWARNING_TEXT}" IDYES mui.Quit + !else + MessageBox MB_YESNO|MB_ICONEXCLAMATION "${MUI_UNABORTWARNING_TEXT}" IDYES mui.Quit + !endif + + Abort + mui.Quit: + +!macroend + + +;-------------------------------- +;Initialization of GUI + +!macro MUI_HEADERIMAGE_INITHELPER_LOADIMAGEWITHMACRO MACRO + + !ifdef MUI_HEADERIMAGE_RIGHT + !ifndef MUI_OPTIMIZE_ALWAYSLTR ; Undocumented + ${if} $(^RTL) == 1 + !insertmacro ${MACRO} $mui.Header.Image "${PATH}" Left Leak + ${Else} + !insertmacro ${MACRO} $mui.Header.Image "${PATH}" Right Leak + ${EndIf} + !else + !insertmacro ${MACRO} $mui.Header.Image "${PATH}" Right Leak + !endif + !else + !insertmacro ${MACRO} $mui.Header.Image "${PATH}" Auto Leak + !endif + +!macroend +!macro MUI_HEADERIMAGE_INITHELPER_LOADIMAGE UN RTL IMGRESID PATH + + GetDlgItem $mui.Header.Image $HWNDPARENT ${IMGRESID} ; This variable is not used by every mode but we have to reference it to avoid a compiler warning. + + !if "${MUI_HEADERIMAGE_${UN}BITMAP${RTL}_STRETCH}" == "NoStretchNoCropNoAlign" + + SetBrandingImage /IMGID=${IMGRESID} "${PATH}" + + !else if "${MUI_HEADERIMAGE_${UN}BITMAP${RTL}_STRETCH}" == "NoStretchNoCrop" + + !insertmacro MUI_HEADERIMAGE_INITHELPER_LOADIMAGEWITHMACRO \ + MUI_LOADANDXALIGNIMAGE + + !else if "${MUI_HEADERIMAGE_${UN}BITMAP${RTL}_STRETCH}" == "AspectFitHeight" + + !insertmacro MUI_HEADERIMAGE_INITHELPER_LOADIMAGEWITHMACRO \ + MUI_LOADANDASPECTSTRETCHIMAGETOCONTROLHEIGHT + + !else + + !if "${MUI_HEADERIMAGE_${UN}BITMAP${RTL}_STRETCH}" != "FitControl" + !warning 'MUI_HEADERIMAGE_${UN}BITMAP${RTL}_STRETCH set to unknown value, defaulting to FitControl' + !endif + SetBrandingImage /IMGID=${IMGRESID} /RESIZETOFIT "${PATH}" + + !endif + +!macroend + +!macro MUI_HEADERIMAGE_INIT UN IMGRESID + + ;Load and display header image + + !ifdef MUI_HEADERIMAGE + + InitPluginsDir + + !ifdef MUI_HEADERIMAGE_${UN}BITMAP_RTL + ${if} $(^RTL) == 1 + + File "/oname=$PLUGINSDIR\modern-header-rtl.bmp" "${MUI_HEADERIMAGE_${UN}BITMAP_RTL}" + !pragma verifyloadimage "${MUI_HEADERIMAGE_${UN}BITMAP_RTL}" + !insertmacro MUI_HEADERIMAGE_INITHELPER_LOADIMAGE "${UN}" "_RTL" ${IMGRESID} "$PLUGINSDIR\modern-header-rtl.bmp" + + ${else} + !endif + + File "/oname=$PLUGINSDIR\modern-header.bmp" "${MUI_HEADERIMAGE_${UN}BITMAP}" + !pragma verifyloadimage "${MUI_HEADERIMAGE_${UN}BITMAP}" + !insertmacro MUI_HEADERIMAGE_INITHELPER_LOADIMAGE "${UN}" "" ${IMGRESID} "$PLUGINSDIR\modern-header.bmp" + + !ifdef MUI_HEADERIMAGE_${UN}BITMAP_RTL + ${endif} + !endif + + !endif + +!macroend + +!macro MUI_GUIINIT_OUTERDIALOG UNINSTALLER + + ;Initialize outer dialog (fonts & colors) + + ;Header + GetDlgItem $mui.Header.Text $HWNDPARENT 1037 + CreateFont $mui.Header.Text.Font "$(^Font)" "$(^FontSize)" "700" + SendMessage $mui.Header.Text ${WM_SETFONT} $mui.Header.Text.Font 0 + + GetDlgItem $mui.Header.SubText $HWNDPARENT 1038 + + !ifndef MUI_HEADER_TRANSPARENT_TEXT + SetCtlColors $mui.Header.Text "${MUI_TEXTCOLOR}" "${MUI_BGCOLOR}" + SetCtlColors $mui.Header.SubText "${MUI_TEXTCOLOR}" "${MUI_BGCOLOR}" + !else + SetCtlColors $mui.Header.Text "${MUI_TEXTCOLOR}" "transparent" + SetCtlColors $mui.Header.SubText "${MUI_TEXTCOLOR}" "transparent" + !endif + + ;Header image + !insertmacro MUI_HEADERIMAGE_INIT "${UNINSTALLER}" 1046 + + ;Header background + GetDlgItem $mui.Header.Background $HWNDPARENT 1034 + SetCtlColors $mui.Header.Background "" "${MUI_BGCOLOR}" + + ;Header icon image background + !ifndef MUI_HEADERIMAGE + GetDlgItem $mui.Header.Image $HWNDPARENT 1039 + SetCtlColors $mui.Header.Image "" "${MUI_BGCOLOR}" + !endif + + ;Branding text + GetDlgItem $mui.Branding.Background $HWNDPARENT 1028 + SetCtlColors $mui.Branding.Background /BRANDING + GetDlgItem $mui.Branding.Text $HWNDPARENT 1256 + SetCtlColors $mui.Branding.Text /BRANDING + SendMessage $mui.Branding.Text ${WM_SETTEXT} 0 "STR:$(^Branding) " + + ;Lines + GetDlgItem $mui.Line.Standard $HWNDPARENT 1035 + GetDlgItem $mui.Line.FullWindow $HWNDPARENT 1045 + + ;Buttons + GetDlgItem $mui.Button.Next $HWNDPARENT 1 + GetDlgItem $mui.Button.Cancel $HWNDPARENT 2 + GetDlgItem $mui.Button.Back $HWNDPARENT 3 + +!macroend + + +;-------------------------------- +;Interface functions + +!macro MUI_FUNCTION_GUIINIT + + Function .onGUIInit + + !insertmacro MUI_GUIINIT_OUTERDIALOG "" + + !ifdef MUI_PAGE_FUNCTION_GUIINIT + Call "${MUI_PAGE_FUNCTION_GUIINIT}" + !endif + + !ifdef MUI_CUSTOMFUNCTION_GUIINIT + Call "${MUI_CUSTOMFUNCTION_GUIINIT}" + !endif + + FunctionEnd + +!macroend + +!macro MUI_UNFUNCTION_GUIINIT + + Function un.onGUIInit + + !insertmacro MUI_GUIINIT_OUTERDIALOG UN + + !ifdef MUI_UNPAGE_FUNCTION_GUIINIT + Call "${MUI_UNPAGE_FUNCTION_GUIINIT}" + !endif + + !ifdef MUI_CUSTOMFUNCTION_UNGUIINIT + Call "${MUI_CUSTOMFUNCTION_UNGUIINIT}" + !endif + + FunctionEnd + +!macroend + +!macro MUI_FUNCTION_ABORTWARNING + + Function .onUserAbort + + !ifdef MUI_PAGE_FUNCTION_ABORTWARNING + Call ${MUI_PAGE_FUNCTION_ABORTWARNING} + !endif + + !ifdef MUI_ABORTWARNING + !insertmacro MUI_ABORTWARNING + !endif + + !ifdef MUI_CUSTOMFUNCTION_ABORT + Call "${MUI_CUSTOMFUNCTION_ABORT}" + !endif + + FunctionEnd + +!macroend + +!macro MUI_FUNCTION_UNABORTWARNING + + Function un.onUserAbort + + !ifdef MUI_UNPAGE_FUNCTION_ABORTWARNING + Call ${MUI_UNPAGE_FUNCTION_ABORTWARNING} + !endif + + !ifdef MUI_UNABORTWARNING + !insertmacro MUI_UNABORTWARNING + !endif + + !ifdef MUI_CUSTOMFUNCTION_UNABORT + Call "${MUI_CUSTOMFUNCTION_UNABORT}" + !endif + + FunctionEnd + +!macroend diff --git a/np3portableapp/PortableApps.comInstaller/Interface.nsh.to_be_copy_to.txt b/np3portableapp/PortableApps.comInstaller/Interface.nsh.to_be_copy_to.txt new file mode 100644 index 000000000..5d35b1760 --- /dev/null +++ b/np3portableapp/PortableApps.comInstaller/Interface.nsh.to_be_copy_to.txt @@ -0,0 +1 @@ +d:\PortableApps\PortableApps.comInstaller\App\nsis\Contrib\Modern UI 2\Interface.nsh diff --git a/test/scheme.ini b/test/scheme.ini new file mode 100644 index 000000000..1588b8217 --- /dev/null +++ b/test/scheme.ini @@ -0,0 +1,744 @@ +[Custom Colors] +01=#000000 +02=#0A246A +03=#3A6EA5 +04=#003CE6 +05=#006633 +06=#608020 +07=#648000 +08=#A46000 +09=#FFFFFF +10=#FFFFE2 +11=#FFF1A8 +12=#FFC000 +13=#FF4000 +14=#C80000 +15=#B000B0 +16=#B28B40 +[Common Base] +Default Style=font:Source Code Pro Semibold; semibold; size:+3 +Margins and Line Numbers=size:-2; fore:#008080 +Matching Braces (Indicator)=fore:#00FF40; alpha:80; alpha2:80; indic_roundbox +Matching Braces Error (Indicator)=fore:#FF0080; alpha:140; alpha2:140; indic_roundbox +Control Characters (Font)=size:-1 +Indentation Guide (Color)=fore:#A0A0A0 +Selected Text (Colors)=fore:#FF4000; back:#4040FF; eolfilled; alpha:80 +Whitespace (Colors, Size 0-12)=fore:#FF4000 +Current Line Background (Color)=size:2; fore:#A0A0A0; back:#FFFF00; alpha:50 +Caret (Color, Size 1-3)= +Long Line Marker (Colors)=fore:#FFC000 +Extra Line Spacing (Size)=size:2 +Bookmarks and Folding (Colors, Size)=size:+2; fore:#000000; back:#00DC00; alpha:100 +Mark Occurrences (Indicator)=fore:#3399FF; alpha:60; alpha2:60; indic_roundbox +Hyperlink Hotspots=fore:#0000FF; back:#0000BF; indic_plain +Unicode-Point Hover=fore:#00FA00; alpha:60; alpha2:180; indic_compositionthick +Multi Edit Indicator=fore:#FFA000; alpha:60; alpha2:180; indic_roundbox +Inline-IME Color=fore:#00AA00 +[2nd Common Base] +2nd Default Style=font:Courier New +2nd Margins and Line Numbers=font:Courier New; size:-2; fore:#008080 +2nd Matching Braces (Indicator)=fore:#00FF40; alpha:80; alpha2:220; indic_roundbox +2nd Matching Braces Error (Indicator)=fore:#FF0080; alpha:140; alpha2:220; indic_roundbox +2nd Control Characters (Font)=size:-1 +2nd Indentation Guide (Color)=fore:#A0A0A0 +2nd Selected Text (Colors)=fore:#FF4000; eolfilled +2nd Whitespace (Colors, Size 0-12)=fore:#FF4000 +2nd Current Line Background (Color)=size:2; fore:#0000B0; back:#FFFF00; alpha:50 +2nd Caret (Color, Size 1-3)= +2nd Long Line Marker (Colors)=fore:#FFC000 +2nd Extra Line Spacing (Size)= +2nd Bookmarks and Folding (Colors, Size)=size:+2; charset:2; fore:#000000; back:#00DC00; case:U; alpha:100 +2nd Mark Occurrences (Indicator)=fore:#0000FF; alpha:60; alpha2:60; indic_box +2nd Hyperlink Hotspots=fore:#00D000; back:#009C00; alpha:180; indic_compositionthin +2nd Unicode-Point Hover=fore:#0000FA; alpha:60; alpha2:180; indic_compositionthick +2nd Multi Edit Indicator=fore:#00A5FF; indic_box +2nd Inline-IME Color=fore:#FF0000 +[Text Files] +Default= +Margins and Line Numbers=font:Lucida Console; size:-2 +Extra Line Spacing (Size)=size:-1 +[ANSI Art] +Default=font:Lucida Console; thin; size:11; smoothing:none +Margins and Line Numbers=font:Lucida Console; size:-2 +Matching Braces= +Matching Braces Error= +Extra Line Spacing (Size)=size:-1 +[Apache Config Files] +Default= +Comment=fore:#648000 +String=fore:#B000B0 +Number=fore:#FF4000 +Directive=fore:#003CE6 +IP Address=bold; fore:#FF4000 +[Assembly Script] +Default= +Comment=fore:#008000 +Identifier= +String=fore:#008000 +Number=fore:#FF0000 +Operator=fore:#0A246A +CPU Instruction=fore:#0A246A +FPU Instruction=fore:#0A246A +Extended Instruction=fore:#0A246A +Directive=fore:#0A246A +Directive Operand=fore:#0A246A +Register=fore:#FF8000 +[AutoHotkey_L Script] +Default= +Identifier= +Comment=fore:#008000 +String=fore:#404040 +Label=fore:#0000DD +HotKey=fore:#00AADD +HotString=fore:#00BBBB +KeyHotstringOption=fore:#990099 +Hex Number=fore:#880088 +Number=fore:#FF9000 +Variable=fore:#FF9000 +Variable Dereferencing=fore:#990055 +Object=fore:#008888 +User-Defined Function=fore:#0000DD +Directive=italic; fore:#4A0000 +Command=bold; fore:#0000DD +Parameter=fore:#0085DD +Flow of Control=fore:#0000DD +Function=fore:#DD00DD +Built-In Variables=bold; fore:#EE3010 +Key=fore:#A2A2A2 +Escape=italic; fore:#660000 +Error=back:#FF0000 +[AutoIt3 Script] +Default= +Comment=fore:#008000 +Number=fore:#008080 +Function=fore:#0000FF +User-Defined Function=fore:#0000FF +Keyword=fore:#0000FF +Macro=fore:#0080FF +String=fore:#008080 +Operator=fore:#C000C0 +Variable=fore:#808000 +Send Key=fore:#FF0000 +Preprocessor=fore:#FF8000 +Special=fore:#FF8000 +[AviSynth Script] +Default= +Comment=fore:#008000 +Operator= +String=fore:#7F007F +Number=fore:#007F7F +Keyword=bold; fore:#00007F +Filter=bold; fore:#00007F +Plugin=bold; fore:#0080C0 +Function=fore:#007F7F +Clip Property=fore:#00007F +[Awk Script] +Default= +Keyword=bold; fore:#0000A0 +Keyword 2nd=bold; italic; fore:#6666FF +Identifier= +Comment=fore:#808080 +String=fore:#008000 +Number=fore:#C04000 +Operator=fore:#B000B0 +[Batch Files] +Default= +Comment=fore:#008000 +Keyword=bold; fore:#0A246A +Identifier=fore:#003CE6; back:#FFF1A8 +Operator=fore:#B000B0 +Command=bold +Label=fore:#C80000; back:#F4F4F4; eolfilled +[C# Source Code] +Default= +Identifier= +Comment=fore:#008000 +Keyword=bold; fore:#804000 +Keyword 2nd=bold; italic; fore:#804000 +Global Class=fore:#2B91AF +String=fore:#008000 +Number=fore:#FF0000 +Operator=fore:#B000B0 +Preprocessor=fore:#FF8000 +Verbatim String=fore:#008000 +Comment Doc=fore:#808080 +Comment Doc Word=bold; fore:#808080 +Comment Doc Error=italic; fore:#800000 +Task Marker=bold; fore:#208080 +[C/C++ Source Code] +Default= +Identifier= +Comment=fore:#008000 +Keyword=bold; fore:#0A246A +Keyword 2nd=bold; italic; fore:#3C6CDD +Typedefs/Classes=bold; italic; fore:#800000 +String=fore:#008000 +Number=fore:#FF0000 +Operator=fore:#B000B0 +Preprocessor=fore:#FF8000 +Verbatim=fore:#B000B0 +Comment Doc=fore:#808080 +Comment Doc Word=bold; fore:#808080 +Comment Doc Error=italic; fore:#800000 +Task Marker=bold; fore:#208080 +[Cmake Script] +Default= +Comment=fore:#008000 +String=fore:#7F007F; back:#EEEEEE +Function=fore:#00007F +Parameter=fore:#7F200F +Variable=fore:#CC3300 +While Def=fore:#00007F +For Each Def=fore:#00007F +If Def=fore:#00007F +Macro Def=fore:#00007F +Variable within String=fore:#CC3300; back:#EEEEEE +Number=fore:#008080 +[Coffeescript] +Default= +Comment=fore:#646464 +String=fore:#008000 +Preprocessor=fore:#FF8000 +Identifier=bold; fore:#0A246A +Operator=fore:#B000B0 +Number=fore:#FF0000 +Regex=fore:#006633; back:#FFF1A8 +Global Class= +Word= +Verbatim= +[Configuration Files] +Default= +Comment=fore:#008000 +Section=bold; fore:#000000; back:#FF8040; eolfilled +Assignment=fore:#FF0000 +Default Value=fore:#FF0000 +[CSS Style Sheets] +Default= +Comment=fore:#646464 +HTML Tag=bold; fore:#0A246A +Tag-Class=fore:#648000 +Tag-ID=fore:#648000 +Tag-Attribute=italic; fore:#648000 +Pseudo-Class=fore:#B000B0 +Pseudo-Element=fore:#B00050 +CSS Property=fore:#FF4000 +String=fore:#008000 +Value=fore:#3A6EA5 +Operator=fore:#B000B0 +Important=bold; fore:#C80000 +Directive=bold; fore:#000000; back:#FFF1A8 +Media=bold; fore:#0A246A +Variable=bold; fore:#FF4000 +Unknown Pseudo-Class=fore:#C80000; back:#FFFF80 +Unknown Property=fore:#C80000; back:#FFFF80 +[CSV Prism] +Default= +Margins and Line Numbers= +Extra Line Spacing (Size)=size:-1 +Column 0=fore:#9400D3 +Column 1=fore:#1C01AF +Column 2=fore:#0162F3 +Column 3=fore:#28A4FF +Column 4=fore:#01C2C2 +Column 5=fore:#00D530 +Column 6=fore:#80D500 +Column 7=fore:#D3E401 +Column 8=fore:#FE9901 +Column 9=fore:#D90000 +[D Source Code] +Default= +Comment=fore:#008000 +Comment Doc=fore:#0040A0 +Number=fore:#FF0000 +Keyword=bold; fore:#0A246A +Keyword 2nd=bold; fore:#0A246A +Typedef=italic; fore:#0A246A +String=italic; fore:#3C6CDD +Operator=fore:#B000B0 +Identifier= +[Dart Source Code] +Default= +Keyword=fore:#0000FF +Keyword 2nd=fore:#0000FF +Meta-Data=fore:#FF8000 +Class=fore:#0080FF +Enumeration=fore:#FF8000 +Function=fore:#A46000 +Comment=fore:#608060 +Comment Doc=fore:#408040 +Task Marker=bold; fore:#408080 +String=fore:#008000 +TriQ-String=fore:#F08000 +Verbatim String=fore:#F08000 +ESC Sequence=fore:#0080C0 +Label=fore:#7C5AF3 +Number=fore:#FF0000 +Variable=fore:#9E4D2A +Operator=fore:#7C5AF3 +Operator2=fore:#B000B0 +[Diff Files] +Default= +Comment=fore:#008000 +Command=bold; fore:#0A246A +Source and Destination=fore:#C80000; back:#FFF1A8; eolfilled +Position Setting=fore:#0000FF +Line Addition=fore:#002000; back:#80FF80; eolfilled +Line Removal=fore:#200000; back:#FF8080; eolfilled +Line Change=fore:#000020; back:#8080FF; eolfilled +[Go Source Code] +Default= +Comment=fore:#008000 +Number=fore:#FF0000 +Keyword=bold; fore:#0A246A +Keyword 2nd=bold; fore:#0A246A +Typedef=italic; fore:#0A246A +String=italic; fore:#3C6CDD +Operator=fore:#B000B0 +Identifier= +[Inno Setup Script] +Default= +Comment=fore:#008000 +Keyword=fore:#0000FF +Parameter=fore:#0000FF +Section=bold; fore:#000080 +Preprocessor=fore:#CC0000 +Inline Expansion=fore:#800080 +Pascal Comment=fore:#008000 +Pascal Keyword=fore:#0000FF +String= +[Java Source Code] +Default= +Identifier= +Comment=fore:#646464 +Keyword=bold; fore:#A46000 +Keyword 2nd=bold; fore:#A46000 +String=fore:#008000 +Number=fore:#FF0000 +Operator=fore:#B000B0 +Comment Doc=fore:#808080 +Comment Doc Word=bold; fore:#808080 +Comment Doc Error=italic; fore:#800000 +Task Marker=bold; fore:#208080 +[JavaScript] +Default= +Identifier= +Comment=fore:#646464 +Keyword=bold; fore:#A46000 +String=fore:#008000 +Regex=fore:#006633; back:#FFF1A8 +Number=fore:#FF0000 +Operator=fore:#B000B0 +Comment Doc=fore:#808080 +Comment Doc Word=bold; fore:#808080 +Comment Doc Error=italic; fore:#800000 +Task Marker=bold; fore:#208080 +[JSON] +Default= +Comment=fore:#646464 +Keyword=bold; fore:#957000 +LD Keyword=bold; fore:#A61D04 +String=fore:#008000 +Number=fore:#FF0000 +Operator=fore:#B000B0 +Property Name=fore:#002697 +ESC Sequence=fore:#0B982E +Parsing Error=fore:#FFFF00; back:#A00000; eolfilled +[Kotlin Source Code] +Default= +Keyword=fore:#0000FF +Annotation=fore:#FF8000 +Class=fore:#0080FF +Interface=bold; fore:#1E90FF +Enumeration=fore:#FF8000 +Function=fore:#A46000 +Comment=fore:#608060 +Comment Doc=fore:#408080 +Comment Doc Word=fore:#408080 +Task Marker=bold; fore:#208080 +String=fore:#008000 +Verbatim String=fore:#F08000 +ESC Sequence=fore:#0080C0 +Back Ticks=fore:#9E4D2A +Label=fore:#7C5AF3 +Number=fore:#FF0000 +Variable=fore:#9E4D2A +Operator=fore:#B000B0 +[LaTeX Files] +Default= +Command=fore:#0000FF +Comment=fore:#008000 +Math=fore:#FF0000 +Special Char=fore:#AAAA00 +Tag=fore:#0000FF +Verbatim Segment=fore:#666666 +Error=fore:#FFFF00; back:#A00000 +[Lua Script] +Default= +Comment=fore:#008000 +Number=fore:#008080 +Keyword=fore:#00007F +Basic Functions=fore:#00007F +String, Table & Math Functions=fore:#00007F +Input, Output & System Facilities=fore:#00007F +String=fore:#B000B0 +Literal String=fore:#B000B0 +Preprocessor=fore:#FF8000 +Operator= +Identifier= +Label=fore:#808000 +[Makefiles] +Default= +Comment=fore:#008000 +Identifier=fore:#003CE6 +Operator= +Target=fore:#003CE6; back:#FFC000 +Preprocessor=fore:#FF8000 +[Markdown] +Default= +Line Begin= +Strong=bold +Emphasis=italic +Header 1=bold; fore:#FFFFE2; back:#3D3DD3; eolfilled +Header 2=bold; fore:#336193; back:#9DCEFF; eolfilled +Header 3=bold; fore:#336193; back:#D9ECFF; eolfilled +Header 4=bold; fore:#336193; eolfilled +Header 5=bold; fore:#3F77B6; eolfilled +Header 6=bold; fore:#5C8FC7; eolfilled +Pre Char=fore:#00007F +Unordered List=bold; fore:#0080FF +Ordered List=bold; fore:#0080FF +Block Quote=fore:#00007F +Strikeout= +Horizontal Rule=bold +Link=fore:#0000FF +Code=fore:#00007F; back:#EBEBEB +[MATLAB] +Default= +Comment=fore:#008000 +Command=bold +Number=fore:#FF8000 +Keyword=bold; fore:#00007F +String=fore:#7F007F +Operator= +Identifier= +[Nim Source Code] +Default= +Comment=italic; fore:#484A86 +Keyword=bold; fore:#5E8F60 +Identifier= +String Double Quoted=fore:#A4255B +String Single Quoted=fore:#A4255B +String Triple Double Quotes=fore:#A4255B +String Triple Single Quotes=fore:#A4255B +Number=fore:#252DBE +Operator=bold; fore:#4B4B4B +Function name=fore:#4B4B4B +Parsing Error=italic; fore:#FFFF00; back:#A00000 +[NSIS Script] +Default= +Comment=fore:#008000 +String=fore:#666666; back:#EEEEEE +Function=fore:#0033CC +Variable=fore:#CC3300 +Variable within String=fore:#CC3300; back:#EEEEEE +Number=fore:#FF0000 +Constant=fore:#FF9900 +Section=fore:#0033CC +Sub Section=fore:#0033CC +Section Group=fore:#0033CC +Function Definition=fore:#0033CC +PageEx=fore:#0033CC +If Definition=fore:#0033CC +Macro Definition=fore:#0033CC +[Pascal Source Code] +Default= +Comment=fore:#646464 +Keyword=bold; fore:#800080 +Identifier= +String=fore:#008000 +Number=fore:#FF0000 +Operator=bold +Inline Asm=fore:#0000FF +Preprocessor=fore:#FF00FF +[Perl Script] +Default= +Comment=fore:#646464 +Keyword=bold; fore:#804000 +Identifier= +String Double Quoted=fore:#008000 +String Single Quoted=fore:#008000 +Number=fore:#FF0000 +Operator=bold +Scalar $var=fore:#0A246A +Array @var=fore:#003CE6 +Hash %var=fore:#B000B0 +Symbol Table *var=fore:#3A6EA5 +Regex /re/ or m{re}=fore:#006633; back:#FFF1A8 +Substitution s/re/ore/=fore:#006633; back:#FFF1A8 +Back Ticks=fore:#E24000; back:#FFF1A8 +Here-Doc (Delimiter)=fore:#648000 +Here-Doc (Single Quoted, q)=fore:#648000 +Here-Doc (Double Quoted, qq)=fore:#648000 +Here-Doc (Back Ticks, qx)=fore:#E24000; back:#FFF1A8 +Single Quoted String (Generic, q)=fore:#008000 +Double Quoted String (qq)=fore:#008000 +Back Ticks (qx)=fore:#E24000; back:#FFF1A8 +Regex (qr)=fore:#006633; back:#FFF1A8 +Array (qw)=fore:#003CE6 +Prototype=fore:#800080; back:#FFE2FF +Format Identifier=bold; fore:#648000; back:#FFF1A8 +Format Body=fore:#648000; back:#FFF1A8 +POD (Common)=fore:#A46000; back:#FFFFC0; eolfilled +POD (Verbatim)=fore:#A46000; back:#FFFFC0; eolfilled +Data Section=fore:#A46000; back:#FFFFC0; eolfilled +Parsing Error=fore:#C80000; back:#FFFF80 +[PowerShell Script] +Default= +Comment=fore:#646464 +Keyword=bold; fore:#804000 +Identifier= +String=fore:#008000 +Number=fore:#FF0000 +Operator=bold +Variable=fore:#0A246A +Cmdlet=fore:#804000; back:#FFF1A8 +Alias=bold; fore:#0A246A +[Python Script] +Default= +Comment=fore:#880000 +Keyword=fore:#000088 +Identifier= +String Single Quoted=fore:#008800 +String Double Quoted=fore:#008800 +String Triple Single Quotes=fore:#88B634 +String Triple Double Quotes=fore:#88B634 +Decorator=fore:#F2B600 +Number=fore:#FF4000 +Operator=bold; fore:#666600 +Function Name=fore:#660066 +Class Name=fore:#660066 +[Registry Files] +Default= +Comment=fore:#008800 +Value Name= +String=fore:#008000 +Value Type=bold; fore:#00007F +Hex=fore:#7F0B0C +Added Key=bold; fore:#000000; back:#FF8040; eolfilled +Deleted Key=fore:#FF0000 +Escaped=bold; fore:#7D8187 +GUID in Key Path=fore:#7B5F15 +Parameter=fore:#0B6561 +Operator=bold +[Resource Script] +Default= +Identifier= +Comment=fore:#008000 +Keyword=bold; fore:#0A246A +String=fore:#008000 +Number=fore:#FF0000 +Operator=fore:#0A246A +Preprocessor=fore:#FF8000 +Comment Doc=fore:#808080 +Comment Doc Word=bold; fore:#808080 +Comment Doc Error=italic; fore:#800000 +Task Marker=bold; fore:#208080 +[R-S-SPlus Statistics Code] +Default= +Comment=fore:#008000 +Keyword=bold; fore:#0A246A +Base Package Functions=bold; fore:#7F0000 +Other Package Functions=bold; fore:#7F007F +Number=fore:#0000FF +String=italic; fore:#3C6CDD +Operator=bold; fore:#B000B0 +Identifier= +Infix=fore:#660066 +Infix EOL=fore:#FF4000; back:#E0C0E0; eolfilled +[Ruby Script] +Default= +Comment=fore:#008000 +Keyword=fore:#00007F +Identifier= +Number=fore:#008080 +Operator= +String=fore:#FF8000 +Class Name=fore:#0000FF +Function Name=fore:#007F7F +POD=fore:#004000; back:#C0FFC0; eolfilled +Regex=fore:#000000; back:#A0FFA0 +Symbol=fore:#C0A030 +Module Name=fore:#A000A0 +Instance Var=fore:#B00080 +Class Var=fore:#8000B0 +Data Section=fore:#600000; back:#FFF0D8; eolfilled +[Rust Source Code] +Default= +Identifier= +Keyword=bold; fore:#248112 +Build-In Type=fore:#A9003D +Other Keyword=italic; fore:#248112 +Number=fore:#666666 +Comment=italic; fore:#488080 +String=fore:#B31C1B +Operator=fore:#666666 +Macro Definition=fore:#0A246A +Rust Lifetime=fore:#B000B0 +Parsing Error=fore:#F0F0F0; back:#F00000 +Byte String=fore:#C0C0C0 +[Shell Script] +Default= +Error= +Comment=fore:#008000 +Number=fore:#008080 +Keyword=fore:#0000FF +String Double Quoted=fore:#008080 +String Single Quoted=fore:#800080 +Operator= +Identifier= +Scalar=fore:#808000 +Parameter Expansion=fore:#808000; back:#FFFF99 +Back Ticks=fore:#FF0080 +Here-Doc (Delimiter)= +Here-Doc (Single Quoted, q)=fore:#008080 +[SQL Query] +Default= +Comment=fore:#505050 +Keyword=bold; fore:#800080 +Value Type=bold; fore:#000080 +String=fore:#008000; back:#FFF1A8 +Identifier=fore:#800080 +Quoted Identifier=fore:#800080; back:#FFCCFF +Number=fore:#FF0000 +Operator=bold; fore:#800080 +[Tcl Script] +Default= +Comment=fore:#008000 +Keyword=fore:#0000FF +Number=fore:#008080 +String=fore:#008080 +Operator= +Identifier=fore:#800080 +Substitution=fore:#CC0000 +Modifier=fore:#FF00FF +[TOML Config] +Default= +Keyword=bold; fore:#FF0080 +Comment=fore:#008000 +Section=bold; fore:#000000; back:#FFF1A8; eolfilled +Key=bold; fore:#5E608F +Assignment=bold; fore:#FF2020 +Value=fore:#202020 +Number=fore:#0000E0 +Date-Time=fore:#950095 +String=italic; fore:#606060 +Parsing Error=fore:#FFFF00; back:#A00000; eolfilled +[VBScript] +Default= +Comment=fore:#808080 +Keyword=bold; fore:#B000B0 +Identifier= +String=fore:#008000 +Number=fore:#FF0000 +Operator= +[VHDL] +Default= +Comment=fore:#008800 +Number=fore:#FF0000 +String=fore:#008000 +Operator=fore:#B000B0 +Identifier= +Keyword=bold; fore:#0A246A +Standard Operator=bold; fore:#0A246A +Attribute= +Standard Function= +Standard Package= +Standard Type=fore:#FF8000 +[Visual Basic] +Default= +Comment=fore:#808080 +Keyword=bold; fore:#B000B0 +Identifier= +String=fore:#008000 +Number=fore:#FF0000 +Operator= +Preprocessor=fore:#FF9C00 +[Web Source Code] +Default= +HTML Tag=fore:#648000 +HTML Unknown Tag=fore:#C80000; back:#FFFF80 +HTML Attribute=fore:#FF4000 +HTML Unknown Attribute=fore:#C80000; back:#FFFF80 +HTML Value=fore:#3A6EA5 +HTML String=fore:#3A6EA5 +HTML Other Inside Tag=fore:#3A6EA5 +HTML Comment=fore:#646464 +HTML Entity=fore:#B000B0 +HTML Element Text= +XML Identifier=bold; fore:#881280 +SGML=fore:#881280 +CDATA=fore:#646464 +ASP Start Tag=bold; fore:#000080 +PHP Start Tag=bold; fore:#000080 +PHP Default= +PHP Comment=fore:#FF8000 +PHP Keyword=bold; fore:#A46000 +PHP String=fore:#008000 +PHP Simple String=fore:#008000 +PHP Number=fore:#FF0000 +PHP Operator=fore:#B000B0 +PHP Variable=italic; fore:#000080 +PHP String Variable=italic; fore:#000080 +PHP Complex Variable=italic; fore:#000080 +JS Default= +JS Comment=fore:#646464 +JS Keyword=bold; fore:#A46000 +JS Identifier= +JS String=fore:#008000 +JS Regex=fore:#006633; back:#FFF1A8 +JS Number=fore:#FF0000 +JS Symbols=fore:#B000B0 +ASP JS Default= +ASP JS Comment=fore:#646464 +ASP JS Keyword=bold; fore:#A46000 +ASP JS Identifier= +ASP JS String=fore:#008000 +ASP JS Regex=fore:#006633; back:#FFF1A8 +ASP JS Number=fore:#FF0000 +ASP JS Symbols=fore:#B000B0 +VBS Default= +VBS Comment=fore:#646464 +VBS Keyword=bold; fore:#B000B0 +VBS Identifier= +VBS String=fore:#008000 +VBS Number=fore:#FF0000 +ASP VBS Default= +ASP VBS Comment=fore:#646464 +ASP VBS Keyword=bold; fore:#B000B0 +ASP VBS Identifier= +ASP VBS String=fore:#008000 +ASP VBS Number=fore:#FF0000 +[XML Document] +Default= +XML Tag=fore:#881280 +XML Attribute=fore:#994500 +XML Value=fore:#1A1AA6 +XML String=fore:#1A1AA6 +XML Other Inside Tag=fore:#1A1AA6 +XML Comment=fore:#646464 +XML Entity=fore:#B000B0 +XML Element Text= +XML Identifier=bold; fore:#881280 +SGML=fore:#881280 +CDATA=fore:#646464 +[YAML] +Default= +Comment=fore:#008800 +Identifier=bold; fore:#0A246A +Keyword=fore:#880088 +Number=fore:#FF8000 +Reference=fore:#008888 +Document=bold; fore:#FFFFFF; back:#000088; eolfilled +Text=fore:#404040 +Error=bold; italic; fore:#FFFFFF; back:#FF0000; eolfilled +Operator=fore:#333366 diff --git a/test/test.cmd b/test/test.cmd new file mode 100644 index 000000000..d0a9d0235 --- /dev/null +++ b/test/test.cmd @@ -0,0 +1,10 @@ +@echo off +setlocal EnableDelayedExpansion + +set/a"b=50, c=111" + +for /L %%N in (1,1,1000) do ( + echo. !b:~0,-1!.!b:~-1! !c:~0,-1!.!c:~-1! + timeout /t 1 2>&1 >nul + set/a"b+=1,c+=1" +) \ No newline at end of file diff --git a/test/test.txt b/test/test.txt new file mode 100644 index 000000000..e9e8a22e4 --- /dev/null +++ b/test/test.txt @@ -0,0 +1,22 @@ +Software\Microsoft\Windows10\ +Software\Microsoft\Windows10\ +Software\Microsoft\Windows10\ +Software\Microsoft\Windows10\ +Software\Microsoft\Windows10\ +Software\Microsoft\Windows10\ +Software\Microsoft\Windows10\ +Software\Microsoft\Windows10\ +Software\Microsoft\Windows10\ +Software\Microsoft\Windows10\ +Software\Microsoft\Windows10\ +Software\Microsoft\Windows10\ +Software\Microsoft\Windows10\ +Software\Microsoft\Windows10\ +Software\Microsoft\Windows10\ +Software\Microsoft\Windows10\ +Software\Microsoft\Windows10\ + +This is an old bug (reappeared): +- Selection with mouse (Shift+Alt/mouse) +- Replace selection --> only last line is replaced. +- If selection with arrow --> no problem ! \ No newline at end of file diff --git a/test/test_files/StyleLexers/styleLexRegistry/Test.reg b/test/test_files/StyleLexers/styleLexRegistry/Test.reg new file mode 100644 index 0000000000000000000000000000000000000000..3c9b021ae896af027a5f47802f17ef145347c0a5 GIT binary patch literal 960 zcmb`FT}uK%6o%jHp#LD=Z#cWUA4C_s>qbySSQe2Hl~Ph@s1PCj_3AmJ3Eh-|3}@zi z&3Vt)=f{PH8mX_bUNu!s9S!t=ZmO9kdP7rT9U_g9YdXh1!8$}9A-A-n24`Dap00GD zL;hUqMy0yM>mVKL47saQ_>Ov5?6)C|^-Po#-69X*dusDe_2dy>bnTuJ zmklo>VhBo(Ch<8KLg~@$hxNsB$=Ak9$kw`Lv12k0xGTsiU34yjOTCxXoO5ER@Y#h} zGW;9=z}v(G