Update scintilla with https://www.scintilla.org/scintilla537.zip
Release 5.3.7
Released 22 September 2023.
For GTK on macOS, fix popup window behaviour by setting type hints. Bug #2401.
For GTK, fix assertion failure on some systems when an INDIC_SQUIGGLEPIXMAP drawn for a zero-width character.
For Qt, allow parent window to handle context menu events by setting as ignored. Bug #2395.
For Qt, fix potential crash when using IME with large amount of text selected.
For Windows, fix building with non-English environment. Bug #2400.
and lexilla https://www.scintilla.org/lexilla527.zip
Release 5.2.7
Released 22 September 2023.
Fix building on Windows with non-English environment. Pull request #200.
Bash: fix line continuation for comments and when multiple backslashes at line end. Issue #195.
Bash: treat += as operator and, inside arithmetic expressions, treat ++ and -- as operators. Issue #197.
Bash: improve backslash handling inside backquoted command substitution and fix $ at end of backtick expression. Issue #194.
Bash: treat words that are similar to numbers but invalid wholly as identifiers. Issue #199.
Bash: consistently handle '-' options at line start and after '|' as identifiers. Issue #202.
Bash: handle '-' options differently in [ single ] and [[ double ]] bracket constructs. Issue #203.
F#: improve speed of folding long lines. Issue #198.
HTML: fix invalid entity at line end and terminate invalid entity before invalid character. Issue #192.
Fix#13991, fix#14062, close#14173
It will allow for the Notepad++ to be a "restartable app", like some other SW can do today (eg Google Chrome, Mozilla Firefox or all the Microsoft UWP apps).
This is to create a seamless experience wherein, if you have to reboot your PC, you can now pick back up from where you left off and resume being productive.
The OS app-restart feature needs at least Windows 10 (20H1) and the user has to switch on the "Restart apps" in the system Settings (subsection Accounts > Sign-in options).
Implemented as per previous discussion: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/12541#issuecomment-1332662024
To disable this feature, add "noRestartAutomatically.xml" into "%APPDATA%\Notepad++\" or Notepad++ installation directory.
Fix#9722, fix#11721, fix#11934, close#14074
With VS 2022 17.7 this error appears
Z:\DevStudio\Work\notepad-plus-plus\PowerEditor\src\WinControls\Preference\preferenceDlg.cpp(3374): error C26819: Unannotated fallthrough between switch labels (es.78). [Z:\DevStudio\Work\notepad-plus-plus\PowerEditor\visual.net\notepadPlus.vcxproj]
Close#14005
Add translation texts for these commits:
* Fix menu Tools contains 2 SHA-256 item while using localization (5b52386)
* Add SHA-512 hash features (4ffd897)
* [xml] Add missing entries in english.xml for SHA-1/SHA-512 (d7aee68)
* Add change history navgation commands (d9b9868)
* Fix inaccurate find/replace in files result while using invalid regexp (e7f7c31)
* Remove "Temporary doc site:" from localization files (c143a4a)
Close#13814
update to Scinitlla Release 5.3.6 (https://www.scintilla.org/scintilla536.zip)
Released 26 July 2023.
Redraw calltip after showing as didn't update when size of new text exactly same as previous. Feature #1486.
On Win32 fix reverse arrow cursor when scaled. Bug #2382.
On Win32 hide cursor when typing if that system preference has been chosen. Bug #2333.
On Win32 and Qt, stop aligning IME candidate window to target. It is now always aligned to start of composition string. This undoes part of feature #1300. Feature #1488, Bug #2391, Feature #1300.
On Qt, for IMEs, update micro focus when selection changes. This may move the location of IME popups to align with the caret.
On Qt, implement replacement for IMEs which may help with actions like reconversion. This is similar to delete-surrounding on GTK.
and Lexilla Release 5.2.6 (https://www.scintilla.org/lexilla526.zip)
Released 26 July 2023.
Include empty word list names in value returned by DescribeWordListSets and SCI_DESCRIBEKEYWORDSETS. Issue #175, Pull request #176.
Bash: style here-doc end delimiters as SCE_SH_HERE_DELIM instead of SCE_SH_HERE_Q. Issue #177.
Bash: allow '$' as last character in string. Issue #180, Pull request #181.
Bash: fix state after expansion. Highlight all numeric and file test operators. Don't highlight dash in long option as operator. Issue #182, Pull request #183.
Bash: strict checking of special parameters ($*, $@, $$, ...) with property lexer.bash.special.parameter to specify valid parameters. Issue #184, Pull request #186.
Bash: recognize keyword before redirection operators (< and >). Issue #188, Pull request #189.
Errorlist: recognize Bash diagnostic messages.
HTML: allow ASP block to terminate inside line comment. Issue #185.
HTML: fix folding with JSP/ASP.NET <%-- comment. Issue #191.
HTML: fix incremental styling of multi-line ASP.NET directive. Issue #191.
Matlab: improve arguments blocks. Add support for multiple arguments blocks. Prevent "arguments" from being keyword in function declaration line. Fix semicolon handling. Pull request #179.
Visual Prolog: add support for embedded syntax with SCE_VISUALPROLOG_EMBEDDED and SCE_VISUALPROLOG_PLACEHOLDER.
Styling of string literals changed with no differentiation between literals with quotes and those that are prefixed with "@". Quote characters are in a separate style (SCE_VISUALPROLOG_STRING_QUOTE) to contents (SCE_VISUALPROLOG_STRING).
SCE_VISUALPROLOG_CHARACTER, SCE_VISUALPROLOG_CHARACTER_TOO_MANY, SCE_VISUALPROLOG_CHARACTER_ESCAPE_ERROR, SCE_VISUALPROLOG_STRING_EOL_OPEN, and SCE_VISUALPROLOG_STRING_VERBATIM_SPECIAL were removed (replaced with SCE_VISUALPROLOG_UNUSED[1-5]). Pull request #178.
Fix#13901, fix#13911, fix#13943, close#13940
Also change open/save "Last Used Directory" behaviour - on last changed directory changed in open/save dialog dialog instead on pressing OK.
Fix #13914, close#13918
Currently we cannot accept e.g. the "\\?\C:\file.", but when someone tries to open the standard variant 'C:\file.', we should accept that, as this is the way how to work with filenames without an extension.
Fixes#12849, close#13888
One had to click on the Tools -> MD5 -> Generate from files... twice for showing up the dialog (only for the first time, next time it was ok).
Caused by the previous 'Add SHA-512 hash features' commit.
Close#13891
Currently, there is a bug in notepad++'s add extension feature only for Korean input after it was changed to hooking-based in the commit below.
b5a5baf#diff-eeb5624a35a43795da4eb970149a9ce7d22858b678a242affd2357520ea3e9f2R607
Bug
Attempting to save via Enter appends the last character to the extension.
Candidate mode is similar, with more varied issues depending on IME.
Cause
the hooking function is executed before the Hangul composition is completed and the last character is added after the extension.
Same for Candidate mode.
Workaround
It is almost impossible to fix issue 2 while maintaining the current Enter hooking
Exiting Candidate Mode can be done by pressing Enter, ESC, number key, or clicking on a candidate character, but there is too much code to cover all of these cases.
In addition, the Windows input framework is fragmented into IMM and TSF, and various IMEs have different implementations, so it is almost impossible to determine the state of Candidate or Hangul composition through IME hooking.
I have seen differences in the events fired by different Windows versions and different IME programs for the same IME behavior.
This PR solves problem 1 and partially solves problem 2 by not saving with Enter when in Hangul mode.
Fix#11582, fix#12225, fix#12366, close#13788
Use reference instead of copy for the sorting result.
Also improve lines sorting performance slightly: Sorting a 200 MB text file takes 13.71 seconds instead of 14.63 seconds.
Fix#10435, close#13852
Enables the folding capabilities of Lexilla's Assembly lexer by:
- adding the currently [unused keyword groups], `Directives4Foldstart` and `Directives4Foldend`;
b5e2e9d737/lexilla/lexers/LexAsm.cxx (L101-L109)
- adding some fold-trigger keywords to the new `Directives4Foldstart` and `Directives4Foldend` groups, and *duplicating* them in the existing `Directives` group, following [these instructions].
- activating a *selection* of the lexer's [optional folding properties]. Since `fold.asm.comment.explicit` is not likely to be popular, the default delimiters `;{` and `;}` are permanent, and `fold.asm.explicit.anywhere` is *not* turned on. Users who want different options can always use [Python Script] to set them dynamically.
There are plenty of *more* candidate keywords than what I've added, but I'm not very familiar with [Microsoft's macro assembler].
Fix#13758, fix#9888, close#13762
Update translations for these commits:
* GUI Enhancement: User Define dlgs (052626c)
* Make all the localization files pretty printed (3c15ff5)
* GUI Enhancement: Plugins Admin dialog (4e0f504)
* GUI enhancement: Find in Finder dialog (af8b339)
* GUI Enhancement: General & Editing sections in Preferences dialog (a1d7db8)
* GUI Enhancement: About, Debug, Save dialogs (1806b89)
* Add "open new blank document in addition on startup" ability (61503a2)
Close#13697
To test fix, try making file
```
f
f
```
and recording macro of find/replace form searching for f, then running until EOF.
This does not break any existing behavior, including:
- macros where the cursor moves towards EOF but line num doesn't change (those already stopped after one iteration)
- macros where line(s) are deleted with every iteration (even if line number doesn't change, they run until file empty)
- macros where the line number increases with each iteration
- macros where the cursor advances up or down with each iteration but would eventually stop anyway (those end at the correct time)
Fix#13342, close#13587
To enable/disable this feature, go to New Document section of Preferences dialog, and check/uncheck "Always open a new document in addition at startup" checkbox.
Fix#11134, fix#9535, fix#5527, close#13738
When session.xml is written while Notepad++ exit, it'll be load for checking if it's an valid xml file.
If not, then it will be replaced by the old session file (if any).
This commit renames session.xml to session.xml.fail2Load so in case of the situation user can provide session.xml.fail2Load to devs for analyzing.
Ref #13694Close#13741
update to Scinitlla Release 5.3.5 (https://www.scintilla.org/scintilla535.zip)
Released 31 May 2023.
On Win32, implement IME context sensitivity with IMR_DOCUMENTFEED. Feature #1310.
On Win32 remove dependence on MSIMG32.DLL by replacing AlphaBlend by GdiAlphaBlend. Bug #1923.
On Qt, stop movement of IME candidate box.
On Qt, report correct caret position within paragraph for IME retrieve surrounding text.
On Qt for Cocoa, fix crash in entry of multi-character strings with IME.
and Lexilla Release 5.2.5 (https://www.scintilla.org/lexilla525.zip)
Released 31 May 2023.
Add CharacterSetArray constructor without setBase initial argument for common case where this is setNone and the initialSet argument completely defines the characters. This shortens and clarifies use of CharacterSetArray.
Bash: implement highlighting inside quoted elements and here-docs. Controlled with properties lexer.bash.styling.inside.string, lexer.bash.styling.inside.backticks, lexer.bash.styling.inside.parameter, and lexer.bash.styling.inside.heredoc. Issue #154, Issue #153, Feature #1033.
Bash: add property lexer.bash.command.substitution to choose how to style command substitutions. 0 → SCE_SH_BACKTICKS; 1 → surrounding "$(" and ")" as operators and contents styled as bash code; 2 → use distinct styles (base style + 64) for contents. Choice (2) is a provisional feature and details may change before it is finalized. Issue #153.
Bash: fix nesting of parameters (SCE_SH_PARAM) like ${var/$sub/"${rep}}"}. Issue #154.
Bash: fix single character special parameters like $? by limiting style. Issue #154.
Bash: treat "$$" as special parameter and end scalars before "$". Issue #154.
Bash: treat "<<" in arithmetic contexts as left bitwise shift operator instead of here-doc. Issue #137.
Batch: style SCE_BAT_AFTER_LABEL used for rest of line after label which is not executed. Issue #148.
F#: Lex interpolated verbatim strings as verbatim. Issue #156.
VB: allow multiline strings when lexer.vb.strings.multiline set. Issue #151.
Close#13729
Correct the logic when inserting external lexer's language into language menu,
while inserting external lexer's language into language menu, also search in submenu if compact language menu is used.
Fix also a similar issue in Preferences dialog when enabling a previously disabled language.
Fix#9516, close#13660
- increase width for some items for translation
- make translation consistent between source and xml files
- reorder items for consistent tab focus
Ref #13627, ref 0cad36d#r108675058
Fix#13657, fix#13676, close#13632
The old explorerContextMenuEntryLocal.ini file is no longer used, and
keeping it here causes confusion with people adding pull requests to
update it.
This removes it, along with the .gitattributes file, since it is no
longer needed with the ini file gone.
Close#13662
* Update translations for these commits:
* Add hide/show ability of Control Characters (C0 & C1) and Unicode EOL (0cad36d)
* Enhance Run Macro dialog (87e34c1)
* Backup old version of shortcuts.xml (5b5c30b)
* GUI enhancement: Find Characters in Range dialog (997ef82)
* GUI enhancement: MD5 and SHA256 Hash dialogs (7e6c4b3)
* GUI Enhancement: Preference Print sub-dialog (6b19445)
* Some translations are modified to be clear.
Close#13518
- main dlg shared part - tab focus reorder
- string dlg (User language name, New tab name) - make edit ctrl larger
- remove obsolete style
- add initializer
- fix override warnings
- optimize dark mode
- make translation consistent between source code and english lang xml files
Fix#13615, close#13616
Commit 5b5c30b0d3 backup current shortcuts file before rewritting it, and gives a warning to users.
However, when a PC installs v8.5.3 (or later version) from scratch (ie. no v8.5.2 or previous version installed), there should be no warning and no backup.
This commit remove unnecessary cases for warning user (and backup shortcuts file).
Enhance #13589 & #13599Close#13609
An enhancement (fff5f9b - it will be in v8.5.3) makes Macro & Run menu completely localizable. However, it will bring a regression and critical bug for all macro recorded by v8.5.2 and previous versions.
In order to remedy this issue, shortcuts.xml will be copied to shortcuts.xml.v8.5.2.backup before being written. So user can recover backup file if they want to back to v8.5.2 or previous version with the old data.
Fix#13589, close#13599
The macro/run commands menu folder (submenu entry) can be UTF8 characters.
After modification of macro/run shortcut commands, the macro/run menu UTF8 folder names can be saved correctly by this commit, but in Unicode character number form instead of human readible characters.
Fix#12670, close#13516
While there are the UDL in the userDefineLangs folder (new system) and a (or some) UDL in "userDefineLang.xml" (old system). The complete UDL deletion in "userDefineLang.xml" not remove "userDefineLang.xml" file.
This PR fixes the problem.
Fix#8101, close#13513
Add translations for these commits:
* Add ability to do leading spaces with ColumnEditor (7f54a4b)
* Add more items and HTML Hexadecilmal column to ASCII panel (9b67c93)
* Add hits in-progress increased number to Search Progress dialog (508b3fa)
Close#13451
Update Japanese translation for these commits:
* Replace recent file ValueDlg with edit fields & fix DocSwitcher RTL problem (269e78b)
* Make tray icon context menu translatable (52d3c36)
* Add ability to copy "Find what" to "Replace with" and vice versa (12f649b)
Close#13339
Add built-in support for Microsoft's SQL dialect, Transact-SQL, used by Microsoft SQL Server. This enables Lexilla's dedicated MS SQL lexer.
To preserve the current file extension mapping, the new lexer is mapped to the *.tsql file extension only.
Users can select "Microsoft Transact-SQL" from the Language menu to apply MS SQL Server style to scripts with the *.sql extension.
Keywords and styles copied from https://www.scintilla.org/mssql.propertiesFix#5940, fix#7988, fix#11718, fix#12610, fix#13160, close#13184
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
This feature use the same swap button for new added actions:
Use mouse right click on swap button to have popup menu for toggling among "Swap Replace with Find", "Copy from Find to Replace" and "Copy from Replace to Find".
Related to #12195Fix#12122, close#13332
Close#13262
* update translation to current workprint of english.xml
* change version scheme to a yyyy.mm.dd format for better versioning
* removed redundant comments
Add translations for these commits:
* Add Begin/End Select in Column Mode command (0792452)
* Add show non-printable characters command (aaab190)
* Make Non-Print Characters show by default (dc99ce1)
* Translate 'Compact Language Menu' popup dialog (43d9f0d)
* Add option to make auto-completion list brief (9eab1f5)
* Make two items in progress dialog translatable (3f13957)
* Make categories in the Shortcut Mapper dialog translatable (f7fcab4)
* Make theme warning message translatable (switching unsaved theme to another) (0c704fd)
* Apply tab colors to document list items and add groups to document list. (37963ea)
* Make Context menu in Shortcut Mapper (Modify, Delete, Clear) translatable (f403b12)
* Fix translation issue for Dock/Undock label in User-Defined dialog (9627494)
* GUI enhancement: replace auto-complete link mini dlg with slider (caff51c)
* Rename commanfd "Remove Unmarked Lines" to "Remove Non-Bookmarked Lines" (3f3aed4)
* Make "Cannot open file" message translatable (a689635)
* GUI enhancement: use edit field instead of tab size link + mini dlg (8b3f072)
* Set english.xml version right (99e7c5a)
Close#13093
Close#13161
Estuve más de cuatro horas para adaptarlo al english.xml actual y son necesarios más cambios.
Espero que lo acepten para terminar de igualarlo en futuras traducciones.
Windows 11 has its new interface for its explorer context menu. It makes the old "Edit with Notepad++" command hardly accessible. This commit improves the accessibility and also fix issue of run as an administrator (Properties set in Compatibility) in the new context menu command.
It fixes also the context menu command issue under ARM64 architecture (fixed only under Windows 11).
The localization of "Edit with Notepad++" is also possible in this commit.
Note that if the command place of "Edit with Notepad++" context menu command is taken by other application ("\HKEY_CLASSES_ROOT*\shell\pintohome"), the new context menu "Edit with Notepad++" won't be installed. User should install it him/herself.
Fix#10320, fix#10565, fix#4368, fix#8786, fix#10320, fix#10640, fix#10856, fix#10653, fix#7747, fix#6169, fix#92, close#13170
- fix ignored-qualifiers warnings
- fix inconsistent-missing-override warnings
- use -O3 flag for GCC builds to keep inline with scintilla and lexilla
- add clang default settings in props
- add clang detection in debug info
Fix#13099, close#13100
update to https://www.scintilla.org/scintilla533.zip with:
1. Released 8 February 2023.
2. Fix SCI_LINESJOIN bug where carriage returns were incorrectly retained. Bug #2372.
3. Fix SCI_VERTICALCENTRECARET to update the vertical scroll position.
4. When an autocompletion list is shown in response to SCN_CHARADDED, do not process character as fill-up or stop. This avoids closing immediately when a character may both trigger and finish autocompletion.
5. On Cocoa fix character input bug where dotless 'i' and some other extended Latin characters could not be entered. The change also stops SCI_ASSIGNCMDKEY from working with these characters on Cocoa. Bug #2374.
6. On GTK, support IME context. Feature #1476.
7. On GTK on Win32, fix scrolling speed to not be too fast. Bug #2375.
8. On Qt, fix indicator drawing past left of text pane over margin. Bug #2373, Bug #1956.
9. On Qt, allow scrolling with mouse wheel when scroll bar hidden.
and https://www.scintilla.org/lexilla522.zip with
1. Released 8 February 2023.
2. C++: Fix keywords that start with non-ASCII. Also affects other lexers. Issue #130.
3. Matlab: Include more prefix and suffix characters in numeric literals. Issue #120.
4. Matlab: More accurate treatment of line ends inside strings. Matlab and Octave are different here. Issue #18.
5. Modula-3: Don't treat identifier suffix that matches keyword as keyword. Issue #129.
6. Modula-3: Fix endless loop in folder. Issue #128.
7. Modula-3: Fix access to lines beyond document end in folder. Issue #131.
8. Python: Don't highlight match and case as keywords in contexts where they probably aren't used as keywords. Pull request #122.
9. X12: Support empty envelopes. Bug #2369.
update CMakeLists.txt to latest changes within vcxproj file
Close#13082
In 94b83158dc, closing doc in document list was on middle mouse button down.
This commit make it on middle mouse button up (for aligning with closing tab behaviour in Notepad++, also with OS middle mouse button click behaviour).
Word autocomplete change from case sensitive search to variable search based on _ignoreCase unless language type is text. This allows text documents to retain case sensitive search to respect typed case as the issue only affects case insensitive Data/Programming languages. If normal.xml exist in the autocomplete folder then xml defaults apply for text so would be case insensitive by default unless overridden by the xml setting <Environment ignoreCase="no" />.
Fix#13060, close#13062
Add translations for these commits:
* Add support selection for "EOL to Space" commands (81a77f13a6)
* Add setting for panels to ignore '-nosession' (307fd2fcd2)
Close#12750
Currently, it's only JSONC (with js comment supported).
It will be enhanced in the future.
Usage: set your file to JSON5 via language menu, or change file extension to .json5 or .jsonc.
Note that the keywords and stylers are shared with JSON.
Fix#11676, fix#11713, close#12761