Commit Graph

5498 Commits

Author SHA1 Message Date
Christian Grasser c5477ee21c Add Github CI build
- add first version of GH CI build
- fix merge issue for lexilla.mak
- fix clang compiler issue:
       ..\lexers\LexObjC.cxx(50,20): warning : unused function 'IsADigit' [-Wunused-function] [D:\a\notepad-plus-plus\notepad-plus-plus\lexilla\src\Lexilla.vcxproj]
- fix functionlist unittest run for github
- make functionList unittest compatible with newer powershell 7

Fix #12177, close #14291
2023-11-02 12:16:31 +01:00
Don Ho cab4d40b3f Add multi-select commands
Add "Multi-select All" & "Multi-select Next" for 4 modes to multi-select the occurrences respectively:
1. Match Case Only
2. Match Whole Word Only
3. Match Case & Whole Word
4. Ignore Case & Whole Word

Add also 2 commands "Undo the Latest Added Multi-Select" & "Skip Current && Go to Next Multi-select" for undoing latest added slection & skipping current selection and do the next one.

Users can asign the shortcuts to these 10 commands so multi-occurrence can be easily selected via shortcuts and be modified silmutanously.

This feature is inspired by: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/8203#issuecomment-623712205

Fix #8203, close #14295
2023-11-01 03:40:54 +01:00
Don Ho 89278e1dc7 Force to enable multi-select feature in Scintilla 2023-10-30 15:40:49 +01:00
Adrian Kulawik 4ba92b04ec Fix "Hide lines" command hiding unselected lines issue
To solve this issue, lambda removeMarker can be set to only remove just begin or end marker. By doing so, the process of merging adjacent hidden sections is limited and as a result, lines that shouldn't be hidden remain visible.

Fix #14166, close #14167
2023-10-29 15:40:14 +01:00
Don Ho 1c27e64126 Use double quot instead of single quot
Fix #14265
2023-10-29 02:48:22 +02:00
Don Ho e2fb15a703 Fix docking panel crash due to messing up config.xml
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/13084#issuecomment-1783787209
2023-10-28 19:24:27 +02:00
xomx 5c80be7667 Fix silent installer mode when Notepad++ is running issue
When Notepad++ installer with the '/S' optional param is used while a previously installed Notepad++ instance is running, it does not update the locked main 'notepad++.exe' binary, but the installer still reports success (exit code == 0, regkeys actualized according to the installer version used...).

Moreover - because the installation/upgrade then looks like it is done, some automatic update services like winget cannot be used until a next N++ version is released (winget erroneously reports that the current version is already installed...).

The fix consist to set error code and quit installer, when installer in silent mode, and there's an instance of Notepad++ open.

Fix #10189, fix #10277, fix #22514, fix #14236, fix partially #8514, close #14251
2023-10-27 20:50:57 +02:00
Don Ho dd6140f8c0 Fix bugs for remembering inaccessible file of past session (placeholder)
Fix #14271, fix #14272, fix #14273
2023-10-27 17:31:21 +02:00
Alan Kilborn e5ee4c3638 Fix incoherent behaviour of "Duplicate Current Line" menu command
Fix incoherent behaviour of "Duplicate Current Line" menu command with its keyboard shortcut Ctrl-D, which duplicates also the selection.

Fix #5298, close #14255
2023-10-25 03:03:52 +02:00
xomx 72c5175b33 Fix missing session invalid error for user session & enhance NPPM_GETNBSESSIONFILES
New specs of NPPM_GETNBSESSIONFILES (which is retro-compatible):

======================
NPPM_GETNBSESSIONFILES

Retrieves the number of files to load in the session sessionFileName. sessionFileName should be a full path name of an xml file.

Parameters:

wParam [out]
BOOL* isValidXML, if this pointer is null, then this parameter will be ignored. TRUE if XML is valid, otherwise FALSE.

lParam [in]
const TCHAR * sessionFileName

Return value:
Returns 0 if sessionFileName is an empty string/NULL, or XML session file is corrupted/invalid, else the number of files.
======================

Other minor improvements:
- checking also for a possible ShellExecute errors
- removing the isAllSuccessful boolean, as it is no longer needed.

Fix #14228, close #14232
2023-10-23 01:09:58 +02:00
Don Ho 08794510be Make session inaccessible files remembered (part 2/2)
Following the commit: 4248c2ae22

If the user enables the option "Remember inaccessible files from past session" (disabled by default), and an opened session (the default session "session.xml" or a user session) contains one or several inaccessible files, a message dialog will appear, giving the user the choice to open or not open the placeholders. If the user chooses to open them, empty and read-only documents will be opened as placeholders for these inaccessible files.

Fix #12079, fix #12744, fix #13696, close #14252
2023-10-23 00:07:00 +02:00
molsonkiko 4248c2ae22 Make session inaccessible files remembered (part 1/2)
Add the ability of "placrholders" (the empty document) for the inaccessible files of past session.

The inaccessible files from the current (default) session (i.e., session.xml) will not be lost in the next startup of Notepad++.
Furthermore, if file status detection is enabled in Notepad++ (default setting: ON), and the previously inaccessible files become accessible again (e.g., USB drive is inserted or network drive is remounted), the resurrected files can be reloaded on-the-fly without restarting Notepad++. The user will be prompted to reload if the placeholder is switched in.

Fix #12079, fix #12744, fix #13696, close #14168
2023-10-23 00:00:01 +02:00
xomx bbbf3e8dfc Fix empty message showing while cancelling session file saving dialog
Fix #14235, close #14237
2023-10-18 16:05:58 +02:00
mpheath 089f7d6935 Make JSON5 to use JSON keywords
Fix #14205, close #14223
2023-10-18 16:03:22 +02:00
Don Ho 97dd708e23 Notepad++ release 8.5.8 2023-10-17 14:26:05 +02:00
Don Ho 8e43b0adba Fix user created session modified in multiInst mode
ref:
https://github.com/notepad-plus-plus/notepad-plus-plus/issues/12079#issuecomment-1763399514
2023-10-15 18:00:38 +02:00
Karlo-F 8b50f876c9 [xml] Update croatian.xml to v8.5.8
Close #14229
2023-10-14 17:31:12 +02:00
xomx a489388b57 [xml] Update czech.xml to v8.5.8
Close  #14231
2023-10-14 17:28:41 +02:00
Don Ho 09499725de Fix user created session saved on exit issue if multi-Inst is enabled
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/12079#issuecomment-1762047207
2023-10-14 02:07:08 +02:00
Don Ho 85d5f972a8 Do not modify user created session even for inaccessible files
Fix partially #12079
2023-10-13 18:17:54 +02:00
xomx 64e95cc61c fix unwanted Afrikaans installer language
A minimalist variant of the previous PR.

Fix #3844, fix #7574, close #14224
2023-10-10 17:25:09 +02:00
~GOLEM~ d972240db6 [xml] Update russian.xml
Close #14222
2023-10-09 02:33:03 +02:00
Juan 1152780de2 [xml] Update spanish.xml v8.5.5
New revision and update

Close #14115
2023-10-08 19:59:07 +02:00
Juan 20a146a7a4 [xml] Update galician.xml v8.5.5
New revision and update

Close #14116
2023-10-08 19:56:35 +02:00
schnurlos 09833992b5 [xml] Update german.xml
Following cf8ddc18c9

Close #14118
2023-10-08 19:52:04 +02:00
~GOLEM~ 25759679e6 [xml] Update russian.xml v8.5.7
Close #14111
2023-10-08 19:46:29 +02:00
Patriccollu 215897d304 [xml] Update Corsican translation for Notepad++ 8.5.8
Close #14122
2023-10-08 19:34:15 +02:00
Andrei Miloiu 27a82f4aac Update Romanian translation
Close #14123
2023-10-08 19:28:51 +02:00
rddim bab8be3f29 [xml] Update Bulgarian localization
Close 14140
2023-10-08 19:23:45 +02:00
Marcellomco 14ac877c2c [XML] Update brazilian_portuguese.xml
Added translation for "Fix data loss issue due to no room on disk for saving"

Close #14141
2023-10-08 19:18:42 +02:00
kubalav 6e61660cd7 [xml] Update Slovak translation
Close #14143
2023-10-08 19:15:31 +02:00
yasmise d94e3e9d54 [xml] Update japanese.xml
Add translation texts for these commits:
* Fix data loss issue due to no room on disk for saving (e30ee85)
* Fix Wrong Categories in Shortcuts Mapper (39001d7)
* Make auto-checking of Find InSelection configurable (OFF or resizable) (591b00e)
* Dark mode tweaks and unicode size support for InSelection configurable size (b3179b5)

Close #14147
2023-10-08 19:08:11 +02:00
Tmp341 088f46eba6 [xml] Update Turkish localization
* According to cf8ddc18 and e30ee852 commits.
* Fixed wording in line 257.

Close #14154
2023-10-08 19:06:46 +02:00
Christophe Mateos a8dd49d14d [xml] Update french.xml
Close #14163
2023-10-08 18:57:53 +02:00
Matteo Concato 424f4a1585 Update italian.xml v.8.5.8
Close #14180
2023-10-08 18:55:12 +02:00
Alan Kilborn b3179b5ccb Dark mode tweaks and unicode size support for InSelection configurable size
Followup PR to #14175

Addresses

* https://github.com/notepad-plus-plus/notepad-plus-plus/pull/14175#issuecomment-1751439227

and

* 591b00e538 (commitcomment-129354863)

Close #14217
2023-10-07 19:10:54 +02:00
Alan Kilborn 591b00e538 Make auto-checking of Find InSelection configurable (OFF or resizable)
Set value to 0 to disable auto-checking "In Selection" checkbox in Find dialog.
Set any value to define the length of selected characters to auto-check "In Selection" checkbox in Find dialog.
The default and maximum value is 1024.

Fix #14108, fix #13677, fix #12639, close #14175
2023-10-06 00:32:28 +02:00
PeterCJ d33e297847 Update Stylers for Perl
- update `stylers.model.xml` to have the 41 styles supported by LexPerl
- update `themes\DarkModeDefault.xml` to have the 41 styles supported by LexPerl

Fix  #14192, close #14193
2023-10-05 20:08:12 +02:00
Cerno_b 3fa51efce7 Store and restore just typed search text on arrow key press
Fix #14174, close #14204
2023-10-04 01:48:55 +02:00
Don Ho 0d8a8dff7d Revert "Add recover search string feature after accessing search history"
This reverts commit 1f3b0e6e44 due to the bug.
2023-09-30 01:17:24 +02:00
PeterCJ caf6303896 Update the Perl keywords for Perl v5.38
- update `autoCompletion\perl.xml` to auto-complete on the new keywords/built-in-functions/pragmas
- update `langs.model.xml` to syntax-highlight on the new keywords/built-in-functions/pragmas

Close #14191
2023-09-29 01:28:37 +02:00
Cerno_b 1f3b0e6e44 Add recover search string feature after accessing search history
Fix #14174, close #14187
2023-09-28 16:13:42 +02:00
Don Ho 7bbe4d1ff8 Fix "Single Line Uncomment" uncomments an extra line issue
Fix from: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/12829#issuecomment-1737330242

Fix #12829
2023-09-27 15:42:25 +02:00
Alan Kilborn c4c1089231 Allow Window Windows command to be assigned a shortcut
Fix #14179, close #14183
2023-09-26 20:36:54 +02:00
Christian Grasser cfcf827178 Update Scintilla to v5.3.7 & Lexilla to v5.2.7
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
2023-09-26 17:52:52 +02:00
Don Ho 972329fb0c Fix unconsist "In select" behaviour in Find dialog
ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14108#issuecomment-1719653099
2023-09-26 01:35:49 +02:00
Don Ho cb3c632444 Fix some typos
Fix #14182
2023-09-25 20:45:41 +02:00
xomx 939b00a61e Removing unused _isRestartedByOS member variable
This amends the previous #14074 PR.

Close #14171
2023-09-22 19:25:54 +02:00
xomx 87efdf5084 Add Win10+ OS Restart-app feature
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
2023-09-21 19:56:53 +02:00
Don Ho 39001d7a02 Fix Wrong Categories in Shortcuts Mapper
and make localization more accurate.

Fix #13285, close #14156
2023-09-20 23:07:08 +02:00