Compare commits

...

2493 Commits
v8 ... master

Author SHA1 Message Date
xomx
4b0fc8d316 Improve Notepad++ UAC operations largely
This native implementation of UAC (User Account Control) operations in Notepad++ is designed not only to substitute the deprecated & problematic NppSaveAsAdminPlugin - which interferes with the FlushFileBuffers WINAPI used by Notepad++ - but also to support any future Notepad++ feature which may require elevated privileges.

When a user attempts an operation that fails due to indufficient rights, the system performs only that specific requested action with elevated privileges. After completing it, the elevated Notepad++ instance immediately exits, returning the user to his/her original Notepad++ instance seamlessly, as if nothing unusual occured.

This mechanism is independent of any Notepad++ features such as backup-snapshot or multi-instance mode. All UAC-related operations are executed at the very beginning of the wWinMain function, ensuring they are not affected by mutex handling, or other internal logic.

Importantly, this approach eliminates the need for a separate signed helper executable like NppAdminAcess.exe. Everything is handled within the main Notepad++ project, just as before.

In this commit, the NPP_UAC_SAVE, NPP_UAC_SETFILEATTRIBUTES & NPP_UAC_MOVEFILE are implemented.

Summary of the changes:

added last _dwErrorCode in:
.\PowerEditor\src\MISC\Common\FileInterface.h
.\PowerEditor\src\MISC\Common\FileInterface.cpp

FileManager::saveBuffer adjustment for the NPP_UAC_SAVE_SIGN in:
.\PowerEditor\src\ScintillaComponent\Buffer.cpp

N++ UAC ops signatures definitions & new invokeNppUacOp common func, toggleReadOnlyFlagFromFileAttributes func adjustment for the NPP_UAC_SETFILEATTRIBUTES_SIGN in:
.\PowerEditor\src\MISC\Common\Common.h
.\PowerEditor\src\MISC\Common\Common.cpp

only to fix Notepad_plus::doSave for isEndSessionCritical() in:
.\PowerEditor\src\NppIO.cpp

added getLastFileErrorState() & m_dwLastFileError in:
.\PowerEditor\src\Utf8_16.h
.\PowerEditor\src\Utf8_16.cpp

UAC ops handling at the very start of wWinMain + added new NPP_UAC_ handling nppUacSave and nppUacSetFileAttributes funcs in:
.\PowerEditor\src\winmain.cpp

Fix #886, fix #8655, fix #9561, fix #10302, fix #14990, fix #15008, fix #15137, fix #15323, close #16933
2025-09-02 19:20:59 +02:00
Don HO
dc58d41359 Enhance Column Editor
1. Change the order of GUI items to make the insert mode (dec/hex/oct/bin) more explicit.
2. Reduce the showing time of the warning baloon tip from ~10 seconds to 3.5 seconds.
3. Use ESC keystroke to cancel the warning baloon tip.

ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/16931#issuecomment-3236582042

Note that while the baloon tip showing then clicking on the upper-right 'X', the dialog won't be closed. Instead, the baloon tip will be cancel.
Curiously, clicking on the "Cancel" button under the same context closes the dialog.
The reason could be, while the "Cancel" button being clicked, the focus is changed and the system hides the baloon tip. Whereas the click on the upper-right 'X' doesn't make the focus changed, then the system does nothing.
Anyway such behaviour is a bug, but can happen very rarily.

Close #16959
2025-08-31 12:26:19 +02:00
Don Ho
06750919ac Fix column editor egression: insert column with bad parameters
The regression was introduced by: 1a0e8bea75

Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/16931#issuecomment-3236873787

Close #16951
2025-08-29 18:52:55 +02:00
PeterCJ
1a0e8bea75 Use radix for GUI input fields to match the output in Column Editor
Use hex/oct/bin for GUI input fields, to match the output, and allow choosing a-f vs A-F for output.

Fix #16912, close #16931
2025-08-29 13:15:47 +02:00
PeterCJ
dab30de9c6 Fix font size inconsistencies
No fontSize definitions except in Default Style, and Default Style always = 10pt

Fix #16924, close #16928
2025-08-20 14:07:05 +02:00
Alan Kilborn
5933f791c4 Prevent stale search-result from making selection inside a multibyte character
Fix #16879, close #16897
2025-08-17 22:40:35 +02:00
Don HO
4467a4c99e Notepad++ 8.8.5 release 2025-08-14 01:32:08 +02:00
Don HO
faaa9bee78 Notepad++ 8.8.4 release 2025-08-12 12:09:17 +02:00
Karlo-F
8b5fafca0b [xml] Update croatian.xml translation
Close #16902
2025-08-10 13:25:49 +02:00
Don HO
b56ac80ff7 Fix MSIX singing issue
"error 0x8007000B: The signature hash method specified (SHA512) must match the hash method used in the app package block map (SHA256)."
"The hashAlgorithm specified in the /fd parameter is incorrect. Rerun SignTool using hashAlgorithm that matches the app package block map (used to create the app package)"

Ref: https://learn.microsoft.com/en-us/windows/msix/package/signing-known-issues

Fix https://github.com/notepad-plus-plus/nppShell/issues/70
2025-08-10 13:08:47 +02:00
xomx
5542066816 [xml] Update czech.xml
Close #16906
2025-08-10 12:35:15 +02:00
wzsx150
aed12006a6 Update chineseSimplified.xml
Added and corrected some translations.

Close #16909
2025-08-10 12:31:24 +02:00
Don HO
df87c76724 Fix "Edit with Notepad++" not removed by uninstaller regression (from v8.8.3)
The regression was introduced by:
889efad2e8 (commitcomment-161831592)

Fix #16896
2025-08-05 18:19:06 +02:00
rddim
67693a84a2 [xml] Update Bulgarian localization
Close #16893
2025-08-03 03:00:36 +02:00
Don Ho
3a90f4f8c3 Make NFO font overridable by adding fontName in Lexer "nfo" of stylers.xml
Fix #16839
2025-08-03 02:49:11 +02:00
ArkadiuszMichalski
559085be82 [xml] Update polish.xml to the latest commit
Close #16890
2025-08-02 18:36:10 +02:00
Tmp341
c9f750fe15 [xml] Update Turkish localization
Close #16793
2025-08-02 04:03:49 +02:00
kubalav
4ddcd0b9a6 [xml] Update Slovak translation
Close #16837
2025-08-02 04:01:48 +02:00
Marcellomco
5f101df77e [xml] Update brazilian_portuguese.xml
Close #16842
2025-08-02 03:59:18 +02:00
yasmise
1ccdacc198 [xml] Update japanese.xml
Close #16844
2025-08-02 03:56:45 +02:00
A. Regnander
fb5f1171b9 Update swedish.xml
Close #16843
2025-08-01 21:23:32 +02:00
~GOLEM~
1afd680efb [xml] Update russian.xml
Close #16851
2025-08-01 21:18:32 +02:00
schnurlos
9e7ab3f0fc [xml] Update german.xml
Close #16853
2025-08-01 21:05:08 +02:00
Patriccollu
8c0db1450b [xml] Update Corsican translation for Notepad++ 8.8.3
Close #16857
2025-08-01 20:55:20 +02:00
Andrei-Valentin Miloiu
a75832cf93 Update romanian.xml
Close #16858
2025-08-01 20:45:40 +02:00
Thomas De Rocker
8abf5814fa Update dutch.xml
Close #16866
2025-08-01 20:41:58 +02:00
Krazal
95996b9db9 [xml] Update hungarian.xml
• Make translation up-to-date (see: d6ad51a, f5a34dc, 22c5063)
• Fix too long (truncated) setting labels/options

Close #16880
2025-08-01 20:39:30 +02:00
PeterCJ
6f65d6fa48 Add pyi extension to Python
Fix #16623, close #16888
2025-08-01 18:07:05 +02:00
Don Ho
76c3e30fe3 Fix JavaScript indent settings incorrect behaviour
1. More understandable naming: "javascript.js" to "JavaScript".
2. Disassociate the value of Embedded JS & JavaScript, and remove Embedded JS from the list.
3. Prevent from eventual crash due to null pointer.

Fix #16884, close  #16885
2025-07-31 18:30:31 +02:00
xomx
c710439b51 Fix possible heap memory leak
Close #16883
2025-07-31 17:41:19 +02:00
Christian Grasser
c367ab8966 Some code improvements
Close #16876
2025-07-30 00:06:08 +02:00
Don Ho
bf6fd373d4 Fix JavaScript listed twice in Language Preferences issue
Fix #16861, fix #4521
2025-07-29 20:23:37 +02:00
Don Ho
8fd2d12ab5 Fix crash on indent settings after changing lang name in lang.xml
Fix #16881, close  #16882
2025-07-29 18:53:20 +02:00
Don Ho
07a49ca0f1 Reduce stack memory usage to eliminate the compiling warning
Follow 36aeb8f681

Close #16874
2025-07-27 16:24:13 +02:00
Don Ho
36aeb8f681 Refactoring: use dynamic allocation to reduce stackoverflow risk
ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/16865#issuecomment-3120357091

Close #16871
2025-07-26 19:20:09 +02:00
Don Ho
71fbdae005 Revert "Increase CURRENT_LINESTR variable length of run dialog"
This reverts commit 11bc8107b0947c9b86ce27fd698730497312f65b,
due to the crash caused by stackoverflow.

Fix #16865
2025-07-26 15:40:49 +02:00
Don Ho
11bc8107b0 Increase CURRENT_LINESTR variable length of run dialog
Increase CURRENT_LINESTR variable length from (2048 - 1) to (16384 * 2 - 1).

Fix #16840, close #16859
2025-07-25 14:43:59 +02:00
Don Ho
fe3f609361 Add asNotepad.xml status to Debug Info
Also make debug info readable again.

Fix #16795
2025-07-24 18:46:29 +02:00
Don Ho
22c5063d26 Increase search input length from 2046 to 16383
* The search input length has been extended from (2048 - 1) up to (16384 - 1) characters.
* For saving find input history, only search strings shorter than 2048 characters will be stored for the next session.
* The tooltip warning is displayed in both cases above.

Fix #16749, fix #1088, close #16855
2025-07-23 21:00:50 +02:00
Don Ho
f5a34dcc9f Enhance "Go to settings": guide users to the related setting explicitly
Fix #16846, close #16847
2025-07-21 23:45:01 +02:00
Don Ho
1582c67b63 Update tip info 2025-07-21 14:37:02 +02:00
Don HO
fe42d71db7 Update MVS to v17.14 (MS Visual Studio Community 2022)
Info:
```
Microsoft Visual Studio Community 2022
Version 17.14.0
VisualStudio.17.Release/17.14.0+36109.1
Microsoft .NET Framework
Version 4.8.09032

Installed Version: Community

Visual C++ 2022   00482-90000-00000-AA924
Microsoft Visual C++ 2022
...
```

Close #16581
2025-07-20 17:22:56 +02:00
Don Ho
d6ad51a022 Add warning tip for the max length text on search (Find/Replace)
Fix #16749, close #16834
2025-07-20 15:15:11 +02:00
Don HO
0d98bd24f1 Fix -notabbar & asNotepad.xml stop hiding tabbar regression (from v8.7.9)
The regression is due to the refactoring of tabbar:
ff734af115

Fix #16794, close #16825
2025-07-17 17:18:53 +02:00
Don Ho
f897972070 Fix external lexers showing several time in tab_settings
Fix #16462, close #16826
2025-07-17 17:00:10 +02:00
Don HO
47d120a6cf
Fix the validation date of Notetepad++ certificate
Fix #16827
2025-07-17 00:10:08 +02:00
Don Ho
e8b93575be Revert "Fix "Follow Windows" option makes external lexers show twice in tab settings"
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/16462#issuecomment-3079457421

This reverts commit f234207f5dd8f45ecd97cb08a21aa993e7469b65.
2025-07-16 23:27:21 +02:00
Don Ho
f234207f5d Fix "Follow Windows" option makes external lexers show twice in tab settings
Fix #16462
2025-07-15 21:10:30 +02:00
Gargaj
a6cd3de8a7 Add button to insert variables in the run dialog
Close #16820
2025-07-15 14:44:17 +02:00
Konstantin Kotenko
a93b533e81 Reword German FolderAsWorspaceSubfolderExists
The German message was incomprehensible and did not mention the workspace panel at all - it was just telling to "remove the folder"

Close #16822
2025-07-15 14:28:52 +02:00
Don Ho
aef5ff18af Remove SHA256 for X.509 certificates 2025-07-12 19:52:38 +02:00
Don Ho
83d5b18d4d Fix resizing Shortcut Mapper height makes a mess
Regression was introduce by:
dddbf24ff5

Fix #16817
2025-07-12 19:44:07 +02:00
Niranjen P
dddbf24ff5 Add a clear button for filter field in Shortcut Mapper
Fix #15742, close #16713
2025-07-11 16:13:51 +02:00
Don HO
45ce3418da
Add more Notepad++ Root Certificate download locations 2025-07-10 00:01:34 +02:00
Don Ho
ebc6af14c0 Notepad++ release v8.8.3 2025-07-09 21:23:06 +02:00
Don Ho
03063ebf4b Use self-signed certificate 2025-07-03 21:06:35 +02:00
A. Regnander
dfa7417daa Update swedish.xml
Close #16771
2025-07-03 20:50:04 +02:00
Maverick Doan
889efad2e8 Fix uninstaller security issue (CVE-2025-49144)
Fix #16787, close #16788
2025-07-03 18:49:12 +02:00
ozone10
11cd8c55f0 Improve security for DLL loading
Use "/DEPENDENTLOADFLAG:0x800" to limite module search path to the %windows%\system32 directory.

Fix #13964, close #16762
2025-06-30 21:32:24 +02:00
Don Ho
cc45875c60 Notepad++ v8.8.2 release 2025-06-30 15:59:47 +02:00
Radoš Milićev
ae8bd95a73 [xml] Update Serbian
Close #16764
2025-06-28 01:44:13 +02:00
Juan
19a4106038 [xml] Update spanish.xml
Close #16757
2025-06-28 01:42:09 +02:00
Juan
8aef10b7e2 [xml] Update galician.xml
Close #16758
2025-06-28 01:38:54 +02:00
~GOLEM~
91be70dd11 [xml] Update russian.xml
Close #16741
2025-06-27 20:07:50 +02:00
Marcellomco
a76957aff4 [xml] Update brazilian_portuguese.xml
Fix #16753
2025-06-27 18:59:14 +02:00
Anthony Lee Stark
84692afd8b Update vietnamese.xml
Close #16760
2025-06-27 17:23:35 +02:00
schnurlos
e8fe145746 [xml] Update german.xml
Following f0f8f7ec2f

Close #16747
2025-06-27 15:11:56 +02:00
kubalav
a1e9d0defc [xml] Update Slovak translation
Close #16746
2025-06-27 15:04:53 +02:00
Andrei-Valentin Miloiu
9e711e6577 [xml] Update romanian.xml
Close #16745
2025-06-27 15:03:36 +02:00
rddim
6e13916738 [xml] Update Bulgarian localization
Close #16743
2025-06-27 15:00:50 +02:00
Krazal
751c141373 [xml] Update hungarian.xml
Make the translation up-to-date, considering the following commits: #bc99de0 (exit feature), #f0f8f7e (read-only attribute warning).

Close #16740
2025-06-27 14:57:01 +02:00
ArkadiuszMichalski
ec8f7ac9ea [xml] Update polish.xml to the latest commit
Close #16732
2025-06-27 14:55:01 +02:00
Karlo-F
5a6ae6b7d6 [xml] Update croatian.xml
Close #16727
2025-06-27 14:52:23 +02:00
Patriccollu
4a21d2e211 [xml] Update Corsican translation
Close #16714
2025-06-27 14:37:11 +02:00
yasmise
b6f67d22b1 [xml] Update japanese.xml
Add Japanese translation line for this commit:
* Add warning message on "Read-only attribute in Windows" command failure (f0f8f7e)

Close #16750
2025-06-27 02:42:47 +02:00
xomx
3d44ddc0cf [xml] Update czech.xml translation
Close #16750
2025-06-27 02:40:41 +02:00
Blackspirits
ab8d29399e [xml] Update portuguese.xml
Close #16751
2025-06-27 02:38:43 +02:00
PeterCJ
441b32c5e7 Themes: get rid of fontSize overrides
Themes should not mess up monospacing by changing font size for only certain languages/styles: they should all inherit their font-size from the Default Style in that theme

Fix #16667, close #16756
2025-06-26 21:46:18 +02:00
Don Ho
7b613b1fff Fix typos 2025-06-26 01:08:01 +02:00
Don Ho
f0f8f7ec2f Add warning message on "Read-only attribute in Windows" command failure
Follow e38016e3f5
2025-06-24 16:02:51 +02:00
xomx
e38016e3f5 Fix toggling "Read-only attribute in Windows" command wrong behaviour
Fix toggling "Read-only attribute in Windows" command wrong behaviour due to invalid file attribute(s) or insufficient user rights.

Fix #16734, close #16733
2025-06-24 02:54:58 +02:00
schnurlos
e8843222ae [xml] Update german.xml
Following bc99de07bb

Close #16726
2025-06-23 17:04:54 +02:00
Marcellomco
5bcf24a7ab [xml] Update brazilian_portuguese.xml
Added translation for "Add update Notepad++ on exit feature"

Close #16728
2025-06-23 17:00:40 +02:00
~GOLEM~
650d0dcd27 [xml] Update russian.xml
Close #16729
2025-06-23 16:55:06 +02:00
Don Ho
999ec7a6c1 Enable SHA256 verification between Notepad++ & internal components 2025-06-23 16:25:54 +02:00
rddim
7f837a04fb Update Bulgarian localization
Close #16724
2025-06-22 13:31:57 +02:00
kubalav
222779cf7e [xml] Update Slovak translation
Close #16725
2025-06-22 13:29:07 +02:00
yasmise
538b69a6d4 [xml] Update japanese.xml
Update japanese translation lines for this commit:
* Add set read-only attribute on file feature (2214d10)

Close #16708
2025-06-22 13:24:36 +02:00
schnurlos
0443199436 Update Obsidian.xml
Fix #16590, close #16640
2025-06-21 19:06:00 +02:00
Don Ho
f2346ea00d Code enhancement: Use the absolute path instead of an unspecified path 2025-06-21 18:35:36 +02:00
xomx
e76e6462ae [xml] Update czech.xml translation
Close #16720
2025-06-21 17:09:29 +02:00
Don Ho
0b9ebf443d Update French & Taiwaese Madarin localization files 2025-06-21 17:07:19 +02:00
xomx
bc99de07bb Add update Notepad++ on exit feature
And add `/relaunchNppAfterSilentInstall` into installer (ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/15280#issuecomment-2246816010)

Fix #16601, fix #13749, fix #10317, fix #8495, fix #8457, fix #3755, close #16626
2025-06-21 16:38:57 +02:00
Don Ho
abba79ceaa Remove unnecessary and wrong "Clear" word 2025-06-20 14:41:41 +02:00
Shridhar Kumar
76b1cba609 Add new plugin notification: NPPN_TOOLBARICONSETCHANGED
Fix #16646, close #16647
2025-06-18 12:24:12 +02:00
ArkadiuszMichalski
b81e38ef60 [xml] Update polish.xml to 8.8.2
Close #16691
2025-06-18 03:33:44 +02:00
Krazal
f6b18fe79b [xml] Update hungarian.xml
Make the translation up-to-date, considering Commit 2214d10

Close #16692
2025-06-18 03:30:33 +02:00
~GOLEM~
b48efff53d [xml] Update russian.xml
Close #16695
2025-06-18 03:28:36 +02:00
schnurlos
8851345660 [xml] Update german.xml v8.8.1
Following 2214d10ce2 (diff-a6ac7ceba70d88bf1547fd1defd760bd55052dcdb78c44f9d46d99ef1f450472)

Close #16696
2025-06-18 03:26:54 +02:00
Andrei-Valentin Miloiu
46cedd2112 Update romanian.xml
Close #16697
2025-06-18 03:25:28 +02:00
kubalav
8a28d27cd6 [xml] Update Slovak translation
Close #16700
2025-06-18 03:22:48 +02:00
ozone10
fb82d79042 Enhance NPPM_DARKMODESUBCLASSANDTHEME: Enable darkmode progress bar for plugins
Fix #16675, close #16687
2025-06-17 20:16:20 +02:00
Don Ho
2214d10ce2 Add set read-only attribute on file feature
So user can toggle (set/remove) R/O attribute of a file.

Note: only 42033 (Clear Read-Only Flag) but not 42028 (Set Read-Only) entries are removed from the localization files.
Because 42028 (Set Read-Only) command is only reworded, its functionnality remains the same.
Whereas 42033 (Clear Read-Only Flag) command has changed its behaviour, hence the deletion.
Though 42028's translation of "Set Read-Only" can be remained, the translators are suggested to reword your translation with "Read-Only in Notepad++" in order to avoid the confusion of users.

Fix #326, fix #4594, fix #6216, fix #7841, fix #12520, fix #15571, fix #16603, close #16686
2025-06-16 14:01:15 +02:00
schnurlos
663f09baa5 [xml] Update german.xml
Close #16511
2025-06-16 13:20:09 +02:00
~GOLEM~
27e40e1b71 [xml] russian.xml v8.8.1
Close #16507
2025-06-16 03:39:28 +02:00
Andrei-Valentin Miloiu
bac4d91eb6 [xml] Update romanian.xml
Close #16617
2025-06-16 03:36:16 +02:00
Don HO
a758c35b7a
Add translation PR rule for the version number 2025-06-15 17:25:41 +02:00
Terry Chao
ccd155d605 [xml] Update ChineseSimplified.xml
Close #16523
2025-06-15 17:14:13 +02:00
A. Regnander
5eafd7009d Update swedish.xml
Close #16530
2025-06-15 17:12:50 +02:00
Blackspirits
b8b7583ac8 Update portuguese.xml
Close #16535
2025-06-15 17:06:12 +02:00
Marcellomco
379ea1f82b [xml] Update brazilian_portuguese.xml
Close #16563
2025-06-15 17:03:06 +02:00
Juan
a45980f364 [xml] Update spanish.xml v. 8.8.1
Close #16612
2025-06-15 16:54:36 +02:00
Juan
5e74415adc [xml] Update galician.xml v. 8.8.1
Close #16613
2025-06-15 16:52:17 +02:00
kubalav
08e014d61e [xml] Update Slovak translation
Close #16510
2025-06-15 16:49:20 +02:00
rddim
b9d7a1988b [xml] Update Bulgarian localization
Close #16506
2025-06-15 16:47:06 +02:00
Krazal
116a17019e [xml] Update hungarian.xml
Make translation up-to-date:

• Translate "Use the first line of document..." (commit abc2371)
• Add missing labels (commit 393815b) + a small adjustment (file header & version)
• Translate Locale-based line sort feature (commit a9d8dca)
• Make some expressions even more appropriate / user friendly
• Add/Place some accelerator letters more precise

Close #16632
2025-06-15 16:32:32 +02:00
yasmise
38cb135302 [xml] Update japanese.xml
Add translation lines for this commit:
* Add labels in Preferences Tab bar section (393815b)

Close #16570
2025-06-15 16:03:32 +02:00
ozone10
61084f1c93 Fix scrollbar sometimes not drawn in listbox in dark mode
Fix #16674, close #16676
2025-06-13 20:47:23 +02:00
ozone10
a8ff8bb78e Dark mode enhancement for tab control
- enable to use in generic dark mode subclass for plugins
- handle more styles (button style, usage of icons)
- double buffer to avoid flicker
- focus rect when keyboard is used for navigation

Fix #16668, close #16673
2025-06-13 20:34:36 +02:00
Don Ho
7cc002680a Fix right click on caption bar unhidding main menu
Fix #16652, close #16682
2025-06-13 20:06:49 +02:00
Christian Grasser
e85c354135 Update to scintilla 5.5.7 & Lexilla 5.4.5
Release 5.5.7 (https://www.scintilla.org/scintilla557.zip)

Released 8 June 2025

1. Add SCI_SCROLLVERTICAL method to restore view position and maintain it while performing line wrapping.
2. Add SC_UNDO_SELECTION_HISTORY_SCROLL flag to SCI_SETUNDOSELECTIONHISTORY which controls whether undo and redo restore vertical scroll position.
3. Tweak SC_MARK_BAR to be slightly wider by using next higher whole pixel instead of next lower for margin width / 3.
4. Scale images in autocompletion lists with SCI_AUTOCSETIMAGESCALE to match high DPI screens. Initially only on GTK and Qt.
5. Fix wrapping bug for UTF-8 where \r\n could wrap between the characters. Notepad++ Pull Request #16373.
6. Fix crash during painting when scroll bars changed. Bug #2481.
7. On GTK, reset vertical scroll bar synchronously in SCI_SETDOCPOINTER to fix bug where scroll position not restored in non-wrap mode. Bug #2416.
8. On GTK, fix IME problem when tentative composition interfered with delete surrounding. Feature #1476.
9. On GTK, update IME cursor position inside retrieve surrounding to better position candidate window. Feature #1488.

Release 5.4.5 (https://www.scintilla.org/lexilla545.zip)

Released 8 June 2025

1. Dart: Add error state SCE_DART_STRINGEOL for unterminated string. Pull request #315.
2. Makefile: Add a keyword list to makefile lexer to highlight GNU Make directives like 'ifdef' and 'vpath' as SCE_MAKE_PREPROCESSOR since these are similar to NMAKE directives like '!IFDEF'.
3. Nix: Add error state SCE_NIX_STRINGEOL for unterminated string. Pull request #315.
4. TOML: Add error state SCE_TOML_STRINGEOL for unterminated string. Pull request #315.
5. Zig: Add error state SCE_ZIG_STRINGEOL for unterminated string. Pull request #315.

Close #16649
2025-06-13 15:12:33 +02:00
Don Ho
5b26ef1ca8 Fix rename tab error msg while no change tab name
Fix #16661, close #16665
2025-06-12 04:10:48 +02:00
Don HO
299d7cb26e
Minor changes in CONTRIBUTING.md 2025-06-06 17:50:29 +02:00
Don Ho
0478caebf1 Fix use1stLineAsTabName feature called twice while undo/redo
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/16585#issuecomment-2944075642

Close #16635
2025-06-06 02:54:22 +02:00
PeterCJ
1911875411 Fix Python FunctionList absorbing next function issue if space after colon
Allow spaces between ':' and EOL.

Fix #16636, close #16637
2025-06-06 02:52:55 +02:00
PeterCJ
8435308b02 Add XSD-based validation for the various XML files
And fix the themes and javascript.js functionlist that don’t match XSD.

Fix #16618, close #16619
2025-06-04 19:42:01 +02:00
xomx
d767fd846c Fix DisplayInfo maxAdapters searching limitation
ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/16588#issuecomment-2906537768

Close #16633
2025-06-04 19:24:22 +02:00
PeterCJ
dfba125356 Remove .log from errorlist lexer's default extensions
Fix #16627, close #16628
2025-06-04 18:23:32 +02:00
rdipardo
19267aa0ea Make raw string syntax highlighting work for Golang
Enable the raw string lexer property for Golang.
Also: add a new 'STRING RAW' style to all Golang themes.

Fix #16609, close #16615
2025-06-04 14:55:30 +02:00
Anthony Lee Stark
abc23714db Add new feature of using first line of untitled document for its tab name
Fix #3994, fix #16584, close #16585
2025-06-04 14:11:24 +02:00
Anthony Lee Stark
6459905816 Fix Notepad++ try icon lost after Windows Taskbar crashes & being recreate
Re-add the tray icon when the taskbar is re-created.

Fix #16588, close #16589
2025-06-03 03:03:33 +02:00
ArkadiuszMichalski
703e2e1726 Fix not enough room 4 translation of "Transparency" item in Style Configurator
Fix #16549, close #16555
2025-05-29 19:37:15 +02:00
Gitoffthelawn
da579eece9 Improve toolbarButtonsConf_example.xml documentation
Close #16508
2025-05-29 19:10:12 +02:00
Don Ho
1f48115666 Fix regression of folding state not being remembered through sessions
The regression is introduced by:
83755ca155 (diff-d88ddee57a027ab23daf332c4778ced0cee352edcb34efdda1b218e8a75c61b2L2636)

The culprit of this regression is the deletion of following 4 lines in the commit above:
```
void ScintillaEditView::fold(size_t line, bool mode, bool shouldBeNotified/* = true*/)
{
	auto endStyled = execute(SCI_GETENDSTYLED);
	auto len = execute(SCI_GETTEXTLENGTH);

	if (endStyled < len)
		execute(SCI_COLOURISE, 0, -1);
```
The method "ScintillaEditView::fold()" is called not only on manual folding by the users, but also on:

1. startup's loading session to restore the folding state programmatically.
2. after startup, switching among the documents to restore the folding state programmatically.

The above lines are important for the case 1.

However, these lines are necessary only on the first load of each file after the startup of Notepad++.
"execute(SCI_COLOURISE, 0, -1);" needs to be run for once (the case 1), not twice or more (the case 2).

So if there's a way to detect if a document has been run "execute(SCI_COLOURISE, 0, -1);" once (in the case 1),
and don't run it again (the case 2), it will save the time to switch among the document.

Fix #16597, close #16599
2025-05-29 17:54:14 +02:00
ozone10
19a1897eaa Fix changing toolbar icon set not change to matched panel icon set issue
Synchronize dockable panel tab icons with toolbar icons.

Fix #16595, close #16556
2025-05-27 13:46:39 +02:00
xomx
8bc77857a7 Fix "Go To Settings" links in Style Configurator regression (from v8.8)
Regression is introduced by commit:
e45f72ae39

Fix #16592, close #16593
2025-05-27 13:05:30 +02:00
PeterCJ
a10cebe2cd Change from Nimrod to Nim in three themes
Fix #16578, close #16579
2025-05-22 16:25:54 +02:00
Don Ho
8696d28cfd Fix typos (part 2) 2025-05-21 17:57:33 +02:00
Anthony Lee Stark
d3e846162a Fix Windows dialog file list not react with keystroke (character match)
Fix #2239, close #16572
2025-05-21 17:21:41 +02:00
Don Ho
b742c540bb Fix typos
and clean-up.

Close #16576
2025-05-21 03:16:30 +02:00
ozone10
9232226d3f Improve dark mode updown control appearance in dark mode
Fix #16560, close #16568
2025-05-20 17:55:07 +02:00
Don Ho
2de6260610 Deprecate 3 APIs
Deprecate NPPM_GETOPENFILENAMES, NPPM_GETOPENFILENAMESPRIMARY & NPPM_GETOPENFILENAMESSECOND.

Fix #15997, close #16569
2025-05-19 00:19:28 +02:00
Don Ho
140b11a835 Fix regression of tab background highlighting issue after drag&drop
Fix #16559
2025-05-18 15:35:25 +02:00
Don Ho
393815b99f Add labels in Preferences Tab bar section
and do some clean up.
2025-05-16 19:05:37 +02:00
ozone10
3548696bd7 Fix updown control style not changing when toggling dark mode
Fix https://github.com/notepad-plus-plus/notepad-plus-plus/pull/16548#issuecomment-2884419833, close #16553
2025-05-16 15:43:14 +02:00
Shridhar Kumar
5406b82fb4 Add new plugin API: NPPM_GETTOOLBARICONSETMODE to get toolbar icon set choice
Fix #16547, close #16548
2025-05-15 17:58:43 +02:00
Don Ho
0e249b1bb9 Sync plugin header (part 4) 2025-05-14 18:51:34 +02:00
Shridhar Kumar
3310a613e4 Fix URL Link controls color in dark mode consistent issue for plugins
Fix #16537, close #16538
2025-05-14 17:01:35 +02:00
Don Ho
f677a0c5db Update plugin header (part 3) 2025-05-14 15:10:54 +02:00
Don Ho
3395108c59 Update plugin header file (part 2) 2025-05-14 02:08:35 +02:00
Don HO
c24bf54ae5
Bring Back Political Incorrectness!
From "main" to "master" in release-notifier.yml.
2025-05-14 02:00:58 +02:00
Anthony Lee Stark
108e555557 Mark modified files with "*" in Windows menu dropdown
Fix #16542, close #16551
2025-05-13 23:22:40 +02:00
Don Ho
bf1f4769ec Clean up header file (part 1) 2025-05-13 22:47:40 +02:00
xomx
b7faa4d70d Add basic DisplayInfo for the DebugInfo
Fix #16519, close #16541
2025-05-13 21:08:33 +02:00
PeterCJ
dbce73c8fa Add release-notifier workflow for synchronizing the headers with 2 plugin demos
ping the plugintemplate & plugindemo repos anytime that a push to master branch includes changes to the 7 plugin-related source-files

(see https://github.com/npp-plugins/plugintemplate/issues/13#issuecomment-2867953737)
2025-05-13 19:43:55 +02:00
Don Ho
1da3312c73 Refactoring & clean up 2025-05-13 18:58:02 +02:00
Don Ho
b1cd1a9f29 Remove unused header file tchar.h 2025-05-08 05:02:12 +02:00
Christian Grasser
34677a5415 Code enhancement: Avoid usage of non FULL scintilla interfaces
- disabled versions with usage of Sci_PositionCR restricted to 2GB files on windows
- didn't adapt ScintillaStructures.h yet to avoid disabling/patching of functions for SCI_GETTEXTRANGE, SCI_FINDTEXT, SCI_GETSTYLEDTEXTFULL and SCI_FORMATRANGE already now

Ref: discussion at https://github.com/notepad-plus-plus/notepad-plus-plus/pull/16467

Close #16522
2025-05-07 19:14:34 +02:00
Don HO
51eea9827b
Update CONTRIBUTING.md 2025-05-07 05:27:58 +02:00
Don Ho
0f79a51646 Fix an unresponsive issue due to hide lines
Fix swiching back to document which has processed hide lines makes Notepad++ unresponsive due to an infinite loop.
Fix also setting language makes hiding lines unhidden issue.

Fix #16316, close #16512
2025-05-05 15:52:03 +02:00
Don Ho
910f02dfd5 Notepad++ release 8.8.1 2025-05-05 04:21:55 +02:00
Don Ho
e719c56708 Fix Find in files progress bar visual regression (from v8.8)
Regression is introduce by:
a23955742c

Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/16387#issuecomment-2848676406

Fix #16504
2025-05-03 18:16:31 +02:00
yasmise
46b4d35c5d [xml] Update japanese.xml
Update Japanese translation texts for this commit:
* Add Locale-based line sort feature (a9d8dca)

Close #16499
2025-05-03 04:13:57 +02:00
Marcellomco
8c5f461c70 [xml] Update brazilian_portuguese.xml
Added translation for "Add Locale-based line sort feature".

Close #16500
2025-05-03 04:11:58 +02:00
xomx
8bc333dbd1 [xml] Update czech.xml to v8.8.1
Close #16497
2025-05-03 01:45:43 +02:00
Andrei-Valentin Miloiu
e2c1362373 [xml] Update romanian.xml
Close #16498
2025-05-03 01:44:37 +02:00
xomx
eb1b7977f6 Enable Scintilla undo/redo selection history
Ref:
https://www.scintilla.org/ScintillaDoc.html#SCI_SETUNDOSELECTIONHISTORY

Fix #16488, close #16496
2025-05-03 01:11:17 +02:00
Randy Fellmy
a9d8dca832 Add Locale-based line sort feature
Fix partially:

Fix #13456, fix #927, fix #8481, fix #11261, fix #16406, fix #16409, close #16490
2025-05-02 23:31:25 +02:00
CennoxX
be00dd5544 [xml] fix wrong toolbar-accent-tip in German
The Windows settings in German are named "Einstellungen > Personalisierung > Farben", not "Einstellungen > Optionen > Farben".

Close #16482
2025-05-02 21:52:09 +02:00
Karlo-F
01dcaf01ab [xml] Update croatian.xml to v8.8
Close #16463
2025-05-02 19:39:38 +02:00
kubalav
fc2fa4bb10 Update slovak translation
Close #16483
2025-05-02 19:28:42 +02:00
PeterCJ
30976ec8d2 Fix ShortcutMapper displays wrong shortcut while editing regression (from v8.7.6)
Fix double clicking chosen command in ShortcutMapper displays wrong shortcut due to the bad index.

- there was off-by-1 when building the oemVkUsedIDs vector, which was caused by using the index based on .size() instead of .size()-1 to get the most-recently-added.
- also cleared the vector each launch of the dialog, because the .push_back() was causing the vector to grow without bounds, messing up the indexing on subsequent runs of the dialog, causing it to pick _none_ of the entries.

The regression was introduced by:
6dfbc1f7e8

Fix #16491, close #16492
2025-05-02 16:20:56 +02:00
PeterCJ
19e356d616 Add ErrorList syntax highlighting
Enable the errorlist lexer
- Associates ".err" and ".log" with Language > E > ErrorList
- When in ErrorList file, toggling View > Show Symbols > Show Control Characters & Unicode EOL will show/hide the whole `ESC[1;31m` sequence, not just the ESC symbol

Related issues/topics:
- https://community.notepad-plus-plus.org/topic/26801/reading-typescript-of-terminal-session
- https://community.notepad-plus-plus.org/topic/23787/show-printable-ascii-characters-only
- https://community.notepad-plus-plus.org/topic/23147/missing-lexers-from-lexilla
- https://community.notepad-plus-plus.org/topic/22994/ansi-escape-sequences-color-rendering
- https://community.notepad-plus-plus.org/topic/16612/interprete-ansi-color

Fix #16437, fix #8078, close #16480
2025-05-02 04:33:56 +02:00
Don Ho
0feb209e94 Enlarge your FindReplaceDlg
ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/16485#issuecomment-2841648658

Close #16489
2025-05-02 01:43:29 +02:00
Ekopalypse
0ffd606053 Fix tab settings for external lexers cannot be saved issue
Allows the configuration of tab settings for external lexers to be saved through the sessions.

Fix #16460, close #16461
2025-05-01 16:14:25 +02:00
ozone10
cfbb4de52a Fix inconsistent find dialog '<<' button position when resizing
Close #16485
2025-04-30 13:27:21 +02:00
xomx
28978d3a16 Fix wrong directory defined in Preferences for opening files
Fix wrong offered dir defined in Preferences for opening files caused by Preferences-dlg init.

Fix #16465, close #16471
2025-04-30 03:26:09 +02:00
xomx
13b08d0a5c Fix disabled Paste command with no previous text-data in clipboard
Previously, a Notepad++ editor user activity or focus switching was needed for enabling possible clipboard Paste after a successful Copy command.

Fix #16456, close #16458
2025-04-30 02:46:53 +02:00
Don Ho
51449b09de Fix search result cut off result content due to nul characters ('\0')
Fix #6281, fix #15216, fix #16466, close #16469
2025-04-29 22:51:47 +02:00
Don Ho
8a4aa48ed7 Code improvement: improve header readability
Fix #16447, close #16451
2025-04-29 17:25:24 +02:00
Don Ho
08084d2b14 Use "(?)" static text instead of "?" button for the tip/info/message
Close #16478
2025-04-29 14:18:29 +02:00
Don Ho
4bc0d7f74b Notepad++ release 8.8 2025-04-28 17:25:18 +02:00
Don Ho
48d953693a Fix the wrong IDs of translation 2025-04-23 21:12:57 +02:00
Don Ho
a506fb583d Reposition checkbox in tab bar section in Preferences
Close #16459
2025-04-23 16:54:23 +02:00
Don Ho
08c9774ea5 Remove items from the localization files 2025-04-22 18:34:49 +02:00
Krazal
e8f94c7412 Update hungarian.xml
Make translation up-to-date, based on the latest commits (a239557, 2a3152c, 6bc7abb and 6bd3d9b).

Close #16457
2025-04-22 16:51:51 +02:00
rddim
928e832e27 [xml] Update Bulgarian localization
Close #16396
2025-04-22 02:59:02 +02:00
Matteo Concato
8c4278759e Update italian.xml
Close #16416
2025-04-22 02:56:54 +02:00
Radoš Milićev
0e32c63987 Update Serbian to v8.8
Close #16454
2025-04-22 02:53:32 +02:00
Andrei Miloiu
b07f120e74 [xml] Update romanian.xml
Close #16376
2025-04-21 14:27:16 +02:00
kubalav
22275b31bf [xml] Update Slovak translation
Close #16362
2025-04-21 01:30:39 +02:00
Marcellomco
c02c8c9739 [xml] Update brazilian_portuguese.xml
Close #16363
2025-04-21 01:28:55 +02:00
schnurlos
779c97a660 [xml] Update german.xml
Close #16375
2025-04-21 01:26:33 +02:00
yasmise
963b7f4982 [xml] Update japanese.xml
Close #16383
2025-04-21 01:23:14 +02:00
~GOLEM~
f4e9257ee2 [xml] Update russian.xml
Close #16395
2025-04-21 01:21:32 +02:00
xomx
8cc7bfe7f2 [xml] Update czech.xml to v 8.8
Close #16424
2025-04-21 01:19:45 +02:00
Patriccollu
794e2bc419 [xml] Update Corsican translation for Notepad++ 8.8
Close #16449
2025-04-21 01:06:32 +02:00
ozone10
faec21b57e Fix accent tooltip behaviour and enhance '(?)' static control appearence
ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/16434#issuecomment-2817077992

Close #16448
2025-04-21 00:56:09 +02:00
ozone10
9f2326d30c Fix GDI leak in setStartupBgColor
- remove unneeded icon color constants

Fix #16442, close #16443
2025-04-20 10:23:31 +02:00
ozone10
4ddad4683b Make dark mode menu bar color in inactive state similar to light mode
Fix #16445, close #16446
2025-04-20 02:49:52 +02:00
xomx
a449c5e804 Fix breaking of the cloned file status after Notepad++ restart
Fix #16412, close #16440
2025-04-20 00:23:00 +02:00
xomx
b324a68bc6 Fix inactive buffer reloading problem
To reproduce: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/16344#issuecomment-2800159956

Fix #16344, close #16431
2025-04-19 23:49:06 +02:00
Don Ho
6bd3d9bfbe Add accent tip for toolbar settings & update localization files
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/16434#issuecomment-2814666495
2025-04-19 15:08:47 +02:00
Hernan Martinez
29c71c46bb Fix compiling failure by LLVM/Clang's Windres
Call Windres with explicit UTF-8 encoding for reading .RC files.

Fixes #16410, close #16411
2025-04-18 14:08:51 +02:00
xomx
17cdde3622 Fix Find dialog status text too left visual glitch
Text was visible but positioned too left. This visual glitch was accented in Windows 11 due to its rounding-wnd-corners effect.

Fix #16359, close #16415
2025-04-18 14:04:54 +02:00
ozone10
b3b4782848 Apply dark mode on rebar chevron
Fix #10103, close #16421
2025-04-18 13:56:27 +02:00
ozone10
714eeafc45 Apply dark mode on treeview edit controls
- simplify code

Fix #16418, clos #16419
2025-04-18 02:27:36 +02:00
Don Ho
1657dbbc53 Fix wrong toolbar color picker custom color between black/light mode
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/16370#issuecomment-2813190727
2025-04-17 22:33:09 +02:00
Don Ho
b68f25f3d6 Fix toolbar icon color picker's incoherent behaviour
Fix https://github.com/notepad-plus-plus/notepad-plus-plus/pull/16370#issuecomment-2810227200
2025-04-17 12:29:05 +02:00
ozone10
d5b5e5e107 Refactor fluent icon color feature code
- fix visual glitches when toggling dark mode
- make english names consistent

Close #16435
2025-04-17 02:39:04 +02:00
WildByDesign
331030ce66 Add Accent Color for filled Fluent icons
Close #16434
2025-04-16 23:04:16 +02:00
Don Ho
e45f72ae39 Reorganize GUI of Preferences dialog
Follow 5447ef76235d7bdac7bdd1020d896dd9eb5cae28
2025-04-16 13:53:08 +02:00
ozone10
5447ef7623 Add option to apply different color to fluent toolbar icons
Fix #16369, fix #15430, close #16370
2025-04-12 14:57:03 +02:00
WildByDesign
f2b13814e8 Add Fluent Icons Accent
Ref: #15430, #16370

Close #16414
2025-04-12 14:52:52 +02:00
Don Ho
4f649d24dd Use only toolbarButtonsConf.xml for toolbar buttons/icons customization
Merge toolbarIcons.xml into toolbarButtonsConf.xml for toolbar buttons/icons customization and remove toolbarIcons.xml.

Fix #16402, close #16407
2025-04-11 16:32:10 +02:00
Don Ho
a23955742c Make some control names more accurate for dark mode
ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/16387#issuecomment-2786729453

Close #16401
2025-04-09 22:39:16 +02:00
ozone10
07e8d84e04 Fix crash when using custom toolbar icons
Fix leak when using custom icons for toolbar.

Fix #16366, close #16367
2025-04-09 17:16:38 +02:00
Christian Grasser
5c1813185a Update to scintilla 5.5.6 & Lexilla 5.4.4
Release 5.5.6 (https://www.scintilla.org/scintilla556.zip)

    Released 2 April 2025.
*   Disallow changing case of protected text. Bug #2463.
*   Return enumeration type from MarkerSymbolDefined to match MarkerDefine. Bug #2469.
*   On Win32, use DirectWrite for autocompletion lists when DirectWrite chosen for document text.
*   On Win32, optimize case-insensitive DBCS search to be around 5 times faster by using 64K memory to cache folding data for each DBCS code page used.
*   On Win32, fix a crash with bidirectional text.
*   When using Visual C++ through nmake, fix building for ARM64. Feature #1546.
*   On Qt, draw clipped UTF-8 text correctly. Bug #2464.
*   On Qt, avoid a dwell start when the mouse is moved outside the Scintilla widget. Bug #2466.
*   On Qt, autoCompleteSelection converts from local encoding when not in Unicode mode. Bug #2465.

Release 5.4.4 (https://www.scintilla.org/lexilla544.zip)

    Released 2 April 2025.
*   Fix building for ARM64. Pull request #308.

Close #16373
2025-04-08 18:41:39 +02:00
ozone10
f127ba02d0 Rename darkmode functions, variables
Rename darkmode functions, variables with name 'softer', 'pure' to 'ctrl', 'dlg'.

- remove unneeded `WM_ERASEBKGND` and check in some `WM_CTLCOLORSTATIC`
- fix wrongly used colors

ref https://github.com/notepad-plus-plus/notepad-plus-plus/pull/16350#issuecomment-2779111617

Close #16387
2025-04-08 00:02:36 +02:00
Don Ho
2a3152cd1a Update localization files 2025-04-07 23:54:26 +02:00
Don Ho
dba2a9890e Add "Make the selected text foreground a single color" option on GUI
and remove the usage of zero length enableSelectFgColor.xml file.

Close #16391
2025-04-07 23:35:18 +02:00
Don Ho
673c3ee6cf Fix vertical tab bar messed up regression
Fix #16385
2025-04-05 19:13:07 +02:00
Don Ho
f7884726cf Add "Show only pinned button" option to prevent from inacurate click
Fix #15963, close #16334
2025-04-05 17:51:20 +02:00
ozone10
8537f022b1 Improve slider control's look in dark mode when it's disabled
Fix #16379, close #16380
2025-04-05 15:58:05 +02:00
Randy Fellmy
f59777b0b3 Fix a hanging issue on regexp
The hanging issue is introduced by a52738c1dd.

Close #16371
2025-04-04 19:20:21 +02:00
ozone10
df74c19269 Make combobox in dark mode similar to standard visual style
Fix #16349, close #16350
2025-04-04 18:23:50 +02:00
xomx
bb61d0fabc Fix invalid dot-char(s) handling in filenames checking
Remove the restriction of file extesion on reserved name in Windows system.

Fix #16328, close #16331
2025-04-04 18:16:08 +02:00
ozone10
15b92c69d7 Adjust hot and control (softer) colors
Fix #16353, close #16354
2025-04-04 01:10:56 +02:00
Don Ho
9122f45bdf Force npcNoInputC0 value as "true" by default to avoid C0 code input
Follow #16338

Fix #16326, fix #15839 , fix #15729
2025-04-03 18:01:39 +02:00
xomx
38ee65fdb2 Fix default installation setting for preventing control characters input
Before, a missing npcNoInputC0 config.xml entry caused the feature to incorrectly reset to false/no (the default for any missing config.xml boolean setting) during the first launch of the Notepad++.

Fix #16326, fix #15839, fix #15729, close #16338
2025-04-03 17:49:54 +02:00
xomx
2ae5df05b9 Fix "Keep selection when right-click outside of selection" not work issue
Make right-click message handler x-margin calculation right.
Previously, the incorrectly used unsigned variable (size_t) overflowed with negative numbers due to incorrect calculation of margin size.x (where possible horizontal scrolling was not taken into account...).

Fix #16325, close #16332
2025-04-03 17:31:28 +02:00
Don Ho
6bc7abb021 Make some items translatable (in UDL & on status bar)
Fix #15426, fix #8004, fix #8972, close #16347
2025-04-03 01:20:35 +02:00
Don Ho
11e01d9abc Use '/' instead of English "or"
Fix #16206, close #16339
2025-04-03 01:17:42 +02:00
Don Ho
09abbad3d7 Fix -pluginMessage needing filename to work.
Remove filename restriction for -pluginMessage.

Fix #16273, close #16340
2025-04-03 01:15:31 +02:00
Don Ho
3ae0875a8c Add class & method recognization ability for JavaScript function list
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/13013#issuecomment-1899399803

Fix #13013, close #16342
2025-04-03 01:13:51 +02:00
Don Ho
2a24867e98 Fix an easter egg not showing issue
Fix #15170, close #16341
2025-04-03 01:12:10 +02:00
MarkusBodensee
b9bf6d64c6 Fix CMake build error
Update CMakeLists.txt to cmake_minimum_required(VERSION 3.10).
2025-04-03 00:32:35 +02:00
Don Ho
f3bc1881a3 Notepad++ release 8.7.9 2025-04-02 18:57:02 +02:00
Juan
9279c8e204 [xml] Update spanish.xml v. 8.7.9
Close #16320
2025-03-26 00:29:38 +01:00
Juan
ccb6993ab2 [xml] Update galician.xml v. 8.7.9
Close #16321
2025-03-26 00:27:47 +01:00
Karlo-F
13e2f5556b [xml] Update croatian.xml to v8.7.9
Close #16322
2025-03-26 00:25:06 +01:00
Hugo Carvalho
f9cd28e06f [xml] Update portuguese.xml
Close #16323
2025-03-26 00:23:12 +01:00
Don Ho
8ce442bd2d Fix a regression introduced by refactoring
The regression was introduce by:
ff734af115372eb3e6660c2891e55a914efb30bd

Fix https://community.notepad-plus-plus.org/topic/26716/notepad-v8-7-9-release-candidate/2?_=1742869287530
2025-03-26 00:06:08 +01:00
Don Ho
100164ff8d Update Taiwanese Mandarin 2025-03-23 17:55:03 +01:00
xomx
9eb2598ea4 Add version of external libraries (Scintilla/Lexilla/Boost) into Debug Info
Dynamically collects all the version info needed and creates NppLibsVersion.h file by the help of a pre-build event.

Fix https://community.notepad-plus-plus.org/topic/21513/determining-supporting-library-versions

Fix #11466, close #16318
2025-03-23 15:44:32 +01:00
Christophe Mateos
56795061c5 [xml] Update French translation
Close #16314
2025-03-22 17:52:31 +01:00
Don Ho
39d9525845 Fix switching different languages regression
This regression was introduced by de9ffd2.

Fix #16309, close #16312
2025-03-21 01:13:38 +01:00
Krazal
d3563cafac Update hungarian.xml
Make the translation up-to-date:
• Enable new low-level DirectX11 DirectWrite 1.1 Scintilla rendering mode

Close #16287
2025-03-19 16:11:31 +01:00
Andrei Miloiu
85477b7800 Update romanian.xml
Close #16288
2025-03-19 15:53:57 +01:00
kubalav
9e1184c771 [xml] Update Slovak translation
Close #16290
2025-03-19 03:41:58 +01:00
rddim
46525827ff [xml] Update Bulgarian localization
Close #16291
2025-03-19 03:39:27 +01:00
schnurlos
0b7162cf95 [xml] Update german.xml
Following a679e8ebfb

Close #16292
2025-03-19 03:24:24 +01:00
Radoš Milićev
ce64d99023 Update Serbian
Close #16308
2025-03-19 03:21:30 +01:00
A. Regnander
f4746ceeee Update swedish.xml
Close #16295
2025-03-19 02:26:40 +01:00
Marcellomco
33d90b7587 [xml] Update brazilian_portuguese.xml
Added translation for "Enable new low-level DirectX11 DirectWrite 1.1 Scintilla rendering mode"

Close #16296
2025-03-18 23:59:13 +01:00
xomx
48a68a7937 [xml] Update czech.xml to v8.7.9
Close #16302
2025-03-18 23:56:52 +01:00
~GOLEM~
3577dff9f7 [xml] Update russian.xml
Close #16304
2025-03-18 15:52:15 +01:00
yasmise
a06c257a07 [xml] Update japanese.xml
Update Japanese translation texts for this commit:
* Enable new low-level DirectX11 DirectWrite 1.1 Scintilla rendering mode (a679e8e)

Close #16306
2025-03-18 15:48:38 +01:00
Don Ho
ff734af115 Refactoring & cleanup Tabbar (part 2)
Remove unnecessary static functions, centralize the Tabbar settings on _tabStatus.

Close #16297
2025-03-17 13:02:37 +01:00
xomx
a679e8ebfb Enable new low-level DirectX11 DirectWrite 1.1 Scintilla rendering mode
Allow selection of the Scintilla v5.5.5 SC_TECHNOLOGY_DIRECT_WRITE_1 (Windows 7 SP1 and newer only).

Close #16284
2025-03-16 03:38:47 +01:00
Don Ho
659330e81a Fix plugin button hidings being ignored bug in toolbar button conf
Fix plugin button hidings settings being ignored bug in toolbar button config,
if the value of "hideAll" attribute of "Standard" node in "toolbarButtonsConf.xml" is set to "yes".

Fix #16280, close #16285
2025-03-15 23:31:22 +01:00
Don Ho
0ead95eb86 Fix incorrect syntax hiliting by switching from wrong langType to right one
Regression was introduced by commit b2152d983e3b20aed7f687ba1d9e916ae6065b24

Fix #16271, close #16281
2025-03-15 03:52:50 +01:00
Don Ho
25a40b9a62 Refactoring & clean up for TabBar (part 1)
Close #16275
2025-03-14 16:14:23 +01:00
PeterCJ
88bc3955e9 Fix SQL Backslash Escape preference not taking effect immediately
Refresh SQL lexer(s) on preference change.
With new internal message, able to send the SQL property to the each SQL buffer.

Fix #16244, close #16258
2025-03-13 20:06:32 +01:00
Christian Grasser
e38a0f2ec9 Update to scintilla 5.5.5 & Lexilla 5.4.3
Release 5.5.5 (https://www.scintilla.org/scintilla555.zip)

    Released 25 February 2025.
    Remember selection with undo and redo. Controlled with SCI_SETUNDOSELECTIONHISTORY. Feature #1273, Bug #1479, Bug #1224.
    Serialize selection type and ranges with SCI_GETSELECTIONSERIALIZED and SCI_SETSELECTIONSERIALIZED.
    For Win32, update Direct2D and DirectWrite interfaces used to 1.1 and add a lower-level approach to calling DirectWrite 1.1 by specifying SC_TECHNOLOGY_DIRECT_WRITE_1. Since Windows Vista does not support these API versions, Scintilla o longer supports DirectWrite on Windows Vista and will fall back to using GDI.
    Fix segmentation of long lexemes to avoid breaking before modifiers like accents that must be drawn with their base letters. For wrapping, try to break lines without separating letters from modifiers.
    For GTK on Windows, replace reverse arrow cursor with hand as reverse arrow was small in scaled modes. Bug #2460.
    Fix bug on Qt where double-click stopped working when Scintilla instance had been running for weeks.

Release 5.4.3 (https://www.scintilla.org/lexilla543.zip)

    Released 25 February 2025.
    C++: Fix evaluation of != in preprocessor condition. Issue #299.
    Modula-3: Allow digits in uppercase identifiers. Issue #297.
    Pascal: Fix asm style extending past end. Issue #295.
    Python: Fix detection of attributes and decorators. Issue #294, Pull request #302.
    Ruby: Implement substyles for identifiers SCE_RB_IDENTIFIER.
    Ruby: Recognize name as SCE_RB_DEFNAME in def when `::` used as well as `.`. Issue #300.

Close #16235
2025-03-12 16:09:49 +01:00
Don Ho
1068b5359a Notepad++ release 8.7.8 2025-03-08 04:12:53 +01:00
Don Ho
8793825b34 Fix FuncList not refresh correctly due to large files perf improving
Fix #16221 completely
2025-03-07 17:02:20 +01:00
xomx
829cd9d119 Fix FunctionList not refresh correctly on change of current doc's lang
Synchronize FunctionList panel with the current tab/buffer syntax set.
Ensures automatic switching to the currently used tab/buffer lang.

Before, the FunctionList remained populated according to the previously used lang, even if the user switched to a different one. In such a case a manual FL-reload/re-init was needed.

Fix #16221, close #16245
2025-03-07 15:25:05 +01:00
PeterCJ
a1f5405387 Fix SQL Backslash Preference state regression (from v8.7)
Move IDC_CHECK_BACKSLASHISESCAPECHARACTERFORSQL BM_SETCHECK from IndentationSubDlg processing to LanguageSubDlg processing to fix the regression in v8.7.

Fix #16249, close #16253
2025-03-06 21:45:22 +01:00
Patriccollu
1331002c74 [xml] Update Corsican translation for Notepad++ 8.7.8
Close #16237
2025-03-06 21:42:56 +01:00
Don Ho
ba3b955a45 Fix syntax hiliting err while switch lang on untitled doc regression
The regression was introduced by commit b2152d983e3b20aed7f687ba1d9e916ae6065b24

Fix #16250, close #16254
2025-03-06 21:39:20 +01:00
Don Ho
99d3f86d8b Fix irish.xml copy error in installer 2025-03-02 14:51:52 +01:00
xomx
bb0ed32d40 Fix installer silent mode doLocalConf.xml setting handling issue
Fix #16233, close #16234
2025-02-27 17:08:03 +01:00
Don Ho
aecc0e4a3b Update French & Taiwanese Mandarin localization 2025-02-26 02:27:32 +01:00
Andrei Miloiu
9044a085fe [xml] Update romanian.xml
Close  #16227
2025-02-25 22:24:11 +01:00
Don Ho
977391c5cb Enlarge the text fields of 2 control for the localization files
Fix #16199
2025-02-25 17:13:51 +01:00
A. Regnander
9008ae79f9 Update swedish.xml
Close #16204
2025-02-25 16:26:12 +01:00
Don Ho
eb5ed6c527 Add a new quote 2025-02-25 05:08:55 +01:00
Don Ho
0a42806515 Fix regression of keeping saving backup file even w/o modification
The regression was introduced by commit fc051a1231065731205ff5e315684ce3bfb19033, and the regression is from v8.7.1 to v8.7.7.

Fix #16186, close #16225
2025-02-24 23:49:11 +01:00
xomx
72e44cea4d [xml] Update czech.xml to v8.7.8
Close #16224
2025-02-24 13:52:50 +01:00
Don Ho
123f5abc1c Remove deleted line from the localization files 2025-02-24 04:45:12 +01:00
kubalav
c93d769863 [xml] Update Slovak translation
Close #16168
2025-02-24 01:42:37 +01:00
rddim
624152be67 [xml] Update Bulgarian localization
Close #16170
2025-02-24 01:40:30 +01:00
schnurlos
afcf7af123 [xml] Update german.xml
Following 706d7ae6de (diff-a6ac7ceba70d88bf1547fd1defd760bd55052dcdb78c44f9d46d99ef1f450472) & e094814133

Close #16171
2025-02-24 01:39:10 +01:00
Matteo Concato
9694f95562 [xml] Update italian.xml
Close #16222
2025-02-24 01:33:48 +01:00
Marcellomco
933097b5f1 [Xml] Update brazilian_portuguese.xml
Added translation for "Set User Defined Languages online help to Notepad++ User Manual URL"

Close #16164
2025-02-24 01:29:52 +01:00
Andrei Miloiu
250fe38032 [xml] Update romanian.xml
Close #16166
2025-02-24 01:11:22 +01:00
Krazal
5b45909550 Update hungarian.xml
Consolidated updates since v8.7.3:
• Add "User Defined Languages online help"
• Make some translations more professional
• Make translation up-to-date (adding support for other Scintilla rendering modes)

Close #16209
2025-02-24 00:17:23 +01:00
Karlo-F
9b334f1a52 [xml] Update croatian.xml to v8.7.8
Close #16220
2025-02-24 00:15:48 +01:00
~GOLEM~
dba97be975 [xml] Update russian.xml v8.7.8
Close #16178
2025-02-24 00:13:35 +01:00
yasmise
bdf84ef57a [xml] Update japanese.xml
Update japanese translation file for this commit:
* Set User Defined Languages online help to Notepad++ User Manual URL (e094814)

Close #16174
2025-02-23 20:06:45 +01:00
Don Ho
3d4a53adb4 Add the ability to hide selected toolbar buttons via a XML conf file
Usage:
Move & rename toolbarButtonsConf_example.xml to %APPDATA%\Notepad++\toolbarButtonsConf.xml, modify the XML file content & save it in your favorite editor (Notepad++, whatelse? ;) ), then relaunch Notepad++.

This PR simplies largely the logic of PR #15999 to make the code maintainable.

Fix #15106, fix #15440, fix #16000, close #16216
2025-02-22 20:31:05 +01:00
Don Ho
83755ca155 Improve folding/unfolding performance for large files
- Use the Scintilla dedicated command SCI_FOLDALL to replace the inefficient loop for "Fold All" command.
- Fix "Fold level" & switching back to large files folding performance.
- Refactoring the hide/show lines functions.

Note that there might be a regression of URL link:
https://github.com/notepad-plus-plus/notepad-plus-plus/pull/16200/files#r1961937279

The commit is based on code of #16064.

Fix #16064, close #16200
2025-02-22 17:23:58 +01:00
Coises
a52738c1dd Fix count operation on regex makes Notepad++ hang
Fix #16207, close #16208
2025-02-22 15:32:48 +01:00
PeterCJ
17287d7567 Style Configurator: reorder Global Override style in all themes
Fix #16214, close #16215
2025-02-21 21:48:49 +01:00
PeterCJ
c2f84143d9 Enhance Style Configurator: reorganize Language and Styles
Change Language to a COMBO and stack them so they can be wide rather than narrow.

Fix #15939, close #16212
2025-02-21 21:42:01 +01:00
xomx
fd2157729a Make other existing Scintilla rendering technology modes accessible
Adding support for other Scintilla rendering modes:
* SC_TECHNOLOGY_DIRECTWRITERETAIN (2)
* SC_TECHNOLOGY_DIRECTWRITEDC (3)
* SC_TECHNOLOGY_DIRECT_WRITE_1 (4)

Fix #16126, close #16201
2025-02-19 18:42:39 +01:00
Liushui
414baea93c Add latest AS3 keywords for auto-completion
Close #16189
2025-02-16 16:07:40 +01:00
PeterCJ
4f295de864 Adds SAS programming language support
Enable Sctintilla's SAS lexer, populate langs.model, stylers.model, and themes.
(includes keyword lists from UDLs, notepad4, and SAS documentation)

Fix #16148, close #16183
2025-02-16 15:45:47 +01:00
Don Ho
7ac7f9a0e6 Remove unecessary lines for accelerating switching into large files
ref: #16064
2025-02-14 18:05:41 +01:00
Don Ho
0b98007883 Minor refactoring & rename varibles 2025-02-13 15:12:45 +01:00
Don Ho
5dfc9709c9 Fix a syntax highlighting regression while switching among UDL files
Fix #16154, close #16181
2025-02-13 02:40:38 +01:00
xomx
abbe60e74c Allow using the Scintilla DirectWrite in non-Core Windows Server
Fix #15916, close #15921
2025-02-09 12:28:06 +01:00
Don Ho
db0bc136d6 Use a common abbreviation of a specific control code
Use VTS instead of LTS.

Fix #16107, close #16138
2025-02-08 17:13:59 +01:00
Don Ho
e094814133 Set User Defined Languages online help to Notepad++ User Manual URL
Fix #13737
2025-02-08 16:18:14 +01:00
Don Ho
b2152d983e Optimize switching programming language performance for large files
Fix #16106, close #16109
2025-02-07 19:39:57 +01:00
Don Ho
706d7ae6de Notepad++ release 8.7.7 2025-02-07 15:42:32 +01:00
schnurlos
ec961c895c [xml] Update german.xml
Close #16101
2025-02-03 07:32:21 +01:00
Don Ho
d888fb5f12 Improve NPPM_ADDSCNMODIFIEDFLAGS API
Improve NPPM_ADDSCNMODIFIEDFLAGS API so plugins can call it anytime for taking the effect immediately.

Ref: https://community.notepad-plus-plus.org/topic/26595/new-api-to-fix-eventual-regression-regarding-scn_modified-for-some-plugins/9?_=1738384417702
2025-02-01 07:26:25 +01:00
Don Ho
80319a71ee Improve the code example of new API NPPM_ADDSCNMODIFIEDFLAGS
Fix https://community.notepad-plus-plus.org/topic/26595/new-api-to-fix-eventual-regression-regarding-scn_modified-for-some-plugins/9?_=1738384417702
2025-02-01 06:34:34 +01:00
Don Ho
6fd3830b42 Add NPPM_ADDSCNMODIFIEDFLAGS to fix regression for Plugins
Add **NPPM_ADDSCNMODIFIEDFLAGS** message for plugins which need the SCN_MODIFIED notification of other events.

BOOL NPPM_ADDSCNMODIFIEDFLAGS(0, unsigned long scnMotifiedFlags2Add)
Add needed SCN_MODIFIED flags so your plugin will recieve the notification SCN_MODIFIED of these events for your specific treatments.
By default, Notepad++ only forwards SCN_MODIFIED with the following 5 flags/events SC_MOD_DELETETEXT | SC_MOD_INSERTTEXT | SC_PERFORMED_UNDO | SC_PERFORMED_REDO | SC_MOD_CHANGEINDICATOR to plugins.
If your plugin need to process other events of SCN_MODIFIED, you should add the flags you need by sending this message to Notepad++, just after recieving NPPN_READY.
wParam: 0 (not used)
lParam[in]: scnMotifiedFlags2Add- Scintilla SCN_MODIFIED flags to add.
Return TRUE

Ref: https://community.notepad-plus-plus.org/topic/26588/notepad-v8-7-6-released/2?_=1738167940554

Fix #16121, close #16120
2025-01-31 18:25:04 +01:00
Don Ho
5f004411af Notepad++ release 8.7.6 2025-01-28 08:20:49 +01:00
Don Ho
8042e50b19 Remove unnecessary calls to remedy the plugin issue (regression)
Ref: https://community.notepad-plus-plus.org/topic/26567/notepad-v8-7-6-release-candidate/6?_=1737703232720
2025-01-24 08:18:27 +01:00
IoeCmcomc
3eb1253d50 [xml] Update Vietnamese.xml to v8.7.6
Close #16098
2025-01-22 03:40:09 +01:00
pryrt
236bbf5aa5 Allow shortcuts for keys specific to non-en-US keyboards
Add keyboard-specific customizable keys to shortcut mapper.

Fix #16071, close #16095
2025-01-22 03:36:53 +01:00
Juan
1d4e3c5067 [xml] Update spanish 8.7.5.xml
Close #16018
2025-01-21 05:35:38 +01:00
Juan
8c4c2c2fe3 [xml] Update galician.xml v.8.7.5
Close #16097
2025-01-21 05:31:03 +01:00
Krazal
e00f338d95 Update hungarian.xml
Close #16093

Up-to-date Hungarian language file:
• Show buttons on inactive tabs
• Shorter Menu Settings/Preferences
• HowToReproduce comment (FindCharRangeValueError)
• Search and Shortcuts warnings (FindAutoChangeOfInSelectionWarning and Need2Restart2ShowMenuShortcuts)
2025-01-20 09:53:52 +01:00
Karlo-F
ae8df71e77 [xml] Update croatian.xml to v8.7.5
Close #15977
2025-01-20 09:36:41 +01:00
indiff
f5fbff5927 Update chinese.xml
Close #15988
2025-01-20 09:23:44 +01:00
Christophe Mateos
6113b73038 [xml] Update french.xml
Close #15996
2025-01-20 09:21:24 +01:00
Hugo Carvalho
874043bfaa [xml] Update Portuguese.xml
Close #16004
2025-01-20 09:15:38 +01:00
Juan
b6c177088d [xml] Update galician 8.7.5.xml
Close #16019
2025-01-20 09:00:51 +01:00
A. Regnander
79b59ff0b5 Update swedish.xml
Added string for the "Follow current doc." checkbox, which was removed in commit 6453379

Close #16024
2025-01-20 08:53:26 +01:00
kubalav
190a04fde5 [xml] Update Slovak translation
Close #16028
2025-01-20 08:48:24 +01:00
Marcellomco
59e1005a61 [XML] Update brazilian_portuguese.xml
Added translation for "Fix wrong replace all while 2nd time replace in selection"

Close #16030
2025-01-20 07:31:53 +01:00
Patriccollu
b9da6067a8 [xml] Update Corsican translation for Notepad++ 8.7.6
Close #16037
2025-01-20 07:25:42 +01:00
yasmise
1ba37e0faa [xml] Update japanese.xml
Update translation lines for this commit:
* Fix wrong replace all while 2nd time replace in selection (4b637b4)

Close #16038
2025-01-20 07:11:49 +01:00
Andrei Miloiu
bb2af02063 [xml] Update Romanian translation for Notepad++ 8.7.6
Close #16040
2025-01-20 07:09:07 +01:00
Matteo Concato
6a08f0a0ed [xml] Update italian.xml
Close #16049
2025-01-20 06:49:05 +01:00
schnurlos
f7881f61c0 Update german.xml
Following 4b637b4fc8.
Fixed https://github.com/notepad-plus-plus/notepad-plus-plus/issues/16052 (thx @octaeder)
Fixed https://github.com/notepad-plus-plus/notepad-plus-plus/issues/15795 (thx @cyclingcat)
Hopefully fixed https://github.com/notepad-plus-plus/notepad-plus-plus/issues/16045 (thx @ all)

Close #16055
2025-01-20 06:35:11 +01:00
Radoš Milićev
5d6cefcc79 Sync Serbian with v8.7.6
Close #16068
2025-01-20 06:03:06 +01:00
~GOLEM~
b110c4d65e Update russian.xml 8.7.6
Close #16074
2025-01-20 06:00:10 +01:00
rddim
8794247420 [xml] Update Bulgarian localization
Close #16078
2025-01-20 05:57:59 +01:00
xomx
85acdbc8a0 [xml] Update czech.xml to v8.7.6
Close #16086
2025-01-20 05:55:02 +01:00
xomx
b09b89799b Fix floating panels position resetting in multimon extended mode
This fixes a regression caused by PR #15236 (Fix for the "lost" panels problem).

As the Virtual Screen in the extended multi-monitor mode can start not a the point 0,0 (as the primary monitor does) but also at some negative coordinates, we have to deal with it.

The MS Virtual Screen concept ref:
 https://learn.microsoft.com/en-us/windows/win32/gdi/the-virtual-screen

Fix #15498 , fix #16077, close #16079
2025-01-19 19:46:13 +01:00
pryrt
6dfbc1f7e8 Add ShortcutMapper MultiLingual ability
When application is first loaded, it scans through the VK mappings on the active keyboard, and for the keyboard-specific keys (focused on the VK_OEM_# and similar keys), it will read what Windows says is the actual character associated with that virtual key code, and will populate a mapping for display purposes; when Notepad++ is showing the shortcut keys in menus or in the Shortcut Mapper, it will display the keyboard-specific character rather than the default en-US character.

(Debugged locally using Windows' `osk.exe` virtual keyboard app, and users with alternate physical keyboards have verified it for me as well, including the original requester.)

Fix #15966, Fix #14395, close #16072
2025-01-19 06:10:59 +01:00
Don Ho
1cf112a342 Fix "Show buttons on inactive tabs" option inconsistent behaviour
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/16059#issuecomment-2589933587
2025-01-15 09:36:36 +01:00
Don Ho
0d484da68e Add "download" attribute in HTML
Fix #16036
2025-01-15 08:41:10 +01:00
Alan Kilborn
b962835fef Fix backup file renaming bug for untitled tabs
Fix #16043, close #16047
2025-01-15 06:51:27 +01:00
Don Ho
3921812175 GUI enhancement: hide right menu shorcuts on the fly
Make the option "Hide right shortcuts + ▼ ✕" (in Preferences->General->Menu) hide right menu shortcuts immediately.
2025-01-15 05:59:45 +01:00
Don Ho
c2d1ec6c85 Add localization entry & clean up 2025-01-14 12:34:17 +01:00
Don Ho
8fde4bd8aa Make "Show close/pin button on each inactive tab" optional
Fix #15912, fix #16035, close #16059
2025-01-14 12:33:37 +01:00
Don Ho
26c3008525 Make current line/position copiable in Go to line dialog
Fix #15950
2025-01-13 09:54:16 +01:00
Alan Kilborn
d7ddb6ea3a Enhance UX in "Find in file" action while Directory field is empty
Move the input focus to Directory edit control if Directory field is empty while launching Find in files search.

Fix #16051, close #16057
2025-01-13 08:28:03 +01:00
Don Ho
e28324b8d0 Fix reload losing syntax highlighting regression
The regression is introduced by:
de9ffd2ea8

Fix #16027, close #16042
2025-01-11 04:48:57 +01:00
rdipardo
9e1db77f81 Fix literals wrong style for server side JavaScript
Add styles for SCE_HJ_TEMPLATELITERAL and SCE_HJA_TEMPLATELITERAL in styles.xml.

Fixes #15821, close #15822
2025-01-09 11:29:05 +01:00
Mmaloy
4fc044ed67 Add "color-scheme" keyword for CSS
Fix #15825, close #15930
2025-01-09 11:06:29 +01:00
Alan Kilborn
104cc8af73 Fix crash while passing invalid buffer with NPPM_SETUNTITLEDNAME
Fix #15970, close #15975
2025-01-09 10:55:03 +01:00
Don Ho
d9d7c4fbb3 Fix vertical tab crashes on enabling/disabling pin tab feature
Fix #16033, close #16034
2025-01-08 18:50:36 +01:00
Alan Kilborn
4b637b4fc8 Fix wrong replace all while 2nd time replace in selection
Prevent search from running with unintended "In selection" parameter.

Fix #14897, fix #14624, fix #15992, close #15995
2025-01-08 09:00:46 +01:00
Christian Grasser
a6103d5de7 Update to scintilla 5.5.3 & Lexilla 5.4.1
Release 5.5.4 (https://www.scintilla.org/scintilla554.zip)

    Released 18 December 2024.
    Update to Unicode 15.1. Issue #285.
    Improve performance of SCI_BRACEMATCH. Feature #1533.
    Improve performance of DBCS text. Feature #1535.
    Fix wrapping removed lines. Bug #2456.
    Fix moving line down to empty final line and moving empty final line up. Bug #2457.
    On GTK, allow middle click to insert multiple times within a document. Geany Issue #2629.

Release 5.4.2 (https://www.scintilla.org/lexilla542.zip)

    Released 18 December 2024.
    Update to Unicode 15.1. Issue #285.
    Lexer added for Nix "nix". Pull request #282.
    JavaScript: Use correct SCE_HJA_TEMPLATELITERAL style for server-side template literals in HTML instead of client-side style. Issue #286.
    JavaScript: Use correct SCE_HJ_SYMBOLS style for '.' after regex instead of SCE_HJ_WORD. Prevent empty word assertion when non-word character after regex flag. Issue #289.
    PHP: Fix unstable lexing with substyled keyword and unterminated string. Issue #288.
    Rust: Add C string and raw C string literal styles SCE_RUST_CSTRING and SCE_RUST_CSTRINGR. Pull request #292, Issue #268.
    TOML: Don't treat keys without values as errors. Pull request #283.
    Zig: Add SCE_ZIG_IDENTIFIER_STRING for identifiers expressed as strings. Pull request #287.

Fix #15817, fix #10528, fix #15801, close #15982
2025-01-08 07:14:08 +01:00
Don Ho
7544df5348 Fix regressionn while disabling clickable link
The regression was introduced by commit 71be434a334d300487c5d23114dc4afd084b94aa

Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/15926#issuecomment-2572268207

Close #16025
2025-01-07 05:18:31 +01:00
Don Ho
71be434a33 Improve performance while disabling clickable URL link
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/15981#issuecomment-2570310216

Close #16021
2025-01-06 04:40:05 +01:00
Don Ho
c5dd85cd93 Improve performance: Optimize activateBuffer function
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/15952#issuecomment-2567521808

Close #16010
2025-01-03 14:08:12 +01:00
Don Ho
c17d1d428d Optimize Scintilla notification code performance (part 2)
Turn off modification events for some Scintilla controls.

Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/15981#issuecomment-2565003286

Close #16009
2025-01-03 08:20:35 +01:00
Don Ho
f40df3cdf1 Optimize Scintilla notification code performance
Treat only main & sub Scintilla views for the most of SCN_* notification:

1. Move all SCN_* together.
2. Add a if (!notifyView) return FALSE; in the begining of case for most of all SCN_* notification.

Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/15981#issuecomment-2565003286

Close #15994
2024-12-31 02:09:54 +01:00
Don Ho
de9ffd2ea8 Enhance large files with syntax highlighting performance
Fix #15952, close #15981
2024-12-30 16:06:35 +01:00
Don Ho
8a8f8b2a89 Notepad++ 8.7.5 release 2024-12-25 05:34:02 +01:00
Don Ho
50c2c3a74a Fix regression "Open Selected PathName(s)" command not working with Ctrl-A
The regression is introduced by:
467182602a

The solution is from:
https://github.com/notepad-plus-plus/notepad-plus-plus/issues/15960#issuecomment-2553746218

Fix #15960
2024-12-21 03:53:45 +01:00
xomx
0447dc8988 [xml] Update czech.xml to v8.7.5
Close #15971
2024-12-21 03:08:52 +01:00
Matteo Concato
6a8e0d4080 [xml] Update italian.xml
Close #15972
2024-12-21 03:04:12 +01:00
~GOLEM~
0692b4fdbe [xml] Update russian.xml v 8.7.4
Close #15973
2024-12-21 03:00:10 +01:00
rddim
1372001473 [xml] Update Bulgarian localization
Close #15974
2024-12-21 02:57:15 +01:00
Don Ho
2f1cdbbef8 Fix nfo file losing modification issue (regression)
The regression is introduced by:
dd0b557e14 (diff-d88ddee57a027ab23daf332c4778ced0cee352edcb34efdda1b218e8a75c61b2R1864)

Fix #15964, close #15969
2024-12-20 10:58:33 +01:00
Andrei Miloiu
a664213210 Update romanian.xml
Close #15882
2024-12-20 07:46:18 +01:00
Krazal
6c6532b254 Update hungarian.xml
Updates for v8.7.3:
• Updated header and versioning to be more trackable/understandable
• Added translation of missing (un)pin operations
• More consistent translation of tab operations

Close #15910
2024-12-20 07:44:05 +01:00
Radoš Milićev
cfdbfc139a Update Serbian to v8.7.4
Close #15911
2024-12-20 07:41:05 +01:00
schnurlos
5c3d481509 [xml] Update german.xml
Following 83080c3404

Close #15927
2024-12-20 07:33:20 +01:00
Marcellomco
7816c50b06 Update brazilian_portuguese.xml
Added translation for "Fix the localization files to match the new behaviour"

Close #15931
2024-12-20 07:00:59 +01:00
kubalav
795129f4e5 [xml] Update Slovak translation
Close #15933
2024-12-20 06:58:11 +01:00
yasmise
017837f932 [xml] Update japanese.xml
Update translation texts for:
* Enhance "Follow current doc." GUI action/option in Find in files (6453379)
* Make translations clear.

Close #15962
2024-12-20 06:47:16 +01:00
A. Regnander
a6a300dd97 Update swedish.xml
Close #15965
2024-12-20 06:44:37 +01:00
Don Ho
f205b12230 Fix UDL comment & comment line conflicting
Fix #11897, close #15961
2024-12-20 04:37:38 +01:00
Don Ho
cb1172e2a4 Enhabnce updateTimeStamp fuction
Follow the disscussion:
https://github.com/notepad-plus-plus/notepad-plus-plus/pull/15936#discussion_r1886067242

Close #15968
2024-12-20 04:34:56 +01:00
Don Ho
f535087e5d Code enhancement: remove obsolete code
The removed code in this commit were added for working around Microsoft ReadDirectoryChanges notification issue:
1a97d3c854
Apparently the issue has been fixed. The following issue has been tested with this commit, no issue found:
https://github.com/notepad-plus-plus/notepad-plus-plus/pull/5591#issuecomment-487313886

This commit could remedy #15819 partially.

Close #15967
2024-12-20 04:32:50 +01:00
xomx
de1a04038b Fix network file wrong modification detection (regression from v8.7.1)
- increased DEFAULT_MILLISEC constant from 1000 to 3000 (some slower networks obviously cannot respond within the previous 1sec response timeout).
- the problematic situation was apparently made worse by the fact that the Buffer::checkFileState() did not issue one GetFileAttributesEx call but also an unnecessary second one (this was probably caused by an incorrect transcription of the previous version of this func for the new non-blocking thread method of calling the GetFileAttributesEx).
- other problem was that the checking func did not check at all whether the threaded call to the GetFileAttributesEx succeeded or had to be forcibly terminated from the main app thread and expected successful calling only.
- the nppLogNetworkDriveIssue logging has been enhanced.
- added option to check possible WIN32API error code of the threaded GetFileAttributesEx call from the main N++ thread.

Fix #15819, close #15936
2024-12-19 05:21:23 +01:00
Don Ho
0c4bb240eb Fix a typo for Kabyle identifier
Fix #15947
2024-12-18 06:02:24 +01:00
Christian Grasser
d6a32d2f0c Added Visual Basic function list + unittest case
Fix #3239, close #15953
2024-12-18 02:28:24 +01:00
pryrt
f5f7c14853 Update Verilog stylers/themes
Update verilog stylers/themes to remove conflicting styleID=2 style named TAGNAME.

Fix #15955, close #15957
2024-12-18 02:16:33 +01:00
Don Ho
a0bb55f0ed Remove the obsolete entry from localization files 2024-12-17 17:57:23 +01:00
Alan Kilborn
6453379ac8 Enhance "Follow current doc." GUI action/option in Find in files
Fix #15908, close #15938
2024-12-17 14:02:07 +01:00
notdodgeball
06a03ea41e Fix Reload Workspace not working
In case of reloading, openWorkSpace() needs to be called forced=true always.

Fix #11551, close #15946
2024-12-17 06:10:16 +01:00
Alan Kilborn
471a308bca Improve Copy-Selected-Lines
Follow the spec: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/15803#issuecomment-2515580625

Fix #15803, close #15854
2024-12-14 04:38:24 +01:00
Don Ho
10ae99e790 Fix unsaved documents lost on next launch if portable npp change path
When Notepad++ portable version changes its path (move/rename), the periode backup files (unsaved documents) are lost on the next session, due to the absolute paths in session files. This commit fixes the issue by ensuring the backup path matches with such documents.

Fix #1587, fix #15886, close #15942
2024-12-12 13:30:05 +01:00
xomx
dc583bf34e Code enhancement: Prevent backup worker thread crash at Notepad++ exit
Use thread safe g_bNppExitFlag and optimize the Notepad_plus::backupDocument worker thread.

Fix: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/15681#issuecomment-2403168094, close #15935
2024-12-11 05:16:29 +01:00
Don Ho
fdf3ed2714 Add Swift, TypeScript, and Go for advanced Auto-indent
Fix #15900, close #15925
2024-12-09 23:30:42 +01:00
Don Ho
83080c3404 Fix the localization files to match the new behaviour 2024-12-09 22:47:39 +01:00
xomx
d6169c418e Fix unusuability after deleting files in split view
Update _mainWindowStatus before switchEditViewTo for fixing hidden document-view after deleting files in both views from outside.

Fix #15922, close #15923
2024-12-09 02:04:51 +01:00
Christian Grasser
af9af11aec Refactoring for the better performance & smaller binary size
1. remove deprecated std::codecvt
2. replace s2ws -> string2wstring and ws2s -> wstring2string

Fix #15898, close #15913
2024-12-08 16:16:14 +01:00
xomx
4972dcf4b3 Add "Show details" functionality in installer
Fix #15718, close #15719
2024-12-07 16:07:32 +01:00
Don Ho
b3110cdccf Notepad++ 8.7.4 release 2024-12-05 03:14:51 +01:00
Don Ho
11a02f69c8 Fix regression of multi-line tabbar height not updated after closing
Fix regression of multi-line tabbar height not updated after "Close all to the Right" command.

Fix #15905, close #15906
2024-12-04 21:33:56 +01:00
Piotr Kostrzewski
ec0b2b5aa2 Update polish.xml
Close #15862
2024-12-04 21:03:45 +01:00
Hugo Carvalho
8cd3860cec [xml] Update Portuguese.xml
Close #15849
2024-12-04 20:48:45 +01:00
schnurlos
136c8d1197 [xml] Update german.xml
Following 2c1212cba5 & 287c85f8f0

Close #15865
2024-12-04 20:22:23 +01:00
Njardarheim-1337
c0cdb2e432 Updated Norwegian translation 8.7.2
Close #15866
2024-12-04 20:19:05 +01:00
Tmp341
10627b02de [xml] Update Turkish localization
* Used [Compare](bfe27cc..f18d99e (diff-a6ac7ceba70d88bf1547fd1defd760bd55052dcdb78c44f9d46d99ef1f450472)).

Close #15896
2024-12-04 20:14:57 +01:00
xomx
da79968bd4 Add some more Debug Info
+ Placeholders
+ DirectWrite
+ Multi-instance Mode
+ File Status Auto-Detection
+ Dark Mode

Fix #15903, close #15904
2024-12-04 16:19:01 +01:00
Don Ho
3426d58339 Fix applying MS-Dos style displayed incorrectly issue 2024-12-03 18:36:08 +01:00
Don Ho
dd0b557e14 Fix encoding of nfo file cannot be changed bug
Fix #8823, fix #9153, fix #13905, close #15902
2024-12-03 17:00:53 +01:00
Don Ho
28244a5996 Buffer small refactoring
Close #15895
2024-12-03 16:16:23 +01:00
pawelzwronek
2ed30a53ee Fix the extension defined by user not override language default extension
Check user defined extensions for styles first when detecting lang from extension.

Fix #8035, fix #8304, fix #15826, fix #10609, close #15888
2024-12-02 16:55:52 +01:00
Don Ho
a7e2faf868 Notepad++ 8.7.3 release 2024-12-01 17:05:43 +01:00
Don Ho
1c3c2f8d3b Update localization files 2024-11-30 15:39:00 +01:00
Matteo Concato
822a0abda4 Update italian.xml
Close #15844
2024-11-30 13:48:23 +01:00
Karlo-F
1fafa4edbc [xml] Update Croatian.xml for Notepad++ 8.7.3
Close #15884
2024-11-30 13:37:17 +01:00
kubalav
e15e4a7e49 [xml] Update Slovak translation
Close #15885
2024-11-30 13:24:33 +01:00
Marcellomco
d774b9b9c2 [XML] Update brazilian_portuguese.xml
Close #15864
2024-11-29 21:23:33 +01:00
xomx
435a8128f1 [xml] Update czech.xml to v8.7.3
Close #15880
2024-11-29 21:19:13 +01:00
春风化雨细如丝
ac7a2a4506 Update chineseSimplified.xml
Chinese Simplified translation for Indentation

Close #15858
2024-11-29 19:25:58 +01:00
Patriccollu
d871bec179 [xml] Update Corsican translation for Notepad++ 8.7.3
Close #15868
2024-11-29 19:22:33 +01:00
xomx
b43eba3f4b Fix docked panels invisibility in multiinst mode
When Notepad++ was set to "Always in multi-instance mode" and the 1st instance has been minimized to the task-bar, then the other instance's docked panels were invisible.

Fix #15873, and fix many Community reports like this link: https://community.notepad-plus-plus.org/topic/26164/v8-7-search-results-missing
2024-11-29 18:04:00 +01:00
yasmise
234ce61b9f [xml] Update japanese.xml
Update translation texts for these commits:
* Rename an option in Preferences dialog to fit other settings (2c1212c)
* Add Pin/Unpin Tab context menu item (287c85f)
* Update localization files to v8.7.3 (16da20e)

Close #15876
2024-11-29 16:42:37 +01:00
yasmise
f18d99e24c [xml] Add a missing line to english.xml
Close #15877
2024-11-29 16:39:53 +01:00
Don Ho
dc883d94d3 Fix a crash while disabling "Pin tab" feature
Fix #15860
2024-11-29 01:18:27 +01:00
~GOLEM~
830979354b [xml] Update russian.xml v 8.7.3
Close #15872
2024-11-29 00:09:50 +01:00
Don Ho
16da20efd6 Update localization files to v8.7.3 2024-11-28 21:54:00 +01:00
Don Ho
61a1ca89ff Add "Close All BUT Pinned" command
Close #15863
2024-11-28 21:49:05 +01:00
xomx
6229e0f5d4 Fix regression: Drag&drop a folder in Notepad++ launch redundant dialog
The regression is introduced by commit: c021c86195

Only returning BUFFER_INVALID in FileManager::loadFile immediately if the file size check == -1. This is a must here because of the following code does not expect such -1 in fileSize.
But an error msg is not appropriate here, as it could also be a legal attempt to open a dir (with files inside) or an attempt to use the N++ globbing feature.
This early return also speeds up the loading stage a bit.

Fix #15869, close #15870
2024-11-28 19:51:00 +01:00
xomx
b1237df06a Fix a possible buffer overflow issue
Fix possible DockingManager::FindEmptyContainer() buffer overflow.

Fix #15850, close #15851
2024-11-28 18:07:04 +01:00
Don Ho
287c85f8f0 Add Pin/Unpin Tab context menu item
Close #15852
2024-11-27 20:01:54 +01:00
Alan Kilborn
2c1212cba5 Rename an option in Preferences dialog to fit other settings
Rename 'Darken inactive tabs' to 'Change inactive tab color' and add "Go to Settings" for "inactive tab" in Style Configurator.

Fix #15800, close #15840
2024-11-27 18:46:04 +01:00
Don Ho
aaf3b3906e Notepad++ 8.7.2 release 2024-11-27 04:15:57 +01:00
Don Ho
ae56752472 Fix "Reduce Tabbar" option on/off not changing to needed tab width
Fix: https://community.notepad-plus-plus.org/topic/26388/notepad-v8-7-2-release-candidate/17?_=1732420272946
2024-11-25 17:31:38 +01:00
Don Ho
7af3c104d5 Fix copied paths repeated for "Copy Selected Pathname(s)" in Search results
Fix: https://community.notepad-plus-plus.org/topic/26388/notepad-v8-7-2-release-candidate/11?_=1732379132698

Fixed by: af2b90f0a5 (r149445528)
2024-11-23 17:50:06 +01:00
Don Ho
09332d6f98 Promote Pin Tab feature
Fix: https://community.notepad-plus-plus.org/topic/26388/notepad-v8-7-2-release-candidate/8?_=1732379132695
2024-11-23 17:24:22 +01:00
Don Ho
2556c1e56a Fix xml file structure error 2024-11-22 03:24:54 +01:00
Don Ho
30c6ac778e Remove obsolete entries from localization files 2024-11-22 03:20:39 +01:00
Don Ho
c1244b076a Remove unnecessary translation
ref: c021c86195 (r149366417)
2024-11-22 03:10:54 +01:00
Andrei Miloiu
fbff18fbc7 [xml] Update Romanian translation for Notepad++ 8.7.2
Close #15814
2024-11-22 02:42:47 +01:00
Njardarheim-1337
640e4f3432 Updated Norwegian translation 8.6.9
Close #15829
2024-11-21 23:08:57 +01:00
Matteo Concato
ae290d3d29 [xml] Update italian.xml
Close #15774
2024-11-21 23:07:25 +01:00
schnurlos
5b83d3a24a [xml] Update german.xml
Close #15755
2024-11-21 22:53:31 +01:00
artpoli
6282d90db7 [xml] Update Ukrainian translation
Close #15753
2024-11-21 22:50:27 +01:00
Radoš Milićev
780f77b544 Update Serbian localization to v8.7.2
Close #15836
2024-11-21 19:16:44 +01:00
Don Ho
09202b3270 Update translations 2024-11-21 19:14:24 +01:00
Krazal
241a2dbbf3 Update hungarian.xml
Complete and up-to-date re-translation of the Hungarian language file, including:
• Translating the missing terms
• Adding missing accelerator letters (also for dialogs)
• Correcting the previous spelling errors (e.g. capitalization)
• Re-translating the inaccurate expressions more accurate
• Re-translating the outdated terms

Close #15824
2024-11-21 17:40:29 +01:00
A. Regnander
c25a925370 Update swedish.xml
Close #15760
2024-11-21 16:49:56 +01:00
xomx
76b4045df4 [xml] Update czech.xml to v8.7.2
Close #15835
2024-11-21 16:19:47 +01:00
rddim
4113c85b78 [xml] Update Bulgarian localization
Close #15799
2024-11-20 20:47:20 +01:00
Marcellomco
3273267261 [XML] Update brazilian_portuguese.xml
Close #15761
2024-11-20 20:02:23 +01:00
kubalav
62e80fbe3d [xml] Update Slovak translation
Close #15790
2024-11-20 20:00:07 +01:00
Patriccollu
495e952174 [xml] Update Corsican translation for Notepad++ 8.7.2
Close #15808
2024-11-20 19:55:17 +01:00
pawelzwronek
4c9adcb0fa [xml] Update polish.xml
Close #15809
2024-11-20 16:32:14 +01:00
Karlo-F
c21d0daeae [xml] Update Croatian translation for Notepad++ 8.7.2
Close #15823
2024-11-20 15:54:48 +01:00
~GOLEM~
7df8020d16 [xml] russian.xml v8.7.2
Close #15807
2024-11-20 15:51:03 +01:00
yasmise
975f0b948b [xml] Update japanese.xml
Update translation texts for these commits:
* Add one comment for localization file (ba8cd8c)
* Notepad++ 8.7.1 release (ba3b457)
* Add Pin tab feature (ce58b42)

Close #15783
2024-11-20 15:47:34 +01:00
WildByDesign
dad2353a1b Update Record macro toolbar icon for dark mode
Close #15818
2024-11-19 16:01:30 +01:00
xomx
c021c86195 Code enhancement for file checking
Add missing dwFileAttributes init to INVALID_FILE_ATTRIBUTES.

Close #15820
2024-11-19 15:44:13 +01:00
Don Ho
8f0484caf3 Fix Ctrl-C not doing copy from Search result issue (part 2)
Fix using F7 to switch in Search results not working with Ctrl-C issue.

Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/15739#issuecomment-2481400295
2024-11-19 02:52:48 +01:00
Don Ho
af2b90f0a5 Add ability to open/copy selected files from Search-results (2)
Restoring the ability of copying untitled document name.

ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/15741#issuecomment-2481665911
2024-11-18 16:52:26 +01:00
Don Ho
467182602a Fix selected pathnames in search results localization issue
Bug introduced by commit: b8224808bd (diff-a6ac7ceba70d88bf1547fd1defd760bd55052dcdb78c44f9d46d99ef1f450472L1722)

Fix by https://github.com/notepad-plus-plus/notepad-plus-plus/issues/15741#issuecomment-2480350071

Close #15813
2024-11-17 16:54:07 +01:00
pawelzwronek
30e1319ea8 Fix empty.ico - removed random semi-transparent pixel
Close #15811
2024-11-17 16:38:47 +01:00
Don Ho
c24444acfe Fix Ctrl-C not doing copy from Search result issue
Solution from: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/15739#issuecomment-2479671245

Fix #15739, close #15810
2024-11-16 22:09:10 +01:00
pawelzwronek
eeb4753044 Add "Minimize / Close to" option for System tray
Fix #15771, close #15785
2024-11-14 16:56:02 +01:00
Alan Kilborn
b8224808bd Add ability to open/copy selected files from Search-results
Add ability to open/copy selected files from Search-results, not always ALL files.

Fix #15741, close #15763
2024-11-14 16:01:02 +01:00
Don Ho
796b3a40b7 Highlight inactive darken tab on mouse hover
Fix #15791, close #15794
2024-11-13 18:04:46 +01:00
Don Ho
f607044da0 Fix wrong position of pin button while close disabled and pin enabled
After disable close button and enable pin button, relaunch Notepad++ will make wrong position of pin button on tab.
This commit fix the bug.
2024-11-13 02:11:20 +01:00
Don Ho
5f4610293c Hide inactive tab buttons (Close & Pin)
Fix #15298, close #15781
2024-11-12 04:38:34 +01:00
Don Ho
55df104606 Refactoring (part 2) 2024-11-10 03:51:33 +01:00
Don Ho
c5094fee8b Refactoring to move the message definitions to the right place
Move the message definitions of toolbar & tabbar to the right place.

Close #15775
2024-11-10 00:18:28 +01:00
Don Ho
d9c24ad78f Remove dead entry from the localization files
Ref: ce58b424bd (commitcomment-148911101)
2024-11-09 14:43:49 +01:00
Don Ho
ce58b424bd Add Pin tab feature
Fix #5786, close #15750
2024-11-09 03:59:20 +01:00
Coises
5d29f72464 Fix replace field focus losing when Notepad++ is switched back
Fix #6021, close #15756
2024-11-04 19:18:48 +01:00
Don Ho
ba3b4578b2 Notepad++ 8.7.1 release 2024-11-04 14:39:21 +01:00
Don Ho
682570ea6d Fix saved file from new empty doc keeping created time tip issue
Fix https://community.notepad-plus-plus.org/topic/26235/notepad-v8-7-1-release-candidate/11?_=1730165549940
2024-10-31 00:13:35 +01:00
Don Ho
2aa47e3219 Revert "Fix saved file from new empty doc keeping created time tip issue"
This reverts commit 93ecbb004c8a216d17a8b940572a388f010c94ee.
2024-10-31 00:12:37 +01:00
Craftidore
3311924e1c Make auto-completion case sensitive for lua
Fix #15612, close #15613
2024-10-30 02:01:31 +01:00
Don Ho
93ecbb004c Fix saved file from new empty doc keeping created time tip issue
Fix https://community.notepad-plus-plus.org/topic/26235/notepad-v8-7-1-release-candidate/11?_=1730165549940
2024-10-30 01:53:07 +01:00
Juan
ddf7908535 [xml] Update spanish.xml v. 8.7.1
Close #15730
2024-10-29 01:38:58 +01:00
Juan
b29fe57c26 [xml] Update galician.xml v. 8.7.1
Close #15731
2024-10-29 01:33:50 +01:00
xomx
bd415530a3 [xml] Update czech.xml to v8.7.1
Close #15736
2024-10-29 01:29:07 +01:00
xomx
62e6a5378a Fix SaveAs dialog "Append extension" option not working issue
Fix the regression introduced in commit:
f884a39dd4

Fix https://community.notepad-plus-plus.org/topic/26235/notepad-v8-7-1-release-candidate/4
Close #15745
2024-10-29 01:24:22 +01:00
rddim
ef4bedefea [xml] Update Bulgarian localization
Close #15694
2024-10-24 04:27:03 +02:00
Don Ho
c9168cce80 Add 2 unit tests for URL
Follow 7dbb459b55642f48c99bc2e5b806ef7a6e971881
2024-10-23 04:02:19 +02:00
Czespo
7dbb459b55 Fix URL parsing issue with '?' after '#'
Fixes #13583, close #15670
2024-10-22 18:49:19 +02:00
p@pawel-pc
5a02c17803 [xml] Update polish.xml
- Minor fixes and added missing translations

Close #15722
2024-10-21 23:33:14 +02:00
Hugo Carvalho
cc942822fa [xml] Update portuguese.xml
Close #15723
2024-10-21 22:09:48 +02:00
Don Ho
c224a9630e Fix modified Find dialog status msg not being remembered throu sessions
Fix #15724
2024-10-21 17:07:10 +02:00
Karlo-F
911600fa20 [xml] Update Croatian.xml for Notepad++ 8.7
Close #15624
2024-10-21 15:48:23 +02:00
A. Regnander
40c668e77e Update swedish.xml
Updated strings from last english.xml commit, minor correction to existing string

Close #15621
2024-10-21 15:41:33 +02:00
Patriccollu
d34bca6a17 [xml] Update Corsican translation for Notepad++ 8.7.1
Close #15689
2024-10-21 15:35:39 +02:00
~GOLEM~
98a24a4d90 [xml] russian.xml v 8.7.1
Close #15720
2024-10-20 19:42:34 +02:00
schnurlos
f6655850a7 [xml] Update german.xml v8.7
Close #15623
2024-10-20 18:40:29 +02:00
Andrei Miloiu
439456bc43 [XML] Update romanian.xml
Close #15715
2024-10-20 18:25:13 +02:00
Marcellomco
7d9c60ff77 [XML] Update brazilian_portuguese.xml
Close #15710
2024-10-20 18:23:29 +02:00
p@pawel-pc
c8533ddc52 Update translation texts for these commits:
* Add "Close to system tray" in MISC preference (035ef19)
* Improve GUI for commands for the system tray in Preferences (cd45afc)

Close #15700
2024-10-20 18:18:58 +02:00
Matteo Concato
5a20b1e54a [XML] Update italian.xml
Close #15699
2024-10-20 18:17:01 +02:00
yasmise
d3687c1b89 [xml] Update japanese.xml
Update translation texts for these commits:
* Add "Close to system tray" in MISC preference (035ef19)
* Improve GUI for commands for the system tray in Preferences (cd45afc)

Close #15693
2024-10-20 18:10:59 +02:00
kubalav
2097969e73 [xml] Update Slovak translation
Close #15692
2024-10-20 18:08:58 +02:00
Christian Grasser
213e9135ba Update to scintilla 5.5.3 & Lexilla 5.4.1
Release 5.5.3 (https://www.scintilla.org/scintilla553.zip)

    Released 19 October 2024.
    On Win32 change direction of horizontal mouse wheel and touchpad scrolling to match other applications. Bug #2449.

Release 5.4.1 (https://www.scintilla.org/lexilla541.zip)

    Released 19 October 2024.
    Lexer added for Dart "dart". Pull request #265, Pull request #275.
    Lexer added for troff / nroff "troff". Pull request #264.
    Lexer added for Zig "zig". Pull request #267.
    C++: Fix crash for empty documentation comment keyword where '<' occurs at line end.
    F#: Include EOLs in the style range of SCE_FSHARP_COMMENTLINE. Stabilizes EOL detection when folding line comment groups. Issue #276.
    F#: Fix per-line folding in F# documents. Issue #277.
    HTML: Improve SGML/DTD lexing. Don't terminate SGML when > inside quoted string. Lex both [ and ] as SCE_H_SGML_DEFAULT. Nested sections handled instead of switching to SCE_H_SGML_ERROR. Issue #272.
    JavaScript: New SCE_HJ_TEMPLATELITERAL and SCE_HJA_TEMPLATELITERAL styles for template literals when lexer is hypertext, or xml. Issue #280.
    PHP: Fix failure to recognize PHP start "<?php' at end of document. Caused by not capping retrieval range at document end causing no text to be retrieved. Issue #269.
    Smalltalk: Fix scaled decimal numbers without decimal separator. Pull request #274.

Fix #15228, fix #15368, fix #15650, close #15717
2024-10-20 17:33:07 +02:00
Don Ho
ba8cd8c46f Add one comment for localization file 2024-10-20 15:05:29 +02:00
Don Ho
ad34461261 Make left behide hide line close marker removable
Fix #15713
2024-10-18 03:57:03 +02:00
Adrian Kulawik
5d2bea5b97 Fix hanging issue while hiding lines
Fix #15630, close #15632
2024-10-18 03:55:50 +02:00
Don Ho
bfe835e8a4 Fix wrong messages for replacement status 2024-10-16 16:56:26 +02:00
Don Ho
901014746c Fix Find dialog status bar wrong messaging
Fix #15662
2024-10-16 05:27:29 +02:00
Don Ho
1890ea65f9 Avoid user confusion between Global override & Default Styles
Fix #15640, close #15706
2024-10-16 00:49:44 +02:00
Don Ho
dc9f58ddac Reduce network file hanging issue due to win32API GetFileAttributes cache (unsynchronized).
STR:
1. Open a network file.
2. Close Notepad++ to have it in the session.
3. Disconnect the network, and launch Notepad++ immediately.
4. Around more than 1 minute's delay, then the "Error" dialog displayed.

The reason for the hanging is that the network file was incorrectly detected by doesFileExist (GetFileAttributesEx) as present, leading Notepad++ to attempt opening a non-existent file with _wfopen. This issue seems to stem from a caching mechanism within the IO function (GetFileAttributesEx). When the network disconnects, the cache is not immediately cleared, causing GetFileAttributesEx to falsely report that the file exists. Consequently, when Notepad++ is launched after a network disconnection, GetFileAttributesEx retains its cache, indicating the file exists, while _wfopen fails to locate the network resource, resulting in a hang.

Unfortunately, there's no efficient solution for this problem. The commit's remedy is to check if the file is on the network and whether its directory still exists. If the directory doesn't exist, we avoid calling _wfopen. We verify the directory's existence instead of the file itself because the cache issue with GetFileAttributesEx occurs before _wfopen is executed. Checking the directory avoids the cache problem due to the identical argument being used.

I've tested this remedy in debug mode, and it works fine. However, the problem persists in release mode. Despite this, I believe it's worth keeping this solution, as it provides some protection in a variable network environment, potentially mitigating the issue when it arises.

Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/15658#issuecomment-2386662974

Improve #4306, #6178, #8055, #11388, #12553, #15540, close #15701
2024-10-15 21:27:44 +02:00
Don Ho
5e3ee3e0e4 Rename variable & enhance the code 2024-10-12 19:32:37 +02:00
Don Ho
3b6f22b357 Fix disconnected network files hanging while saving
This PR prevent hanging when user: Open a network file, modify it. Disconnect the network, then save the file.
It also prevents the zombie process due to blocked CreateFile left behind.

Remove the timeout thread for CreateFile to prevent the zombie process. Use another way for the detection:
If the result of network file existent detection is false, and the network problem found (timeout reached), we just stop and don't call CreateFile routine.

Ref: 1445487

Improve #4306, #6178, #8055, #11388, #12553, #15540
2024-10-12 04:25:09 +02:00
Don Ho
0ca0348e7f Improve code & refactoring
Close #15681
2024-10-11 19:54:11 +02:00
Don Ho
cd45afc020 Improve GUI for commands for the system tray in Preferences 2024-10-11 04:28:19 +02:00
p@pawel-pc
035ef19b17 Add "Close to system tray" in MISC preference
Fix #4075, fix #11627, close #15617
2024-10-11 04:21:21 +02:00
Don Ho
fdb68db3d6 Fix the wrong detection call 2024-10-10 18:43:42 +02:00
Don Ho
1445487bb7 Fix network files hanging while the network disconnected (part 3)
Add thread for CreateFile to fix saving disconnected network file hanging.
STR: Open a network file, modify it. Disconnect the network, then save the file. A huge latency (more than 1 minute) can be observed.

Not that the crash is not reproducible anymore by this PR. If any crash happens for you, please let me know (with the STR).

Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/15669

Improve #4306, #6178, #8055, #11388, #12553, #15540
Close #15679
2024-10-08 21:08:16 +02:00
Don Ho
fb6d79b3af Fix crash on closing a disconnected network file tab
Context: While the network file is disconnected, it's considered non-existent and might to be deleted.

The reason of crash:
"doClose" on the same buffer happens twice while users clicks X button, then chooses "No" when they are asked whether if this file should be kept in editor.

Explanation:
When user clicks X button on the tab of the file in question to close it, "activateBuffer" is called, then "fileClose" is called.
* activateBuffer: Following "activeateBuffer" call in the depth, "checkFileState" is invoked - that leads the message "The file "xxxxxx" doesn't exist anymore. Keep this file in Editor?". If user clicks on No, "doClose" will close the tab and destroy the buffer.
* fileClose: in "fileClose" call, "doClose" will be invoked and try to close the already-destroyed buffer.

Solution:
Retrieve the buffer ID once again, after "activateBuffer" call, for comparing with old buffer ID. If the buffer was destroyed, the new retrieved buffer ID is not the same.

Note: this commit fixes the crash, but it doesn't fix the misbehaviour: If user clicks on "Yes" to answer the message "The file "xxxxxx" doesn't exist anymore. Keep this file in Editor?", the tab will be still closed.

Fix #15684, close #15685
2024-10-08 16:48:52 +02:00
Don Ho
d2fb03e41c Make log function easier to be called 2024-10-05 21:47:20 +02:00
Don Ho
a3535f385f Fix network files hanging while the network disconnected (part 2)
Refactoring for reducing the I/O calls, fix typos.

Reduce the startup time (while the a dirty disconnected network file is in the session) from about 12-15 seconds to about 6 seconds (on my laptop).

Note that there are 2 cases are not improved by the commit:

* STR 1: Open a network file, modify it. Disconnect the network, then save the file.

There will be a huge hanging time (around 1 minute) to get the warning dialog.
I tried to remedy with thread for CreateFileW in the constructor of Win32_IO_File, however it leads crash due to the lock guard in the caller.

* STR 2:
1. Open a network file.
2. Close Notepad++ to have it in the session.
3. Disconnect the network, and launch Notepad++ immediately.
4. Around more than 1 minute's delay, then the "Error" dialog displayed.

The reason of hanging is that the network file was detected by "doesFileExist" as true, so Notepad++ was trying to open non-existent file (by _wfopen).
I believe that there's some kind of cache during the very short period for the IO function (here's our case GetFileAttributes), and such cache is not immediately synchronized (cleared) while network disconnected. As a result, when we launch Notepad++ after the disconnection of network, GetFileAttributes keeps its memory & responds "FileExists". However for _wfopen it doesn't see the resource of network anymore - that makes hanging.

Ref #15658
Improve #4306, #6178, #8055, #11388, #12553, #15540
Close #15669
2024-10-04 18:04:15 +02:00
Don Ho
f884a39dd4 Fix opened network files hanging issue while the network disconnected
The issue is due to WinAPI's GetFileAttributes function can take a huge amount of time in various situations, like when the target server being offline (usalally).
The current solution is to wait at least 3 seconds for each GetFileAttributes function, then return the default value in case of the problem (or the returned value of the function, in case of normal situation - if it has been executed completely during the 3 seconds).
So there'll still be the hanging time (3 or 6 seconds) while the problem of network connection, but the hanging time (it could be 30 seconds more) is reduced considerablly.

"Wow64EnableWow64FsRedirection" call is also removed from x64 build (in which this call is unnecessary) in this commit to reduce the IO calls.

Fix #4306, fix #6178, fix #8055, fix #11388, fix #12553, fix #15540, close #15658
2024-10-02 04:52:15 +02:00
Don Ho
fc051a1231 Add tab created time tooltip for new opened untitled tab
Note: while create the new tab (empty & clean), there will be a created time displayed. When the document is modified and period backup feature is enabled, a new created time will be assigned and displayed. However, the time of the first modification which makes empty document dirty will be remained as the tab creation time, even with several modification afterward.

Fix #15563, close #15651
2024-09-26 18:44:45 +02:00
xomx
8baa1553fc Fix regression: can't open folder via cammand argument
Fix one incorrect PathFileExists replacement.

Fix #15645, close #15646
2024-09-23 16:57:15 +02:00
Don Ho
595074152d Small refactoring 2024-09-19 18:38:07 +02:00
Don Ho
27ce5f8499 Notepad++ 8.7 release 2024-09-17 19:36:49 +02:00
Don Ho
4201368cde Fix typo 2024-09-16 13:58:46 +02:00
Don Ho
ea08a8929d Fix the crash issue for NPPM_GETNATIVELANGFILENAME
Fix #15627
2024-09-15 18:57:55 +02:00
Karlo-F
45cd29f8ea [xml] Update Croatian translation for Notepad++ 8.7
Close #15608
2024-09-11 15:52:45 +02:00
Juan
8a56d1a4ea [xml] Update galician.xml v. 8.7.0
Close #15589
2024-09-11 15:50:54 +02:00
Juan
291c5c3718 [xml] Update spanish.xml v. 8.7.0
Close #15588
2024-09-11 15:48:37 +02:00
Matteo Concato
8f78f997f8 Update venetian.xml
Close #15491
2024-09-11 15:46:32 +02:00
Sapziller
4728efd5ae Update korean.xml
Close #15483
2024-09-11 15:42:37 +02:00
A. Regnander
af3283fcf0 Update swedish.xml
Close #15479
2024-09-11 15:41:20 +02:00
Hugo Carvalho
06d1e8b068 [xml] Update portuguese.xml
Close #15477
2024-09-11 15:36:00 +02:00
Andrei Miloiu
ccf5342707 Update romanian.xml
Close #15464
2024-09-11 15:34:01 +02:00
Matteo Concato
22e5c2b82f [xml] Update italian.xml
Close #15446
2024-09-11 15:32:14 +02:00
Marcellomco
d932b029f8 [XML] Update brazilian_portuguese.xml
Close #15434
2024-09-11 15:30:13 +02:00
Tmp341
3330661d2a [xml] Update Turkish localization
* According to 912c5ee, 9f6e9c0, 07e9503 and 7a6768b commits.
* Used to [Compare](12548b6..7a6768b (diff-a6ac7ceba70d88bf1547fd1defd760bd55052dcdb78c44f9d46d99ef1f450472))

Close #15432
2024-09-11 15:28:10 +02:00
artpoli
4b0792e7d4 [xml] Update Ukrainian translation
Close #15569
2024-09-10 22:55:23 +02:00
Njardarheim-1337
6308589e7c Update norwegian.xml to 8.6.8
Update norwegian.xml to 8.6.8 according to the last commit.

Close #15419
2024-09-10 22:48:03 +02:00
xomx
d942032cf0 [xml] Update czech.xml to v8.7.0
Close #15618
2024-09-10 20:10:45 +02:00
yasmise
ba24ac84b7 [xml] Update japanese.xml
Update translation texts for these commits:
* Make C-Like indent deactivatable (439bbb0)
* Improve description for settings "Backup" (108b9f0)
* Add missing localization for debug info dialog and print error (ea5e36a)

Close #15455
2024-09-09 17:56:17 +02:00
Patriccollu
ff5c03374d [xml] Update Corsican translation for Notepad++ 8.7
Close #15451
2024-09-09 04:45:03 +02:00
schnurlos
6cbebedb1e [xml] Update german.xml v8.6.9
Close #15438
2024-09-08 18:02:37 +02:00
~GOLEM~
3e977c38eb [xml] Update russian.xml v8.7.0
Close #15444
2024-09-08 16:32:40 +02:00
kubalav
d3ac449432 [xml] Update Slovak translation
Close #15445
2024-09-08 16:22:53 +02:00
rddim
12d46fc61c [xml] Update Bulgarian localization
Close #15458
2024-09-08 16:19:02 +02:00
Don Ho
4393f0ca09 Make naming more accurate 2024-09-07 19:30:43 +02:00
Brian C
d5ec03a464 Fix monitoring large file with frequent writes freezes UI issue
Fix #9661, close #15598
2024-09-06 04:19:00 +02:00
Don Ho
624e315686 Add forgotten entries for individual tab color in theme files
Add the entries forgotten in a16261caaa173689da468d5be66e32866681e152
2024-09-04 03:46:11 +02:00
Christian Grasser
a13d4637bf Add simple version of tex/latex function list
Close #15595
2024-09-04 03:17:54 +02:00
Don Ho
85c390efde Fix NPPM_GETNATIVELANGFILENAME's comment documentation & 2 tipos
Fix #15599
2024-09-03 19:20:51 +02:00
Don Ho
a9b5235402 Fix CVE-2014-9456 (but it's not a "Security Vulnerability")
Fix Notepad++ Debug binary crash issue while opening some special files (crash after some "Assertion fail" message boxes).
Only the Debug binary is impacted. There's no issue for the release binary, so it's not a "security vulnerability".

Also there's no buffer overflow as the description in CVE-2014-9456.

Fix #12669
2024-09-03 00:24:48 +02:00
Don Ho
a866900c8d Make find dlg status msgs color customizable via Style Configurator
Fix #5087, close #15597
2024-09-02 18:51:59 +02:00
Don Ho
43ebe796af Add comments for Style Configurator's parameters 2024-09-01 16:56:06 +02:00
Don Ho
21e5350f90 Refactoring for Find dlg Status messge color 2024-08-31 15:00:11 +02:00
Don Ho
22c03102f2 Recognize Cython files as Python
Fix #3069, fix #3767, close #15591
2024-08-31 00:08:36 +02:00
ozone10
bdf3ccaca9 Fix regression of multiple selections in comboboxes of Find dialog
The regression was introduced from commit e25e15b9b25afee7f56fe6e02ef4a314468f6d7b

Fix #15583, close #15587
2024-08-28 20:41:43 +02:00
Don Ho
446cc980e8 Add new plugin command & notification while native lang being changed
Add new plugin notification NPPN_NATIVELANGCHANGED when the native language has been changed, and add new plugin message NPPM_GETNATIVELANGFILENAME for plugins calling after getting NPPN_NATIVELANGCHANGED notification.

Usage of the command:

	#define NPPM_GETNATIVELANGFILENAME (NPPMSG + 116)
	// int NPPM_GETNATIVELANGFILENAME(size_t strLen, char* nativeLangFileName)
	// Get the Current native language file name string.
	// Users should call it with nativeLangFileName as NULL to get the required number of char (not including the terminating nul character),
	// allocate commandLineStr buffer with the return value + 1, then call it again to get the current native language file name string.
	// wParam[in]: strLen is "commandLineStr" buffer length
	// lParam[out]: commandLineStr recieves all copied native language file name string
	// Return the number of char copied/to copy

Usage of the notification:

	#define NPPN_NATIVELANGCHANGED (NPPN_FIRST + 31)  // To notify plugins that the current native language is just changed to another one.
                                                      // Use NPPM_GETNATIVELANGFILENAME to get current native language file name.
                                                      // Use NPPM_GETMENUHANDLE(NPPPLUGINMENU, 0) to get submenu "Plugins" handle (HMENU)
	//scnNotification->nmhdr.code = NPPN_NATIVELANGCHANGED;
	//scnNotification->nmhdr.hwndFrom = hwndNpp
	//scnNotification->nmhdr.idFrom = 0; // preserved for the future use, must be zero

Fix #15513, close #15582
2024-08-28 17:09:40 +02:00
Alan Kilborn
8e26e08c1c Simplify Python smart indent regex
Fix #15573, close #15574
2024-08-26 18:31:22 +02:00
xomx
d2bb7a2af6 Fix a single undo reverting many changes issue
Fix mismatched SCI_BEGINUNDOACTION:
When there is a SCI_BEGINUNDOACTION without the corresponding SCI_ENDUNDOACTION, it then causes that a single undo reverts many changes in at once.

Fix #9426, close #15577
2024-08-26 17:56:29 +02:00
Don Ho
fb11abc5c0 Add TOML configuration file format
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/15564#issuecomment-2305174561

Fix #5631, close #15576
2024-08-26 05:04:06 +02:00
Christian Grasser
b32c07f746 Enhance build in other platforms
Avoid linux issue:
../src/WinControls/DoubleBuffer/DoubleBuffer.cpp:18:10: fatal error: CommCtrl.h: No such file or directory
   18 | #include <CommCtrl.h>
      |          ^~~~~~~~~~~~

Close #15566
2024-08-23 18:03:40 +02:00
ozone10
86adb21480 Improve Styler Configurator performance
ref #15560

Close #15565
2024-08-23 17:56:50 +02:00
Christian Grasser
ad79718fc8 Update to scintilla 5.5.2 & Lexilla 5.4.0
Release 5.5.2 ( https://www.scintilla.org/scintilla552.zip )

    Released 21 August 2024.
    Add SCI_SETCOPYSEPARATOR for separator between parts of a multiple selection when copied to the clipboard. Feature #1530.
    Add SCI_GETUNDOSEQUENCE to determine whether an undo sequence is active and its nesting depth.
    Add SCI_STYLESETSTRETCH to support condensed and expanded text styles.
    Add SCI_LINEINDENT and SCI_LINEDEDENT. Feature #1524.
    Fix bug on Cocoa where double-click stopped working when system had been running for a long time.
    On Cocoa implement more values of font weight and stretch.

Release 5.4.0 ( https://www.scintilla.org/lexilla540.zip )

    Released 21 August 2024.
    Inside Lexilla, LexerModule instances are now const. This will require changes to applications that modify Lexilla.cxx, which may be done to add custom lexers.
    Lexer added for TOML "toml".
    Bash: Handle backslash in heredoc delimiter. Issue #257.
    Progress: Fix lexing of nested comments. Pull request #258.
    Force lower-casing of case-insensitive keyword lists so keywords match in some lexers. Issue #259.

Close #15564
2024-08-23 02:59:58 +02:00
Don Ho
d84f9b2048 Fix Styler Configurator performance issue considerably
Improve Styler Configurator modification application performance considerably.

While one of dockable Panels (Folder as Workspace, for example) is loaded heavily, any action (checkboxes & comboboxes) on Styler Configurator reacts very slowly - for example, check "Bold" in "Font Style".
This commit makes difference among the operations, and optimizes each action in Styler Configurator.

Fix #12436, close #15560
2024-08-21 23:24:29 +02:00
Don Ho
c1954e5c44 Fix "User-defined keywords" not being saved properly (Style Config)
When "User-defined keywords" field has been set keywords, removing all keywords then saving doesn't have any change (the keywords are kept after saving). The commit fix it.

Fix #15543, fix #14303
2024-08-16 17:20:20 +02:00
PeterCJ
9e4290094d Add user-defined keyword ability for some supported programming languages
Add new SubStyles and their available keyword lists to specific languages:
- Enable 8 Scintilla's SubStyles (each), which allow for new keyword lists and styles for the languages with SubStyles available: ActionScript, ASP, Bash, C, C++, C#, GDScript, Go, HTML, Java, JavaScript (standalone and embedded), JSP, Lua, PHP, Python, Resource (RC), Swift, TypeScript, and XML.
- The new SubStyles have been added to `langs.model.xml`, `stylers.model.xml`, and the themes, which means users can just use the StyleConfigurator for the SubStyles, just like they do for the original Styles.

Fix #15520, close #15537
2024-08-14 20:01:36 +02:00
WildByDesign
2d79edca95 Enhance FunctionList, FaW & project panels' icons in lite mode
Add Fluent Icons for light mode treeview.

Close  #15541
2024-08-14 15:09:47 +02:00
ozone10
f751ecaf04 Add fluent icons for treeview
ref #14959

Close #15532

Signed-off-by: ozone10 <positronix10@gmail.com>
2024-08-11 23:31:56 +02:00
Alan Kilborn
ae1d09cab8 Improve Python smart indent in case of string
Improve Python smart indent by using style context.

Fix #15534, close #15535
2024-08-11 17:30:59 +02:00
Alan Kilborn
48a2b30c13 Fix Python smart indent wrongly when comment line ends in colon
Fix #15528, close #15529
2024-08-10 00:18:09 +02:00
Don Ho
72751182bf Several enhancements for code - part III 2024-08-06 21:51:07 +02:00
Don Ho
bf72b5ec4a Several enhancements for code - part II 2024-08-05 21:22:45 +02:00
Don Ho
b78b3bdef0 Several enhancements for code
Close #15516
2024-08-05 15:40:44 +02:00
PeterCJ
9fb538d125 Add file type filters for UDL in Save dialogs
Fix #8083, fix #11096, close #15490
2024-08-04 12:53:30 +02:00
Alan Kilborn
e17d77ceab Fix edit zone not getting focus while clicking the active tab
Move input focus to editor when clicking on already-active tab.

Fix #8446, close #15508
2024-08-03 12:29:22 +02:00
Don Ho
a16261caaa Add customizable option for individual tab color
Fix #12156, close #15509
2024-08-03 00:12:23 +02:00
Don Ho
29ff2da823 Fix Style Configurator regression: "URL hovered"'s "Go to Settings" not working
Fix #15493
2024-07-28 21:46:33 +02:00
Don Ho
6b97e68cbb Refactoring - make tab color code on its correct place 2024-07-28 12:34:30 +02:00
Don Ho
6556b17ee2 Fix a typo; Make a function name & comment more accurate 2024-07-28 11:40:38 +02:00
Alan Kilborn
bfe27cc860 Add the ability to open the copy after "Save a Copy" command
Fix #11861, close #15476
2024-07-26 12:32:21 +02:00
Christian Grasser
d8c6350918 Update to scintilla 5.5.1 & Lexilla 5.3.3
Release 5.5.1 ( https://www.scintilla.org/scintilla551.zip )

    Released 22 July 2024.
    SCI_CUTALLOWLINE added which is similar to SCI_COPYALLOWLINE but also deletes the copied text. Feature #1518.
    Can set font used for autocompletion lists with SCI_AUTOCSETSTYLE. Feature #1523.
    Increase maximum zoom set interactively to +60 points. Feature #1517.
    Fix flickering cursor after some mouse action sequences. Bug #2443.

Release 5.3.3 ( https://www.scintilla.org/lexilla533.zip )

    Released 22 July 2024.
    ASP: Control whether ASP is enabled for XML and HTML with lexer.xml.allow.asp and lexer.html.allow.asp. Issue #252.
    JavaScript: Recognize regular expressions at start or after '>' in JavaScript when lexer is cpp, hypertext, or xml. Issue #250, Bug #918.
    JavaScript: Recognize initial #! 'shebang' line as a comment in standalone files. Issue #253.
    Lua: Fix non-ASCII identifiers joined with '.' or ':'. Issue #242.
    Lua: Fix folding for multi-line SCE_LUA_LITERALSTRING and SCE_LUA_COMMENT when performed incrementally. Issue #247.
    PHP: Control whether PHP is enabled for XML and HTML with lexer.xml.allow.php and lexer.html.allow.php. Issue #252.

Close #15466
2024-07-23 13:07:50 +02:00
Don Ho
d805dcb39c Fix typo & minor changes 2024-07-20 19:55:53 +02:00
xomx
19ddb91a64 Fix cannot paste issue after removing read-only via menu
Syncronize Paste and Undo commands with file buffer read-only status.
Previously, after e.g. removing the read-only flag, file editing was possible immediately, but Ctrl-V was not. At least a cursor movement or switching between the N++ tabs or apps-switching was required (SCN_UPDATEUI message generated...).

Fix https://github.com/notepad-plus-plus/notepad-plus-plus/issues/13742#issuecomment-2233570312, close #15452
2024-07-20 15:29:54 +02:00
xomx
f05f4105de Fix Folder as Workspace for network storage sorting problem
Now Notepad++ ensures that the Folder as Workspace treeview sorting will be ok even for the *nix (Samba, WebDAV, WSL..) storage used.

Fix #10557, fix #15397, close #15457
2024-07-20 14:15:50 +02:00
Jiri Hruska
955b042fcb Enhance DoubleBuffer and fix the debug assert issue
Refactor DoubleBuffer, fix bugs, add comments, allow easy disabling.

Fixes #15363, close #15389
2024-07-19 19:32:54 +02:00
ozone10
bdbd65182c Replace treeview bmp with ico
- use recommended subclassing
- fix missing icons in function list when searching

ref #14959

Close #15405
2024-07-19 19:20:01 +02:00
Don Ho
4cde33048f Use std::wstring instead of generic_string 2024-07-19 04:35:14 +02:00
Don Ho
d13c9bb943 Use wchar_t instead of TCHAR
For making Unicode application status more explicit.

Close #15459
2024-07-19 01:04:42 +02:00
Don Ho
a427ace34c Use explicite L to replace TEXT - part 2 2024-07-18 21:39:08 +02:00
ozone10
8866d4b7fe Add dpi support for panel tab and caption
- use recommended subclassing for docking panel tab and caption
- remove unused function

ref #14959

Close #15394
2024-07-18 19:39:28 +02:00
Don Ho
3bca7bf278 Use L"" instead of TEXT("") - Part 1 2024-07-18 05:26:20 +02:00
ozone10
ea5e36a5be Add missing localization for debug info dialog and print error
Fix #15375, fix #15105, close #15416
2024-07-17 00:41:46 +02:00
Don Ho
108b9f0d24 Improve description for settings "Backup"
Fix #14560, close #15351
2024-07-15 00:34:35 +02:00
Don Ho
0858dfa4af Use GetFileAttributes instead of PathFileExists
Ref: https://github.com/notepad-plus-plus/nppShell/pull/64#discussion_r1664890166
Ref: https://devblogs.microsoft.com/oldnewthing/20071023-00/?p=24713

Fix #14839, close #15400
2024-07-14 22:50:00 +02:00
Don Ho
ac67f15c2b Fix closing unsaved clone document makes periodic backup lost issue
And change the behaviour of closing a cloned document: there's no more "Save or not" dialog appears.

Fix #8227, close #15409
2024-07-14 21:14:44 +02:00
Don Ho
439bbb04d2 Make C-Like indent deactivatable
Add one more option for auto-indent so user can choose among "none", "basic" & "advance".
Also add the indentation section in Preferences dialog.

Fix #15396, close #15414
2024-07-14 21:10:13 +02:00
Don Ho
761060819f Notepad++ v8.6.9 release 2024-07-14 04:42:28 +02:00
Don Ho
504e4ca5df Fix periodic backup's disfunction regression for the main view
The regression was introduced in:
97279d024f (diff-5f6ec155ff896fe5cab66dcf3e3f99c2b72d2498dda4cb68a4002da4468cabda)
2024-07-07 05:17:50 +02:00
schnurlos
1c47c368b8 [xml] Update german.xml
Modified backspace description.

Close #15353
2024-07-05 16:25:19 +02:00
Hugo Carvalho
f47b0e8d2f [xml] Update portuguese.xml
Close #15393
2024-07-05 16:20:49 +02:00
Matteo Concato
163e2712ed Update italian.xml
Close #15395
2024-07-05 16:17:30 +02:00
rddim
955f31562a [xml] Update Bulgarian localization
Close #15401
2024-07-05 15:27:13 +02:00
ArkadiuszMichalski
89910d0bfe [xml] Update polish.xml to 8.6.9
Close #15404
2024-07-05 15:11:04 +02:00
ozone10
5501485c0b Add ability to pre-populate the predefined color sets to the custom tone
Allow to reset custom tone colors with other predefined color sets.

Fix #15055, close #15387
2024-07-02 15:20:35 +02:00
Don Ho
c2da907f34 Fix comiling error in msys2
Close #15388
2024-07-02 00:17:57 +02:00
Don Ho
dbef8cea91 Solve compiling error & fix a regression of "new #"
The regression is introduced by:
f7d9e7c095 (diff-2d5c277be2799a7e43a90232d8ef9add2e788e252c8692bf9416abc69836957d)
2024-07-01 21:02:27 +02:00
Don Ho
a301ffc774 Remove ambiguous symbols (part 9)
Relace TCHAR, generic_string & TEXT("") par wchar_t, wstring & L"" respectively.
Follow up: 94af271

Close #15386
2024-07-01 20:19:21 +02:00
Don Ho
dc5cea8947 Remove ambiguous symbols (part 8)
Relace TCHAR, generic_string & TEXT("") par wchar_t, wstring & L"" respectively.
Follow up: 94af271

Close #15385
2024-07-01 19:58:07 +02:00
Don Ho
88bd09e67d Remove ambiguous symbols (part 7)
Relace TCHAR, generic_string & TEXT("") par wchar_t, wstring & L"" respectively.
Follow up: 94af271

Close #15381
2024-07-01 16:33:00 +02:00
Don Ho
f7d9e7c095 Remove ambiguous symbols (part 6)
Relace TCHAR, generic_string & TEXT("") par wchar_t, wstring & L"" respectively.

Follow up: 94af271

Close #15380
2024-07-01 00:38:07 +02:00
Don Ho
3c897f892a Remove ambiguous symbols (part 5)
Relace TCHAR, generic_string & TEXT("") par wchar_t, wstring & L"" respectively.
Follow up: 94af271

Close #15379
2024-07-01 00:34:44 +02:00
Curious Insatiable
4d8ef955e2 Update french.xml
Essentially there are many deletions of capital letters in the middle of sentences (non-compliant in French)
Replacing the apostrophes ' with ' (alt+0146) (to make it prettier)
Replacement of "" (&quot;) by French quotation marks "" (alt+174 & alt175)(to make it prettier too)
Some formulations which were not very clear, or even incorrect.

Close #15355
2024-06-30 01:34:46 +02:00
Don Ho
97279d024f Remove ambiguous symbols (part 4)
Relace TCHAR, generic_string & TEXT("") par wchar_t, wstring & L"" respectively.
Follow up: 94af271
2024-06-30 01:10:36 +02:00
Don Ho
10deb9970c Remove ambiguous symbols (part 3)
Relace TCHAR, generic_string & TEXT("") par wchar_t, wstring & L"" respectively.
Follow up: 94af271be9

Close #15378
2024-06-29 22:16:45 +02:00
Don Ho
0842c991d3 Remove ambiguous symbols (part 2)
Replace  TEXT("") and _T('') by the L"".
Follow up 94af271be9

Close #15377
2024-06-29 22:07:21 +02:00
WildByDesign
a68362b48f Fix Replace Icon
Replace icon (findrep_off.ico) Dark Filled and Light Filled both had an additional 3 duplicate layers in the icon file.
Reported here: 53d87d4f62 (commitcomment-143611882)
Those duplicate layers have been removed.

Close #15373
2024-06-29 18:05:55 +02:00
Don Ho
94af271be9 Remove ambiguous symbols
The "ambiguous" symbols (TCHAR & generic_string) are used when Notepad++ suppoted both ANSI & Unicode formats.
Since ANSI format of Notepad++ has been dropped (since long time ago), TCHAR & generic_string will be replaced by wchar_t & wstring respectively.

Close #15371
2024-06-28 18:47:40 +02:00
xomx
982f52224c Add the possibility for opening a shortcut file if change file ext
Do not recognize files without lnk-extension as Windows shortcuts.

Fix also https://github.com/notepad-plus-plus/notepad-plus-plus/pull/15211#issuecomment-2156495651

Fix #9643, fix #11089, fix #10139, close #15364
2024-06-28 18:19:11 +02:00
WildByDesign
d0f5742664 Fluent Icons - Wrap - Alignment Fix
Close #15370
2024-06-27 23:01:46 +02:00
A. Regnander
dfe31e5099 Update swedish.xml
Close #15367
2024-06-27 16:25:23 +02:00
xomx
3c3e7cdadd Fix Encoding "Convert to..." regression
Fix incorrect Clipboard handling. This commit fixes possibly #9426

Fix #15324, fix #15271, fix #3054, close #15346
2024-06-27 14:54:09 +02:00
WildByDesign
53d87d4f62 Fluent Icons Update
- update Find, Replace, Zoom In and Zoom Out icons
- much better consistency between these 4 icons
- significantly improved/sharper in all scaling scenarios
- particularly more distinguishable at smaller sizes
- entirely custom made (following Fluent design guidelines)

Close #15361
2024-06-26 15:27:24 +02:00
Karlo-F
84e310911d [xml] Update Croatian translation for Notepad++ 8.6.9
Close #15352
2024-06-25 19:23:46 +02:00
xomx
c54b33db81 [xml] Update czech.xml to v8.6.9
Close #15347
2024-06-24 13:40:30 +02:00
Juan
f195575467 [xml] Update galician v.8.6.9.xml
Close #15340
2024-06-24 13:35:23 +02:00
Juan
34998e46f4 [xml] Update spanish v. 8.6.9.xml
Close #15339
2024-06-24 13:32:39 +02:00
Alex Prabhat Bara
73ad1efc47 Fix CSS more indentation bug
Fix #14962, close #14968
2024-06-23 16:27:00 +02:00
Alan Kilborn
b3daf0a982 Add plugin command NPPM_SETUNTITLEDNAME to rename untitled tab
Fix #8916, close #15291
2024-06-22 14:44:09 +02:00
WildByDesign
8e1f641472 Improve close button on tab in dark mode (Fluent Icons)
- updated Fluent icons for Close buttons for better scaling

Follow up: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/15321

Close  #15336
2024-06-21 19:53:54 +02:00
artpoli
60c8baa4b7 [xml] Update Ukrainian translation
Close #15330
2024-06-21 19:46:34 +02:00
Andrei Miloiu
2928088f0e [xml] Update romanian.xml
Close #15295
2024-06-21 19:44:13 +02:00
Kjell Rilbe
91ecc5f40f Update Swedish localization
Added keyboard hotkeys in Swedish Mark dialog.

Close #15174
2024-06-21 19:40:53 +02:00
Machou
d3500f3aba Update french.xml
Update Fr
Add miss phrases
About:
Contre-oblique se dit [Barre oblique inversée](https://fr.wikipedia.org/wiki/Barre_oblique_invers%C3%A9e) (wikipedia)

Close #15272
2024-06-21 19:38:38 +02:00
Patriccollu
4a64071ddd [xml] Update Corsican translation for Notepad++ 8.6.9
Close #15257
2024-06-21 19:34:53 +02:00
yasmise
e4431e20a0 [xml] Update japanese.xml
Add/Update translation texts for these commits:
* Update English translation for v8.6.8 (indentation setting) (9f6e9c0)
* Add message box with information about disabled backward regex searching (07e9503)

Close #15254
2024-06-21 19:32:01 +02:00
kubalav
88e550ef81 [xml] Update Slovak translation
Close #15251
2024-06-21 19:29:36 +02:00
rddim
e106724be6 [xml] Update Bulgarian localization
Close #15249
2024-06-21 19:26:20 +02:00
Thomas De Rocker
bb5dbd704e Update dutch.xml
Close #15246
2024-06-21 19:23:49 +02:00
~GOLEM~
d2a7a765af [xml] russian.xml v8.6.8
Close #15240
2024-06-21 19:19:52 +02:00
schnurlos
9bd3a0f0b1 [xml] Update german.xml to v8.6.7
Following 912c5ee300

Close #15210
2024-06-21 19:17:38 +02:00
Matteo Concato
5f5f1e7e0a [XML] Update italian.xml
- improved translation of "failed"  to "andare a buon fine"
- shortucts in find dialog
- removed exlamation marks
- minor corrections

Close #15190
2024-06-21 19:14:14 +02:00
Marcellomco
fcf5846898 [XML] Update brazilian_portuguese.xml
Added fix for "Make english language text with colon (':') consistent"

Close #15172
2024-06-21 19:10:05 +02:00
ozone10
25686c22e4 Separate imagelist for tab bar close button icons for dark/light modes
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/15321

Close #15326
2024-06-21 17:38:49 +02:00
Don Ho
6b441b738a Prevent DirectWrite from being ON under Windows Sever (Core) 2024-06-21 00:39:24 +02:00
Don Ho
3ee5ef0205 Make LoadIcon error message more clear 2024-06-20 21:36:58 +02:00
ozone10
46c5a0c226 Fix exception/crash on Windows Server Core 2022 (Datacenter)
The exception/crash occurs due to the unsupported icon format in Windows Server Core 2022 (due to the lack of a graphical library).

The commit tries to make loading icons fail-safe, and it represents a balance between the functionality of loading icons and the minimal graphic support required for Notepad++:
In the event of loading problems in a typical Windows version with complete graphical library support (which is unlikely but possible), users will receive alerts, and the ICO ID in question will be displayed in the caption.
However, under Windows Server Core 2022, multiple alert message boxes may appear during Notepad++ launch, but they can be stopped after the first one, allowing the user to use Notepad++ normally.

3 choices on the alert message: "Yes" for ignoring error(s) and launch Notepad++, "No" for stop lauching Notepad++ and quit it. "Cancel" for displaying all message error with the loading failure of ICO ID in caption, and launch Notepad++.

Fix #15313, close #15315
2024-06-20 21:04:55 +02:00
ozone10
965e24859f Fix a regression due to usage of double buffer (2nd part)
Fix black text background in Find dialog status bar
Regression introduced in 5b36e09
ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/15319#issuecomment-2177773329

Close #15320
2024-06-19 15:43:39 +02:00
ozone10
90762bbdda Fix a regression due to usage of double buffer
Regression introduced in 5b36e097c2
ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/15296#issuecomment-2171221062

Replace WM_PRINTCLIENT with WM_PRINT to avoid black parts when resizing tabbar in light mode.

Close #15319
2024-06-18 19:18:54 +02:00
ozone10
8760dd2c07 Replace tab bar close button BMP files with ICO
ref #15298

Close #15317
2024-06-18 15:39:47 +02:00
wilk
57a89b257a Update langs.model.xml - TCL keyword "then"
Added TCL's optional keyword "then": https://www.tcl.tk/man/tcl8.5/TclCmd/if.htm

Close #15309
2024-06-17 05:05:51 +02:00
xomx
ace9f49679 Fix renamed last empty clean tab cannot be closed issue
Fix #15306, close #15312
2024-06-17 04:58:39 +02:00
Don Ho
9a27df8f13 Make NPPN_FILEBEFORERENAME notification more efficient 2024-06-16 23:55:42 +02:00
Jiri Hruska
5b36e097c2 Fix status bar and tab bar flicker when updated
Add double buffering for status bar and tab bar to avoid flickering.

Fix #15260, close #15296
2024-06-16 04:51:42 +02:00
Don Ho
6102687faf Fix crash of "Next Search Result" cmd on the empty search result (2nd)
Fix #15247, close #15293
2024-06-15 23:42:21 +02:00
Don Ho
e6a1735236 Fix Find Replace size is not remembered through the sessions issue
Fix #15294
2024-06-15 20:45:58 +02:00
Don Ho
fa2fce2b41 Fix crash of "Next Search Result" cmd on the empty search result
Fix #15247
2024-06-15 05:00:32 +02:00
ozone10
c7ee70cf32 Make panel tabbar icons using BMP use transparency
- modify standard ico files to use transparency

ref #14959

Close #15289
2024-06-15 03:15:35 +02:00
WildByDesign
eb82aac284 Fluent Icons Alignment Fix
- improve the alignment of the Document List, Undo and Redo icons

Close #15288
2024-06-14 15:47:05 +02:00
Alan Kilborn
2e116251e2 Fix the Begin/End Select after deletion problem
Fix #15221, close #15278
2024-06-14 15:38:55 +02:00
WildByDesign
720f5f8a8e Fluent Icons - Tab Bar
- Adding the remaining Fluent icons for the tab bar
- 16x16, 20x20, 24x24, 32x32 and 48x48

Close #15287
2024-06-14 00:38:36 +02:00
Don Ho
638b5a2043 Make install/update easy & quiet
Add command line parameter "/runNppAfterSilentInstall" for Notepad++ installer.
This parameter launches installed Notepad++ after silent installation.
Of course, the parameter takes effect only when "/S" (silent installation) is used.

Fix partially #8514, follow up #15230

Close #15280
2024-06-13 11:41:02 +02:00
ozone10
dbdeca5b28 Add dark mode search results panel tab bar icon
ref #14959

Close #15286
2024-06-13 17:59:57 +02:00
WildByDesign
7f7dd1df01 Fluent Icons - Panels Toolbar & Tab bar
- Update Fluent Icons for Panels Toolbar and tabbar for better scaling.
- 16x16, 20x20, 24x24, 32x32 and 48x48

Close #15285
2024-06-13 16:02:40 +02:00
ozone10
f2fbeadfea Refactor docking panel tab bar to improve dpi compatibility
- reduce flickering when resizing panels

Ref #14959

Close #15282
2024-06-13 15:36:38 +02:00
Alan Kilborn
7a6768b029 Add Backspace unident option
Fix #15180, close #15277
2024-06-13 15:12:22 +02:00
ozone10
6cbb1273a3 Tweak Find in File Progress hits text position
- increase width for Find dialog In selection checkbox
- increase width for Preference Autocompletion html/xml close tag checkbox

According the community's decision:
https://community.notepad-plus-plus.org/topic/25874/poll-find-in-files-hits-position

ref https://github.com/notepad-plus-plus/notepad-plus-plus/pull/15187#issuecomment-2159602146

Fix #15244, fix #13426, close #15268
2024-06-13 14:47:06 +02:00
Coises
f2e5739d4d Fix rectangular selection copy-paste bug
Restore old paste into rectangular selection behavior: only call pasteIntoMultiSelection for multiple stream selections and not for rectangular selections.

Fix #15139, fix #15151, close #15261
2024-06-12 15:56:23 +02:00
ozone10
dc53d1b7a7 Add F13-F24 keys to Shortcut Mapper
Fix #11975, close #15269
2024-06-12 02:19:13 +02:00
Alan Kilborn
721a845bec Fix unsaved tab containing tab character display glitch
Disallow tab character via pasting when renaming a file tab.

Fix #15202, close #15211
2024-06-12 01:24:42 +02:00
ozone10
f37f2d0ffe Use new dpi scaled size for docking panel tab icons
Ref #14959

Close #15267
2024-06-11 03:26:30 +02:00
xomx
83f1195bc1 Add installer new option '/closeRunningNpp'
New Notepad++ NSIS installer cmdline option.

If specified on the cmdline, it first tries to use the usual app-closing by sending the WM_CLOSE message to the running Notepad++.
If that standard closing fails, it uses consequently the forceful TerminateProcess WINAPI way.

Partially fix the #8514, followup of the #14251.

Close #15230
2024-06-09 21:19:42 +02:00
WildByDesign
aea78d71e2 Show All Characters Icon Fix
- fixes the All Characters Icon which was blurry at 16x16

Close #15259
2024-06-09 03:22:32 +02:00
WildByDesign
7291823e1a Update Fluent toolbar icons
Updated icons for 16x16, 20x20, 24x24, 32x32, 40x40, 48x48, 64x64 and 96x96

Close #15253
2024-06-08 17:06:19 +02:00
xomx
8beda66cb8 Fixed the "lost" panels issue
Implement some size limits for the Notepad++ docked and floating panels, as the users often "lost" its panels (e.g. when they minimized them to zero width or height).

This also fixes the config.xml possible previous "out-of-the-allowed-range" data.

Fix #13084, close #15236
2024-06-08 03:58:43 +02:00
ozone10
e7e88a380a Add "Show All Character" context menu on toolbar button
Fix #14832, close #15235
2024-06-07 00:47:31 +02:00
Don Ho
7a401cface Enlarge the labels of indent settings 2024-06-06 19:58:35 +02:00
ozone10
07e95038cb Add message box with information about disabled backward regex searching
Fix #15239, close #15243
2024-06-06 18:05:13 +02:00
ozone10
ea71d5ea4e Fix small width for "Ignore case" checkbox in UDL for some languages
Fix #15233, close #15234
2024-06-05 18:16:41 +02:00
xomx
9f6e9c0cfc Update English translation for v8.6.8 (indentation setting)
Related to: #15203

Close #15237
2024-06-05 17:21:19 +02:00
Don Ho
df4e8f5b73 Fix integer overflow issue in Column Editor
Fix #15167, close #15222
2024-06-05 00:58:56 +02:00
Don Ho
61bcf3a2bc Notepad++ v8.6.8 - Support Taiwan's Sovereignty 2024-06-04 03:55:45 +02:00
popcorner
bc1436a5c0 Update chineseSimplified.xml
Close #15154
2024-06-04 00:41:16 +02:00
ozone10
6cd6aa3843 Make clang warnings flags in makefile and msvc consistent
PR #15189 added option to use clang with gcc makefile.
This PR makes clang warnings flags in makefile and msvc consistent.

Close #15227
2024-06-01 01:26:04 +02:00
ozone10
fedaabf0f8 Fix toolbar pressed button visual glitch in dark mode
Use custom draw for main toolbar in dark mode.

Fix #15225, close #15226
2024-06-01 00:58:08 +02:00
ozone10
cfcb0d73cf Fix file opening issue with control characters initial appearence
Fix #13988, close #15219
2024-05-31 03:56:10 +02:00
ozone10
6c660a71b3 Add missing monitoring icon for disabled state
Fix #15217, close #15218
2024-05-31 03:37:52 +02:00
Christian Grasser
b4b76ff770 Code enhancement: Nullpointer checks
- zero init LexSearchResult.cxx lineBuffer
- WindowsDlg::resetSelection() add nullpointer check as assert just triggers on debug builds
- added missing nullpointer checks in Utf8_16.cpp on allocated memory
- added missing nullpointer check on notifyView for case SCN_AUTOCSELECTION in NppNotification.cpp
- added missing nullpointer check on clipboardData in NppCommands.cpp

Close #15195
2024-05-31 02:57:39 +02:00
ozone10
c89033bd8a Replace bmp with ico for panels with toolbar
- use correct styles for toolbar
- change panel toolbar icons if dark/light mode has changed
- align panel toolbar icons
- add initialization

ref #14959

Close #15204
2024-05-29 00:04:55 +02:00
Don Ho
0019e20f82 Make naming correct for indent settings of Preferences dialog
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/15180#issuecomment-2129892136

Close #15203
2024-05-28 18:41:56 +02:00
ozone10
cdf32d198b Reorganize icons folder
- remove unused delete icon and code related to it
- remove notepadPlus.Resource.targets
- fix dark mode edit control in preference file association subdialog

ref https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14959#issuecomment-2131289263

Close #15192
2024-05-27 03:14:37 +02:00
Christian Grasser
2ed6c77dfe CI enhancement
- update CI link from appveyor to GH action
- add option to makefile build mingw build also with Clang++ instead of g++
- add option to makefile to enable clang analyzer

Close #15189
2024-05-25 16:19:47 +02:00
Alan Kilborn
b3b90a5dc0 Add auto-indent feature for Python
Fix #15122, close #15159
2024-05-25 15:56:55 +02:00
ozone10
9c1f972ee3 Add new dpi support to Find in Files Progress window
ref #14959

Fix #15027, close #15187
2024-05-25 03:42:17 +02:00
ozone10
6c5f0009b4 Use gdi dpi scaling for Windows dialog
- tweak dpi scaling for ColourPopup dialog.

ref #14959

Close #15186
2024-05-25 03:26:06 +02:00
ozone10
00ea1a9089 Handle new dpi message in Shortcut Mapper
ref #14959

Close #15173
2024-05-22 18:25:58 +02:00
cddiffz
0baac8af59 Fix extra space inserted issue with HEX mode in Column Editor
Fix extra space inserted when inserting hexadecimal numbers with Column Editor:
Remove rounding of odd number of digits.

Fix #15168, close #15176
2024-05-22 17:39:34 +02:00
ozone10
4ad57c1dd1 Replace GetSystemMetrics with new dpi manager's ones
- remove unneeded declarations in NppDarkMode.h
ref 5123016#r142224732

ref #14959

Close #15171
2024-05-22 05:02:22 +02:00
ozone10
49340a8707 Refactor ShortcutMapper resizing for new dpi compatibility
ref #14959

Close #15169
2024-05-22 04:51:06 +02:00
molsonkiko
106bdcc016 Fix negative repeat value in Column Editor causes hang issue
Fix #15153, close #15166
2024-05-21 16:35:49 +02:00
ozone10
912c5ee300 Make english language text with colon (':') consistent
Fix #4628, close #15165
2024-05-21 14:31:40 +02:00
ozone10
ef840de150 Make top bar indicate applied tab color for unfocused view
- use new dpi scaled metrics.
- replace c-casts.

Fix #15140, close #15160
2024-05-21 00:53:32 +02:00
Don Ho
382c33e99a Prevent the division by 0 in getNbDigits function
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/15152#discussion_r1605845654

Close #15157
2024-05-20 20:26:04 +02:00
Don Ho
13eede938e Improve NPPM_GETTABCOLORID API comment 2024-05-20 19:33:44 +02:00
Alan Kilborn
9244cd0943 Add plugin commands NPPM_GETTABCOLORID
No NPPM_SETTABCOLORID though. Plugins can use NPPM_MENUCOMMAND to set current tab color with the desired tab color ID.

Fix #15115, close #15142
2024-05-20 18:08:52 +02:00
ozone10
fb086bbcda Fix moving Find dialog to center of Notepad++ bug (new DPI manager)
Move window for dpi change for goToCenter().

ref #14959

Close #15158
2024-05-19 20:45:41 +02:00
cddiffz
d0e3a1a210 Fix crash in Column Editor
Avoid division by zero (due to an arithmetic overflow).

Fix #15144, close #15152
2024-05-19 04:39:55 +02:00
ozone10
bdc11a47ff Make new DPI management support for Find Replace dialog
Handle dpi messages in Find dialog.

ref #14959

Close #15146
2024-05-18 19:22:14 +02:00
ozone10
5123016baa Make toolbar dark mode support better for plugins
Tweak dark mode custom draw for plugin:
- add plugin custom draw support for toolbar
- make code more consistent
- make plugin's authors custom draw implementation
to have higher priority than one from generic dark mode

ref #15078 (comment)

Close #15147
2024-05-17 19:16:32 +02:00
ozone10
e25e15b9b2 Refactor 'FindReplaceDlg::resizeDialogElements()' to be more compatible with HiDPI
ref #14959

Close #15145
2024-05-17 03:25:32 +02:00
ozone10
71914ed545 Use new dpi management for Find & Replace dialog fonts
ref #14959

Close #15098
2024-05-16 19:38:33 +02:00
ozone10
4cd231114e Improve status bar resize handling
- make controls spacing and position consistent.

ref #14959

Close #15090
2024-05-16 19:02:59 +02:00
ozone10
3b515f1242 Initial new dpi management support for Shortcut Mapper
ref #14959

Close #15089
2024-05-16 18:47:43 +02:00
ArkadiuszMichalski
8329a9fec9 Build: use DIR_O in nppSpecifics.mak properly
Fix #15086, close #15095
2024-05-15 18:50:01 +02:00
ArkadiuszMichalski
88193a73f3 CI improvement: not using the REST API to get PR message
Fix #15091, close #15125
2024-05-15 18:27:42 +02:00
Ovidiu Rădoi
8055b5687b Plugin dark mode customization improvement for tree view
Allow plugins to handle Custom Draw in TreeView controls.

Fix #15077, close #15078
2024-05-15 18:10:39 +02:00
Don Ho
126ad0bc07 Notepad++ 8.6.7 release 2024-05-13 02:34:25 +02:00
Tmp341
a1aa8682d1 [xml] Update Turkish localization
* According to d039eaa and 12548b6 commits.

Close #15121
2024-05-12 16:24:10 +02:00
Don Ho
1e19719f8f Fix regression of multi-edit cursors placed wrongly issue
Fix #15126, close #15129
2024-05-12 15:58:22 +02:00
Don Ho
78c7c3e645 Fix some code for WM_COMMAND outside of it in preferenceDlg.cpp
Fix #15119
2024-05-12 02:39:19 +02:00
Christian Grasser
973fb36044 Add auto-completion for Go & Raku, function list for Raku
- added autoCompletion for Go and Raku to installer script.
- added function list for Raku as starting point, currently just an adapted copy of the perl functionlist.

Related to #15000 and #14966

Close #15128
2024-05-12 01:30:49 +02:00
ozone10
9d6e6d2e04 Fix symbol '&' not showing in Document Switcher
Disable prefix processing in document switcher.

Fix #15117, close #15118
2024-05-11 16:31:45 +02:00
ozone10
971aaf680a Fix multi-editing not showing multiple cursors in dark mode
Add 'multi-edit' styles to Style Configurator for themes if missing.

Fix #15075, close #15109
2024-05-11 04:45:03 +02:00
PeterCJ
da5f896de6 Language enhancement: allow custom tags in HTML
HTML Lexer, TAG Style: enable user-defined keywords
Implement and verify @mpheath solution from https://community.notepad-plus-plus.org/topic/25741/html-user-defined-keywords

Fix #15093, close #15094
2024-05-11 03:36:14 +02:00
ozone10
f6d304f943 Fix dialogs out of screen problem
Reposition dialogs if they are outside screen.

Fix #11240, fix #14913, close  #15083
2024-05-11 01:07:28 +02:00
ArkadiuszMichalski
be94533576 CI enhancement: Use cache for python modules to optimize CI build time
Partial implementation for #15028

Close #15050
2024-05-10 23:35:36 +02:00
Don Ho
ee3aecb161 Fix a typo 2024-05-10 23:18:55 +02:00
Don Ho
ec7c5cec42 Notepad++ 8.6.6 release 2024-05-10 01:45:08 +02:00
ozone10
eb627b0677 Enhance GUI: make sizing arrows more coherent in Find dialog
Remove vertical sizing arrows from Find & Replace dialog.

fix #15099, close #15100
2024-05-06 18:48:52 +02:00
ozone10
c64d706871 Fix GCC reorder warning, use override, remove duplicated code
Fix gcc reorder warning
https://github.com/notepad-plus-plus/notepad-plus-plus/actions/runs/8963463099/job/24613797904#step:4:403

Close #15101
2024-05-06 17:50:44 +02:00
rddim
e53bb4c88f [xml] Update Bulgarian localization
Close #15092
2024-05-06 05:11:13 +02:00
MarkusBodensee
c584a77e0e Fix URL enclosed in apostrophes or backtick not working issue
Check if URL is enclosed in apostrophes or backtick (grave accent). Only if URL is directly preceded by apostrophe/backtick and URL ends with apostrophe/backtick respectively.

Fix #14978, fix #14323, fix #14212, close #15058
2024-05-06 05:07:48 +02:00
Don Ho
6281227d84 Add more unit tests for Ada function list
for enhancement:
8ab9b99b73
2024-05-05 23:28:41 +02:00
notdodgeball
8ab9b99b73 Ada Function List improvements
Changes:
Ada is case insensitive
Added 'Parallel' reserved word
Identifiers may not begin or end with underscore
Support for identifiers containing digits
Support for Ada specifications file (subprogram declaration) (#14687)
Support for dot notation within types (#14908)
Support for generic instantiations (#14498) (functions with no return statement)

Fix #14908, fix #14687, fix #14498, close #14986
2024-05-05 22:21:17 +02:00
PeterCJ
aa6a55cb7e Enable remaining 4 keyword lists
including langs.model.xml, stylers.xml and all themes.

Fix #15081, fix #7615, close #15088
2024-05-05 17:43:55 +02:00
Karlo-F
e987f360cd [xml] Update Croatian translation for Notepad++ 8.6.6
Close #15085
2024-05-05 15:48:33 +02:00
Don Ho
3609a21258 Fix same file opened 2 times with different sensitive case of path regression
The regression is due to PR #14971 & commit 2531b4d12c4eddc6c0a519eb37c6edf25196619e

ref:
https://community.notepad-plus-plus.org/topic/25742/notepad-v8-6-6-release-candidate/3?_=1714876196550
2024-05-05 04:32:35 +02:00
Don Ho
2d076b645a Refactoring for new DPI management: avoiod the multiple inherence
Using the composition instead of the multiple inherence
1. For preventing from the diamond problem.
2. To fix the semantic problem by using DPIManagerV2 as class ancestor of class StaticDialog.

Remove also unecessary scaleX, unscaleX, scaleY & unscaleY methods.
2024-05-02 18:26:20 +02:00
Piotr Kostrzewski
e518c79a53 Update polish.xml
Close #14927
2024-05-01 17:25:47 +02:00
A. Regnander
cb9fb5c22d Update swedish.xml
Added new strings, removed outdated strings, made changes to existing strings

Close #14939
2024-05-01 17:23:02 +02:00
Juan
1183b4bb63 Update spanish.xml
Close #15025
2024-05-01 17:20:20 +02:00
Juan
3c0e54a012 Update galician.xml
Close #15026
2024-05-01 17:18:43 +02:00
~GOLEM~
4c367f4dea [xml] Update russian.xml v8.6.6
Close #15037
2024-05-01 17:14:55 +02:00
Patriccollu
052d601e51 [xml] Update Corsican translation for Notepad++ 8.6.6
Close #15070
2024-05-01 17:12:52 +02:00
Alan Kilborn
c63e29f21e Make F3 & Shift-F3 work in Find Replace dialog
Fix #2138, close #15063
2024-05-01 15:56:03 +02:00
Don Ho
188375e2ee Adapt TabBar to new DPI management
ref #14959

Close #15054
2024-05-01 03:23:47 +02:00
Christian Grasser
e877707ecb Update to boost 1.85.0
Update to https://www.boost.org/users/history/version_1_85_0.html
- no functional changes on regex
- support for newer compiler (e.g. VS2022) versions/features/workarounds

Close #15040
2024-04-30 04:40:58 +02:00
Christian Grasser
592d981b55 Update to nlohman json 3.11.3
Update to nlohman json 3.11.3 from https://github.com/nlohmann/json/releases/tag/v3.11.3
https://github.com/nlohmann/json/releases/download/v3.11.3/json.hpp

Close #15041
2024-04-30 04:31:38 +02:00
Christian Grasser
881e8c285e 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
2024-04-30 04:19:49 +02:00
Don Ho
c823ca8150 Adapt new DPI support for toolbar
ref #14959

Close #15044
2024-04-25 02:59:33 +02:00
Don Ho
89aaf43722 Use standard function (wcscmp/wcsicmp) instead home made one
Close #15030
2024-04-24 02:45:54 +02:00
Don Ho
4ffa8fcdf9 Small refactoring 2024-04-23 05:21:29 +02:00
ozone10
560f29fc8c Add dpi support to Style Configurator dialog
- reorder controls for consistent tab switch
- make spacing and position more consistent
- use system aware or gdi scaling for Color dialog and Color popup

ref #14959

Close #15029
2024-04-23 05:07:28 +02:00
Davi Feliciano Nonnenmacher
2531b4d12c Fix issue with case sensitive files
Fix #14724, close #14971
2024-04-22 19:04:58 +02:00
Don Ho
3c06d89b2a Fix wrong display of DarkMode on the 2nd monitor 2024-04-22 05:33:45 +02:00
ozone10
018d4f9a1f Add dpi support to UDL dialogs
- StringDlg (Rename Current Tab, ...)
- UDL Styler
- UDL in undock state

- UDL allow tab switching between main dialog and subdialogs
- make controls spacing and size consistent

ref #14959

Close #15024
2024-04-21 18:08:01 +02:00
ozone10
d43582d615 Add new DPI support to plugin admin dialog
ref #14959

Close #15023
2024-04-21 16:33:54 +02:00
ozone10
752777086e Add new DPI support to preference dialog
ref #14959

Close #15022
2024-04-21 15:50:06 +02:00
ozone10
4031339c58 Add dpi support to dialogs
- FindInFinder
- GoToLine
- ColumnEditor
- FindCharsInRange
- ProjectPanel FileRelocalizerDlg

ref #14959

Close #15020
2024-04-21 03:08:02 +02:00
ozone10
b476c67447 Add new DPI support to hash dialogs
- fix leak because of font.

ref #14959

Close  #15018
2024-04-21 01:53:09 +02:00
ozone10
34a6bf196e Add new DPI support to dialogs
- Run
- Run a Macro Multiple Times...
- Shortcut

- code enhancement
    - add override in shortcut.h
    - modify switches in WM_COMMAND
    - optimize dark mode for shortcut
    - avoid potential multiple subclassing for Run dialog

ref #14959

Close #15017
2024-04-20 19:28:49 +02:00
ozone10
61083a4468 Allow Ctrl-TAB to switch tabs in PluginAdmin and UDL dialogs
Fix #7932, close #15015
2024-04-20 17:52:52 +02:00
ozone10
b7ebd389c7 Add new DPI support to status bar
ref #14959

Close #15016
2024-04-20 05:02:06 +02:00
Don Ho
e6558a3618 Enhance source code 2024-04-20 02:54:38 +02:00
mpheath
8672d95ca4 Fix user defined auto-insert not working issue
Fix #3171, fix #8063, fix #12547, fix #14831, close #15005
2024-04-20 02:38:33 +02:00
ozone10
914869936b Enhance GUI: resize checkboxes/radio buttons as text length needs
Fix #15006, close #15007
2024-04-19 20:33:44 +02:00
ozone10
27e77cf6d6 Add dpi support to dialogs
- About
- DebugInfo
- Save All
- Close All

ref #14959

Close #14989
2024-04-18 17:16:52 +02:00
ozone10
01a088f994 Use new dpi manager scaled default fonts
ref #14959

Close #14991
2024-04-18 15:15:22 +02:00
xomx
a92a9fd7c7 Fix wrong dropped file view
Fix #14951, close #14953
2024-04-18 14:28:02 +02:00
PeterCJ
161bb41425 Add syntax highlighting for Raku
Based on SciTE, Go/Golang can use cpp lexer.
Use the Perl color scheme from each theme as the basis for the Raku color scheme.

Fix #4465, close #15000
2024-04-16 01:33:40 +02:00
Don Ho
0e8781938d Add log while flush file buffers action fails
Currently while flush file buffers action fails at not critical end session, a error message dialog display the problem.
It raises the problem of some external process interfering with the Notepad++ file saving (via NppSaveAsAdmin plugin).

This commit logs this error at critical end session, so if NUL characters content issue happens to the users again, we can try to know what was happening, plus users' plugin list.

Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14990#issuecomment-2054242025

Close #15003
2024-04-16 01:17:13 +02:00
Christian Grasser
25c6795d0c Code enhancements
- fix linux build on include upper/lowercase issue ../src/dpiManagerV2.cpp:20:10: fatal error: CommCtrl.h: No such file or directory
- avoid clang warning: 5>..\src\WinControls\Grid\BabyGrid.cpp(677,7): warning : unused variable 'rectwhole' [-Wunused-variable]
- avoid ../src/NppCommands.cpp:1790:24: warning: conversion from ‘int’ to ‘UCHAR’ {aka ‘unsigned char’} may change value [-Wconversion]

Close #15001
2024-04-15 03:15:59 +02:00
ArkadiuszMichalski
35f601b665 Add ISSUE_TEMPLATE folder to exceptions
ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/14999#issuecomment-2054089871

Close #15002
2024-04-15 03:10:09 +02:00
ozone10
045d21aa15 Add additional instructions to issue templates
ref https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14992#issuecomment-2054022134

Close #14999
2024-04-15 03:01:59 +02:00
ozone10
7cfa79b8cd Allow Ctrl-TAB to switch tabs in FindReplace dialog
Fix #14975, close #14988
2024-04-15 02:54:14 +02:00
Don Ho
896d78a5db You can't criticize Roman numeral 11 in China 2024-04-14 22:20:05 +02:00
ArkadiuszMichalski
c2696001c2 Allow any character in title/message
Fix https://github.com/notepad-plus-plus/notepad-plus-plus/pull/14943#issuecomment-2053716053

Close #14993, close #14994, close #14995, close #14996, close #14997, close #14998
2024-04-14 15:16:29 +02:00
xomx
126505180f Fix potential crash when crossing the 2GB file size threshold
To be able to work with 2GB+ files, we have to use the Scintilla SC_DOCUMENTOPTION_TEXT_LARGE flag.

Until now, this flag was only used if a file > 2GB was to be loaded. For files smaller than 2GB or newly created empty ones, it was not used. This left the room for a Notepad++ crash situation because of the user has been left the possibility to cross this threshold (e.g. by pasting a data which in sum with the already existing ones in the Notepad++ filebuffer exceeds that 2GB...)

So one has two options: either a complex monitoring of the Notepad++ filebuffers size and reloading these with that large-flag when reaching the 2GB or simply using that large-flag as the default one from the start (which is what this patch does...).

Fix #14981, close #14982
2024-04-14 14:35:26 +02:00
ozone10
80e8a0dbe1 Add dpi messages
- process WM_DPICHANGED_AFTERPARENT message
- remove unused function
- tweak 2 switches, which use enums to avoid warnings

ref #14959

Close #14980
2024-04-14 14:14:28 +02:00
Don Ho
906f6e4386 Revert "Fix Korean IME append extension issue"
This reverts commit 6330a68, due to regression reported in #14400.

Fix #14400, fix #14973, close #14593
2024-04-13 19:41:59 +02:00
ArkadiuszMichalski
a5e29863e5 Use newer version of make and show it correctly
Close #14972
2024-04-13 12:05:04 +02:00
ozone10
5a65b30b17 Add issue templates
Fix #14969, close #14970
2024-04-13 10:41:47 +02:00
xomx
18815de8ac Fix multi-edit resists escape after typing issue
Add Multi-Edit mode canceling by Esc possibility

Fix #14649, close #14956
2024-04-13 10:31:04 +02:00
ozone10
e0bb723700 Improve HiDPI compatibility for tab control labels
Close #14958
2024-04-11 18:21:14 +02:00
PeterCJ
8f24e89824 Add syntax highlighting for Go/Golang
(as done in SciTE, Go/Golang can use cpp lexer)

Fix #8090, close #14966
2024-04-11 17:58:43 +02:00
ozone10
5b8e13ab9b Refactor controls in Find & Replace dialog to improve compatibility with HiDPI
Close #14948
2024-04-11 17:02:06 +02:00
ozone10
fc52cd3f4f Use dpi scaled fonts for some controls
-  prepare static dialog for hiDPI

ref: #14959

Close #14947
2024-04-11 11:09:09 +02:00
Don Ho
ddc080785d Merge branch 'xomx-fix_possible_2GB+_files_loading_Scintilla_exception' 2024-04-09 19:51:45 +02:00
ArkadiuszMichalski
5f93e046ec Reduce CI build time for some circumstances
Fix #14942, close #14943
2024-04-08 21:26:49 +02:00
Christian Grasser
8d3d8aa642 Fix gcc compiler warnings\errors
- avoid upper/lowercase issue for #include <windowsx.h>
- casts to avoid warning: conversion from ‘int’ to ‘UCHAR’ {aka ‘unsigned char’} may change value [-Wconversion]
- cast to avoid warning: conversion from ‘int’ to ‘BYTE’ {aka ‘unsigned char’} may change value [-Wconversion]
- avoid warning : delete called on non-final 'FileDialogEventHandler' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
- avoid warning : warning: extra ';' [-Wpedantic] in BabyGrid.cpp

Close #14950
2024-04-07 12:19:52 +02:00
Don Ho
318c9a994c Merge branch 'fix_possible_2GB+_files_loading_Scintilla_exception' of https://github.com/xomx/notepad-plus-plus into xomx-fix_possible_2GB+_files_loading_Scintilla_exception 2024-04-06 15:45:19 +02:00
ozone10
1f4cbdb8b7 Fix close button disappeared issue in Find&Replace dialog
Fix #14940, close #14941
2024-04-05 19:06:23 +02:00
xomx
6afcb73557 Fix possible 2GB+ files loading Scintilla exception
Previously there was the 4096 MB max limit, so when e.g. user set this 4GB threshold and then tried to open any 2GB+ file, the Scintilla CellBuffer::Allocate method throwed a std::runtime_error because currently the Notepad++ does not use the SC_DOCUMENTOPTION_TEXT_LARGE in such a case.
2024-04-05 18:55:07 +02:00
Don Ho
903d47b2eb Reduce compiling warning
Close #14924
2024-04-05 03:46:27 +02:00
ozone10
6204f00e88 Use dark theme on checkbox buttons on Windows 11
-  replace style and class strings with macro

Fix #14929, close #14930
2024-04-03 02:45:38 +02:00
Don Ho
a61f3ab13f Update slovenian.xml 2024-04-03 02:29:55 +02:00
molsonkiko
2a6382b4a6 Enhance Notepad++ closing speed by not scanning for URLs
Close #14931
2024-04-03 01:28:41 +02:00
Coises
0a7295878d Fix a performance issue due to URL recognization
The function "addHotSpot" can become very slow when the screen contains certain sequences of characters that look like URLs but are not valid, due to a form of backtracking. This change eliminates the possibility of backtracking.

This commit does two things:

First, it tightens the requirements for “looks like a URL” by checking the scheme earlier in the process. That is necessary to keep the next step from skipping valid URLs in reasonable contexts.

Second, once the beginning of a potential URL passes the tighter initial scanning and the end of the URL is found, we “commit” to that portion of the line. If the potential URL fails InternetCrackUrl validation, we restart scanning from the end of of the string that looked like a URL but wasn’t, rather than from just after the scheme.

Fix #13916, close #14900
2024-04-03 01:18:56 +02:00
ozone10
29fcd1ac91 Readd dpi API
ref https://github.com/notepad-plus-plus/notepad-plus-plus/pull/14871#issuecomment-2002547565

Close #14876
2024-04-02 01:44:52 +02:00
ozone10
243112d04d Fix Dark Mode Menu Bar cluttered issue
Use correct enums for dark mode menubar

Fix #14910, fix #10130, close #14911
2024-04-01 17:10:28 +02:00
Don Ho
60034edf37 Fix debug info display regression
This regression was introduced by 83f0232d910444c6683a5dc104732b7c73c53b87

Fix #14921
2024-03-30 23:44:09 +01:00
Don Ho
26647ac9fd Notepad++ release 8.6.5 2024-03-30 01:02:22 +01:00
Don Ho
bbeaafac8b Fix period backup crash due to the dead lock of std::lock_guard
The crash occurs because the thread terminates the task prematurely due to PostMessage’s nature. As a result, FileManager::backupCurrentBuffer() is always executed by the main thread, leading to a deadlock ( due to "std::lock_guard<std::mutex> lock(backup_mutex);") on the 2nd main thread’s entry and causing the crash. Here the explanation:
"If lock is called by a thread that already owns the mutex, the behavior is undefined: for example, the program may deadlock."
ref: https://en.cppreference.com/w/cpp/thread/mutex/lock

Using SendMessage instead of PostMessage ensures that the thread executes the task from the beginning to the end and keeps the mutex until the entire operation is terminated. Therefore, the race condition is prevented by the mutex lock while the 2nd thread tries to access the same code/zone.

Fix #14906, close #14917
2024-03-29 16:14:44 +01:00
ozone10
30f48aae1e Insert "change history" styles to Style Configurator for themes if absent
Close #14905
2024-03-27 19:10:19 +01:00
ozone10
b31e7a31e0 Change History GUI enhancement and tweaks
- add 'Go to setting' for other Change History styles
- make spacing consistent in preference
- minor warning fix

Close #14883
2024-03-27 17:08:13 +01:00
Don Ho
12c6777bc1 Fix some "Go to settings" in Style Configurator go to wrong section
Fix #14882, close #14903
2024-03-24 14:06:17 +01:00
Don Ho
52fa5a3b8a Fix Mouse Wheel Scrolling in Shortcut Mapper even nothing to scroll
Reduce also Shortcut Mapper memory use.

Fix #14895, close #14896
2024-03-24 11:25:14 +01:00
Matteo Concato
71a12c4289 [xml] Fix & update italian.xml
Close #14898
2024-03-24 11:21:53 +01:00
molsonkiko
cccd99b791 Fix URLs are not detected after a "Replace All" regression
Fix #14864, close #14889
2024-03-21 23:54:52 +01:00
Don Ho
d7011c41bf Modernize BabyGrid.cpp
1. Isolate the local variables.
2. Initialize the variables.
3. Prevent negative index in the tables.
4. Rename few variables.

Close #14893
2024-03-21 21:09:36 +01:00
xomx
109600aa50 Enhance losing session while power outrages remedy
Fix possible session backup swapping when no session.xml file.
The ReplaceFile WINAPI failed when the session.xml file replaced did not exist.

This commit follows the commit aa3777786dbee09b22fa89e9d4b175cf438bc91d

Close #14887
2024-03-21 17:55:34 +01:00
Don Ho
0bc28df616 Reformat BabyGrid.cpp for a good readibility and nothing more
Close #14886
2024-03-20 19:26:23 +01:00
xomx
73bc79ee50 Fix launching Shortcut Mapper makes app crash
Fix memory overwriting bug by BabyGrid:
BabyGrid code was overwriting foreign memory on its initialization and deinitialization. At that time (WM_NCCREATE, WM_NCCALCSIZE, WM_CREATE and WM_NCDESTROY) the relevant FindGrid func returns -1, which was used as an index pointing to a memory area before the whole BGHS object (BGHS[-1]...)!

This was a long-standing hidden bug that only started to manifest itself probably when the app memory layout shifted somehow and important objects/data started to be overwritten, resulting in the visible app crashes.

Fix https://github.com/notepad-plus-plus/notepad-plus-plus/pull/14855#issuecomment-2001066992 , https://github.com/notepad-plus-plus/notepad-plus-plus/pull/14871#issuecomment-2002485089
2024-03-20 03:49:32 +01:00
MarkusBodensee
6b0274fdf2 Update german.xml
Update german.xml with latest changes for v8.6.5 release.
Adjust and fix some more translations.

Close #14879
2024-03-19 16:31:05 +01:00
Juan
33ac6e7ecf [xml] Update galician.xml
Close #14873
2024-03-17 19:39:59 +01:00
Juan
13dcdd5fb4 [xml] Update spanish.xml
Close #14872
2024-03-17 19:38:23 +01:00
schnurlos
6e77795f89 [xml] Update german.xml
Close #14803
2024-03-17 19:37:06 +01:00
Andrei Miloiu
bdbd289d6c Update romanian.xml
Close #14868
2024-03-17 19:34:21 +01:00
Don Ho
590ea74bee Fix NUL characters file corruption after power outrages (1st step solution)
=========
Sernario:
=========
When a user modifies a file in Notepad++, and the time of periodic backup (defaulted to 7 seconds) is reached, the backup of the modified file is being written. However, if a power outage occurs during this precise moment while the file is being written, file corruption may occur.

=======
Remedy:
=======
The goal is to maintain a non-corrupted file sample even during power outages. Here are the steps:

0. Begin
1. Write the file A as A.temp
2. Replace A by A.temp
3. End

During these steps, the cutoff can happen at any moment, but the user will always have a non-corrupted file sample (either A or A.temp).

=====
Note:
=====
The solution is only applied to "new #" files, since these files are generally small in length and do not have a second "physical" file existing on the hard drive.

ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/6133#issuecomment-1987037043

Fix #6133, close #14860
2024-03-17 19:23:51 +01:00
Don Ho
aa3777786d Remedy losing session problem after the power outrages
In case of "session.xml" being corrupted after the power outrages, "session.xml.inCaseOfCorruption.bak" will replace "session.xml" on the next Notepad++ startup.

Fix #14781, close #14858
2024-03-17 17:55:50 +01:00
Don Ho
999b4d1887 Revert "Improve hiDPI appearance for some DM elements"
This reverts commit 356d5cd072b25f941266f40ea93118f274affdd9.

Close #14875
2024-03-17 17:39:28 +01:00
Don Ho
10305ebded Revert "Use undocumented dpi API to support win7"
This reverts commit c8a2bcb6b0c32c93fd0501378ebaeaa25fd6e984.

ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/14855#issuecomment-2002031940
2024-03-17 16:13:12 +01:00
xomx
45cdbbfe15 [xml] Update czech.xml to v8.6.5
Close #14869
2024-03-17 00:08:03 +01:00
Karlo-F
2a747e496e [xml] Update croatian.xml to v8.6.5
Close #14862
2024-03-16 19:27:13 +01:00
Hugo Carvalho
7f74bc0f9b [xml] Update portuguese.xml
Close #14863
2024-03-16 19:25:09 +01:00
Matteo Concato
c4e37e8167 [XML] Update italian.xml v8.6.5
Close #14861
2024-03-15 01:20:12 +01:00
Tmp341
e7d7af8980 [xml] Update Turkish localization
* According to 35deb8a, 6c027d3, 13cd4ac, 12548b6, c6e433f, d039eaa, 78d0e7e, 4e2903a, 4e6bbbc, e497ae2, 2724e0d, ffc0ed2, 9bc790b, faba181, 3e7425f, 05f339b, cecd161, 89278e1, 1c27e64, 0879451 and 591b00e commits.

Close #14848
2024-03-15 01:18:27 +01:00
yasmise
43e84c41fb [xml] Update japanese.xml
Close #14804
2024-03-15 01:09:28 +01:00
Patriccollu
1fbb393a90 [xml] Update Corsican translation for Notepad++ 8.6.5
Close #14798
2024-03-15 01:07:44 +01:00
Marcellomco
808aeb7eaf [XML] Update brazilian_portuguese.xml
Close #14800
2024-03-15 01:05:36 +01:00
rddim
5b3774dd79 [xml] Update Bulgarian localization
Close #14797
2024-03-15 01:03:07 +01:00
kubalav
8ddb672a0b [xml] Update Slovak translation
Close #14794
2024-03-15 01:01:53 +01:00
Piotr Kostrzewski
ace771cf27 Update polish.xml
Close #14792
2024-03-15 01:00:24 +01:00
~GOLEM~
8216b5134e [xml] Update russian.xml v8.6.5
Close #14790
2024-03-15 00:58:54 +01:00
ozone10
c8a2bcb6b0 Use undocumented dpi API to support win7
Fix https://github.com/notepad-plus-plus/notepad-plus-plus/pull/14818#issuecomment-1993472569

Close #14855
2024-03-14 22:31:45 +01:00
Alan Kilborn
2e4ad67dff Refactor FindFirstFile-FindNextFile code blocks
Fix #14853, fix #14847, fix 060396c#r139323315, close #14857
2024-03-14 20:15:14 +01:00
Don HO
9d848b6a47
Update Release Key Expiration Date 2024-03-14 04:33:24 +01:00
Don HO
2ac5e3a7ed
Update nppGpgPub.asc
Extending certificate expiration to 2027
2024-03-13 00:32:57 +01:00
ozone10
356d5cd072 Improve hiDPI appearance for some DM elements
This commit is also preparation to properly support HiDPI for Windows 10/11 and newer.

Fix #14817, close #14818
2024-03-12 18:04:21 +01:00
Don Ho
9251955d10 Support template literal (template strings) in JavaScript
Fix #3822
2024-03-12 04:12:52 +01:00
Christian Grasser
1c32e2906f Update to scintilla 5.4.3 (from 5.4.1) & Lexilla 5.3.1
Sintilla [Release 5.4.3](https://www.scintilla.org/scintilla543.zip)

* Release 5.4.3: Released 9 March 2024

1. Fix redo failure introduced with 5.4.2. [Bug #2432](https://sourceforge.net/p/scintilla/bugs/2432/).
2. Add SC_AUTOCOMPLETE_SELECT_FIRST_ITEM option to always selects the first item in the autocompletion list. [Bug #2403](https://sourceforge.net/p/scintilla/bugs/2403/).

* Release 5.4.2: Released 5 March 2024

1. Significantly reduce memory used for undo actions, often to a half or quarter of previous versions. Feature #1458.
2. Add APIs for saving and restoring undo history.
3. 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.
4. 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.
5. 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.
6. For Win32, ensure keyboard-initiated context menu appears in multi-screen situations.

Lexilla [Release 5.3.1](https://www.scintilla.org/lexilla531.zip)

* Release 5.3.1: Released 5 March 2024

1. Assembler: After comments, treat \r\n line ends the same as \n. This makes testing easier.
2. Bash: Fix folding when line changed to/from comment and previous line is comment. Issue #224.
3. Batch: Fix handling ':' next to keywords. Issue #222.
4. 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.
5. Python: fix lexing of rb'' and rf'' strings. Issue #223, Pull request #227.
6. Ruby: fix lexing of methods on numeric literals like '3.times' so the '.' and method name do not appear in numeric style. Issue #225.

Close #14834
2024-03-11 04:13:10 +01:00
Christian Grasser
0f3ae2e3d5 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.
2024-03-11 03:58:17 +01:00
Don Ho
aa0be9973b Add support for Change History in the text
This commit follows the commit:
fd1f785b89

Close #14838
2024-03-10 05:17:08 +01:00
ozone10
9d92b0a869 Fix some gcc warnings
Fix #14845, close #14846
2024-03-09 03:40:04 +01:00
xomx
4e1a3eef4a Add FlushFileBuffers-fail user notification
Close #14842
2024-03-09 03:28:15 +01:00
Christian Grasser
9d09ee818a Fix a potential undefined behaviour & improve some codes
- init grabSize
- optimize WcharMbcsConvertor instance set
- remove unused var in TreeView::searchLeafRecusivelyAndBuildTree()
- missing nullpointer check in ScintillaEditView::init()

Close #14844
2024-03-08 21:00:17 +01:00
Don Ho
83f0232d91 Add Session Snapshot Periodic Buckup info into Debug Info dialog
To expose this information, we can know if Periodic Buckup feature is related to user data losing due to power outrages issue.

Ref:
1. https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14781
2. https://github.com/notepad-plus-plus/notepad-plus-plus/issues/6133

Close #14833
2024-03-06 19:18:23 +01:00
mpheath
fd1f785b89 Add Change History colour configuration
Fix #12321, fix #13915, close #14819
2024-03-06 15:48:15 +01:00
Don Ho
b3ff400cc8 Fix python wrong decorator attribute colors
Add "ATTRIBUTE" color in Python.

Only DarkModeDefault.xml & Zenburn.xml are modified due to the other themes missing "DECORATOR" color with which "ATTRIBUTE" color uses.
I let people who use those themes and need "DECORATOR" & "ATTRIBUTE" colors to modify them.

Fix #5894, close #14830
2024-03-05 20:20:01 +01:00
Don Ho
060396c698 Fix NPPM_RELOADFILE API return wrong result issue
Now NPPM_RELOADFILE returns the correct value: TRUE if reloading file succeeds, otherwise FALSE.

Ref: https://community.notepad-plus-plus.org/topic/25533/nppm_reloadfile-should-return-true-_only_-on-success/4
2024-03-04 03:04:56 +01:00
molsonkiko
2adf712135 Enhance Shortcut Mapper filter to find the command items more easily
This commit allows several keywords separated by white space to find the command items.

Fix #14743, close #14824
2024-03-04 02:21:32 +01:00
Don Ho
8bfe2d7a77 Fix an error 2024-02-29 22:57:59 +01:00
Don Ho
35deb8a303 Make "Prevent C0 input" feature optional 2024-02-29 17:51:27 +01:00
Alan Kilborn
40adc38201 Prevent typing control characters into document
Fix #13279, close #14766
2024-02-28 17:01:23 +01:00
Don Ho
6c027d343f Modify the layout of "Editing 2" in Preferences dialog
Ref: 12548b6abb (commitcomment-139128197)
2024-02-28 15:41:35 +01:00
Don Ho
13cd4acad6 Fix "Save a Copy As" dialog's wrong title
1. Use appropriated localized title on some main save/open dialogs.
2. Reuse menu localized string and remove some redundent entries from localization files.

Fix #14737, fix #11860, close #14808
2024-02-28 04:54:38 +01:00
Don Ho
12548b6abb Reorganize "Editing" sections in Preferences dialog 2024-02-26 05:40:42 +01:00
xomx
ce8fb873a6 Fix possible no-GUI state when using systray
Fixes possible Notepad++ non-GUI state when minimized to systray with an unsaved file, closing from the systray icon & then cancelling that closing from the invoked Notepad++ save dialog.

Fix #14777, close #14778
2024-02-25 01:32:03 +01:00
Alan Kilborn
fbd4a40214 Fix context menu popup location issue
Make context menu popup location at current text position when invoked via keyboard.

Fix #14727, close #14730
2024-02-24 15:34:26 +01:00
xomx
f66dd91046 Fix Notepad++ blocked when closed minimized or from systray
When Notepad++ is minimized and there are 2 or more unsaved opened files,
close Notepad++ directly from the taskbar (no periodic backup) will launch modal Save All dialog,
which will not be on the foreground. Hence the blocage of Notepad++.

This commit fixes the issue above.

Fix #14718, close #14725
2024-02-24 15:16:58 +01:00
unknown
8ffe8147c7 Few fixes for Finnish translation
Tab vs. tabulator confusion fix.

Close #14755
2024-02-24 03:38:09 +01:00
Don Ho
ee74fe5879 Merge branch 'molsonkiko-fix_shortcut_mapper_scintilla_shortcut' 2024-02-23 19:56:06 +01:00
Don Ho
27156bdf3c Merge branch 'fix_shortcut_mapper_scintilla_shortcut' of https://github.com/molsonkiko/notepad-plus-plus into molsonkiko-fix_shortcut_mapper_scintilla_shortcut 2024-02-23 19:46:27 +01:00
GabrielFrigo
b30e2755c8 Update BATCH (Remove chcp and choice)
Close #14715
2024-02-23 02:41:21 +01:00
Don Ho
d83d4c9239 Fix plugins not recieving some Scintilla notification types regression
Remove the restriction for Scintilla notification types for plugins.

Ref: https://community.notepad-plus-plus.org/topic/25497/notepad-release-8-6-4/9
2024-02-22 17:22:54 +01:00
Don Ho
9a6614ea98 Enhance NPPN_GLOBALMODIFIED notification
The commit enhances 49e6957d48
2024-02-21 19:03:31 +01:00
Don Ho
49e6957d48 Fix Replace All action not notifying plugins of modification regression
Add NPPN_GLOBALMODIFIED to notify plugins that the current document is just modified by Replace All action.
	//scnNotification->nmhdr.code = NPPN_GLOBALMODIFIED;
	//scnNotification->nmhdr.hwndFrom = BufferID;
	//scnNotification->nmhdr.idFrom = 0; // preserved for the future use, must be zero

For solving the performance issue (from v8.6.4), Notepad++ doesn't trigger SCN_MODIFIED & other Scitilla notifications during Replace All action anymore.
Plugin devs should monitor NPPN_GLOBALMODIFIED instead. This notification is implemented in Notepad++ v8.6.5.

Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/14685#issuecomment-1955229867

Fix #14767, close #14768
2024-02-21 16:30:25 +01:00
Don Ho
120fc5d726 Notepad++ v8.6.4 release 2024-02-20 01:42:05 +01:00
Don Ho
827b08f6ff Fix regression that the view cannot be activated by mouse clicking
SCI_SETCOMMANDEVENTS cannot be set to false, because SCEN_SETFOCUS is being used by Notepad++

The regression was introduced by commit: 044296eea1

Fix https://community.notepad-plus-plus.org/topic/25490/notepad-release-8-6-3/7?_=1708380779619
2024-02-19 23:27:48 +01:00
Don Ho
1491efd95e Add a new great refactoring 2024-02-19 02:09:26 +01:00
Don Ho
5110069841 Notepad++ v8.6.3 release 2024-02-18 17:32:41 +01:00
Don Ho
250dfe0f8b Fix new editing dialog not in dark mode
Fix https://community.notepad-plus-plus.org/topic/25478/notepad-v8-6-3-rc-2/3?_=1708095675232
2024-02-16 16:00:03 +01:00
molsonkiko
840c4e5854 use ScintillaKeyMap::toString() to get all shortcuts
simplifies code, also matches "or" in a list of multiple shortcuts.
2024-02-15 14:31:40 -08:00
Don Ho
f2d66170fc Restore multi-editing option on GUI
Make also Column To Multi-editing optional on GUI and cancel the usage of noColumnToMultiSelect.xml file.
For users who have added "noColumnToMultiSelect.xml" for disabling "Column To Multi-editing" feature,
please go to "Editing 2" section of Preferences to disable this feature.

Ref: https://community.notepad-plus-plus.org/topic/25364/notepad-v8-6-2-release/11?_=1707952609907
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14611#issuecomment-1937487607

Fix #14645, close #14734
2024-02-15 18:27:48 +01:00
Karlo-F
75b239cf8a [xml] Update croatian.xml to v8.6.3
Close #14726
2024-02-15 15:35:05 +01:00
xomx
63d0f88b0a [xml] Update czech.xml to v8.6.3
Close #14728
2024-02-15 15:33:04 +01:00
molsonkiko
36793b5164 Enable shortcut mapper to filter keycombos for scintilla commands
Previously the shortcut mapper filtered the keycombo
    for every other type of command, but not scintilla commands.
2024-02-14 15:26:20 -08:00
Gustavo5634
978118dc0e Add latest ES/JS keywords for auto-completion
Fix #14705, close #14711
2024-02-12 13:56:48 +01:00
Piotr Kostrzewski
a670b26a7c Update polish.xml to 8.6.3
Close #14675
2024-02-11 17:29:15 +01:00
Juan
5f95df0ae4 [xml]Update galician v.8.6.3.xml
Close #14713
2024-02-11 17:25:05 +01:00
Juan
eabd620507 [xml]Update spanish v.8.6.3.xml
Close #14712
2024-02-11 17:22:46 +01:00
DARK_GEMS
346ed36c01 Add html 5 style code in css.xml for auto-completion
Close #14698
2024-02-11 16:41:33 +01:00
~GOLEM~
be4584832f [xml] Update russian.xml v8.6.3
Close #14678
2024-02-11 16:24:55 +01:00
Andrei Miloiu
2ef8d147ee [xml] Update romanian.xml
Close #14598
2024-02-11 16:22:52 +01:00
Blackspirits
632dcaa470 Update portuguese.xml
Close #14669
2024-02-11 05:00:47 +01:00
Patriccollu
a0bd2f8816 [xml] Update Corsican translation for Notepad++ 8.6.3
Close #14677
2024-02-11 04:58:07 +01:00
Marcellomco
b4a2040b77 [XML] Update brazilian_portuguese.xml
Added translation for "Update localization files"

Close #14679
2024-02-11 04:56:37 +01:00
schnurlos
7beb15d56c [xml] Update german.xml
Following c6e433f70b

Close #14680
2024-02-11 04:54:58 +01:00
kubalav
59b9257cb0 [xml] Update Slovak translation
Close #14682
2024-02-11 04:53:27 +01:00
rddim
6875e2673f [xml] Update Bulgarian localization
Close #14686
2024-02-11 04:51:51 +01:00
yasmise
04b595f095 [xml] Update japanese.xml
Add translation text for this commit:
* Update localization files (c6e433f)

Close #14690
2024-02-11 04:49:35 +01:00
Don Ho
087430f8f1 Fix regression of NPPM_RELOADFILE
Regression is introduced by:
bb278b26fc

Fix #14693, close #14708
2024-02-10 15:35:05 +01:00
Don Ho
76cfc5945e Fix loosing all open files after restarting as Admin to save a file
While saving a file needs the admin privilege, and if "Always In Multi-Instance Mode" option is activated, the current Notepad++ instance will be closed and a new instance with admin privilege contains no file is launched - it makes user confused because there are nothing to be edited and saved.

This commit fixes the issue by keeping the 1st instance opened, and launching the 2nd instance (with admin privilege) which contains the file in question - so user can modify it and save it.

The new behaviour (of this commit) not only fixes the issue, but also makes more sense, since it's "Always In Multi-Instance Mode". Note that the same behaviour happens if the session & periodical backup feature is disabled.

Fix #14694, close #14701
2024-02-09 16:27:16 +01:00
vlakoff
c927ee8ce5 Add .mjs extension to the "web script" file associations
close #14689
2024-02-08 05:06:09 +01:00
Don Ho
044296eea1 Fix Replace All crash & performance issue
Fix  #14630, close #14685
2024-02-08 02:20:57 +01:00
Don Ho
0d05dae4ba Add more unit tests for Function List of Python 2024-02-07 22:30:55 +01:00
Дим Щ
e600c35ad2 Enhance Function List for Python
Support for async def and colons in argument list

Fix #13908, close #14628
2024-02-07 22:25:34 +01:00
Don Ho
c6e433f70b Update localization files 2024-02-05 16:27:59 +01:00
Don HO
5e6df25942
Update README.md
Add build status
2024-02-04 19:23:47 +01:00
anatoly77g
91074da46d Fix macro recording twice for some commands
When recording a keyboard macro, some commands are added to the macro twice.
When later playing back the macro, they happen twice, which leads to incorrect edits.

Fixed commands:
* EDIT_CUT (Cut)
* EDIT_COPY (Copy)
* IDM_EDIT_LINE_UP (Move Up Current Line)
* IDM_EDIT_LINE_DOWN (Move Down Current Line)

Not fixed: issue 13722:
SEARCH_GOTOMATCHINGBRACE (Go to Matching Brace)

Fix #5217, fix #14634, close #14613
2024-02-04 15:40:25 +01:00
Don Ho
f09b653d19 Fix calltip crash due to the division by zero
Fix #14664, close #14667
2024-02-04 13:08:53 +01:00
Don HO
9cec6aff3b
Update CONTRIBUTING.md 2024-02-03 15:04:34 +01:00
Don HO
85af8d566d
Update CONTRIBUTING.md
Add info for PR regarding Function List parser.
2024-02-03 15:03:12 +01:00
Compaszer
bf65ba5329 Added php 8.3 functions to syntax highlighting and autocomplete files
Fix #14635, close #14636
2024-02-03 14:19:12 +01:00
DARK_GEMS
ec29bc101c Update css.xml
Some css properties added.

Close #14666
2024-02-03 12:39:05 +01:00
Alan Kilborn
cb8165b161 Fix "Open File" command not working with TAB preceded
Fix #14543, close #14654
2024-02-03 12:31:37 +01:00
Don Ho
9e7f1e514c Make copy/cut line while no selection optional
With this commit, there's the same issue in both JsonTools & NavigateTo (in C#), described here:
https://community.notepad-plus-plus.org/topic/25315/notepad-v8-6-1-release/2?_=1706795482129 

To reproduce:
1. Uncheck "Enable Copy/Cut Line without selection" checkbox in Editing section of Preferences.
2. Make sure there's no selection in the current editor
3. Launch "Open JSON tree viewer", and try to Cut "@" symbol on the top left text field with Ctrl-X

To remedy such problem, the plugin should call NPPM_MODELESSDIALOG with MODELESSDIALOGADD on the handle (HWND) of modeless dialog, just after the dialog creation.
(https://github.com/notepad-plus-plus/notepad-plus-plus/blob/master/PowerEditor/src/MISC/PluginsManager/Notepad_plus_msgs.h#L93)
With the registration of dialog handle, Notepad++ will pass all events which belongs to dialog's controls to the registered dialog.

Both source code of JsonTools & NavigateTo have been examinated, NPPM_MODELESSDIALOG which should be used has not been called.
Not sure it's the case of all the plugin in C#, it's not the issue for the C/C++ plugins anyway, because the dockable modeless dialog (inherited from StaticDialog) is registered after its creation:
https://github.com/notepad-plus-plus/notepad-plus-plus/blob/master/PowerEditor/src/WinControls/StaticDialog/StaticDialog.cpp#L257

Fix #14638, close #14660
2024-02-03 01:29:54 +01:00
Don HO
f431a37967
Update SUPPORTED_SYSTEM.md 2024-02-01 16:28:17 +01:00
Don Ho
c0eaf544a6 Add "Plugin Communication" reference
and update copyright year for plugin header files.
2024-01-28 13:47:49 +01:00
Don Ho
bb278b26fc Enhance API description in comment
Close #14587
2024-01-28 05:20:22 +01:00
Christian Grasser
50a6cf2981 Modified Notepad++ version to "Notepad++ GH_BUILD" for CI artifact
In order to avoid confusion NOTEPAD_PLUS_VERSION is modified to "Notepad++ GH_BUILD" for GitHub CI artifacts.

Close #14625
2024-01-22 05:19:25 +01:00
Don Ho
ae9aa22436 Fix Copy/Cut/Paste issue in Vertical Edge text field (preferences)
This commit allows Ctrl-V, Ctrl-C, Ctrl-X, Ctrl-A & Ctrl-Z in text field, so user can do paste, copy, cut, select all & redo/undo action respectively in Vertical Edge text field of Préférences dialog.

Also the paste content is controlled to allow only the number and white space.

Fix #13874, close #14586
2024-01-16 19:44:47 +01:00
Don Ho
7479e31fb3 Notepad++ v8.6.2 release 2024-01-14 19:20:08 +01:00
Don Ho
75ae73c173 Fix Copy/Cut/Paste shortcut modification conflict problem
The bug is introduced by:
f7c44b4413

Fix #14585, close #14586
2024-01-14 00:18:58 +01:00
Don Ho
f7c44b4413 Restore Shift-DEL, Ctrl-INS and Shift-INS & fix Ctrl+V can't paste into the text fields of forms for certain plugins
This PR restores shortcuts Shift-DEL, Ctrl-INS and Shift-INS for Cut / Copy / Paste respectively.
the action to delete entire line without selection is removed in this PR due to its shortcut Shift-DEL has triggered several critical issues.

To delete entire line, the users are encouraged to use Scintilla default shortcuts set in Shortcut Mapper: Ctrl-Shift-L (SCI_LINEDELETE). User can remap it to another shortcut via Shortcut mapper.

Fix #14568, fix #14470, fix #14571, close #14557, close #14569
2024-01-11 05:34:55 +01:00
artpoli
f7de2076c3 [xml] Update Ukrainian translation
Close #14570
2024-01-11 00:39:25 +01:00
Christophe Mateos
619b5a68ec [xml] Update french.xml
Close #14575
2024-01-11 00:27:11 +01:00
Helge Konetzka
464967e26c Fix clang compilation error
Close #14559
2024-01-10 23:33:03 +01:00
Don Ho
eb0922c223 Fix cloned document position not remembered though sessions
Fix #14461, fix #14164, close #14565
2024-01-08 16:55:32 +01:00
Don Ho
6f5f246791 Notepad++ 8.6.1 release 2024-01-05 17:26:31 +01:00
Don Ho
9c7bb8a080 Fix F4 not working for search result
Fix #12023, close #14544
2024-01-04 04:04:16 +01:00
Don Ho
dc6f6d1103 Fix deleting in column mode also delete an unexpected EOL
Fix #14426, close #14536
2024-01-03 06:16:54 +01:00
xomx
19c6489a9a [xml] Update czech.xml to v8.6.1
Close #14527
2023-12-30 17:49:12 +01:00
kubalav
0aebe13b3e [xml] Update Slovak translation
Close #14528
2023-12-30 17:48:06 +01:00
~GOLEM~
03d1a5dcd1 [xml] Update russian.xml
Close #14529
2023-12-30 17:46:11 +01:00
schnurlos
c664299dfa [xml] Update german.xml
Following 78d0e7e12f

Close #14530
2023-12-30 17:43:52 +01:00
Patriccollu
026ab75b38 [xml] Update Corsican translation for Notepad++ 8.6.1
Close #14531
2023-12-30 17:41:31 +01:00
Karlo-F
79fab08f02 [xml] Update croatian.xml to v8.6.1
Close #14532
2023-12-30 17:39:44 +01:00
Marcellomco
5e13a7b128 [XML] Update brazilian_portuguese.xml
Added translation for "Add new localization entries"

Close #14533
2023-12-30 17:37:14 +01:00
yasmise
81832b1690 [xml] Update japanese.xml
Add translation texts for these commits:
* Add new localization entries (d039eaa)
* Add navigation to the 1st & last tab abilities (4e6bbbc)

This also includes fix-ups to existing texts, to make it clearer.

Close #14534
2023-12-30 17:35:30 +01:00
rddim
24305466b3 [xml] Update Bulgarian localization
Close #14535
2023-12-30 17:33:52 +01:00
Don Ho
4bde0d4b53 Fix incorrect code
ref: 8ae049afbc (r135905629)

And also add new entries to tabContextMenu_example.xml
2023-12-30 03:53:47 +01:00
Don Ho
d039eaa900 Add new localization entries
ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/14497#issuecomment-1871689104
2023-12-29 18:07:53 +01:00
Don Ho
d1664226d3 Add comments in RTL localization files for explanation of "editZoneRTL" 2023-12-29 04:22:00 +01:00
Don Ho
8ae049afbc Use 64-bit positions instead of 32-bit obsolete ones
ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/14359/files#r1437502252
2023-12-29 02:56:37 +01:00
schnurlos
c1fa9273e5 [xml] Update german.xml
Close #14370
2023-12-28 17:54:35 +01:00
Karlo-F
65701313cd [xml] Update croatian.xml to v8.6
Close #14396
2023-12-28 17:42:50 +01:00
rddim
76b2ca3f40 [xml] Update Bulgarian localization
Close #14398
2023-12-28 17:30:01 +01:00
Andrei Miloiu
275a6853be [xml] Update romanian.xml
Close #14468
2023-12-28 17:13:20 +01:00
Patriccollu
fe17d2824d [xml] Update Corsican translation for Notepad++ 8.6.1
Close #14483
2023-12-28 17:02:56 +01:00
Christophe Mateos
e4d494c9d0 [xml] Update french.xml
Close #14484
2023-12-28 16:48:15 +01:00
~GOLEM~
7c9312b438 [xml] russian.xml 8.6.1
Close #14485
2023-12-28 16:32:58 +01:00
A. Regnander
211b9b7331 Update swedish.xml
Close #14486
2023-12-28 16:29:56 +01:00
Thomas De Rocker
1a1d6e352c Update dutch.xml
Close #14512
2023-12-28 16:22:51 +01:00
Juan
8898d0dcc8 [xml ]Update spanish.xml v.8.6
Close #14524
2023-12-28 16:20:19 +01:00
Juan
fabf129678 [xml] Update galician.xml v.8.6
Close #14525
2023-12-28 16:08:43 +01:00
Don Ho
d7630fa42d Fix file status in "other view" is not detected
Fix #14225
2023-12-28 01:43:10 +01:00
Don Ho
5f13c84719 Fix dropped file being opened in the wrong view
Fix #14354
2023-12-28 01:00:50 +01:00
Marcellomco
89f83f1023 [XML] Update brazilian_portuguese.xml
Added translation for 'Make RTL per document & remembered across the sessions'.

Close #14439
2023-12-27 03:45:17 +01:00
yasmise
65988cf16d [xml] Update japanese.xml
Update translation texts for these commits:
* Fix confusing memory allocation error message (reused FileTooBigToOpen) (ffc0ed2)
* Make RTL per document & remembered across the sessions (2724e0d)

Close #14448
2023-12-27 03:43:02 +01:00
kubalav
55f535cd35 [xml] Update Slovak translation
Close #14366
2023-12-26 23:57:25 +01:00
Christian Grasser
dcc7e600c7 Updated to Scintilla 5.4.1 & Lexilla 5.3.0
Scintilla 5.4.1
https://www.scintilla.org/scintilla541.zip
Released 27 December 2023.

1.  Add IDocumentEditable interface to allow efficient interaction with document objects which may not be visible in a Scintilla instance. This feature is provisonal and may change before being declared stable. For better type-safety, the ScintillaCall C++ API uses IDocumentEditable* where void* was used before which may require changes to client code that uses document pointer APIs DocPointer, SetDocPointer, CreateDocument, AddRefDocument, and ReleaseDocument.
2.  Ctrl-click on a selection deselects it in multiple selection mode.
3.  Add SCI_SELECTIONFROMPOINT for modifying multiple selections.
4.  Add SCI_SETMOVEEXTENDSSELECTION and SCI_CHANGESELECTIONMODE to simplify selection mode manipulation.
5.  Improve performance of global replace by reducing cache invalidation overhead. [Feature #1502](https://sourceforge.net/p/scintilla/feature-requests/1502/).
6.  Fix regular expression search for "\<" matching beginning of search when not beginning of word and for "\>" not matching line end. [Bug #2157](https://sourceforge.net/p/scintilla/bugs/2157/).
7.  Fix regular expression search failure when search for "\<" followed by search for "\>". [Bug #2413](https://sourceforge.net/p/scintilla/bugs/2413/).
8.  Fix regular expression assertion (^, $, \b. \B) failures when using SCFIND_CXX11REGEX. [Bug #2405](https://sourceforge.net/p/scintilla/bugs/2405/).
9.  Fix regular expression bug in reverse direction where shortened match returned. [Bug #2405](https://sourceforge.net/p/scintilla/bugs/2405/).
10. Avoid character fragments in regular expression search results. [Bug #2405](https://sourceforge.net/p/scintilla/bugs/2405/).
11. With a document that does not have the SC_DOCUMENTOPTION_TEXT_LARGE option set, allocating more than 2G (calling SCI_ALLOCATE or similar) will now fail with SC_STATUS_FAILURE.
12. Protect SCI_REPLACETARGET, SCI_REPLACETARGETMINIMAL, and SCI_REPLACETARGETRE from application changing target in notification handlers. [Bug #2289](https://sourceforge.net/p/scintilla/bugs/2289/).

Lexilla 5.3.0
https://www.scintilla.org/lexilla530.zip
Released 27 December 2023.

1. Fix calling AddStaticLexerModule by defining as C++ instead of C which matches header. [Bug #2421](https://sourceforge.net/p/scintilla/bugs/2421/).
2. Bash: Fix shift operator << incorrectly recognized as here-doc. [Issue #215](https://github.com/ScintillaOrg/lexilla/issues/215).
3. Bash: Fix termination of '${' with first unquoted '}' instead of nesting. [Issue #216](https://github.com/ScintillaOrg/lexilla/issues/216).
4. HTML: JavaScript double-quoted strings may escape line end with '\'. [Issue #214](https://github.com/ScintillaOrg/lexilla/issues/214).
5. Lua: recognize --- doc comments. Defined by [LDoc](https://github.com/lunarmodules/ldoc). Does not recognize --[[-- doc comments which seem less common.

Close #14375
2023-12-26 23:17:53 +01:00
Don Ho
78d0e7e12f Fix hidden results of long lines for "Find All ..." commands
Fix some the results of "Find all in..." commands of long lines not being displayed, when the long lines are cut (its length > 2048).
All the results displayed in the cut long lines will be kept as the current behaviour. Additionally, each result beyond the cut long line (2048) will be displayed as default mode (ie. each entry will be displayed, so user can double click on the entry line for reaching the result).

Related: #12014

Fix #12023, close #14520
2023-12-26 16:28:41 +01:00
PavelBlend
d1b3fe6fee Fix python wrong decorator attribute colors
Fix #5894, close #14507
2023-12-23 18:04:46 +01:00
Don Ho
3c4f0f9cb2 Make line copy/cut/delete while no selection optional
By adding disableLineCopyCutDelete.xml in "%APPDATA%\Notepad++\" directory (or in the Notepad++ installed directory in portable mode) to:
1. prevent hard coded Shift-DEL shortcut deletes whole line while no selection.
2. prevent Copy command (Ctrl-C) copies whole line (without selection).
3. prevent Cut command (Ctrl-X) cuts whole line (without selection).
4. add SCI_CUT (Shift-DEL), SCI_COPY (Ctrl-INS) & SCI_PASTE (Shift-INS) shortcuts

Note: the old disableHardCodedShiftDelete.xml (of 53b5055118caa5934b535c5521f04f991c13143b) is canceled, the new disableLineCopyCutDelete.xml is used instead.

Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14296#issuecomment-1866679990
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14401#issuecomment-1833326429

Close #14513
2023-12-23 04:45:09 +01:00
Alan Kilborn
08222a89de Fix the 2nd replace in cloned document for Replace in Opened Docs
Fix #14505, close #14511
2023-12-22 04:44:03 +01:00
Alan Kilborn
7419770d2e Fix regression of F3 & Shift-F3 in Incremental Search
The regression was introduced by:
ac871cacd4

Fix #14503, close #14504
2023-12-20 01:31:26 +01:00
Alan Kilborn
4e2903a274 Small update of english.xml
Restore accelerators for Increamental Search to english.xml.

Fix #14500, close #14501
2023-12-19 16:03:23 +01:00
Don Ho
4e6bbbc17f Add navigation to the 1st & last tab abilities
Fix #14416, close #14497
2023-12-17 16:17:11 +01:00
Don Ho
58d8043e2b Fix build error 2023-12-16 02:20:15 +01:00
Don Ho
fa82ca0224 Add document tab "Move to Start" & "Move to End" commands
Fix #13982, fix #9525
2023-12-15 19:44:15 +01:00
xomx
d9d26e5981 "-loadingTime" cmdline param enhancement
Improves:
- the reported time accuracy (from seconds to milliseconds, now e.g. different N++ settings benchmarking is possible)
- the ability to analyze various problems (now it is possible to distinguish the time taken by the app/plugin code-init from the possible file loading time)

Fix #14472, close #14473
2023-12-14 17:41:43 +01:00
Don Ho
53b5055118 Make hard-coded shortcut "Shift-DEL" be abled to be disabled
In order to disable the hard-coded shortcut "Shift-DEL" ability (new feature introduced in v8.6) which delete current line while no selection, users must add an empty file named "disableHardCodedShiftDelete.xml", in "%APPDATA%\Notepad++\" directory (or in the Notepad++ installed directory in portable mode) to prevent this behaviour.

Fix #14470, close #14481
2023-12-14 16:58:12 +01:00
Don Ho
aef0438180 Make column to multi-select be abled to be disabled
In order to disable the "Column to multi-select" ability (new feature introduced in v8.6), users must add an empty file named "noColumnToMultiSelect.xml", in "%APPDATA%\Notepad++\" directory (or in the Notepad++ installed directory in portable mode) to prevent this behaviour.

ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14296#issuecomment-1848076816

Fix #14464, close #14476
2023-12-13 03:25:33 +01:00
Alan Kilborn
e497ae2c06 Enhancement: add search options output to FiF Search-results
Fix #14306, close #14373
2023-12-12 21:12:02 +01:00
briangood35
bf37d4714f Sort language list in the Preferences dialog
Sort langlist before displaying using custom less than operator.

Fix #14245, close #14443
2023-12-08 19:52:02 +01:00
Sven Strickroth
ef8ad111e9 Enhance the performance: disable undo collection while loading a file
This reduces the amount of memory required to load a file by around half.

Close #14455
2023-12-07 23:15:50 +01:00
Don Ho
a51e62c16d Fix cloned (modified & unsaved) document disassociated issue after Npp being relaunched
The bug has been fixed in v8.5.7 by PR #14003.
However the fix causes a regression #14164, the concerning commit is reverted.
Hence this fix.

Fix #10266, fix #10365
2023-12-05 04:55:49 +01:00
Don Ho
6f2e5d272c Revert "Fix cloned document disassociated issue after Npp being relaunched"
This reverts commit f4297f1a837c93e09962715c40ba932567d46aa2 for fixing regression of not restoring coloned document position.

Fix #14164
2023-12-05 04:36:10 +01:00
Don Ho
e08c547167 Fix customized extesion in Style Configurator not saved regression
This regression is due to commit:
950236bb8f

Fix #14437
2023-12-03 03:48:05 +01:00
Don HO
58b2f057b0
Remove Appveyor Build Status from README 2023-12-03 03:01:22 +01:00
Don Ho
2724e0ddbb Make RTL per document & remembered across the sessions
This commit adds the ability of RTL/LTR per document (tab), and memorizes RTL setting of each file in the session.xml.

It also adds an attribute "editZoneRTL" in localization XML file. if "RTL" attribute is present and its value is "yes", then user can add  "editZoneRTL" attribute beside, and set the value of the attribute in question to "no", so Notepad++ GUI will be RTL, but Scintilla zone will be LTR by opening files.  Of course, user can set any direction they want afterward, and what they have set on document will be remembered across the sessions.

Fix #9665, fix #9950, fix #14385, close #14431
2023-12-02 17:49:09 +01:00
xomx
ffc0ed2516 Fix confusing memory allocation error message (reused FileTooBigToOpen)
Fix #14418, close #14429
2023-12-02 02:29:17 +01:00
Don Ho
0978b2e29f Fix visual glichy on multi-paste
This PR removes Shift-DEL Ctrl-INS & Shift-INS shortcut from Scintilla.
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14401#issuecomment-1830302635

Now for Copy/Cut/Paste commands and their shortcut are coherent. ie. if user remaps the shortcuts of these 3 commands, both single/multiple selection operation with the commands in question will follow the changed shortcuts.

It also fixes 2 bugs:
1. visual glitch problem of read-only while multi-pasting.
2. the shortcut **Ctrl-C** in Search results works now.

Fix #14410, close #14423
2023-11-29 23:21:11 +01:00
Don Ho
7deb12aeed Enable Copy & Cut commands on menu all the time
Before the implementation of e9c50ed967,
Copy & Cut command were disabled when there were no selection, which makes sense because there was nothing to be copied & cut.
Now users can copy/cut current line without selection.

Fix #14401, close #14415
2023-11-28 15:10:51 +01:00
Don Ho
2768cf5422 Update Finnish localization file 2023-11-24 22:29:59 +01:00
Don Ho
2fc7b706d8 Fix the error link 2023-11-23 18:17:08 +01:00
Don Ho
e215ae2de7 Notepad++ 8.6 release: 20th-Year Anniversary
The short story:
https://notepad-plus-plus.org/news/v86-20thYearAnniversary
2023-11-23 16:08:45 +01:00
xomx
ff590f3535 Update czech.xml to v8.6
Close #14394
2023-11-23 14:43:20 +01:00
~GOLEM~
ea3afd08c5 [xml] Update russian.xml to v8.6
Close #14393
2023-11-23 04:21:21 +01:00
yasmise
c3a8d13e5d [xml] Update japanese.xml
Update translation texts for these commits:
* [xml] Remove the redundant entry (faba181)
* Prevent Direct Write being set if user uses RTL (9bc790b)

Close #14386
2023-11-22 21:11:41 +01:00
Marcellomco
7c592e013a [XML] Update brazilian_portuguese.xml
Added translation for "Prevent Direct Write being set if user uses RTL"

Close #14387
2023-11-22 21:09:27 +01:00
Patriccollu
bfce07c75b [xml] Update Corsican translation for Notepad++ 8.6
Close #14388
2023-11-22 21:07:34 +01:00
Karlo-F
84289c732b [xml] Update croatian.xml to v8.6
Close #14392
2023-11-22 21:05:14 +01:00
Don Ho
2a90f11487 Add new styler entries to themes 2023-11-22 18:26:37 +01:00
Don Ho
9bc790b014 Prevent Direct Write being set if user uses RTL
Ref: 975d29b30b (commitcomment-132946815)

Close #14374
2023-11-22 02:06:01 +01:00
Don Ho
c62e222985 Fix Multi-edit DEL keystroke delete part of Unicode character
Fix https://community.notepad-plus-plus.org/topic/25150/notepad-v8-6-release-candidate/5?_=1700578401627
2023-11-22 00:17:26 +01:00
Andrei Miloiu
d77b270243 Update romanian.xml
Close #14280
2023-11-20 18:22:17 +01:00
artpoli
706dff6409 [xml] Update Ukrainian translation
Close #14318
2023-11-20 18:18:09 +01:00
Juan
45cec73a48 Update spanish.xml v. 8.5.9
Close #14342
2023-11-20 18:15:34 +01:00
Juan
64bca5fdd4 Update galician.xml v. 8.5.9
Close #14343
2023-11-20 18:10:15 +01:00
A. Regnander
562c367b79 Update swedish.xml
Added new strings and made a minor change to the existing translation.

Close #14348
2023-11-20 18:03:29 +01:00
Karlo-F
0baa474f30 [xml] Update croatian.xml to v8.6
Close #14371
2023-11-20 18:00:01 +01:00
Don Ho
0917875034 Make all SCI_SETELEMENTCOLOUR message use 32 bits color 2023-11-20 04:59:40 +01:00
Don Ho
b24734df8f Fix backspace keystroke not working for multi-editing
Fix https://github.com/notepad-plus-plus/notepad-plus-plus/pull/14359#issuecomment-1815898951
2023-11-18 20:24:20 +01:00
Don Ho
975d29b30b Enable Direct Write Technology in Scintilla by default
And disable Direct Write under WINE, due to the performance issue.
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/8510
2023-11-18 19:22:59 +01:00
Iñigo Zendegi Urzelai
6ba33563bd [xml] Minor fix
Close #14258
2023-11-18 00:31:56 +01:00
rddim
d1c335fff3 [xml] Update Bulgarian localization
Close #14282
2023-11-18 00:20:42 +01:00
Thomas De Rocker
3f81b2457d Update dutch.xml
Close #14364
2023-11-17 20:05:04 +01:00
kubalav
40fc7a57c9 [xml] Update Slovak translation
Close #14365
2023-11-17 20:03:22 +01:00
Marcellomco
a2c10cc9a7 [xml] Update brazilian_portuguese.xml
Removed entry indicated in "Remove the redundant entry".

Close #14362
2023-11-17 20:01:17 +01:00
CennoxX
370f99556c Fix wrong German translation of multi-select features
The German translation is completely missing the word "case" (meant is "upper/lower case"). The literally translation of "Nur Übereinstimmung" would be "Match only", which doesn't capture the essence of the phrase.
Also it's "Mehrfachauswahl", not "Mehrfach-Auswahl".

Close #14361
2023-11-17 19:59:47 +01:00
xomx
b85c1ebd34 [xml] Update czech.xml to v8.5.9
Close #14360
2023-11-17 02:48:27 +01:00
Don Ho
faba181e8f [xml] Remove the redundant entry 2023-11-17 02:45:03 +01:00
schnurlos
24af65c602 [xml] Update german.xml
Small fixes (thx MarkusBodensee).

Close #14250
2023-11-16 21:15:31 +01:00
yasmise
b6624f05cc [xml] Update japanese.xml
Add translation texts for these commits:
* Make session inaccessible files remembered (part 2/2) (0879451)
* Force to enable multi-select feature in Scintilla (89278e1)
* Enhance Multi-select feature (cecd161)
* Enhance Find Dialog: display extra info in the status bar (05f339b)

Close #14275
2023-11-16 21:05:51 +01:00
Don Ho
c517985beb Fix DELETE key not working in multi-editing for EOL
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/14338#issuecomment-1813006657

Close #14359
2023-11-16 18:31:00 +01:00
Don Ho
3e7425f6b1 Fix a typo 2023-11-16 05:29:24 +01:00
~GOLEM~
4123d531a0 [xml] Update russian.xml v8.5.9
Close #14256
2023-11-15 19:52:38 +01:00
kubalav
931155a311 [xml] Update Slovak translation
Close #14259
2023-11-15 19:06:32 +01:00
Marcellomco
eb3e1a65a0 [XML] Update brazilian_portuguese.xml
Added translation for Make session inaccessible files remembered

Close #14260
2023-11-15 19:03:55 +01:00
Christophe Mateos
2905efef6a [xml] Update french.xml with latest additions + realign with english.xml
Close #14317
2023-11-15 19:00:04 +01:00
Patriccollu
4391274b37 [xml] Update Corsican translation for Notepad++ 8.5.9
Fix #14290
2023-11-15 18:57:37 +01:00
xomx
ca403b6627 Fix possible PluginsManager FindClose WINAPI errors
Otherwise the ERROR_INVALID_HANDLE (0x6) can be triggered.

Close #14356
2023-11-15 18:08:28 +01:00
Don Ho
1764758669 Enhance multi-edit paste and Enter key type
Also disable auto-indent during multi-editing.

Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/14338#issuecomment-1809045648

Close #14355
2023-11-15 15:37:34 +01:00
Don Ho
05f339b0cf Enhance Find Dialog: display extra info in the status bar
Fix #14307, close #14347
2023-11-14 21:13:02 +01:00
Don Ho
812745d850 Make multi-select background & caret colour customizable
Fix #14302, close #14350
2023-11-14 05:40:08 +01:00
Don Ho
c7e1162f23 Fix menu Paste inconsitent behaviour
Fix #9260, close #14346
2023-11-11 14:18:11 +01:00
Don Ho
2337a7b5b6 Fix network shared files saving regression
Cause:
https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14300#issuecomment-1791313760

Solution:
https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14300#issuecomment-1798075334

Enhancement:
https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14300#issuecomment-1804910680

Fix  #14300, close #14344
2023-11-11 01:32:30 +01:00
Don Ho
4ff9d77d2b Make multi-select Copy/Paste behaviour as same as column edit's one
Copy some multi-select texts and paste them make all text glued all together.
This commit makes pasted texts separated by EOL, as column selection's Copy/Paste behaviour.

Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14266#issuecomment-1799203336

Close #14338
2023-11-11 00:04:36 +01:00
briangood35
dadc187dc6 Add srcset attribute for HTML
Fix #14294, close #14339
2023-11-09 20:12:54 +01:00
Christian Grasser
69998ab7de Update Scintilla to v5.3.8 & Lexilla to v5.2.8
Scintilla Release 5.3.8 https://www.scintilla.org/scintilla538.zip

    Released 5 November 2023.
    Fix excessive memory use when deleting contiguous ranges backwards. Notepad++ Issue #13442.
    Fix incorrect substitution when searching for a regular expression backwards. Bug #2405.
    Make SCI_MOVESELECTEDLINESUP and SCI_MOVESELECTEDLINESDOWN work for rectangular selections. Bug #2078.
    For Cocoa, minimum supported macOS release increased to 10.13.
    For Cocoa, fix invisible text on macOS 14 Sonoma. Bug #2402.
    For Cocoa, do nothing for suspendDrawing on macOS 10.14+ as the underlying calls have been deprecated.

and lexilla

Release 5.2.8 https://www.scintilla.org/lexilla528.zip

    Released 5 November 2023.
    Python: Update f-string handling to match PEP 701 and Python 3.12. Controlled with property lexer.python.strings.f.pep.701. Issue #150, Pull request #209.
    R: Fix escape sequence highlighting with change of for loop to while loop. Issue #206, Pull request #207.
    Minimum supported macOS release increased to 10.13.

Related to Notepad++ issue #13442, #14188 & #14288
Tested with: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14188#issuecomment-1740088956
Result: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14188#issuecomment-1799039503

Fix #13442, fix #14188, fix #14288, close #14320
2023-11-07 17:00:13 +01:00
xomx
5b61cc1680 Fix tab-closing crash by middle mouse button (unexpected mouse position)
The TabBar.h getTabIndexAt(int x, int y) could fail to find the tab-index (the underlying TCM_HITTEST WM returns -1, when there is no tab at the current mouse position).

Fix #14328, close #14329
2023-11-07 04:13:22 +01:00
Don Ho
1fafd0dc0b Fix hasSelection wrongly detected
Fix #14322, close #14330
2023-11-07 03:26:14 +01:00
Don Ho
2fb8d7fc77 Fix the shortcut bug (a regression) in commit e9c50ed
Ref: e9c50ed967 (commitcomment-131870570)
2023-11-07 03:17:01 +01:00
Don Ho
e9c50ed967 Add 3 line operation (delete, copy & cut) shortcuts
* Shift-Delete: without selected text, it will delete the whole line.
* Ctrl-C: without selected text, it will copy the whole line.
* Ctrl-X: without selected text, it will cut the whole line.

Fix #14296, close #14298
2023-11-06 20:58:20 +01:00
Don Ho
b5730eea31 Multi-edit enhancement: column mode to multi-edit on HOME/END/Arrow keys
This feature transforms a rectangular selection to multiple edit mode, so it's manipulatable with HOME, END and Arrow keys without loosing the set carets.

Related issue: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/8203

Fix #14266, close #14313
2023-11-06 13:43:53 +01:00
Don Ho
dc6bfedb90 Fix Incomplete styler.xml crashes Notepad++ issue
And do some refactoring.

Fix #12101
2023-11-06 00:40:38 +01:00
Don Ho
950236bb8f Fix 2 performance issue in Style Configurator
Fix #14321
2023-11-05 20:48:10 +01:00
Alan Kilborn
07041f4565 Fix tooltip for "In Selection" edit field of preferences not closing issue
Fix #14287, close #14314
2023-11-05 12:34:44 +01:00
mpheath
37a968e6f4 [xml] Add Batch After Label style configuration
Fix #14283, close #14284
2023-11-04 00:30:46 +01:00
Don Ho
02e4202d68 Reduce Appveyor building time
Keep only x64 release build in Appveyor.
2023-11-03 23:26:44 +01:00
Don Ho
cecd161570 Enhance Multi-select feature
1. Make "Multi-select all" expand the word only when there's no selection.
2. Make Multi-select command set macro-able.
3. Make Multi-select command set translatable.

Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/14295#issuecomment-1791688412

Close #14301
2023-11-03 13:16:45 +01:00
Don HO
7f2c303ac6
Update appveyor.yml
Disable FunctionList Unit tests.
2023-11-02 13:32:41 +01:00
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: 4248c2ae22e07a030c9dd0684de1fd38125e9dfd

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 1f3b0e6e4476a2783e78047dd9d6eac1d1117f8a 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
Dmitry
cb1f2d1479 Check NULL pointer while opening filees to prevent Notepad++ from crash
Fix #14131, close #14094
2023-09-17 20:34:25 +02:00
Alan Kilborn
670e2f098d Fix "Next Bookmark" command not reset current-column issue
Reset current column after moving to next bookmark.

Fix #14137, close #14148
2023-09-16 14:08:25 +02:00
Don HO
c2ebb94759
Improve CONTRIBUTING.md
Fix #14149
2023-09-16 13:44:43 +02:00
Don Ho
113003a79f Fix security issue CVE-2022-31901
Ref: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-31901
&
https://github.com/CDACesec/CVE-2022-31901

Fix #13520
2023-09-15 03:13:22 +02:00
Orden4
dca3f682fd Improve document list display performance
Reduce number of document list redraws on reload. Force redraw on activating item.

Fix #13479, fix #12632, close #14142
2023-09-14 20:27:03 +02:00
Don Ho
b068aa9033 Fix saving files loosing Alternate Data Stream issue
Fix #1498, fix #8451, fix #8013, close #14039
2023-09-14 13:53:51 +02:00
Don Ho
01ff1eb881 Fix Cleaer Read-Only Flag command not working immediately regression
Fix #14138
2023-09-12 17:44:19 +02:00
Don Ho
e30ee852d6 Fix data loss issue due to no room on disk for saving
Fix #5664, fix #14089, close #14134
2023-09-12 14:50:52 +02:00
Don Ho
a511a575b7 Update slovenian.xml 2023-09-10 15:53:57 +02:00
Don Ho
5008b8a0cc Notepad++ v8.5.7 release (Vulnerability fixes) 2023-09-08 02:04:24 +02:00
Don Ho
02cc028cd8 Fix eventual memory leak in Utf8_16.cpp
Fix #14099, close #14104
2023-09-06 18:58:15 +02:00
xomx
6eb74a9653 [xml] Update czech.xml to v8.5.7
Close #14102
2023-09-06 18:21:36 +02:00
Karlo-F
f1adb46c59 [xml] Update croatian.xml to v8.5.7
Close #14106
2023-09-06 18:17:56 +02:00
SinghRajenM
4476432d0b Security enhancement: Sign uninstall.exe
Fix #4120, fix #5806, fix #4443, close #14087
2023-09-06 18:06:52 +02:00
Don Ho
06a2c6f377 Make variable name more explicit 2023-09-05 16:50:15 +02:00
Orden4
8afa4c6ea8 Fix dragging tab performance issue while Document List is displayed
Fix #13479, fix #12632, close #14080
2023-09-05 16:40:03 +02:00
Hugo Carvalho
14d8aaaa1f [xml] Update portuguese.xml
For commit: 391f4281efac81649a02aa8cdd4e765fa76d1237

Close #14014
2023-09-05 14:33:46 +02:00
Christophe Mateos
4276428e01 [xml] Update french.xml
Close #14048
2023-09-05 14:29:43 +02:00
Andrei Miloiu
e64de6cd5f Update romanian.xml
Close #14050
2023-09-05 14:26:42 +02:00
Marcellomco
ceb9306451 [XML] Update brazilian_portuguese.xml
Added translation for "Add suppress 2GB file warning option for x64".

Close #14076
2023-09-05 14:23:55 +02:00
rddim
88ba29cff0 [xml] Update Bulgarian localization
Close #14079
2023-09-05 14:21:35 +02:00
kubalav
df94bfae54 [xml] Update Slovak translation
Close #14081
2023-09-05 14:17:49 +02:00
yasmise
3c802e0767 [xml] Update japanese.xml
Add translation text for this commit:
* Add supperss 2GB file warning option for x64 (cf8ddc1)

Close #14083
2023-09-05 14:12:11 +02:00
SinghRajenM
b62b77b3ea Correct some typos 2023-09-03 18:48:55 +02:00
Don Ho
0e3c676668 Remove unnecessary comment 2023-09-02 02:16:24 +02:00
Don Ho
f8447b670e Make comment counting right 2023-09-02 02:14:07 +02:00
Don HO
ea063246f1
Merge pull request from GHSA-jg7c-f532-25h8
GHSL-2023-102: apply 2694ba6363
2023-09-02 02:03:07 +02:00
Don HO
8c561ba74b
Merge pull request from GHSA-67mm-g35x-jv47
GHSL-2023-103: apply 94b10b9b29
2023-09-01 21:43:28 +02:00
Don HO
4b66d80b2f
Merge pull request from GHSA-cfcv-789h-3pg3
GHSL-2023-112: check if the current pointer and the next one are less than the end
2023-09-01 17:50:08 +02:00
Jaroslav Lobačevski
6567a89094
Add comment 2023-09-01 17:28:58 +02:00
Don Ho
fb1985defc Code enhancement: fix a logic error - va_end missing
Fix #14071
2023-09-01 01:32:07 +02:00
Don HO
5402622abc
Merge pull request from GHSA-v2h9-jfmf-5cgq
GHSL-2023-092: Check if i is not bigger than datalen
2023-08-31 14:30:53 +02:00
robionekenobi
d3c84b7d23 Fix VS 2022 17.7 compiling error message
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
2023-08-31 01:21:39 +02:00
(x*ln(7))⁻¹
cf8ddc18c9 Add supperss 2GB file warning option for x64
Fix #14055, close #14069
2023-08-31 01:16:15 +02:00
Don HO
f5c60d26cd
Update CONTRIBUTING.md 2023-08-28 16:01:13 +02:00
Don Ho
00481aadd5 Change the slogan in installer
Fix #14052
2023-08-27 02:55:27 +02:00
molsonkiko
f4297f1a83 Fix cloned document disassociated issue after Npp being relaunched
Fix #10266, close #14003
2023-08-24 23:55:40 +02:00
Don Ho
7340696734 Add a quote 2023-08-24 15:59:06 +02:00
Mr-Update
a714b9464f Update langs.model.xml
Duplicate keyword "add_custom_command" is removed.

Close #14026
2023-08-22 14:17:45 +02:00
Don Ho
3aa9e9280f Fix session file saving problem if it's read-only
Refactoring and fix a typo.

Fix #14024, fix #13894, fix #13859, close #14035
2023-08-22 13:57:07 +02:00
Don Ho
fc736d8afb Fix activating wrong file(s) issue after loading session file
... if some files are already opened in Notepad++.

Fix #14006, close #14028
2023-08-20 15:52:53 +02:00
Don Ho
ea40755e14 Fix product version value displayed in file's properties
Fix #14010, fix #11886, fix #11431, close #14025
2023-08-19 00:59:32 +02:00
Don Ho
e39deab778 Notepad++ v8.5.6 release 2023-08-15 16:13:59 +02:00
~GOLEM~
119a256907 [xml] Update russian.xml
Fix sha256 line.

Close #14001
2023-08-15 15:06:36 +02:00
Andrei Miloiu
0ca2ade6b2 [xml] Update romanian.xml
Close #13999
2023-08-14 18:49:02 +02:00
Tmp341
d05b2654f9 [xml] Update Turkish localization
* According to 61503a2, 5b52386, 4ffd897, d7aee68, d9b9868, e7f7c31, c143a4a and 391f428 commits.

Close #13992
2023-08-14 18:46:25 +02:00
rddim
8d6df5a465 [xml]Update Bulgarian localization
Close #13980
2023-08-14 18:43:42 +02:00
Patriccollu
d1ceb6291d [xml] Update Corsican translation for Notepad++ 8.5.6
Close #13978
2023-08-14 18:41:35 +02:00
Don Ho
c45d7aca75 Fix plugin crash regression due to CET enhancement
Regression is introduced by: "Enable optimization flags & CET" (eef91b0)

Ref:https://community.notepad-plus-plus.org/post/88577
2023-08-14 16:37:15 +02:00
Don Ho
3385eb60c3 [xml] Update slovenian.xml 2023-08-13 18:07:36 +02:00
Don Ho
a81d39fa6e Minor code improvement 2023-08-13 18:00:28 +02:00
Don Ho
460b2b60f6 Fix "Clear Change History" issue: cloned document markers are not cleared
Fix #13877
2023-08-13 16:12:44 +02:00
Alan Kilborn
de25873cb3 Add new API: indicator allocation for plugins
Fix #5744, close #13985
2023-08-12 19:44:56 +02:00
Don Ho
4fb8845183 Fix typos
Fix #13989
2023-08-12 02:38:14 +02:00
cynthplusplus
c49692cb47 Fix hide lines merging to avoid merging across a visible line
Fix #12844, close #13681
2023-08-11 22:31:03 +02:00
Don Ho
f6e1b2cab6 Notepad++ 8.5.5 release 2023-08-09 16:06:33 +02:00
schnurlos
d7d59401e5 [xml] Fix Update german.xml
Following https://github.com/notepad-plus-plus/notepad-plus-plus/pull/13951

Close #13965
2023-08-07 18:35:30 +02:00
Karlo-F
18b19f30fc [xml] Update croatian.xml to v8.5.5
Close #13971
2023-08-07 18:33:01 +02:00
Marcellomco
54a7cf4f95 [XML] Update brazilian_portuguese.xml
Added translation for "Fix leading & tailling spaces being allowed after renaming tab issue"

Close #13974
2023-08-07 18:30:20 +02:00
~GOLEM~
7979c36671 [xml] Update russian.xml
Close #13975
2023-08-07 18:26:53 +02:00
yasmise
fa0cc8a6e5 [xml] Update japanese.xml
Add a translation text for this commit:
* Fix leading & tailling spaces being allowed after renaming tab issue (391f428)

Close #13976
2023-08-07 18:24:48 +02:00
kubalav
edc599e1cc [xml] Update Slovak translation
Close #13977
2023-08-07 18:22:43 +02:00
cynthplusplus
9b7dff6fa9 Fix proper case conversion logic for single and smart single quotes
Changed all instances of TITLECASE to PROPERCASE for consistency.

Close #13584
2023-08-07 15:48:57 +02:00
Don Ho
391f4281ef Fix leading & tailling spaces being allowed after renaming tab issue
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/13344#issuecomment-1665687932

Fix #13967, close #13967
2023-08-05 18:59:30 +02:00
Don Ho
fdae99e6c0 Fix new document number jumps from "New 1" to "New 3" issue
Solution from:
https://github.com/notepad-plus-plus/notepad-plus-plus/pull/13931#issuecomment-1653523758

Fix #13194, fix #8677, close #13960
2023-08-05 12:49:49 +02:00
Don Ho
dea388bf59 Simplify the logic in buffer creating 2023-08-02 21:11:55 +02:00
ArkadiuszMichalski
b09432cfa8 [xml] Update polish.xml to 8.5.5
Close #13955
2023-08-02 16:53:35 +02:00
Don Ho
891e8f936e Revert "Fix untitled document number jumping or repeated problem"
This reverts commit 892ab0850fdfefe4f335e0977745e06b7a6ac4c8 due to the regression #13636

Fix #13636
2023-08-02 15:47:35 +02:00
schnurlos
7234e1478c [xml] Update german.xml
Close #13795
2023-08-01 21:46:27 +02:00
kubalav
feb65c42b9 [xml] Update Slovak translation
Close #13826
2023-08-01 21:43:50 +02:00
Marcellomco
6bcc7a2a00 [XML] Update brazilian_portuguese.xml
Added translation for "Fix menu Tools contains 2 SHA-256 item while using localization"

Close #13804
2023-08-01 21:41:52 +02:00
Hugo Carvalho
4b8bcb0c14 [xml] Update portuguese.xml
Close #13810
2023-08-01 21:39:31 +02:00
yasmise
8b1a49aaae [xml] Update japanese.xml
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
2023-08-01 21:36:27 +02:00
artpoli
aefd71ca2e [xml] Update Ukrainian translation
Close #13947
2023-08-01 21:33:32 +02:00
Sapziller
dd163e797a [xml] update korean 8.5.5
Close #13924
2023-08-01 21:31:50 +02:00
xomx
0f48a82d6c [xml] Update czech.xml to v8.5.5
Close #13890
2023-08-01 21:30:16 +02:00
Andrei Miloiu
61b23dfd1e [xml] Update Romanian localization
Close #13848
2023-08-01 21:29:08 +02:00
A. Regnander
796ae18f0c Update swedish.xml
Added new strings and made changes to match english.xml

Close #13840
2023-08-01 21:26:44 +02:00
Juan
e894c2baca [xml] Update galician.xml
Close #13830
2023-08-01 21:25:18 +02:00
~GOLEM~
119d17f928 [xml] Update russian.xml v8.5.5
Close #13823
2023-08-01 21:23:24 +02:00
Juan
c1605852be [xml] Update spanish.xml
Close #13828
2023-08-01 21:21:07 +02:00
Patriccollu
e827e51ed1 [xml] Update Corsican translation for Notepad++ 8.5.5
Close #13820
2023-08-01 21:18:32 +02:00
spkprs
1f3cd8752e Update greek.xml
Close #13809
2023-08-01 21:16:42 +02:00
yaoyao5128
694c4101c3 Update chineseSimplified.xml
add Item id "1726-1728".

Close #13808
2023-08-01 21:13:06 +02:00
rddim
459f310edd [xml] Update Bulgarian localization
Close #13801
2023-08-01 21:11:30 +02:00
Christian Grasser
cc1a3c826b Update: Scintilla 5.3.6 and Lexilla 5.2.6
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
2023-08-01 19:44:35 +02:00
Patriccollu
50a15f2e59 Remove extra char on top of french.xml
Close #13949
2023-08-01 19:15:11 +02:00
Don Ho
c143a4a6cc Remove "Temporary doc site:" from localization files
The removal is due to 9011253
(9011253a0a (commitcomment-121208415))
2023-07-31 02:24:11 +02:00
Don Ho
e7f7c319f5 Fix inaccurate find/replace in files result while using invalid regexp
Fix #13164, close #13945
2023-07-30 13:31:15 +02:00
Don Ho
c4733db0af Use better variable name & use standard type name
1. isInFile to isBetweenFileNameQuotes
2. generic_string to std::wstring
2023-07-27 14:26:01 +02:00
jofon
3ea789caea Fix error message of openning file with '=' as end of file name
Ignore '=' at the end of a file name.

Fix #13344, close #13917
2023-07-27 14:02:51 +02:00
Don Ho
4df27c8e8b Fix Project panel inaccurate save dialog initilized path
Fix #13086, close #13936
2023-07-27 13:59:03 +02:00
byronigoe
3bdefd88d0 Fix handling of URLs in JSON
Fix #13522, close 13907
2023-07-23 10:06:58 +02:00
Don Ho
2804ac79f0 Fix "Last Used Directory" may not be saved issue
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
2023-07-23 10:05:14 +02:00
Don Ho
c8020647dd Fix regression: the small size of Notepad++ on its very first launch
Fix regression is due to a367fc1
2023-07-22 11:39:47 +02:00
Don Ho
a367fc1b79 Code enhancement: use std::wstring instead of generic_string 2023-07-21 12:11:08 +02:00
molsonkiko
ff2179aeca Remember the directory of "Remember last used directory" through sessions
Fix #11326, fix #10901, fix #4961, fix #4119, close #13887
2023-07-21 11:14:01 +02:00
ozone10
eef91b0214 Enable optimization flags & CET
Fix #13855, close #13869
2023-07-17 11:09:17 +02:00
xomx
9122dc64fa Fix rejection of the standard filenames with dot at the end (regression)
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
2023-07-16 01:54:20 +02:00
Don Ho
38e97b179c Align URL with "Home:" label in About dialog
Fix #13898
2023-07-15 17:21:43 +02:00
Don Ho
bf47586259 Add more info on save session error message part 2 2023-07-14 12:56:36 +02:00
Don Ho
7e353903b8 Add more info on save session error message
For the future debugging using.

Related: #13859

Close #13893
2023-07-13 10:42:12 +02:00
xomx
50f942c880 Fix MD5 dialog title not showing regression
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
2023-07-13 10:38:40 +02:00
Don Ho
ebdc910dcd Fix normal.xml for Normal text auto-completion using not working issue
Fix #12325, close #13875
2023-07-09 13:09:12 +02:00
Don Ho
d9b98681f4 Add change history navgation commands
Add Go to next/prev change & clear change history commands.

Fix #12248, close #13861
2023-07-07 21:44:04 +02:00
Don Ho
9011253a0a Remove "Temporary doc site:" label
Fix #13737
2023-07-07 21:13:47 +02:00
80rokwoc4j
6330a688b1 Fix Korean IME append extension issue
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
2023-07-07 20:01:18 +02:00
ozone10
a647991cd7 Fix some GCC and MSC warnings
-  optimize dark mode
-  add initializers

Fix #13867, close #13868
2023-07-07 19:51:39 +02:00
Christian Grasser
d6bdc5d3f8 Fix cmake build
- update CMakeLists.txt to contain latest changes sha1 and sha512.cpp
- fixed uppercase issue on cross platform build with mingw on linux

Close #13865
2023-07-06 13:43:11 +02:00
BuzzTheGamer23
0786dc0adc Fix compiling on Scoop mingw-winlibs g++ 13
Fix #13821, close #13822
2023-07-05 13:53:32 +02:00
Don Ho
83d203561d Fix Change History wrong display after "Reload from Disk" command
The code for fixing is from Change Lines plugin:
https://github.com/vinsworldcom/nppChangedLines/blob/main/PluginDefinition.cpp

Fix #12319, fix #12261, fix #13735, close #13858
2023-07-04 03:12:01 +02:00
JarLob
d7ea26d931 GHSL-2023-092: Check if i is not bigger than datalen 2023-07-02 09:56:09 +00:00
Don Ho
9e24ec55db Improve lines sorting memory consumption
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
2023-07-02 03:32:55 +02:00
jarlob
5687c4f43c GHSL-2023-112: check if the current pointer and the next one are less than the end 2023-07-01 20:45:03 +00:00
JarLob
ddf4f746d7 GHSL-2023-102: apply 2694ba6363 2023-07-01 20:02:25 +00:00
JarLob
97f9a4d963 GHSL-2023-103: apply 94b10b9b29 2023-07-01 19:55:49 +00:00
Don Ho
02dd1d36fc Add blank document only when the sessin is remembered
Fix #13796
2023-07-01 03:26:55 +02:00
Don Ho
d6b5f53a0e Fix Clipboard History panel shows corrupted data issue
Fix #13817, fix #13844, close #13833
2023-06-30 16:42:43 +02:00
Don Ho
1943ce87b5 [xml] Update slovenian.xml 2023-06-23 01:40:34 +02:00
Don Ho
6131195da7 Fix "Generate from selection into clipboard" crash regression
Fix #13818
2023-06-21 19:35:23 +02:00
Don Ho
b14810d087 Update localization files 2023-06-21 18:23:49 +02:00
yasmise
d7aee6828d [xml] Add missing entries in english.xml for SHA-1/SHA-512
Fix #13815, close #13816
2023-06-21 18:20:33 +02:00
Don Ho
4ffd897ccf Add SHA-512 hash features
Fix also SHA-1 hash result wrong length bug while "Treat each line as a separate string" enabled.

Fix #13805, fix #13812, fix #13811, close #13806
2023-06-20 23:19:19 +02:00
Don Ho
32ce6b5b4c Code Enhancement: make notepadPlus.vcxproj less messed
Fix #13798
2023-06-19 19:29:13 +02:00
Don Ho
5b5238610e Fix menu Tools contains 2 SHA-256 item while using localization
Fix #13797
2023-06-19 18:29:13 +02:00
Don Ho
85ba11bf7e Notepad++ 8.5.4 release 2023-06-18 14:21:27 +02:00
Don HO
19c6895f83 Fix gcc compiling failure
Close #13793
2023-06-17 20:15:45 +02:00
Don Ho
b883759c83 Add SHA-1 hash feature
Fix #13791, close #13792
2023-06-17 13:25:07 +02:00
Don Ho
51bddf57ad Use multiple-files Save dialog in Document list
Fix #13768, fix #13178, close #13776
2023-06-17 13:24:13 +02:00
xomx
bdd13c0839 [xml] Update czech.xml to v8.5.4
Close #13772
2023-06-17 13:24:13 +02:00
Karlo-F
fcb9f56df8 [xml] Update croatian.xml to v8.5.4
Close #13773
2023-06-17 13:24:13 +02:00
ozone10
af1ab5d294 Support up down control generic dark mode for plugins
Fix #13766, close #13767
2023-06-17 13:24:13 +02:00
Don Ho
d2fdfd7b73 Fix defective detection for file read-only attribute removal via Explorer
The regression has been made by 5e2f5d79aa8325a3db9c3b811d80e9b7ce42b51c

Fix #13742
2023-06-17 13:24:13 +02:00
Don Ho
7077e304aa Add CSHA1 2023-06-17 03:46:44 +02:00
Don Ho
3b823f358e Add SHA1 hash generator 2023-06-13 19:35:06 +02:00
xomx
b0e849fe65 Fix ignored writeStr return value in TiXmlDocument::SaveFile
Previously the TiXmlDocument::SaveFile could return true even when the underlying writeStr func failed.

Close #13774
2023-06-12 16:06:34 +02:00
ozone10
28594daef3 Progress window: Prefer SystemParametersInfo fonts over DEFAULT_GUI_FONT
Fix #13764
2023-06-11 14:05:34 +02:00
ozone10
da8e48f67a Fix EOL symbol color/appearence being reset while changing encoding issue
Fix #13728, close #13763
2023-06-11 13:41:23 +02:00
Robert Di Pardo
fadc083051 Enable code folding in Assembly source files
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
2023-06-11 12:12:14 +02:00
kubalav
2aa6b0cff5 [xml] Update Slovak translation
Close #13671
2023-06-11 01:49:12 +02:00
schnurlos
15d5c1e9c6 [xml] Update german.xml
Close #13672
2023-06-11 01:46:44 +02:00
Marcellomco
9bbcfd1354 [xml] Update brazilian_portuguese.xml
Mirror changes from "GUI Enhancement: Column Editor" to Brazilian Portuguese language.

Close #13679
2023-06-11 01:30:14 +02:00
Patriccollu
ec23e4216f [xml] Update Corsican translation for Notepad++ 8.5.4
Close #13680
2023-06-11 01:28:07 +02:00
Blackspirits
8e0b326b77 [xml] Update portuguese.xml
Close #13689
2023-06-11 01:26:15 +02:00
yasmise
063a31a87c [xml] Update japanese.xml
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
2023-06-11 01:22:32 +02:00
rddim
5694b3c407 [xml] Update Bulgarian localization
Close #13707
2023-06-11 01:20:57 +02:00
Matteo Concato
1ae5745118 [xml] Update italian.xml 8.5.4
Close #13710
2023-06-11 01:19:12 +02:00
Tmp341
38d19095be [xml] Update Turkish localization
Close #13727
2023-06-11 01:17:54 +02:00
Sapziller
f1ed6e6f4f [xml] update korean translate (8.5.3)
Close #13732
2023-06-11 01:15:21 +02:00
~GOLEM~
647dd703a5 [xml] Update russian.xml v8.5.4
Close #13751
2023-06-11 01:09:02 +02:00
artpoli
b335454733 [xml] Update Ukrainian translation
Close #13759
2023-06-11 01:02:47 +02:00
Don Ho
e61b20a7fe Small refactoring 2023-06-11 00:59:15 +02:00
Don Ho
b5e2e9d737 Fix macro recording regression on Unicode character
Fix #13757
2023-06-10 17:47:34 +02:00
molsonkiko
96ff66b225 Fix infinite loop in running macro to EOF
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
2023-06-08 22:20:29 +02:00
Don Ho
61503a2dcd Add "open new blank document in addition on startup" ability
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
2023-06-08 19:16:56 +02:00
Don Ho
ccf80a0699 Add session.xml.fail2Load for analyzing
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 #13694

Close #13741
2023-06-06 13:40:17 +02:00
Don Ho
dba15cfaf3 Fix document language not remembered through sessions issue
Fix document language not remembered through sessions due to languange being hidden from languages menu.

Fix #13743, close #13744
2023-06-06 02:07:19 +02:00
Christian Grasser
b39ca37c3a Update: Scintilla 5.3.5 Lexilla 5.2.5
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
2023-06-02 14:15:54 +02:00
Don HO
043bd4f385
Make SUPPORTED_SYSTEM.md briefer 2023-06-01 15:25:09 +02:00
Lautis Sun
b93e3f4b21 Add latest support version information for Windows 95/98/ME/NT4
With searching in Google and trying to run several official unmodified verions of Notepad++ in virtual machines. Notepad++ come with several plugins enabled, which may stop working before Notepad++ version. Please attention that, the installed version of Internet Explorer may affect other software, which I did not test. The following is what I get.

For Windows 95, refer to these links:

http://www.win3x.org/win3board/viewtopic.php?t=17221

https://notepad-plus-plus.narkive.com/6lktixGR/notepad-plus-help-notepad-v4-0-does-not-work-on-win95

I've confirmed that Notepad++ 3.9 runs on Windows 95 RTM/OSR 2.5, and Notepad++ 4.0.1 doesn't (4.0 not found, but I think there's only minor changes). So Notepad++ 3.9 is the latest version for Windows 95.

For Windows NT 4.0, nothing found when searching.

I've confirmed that Notepad++ 4.6 runs on Windows NT 4.0 SP6, and Notepad++ 4.7.1/4.7.2/4.7.3 runs with error of plugin, and Notepad++ 4.7.5 doesn't work. So Notpad++ 4.7.3 is the latest for Windows NT 4 with plugins disabled.

For Windows 98/ME, refer to these links:

http://web.archive.org/web/20110709191226/http://notepad-plus-plus.org/news/notepad-5.9.1-release-is-available.html

https://msfn.org/board/topic/105936-last-versions-of-software-for-windows-98se/page/68/#comment-1176861

I've confirmed that Notepad++ 5.9.6.2 (ANSI) runs Windows 98 SE/ME, and Notepad++ 5.9.8/6.0 (ANSI) runs with error of plugin, and Notepad++ 6.1 doesn't work because no ANSI version available. So Notepad++ 6.0 (ANSI) is the latest for Windows 98/ME with plugins disabled.

For Windows 2000, I've confirmed that Notepad++ 6.5 runs on Windows 2000 SP4, and Notepad++ 6.6 with default plugins runs with error, and Notepad++ 6.7 doesn't work. So Notepad++ 6.6.9 is the latest for Windows 2000 with plugins disabled.

Close #13725
2023-06-01 14:53:47 +02:00
blu3mania
406a77a608 Fix lexer plugin is sorted unconventionally in language menu issue
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
2023-05-31 15:39:28 +02:00
ozone10
776a3fb945 GUI Enhancement: StylerDlg & URLCtrl
-  prefer SystemParametersInfo fonts over DEFAULT_GUI_FONT
-  optimize dark mode
-  fix override warnings

Fix #13705, close #13706
2023-05-30 18:42:51 +02:00
ozone10
781709a022 GUI Enhancement: Tabbar part 2
- use one tab icon size
- close button crop in RTL
- improve text positions
- font size adjustment

ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/13702#issuecomment-1564296333

Fix #10349, fix #8109, close #13709
2023-05-30 01:15:49 +02:00
ozone10
e2f1662c90 GUI Enhancement: Docking Container & Function List
-  prefer SystemParametersInfo fonts over DEFAULT_GUI_FONT
-  fix override warnings
-  add initializer

Fix #13703, close #13704
2023-05-29 20:23:07 +02:00
ozone10
e7f321f21a Add message NPPM_DARKMODESUBCLASSANDTHEME
to allow plugin authors to use generic dark mode.
Unfortunately not for C# plugins.
related #13572

Fix #13574, close #13596
2023-05-28 11:52:14 +02:00
ozone10
b88456764b GUI Enhancement: Tabbar
-  prefer SystemParametersInfo fonts over DEFAULT_GUI_FONT
-  fix inconsistent tab bar size values
-  add initializer
-  fix override warnings

Fix #13701, close #13702
2023-05-25 14:51:48 +02:00
ozone10
1806b8994b GUIEnhancement: About, Debug, Save dialogs
-  add accelerators
-  optimize dark mode
-  remove/comment unused variables
-  replace debug copy link with push button
-  fix override warnings
-  add initializers

Fix #13686, close #13687
2023-05-23 16:05:54 +02:00
ozone10
779db128ac GUI Enhancement: Go to Line dialog
- optimize dark mode
- simplify code
- fix override warnings

Fix #13665, close #13666
2023-05-22 13:38:21 +02:00
ozone10
a1d7db8049 GUI Enhancement: General & Editing sections in Preferences dialog
- 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
2023-05-22 10:19:23 +02:00
ozone10
41af936855 GUI Enhancement: Column Editor
- fix override warnings
- replace SendMessage check with isCheckedOrNot
- make translation consistent

Fix #13667, close #13668
2023-05-20 20:08:20 +02:00
Anders
8250a81d6e Fix tabContextMenu_example.xml not being deleted while uninstallation
Correctly delete tabContextMenu_example.xml in the users profile.

Fix #13670, close #13654
2023-05-19 05:43:52 +02:00
ozone10
af8b339296 GUI enhancement: Find in Finder dialog
- add key accelerator
- optimize dark mode
- add initializers
- fix override warnings

Fix #13624, close #13625
2023-05-18 10:52:13 +02:00
Bjarke Istrup Pedersen
04e85241f3 Remove old context menu ini file and attributes file
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
2023-05-18 07:15:27 +02:00
ozone10
4e0f50416d GUI Enhancement: Plugins Admin dialog
- add key accelerators
- remove unused define
- add initializers
- fix override warnings
- optimize dark mode
- resize listview controls based on other child controls

Fix #13622, close #13623
2023-05-18 06:29:54 +02:00
Anders
571c815b1e Fix error message on uninstallation
Only call CleanupDll if the DLL exists.

close #13653
2023-05-17 18:42:04 +02:00
Don Ho
a561cd37d4 Notepad++ 8.5.3 release 2023-05-15 07:01:31 +02:00
Don Ho
50b81eadef Backup session file in case of its corruption
It could be, in certain unknown circumstances, the session file (session.xml) is saved with the incorrect characters (for example NUL characters) which leads session file corrupted and empty session loaded on the next launch. This commit makes a backup of session file before rewritting it, then check the session file after it having been writting - if written session file is corrupted, the backup session file will be restored, otherwise the backup file will be removed.

Ref:
1. https://github.com/notepad-plus-plus/notepad-plus-plus/issues/6133#issuecomment-1121781830
2. https://github.com/notepad-plus-plus/notepad-plus-plus/issues/6133#issuecomment-1544703701

Fix #13514, close #13648
2023-05-15 05:59:14 +02:00
Don Ho
34186d2e85 Fix menu strings cut off regression for some localication
ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/13556#issuecomment-1518197329

Fix #13556, close #13645
2023-05-15 05:51:05 +02:00
schnurlos
2577594e2c [xml] Update german.xml
Close #13642
2023-05-12 04:32:59 +02:00
Karlo-F
e6a12b6a41 [xml] Update croatian.xml to v8.5.3
Close #13640
2023-05-12 04:31:03 +02:00
xomx
f5d64151ef [xml] Update czech.xml to v8.5.3
Close #13635
2023-05-12 04:28:32 +02:00
Don Ho
3c15ff5783 [xml] Make all the localization files pretty printed
This commit makes all the localization files pretty printed (indent only).

Close #13631
2023-05-09 04:52:09 +02:00
Don Ho
8dd1f3a337 Revert "[xml] Standarize english.xml format by using XML pretty print"
This reverts commit dccab1f25ab61835bfe4042edd7780e5b7b3149d.
2023-05-08 16:35:03 +02:00
ArkadiuszMichalski
df3080d855 [xml] Update polish.xml to 8.5.3
Close #13628
2023-05-08 04:38:47 +02:00
Don Ho
dccab1f25a [xml] Standarize english.xml format by using XML pretty print
Use XML Tools plugin for formatting english.xml.
Command: via menu "Plugins -> XML Tools-> Pretty Print" command.

Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/13562#issuecomment-1518543453

Close #13621
2023-05-08 04:32:52 +02:00
Patriccollu
f5afac3f91 [xml] Update Corsican translation for Notepad++ 8.5.3
Close #13620
2023-05-07 16:57:58 +02:00
Juan
9fce39d2b2 [xml] Update galician.xml to v 8.5.3
Close #13562
2023-05-07 16:54:49 +02:00
schnurlos
d4f0fa95dd [xml] Update german.xml
Close #13539
2023-05-07 16:51:09 +02:00
Juan
c9fa1742e0 [xml] Update spanish to v 8.5.3
Close #13537
2023-05-07 16:45:28 +02:00
Thomas De Rocker
97ad88227b [xml] Update dutch.xml
Close #13536
2023-05-07 16:42:34 +02:00
Matteo Concato
20aeb510a5 [xml] update italian.xml
Close #13527
2023-05-07 16:37:57 +02:00
~GOLEM~
6b55dbd187 [xml] Update russian.xml
Close #13525
2023-05-07 16:33:47 +02:00
yasmise
a699f09c50 [xml] Update japanese.xml
* 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
2023-05-07 16:29:54 +02:00
rddim
76cf3c7931 [xml] Update Bulgarian localization
Close #13515
2023-05-07 16:24:27 +02:00
Marcellomco
befcbae1b4 [xml] Update brazilian_portuguese.xml
Close #13512
2023-05-07 14:28:50 +02:00
kubalav
13ef27645b [xml] Update Slovak translation
Close #13509
2023-05-07 14:23:26 +02:00
Christophe Mateos
76afd9284e [xml] Update french.xml 2023-05-07 14:19:29 +02:00
Regmos
c4563eddb2 Update danish.xml
Close #13495
2023-05-07 14:06:53 +02:00
Hugo Carvalho
17fcb4d3a0 [xml] Update portuguese.xml to v8.5.2
Close #13480
2023-05-07 13:52:05 +02:00
ozone10
052626ca99 GUI Enhancement: User Define dlgs
- 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
2023-05-07 05:50:58 +02:00
ozone10
2a21a042d1 Fix GCC warnings & add initializers
Fix #13603, close #13604
2023-05-06 05:58:58 +02:00
ozone10
2d5c241e2b Fix Change history margin in black color issue
Use Line number margin style color for Change history margin, if not defined in 'theme.xml'.

Fix #12764, fix #13593, close #13594
2023-05-04 05:03:49 +02:00
ozone10
6b194453b8 GUI Enhancement: Preference Print sub-dialog
- add initializers
- reorder controls for tab focus
- add accelerators
- make comboboxes larger
- replace variable static text with edit control
- fix override warnings

Fix #13601, fix #12812, close #13602
2023-05-04 04:25:57 +02:00
Don Ho
23a0cfb3aa Enhance shortcuts backup & warning
Commit 5b5c30b0d33f1aade36f7a270e60d52a1ff38613 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 & #13599

Close #13609
2023-05-04 04:11:54 +02:00
ozone10
7e6c4b3c6b GUI enhancement: MD5 and SHA256 Hash dialogs
- add accelerators
- add initializers
- optimize dark mod

Fix #13579, close #13580
2023-05-02 16:58:08 +02:00
ozone10
997ef821d1 GUI enhancement: Find Characters in Range dialog
- add accelerators
- add initializers

Fix #13577, close #13578
2023-05-02 04:58:52 +02:00
ozone10
61d2d36821 Make focus on edit field in Project panel File relocalizer dialog
- tab focus reorder
- optimize dark mod
- fix override warnings
- add initializer

Fix #13575, close #13576
2023-05-02 04:18:44 +02:00
Don Ho
5b5c30b0d3 Backup old version of shortcuts.xml
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
2023-05-01 19:26:28 +02:00
ArkadiuszMichalski
ecb10712c1 Improve "Remove consecutive duplicate lines" command performance
Rewrite "Remove consecutive duplicate lines" without using regex.

Fix #5538, fix #12548, close #13558
2023-05-01 12:58:26 +02:00
ozone10
5f2e93ee5f [XML] Update minimal MSVC version prerequisite
And fix markdown warnings.

Fix #13586, close #13591
2023-04-30 06:15:24 +02:00
ozone10
c585a1ab08 Fix incosistent key accelerator cue for groupbox in dark mode
Fix #13597, close #13598
2023-04-29 19:47:14 +02:00
ozone10
80b34f0adf Fix regression Run Macro Multiple Times cmd
Not changing times immediately from edit control.

Fix #13561, close #13563
2023-04-25 04:48:51 +02:00
Don Ho
c76f178534 Fix regression of macro recording
Fix #13565, close #13570
2023-04-23 15:16:52 +02:00
doug1234
2c6c556a3a Project Workspace "Save a Copy As" confusion issue
Fix #13135, close #13303
2023-04-22 15:39:51 +02:00
Don Ho
0457a112c7 Fix regression: Key-Combos in Shortcuts Mapper displayed incorrectly
Fix #13554
2023-04-21 20:36:29 +02:00
Alan Kilborn
bc7d6b26a4 Make input focus right in Shortcut dialog
Fix #13524, close #13526
2023-04-21 08:02:46 +02:00
ozone10
3cf45ec3a8 Reorder tab focus in Run dlg
Plus:
- add key accelerators.
- remove unneeded library.
- add initializers.

Fix #13540, close #13541
2023-04-21 07:55:57 +02:00
ArkadiuszMichalski
15decdb3d9 Make 'Remove consecutive duplicate lines' support more line break
Fix #13474, close #13519
2023-04-20 10:22:42 +02:00
ozone10
87e34c1f7b Enhance Run Macro dialog
- reorder tab focus.
- add key accelerators.
- optimize dark mode.

fix #13544, close #13545
2023-04-19 21:09:21 +02:00
Don Ho
1a1ce04caa Fix regression about empty combobox of Run macro dialog 2023-04-19 20:55:52 +02:00
ozone10
59c8689ff4 Fix warnings in WindowsDlg.cpp, .h files
And add initializers.

Fix #13542, close #13543
2023-04-19 19:26:15 +02:00
Andreas Falkenhahn
de618df55f Add Hollywood function list into installer
Close #13547
2023-04-19 15:22:07 +02:00
Don Ho
fff5f9b24c Add the UTF8 character ability for Run & Macro menu
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/13221#issuecomment-1457325172

Fix #12670, fix #13221, fix #13488, close #13538
2023-04-19 02:06:40 +02:00
Mathias Berchtold
ac5657d826 Add comment line symbol for gui4cli
gui4cli uses // to comment a line.

Close #13501
2023-04-13 08:17:43 +02:00
Don Ho
96b56f61f9 Fix saving wrong macro/run menu UTF8 folder name after commands modification
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
2023-04-13 05:14:26 +02:00
Don Ho
4934b46bd7 Fix UDL deletion issue
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
2023-04-13 05:10:03 +02:00
Don Ho
6d917af8ba Fix installer fails to update NppShell.dll
Fix #13496
2023-04-12 00:00:02 +02:00
Alan Kilborn
cca3eccea1 Fix RTL not working on FindInFiles progress window
Fix #13458, close #13490
2023-04-11 23:47:27 +02:00
ozone10
83b0b1e4ce Move uchardet file definitions from main project file to separate targets file
fix #13493, close #13494
2023-04-11 15:54:38 +02:00
ozone10
0cad36d636 Add hide/show ability of Control Characters (C0 & C1) and Unicode EOL
Fix #8111, close #13324
2023-04-11 15:35:35 +02:00
doug1234
81802e7d77 Fix search results output alignment for large file searches
Fix #13481, close #13482
2023-04-10 15:18:43 +02:00
Don Ho
14b215db76 Update slovenian.xml 2023-04-09 19:03:48 +02:00
ozone10
7ee85e8142 [xml] Add new guidelines, fix markdown warnings
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/13444#discussion_r1160284972

Close #13487
2023-04-08 14:11:09 +02:00
Don Ho
81db72afb3 Fix Column Editor OK button not disabled if Text-to-Insert is empty
Fix #13315
2023-04-06 23:43:08 +02:00
Don Ho
6326340ccb Remove unecessary file 2023-04-06 14:36:00 +02:00
Don Ho
28b45ccee4 Notepad++ v8.5.2 release 2023-04-06 14:12:52 +02:00
Don Ho
9ee9046be4 Add the definition of "DEBUGGING" 2023-04-04 17:11:00 +02:00
Hugo Carvalho
9d06762a71 [xml] Update portuguese.xml
Fix #13472
2023-04-04 15:32:44 +02:00
Karlo-F
9d94b29b7d [xml] Update croatian.xml to v8.5.2
Close #13471
2023-04-04 15:31:09 +02:00
xomx
a333e0bc13 [xml] Update czech.xml to v8.5.2
Close #13470
2023-04-04 15:29:25 +02:00
ArkadiuszMichalski
44a1a7d710 [xml] Update polish.xml to 8.5.2
Close #13469
2023-04-04 15:27:44 +02:00
~GOLEM~
b292e7e278 [xml] Update russian.xml v8.5.2
Close #13466
2023-04-04 15:25:06 +02:00
Sapziller
27600a7a66 Update korean translate (8.5.1)
Close #13400
2023-04-04 15:21:47 +02:00
ozone10
810ceacb49 Add dark mode to new column editor feature
Fix #13467, close #13468
2023-04-04 01:15:26 +02:00
Don Ho
0dff45568b Make uninstaller clean up better 2023-04-03 23:40:31 +02:00
Blackspirits
dbe1ab2ee3 Update Portuguese translation for Notepad++ 8.5.1
Close #13432
2023-04-02 16:44:11 +02:00
Hedman
193a19ccb2 Add PowerShell block comment style in HotFudgeSundae.xml
Fix #13271, close #13273
2023-04-02 16:38:30 +02:00
schnurlos
c2f18fb785 [xml] Update german.xml
Close #13409
2023-04-02 16:05:06 +02:00
Marcellomco
5518ec069a [xml] Update brazilian_portuguese.xml
Fix #13397, close #13398
2023-04-02 16:03:56 +02:00
kubalav
70d24706a5 [xml] Update Slovak translation
Close #13412
2023-04-02 16:01:06 +02:00
Alan Kilborn
c7e9440179 Turn off "Match Case" and "Whole Word" options by default in Find In Finder
Fix #13415, close #13427
2023-04-02 15:51:12 +02:00
rddim
ecf6eba681 [xml] Update Bulgarian localization
Close #13449
2023-04-02 15:35:27 +02:00
yasmise
ef7b9360a4 [xml] Update japanese.xml
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
2023-04-02 15:33:09 +02:00
Patriccollu
c96bcbd8b7 [xml] Update Corsican translation for Notepad++ 8.5.2
Close #13455
2023-04-02 15:31:25 +02:00
Christophe Mateos
a30daeb7f9 [xml] Update french.xml
Close #13463
2023-04-02 15:28:39 +02:00
Artem Polivanchuk
444c5e5a49 [xml] Update ukrainian.xml
Close #13462
2023-04-02 15:20:54 +02:00
Robert Di Pardo
38d23d36e9 [xml] Provide a default Dark Mode theme for MS Transact-SQL
Ref. https://community.notepad-plus-plus.org/post/85179

Close #13461
2023-04-02 14:33:46 +02:00
Juan
18b8c1248d [xml] Update galician.xml to v. 8.5.1
Close #13380
2023-04-02 04:55:35 +02:00
Juan
f8ce71a5c9 [xml] Update spanish.xml to v. 8.5.1
Close #13376
2023-04-02 04:53:23 +02:00
Matteo Concato
baef651e9c [xml] update Italian.xml v8.5.1
Close #13374
2023-04-02 04:52:05 +02:00
Karlo-F
959bb5db63 [xml] Update croatian.xml to v8.5.1
Close #13371
2023-04-02 04:49:22 +02:00
Emir SARI
bedc92d022 [XML] Update Turkish translations
Small improvements, that make it more in-line with the generally
accepted Turkish software l10n.

Close #13311
2023-04-02 04:47:04 +02:00
Karlo-F
778e1f568e Add show non-printable characters style in Deep Black theme
Close #13258
2023-04-02 03:29:32 +02:00
ozone10
37a18bf3b8 Fix dock panels visual glitch
The visual glitch is caused by 'Find in Search Results'.

Fix #13402, fix #13459
2023-04-02 02:35:55 +02:00
Don Ho
e28db05754 Fix "Edit with Notepad++" context menu needs restarting OS issue
Fix context menu disappears issue while update.

It works with https://github.com/notepad-plus-plus/nppShell/pull/14 to fix
https://github.com/notepad-plus-plus/nppShell/issues/13

It fixes also the added dependency of the service "Application Information".

Fix #13446, fix #13457
2023-04-01 23:59:38 +02:00
Alan Kilborn
508b3fabd6 Add hits in-progress increased number to Search Progress dialog
Fix #13364, close #13404
2023-03-31 00:12:24 +02:00
ozone10
7b4e700d49 Use the right size of icon in system tray
Fix #8971, close #13419
2023-03-30 15:29:22 +02:00
Bjarke Istrup Pedersen
2bcc32cb99 Cleanup old NppShell & adapt the new one in installer
Close #13411
2023-03-30 15:10:32 +02:00
Alan Kilborn
b54b9c49ce Remember "Bookmark Line" and "Purge" options in Mark dlg through the session
Fix #13277, close #13443
2023-03-30 02:36:59 +02:00
Alan Kilborn
a67a5f7170 Fix unexpected column jump post brace match
Fix #13433, close #13441
2023-03-30 02:31:10 +02:00
ozone10
24d3a69f0f Dark mode enhancement: make combobox focus more visible
Use focus rectangle for list combobox with focus.

Fix #13420, close #13421
2023-03-30 02:21:05 +02:00
doug1234
5e23a86179 Fix Mark dialog's Copy Marked Text button is not macroable issue
Fix #13405, close #13407
2023-03-30 02:13:48 +02:00
ozone10
7e4b281b8a GUI enhancement: use split button for find dlg swap/copy button
- Reorder controls for consistent tab switching.
- Fix visual glitch for checkbox button focus rectangles.

Fix #13368, fix #13021close #13372
2023-03-30 01:00:11 +02:00
Don Ho
d37c7c396a Fix value in config.xml does not match user's preference in Column Editor
Fix #13370
2023-03-28 18:09:02 +02:00
Don Ho
57667d136f Update Slovenian translation 2023-03-28 12:51:13 +02:00
Don Ho
641b6e71c2 Fix XML syntax error 2023-03-27 14:15:02 +02:00
Don Ho
a049009ba9 Add a philosophy quote 2023-03-27 03:21:41 +02:00
afalkenhahn
d21f7cbf5c Added Hollywood support
Close #13417
2023-03-26 23:39:47 +02:00
ozone10
9b67c93ef9 Add more items and HTML Hexadecilmal column to ASCII panel
Fix #13347, close #13348
2023-03-25 02:42:00 +01:00
Alan Kilborn
7f54a4b959 Add ability to do leading spaces with ColumnEditor
Fix #11148, fix #13309, close #13336
2023-03-25 02:33:09 +01:00
ozone10
1f96776757 Fix find dialog flicker
When using Select and Find cmds first time, and find dialog is not already created.

Fix #9536, fix #13381, close #13383
2023-03-24 21:14:59 +01:00
Don Ho
c59c07b4fa Notepad++ 8.5.1 release 2023-03-23 23:47:24 +01:00
Don Ho
9c15bdc236 Fix unregister modern context menu syntax error and remove concerning binaries during uninstallation 2023-03-20 00:37:44 +01:00
Bjarke Istrup Pedersen
e849406806 Fix cleanup jobs problem for context menus in uninstaller
Close #13373
2023-03-19 21:00:38 +01:00
Don Ho
eded6099b0 Make MS Trasact-SQL easier to be found in Style Configurator
Fix #13367
2023-03-19 19:02:57 +01:00
Don Ho
5645ca150b Integrer new Windows 11 Explorer Context Menu Entry "Edit with Notepad++" 2023-03-17 00:45:06 +01:00
Don Ho
9462238c0f Fix localization files structure error (already fixed in code) 2023-03-16 19:35:39 +01:00
Marcellomco
c838741f4d [xml] Update brazilian_portuguese.xml
Close #13359
2023-03-16 19:24:15 +01:00
xomx
b60231e1e6 [xml] Update czech.xml to v8.5.1
Close #13358
2023-03-16 19:07:30 +01:00
Bjarke Istrup Pedersen
ce4d374a47 Add Windows 11 context menu entry "Edit with Notepad++"
This commit implements the Windows 11 context menu using the correct way of having a DLL file and a sparse package.

Fix #13320, close #13330
2023-03-16 18:47:04 +01:00
~GOLEM~
7561864299 [xml] Update russian.xml to v8.5.1
Close #13356
2023-03-16 17:59:43 +01:00
schnurlos
626cc53209 [xml] Update german.xml
Close #13352
2023-03-16 17:56:54 +01:00
Patriccollu
8cd1559d4a [xml] Update Corsican translation for Notepad++ 8.5.1
Close #13340
2023-03-16 17:44:24 +01:00
yasmise
2fcdb6e6c5 [xml] Update japanese.xml
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
2023-03-16 17:33:49 +01:00
Matteo Concato
a5fdb42ede [xml] Update Italian.xml
Close #13326
2023-03-16 17:28:59 +01:00
Asx
669bbb2284 Update chineseSimplified.xml
Close #13310
2023-03-16 17:21:01 +01:00
kubalav
ccbc757a4b [xml] Update Slovak translation
Close #13300
2023-03-16 17:12:05 +01:00
rddim
d060b0f01a [xml] Update Bulgarian localization
Close #13299
2023-03-16 17:09:01 +01:00
Christophe Mateos
f9e1a0b398 [xml] updating French translation
Close #13298
2023-03-16 17:05:18 +01:00
Don Ho
e1e7196264 Add several spiritual quotes 2023-03-16 16:40:53 +01:00
zeltop
816fa3e414 Add GDScript language
Adds GDScript language support, autocomplete file, functionlist, default and dark themes.

Fix #13329, close #13335
2023-03-14 23:45:57 +01:00
Robert Di Pardo
01bbebf825 Add MS Transact-SQL
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.properties

Fix #5940, fix #7988, fix #11718, fix #12610, fix #13160, close #13184
2023-03-14 01:03:37 +01:00
Christian Grasser
feb454ad6f 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
2023-03-13 21:06:09 +01:00
Don Ho
12f649bf54 Add ability to copy "Find what" to "Replace with" and vice versa
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 #12195

Fix #12122, close #13332
2023-03-12 14:11:05 +01:00
Alan Kilborn
5251d8477a Code enhancement: remove unnecessary hidden lines separator marker
Let Scintilla manage hidden lines separator and free marker 17 for plugins use.

Fix #12109, close #13223
2023-03-11 02:03:04 +01:00
Don Ho
399a8f3020 Fix tipos
Close #13323
2023-03-09 18:56:07 +01:00
Don Ho
bf8b9e613e Fix x86 build error 2023-03-08 19:34:41 +01:00
Don Ho
36da61dc35 Code enhancement: remove some MSVS analysis warning (Part 5) 2023-03-08 18:35:02 +01:00
Don Ho
ab5d29b6fe Code enhancement: remove some MSVS analysis warning (Part 4) 2023-03-08 00:28:42 +01:00
Don Ho
f85435d962 Code enhancement: remove some MSVS analysis warning (Part 2) 2023-03-07 05:03:16 +01:00
Don HO
61d96cd971
Update CONTRIBUTING.md 2023-03-07 04:12:05 +01:00
Don Ho
0b6a8e2011 Fix an eventual crash and UDL empty button issue after changing language
The bug was inserted by the following commit:
4d217387f1

Fix #13228
2023-03-07 03:52:10 +01:00
Don Ho
25be5dd3b6 Code enhancement: remove some MSVS analysis warning (Part 2) 2023-03-06 19:33:36 +01:00
Don Ho
c8e4e671da Code enhancement: remove some MSVS analisis warning 2023-03-06 17:55:53 +01:00
ozone10
34545beddd Code enhancement: enable code analysis with custom rule set
Ref https://github.com/notepad-plus-plus/notepad-plus-plus/pull/13143#issuecomment-1434689064

Close #13168
2023-03-06 16:17:30 +01:00
ArkadiuszMichalski
52d3c36e35 Make tray icon context menu translatable
Fix #11628, close #13241
2023-03-06 15:49:55 +01:00
ozone10
b8291d4911 GUI visual enhancement: optimize dlg items redraw
Fix #13230, close #13231
2023-03-06 15:39:38 +01:00
ozone10
269e78bc1e Replace recent file ValueDlg with edit fields & fix DocSwitcher RTL problem
Remove ValueDlg class.

Fix #13244, fix #13248, close #13245
2023-03-06 14:44:50 +01:00
Don Ho
21a78ed035 Notepad++ release 8.5 2023-03-06 03:19:41 +01:00
Don Ho
f923940dcc Add more translation of 'Edit with Notepad++'
Close #13265
2023-03-05 22:48:39 +01:00
ArkadiuszMichalski
20f381e506 Add langCode for English and convert passed value to one format
Fix #8927, close #13272
2023-03-05 22:18:40 +01:00
ArkadiuszMichalski
dc0c8d6510 Fix visual glitch for UDL window when changing localization
Fix #10876, close #13242
2023-03-05 22:12:58 +01:00
Alan Kilborn
fa9504d595 Don't populate in Find what if a stream selection more than 1024 characters
Avoid auto-population into "Find What" if "In Selection" is going to be auto-checkmarked.

Fix #12603, close #12603
2023-03-05 20:24:43 +01:00
ArkadiuszMichalski
9c0e1e4559 Fix "Recent Files" menu lost translation
Fix #9343, close #13208
2023-03-05 20:14:41 +01:00
ArkadiuszMichalski
892ab0850f Fix untitled document number jumping or repeated problem
Fix #13194, fix #8677, fix #11704, close #13204
2023-03-05 20:06:47 +01:00
Karlo-F
7789c7daf5 [xml] Update croatian.xml to 8.5
Close #13257
2023-03-05 19:54:19 +01:00
Daniel Fuchs
d4f8aea5d2 Update german.xml to v8.5
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
2023-03-05 19:53:03 +01:00
Matteo Concato
e9e5f57f81 [xml] Update italian.xml
Close #13268
2023-03-05 19:17:07 +01:00
ArkadiuszMichalski
35dcffc33e [xml] Update polish.xml to 8.5
Close #13275
2023-03-05 18:47:23 +01:00
Sahid Ali Zakaria
9362e782d8 Update indonesian.xml to v8.5
Close #13282
2023-03-05 18:45:53 +01:00
ArkadiuszMichalski
568075beb5 Fix wrong value set in Preferences->Performance->"Define Large File Size"
Use correct type for file size variables.

Fix #13280, close #13290
2023-03-05 18:01:54 +01:00
Edditoria
081e8ad11b [xml] Update localization: Hong Kong Cantonese...
Close #13247
2023-02-26 23:14:56 +01:00
schnurlos
8a69ab841f [xml] Update german.xml
Close #13051
2023-02-26 21:07:40 +01:00
Thomas De Rocker
d660070ac1 Update dutch.xml
Close #13148
2023-02-26 21:06:13 +01:00
Juan
4648a25138 [xml] Update spanish.xml
Close #13239
2023-02-26 21:03:59 +01:00
Juan
e4b18fbcc7 [xml] Update galician.xml
Close #13240
2023-02-26 20:59:42 +01:00
Don Ho
cd64850ed8 Update SUPPORTED_SYSTEM.md for Vista & Server 2008
Fix #13074
2023-02-26 20:47:23 +01:00
Hugo Carvalho
055deeb4b5 [xml] Update portuguese.xml
close #13090
2023-02-26 01:39:16 +01:00
Don Ho
235b51af67 Merge branch 'ArkadiuszMichalski-fix_13228' 2023-02-25 18:39:15 +01:00
Don Ho
7c848e89e4 Merge branch 'fix_13228' of https://github.com/ArkadiuszMichalski/notepad-plus-plus into ArkadiuszMichalski-fix_13228 2023-02-25 18:39:04 +01:00
Christophe Mateos
7cc7bcf60a [xml] Update French translation file
Close #13225
2023-02-25 18:17:04 +01:00
yasmise
642a3493fb [xml] update japanese.xml
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
2023-02-25 17:38:00 +01:00
Don Ho
d4d4163cb3 Fix an eventual memory leak 2023-02-25 16:40:38 +01:00
ArkadiuszMichalski
4d217387f1 Fix Dock/Undock label when we change localization 2023-02-25 02:58:37 +01:00
Don Ho
b1e1361189 Updat the translation of 'Edit with Notepad++' 2023-02-25 02:36:48 +01:00
Juan
2939039dbe [xml] Update galician.xml to v8.5.0
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.
2023-02-25 01:27:25 +01:00
Patriccollu
07804a8288 [xml] Update Corsican translation for Notepad++ 8.5.0
Close #13059
2023-02-25 01:19:34 +01:00
kubalav
3abd500d70 [xml] Update Slovak translation
Close #13050
2023-02-25 01:17:03 +01:00
Marcellomco
dc611488e2 [xml] Update brazilian_portuguese.xml
Close #13049
2023-02-25 01:14:41 +01:00
A. Regnander
74101aa689 Update swedish.xml
Close #13025
2023-02-25 00:41:28 +01:00
Juan
2525c2d102 [xml] Update spanish.xml to v8.5.0
Close #13144
2023-02-25 00:27:27 +01:00
rddim
167e7fdd4f [xml] Update Bulgarian localization
Close #13169
2023-02-25 00:17:51 +01:00
ozone10
2bf50bc191 Add edit ctrl highlight on focus for incremental search & function panel
- Enable edit control highlight for incremental search and function panel
- add initializers

Fix #13187, close #13187
2023-02-24 23:49:42 +01:00
~GOLEM~
8444f85c1c [xml] Update russian.xml for v8.5.0
Close #13102
2023-02-24 20:26:28 +01:00
Matteo Concato
130ccd81fc [XML] update italian.xml v.8.5.0
Close #13165
2023-02-24 18:08:46 +01:00
xomx
5a886fd60b [xml] Update czech.xml to v8.5
Close #13218
2023-02-24 17:57:56 +01:00
ArkadiuszMichalski
cbb1375f65 CI enhancement: Add ini files to exclusions
Close #13217
2023-02-24 17:07:42 +01:00
ArkadiuszMichalski
bb260a15d7 [xml] Update polish.xml to 8.5
Close #13215
2023-02-24 16:51:16 +01:00
xomx
e819b6d392 Czech translation of context menu entry
translation for #13201

Close #13212
2023-02-24 16:48:48 +01:00
Don Ho
99e7c5a84c Set english.xml version right 2023-02-24 02:59:43 +01:00
ozone10
8b3f072a38 GUI enhancement: use edit field instead of tab size link + mini dlg
Fix #11695, fix #13176, close #13177
2023-02-24 01:58:40 +01:00
ozone10
ea008dc29d Fix regression about search progress window visual glitch
Fix #13185, close #13189
2023-02-24 01:21:03 +01:00
ArkadiuszMichalski
0649ca9c57 [xml] Add RETURNING keyword to SQL
Fix #3536, close #13195
2023-02-24 00:51:29 +01:00
ArkadiuszMichalski
a689635037 Make "Cannot open file" message translatable
Fix #13175, close #13190
2023-02-24 00:49:49 +01:00
Matteo Concato
81b41be647 Translate explorer context menu "Edit with Notepad++" in Italian
Close #13206
2023-02-23 22:26:29 +01:00
rddim
96030fe833 Add Bulgarian context menu entry
Close #13205
2023-02-23 21:10:05 +01:00
Don Ho
a0031159cd Add new explorer context menu entry "Edit with Notepad++" for W11
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
2023-02-23 15:17:46 +01:00
Alan Kilborn
b077c58b5d Make volatile Find uses least-strict option settings
Fix #13145, close #13159
2023-02-23 02:59:00 +01:00
mpheath
4fd972cda3 Auto-completion enhancement: reduce duplicate items in function/word list
Fix #13061, close #13098
2023-02-23 02:07:25 +01:00
Alan Kilborn
1b65cc0104 Make Select and Find (Next or Previous) always in Normal search mode
Fix #3229, close #13155
2023-02-21 18:46:20 +01:00
ArkadiuszMichalski
3f3aed43ed Rename commanfd "Remove Unmarked Lines" to "Remove Non-Bookmarked Lines"
Fix 5502; close #13149
2023-02-21 16:05:01 +01:00
ArkadiuszMichalski
a0caaf83e3 [xml] Add more pseudo-classes to CSS
Fix #10517, close #13156
2023-02-21 04:25:24 +01:00
Christian Grasser
b9ab516c2c Code enhancement: fix clang warnings
- reduced visibility of tagMaxLen to AutoCompletion.cpp
- fixed missing init of BoostRegexSearch::_lastDirection, adapted also _substituted
- removed unused vars Printer::_nbPageTotal, FunctionListPanel::_hTreeViewImaLst
- fileBrowser.cpp(511,35): warning : equality comparison with extraneous parentheses [-Wparentheses-equality]
- ProjectPanel.cpp(595,35): warning : equality comparison with extraneous parentheses [-Wparentheses-equality]
- removed unused methods IsStateComment(), IsStateString() from LexObjC.cxx
- removed unused var KEYWORD_FOLDCONTRACTED from LexObjC.cxx

Close #13167
2023-02-21 02:24:33 +01:00
Alan Kilborn
5c10f58212 Fix hit text in search results being out of sight issue
Fix #13129, close #13138
2023-02-21 02:09:04 +01:00
ozone10
caff51c788 GUI enhancement: replace auto-complete link mini dlg with slider
Fix #13162, close #13163
2023-02-21 01:05:12 +01:00
Alan Kilborn
5e2f5d79aa Code enhancement: correct parameter error to call of doOpen
Fix #13150, close #13158
2023-02-20 23:21:59 +01:00
ozone10
d30b789d67 Add support for non-printing char in main Search Result dock window
ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/13020#issuecomment-1430034599

Close #13128
2023-02-20 17:20:04 +01:00
ozone10
278f694f3a Code enhancement: fix GCC implicit-fallthrough warnings
Fix #13142, close #13143
2023-02-17 15:00:53 +01:00
ArkadiuszMichalski
9627494043 Fix translation issue for Dock/Undock label in User-Defined dialog
Fix 8020, close #13127
2023-02-16 14:30:47 +01:00
ozone10
4a4f96cefc Code enhancement: Fix GCC warnings
- fix conversion warnings
- fix missing-field-initializers warnings
- fix unused-parameter warnings
- fix deprecated-copy warnings
- add initializers

Fix #13122, close #13123
2023-02-15 21:06:38 +01:00
Christian Grasser
e163c6d0aa Code enhancement: Secure overloads
- use  _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES, like in scintilla, see description in msdn https://msdn.microsoft.com/de-de/library/ms175759.aspx
- enable SDLCheck https://learn.microsoft.com/en-us/cpp/build/reference/sdl-enable-additional-security-checks?view=msvc-170

Close #13104
2023-02-15 15:19:37 +01:00
Don Ho
52c850de74 Fix a minor GUI glitch in Preferences lg
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/13075#issuecomment-1429515246
2023-02-14 19:00:39 +01:00
ArkadiuszMichalski
f403b12264 Make Context menu in Shortcut Mapper (Modify, Delete, Clear) translatable
Fix one of issues in https://github.com/notepad-plus-plus/notepad-plus-plus/issues/8972

Close #13120
2023-02-14 17:41:02 +01:00
ArkadiuszMichalski
d2ba9cae0e Add keywords and functions of PHP
Fix #13012, fix #9897, close #13111
2023-02-14 16:59:15 +01:00
ozone10
37963ea21a Apply tab colors to document list items
and add groups to document list.

Fix #12155, fix #12689, cllose #13080
2023-02-14 14:15:13 +01:00
ArkadiuszMichalski
0c704fd66b Make theme warning message translatable (switching unsaved theme to another)
Fix report from comment: #8972 (comment).

Close #13112
2023-02-14 04:37:01 +01:00
ArkadiuszMichalski
f7fcab4c21 Make categories in the Shortcut Mapper dialog translatable
Fix #8858, close #13110
2023-02-14 04:19:19 +01:00
ozone10
63ba30cfe1 Code enhancement: add -Wextra flag for GCC builds
- 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
2023-02-13 23:55:35 +01:00
Alan Kilborn
dbd0c43dd1 Fix missing translation for the context menu items
Fix tab-bar-drag-to-edit-area move-and-clone ("Move to Other View" and "Clone to Other View") menu items not translating.

Fix #13088, close #13097
2023-02-13 17:27:49 +01:00
ArkadiuszMichalski
3f13957f69 Make two items in progress dialog translatable
Fix part of #8004, close  #13096
2023-02-12 18:30:33 +01:00
Christian Grasser
43182e1d04 Update to Scintilla 5.3.3 and Lexilla 5.2.2
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
2023-02-12 17:11:57 +01:00
mpheath
9eab1f566d Add option to make auto-completion list brief
Add filter and recall autocomplete option, so list will be shorter and shorter by adding characters.

Fix #12783, close #13075
2023-02-12 03:01:56 +01:00
Don Ho
03a5c4795b Add new notification for lexer plugin
The NPPN_EXTERNALLEXERBUFFER is sent to plugins with buffer ID (idFrom) when a new lexer is applied to the buffer in question.

Fix #12351, close #13091
2023-02-11 19:20:57 +01:00
Don Ho
4d107e2691 Close doc in document list on middle mouse button up
In 94b83158dcd00d7e705d87aa95f16f8773cc70c0, 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).
2023-02-11 18:53:58 +01:00
Rubat
94b83158dc Add middle mouse click ability to close doc in Document List
Documents are closed on middle mouse click down.

Fix #12949, close #13015
2023-02-11 18:49:13 +01:00
Alan Kilborn
0d9b16634d Fix Synch H/V Scrolling commands not sync with 2 views
Fix #5250, fix #13071, close #13069
2023-02-08 01:59:21 +01:00
mpheath
9285bf2d42 Fix missing items in word autocomplete
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
2023-02-07 16:03:48 +01:00
ozone10
f38195a0da Fix GCC conversion warnings
Fix #13055, close #13056
2023-02-06 20:06:56 +01:00
ozone10
296a168b3f Fix Doc Switcher bottom cut off regression
Fix #13053, close #13054
2023-02-06 19:56:41 +01:00
ArkadiuszMichalski
43d9f0d665 Translate 'Compact Language Menu' popup dialog
Fix #13026, close #13035
2023-02-06 19:37:06 +01:00
ozone10
dc99ce1035 Make Non-Print Characters show by default
Add NEL and ALM to NPC, and add note to not translate npc custom color stylename.

Close #13063
2023-02-06 19:30:14 +01:00
Don Ho
39f32bda96 Fix panels not restored from systemtray with "Edit with Notepad++" in admin mode
Continue the fix from:
afacc8338e

Eventualy fix Notepad++ not being restored on the foreground issue.

Fix #13041, close #13058
2023-02-06 15:47:22 +01:00
ozone10
aaab190763 Add show non-printable characters command
| Name                         | Codepoint | Abbreviation |
|------------------------------|-----------|--------------|
| No-Break Space               | U+00A0    | NBSP         |
| Ogham Space Mark             | U+1680    | OSPM         |
| Mongolian Vowel Separator    | U+180E    | MVS          |
| En Quad                      | U+2000    | NQSP         |
| Em Quad                      | U+2001    | MQSP         |
| En Space                     | U+2002    | ENSP         |
| Em Space                     | U+2003    | EMSP         |
| Three-Per-Em Space           | U+2004    | 3/MSP        |
| Four-Per-Em Space            | U+2005    | 4/MSP        |
| Six-Per-Em Space             | U+2006    | 6/MSP        |
| Figure Space                 | U+2007    | FSP          |
| Punctation Space             | U+2008    | PSP          |
| Thin Space                   | U+2009    | THSP         |
| Hair Space                   | U+200A    | HSP          |
| Zero-Width Space             | U+200B    | ZWSP         |
| Zero-Width Non-Joiner        | U+200C    | ZWNJ         |
| Zero-Width Joiner            | U+200D    | ZWJ          |
| Left-To-Right Mark           | U+200E    | LRM          |
| Right-To-Left Mark           | U+200F    | RLM          |
| Line Separator               | U+2028    | LS           |
| Paragraph Separator          | U+2029    | PS           |
| Left-To-Right Embedding      | U+202A    | LRE          |
| Right-To-Left Embedding      | U+202B    | RLE          |
| Pop Directional Formatting   | U+202C    | PDF          |
| Left-To-Right Override       | U+202D    | LRO          |
| Right-To-Left Override       | U+202E    | RLO          |
| Narrow No-Break Space        | U+202F    | NNBSP        |
| Medium Mathematical Space    | U+205F    | MMSP         |
| Word Joiner                  | U+2060    | WJ           |
| Left-To-Right Isolate        | U+2066    | LRI          |
| Right-To-Left Isolate        | U+2067    | RLI          |
| First Strong Isolate         | U+2068    | FSI          |
| Pop Directional Isolate      | U+2069    | PDI          |
| Inhibit Symmetric Swapping   | U+206A    | ISS          |
| Activate Symmetric Swapping  | U+206B    | ASS          |
| Inhibit Arabic Form Shaping  | U+206C    | IAFS         |
| Activate Arabic Form Shaping | U+206D    | AAFS         |
| National Digit Shapes        | U+206E    | NADS         |
| Nominal Digit Shapes         | U+206F    | NODS         |
| Ideographic Space            | U+3000    | IDSP         |
| Zero-Width No-Break Space    | U+FEFF    | ZWNBSP       |

Fix also issue with tooltips in preference dialog, when changing between dark/light mode.

Fix #827, fix #4731, fix #8284, close #13020
2023-02-05 04:20:25 +01:00
Alan Kilborn
07924528c4 Add Begin/End Select in Column Mode command
Fix #12833, fix #12832, close #13034
2023-02-04 04:46:24 +01:00
Don Ho
5aeb8abb5d Fix notepad replacement opening file name containing white space regression
Fix #13032, close #13027
2023-02-02 20:35:45 +01:00
Andreas Heim
5014edfacc Fix some issues in Pascal/Delphi function list parser
Fix #12851, close #12852
2023-02-02 18:38:40 +01:00
mpheath
62a23a8dc7 Fix autocomplete to sort case insensitive issue
Fix #12495, close #12703
2023-02-01 02:04:23 +01:00
Rubat
afacc8338e Fixed dock-able panels not restoring for mono instances
The bug happens when Notepad++ is in the tray, and is restored via mono instance restore mechanism.

Fixes #9454, close #12817
2023-01-31 20:04:03 +01:00
ozone10
05977f6308 Get full product name for debug info for Windows 11
Make it consistent with earlier version of Windows.

Fix #12855, close #12856
2023-01-31 19:58:32 +01:00
ozone10
e003f5b45f Code enhancement: Use dlg resource parameters instead of reSizeTo
Fix #12857, close #12858
2023-01-31 19:54:14 +01:00
Don Ho
409c363e1a Notepad++ v8.4.9 release 2023-01-31 12:55:51 +01:00
ArkadiuszMichalski
92db94a359 [xml] Update polish.xml to 8.4.9
Close #12846
2023-01-27 02:52:38 +01:00
Edditoria
277ea770fe [xml] Update localization: Hong Kong Cantonese...
As at commit f526567 of this repo.
This is a minor update for better presentation.

Close #12848
2023-01-27 02:50:50 +01:00
Karlo-F
e302ea2c9f [xml] Update croatian.xml to 8.4.9
Close #12850
2023-01-27 02:48:37 +01:00
Don Ho
6e7901ecb3 Fix folder display mess in non-western languges under Macro/Run menu
Fix #12670
2023-01-26 23:32:51 +01:00
Latt Hsiang
f526567f70 Update chineseSimplified.xml
Retranslated "Function Completion" and "Word Completion"

Close #12798
2023-01-23 21:29:42 +01:00
Tmp341
4fa9aae254 Update Turkish localization
* According to 81a77f1 and 307fd2f commits.

Close #12838
2023-01-23 21:27:30 +01:00
Andreas Heim
7dab5735c3 Update german.xml
Fix #12839, close #12840
2023-01-23 15:55:34 +01:00
Tmp341
0d22c4d867 Update Turkish localization
* Checked diff between 9809e2f and aa8ae48 commits via [Compare](9809e2f..aa8ae48 (diff-a6ac7ceba70d88bf1547fd1defd760bd55052dcdb78c44f9d46d99ef1f450472)).

Close #12718
2023-01-23 04:23:43 +01:00
schnurlos
e8422ec9d9 [xml] Update german.xml to v8.4.9
Fix some text & missing entries.
Included https://github.com/notepad-plus-plus/notepad-plus-plus/pull/12710 from Karlo-F

Close #12728
2023-01-23 04:22:28 +01:00
kubalav
8673880621 [xml] Update Slovak translation
Close #12732
2023-01-23 04:21:02 +01:00
rddim
ee805cadb1 [xml] Update Bulgarian localization
Close #12734
2023-01-23 04:18:35 +01:00
Christophe Mateos
80f8540d1c [xml] Update french.xml
Close #12733
2023-01-23 04:17:08 +01:00
Marcello-mco
e995980349 [xml] Update brazilian_portuguese.xml
Translation for "Add setting for panels to ignore '-nosession' "

Close #12735
2023-01-23 04:15:47 +01:00
Patriccollu
31e2491c2f Update Corsican translation for Notepad++ 8.4.9
Close #12741
2023-01-23 04:13:25 +01:00
~GOLEM~
2402871419 [xml] russian.xml update v8.4.9
Close #12746
2023-01-23 04:11:51 +01:00
yasmise
f351f83290 [xml] update japanese.xml to v8.4.9
Add translations for these commits:
* Add support selection for "EOL to Space" commands (81a77f13a6446cd4e87d34884b5427d2e0595844)
* Add setting for panels to ignore '-nosession' (307fd2fcd2d4dd7a626092e6e1dc1a0467b596f5)

Close #12750
2023-01-23 04:10:24 +01:00
Edditoria
1a85a3d7d6 [xml] Update localization: Hong Kong Cantonese...
As at commit 13dfaa9 of this repo.

Close #12770
2023-01-23 04:05:58 +01:00
Hugo Carvalho
88b303f120 [xml] Update portuguese.xml
For commits: 81a77f13a6446cd4e87d34884b5427d2e0595844 307fd2fcd2d4dd7a626092e6e1dc1a0467b596f5
Other minor corrections

Close #12786
2023-01-23 04:03:51 +01:00
doufu3344
d8a3ea135d Update chineseSimplified.xml
Close #12793
2023-01-23 04:01:38 +01:00
Don Ho
01661acbaa Fix un uncomment undo regression
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/12830#issuecomment-1399538801

Fix #12830
2023-01-22 18:31:28 +01:00
Don Ho
eabf5d76c5 Fix cannot undo "Block Uncomment" command in one shot
Fix #12830
2023-01-22 15:55:30 +01:00
Don Ho
04f38a7af0 Fix undo "Insert Date/Time" needs 2 times to get old data back issue
Fix #12831
2023-01-22 03:56:43 +01:00
Don Ho
535bd8fa0e Use wide char version's function directely (part3)
ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/12613#discussion_r1045153278
2023-01-21 21:28:23 +01:00
ozone10
8add866460 Code enhancement: use conformant code
Fix #12818, close #12819
2023-01-21 04:32:56 +01:00
ArkadiuszMichalski
f8593916a9 Fix CI problem: Some commits are treated as "XML changes only
Use more precise path inside $folders_onejob.

Fix #12810, close #12813
2023-01-20 15:13:03 +01:00
Don Ho
63d1bbae78 Fix v8.4.8 hanging while opening some Pascal files
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/12822#issuecomment-1397862706

Fix #12822
2023-01-20 05:05:54 +01:00
Don Ho
6140865351 Use wide char version's function directely (part2)
ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/12613#discussion_r1045153278
2023-01-19 04:12:29 +01:00
Don Ho
432dcb7f15 Use wide char version's function directely (part1)
ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/12613#discussion_r1045153278
2023-01-19 02:52:23 +01:00
Andreas Heim
d476a894c2 Make Pascal/Delphi functionList more efficient and more reliable
Fix #12808, close #12811
2023-01-17 16:58:54 +01:00
Don Ho
b280db88dc Add more unit tests for function list
Following the commit 7fad2a62d4
2023-01-17 15:35:38 +01:00
mpheath
7fad2a62d4 Fix exclude functions in comment zones of function list
Fix exclude functions in comment zones in C++, PHP, JavaScript and Pascal.

Fix #12759 (partially - issue 1 & issue 2), close #12799
2023-01-17 02:29:12 +01:00
ArkadiuszMichalski
1652236f32 Add selection support to TAB and Space conversion commands
Fix #12720, fix #12745, close #12739
2023-01-14 17:15:42 +01:00
Don Ho
6c3659fe73 Fix Notepad Replacement bug by simplifying its code
Fix #12775, close #12800
2023-01-14 15:30:31 +01:00
Don Ho
df658a6010 Refactoring: make code more readable 2023-01-13 14:42:29 +01:00
ozone10
662b54e28a Add property sheet in VS project and clean project file
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/12773#discussion_r1064351459

Fix #12790, close #12791
2023-01-11 18:34:01 +01:00
ozone10
6078ec7369 Replace macro min/max with std::min/std::max
ref https://github.com/notepad-plus-plus/notepad-plus-plus/issues/11147#issuecomment-1365724574

Close #12784
2023-01-10 21:01:36 +01:00
ozone10
0742410737 Use predefined cursor (hand) for link text
Fix #12772, close #12773
2023-01-10 00:38:00 +01:00
ozone10
b3934afd92 Fix Notpad++ hangs while deleting search results results
When deleting search results use setLexer only when lexer is SCLEX_NULL.

Fix #12555, clos #12765
2023-01-08 02:51:06 +01:00
ozone10
17eba0a374 Fix docking GUI for plugin in light mode
Improve also combobox "v" position in hiDPI.

Fix #12007, close #12754
2023-01-07 14:19:24 +01:00
VinsWorldcom
fd84de1ee4 Fix some incoherent upper/lower case in coffee.xml
Fix lowercase keyWord to proper uppercase KeyWord in APIs/coffee.xml file.

Fix #12762, close #12763
2023-01-06 19:25:11 +01:00
Don Ho
bdb06d5c10 Add JSON5 support
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
2023-01-06 14:25:19 +01:00
ArkadiuszMichalski
13dfaa96a8 Add -Wconversion flag to makefile
Fix #12740, close #12747
2023-01-03 01:23:30 +01:00
Andreas Heim
3596517894 Pascal function list parser enhancement
Prevent in function list panel entries of procedure/function declarations placed in interface section of a Pascal unit as they are superfluous duplicates.

Fix #12693, fix #12687, close #12686, close #12694
2023-01-02 17:27:17 +01:00
ozone10
3da880b4f8 Align edge with tab (dark mode)
1. Draw frame around tabs in multi-line state (dark mode).
2. Adjust padding for hiDPI.
3. Add initializers.

Fix #12737, close #12738
2023-01-01 13:24:27 +01:00
xomx
c63c0035f3 Fix saving 4GB+ files file size cutting off issue
This commit fixes invalid 64-bit to 32-bit castings of filesize integers.

Fix #12526, close #12736
2022-12-31 17:52:20 +01:00
ozone10
307fd2fcd2 Add setting for panels to ignore '-nosession'
Fix #9710, close #12699
2022-12-30 20:08:10 +01:00
ArkadiuszMichalski
81a77f13a6 Add support selection for "EOL to Space" commands
And rename "Remove Unnecessary Blank and EOL" command to "Trim both and EOL to Space".

Fix #12702, close #12711
2022-12-30 17:26:15 +01:00
Don Ho
3ee8660c23 Replace N++ by Notepad++ and fix some typos
Fix also function "getWinVersionStr" not returning "Windows 11":
https://github.com/notepad-plus-plus/notepad-plus-plus/pull/12722#discussion_r1058510340

Fix #12708, fix #12709
2022-12-29 15:38:20 +01:00
ozone10
50e95d2267 Code enhancement: Replace undocumented functions
Fix #12721, close #12722
2022-12-29 15:11:05 +01:00
ozone10
6a8a446eb6 Add dark mode to project panel file relocalizer dlg
Fix #12713, close #12714
2022-12-28 18:08:12 +01:00
ArkadiuszMichalski
3022a2ee2d [xml] Add .psd1 as recognized file extension for PowerShell
Fix #9912, close #12719
2022-12-28 16:47:56 +01:00
ArkadiuszMichalski
1d6fe3ff42 [xml][force compile] Add toolbarIcons.xml to the build process
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/12682#issuecomment-1365151173

Close #12712
2022-12-27 19:20:06 +01:00
ozone10
dc3fd93f5a Fix doc switcher not using other icon sets
And add initializers.

Fix #12242, close #12701
2022-12-27 15:16:22 +01:00
ArkadiuszMichalski
d87e996ff2 [xml] Add .mjs as recognized file extension for JavaScript
Fix #10746, close #12704
2022-12-27 02:39:19 +01:00
ozone10
d1565a4705 Fix memory leak, fix warnings, replace GetWindowLong with GetWindowLongPtr
Fix #12697, close #12698
2022-12-26 20:23:19 +01:00
ozone10
2fb7da73d7 Remove "stylerTheme" attribute in config.xml
Fix #12685, close #12691
2022-12-26 15:20:16 +01:00
ArkadiuszMichalski
7fd8eb7f80 [xml] Update VBA keywords
Fix #9389, close #12683
2022-12-26 14:45:07 +01:00
ArkadiuszMichalski
5a1e0898ca Add two missing xml files to makefile
Close #12682
2022-12-26 14:05:38 +01:00
ozone10
90af76353e Fix gcc warnings
Fix #12675, close #12676
2022-12-26 12:01:33 +01:00
Coises
5719558588 Fix sorting not stable issue
Use std::stable_sort instead of std::sort for column selection sorts.

Fix #12678, close #12680
2022-12-26 02:53:13 +01:00
ArkadiuszMichalski
3f0f6a2295 Fix trim operations for selection lines not working issue
Fix #12602, fix #12658, close #12655
2022-12-25 23:37:55 +01:00
ArkadiuszMichalski
ad6b9085dd Fix XML tag-matching not be case-sensitive
Make XML and XHTML tag matching case-sensitive.

Fix #10011, close #12688
2022-12-25 22:49:11 +01:00
Don Ho
3d1aa408dd Enlarge items window in Preferences dialog for better translation display 2022-12-25 18:57:34 +01:00
Don Ho
ac8782db13 Notepad++ 8.4.8 release 2022-12-24 20:58:03 +01:00
Don Ho
13ddc1a339 Fix changing INI styles not working regression
Fix #12696
2022-12-24 17:46:23 +01:00
Don Ho
11f7ba2e0a Fix a typo 2022-12-22 00:12:19 +01:00
Don Ho
529693a559 Add forgotten files into the binary packages 2022-12-21 23:52:53 +01:00
ozone10
caa4827e18 Fix search result not applying new theme
Fix #12588, close #12672
2022-12-20 17:51:34 +01:00
ccuser44
4ae6736c99 Update lua.xml
Remove API which doesn't belong to official LUA, add new LUA API.

Close #12657
2022-12-20 17:15:10 +01:00
ozone10
f10753d2da Make theme portable
Fix 6518f3e4b8 (commitcomment-93601484)

Close #12671
2022-12-20 15:12:53 +01:00
Don Ho
58416114da Add tabContextMenu_example.xml into binary packages 2022-12-19 03:34:24 +01:00
ozone10
3bd262c7ce Add dark autocompletion icons for dark themes
Fix #12549, close #12667
2022-12-19 00:56:57 +01:00
ozone10
be98609801 Fix autocomplete/calltip colors not applied when changing themes
Fix #12514, close #12666
2022-12-19 00:25:45 +01:00
Karlo-F
3012cb192a [xml] Update croatian.xml
Updated croatian.xml to 8.4.8.

Close #12660
2022-12-18 22:26:47 +01:00
ozone10
6518f3e4b8 Fix theme not changed issue after switching dark/light mode in some cases
1. Fix custom theme (in %APPDATA%) not changing if it is not in default theme dir (in the installation location).
2. Fix default dark theme not applied in dark mode if config is missing (For example, the 1st launch of Notepad++ after its installation).
3. Fix theme not working in cloud issue and portable mode.

Fix #6092, fix #10801, fix #12296, close #12662
2022-12-18 22:15:53 +01:00
Don Ho
a0c41cc5a5 Revert "Fix Trim Operations not working on selection"
This reverts commit bf34ef0dd568b792627813a4445adf649a5c5ba6 due to bug https://github.com/notepad-plus-plus/notepad-plus-plus/issues/12658
2022-12-18 21:24:24 +01:00
Edditoria
4f7f48a6af Update localization: Hong Kong Cantonese
As at commit 3fcad98 of this repo.

Close #12567
2022-12-16 17:41:21 +01:00
rddim
6a853d7f47 Update Bulgarian localization
Close #12596
2022-12-16 17:38:27 +01:00
Marcello-mco
ef1cbbc7d6 [xml] Update brazilian_portuguese.xml
Close #12516
2022-12-16 14:16:48 +01:00
Don Ho
0fe063605e [xml] Add comment to help reorganizing Macro & Run menu 2022-12-16 14:11:29 +01:00
vlakoff
1a5bd265e5 [xml] Fix some enties in PHP autocompletion
Close #12641
2022-12-16 12:07:59 +01:00
yasmise
264082145a [xml] update japanese.xml to v8.4.8
Add translations for these commits:
* Add localization for Length label in the Customize Maximum Length popup (bc1487881ab15f3d5e5bc6c3fb06ff8168b5fdea)
* Update localization files (11ccc415e71cdd3674dac2595479302452965121)
* Fix localization files (3fcad98883bd719b6be63f234648f5712018548f)
* Fix inconsistencies at OS-forced Notepad++ (v8.4.7) exit (bd4c323d75bbe9a565e9bc31bb522133d78421a6)
* Make tab context menu customizable (aa8ae48b9946d0a26b1e51564246bb1dc981a827)

Close #12542

Also some fix to remove useless space characters.
2022-12-16 11:56:04 +01:00
ArkadiuszMichalski
901f62f948 [xml] Update polish.xml to 8.4.8
Close #12653
2022-12-16 02:50:58 +01:00
ArkadiuszMichalski
cf158689f7 Add Go to settings for "Change History margin" style in Style Configurator
Close #12650
2022-12-16 01:01:38 +01:00
Hugo Carvalho
4f7ae29bfa [xml] Update portuguese.xml
Close #12599
2022-12-16 00:44:06 +01:00
ArkadiuszMichalski
e45c1fc322 [xml] Fix disabled options activated in themes issue
Don't use non-working attributes for WidgetStyle in themes.

Fix #12508, close #12635
2022-12-16 00:24:27 +01:00
xomx
166b9b5c45 [xml] Update czech.xml to v848
Close #12652
2022-12-16 00:06:20 +01:00
Artem Polivanchuk
83dcf5d575 [xml] Update ukrainian.xml
Close #12276
2022-12-16 00:05:12 +01:00
schnurlos
d89f338953 [xml] Update german.xml to v8.4.8
Close #12543
2022-12-16 00:02:05 +01:00
Patriccollu
1b22df5391 [xml] Update Corsican translation for Notepad++ 8.4.8
Close #12561
2022-12-15 23:59:08 +01:00
Christophe Mateos
df911511ac [xml] Update french.xml
Close #12590
2022-12-15 23:56:16 +01:00
~GOLEM~
b97305517a [xml] Update russian.xml to v 8.4.8
Close #12601
2022-12-15 23:52:58 +01:00
ArkadiuszMichalski
4276165bbd Fix themes' inconsistent behaviour after saving
Don't write the fontStyle attribute in the theme if it doesn't exist.

Fix #12642, close #12644
2022-12-15 23:50:11 +01:00
kubalav
109ad868b3 Update Slovak translation
Close #12515
2022-12-15 18:13:59 +01:00
Juan
be2c1bfbce Update spanish.xml to v8.4.7
Close #12573
2022-12-15 18:10:08 +01:00
Juan
9752c9e103 Update galician.xml v 8.4.7
Close #12572
2022-12-15 18:05:38 +01:00
ArkadiuszMichalski
e75bd80693 Fix Go to settings for URL hovered style
Close #12634
2022-12-15 17:13:31 +01:00
Don Ho
c0e2073280 Enhance Properties file: add/improve the syntax folding/highlighting
And make the description more accurate on status bar.

Ref:
3fb9c7195f (r93126447)
2022-12-15 16:21:54 +01:00
Christian Grasser
fc61868cf2 Update to Scintilla 5.3.2 and Lexilla 5.2.1
update to https://www.scintilla.org/scintilla532.zip with:

    Released 6 December 2022.
    Add SCI_REPLACETARGETMINIMAL to change text without causing unchanged prefix and suffix to be marked as modified in change history.
    Draw background colour for EOL annotations with standard and boxed visuals.
    Add SCI_GETSTYLEDTEXTFULL to support 64-bit document positions on Win32 replacing SCI_GETSTYLEDTEXT which is not safe for huge documents. Feature #1455.
    Send SCN_AUTOCCOMPLETED for SCI_AUTOCSHOW triggering insertion because of SCI_AUTOCSETCHOOSESINGLE mode. Feature #1459.
    Change 'paragraph up' commands SCI_PARAUP and SCI_PARAUPEXTEND to go to the start position of the paragraph containing the caret. Only if the caret is already at the start of the paragraph will it go to the start of the previous paragraph. Bug #2363.
    Change release compilation optimization option to favour speed over space. -O2 for MSVC and -O3 for gcc and clang.
    On Win32, avoid blurry display with DirectWrite in GDI scaling mode. Bug #2344.
    On Win32, use the top-level window to find the monitor for DirectWrite rendering parameters. Temporarily switch DPI awareness to find correct monitor in GDI scaling mode. Bug #2344.
    On Qt, implement SCI_SETRECTANGULARSELECTIONMODIFIER for all platforms.
    On Qt, allow string form XPM images for SCI_REGISTERIMAGE.

and https://www.scintilla.org/lexilla521.zip with

    Released 6 December 2022.
    Update to Unicode 14. Feature #1461.
    Change default compilation optimization option to favour speed over space. -O2 for MSVC and -O3 for gcc and clang.
    Batch: Fix comments starting inside strings. Issue #115.
    F#: Lex signed numeric literals more accurately. Issue #110, Issue #111.
    F#: Add specifiers for 64-bit integer and floating point literals. Issue #112.
    Markdown: Stop styling numbers at line start in PRECHAR style. Issue #117.
    PowerShell: Recognise numeric literals more accurately. Issue #118.

Close #12624
2022-12-15 13:11:17 +01:00
Don Ho
27e19089d2 [xml] Fix xml syntax error 2022-12-15 02:08:31 +01:00
Don Ho
3fb9c7195f Add more keywords and file extentions for languages 2022-12-15 00:56:29 +01:00
Biswapriyo Nath
41ebf9a2ba Make some git related files apply to ini syntax automatically
This .gitconfig file syntax is as similar as .ini file
as documented here[1]. gitmodules[2] and gitattributes[3]
also follow same syntax. The VSCode ini extension[4]
maintain the similarities.

[1]: https://git-scm.com/docs/git-config#_configuration_file
[2]: https://www.git-scm.com/docs/gitmodules
[3]: https://www.git-scm.com/docs/gitattributes
[4]: https://github.com/microsoft/vscode/blob/main/extensions/ini/package.json

Close #12629
2022-12-14 16:54:25 +01:00
ArkadiuszMichalski
bbe70f55a6 [xml][force xml] Switch to Python311-x64 and use prebuild lxml for CI 2022-12-14 16:25:23 +01:00
xomx
4f1aa7b004 Fix crash on Win32 Namespace prefixed file name
Implement support for Win32 Namespace prefixed file name in Notepad++.
(Ref: https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file#win32-file-namespaces)

Support the Win32-filenames escaped by \\?\ or \\?\UNC\, possible globbing in filenames (\\?\C:\fil?.txt) and shell links (\\?\C:\file.txt.lnk) included.

Unsupported (temporarily - it needs further patches for Notepad++):
- any raw filename with length exceeding the MAX_PATH.
- any nonstandard Windows OS filename: with 'dot' or 'space' char(s) at the name end, WinOS reserved ones: AUX, CON, PRN, NUL, COM1-9, LPT1-9 and the ones with invalid ASCII chars in it (0-31, <, >, | , ").

Fix #12453, close #12613
2022-12-14 15:02:04 +01:00
Don Ho
ee336b24c1 [xml] Add SQL unit tests
And make unit test error message more explicit.

Close #12627
2022-12-13 15:58:37 +01:00
ArkadiuszMichalski
e596baad11 [xml][force xml] Optimize AppVeyor for test files
Close #12628
2022-12-12 21:01:02 +01:00
Massimo Fidanza
a755c56639 Enhance SQL function list
Close #12625
2022-12-11 18:50:22 +01:00
ArkadiuszMichalski
bf34ef0dd5 Fix Trim Operations not working on selection
Trim Operations works for entire document only.
Now selection for Trim Operations is supported.

Fix #12602, close #12626
2022-12-11 14:27:10 +01:00
Don Ho
4e4d9d95ce Fix delimiter selection crash issue
Fix #12384, close #12621
2022-12-10 13:15:40 +01:00
Don Ho
f1e1f6be87 Make Run menu organizable with sub-menu
This commit uses the same mechanism (8e85110b5eba0e7af2ccc3536ec943b6ed3bf446) for organization of macro menu:
Add attribute `FolderName="sub-menu name"` in "Command" node to have the sub-menu.

Close #12617
2022-12-09 16:34:01 +01:00
Don Ho
8e85110b5e Make macro menu organizable with submenu
This PR allows users to add one level of submenu manually for macro command in shortcuts.xml, in order to better organize macro menu commands.
For doing it, `FolderName="my menu 1"` attribut should be added in <Macro> node. Only 1 level of submenu is allowed.

Here is an example:

```xml
    <Macros>
        <Macro name="aa" Ctrl="no" Alt="no" Shift="no" Key="0">
            <Action type="1" message="2170" wParam="0" lParam="0" sParam="A" />
            <Action type="1" message="2170" wParam="0" lParam="0" sParam="A" />
        </Macro>
		<Macro name="azerty" Ctrl="no" Alt="no" Shift="no" Key="0" FolderName="words">
			<Action type="1" message="2170" wParam="0" lParam="0" sParam="a" />
			<Action type="1" message="2170" wParam="0" lParam="0" sParam="z" />
			<Action type="1" message="2170" wParam="0" lParam="0" sParam="e" />
			<Action type="1" message="2170" wParam="0" lParam="0" sParam="r" />
			<Action type="1" message="2170" wParam="0" lParam="0" sParam="t" />
			<Action type="1" message="2170" wParam="0" lParam="0" sParam="y" />
		</Macro>
		<Macro name="qwerty" Ctrl="no" Alt="no" Shift="no" Key="0" FolderName="words">
			<Action type="1" message="2170" wParam="0" lParam="0" sParam="q" />
			<Action type="1" message="2170" wParam="0" lParam="0" sParam="w" />
			<Action type="1" message="2170" wParam="0" lParam="0" sParam="e" />
			<Action type="1" message="2170" wParam="0" lParam="0" sParam="r" />
			<Action type="1" message="2170" wParam="0" lParam="0" sParam="t" />
			<Action type="1" message="2170" wParam="0" lParam="0" sParam="y" />
			<Action type="1" message="2170" wParam="0" lParam="0" sParam="&#x000D;" />
			<Action type="1" message="2170" wParam="0" lParam="0" sParam="&#x000A;" />
		</Macro>
        <Macro name="BB" Ctrl="no" Alt="no" Shift="no" Key="0">
            <Action type="1" message="2170" wParam="0" lParam="0" sParam="&#x000D;" />
            <Action type="1" message="2170" wParam="0" lParam="0" sParam="&#x000A;" />
            <Action type="1" message="2170" wParam="0" lParam="0" sParam="B" />
            <Action type="1" message="2170" wParam="0" lParam="0" sParam="B" />
        </Macro>
        <Macro name="Trim Trailing Space and Save" Ctrl="no" Alt="yes" Shift="yes" Key="83" FolderName="func">
			<Action type="2" message="0" wParam="42024" lParam="0" sParam="" />
			<Action type="2" message="0" wParam="41006" lParam="0" sParam="" />
		</Macro>
        <Macro name="azerty2" Ctrl="no" Alt="no" Shift="no" Key="0">
            <Action type="1" message="2170" wParam="0" lParam="0" sParam="a" />
            <Action type="1" message="2170" wParam="0" lParam="0" sParam="z" />
            <Action type="1" message="2170" wParam="0" lParam="0" sParam="e" />
            <Action type="1" message="2170" wParam="0" lParam="0" sParam="r" />
            <Action type="1" message="2170" wParam="0" lParam="0" sParam="t" />
            <Action type="1" message="2170" wParam="0" lParam="0" sParam="y" />
            <Action type="1" message="2170" wParam="0" lParam="0" sParam="2" />
        </Macro>
    </Macros>

```

Fix #5349, close #12605
2022-12-07 01:55:15 +01:00
ArkadiuszMichalski
8785b29e21 Update PowerShell keywords
Close #12609
2022-12-06 16:35:24 +01:00
ArkadiuszMichalski
e64d1efe75 [xml] Add autocompletion for PowerShell
Fix #12492, close #12606
2022-12-06 16:30:09 +01:00
xomx
6c9f4cdff3 Fix inconsistencies at OS-forced Notepad++ v8.4.7 exit - 2nd part
This fixes users reported inconsistency in between the usual Notepad++ exit initiated manually by a user and the Windows OS forced one in case that the Notepad++ backup mode is ON.

Fix 2nd part of the #12541
Close #12600
2022-12-04 14:07:35 +01:00
ArkadiuszMichalski
f6d36235cd Fix sorting failure in zero-length column mode selection
Support thin rectangular by sort commands.
Ref: https://www.scintilla.org/ScintillaDoc.html#SCI_GETSELECTIONMODE

Fix #12299, close #12595
2022-12-02 19:26:37 +01:00
Don Ho
c63cc6f219 Fix Default Language not working for the 1st empty file with empty session
Fix #12586
2022-12-02 17:57:50 +01:00
Don Ho
f400b682b5 [xml] Include tab cm old layout in comment 2022-12-01 16:19:34 +01:00
Don Ho
c1cb0022c4 Add a forgotten command 2022-12-01 15:21:31 +01:00
ArkadiuszMichalski
adf2ad0f4f Reduce CI build time (for md/txt/log)
Handle md/txt/log by appveyor in a special way.

Close #12592
2022-12-01 03:35:57 +01:00
Don Ho
210efa503f Fix typos in CONTRIBUTING.md
Fix #12571, close #12587
2022-11-30 23:46:31 +01:00
Don Ho
aa8ae48b99 Make tab context menu customizable
Use tabContextMenu_example.xml for the customization:

1. rename to tabContextMenu.xml
2. modify it
3. copy it beside notepad++.exe or to %APPDATA%\Notepad++\ according to your Notepad++ conf
4. relaunch Notepad++

Note for the localization:

1. You have to use the newest localization file (or modify your existing localization file with the newest english.xml).
2. The customized sub-menu entry cannot be translated. User can use his/her native language as value of attribute "FolderName" in tabContextMenu.xml file.
3. User can always add any command beyond the default commands in tabContextMenu.xml file. But such command won't be translated.

Fix #12170, close #12576
2022-11-30 15:03:36 +01:00
Arkadiusz Michalski
785b3417b6 Reduce CI (AppVeyor) build time
Reduce traslation PR validation time.

Fix #12457, close #12454
2022-11-29 20:53:55 +01:00
xomx
bd4c323d75 Fix inconsistencies at OS-forced Notepad++ (v8.4.7) exit
Now if the Notepad++ will have an unsaved data and is still running at the OS restart/shutdown, there will be one universal messagebox "Windows session is about to be terminated but you have some data unsaved. Do you want to exit Notepad++ now?".

When Notepad++ backup mode is ON, answer:
  - YES ... Notepad++ simply quits (Notepad++ backup engine silently handles all the stuff needed)
  - NO  ... Notepad++ stays running, user is on his/her own

When Notepad++ backup mode is OFF, answer:
  - YES ... Notepad++ behaves identically as in the case of the usual Notepad++ IDM_FILE_EXIT or WM_CLOSE messages (save dlgs appears etc., it depends on the current user Notepad++ settings)
  - NO  ... Notepad++ stays running, user is on his/her own

Fix v847
2022-11-29 15:32:30 +01:00
Don Ho
de5f419314 Fix the tab context menu reload command's state not synchronized
Fix #12579
2022-11-28 19:08:26 +01:00
Arkadiusz Michalski
cffdf79a9b More performance optimization for the Remove Empty Lines command
Close #12544
2022-11-25 18:01:26 +01:00
dinkumoil
891f2ed682 Add function list parser for NppExec plugin's scripting language
Fix #12517, close #12519
2022-11-25 16:29:00 +01:00
xomx
6b34f9ce08 Fix incorrect plugin architecture reports partially
Fix partially #12565

Close #12566
2022-11-25 13:27:01 +01:00
VinsWorldcom
f03381e779 Autocomplete enhancement: sharpen icons
Fix #12549, close #12550
2022-11-23 19:24:08 +01:00
CennoxX
22963f53dd Add Mark Styles to theme DansLeRuSH-Dark
Add missing Mark Styles, remove missplaced tabs.

Fix #12504, close #12551
2022-11-23 18:03:49 +01:00
Don Ho
3fcad98883 Fix localization files 2022-11-22 19:13:09 +01:00
Don Ho
11ccc415e7 Update localization files 2022-11-22 18:32:36 +01:00
Don Ho
4c188c3019 Fix style.xml not remember by light mode 2022-11-22 16:59:50 +01:00
ozone10
e2a1234384 Dark mode enhancement
1. Add "Follow Windows dark/light mode".
2. Remember user's toolbar, tabbar and theme choices for dark mode and light mode separately.
3. Add 2 hidden options for applying tab background color from themes (for both dark mode and light mode).

Fix #9183, fix #9992, fix #10153, fix #10239, fix #10544, fix #10644, fix #11867, fix #10239, close #12466
2022-11-22 01:54:05 +01:00
Arkadiusz Michalski
6803b69c0b Make some styles to be more visible with the current line style
Fix #12506, close #12507
2022-11-14 18:58:40 +01:00
Arkadiusz Michalski
d53ed27bb3 Improve the performance of Remove Empty Lines command
Fix #12462, close #12512
2022-11-14 18:46:18 +01:00
dinkumoil
87a53d1ed2 Add Pascal/Delphi for Function List
Add Pascal/Delphi FunctionList parser and unit tests.

Fix #3664, close #12489
2022-11-14 15:35:10 +01:00
Arkadiusz Michalski
bc1487881a Add localization for Length label in the Customize Maximum Length popup
Fix #12421, close #12429
2022-11-14 00:09:09 +01:00
Arkadiusz Michalski
bac903208c Change foreground color for ERROR in JSON to be more readable
Fix #8715, close #12441
2022-11-13 23:40:57 +01:00
Arkadiusz Michalski
596df7988a Update PowerShell keywords
Fix #5004, close #12491
2022-11-13 18:16:04 +01:00
Arkadiusz Michalski
997349d056 FindReplaceDlg enhancement: Add vertical scroll bar on all combobox
Add WS_VSCROLL to all COMBOBOX in FindReplaceDlg.

Fix #12459, close #12501
2022-11-13 16:01:14 +01:00
Don Ho
d4719a83a6 Use writeLog instead of OutputDebugString for certificate checking
And disable writeLog in  certificate checking (can be enabled manually in case of debugging).

Fix #12490
2022-11-12 18:42:26 +01:00
Don Ho
f6b1cf3e77 Update certif/sha256 verification 2022-11-12 02:28:30 +01:00
Arkadiusz Michalski
67256a107b Update CPP keywords
Fix #11936, close #12477
2022-11-10 14:40:37 +01:00
Arkadiusz Michalski
238aadb87f Adjust build GCC
Close #12485
2022-11-10 14:02:44 +01:00
Arkadiusz Michalski
f4419f2be9 Fix CI 32 build failure in GCC
And update appveyor.yml and BUILD.md to reflect the migration to MSYS2

Fix #12447, close #12450, close #12481
2022-11-09 19:47:35 +01:00
Don Ho
c8816e08f7 Notepad++ 8.4.7 release 2022-11-08 12:42:39 +01:00
~GOLEM~
e5708bf3ea Hotfix russian.xml v8.4.7
Fix wrong IDs.

Close #12452
2022-11-08 04:14:34 +01:00
Thomas De Rocker
e53aefcf87 Update dutch.xml
Close #12455
2022-11-08 04:12:13 +01:00
Karlo-F
a12168c3bb Update croatian.xml to 8.4.7
Close #12456
2022-11-08 04:09:37 +01:00
Biswapriyo Nath
f3f615d522 Set PKGBUILD and APKBUILD syntax highlighting as shell script
Both PKGBUILD and APKBUILD files are actually shell script. See
* https://wiki.archlinux.org/title/PKGBUILD
* https://wiki.alpinelinux.org/wiki/APKBUILD_Reference

Close #12445
2022-11-01 22:43:56 +01:00
Harvey R
6f67656f8c Make solarized.xml up-to-date with stylers.xml
Fix #12425, close #12444
2022-11-01 22:23:29 +01:00
Don Ho
713117c68d Rename a function 2022-11-01 15:18:24 +01:00
SinghRajenM
5b9cd0b2e5 Fix plugin admin search issue
Fix #12375, close #12376
2022-11-01 14:59:59 +01:00
Tianxiao Cao
0bd8f6f7e0 Update spanish.xml
Fix #12268, close #12277
2022-11-01 14:25:09 +01:00
Artem Polivanchuk
c96be1bbe4 Update belarusian.xml
Close #12379
2022-11-01 13:59:32 +01:00
Don Ho
1d98d98300 Fix crash regression due to ABI incompatibility
Fix the regression due to the following commit:
3e9413d615
Modify type of "PositionCR" to "int64_t" from "long" again, to keep ABI compatible to plugins.

Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/12327#issuecomment-1297906305
2022-11-01 12:52:06 +01:00
Arkadiusz Michalski
ae32f34fb3 Add minlength attribute for HTML
Fix #12416, close #12430
2022-10-31 11:49:29 +01:00
Don Ho
3e9413d615 Restore Scintilla header files
Restore Sci_Position.h & ScintillaStructures.h (ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/12327#issuecomment-1296020276)
And add R styles.
2022-10-31 01:52:42 +01:00
Christian Grasser
b502266e8d Update to scintilla 5.3.1 and lexilla 5.2.0
Close #12327
2022-10-31 00:45:13 +01:00
Edditoria
22489a1311 Update localization: Hong Kong Cantonese
As at commit 2f080d8 of this repo.

Close #12428
2022-10-30 23:31:55 +01:00
rddim
2f080d82af Update Bulgarian localization
Close #12343
2022-10-30 17:22:55 +01:00
Don Ho
b4c5c14cd6 Enlarge a control for the translation 2022-10-30 17:20:52 +01:00
Marcello-mco
9df5859d06 Update in Brazilian Portuguese translation
Close #12335
2022-10-30 15:37:58 +01:00
xomx
6000f3bb21 Fix session.xml emptying by forced Windows update restart
This fixes both the long standing problem with the emptying of the session.xml file by forced Windows Update restart/shutdown and some potential Notepad++ crashes caused by possible main Notepad++ window blocking at exit.

Two main changes to the original design:
- WM_QUERYENDSESSION is not used anymore for the tidy-up ops and it always quickly returns TRUE/FALSE to the system as it should.
- there is now a safe-guard flag for the session.xml saving at N++ exit, which prevents otherwise possible incorrect overwriting in case of multiple "endsession" messages.

Fix #9850, fix #12389, close #12388
2022-10-30 14:06:33 +01:00
Matteo Concato
ed3189e00b Update Italian.xml
Fix #12265, close #12267
2022-10-30 13:25:52 +01:00
Hugo Carvalho
2fd55ff11d Update portuguese.xml
Fix https://github.com/notepad-plus-plus/notepad-plus-plus/issues/12269

Close #12274
2022-10-30 13:15:09 +01:00
kubalav
4cb312da58 Update Slovak translation
Close #12341
2022-10-30 13:10:56 +01:00
Patriccollu
8c7142ddb8 Update Corsican translation for Notepad++ 8.4.7
Close #12346
2022-10-30 12:59:35 +01:00
A. Regnander
b9bb1706b2 Update swedish.xml
Close #12345
2022-10-30 12:55:09 +01:00
yasmise
20771fe55a update japanese.xml to v8.4.7
Add translations for these commits:
* Make large file limit (for styling) configurable (8ff003412acc9b55413040b27110bf7ef887300b)
* Add tooltips in performance section to make features more explicit (c02c23b7d431fe27ebad41619df4c2b4f1ea3a9a)
* Enhance Large File Restriction UI (6755daf223299ffcd49a8b6ca233c79627578f05)
* Add "Allow clickable link" option in large file restriction (cd6a6ac3bb4d46a9ddd53e3bde2002db00ac00f5)

Close #12361
2022-10-30 12:53:01 +01:00
~GOLEM~
39e0aa37b5 Update russian.xml v8.4.7
Close #12362
2022-10-30 12:50:24 +01:00
IoeCmcomc
32bb1457ca Update Vietnamese translation
Close #12365
2022-10-30 12:43:31 +01:00
Sapziller
0ce2c20835 Update korean localization file
Update korean 8.4.5 -> 8.4.6

Close #12409
2022-10-30 12:34:15 +01:00
ArkadiuszMichalski
b8a05edcfa Update polish.xml to 8.4.7
Update polish.xml to 8.4.7 according to the last commit.

Close #12413
2022-10-30 12:31:43 +01:00
xomx
a54cc861bf Update czech.xml to v8.4.7
Close #12420
2022-10-30 12:29:15 +01:00
Don Ho
5867025842 Fix 32 bits build error 2022-10-30 11:47:45 +01:00
Don Ho
513ee3e3fe Use Scitilla default 64 bits symbol 2022-10-30 01:09:52 +02:00
ArkadiuszMichalski
c3ffe35492 Enhance "Allow clickable link" option for Large File Restriction
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/12369#issuecomment-1287821244.
2022-10-28 12:37:32 +02:00
Don Ho
b4f569b8ba Add back an misdeleted entry 2022-10-27 13:18:02 +02:00
Don Ho
50a50cce3c Remember Column Editor settings through the sessions
Close #12386
2022-10-25 00:20:54 +02:00
Don Ho
cd6a6ac3bb Add "Allow clickable link" option in large file restriction
And enhance large file restriction UI

Close #12369
2022-10-22 14:31:19 +02:00
Don Ho
7e080a46bb Fix brace match not working in Large File Restriction
Fix also the highlight remaining issue while Large File Restriction disabled.
2022-10-20 16:19:49 +02:00
Don Ho
6755daf223 Enhance Large File Restriction UI
1. Rename some labels to be more explicit.
2. Add a tooltip for "Deactivate Word Wrap globally".
3. Unchecking "Enable Large File Restriction" removes the sub-restrictions.
2022-10-20 05:07:17 +02:00
SinghRajenM
546745fe34 Increase hash font height 2022-10-18 04:22:11 +02:00
Don Ho
c02c23b7d4 Add tooltips in performance section to make features more explicit
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/12310#issuecomment-1279826809
2022-10-17 17:09:02 +02:00
xomx
1be0044663 Installer enhancement: prevent arm64 installer from installing on non ARM64 system
Fix #12320, close #12331
2022-10-16 01:38:30 +02:00
xomx
a6a1442bab Installer enhancement: remember "Don't use_%APPDATA%" option
Added detection of the "doLocalConf.xml" trigger-file from the previous installation.

Fix #12202, close #12326
2022-10-15 23:38:50 +02:00
Don Ho
8ff003412a Make large file limit (for styling) configurable
Background: because styling large file can cause the performance issue, 200 MB (and bigger) file is not applied to its language (if any) while loading.
This PR makes large file restriction for styling and for other features (smart highlighting, brace match, etc...) configurable via the section Performance of Preferences dialog.

Fix #11389, fix #12260, fix #11670, close #12310
2022-10-15 18:18:06 +02:00
Don Ho
9bec8f5460 Fix extra background colors on printing due to Change History
Patch ref:
https://sourceforge.net/p/scintilla/bugs/2358/#a3e3

Fix #12281
2022-10-11 02:24:35 +02:00
Anklebitter
49e5a17377 Enhance "Go To" dialog: update line/position data dynamically
Fix #12284, close #12302
2022-10-09 17:35:37 +02:00
Don Ho
a26599794c Refactoring & optimizing open/save large files time 2022-10-09 01:08:22 +02:00
Christian Grasser
f57c69aac6 Fix output from makefile and correct cmake for c++20
Close #12297
2022-10-07 02:58:44 +02:00
Don Ho
e73fca5a85 Use c++20 function ends_with()
Close #12294
2022-10-06 20:49:23 +02:00
ozone10
bcaf0f00b5 Update CI env to have GCC 12 for using c++20
1. Update Makefile to use c++20.
2. Update appveyor.yml to use MSYS2 (GCC 12).

Close #12292
2022-10-06 17:34:19 +02:00
Don Ho
3b8446d8ce Fix CI system error due to the project build env update 2022-10-06 14:17:38 +02:00
Don Ho
3cbbb42933 Revert "Fix CI system error due to the project build env update"
This reverts commit c64049a1e64f9f8145bcd0847e914f8b05437739.
2022-10-06 14:15:16 +02:00
Don Ho
c64049a1e6 Fix CI system error due to the project build env update
And use C++20 for string::ends_with() function.
2022-10-05 17:28:21 +02:00
SinghRajenM
4b539b4d5d Build project using C++20
Fix #12232, close #12233
2022-10-05 15:44:56 +02:00
Don Ho
4c96f86979 Update build environment
Update MS Visual Studio to 2022 and its platform toolkits to v143.
2022-10-05 13:52:55 +02:00
Harvey R
06a082d35f Add Python missing option in theme files
Fix #12066, close #12070
2022-10-05 04:19:21 +02:00
Robert Di Pardo
a610387fb4 Fix language detected from content not applied if default language is set
Properly handle missing file extensions in `Buffer::setFileName`

Before 6263ce5, the user-preferred default language would apply to
files with no extension, but got overwritten by `L_TEXT` when the
extension was present *but unknown*.

This is why the `buf->_lang == L_TEXT` condition failed *only for
buffers with _no_ extension*.

Fix #11504, close #12286
2022-10-05 00:56:15 +02:00
Don Ho
af0bc2e113 Revert "Fix detected language not being applied issue"
This reverts commit 6263ce5dece595543bbfaa4207391075ae3a212a for fixing the regression.

Fix #12226, fix #12253
2022-10-05 00:06:57 +02:00
xomx
23fc940a27 Enhance N++ EndSession logging
To be able to distinguish:
- different types of Windows system restart/shutdown
- WM_CLOSE messages after previous WM_QUERYENDSESSION

Close #12257
2022-10-04 17:36:49 +02:00
Christian Grasser
20b14b8e4b Updated nlohmann json to 3.11.2
Updated nlohmann json to 3.11.2 from https://github.com/nlohmann/json/releases/download/v3.11.2/json.hpp

Close #12271
2022-10-04 03:46:57 +02:00
Christian Grasser
99321d0d4a Update with boost to 1.80.0
Update with boost 1.80.0 from https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.7z

Close #12273
2022-10-04 03:43:39 +02:00
chcg
2041c515c4 Update appveyor.yml
Use newer python 3.10 instead of 3.8 for xml checks

Close #12272
2022-10-04 03:40:43 +02:00
Don Ho
4d50692809 Add new API for getting bookmark ID
ref: https://community.notepad-plus-plus.org/topic/23541/notepad-v8-4-6-release/22?_=1664842498334
2022-10-04 03:31:09 +02:00
Don Ho
83ee8f09bf Clean up NPPM_ALLOCATEMARKER API 2022-10-03 01:32:11 +02:00
Don Ho
11884bd97f Fix long filters get truncated in Find in Files feature
Increse filter size from 256 to 512 bytes.

Fix #12041
2022-09-30 16:14:15 +02:00
Chukwudumebi Smarty
dfa6c19d87 Make ESC Key abort "Move to Recycle Bin" confirmation prompt
Fix #12117, close #12239
2022-09-29 16:49:53 +02:00
Adrian
4b3ee9c4ea Fix line hiding issues
Fix #12184, fix #8149, close #12250
2022-09-29 15:32:58 +02:00
Don Ho
6750d4dbbc Notepad++ release 8.4.6 2022-09-29 02:57:44 +02:00
Don Ho
e3a5f76af0 Fix clickable link bad display regression
Fix #12219, close #12238
2022-09-25 19:45:48 +02:00
SinghRajenM
2d4af44f54 Fix plugin admin UI overlapping
Fix #12229, close #12230
2022-09-25 19:11:13 +02:00
Don Ho
155d75414b Update localization files 2022-09-25 16:27:42 +02:00
Matteo Concato
6d5efab7de Update italian.xml
Close #12215
2022-09-25 04:45:32 +02:00
Edditoria
bfc7c302c4 Update localization: Hong Kong Cantonese
As at commit 466053d of this repo.

Close #12217
2022-09-25 04:43:44 +02:00
~GOLEM~
7df3d73621 Update russian.xml hotfix for v8.4.6
Close #12218
2022-09-25 04:41:30 +02:00
chcg
32b6cae4bf Update BUILD.md
Updated build description for lexilla build

Close #12235
2022-09-24 23:28:22 +02:00
Christian Grasser
0ce3bc08df Fix rebol syntax quote issue
see http://www.rebol.com/r3/docs/guide/code-syntax.html#section-3
setREBOLLexer seems to use wrong, non ASCII single quote, see also https://github.com/notepad-plus-plus/notepad-plus-plus/blob/master/lexilla/lexers/LexRebol.cxx#L38
found by clang tidy warning

Close #12221
2022-09-24 19:40:52 +02:00
Don Ho
18971709f5 Change colours for applying to tab more distiguishable
And simplify the code.

Ref: https://community.notepad-plus-plus.org/topic/23513/notepad-v8-4-6-release-candidate-2/3?_=1663982940040

Fix partially #12223
2022-09-24 19:35:08 +02:00
Karlo-F
466053dc99 Update crotian.xml to 8.4.6
Close #12210
2022-09-22 19:49:55 +02:00
xomx
0c121a1725 Update czech.xml to v8.4.6
Ciose #12212
2022-09-22 19:46:05 +02:00
Don Ho
848b412cf7 Fix Change History margin visual glichy under dark mode
Ref: https://community.notepad-plus-plus.org/topic/23510/notepad-v8-4-6-release-candidate/2?_=1663857801779
2022-09-22 19:28:08 +02:00
rddim
5a24dc77f9 Update Bulgarian localization
Close #12118
2022-09-22 01:15:25 +02:00
Matteo Concato
0dd9756740 Update italian.xml to 8.4.6
Close #12197
2022-09-22 01:07:42 +02:00
kubalav
1d07d4717c Update Slovak translation
Close #12123
2022-09-21 20:23:46 +02:00
ArkadiuszMichalski
36bfe59d2a Update polish.xml to 8.4.6
Update polish.xml to 8.4.6 according to the last commit.

Close #12206
2022-09-21 20:21:11 +02:00
Christophe Mateos
b48af08e8c Update french.xml
Close #12176
2022-09-21 18:19:19 +02:00
Tmp341
a064015c01 Update Turkish localization
* According to 2258274, 059bca3, 67ab4d5, 7d5516e, 8519003, and 9809e2f commits.

Close #12115
2022-09-21 17:45:17 +02:00
~GOLEM~
d5a89ed922 Update russian.xml v8.4.6
Close #12173
2022-09-21 17:43:02 +02:00
schnurlos
514c9a4629 Update german.xml
Close #12168
2022-09-21 17:40:53 +02:00
Hugo Carvalho
26f80a7d31 Update portuguese translation
Close #12167
2022-09-21 17:38:34 +02:00
yasmise
aebab9330e Update japanese.xml to v8.4.6
Close #12162

Add/Update translations for these commits:
* Unify the terms "Fold/unfold" on menu (15e5da6f7d0c5ef7563e1127c84f3778c75607e7)
* Add setting colour ability for individual tab (42d863dd9f46768edee3013bfd232a27597f8ef9)
* Change to menu name to the "normalized" terms on Internet (aad36afc6bf4177ed6532086acf5f393de1f1b8f)
* Revamp tab context menu (6322562cf82873d1403a0a297d114c3d7304b30e)
* Complete localization files with missing entries (4cb63ff011064dfee1a1b5a25e47311fa726f33b)
* Add Change History markers for saved/unsaved/undone modification (fc32fbdcce371bb669c9361d62c959b1b61e33f0)
2022-09-21 17:35:47 +02:00
Patriccollu
b54481350e Update Corsican translation for Notepad++ 8.4.6
Close #12136
2022-09-21 17:33:40 +02:00
Marcello-mco
e0afc7a281 Update brazilian_portuguese.xml
Close #12119
2022-09-21 17:30:25 +02:00
popcorner
c3c410506b Update chineseSimplified.xml
Close #12096
2022-09-21 17:26:23 +02:00
ozone10
b29a9ce142 Code enhancement - removing gcc warning
Fix conversion-null, nonnull-compare, dangling-else, address warnings, add initializers.

Fix #12198, close #12199
2022-09-20 16:19:58 +02:00
ozone10
d3b630841e Fix horizontal bar showing issue while resizing document list's height
Take into account vertical scrollbar when resizing document list.

Fix #12191, close #12192
2022-09-20 03:39:03 +02:00
Don Ho
6a801cc0a4 Make Change History margin colour configurable
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/12165#issuecomment-1250899679
2022-09-19 19:24:57 +02:00
Christian Grasser
ead6fb6b8f Fix gcc linux build and cmake build issues under ubuntu
1. Fix gcc build issues under ubuntu linux due to upper/lower case filename issues.
2. corrected cmake build issues.

Close  #12188
2022-09-19 01:42:49 +02:00
ozone10
1ac1b1150d Code enhancement
Fix some conversion-null, nonnull-compare, unknown-pragmas, switch warnings, add initializers.

Fix #12179, close #12180
2022-09-19 01:38:26 +02:00
Don Ho
fc32fbdcce Add Change History markers for saved/unsaved/undone modification
Implement Change History by using the new abilities of Scintilla v5.3.0.

Fix  #12164, close #12165
2022-09-18 23:57:36 +02:00
ozone10
3295cc8d2c Code improvement
Fix warnings ,some conversion-null, format, unused-but-set-variable, class-memaccess.
Add initializer.

Fix #12171, close #12172
2022-09-15 02:07:38 +02:00
Don Ho
4cb63ff011 Complete localization files with missing entries
Fix #12163
2022-09-15 00:07:17 +02:00
ozone10
43c8d8115f Code improvement, remove unnecessary part
Fix some conversion-null, unused-* warnings, add initializer.

Fix #12151, close #12152
2022-09-13 15:42:55 +02:00
blu3mania
84b8c64944 Fix NPPN_DARKMODECHANGED wrong return value to plugins
Send NPPN_DARKMODECHANGED notification with hwndNpp as hwndFrom, so the documented API info on https://npp-user-manual.org/docs/plugin-communication/#nppn-darkmodechanged is correct. Previously it sends 0 which is of no use to plugin authors.

Fix #12144, close #12160
2022-09-13 02:10:07 +02:00
blu3mania
d03b11ebf8 Add dark mode support to ColourPicker/ColourPopup's ChooseColor dialog
Fix #12148, close #12158
2022-09-13 01:15:20 +02:00
Christian Grasser
1646ea6139 Update to scintilla 5.3.0 and lexilla 5.1.9
Close #12045
2022-09-12 19:02:55 +02:00
Don Ho
9455684b42 Renumber Notepad++ marks for preparing Scintilla 5.3.0's integration
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/12045#issuecomment-1229195785
2022-09-12 18:46:25 +02:00
Don Ho
6322562cf8 Revamp tab context menu
Add sub-menu in tab context menu so it will be less cluttered.

Fix #12147, close #12150
2022-09-12 17:01:50 +02:00
Don Ho
aad36afc6b Change to menu name to the "normalized" terms on Internet
Fix #12146
2022-09-11 23:06:30 +02:00
ozone10
2da5c5b393 Code enhancement
Fix parentheses, misleading-indentation, sign-compare, some conversion-null warnings.

Fix #12139, close #12140
2022-09-11 18:22:51 +02:00
spaxio
42d863dd9f Add setting colour ability for individual tab
Fix #2271, close #12098
2022-09-11 17:07:11 +02:00
ozone10
233c697183 Fix gcc reorder warnings
Fix #12132, close #12133
2022-09-09 18:08:08 +02:00
Don Ho
82055985f3 Add Plugin list repository link and its version in PluginAdmin dialog
And add the localization entries.
2022-09-09 17:56:39 +02:00
Don Ho
a5c201f79c Fix Windows 11 OS version not detected in getWindowsVersion
Fix #12100
2022-09-09 11:14:32 +02:00
Sweepi
ce85323a9e Add last supported version for Win2k in SUPPORTED_SYSTEM.md
6.6.9 is the last version to "offically" support Win2k, although 6.7.3 also works if i remember correctly.

Close #11971
2022-09-08 03:48:02 +02:00
Don Ho
5a94263bee Add incompatible (unloaded) plugin list in Plugin Admin
The plugins which are not compatible but their newer versions are available are not only on the incompatible list, but also on the Updates list.

Fix #12069, close #12105
2022-09-08 03:23:37 +02:00
SinghRajenM
85d7215d9b Fixes security vulnerability
Fix #12113, close #12114
2022-09-07 20:31:03 +02:00
Don Ho
15e5da6f7d Unify the terms "Fold/unfold" on menu
Rename menu item from "collapse" to "fold".

Fix #12035, close #12094
2022-09-07 18:28:51 +02:00
ozone10
ebe7648ee1 Code improvement, remove unnecessary part
Fix pedantic warnings, add initializers.

Close #12093
2022-09-07 17:49:56 +02:00
Don Ho
ea1e9295eb Notepad++ v8.4.5 release 2022-09-07 05:12:29 +02:00
Karlo-F
6d36d9d398 Update croatian.xml to v8.4.5
Close #12076
2022-09-03 03:48:42 +02:00
ozone10
4ddd2d4a46 Remove unneeded subclass
Fix #12086, close #12087
2022-09-03 03:46:37 +02:00
ozone10
95cb564c27 Don't use memset to initialize tTbData
Fix #12084, close #12085
2022-09-03 03:22:46 +02:00
ozone10
39ab226c8c Fix button text in dark mode regression from Wine crash fix
ref: https://community.notepad-plus-plus.org/topic/23432/notepad-v8-4-5-release-candidate/4?_=1662157237187

Close #12083
2022-09-02 23:09:32 +02:00
Hugo Carvalho
1aa93bd85a Update portuguese.xml
Commits: 7d5516e0a8ef69d04165926255828cc70c0c3811 851900334cc9699818230ad686ead79a3ecc79c0 9809e2fc2cb9aa2ace06a7cdd5b89b49e27e8927
Other minor corrections

Close #12068
2022-08-31 21:05:12 +02:00
Don Ho
d6ca0198e1 Revert "Update portuguese.xml"
This reverts commit b96b7ef1bee10f3764956d23a58a31213403081d.
2022-08-31 17:42:18 +02:00
Thomas De Rocker
27e489623c Update dutch.xml
Close #12002
2022-08-31 14:51:10 +02:00
yasmise
1df1954eb2 Update japanese.xml
Add translations for these commits:
* Add an option for hiding the + ▼ ✕ from the menu bar (7d5516e0a8ef69d04165926255828cc70c0c3811)
* Add cycling function hints ability by ALT-UP/DOWN shortcuts (851900334cc9699818230ad686ead79a3ecc79c0)
* Add option to turn off selecting text when Field dialog is invoked (9809e2fc2cb9aa2ace06a7cdd5b89b49e27e8927)

Close #11967
2022-08-31 14:49:07 +02:00
Hugo Carvalho
b96b7ef1be Update portuguese.xml
Commit: 7d5516e0a8ef69d04165926255828cc70c0c3811
Other minor corrections/improvements

Close #12004
2022-08-31 14:47:44 +02:00
Sapziller
d937e62eed Update korean.xml to 8.4.5
Close #12008
2022-08-31 04:21:34 +02:00
ArkadiuszMichalski
31f8a57503 Update polish.xml to 8.4.5
Update polish.xml to 8.4.5 according to the last commit.

Close #12061
2022-08-31 02:46:52 +02:00
przemo20
786e377afb Update polish.xml
Close #11998
2022-08-31 01:15:49 +02:00
Patriccollu
e866715492 Update Corsican translation for Notepad++ 8.4.5
Close #11930
2022-08-30 23:38:00 +02:00
Edditoria
be1c1ae622 Update localization: Hong Kong Cantonese...
As at commit 2e66fe0 of this repo.

Close #11985
2022-08-30 23:34:45 +02:00
~GOLEM~
1014a5517b Update russian.xml to v8.4.5
Close #11958
2022-08-30 21:30:22 +02:00
xomx
51b05136de Update czech.xml to v8.4.5
Close #12059
2022-08-30 21:27:35 +02:00
rddim
3856f765f9 Update Bulgarian localization
Close #11974
2022-08-30 20:10:10 +02:00
Marcello-mco
5a2db2610e Update brazilian_portuguese.xml
Close #11928
2022-08-30 19:48:53 +02:00
kubalav
4444d2409f Update Slovak localization
Slovak translation for commit 7d5516e

Close #11972
2022-08-30 19:29:33 +02:00
Don Ho
5f60ee70dc Fix a grammar error & add an easter egg
Fix #12056
2022-08-30 19:25:35 +02:00
Ashfaaq18
adcace3380 Improve performance for "Find in Files" and ""Find all in..."
Fix #11878, close #12048
2022-08-29 20:32:31 +02:00
doug1234
9809e2fc2c Add option to turn off selecting text when Field dialog is invoked
Fix #11988, close #11989
2022-08-29 05:26:54 +02:00
Christian Grasser
6a33bf6c4c Update to Scintilla 5.2.4 and Lexilla 5.1.8
Close #12022
2022-08-27 03:49:39 +02:00
Robert Di Pardo
6263ce5dec Fix detected language not being applied issue
Fix detected language not being applied if Default languge is set in Document settings.
Don't override detected file type with default language:

When loading files with no extension from disk, remove the extra condition so the default language setting does not take precedence over the auto-detected file type (if any)

Fix #11504, close #11992
2022-08-27 02:35:26 +02:00
VinsWorldcom
851900334c Add cycling function hints ability by ALT-UP/DOWN shortcuts
Fix #11950, close #12017
2022-08-24 03:04:37 +02:00
Robert Di Pardo
30f027b6a5 Fix Notepad++ crash due to calling NPPM_GETLANGUAGENAME with WPARAM -1
Fixes #12009, close #12011
2022-08-23 03:03:26 +02:00
ozone10
f2c4ecd7e1 Fix crash on Wine
Fix #11941, close #11961
2022-08-14 18:20:22 +02:00
xomx
2e66fe0007 Fix drag n drop documents crash between 2 instances
Fixes uninitialized CmdLineParamsDTO parameters:
uninitialized _udlName could cause crash when drag&drop files between different Notepad++ instances.

Fix #11976, close #11977
2022-08-04 17:32:45 +02:00
Don Ho
70660eb608 Add carret block after option
Fix #11944
2022-07-30 16:28:31 +02:00
Don Ho
7d5516e0a8 Add an option for hiding the + ▼ ✕ from the menu bar
Fix #11945
2022-07-30 02:26:27 +02:00
Don Ho
6077604380 Fix erasing part of content make hanging issue
Deletion of one line where there's folding didn't show the hiden lines in the old version of Scitilla.
It's not anymore the case in the new (current used) version of Scintilla (which manages such situation correctly).
Therefore the redundant notification for the current used version of Scintilla can be removed, and it solves hanging problem.

Fix #10193, close #11946
2022-07-26 15:43:37 +02:00
Don Ho
7a64fd5161 Enhance very long line's performance
When document contains a very long line and the wrapped feature is ON, switch off then switch back to this document could take times.
This commit reduce the delay largely while switching into the document with very long line.

Fix #11942
2022-07-25 05:35:30 +02:00
Don Ho
13350a3d29 Fix minor error 2022-07-24 05:34:26 +02:00
Don Ho
f85a9c45e9 Add reduce mode in Find/Replace dialog
Add a button on the bottom-right corner of Find/Replace dialog to switch between collapsed & complete mode.

Fix #11780, close #11937
2022-07-23 01:07:47 +02:00
ozone10
bbf3adb9bb Fix dark mode visual glichy in explorer panel under Windows 8.1
Add checks for 'DarkMode_Explorer' theme style

Fix #11898, close #11913
2022-07-22 04:07:48 +02:00
Filipe DA SILVA
e90284ea4b Fix various typo in French localization file
Close #11924
2022-07-16 18:10:51 +02:00
Don Ho
08acfe99b8 Notepad++ v8.4.4 - Happy Users' Edition
Now Notepad++ happy users are also allowed to get a refund!
2022-07-15 18:13:09 +02:00
ArkadiuszMichalski
b77faf77af Update polish.xml to 8.4.4
Update polish.xml to 8.4.4 according to the last commit.

Close #11922
2022-07-15 16:24:39 +02:00
~GOLEM~
0379a5deb5 Update russian.xml to v8.4.4
- fix wrongs description

Close #11921
2022-07-15 16:22:41 +02:00
Hugo Carvalho
dcf8b790a1 Update portuguese.xml
For commit: 059bca3315dbd71fbf235c8bc87eaacbd87a3cec

Close #11888
2022-07-14 20:51:13 +02:00
kubalav
49f6ee389c Update Slovak translation
Close #11892
2022-07-14 16:35:48 +02:00
rddim
1834662ef9 Update Bulgarian localization
Close #11909
2022-07-14 16:33:24 +02:00
~GOLEM~
a44b9b6cf9 Update russian.xml
Close #11914
2022-07-14 16:30:08 +02:00
yasmise
bf6294a7ee Update japanese.xml
Add translation for this commit:
* Add some shortcuts in Styler Configurator to preferences dialog (67ab4d55276ae99e632f19d1035de70cc022e3b9)

Close #11917
2022-07-14 16:28:10 +02:00
schnurlos
68e35dadf6 Update german.xml
Following 67ab4d5527

Close #11918
2022-07-14 16:26:39 +02:00
Don Ho
67ab4d5527 Add some shortcuts in Styler Configurator to preferences dialog
Shortcuts to Preferences dialog are added only for the following styles (Global Styles):

1.  "Current line background colour"
2.  "Caret colour"
3.  "Edge colour"
4.  "Line number margin"
5.  "Bookmark margin"
6.  "Fold"
7.  "Fold active"
8.  "Fold margin"
9.  "Smart Highlighting"
10. "Tags match highlighting"
11. "Tags attribute"
12. "Mark Style 1"
13. "Mark Style 2"
14. "Mark Style 3"
15. "Mark Style 4"
16. "Mark Style 5"
17. "URL hovered"
18. "EOL custom color"

Fix #11890, close #11904
2022-07-12 18:57:20 +02:00
Don Ho
57bb83846b Add "Notepad++ Online User Manual" into the shortcut mapper 2022-07-11 03:36:45 +02:00
Don Ho
e6fe568bbf Fix crash during Search result
Fix #11883, close #11889
2022-07-09 18:37:30 +02:00
Don Ho
c7c5db7c51 Notepad++ v8.4.3 - Unhappy Users' Edition 2022-07-08 04:26:57 +02:00
György Bata
c284534e08 Hungarian translation update for 8.4.3
Close #11876
2022-07-08 02:05:55 +02:00
ArkadiuszMichalski
bcb1035948 Update polish.xml to 8.4.3
Close #11880

Update polish.xml to 8.4.3 according to the last commit.
2022-07-08 02:03:36 +02:00
Don Ho
c63169eabc Restore Search result folding's old behaviour
Ref:
https://github.com/notepad-plus-plus/notepad-plus-plus/issues/11814#issuecomment-1175359785
2022-07-06 01:53:17 +02:00
xomx
5bab2b5746 Update czech.xml for v8.4.3
Added only the id 6906 - "Search Result window: show only one entry per found line".

Close #11871
2022-07-05 19:48:13 +02:00
Don Ho
0b5785cbec Fix a fording perf issue in Search result windows
Ref:
https://github.com/notepad-plus-plus/notepad-plus-plus/issues/11814#issuecomment-1174732649

Fix #11814
2022-07-05 19:43:16 +02:00
rddim
2a7552c882 Update Bulgarian localization
Close #11850
2022-07-04 05:00:33 +02:00
Karlo-F
09df963a1a Update croatian.xml
Close #11859
2022-07-04 04:57:47 +02:00
Don Ho
de75f56676 Processing WM_CLOSE with the right return value
Ref:
https://docs.microsoft.com/en-us/windows/win32/winmsg/wm-close
2022-07-04 04:52:06 +02:00
Don Ho
5c6fbd3310 Fix "Style Configurator..." command makes Notepad++ crash
If "stylers.xml" is not loaded, launching "Style Configurator..." command will make Notepad++ crash.
This commit fix this issue.

Fix #11812
2022-07-02 17:19:17 +02:00
Edditoria
4a32234e5f Update localization: Hong Kong Cantonese
As at commit ed4bb1a of this repo.
Also follow-up the PR #11802

Close #11852
2022-06-30 23:25:10 +02:00
kubalav
965f812234 Update Slovak translation to 8.4.3
Close #11864
2022-06-30 18:58:33 +02:00
popcorner
9781b34bc0 Update chineseSimplified.xml
Close #11858
2022-06-30 18:00:45 +02:00
Christophe Mateos
1bd22fae7c Update french.xml
Close #11849
2022-06-30 17:56:04 +02:00
Don Ho
059bca3315 Fix 1 entry per line in Search result UTF8 marked wronly issue
Fix CJK, Hebrew, Arabic and other Languages in UTF8 marked wronly issue in in Search result while "1 entry per line" option enabled.
The option in question can be enabled in RTL mode now with this commit.
2022-06-30 17:29:39 +02:00
Don Ho
980cbcccc6 Fix search results are wrongly positioned in CJK languages
Fix  #11855
2022-06-30 03:10:07 +02:00
Christian Grasser
ed4bb1a93e Update lexilla to 5.1.7 & Scintilla to 5.2.3
Use new interfaces SCI_FORMATRANGEFULL, SCI_GETTEXTRANGEFULL, SCI_FINDTEXTFULL from scintilla 5.2.3

Close #11734
2022-06-28 16:19:19 +02:00
Artem Polivanchuk
3a2ef5cff9 Update ukrainian.xml
Update Ukrainian translation based on version 8.4.1

Close #11845
2022-06-28 01:47:50 +02:00
xomx
355e06591f Update czech.xml to v 8.4.3
Close #11827
2022-06-28 01:45:23 +02:00
Tmp341
5b1c2c1949 Update Turkish localization
* According to c32da95, ad8b179, e8817ea, d3b026b, 33ab652, d65967d and 79e7667 commits.

Close #11821
2022-06-28 01:43:56 +02:00
Edditoria
ed545cb24c Update localization: Hong Kong Cantonese...
As at commit d1347d5 of this repo.
This commit does not bump version.

Close #11802
2022-06-28 01:40:25 +02:00
Karlo-F
7ec8aa285c Update croatian.xml for 8.4.3
Close #11799
2022-06-28 01:39:14 +02:00
Patriccollu
27d57e8caf Update Corsican translation for Notepad++ 8.4.3
Close #11788
2022-06-28 01:38:03 +02:00
~GOLEM~
226a41e792 Update russian.xml for v8.4.3
Close #11784
2022-06-28 01:36:35 +02:00
yasmise
e6dab70ec3 update japanese.xml
Add translations for these commits:
* Use edge colors in dark mode for listbox border (d65967deabaff17069e789019e060c9a87f5f076)
* Make EOL (CRLF) display customizable (79e766755d9d466704c535f99eb3ce99ffbbb1bf)
* Update localization files (2258274780ce18be0406183bf7b9619202c3c06e)

Close #11775
2022-06-28 01:34:10 +02:00
rddim
f50ddf8297 Update Bulgarian localization
Close #11772
2022-06-28 01:32:05 +02:00
Hugo Carvalho
4a8d7b11dd Update portuguese.xml
Commit: d65967deabaff17069e789019e060c9a87f5f076

Close #11770
2022-06-28 00:54:12 +02:00
kubalav
2d1874de40 Update Slovak translation to 8.4.2
Close #11768
2022-06-28 00:49:21 +02:00
Christophe Mateos
0d6958a5ab Update french.xml
From June the 5th commits

Close #11769
2022-06-28 00:47:18 +02:00
Markus Bodensee
6643e1a174 Update german localisation
Add translation for item 6246 (current level folding/unfolding).
Add/update translations for dark mode items.
Synchronise translation of "commands" to "Befehle" to have same word in all places.

Close #11738
2022-06-28 00:44:54 +02:00
popcorner
9de65fb6f3 Update chineseSimplified.xml
Close #11737
2022-06-28 00:41:37 +02:00
Thomas De Rocker
9cc7bddd2e Update dutch.xml
Close #11655
2022-06-28 00:40:16 +02:00
Don Ho
e8ed195aac Exclude an unstable version of one plugin from the installer
Ref:
https://community.notepad-plus-plus.org/topic/23100/notepad-8-4-2-64-bit-suddenly-closes-for-no-reason
2022-06-27 22:23:30 +02:00
xomx
7917d0d974 Fix "CMD Here" command open Explorer issue
Better specify the cmdline interpreter:
This solves a possible confusion in between the cmdline interpreter and the possible folder named "cmd"' for the ShellExecute WINAPI.

Fix #11818, close #11833
2022-06-27 17:22:09 +02:00
xomx
9d69db9b15 Fix a crash issue due to opening an empty .NFO file
There was an infinite recursion for such empty files, when the default setting for new files was UTF8.

Fixes #11820, close #11824
2022-06-27 06:01:33 +02:00
Don Ho
2258274780 Update localization files 2022-06-26 20:01:22 +02:00
Don Ho
08128ee36a Add an option allows to show only 1 entry per found line in search result
Also mark several found occurrences in the same entry - user can click on the marked occurrence to jump among found result in the found line.
This option is enabled by default. It can be disabled in "Searching" section of Preferences dialog.

It's an alternative implementation of #11705

Fix #2481, fix #1499, fix #5547, fix #2987, fix #4525, fix #3224, close #11808
2022-06-26 18:41:05 +02:00
Don Ho
3b04793097 Fix Find in files performance regression since updating Scintilla 5
It's due to the folding the previous result before the begin of search.
For the unknown reason there's performance issue if folding action is at this place for Scintilla 5.

Fix #11814
2022-06-18 18:10:04 +02:00
dail8859
f1ed4de78d Add NPPM_CREATELEXER message for plugins to instantiate lexers
Fix #11789, close #11790
2022-06-14 22:55:27 +02:00
Don Ho
f69a9093f9 Fix x64 build error 2022-06-14 15:39:10 +02:00
Don Ho
d0b2a9ff9d Skip save all warning dialg if only current editing file is dirty
Here is the behaviour of this commit:
1. If there's only one file dirty, and it's current editing one, then SaveAll dialog won't display.
2. If there's only one file dirty, and it's NOT current editing one, then SaveAll dialog WILL display.
3. If there's 1 editing file which is dirty, and its clone (dirty also) is on the other view, then SaveAll dialog WILL display.

Fix #10995
2022-06-14 02:52:52 +02:00
Don Ho
d1347d5014 Use "Max Speed" compiling optimization instead of "Full" compiling optimization
Use \Os instead of \Ox and fix the incoherent settings for the program optimization.

Fix #11778
2022-06-13 19:55:26 +02:00
Don Ho
2d7b2093a1 Fix font definition for languages regression in Style Configurator
Defining font for languages is no more possible in Style Configurator.
This regression is due to commit 1567847 (PR #10483).

Fix #11786, close #11787
2022-06-13 18:41:17 +02:00
Don Ho
79e766755d Make EOL (CRLF) display customizable
Fix #11413, close #11773
2022-06-12 19:41:09 +02:00
ozone10
f517c6c053 Enhance dark mode support for plugins
- Add support for 3 state checkbox buttons.
- Add support for plugin custom draw for listview subitems.
_ Apply correct colors on listbox.

Enhancement to #11711.
Based on information from https://community.notepad-plus-plus.org/topic/23080/impact-analysis-of-generic-darkmode-rendering-of-plugin-dock-panels-from-pr-11711.

Close #11767
2022-06-08 02:29:46 +02:00
Don Ho
82b78ff7b8 Fix error from commit b6efff4 2022-06-07 01:23:32 +02:00
Don Ho
b6efff4157 Fix Selected text changes color issue when editor window loses focus
Fix #11743
2022-06-07 01:08:20 +02:00
ozone10
d65967deab Use edge colors in dark mode for listbox border
1. use edge colors in darkmode for edit control border.
2. tweaks to properly drawn listbox scrollbar, when using custom border.
3. disabled edge color to dark mode preference dialog.
4. use disabled edge color for disabled combobox.

Fix #11207, fix #11376, close #11756
2022-06-06 20:25:17 +02:00
ozone10
2c0134ef5a Add plus and arrow (drop down list of opened files) buttons on menu bar
1. Add plus and arrow buttons on menu bar beside of 'X' button:
   - plus button: for adding a new document
   - arrow button: display a drop down list for all opened files to offer users quick access of switching file
2. Enhance the most recent opened file list: Increase maximun file number to 30.

Fix #11229, close #11757
2022-06-05 15:44:05 +02:00
Don Ho
33ab652395 Make dark mode support for plugin by default
And remove the GUI option to disable this feature.
(based on d3b026bfeb96eb39e0402673d68dd04e640e2e1e)
2022-06-05 03:51:34 +02:00
ozone10
d3b026bfeb Add dark mode support for plugins
Support dark mode for plugins with docking GUI.

Fix #11710, close #11711
2022-06-05 03:39:28 +02:00
Shridhar Kumar
b204be9012 Fix a small regression in DebugInfo dialog
Remove "$COMMAND_LINE_PLACEHOLDER$ from the copied DebugInfo text.

Fix #11752, close #11753
2022-06-04 18:14:57 +02:00
Don Ho
a02a254ea1 Notepad++ 8.4.2 release 2022-06-03 18:28:42 +02:00
Don Ho
2d47c8d340 Fix an order error in toolbarIcons.xml 2022-06-03 04:27:45 +02:00
Don Ho
b5479bb9b0 Fix Plugin Admin not showing on menu due to certificate checking problem
* Fix certificate checking problem: the old certificate has been expired. In v8.4.2 Notepad++ & its components are signed by the new certificate. The certificate is checked before launching WinGUp (updater) to compare with the certificate key value stored in Notepad++. Updating certificate key value fixes the problem of WinUp validation, so Plugin Admin can be shown on the menu.
* Fix a typo.

Fix #11742
2022-05-29 17:23:31 +02:00
ArkadiuszMichalski
8498e06193 Fix Debug builds missing
Fix #11728, close #11730
2022-05-27 14:55:33 +02:00
Edditoria
5354f61f8e Update localization: Hong Kong Cantonese...
As at commit a630b63 of this repo.

Close #11708
2022-05-27 14:48:09 +02:00
ArkadiuszMichalski
bcebfe15ea Update polish.xml to 8.4.2
Update polish.xml to 8.4.2 according to the last commit.

Close #11731
2022-05-27 04:24:24 +02:00
rddim
6613a6da15 Update Bulgarian localization
Close #11675
2022-05-27 04:21:43 +02:00
A. Regnander
dc0e5740c5 Update swedish.xml
Close #11707
2022-05-27 04:19:02 +02:00
Don Ho
fa3ba7e389 Fix customizing toolbar icon messed with dark mode
Ref:
d85b9a7464 (commitcomment-74498214)
2022-05-27 04:06:11 +02:00
xomx
b25f37646d Update czech.xml to v8.4.2
Close #11727
2022-05-26 15:37:14 +02:00
Mathias Berchtold
4487171c3f Add gui4cli keywords and fix style IDs in stylers.model.xml
Close #11712
2022-05-26 03:15:26 +02:00
Patriccollu
c55026cd45 Update Corsican translation for Notepad++ 8.4.2
Close #11722
2022-05-26 02:48:59 +02:00
~GOLEM~
91fdc8b1d6 Update russian.xml to v8.4.2
Close #11689
2022-05-26 02:47:25 +02:00
yasmise
44e7f283ee update japanese.xml to v8.4.2
Add translations for these commit:
* Add edge highlight color in customized dark colors of Preferences dialog (ad8b1791b4c761bbdcd098260f25cf122535e768)
* Update localization files (e8817eacd01b163f97efa89ef2bc2ba5b271010c)

Close #11686
2022-05-26 02:45:50 +02:00
kubalav
d491bb431a Update Slovak translation
Close #11672
2022-05-26 02:44:54 +02:00
Hugo Carvalho
0b41f4f5c8 Update portuguese.xml
Close #11668
2022-05-26 02:43:40 +02:00
Edoardo Lolletti
3b208743bd Display the accurate OS version in DebugInfo (for Windows build 21H1 and greater)
Query for DisplayVersion as well instead of using only ReleaseId.

Windows deprecated the ReleaseID registry entry (now it is no longer updated and on newer Windows 10/11 builds will remain the same) and moved to use DisplayVersion.
Attempt now to first query DisplayVersion and in case that is missing, fall back to ReleaseID for older Windows 10 builds.

Close #11714
2022-05-26 02:29:53 +02:00
Don Ho
ddbb75f0f7 Make Plugin Admin exception message more clear 2022-05-25 19:27:18 +02:00
Robert Di Pardo
d6595ad836 Make Plugins Admin work with MinGW in debug mode binary
Convert path to nppPluginList.json with ::wstring2string().

Unlike MSVC [1], MinGW GCC doesn't provide file stream constructors
for wchar_t* paths [2].

 ---
 [1] https://stackoverflow.com/a/822032
 [2] https://sourceforge.net/p/mingw-w64/mailman/message/34249829

Fixes #11687, close #11701
2022-05-25 18:37:21 +02:00
Don Ho
e8817eacd0 Update localization files 2022-05-25 03:57:32 +02:00
Christophe Mateos
ee707ca67e Update french.xml
Close #11677
2022-05-25 02:34:19 +02:00
Don Ho
96590a6f94 Fix win32 build due to the previous commit 2022-05-24 19:00:52 +02:00
Don Ho
d85b9a7464 Make toolbar icons customizale
This is the enhancement of a long time forgotten feature.

To override the current toolbar icons, we needs 2 things: "toolbarIcons.xml" file and one icons set.
Here are the instructions to customize toolbar icons:

1. Put the file "toolbarIcons.xml" (Note 1) in the same folder of "config.xml" file (Note 2).
2. Create a new folder "toolbarIcons" in the folder where you put "toolbarIcons.xml" file.
3. Edit the file "toolbarIcons.xml": put the icon set name you want in "icoFolderName" attribute (Note 3).
   for example: `<ToolBarIcons icoFolderName="myAwesomeIcons" />`
4. Go into "toolbarIcons" folder and create a new folder with the exact name of the icon set name you provided in "icoFolderName".
5. Put all your customized icons into "[toolbarIcons.xml's folder]\toolbarIcons\myAwesomeIcons\".
6. Now it's the magic moment: Relaunch Notepad++ and you'll see your icon set instead of the default icons.

Note:
1. The content of "toolbarIcons.xml" is following:
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<NotepadPlus>
    <ToolBarIcons icoFolderName="nppLagacyIcons" />
</NotepadPlus>
```
2. If you find the file "doLocalConf.xml" in the Notepad++ installed directory, you will find the "config.xml" in Notepad++ installed directory. Otherwise it should be in "%APPDATA%\Notepad++\" directory.
3. if "icoFolderName" value is an emptty string, the path of icons will be in "[toolbarIcons.xml's folder]\toolbarIcons\default\" folder.

Each replacing icon (45 icons) has the fixed and specific name:

| index |  Normal icon             |  Disabled icon                  |
|-------|--------------------------|---------------------------------|
|1      |  new.ico                 |                                 |
|2      |  open.ico                |                                 |
|3      |  save.ico                |  save_disabled.ico              |
|4      |  save-all.ico            |  save-all_disabled.ico          |
|5      |  close.ico               |                                 |
|6      |  close-all.ico           |                                 |
|7      |  print.ico               |                                 |
|8      |  cut.ico                 |  cut_disabled.ico               |
|9      |  copy.ico                |  copy_disabled.ico              |
|10     |  paste.ico               |  paste_disabled.ico             |
|11     |  undo.ico                |  undo_disabled.ico              |
|12     |  redo.ico                |  redo_disabled.ico              |
|13     |  find.ico                |                                 |
|14     |  replace.ico             |                                 |
|15     |  zoom-in.ico             |                                 |
|16     |  zoom-out.ico            |                                 |
|17     |  sync-vertical.ico       |                                 |
|18     |  sync-horizontal.ico     |                                 |
|19     |  word-wrap.ico           |                                 |
|20     |  all-chars.ico           |                                 |
|21     |  indent-guide.ico        |                                 |
|22     |  udl-dlg.ico             |                                 |
|23     |  doc-map.ico             |                                 |
|24     |  doc-list.ico            |                                 |
|25     |  function-list.ico       |                                 |
|26     |  folder-as-workspace.ico |                                 |
|27     |  monitoring.ico          |  monitoring_disabled.ico        |
|28     |  record.ico              |  record_disabled.ico            |
|29     |  stop-record.ico         |  stop-record_disabled.ico       |
|30     |  playback.ico            |  playback_disabled.ico          |
|31     |  playback-multiple.ico   |  playback-multiple_disabled.ico |
|32     |  save-macro.ico          |  save-macro_disabled.ico        |

It's not necessary to have all complete set (45 icons). The absent icons won't just be substituted.

Fix #9913
2022-05-24 17:57:38 +02:00
Don Ho
05dae4a720 Make fold/unfold current line commads togglable
Add an option "Make current line folding/unfolding commands togglable" in Editing section of Preference dialog to make both Collapse/Uncollapse Current level commands togglable.

Fix #11529, fix #9196, close 11699
2022-05-21 02:23:03 +02:00
Don Ho
e701c208a6 Fix regression in Alt icons settings
The regression is Caused by 6729739.

Fix #11703
2022-05-20 16:20:59 +02:00
Don Ho
3750cf8fa3 Fix horizontal scrolling with scroll wheel on Logitech MX issue
Fix #10490, close #11700
2022-05-20 15:05:13 +02:00
Shridhar Kumar
b3a9ec5dfe Fix a small regression of DebugInfo
Select the entire DebugInfo text, with the command line params inserted.

This is a minor fix for an issue resulting from the last-minute changes in commit 0f8d572 (Add command line argument for plugin, a related notification and an API).

Close #11697
2022-05-20 02:24:18 +02:00
Don Ho
10f48e36ad Fix typos 2022-05-19 19:32:35 +02:00
ozone10
a577564699 Make dark mode groupbox edge to use edge color
Make also combobox border round on Windows 11 to match style, and fix visual glitch with transparency groupbox in Find dialog.

Fix #11693, close #11694
2022-05-18 20:12:19 +02:00
Don Ho
c9b177bb9e Fix a memory leak in "Copy Binary Content" comment
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/11671#issuecomment-1128975960
2022-05-17 18:08:40 +02:00
Don Ho
8a37bed448 Make file description shorter to suit the context menu
Fix #11688
2022-05-17 17:52:08 +02:00
Shridhar Kumar
df438ea944 Fix crash on "Copy Binary Content" command without selection on edit zone
Fix also an issue that the word where the cursor is on in the edit zone is selected after running ABOUT box, that makes all the occurence of same word highlighted in the edit zone.

Fix #11639, fix 11671, close #11673
2022-05-17 17:09:29 +02:00
ozone10
def3aba4e6 Fix dark mode tab left-right control for floating docking containers
Fix #11683, close #11684
2022-05-17 14:51:58 +02:00
ozone10
c72dac69c5 Add dark mode support on shortcut mapper entirely
Fix #11530, close #11682
2022-05-17 04:44:43 +02:00
Shridhar Kumar
2aa85006d2 Fix crashes by re-invoking with command line argument "-udl"
Fix crashes when re-invoked with -udl command line parameter with more than 7 characters as its value:
Serialize _udlName from generic_string to wchar_t _udlName[MAX_PATH].

Fix #11633, close #11681
2022-05-17 04:29:35 +02:00
ozone10
a630b63c9a Add encoding context menu via right/double click on encoding display zone of status bar
Fix #9998, fix #400, fix #756, close #11678
2022-05-16 14:40:40 +02:00
Shridhar Kumar
0f8d5724af Add command line argument for plugin, a related notification and an API
1. Add a cmd argument for plugin: -pluginMessage="SPECIFIC_PLUGIN_MESSQGE" where SPECIFIC_PLUGIN_MESSQGE is a string which can contain white space. For example: -pluginMessage="arg1 arg2 arg3".
2. NPPN_CMDLINEPLUGINMSG notification: which will be triggered by -pluginMessage and plugins will get their specific message "arg1 arg2 arg3" via idFrom field:
   //scnNotification->nmhdr.code = NPPN_CMDLINEPLUGINMSG;
   //scnNotification->nmhdr.hwndFrom = hwndNpp;
   //scnNotification->nmhdr.idFrom = pluginMessage; //where pluginMessage is pointer of type wchar_t
3. Add NPPM_GETCURRENTCMDLINE API for getting the latest command line.
4. Update command line dynamically in Debug info dialog.

Fix #11576, close #11589
2022-05-16 04:54:31 +02:00
ozone10
67297397d4 Make Alternate Icons behaviour in dark mode consistent
The usage of alternate icons in dark mode can be remember now though the sessions.

Fix #10159, close #11674
2022-05-16 01:48:04 +02:00
Robert Di Pardo
77a53ebd2f Show installed plugin versions in Debug Info dialog
Fix #11284, close #11662
2022-05-16 01:19:46 +02:00
Karlo-F
74395977bb Improve "Deep Black" theme
* Corrected description
* Added new lines for PHP, INI, CSS and GlobalStyles
* Darkened YAML (it wasn't dark)
* Minor corrections

Close #11608
2022-05-15 04:11:30 +02:00
ozone10
ad8b1791b4 Add edge highlight color in customized dark colors of Preferences dialog
Fix #11642, close #11641
2022-05-14 17:52:28 +02:00
Don Ho
62e916edec Notepad++ v8.4.1 release
Disclaimer: these binaries were compiled at 13,500 metres altitude!
2022-05-11 14:41:08 +02:00
Edditoria
a1eed77953 Update localization: Hong Kong Cantonese...
As at commit ef9e836 of this repo.
Also bump version to v8.4.1 in advance.

Close #11645
2022-05-08 23:09:35 +02:00
Don Ho
6e83e6810a Restore auto-completion & calltip default fg/bg colors (no theme)
Fix #11637
2022-05-08 15:20:21 +02:00
Don Ho
82c03424bb Fix a typo and update version number 2022-05-08 14:01:48 +02:00
Don Ho
ef609c896f Add a new format argument/option "ADD_ZERO_PADDING" to NPPM_GETNPPVERSION
Fix #11535
2022-05-08 13:58:45 +02:00
Karlo-F
bdf60d80ff Update croatian.xml
Update Croatian localization to v8.4.1

Close #11625
2022-05-05 22:02:48 +02:00
Iñigo Zendegi
fcd88d73bb Update basque.xml
Close #11624
2022-05-05 21:55:50 +02:00
~GOLEM~
8d1a294bf0 Update russian.xml v8.4.1
Close #11621
2022-05-05 21:52:43 +02:00
yasmise
7b327c583f update japanese.xml to v8.4.1
Add a translation for this commit:
* Update localization files according to d3e77c0 (c32da953cf9d1360ff4d30d8b26f31e1be993117)

Close #11615
2022-05-05 21:47:22 +02:00
rddim
3050766379 Update Bulgarian localization
Close #11614
2022-05-05 21:44:39 +02:00
schnurlos
5d55e9bdde Update german.xml to v8.4.1
Following c32da953cf

Close #11612
2022-05-05 21:39:33 +02:00
Hugo Carvalho
bc05457133 Update portuguese.xml
For commit: c32da953cf9d1360ff4d30d8b26f31e1be993117 and other minor corrections

Close #11640
2022-05-05 21:37:06 +02:00
xomx
b6876663b9 Update czech.xml to v8.4.1
Close #11605
2022-05-05 21:32:41 +02:00
kubalav
b8b5a9bc5d Update Slovak translation to 8.4
Close #11604
2022-05-05 14:06:19 +02:00
anishbl
feeda47995 Update tamil.xml
Changes:
     1) Removal of redundant lines (redundancy as defined by absence from the English version, I have not gone on to check the code for where each term is used, refer to Issue https://github.com/notepad-plus-plus/notepad-plus-plus/issues/11561#issue-1210847469)
     2) Addition of lines which are found in the English version but were absent in the Tamil
     3) Spelling error rectifications (eg: "கீல்" is an erroneous form of கீழ்)
     4) Retention of English words for certain terms best left untranslated (eg: Macro; பெருநிரல் _does_ convey the literal meaning, but would be extremely confusing, as such usage is specialized and not directly connected to the literal meaning. Macro here performs much like a proper noun, an untranslatable, and I opine that translating that would be quite similar to translating Notepad++, Windows etc. In other cases, perceived rarity of the term's usage, potential confusion, and lack of sufficient systematicity in the usage of programming terms in Tamil have also been reasons)
     5) Rewording certain terms as they seem of a fringe usage, and replacing them with commoner alternatives (eg: படி எடு for Copy has been replaced by நகலெடு, whose use is fairly universal nowadays, in OSs, apps, websites, etc. which display in Tamil.  It must be noted that the previous version seems to be nearly ten years old, and probably the usage was more fluid and non-standard back then.)
     6) Removal of lines that are plainly copied out from the English version untranslated, and cannot be translated
     7) Addition of &amp;/alt codes (I'm not sure exactly what they're called) as in English

Unresolved Problem Points:
     1) The alt codes have been presented to a user using the Latin/English keyboard.  (eg: for "&amp;File", "கோப்பு (&amp;F)" has been provided instead of the equally viable "&amp;கோப்பு") This, although in keeping with the previous version, may present Tamil users an inconsistent display, what with the numerous bracketed and seemingly random English letters beside Tamil text, and inconvenience users of Tamil keyboard(s).
The example of other Indian languages may be used to argue for "&amp;கோப்பு", while the example of Chinese, Japanese and Korean may be used to argue otherwise (it must be noted, though, that Tamil and Indian languages have their own keyboards as well as phonetic typing from English, whereas Chinese et.al. are typed, as far as I am aware, solely using the phonetic English method, and therefore the first argument may not stand)
To be very honest, I almost set out removing all the old bracketed-English-letter style stuff and creating them based off Tamil letters, but chickened out seeing the utter scale.  I also am not sure how this would be welcomed by users, since they may now be quite habituated to using the English letters, and tampering with the functionality of the application (to a tiny extent, admittedly) is _not_ what I thought I was taking into my hands when I started doing this
     2) Most of the popup messages have been left untranslated, coming to more than hundred lines (I'm sorry, I'm not doing any more now, maybe later, or hopefully someone else who uses N++ in Tamil/knows Tamil can step up and help; I'm sure my version of even those parts that I _have_ edited is not up to snuff either)
     3) There are some technical vocabulary issues. For instance, there is a general confusion between அழி, நீக்கு and அகற்று for delete and remove.  I have chosen அகற்று for remove, and kept the other two both for delete, due to how often both were used. But I think there could be a better solution, and a more systematic one.  This is also, incidentally, just the tip of the iceberg.
     4) I was also unsure about where to draw the line between translating an English word to Tamil and retaining the English word.  In several cases, I used my familiarity with the words in a technical context to make such a decision.  Since I also relied quite a bit on online dictionaries, and cross checked them across websites to be sure, I cannot vouch for all of them, and probably quite a few have been excessively Tamilised, or retained in English even when a patently viable and common alternative exists. I hope some others can account for those

Close #11579
2022-05-05 14:02:16 +02:00
Patriccollu
d84be6c2fe Update Corsican translation for Notepad++ 8.4.1
Close #11593
2022-05-05 13:57:48 +02:00
Don Ho
77d62496df Update localization files 2022-05-05 13:50:49 +02:00
mere-human
ccbf08dc98 CustomFileDialog: Focus the file name when file already exists
Fix #11630, close 11631
2022-05-05 01:20:07 +02:00
ozone10
ef9e836903 Add border to dark mode tabs
Minor tweaks to autocomplete, to make top white rectangle dark on resize.

Fix #11622, close #11623
2022-05-02 14:24:19 +02:00
Shridhar Kumar
664d46084b Override "current line indicator" style in "Search results"
Fix #11596, close #11598
2022-05-02 01:45:04 +02:00
SnipUndercover
3f322faf62 Fix a crash in UDL
Fix infinite loop while lexing UDL multi-part keyword in prefix mode.

Fix #11434, close #11543
2022-05-01 02:07:19 +02:00
Shridhar Kumar
b57254aece Minor cosmetic touchups to Preferences & Style Configurator UIs
Preferences Dialog - MultiInstance UI:
1. Increased the height of the 1st groupbox by 3 units.
2. Shifted the controls inside it by 4 units.
3. Reduced the height of the 2nd groupbox by 3 units.
4. Shifted the groupbox top and the checkbox only down by 3 units.

Style Configurator Dialog:
5. Added 'BS_CENTER' modifier to "Font Style" & "Colour Style" groupboxes.

Fix #11590, close #11591
2022-04-30 01:01:41 +02:00
Don Ho
9cc01de97c Fix "Reload from disk" loosing syntax highlighting regression
In Scintilla4 reloaded document keeps its syntax highlighting without re-applying the lexer for its syntax highlighting.
It seems the behaviour has been changed in Scintilla5. Hence this workaround to force to apply syntax highlighting after reloading.

Fix #11606, close #11610
2022-04-29 19:44:54 +02:00
Rajendra Singh
77fcedbd19 Fix "Find progress bar" UI clipping
Close #11572
2022-04-29 16:25:48 +02:00
ozone10
dfc9fb6f3b Highlight dark mode combobox border on focus
Fix #11574, close #11575
2022-04-29 13:50:27 +02:00
Robert Di Pardo
2fbac354ed Fix HTML syntax highlighting in PHP files regression
Restore HTML syntax highlighting in PHP files.

Fix #11585, fix #11602, close #11588
2022-04-29 04:08:13 +02:00
Christian Grasser
100d45f7cf Update Scintilla from 5.2.1 to 5.2.2 and Lexilla from 5.1.5 to 5.1.6
Close #11537
2022-04-28 23:27:54 +02:00
Don Ho
3b0d5242ac Fix unfocused selected text background color changed problem
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/11419#issuecomment-1094362796

Fix #11595, close #11601
2022-04-28 02:39:11 +02:00
mere-human
c94d50842e Fix file name field highlighted while focus is on type combobox in Save As dialog
Fix #11517, close #11540
2022-04-28 01:40:47 +02:00
ozone10
87f4249d6b Add support for dark tab updown control
Fix #10054, close #11554
2022-04-26 19:30:52 +02:00
Leonardo Silva
1eb5b10e41 Add DarkMode usage detection support for plugins
Add APIs: 2 new messages NPPM_ISDARKMODEENABLED & NPPM_GETDARKMODECOLORS, and 1 new notification NPPN_DARKMODECHANGED.

Fixed also a bug in dark mode for PushLike CheckBoxes.

Fix #11546, close #11547
2022-04-26 19:27:35 +02:00
Ibrahim Kosgi
1dffb05e0a Add file monitoring command line argument [-monitor]
Fix #10562, close #11539
2022-04-26 19:17:25 +02:00
Don Ho
c32da953cf Update localization files
according to d3e77c0e6f
2022-04-26 18:52:30 +02:00
Shridhar Kumar
d3e77c0e6f Add "Framed current line" option beside of "Highlight current line background"
The related GUI in Preferences dialog has been organized in the adapted way for the new option.

Fix #11501, close #11534
2022-04-26 16:59:21 +02:00
Ian O'Neill
c40c90e8a4 Make the dark mode color scheme palatable for ini, json & props files
Fix #11544, close #11555
2022-04-26 16:01:43 +02:00
CennoxX
0505bda865 Sort "Search result" to the bottom in language list of Style Configurator
Exclude "Search Results" from the sort and placing it at the bottom as it was before:
2474cbeafd

Fix #11337, close #11557
2022-04-26 15:38:18 +02:00
Don Ho
f6ade2c915 Notepad++ 8.4 release: Keep Standing up for Ukraine 2022-04-26 00:46:56 +02:00
ArkadiuszMichalski
292c057f65 Update polish.xml
Close #11553
2022-04-20 02:41:56 +02:00
Artem Polivanchuk
cbd17386e2 Update ukrainian.xml
Close #11549
2022-04-20 02:39:56 +02:00
ozone10
4f002c86b8 Fix cropped text in Shortcut mapper's status area issue
Adjust padding to fix ShortcutMapper visual glitch.

Fix #10358, close #11536
2022-04-20 02:23:01 +02:00
Don Ho
5d5d2025af Fix HTML document syntax highlighting not working regression
Fix https://community.notepad-plus-plus.org/topic/22855/notepad-v8-4-release-candidate/5?_=1650282276299
2022-04-19 16:24:42 +02:00
danny
054e3d0ae1 Installer: Remember the chosen language in the previous installation
Set/read default installer language to/from registry.

Fix #10582, close #11492
2022-04-19 15:55:45 +02:00
Edditoria
0b54cb4daa Update localization: Hong Kong Cantonese...
As at commit 3afbf0c of this repo.
Also bump version to v8.3.4 in advance.

Close #11527
2022-04-14 03:12:31 +02:00
yasmise
4b6889b855 update japanese.xml
Add translations for these commits:
* Add default sorting ability in Function list (64bfa72bd0693344b81017cece1f52a28511e42a)
* Add virtual space ability (88ed851478b3426e9cca365b67a1ceb4cd4f92e2)

Close #11512
2022-04-14 03:10:33 +02:00
Karlo-F
20644933a0 Update croatian.xml
Close #11509
2022-04-14 03:08:11 +02:00
Tmp341
23de2e68c9 Update Turkish localization
* According to 1c8b867, ee76513, 64bfa72 and 88ed851 commits.

Close #11507
2022-04-13 23:37:00 +02:00
rddim
ae75245a75 Update Bulgarian localization
Close #11499
2022-04-13 23:29:12 +02:00
Patriccollu
2f329b0e40 Update Corsican translation for Notepad++ 8.3.4
Close #11496
2022-04-13 23:20:02 +02:00
Christophe Mateos
b6a62fc3fa Update french.xml
Close #11495
2022-04-13 23:16:20 +02:00
kubalav
e76a5c3970 Update Slovak translation to 8.3.3
Close  #11491
2022-04-13 22:51:09 +02:00
~GOLEM~
57730801d9 Update russian.xml v8.3.4
Close  #11455
2022-04-13 21:45:38 +02:00
Hugo Carvalho
bee712d865 Update portuguese.xml
Close #11449
2022-04-13 21:43:54 +02:00
ozone10
2dbc25f918 Add initial dark mode support for Shortcut Mapper
- Partially implement #11530.
- Minor tweaks for drawAutocompleteColoursFromTheme to avoid double calling.

Close #11531
2022-04-13 21:11:17 +02:00
ArkadiuszMichalski
d656c19de0 Update polish.xml to 8.3.3
Close #11423
2022-04-13 05:22:01 +02:00
Sapziller
016d0fcc7d update korean.xml 8.3.3
Close #11402
2022-04-13 05:20:24 +02:00
schnurlos
f30fbcbee5 Update german.xml
Added missing translation for "FileLoadingException"

Close #11382
2022-04-13 05:18:44 +02:00
Karlo-F
235d9dea76 Update Deep Black.xml
Add stylers for "registry" files.

Close #11513
2022-04-13 05:15:04 +02:00
Don Ho
0ee65fd826 Fix x64 build error in 3f1a582a36db175a4f86b35dcd47f3aa5bf331fa
Fix x64 build error, remove unnecessary codes and add enhancement for the previous commit 3f1a582a36db175a4f86b35dcd47f3aa5bf331fa
2022-04-13 04:43:08 +02:00
ozone10
3f1a582a36 Add dark mode support for autocomplete list & calltip
Fix fix #11522, close #11523
2022-04-13 03:42:38 +02:00
Ben Rudiak-Gould
4ffd1e9858 Fix lossing characters issue after case-conversion (UPPER/lower)
Fix case-conversion code to handle changing string lengths:
Fixes an issue where, e.g., upper-casing U+2C65 adds garbage to the
document because its capital form U+023A has a shorter UTF-8 encoding.
Incidentally fixes another bug: rows would be truncated at the first
NUL when changing case in column mode.

Fix #11463, close #11464
2022-04-12 21:14:27 +02:00
Shridhar Kumar
e094e99697 Fix "Enable current line highlighting" not working correctly
This is a regression of upgrading Scintilla from 4.x to 5.x due to concerning Scintilla APIs having changed their behaviour.
This PR follows the new instructions of Scintilla documentation to make it work again.

Fix #11433, close #11433
2022-04-11 23:11:33 +02:00
ozone10
3afbf0ca14 Fix light mode disabled text color using dark mode customized color
Light mode disabled static text was using customized dark mode disabled static text color, this PR fixes the problem.

Fix #11514, close #11515
2022-04-11 16:25:39 +02:00
wiseyestudio00
721f994df8 Fix "Sort Lines as Integer" not considering negative number
The current implementation is a variant of Natural Sort, which takes in account of negative numbers.

Fix #11023, fix #2025, close #11481
2022-04-10 19:44:49 +02:00
Don Ho
a16f08468e Fix RTL regression after upgrading Scintilla from v4 to v5
This regression has been fixed in Scintilla project:
fa80f5d42d/

Fix #11476, close #11516
2022-04-10 18:21:08 +02:00
Karlo-F
6d929e1871 Shorter Croatian name in localization menu
Shorter "Hrvatski" (Croatian) instead of "Hrvatski jezik" (Croatian language).

Close #11510
2022-04-09 22:41:50 +02:00
Don Ho
00abd511b4 Remove the binary committed by ad39c6861136dce3bd77b43f5e94b88a892e443e 2022-04-09 21:33:30 +02:00
Don Ho
2474cbeafd Sort languages alphabetically in Style Configurator
Fix #11337, close #11508
2022-04-09 21:17:59 +02:00
Shridhar Kumar
ad39c68611 Fix dark mode square edges around buttons for Windows 10
Close #11506
2022-04-09 21:01:14 +02:00
ozone10
b88e2fe57f Apply darkmode on missing preference dialog items
- Edit control in Date Time for Custom format
- Tooltip in Delimiter for Word character list
- Fix blurry text in Link for Clickable Link Settings

Fix #11497, close #11498
2022-04-09 19:59:52 +02:00
ArkadiuszMichalski
46ce9c31df [MinGW] Restore the original Scintilla makefile
For the sake of maintenance of Scintilla (future update), we try to not modify Scintilla project, or at least minimize its modification.
Hence the compiling boost part is shifted to Notepad++ project.

Fix #11014, close #11485
2022-04-09 17:39:21 +02:00
komurugov
7fa6fb083b Scrolling Document List automatically to make the selected tab item visible
Scrolling "Document List" to make the selected item visible after:
- selecting
- opening a file or files
- the program startup
- adding/removing columns

This commit doesn't cover the case of the selected item becoming invisible after resizing of the window.

Fix #11204, close #11471
2022-04-07 18:35:23 +02:00
wiseyestudio00
b4a58429c3 Make Find in Files Search Result line number aligned
Fix #11119, close #11479
2022-04-07 03:01:21 +02:00
Manuel Montoto
88ed851478 Add virtual space ability
Added an option in preferences to enable or disable virtual space.

Fix #11443, Fix #11444, close #11452
2022-04-06 15:37:23 +02:00
Daniel Fuchs
64bfa72bd0 Add default sorting ability in Function list
* Add new preference setting to allow function list to be sorted lexicographically by default.
* Fix sorting for mixed mode function list parsers on new file open.
* Add new translations to english.xml and german.xml.

Fix #11446, close #11447
2022-04-06 14:59:02 +02:00
Don HO
658b626257
Update BUILD.md 2022-04-06 01:18:11 +02:00
ArkadiuszMichalski
44bcf1cff6 [MinGW] Place the Scintilla build intermediate files separate from the source files
1. Scintilla and Lexilla intermediate files are created in the same folder as NPP build file (`bin.i686.build` or `bin.x86_64.build`), but in subfolder `_lexilla.build` and `_scintilla.build`. I added `_` char at the beginning so these folders are always at the beginning. If you prefer a different name or location it can be change.
2. Stop build and dispaly error message when someone run "outside build" (use `-f` option) and source path has any spaces. It won't work anyway, so it's worth stopping the process and give a clear message.
3. Add new phony target `sciclean` and `lexclean` for deleting Scintilla or Lexilla intermediate files separately.
4. Change `_` to `|` for temporary replacement of space characters when detect proper shell. Char `_` is allowed in paths and should not be used for that purpose.
5. Add one more condition for `MAKELEVEL` variable to prevent unnecessary second calls to Scintilla and Lexilla makefile.
6. Update also `nppSpecifics_mingw.mak` file to works with above change.

Now we don't have to remember to clean up the previous files when we switch to different compiler (32-bit or 64-bit) or when we generate a debug version.

Fix 10991, close #11450
2022-04-06 01:16:11 +02:00
Don Ho
04e17b7375 Fix JSON, JavaScript and BaanC syntax highlighting not working regressions
Thanks to:
2113e782fb (r70489851)
2022-04-05 17:37:42 +02:00
sssousa
b3296a1fd9 Update Inno Setup keyword list
Close #11432
2022-04-05 04:08:18 +02:00
Anders
4426f43cfd Update NSIS keywords file and autocompletion file
Close #11442
2022-04-05 03:11:13 +02:00
mpheath
ee28051a71 Fix flashing box (autocompletion empty list) whilst Typing issue
Fix #9433, close #11460
2022-04-05 02:10:57 +02:00
Don Ho
48ee390cdd Fix doc being wronly marked as saved bug after converting its encoding
Fix #11436, close #11440
2022-04-04 21:58:20 +02:00
Oren Farhi
66ca02a015 Update Bespin theme website url
Close #11428
2022-04-04 21:13:55 +02:00
Don Ho
2113e782fb Use string lexer ID instead of numeric ID for Scintilla 5
Plus some factoring.

Close #11472
2022-04-04 18:01:51 +02:00
Don Ho
121a396bf0 Make external language library work again after upgrading to Scintilla5
Make external lexer library work again after upgrading to Scintilla5.
Old external lexer libraries needs to add CreateLexer export function which returns ILexer5 instance (Lexilla protocol interface of Scintilla5).

Tested with papyrus lexer plugin, this external lexer plugin is compatible with Notepad++ next release:
https://github.com/blu3mania/npp-papyrus

Close #11468
2022-04-03 18:23:03 +02:00
Don Ho
252468c29b Revert "Remove the external lexer support"
This reverts commit 41a5bf0245b53e74186e49a21adec2c518587b5c.
2022-04-01 19:17:18 +02:00
Don Ho
2871ee519b Revert "Fix syntax highlighting regression with cmdline argument"
This reverts commit 7a2f809e68fee49d5fd3f9fc08521478d5f356e5.
2022-04-01 19:16:41 +02:00
Don Ho
7a2f809e68 Fix syntax highlighting regression with cmdline argument
41a5bf0245 (commitcomment-69921228)
2022-03-31 03:04:10 +02:00
Don Ho
41a5bf0245 Remove the external lexer support
SCI_LOADLEXERLIBRARY has been removed since Scintilla 5,
and I belive that Scintilla won't support it anymore:
https://sourceforge.net/p/scintilla/bugs/2236/

Close #11451
2022-03-30 18:52:47 +02:00
Christian Grasser
a61b03ea88 Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5
Update with https://www.scintilla.org/scintilla521.zip
            https://www.scintilla.org/lexilla515.zip

- fix setting to bring Scintilla::PositionCR from ScintillaStructures.h inline with Sci_Position.h Sci_PositionCR
- add workaround to enable lexer for searchResult
commented out SCI_SETILEXER call on searchResult to get one result which is correctly handled by the lexer,
added comment about the current problem with property @MarkingsStruct which seems to disappear after call to SCI_SETILEXER or CreateLexer
- corrected usage of ObjC lexer
- removed unnecessary filter stuff
- use own sections for scintilla and lexilla build targets and allow parallel builds
- as libscilex is no longer existing, changed to libscintilla
- adapt makefiles and cmake
- use VS2019
- started simple changes for createlexer adaptations, nullpointercheck missing on return of lexer name from deprecated LexerNameFromID -> undefined behaviour
- movement from id -> lexer name, mostly done via LexerNameFromID + switching off corresponding compiler warning
- changed to SCI_SETILEXER from SCI_SETLEXER, SCI_SETLEXERLANGUAGE needs to be corrected, see Scintilla5Migration.html
- just commented out: SCI_LOADLEXERLIBRARY

Fix #10504, close #11419
2022-03-27 17:12:53 +02:00
Ashfaaq18
32580e6a80 Fix Document list not sync with tab order after sorting
Document List now updates itself with respect to the tabs sorted by the windows dialog

Fix #11272, close #11411
2022-03-22 19:23:02 +01:00
Ashfaaq18
6086e819fd Fix dark mode disabled static text color in Column Editor and Style configurator
Fix #11407, close #11409
2022-03-22 18:38:50 +01:00
Don Ho
d9c5688635 Fix file saving critical bug under Symantec encryption desktop
Fix #11339, close #11403
2022-03-18 14:32:25 +01:00
VinsWorldcom
10ec944800 Fix wrong xml structure in 2 Auto-completion files
Move `<Environment>` tag into `<AutoComplete>` tag as per file definition for Cobol and Lua.

Fix #11393, close #11394
2022-03-17 16:57:04 +01:00
Daniel Fuchs
dddffcf0fd Layout improvement in FindReplaceDlg
* move labels to resemble v8.2 positioning
* resize IDD_FINDINFILES_DIR_COMBO to make it end with the other comboboxes
* resize IDD_FINDINFILES_BROWSE_BUTTON to match combobox height
* make IDD_FINDREPLACE_SWAP_BUTTON in line with IDD_FINDINFILES_BROWSE_BUTTON
* expand GroupBox to allow for a wider IDREDOTMATCHNL
* expand IDREDOTMATCHNL
* improve scaling algorithm for those ComboBoxes

Fix #11318, close #11386
2022-03-17 15:26:40 +01:00
Don Ho
9465925cd1 easterEggs++; 2022-03-17 13:35:09 +01:00
Don HO
a29cfa8d25 Notepad++ release v8.3.3 2022-03-15 00:17:40 +01:00
Don Ho
6892bcbf3a Fix Inslaller bad checkbox display under high DPI (250%)
Close #11384
2022-03-14 12:50:57 +01:00
Ashfaaq18
4e97469d8f Fix a small regression due to c3daf4448ddc21a8733e250f2020137c3aad2757
Close #11378
2022-03-13 02:23:09 +01:00
VinsWorldcom
d6b736aac0 Add warnings keyword for Perl
Fix #11369, close #11370
2022-03-12 02:38:46 +01:00
Christophe Mateos
dc10d821e6 Update french.xml
From #11322
All new fork/branch

Close #11372
2022-03-11 19:05:44 +01:00
Mr-Update
e04daf8b94 Update german.xml
- Update translation to 8.3.2
- Translation improved
- Hotkeys corrected

Close #11293
2022-03-10 20:55:17 +01:00
VinsWorldcom
9a1a999bef Add new AutoComplete icon for distinguishing functions from normal keywords
Fix #11311, close #11314
2022-03-10 20:39:09 +01:00
Thomas De Rocker
3286b3120e Update dutch.xml
Close #11321
2022-03-10 20:00:07 +01:00
Regmos
c802f86d38 Update danish.xml
Close #11306
2022-03-10 19:58:46 +01:00
Don Ho
a84cbe8f69 Add new ability for filtering incompatible plugins
In commit f9118dd13c **"npp-compatible-versions"** has been added in plugin list for helping not only Plugin Admin, but also Plugin Manager (Plugin Loader) to check the compatibility with the latest version of plugin (if the version of installed plugin is the latest one).
However, if the version of installed plugin is the previous one, there's no info to know if this plugin with old version is compatible with running Notepad++. In order to filter better old version plugins, **"old-versions-compatibility"** is added in plugin list, so Plugin Manager can use it to check the compatibility to decide load it or not.

The value of "old-versions-compatibility" is a string made by 2 interval versions as following:
`"old-versions-compatibility": "[,2.6][,8.2.1]"`

The first interval versions are for old plugin versions: [,2.6] means from all the versions to v2.6 included.
The second interval versions are for Notepad++ versions: [,8.2.1] means from all the versions to v8.2.1 included.
Both interval versions together means: the plugin in question from the 1st version to v2.6 is compatible with Notepad++ v8.2.1 and all Notepad++ previous versions.

Here is the sample:
```json
{
	"folder-name": "mimeTools",
	"display-name": "Mime tools",
	"version": "2.7",
	"npp-compatible-versions": "[8.3,]",
	"old-versions-compatibility": "[,2.6][,8.2.1]",
	"id": "b65fbfaa15b443131eb69188069cacbff04eca66e0cb84130631303a1d3895f8",
	"repository": "https://github.com/npp-plugins/mimetools/releases/download/v2.7/mimetools.v2.7.zip",
	"description": "Implements several main functionalities defined in MIME.",
	"author": "Don HO",
	"homepage": "https://github.com/npp-plugins/mimetools"
},
```
Considering these 2 scenarios:
1. The current distributed plugin version is v2.7 (the latest one normally), and it is compatible with all Notepad++ version from v8.3. If installed MineTools plugin is v2.7 and running Notepad++ is v8.3.3 then it's OK, and MineTools v2.7 will be loaded.

2. If installed MineTools plugin is v2.6 and running Notepad++ is v8.3.3 then Plugin Manager learns it's a previous version (v2.6 < v2.7), so it will check "old-versions-compatibility" - it will find v2.6 is in the 1st interval [,2.6] - it's matched, then Plugin Manager keep checking the running Notepad++'s compatibility: v8.3.3 is not in the 2nd interval [,8.2.1] - it's not compatible, then MineTools plugin v2.6 won't be loaded.

Here are the test instructions for this PR:
1.  download x64 debug binary here:
https://ci.appveyor.com/api/buildjobs/5ba501ecu21k28i7/artifacts/Notepad%2B%2B.x64.Debug.exe
2. Create an empty file "nppPluginList.json" in your `npp\plugins\Config\`
and copy the following content
5e23fce868/src/pl.x64.json
and paste into `npp\plugins\Config\nppPluginList.json`
You have to copy "updater" folder (which contains GUP.exe) to enable plugin list.
3. Download DSpellCheck plugin v1.4.22 which is not compatible with Notepad++ from v8.3 and later version here:
https://github.com/Predelnik/DSpellCheck/releases/download/v1.4.22/DSpellCheck_x64.zip
Install it into plugin folder manually.
4. Now launch Notepad++ x64 debug binary and watch it crash.
5. Edit "nppPluginList.json" by adding `"old-versions-compatibility": "[,1.4.22][,8.2.1]",` into DSpellCheck section.
6. Startup Notepad++. Notepad++ doesn't crash. and now you can check DSpellCheck plugin is not loaded on the startup.

Fix  #11358, fix #11349, close  #11356
2022-03-09 19:26:01 +01:00
mere-human
53cbe1c227 Fix append extension when saving with Return (win 7)
For some reason, the file name ComboBox isn't present when enumerating windows in OnFolderChange().
Because of that, we can't call onPreFileOk() in keyboard hook procedure.
Fix that by retrying window search in OnSelectionChange() if we didn't find them previously.

Fix #11305, fix #11355
2022-03-09 03:57:00 +01:00
xomx
4593293b4d Fix Plugin Admin close issue after typing ENTER
Prevent closing the PA-dlg by ENTER in search editctrl.

Ref:
https://support.microsoft.com/en-us/topic/how-to-use-the-enter-key-from-edit-controls-in-a-dialog-box-a520c533-1a62-f51c-af93-c7f978bc1080

Fixes: #11348, close #11351
2022-03-09 03:44:03 +01:00
Ashfaaq18
f6ea35d521 Fix RTL alignment bug in preferences dialog when dark mode enabled
Fixed "Dark Mode->Customize tone" color pickers RTL alignment

Fix #11343, close #11354
2022-03-09 02:25:54 +01:00
Ashfaaq18
c3daf4448d Fixed blurry disabled static texts of Preferences in Dark mode
Set static text colour in both light/dark mode directly for disable/enable action instead of EnableWindow().

Fix #10823, fix #11331, close #11342
2022-03-09 02:14:53 +01:00
Don Ho
f9118dd13c Use plugin list's plugin compatibility info for loading plugins
A new ability for checking plugins' compatibility with running Notepad++ has been added in Plugin List & Plugin Admin (a06b404708).
This PR extends this ability by using Plugin Admin's plugin list to filter plugins to load - if any plugin to load with **the same folder name**, **the same version** (as in the plugin list) and it's **not compatible** with the running Notepad++ version found while loading plugins, it will be skipped for being loaded.

Fix #11353, close #11350
2022-03-07 15:33:36 +01:00
Mr-Update
f285c5983a Update stylers.model.xml
Close #11296
2022-03-05 02:03:08 +01:00
LEONARDO SILVA
9cbd03c301 Add more API for custom auto-indentation and current macro status
4 new API are added:
- NPPM_GETEXTERNALLEXERAUTOINDENTMODE
- NPPM_SETEXTERNALLEXERAUTOINDENTMODE
- NPPM_ISAUTOINDENTON
- NPPM_GETCURRENTMACROSTATUS

* Added support for custom auto-indentation for external lexer.
* Also added messages to fetch current Macro status (Idle, Recording, Stopped, Running) -> for this also affects auto-indentation behavior.
* Also added capability to query for the current User Settings of "Use Auto Indentation".

Fix #11253, close #11278
2022-03-05 00:57:43 +01:00
Don Ho
a06b404708 Add Notepad++ compatible versions in plugin list
Implement: https://github.com/notepad-plus-plus/nppPluginList/issues/416

While PluginAdmin loading nppPluginList.dll, it will check an attribute "npp-compatible-versions" (optional),
in order to determinate if plugin is compatible to the current version of Notepad++. If plugin is not compatible,
then this plugin will be ignored, therefore it won't be shown on the PluginAdmin's plugin list.
Note that it's only about pluginsAdmin's plugin list:
it prevent from Notepad++ install/update a plugin non-compatible to current version of Notepad++,
but it still allows Notepad++ load this plugin in question, if it's already installed.

Here is the attribite "npp-compatible-versions" looks like in plugin list json file:
```
{
	"name": "npp-pluginList",
	"version": "1.4.7",
	"arch": "32",
	"npp-plugins": [
		{
			"folder-name": "demoPluginA",
			"display-name": "Demo Plugin A",
			"version": "1.8.7",
			"npp-compatible-versions": "[4.2,6.6.6]",
			"id": "9c566a9083ef66a0ce93a3ce5f55977faea559b5b0993e37a1461b87f4aeb6f0",
			...
		},
		{
			"folder-name": "demoPluginB",
			"display-name": "Demo Plugin B",
			"version": "1.1.8.7",
			"id": "8a6b9dadbf2ec37d5c60a12a5445f0eec2ef00e6eaa80452925789fd73950193",
			...
		},
		...
	}
}
```
It's optional. In the case of its absence, it's considered compatible to all versions of Notepad++.
The format of value for "npp-compatible-versions" is following (no white space is allowed):

"6.9"          : exact version 6.9
"[4.2,6.6.6]"  : from version 4.2 to 6.6.6 inclusive
"[8.3,]"       : any version from 8.3 to the latest one
"[,8.2.1]"     : 8.2.1 and any previous version

Fix #11338, close #11334
2022-03-04 17:36:57 +01:00
Daniel Fuchs
0affe35bc6 Re-enable possibility to center the FindReplaceDlg on Notepad++ main window
* add goToCenter to hotkey check in IDM_SEARCH_(FIND|REPLACE|FINDINFILES|MARK)

Before commit aa69711d it was possible to center the dialog on Notepad++ using a second CTRL+F but was lost during the implementation of #10019, #10177.

This will re-add the function:
* When the hotkey used is not associated with the current tab, it will switch to the new tab (as before).
* If the hotkey used is associated with the current tab, it will center the FindReplaceDlg on Notepad++.

Fix #9201, close #11323
2022-03-04 17:19:50 +01:00
xomx
a419b41ed5 Fix crash regression due to ca8c302805f882ed61717bb26efbc141a6991ea7
Crash regression has been inserted by #11258.

The 2GB+ adaptation has forced change in integers saving via TinyXML (now saved indirectly as strings). While the MapPosition part has been already fortified against possible missing session-file items, the Position part not. So implemented likewise the MapPosition way.

Fix #11325, close #11327
2022-03-04 13:37:06 +01:00
xomx
c19033c917 Make the silent uninstall of N++ via 'winget' possible
Fix issue https://github.com/microsoft/winget-pkgs/issues/49601

Fix #11310, close #11316
2022-03-02 22:27:09 +01:00
Don Ho
4b9aa66aee Add extension "aspx" for ASP 2022-03-02 02:35:58 +01:00
Daniel Fuchs
c869357c0f Include C# 9.0 nint/nuint
Fix #11303, close #11307
2022-03-02 01:35:44 +01:00
xomx
ebabed554b Fix deleting the folded line makes folded (hidden) content disapeared
Applying the Scintilla flag SC_AUTOMATICFOLD_CHANGE, ref:
https://www.scintilla.org/ScintillaDoc.html#Folding

"SC_AUTOMATICFOLD_CHANGE (0x4) Show lines as needed when fold structure is changed. The SCN_MODIFIED notification is still sent unless it is disabled by the container."

Fix #11246, close #11280
2022-03-02 00:46:23 +01:00
Don Ho
c435625d32 Add a new Easter Egg 2022-03-01 15:01:47 +01:00
Don HO
30b6b18d1e Notepad++ 8.3.2 release - Declare variables, not war 2022-02-27 16:15:06 +01:00
Hugo Carvalho
ca5a272ea8 Update portuguese.xml
Close #11301
2022-02-26 22:39:15 +01:00
Christophe Mateos
72602b62eb Update french.xml
Moved lines to better match english.xml file, to ease human-eye future maintenance (mainly to quickly catch missing/extra entries)
Also a few new lines and comments with the same goal in mind

Close #11283
2022-02-26 16:18:42 +01:00
Edditoria
1b0400698f Update localization: Hong Kong Cantonese
As at commit 8132f4f of this repo.
Also bump version to v8.3.2 in advance.

Close #11286
2022-02-26 16:14:52 +01:00
jasasa
bb8eea13d1 Update norwegian.xml
More up to date Norwegian translation.

Close #11294
2022-02-26 16:13:14 +01:00
xomx
3482ed97ea Fix UDL comment config input fields broken regression
Which caused by commit 94154b0f0e281b4bbfad9c59f8d01c9dff305c12.

Fix #11239, close #11292
2022-02-26 15:58:22 +01:00
Don Ho
8132f4f3b0 Update Taiwanese Mandarin translation 2022-02-24 02:14:37 +01:00
Christophe Mateos
0872c69ea4 Update french.xml
With most of @fylip22 changes and I believe all @donho comments taken into account from https://github.com/notepad-plus-plus/notepad-plus-plus/pull/11124

Close #11273
2022-02-24 02:00:51 +01:00
rddim
2c9ef04198 Update Bulgarian localization
Close  #11279
2022-02-24 01:53:35 +01:00
kubalav
9e5ab51901 Update Slovak translation to 8.3.2
Close #11276
2022-02-24 01:51:00 +01:00
Don Ho
bfbad49cf4 Fix incoherence about supporting 2GB+ files 2022-02-24 01:48:28 +01:00
xomx
11128e5c3e Update and fix czech.xml
Close #11270
2022-02-23 15:11:02 +01:00
yasmise
2d1ba01999 Update japanese.xml
Add translations for these commits:
* Add "Sort By" commands under Window Menu (1c8b8673958f1872e80f279f85aeb83771c9789e)
* Add "Windows..." localization entry (ee765135be97808d68d04700a349abb9ac0ad41d)

Also this contains a fix for minor translation error.

Close #11266
2022-02-22 23:38:55 +01:00
Daniel Fuchs
052b27e3d7 Add API NPPM_GETCURRENTLINESTR & RunDlg's variable $(CURRENT_LINESTR)
Add new API NPPM_GETCURRENTLINESTR and new variable $(CURRENT_LINESTR) for RunDlg to get the whole current line string.

Fix #11216, close #11265
2022-02-22 15:07:30 +01:00
xomx
ca8c302805 Support better 2GB+ file (cmdline & session file adaptation)
Some members (_line2go, _column2go and _pos2go) from the CmdLineParams & CmdLineParamsDTO structs need 'int' to 'intptr_t' change to support 2GB+ files.
Saving & loading of the 'session.xml' needs a 2GB+ adaptation too. The underlying TinyXML (older v1) does not have a native support for the 64-bit integers, so loading/writing there has been changed to strings instead of integers. This way is fully compatible with a possible future update to TinyXML-2 (which has already built-in support for the 64-bit integers).

Fix #11213, close #11258
2022-02-22 14:32:28 +01:00
xomx
9c19bae7c9 Update czech.xml to v8.3.2
Close #11260
2022-02-22 02:16:21 +01:00
xomx
e839b81e85 Refine autosaving session on exit behaviour
Refine autosaving session on exit behaviour on only "Open session in a new instance" or "always in multi-Instance".
If the "Default (mono-instance)" is chosen and the session is launched via command line with flag "-multiInst", the modified session won't be saved automatically.

Fixes #11249, close #11255
2022-02-22 02:00:37 +01:00
xomx
3de15f5512 Enhance performance on exit with certain settings
Notepad++ is unnecessarily stalled in the situation, when closing a N++ with a large file opened within, but the session.xml file will not be updated at all due to the current Notepad++ settings chosen.

Fix #11219, close #11259
2022-02-22 01:38:26 +01:00
Don Ho
58e404650b Remove not used codes 2022-02-22 00:54:10 +01:00
Don Ho
ee765135be Add "Windows..." localization entry
The "Window" menu localization was pleinty of dirty hack due to "Plugin" menu was created (or not) dynamically.
Now "Plugin" menu is present statically so we localize this entry as other entries.
2022-02-21 18:59:07 +01:00
Don Ho
456fdaa680 Simplify the localization in codes
and fix the bug that menu "Window" not translated:
5917fdefb0 (commitcomment-67151276)
2022-02-21 17:59:25 +01:00
exd0tpy
fc064d3254 Fix UDL dialog crash issue on over 30 created UDL
Add index check when add User Defined Language
If user create User Defined Language over 30 (NB_MAX_USER_LANG) times app is crash.

Fix #11257, close #11251
2022-02-21 15:48:56 +01:00
Patriccollu
456d3fcebf Update Corsican translation for Notepad++ 8.3.2
Close #11254
2022-02-21 14:50:53 +01:00
~GOLEM~
27ade5d88b Update russian.xml to v8.3.2
Close #11252
2022-02-21 14:29:58 +01:00
A. Regnander
60f42199db Update swedish.xml
Close #11242
2022-02-21 03:45:50 +01:00
VinsWorldcom
80ba58773d Fix auto-completion sort order problem due to fx icon
Fix #11233, close #11234
2022-02-21 03:42:09 +01:00
Don Ho
efcb3d0472 Update localization files 2022-02-21 01:41:58 +01:00
Don Ho
5917fdefb0 Fix translation problem for "Sort By"
Make "Plugins" & "Window" menu static to simplify the code.
2022-02-21 00:57:15 +01:00
deebash
1c8b867395 Add "Sort By" commands under Window Menu
Add commands by name, path, type and by size for sorting under Window Menu.

Fix #10393, close #11190
2022-02-20 18:52:07 +01:00
mpheath
726ad7f580 Fix autocomplete case insensitive not working issue
Fix #11187, close #11191
2022-02-20 18:13:41 +01:00
Don Ho
de43eca30e Exclude NppTaskList v2.3 and older versions only, crash fixed in 2.4
Exclude NppTaskList v2.3 (and older versions) only thanks to its update to v2.4:
a6596d99c9

Ref:
https://github.com/notepad-plus-plus/notepad-plus-plus/issues/11243#issuecomment-1046072537
2022-02-19 20:02:06 +01:00
Don Ho
60df9e5f0a Exclude NppTaskList via installer due to crash issue on Npp x64
Fix #11243
2022-02-19 17:40:32 +01:00
xomx
b233c0c3e0 Fix saving problem (regression) with "Sysnative" alias in x86 binary
Removing the 'case sensitive' default flag FILE_FLAG_POSIX_SEMANTICS fixes the CreateFile ERROR_PATH_NOT_FOUND, when working with files like "C:\Windows\Sysnative\drivers\etc\hosts".

Without the FILE_FLAG_POSIX_SEMANTICS the WIN32 IO (CreateFile/WriteFile) way will be equivalent with the previously used POSIX IO (fopen/fwrite) way.

More info about this "Sysnative" alias: https://docs.microsoft.com/en-us/windows/win32/winprog64/file-system-redirector

Fix #11196, close #11225
2022-02-18 16:48:34 +01:00
Don Ho
2321e648ae Fix regression: file can't be saved if it's set to other charset before
Fix #11238
2022-02-18 14:49:21 +01:00
Don HO
4555db8f91 Update localization files 2022-02-18 11:36:03 +01:00
Don Ho
e1ccd98745 Remove old version of XMLTool via installer to prevent Notepad++ from crash
Add "removing old version (3.1.1.10) of XMLTool" entry in installer to prevent Notepad++ x64 from crash.
Its v3.1.1.12 or upper versions are allowed.

Fix #11236
2022-02-18 11:01:49 +01:00
Don Ho
637f470b6e Add more Easter Eggs for the coming Easter Sunday 2022-02-17 15:20:07 +01:00
Don HO
010ce6f0f1
Update CONTRIBUTING.md
Make brace position more explicit in both .cpp & .h.
2022-02-17 14:02:00 +01:00
Don HO
47481c76e8
Update CONTRIBUTING.md
Define the braces position in C++ header files.
2022-02-17 13:50:48 +01:00
Don Ho
2df765e189 Code enhancement: prevent from signed integer overflow
Ref:
94154b0f0e (commitcomment-66609009)
2022-02-16 19:13:35 +01:00
Don Ho
51b1c9377c Fix incorrect message on double click on search result regression
This regression was inserted by commit c0be50494ceba80bd1c380f64c9c02391f926526 (PR #11107).

Fix #11215, Fix #11106
2022-02-16 18:22:47 +01:00
Don HO
5c02505998 Notepad++ v8.3.1 release
Boycotting Beijing 2022 continues in this release
2022-02-15 16:32:03 +01:00
Hugo Carvalho
92eb49f6af Update portuguese.xml
For commits: 85e7207eef4f1df98817ce4ff8b98f6581a38c6c 2c1090e554a7ed4e68e1706d72112f64546384dc 6392508cd14947d01473bafc962e46a316b61248

Close #11176
2022-02-12 18:15:27 +01:00
Thomas De Rocker
c5f692815d Update dutch.xml
Close #11174
2022-02-12 18:13:13 +01:00
rddim
4612d0aafb Update Bulgarian localization
Close #11154
2022-02-12 18:11:24 +01:00
yasmise
2d9545dd3b update japanese.xml
Added translation for these commits:
* Enhance error handling while opening file (85e7207eef4f1df98817ce4ff8b98f6581a38c6c)
* Update english.xml (2c1090e554a7ed4e68e1706d72112f64546384dc)

Close #11151
2022-02-12 18:08:53 +01:00
kubalav
bde3da46fe Update Slovak translation to 8.3.0
Close #11149
2022-02-12 16:39:08 +01:00
Patriccollu
f3b11d16d4 Update Corsican translation for Notepad++ 8.3.1
Close #11116
2022-02-12 16:33:56 +01:00
Artem Polivanchuk
30651e94ff Update belarusian.xml
Close #11108
2022-02-12 16:30:56 +01:00
xomx
5d78c7f08e Update czech.xml to v8.2.2
- WantToOpenHugeFile
- added missing translations for Print Header & Footer Variable combobox items
- better meaning for some of the edit-onSelection items
- some previous typing error corrections

Close #11100
2022-02-12 16:27:22 +01:00
~GOLEM~
8be6bcc708 Update russian.xml to v8.3.1
Close #11094
2022-02-12 16:16:57 +01:00
Daniel Fuchs
0c83175b59 Fix conflicting German translations
* make two functions available in Shortcut Mapper by improving their translation

Close #11092
2022-02-12 14:52:46 +01:00
Regmos
79d1a2230d Update danish.xml
Close #11062
2022-02-12 14:46:56 +01:00
Tmp341
c2af4a8b3d Update Turkish localization
* * According to d9ef4be, 9be4eeb, 78c6554, 68d339d, e048f83, 85e7207 and 2c1090e commits.
* I don't know how i missed the removal of id=42079, but removed now (line 178).

Close #11183
2022-02-12 14:31:38 +01:00
xomx
fc1365ea99 Fix target directory parameter ignored by x64 installer issue
Fix for the /D= NSIS param regression (x64)
Detailed explanation is in the .onInit patch comments.
This regression has been caused by the previous PR: #11013 .

Fix #11072, close #11158
2022-02-12 03:29:18 +01:00
Don Ho
d372894e78 Fix typo and reword contribution note
Fix #11058
2022-02-10 14:23:27 +01:00
Don Ho
94154b0f0e Code enhancement: Fix comparison of different signs integers 2022-02-09 20:06:59 +01:00
Don Ho
785453147b Inialize all memebers of struct (instead of its 1st member) to zero
The curly brace initiator in C/C++ is quite confusing (at least to me).
The C style array uses {0} for initializing all the array to 0,
whereas C++ struct uses {0} for initializing only the 1st member's value to 0.
If we want to set all members' value in a struct to 0, we should use {} instread of {0}.

This commit fix the error which initialize only the 1st member's value to 0 in the structures.

Ref:
1. https://docs.microsoft.com/en-us/cpp/cpp/initializing-classes-and-structs-without-constructors-cpp?view=msvc-170
2. https://en.cppreference.com/w/c/language/struct_initialization
2022-02-09 16:41:56 +01:00
Don Ho
2e9342ae24 Code enhancement: Initialize member variables 2022-02-09 04:40:16 +01:00
Daniel Fuchs
dee3bad29d Make variable list combobox translatable in printing preferences
The list of variables defined under Preferences > Print can be translated using the following method:

https://github.com/notepad-plus-plus/notepad-plus-plus/pull/11093/files#diff-a6ac7ceba70d88bf1547fd1defd760bd55052dcdb78c44f9d46d99ef1f450472R999-R1007

However as pointed out by others this will break the "Add" button, so translation is currently not possible. The result is, that nothing is added to the current field.

This commit makes translation possible without breaking "Add" feature.

Fix #11114, close #11115
2022-02-08 19:40:23 +01:00
Don Ho
987a944ada Update french.xml & taiwaneseMandarin.xml 2022-02-08 19:17:27 +01:00
Don Ho
6392508cd1 Solve the confilt in english.xml 2022-02-08 18:44:59 +01:00
Daniel Fuchs
2c1090e554 Update english.xml
English localization for #11047

* add translation for WantToOpenHugeFile as referenced by commit 46011e3
* add previously untranslated drop-down items in Preferences > Print

Close #11093
2022-02-08 18:40:41 +01:00
Don Ho
f815b7057f Revert "Enable backup on save (simple) feature by default"
This reverts commit 40fbae1f76e82ae5698aaa59f33a826941f9633c.
https://github.com/notepad-plus-plus/notepad-plus-plus/issues/10725#issuecomment-1032106977
2022-02-08 02:10:23 +01:00
xomx
85e7207eef Enhance error handling while opening file
In FileManager::loadFileData method:
1. Fix unnecessary GCC crashes when opening larger files in 32-bit Notepad++ binary.
2. Take into account and report correctly also other possible Scintilla error states there (than the previously handled SC_STATUS_BADALLOC).
3. Catch and report correctly also exceptions not handled by the Scintilla exception handler.
4. Catch and report correctly also Notepad++ code exceptions there.

Fix #11103, close #11112
2022-02-07 23:34:54 +01:00
Don Ho
9baaef786b Fix Path Completion not working regression
Fix #11147
2022-02-07 23:17:07 +01:00
Don Ho
6c345e907b Optimize setting image call in auto-completion
In PR #11088 the calling scinitilla is not optimized:
SCI_REGISTERIMAGE & SCI_AUTOCSETTYPESEPARATOR need to be called only once.
2022-02-07 20:12:45 +01:00
VinsWorldcom
c394a890aa Add icons on function items of auto-completion to distiguish from word items
Fix #11087, close #11088
2022-02-07 19:01:47 +01:00
mere-human
b5a5baf13b Fix file dialog "Append extension" checkbox not working in empty dir
Use hooks for keyboard and window procedure instead of subclassing controls.
Use a handle map for transferring instance data to the hook procedure.
This approach should be more reliable than the previous one.

Fix #10436, close #11050
2022-02-07 15:38:21 +01:00
Don Ho
bbe8a7db26 Restore auto-completion insert selection default setting (ENTER & TAB)
Since auto-completion feature appeared in Notepad++, its selected item insertion default setting has had been always both "ENTER" & "TAB" keys. In commit 68d339d224eba0fa7aeb2e0f7526b3311cc02c5a:
68d339d224
this default setting was changed to only "TAB", that made a lot users who used "ENTER" for insertion unhappy.
In this commit the old default value has been restored. Users can always change this behaviour in auto-completion settings of preferences dialog.

Ref:
https://community.notepad-plus-plus.org/topic/22425/notepad-v8-2-1-release/34?_=1644179730538
2022-02-06 23:45:04 +01:00
xomx
deb99ae45b Fix cmdline '-n' param not working and wrong cursor position regression
When file is opened via "Edit with Notepad++", cursor position is placed on the 2nd position instead of the first.
This fixes the signed/unsigned mismatch there arisen from the current 2GB+ changes.

Fix #11131, close #11132
2022-02-05 19:23:13 +01:00
ArkadiuszMichalski
9fccc37987 Fix Dark Mode Customized tone link part is not persistent
Fix #11095, close #11102
2022-02-04 18:02:25 +01:00
Christian Grasser
c0be50494c Fix NPPM_RELOADFILE with 8.3 path containing bug
Fixes issue seen with pythonscript testcase https://github.com/bruderstein/PythonScript/blob/master/PythonScript/python_tests/tests/NotepadWrapperTestCase.py#L383-L397 using NPPM_RELOADFILE with a 8.3 path containing.

Fix #11106, close #11107
2022-02-04 17:17:37 +01:00
Don HO
73a4cdc104 Fix XML tag mark deletion crash Notepad++ v8.3
The uninitialized structure members contain the random value.
The crash is fixed by initializing them with a default value.

Fix #11128
2022-02-04 15:20:55 +01:00
Don HO
ae6361fa35 Notepad++ release v8.3 (Boycott Beijing 2022) 2022-02-03 23:35:12 +01:00
Don HO
1c6055ecf7 Better management for unstable plugin 2022-02-03 02:46:29 +01:00
Don HO
bf82faea5e Adapt Installer script for the unstable plugins 2022-02-02 16:51:06 +01:00
Don HO
807271f989 Fix NSIS build error 2022-01-31 21:28:12 +01:00
Don Ho
720bb3f74b Remove unstable 64 bits plugins during the installation
Fix #11104
2022-01-31 05:03:18 +01:00
Don Ho
993506af0a Fix Find in Files crash 2022-01-31 03:55:28 +01:00
Don Ho
6d311e102e Fix 2 logic error (wrong copied/pasted)
ref:
774321e099 (r64847350)
2022-01-29 15:11:59 +01:00
Don Ho
4077ec2f69 Fix crash regression in UDL dialog
Fix #11101
2022-01-28 23:27:27 +01:00
Don Ho
774321e099 Improve 200MB+ files loading/editing performance
While loading files over more 200MB, they are all considered as Normal text files, that improve loading speed (for example for huge XML or SQL file).
Also, the feature as braces match, smart highlightingg, tag match and URL colorization are disabled for not penalizing the editing performance.
2022-01-28 19:49:58 +01:00
Don Ho
db3308329b Fix crash on opening file with wild card characters
And redefining Sci_PositionCR to 64 bits on x64 build for managing 2GB+ files.
(ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/11047#issuecomment-1021540298)

Fix #11098
2022-01-28 04:17:45 +01:00
Don Ho
44004d41d4 Enhance large file loading: disable 4 features for large files
Dur to the performaance issue, the loading of large files will disable automatically the following feature:
1. auto-completion (only for large files)
2. snapshot periode backup (only for large files)
3. backup on save (only for large files)
4. word wrap (persistent for all files. Need to enable it manually)

Ref: https://community.notepad-plus-plus.org/topic/22438/notepad-v8-2-2-release-candidate/6?_=1643194615292

Fix #8802
2022-01-27 16:12:50 +01:00
Don Ho
edabe44000 Disable Word Wrap while load a 2GB+ file 2022-01-26 18:44:58 +01:00
Don Ho
2132505cba Fix unsaved untitled files not being opened on the next session regression
Fix #11080
2022-01-26 17:49:37 +01:00
Don Ho
961a133a60 Remove 2GB file open restriction for x64 binary
Fix #10921, close #11047
2022-01-25 18:08:05 +01:00
Christian Grasser
5b5dbbd3f9 Fix ARM64 build doesn't contain 64 bits information
Fix #11068, close #11069
2022-01-25 01:51:21 +01:00
Don Ho
7df6af7e2e Fix Find dialog visual glitch
Ref:
https://community.notepad-plus-plus.org/topic/22399/notepad-8-2-1-release-candidate/2?_=1643043577513

Close #11067
2022-01-24 18:54:00 +01:00
VinsWorldcom
fcfa034cc5 ESC key clears function list filter & search result
Even the focus is not on filter field but on one of tree view entries.

Fix #11063, close #11064
2022-01-24 18:39:16 +01:00
Don HO
2b99372169 Notepad++ v8.2.1 release 2022-01-24 15:58:07 +01:00
Don Ho
234941c180 Fix regression of bg/fg color disabling visual glitchy
The regression is due to:
7c9f4204ea (diff-473b357ab7088152f46cb49e9d3336344425ab463c209b10b2fe16df98cc3b76)

Fix #11051
2022-01-19 16:49:04 +01:00
conky77
4f0be89651 Update Italian.xml to 8.2.0
Close #10976
2022-01-19 02:27:13 +01:00
conky77
953fea562e update venetian.xml to 8.2.0
Close #10977
2022-01-19 02:22:25 +01:00
rddim
aa998a7f07 Update Bulgarian licalization
Close #10982
2022-01-19 02:17:24 +01:00
kubalav
95ced9ffa6 Update Slovak translation to 8.2
Close #10997
2022-01-19 01:32:19 +01:00
yasmise
5edbed748a update japanese.xml
Following this commit:
Update english.xml (d9ef4be5798a76f9715b5efe2b128376d0320e9b)

Close #10998
2022-01-19 01:30:02 +01:00
Patriccollu
441b9aa94c Update Corsican translation for Notepad++ 8.2
Close #10999
2022-01-19 01:26:02 +01:00
~GOLEM~
bf3b974edd Update russian.xml to v8.2
Close #11000
2022-01-19 01:22:58 +01:00
Daniel Fuchs
5a382cb646 Update German translation
* update german.xml to v8.2
* fix some (colloquial) wording

Close #11009
2022-01-19 01:20:12 +01:00
Hugo Carvalho
67cda62112 Update portuguese.xml to v8.2.1
Close #11030
2022-01-19 01:14:25 +01:00
ArkadiuszMichalski
44150ea675 Update polish.xml to 8.2.1
Update polish.xml to 8.2.1 (according to the latest commit).

Close #11033
2022-01-19 01:10:14 +01:00
xomx
88e660ab12 Update czech.xml to v8.2.1
resolved conflicts in previous PR #10975

Close #11043
2022-01-19 01:05:43 +01:00
Edditoria
8befad7751 Update Hong Kong Cantonese localization
As at commit cb7bbef of this repo.
Also bump version to v8.2.1 in advance.

Close #11054
2022-01-19 01:01:32 +01:00
Don Ho
cb7bbef4fe Fix "File is too big to open" message isn't modal issue
And plus some refactoring.
2022-01-14 15:09:13 +01:00
Don Ho
029a09ab5b Remove obsolete localization entries
Ref:
https://github.com/notepad-plus-plus/notepad-plus-plus/pull/11037#issuecomment-1012110125

Close #11041
2022-01-13 19:15:08 +01:00
Don Ho
7ebb1e3672 Add Find/Replace text swap button in Find replace dialog
Fix  #6010, close #11037
2022-01-13 18:44:03 +01:00
Don Ho
3ce90f56d6 Fix wrong keywords (of preprocessor in C) highlighting in Java
Remove C Preprocessor color settings from stylers.model.xml + all theme files.

Fix #11026
2022-01-12 18:09:55 +01:00
Don Ho
e048f83420 Make menu folders on context menu translatable
Make the following context menu items translatable:
1. "Style all occurrences of token"
2. "Style one token"
3. "Clear style"
4. "Plugin commands"

Note for translators: to test your translation, you have to replace the old "contextMenu.xml" with the new one (modified in this commit).

Fix partially #8972
Fix #9713, close #11031
2022-01-11 15:07:55 +01:00
Don Ho
5dada11848 Fix Debug information wrong OS information detected with windows 11 issue
Fix #11011
2022-01-11 02:05:38 +01:00
Don Ho
68d339d224 Auto-completion currently use both ENTER and TAB to insert the selected item,
in some circumstance people have to ENTER twice to have 1 newline feed.

In this commit, 2 options (ENTER & TAB) are given in Auto-completion settings, so users can choose one of these 2 keystrokes (or both, or none). By default ENTER is disabled and TAB is enabled.
If auto-completion is disabled and completion is triggered manually, then the settings of ENTER & TAB won't be considered, both ENTER & TAB will be able to insert the selection.

Fix #4799, fix #4631, fix #8389, fix #10915, close #11016
2022-01-10 15:10:54 +01:00
Don Ho
ed40f11515 Fix loaded session being empty on exit
In the following configuration loaded session will be empty on exit
* Remember current session for next launch: OFF
* Open session in a new instance: ON

This commit fix the issue.

Fix #10986, close #11017
2022-01-10 15:05:44 +01:00
Don Ho
e40aec0b3f Friends are just like trees 2022-01-10 03:11:49 +01:00
Don Ho
9208ed2abc Make 1 entry of French translation shorter
Fix #11006
2022-01-09 03:05:01 +01:00
Don HO
36cbfb45cd Better clean on unstallation 2022-01-09 02:35:19 +01:00
xomx
9f08013d08 Fix installer x64 not detected the previous installation location
Ref:
https://nsis.sourceforge.io/Reference/SetRegView

Fix #7946, close #11013
2022-01-08 18:03:03 +01:00
Don Ho
9929160a00 Update French & Taiwanese localization 2022-01-08 17:04:53 +01:00
mere-human
78c6554e91 Add missing translation for folder browser title
Affected places:
File > Open Folder as Workspace
Search > Find in Files
Settings > Preferences > Default Directory > [...]
Settings > Preferences > Backup > [...]

Fix #10983, fix #10984, fix #10985, close #11005
2022-01-08 16:57:33 +01:00
Don Ho
44c9a0561b Fix "Save As" command cannot be used as "Save" issue
If user tries to save a existing file as file itself by using "Save As" command,
then he/she chooses the same file from the Save As file dialog,
* old wrong behaviour: "Save As" action is rejected with the message "The file is already opened in Notepad++".
* new correct behaviour: "Save As" action is allowed.

Fix #10965, close #11008
2022-01-07 21:04:10 +01:00
mere-human
9be4eeb4e6 Add copy name/path commands to DocList and Edit menu
1. Add new commands to copy selected files name/path into multi-selection context menu in Document List.
2. Add new commands to copy all files name/path into Edit > Copy to Clipboard.
3. Create a new function buf2Clipborad() to be used in all similar commands.
4. Fix the translation of the Document List multi-selection context menu.

Fix #10394, close #10993
2022-01-05 15:58:54 +01:00
Don Ho
a4bd526639 Fix French localization 2022-01-05 02:52:21 +01:00
rddim
d9ef4be579 Update english.xml
Fix #10356, close #10981
2022-01-05 00:29:27 +01:00
Rajendra Singh
23b2a3fa8e Fix Recent Files List not revised issue after "Save As" command
Fix #10946, close #10994
2022-01-04 23:41:29 +01:00
ArkadiuszMichalski
0dd0a9586a Support both MingGW multilib versions
Fix #10941, close #10962
2022-01-04 22:34:59 +01:00
Don Ho
a790822847 Add Windows 11 on the supported OS list 2022-01-04 13:55:09 +01:00
Don HO
573a3db6e9 Notepad++ release 8.2 2022-01-01 00:04:52 +01:00
Don HO
3c89b57167 Installation: Let users decide to keep or not HexEdit plugin
Fix #10828, close #10972
2021-12-31 23:59:59 +01:00
Don Ho
5d1bbc05ef Update 3 localization files 2021-12-30 01:49:05 +01:00
schnurlos
5dd868cf4b Update german.xml to V.8.1.9.2
Following add9f64104 (diff-a6ac7ceba70d88bf1547fd1defd760bd55052dcdb78c44f9d46d99ef1f450472) & 7aa0a56320 (diff-a6ac7ceba70d88bf1547fd1defd760bd55052dcdb78c44f9d46d99ef1f450472)

Close #10845
2021-12-30 00:52:24 +01:00
IoeCmcomc
61eff45bd2 Update Vietnamese translation
Signed-off-by: IoeCmcomc <53734763+IoeCmcomc@users.noreply.github.com>

Close #10880
2021-12-30 00:50:00 +01:00
Iñigo Zendegi
66eddf2501 Update basque.xml
Close #10931
2021-12-30 00:46:44 +01:00
Artem Polivanchuk
1ad973fa26 Update Ukrainian translation
Close #10934
2021-12-30 00:41:57 +01:00
Tmp341
35c26e3ad4 Update Turkish localization
* According to add9f64, 7aa0a56 and 4facc4d commits.

Close #10938
2021-12-30 00:40:05 +01:00
~GOLEM~
9debacde9f Update russian.xml to v8.1.9.3
Close #10944
2021-12-30 00:37:58 +01:00
kubalav
cb441d8a59 Update Slovak translation to 8.1.9.3
Close #10945
2021-12-30 00:36:37 +01:00
yasmise
13d92c614f Update japanese.xml
Translation update to follow this commit:
* Add auto save loaded session on exit feature (a16930fffea1d69034d0f4336ff71b81f239dd9f)

Also, fix for looking of parentheses for inconsistency.

Fix #10949
2021-12-30 00:35:23 +01:00
György Bata
35dc1f8c45 Hungarian translation update for 8.1.9.3
Close #10951
2021-12-30 00:34:05 +01:00
rddim
492d27996d Update Bulgarian localization
Close #10953
2021-12-30 00:25:20 +01:00
Hugo Carvalho
234d142cab Update portuguese.xml
For commit: a16930fffe

Close #10954
2021-12-30 00:21:59 +01:00
Don Ho
87db9d1957 Fix caret left-right inverse moving in R2L mode issue
ref:
https://github.com/notepad-plus-plus/notepad-plus-plus/pull/10334#issuecomment-1002054488

Fix #8553, fix #7678, fix #9730, close #10963
2021-12-29 18:37:02 +01:00
Ashfaaq18
79fa0abc8b Fix memory leak when toggling to and from Dark Mode
Fix the memory leak due to icons of toolbar - they are not removed from ImageList while switching between dark/lite mode.

Fix #10957, close #10966
2021-12-29 16:50:07 +01:00
Don Ho
c0989d472c Enlarge your name field size!
Rename current tab & Rename User Language name could be up to 63 characters now!
(Before this implementation the limit size is about 20 characters)

Fix #10961, fix #9849, close
2021-12-29 16:00:55 +01:00
Ashfaaq18
4a7a33f010 Fix Document List icons unchanged issue after switching to dark mode
1. Document List icons now support darkmode icons and alternate icons.
2. Fixed memory leak in code and additional code refactoring.

Fix #10740, close #10956
2021-12-28 01:04:38 +01:00
Don Ho
ae09024e66 Fix UTF-8 detected wrongly as TIS-620 issue
uchardet detects usually wrongly UTF-8 as TIS-620, hence TIS-620 detection is disabled in this commit.
More info:
https://github.com/notepad-plus-plus/notepad-plus-plus/issues/10916#issuecomment-1001671957

Fix #10916, fix #940, fix #8755, fix #3588, fix #3188, fix #4932, fix #3172, fix #10492, close #10958
2021-12-27 20:17:18 +01:00
Don Ho
33a0587a65 Fix incorrect folding behaviour in C, C++ & Javascript
Fix also for TypeScript and Objective-C.

Fix  #4560, close #10948
2021-12-25 21:49:30 +01:00
Don Ho
a16930fffe Add auto save loaded session on exit feature
This new feature works only if Multi-instance settings is NOT set to "Default (Mono-instance)".

Fix #1646, fix #3241, fix #3574, fix #4228, close #10935
2021-12-24 17:32:08 +01:00
Don Ho
a563a8b812 Open "crontab" file by using syntax highlighting of bash
Fix #3377, close #10943
2021-12-24 03:19:19 +01:00
Don Ho
30c586d94c Fix wrong language name in installer 2021-12-23 15:49:48 +01:00
ArkadiuszMichalski
85d6108a6b Fix Build not work under path with space
Fix #10907, close #10914
2021-12-21 23:44:52 +01:00
CennoxX
31799472b4 Add new keyword "var" in Java
Add new keyword "var" in Java, and sort the list alphabetically.

Fix #4390,  close #10917
2021-12-21 19:27:11 +01:00
Don Ho
b5d646b4cd Add exclude folder(s) capacity in Find in Files
This PR allows users to provide the list of excluding folder names/patterns in "Filters" field.
Eclusion operator is alway "!" at the begining. In order to distinguish folder from file, "\" should be used as prefix of the folder name/pattern, following "!". That allows the exclusion of the directories under the root directory you want to search (the 1st level of matched directories).

If users need to exclude folders with the same name (or names matched the specific pattern) in all levels, the + should be put between "!" and "\" to exclude them recursively.

Here is a sample:
Filters: *.* !\bin !+\test !+\log*
Directory: c:\myProject\

So the excluded directories could be:

    c:\myProject\bin\
    c:\myProject\log\
    c:\myProject\logs\
    c:\myProject\src\log4j\
    c:\myProject\test\
    c:\myProject\src\test\

The following directories will not be excluded:

    c:\myProject\foo\tests\
    c:\myProject\foo\bin\

Note that "inclusion of folder" is not allowed, and such pattern will be ignored.

Fix #2433, fix #8350, close #10927
2021-12-21 18:39:22 +01:00
Don Ho
ac52f406f3 Fix no focus on edit zone regression
Fix no focus on edit zone after switching back to Notepad++.
This regression is introduced by ee884f87bbb66d1431f0d530d0cd25bb7cde6b35 (#10910)

ref:
ee884f87bb (commitcomment-62032223)
2021-12-16 17:37:11 +01:00
Don Ho
1c81788881 Add a new keyword "nameof" in C#
Fix #10870
2021-12-15 14:29:55 +01:00
Christian Grasser
556fe39cb6 Update boost regexp from v1.76 to v1.78
Update boost regexp to version 1.78.0 from:
https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.7z

Close #10912
2021-12-15 10:57:45 +01:00
Shridhar Kumar
ee884f87bb A comprehensive fix for background clipping of dock panels
The (very detailed) explanation/information of fix:
https://github.com/notepad-plus-plus/notepad-plus-plus/issues/2937#issuecomment-992086848

Fix #2202, fix #2937, fix #5980, fix #8980, fix #9905, fix #10091, close #10910
2021-12-14 02:53:09 +01:00
ArkadiuszMichalski
3d5aa49cdd Fix build 32-bit binary failure under unix-like shell (Git Bash)
Read Windows environment variables correct also for unix-like shell.

Fix #10885, close #10886
2021-12-14 00:54:30 +01:00
Don HO
6df3db124f Notepad++ release 8.1.9.3 2021-12-08 20:58:49 +01:00
Don Ho
5d2fc0d8c0 Fix log written under wrong condition 2021-12-06 18:50:36 +01:00
Don Ho
0f4010eada Refactoring for the readability 2021-12-05 04:45:55 +01:00
xomx
bf732c9991 Fix dirty status after reloading file
Fix #10796, close #10874
2021-12-05 04:15:12 +01:00
Regmos
09890daa54 Update danish.xml
Close #10879
2021-12-05 01:16:12 +01:00
xomx
b41cb7d65b Update czech.xml to v8.1.9.3
Close #10877
2021-12-05 01:14:39 +01:00
ArkadiuszMichalski
4facc4db46 Update polish.xml to 8.1.9.3
Close #10875
2021-12-05 01:13:17 +01:00
yasmise
e99d2eb696 update japanese.xml to v8.1.9.2
Added these translations:
* Add "Notepad++ User Defined Languages Collection" project website ... (add9f641043aca953545179f2e2d10690adcf64d)
* Update english.xml (7aa0a563200cba25f7bee3233cf78ded87341d1b)

Close #10848
2021-12-05 01:10:54 +01:00
kubalav
1574deb570 Update Slovak translation to 8.1.9.2
Close #10834
2021-12-05 01:07:31 +01:00
rddim
a4c29c96c1 Update Bulgarian localization
Close #10830
2021-12-05 01:00:56 +01:00
Patriccollu
1ae7490092 Update Corsican translation for Notepad++ 8.1.9.3
Close #10813
2021-12-05 00:58:59 +01:00
Hugo Carvalho
50ed14367e Update portuguese.xml v8.1.9.1
Close #10808
2021-12-05 00:55:54 +01:00
Don Ho
acb8a9db47 Add logs for nul content corruption issue
These logs are written for debugging NUL file-corruption issue (#6133) and session lost issue (#10402) which are still problematic probably.
The writting log info will be triggered only when Windows notifies Notepad++ to end session.
The log file will be in "%APPDATA%\Notepad++\" or in Notepad++ installation folder if doLocalConf.xml is present.
To disable the log, just remove nppLogNulContentCorruptionIssue.xml.

Close #10871
2021-12-04 15:33:32 +01:00
Don Ho
1039c10bae Add lua function list into installer 2021-12-04 03:07:18 +01:00
Simon Buhrow
feac018149 Add lua function list capacity
Fix #4563, close #10867
2021-12-04 02:27:15 +01:00
Don Ho
12a13b1c0a Fix saving file and false alert on network drive issues
And add log ability for debugging network drive file status detection issue.

To activate log, user should:
1. Add an empty "nppLogNetworkDriveIssue.xml" file beside of notepad++.exe, or if user has no admin previlege, he/she can add this file into %APPDATA%\Notepad++\.
2. Create "C:\temp\" directory, if it doesn't exist yet.
3. Start notepad++.exe, and wait for the file status (timestamp) detection error from the network drive. If the errors occur, there should be some trace in "C:\temp\nppLogNetworkDriveIssue.log".

People who have had the network drive file status detection issue in #10688, #10753, #10757, #10751 & #10787 are welcome to download the binary and provide the generated log in order to fix this issue.

Fix #10751, fix #10688, fix #10753, fix #10757, fix #10751, fix #10787, close #10847
2021-12-01 20:42:35 +01:00
Don Ho
e87342fef6 Fix Notepad++ dockable panels lose bg color issue when swiching it back
It's rather a bug of Windows' API than the bug of Notepad++. The visual glitch comes from TreeView (FunctionList, Folder As WorkSpace, Project Panels etc ...) but ListView (ASCII Insertion Panel & Document List) works fine.
I have done some fixes about this issue. However, it's not perfect when use mouse to do the snapshot.
OTOH, once the click done to show Notepad++, it becomes normal.
This is the best fix I can offer for this bug.

Fix #2202, fix #2937, fix #5980, fix #8980, fix #9905, fix #10091
2021-12-01 02:32:33 +01:00
Don Ho
bab3573be7 Fix detection of backup file restored back problem
Fix #10839, close #10843
2021-11-27 16:27:59 +01:00
vlakoff
e7bf582ffd Add some new PHP 7.3 function keywords
Add some new PHP 7.3 function keywords for highlighting and autocompletion.

Fix #8410, close #10819
2021-11-27 05:02:03 +01:00
jimcarst
567e0456bb Support "Taggle line comment" command for LaTeX
Fix #10836, close #10837
2021-11-27 04:48:54 +01:00
rddim
7aa0a56320 Update english.xml
Close #10831
2021-11-27 04:40:29 +01:00
Don Ho
add9f64104 Add "Notepad++ User Defined Languages Collection" project website access command 2021-11-23 00:31:37 +01:00
Don HO
21dd62bb0d Notepad++ release 8.1.9.2 2021-11-21 15:02:30 +01:00
Don HO
dc082ba2fd Fix dark mode not working on Windows 10 2H22
Fix #10810
2021-11-21 04:01:26 +01:00
~GOLEM~
b28ea17a91 Update russian.xml v8.1.9.1
Updated to v8.1.9.1:
- minor fix

Close #10780
2021-11-20 15:59:20 +01:00
rddim
240134958a Update Bulgarian localization
Close #10782
2021-11-20 15:56:59 +01:00
Sapziller
ce2de092c4 Update korean.xml 8.1.9.1
Close #10785
2021-11-20 15:54:35 +01:00
sk-zk
3a33c83762 Fix UDL folding breaking with delimiters issue if UNIX EOL
This fixes a bug where UDL folding breaks if 1) the file uses
non-Windows line endings and 2) delimiters are defined.

Fix #350, fix #2873, fix #3372, fix #5499, close #7930
2021-11-19 03:08:25 +01:00
Ashfaaq18
c7140f279b Fix disabling alnative icons on tab in dark mode issue
Fix #10775, close #10798
2021-11-18 18:33:46 +01:00
Don Ho
9662b2e7d3 Remove unnecessary file 2021-11-18 16:25:26 +01:00
Don Ho
990c92540d Fix fallure of erasing & saving server logs (of network drive) issue
Fix #10794
2021-11-18 02:32:21 +01:00
Christian Grasser
f52c2b022d Fix crash in regex search
Avoid unhandled std::range_error exceptions in case of an text input issue by providing an user-supplied byte-error string
see https://en.cppreference.com/w/cpp/locale/wstring_convert/from_bytes and https://en.cppreference.com/w/cpp/locale/wstring_convert/to_bytes

Fix #10773, close #10783
2021-11-16 00:05:04 +01:00
Don Ho
a22a0bfedf Fix UDL generic dark mode via UDL UI bug
Fix #10781
2021-11-15 00:58:24 +01:00
Don HO
aa06651a39 Notepad++ 8.1.9.1 release 2021-11-13 19:02:22 +01:00
MarkusBodensee
bd082e8205 Update german.xml with mainly the date time translations
Add all missing date time translations from v8.1.5.
Update 42083 and 42078 to not use the word sort (sortieren) because english.xml doesn't either.
Move items 41025 and 44109 to the same order like in english.xml for more easy diffing.
Delete obsolete/doubled item 42079 (it was there two times in german.xml).

Close #10730
2021-11-13 02:08:28 +01:00
Don Ho
df396b9e69 Fix reload false alarm from the network drive
This regression is due to the saving routine's change:
9aa9ecb664

Normally, on each save, buffer's timestamp is updated for the future comparison with the timestamp on the disk, in order to detect the modification from outside.

It seems the new saving routing makes the change (ONLY on network disk) with the timestamp before buffer's timestamp, for unknown reason.

The fix is: if timestamp got directly from the file on disk is earlier than buffer's timestamp, it's an absurd case and we ignore it. The buffer's timestamp will be only updated if the file on disk timestamp is later than buffer's one.

Fix #10688, fix #10753, fix #10757, close #10774
2021-11-13 00:45:57 +01:00
Don Ho
20990d3197 Fix a regression of saving problem
Some users encounter the issue that files cannot be saved sometimes.
It's due to the share parameter in CreateFile() set as 0, which makes sense for preventing other process from accessing to the file being written. However, when Notepad++ tries to write the file, it opens the file for writing. If at that moment the file is already opened by other program and the share flag is zero, then the system is instructed to deny opening the file on share conflict and the open fails.
Setting share parameter to "FILE_SHARE_READ" instead of 0 solve this problem.

Fix #10751, close #10765
2021-11-11 02:12:22 +01:00
Rajendra Singh
3112466930 Fix obsolete way of struct declaration
with which it failed to compile with VS2022:
https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/c5208?view=msvc-160

Close #10758
2021-11-08 02:08:09 +01:00
Don HO
eeaa4576f3 Add Auto-Updater icon
WinGup for Notepad++ has been added a customizable icon capacity:
728ac51975
An icon is added in the commit for Notepad++ updater.
2021-11-08 01:48:55 +01:00
Andrey Smolyakov
8c3c30efae Fix VHDL comments highlighting
Comments styles in stylers.model.xml are inconsistent with Scintilla's states
described in /scintilla/include/SciLexer.h. Moreover, block comments are
highlighted with not the same style as line comments, but with style used for
"COMMENT LINE BANG" in other languages.
I eliminated the "COMMENT LINE" style, which Scintilla does not generate, fixed
the "COMMENT BLOCK" style to be the same as regular "COMMENT", and added a
separate style, "COMMENT LINE BANG", for special comments.

Close #10748
2021-11-06 00:57:02 +01:00
Don HO
32d5307edd Make UDL generic dark mode possible via UI
Checkboxes "Transparent" of bg & fg color are added for each styler.
The bg color and/or fg color set in current Styler will be ignored and the dark/light theme's bg/fg color will be used, if the checkbox "Transparent" is checked.

To make generic UDL for all dark themes, user has to enable "Transparent" checkboxes for both bg and fg color in "Default Style", then set all the other styles with bg color transparent, or set both non-transparent, according the need of your token to be colorized.

Fix #10738
2021-10-31 15:09:32 +01:00
Don HO
0fd8cecf8b Fix UDL Styler UI not load bg & fg color completely
Fix the info of background or/and forground transparency being ignored while open Styler dialog in UDL dialog.
2021-10-31 01:48:22 +02:00
Don HO
91a7cc6d39 Add plugins' description into installer
More info:
https://github.com/notepad-plus-plus/notepad-plus-plus/pull/5489
2021-10-29 15:18:25 +02:00
Rodrigo Cesar
0fd0e5dab1 Add "when" reserved word of C# 6.0 in auto-completion
Close #9667
2021-10-29 11:53:20 +02:00
YanisBft
1d2f662f73 Add Java sealed classes-related keywords
Close #9754
2021-10-29 11:50:38 +02:00
Don HO
40fbae1f76 Enable backup on save (simple) feature by default
Fix #10725
2021-10-28 12:37:25 +02:00
xomx
09711cee28 Fix phantom docked panels issue after restoring from systray
Fixes visual bug and potential crash in the #10512.

Fix #10512, close #10711
2021-10-26 19:28:01 +02:00
Don HO
d192f58b5b Make icons in Function list/Project panel/Folder as Workspace display correctly under high DPI
And do some refactoring
2021-10-24 13:50:03 +02:00
Don HO
abd1ea43c9 Notepad++ 8.1.9 release 2021-10-22 00:05:22 +02:00
Don Ho
1a02319a8a Fix empty file with non-Unicode encoding cannot be saved issue
The PR fixes the regression due to the saving file API being changecd from POSIX functions to Win32 native API:
The old used function "fopen" using "wbc" as argument, according Microsoft document:
"w" 	Opens an empty file for writing. If the given file exists, its contents are destroyed.
(https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/fopen-wfopen?view=msvc-160)
so to save a 0 length document, it was unecessary to "write nothing" explicitely on disk, since fopen did it for you.
Whereas our new implementation which uses Win32 native API passes "OPEN_ALWAYS" - that needs to "write nothing" explicitely.

Fix #10699, close #10702
2021-10-21 21:14:59 +02:00
jofon
38de8b2306 Fix language list not being reloaded issue in Style Configurator
Fix #9512, close #10686
2021-10-21 15:47:00 +02:00
Don HO
0c2508d3d1 Notepad++ release 8.1.8 2021-10-19 19:17:40 +02:00
Don Ho
386366d7f2 Fix config files (XML) saving performance regression
Instead of writting on hard disk little by little all the time,
all data is collected in a string buffer to write once on the disk at the end.

Fix #10678, fix #10674, close #10691
2021-10-19 15:39:34 +02:00
Don Ho
5d086f93a8 Workaround Microsoft dark mode API bug of Windows 11
Notepad++ dark mode works fine under Microsft Windows 7, 8, 8.1 & 10.
Under Windows 11 while Notepad++ being switched into dark mode,
the hightlighting (background) of toolbar's hot-track icons remains in light mode.
Hence this workaround to remedy Notepad++ dark mode visual glitchy due to the bug of Windows 11.

Fix #10510, close #10685
2021-10-18 00:30:14 +02:00
Don HO
d80b0b254e Notepad++ 8.1.7 release 2021-10-15 11:46:40 +02:00
Don Ho
6cae886dde Fix empty file not being saved regression
When open a non-empty text file, empty the file and save it, the file is not saved on disk.
This PR has fixed this regression.

Fix #10667, close #10668
2021-10-15 00:52:26 +02:00
Andrey Smolyakov
4c34652e14 Add VHDL unresolved numeric_std types highlighting
Close #10632
2021-10-15 00:50:36 +02:00
Don Ho
540fbeddda Add JSON syntanx highlighting in the dark themes 2021-10-15 00:42:45 +02:00
Thomas De Rocker
85ea1e6431 Update dutch.xml
Close #10631
2021-10-14 18:21:42 +02:00
Ashfaaq18
6526094ee7 Fix tooltip layout and position in RTL mode
Fix #10646, close #10655
2021-10-14 18:15:16 +02:00
Ashfaaq18
e82a451ec1 Fix docking problem for dockable panel in RTL mode
Fix #10641, close #10645
2021-10-14 18:09:21 +02:00
Kyle K
324a7ab8cc Enhance dark themes for some programming languages
Tweak themes for python and makefile.
Also apply default color to other items in need.

Fix #10648, close #10661
2021-10-14 16:41:15 +02:00
Ashfaaq18
4cf1267af8 Fix white flash in dark mode on CMD launch with position data
Fix #10657, close #10658
2021-10-14 15:36:45 +02:00
CennoxX
add1c145ad Fix "Run macro until the end of file" command skipping the last line issue
Fix #10441, close #10638
2021-10-14 14:40:45 +02:00
Don HO
c1dac5983a Notepad++ 8.1.6 release 2021-10-13 15:48:40 +02:00
Ashfaaq18
35e3fb9688 Fix white flash on Notepad++ startup in darkmode issue
Fix #3955, fix #10601, close #10639
2021-10-10 13:33:24 +02:00
Tmp341
d692b5060f Update Turkish localization
* According to 2576bf8, 45831ac, deab93f, e12b161, 84c1505, ef8522e, 36d0d29 and f6282f4 commits.
* Some spacing.

Close #10587
2021-10-07 01:17:28 +02:00
Don Ho
6a3d6e05d9 Add new quotes 2021-10-06 03:11:10 +02:00
CennoxX
b4d94f5774 Make markdown UDL work in evry dark theme
When using dark mode with a theme other than DarkModeDefault the background and font color of the theme are not applied to all styles.
This PR fix this bug by adding colorStyle="1" to ignore defined background colour in UDL, and use the default's background colour (theme's one) instead.

Fix #10593, close #10619
2021-10-06 01:01:12 +02:00
A. Regnander
5de59d7e44 Update swedish.xml
Close #10620
2021-10-05 14:38:16 +02:00
Don Ho
6c3031f01b Fix file can be marked as saved even it's been deleted outside
This PR make buffer always dirty (with any undo/redo operation) if the editing buffer is unsyncronized with file on disk.
By "unsyncronized", it means:
1. the file is deleted outside but the buffer in Notepad++ is kept.
2. the file is modified by another app but the buffer is not reloaded in Notepad++.

Note that if the buffer is untitled, there's no correspondent file on the disk so the buffer is considered as independent therefore synchronized.

Fix #10401, close #10616
2021-10-05 02:32:40 +02:00
Don Ho
97ad1d922e Update translations 2021-10-03 03:38:05 +02:00
Adam D. Walling
78a2f32692 Fix status bar text display issue in dark mode
Fix incorrect text size calculation for drawing the dark mode status bar
which can cause an invalid character to be displayed.

Fix #10564, close #10611
2021-10-03 03:06:22 +02:00
Don Ho
682a8edafa CFile (Win32 API IO) Refactoring
1. Rename CFile to Win32_IO_File (plus some modification in class).
2. Add new method writeStr() in Win32_IO_File class to write "char*" & string.
3. Change method names of Utf8_16_Write class and make writeFile() method return accurate type (boolean).

Close #10612
2021-10-02 15:00:08 +02:00
Don Ho
11b2dd0f6b Fix previous session lost issue after MS update restarting Windows
Use Windows IO API instaed POSIX IO (output only) on tinyXml component for writting xml file (config.xml, session.xml, etc...).

Fix #10402, close #10612
2021-10-02 14:59:47 +02:00
Don Ho
f1837474ca Fix Print Preferences GUI bug issue
Fix #10552
2021-09-29 18:23:59 +02:00
Pavel Nedev
9aa9ecb664 Fix NUL file-corruption issue after system shutting down brutally
Uses native Win32 IO API (CreateFile, ReadFile, WriteFile, CloseHandle) instead of POSIX ones (fopen, fread, fwrite, fclose) for remedying NUL file-corruption problem due to system shutting down brutally.

Fix #6133, close #10598
2021-09-28 12:30:05 +02:00
Ivan Ustûžanin
49c3e5d553 UDL lexer: fix potential infinite loop
Fixed a condition in a loop which is always true (unsigned >= 0) and can
potentially turn the loop infinite.

And removed a check after the loop which now is also always false.

Close #10597
2021-09-28 01:30:52 +02:00
Don Ho
4d57f5071f Make modified code conform to the coding style 2021-09-27 23:03:10 +02:00
Ashfaaq18
531bef28d8 Fix docked window sizing direction problem in RTL mode
Fix #10536, close #10576
2021-09-27 22:55:26 +02:00
Ivan Ustûžanin
19cf5c9037 UDL: preserve DarMode-ness upon saving
Fix #10583, close #10570
2021-09-27 20:56:21 +02:00
Don Ho
2159126d8e Initialize the values of Gripper's varible member 2021-09-27 20:51:39 +02:00
Ashfaaq18
d939e4a6ed Fix floating panel movement issue in RTL mode
Fix #10579, close #10586
2021-09-27 19:42:51 +02:00
Ivan Ustûžanin
d11d2c7f23 gcc: fix warnings during Scintilla build
Fixed warnings generated during Scintilla build in `boostregex/BoostRegExSearch.cxx`
(`-Wall -Wpedantic` are the default for Scintilla).

Close #10596
2021-09-27 19:31:51 +02:00
Don HO
45693d1302 Notepad++ 8.1.5 release 2021-09-27 13:24:09 +02:00
Don Ho
2f7490abab Fix tab settings in UDL regression
Bug reported here:
https://community.notepad-plus-plus.org/topic/21866/notepad-8-1-5-rc-3?_=1632620635740

The regression is due to e5a800722b7b31c835ae9855c54087354fb1304b
2021-09-26 04:34:37 +02:00
Don Ho
a7a700145d Fix a regression of pluginsAdmin
Fix a regression of pluginsAdmin reported in:
https://community.notepad-plus-plus.org/topic/21853/notepad-8-1-5-rc2/3?_=1632245574765
2021-09-21 22:53:58 +02:00
Don Ho
635f1d41ab Fix a typo & add a pun 2021-09-20 18:34:50 +02:00
Don Ho
bc2e689185 Add Insert Date/Time commands shortcut & macro capacities
Fix #10567
2021-09-20 04:11:45 +02:00
Don HO
c7e1da48ff Align dark mode styles with light mode styles
1. Improve JSON, PYTHON, BANNC and VHDL syntax highlighting in dark mode.
2. Reosort light mode style.
2021-09-18 02:52:09 +02:00
popcorner
94788503d2 Update chineseSimplified.xml
Close #10559
2021-09-16 20:43:58 +02:00
Thomas De Rocker
8d7aa6b06c Update dutch.xml
Close #10474
2021-09-16 19:02:38 +02:00
popcorner
ad40663fb3 Update chineseSimplified.xml
Close #10498
2021-09-16 19:00:04 +02:00
regener
827bcc1d05 Hungarian translation update for version 8.1.4
Close #10500
2021-09-16 18:55:40 +02:00
Don Ho
6ee3bd3c45 Make more room for the translation of custom format label 2021-09-16 17:54:25 +02:00
mere-human
0ad4912eb0 Enhance Insert Custom Date command by using MS datetime format
Fix #10467, close #10480
2021-09-16 17:25:19 +02:00
rddim
e1e180397f Update Bulgarian localization
Close #10424
2021-09-16 15:20:46 +02:00
schnurlos
1d71e90a64 Update german.xml to v8.1.4
Close #10428
2021-09-16 15:17:34 +02:00
Hugo Carvalho
3d02256078 Update Portuguese translation to v8.1.5
Close  #10457
2021-09-16 15:12:22 +02:00
yasmise
114107957c update japanese.xml to v8.1.5
Added translations for these commits:
* Make "Confirm Save All" dialog more clear (deab93f9b50f580bc276225755c2782b20cd255a)
* Make Incremental Search panel translatable (e12b161d48bab658694ba57afb68bc175d717a76)
* Add custom date time insert (84c1505fab9a0ec4aaadc170daad43342ee95c58)

Close #10477
2021-09-16 15:06:34 +02:00
kubalav
56b0af3c85 Update Slovak translation to 8.1.5
Close #10482
2021-09-16 12:54:19 +02:00
xomx
7a6eb0da37 Update czech.xml to v8.1.5
Close #10521
2021-09-16 12:50:28 +02:00
~GOLEM~
748db1be38 Update russian.xml v8.1.5
Close #10542
2021-09-16 12:45:03 +02:00
IoeCmcomc
3c464e49bb Update Vietnamese translation
Close #10547
2021-09-15 20:17:22 +02:00
ArkadiuszMichalski
f658c22265 Update polish.xml to 8.1.5
Update polish.xml to 8.1.5 (according to the latest commit).

Close #10550
2021-09-15 03:44:53 +02:00
Patriccollu
9342da4885 Update Corsican translation for Notepad++ 8.1.5
Close #10455
2021-09-15 01:21:44 +02:00
Don Ho
f6282f4f11 Update localization files
And fix a typo in BUILD.md
2021-09-14 23:33:34 +02:00
Don Ho
a3116818e0 Code enhancement: Initialize variable member's value of struct/class
Close #10545
2021-09-14 03:08:17 +02:00
Ivan Ustûžanin
049ededf9f Add gcc 32-bit build and improve build process
1. Include SciLexer build in Notepad++ build.
2. Remove -fpermissive, auto -j in make.

Fix #9989, close #10540
2021-09-13 23:17:11 +02:00
Ashfaaq18
73b41ec74f Fix docked/float panels in RTL layout issue
Fixed Npp RTL context menu for Document List, Project Panels, Folder Workspace, Search Results Window,
and fixed Floating Dockable Window RTL direction.

Fix #10488, close #10535
2021-09-13 13:27:35 +02:00
Don Ho
f6bea32003 Update uzbek.xml 2021-09-12 19:04:10 +02:00
Don Ho
e5a800722b Make code more sanitary
Fix some vulnerable codes detected by VS's analyzing.

Close #10541
2021-09-12 18:50:30 +02:00
Ashfaaq18
36d0d29cc7 Add path column in Document list panel
Fix #9679, close #10539
2021-09-12 15:18:22 +02:00
Don HO
36d13f3ad8 Sort Preferences->New Document->Default language combobox
Fix #10513
2021-09-10 02:44:55 +02:00
Ivan Ustûžanin
1c9009e9b2 Fix open file crash via open file dialog
Notepad_plus_Window was rather huge (megabytes). Now it's small (tens of kilobytes),
but to safeguard against future size increase move its allocation from the stack
into the heap.
By using smart pointer, this PR not only fix open file crash properly,
but also prevent stack from being corrupted in the future.

Fix #10454, close #10531
2021-09-09 16:05:50 +02:00
Ivan Ustûžanin
495d202a43 Fix Find dialog display mess-up
Find dialog display mess-up caused by unintialized member variable.
Intialization of member variables fixes it.

Fix #10511, close #10530
2021-09-09 12:41:22 +02:00
Don Ho
aff77e27d3 Fix incremental search panel not translated after startup issue
Fix #10478
2021-09-08 13:43:51 +02:00
Don Ho
bd31dbb68f Remove "#pragma once" from rc files 2021-09-06 22:49:11 +02:00
Ivan Ustûžanin
241238df5a Fix xml writing issue in gcc build
Fix #10185, fix #9163, close #10503
2021-09-06 00:25:09 +02:00
Don Ho
cddcbb5d61 Fix CSS pseudo-elements not recognized issue
Update CSS keywords and add new styles.

Fix #10425, close #10501
2021-09-05 16:39:49 +02:00
Ivan Ustûžanin
156784722a Make number of languages and and styles unlimited and independent
A clean version of #10483 thanks to @ozone10 and @chcg.
The proper fix for #10206 without any compile-time limits.

Fix #10483, fix #10206, close #10491
2021-09-05 16:31:18 +02:00
Don Ho
d4781bd4a3 Update abkhazian.xml 2021-09-05 12:53:38 +02:00
Ivan Ustûžanin
e31eb8ea2a Add missing element in PHP dark mode styler
Default DarkMode theme style for PHP was missing one element (COMPLEX VARIABLE).
Also Make variables in strings bold so they are more distinguishable.

Close #10502
2021-09-04 13:08:04 +02:00
Ashfaaq18
ef8522e4aa Enable/disable ext column from Document list directely
* Enable/disable ext column via the context menu.
* The ext column checkbox is removed from the preferences dialog.
* Cleaned up localization file

Fix #10468, close #10485
2021-09-03 14:48:18 +02:00
mere-human
55f2644953 Fix regression: no error message when locked file could not be saved
Show file locked warning.
This is a regression from commit 469fa62c0ebc438c8003c735e6a801c6d098df7c

Fix #9994, close #10487
2021-09-03 14:18:53 +02:00
Christian Grasser
f428fbab13 Fix building MinGW release twice in appveyor builds
Improve also MinGW build (toolbar appears) by adding changes from patch https://github.com/notepad-plus-plus/notepad-plus-plus/files/6947163/notepad-gcc-build.patch.txt

Fix #10328, fix #10185, close #10469
2021-09-01 11:54:00 +02:00
Christian Grasser
ed5c2631c1 Fix asan(address sanitizer) issue with no plugins
Fix #10470, close #10471
2021-09-01 11:19:45 +02:00
Ashfaaq18
5c52aff7a1 Fix inconsistency of Document List context menu
Document List context menu now appears only when files are selected.

Fix #10463, close #10464
2021-09-01 00:49:44 +02:00
Don Ho
dab02db976 Add non MSC info into debug info 2021-08-31 18:41:22 +02:00
Don HO
f6488cdc7a
Update english.xml 2021-08-31 15:41:04 +02:00
Don HO
7006714c16
Update AboutDlg.cpp 2021-08-31 15:39:00 +02:00
Don Ho
88ee2eddb0 Fix the crash regression due to the array size increase
LexerStylerArray contains a MAX_LEXER_STYLE-element array (currently 100) of LexerStyler objects. Every one of them in turn via inheritance from StyleArray contains a SCE_STYLE_ARRAY_SIZE-element array (I tested with 99) of Style objects each at least 56 bytes in size. This in my test case requires over 550k of memory, and if LexerStylerArray is allocated on stack, the stack becomes corrupted. (Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/10454#issuecomment-908732786)

Inline arrays are a part of an object and increase its size while std::vector uses memory from the heap and stores internally only a pointer to a chunk of memory, thus the size of an object with a vector is substantially smaller than the one with an inline array. (Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/10454#issuecomment-908780106)

Fix #10454, fix #10206
2021-08-31 01:38:55 +02:00
Don Ho
c1cce29c84 Fix build system error 2021-08-31 00:16:52 +02:00
Don Ho
84c1505fab Add custom date time insert
Make Insert date time customizable.
Also make date time order reversable for short & long format.

Fix #10445, close #10453
2021-08-29 19:42:05 +02:00
mere-human
d41b4e1645 Fix current directory not applied bug after changing current directory option
Refresh the working directory when changing Follow current document preference.

Fix #10396, close #10426
2021-08-28 17:55:42 +02:00
Don HO
cd8e479ffa
Update README.md 2021-08-26 01:47:18 +02:00
ozone10
68d293e711 Allow custom color for Document Map
Fix #10052, close #10422
2021-08-26 01:03:18 +02:00
Don Ho
e12b161d48 Make Incremental Search panel translatable
Fix also checkbox overlap in incremental search bar.

Fix #8955, fix #8574, close #10420
2021-08-25 16:38:42 +02:00
Don Ho
deab93f9b5 Make "Confirm Save All" dialog more clear
Use "Always Yes" button instead of "Cancel", and whole dialog is translatble.

Fix #10339, close #10429
2021-08-25 16:31:51 +02:00
Don Ho
a391161e3d Add the info of TypeScript in overrideMap.xml
Close #10440
2021-08-25 16:29:16 +02:00
Don Ho
a720b88e52 Update localization files to v8.1.4 2021-08-25 15:42:59 +02:00
Don HO
390f7631fa Notepad++ 8.1.4 release 2021-08-25 02:17:47 +02:00
Patriccollu
d42c6a58aa Update Corsican translation for Notepad++ 8.1.4
Close #10415
2021-08-21 00:05:22 +02:00
yasmise
e057e3ea88 update japanese.xml
Follow these commits:
* Substitute "Mark" for "Style" in the menu entries (2576bf884b37a916cf5f597d87e436fb59864cec)
* Update English localization file to v8.1.4 (45831ac0509e41e28a501d151809207df47d08d3)

Close #10416
2021-08-21 00:02:20 +02:00
ozone10
8ac13d9065 Make dark mode compatible with Windows 11
Use documented way to enable UxTheme dialog texture.
Remove undocumented way.
Disable UxTheme dialog texture in dark mode.

Fix #10299, close #10383
2021-08-20 12:08:41 +02:00
~GOLEM~
4831cb80bd Update russian.xml v8.1.4
Close #10410
2021-08-20 12:02:47 +02:00
kubalav
79ab11ee8b Update Slovak localization file to v8.1.4
Close #10411
2021-08-20 12:00:08 +02:00
Thomas De Rocker
0b98ae56e9 Update dutch.xml
Close #10382
2021-08-20 11:55:37 +02:00
Don Ho
45831ac050 Update English localization file to v8.1.4
and French + Taiwanese Mandarin localization files are updated.
2021-08-20 02:55:36 +02:00
Don Ho
6844df039d Fix boost REGEX performance issue
This commit revert 86c66bba90cc3f49323cdcae77173099122c75dc due to the boost REGEX performance issue.

Fix #10398, fix #10296, fix #10260, close #10403
2021-08-19 23:40:10 +02:00
mere-human
8f123f8cca Fix file dialog append extension with RTL language
When both Windows and Notepad++ use RTL language, the Save/Open button is swapped with Cancel button.
Now take that into account when searching the button.

Fix #10397, close #10400
2021-08-18 14:05:25 +02:00
Don Ho
0733e6f241 Add Insert Date Time commands
Add Insert Date Time commands for both short & long format.

Fix #497, fix #2821, fix  #8184, fix #8302
2021-08-18 12:45:51 +02:00
mere-human
0c16f87a18 Fix Find-in-Files "Follow current doc" not working issue when absolute Default Directory set
This PR uses always current buffer's path in Find in Files dialog:
When "Follow current doc." is checked, then use current path first.
If that fails, fallback to the working directory as it was before.

Fix #8045, close #10387
2021-08-16 14:27:47 +02:00
Don Ho
302bab894f Make plugins' toolbar icons display in light/dark mode
The plugins' toolbar icons can be displayed in both light/dark mode by using their original icons.
Though using new API NPPM_ADDTOOLBARICON_FORDARKMODE to have better look & feel is recommanded.

Fix #9959, fix #10388, fix #9809
2021-08-16 02:12:03 +02:00
ozone10
5e899f2a6c Enhance dialog visual look & feel
Change dialog extyles.

Fix #10384, close #10385
2021-08-15 20:27:46 +02:00
Don HO
92b45d48c7 Include TypeScript files into installer
Include TypeScript auto-completion file & function list file into installer.
2021-08-15 12:02:45 +02:00
0xlay
f50061981a Add support DarkMode, function list & auto-completion for TypeScript
Close #10381
2021-08-15 11:47:19 +02:00
mere-human
141fef9a45 Fix LICENSE text display problem in installer
Use only ASCII characters in LICENSE text.
Replace '“' and '”' by '"', replace '©' by '(C)'.

Fix #10370, close #10378
2021-08-15 02:18:22 +02:00
0xlay
9a3152faa2 Add TypeScript language
Fix #10353, close #10361
2021-08-13 20:12:02 +02:00
Don Ho
2576bf884b Substitute "Mark" for "Style" in the menu entries
In order to avoid users' confusion, all "Mark" occurrences of menu entries are substituted for "Style", so users won't confuse with "Mark" fonction in Find dialog.

Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/10195#issuecomment-893481499

Close #10351
2021-08-13 13:54:27 +02:00
Don Ho
686bf4fba1 Fix security flaw issue
There's a security flaw for the un-installation of Notepad++ in Windows Register, the string without quotes:
C:\Program Files\Notepad++\uninstall.exe, whereas it should be "C:\Program Files\Notepad++\uninstall.exe".
The reason is, hacker can create a file called c:\program.exe, then Windows could interpret Files\Notepad++\uninstall.exe as the argument, so the system could run c:\program.exe. Ref:
https://isc.sans.edu/diary/Help+eliminate+unquoted+path+vulnerabilities/14464

Fixed by @ozone10:

Fix #10191, fix #6165, close #10369
2021-08-13 13:49:40 +02:00
Don HO
2b0620b078 Notepad++ 8.1.3 Release 2021-08-12 19:39:53 +02:00
Ashfaaq18
f5ea4898cf Fix the regression: absence of toolbar tooltip
This regression is du to 733c7e73de6d5dece3bcd9eb8784fd2bf61da359

Fix #10355, close #10359
2021-08-09 23:58:01 +02:00
Don Ho
4cc3d9fd1a Add Markdown UDL of dark mode in release packages
Add Markdown UDL of dark mode and the ability to apply it:
After dark mode being swiched in, all files with extension .md will be opened by applying Markdown UDL of dark mode.
When light mode is switched back, the default Markdown UDL (of light mode) will be applied to the new opened .md file.
Please note that all .md files opened before switching to new mode, will remain in the previous mode. User has to close and reopen these files to have the right Markdown UDL applied.

Fix #10196, close #10347
2021-08-08 03:22:15 +02:00
Don Ho
a36a12257a Add more quotes
Close #10342
2021-08-08 03:19:40 +02:00
Ashfaaq18
5c2c317352 Fix Function list current empty lost issue while Sort/Unsort/Save/Reload
Retains tree state of function tree during Sort/Unsort and Save/Reload actions.

Fix #8819, fix #10280, fix #10294, close #10322
2021-08-08 03:08:51 +02:00
ozone10
13623669a4 Make title, button, progress bar dark again
Fix #10326, close #10327
2021-08-08 02:34:53 +02:00
Ashfaaq18
733c7e73de Fix 2 RTL issues: wrong path in tooltip and file drag & drop Bug
Fix 2 RTL issues:
1. wrong path in tooltip of tab (#8520).
2. the file drag and drop bug (#8730) - now user can drag and drop to the exact view.

Fix #8520, fix #8730, close #10348
2021-08-08 02:21:45 +02:00
Don Ho
14a104ad46 Fix shortcut conflict detection error in shortcut mapper
https://github.com/notepad-plus-plus/notepad-plus-plus/issues/5374#issuecomment-891879420

Fix #5374
2021-08-03 20:56:29 +02:00
Don Ho
a7ede53c26 Add and remove some quotes 2021-08-03 20:24:06 +02:00
schnurlos
32965d5549 Update german.xml to v8.1.2
Close #10319
2021-08-03 19:44:57 +02:00
Don Ho
8a77b07d96 Fixed detection of shorcut key conflicts when filtering
Currently, when the shortcut mapper is filtering shortcuts, it doesn't display key conflicts properly. This is due to the indexes of the filtered shortcuts being different (since there are less) than the original list of shortcuts.

Author @jmbockhorst
(the original branch has been deleted)

Fix #5374, close #5453
2021-08-03 13:21:23 +02:00
mere-human
90485aaa21 Use CRLF line ending in Copy command from Windows dialog
Also, move endsWith() function to Common.h and reuse it in WindowsDlg.

Fix #10311, close #10314
2021-08-03 03:08:49 +02:00
Tmp341
ef1ecaa936 Update Turkish localization
* According to 27524e1, 80c285e, a0472fd, 599f185, 53f1e6b, 8e38b9d, 5b9e3b6 and b8f23a1 commits.

Close #10315
2021-08-03 00:51:43 +02:00
xomx
2dc31d0d2f Update czech.xml to v8.1.3 (2nd attempt)
Close #10316
2021-08-03 00:44:46 +02:00
rddim
1479b130f6 Update Bulgarian localization
Close #10244
2021-08-02 18:05:26 +02:00
Luxy
a91d0d7b8d Update brazilian_portuguese.xml
Close #10173
2021-08-02 17:50:40 +02:00
ArkadiuszMichalski
db62ce2e33 Update polish.xml to 8.1.3
Update polish.xml to 8.1.3 (according to the latest commit).

Close #10308
2021-08-02 15:59:38 +02:00
Sapziller
61bcbbd900 update korean.xml 8.1.3
Close #10309
2021-08-02 15:49:44 +02:00
Don Ho
242530c1fc Make margin width display correctly under high DPI 2021-08-02 01:43:16 +02:00
mere-human
121f19d8f9 Fix crash when several instances of the file dialog are shown
Pass a pointer to FileDialogEventHandler instance via GWLP_USERDATA
instead of using static variable. This way each window can have its
own pointer.

Fix #10290, close #10303
2021-08-01 23:58:03 +02:00
Thomas De Rocker
96e985dea5 Update dutch.xml
Close #10174
2021-08-01 17:08:39 +02:00
Don HO
1c1a0c487a Update about dialog icons 2021-08-01 16:30:03 +02:00
ozone10
318a566ae7 Apply explorer style on treeview
Enable hottracking for explorer style.
Allow dynamic change based on treeview background.

Fix #10061, close #10304
2021-08-01 16:05:26 +02:00
Hugo Carvalho
8417d3fb40 Update portuguese.xml
Close #10306
2021-08-01 14:19:33 +02:00
kubalav
ab02e3f9de Update Slovak translation
Close #10305
2021-08-01 14:16:11 +02:00
yasmise
1e26722249 update japanese.xml
Follow this commit:
*  Make the translation more accurate (53f1e6bff8bd26eaff3cf8ba9524c2b2548013b7)

Close #10182
2021-08-01 02:10:08 +02:00
Edditoria
3eb71d87b1 Update localization: Hong Kong Cantonese
As at commit 7c82c52 of this repo.

Close #10292
2021-07-31 23:16:03 +02:00
~GOLEM~
4eef48b32b Update russian.xml
Close #10268
2021-07-31 17:40:38 +02:00
Patriccollu
17290fadbc Update Corsican translation for Notepad++ 8.1.3
Close #10293
2021-07-31 17:37:17 +02:00
Don Ho
b8f23a107b Update French & Taiwanese Mandarin localization 2021-07-31 17:32:12 +02:00
Don Ho
87bda092cb Fix a compiling error in MinGW 2021-07-31 14:28:08 +02:00
Don Ho
53576f5b18 Change logo in About dialog and make it dark-modable 2021-07-30 23:53:53 +02:00
Don Ho
19f40fdeae Fix 2 panels' toolbar icons display issue under high DPI
Improve Function list & Folder as Workspace toolbar icons display under high DPI.
2021-07-30 15:59:27 +02:00
Don Ho
2bb40b1ab5 Fix Plugin Admin display issue under high DPI 2021-07-29 20:01:00 +02:00
Don Ho
1dad7c7e7f Increase macro, user command and plugin command number capacity
Macros:      200 -> 499
User cmds:   200 -> 499
Plugin cmds: 500 -> 999

Fix  #10263
2021-07-29 18:02:29 +02:00
mere-human
52c73f92dc Remove "Unicode" from build configuration names
Rename "Unicode Debug" => "Debug", "Unicode Release" => "Release"
since there is no non-Unicode version.
Also, fix the name in other configs for Git, AppVeyor and in the docs.

Fix #10114, close #10278
2021-07-29 15:14:55 +02:00
ozone10
fcea83ba98 Apply dark mode on plugins admin
Fix #10287, close #10288
2021-07-29 03:39:08 +02:00
ozone10
bf6cb36d48 Apply dark mode on document switcher
Fix #10285, close #10286
2021-07-29 03:22:24 +02:00
Don Ho
7c9f4204ea Refactoring: Improve the code organization for color picker displaying 2021-07-29 03:13:22 +02:00
Don Ho
6894e96ad7 Fix UDL dialog color picker display issue under high DPI 2021-07-29 01:48:33 +02:00
ozone10
1b6cd7c3ff Apply dark mode on UDL, styler dlg
Fix #10283, close  #10284
2021-07-28 23:26:28 +02:00
ozone10
1ac1b11831 Apply dark mode on shortcut dialog
Fix #10275, close #10276
2021-07-28 18:01:04 +02:00
ozone10
14da158cad Apply dark mode on run a macro multiple times dlg
Fix #10273, close #10274
2021-07-28 17:46:17 +02:00
ozone10
31c72b7388 Apply dark mode on color popup
Fix use of dark mode edge color in light mode for color picker button.
Properly redraw disabled color picker button.

Fix #10269, close #10270
2021-07-28 17:29:30 +02:00
ozone10
1214319839 Don't reset style & icons, when changing dark tone
Improve title bar dynamic redraw when changing mode.

Fix #10049, fix #10196, close #10272
2021-07-28 17:03:47 +02:00
Don Ho
5edc7500e9 Update some dark/light icons for panels
1. Add panels' toolbar icons in both dark/light mode for Folder as Workspace panel and function list panel.
2. Add panels' dark/light mode (Fluent UI style) icons for the tab interface.
3. Update doclist icons.
4. Remove not used icon.

Note that these icons cannot be changed dynamically yet while switching between light mode & dark mode.

Fix #10066
2021-07-28 03:17:56 +02:00
Don Ho
a8a802df2c Fix doc list file ext. column display under high DPI 2021-07-27 17:35:57 +02:00
Don Ho
eebc9d146f Tune up the logo size 2021-07-27 02:27:12 +02:00
Don Ho
5721b10da5 Improve About dialog display under high DPI mode 2021-07-27 02:10:57 +02:00
ozone10
baae30102c Apply dark mode on preferences dialog
1. Apply dark mode on preferences, about, debug and save all dialogs.
2. Make link text aware of dark mode.

Fix #10264, close #10265
2021-07-27 01:49:10 +02:00
Don Ho
934c988874 Make Shortcut mapper display correctly under high DPI 2021-07-26 23:55:35 +02:00
Don Ho
7c82c523b6 Add "Switch to Document List" command for shortcut
Fix #9015
2021-07-26 19:07:38 +02:00
ozone10
7c4a428e47 Make dark colors consistent
1. Make dark colors consistent for panel toolbars.
2. Make dark colors consistent style configurator edit controls.
3. Make dark colors consistent for docking elements.

* BackgroundColor(), BackgroundBrush() – should be used for items which have some interactions, or need to be different from Darker variant.
* DarkerBackgroundColor(), DarkerBackgroundBrush() – should be used for static/top backgrounds.
* SofterBackgroundColor(), SofterBackgroundBrush() – should be used for items , which have interactions, or have focus.

Fix #10242, close #10243
2021-07-26 15:00:49 +02:00
ozone10
b0d4e776c6 Apply dark mode on hash dialogs
Also allow typing newline in multiple lines for generating hash.

Fix #10255, close #10256
2021-07-26 14:17:10 +02:00
ozone10
a9002c81e5 Apply dark mode on value dialogs
1. Apply dark mode on value dialogs (dialogs created in preference).
2. Change value dialogs border style.
3. Apply dark mode on close button for other views (fullscreen, post-itand distraction free).

Fix #10253, fix #10210, close #10254
2021-07-26 00:33:42 +02:00
ozone10
b12c8ea541 Apply dark mode on run dialog
Fix #10251, close #10252
2021-07-26 00:07:10 +02:00
ozone10
8e84f5fbcf Apply dark mode on rename tab dialog
Fix #10249, close #10250
2021-07-25 23:53:48 +02:00
ozone10
af99d4c97e Apply dark mode on find char in range dialog
Fix #10247, close #10248
2021-07-25 23:49:27 +02:00
ozone10
f412a2d6f7 Apply dark mode on go to line dialog
Fix #10245, close #10246
2021-07-25 23:36:08 +02:00
mere-human
a0c15274f5 Fix file name edit box not functional on Windows Vista
Avoid the same window procedure being used for several different edit boxes.
The problem was found on Windows Vista but it can happen in other environment too.

Fix #10238, close #10241
2021-07-25 22:44:54 +02:00
ozone10
6d06000600 Apply dark mode on column editor
Fix #10236, close #10237
2021-07-25 21:25:27 +02:00
Don Ho
8a6dafb890 Fix Find in file progress bar display problem under High DPI
Fix Find in file progress bar display problem under High DPI, and simplify the window display position algorithm.

Close #10240
2021-07-25 19:06:04 +02:00
ozone10
89d835a56f Apply dark mode on all find dialogs
1. Apply dark mode on find in finder dialog.
2. Apply dark mode on progress window (searching in files).
3. Make color more consistent for incremental search.
4. Use different border style for incremental search.
5. Set border for finder for docking panel consistency.

Fix #10233, close #10234
2021-07-24 23:42:19 +02:00
Ashfaaq18
5b9e3b6406 Changed english.xml's "Document List " entry id from 44081 to 44070
Close #10235
2021-07-24 18:20:34 +02:00
Ashfaaq18
46a264e2db Fix Functions list scrolling to the top on file save
Retain Functions list scrollbar position on reload.

Fix #9659, close #10183
2021-07-24 15:55:15 +02:00
Vitaliy Grabchuk
3482673fd8 Add filter capacity in Shortcut mapper by shortcut key combination
This allows to filter shortcuts in Shortcut mapper not only by name but also by key combination text.

Fix #5616, fix #9316, close #10192
2021-07-24 14:14:31 +02:00
Don Ho
50dfdb2a8d Add link text color in customized dark colors of Preferences dialog 2021-07-24 04:18:43 +02:00
ozone10
a3ba150e89 Apply dark mode on Windows dialog
Use background and text colors from style theme in listview.

Fix #10230, close #10231
2021-07-24 01:25:58 +02:00
ozone10
e627de438b Apply dark mode on Style Configurator
Create link text color to be used too in about, debug and preference dialog.

Fix #10226, close #10227
2021-07-24 00:48:03 +02:00
ozone10
3e69de4879 Improve docking tab visual
1. Improve high DPI look.
2. Make dark mode color consistent.
3. Allow icons transparency.
2021-07-23 19:51:53 +02:00
Don HO
0f15c207d5 Update localization files (change tag) 2021-07-23 17:10:35 +02:00
Don HO
1c548901ff Update translation files 2021-07-23 16:48:06 +02:00
Ashfaaq18
7b1e6546a1 Make Document List Panel togglable and shortcutable via View menu
1. Toggle toolbar item and view menu item for Document List Panel.
2. Added standard, filledFluent, darkmode->toolbar->(fluent and filledfluent) icons for the Document List Panel toggle.
3. Working shortcut for the Document List Panel under shortcut mapper.
4. Removed show document panel from the preference menu, kept the extension option.
5. Rename "Doc Switcher" to "Document list".

Fix #3526, fix #9015, close #10214
2021-07-23 16:14:22 +02:00
ozone10
a4cfd2a126 Dark find and replace dialog enhancement and fixes
1. Make color more consistent.
2. Fix bug with trackbar (Transparency option) not changing background, when changing background color.
3. Fix visual glitch.
4. Enhancement to combobox, including DPI fixes.
5. Make listbox of combobox use dark scrollbar.

Fix #10027, fix #10221, close #10220
2021-07-22 04:01:10 +02:00
ozone10
8bf11be0b5 Restore edit zone border in dark mode
Restore functionality for option No edge in preference when using dark mode.

Fix #10205, close #10211
2021-07-21 23:53:01 +02:00
Don Ho
1182976cc3 Fix narrow splitter under a high DPI environment problem
Also add flage [-udl="My UDL Name"] into Command line argument help dialog box.
2021-07-21 20:09:13 +02:00
ozone10
264e1924b0 Restore Splitter appearance in dark mode
Allow dynamic color change for arrows.

Fix #10069, close  #10199
2021-07-21 04:32:08 +02:00
mere-human
8e38b9daba Add copy file names capacity from Windows dialog
Fix #10123, close #10194
2021-07-21 03:33:48 +02:00
ozone10
81b21aae2a Enhance combobox & edit field in dark mode
1. Allow function list search to use dark mode error background.
2. Make combobox more dark and allow to use custom colors (borders, arrow head and background).
3. Use dark listbox in combobox.

Fix #10178, close  #10179
2021-07-20 15:44:49 +02:00
Don Ho
aa69711d4c Add the capacity to switch among Find/Replace/FiF/Mark via their shortcuts
Add Find/Replace/Find in fles/Mark shortcuts detection capacity in Find Replace dialog.

Fix #10019, close #10177
2021-07-20 01:28:15 +02:00
Don HO
fdb2951e00 Notepad++ 8.1.2 Release 2021-07-19 03:51:50 +02:00
Don Ho
53f1e6bff8 Make the translation more accurate 2021-07-16 00:11:35 +02:00
ozone10
33fa3b6198 Edge Enhancement
Make changing edge color dynamic.
Apply color on docking panels caption, color button.
Add status bar separators.

Fix #10166, close #10167
2021-07-15 23:55:41 +02:00
Don Ho
93d91c3ee2 Fix a typo 2021-07-15 23:14:18 +02:00
conky77
a279d83c51 Update italian.xml
Fixed missing translation "Enable Multi Editing" (Issue #10085 )

Fix #10085, close #10093
2021-07-15 19:58:47 +02:00
conky77
6127825b80 Fix "Enable Multi Editing" in venetian.xml
Fix incorrect translation "Enable Multi Editing" in venetian.xml

Close #10094
2021-07-15 19:56:43 +02:00
Edditoria
2c95c5b2de Update localization Hong Kong Cantonese
As at commit a0472fd of this repo.

Close #10125
2021-07-15 19:54:25 +02:00
xomx
52e6911bb3 Update czech.xml to v8.1.2
Close #10164
2021-07-15 19:20:13 +02:00
schnurlos
8d1d8cfcb9 Update german.xml
Following 27524e1d4d

Close #10110
2021-07-15 14:44:03 +02:00
kubalav
73d945bfe8 Update Slovak translation
Close #10112
2021-07-15 14:22:44 +02:00
yasmise
62031f8ab4 update japanese.xml
Following these commits:
* Improve link to user manual on questionmark menu (27524e1d4d65da1b65cfa89fcc94af728e5ee27b)
* Add a Save all confirm dialog (80c285ee2d49e6975ff996010a639634630d3b5b)
* Use current file directory in File Rename dialog (a0472fd7f2aa16f9b295a007739860acdbdf2d23)

Close #10119
2021-07-15 14:18:58 +02:00
Luxy
badc59c597 Update Brazilian Portuguese translation
Close #10104
2021-07-15 14:14:26 +02:00
rddim
f215b85cc4 Update Bulgarian localization
Close #10140
2021-07-15 03:18:47 +02:00
~GOLEM~
7be30516d9 Update russian.xml v8.1.2
Close #10111
2021-07-15 03:16:32 +02:00
Thomas Smith
f2d47ef5f4 Update Hebrew localizaton
Fixing the incorrect Hebrew translation of line 133 as per https://github.com/notepad-plus-plus/notepad-plus-plus/issues/10120

Fix #10120, close #10126
2021-07-15 03:02:37 +02:00
Hugo Carvalho
6d34d658a9 Update portuguese.xml
Close  #10144
2021-07-14 23:22:14 +02:00
Thomas De Rocker
9048c85863 Update dutch.xml
Close #10105
2021-07-14 23:14:36 +02:00
Sashank999
e87e94a6ce Add latest ES/JS keywords for auto-completion
Fix  #9858, close #9859
2021-07-14 21:35:03 +02:00
Scott Sumner
4cd293a0b1 Change "not" usage to "!" in contribution guideline
Close #10158
2021-07-14 20:20:18 +02:00
mere-human
5e28b47ff8 Fix corrupted encoding text on status bar
Remove the shortcut text from the menu text that is used in status bar.

Fix #10146, close #10148
2021-07-14 19:37:54 +02:00
Don Ho
599f1852c7 Update localization files 2021-07-14 18:48:22 +02:00
Don Ho
831d3ba9cc Add customizing dynamically dark mode colors capacity
Let users customize whole set of dark mode colors (except title bar, menu items and scroll bar colors).

Close #10145
2021-07-14 03:33:36 +02:00
Don HO
8d425bd4f1
Drop the support of Windows 8
Drop the support of Windows 8, but keep Notepad++ running under this OS, and prevent the critical bugs from Notepad++ under Windows 8.
2021-07-13 14:06:32 +02:00
ozone10
b3fdfdd064 Improve DarkMode toggling
Make choosing dark tone to not require turning back to light mode.

Close #10141
2021-07-12 01:32:51 +02:00
ozone10
fb91093ccb Activate dark mode in Windows 11
Allow dark mode in Windows 11 insider build 22000 and later.
Per this comment #10122 (comment)

Fix #10136, Close #10135
2021-07-10 14:23:55 +02:00
Don Ho
39b9090b96 Make Notepad++ dark mode colors customizable
Add 6 more color choices.

Close #10128
2021-07-10 14:18:36 +02:00
ozone10
066ef8a4a0 Make dark mode restartless
Fix #10121, close #10122
2021-07-09 12:25:49 +02:00
Don Ho
eac8c4094f Override unit-tests needed files while copying them for local unit-tests script 2021-07-07 15:20:16 +02:00
mere-human
2794c927b3 Fix the warnings issue during Scintilla's compiling
Remove std::iterator from Boost Regex search code:
std::iterator was deprecated in C++17.
Remove it to fix the warnings and avoid other issues.

Fix #10035, close #10036
2021-07-07 14:44:34 +02:00
Don Ho
4642be5492 Add local unit-test launcher 2021-07-07 04:11:25 +02:00
Don Ho
14a0a43b16 Add global regex unitTest via UDL way
Use User Defined Language to have function list on Unit-tests.
It could reduce regression happening while the code of boost regex or the related code is changed.

And also make build system be aware of unit-test result.

Close #10108
2021-07-07 03:37:43 +02:00
ozone10
ae56255be6 Enhance listview column header in dark mode
Use different approach to make listview header dark.

Close #10106
2021-07-06 19:41:37 +02:00
mere-human
a0472fd7f2 Use current file directory in File Rename dialog
and fix "Remember last used directory" unexpected behaviour.

Fix #10095, fix #10115, close #10100
2021-07-06 16:05:20 +02:00
Ashfaaq18
80c285ee2d Add a Save all confirm dialog
and add also an option in Preferences dialog to enable or diable the dialog.

Fix #2124, fix #9931, close #9968
2021-07-06 03:56:29 +02:00
Scott Sumner
27524e1d4d Improve link to user manual on questionmark menu
Fix #10087, close #10088
2021-07-04 19:16:46 +02:00
Sean Lin
2034150422 Update taiwaneseMandarin.xml
1. Synchronize the English version
2. Correct translation
3. Remove redundant translations

Close #10101
2021-07-04 19:06:47 +02:00
Don Ho
7bb39a08f1 Open a file from command line by applying an existent UDL via UDL name
Add command line flag -udl="UDL name" to open a file by applying an existent UDL via its name.

Close #10102
2021-07-04 19:03:52 +02:00
Don Ho
88665b5d17 Add an xkcd's quote 2021-07-04 18:56:14 +02:00
Don HO
ea09b9f191 Notepad++ 8.1.1 release 2021-07-04 15:59:54 +02:00
Don Ho
f65f00c63f Fix ASCII panel display problem in dark mode + light theme (default styler.xml) 2021-07-01 13:56:47 +02:00
Don Ho
4ae1063774 Fix dark mode applied correctely only for 1 project panel issue 2021-07-01 04:31:02 +02:00
ozone10
75643560a3 Improve dynamic switching for scrollbars.
For main and sub edits, finder (search result docking window) and clipboard history panel.

Fix #10083, close #10084
2021-06-30 16:42:27 +02:00
Don Ho
60105d68f7 Fix Doc Switcher panel not follow theme in dark mode
Plus add highlightHotTrackColor in dark mode & clean up.
2021-06-30 16:02:34 +02:00
Don Ho
36ea7e8b3e Make column headers of ASCII panel & doc switcher apply to dark mode
Close #10082
2021-06-30 03:43:14 +02:00
yasmise
5398df2275 Update japanese.xml to v8.1
Close #10028

Follow-up to this commit:
* Close all tabs in stack with single action (f9d6fb9e31719a0ef9bbc8bd42c262560575adf8)
2021-06-28 03:03:55 +02:00
ozone10
1da707128a Fix regression: disable Explorer Theme for TreeView
Ref: #10061

Close #10062
2021-06-28 02:18:59 +02:00
Don Ho
3347044595 Fix edit zone not being applied to dark mode issue
Problem:
After installing Notepad++ v8.1 under an user account (with admin privilege), then switch to another user account (with or without admin privilege), launch Notepad++ and turn dark mode on. The dark theme on edit zone won't be applied.

Solution:
Notepad++ installer copies all theme files in installed directory instead of "%APPDATA%\Notepad++\themes\".
When theme is choosen or modified, it'll be saved in "%APPDATA%\Notepad++\themes\", and the saved theme file will override the original theme in installation directory.

New behaviour of theme:
Any theme selected via Style Configurator will be copied from its installation directory (C:\Program Files\Notepad++\themes\) into "%APPDATA%\Notepad++\themes\".
If the theme exists in "%APPDATA%\Notepad++\themes", the original one in s installation directory (C:\Program Files\Notepad++\themes) will be ignored.

Fix #10076, close #10077
2021-06-27 16:42:01 +02:00
Don Ho
da0fc02c5c Update some Fluent UI Icons for both dark & light mode
Fix #10075
2021-06-27 12:39:17 +02:00
ozone10
034666894f Adapt docking tab for dark mode
Fix #10067, close #10068
2021-06-25 17:06:21 +02:00
Don Ho
7d65bb9503 Use toolkits v141 still for a while 2021-06-25 15:56:08 +02:00
Christian Grasser
2e0d358cdc Adapt for VS2019 builds with toolkit v142
Fix #9922, close #9942
2021-06-25 15:26:27 +02:00
ozone10
219cec8000 Allow dynamic dark/light mode change for tooltips
Fix #10059, close #10060
2021-06-24 03:44:15 +02:00
Don Ho
f27e561379 Apply dark mode to function list's toolbar
Close #10058
2021-06-24 02:41:21 +02:00
mere-human
6a4ef408f2 Fix GCC compiler warnings in Notepad++
Fix #10037, close #10048
2021-06-23 12:49:06 +02:00
Don Ho
296e1c695e Fix root menu item mouse hover color issue while being back in light mode
https://github.com/notepad-plus-plus/notepad-plus-plus/pull/10039#discussion_r656151554
2021-06-23 02:33:15 +02:00
ozone10
c8be679cde Use Explorer theme for list- and tree-views
Apply Explorer theme on list- and tree-views.
Allow dynamic change between dark and light mode in these views.
Add border to document switcher for consistency.
Refactor code in TreeView.cpp to make it consistent.

Fix #10055, close #10056
2021-06-23 01:53:31 +02:00
Don Ho
5df7c97f98 Clean up: remove unecessary code for dark mode 2021-06-22 12:17:49 +02:00
Don Ho
e4ebeed6f9 Make Project Panel toolbar conform to dark mode
Close #10039
2021-06-21 13:00:10 +02:00
ozone10
a6bbdeb92e Make line above panel toolbar dark in dark mode
Fix #10043, close #10042
2021-06-21 12:48:12 +02:00
ozone10
ffbf3af029 Make DarkMode title bar to apply on all dialog on dark mode
Also remove border from clipboard history panel.

Close  #10023
2021-06-20 19:09:35 +02:00
Don Ho
bef4da61be Provide the whole set of arguments to initialize "Colors" structure
9c13d657c9 (r52399592)
2021-06-20 15:07:48 +02:00
Ashfaaq18
c2534ee8f2 Make the Search Results Window locked (grayed) until the first search
The search result window option will only enable after the first Find All search

Fix #9655, close #9967
2021-06-20 03:24:10 +02:00
mere-human
263910a9a9 Fix compiler warnings when building Notepad++ solution
Remove unsupported option /arch:IA32 from x64 & ARM64 Release for Notepad++ project.
Define _SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING for
SciLexer project to ignore a specific warning in third-party code.
Now the solution builds without warnings in all configurations.

Fix #10033, close #10034
2021-06-19 18:52:43 +02:00
Don Ho
fd5bfe4252 Update slovenian.xml 2021-06-17 14:31:51 +02:00
Don Ho
1db798fb11 Update finnish.xml 2021-06-17 14:25:20 +02:00
Don HO
33d7712337 Notepad++ 8.1 release 2021-06-17 02:25:09 +02:00
Adam D. Walling
acf91fc2c2 Make multiline and vertical tabs work in dark mode
Dark mode tab drawing should work for multiline and vertical tabs

Close #10017
2021-06-17 01:23:10 +02:00
Don Ho
fc94015bff Fix plugin icons not displayed regression 2021-06-16 02:57:06 +02:00
Don Ho
9c13d657c9 Better look & feel in dark mode
Fix #9982
2021-06-15 17:48:21 +02:00
Thomas De Rocker
94c6d24081 Update dutch.xml
Close #9938
2021-06-15 17:05:14 +02:00
Hugo Carvalho
d113531345 Update portuguese.xml
Close #9940
2021-06-15 17:03:03 +02:00
György Bata
47d780b861 Hungarian translation update for 8.0
Close #9949
2021-06-15 16:59:17 +02:00
Sapziller
b09190c76e Update Korean localization file
1. add missing items since 7.9.2
2. remove blank at end of line

Close #10003
2021-06-15 16:54:07 +02:00
rddim
52dbd52251 Update Bulgarian localization
Close #9944
2021-06-15 16:51:33 +02:00
xomx
ac7a7af0cf Update czech.xml to v8.0.0
mainly keyboard access keys corrections

Close #9943
2021-06-15 16:47:27 +02:00
Tmp341
4bf1fd1fb2 Update Turkish localization
* According to e623e76, f9d6fb9 commits.

Close #9947
2021-06-15 15:42:45 +02:00
conky77
c5ba7320cc Update venetian.xml to 8.00
Close #9952
2021-06-15 15:38:37 +02:00
Patriccollu
fee55b06d3 Update Corsican translation for Notepad++ 8.0.0
Close #10005
2021-06-15 15:28:52 +02:00
conky77
b8398b18e7 Update italian.xml to 8.0.0
Close #9953
2021-06-15 15:25:44 +02:00
schnurlos
bfd9c2d325 Update german.xml
Following f9d6fb9e31

Close #9955
2021-06-15 15:23:52 +02:00
Christian Grasser
5b86023d3a Fix auto-completion performance issue introduced with switch to static linkage of libSciLexer
The performance issue, which appears after switching to static linkage of libSciLexer, is due to th commit "Improve character case handling in RegEx" (#9707).
Removing "locale" call from "BoostRegexSearch::FindText()" solves auto-completion performance issue.

Fix #9975, close #10010
2021-06-15 13:28:42 +02:00
ozone10
467870d66e Add DarkMode Tooltips
Fix #9962, close #9963
2021-06-13 00:35:12 +02:00
Don Ho
2f51902e9c Fix Notepad++ crash on dark mode while starting up
Fix #9961
2021-06-12 01:49:05 +02:00
Adam D. Walling
7e139e1ba2 Remove menubar white line under dark mode
Fix #9984, close #9985
2021-06-11 20:15:09 +02:00
mere-human
aa17a4bc7a Fix Open dialog with "Save" label for OK button
Now Open dialog shows Open label on the button instead of Save.
Don't change any button labels.
Instead, get the leftmost button when overriding the window procedure.

Fix #9966, close #9973
2021-06-11 19:56:47 +02:00
Jacob Weisz
ea8c9779c2 Remove Gitter badge
Close #9972
2021-06-08 23:42:51 +02:00
2281 changed files with 379872 additions and 222406 deletions

View File

@ -20,7 +20,7 @@
<!--- In your Notepad++, click on the "?" menu (found to the right of "Window" in the menu bar) -->
<!--- In the menu that drops down, choose "Debug Info..." -->
<!--- A message box will open detailing specifics about your Notepad++ version, plugins, etc. -->
<!--- CLICK ON THE BLUE LINK with the text "Copy debug info into clipboard" -->
<!--- CLICK ON THE BUTTON with the text "Copy debug info into clipboard" -->
<!--- Do a PASTE HERE -->
<!--- Feel free to include any other info, such as screenshots, etc -->

79
.github/ISSUE_TEMPLATE/1-bug.yml vendored Normal file
View File

@ -0,0 +1,79 @@
name: Bug
description: File a bug/issue
title: "[BUG] <title>"
#labels: ["bug"]
body:
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: |
Please search to see if an issue already exists for the bug you encountered.
If the issue is for a plugin (except for mimeTools, NppConverter, and NppExport),
report it to the plugin author rather than here.
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Description of the Issue
description: Provide a concise description to the issue itself.
validations:
required: true
- type: textarea
attributes:
label: Steps To Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1.
2.
3.
...
value: |
1.
2.
3.
validations:
required: true
- type: textarea
attributes:
label: Current Behavior
description: What you're experiencing.
validations:
required: true
- type: textarea
attributes:
label: Expected Behavior
description: What did you expect to happen.
validations:
required: true
- type: textarea
attributes:
label: Debug Information
description: |
In your Notepad++, click on the "?" menu (found to the right of "Window" in the menu bar).
In the menu that drops down, choose "Debug Info...".
A dialog will open detailing specifics about your Notepad++ version, plugins, etc.
CLICK ON THE BUTTON "Copy debug info into clipboard".
Do a PASTE HERE
render: shell
validations:
required: true
- type: textarea
attributes:
label: Anything else?
description: |
Links? References? Anything that will give us more context about the issue you are encountering!
If feasible, try launching Notepad++ without any plugins.
Some updates to Notepad++ modify communication rules used by plugins,
and if plugin developers do not keep their plugins in sync with these changes, issues may arise.
Running without plugins can help diagnose specific problems.
Notepad++ relies on the Lexilla and Scintilla libraries.
For more details, visit https://github.com/ScintillaOrg/lexilla and https://sourceforge.net/p/scintilla.
Consider using the reference program SciTE to verify whether the issue is a genuine bug in Notepad++.
Download Scite from here https://www.scintilla.org/SciTEDownload.html.
Tip: You can attach images or relevant text files by clicking this area to highlight it and then dragging files in.
validations:
required: false

View File

@ -0,0 +1,52 @@
name: Feature request
description: Suggest an idea for Notepad++
title: "[Feature request] <title>"
#labels: ["feature"]
body:
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the feature you request.
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Description of the Issue
description: A clear and concise description of what the problem is.
validations:
required: true
- type: textarea
attributes:
label: Describe the solution you'd like.
description: A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
attributes:
label: Debug Information
description: |
In your Notepad++, click on the "?" menu (found to the right of "Window" in the menu bar).
In the menu that drops down, choose "Debug Info...".
A dialog will open detailing specifics about your Notepad++ version, plugins, etc.
CLICK ON THE BUTTON "Copy debug info into clipboard".
Do a PASTE HERE
render: shell
validations:
required: true
- type: textarea
attributes:
label: Anything else?
description: |
Links? References? Anything that will give us more context about the feature you want!
Notepad++ relies on the Lexilla and Scintilla libraries.
For more details, visit https://github.com/ScintillaOrg/lexilla and https://sourceforge.net/p/scintilla.
If you have specific language feature requests, consider using the reference program SciTE to verify whether the desired feature is supported.
You can download SciTE from here https://www.scintilla.org/SciTEDownload.html.
If you have any questions about Notepad++ usage, explore the community forum https://community.notepad-plus-plus.org/category/7/faq.
Tip: You can attach images by clicking this area to highlight it and then dragging files in.
validations:
required: false

1
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1 @@
blank_issues_enabled: true

13
.github/dependabot.yml vendored Normal file
View File

@ -0,0 +1,13 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"

387
.github/workflows/CI_build.yml vendored Normal file
View File

@ -0,0 +1,387 @@
name: CI_build
on: [push, pull_request]
env:
PYTHON_ALLOW_CACHE: true
PYTHON_DIR_CACHE: D:\.cache\python
jobs:
before_build:
runs-on: windows-latest
outputs:
result: ${{ steps.filter.outputs.result }}
matrix: ${{ steps.filter.outputs.matrix }}
title: ${{ steps.filter.outputs.title }}
python: ${{ steps.filter.outputs.python }}
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: ${{ github.event_name == 'pull_request' && 2 || 0 }}
- name: Commit filtering
id: filter
run: |
$allowMaster = $true
$folders_onejob = "PowerEditor/(Test|(installer/(filesForTesting|functionList)))/"
$folders_nowork = "\.github/ISSUE_TEMPLATE"
$files_nowork = "md|txt|log|ini"
$files_needwork = "CMakeLists\.txt"
$matrix_all = 'matrix={"build_configuration": ["Release", "Debug"], "build_platform": ["x64", "Win32", "ARM64"]}'
$matrix_onejob = 'matrix={"build_configuration": ["Debug"], "build_platform": ["Win32"]}'
Write-Output $matrix_all >> $env:GITHUB_OUTPUT
$isPush = "${{github.event_name }}" -eq "push" ? $true : $false
$isMaster = $isPush -and $${{ github.ref_name == github.event.repository.master_branch }}
$commit_message = $isPush ? (git show -s --format=%B) : (git log -1 --no-merges --pretty=%B)
$commit_title = ($commit_message -split "[\r\n]+")[0]
Write-Output "title=$commit_title" >> $env:GITHUB_OUTPUT
$files_modified = @(git diff --name-only HEAD~1)
$files_needwork_all = @($files_modified | Where-Object {$_ -notmatch "\.(xml|$files_nowork)$|$folders_nowork|$folders_onejob" -or $_ -match "($files_needwork)$"})
if ($allowMaster -or !$isMaster) {
if ($commit_title -match "\[force all\]") {
Write-Output "Run standard jobs"
}
elseif ($commit_title -match "\[force one\]") {
Write-Output "Run only one Win32/Debug job"
Write-Output "result=ONEJOB" >> $env:GITHUB_OUTPUT
Write-Output $matrix_onejob >> $env:GITHUB_OUTPUT
}
elseif (($files_modified.length -gt 0 -and $files_needwork_all.length -eq 0) -or $commit_title -match "\[force (xml|none)\]") {
if (@($files_modified | Where-Object {$_ -notmatch "\.($files_nowork)$|$folders_nowork"}).length -eq 0 -or $commit_title -match "\[force none\]") {
Write-Output "Changed files on this commit don't require any additional tasks.`n"
Write-Output "result=OK" >> $env:GITHUB_OUTPUT
Write-Output "PYTHON_ALLOW_CACHE=false" >> $env:GITHUB_ENV
Exit
}
else {
Write-Output "Run only XML validation step"
if (@($files_modified | Where-Object {$_ -match $folders_onejob}).length -eq 0) {
Write-Output "result=XML" >> $env:GITHUB_OUTPUT
}
else {
Write-Output "Run only one Win32/Debug job"
Write-Output "result=ONEJOB" >> $env:GITHUB_OUTPUT
Write-Output $matrix_onejob >> $env:GITHUB_OUTPUT
}
}
}
else {
Write-Output "Run standard jobs"
}
}
else {
Write-Output "Run standard jobs"
}
if ($commit_title -match "\[force nopythoncache\]") {
$env:PYTHON_ALLOW_CACHE = "false"
Write-Output "PYTHON_ALLOW_CACHE=false" >> $env:GITHUB_ENV
}
if ($Env:PYTHON_ALLOW_CACHE -eq "true") {
$python = ((python -V) -split " ")[1]
$requests = (Invoke-RestMethod https://pypi.org/pypi/requests/json).info.version
$rfc3987 = (Invoke-RestMethod https://pypi.org/pypi/rfc3987/json).info.version
$pywin32 = (Invoke-RestMethod https://pypi.org/pypi/pywin32/json).info.version
$lxml = (Invoke-RestMethod https://pypi.org/pypi/lxml/json).info.version
$key = "${{ runner.os }}-python_$python-requests_$requests-rfc3987_$rfc3987-pywin32_$pywin32-lxml_$lxml"
Write-Output "python=$key" >> $env:GITHUB_OUTPUT
}
- name: (cache) Lookup Python modules
if: env.PYTHON_ALLOW_CACHE == 'true'
uses: actions/cache/restore@v4
id: cache-lookup
with:
path: ${{ env.PYTHON_DIR_CACHE }}
key: ${{ steps.filter.outputs.python }}
lookup-only: true
- name: (cache) Restore Python modules
if: env.PYTHON_ALLOW_CACHE == 'true' && steps.filter.outputs.result == 'XML' && steps.cache-lookup.outputs.cache-hit == 'true'
uses: actions/cache/restore@v4
with:
path: ${{ env.PYTHON_DIR_CACHE }}
key: ${{ steps.filter.outputs.python }}
- name: (cache) Install Python modules
if: env.PYTHON_ALLOW_CACHE == 'true' && steps.cache-lookup.outputs.cache-hit != 'true'
run: |
python -m pip install --target ${{ env.PYTHON_DIR_CACHE }} requests rfc3987 pywin32 lxml
- name: (cache) Save Python modules
if: env.PYTHON_ALLOW_CACHE == 'true' && steps.cache-lookup.outputs.cache-hit != 'true' && github.event_name == 'push'
uses: actions/cache/save@v4
with:
path: ${{ env.PYTHON_DIR_CACHE }}
key: ${{ steps.filter.outputs.python }}
- name: XML validation
if: steps.filter.outputs.result == 'XML'
run: |
if ($Env:PYTHON_ALLOW_CACHE -eq "true" -and (Test-Path -Path ${{ env.PYTHON_DIR_CACHE }})) {
$Env:PYTHONPATH = "${{ env.PYTHON_DIR_CACHE }}"
}
else {
python -m pip install requests rfc3987 pywin32 lxml
}
python PowerEditor\Test\xmlValidator\validator_xml.py
if ($LastExitCode -eq 0) {
Write-Output "`nAll XML files are valid.`n"
}
else {
Write-Output "`nSome XML files are invalid.`n"
$host.SetShouldExit($LastExitCode)
}
build_windows:
runs-on: windows-latest
needs: before_build
if: needs.before_build.outputs.result == '' || needs.before_build.outputs.result == 'ONEJOB'
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.before_build.outputs.matrix) }}
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Modify resource.h N++ version to avoid confusion
working-directory: PowerEditor\src\
run: |
$content = Get-Content -Path 'resource.h'
$newContent = $content -replace 'TEXT\(\"Notepad\+\+ v.*\"\)', 'TEXT("Notepad++ GH_BUILD")'
$newContent | Set-Content -Path 'resource.h'
- name: MSBuild of n++ exe
working-directory: PowerEditor\visual.net\
run: msbuild notepadPlus.sln /m /p:configuration="${{ matrix.build_configuration }}" /p:platform="${{ matrix.build_platform }}" /p:PlatformToolset="v143"
- name: Archive artifacts for x64 / Release
if: matrix.build_platform == 'x64' && matrix.build_configuration == 'Release'
uses: actions/upload-artifact@v4
with:
name: Notepad++.MSVC.${{ matrix.build_platform}}.${{ matrix.build_configuration}}
path: PowerEditor\bin64\Notepad++.exe
- name: Archive artifacts for Win32 / Release
if: matrix.build_platform == 'Win32' && matrix.build_configuration == 'Release'
uses: actions/upload-artifact@v4
with:
name: Notepad++.MSVC.${{ matrix.build_platform}}.${{ matrix.build_configuration}}
path: PowerEditor\bin\Notepad++.exe
- name: Archive artifacts for ARM64 / Release
if: matrix.build_platform == 'ARM64' && matrix.build_configuration == 'Release'
uses: actions/upload-artifact@v4
with:
name: Notepad++.MSVC.${{ matrix.build_platform}}.${{ matrix.build_configuration}}
path: PowerEditor\binarm64\Notepad++.exe
- name: Archive artifacts for ARM64|x64 / Debug
if: (matrix.build_platform == 'ARM64' || matrix.build_platform == 'x64') && matrix.build_configuration == 'Debug'
uses: actions/upload-artifact@v4
with:
name: Notepad++.MSVC.${{ matrix.build_platform}}.${{ matrix.build_configuration}}
path: PowerEditor\visual.net\${{ matrix.build_platform}}\${{ matrix.build_configuration}}\Notepad++.exe
- name: Archive artifacts for Win32 / Debug
if: matrix.build_platform == 'Win32' && matrix.build_configuration == 'Debug'
uses: actions/upload-artifact@v4
with:
name: Notepad++.MSVC.${{ matrix.build_platform}}.${{ matrix.build_configuration}}
path: PowerEditor\visual.net\${{ matrix.build_configuration}}\Notepad++.exe
- name: (cache) Restore Python modules for Win32 / Debug
if: matrix.build_platform == 'Win32' && matrix.build_configuration == 'Debug' && env.PYTHON_ALLOW_CACHE == 'true' && contains(needs.before_build.outputs.title, '[force nopythoncache]') != true
uses: actions/cache/restore@v4
with:
path: ${{ env.PYTHON_DIR_CACHE }}
key: ${{ needs.before_build.outputs.python }}
- name: Run xml validation test for Win32 / Debug only
if: matrix.build_platform == 'Win32' && matrix.build_configuration == 'Debug'
working-directory: .\
run: |
if ($Env:PYTHON_ALLOW_CACHE -eq "true" -and $${{ !contains(needs.before_build.outputs.title, '[force nopythoncache]') }} -and (Test-Path -Path ${{ env.PYTHON_DIR_CACHE }})) {
$Env:PYTHONPATH = "${{ env.PYTHON_DIR_CACHE }}"
}
else {
python -m pip install requests rfc3987 pywin32 lxml
}
python PowerEditor\Test\xmlValidator\validator_xml.py
- name: Run FunctionList and UrlDetection Tests for Win32 / Debug only
if: matrix.build_platform == 'Win32' && matrix.build_configuration == 'Debug'
working-directory: .\
run: |
Copy-Item "PowerEditor\visual.net\Debug\Notepad++.exe" -Destination "PowerEditor\bin"
Copy-Item "PowerEditor\src\langs.model.xml" -Destination "PowerEditor\bin"
Copy-Item "PowerEditor\src\stylers.model.xml" -Destination "PowerEditor\bin"
Copy-Item "PowerEditor\src\shortcuts.xml" -Destination "PowerEditor\bin"
Copy-Item "PowerEditor\src\contextMenu.xml" -Destination "PowerEditor\bin"
Copy-Item "PowerEditor\installer\functionList" -Destination "PowerEditor\bin" -Recurse
Copy-Item "PowerEditor\installer\filesForTesting\regexGlobalTest.xml" -Destination "PowerEditor\bin\functionList"
Copy-Item "PowerEditor\installer\filesForTesting\overrideMap.xml" -Destination "PowerEditor\bin\functionList"
cd .\PowerEditor\Test\FunctionList\
.\unitTestLauncher.ps1
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
cd ..\UrlDetection
.\verifyUrlDetection.ps1
# build_windows_clang:
# runs-on: windows-latest
#needs: before_build
#if: needs.before_build.outputs.result == ''
# strategy:
# matrix:
# build_configuration: [Release]
# build_platform: [x64]
# steps:
# - name: Checkout repo
# uses: actions/checkout@v4
# - name: Add msbuild to PATH
# uses: microsoft/setup-msbuild@v2
# - name: Modify resource.h N++ version to avoid confusion
# working-directory: PowerEditor\src\
# run: |
# $content = Get-Content -Path 'resource.h'
# $newContent = $content -replace 'TEXT\(\"Notepad\+\+ v.*\"\)', 'TEXT("Notepad++ GH_BUILD")'
# $newContent | Set-Content -Path 'resource.h'
# - name: MSBuild of n++ exe
# working-directory: PowerEditor\visual.net\
# run: msbuild notepadPlus.sln /m /p:configuration="${{ matrix.build_configuration }}" /p:platform="${{ matrix.build_platform }}" /p:PlatformToolset="ClangCL"
build_windows_cmake:
runs-on: windows-latest
needs: before_build
if: needs.before_build.outputs.result == ''
strategy:
matrix:
include:
- build_configuration: Release
build_platform: x64
arch: amd64
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Modify resource.h N++ version to avoid confusion
working-directory: PowerEditor\src\
run: |
$content = Get-Content -Path 'resource.h'
$newContent = $content -replace 'TEXT\(\"Notepad\+\+ v.*\"\)', 'TEXT("Notepad++ GH_BUILD")'
$newContent | Set-Content -Path 'resource.h'
- name: Add nmake to PATH
uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{ matrix.arch }}
- name: build scintilla
working-directory: scintilla/win32/
run: |
nmake -f scintilla.mak
- name: build lexilla
working-directory: lexilla/src/
run: |
nmake -f lexilla.mak
- name: generate cmake
working-directory: PowerEditor/src
run: |
mkdir _build
cd _build
cmake -G "Visual Studio 17 2022" -A ${{ matrix.build_platform }} -T "v143" ..
- name: build cmake
working-directory: PowerEditor/src
run: |
cd _build
cmake --build . --config ${{ matrix.build_configuration }}
build_windows_msys2:
runs-on: windows-latest
needs: before_build
if: needs.before_build.outputs.result == ''
strategy:
fail-fast: false
matrix:
build_configuration: [Release, Debug]
build_platform: [x86_64, i686]
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Modify resource.h N++ version to avoid confusion
working-directory: PowerEditor\src\
shell: pwsh
run: |
$content = Get-Content -Path 'resource.h'
$newContent = $content -replace 'TEXT\(\"Notepad\+\+ v.*\"\)', 'TEXT("Notepad++ GH_BUILD")'
$newContent | Set-Content -Path 'resource.h'
- name: Make n++ exe
working-directory: .\
run: |
Write-host "${{ matrix.build_platform }}"
Write-host "${{ matrix.build_configuration }}"
$Env:Path = 'C:\msys64\usr\bin' + [IO.Path]::PathSeparator + $Env:Path
if ( $${{ matrix.build_platform == 'i686'}} ) {$Env:MSYSTEM = 'MINGW32'}
if ( $${{ matrix.build_platform == 'i686'}} ) {$Env:Path = 'C:\msys64\mingw32\bin' + [IO.Path]::PathSeparator + $Env:Path}
if ( $${{ matrix.build_platform == 'x86_64'}} ) {$Env:MSYSTEM = 'MINGW64'}
if ( $${{ matrix.build_platform == 'x86_64'}} ) {$Env:Path = 'C:\msys64\mingw64\bin' + [IO.Path]::PathSeparator + $Env:Path}
if ( $${{ matrix.build_configuration == 'Debug'}} ) {$Env:DEBUG = '1'}
bash -lc "pacman --noconfirm -Syuu"
bash -lc "pacman --noconfirm -Syuu"
if ( $${{ matrix.build_platform == 'i686'}} ) {bash -lc "pacman --noconfirm -S mingw-w64-i686-gcc mingw-w64-i686-make"}
if ( $${{ matrix.build_platform == 'x86_64'}} ) {bash -lc "pacman --noconfirm -S mingw-w64-x86_64-gcc mingw-w64-x86_64-make"}
Write-Output "Tools version:"
Write-Output (((gcc --version) | select-object -first 1) + " " + (gcc -dumpmachine))
Write-Output (mingw32-make --version) | select-object -first 1
Write-Output (sh --version) | select-object -first 1
mingw32-make -f PowerEditor\gcc\makefile
- name: Archive artifacts for ${{ matrix.build_platform}} / Release
if: matrix.build_configuration == 'Release'
uses: actions/upload-artifact@v4
with:
name: Notepad++.GCC.${{ matrix.build_platform}}.${{ matrix.build_configuration}}
path: bin.${{ matrix.build_platform}}\notepad++.exe
- name: Archive artifacts for ${{ matrix.build_platform}} / Debug
if: matrix.build_configuration == 'Debug'
uses: actions/upload-artifact@v4
with:
name: Notepad++.GCC.${{ matrix.build_platform}}.${{ matrix.build_configuration}}
path: bin.${{ matrix.build_platform}}-debug\notepad++.exe

69
.github/workflows/release-notifier.yml vendored Normal file
View File

@ -0,0 +1,69 @@
name: Plugin Files Release Notifier
on:
push:
branches: 'master'
workflow_dispatch:
jobs:
release-notifier:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Get changes
run: |
$any_changed = $false
$watch_files = @(
"scintilla/include/Scintilla.h",
"scintilla/include/Sci_Position.h",
"PowerEditor/src/MISC/PluginsManager/Notepad_plus_msgs.h",
"PowerEditor/src/MISC/PluginsManager/PluginInterface.h",
"PowerEditor/src/menuCmdID.h",
"PowerEditor/src/WinControls/DockingWnd/Docking.h",
"PowerEditor/src/WinControls/DockingWnd/dockingResource.h"
)
if("${{ github.event_name }}" -eq "workflow_dispatch") {
#Write-Output "non-push: use HEAD~1..HEAD, which isn't as specific, but better than nothing"
$changed_files = @( git diff --name-only HEAD~1..HEAD )
} else {
#Write-Output "for-push: use before/after"
$changed_files = @( git diff --name-only ${{ github.event.before }} ${{ github.event.after }} )
}
foreach ($this_file in $changed_files) {
#Write-Output "the following is different: $this_file"
if( $this_file -in $watch_files ) {
Write-Output "+ Saw changes in: $this_file"
$any_changed = $true
}
}
if($any_changed) {
$map = @(
@( "${{ secrets.PAT_NOTIFY_NPPPLUGINS }}", "npp-plugins/plugintemplate", "CI_update_remote.yml" ),
@( "${{ secrets.PAT_NOTIFY_NPPPLUGINS }}", "npp-plugins/plugindemo", "CI_update_remote.yml" )
)
foreach ($target in $map) {
$pat = $target[0]
$ref = $target[1]
$yml = $target[2]
# Write-Output "DEBUG: len(pat)='$($pat.Length)' ref='$ref' len(ref)=$($ref.Length) yml='$yml' len(yml)=$($yml.Length): 'https://api.github.com/repos/$ref/actions/workflows/$yml/dispatches'"
Write-Output "Notifying '$ref' workflow '$yml' using curl 'https://api.github.com/repos/$ref/actions/workflows/$yml/dispatches'."
curl -s -L `
-X POST `
-H "Accept: application/vnd.github+json" `
-H "Authorization: Bearer $pat" `
-H "X-GitHub-Api-Version: 2022-11-28" `
https://api.github.com/repos/$ref/actions/workflows/$yml/dispatches `
-d "{`"ref`": `"${{ github.ref_name }}`", `"inputs`": {}}"
# NOTE: if there is a problem with the curl call, there will be a message in the workflow output,
# but the workflow will not fail, so that the Notepad++ build will not fail; we do our best to notify,
# but we don't want a problem with another repo holding up a N++ fix.
}
} else {
Write-Output "No watched-files changed, so not sending notification to plugin templates this time."
}

31
.gitignore vendored
View File

@ -17,6 +17,7 @@ x86/
#-- Visual C++ cache files
.vs/
.vscode/
ipch/
*.aps
*.ncb
@ -36,6 +37,7 @@ UpgradeLog*.htm
*_p.c
*.ilk
*.meta
*.exe
*.obj
*.pch
#*.pdb
@ -52,9 +54,12 @@ UpgradeLog*.htm
.builds
*.pidb
*.vcxproj.filters
*.bak
PowerEditor/bin/notepad++.exe
PowerEditor/bin/SciLexer.dll
PowerEditor/bin/Notepad++.exp
PowerEditor/bin/Notepad++.lib
PowerEditor/bin/NppShell.x86.dll
PowerEditor/bin/config.xml
PowerEditor/bin/stylers.xml
PowerEditor/bin/langs.xml
@ -84,27 +89,31 @@ PowerEditor/installer/zipped.package.release64/
PowerEditor/installer/zipped.package.releaseArm64/
PowerEditor/visual.net/Unicode Debug/
PowerEditor/visual.net/Unicode Release/
PowerEditor/visual.net/Debug/
PowerEditor/visual.net/Release/
PowerEditor/visual.net/notepadPlus.sln
PowerEditor/visual.net/notepadPlus.vcxproj.filters
PowerEditor/visual.net/x64/Unicode Debug/
PowerEditor/visual.net/x64/Unicode Release/
PowerEditor/visual.net/x64/Debug/
PowerEditor/visual.net/x64/Release/
PowerEditor/visual.net/ARM64
PowerEditor/src/tools/NppShell/build_ARM64
PowerEditor/src/tools/NppShell/build_Win32
PowerEditor/src/tools/NppShell/build_x64
PowerEditor/src/NppLibsVersion.h
# scintilla - generated files
scintilla/bin/SciLexer.*
scintilla/bin/Scintilla.*
scintilla/bin/libscilexer.a
scintilla/bin/libscintilla.a
scintilla/bin/libscintilla.lib
scintilla/win32/*.lib
scintilla/win32/Lexers.a
scintilla/win32/ScintRes.res
scintilla/win32/ARM64
scintilla/win32/Unicode Release/
scintilla/win32/Unicode Debug/
scintilla/win32/Release/
scintilla/win32/Debug/
scintilla/boostregex/bin
scintilla/boostregex/boostpath.mak
@ -146,19 +155,11 @@ PowerEditor/bin/SourceCodePro-Regular.ttf
*.zip
#-------------------------------------------------------------------------------
# GNU GCC MinGW
# MinGW-w64 GCC
#-- Generated during makefile build
*.d
*.o
/PowerEditor/gcc/resources.res
/PowerEditor/bin/NotepadPP.exe
/PowerEditor/bin/NotepadPP.exe_dynamic
bin.*
scintilla/win32/*.o
#-- Generated manually to make Notepad++ execute properly on Linux using Wine
/PowerEditor/bin/libgcc_s_sjlj-1.dll
/PowerEditor/bin/libstdc++-6.dll
/PowerEditor/bin/libwinpthread-1.dll
PowerEditor/src/MISC/md5/RCa06792
*.db

View File

@ -1,68 +1,74 @@
How to build Notepad++
----------------------
# Building Notepad++
## Microsoft Visual Studio
**Pre-requisites:**
- Microsoft Visual Studio 2017 (C/C++ Compiler, v141 toolset for win32, x64, arm64)
- Microsoft Visual Studio 2022 version 17.5 (C/C++ Compiler, v143 toolset for win32, x64, arm64)
There are two components which are built from one visual studio solution:
There are three components which are built from one visual studio solution:
- `notepad++.exe`: (contains `libSciLexer.lib`)
- `libSciLexer.lib` : static library based on Scintilla
- `notepad++.exe`: (contains `libSciLexer.lib`)
- `libScintilla.lib` : static library based on [Scintilla](https://www.scintilla.org/)
- `libLexilla.lib` : static library based on [Lexilla](https://www.scintilla.org/Lexilla.html)
Notepad++ is always built **with** Boost regex PCRE support instead of default c++11 regex ECMAScript used by plain Scintilla\SciLexer.
Notepad++ is always built **with** Boost regex PCRE support instead of default c++11 regex ECMAScript used by plain Scintilla.
## Build `notepad++.exe`:
### Build `notepad++.exe`
1. Open [`PowerEditor\visual.net\notepadPlus.sln`](https://github.com/notepad-plus-plus/notepad-plus-plus/blob/master/PowerEditor/visual.net/notepadPlus.sln)
2. Select a solution configuration (Unicode Debug or Unicode Release) and a solution platform (x64 or Win32 or ARM64)
3. Build Notepad++ solution like a normal Visual Studio project. This will also build the dependent SciLexer project.
2. Select a solution configuration (Debug or Release) and a solution platform (x64 or Win32 or ARM64)
3. Build Notepad++ solution like a normal Visual Studio project. This will also build the dependent Scintilla and Lexilla projects.
## Build `libSciLexer.lib`:
### Build `libScintilla.lib` and `libLexilla.lib`
As mentioned above, you'll need `libSciLexer.lib` for the Notepad++ build. This is done automatically on building the whole solution. So normally you don't need to care about this.
As mentioned above, you'll need `libScintilla.lib` and `libLexilla.lib` for the Notepad++ build. This is done automatically on building the whole solution. So normally you don't need to care about this.
### Build `libSciLexer.lib` with boost via nmake:
#### Build `libScintilla.lib` with boost and `libLexilla.lib` via nmake
This is not necessary any more and just here for completeness as this option is still available.
Boost is taken from [boost 1.76.0](https://www.boost.org/users/history/version_1_76_0.html) and stripped down to the project needs available at [boost](https://github.com/notepad-plus-plus/notepad-plus-plus/tree/master/boostregex/boost) in this repo.
Boost is taken from [boost 1.85.0](https://www.boost.org/users/history/version_1_85_0.html) and stripped down to the project needs available at [boost](https://github.com/notepad-plus-plus/notepad-plus-plus/tree/master/boostregex/boost) in this repo.
1. Open the Developer Command Prompt for Visual Studio
2. Go into the `scintilla\win32\`
2. Go into the [`scintilla\win32\`](https://github.com/notepad-plus-plus/notepad-plus-plus/blob/master/scintilla/win32/)
3. Build the same configuration as notepad++:
- Release: `nmake -f scintilla.mak`
- Debug: `nmake DEBUG=1 -f scintilla.mak`
- Example:
- Example:
`nmake -f scintilla.mak`
4. Go into the [`lexilla\src\`](https://github.com/notepad-plus-plus/notepad-plus-plus/tree/master/lexilla/src/)
5. Build the same configuration as notepad++:
- Release: `nmake -f lexilla.mak`
- Debug: `nmake DEBUG=1 -f lexilla.mak`
## History:
More about the previous build process: https://community.notepad-plus-plus.org/topic/13959/building-notepad-with-visual-studio-2015-2017
### History
More about the previous build process: <https://community.notepad-plus-plus.org/topic/13959/building-notepad-with-visual-studio-2015-2017>
Since `Notepad++` version 6.0 - 7.9.5, the build of dynamic linked `SciLexer.dll` that is distributed
uses features from Boost's `Boost.Regex` library.
## Build 64 bits binaries with GCC:
## GCC
If you have installed [MinGW-w64](https://mingw-w64.org/doku.php/start), then you can compile Notepad++ & libscilexer.a 64 bits binaries with GCC.
If you have [MinGW-w64](https://www.mingw-w64.org/) installed, you can compile Notepad++ with GCC. Otherwise MinGW-w64 can be downloaded [here](https://sourceforge.net/projects/mingw-w64/files/). You can also download some collection of tools which supports MinGW-w64, like [MSYS2](https://www.msys2.org/) or [WinLibs](https://winlibs.com/).
* Compile libscilexer.a
Building Notepad++ is regularly tested on a Windows system by using [MSYS2](https://www.msys2.org/) project. Current versions of tools used to building (such as GCC, Clang, Make or Bash) can be checked by looking at some logs from the finished building (for example in the [current-build page](https://github.com/notepad-plus-plus/notepad-plus-plus/actions/workflows/CI_build.yml). Other versions may also work but are untested.
1. Launch cmd.
2. Change dir into `notepad-plus-plus\scintilla\win32`.
3. Type `mingw32-make.exe -j%NUMBER_OF_PROCESSORS%`
4. `libscilexer.a` is generated in `notepad-plus-plus\scintilla\bin\`.
**Note:** Before building make sure that the system `PATH` environment variable contains `$MinGW-root$\bin` directory. Otherwise you have to set this directory yourself in Windows settings. You can also use a command like `set PATH=$MinGW-root$\bin;%PATH%` each time `cmd` is launched. But beware that if `PATH` contains several versions of MinGW-w64 GCC, only the first one will be usable.
* Compile Notepad++ binary
### Compiling Notepad++ binary
1. Launch cmd.
2. Change dir into `notepad-plus-plus\PowerEditor\gcc`.
3. Type `mingw32-make.exe -j%NUMBER_OF_PROCESSORS%`
4. `NotepadPP.exe` is generated in `notepad-plus-plus\PowerEditor\bin\`.
1. Launch `cmd` and add `$MinGW-root$\bin` to `PATH` if necessary.
2. `cd` into `notepad-plus-plus\PowerEditor\gcc`.
3. Run `mingw32-make`.
4. The 32-bit or 64-bit `notepad++.exe` will be generated either in `bin.i686` or in `bin.x86_64` directory respectively, depending on the target CPU of the compiler — look for the full path to the resulting binary at the end of the build process.
#### Some additional information
You can download MinGW-w64 from https://sourceforge.net/projects/mingw-w64/files/. On Notepad++ Github page (this project), the build system use [MinGW 8.1](https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/seh/x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z).
Note 1: if you use MinGW from the package (7z), you need manually add the MinGW/bin folder path to system Path variable to make mingw32-make.exe invoke works (or you can use command :`set PATH=%PATH%;C:\xxxx\mingw64\bin` for adding it on each time you launch cmd).
Note 2: For 32-bit build, https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/8.1.0/threads-posix/sjlj/i686-8.1.0-release-posix-sjlj-rt_v6-rev0.7z could be used. The rest of the instructions are still valid.
- The directory containing `notepad++.exe` will also contain everything needed for Notepad++ to start.
- To have a debug build just add `DEBUG=1` to the `mingw32-make` invocation above. The output directory then will be suffixed with `-debug`.
- To see commands being executed add `VERBOSE=1` to the same command.
- When a project is built outside of the `PowerEditor/gcc` directory, for example when using `-f` option, then the entire project path must not contain any spaces. Additionally, the path to `makefile` of this project should be listed as first.
- When a project is built through MinGW-w64 with multilib support, a specific target can be forced by passing `TARGET_CPU` variable with `x86_64` or `i686` as value.
- To use Clang instead of GCC for compilation provide `CXX` variable with `clang++` as value.
- To use [Clang analyzer](https://clang-analyzer.llvm.org/) together with Clang provide `CLANGANALYZE=1` to the `mingw32-make` invocation.

View File

@ -4,30 +4,25 @@
## Reporting Issues
Bug reports are appreciated. Following a few guidelines listed below will help speed up the process of getting them fixed.
Bug reports are appreciated. Following a few guidelines listed below will help speed up the process of getting them fixed.
1. Search the issue tracker to see if it has already been reported.
2. Disable your plugins to see if one of them is the problem. You can do this by renaming your `plugins` folder to something else.
3. Only report an issue with a plugin if it is one of the standard plugins included in the Notepad++ installation. Any other plugin issue should be reported to its respective issue tracker (see e.g. [plugin_list_x86.md](https://github.com/notepad-plus-plus/nppPluginList/blob/master/doc/plugin_list_x86.md) or [plugin_list_x64.md](https://github.com/notepad-plus-plus/nppPluginList/blob/master/doc/plugin_list_x64.md) to find the homepage with further informations on that for a plugins). The standard plugins include (for v7.9.5):
3. Only report an issue with a plugin if it is one of the standard plugins included in the Notepad++ installation. Any other plugin issue should be reported to its respective issue tracker (see e.g. [plugin_list_x86.md](https://github.com/notepad-plus-plus/nppPluginList/blob/master/doc/plugin_list_x86.md) or [plugin_list_x64.md](https://github.com/notepad-plus-plus/nppPluginList/blob/master/doc/plugin_list_x64.md) to find the homepage with further information on that for a plugins). The standard plugins include (for v7.9.5):
* NppExport
* Converter
* mimeTools
4. Include additional information such as:
* A detailed explanation
* Notepad++ Debug-Info containing:
* Operating System version
* Notepad++ version
* List of installed plugins (if it is related to a plugin)
* Screen shots (if applicable)
* ...and any other relevant information
4. Fill the complete information: a template will be shown when you create an issue. Please fill the complete information in the template. To fill the field **Debug Information** you can get it from your Notepad++ via menu `?>Debug Info...`. Please take your time to fill these information. If you don't bother to complete the information we need to help you, we won't bother to solve your problem either.
## Pull Requests
*The first rule of Notepad++ is: you do not ask for permission to contribute.*<br/>
*The second rule of Notepad++ is: you DO NOT ask for permission to contribute.*
Your pull requests are welcome; however, they may not be accepted for various reasons. If you want to make some GUI enhancement like renaming some graphic items or fixing typos, please create the issue instead of the pull requests. All Pull Requests, except for translations and user documentation, need to be attached to a issue on GitHub. For Pull Requests regarding enhancements and questions, the issue must first be approved by one of project's administrators before being merged into the project. An approved issue will have the label `Accepted`. For issues that have not been accepted, you may request to be assigned to that issue.
Opening a issue beforehand allows the administrators and the community to discuss bugs and enhancements before work begins, preventing wasted effort.
Just do your contribution if you have something to offer, and your pull requests are welcome.<br/>
However, they may not be accepted for various reasons. If you want to make some GUI enhancement like renaming some graphic items or fixing typos, please create the issue instead of the pull requests. All Pull Requests, except for translations and user documentation, need to be attached to a issue on GitHub. For Pull Requests regarding enhancements and questions, the issue must first be approved by one of project's administrators before being merged into the project. An approved issue will have the label `Accepted`. For issues that have not been accepted, you may request to be assigned to that issue.
Opening an issue beforehand allows the administrators and the community to discuss bugs and enhancements before work begins, preventing wasted effort.
### Guidelines for pull requests
@ -35,185 +30,296 @@ Opening a issue beforehand allows the administrators and the community to discus
2. Create a new branch for each PR. **Make sure your branch name wasn't used before** - you can add date (for example `patch3_20200528`) to ensure its uniqueness.
3. Single feature or bug-fix per PR.
4. Create a PR with a single commit to make the review process easier.
5. Make your modification compact - don't reformat source code in your request. It makes code review more difficult.
6. PR of reformatting (changing of ws/TAB, line endings or coding style) of source code won't be accepted. Use issue trackers for your request instead.
7. Typo fixing and code refactoring won't be accepted - please create issues with title started with `TYPO` to request the changing.
8. Address the review change requests by pushing new commits to the same PR. Avoid amending a commit and then force pushing it. All the PR commits are squashed before merging to the main branch.
5. For the PR of translation, don't guess or use the next version number. Use the current version number instead.
6. Make your modification compact - don't reformat source code in your request. It makes code review more difficult.
7. PR of reformatting (changing of ws/TAB, line endings or coding style) of source code won't be accepted. Use issue trackers for your request instead.
8. Typo fixing and code refactoring won't be accepted - please create issues with title started with `TYPO` to request the changing.
9. The PR for the enhancement of Function List parser should also include unit test. Please refer [here](https://npp-user-manual.org/docs/function-list/#contribute-your-new-or-enhanced-parser-rule-to-the-notepad-codebase) for more information.
10. Address the review change requests by pushing new commits to the same PR. Avoid amending a commit and then force pushing it. All the PR commits are squashed before merging to the main branch.
11. When creating new PR, try to base it on latest master.
12. Normally you don't need to merge `upstream/master` (using git or via github sync), if your PR is based on older `upstream/master`. If you need to base it on latest `master` (e.g. to check and fix merge conflict), use commands `git fetch upstream` to get latest `master` and then `git rebase upstream/master` to rebase it onto this latest `upstream/master`.
13. Finally, please test your pull requests, at least once.
In short: The easier the code review is, the better the chance your pull request will get accepted.
### Coding style
![stay clean](https://notepad-plus-plus.org/assets/images/good-bad-practice.jpg)
#### GENERAL
1. ##### Do not use Java-like braces.
1. Do not use Java-like braces
* Good:
* ###### Good:
```cpp
if ()
void MyClass::method1()
{
// Do something
if (aCondition)
{
// Do something
}
}
```
* ###### Bad:
* Bad:
```cpp
if () {
// Do something
void MyClass::method1() {
if (aCondition) {
// Do something
}
}
```
2. ##### Use tabs instead of white-spaces (we usually set our editors to 4 white-spaces for 1 tab, but the choice is up to you).
However, the method definition could be defined in a header file (.h), if there's one line code only. In this case, Java-like braces should be used.
* Good:
```cpp
class MyClass
{
public:
void method1();
int method2() {
return _x; // only one line code can be placed in .h as method definition
};
3. ##### Always leave one space before and after binary and ternary operators.
private:
int _x;
}
```
2. Use tabs instead of white-spaces (we usually set our editors to 4 white-spaces for 1 tab, but the choice is up to you)
3. Always leave one space before and after binary and ternary operators
* Good:
* ###### Good:
```cpp
if (a == 10 && b == 42)
```
* ###### Bad:
* Bad:
```cpp
if (a==10&&b==42)
```
4. ##### Only leave one space after semi-colons in "for" statements.
4. Only leave one space after semi-colons in "for" statements
* Good:
* ###### Good:
```cpp
for (int i = 0; i != 10; ++i)
```
* ###### Bad:
* Bad:
```cpp
for(int i=0;i<10;++i)
```
5. ##### Function names are not separated from the first parenthesis.
5. Function names are not separated from the first parenthesis
* Good:
* ###### Good:
```cpp
foo();
myObject.foo(24);
```
* ###### Bad:
* Bad:
```cpp
foo ();
```
6. ##### Keywords are separated from the first parenthesis by one space.
6. Keywords are separated from the first parenthesis by one space
* Good:
* ###### Good:
```cpp
if (true)
while (true)
```
* ###### Bad:
* Bad:
```cpp
if(myCondition)
```
7. ##### Use the following indenting for "switch" statements:
7. Switch
```cpp
switch (test)
{
case 1:
{
// Do something
break;
}
default:
// Do something else
} // No semi-colon here
```
* Use the following indenting for "switch" statements:
8. ##### Avoid magic numbers.
```cpp
switch (test)
{
case 1:
{
// Do something
break;
}
default:
// Do something else
} // No semi-colon here
```
* If possible use `default` statement, and prefer using it as last case.
* When using switch with enum or known range, try to cover all values if not using `default`.
```cpp
enum class Test {val1, val2, val3}
switch (Test)
{
case Test::val1:
{
// Do something
break;
}
//case Test::val2:
//case Test::val3:
default:
// Do something else
} // No semi-colon here
```
When using `default` adding uncovered values as comments can help to convey intention.
* Use `[[fallthrough]]` if fall through is intended.
```cpp
switch (test)
{
case 1:
{
// Do something
}
// I want fall through // adding comment can help to convey intention
[[fallthrough]];
case 2:
{
// Do something
break;
}
default:
// Do something else
} // No semi-colon here
```
8. Avoid magic numbers
* Good:
* ###### Good:
```cpp
if (foo == I_CAN_PUSH_ON_THE_RED_BUTTON)
startTheNuclearWar();
```
* ###### Bad:
* Bad:
```cpp
while (lifeTheUniverseAndEverything != 42)
lifeTheUniverseAndEverything = buildMorePowerfulComputerForTheAnswer();
```
9. ##### Prefer enums for integer constants.
9. Prefer enums for integer constants
10. ##### Use initialization with curly braces.
10. Use initialization with curly braces
* Good:
* ###### Good:
```cpp
MyClass instance{10.4};
```
* ###### Bad:
* Bad:
```cpp
MyClass instance(10.4);
```
11. ##### Always use `empty()` for testing if a string is empty or not.
11. Always use `empty()` for testing if a string is empty or not
* Good:
* ###### Good:
```cpp
if (not string.empty())
if (!string.empty())
...
```
* ###### Bad:
* Bad:
```cpp
if (string != "")
...
```
12. Always use `C++ conversion` instead of `C-Style cast`
12. ##### Always use `C++ conversion` instead of `C-Style cast`. Generally, all the conversion among types should be avoided. If you have no choice, use C++ conversion.
* Generally, all the conversion among types should be avoided. If you have no choice, use C++ conversion.
* Good:
* ###### Good:
```cpp
char aChar = static_cast<char>(_pEditView->execute(SCI_GETCHARAT, j));
```
* ###### Bad:
* Bad:
```cpp
char aChar = (char)_pEditView->execute(SCI_GETCHARAT, j);
```
13. ##### Use `!` instead of `not`, `&&` instead of `and`, `||` instead of `or`.
13. Use `!` instead of `not`, `&&` instead of `and`, `||` instead of `or`
* Good:
* ###### Good:
```cpp
if (!::PathFileExists(dir2Search))
```
* ###### Bad:
* Bad:
```cpp
if (not ::PathFileExists(dir2Search))
```
14. Always initialize local and global variables
* For primitive types and enum prefer initialization with `=`.
* For other prefer `{}`-initializer syntax.
* For "numerical" variables using literal suffix can help to convey intention.
```cpp
constexpr float g_globalVariable = 0.0F;
void test()
{
constexpr UINT strLen = 1024U;
wchar_t myString[strLen]{};
}
```
#### NAMING CONVENTIONS
1. ##### Classes uses Pascal Case
1. Classes uses Pascal Case
* Good:
* ###### Good:
```cpp
class IAmAClass
{};
```
* ###### Bad:
* Bad:
```cpp
class iAmAClass
{};
@ -221,87 +327,128 @@ In short: The easier the code review is, the better the chance your pull request
{};
```
2. ##### Methods & method parameters use camel Case
2. Methods & method parameters
```cpp
void myMethod(uint myVeryLongParameter);
```
* Use camel Case
3. ##### Member variables
```cpp
void myMethod(uint myVeryLongParameter);
```
Any member variable name of class/struct should be preceded by an underscore.
3. Member variables
```cpp
public:
int _publicAttribute;
private:
int _pPrivateAttribute;
float _pAccount;
```
* Any member variable name of class/struct should be preceded by an underscore.
4. ##### Always prefer a variable name that describes what the variable is used for.
```cpp
public:
int _publicAttribute;
private:
int _pPrivateAttribute;
float _pAccount;
```
4. Always prefer a variable name that describes what the variable is used for
* Good:
* ###### Good:
```cpp
if (hours < 24 && minutes < 60 && seconds < 60)
```
* ###### Bad:
* Bad:
```cpp
if (a < 24 && b < 60 && c < 60)
```
#### COMMENTS
1. ##### Use C++ comment line style than C comment style.
1. Use C++ comment line style rather than C comment style
* ###### Good:
```
* Good:
```cpp
// Two lines comment
// Use still C++ comment line style
```
* ###### Bad:
```
* Bad:
```cpp
/*
Please don't piss me off with that
*/
```
#### BEST PRACTICES
1. ##### Use C++11/14/17 whenever it is possible
1. Use C++11/14/17/20 whenever it is possible.
2. ##### Use C++11 member initialization feature whenever it is possible
2. Use C++11 member initialization feature whenever it is possible.
```cpp
class Foo
{
int value = 0;
};
```
```cpp
class Foo
{
int value = 0;
};
```
3. ##### Prefer Pre-increment:
```cpp
++i
```
3. Incrementing
* Prefer Pre-increment
##### **Over Post-increment:**
```cpp
i++
```
(It does not change anything for built-in types but it would bring consistency)
```cpp
++i
```
4. ##### Avoid using pointers. Prefer references. You might need the variable to be assigned a NULL value: in this case the NULL value has semantics and must be checked. Wherever possible, use a SmartPtr instead of old-school pointers.
* Over Post-increment
5. ##### Avoid using new if you can use automatic variable. However, avoid `shared_ptr` as much as possible. Prefer `unique_ptr` instead.
```cpp
i++
```
6. ##### Don't place any "using namespace" directives in headers.
(It does not change anything for built-in types but it would bring consistency)
7. ##### Compile time is without incidence. Increasing compile time to reduce execution time is encouraged.
4. Avoid using pointers. References are preferred instead. You might need the variable to be assigned a `NULL` value: in this case the `NULL` value has semantics and must be checked. Wherever possible, use a SmartPtr instead of old-school pointers.
8. ##### Code legibility and length is less important than easy and fast end-user experience.
5. Avoid using new if you can use automatic variable. However, avoid `shared_ptr` as much as possible. Prefer `unique_ptr` instead.
6. Don't place any "using namespace" directives in headers.
7. Compile time is without incidence. Increasing compile time to reduce execution time is encouraged.
8. Code legibility and length is less important than easy and fast end-user experience.
9. Prefer `constexpr` over `const` if value can be evaluated at compile time.
10. Check if there are helper functions in headers or lambda functions to reuse them instead of writing new code.
* Example
```cpp
// in StaticDialog.h
isCheckedOrNot();
setChecked();
// in Parameters.cpp
parseYesNoBoolAttribute();
```
11. Check if there are already defined global variables, and reuse them instead of defining new ones.
12. Avoid "Yoda conditions".
* Good:
```cpp
if (iAmYourFather == true)
...
```
* Bad:
```cpp
if (true == iAmYourFather)
...
```
13. Check [C++ Core Guidelines](https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md) for additional guidelines.

60
LICENSE
View File

@ -13,7 +13,7 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright © 2007 Free Software Foundation, Inc. <https://fsf.org/>
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
@ -40,30 +40,30 @@ The precise terms and conditions for copying, distribution and modification foll
TERMS AND CONDITIONS
0. Definitions.
“This License” refers to version 3 of the GNU General Public License.
"This License" refers to version 3 of the GNU General Public License.
“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
"Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.
"The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations.
To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.
To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work.
A “covered work” means either the unmodified Program or a work based on the Program.
A "covered work" means either the unmodified Program or a work based on the Program.
To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
1. Source Code.
The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.
The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work.
A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.
The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.
The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
@ -90,10 +90,10 @@ You may charge any price or no price for each copy that you convey, and you may
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices".
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
@ -105,9 +105,9 @@ d) Convey the object code by offering access from a designated place (gratis or
e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
"Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
@ -116,7 +116,7 @@ The requirement to provide Installation Information does not include a requireme
Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
7. Additional Terms.
“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
"Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
@ -128,7 +128,7 @@ c) Prohibiting misrepresentation of the origin of that material, or requiring th
d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
@ -149,24 +149,24 @@ You are not required to accept this License in order to receive or run a copy of
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
11. Patents.
A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”.
A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version".
A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
@ -179,14 +179,14 @@ Notwithstanding any other provision of this License, you have permission to link
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.
Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.
If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
@ -199,7 +199,7 @@ END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
@ -224,8 +224,8 @@ If the program does terminal interaction, make it output a short notice like thi
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an “about box”.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see <https://www.gnu.org/licenses/>.
You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see <https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read <https://www.gnu.org/licenses/why-not-lgpl.html>.

View File

@ -1 +1 @@
{"leaves":["BiSeqOut"],"root":"unitTest"}
{"leaves":["BiSeqOut","Get_Idle","Get_State","Update","Int32_To_Byte_Array","Int8_To_U8","Int32toInt8TwosComplement (value : Vt.Int32)","AproxU8 (n : Vt.U8; x : Vt.U8)","Read_I32 (Register : Vt.Address_Range)"],"root":"unitTest"}

View File

@ -34,10 +34,44 @@ begin
end BiSeqOut;
-- Result of Execution
-- (The only output is a binary file named NAMEFILE.TXT)
function Get_Idle
return Boolean;
function Get_State
return Vt.State;
procedure Update;
function Int32_To_Byte_Array is
new Unchecked_Conversion (Source => Vt.Int32, Target => Vt.Byte_Array);
function Int8_To_U8 is new Unchecked_Conversion
(Source => Vt.Int8, Target => Vt.U8);
function Int32toInt8TwosComplement (value : Vt.Int32) return Vt.Int8 is
begin
-- body
end Int32toInt8TwosComplement;
function AproxU8 (n : Vt.U8; x : Vt.U8) return Boolean is
eq : Boolean := False;
begin
-- code
return eq;
end AproxU8;
function Read_I32 (Register : Vt.Address_Range) return Vt.Int_32 is
Data : Vt.Int_32;
begin
-- code
return Data;
end Read_ I32;

View File

@ -29,6 +29,14 @@ Func logoff() ; Start of the logoff function
Exit ; Quit the program
EndFunc ; End of the logoff Function
#CS
Func logoff()
GUISetState(@SW_HIDE)
Run("u:\logoff.bat")
Exit
EndFunc
#CE
Func cancel() ; Start of the cancel function
GUISetState(@SW_HIDE) ; Hide the Window
Exit ; Quit the program

View File

@ -1 +1 @@
{"leaves":["action_needed","canonicalize_path","make_module","db2_name","versioned_copy"],"root":"unitTest"}
{"leaves":["setenv","action_needed","canonicalize_path","make_module","db2_name","versioned_copy"],"root":"unitTest"}

View File

@ -1 +0,0 @@
{"leaves":["setenv","action_needed","canonicalize_path","make_module","db2_name","versioned_copy"],"root":"unitTest"}

View File

@ -124,6 +124,13 @@ static void test()
assert(fabsf(test_quat.q3 - quat.q3) < .01);
}
/*
void commented_func()
{
return;
}
*/
int main()
{
test();

View File

@ -516,6 +516,18 @@ int decStrVal(const TCHAR *str)
return strVal(str, 10);
}
/*
int commentedFunc1()
{
return 1;
}
*/
/*int commentedFunc2()
{
return 2;
}*/
int hexStrVal(const TCHAR *str)
{
return strVal(str, 16);
@ -1228,21 +1240,6 @@ bool NppParameters::load()
isAllLaoded = false;
}
//---------------------------------//
// toolbarIcons.xml : for per user //
//---------------------------------//
generic_string toolbarIconsPath(_userPath);
PathAppend(toolbarIconsPath, TEXT("toolbarIcons.xml"));
_pXmlToolIconsDoc = new TiXmlDocument(toolbarIconsPath);
loadOkay = _pXmlToolIconsDoc->LoadFile();
if (!loadOkay)
{
delete _pXmlToolIconsDoc;
_pXmlToolIconsDoc = nullptr;
isAllLaoded = false;
}
//------------------------------//
// shortcuts.xml : for per user //
//------------------------------//

View File

@ -0,0 +1,108 @@
# Everything after "#" is a comment.
# A file is a class!
# (optional) class definition:
class_name MyClass
# Inheritance:
extends BaseClass
# Member variables.
var a = 5
var s = "Hello"
var arr = [1, 2, 3]
var dict = {"key": "value", 2: 3}
var other_dict = {key = "value", other_key = 2}
var typed_var: int
var inferred_type := "String"
var ss = '''
func invalid_single_quote():
pass
'''
var sd = """
func invalid_func_double_quote():
pass
"""
# Constants.
const ANSWER = 42
const THE_NAME = "Charly"
# Enums.
enum {UNIT_NEUTRAL, UNIT_ENEMY, UNIT_ALLY}
enum Named {THING_1, THING_2, ANOTHER_THING = -1}
# Built-in vector types.
var v2 = Vector2(1, 2)
var v3 = Vector3(1, 2, 3)
# Functions.
func my_func(arg1 : int = sin(1), arg2 : String = "") -> void:
return
func some_function(param1, param2, param3):
if param1 < local_const:
print(param1)
elif param2 > 5:
print(param2)
else:
print("Fail!")
for i in range(20):
print(i)
while param2 != 0:
param2 -= 1
match param3:
3:
print("param3 is 3!")
_:
print("param3 is not 3!")
var local_var = param1 + 3
return local_var
# Functions override functions with the same name on the base/super class.
# If you still want to call them, use "super":
func something(p1, p2):
super(p1, p2)
# It's also possible to call another function in the super class:
func other_something(p1, p2):
super.something(p1, p2)
# Inner class
class Something:
var a = 10
func inner_function():
return
func my_func(arg1 : int = sin(1), arg2 : String = "") -> void:
return
# Inner class with inheritance
class fish extends Node2D:
func _init():
_randomize()
func _randomize():
randomize()
_size = rand_range(0.75,2.0)
# Constructor
func _init():
print("Constructed!")
var lv = Something.new()
print(lv.a)

View File

@ -0,0 +1 @@
{"leaves":["my_func(arg1 : int = sin(1), arg2 : String = \"\") -> void","some_function(param1, param2, param3)","something(p1, p2)","other_something(p1, p2)","_init()"],"nodes":[{"leaves":["inner_function()","my_func(arg1 : int = sin(1), arg2 : String = \"\") -> void"],"name":"Something"},{"leaves":["_init()","_randomize()"],"name":"fish"}],"root":"unitTest"}

View File

@ -0,0 +1,258 @@
/****************************************************************
** **
** Name: AsyncFX **
** Author: Andreas Falkenhahn **
** Version: 1.2 **
** Date: 17.01.19 **
** Interpreter: Hollywood 8.0 **
** Licence: Sample program for Hollywood **
** Function: Demonstrates asynchronous transition effects **
** **
** History: **
** **
** 1.2: (07.01.19) **
** **
** - uses the new @DIRECTORY preprocessor command now which **
** will automatically link all pics when compiling **
** **
** 1.1: (29.03.13) **
** **
** - added BeginRefresh()/EndRefresh() section for optimized **
** drawing on supported systems **
** **
** 1.0: (17.09.08) **
** **
** - initial release **
** **
****************************************************************/
/*
** Important! Check if the used Hollywood version is at least
** version 8.0!
*/
@VERSION 8,0
@DIRECTORY 1, "pics"
@SPRITE 1, "buttons.png", {Frames = 2, Width = 137, Height = 24, Transparency = $ff0000}
/*
** Initial display dimensions
*/
@DISPLAY {Width = 800, Height = 600}
/* check if a picture is already on screen */
Function p_CheckPic(x)
For Local k = 0 To 15
If p[k].brush = x Then Return(True)
Next
Return(False)
EndFunction
/* select a random effect */
Function p_ChooseFX(use_globfx)
Local found = False
Local type
; do we want a global effect or a new effect for every object?
If (use_globfx = True) And (bstate = 2) Then Return(globfx)
While found = False
type = GetRandomFX(True)
; no #SCROLL effects please! They'd corrupt the display because we aren't using layers!
Switch type
Case #SCROLLWEST
Case #SCROLLEAST
Case #SCROLLNORTH
Case #SCROLLSOUTH
Case #SCROLLNORTHEAST
Case #SCROLLSOUTHEAST
Case #SCROLLSOUTHWEST
Case #SCROLLNORTHWEST
Default
found = True
EndSwitch
Wend
Return(type)
EndFunction
/* start new transition effect */
Function p_TOFunc(msg)
Local t
Local k = msg.userdata
; choose a new global effect if we're in static mode!
If (k = 0) And (bstate = 2) Then globfx = p_ChooseFX(False)
; randomly choose a new picture but it must not be on screen!
Repeat
t = Rnd(num)
Until p_CheckPic(t) = False
; remember picture
p[k].brush = t
; go!
p[k].drawfunc = DisplayBrushFX(p[k].brush + 1, p[k].x * 200, p[k].y * 150, {Async = True, Type = p_ChooseFX(True), Parameter = #WHITE})
p[k].active = True
EndFunction
Function p_SyncedRestart()
For Local k = 0 To 15 Do p_TOFunc({userdata = k})
EndFunction
/* our main loop */
Function p_MainLoop()
BeginRefresh
For Local k = 0 To 15
If p[k].active = True
If AsyncDrawFrame(p[k].drawfunc) = True
p[k].active = False
If bstate = 2
; We're in static mode --> make sure our FX are absolutely sync'ed
If k = 15 Then SetTimeout(Nil, p_SyncedRestart, 1000)
p[k].cleartimeout = False
Else
; FX has finished!
; --> wait 1 second and then display next pic
; note that we have to use SetTimeout() because we are in a callback and must
; not call functions that block the system (e.g. do not use Wait() in a callback!)
p[k].timeout = SetTimeout(Nil, p_TOFunc, 1000, k)
p[k].cleartimeout = True
EndIf
EndIf
EndIf
Next
EndRefresh
EndFunction
/* start all effects */
Function p_Start16FX()
; start from new!
For Local k = 0 To 15
p[k].drawfunc = DisplayBrushFX(p[k].brush + 1, p[k].x * 200, p[k].y * 150, {Async = True, Type = p_ChooseFX(True), Parameter = #WHITE})
p[k].active = True
Next
EndFunction
/* scan files and start the transition effects */
Function p_Init()
Local t
; count files
num = CountDirectoryEntries(1)
; load brushes
For Local k = 1 to num Do LoadBrush(k, GetDirectoryEntry(1, PadNum(k, 2) .. ".jpg"))
p = {}
For Local k = 0 To 15 Do p[k] = {brush = -1}
; generate initial picture layout
For Local k = 0 To 15
Repeat
t = Rnd(num)
Until p_CheckPic(t) = False
p[k].brush = t
Next
Local k = 0
; generate x & y coordinates for our FX
For Local y = 0 To 3
For Local x = 0 To 3
p[k].x = x
p[k].y = y
k = k + 1
Next
Next
; start all FX at once
p_Start16FX()
EndFunction
/* this function gets called when the user presses a button */
Function p_EventFunc(msg)
If msg.id = bstate Then Return
bstate = msg.id
; update button state
DisplaySprite(1, 654, 570, bstate)
; cancel all async drawings or clear timeouts
For Local k = 0 To 15
If p[k].active = True
CancelAsyncDraw(p[k].drawfunc)
p[k].active = False
Else
If p[k].cleartimeout = True Then ClearTimeout(p[k].timeout)
EndIf
Next
; clear screen
Box(0, 0, 800, 600, #BLACK)
; choose a new global effect if we're in static mode
If bstate = 2 Then globfx = p_ChooseFX(False)
p_Start16FX()
EndFunction
p_Init()
SetFillStyle(#FILLCOLOR)
SetInterval(Nil, p_MainLoop, 1000 \ 50) ; 50 fps
bstate = 1
MakeButton(1, #SIMPLEBUTTON, 654, 570, 64, 24, {OnMouseUp = p_EventFunc})
MakeButton(2, #SIMPLEBUTTON, 727, 570, 64, 24, {OnMouseUp = p_EventFunc})
DisplaySprite(1, 654, 570)
EscapeQuit(True)
Repeat
WaitEvent
Forever

View File

@ -0,0 +1 @@
{"leaves":["p_CheckPic","p_ChooseFX","p_TOFunc","p_SyncedRestart","p_MainLoop","p_Start16FX","p_Init","p_EventFunc"],"root":"unitTest"}

View File

@ -15,6 +15,11 @@ function extractKeywords(text) {
filter(function(v, i, a) { return a.lastIndexOf(v) === i; });
}
/*
function commentedFunc() {
return 0;
}
*/
function convertBasicMarkup(input, allowHtml) {
var strongRe = /[*]{2}([^*]+)[*]{2}/gm;
@ -361,4 +366,26 @@ var LoginToken = new Schema({
}
exports.defineModels = defineModels;
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
age(x) {
return x - this.year;
}
}
const date = new Date();
let year = date.getFullYear();
const myCar = new Car("Ford", 2014);
document.getElementById("demo").innerHTML=
"My car is " + myCar.age(year) + " years old.";

View File

@ -1 +1 @@
{"leaves":["extractKeywords","convertBasicMarkup","function","function","function","function","defineModels","slugGenerator","slugGenerator","validatePresenceOf","function","function","function","function","function","function"],"root":"unitTest"}
{"leaves":["extractKeywords","convertBasicMarkup","function","function","function","function","defineModels","slugGenerator","slugGenerator","validatePresenceOf","function","function","function","function","function","function"],"nodes":[{"leaves":["constructor","age"],"name":"Car"}],"root":"unitTest"}

View File

@ -0,0 +1,46 @@
\documentclass[12pt]{article}
\usepackage{lingmacros}
\usepackage{tree-dvips}
\begin{document}
\section*{Notes for My Paper}
Don't forget to include examples of topicalization.
They look like this:
{\small
\enumsentence{Topicalization from sentential subject:\\
\shortex{7}{a John$_i$ [a & kltukl & [el &
{\bf l-}oltoir & er & ngii$_i$ & a Mary]]}
{ & {\bf R-}clear & {\sc comp} &
{\bf IR}.{\sc 3s}-love & P & him & }
{John, (it's) clear that Mary loves (him).}}
}
\subsection*{How to handle topicalization}
I'll just assume a tree structure like (\ex{1}).
{\small
\enumsentence{Structure of A$'$ Projections:\\ [2ex]
\begin{tabular}[t]{cccc}
& \node{i}{CP}\\ [2ex]
\node{ii}{Spec} & &\node{iii}{C$'$}\\ [2ex]
&\node{iv}{C} & & \node{v}{SAgrP}
\end{tabular}
\nodeconnect{i}{ii}
\nodeconnect{i}{iii}
\nodeconnect{iii}{iv}
\nodeconnect{iii}{v}
}
}
\subsection*{Mood}
Mood changes when there is a topic, as well as when
there is WH-movement. \emph{Irrealis} is the mood when
there is a non-subject topic or WH-phrase in Comp.
\emph{Realis} is the mood when there is a subject topic
or WH-phrase.
\end{document}

View File

@ -0,0 +1 @@
{"leaves":["\\begin{document}","\\section*{Notes for My Paper}","\\subsection*{How to handle topicalization}","\\begin{tabular}[t]{cccc}","\\subsection*{Mood}"],"root":"unitTest"}

View File

@ -0,0 +1,8 @@
$testRoot = ".\"
$PowerEditor = "$testRoot\..\..\"
Copy-Item "$PowerEditor\installer\functionList" -Destination "$PowerEditor\bin" -Recurse -Force
Copy-Item "$PowerEditor\installer\filesForTesting\regexGlobalTest.xml" -Destination "$PowerEditor\bin\functionList" -Force
Copy-Item "$PowerEditor\installer\filesForTesting\overrideMap.xml" -Destination "$PowerEditor\bin\functionList" -Force
& ".\unitTestLauncher.ps1"

View File

@ -0,0 +1,27 @@
-- Create a file named by_ip/''ip_addess''.cap with all ip traffic of each ip host. (tshark only?)
-- Dump files are created for both source and destination hosts
function createDir (dirname)
-- this will print out an error if the directory already exists, but that's fine
os.execute("mkdir " .. dirname)
end
local dir = "by_ip"
createDir(dir)
-- create a table to hold the dumper objects/file handles
local dumpers = {}
local tap = Listener.new("ip")
-- we will be called once for every IP Header.
-- If there's more than one IP header in a given packet we'll dump the packet once per every header
function tap.packet(pinfo,tvb,ip)
local ip_src, ip_dst = tostring(ip.ip_src), tostring(ip.ip_dst)
local src_dmp, dst_dmp
end
function tap.draw()
for ip_addr,dumper in pairs(dumpers) do
dumper:flush()
end
end

View File

@ -0,0 +1 @@
{"leaves":["createDir"],"nodes":[{"leaves":["packet","draw"],"name":"tap"}],"root":"unitTest"}

View File

@ -30,7 +30,7 @@
!define VERSION_MAJOR 6
!define VERSION_MINOR 9
!define APPWEBSITE "http://notepad-plus-plus.org/"
!define APPWEBSITE "https://notepad-plus-plus.org/"
!define UNINSTALL_REG_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}"
!define MEMENTO_REGISTRY_ROOT HKLM
@ -344,15 +344,15 @@ Function .onInit
${GetWindowsVersion} $WinVer
StrCmp $WinVer "95" 0 +3
MessageBox MB_OK "This version of Notepad++ does not support your OS.$\nPlease download zipped package of version 5.9 and use ANSI version. You can find v5.9 here:$\nhttp://notepad-plus-plus.org/release/5.9"
MessageBox MB_OK "This version of Notepad++ does not support your OS.$\nPlease download zipped package of version 5.9 and use ANSI version. You can find v5.9 here:$\nhttps://notepad-plus-plus.org/release/5.9"
Abort
StrCmp $WinVer "98" 0 +3
MessageBox MB_OK "This version of Notepad++ does not support your OS.$\nPlease download zipped package of version 5.9 and use ANSI version. You can find v5.9 here:$\nhttp://notepad-plus-plus.org/release/5.9"
MessageBox MB_OK "This version of Notepad++ does not support your OS.$\nPlease download zipped package of version 5.9 and use ANSI version. You can find v5.9 here:$\nhttps://notepad-plus-plus.org/release/5.9"
Abort
StrCmp $WinVer "ME" 0 +3
MessageBox MB_OK "This version of Notepad++ does not support your OS.$\nPlease download zipped package of version 5.9 and use ANSI version. You can find v5.9 here:$\nhttp://notepad-plus-plus.org/release/5.9"
MessageBox MB_OK "This version of Notepad++ does not support your OS.$\nPlease download zipped package of version 5.9 and use ANSI version. You can find v5.9 here:$\nhttps://notepad-plus-plus.org/release/5.9"
Abort
!insertmacro MUI_LANGDLL_DISPLAY

View File

@ -0,0 +1,562 @@
unit unitTest;
interface
uses
System.SysUtils, System.Types, System.Classes;
{ Free function 1, declaration }
function FreeFunc1(const Param: integer): integer;
type
// -----------------------------------------------------------------------------
// TStdClass
// -----------------------------------------------------------------------------
TStdClass = class(TObject)
private type
TStdInternalClass = class(TObject)
private
FName: string;
FId: integer;
public
constructor Create;
destructor Destroy; override;
procedure CopyTo(Dest: TStdInternalClass);
property Name: string read FName write FName;
property Id: integer read FId write FId;
end;
private
FId: integer;
FValue: string;
class var FInstCnt: integer;
class function Init(Cnt: integer): boolean;
class function DeInit(Cnt: integer): boolean;
class function ToType<X: class, constructor>(const Value: string): X;
procedure SetValue(const Value: string);
public
constructor Create;
destructor Destroy; override;
function Convert<X: class, constructor>(const Value: string): X;
class property InstCnt: integer read FInstCnt;
property PropId: integer read FId write FId;
property PropValue: string read FValue write SetValue;
end;
// -----------------------------------------------------------------------------
// TGenericClass<T>
// -----------------------------------------------------------------------------
TGenericClass<T> = class(TObject)
private type
TGenericInternalClass<I, K> = class(TObject)
strict private
FName: string;
FId: I;
FValue: K;
public
constructor Create;
destructor Destroy; override;
procedure CopyTo<J>(Dest: TGenericInternalClass<I, K>);
property Name: string read FName write FName;
property Id: I read FId write FId;
property Value: K read FValue write FValue;
end;
strict private
FId: integer;
FValue: T;
class var FInstCnt: integer;
class function Init<I>(Cnt: integer): boolean;
class function DeInit(Cnt: integer): boolean;
procedure SetValue(const Value: T);
public
constructor Create;
destructor Destroy; override;
class property InstCnt: integer read FInstCnt;
property PropId: integer read FId write FId;
property PropValue: T read FValue write SetValue;
end;
type
// -----------------------------------------------------------------------------
// TEnum
// -----------------------------------------------------------------------------
TEnum = (enMember1, enMember2, enMember3);
TEnumHelper = record helper for TEnum
public
function ToString: string;
class function FromString(const AString: string): TEnum; static;
end;
// -----------------------------------------------------------------------------
// TStdClassHelper
// -----------------------------------------------------------------------------
TStdClassHelper = class helper for TStdClass
public
function AsString: string;
class function FromString(const AString: string): TStdClass; static;
end;
// -----------------------------------------------------------------------------
// Free routines declarations
// -----------------------------------------------------------------------------
procedure FreeProc1(AParam: integer);
function FreeFunc2(const AParam: string): integer; inline;
procedure FreeProc2(AParam: integer);
{function UnusedFreeFunc1(ANum: double): cardinal;}
procedure FreeProc3(AParam: integer); overload; inline;
procedure FreeProc3(AParam: string); overload; inline;
(*
function UnusedFreeFunc2(ANum: double): cardinal;
function UnusedFreeFunc3(ANum: double): cardinal;
*)
implementation
{R *.dfm}
type
// -----------------------------------------------------------------------------
// Internal classes
// -----------------------------------------------------------------------------
TInternalClass = class(TObject)
public
function Init(Cnt: integer): boolean;
procedure SetValue(Cnt: integer);
end;
// -----------------------------------------------------------------------------
// Free routines
// -----------------------------------------------------------------------------
{ Free function 3, forward declaration}
function FreeFunc3(const Param: integer): integer; forward;
{ Free function 1, definition }
function FreeFunc1(const Param: integer): integer;
begin
//
Result := 0;
end;
{ Free procedure 1, definition }
procedure FreeProc1(AParam: integer);
begin
// Do something
end;
{ Free function 2, definition }
function FreeFunc2(const AParam: string): integer;
begin
// Do something
Result := 0;
end;
{
// Unused free function 1, definition
function UnusedFreeFunc1(ANum: double): cardinal;
begin
// Do something
Result := 0;
end;
}
{ Free procedure 2, definition }
procedure FreeProc2(AParam: integer);
begin
// Do something
end;
(*
// Unused free function 2, definition
function UnusedFreeFunc2(ANum: double): cardinal;
begin
// Do something
Result := 0;
end;
{ Unused free function 3, definition }
function UnusedFreeFunc3(ANum: double): cardinal;
begin
// Do something
Result := 0;
end;
*)
{ Free procedure 3 (overloaded), definition }
procedure FreeProc3(AParam: integer);
begin
//
end;
procedure FreeProc3(AParam: string);
begin
//
end;
{ Free procedure 4, forward declaration}
procedure FreeProc4(const Param: integer); forward;
// -----------------------------------------------------------------------------
// TStdClass
// -----------------------------------------------------------------------------
constructor TStdClass.Create;
begin
inherited;
Init(Succ(InstCnt));
end;
destructor TStdClass.Destroy;
begin
DeInit(Pred(InstCnt));
inherited;
end;
class function TStdClass.Init(Cnt: integer): boolean;
begin
FInstCnt := Cnt;
Result := true;
end;
class function TStdClass.DeInit(Cnt: integer): boolean;
begin
FInstCnt := Cnt;
Result := true;
end;
class function TStdClass.ToType<X>(const Value: string): X;
begin
Result := X.Create;
end;
procedure TStdClass.SetValue(const Value: string);
begin
FValue := Value;
end;
function TStdClass.Convert<X>(const Value: string): X;
begin
Result := ToType<X>(Value);
end;
// -----------------------------------------------------------------------------
// TStdClass.TStdInternalClass
// -----------------------------------------------------------------------------
constructor TStdClass.TStdInternalClass.Create;
begin
inherited;
//
end;
destructor TStdClass.TStdInternalClass.Destroy;
begin
//
inherited;
end;
procedure TStdClass.TStdInternalClass.CopyTo(Dest: TStdInternalClass);
begin
Dest.Name := Name;
Dest.Id := Id;
end;
// -----------------------------------------------------------------------------
// Free routines
// -----------------------------------------------------------------------------
{ Free function 3 with internal procedure, definition }
function FreeFunc3(const Param: integer): integer;
procedure InternalProc1(const Param: integer);
begin
//
end;
begin
//
Result := 0;
end;
{ Free procedure 4 with internal function, definition }
procedure FreeProc4(const Param: integer);
function InternalFunc1(const Param: integer): string;
begin
//
Result := '';
end;
begin
//
end;
{ Free procedure 5 with internal procedure preceeded by a comment, declaration & definition }
procedure FreeProc5;
// Internal routine
procedure InternalProc2;
begin
//
end;
begin
//
end;
{ Free procedure 6 (inline), declaration & definition }
procedure FreeProc6; inline;
begin
//
end;
// -----------------------------------------------------------------------------
// TGenericClass<T>
// -----------------------------------------------------------------------------
constructor TGenericClass<T>.Create;
begin
inherited;
Init<string>(Succ(InstCnt));
end;
destructor TGenericClass<T>.Destroy;
begin
DeInit(Pred(InstCnt));
inherited;
end;
// This is a class function
class function TGenericClass<T>.Init<I>(Cnt: integer): boolean;
begin
FInstCnt := Cnt;
Result := true;
end;
// This is a class function
class function TGenericClass<T>.DeInit(Cnt: integer): boolean;
begin
FInstCnt := Cnt;
Result := true;
end;
procedure TGenericClass<T>.SetValue(const Value: T);
begin
FValue := Value;
end;
// -----------------------------------------------------------------------------
// TGenericClass<T>.TGenericInternalClass<I, K>
// -----------------------------------------------------------------------------
constructor TGenericClass<T>.TGenericInternalClass<I, K>.Create;
begin
inherited;
FName := '';
FId := Default(I);
FValue := Default(K);
end;
destructor TGenericClass<T>.TGenericInternalClass<I, K>.Destroy;
begin
//
inherited;
end;
procedure TGenericClass<T>.TGenericInternalClass<I, K>.CopyTo<J>(Dest: TGenericInternalClass<I, K>);
begin
Dest.Name := Name;
Dest.Id := Id;
Dest.Value := Value;
end;
// -----------------------------------------------------------------------------
// TInternalClass
// -----------------------------------------------------------------------------
function TInternalClass.Init(Cnt: integer): boolean;
begin
Result := true;
end;
procedure TInternalClass.SetValue(Cnt: integer);
begin
//
end;
// -----------------------------------------------------------------------------
// TEnumHelper
// -----------------------------------------------------------------------------
function TEnumHelper.ToString: string;
begin
case Self of
enMember2: Result := 'Member 2';
enMember3: Result := 'Member 3';
else Result := 'Unknown';
end;
end;
class function TEnumHelper.FromString(const AString: string): TEnum;
begin
if SameText(AString, 'Member 2') then
Result := enMember2
else if SameText(AString, 'Member 3') then
Result := enMember3
else
Result := enMember1;
end;
// -----------------------------------------------------------------------------
// TStdClassHelper
// -----------------------------------------------------------------------------
function TStdClassHelper.AsString: string;
begin
Result := 'TStdClass instance';
end;
class function TStdClassHelper.FromString(const AString: string): TStdClass;
begin
Result := TStdClass.Create.Convert<TStdClass>(AString);
end;
end.

View File

@ -0,0 +1 @@
{"leaves":["FreeFunc1","FreeProc1","FreeFunc2","FreeProc2","FreeProc3","FreeProc3","FreeFunc3","InternalProc1","FreeProc4","InternalFunc1","FreeProc5","InternalProc2","FreeProc6"],"nodes":[{"leaves":["Create","Destroy","Init","DeInit","ToType<X>","SetValue","Convert<X>"],"name":"TStdClass"},{"leaves":["Create","Destroy","CopyTo"],"name":"TStdClass.TStdInternalClass"},{"leaves":["Create","Destroy","Init<I>","DeInit","SetValue"],"name":"TGenericClass<T>"},{"leaves":["Create","Destroy","CopyTo<J>"],"name":"TGenericClass<T>.TGenericInternalClass<I, K>"},{"leaves":["Init","SetValue"],"name":"TInternalClass"},{"leaves":["ToString","FromString"],"name":"TEnumHelper"},{"leaves":["AsString","FromString"],"name":"TStdClassHelper"}],"root":"unitTest"}

View File

@ -27,15 +27,24 @@ abstract class PageGrille extends PageMotsBleus{
return str_replace ( "\\" , "" , $pStr);
}
function GetJavascriptMajax() {
function GetJavascriptMajax() { /* a block comment */
return "ABC";
}
/*
function commentedFunc1() {
return "commented 1";
}
*/
}
function stringContainAsterisk_test1(){
$target = '/path/to/files/*';
}
/*function commentedFunc2(){
return "commented 2";
}*/
function stringContainAsterisk_test2(){
$target = '/path/to/files/*.jpg';
}

View File

@ -14,6 +14,13 @@ function Clear-Host
$host.PrivateData.ClearHost()
}
<#
function Commented-Func
{
return $s
}
#>
<#
.SYNOPSIS
Simple path completion function for PowerConsole.

View File

@ -0,0 +1,11 @@
def func1(a,b):
pass
def func2(a,b):
pass
def func3(a,b):
pass
def func4(a,b):
pass

View File

@ -0,0 +1 @@
{"leaves":["func1(a,b)","func2(a,b)","func3(a,b)","func4(a,b)"],"root":"unitTest"}

View File

@ -0,0 +1 @@
{"leaves":["func1(a,b)","func2(a,b)","func3(a,b)","func4(a,b)"],"root":"unitTest"}

View File

@ -299,7 +299,16 @@ class SampleClassGood(object):
def __init__ (self, fileName):
self.fileName = fileName
def calculate_area(radius: float, pi: float = 3.14) -> float:
return pi * radius ** 2
async def greet(name: str) -> str:
return f"Hello, {name}!"
def add_numbers(a: int, b: int, c: int) -> int:
return a + b + c

View File

@ -1 +1 @@
{"leaves":["dfs(G, s)","bfs(G, s)","dijk(G, s)","topo(G, ind=None, Q=[1])","adjm()","floy(A_and_n)","prim(G, s)","edglist()","krusk(E_and_n)"],"nodes":[{"leaves":["__init__ (self, fileName)"],"name":"SampleClassBad"},{"leaves":["__init__ (self, fileName)"],"name":"SampleClassGood"}],"root":"unitTest"}
{"leaves":["dfs(G, s)","bfs(G, s)","dijk(G, s)","topo(G, ind=None, Q=[1])","adjm()","floy(A_and_n)","prim(G, s)","edglist()","krusk(E_and_n)","greet(name: str) -> str","add_numbers(a: int, b: int, c: int) -> int"],"nodes":[{"leaves":["__init__ (self, fileName)"],"name":"SampleClassBad"},{"leaves":["__init__ (self, fileName)","calculate_area(radius: float, pi: float = 3.14) -> float"],"name":"SampleClassGood"}],"root":"unitTest"}

View File

@ -0,0 +1,304 @@
#!/usr/bin/env perl
# pltags - create a tags file for Perl code, for use by vi(m)
#
# Distributed with Vim <http://www.vim.org/>, latest version always available
# at <http://www.mscha.com/mscha.html?pltags#tools>
#
# Version 2.3, 28 February 2002
#
# Written by Michael Schaap <pltags@mscha.com>. Suggestions for improvement
# are very welcome!
#
# This script will not work with Perl 4 or below!
#
# Revision history:
# 1.0 1997? Original version, quickly hacked together
# 2.0 1999? Completely rewritten, better structured and documented,
# support for variables, packages, Exuberant Ctags extensions
# 2.1 Jun 2000 Fixed critical bug (typo in comment) ;-)
# Support multiple level packages (e.g. Archive::Zip::Member)
# 2.2 Jul 2001 'Glob' wildcards - especially useful under Windows
# (thanks to Serge Sivkov and Jason King)
# Bug fix: reset package name for each file
# 2.21 Jul 2001 Oops... bug in variable detection (/local../ -> /^local.../)
# 2.3 Feb 2002 Support variables declared with "our"
# (thanks to Lutz Mende)
# Complain about undeclared variables
use strict;
# Used modules
use Getopt::Long;
# Options with their defaults
my $do_subs = 1; # --subs, --nosubs include subs in tags file?
my $do_vars = 1; # --vars, --novars include variables in tags file?
my $do_pkgs = 1; # --pkgs, --nopkgs include packages in tags file?
my $do_exts = 1; # --extensions, --noextensions
# include Exuberant Ctags extensions
# Global variables
my $VERSION = "2.21"; # pltags version
my $status = 0; # GetOptions return value
my $file = ""; # File being processed
my @tags = (); # List of produced tags
my $is_pkg = 0; # Are we tagging a package?
my $has_subs = 0; # Has this file any subs yet?
my $package_name = ""; # Name of current package
my $var_continues = 0; # Variable declaration continues on last line
my $line = ""; # Current line in file
my $stmt = ""; # Current Perl statement
my @vars = (); # List of variables in declaration
my $var = ""; # Variable in declaration
my $tagline = ""; # Tag file line
# Create a tag file line and push it on the list of found tags
sub MakeTag($$$$$)
{
my ($tag, # Tag name
$type, # Type of tag
$is_static, # Is this a static tag?
$file, # File in which tag appears
$line) = @_; # Line in which tag appears
my $tagline = ""; # Created tag line
# Only process tag if not empty
if ($tag)
{
# Get rid of \n, and escape / and \ in line
chomp $line;
$line =~ s/\\/\\\\/g;
$line =~ s/\//\\\//g;
# Create a tag line
$tagline = "$tag\t$file\t/^$line\$/";
# If we're told to do so, add extensions
if ($do_exts)
{
$tagline .= ";\"\t$type"
. ($is_static ? "\tfile:" : "")
. ($package_name ? "\tclass:$package_name" : "");
}
# Push it on the stack
push (@tags, $tagline);
}
}
# Parse package name from statement
sub PackageName($)
{
my ($stmt) = @_; # Statement
# Look for the argument to "package". Return it if found, else return ""
if ($stmt =~ /^package\s+([\w:]+)/)
{
my $pkgname = $1;
# Remove any parent package name(s)
$pkgname =~ s/.*://;
return $pkgname;
}
else
{
return "";
}
}
# Parse sub name from statement
sub SubName($)
{
my ($stmt) = @_; # Statement
# Look for the argument to "sub". Return it if found, else return ""
if ($stmt =~ /^sub\s+([\w:]+)/)
{
my $subname = $1;
# Remove any parent package name(s)
$subname =~ s/.*://;
return $subname;
}
else
{
return "";
}
}
# Parse all variable names from statement
sub VarNames($)
{
my ($stmt) = @_;
# Remove my or local from statement, if present
$stmt =~ s/^(my|our|local)\s+//;
# Remove any assignment piece
$stmt =~ s/\s*=.*//;
# Now find all variable names, i.e. "words" preceded by $, @ or %
@vars = ($stmt =~ /[\$\@\%]([\w:]+)\b/g);
# Remove any parent package name(s)
map(s/.*://, @vars);
return (@vars);
}
sub functionNoParentheses {
return 1
}
############### Start ###############
print "\npltags $VERSION by Michael Schaap <mscha\@mscha.com>\n\n";
# Get options
$status = GetOptions("subs!" => \$do_subs,
"vars!" => \$do_vars,
"pkgs!" => \$do_pkgs,
"extensions!" => \$do_exts);
# Usage if error in options or no arguments given
unless ($status && @ARGV)
{
print "\n" unless ($status);
print " Usage: $0 [options] filename ...\n\n";
print " Where options can be:\n";
print " --subs (--nosubs) (don't) include sub declarations in tag file\n";
print " --vars (--novars) (don't) include variable declarations in tag file\n";
print " --pkgs (--nopkgs) (don't) include package declarations in tag file\n";
print " --extensions (--noextensions)\n";
print " (don't) include Exuberant Ctags / Vim style\n";
print " extensions in tag file\n\n";
print " Default options: ";
print ($do_subs ? "--subs " : "--nosubs ");
print ($do_vars ? "--vars " : "--novars ");
print ($do_pkgs ? "--pkgs " : "--nopkgs ");
print ($do_exts ? "--extensions\n\n" : "--noextensions\n\n");
print " Example: $0 *.pl *.pm ../shared/*.pm\n\n";
exit;
}
# Loop through files on command line - 'glob' any wildcards, since Windows
# doesn't do this for us
foreach $file (map { glob } @ARGV)
{
# Skip if this is not a file we can open. Also skip tags files and backup
# files
next unless ((-f $file) && (-r $file) && ($file !~ /tags$/)
&& ($file !~ /~$/));
print "Tagging file $file...\n";
$is_pkg = 0;
$package_name = "";
$has_subs = 0;
$var_continues = 0;
open (IN, $file) or die "Can't open file '$file': $!";
# Loop through file
foreach $line (<IN>)
{
# Statement is line with comments and whitespace trimmed
($stmt = $line) =~ s/#.*//;
$stmt =~ s/^\s*//;
$stmt =~ s/\s*$//;
# Nothing left? Never mind.
next unless ($stmt);
# This is a variable declaration if one was started on the previous
# line, or if this line starts with my or local
if ($var_continues or ($stmt =~/^my\b/)
or ($stmt =~/^our\b/) or ($stmt =~/^local\b/))
{
# The declaration continues if the line does not end with ;
$var_continues = ($stmt !~ /;$/);
# Loop through all variable names in the declaration
foreach $var (VarNames($stmt))
{
# Make a tag for this variable unless we're told not to. We
# assume that a variable is always static, unless it appears
# in a package before any sub. (Not necessarily true, but
# it's ok for most purposes and Vim works fine even if it is
# incorrect)
if ($do_vars)
{
MakeTag($var, "v", (!$is_pkg or $has_subs), $file, $line);
}
}
}
# This is a package declaration if the line starts with package
elsif ($stmt =~/^package\b/)
{
# Get name of the package
$package_name = PackageName($stmt);
if ($package_name)
{
# Remember that we're doing a package
$is_pkg = 1;
# Make a tag for this package unless we're told not to. A
# package is never static.
if ($do_pkgs)
{
MakeTag($package_name, "p", 0, $file, $line);
}
}
}
# This is a sub declaration if the line starts with sub
elsif ($stmt =~/^sub\b/)
{
# Remember that this file has subs
$has_subs = 1;
# Make a tag for this sub unless we're told not to. We assume
# that a sub is static, unless it appears in a package. (Not
# necessarily true, but it's ok for most purposes and Vim works
# fine even if it is incorrect)
if ($do_subs)
{
MakeTag(SubName($stmt), "s", (!$is_pkg), $file, $line);
}
}
}
close (IN);
}
# Do we have any tags? If so, write them to the tags file
if (@tags)
{
# Add some tag file extensions if we're told to
if ($do_exts)
{
push (@tags, "!_TAG_FILE_FORMAT\t2\t/extended format/");
push (@tags, "!_TAG_FILE_SORTED\t1\t/0=unsorted, 1=sorted/");
push (@tags, "!_TAG_PROGRAM_AUTHOR\tMichael Schaap\t/mscha\@mscha.com/");
push (@tags, "!_TAG_PROGRAM_NAME\tpltags\t//");
push (@tags, "!_TAG_PROGRAM_VERSION\t$VERSION\t/supports multiple tags and extended format/");
}
print "\nWriting tags file.\n";
open (OUT, ">tags") or die "Can't open tags file: $!";
foreach $tagline (sort @tags)
{
print OUT "$tagline\n";
}
close (OUT);
}
else
{
print "\nNo tags found.\n";
}

View File

@ -0,0 +1 @@
{"leaves":["MakeTag","PackageName","SubName","VarNames","functionNoParentheses"],"root":"unitTest"}

View File

@ -56,6 +56,14 @@ unsafe fn unsafe_example(n: u32) {
}
}
/*
unsafe fn commented_func(n: u32) {
for n in 1..n + 1 {
fizzbuzz(n);
}
}
*/
// Declares a function with the "C" ABI
extern "C" fn new_i32() -> i32 { 0 }

View File

@ -0,0 +1,25 @@
%macro printz/parmbuff;
%put Syspbuff contains: &syspbuff;
%let num=1;
%let dsname=%scan(&syspbuff,&num);
%do %while(&dsname ne);
proc print data=&dsname;
run;
%let num=%eval(&num+1);
%let dsname=%scan(&syspbuff,&num);
%end;
%mend printz;
%printz(purple,red,blue,teal)
proc cas;
function SharedBday(days, number);
p = exp( lgamma(days+1) - lgamma(days-number+1) - number*log(days));
return (1-p);
end func;
do n over {3 10 22 23 50 75};
p = SharedBday(365,n);
print "Chance at least 2 out of " put(n,best3.) "
share the same birthday = " put(p,best6.2);
end;
run;

View File

@ -0,0 +1 @@
{"leaves":["%macro printz","function SharedBday"],"root":"unitTest"}

View File

@ -0,0 +1,154 @@
create package CheckFunctionList_pck
as
function ctrlData(
po_severity in out nocopy varchar2,
po_err_code in out nocopy varchar2,
po_err_message in out nocopy varchar2,
p_Data in ind_work_data_r
) return boolean;
procedure INIT_DECODE_RULES1 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules
);
procedure INIT_DECODE_RULES2 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules);
function GetEsecId
return tab1.esec_id%type;
procedure pippo;
procedure INIT_DECODE_RULES3 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2
,po_guid in guid_list_t := guid_list_t()
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules);
procedure INIT_DECODE_RULES4 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2
,po_guid in guid_list_t := guid_list_t()
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules
);
procedure INIT_DECODE_RULES5 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2 -- this is a comment with (brackets)
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules);
procedure INIT_DECODE_RULES6 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2 -- this is a comment with (brackets)
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules
);
end CheckFunctionList_pck;
/
create package body CheckFunctionList_pck
as
function ctrlData(
po_severity in out nocopy varchar2,
po_err_code in out nocopy varchar2,
po_err_message in out nocopy varchar2,
p_Data in ind_work_data_r
) return boolean
is
begin
return null;
end ctrlData;
procedure INIT_DECODE_RULES1 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules
)
as
begin
null;
end INIT_DECODE_RULES1;
procedure INIT_DECODE_RULES2 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules)
as
begin
null;
end INIT_DECODE_RULES2;
function GetEsecId
return tab1.esec_id%type
is
begin
return null;
end GetEsecId;
procedure pippo
is
begin
null;
end pippo;
procedure INIT_DECODE_RULES3 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2
,po_guid in guid_list_t := guid_list_t()
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules)
as
begin
null;
end INIT_DECODE_RULES3;
procedure INIT_DECODE_RULES4 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2
,po_guid in guid_list_t := guid_list_t()
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules
)
as
begin
null;
end INIT_DECODE_RULES4;
procedure INIT_DECODE_RULES5 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2 -- this is a comment with (brackets)
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules)
as
begin
null;
end INIT_DECODE_RULES5;
procedure INIT_DECODE_RULES6 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2 -- this is a comment with (brackets)
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules
)
as
begin
null;
end INIT_DECODE_RULES6;
end CheckFunctionList_pck;
/

View File

@ -0,0 +1 @@
{"leaves":["ctrlData(\r\n po_severity in out nocopy varchar2,\r\n po_err_code in out nocopy varchar2,\r\n po_err_message in out nocopy varchar2,\r\n p_Data in ind_work_data_r\r\n) return boolean","INIT_DECODE_RULES1 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2\r\n ,po_tabDecRules out nocopy report_utl_pck.tTabDecRules\r\n )","INIT_DECODE_RULES2 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2\r\n ,po_tabDecRules out nocopy report_utl_pck.tTabDecRules)","GetEsecId\r\nreturn tab1.esec_id%type","pippo","INIT_DECODE_RULES3 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2\r\n ,po_guid in guid_list_t := guid_list_t()","INIT_DECODE_RULES4 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2\r\n ,po_guid in guid_list_t := guid_list_t()","INIT_DECODE_RULES5 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2 -- this is a comment with (brackets)","INIT_DECODE_RULES6 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2 -- this is a comment with (brackets)","ctrlData(\r\n po_severity in out nocopy varchar2,\r\n po_err_code in out nocopy varchar2,\r\n po_err_message in out nocopy varchar2,\r\n p_Data in ind_work_data_r\r\n) return boolean\r\nis\r\nbegin\r\n return null","INIT_DECODE_RULES1 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2\r\n ,po_tabDecRules out nocopy report_utl_pck.tTabDecRules\r\n )","INIT_DECODE_RULES2 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2\r\n ,po_tabDecRules out nocopy report_utl_pck.tTabDecRules)","GetEsecId\r\nreturn tab1.esec_id%type\r\nis\r\nbegin\r\n return null","pippo","INIT_DECODE_RULES3 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2\r\n ,po_guid in guid_list_t := guid_list_t()","INIT_DECODE_RULES4 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2\r\n ,po_guid in guid_list_t := guid_list_t()","INIT_DECODE_RULES5 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2 -- this is a comment with (brackets)","INIT_DECODE_RULES6 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2 -- this is a comment with (brackets)"],"root":"unitTest"}

View File

@ -0,0 +1,90 @@
CREATE OR REPLACE PACKAGE BODY emp_mgmt AS
tot_emps NUMBER;
tot_depts NUMBER;
FUNCTION hire
(last_name VARCHAR2, job_id VARCHAR2,
manager_id NUMBER, salary NUMBER,
commission_pct NUMBER, department_id NUMBER)
RETURN NUMBER IS new_empno NUMBER;
BEGIN
SELECT employees_seq.NEXTVAL
INTO new_empno
FROM DUAL;
INSERT INTO employees
VALUES (new_empno, 'First', 'Last','first.last@oracle.com',
'(123)123-1234','18-JUN-02','IT_PROG',90000000,00,
100,110);
tot_emps := tot_emps + 1;
RETURN(new_empno);
END;
FUNCTION create_dept(department_id NUMBER, location_id NUMBER)
RETURN NUMBER IS
new_deptno NUMBER;
BEGIN
SELECT departments_seq.NEXTVAL
INTO new_deptno
FROM dual;
INSERT INTO departments
VALUES (new_deptno, 'department name', 100, 1700);
tot_depts := tot_depts + 1;
RETURN(new_deptno);
END;
PROCEDURE remove_emp (employee_id NUMBER) IS
BEGIN
DELETE FROM employees
WHERE employees.employee_id = remove_emp.employee_id;
tot_emps := tot_emps - 1;
END;
PROCEDURE remove_dept(department_id NUMBER) IS
BEGIN
DELETE FROM departments
WHERE departments.department_id = remove_dept.department_id;
tot_depts := tot_depts - 1;
SELECT COUNT(*) INTO tot_emps FROM employees;
END;
PROCEDURE increase_sal(employee_id NUMBER, salary_incr NUMBER) IS
curr_sal NUMBER;
BEGIN
SELECT salary INTO curr_sal FROM employees
WHERE employees.employee_id = increase_sal.employee_id;
IF curr_sal IS NULL
THEN RAISE no_sal;
ELSE
UPDATE employees
SET salary = salary + salary_incr
WHERE employee_id = employee_id;
END IF;
END;
PROCEDURE increase_comm(employee_id NUMBER, comm_incr NUMBER) IS
curr_comm NUMBER;
BEGIN
SELECT commission_pct
INTO curr_comm
FROM employees
WHERE employees.employee_id = increase_comm.employee_id;
IF curr_comm IS NULL
THEN RAISE no_comm;
ELSE
UPDATE employees
SET commission_pct = commission_pct + comm_incr;
END IF;
END;
END emp_mgmt;
/*
PROCEDURE commented_func(employee_id NUMBER, comm_incr NUMBER) IS
curr_comm NUMBER;
BEGIN
SELECT commission_pct
INTO curr_comm
FROM employees
WHERE employees.employee_id = increase_comm.employee_id;
IF curr_comm IS NULL
THEN RAISE no_comm;
ELSE
UPDATE employees
SET commission_pct = commission_pct + comm_incr;
END IF;
END;
END emp_mgmt;
*/
/

View File

@ -0,0 +1 @@
{"leaves":["hire \r\n (last_name VARCHAR2, job_id VARCHAR2, \r\n manager_id NUMBER, salary NUMBER, \r\n commission_pct NUMBER, department_id NUMBER) \r\n RETURN NUMBER IS new_empno NUMBER","create_dept(department_id NUMBER, location_id NUMBER) \r\n RETURN NUMBER IS \r\n new_deptno NUMBER","remove_emp (employee_id NUMBER)","remove_dept(department_id NUMBER)","increase_sal(employee_id NUMBER, salary_incr NUMBER)","increase_comm(employee_id NUMBER, comm_incr NUMBER)"],"root":"unitTest"}

View File

@ -0,0 +1,46 @@
\documentclass[12pt]{article}
\usepackage{lingmacros}
\usepackage{tree-dvips}
\begin{document}
\section*{Notes for My Paper}
Don't forget to include examples of topicalization.
They look like this:
{\small
\enumsentence{Topicalization from sentential subject:\\
\shortex{7}{a John$_i$ [a & kltukl & [el &
{\bf l-}oltoir & er & ngii$_i$ & a Mary]]}
{ & {\bf R-}clear & {\sc comp} &
{\bf IR}.{\sc 3s}-love & P & him & }
{John, (it's) clear that Mary loves (him).}}
}
\subsection*{How to handle topicalization}
I'll just assume a tree structure like (\ex{1}).
{\small
\enumsentence{Structure of A$'$ Projections:\\ [2ex]
\begin{tabular}[t]{cccc}
& \node{i}{CP}\\ [2ex]
\node{ii}{Spec} & &\node{iii}{C$'$}\\ [2ex]
&\node{iv}{C} & & \node{v}{SAgrP}
\end{tabular}
\nodeconnect{i}{ii}
\nodeconnect{i}{iii}
\nodeconnect{iii}{iv}
\nodeconnect{iii}{v}
}
}
\subsection*{Mood}
Mood changes when there is a topic, as well as when
there is WH-movement. \emph{Irrealis} is the mood when
there is a non-subject topic or WH-phrase in Comp.
\emph{Realis} is the mood when there is a subject topic
or WH-phrase.
\end{document}

View File

@ -0,0 +1 @@
{"leaves":["\\begin{document}","\\section*{Notes for My Paper}","\\subsection*{How to handle topicalization}","\\begin{tabular}[t]{cccc}","\\subsection*{Mood}"],"root":"unitTest"}

View File

@ -0,0 +1,58 @@
# This is a TOML document.
title = "TOML Example"
[owner]
name = "Tom Preston-Werner"
dob = 1979-05-27T07:32:00-08:00 # First class dates
[database]
server = "192.168.1.1"
ports = [ 8000, 8001, 8002 ]
connection_max = 5000
enabled = true
[servers]
toto = "titi"
# Indentation (spaces) is allowed but not required
[servers.alpha]
ip = "10.0.0.1"
dc = "eqdc10"
# Indentation (tabs) is allowed but not required
[servers.beta]
ip = "10.0.0.2"
dc = "eqdc10"
# No indentation is correct too
[servers.gamma]
ip = "10.0.0.3"
dc = "eqdc10"
[servers_underscore]
ip = "10.0.0.4"
dc = "eqdc10"
[servers."double-quot"]
ip = "10.0.0.4"
dc = "eqdc10"
[servers.'single-quot']
ip = "10.0.0.4"
dc = "eqdc10"
[clients]
data = [ ["gamma", "delta"], [1, 2] ]
[clients-2nd-group]
data2 = "Another data"
# Line breaks are OK when inside arrays
hosts = [
"alpha",
"omega"
]

View File

@ -0,0 +1 @@
{"leaves":["owner","database","servers","servers.alpha","servers.beta","servers.gamma","servers_underscore","servers.\"double-quot\"","servers.'single-quot'","clients","clients-2nd-group"],"root":"unitTest"}

View File

@ -0,0 +1,374 @@
var crypto = require('crypto'),
Friends,
User,
Post,
WallPost,
Comment,
LoginToken;
function extractKeywords(text) {
if (!text) return [];
return text.
split(/\s+/).
filter(function(v) { return v.length > 2; }).
filter(function(v, i, a) { return a.lastIndexOf(v) === i; });
}
/*
function commentedFunc(text) {
if (!text) return [];
return text.
split(/\s+/).
filter(function(v) { return v.length > 2; }).
filter(function(v, i, a) { return a.lastIndexOf(v) === i; });
}
*/
function convertBasicMarkup(input, allowHtml) {
var strongRe = /[*]{2}([^*]+)[*]{2}/gm;
var emRe = /[*]{1}([^*]+)[*]{1}/gm;
var linkRe = /\[([^\]]*)\]\(([^\)]*?)\)/gm;
var nlRe = /\r\n/gm;
var crRe = /\r/gm;
// special re's to revert linebreaks from <br />
var codeRe = /(<code\b[^>]*>(.*?)<\/code>)/gm;
// cleanup newlines
input = input.replace(nlRe, "\n");
input = input.replace(crRe, "\n");
// strip existing html before inserting breaks/markup
if (!allowHtml) {
// strip html
input = input
.replace(/&/g, '&amp;')
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;')
.replace(/"/g, '&quot;')
.replace(/'/g, '&#39;');
}
// convert newlines to breaks
input = input.replace(/\n/gm, '<br />');
// replace basic markup
input = input.replace(strongRe, function(whole, m1, m2, m3) {
return '<strong>' + m1 + '</strong>';
});
input = input.replace(emRe, function(whole, m1, m2, m3) {
return '<em>' + m1 + '</em>';
});
input = input.replace(linkRe, function(whole, m1, m2) {
// fix up protocol
if (!m2.match(/(http(s?)|ftp(s?)):\/\//gm))
// prepend http as default
m2 = 'http://' + m2;
return '<a href=\"' + m2 + '\" target=\"_blank\">' + m1 + '</a>';
});
// revert code blocks
input = input.replace(codeRe, function(whole, m1) {
return m1.replace(/<br \/>/gm, '\n');
});
return input;
}
function defineModels(mongoose, fn) {
var Schema = mongoose.Schema,
ObjectId = Schema.ObjectId;
/**
* Comment model
*
* Used for persisting user comments
*/
var Comment = new Schema({
user_id: ObjectId,
//photo:String,
date: Date,
body: String,
post_id:ObjectId,
});
// register virtual members
Comment.virtual('readableday')
.get(function() {
var day = this.date.getDate();
return (day < 10 ? '0' + day : day);
});
Comment.virtual('readablemonth')
.get(function() {
return monthNamesShort[this.date.getMonth()];
});
Comment.virtual('readabletime')
.get(function() {
var hour = this.date.getHours();
var minute = this.date.getMinutes();
return (hour < 10 ? '0' + hour : hour) + ':' + (minute < 10 ? '0' + minute : minute);
});
Comment.virtual('bodyParsed')
.get(function() {
return convertBasicMarkup(this.body, false);
});
// register validators
/*Comment.path('author').validate(function(val) {
return val.length > 0;
}, 'AUTHOR_MISSING');*/
Comment.path('body').validate(function(val) {
return val.length > 0;
}, 'BODY_MISSING');
/**
* Model: WallPost
*/
var WallPost = new Schema({
friend_id: String,
preview: String,
body: String,
//rsstext: String,
slug: String,
created: Date,
modified: Date,
//tags: [String],
user_id:ObjectId,
posted_on_user_id : ObjectId,
//comments: [Comment]
});
var monthNames = [ 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli',
'August', 'September', 'Oktober', 'November', 'Dezember' ];
var monthNamesShort = [ 'Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul',
'Aug', 'Sep', 'Okt', 'Nov', 'Dez' ];
// define virtual getter method for id (readable string)
WallPost.virtual('id')
.get(function() {
return this._id.toHexString();
});
WallPost.virtual('url')
.get(function() {
// build url for current post
var year = this.created.getFullYear();
var month = this.created.getMonth() + 1;
var day = this.created.getDate();
return '/' + year + '/' + (month < 10 ? '0' + month : month) + '/' + (day < 10 ? '0' + day : day) + '/' + this.slug + '/';
});
WallPost.virtual('rfc822created')
.get(function() {
return this.created.toGMTString();
});
WallPost.virtual('readabledate')
.get(function() {
var year = this.created.getFullYear();
var month = monthNames[this.created.getMonth()];
var day = this.created.getDate();
return (day < 10 ? '0' + day : day) + '. ' + month + ' ' + year;
});
WallPost.virtual('readableday')
.get(function() {
var day = this.created.getDate();
return (day < 10 ? '0' + day : day);
});
WallPost.virtual('readablemonth')
.get(function() {
return monthNamesShort[this.created.getMonth()];
});
WallPost.virtual('previewParsed')
.get(function() {
return convertBasicMarkup(this.preview, true);
});
WallPost.virtual('bodyParsed')
.get(function() {
return convertBasicMarkup(this.body, true);
});
// register validators
/*WallPost.path('title').validate(function(val) {
return val.length > 0;
}, 'TITLE_MISSING');
WallPost.path('preview').validate(function(val) {
return val.length > 0;
}, 'PREVIEW_MISSING');
WallPost.path('rsstext').validate(function(val) {
return val.length > 0;
}, 'RSSTEXT_MISSING');*/
WallPost.path('body').validate(function(val) {
return val.length > 0;
}, 'BODY_MISSING');
// generate a proper slug value for Wallpost
function slugGenerator (options){
options = options || {};
var key = options.key || 'body';
return function slugGenerator(schema){
schema.path(key).set(function(v){
this.slug = v.toLowerCase().replace(/[^a-z0-9]/g, '-').replace(/\++/g, '');
return v;
});
};
};
// attach slugGenerator plugin to Wallpost schema
WallPost.plugin(slugGenerator());
/**
* Model: User
*/
function validatePresenceOf(value) {
return value && value.length;
}
var User = new Schema({
'first_name': { type: String, validate: /[a-z]/ },
'last_name':{ type: String, validate: /[a-z]/ },
'age':Number,
'sex':{ type: String},
'photo':String,
'location':{ type: String, validate: /[a-z]/ },
'latitude' : String,
'longitude' : String,
'keywords': [String],
'username':String,
'email': { type: String, validate: [validatePresenceOf, 'an email is required'], index: { unique: true }, required:true },
'hashed_password': { type: String},
'salt': String,
});
User.virtual('id')
.get(function() {
return this._id.toHexString();
});
User.virtual('password')
.set(function(password) {
this._password = password;
this.salt = this.makeSalt();
this.hashed_password = this.encryptPassword(password);
})
.get(function() { return this._password; });
User.method('authenticate', function(plainText) {
return this.encryptPassword(plainText) === this.hashed_password;
});
User.method('makeSalt', function() {
return Math.round((new Date().valueOf() * Math.random())) + '';
});
User.method('encryptPassword', function(password) {
return crypto.createHmac('sha1', this.salt).update(password).digest('hex');
});
User.pre('save', function(next) {
this.keywords = extractKeywords(this.first_name);
next();
if (!validatePresenceOf(this.password)) {
next(new Error('Invalid password'));
} else {
next();
}
});
var Friends = new Schema({
requestor : String
, acceptor : String
, date_requested : Date
, status:Number
});
Friends.virtual('id')
.get(function() {
return this._id.toHexString();
});
var Post = new Schema({
filename : { type: String, index: true }
, file : String
, created_at : Date
, user_id: ObjectId
});
Post.virtual('id')
.get(function() {
return this._id.toHexString();
});
/**
* Model: LoginToken
*
* Used for session persistence.
*/
var LoginToken = new Schema({
email: { type: String, index: true },
series: { type: String, index: true },
token: { type: String, index: true }
});
LoginToken.method('randomToken', function() {
return Math.round((new Date().valueOf() * Math.random())) + '';
});
LoginToken.pre('save', function(next) {
// Automatically create the tokens
this.token = this.randomToken();
if (this.isNew)
this.series = this.randomToken();
next();
});
LoginToken.virtual('id')
.get(function() {
return this._id.toHexString();
});
LoginToken.virtual('cookieValue')
.get(function() {
return JSON.stringify({ email: this.email, token: this.token, series: this.series });
});
mongoose.model('User', User);
mongoose.model('Post', Post);
mongoose.model('Friends', Friends);
mongoose.model('LoginToken', LoginToken);
mongoose.model('WallPost', WallPost);
mongoose.model('Comment', Comment);
fn();
}
exports.defineModels = defineModels;

View File

@ -0,0 +1 @@
{"leaves":["extractKeywords","convertBasicMarkup","function","function","function","function","defineModels","slugGenerator","slugGenerator","validatePresenceOf","function","function","function","function","function","function"],"root":"unitTest"}

View File

@ -0,0 +1,194 @@
::StartupScript
npp_console keep
npp_exec "SetSingleEdgeLine"
::MultipleSelectAddNext
npp_console keep
sci_sendmsg SCI_SETSEARCHFLAGS SCFIND_WHOLEWORD
sci_sendmsg SCI_TARGETWHOLEDOCUMENT
sci_sendmsg SCI_MULTIPLESELECTADDNEXT
::MultipleSelectAddEach
npp_console keep
sci_sendmsg SCI_SETSEARCHFLAGS SCFIND_WHOLEWORD
sci_sendmsg SCI_TARGETWHOLEDOCUMENT
sci_sendmsg SCI_GETSELECTIONEMPTY
if $(MSG_RESULT) == 1 then
sci_sendmsg SCI_MULTIPLESELECTADDNEXT
endif
sci_sendmsg SCI_MULTIPLESELECTADDEACH
::SetSingleEdgeLine
npp_console keep
sci_sendmsg SCI_SETEDGECOLUMN 80
sci_sendmsg SCI_SETEDGEMODE EDGE_LINE
::ConfigSingleEdgeLine
npp_console keep
sci_sendmsg SCI_GETEDGECOLUMN
inputbox "Input edge column" : "Edge column" : $(MSG_RESULT)
sci_sendmsg SCI_SETEDGECOLUMN $(INPUT)
sci_sendmsg SCI_SETEDGEMODE EDGE_LINE
::SingleEdgeLineOn
npp_console keep
sci_sendmsg SCI_SETEDGEMODE EDGE_LINE
::MultipleEdgeLinesOn
npp_console keep
sci_sendmsg SCI_SETEDGEMODE EDGE_MULTILINE
::BackgroundEdgeOn
npp_console keep
sci_sendmsg SCI_SETEDGEMODE EDGE_BACKGROUND
::EdgesOff
npp_console keep
sci_sendmsg SCI_SETEDGEMODE EDGE_NONE
::WrapSelectedLinesAtEdge
npp_console keep
sci_sendmsg SCI_GETEDGEMODE
if~ $(MSG_RESULT) != EDGE_LINE then
set local $(LinePixelWidth) = 0
goto :DoWrap
endif
sci_sendmsg SCI_GETEDGECOLUMN
set local $(LineCharWidth) ~ $(MSG_RESULT) + 1
set local $(TemplateStr) = W
set local $(Cnt) = 2
:ForLoopStart
if $(Cnt) > $(LineCharWidth) goto :ForLoopEnd
set local $(TemplateStr) = $(TemplateStr)W
set local $(Cnt) ~ $(Cnt) + 1
goto :ForLoopStart
:ForLoopEnd
sci_sendmsg SCI_TEXTWIDTH STYLE_DEFAULT "$(TemplateStr)"
set local $(LinePixelWidth) = $(MSG_RESULT)
:DoWrap
sci_sendmsg SCI_TARGETFROMSELECTION
sci_sendmsg SCI_LINESSPLIT $(LinePixelWidth)
::DeleteLinesFrom2ndView
npp_console keep
npp_console disable
npe_console -- m-
sci_sendmsg SCI_DOCUMENTSTART
npp_sendmsg NPPM_MENUCOMMAND 0 IDM_VIEW_SWITCHTO_OTHER_VIEW
sci_sendmsg SCI_DOCUMENTSTART
npp_sendmsg NPPM_GETCURRENTVIEW
if $(MSG_RESULT) == 0 then
npp_sendmsg NPPM_MENUCOMMAND 0 IDM_VIEW_SWITCHTO_OTHER_VIEW
endif
sci_sendmsg SCI_GETLINECOUNT
set local $(LineCount) = $(MSG_RESULT)
set local $(LineIdx) = 0
:ProcessSearchTerms
if $(LineIdx) >= $(LineCount) goto :End
sci_sendmsg SCI_GETLINE $(LineIdx) @""
set local $(CurLine) = $(MSG_LPARAM)
if "$(CurLine)" == "" goto :AdvanceToNextLine
npp_sendmsg NPPM_MENUCOMMAND 0 IDM_VIEW_SWITCHTO_OTHER_VIEW
sci_sendmsg SCI_GETCURRENTPOS
sci_sendmsg SCI_LINEFROMPOSITION $(MSG_RESULT)
set local $(StartLineIdx) = $(MSG_RESULT)
set local $(Flags) ~ NPE_SF_SETPOS
:ReplaceLoop
sci_find $(Flags) "$(CurLine)"
if $(MSG_RESULT) == -1 goto :ReplaceLoopEnd
sci_sendmsg SCI_LINEFROMPOSITION $(MSG_RESULT)
set local $(FoundLineIdx) = $(MSG_RESULT)
sci_sendmsg SCI_GETLINE $(FoundLineIdx) @""
set local $(FoundLine) = $(MSG_LPARAM)
set local $(FoundLineLC) ~ strlower "$(FoundLine)"
set local $(CurLineLC) ~ strlower "$(CurLine)"
if "$(FoundLineLC)" == "$(CurLineLC)" then
sci_sendmsg SCI_GOTOLINE $(FoundLineIdx)
sci_sendmsg SCI_LINEDELETE
endif
set local $(Flags) ~ $(Flags) | NPE_SF_NEXT
goto :ReplaceLoop
:ReplaceLoopEnd
sci_sendmsg SCI_GOTOLINE $(StartLineIdx)
npp_sendmsg NPPM_MENUCOMMAND 0 IDM_VIEW_SWITCHTO_OTHER_VIEW
:AdvanceToNextLine
set local $(LineIdx) ~ $(LineIdx) + 1
goto :ProcessSearchTerms
:End
sci_sendmsg SCI_DOCUMENTSTART
npp_sendmsg NPPM_MENUCOMMAND 0 IDM_VIEW_SWITCHTO_OTHER_VIEW
sci_sendmsg SCI_DOCUMENTSTART
npp_sendmsg NPPM_GETCURRENTVIEW
if $(MSG_RESULT) == 1 then
npp_sendmsg NPPM_MENUCOMMAND 0 IDM_VIEW_SWITCHTO_OTHER_VIEW
endif
npp_console enable
::ReadLongText
npp_console keep
npp_sendmsg WM_COMMAND IDM_VIEW_CLONE_TO_ANOTHER_VIEW
sci_sendmsg SCI_PAGEDOWN
npp_sendmsg WM_COMMAND IDM_VIEW_SYNSCROLLV
::TrimTrailingSpace
npp_console keep
npp_sendmsg WM_COMMAND IDM_EDIT_TRIMTRAILING

View File

@ -0,0 +1 @@
{"nodes":[{"leaves":["::StartupScript"],"name":"StartupScript"},{"leaves":["::MultipleSelectAddNext"],"name":"MultipleSelectAddNext"},{"leaves":["::MultipleSelectAddEach"],"name":"MultipleSelectAddEach"},{"leaves":["::SetSingleEdgeLine"],"name":"SetSingleEdgeLine"},{"leaves":["::ConfigSingleEdgeLine"],"name":"ConfigSingleEdgeLine"},{"leaves":["::SingleEdgeLineOn"],"name":"SingleEdgeLineOn"},{"leaves":["::MultipleEdgeLinesOn"],"name":"MultipleEdgeLinesOn"},{"leaves":["::BackgroundEdgeOn"],"name":"BackgroundEdgeOn"},{"leaves":["::EdgesOff"],"name":"EdgesOff"},{"leaves":["::WrapSelectedLinesAtEdge","ForLoopStart","ForLoopEnd","DoWrap"],"name":"WrapSelectedLinesAtEdge"},{"leaves":["::DeleteLinesFrom2ndView","ProcessSearchTerms","ReplaceLoop","ReplaceLoopEnd","AdvanceToNextLine","End"],"name":"DeleteLinesFrom2ndView"},{"leaves":["::ReadLongText"],"name":"ReadLongText"},{"leaves":["::TrimTrailingSpace"],"name":"TrimTrailingSpace"}],"root":"unitTest"}

View File

@ -0,0 +1,28 @@
+++
title = "Make Your Business Card with Notepad++"
description = ""
date = "2011-12-25"
menu = "main"
+++
2011-12-25
Notepad++ is not just a text/code editor, you can use it to make your business card:
![Business Card](/news/images/npp.businessCard.jpg)
Here are some tips/instructions to help you make your original business card with Notepad++:
1. Hide menu, tab bar and status bar (you probably want to hide tool bar if you have more content to show) via the General tab of Preferences dialog.
2. Hide folder margin, bookmark margin, line number margin and current line highlighting via the Editing tab of Preference dialog.
3. Check "Show only filename in title bar" via "MISC." tab of Preference Dialog, this removes the full path and keep only the file name on the caption bar.
4. Resize Notepad++ to fit the size of your empty business card to print. (I made the Notepad++ size on screen just fit my card)
5.Type the content of your business card with your favorite programming language (html, xml, php, c, c++, etc...) then set the language's syntax highlighting via menu Language (type "Alt" to show menu).
6. Launch "Style Configurator" Dialog (via menu "Settings") to tune up the syntax highlighting of your language of choice (for the bg/fg colour, font style and font size). You can choose the theme (on the top) as well to have the different look & feel. Save & close it.
7. Print your card - Do the screen capture by "Alt + Print Screen", Then paste it into Word to print.
8. That's it. Enjoy making your geek business card!
The original idea came from [Albert Hwang's Notepad Business Card](https://www.albert-hwang.com/blog/2011/12/re-my-business-card).
Happy Isaac Newton's Birthday!

View File

@ -0,0 +1 @@
{"leaves":["(/news/images/npp.businessCard.jpg)","(you probably want to hide tool bar if you have more content to show)","(I made the Notepad++ size on screen just fit my card)","(html, xml, php, c, c++, etc...)","(type \"Alt\" to show menu)","(via menu \"Settings\")","(for the bg/fg colour, font style and font size)","(on the top)","(https://www.albert-hwang.com/blog/2011/12/re-my-business-card)"],"root":"unitTest"}

View File

@ -19,20 +19,36 @@ Try {
{
return 1
}
..\..\bin\notepad++.exe -export=functionList -l"$langName" $testRoot$dirName\unitTest | Out-Null
$expectedRes = Get-Content $testRoot$dirName\unitTest.expected.result
$generatedRes = Get-Content $testRoot$dirName\unitTest.result.json
if ($generatedRes -eq $expectedRes)
if ($langName.StartsWith("udl-"))
{
Remove-Item $testRoot$dirName\unitTest.result.json
return 0
$langName = $langName.Replace("udl-", "")
..\..\bin\notepad++.exe -export=functionList -udl="$langName" $testRoot$dirName\unitTest | Out-Null
}
else
{
..\..\bin\notepad++.exe -export=functionList -l"$langName" $testRoot$dirName\unitTest | Out-Null
}
$expectedRes = Get-Content $testRoot$dirName\unitTest.expected.result
$generatedRes = Get-Content $testRoot$dirName\unitTest.result.json
# Some parser results contain CRLF or LF (\r\n or \n) dependent of file EOL format
# In order to make tests pass in any environment, all the CRLF turning into LF (if any) in both strings
$expectedRes = $expectedRes.replace('\r\n','\n')
$generatedRes = $generatedRes.replace('\r\n','\n')
if ($generatedRes -eq $expectedRes)
{
Remove-Item $testRoot$dirName\unitTest.result.json
return 0
}
else
{
$expectedRes
"`nvs`n"
$generatedRes
return -1
}
}
}
}
Catch

View File

@ -1,6 +1,6 @@
$testRoot = ".\"
Get-ChildItem -Path $testRoot -Attribute Directory |
Get-ChildItem -Path $testRoot -Attribute Directory -Name |
Foreach-Object {
$dirName = (Get-Item $testRoot$_).Name
@ -10,13 +10,13 @@ Foreach-Object {
$sw.Stop()
"Test: " + $sw.Elapsed.TotalMilliseconds + " ms"
if ($result -eq 0)
{
"$dirName ... OK"
}
elseif ($result -eq 1)
{
{
"$dirName ... unitTest file not found. Test skipped."
}
elseif ($result -eq -1)
@ -36,9 +36,9 @@ Foreach-Object {
"It should not happen - check your script."
exit -1
}
# Check all Sub-directories for other unit-tests
Get-ChildItem -Path $testRoot\$dirName -Attribute Directory |
Get-ChildItem -Path $testRoot\$dirName -Attribute Directory -Name |
Foreach-Object {
$subDirName = (Get-Item $testRoot$dirName\$_).Name
@ -51,7 +51,7 @@ Foreach-Object {
"$dirName-$subDirName ... OK"
}
elseif ($subResult -eq 1)
{
{
"$dirName-$subDirName ... unitTest file not found. Test skipped."
}
else

View File

@ -0,0 +1,15 @@
Module Program
Public num1 As Integer
Public num2 As Integer
Public answer As Integer
Sub Main(args As String())
Console.Write("Type a number and press Enter")
num1 = Console.ReadLine()
Console.Write("Type another number to add to it and press Enter")
num2 = Console.ReadLine()
answer = num1 + num2
Console.WriteLine("The answer is " & answer)
Console.Write("Press any key to continue...")
Console.ReadKey(True)
End Sub
End Module

View File

@ -0,0 +1 @@
{"leaves":["Main"],"root":"unitTest"}

View File

@ -1,6 +1,9 @@
<?xml version="1.0" encoding="Windows-1252" ?>
<NotepadPlus>
<GUIConfigs>
<!--
<GUIConfig name="comment">comment</GUIConfig>
-->
<GUIConfig name="ToolBar" visible="yes">standard</GUIConfig>
<GUIConfig name="StatusBar">show</GUIConfig>
<GUIConfig name="TabBar" dragAndDrop="yes" drawTopBar="yes" drawInactiveTab="yes" reduce="yes" closeButton="yes" doubleClick2Close="no" vertical="no" multiLine="no" hide="no" quitOnEmpty="no" />

View File

@ -149,6 +149,11 @@ m 0111111111111111111111111111111111111111111100000000000000000000000000 m
u https://www.youtube.com/watch?v=VmcftreqQ6E&list=PnQIRE5O5JpiLL&index=xxx u
m 1111111111111111111111111111111111111111111111111111111111111111111111111 m
u https://example.com/#/app/0?context u
m 11111111111111111111111111111111111 m
u https://example.com#/example/app/0?context u
m 111111111111111111111111111111111111111111 m
Space detection:

View File

@ -45,6 +45,8 @@ OK u "https://duckduckgo.com/?q=windows+delete+"GameBarPresenceWriter.exe" u
OK u "https://duckduckgo/com/?q=windows+delete+GameBarPresenceWriter.exe" u
OK u "https://duckduckgo.com/?q=windows+delete+""GameBarPresenceWriter.exe" u
OK u https://www.youtube.com/watch?v=VmcftreqQ6E&list=PnQIRE5O5JpiLL&index=xxx u
OK u https://example.com/#/app/0?context u
OK u https://example.com#/example/app/0?context u
OK u "http://github.com/notepad-plus-plus/notepad-plus-plus" u
OK u "https://github.com /notepad-plus-plus/notepad-plus-plus" u
OK u "https://github.com/notepad plus plus/notepad-plus-plus" u

View File

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="NotepadPlus">
<xs:complexType>
<xs:sequence>
<xs:element name="AutoComplete">
<xs:complexType>
<xs:sequence>
<xs:element name="Environment" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="ignoreCase"/>
<xs:attribute type="xs:string" name="startFunc"/>
<xs:attribute type="xs:string" name="stopFunc"/>
<xs:attribute type="xs:string" name="paramSeparator"/>
<xs:attribute type="xs:string" name="terminal"/>
<xs:attribute type="xs:string" name="additionalWordChar"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="KeyWord" minOccurs="1" maxOccurs="unbounded">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element name="Overload" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Param" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="name" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="retVal" use="optional"/>
<xs:attribute type="xs:string" name="descr" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="required"/>
<xs:attribute type="xs:string" name="func" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="language" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="NotepadPlus">
<xs:complexType>
<xs:sequence>
<xs:element name="GUIConfigs">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="GUIConfig">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="ActiveTabs">
<xs:complexType>
<xs:attribute name="cont" type="xs:integer" use="required"/>
<xs:attribute name="activeTab" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:anyAttribute processContents="skip"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="FindHistory">
<xs:complexType>
<xs:anyAttribute processContents="skip"/>
</xs:complexType>
</xs:element>
<xs:element name="History">
<xs:complexType>
<xs:attribute name="nbMaxFile" type="xs:integer" use="required"/>
<xs:attribute name="inSubMenu" type="xs:string" use="required"/>
<xs:attribute name="customLength" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="ProjectPanels">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="ProjectPanel">
<xs:complexType>
<xs:attribute name="id" type="xs:integer" use="required"/>
<xs:attribute name="workSpaceFile" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="NotepadPlus">
<xs:complexType>
<xs:sequence>
<xs:element name="ScintillaContextMenu">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Item">
<xs:complexType>
<xs:attribute name="MenuEntryName" type="xs:string" use="optional"/>
<xs:attribute name="MenuItemName" type="xs:string" use="optional"/>
<xs:attribute name="id" type="xs:unsignedShort" use="optional"/>
<xs:attribute name="FolderName" type="xs:string" use="optional"/>
<xs:attribute name="TranslateID" type="xs:string" use="optional"/>
<xs:attribute name="PluginEntryName" type="xs:string" use="optional"/>
<xs:attribute name="PluginCommandItemName" type="xs:string" use="optional"/>
<xs:attribute name="ItemNameAs" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,109 @@
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="NotepadPlus">
<xs:complexType>
<xs:sequence>
<xs:element name="functionList">
<xs:complexType>
<xs:sequence>
<xs:element name="parser">
<xs:complexType>
<xs:sequence>
<xs:element name="classRange" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="className">
<xs:complexType>
<xs:sequence>
<xs:element name="nameExpr" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="expr" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="function" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="functionName">
<xs:complexType>
<xs:sequence>
<xs:element name="funcNameExpr" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="expr" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="mainExpr"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="mainExpr" use="required"/>
<xs:attribute type="xs:string" name="openSymbole" use="optional"/>
<xs:attribute type="xs:string" name="closeSymbole" use="optional"/>
<xs:attribute type="xs:string" name="displayMode" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="function" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="functionName" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="nameExpr" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="expr" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="className" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="nameExpr" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="expr" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="mainExpr"/>
<xs:attribute type="xs:string" name="displayMode" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="displayName"/>
<xs:attribute type="xs:string" name="id"/>
<xs:attribute type="xs:string" name="commentExpr"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="NotepadPlus">
<xs:complexType>
<xs:sequence>
<xs:element name="Languages">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Language">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="Keywords">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="name" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="instre1"/>
<xs:enumeration value="instre2"/>
<xs:enumeration value="type1"/>
<xs:enumeration value="type2"/>
<xs:enumeration value="type3"/>
<xs:enumeration value="type4"/>
<xs:enumeration value="type5"/>
<xs:enumeration value="type6"/>
<xs:enumeration value="type7"/>
<xs:enumeration value="substyle1"/>
<xs:enumeration value="substyle2"/>
<xs:enumeration value="substyle3"/>
<xs:enumeration value="substyle4"/>
<xs:enumeration value="substyle5"/>
<xs:enumeration value="substyle6"/>
<xs:enumeration value="substyle7"/>
<xs:enumeration value="substyle8"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="ext" type="xs:string" use="required"/>
<xs:attribute name="commentLine" type="xs:string" use="optional"/>
<xs:attribute name="commentStart" type="xs:string" use="optional"/>
<xs:attribute name="commentEnd" type="xs:string" use="optional"/>
<xs:attribute name="tabSettings" type="xs:integer" use="optional"/>
<xs:attribute name="backspaceUnindent" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="NotepadPlus">
<xs:complexType>
<xs:sequence>
<xs:element name="Native-Langue">
<xs:complexType>
<xs:all>
<xs:element name="Menu">
<xs:complexType>
<xs:all>
<xs:element name="Main" minOccurs="0" maxOccurs="1"/>
<xs:element name="Splitter" minOccurs="0" maxOccurs="1"/>
<xs:element name="TabBar" minOccurs="0" maxOccurs="1"/>
<xs:element name="TrayIcon" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="Dialog" minOccurs="0" maxOccurs="1"/>
<xs:element name="MessageBox" minOccurs="0" maxOccurs="1"/>
<xs:element name="ClipboardHistory" minOccurs="0" maxOccurs="1"/>
<xs:element name="DocList" minOccurs="0" maxOccurs="1"/>
<xs:element name="WindowsDlg" minOccurs="0" maxOccurs="1"/>
<xs:element name="AsciiInsertion" minOccurs="0" maxOccurs="1"/>
<xs:element name="DocumentMap" minOccurs="0" maxOccurs="1"/>
<xs:element name="FunctionList" minOccurs="0" maxOccurs="1"/>
<xs:element name="FolderAsWorkspace" minOccurs="0" maxOccurs="1"/>
<xs:element name="FileBrowser" minOccurs="0" maxOccurs="1"/>
<xs:element name="ProjectManager" minOccurs="0" maxOccurs="1"/>
<xs:element name="MiscStrings" minOccurs="0" maxOccurs="1"/>
</xs:all>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="filename" type="xs:string" use="required"/>
<xs:attribute name="version" type="xs:string" use="optional"/>
<xs:attribute name="RTL" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="yes"/>
<xs:enumeration value="no"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="NotepadPlus">
<xs:complexType>
<xs:sequence>
<xs:element name="InternalCommands"/>
<xs:element name="Macros">
<xs:complexType>
<xs:sequence>
<xs:element name="Macro">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Action">
<xs:complexType>
<xs:attribute name="type" type="xs:integer" use="required"/>
<xs:attribute name="message" type="xs:integer" use="required"/>
<xs:attribute name="wParam" type="xs:unsignedShort" use="required"/>
<xs:attribute name="lParam" type="xs:integer" use="required"/>
<xs:attribute name="sParam" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="Ctrl" type="xs:string" use="required"/>
<xs:attribute name="Alt" type="xs:string" use="required"/>
<xs:attribute name="Shift" type="xs:string" use="required"/>
<xs:attribute name="Key" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="UserDefinedCommands">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Command">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="Ctrl" type="xs:string" use="required"/>
<xs:attribute name="Alt" type="xs:string" use="required"/>
<xs:attribute name="Shift" type="xs:string" use="required"/>
<xs:attribute name="Key" type="xs:integer" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PluginCommands"/>
<xs:element name="ScintillaKeys"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="NotepadPlus">
<xs:complexType>
<xs:sequence>
<xs:element name="TabContextMenu">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Item">
<xs:complexType>
<xs:attribute name="MenuEntryName" type="xs:string" use="optional"/>
<xs:attribute name="MenuItemName" type="xs:string" use="optional"/>
<xs:attribute name="FolderName" type="xs:string" use="optional"/>
<xs:attribute name="id" type="xs:integer" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="emptyInt">
<!-- custom type: allows integer or empty string -->
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="0"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:element name="NotepadPlus">
<xs:complexType>
<xs:sequence>
<xs:element name="LexerStyles" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="LexerType" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="WordsStyle" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="name" use="required"/>
<xs:attribute type="xs:integer" name="styleID" use="required"/>
<xs:attribute type="xs:hexBinary" name="fgColor" use="optional"/>
<xs:attribute type="xs:hexBinary" name="bgColor" use="optional"/>
<xs:attribute type="xs:integer" name="colorStyle" use="optional"/>
<xs:attribute type="xs:string" name="fontName" use="optional"/>
<xs:attribute type="emptyInt" name="fontSize" use="optional"/>
<xs:attribute type="emptyInt" name="fontStyle" use="optional"/>
<xs:attribute name="keywordClass" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="instre1"/>
<xs:enumeration value="instre2"/>
<xs:enumeration value="type1"/>
<xs:enumeration value="type2"/>
<xs:enumeration value="type3"/>
<xs:enumeration value="type4"/>
<xs:enumeration value="type5"/>
<xs:enumeration value="type6"/>
<xs:enumeration value="type7"/>
<xs:enumeration value="substyle1"/>
<xs:enumeration value="substyle2"/>
<xs:enumeration value="substyle3"/>
<xs:enumeration value="substyle4"/>
<xs:enumeration value="substyle5"/>
<xs:enumeration value="substyle6"/>
<xs:enumeration value="substyle7"/>
<xs:enumeration value="substyle8"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="required"/>
<xs:attribute type="xs:string" name="desc" use="required"/>
<xs:attribute type="xs:string" name="ext" use="required"/>
</xs:complexType>
<xs:unique name="unique-WordsStyle-styleID">
<xs:selector xpath="WordsStyle"/>
<xs:field xpath="@styleID"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GlobalStyles" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="WidgetStyle" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute type="xs:string" name="name" use="required"/>
<xs:attribute type="xs:integer" name="styleID" use="required"/>
<xs:attribute type="xs:hexBinary" name="fgColor" use="optional"/>
<xs:attribute type="xs:hexBinary" name="bgColor" use="optional"/>
<xs:attribute type="xs:integer" name="colorStyle" use="optional"/>
<xs:attribute type="xs:string" name="fontName" use="optional"/>
<xs:attribute type="emptyInt" name="fontSize" use="optional"/>
<xs:attribute type="emptyInt" name="fontStyle" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:unique name="unique-widgetstyle-name">
<xs:selector xpath="WidgetStyle"/>
<xs:field xpath="@name"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="NotepadPlus">
<xs:complexType>
<xs:sequence>
<xs:element name="ToolbarButtons">
<xs:complexType>
<xs:sequence>
<xs:element name="Standard">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Button">
<xs:complexType>
<xs:attribute name="hide" type="xs:string" use="required"/>
<xs:attribute name="index" type="xs:integer" use="required"/>
<xs:attribute name="id" type="xs:unsignedShort" use="required"/>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="hideAll" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Plugin">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Button">
<xs:complexType>
<xs:attribute name="hide" type="xs:string" use="required"/>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="hideAll" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ToolBarIcons">
<xs:complexType>
<xs:attribute name="icoFolderName" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -30,15 +30,7 @@ def post_error(message):
pprint(message)
def parse_xml_file(filename_xml):
# open and read schema file
#with open(filename_xsd, 'r') as schema_file:
#schema_to_check = schema_file.read()
# open and read xml file
#with open(filename_xml, 'r') as xml_file:
# xml_to_check = xml_file.read()
def parse_xml_file(filename_xml, filename_xsd = None):
# parse xml
try:
@ -49,58 +41,128 @@ def parse_xml_file(filename_xml):
except IOError:
#print('Invalid File')
post_error(f'{filename_xml}: IOError Invalid File')
return
# check for XML syntax errors
except etree.XMLSyntaxError as err:
#print('XML Syntax Error, see error_syntax.log')
post_error(f'{filename_xml}: {str(err.error_log)}: XMLSyntaxError Invalid File')
return
# check for general XML errors
except etree.LxmlError as err:
#print('XML Error, see error_syntax.log')
post_error(f'{filename_xml}: {str(err.error_log)}: LxmlError Invalid File')
return
# unknown error
except:
#print('Unknown error.')
post_error(f'{filename_xml}: Unknown error. Maybe check that no xml version is in the first line.')
return
# now validate against correct schema
if doc and filename_xsd is not None:
try:
xmlschema_doc = etree.parse(filename_xsd)
# error reading XSD
except IOError:
post_error(f'{filename_xml} | {filename_xsd}: IOError Invalid File')
return
# error parsing XSD
except etree.XMLSyntaxError as err:
post_error(f'{filename_xml} | {filename_xsd}: {str(err.error_log)}: XMLSyntaxError Invalid File')
return
# other error
except Exception as err:
post_error(f'{filename_xml} | {filename_xsd}: Unknown error {str(err.error_log)} reading Schema .xsd file.')
return
# Next, extract the schema object from the schema_doc
try:
xmlschema = etree.XMLSchema(xmlschema_doc)
#print(f'{filename_xml} | {filename_xsd}: SCHEMA OBJECT OK')
# error with Schema
except etree.XMLSchemaError as err:
post_error(f'{filename_xml} | {filename_xsd}: {str(err.error_log)}: XMLSchemaError')
return
# other error
except Exception as err:
post_error(f'{filename_xml} | {filename_xsd}: Unknown error {str(err.error_log)} obtaining schema object')
return
# finally, validate the XML against the schema
if not xmlschema.validate(doc):
post_error(f'{filename_xml} | {filename_xsd}: Validation error {str(xmlschema.error_log)}')
return
else:
#print(f'{filename_xml} vs schema: VALIDATION OK')
pass
def parse_xml_files_from_APIs_dir():
for file in os.listdir("PowerEditor/installer/APIs"):
if file.endswith(".xml"):
#print(os.path.join("PowerEditor/installer/APIs", file))
parse_xml_file(os.path.join("PowerEditor/installer/APIs", file))
parse_xml_file(os.path.join("PowerEditor/installer/APIs", file), os.path.join("PowerEditor", "Test", "xmlValidator", "autoCompletion.xsd"))
def parse_xml_files_from_functionList_dir():
for file in os.listdir("PowerEditor/installer/functionList"):
if file.endswith(".xml"):
#print(os.path.join("PowerEditor/installer/functionList", file))
parse_xml_file(os.path.join("PowerEditor/installer/functionList", file))
xsd_filename = None
if not file.endswith("overrideMap.xml"):
xsd_filename = os.path.join("PowerEditor", "Test", "xmlValidator", "functionList.xsd")
parse_xml_file(os.path.join("PowerEditor/installer/functionList", file), xsd_filename)
def parse_xml_files_from_nativeLang_dir():
for file in os.listdir("PowerEditor/installer/nativeLang"):
if file.endswith(".xml"):
#print(os.path.join("PowerEditor/installer/nativeLang", file))
parse_xml_file(os.path.join("PowerEditor/installer/nativeLang", file))
parse_xml_file(os.path.join("PowerEditor/installer/nativeLang", file), os.path.join("PowerEditor", "Test", "xmlValidator", "nativeLang.xsd"))
def parse_xml_files_from_themes_dir():
for file in os.listdir("PowerEditor/installer/themes"):
if file.endswith(".xml"):
#print(os.path.join("PowerEditor/installer/themes", file))
parse_xml_file(os.path.join("PowerEditor/installer/themes", file))
parse_xml_file(os.path.join("PowerEditor/installer/themes", file), os.path.join("PowerEditor", "Test", "xmlValidator", "theme.xsd"))
def parse_xml_files_from_src_dir():
for file in os.listdir("PowerEditor/src"):
if file.endswith(".xml"):
#print(os.path.join("PowerEditor/src", file))
parse_xml_file(os.path.join("PowerEditor/src", file))
xsd_filename = None
if file.endswith("stylers.model.xml"):
xsd_filename = os.path.join("PowerEditor", "Test", "xmlValidator", "theme.xsd")
elif file.endswith("langs.model.xml"):
xsd_filename = os.path.join("PowerEditor", "Test", "xmlValidator", "langs.xsd")
elif file.endswith("toolbarButtonsConf_example.xml"):
xsd_filename = os.path.join("PowerEditor", "Test", "xmlValidator", "toolbarButtons.xsd")
elif file.endswith("tabContextMenu_example.xml"):
xsd_filename = os.path.join("PowerEditor", "Test", "xmlValidator", "tabContext.xsd")
elif file.endswith("contextMenu.xml"):
xsd_filename = os.path.join("PowerEditor", "Test", "xmlValidator", "contextMenu.xsd")
elif file.endswith("shortcuts.xml"):
xsd_filename = os.path.join("PowerEditor", "Test", "xmlValidator", "shortcuts.xsd")
elif file.endswith("config.4zipPackage.xml"):
xsd_filename = os.path.join("PowerEditor", "Test", "xmlValidator", "config.xsd")
parse_xml_file(os.path.join("PowerEditor/src", file), xsd_filename)
print('Start syntax check for xml files.')
print('Start syntax check and validation for XML files.')
parse_xml_files_from_APIs_dir()
parse_xml_files_from_functionList_dir()
parse_xml_files_from_nativeLang_dir()

Binary file not shown.

Binary file not shown.

View File

@ -1,56 +1,34 @@
Notepad++ v8 new features, enhancements & bug-fixes:
Notepad++ v8.8.5 regression-fix:
1. Add Dark Mode.
2. ARM64 build is available.
3. One button to build them all - build Notepad++ with Scintilla static lib and Boost RegExpr headers.
4. Add new Fluent UI icons for toolbar.
5. Add new feature "Distraction Free Mode" (Menu "View->Distraction Free Mode").
6. Add new API NPPM_ADDTOOLBARICON_FORDARKMODE for dark mode.
7. Add 1 click action (SHIFT-click) on close button to close all tabs in dockable panel.
8. Add ability of changing select text foreground color (optional).
9. Allow Replace to stop after replacement (optional).
10. Fix append extension feature not working in save dialog.
11. Add ability to reverse line order.
12. Add ability to style only current instance of text.
13. Fix duplicated entries in Auto-Completion pop-up window.
14. Fix Python Function List not showing functions in some circumstance.
15. Enhance Folder as Workspace performance while adding/removing files in bulk.
16. Add Ada, Fortran, Fortran77 & Haskell in function lists.
17. Improve performance of "Open all" command in Search results.
18. Add "Copy Pathnames" command to Search results context menu.
19. Catch regex search exceptions and show exception message.
20. Add MarkAll Preference settings for case and word.
21. Fix regression: Handle "Default Directory" setting correctly in Open/Save File Dialog.
22. Fix a special character in UTF16 file crash issue
23. Add "Append extension" checkbox to Save As dialog.
24. Fix Copy command in Search result is available as there's no selection.
25. Add padding ability in the edit zone.
26. Make new tab name translatable.
27. Improve character case handling in RegEx.
28. Fix dragged out UDL file is not applied to UDL in the new instance.
29. Add command line parameter for adding specified string to app title bar.
30. Fix Auto-Completion ignoring case issue.
31. Fix "Match Whole Word" option being enabled in RegEx Search.
32. Fix sort with column key selection that appears after tab characters.
33. Fix "Reload Workspace" menu command not working issue.
34. Fix view file in Edge browser failure issue if name contains spaces.
35. Add ability to avoid accumulating multiple search results.
36. Fix UTF-16 decoding/encoding for code points above U+FFFF.
37. Fix "Save As" command removing original path from recent files history issue.
38. Fix function List button tool tips mixed up issue.
39. Remove Microsoft Bing from search engines for Search on Internet command.
1. Fix "Edit with Notepad++" context menu not being installed correctly regression.
More fixes & implementations detail:
https://notepad-plus-plus.org/downloads/v8/
Notepad++ v8.8.4 vulnerability-fixes, bug-fixes & new enhancement:
1. Fix -notabbar & asNotepad.xml stop hiding tabbar regression (from v8.7.9).
2. Fix "Edit with Notepad++" not removed by uninstaller regression (from v8.8.3).
3. Fix possible heap memory leak.
4. Increase search input length from 2046 to 16383.
5. Add warning tip for the max length on search input (Find/Replace).
6. Fix JavaScript listed twice in Language & Indent settings of Preferences issue.
7. Fix external lexers showing several time in Indent settings issue.
8. Add button to insert variables in the run dialog.
9. Enhance "Go to settings": guide users to the related setting explicitly.
10. Add a clear button for filter field in Shortcut Mapper.
11. Make NFO font overridable by adding font name in Lexer "nfo" of stylers.xml.
Get more info on
https://notepad-plus-plus.org/downloads/v8.8.5/
Included plugins:
1. NppExport v0.3
2. Converter v4.3
3. Mime Tool v2.6
1. NppExport v0.4
2. Converter v4.6
3. Mime Tool v3.1
Updater (Installer only):
* WinGup (for Notepad++) v5.2
* WinGUp (for Notepad++) v5.3.3

View File

@ -1,65 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<NotepadPlus>
<UserLang name="ggg" ext="" udlVersion="2.1">
<Settings>
<Global caseIgnored="no" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
<Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
</Settings>
<KeywordLists>
<Keywords name="Comments"></Keywords>
<Keywords name="Numbers, prefix1"></Keywords>
<Keywords name="Numbers, prefix2"></Keywords>
<Keywords name="Numbers, extras1"></Keywords>
<Keywords name="Numbers, extras2"></Keywords>
<Keywords name="Numbers, suffix1"></Keywords>
<Keywords name="Numbers, suffix2"></Keywords>
<Keywords name="Numbers, range"></Keywords>
<Keywords name="Operators1"></Keywords>
<Keywords name="Operators2"></Keywords>
<Keywords name="Folders in code1, open"></Keywords>
<Keywords name="Folders in code1, middle"></Keywords>
<Keywords name="Folders in code1, close"></Keywords>
<Keywords name="Folders in code2, open"></Keywords>
<Keywords name="Folders in code2, middle"></Keywords>
<Keywords name="Folders in code2, close"></Keywords>
<Keywords name="Folders in comment, open"></Keywords>
<Keywords name="Folders in comment, middle"></Keywords>
<Keywords name="Folders in comment, close"></Keywords>
<Keywords name="Keywords1"></Keywords>
<Keywords name="Keywords2"></Keywords>
<Keywords name="Keywords3"></Keywords>
<Keywords name="Keywords4"></Keywords>
<Keywords name="Keywords5"></Keywords>
<Keywords name="Keywords6"></Keywords>
<Keywords name="Keywords7"></Keywords>
<Keywords name="Keywords8"></Keywords>
<Keywords name="Delimiters"></Keywords>
</KeywordLists>
<Styles>
<WordsStyle name="DEFAULT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="COMMENTS" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="LINE COMMENTS" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="NUMBERS" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS1" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="OPERATORS" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="FOLDER IN CODE1" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="FOLDER IN CODE2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS1" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
</Styles>
</UserLang>
</NotepadPlus>

View File

@ -50,30 +50,30 @@ https://github.com/Edditoria/markdown-plus-plus/blob/master/LICENSE.txt
<Keywords name="Delimiters">00![ 00[ 01\ 02] 02] 03``` 03` 03~~~ 04\ 05``` 05((EOL `)) 05~~~ 06*** 07\ 08((EOL ***)) 09** 10\ 11((EOL **)) 12* 13\ 14((EOL *)) 15** 16\ 17((EOL **)) 18* 19\ 20((EOL *)) 21 22 23</Keywords>
</KeywordLists>
<Styles>
<WordsStyle name="DEFAULT" fgColor="333333" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="COMMENTS" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="2" nesting="0" />
<WordsStyle name="LINE COMMENTS" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
<WordsStyle name="NUMBERS" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS1" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS2" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
<WordsStyle name="KEYWORDS3" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="3" nesting="0" />
<WordsStyle name="KEYWORDS4" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
<WordsStyle name="KEYWORDS5" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="2" nesting="0" />
<WordsStyle name="KEYWORDS6" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="3" nesting="0" />
<WordsStyle name="KEYWORDS7" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="3" nesting="0" />
<WordsStyle name="KEYWORDS8" fgColor="333333" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="OPERATORS" fgColor="8080FF" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
<WordsStyle name="FOLDER IN CODE1" fgColor="333333" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="FOLDER IN CODE2" fgColor="333333" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="FOLDER IN COMMENT" fgColor="333333" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS1" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="2" nesting="0" />
<WordsStyle name="DELIMITERS2" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS3" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="3" nesting="0" />
<WordsStyle name="DELIMITERS4" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="65600" />
<WordsStyle name="DELIMITERS5" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="2" nesting="32800" />
<WordsStyle name="DELIMITERS6" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="3" nesting="0" />
<WordsStyle name="DELIMITERS7" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="3" nesting="0" />
<WordsStyle name="DELIMITERS8" fgColor="333333" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DEFAULT" fgColor="333333" bgColor="FFFFFF" colorStyle="0" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="COMMENTS" fgColor="808080" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="2" nesting="0" />
<WordsStyle name="LINE COMMENTS" fgColor="FF8000" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="1" nesting="0" />
<WordsStyle name="NUMBERS" fgColor="0080FF" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS1" fgColor="8000FF" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS2" fgColor="FF8000" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="1" nesting="0" />
<WordsStyle name="KEYWORDS3" fgColor="000080" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="3" nesting="0" />
<WordsStyle name="KEYWORDS4" fgColor="000080" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="1" nesting="0" />
<WordsStyle name="KEYWORDS5" fgColor="000080" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="2" nesting="0" />
<WordsStyle name="KEYWORDS6" fgColor="000080" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="3" nesting="0" />
<WordsStyle name="KEYWORDS7" fgColor="000080" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="3" nesting="0" />
<WordsStyle name="KEYWORDS8" fgColor="333333" bgColor="FFFFFF" colorStyle="0" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="OPERATORS" fgColor="8080FF" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="1" nesting="0" />
<WordsStyle name="FOLDER IN CODE1" fgColor="333333" bgColor="FFFFFF" colorStyle="0" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="FOLDER IN CODE2" fgColor="333333" bgColor="FFFFFF" colorStyle="0" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="FOLDER IN COMMENT" fgColor="333333" bgColor="FFFFFF" colorStyle="0" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS1" fgColor="8000FF" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="2" nesting="0" />
<WordsStyle name="DELIMITERS2" fgColor="008000" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS3" fgColor="000080" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="3" nesting="0" />
<WordsStyle name="DELIMITERS4" fgColor="000080" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="1" nesting="65600" />
<WordsStyle name="DELIMITERS5" fgColor="000080" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="2" nesting="32800" />
<WordsStyle name="DELIMITERS6" fgColor="000080" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="3" nesting="0" />
<WordsStyle name="DELIMITERS7" fgColor="000080" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="3" nesting="0" />
<WordsStyle name="DELIMITERS8" fgColor="333333" bgColor="FFFFFF" colorStyle="0" fontName="" fontStyle="0" nesting="0" />
</Styles>
</UserLang>
</NotepadPlus>

View File

@ -0,0 +1,76 @@
<!--//
Markdown-plus-plus is a project to support Markdown syntax in Notepad++.
All UDLs are carefully designed by human, rather than generated by machine.
Want an UDL for different theme?
Want to change its preference?
Want to create your own?
Go get it: https://github.com/Edditoria/markdown-plus-plus
Please read the README file for details.
Welcome issues and pull requests via the above link.
Copyright (c) Edditoria. Open source under the MIT license:
https://github.com/Edditoria/markdown-plus-plus/blob/master/LICENSE.txt
//-->
<NotepadPlus>
<UserLang name="Markdown (preinstalled dark mode)" ext="md markdown" darkModeTheme="yes" udlVersion="2.1">
<Settings>
<Global caseIgnored="yes" allowFoldOfComments="no" foldCompact="no" forcePureLC="2" decimalSeparator="0" />
<Prefix Keywords1="yes" Keywords2="yes" Keywords3="yes" Keywords4="yes" Keywords5="yes" Keywords6="yes" Keywords7="yes" Keywords8="no" />
</Settings>
<KeywordLists>
<Keywords name="Comments">00# 01 02((EOL)) 03&lt;!-- 04--&gt;</Keywords>
<Keywords name="Numbers, prefix1"></Keywords>
<Keywords name="Numbers, prefix2"></Keywords>
<Keywords name="Numbers, extras1"></Keywords>
<Keywords name="Numbers, extras2"></Keywords>
<Keywords name="Numbers, suffix1">.</Keywords>
<Keywords name="Numbers, suffix2">.</Keywords>
<Keywords name="Numbers, range"></Keywords>
<Keywords name="Operators1">@ &lt; &gt; \&lt; \&gt; \\ \` \* \_ \{ \} \[ \] \( \) \# \+ \- \. \! \~ \| |:-: |:--: |:---: | :-: :--: :---: :|: |: :|</Keywords>
<Keywords name="Operators2">- + :- :-- :--- :</Keywords>
<Keywords name="Folders in code1, open"></Keywords>
<Keywords name="Folders in code1, middle"></Keywords>
<Keywords name="Folders in code1, close"></Keywords>
<Keywords name="Folders in code2, open"></Keywords>
<Keywords name="Folders in code2, middle"></Keywords>
<Keywords name="Folders in code2, close"></Keywords>
<Keywords name="Folders in comment, open"></Keywords>
<Keywords name="Folders in comment, middle"></Keywords>
<Keywords name="Folders in comment, close"></Keywords>
<Keywords name="Keywords1">../ (../ http:// (http:// https:// (https:// mailto: (mailto: ftp:// (ftp:// ftps:// (ftps:// (/ /</Keywords>
<Keywords name="Keywords2">==== ----</Keywords>
<Keywords name="Keywords3">*** ___</Keywords>
<Keywords name="Keywords4">** __</Keywords>
<Keywords name="Keywords5">* _</Keywords>
<Keywords name="Keywords6">** __</Keywords>
<Keywords name="Keywords7">* _</Keywords>
<Keywords name="Keywords8"></Keywords>
<Keywords name="Delimiters">00![ 00[ 01\ 02] 02] 03``` 03` 03~~~ 04\ 05``` 05((EOL `)) 05~~~ 06*** 07\ 08((EOL ***)) 09** 10\ 11((EOL **)) 12* 13\ 14((EOL *)) 15** 16\ 17((EOL **)) 18* 19\ 20((EOL *)) 21 22 23</Keywords>
</KeywordLists>
<Styles>
<WordsStyle name="DEFAULT" fgColor="DCDCCC" bgColor="3F3F3F" colorStyle="0" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="COMMENTS" fgColor="7F9F7F" bgColor="3F3F3F" colorStyle="1" fontName="" fontStyle="2" nesting="0" />
<WordsStyle name="LINE COMMENTS" fgColor="FF8040" bgColor="3F3F3F" colorStyle="1" fontName="" fontStyle="1" nesting="0" />
<WordsStyle name="NUMBERS" fgColor="8CD0D3" bgColor="3F3F3F" colorStyle="1" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS1" fgColor="EDD6ED" bgColor="3F3F3F" colorStyle="1" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS2" fgColor="FF8040" bgColor="3F3F3F" colorStyle="1" fontName="" fontStyle="1" nesting="0" />
<WordsStyle name="KEYWORDS3" fgColor="E3CEAB" bgColor="3F3F3F" colorStyle="1" fontName="" fontStyle="3" nesting="0" />
<WordsStyle name="KEYWORDS4" fgColor="E3CEAB" bgColor="3F3F3F" colorStyle="1" fontName="" fontStyle="1" nesting="0" />
<WordsStyle name="KEYWORDS5" fgColor="E3CEAB" bgColor="3F3F3F" colorStyle="1" fontName="" fontStyle="2" nesting="0" />
<WordsStyle name="KEYWORDS6" fgColor="E3CEAB" bgColor="3F3F3F" colorStyle="1" fontName="" fontStyle="3" nesting="0" />
<WordsStyle name="KEYWORDS7" fgColor="E3CEAB" bgColor="3F3F3F" colorStyle="1" fontName="" fontStyle="3" nesting="0" />
<WordsStyle name="KEYWORDS8" fgColor="DCDCCC" bgColor="3F3F3F" colorStyle="0" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="OPERATORS" fgColor="DFC47D" bgColor="3F3F3F" colorStyle="1" fontName="" fontStyle="1" nesting="0" />
<WordsStyle name="FOLDER IN CODE1" fgColor="DCDCCC" bgColor="3F3F3F" colorStyle="0" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="FOLDER IN CODE2" fgColor="DCDCCC" bgColor="3F3F3F" colorStyle="0" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="FOLDER IN COMMENT" fgColor="DCDCCC" bgColor="3F3F3F" colorStyle="0" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS1" fgColor="EDD6ED" bgColor="3F3F3F" colorStyle="1" fontName="" fontStyle="2" nesting="0" />
<WordsStyle name="DELIMITERS2" fgColor="CEDF99" bgColor="3F3F3F" colorStyle="1" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS3" fgColor="E3CEAB" bgColor="3F3F3F" colorStyle="1" fontName="" fontStyle="3" nesting="0" />
<WordsStyle name="DELIMITERS4" fgColor="E3CEAB" bgColor="3F3F3F" colorStyle="1" fontName="" fontStyle="1" nesting="65600" />
<WordsStyle name="DELIMITERS5" fgColor="E3CEAB" bgColor="3F3F3F" colorStyle="1" fontName="" fontStyle="2" nesting="32800" />
<WordsStyle name="DELIMITERS6" fgColor="E3CEAB" bgColor="3F3F3F" colorStyle="1" fontName="" fontStyle="3" nesting="0" />
<WordsStyle name="DELIMITERS7" fgColor="E3CEAB" bgColor="3F3F3F" colorStyle="1" fontName="" fontStyle="3" nesting="0" />
<WordsStyle name="DELIMITERS8" fgColor="DCDCCC" bgColor="3F3F3F" colorStyle="0" fontName="" fontStyle="0" nesting="0" />
</Styles>
</UserLang>
</NotepadPlus>

View File

@ -0,0 +1,10 @@
// this file contains fixes needed for Notepad++ to be built by GCC
// the makefile automatically includes this file
// __try and __except are unknown to GCC, so convert them to something eligible
#define __try try
#define __except(x) catch(...)
#ifndef PROCESSOR_ARCHITECTURE_ARM64
#define PROCESSOR_ARCHITECTURE_ARM64 12
#endif

View File

@ -1,52 +0,0 @@
//this file contains definitions not available in gcc 3.4.5,
//but are needed for Notepad++
//the makefile will automatically include this header file
//GetLongPathName = 410
//Multimonitor: 410
#define _WIN32_WINDOWS 0x0410
//Toolbar imagelist = 300
//TCS_BOTTOM = 300
//LVS_EX_BORDERSELECT = 500
//TBSTYLE_EX_HIDECLIPPEDBUTTONS = 501
//#define _WIN32_IE 0x501
//Theme (uxtheme)
#define _WIN32_WINNT 0x0600
//#include <windows.h>
#if (_WIN32_IE >= 0x0400)
#define TCN_GETOBJECT (TCN_FIRST - 3)
#endif
#if (_WIN32_IE >= 0x0500)
#define RBN_CHEVRONPUSHED (RBN_FIRST - 10)
#endif // _WIN32_IE >= 0x0500
/*
#ifndef max
#define max(a,b) (((a) > (b)) ? (a) : (b))
#endif
#ifndef min
#define min(a,b) (((a) < (b)) ? (a) : (b))
#endif
*/
static inline int max(unsigned int a, unsigned int b) {
return (((a) > (b)) ? (a) : (b));
}
static inline int min(unsigned int a, unsigned int b) {
return (((a) < (b)) ? (a) : (b));
}
//__try and __except dont work in gcc, so heres some defines to take em out
#define __try try
#define __except(x) catch(...)
//Missing unicode CRT funcs
//double _wtof(const wchar_t * string);
// from MinGW include/driverspecs.h
#define __inout
#define __inout_opt

View File

@ -1,5 +1,5 @@
# This file is part of Notepad++ project
# Copyright (C)2008 Harry Bruin <harrybharry@users.sourceforge.net>
# Copyright (C)2021 Ivan U7n <jprofic@yandex.ru>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -14,287 +14,320 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# Directories:
NPP_DIR = ../src
SCI_DIR = ../../scintilla/include
GCC_DIR = .
GCCINCLUDE_DIR = $(GCC_DIR)/include
#
# definitions
#
#darkmode:
DARKMODE_DIR = $(NPP_DIR)/darkmode
GCC_DIRECTORY := ../gcc
GCC_EXCLUDE := $(GCC_DIRECTORY)/gcc-%
SRC_DIRECTORY := ../src
SRC_EXCLUDE := $(SRC_DIRECTORY)/tools/%
BIN_DIRECTORY := ../bin
INSTALLER_DIRECTORY := ../installer
#json:
JSON_DIR = $(NPP_DIR)/json
TARGET_BINARY := notepad++.exe
SRC_DATA := contextMenu.xml langs.model.xml shortcuts.xml stylers.model.xml tabContextMenu_example.xml toolbarButtonsConf_example.xml
BIN_DATA := change.log doLocalConf.xml nppLogNulContentCorruptionIssue.xml readme.txt userDefineLangs/
INSTALLER_DATA := autoCompletion/ functionList/ localization/ themes/
#MISC:
MISC_DIR = $(NPP_DIR)/MISC
COMMON_DIR = $(MISC_DIR)/Common
EXCEPTION_DIR = $(MISC_DIR)/Exception
MD5_DIR = $(MISC_DIR)/md5
SHA2_DIR = $(MISC_DIR)/sha2
PLUGINS_DIR = $(MISC_DIR)/PluginsManager
PROCESS_DIR = $(MISC_DIR)/Process
REGEXT_DIR = $(MISC_DIR)/RegExt
SCINTILLA_DIRECTORY := ../../scintilla
SCINTILLA_TARGET := libscintilla.a
#ScintillaComponent:
SCINT_DIR = $(NPP_DIR)/ScintillaComponent
LEXILLA_DIRECTORY := ../../lexilla
LEXILLA_TARGET := liblexilla.a
#TinyXml
TIXML_DIR = $(NPP_DIR)/TinyXml
TIXMLA_DIR = $(TIXML_DIR)/tinyXmlA
#uchardet
UCHARDET_DIR = $(NPP_DIR)/uchardet
#WinControls
WIN_DIR = $(NPP_DIR)/WinControls
ABOUT_DIR = $(WIN_DIR)/AboutDlg
ANSICHAR_DIR = $(WIN_DIR)/AnsiCharPanel
CLIPBOARD_DIR = $(WIN_DIR)/ClipboardHistory
CONTEXT_DIR = $(WIN_DIR)/ContextMenu
COLOUR_DIR = $(WIN_DIR)/ColourPicker
DOCKING_DIR = $(WIN_DIR)/DockingWnd
DOCMAP_DIR = $(WIN_DIR)/DocumentMap
FBROWSER_DIR = $(WIN_DIR)/FileBrowser
FINDCHARS_DIR = $(WIN_DIR)/FindCharsInRange
FUNCLIST_DIR = $(WIN_DIR)/FunctionList
GRID_DIR = $(WIN_DIR)/Grid
IMLIST_DIR = $(WIN_DIR)/ImageListSet
OPENSAVE_DIR = $(WIN_DIR)/OpenSaveFileDialog
PLUGADMIN_DIR = $(WIN_DIR)/PluginsAdmin
PREFERENCE_DIR = $(WIN_DIR)/Preference
PRJPANEL_DIR = $(WIN_DIR)/ProjectPanel
READDIR_DIR = $(WIN_DIR)/ReadDirectoryChanges
SHORTCUT_DIR = $(WIN_DIR)/shortcut
SPLITTER_DIR = $(WIN_DIR)/SplitterContainer
STATICDLG_DIR = $(WIN_DIR)/StaticDialog
RUNDLG_DIR = $(STATICDLG_DIR)/RunDlg
STATUSBAR_DIR = $(WIN_DIR)/StatusBar
TABBAR_DIR = $(WIN_DIR)/TabBar
TASKLIST_DIR = $(WIN_DIR)/TaskList
TOOLBAR_DIR = $(WIN_DIR)/ToolBar
TOOLTIP_DIR = $(WIN_DIR)/ToolTip
TRAYICON_DIR = $(WIN_DIR)/TrayIcon
TREEVIEW_DIR = $(WIN_DIR)/TreeView
VERTFILE_DIR = $(WIN_DIR)/VerticalFileSwitcher
WINDOWSDLG_DIR = $(WIN_DIR)/WindowsDlg
# Sources:
SRC_NPP = $(wildcard $(NPP_DIR)/*.cpp)
SRC_GCCINCLUDE = $(wildcard $(GCCINCLUDE_DIR)/*.cpp)
#DARKMODE
SRC_DARKMODE = $(wildcard $(DARKMODE_DIR)/*.cpp)
#MISC
SRC_MISC = $(wildcard $(MISC_DIR)/*.cpp)
SRC_COMMON = $(wildcard $(COMMON_DIR)/*.cpp)
SRC_EXCEPTION = $(wildcard $(EXCEPTION_DIR)/*.cpp)
SRC_MD5 = $(wildcard $(MD5_DIR)/*.cpp)
SRC_SHA2 = $(wildcard $(SHA2_DIR)/*.cpp)
SRC_PLUGINS = $(wildcard $(PLUGINS_DIR)/*.cpp)
SRC_PROCESS = $(wildcard $(PROCESS_DIR)/*.cpp)
SRC_REGEXT = $(wildcard $(REGEXT_DIR)/*.cpp)
#ScintillaComponent
SRC_SCINT = $(wildcard $(SCINT_DIR)/*.cpp)
#TinyXml
SRC_TIXML = $(wildcard $(TIXML_DIR)/*.cpp)
SRC_TIXMLA = $(wildcard $(TIXMLA_DIR)/*.cpp)
#uchardet
SRC_UCHARDET = $(wildcard $(UCHARDET_DIR)/*.cpp)
#WinControls
SRC_WIN = $(wildcard $(WIN_DIR)/*.cpp)
SRC_ABOUT = $(wildcard $(ABOUT_DIR)/*.cpp)
SRC_ANSICHAR = $(wildcard $(ANSICHAR_DIR)/*.cpp)
SRC_CLIPBOARD = $(wildcard $(CLIPBOARD_DIR)/*.cpp)
SRC_CONTEXT = $(wildcard $(CONTEXT_DIR)/*.cpp)
SRC_COLOUR = $(wildcard $(COLOUR_DIR)/*.cpp)
SRC_DOCKING = $(wildcard $(DOCKING_DIR)/*.cpp)
SRC_DOCMAP = $(wildcard $(DOCMAP_DIR)/*.cpp)
SRC_FBROWSER = $(wildcard $(FBROWSER_DIR)/*.cpp)
SRC_FINDCHARS = $(wildcard $(FINDCHARS_DIR)/*.cpp)
SRC_FUNCLIST = $(wildcard $(FUNCLIST_DIR)/*.cpp)
SRC_GRID = $(wildcard $(GRID_DIR)/*.cpp)
SRC_IMLIST = $(wildcard $(IMLIST_DIR)/*.cpp)
SRC_OPENSAVE = $(wildcard $(OPENSAVE_DIR)/*.cpp)
SRC_PLUGADMIN = $(wildcard $(PLUGADMIN_DIR)/*.cpp)
SRC_PREFERENCE = $(wildcard $(PREFERENCE_DIR)/*.cpp)
SRC_PRJPANEL = $(wildcard $(PRJPANEL_DIR)/*.cpp)
SRC_READDIR = $(wildcard $(READDIR_DIR)/*.cpp)
SRC_SHORTCUT = $(wildcard $(SHORTCUT_DIR)/*.cpp)
SRC_SPLITTER = $(wildcard $(SPLITTER_DIR)/*.cpp)
SRC_STATICDLG = $(wildcard $(STATICDLG_DIR)/*.cpp)
SRC_RUNDLG = $(wildcard $(RUNDLG_DIR)/*.cpp)
SRC_STATUSBAR = $(wildcard $(STATUSBAR_DIR)/*.cpp)
SRC_TABBAR = $(wildcard $(TABBAR_DIR)/*.cpp)
SRC_TASKLIST = $(wildcard $(TASKLIST_DIR)/*.cpp)
SRC_TOOLBAR = $(wildcard $(TOOLBAR_DIR)/*.cpp)
SRC_TOOLTIP = $(wildcard $(TOOLTIP_DIR)/*.cpp)
SRC_TRAYICON = $(wildcard $(TRAYICON_DIR)/*.cpp)
SRC_TREEVIEW = $(wildcard $(TREEVIEW_DIR)/*.cpp)
SRC_VERTFILE = $(wildcard $(VERTFILE_DIR)/*.cpp)
SRC_WINDOWSDLG = $(wildcard $(WINDOWSDLG_DIR)/*.cpp)
# Objects:
OBJ_NPP = $(patsubst %.cpp,%.o,$(SRC_NPP))
OBJ_GCCINCLUDE = $(patsubst %.cpp,%.o,$(SRC_GCCINCLUDE))
#DARKMODE
OBJ_DARKMODE = $(patsubst %.cpp,%.o,$(SRC_DARKMODE))
#MISC
OBJ_MISC = $(patsubst %.cpp,%.o,$(SRC_MISC))
OBJ_COMMON = $(patsubst %.cpp,%.o,$(SRC_COMMON))
OBJ_EXCEPTION = $(patsubst %.cpp,%.o,$(SRC_EXCEPTION))
OBJ_MD5 = $(patsubst %.cpp,%.o,$(SRC_MD5))
OBJ_SHA2 = $(patsubst %.cpp,%.o,$(SRC_SHA2))
OBJ_PLUGINS = $(patsubst %.cpp,%.o,$(SRC_PLUGINS))
OBJ_PROCESS = $(patsubst %.cpp,%.o,$(SRC_PROCESS))
OBJ_REGEXT = $(patsubst %.cpp,%.o,$(SRC_REGEXT))
#ScintillaComponent
OBJ_SCINT = $(patsubst %.cpp,%.o,$(SRC_SCINT))
#TinyXml
OBJ_TIXML = $(patsubst %.cpp,%.o,$(SRC_TIXML))
OBJ_TIXMLA = $(patsubst %.cpp,%.o,$(SRC_TIXMLA))
#uchardet
OBJ_UCHARDET = $(patsubst %.cpp,%.o,$(SRC_UCHARDET))
#WinControls
OBJ_WIN = $(patsubst %.cpp,%.o,$(SRC_WIN))
OBJ_ABOUT = $(patsubst %.cpp,%.o,$(SRC_ABOUT))
OBJ_ANSICHAR = $(patsubst %.cpp,%.o,$(SRC_ANSICHAR))
OBJ_CLIPBOARD = $(patsubst %.cpp,%.o,$(SRC_CLIPBOARD))
OBJ_CONTEXT = $(patsubst %.cpp,%.o,$(SRC_CONTEXT))
OBJ_COLOUR = $(patsubst %.cpp,%.o,$(SRC_COLOUR))
OBJ_DOCKING = $(patsubst %.cpp,%.o,$(SRC_DOCKING))
OBJ_DOCMAP = $(patsubst %.cpp,%.o,$(SRC_DOCMAP))
OBJ_FBROWSER = $(patsubst %.cpp,%.o,$(SRC_FBROWSER))
OBJ_FINDCHARS = $(patsubst %.cpp,%.o,$(SRC_FINDCHARS))
OBJ_FUNCLIST = $(patsubst %.cpp,%.o,$(SRC_FUNCLIST))
OBJ_GRID = $(patsubst %.cpp,%.o,$(SRC_GRID))
OBJ_IMLIST = $(patsubst %.cpp,%.o,$(SRC_IMLIST))
OBJ_OPENSAVE = $(patsubst %.cpp,%.o,$(SRC_OPENSAVE))
OBJ_PLUGADMIN = $(patsubst %.cpp,%.o,$(SRC_PLUGADMIN))
OBJ_PREFERENCE = $(patsubst %.cpp,%.o,$(SRC_PREFERENCE))
OBJ_PRJPANEL = $(patsubst %.cpp,%.o,$(SRC_PRJPANEL))
OBJ_READDIR = $(patsubst %.cpp,%.o,$(SRC_READDIR))
OBJ_SHORTCUT = $(patsubst %.cpp,%.o,$(SRC_SHORTCUT))
OBJ_SPLITTER = $(patsubst %.cpp,%.o,$(SRC_SPLITTER))
OBJ_STATICDLG = $(patsubst %.cpp,%.o,$(SRC_STATICDLG))
OBJ_RUNDLG = $(patsubst %.cpp,%.o,$(SRC_RUNDLG))
OBJ_STATUSBAR = $(patsubst %.cpp,%.o,$(SRC_STATUSBAR))
OBJ_TABBAR = $(patsubst %.cpp,%.o,$(SRC_TABBAR))
OBJ_TASKLIST = $(patsubst %.cpp,%.o,$(SRC_TASKLIST))
OBJ_TOOLBAR = $(patsubst %.cpp,%.o,$(SRC_TOOLBAR))
OBJ_TOOLTIP = $(patsubst %.cpp,%.o,$(SRC_TOOLTIP))
OBJ_TRAYICON = $(patsubst %.cpp,%.o,$(SRC_TRAYICON))
OBJ_TREEVIEW = $(patsubst %.cpp,%.o,$(SRC_TREEVIEW))
OBJ_VERTFILE = $(patsubst %.cpp,%.o,$(SRC_VERTFILE))
OBJ_WINDOWSDLG = $(patsubst %.cpp,%.o,$(SRC_WINDOWSDLG))
# Collections
DIRS_WIN = $(WIN_DIR) $(ABOUT_DIR) $(ANSICHAR_DIR) $(CLIPBOARD_DIR) $(CONTEXT_DIR) $(COLOUR_DIR) $(DOCKING_DIR) $(DOCMAP_DIR) $(FBROWSER_DIR) $(FINDCHARS_DIR) $(FUNCLIST_DIR) $(GRID_DIR) $(IMLIST_DIR) $(OPENSAVE_DIR) $(PLUGADMIN_DIR) $(PREFERENCE_DIR) $(PRJPANEL_DIR) $(READDIR_DIR) $(SHORTCUT_DIR) $(SPLITTER_DIR) $(STATICDLG_DIR) $(RUNDLG_DIR) $(STATUSBAR_DIR) $(TABBAR_DIR) $(TASKLIST_DIR) $(TOOLBAR_DIR) $(TOOLTIP_DIR) $(TRAYICON_DIR) $(TREEVIEW_DIR) $(VERTFILE_DIR) $(WINDOWSDLG_DIR)
DIRS_UCHARDET = $(UCHARDET_DIR)
DIRS_TIXML = $(TIXML_DIR) $(TIXMLA_DIR)
DIRS_SCINT = $(SCINT_DIR)
DIRS_MISC = $(MISC_DIR) $(COMMON_DIR) $(EXCEPTION_DIR) $(MD5_DIR) $(SHA2_DIR) $(PLUGINS_DIR) $(PROCESS_DIR) $(REGEXT_DIR)
DIRS = $(NPP_DIR) $(DIRS_WIN) $(DIRS_UCHARDET) $(DIRS_TIXML) $(DIRS_SCINT) $(DIRS_MISC) $(JSON_DIR) $(SCI_DIR)
SRCS_WIN = $(SRC_WIN) $(SRC_ABOUT) $(SRC_ANSICHAR) $(SRC_CLIPBOARD) $(SRC_CONTEXT) $(SRC_COLOUR) $(SRC_DOCKING) $(SRC_DOCMAP) $(SRC_FBROWSER) $(SRC_FINDCHARS) $(SRC_FUNCLIST) $(SRC_GRID) $(SRC_IMLIST) $(SRC_OPENSAVE) $(SRC_PLUGADMIN) $(SRC_PREFERENCE) $(SRC_PRJPANEL) $(SRC_READDIR) $(SRC_SHORTCUT) $(SRC_SPLITTER) $(SRC_STATICDLG) $(SRC_RUNDLG) $(SRC_STATUSBAR) $(SRC_TABBAR) $(SRC_TASKLIST) $(SRC_TOOLBAR) $(SRC_TOOLTIP) $(SRC_TRAYICON) $(SRC_TREEVIEW) $(SRC_VERTFILE) $(SRC_WINDOWSDLG)
SRCS_UCHARDET = $(SRC_UCHARDET)
SRCS_TIXML = $(SRC_TIXML) $(SRC_TIXMLA)
SRCS_SCINT = $(SRC_SCINT)
SRCS_MISC = $(SRC_MISC) $(SRC_COMMON) $(SRC_EXCEPTION) $(SRC_MD5) $(SRC_SHA2) $(SRC_PLUGINS) $(SRC_PROCESS) $(SRC_REGEXT)
SRCS = $(SRC_NPP) $(SRCS_WIN) $(SRCS_UCHARDET) $(SRCS_TIXML) $(SRCS_SCINT) $(SRCS_MISC) $(SRC_GCCINCLUDE)
OBJS_WIN = $(OBJ_WIN) $(OBJ_ABOUT) $(OBJ_ANSICHAR) $(OBJ_CLIPBOARD) $(OBJ_CONTEXT) $(OBJ_COLOUR) $(OBJ_DOCKING) $(OBJ_DOCMAP) $(OBJ_FBROWSER) $(OBJ_FINDCHARS) $(OBJ_FUNCLIST) $(OBJ_GRID) $(OBJ_IMLIST) $(OBJ_OPENSAVE) $(OBJ_PLUGADMIN) $(OBJ_PREFERENCE) $(OBJ_PRJPANEL) $(OBJ_READDIR) $(OBJ_SHORTCUT) $(OBJ_SPLITTER) $(OBJ_STATICDLG) $(OBJ_RUNDLG) $(OBJ_STATUSBAR) $(OBJ_TABBAR) $(OBJ_TASKLIST) $(OBJ_TOOLBAR) $(OBJ_TOOLTIP) $(OBJ_TRAYICON) $(OBJ_TREEVIEW) $(OBJ_VERTFILE) $(OBJ_WINDOWSDLG)
OBJS_UCHARDET = $(OBJ_UCHARDET)
OBJS_TIXML = $(OBJ_TIXML) $(OBJ_TIXMLA)
OBJS_SCINT = $(OBJ_SCINT)
OBJS_DARKMODE = $(OBJ_DARKMODE)
OBJS_MISC = $(OBJ_MISC) $(OBJ_COMMON) $(OBJ_EXCEPTION) $(OBJ_MD5) $(OBJ_SHA2) $(OBJ_PLUGINS) $(OBJ_PROCESS) $(OBJ_REGEXT)
OBJS = $(OBJ_NPP) $(OBJS_WIN) $(OBJS_UCHARDET) $(OBJS_TIXML) $(OBJS_SCINT) $(OBJS_MISC) $(OBJS_DARKMODE) $(OBJ_GCCINCLUDE)
# Main resource file
SRC_RES = ./resources.rc
OBJ_RES = $(patsubst %.rc,%.res,$(SRC_RES))
# XML config files
SRC_XMLCFG = $(addprefix $(NPP_DIR)/,langs.model.xml stylers.model.xml shortcuts.xml contextMenu.xml)
DST_XMLCFG = $(subst $(NPP_DIR),../bin,$(SRC_XMLCFG))
DEPS = $(patsubst %.o,%.d,$(OBJS))
ifeq ($(OS),Windows_NT)
ifdef ComSpec
SHELL = $(ComSpec)
ifeq ($(CXX),clang++)
CXX := $(CROSS_COMPILE)clang++
else
SHELL = cmd.exe
CXX := $(CROSS_COMPILE)g++
endif
CROSS_COMPILE =
DIRSEP = \\
RM = del
CP = copy /Y
CXXFLAGS := -include $(GCC_DIRECTORY)/gcc-fixes.h -std=c++20
RC := $(CROSS_COMPILE)windres
RCFLAGS := --codepage=65001
CPP_PATH := $(SCINTILLA_DIRECTORY)/include $(LEXILLA_DIRECTORY)/include
CPP_DEFINE := UNICODE _UNICODE OEMRESOURCE NOMINMAX _WIN32_WINNT=_WIN32_WINNT_WIN7 NTDDI_VERSION=NTDDI_WIN7 TIXML_USE_STL TIXMLA_USE_STL
LD := $(CXX)
LDFLAGS := -municode -mwindows
LD_PATH :=
LD_LINK := comctl32 crypt32 dbghelp ole32 sensapi shlwapi uuid uxtheme version wininet wintrust dwmapi
LD_LINK += $(patsubst lib%.a,%,$(SCINTILLA_TARGET)) $(patsubst lib%.a,%,$(LEXILLA_TARGET)) imm32 msimg32 ole32 oleaut32
SUBMAKEFLAGS := -O --no-print-directory
# detect a request for a debug build
ifeq "$(filter-out 0,$(DEBUG))" ""
BUILD_TYPE := release
BUILD_SUFFIX :=
CXXFLAGS += -O3 -Wconversion
CPP_DEFINE += NDEBUG
LDFLAGS += -s
else
CROSS_COMPILE ?= i686-w64-mingw32-
DIRSEP = /
RM = rm -f
CP = cp
BUILD_TYPE := debug
BUILD_SUFFIX := -debug
CXXFLAGS += -Og -g -Wpedantic -Wall -Wextra -Wno-cast-function-type -Wno-overloaded-virtual -Wconversion
CPP_DEFINE += DEBUG
endif
# Parameters
INCLUDESPECIAL = -include./include/various.h
UNICODE = -DUNICODE -D_UNICODE
ifeq ($(CXX),clang++)
CXXFLAGS += -Wimplicit-fallthrough \
-Wformat=2 \
-Wno-c++98-compat \
-Wno-c++98-compat-pedantic \
-Wno-reserved-id-macro \
-Wno-pragma-pack \
-Wno-unknown-pragmas \
-Wno-unused-command-line-argument \
-Wno-overloaded-virtual \
-Wno-sign-conversion \
-Wno-c99-extensions \
-Wno-deprecated-declarations
else ifeq ($(BUILD_TYPE),release)
CXXFLAGS += -Wno-alloc-size-larger-than
endif
CXX = $(CROSS_COMPILE)g++
#CXXFLAGS = -O2 $(INCLUDESPECIAL)
CXXFLAGS = $(INCLUDESPECIAL) -D_WIN32_WINNT=0x0600 -DTIXML_USE_STL -DTIXMLA_USE_STL $(UNICODE) -std=c++17 -fpermissive
INCLUDES = $(patsubst %,-I%,$(DIRS)) -I./include
LDFLAGS = -Wl,--subsystem,windows -municode -mwindows
LIBS = -lcomdlg32 -lcomctl32 -lgdi32 -lole32 -loleacc -lshell32 -lshlwapi -ldbghelp -lversion -lcrypt32 -lsensapi -lwininet -lwintrust -luuid -luxtheme
LIBSCILEX = -L$(SCI_DIR)/../bin -lscilexer -loleaut32 -limm32 -lmsimg32
ifneq "$(filter-out 0,$(CLANGANALYZE))" ""
CXXFLAGS += --analyze -Xanalyzer -analyzer-output=text
endif
RC = $(CROSS_COMPILE)windres
#
# preparations
#
OUT_NPP = NotepadPP.exe
# detect Windows directory
WIN_DIR := $(or $(windir),$(WINDIR))
EXEC = ../bin/$(OUT_NPP)
# detect target CPU
TARGET_CPU := $(firstword $(subst -, ,$(shell $(CXX) -dumpmachine)))
ifeq "$(TARGET_CPU)" ""
$(error TARGET_CPU detection failed)
endif
ifneq "$(filter-out x86_64 i686,$(TARGET_CPU))" ""
$(error $(TARGET_CPU) build is unsupported)
endif
ifeq "$(TARGET_CPU)" "i686"
# for some reason i686 versions of MinGW-w64 GCC don't include a linking library for SensApi.dll
# thus it is generated on the fly, but first check if the DLL is available
ifeq "$(wildcard $(WIN_DIR)/system32/SensApi.dll)" ""
$(error $(TARGET_CPU) build requires "%windir%/system32/SensApi.dll" to be present)
endif
# detect explicit definition of TARGET_CPU via command line to force a 32-bit build for MinGW-w64 with support multilib
ifeq "$(origin TARGET_CPU)" "command line"
export CXX += -m32
export LD += -m32
export RC += -Fpe-i386
endif
# detect explicit definition of TARGET_CPU via command line to force a 64-bit build for MinGW-w64 with support multilib
else ifneq "$(and $(findstring x86_64,$(TARGET_CPU)),$(findstring command line,$(origin TARGET_CPU)))" ""
export CXX += -m64
export LD += -m64
export RC += -Fpe-x86-64
endif
all: NotepadPP xmlcfg
# define target and build directories and update dependent variables
TARGET_DIRECTORY := bin.$(TARGET_CPU)$(BUILD_SUFFIX)
BUILD_DIRECTORY := $(TARGET_DIRECTORY).build
-include $(DEPS)
TARGET_BINARY := $(TARGET_DIRECTORY)/$(TARGET_BINARY)
SRC_DATA := $(addprefix $(TARGET_DIRECTORY)/,$(SRC_DATA))
BIN_DATA := $(addprefix $(TARGET_DIRECTORY)/,$(BIN_DATA))
INSTALLER_DATA := $(addprefix $(TARGET_DIRECTORY)/,$(INSTALLER_DATA))
# Main Notepad++ rule
NotepadPP: $(EXEC)
SCINTILLA_TARGET := $(BUILD_DIRECTORY)/$(SCINTILLA_TARGET)
SCINTILLA_TARGET_PATH := ../../PowerEditor/gcc/$(SCINTILLA_TARGET)
SCINTILLA_BUILD_DIRECTORY := $(BUILD_DIRECTORY)/_scintilla.build
SCINTILLA_BUILD_PATH := ../../PowerEditor/gcc/$(SCINTILLA_BUILD_DIRECTORY)
$(EXEC): $(OBJS) $(OBJ_RES)
$(CXX) $(LDFLAGS) $^ $(LIBSCILEX) $(LIBS) -o $@_dynamic
$(CXX) $(LDFLAGS) $^ $(LIBSCILEX) $(LIBS) -static -o $@
%.o: %.cpp
$(CXX) $(CXXFLAGS) $(INCLUDES) -MMD -c $< -o $@
LEXILLA_TARGET := $(BUILD_DIRECTORY)/$(LEXILLA_TARGET)
LEXILLA_TARGET_PATH := ../../PowerEditor/gcc/$(LEXILLA_TARGET)
LEXILLA_BUILD_DIRECTORY := $(BUILD_DIRECTORY)/_lexilla.build
LEXILLA_BUILD_PATH := ../../PowerEditor/gcc/$(LEXILLA_BUILD_DIRECTORY)
%.res: %.rc
$(RC) $(INCLUDES) $(UNICODE) --input=$< --output=$@ --input-format=rc --output-format=coff
LD_PATH += $(BUILD_DIRECTORY)
xmlcfg: $(DST_XMLCFG)
# detect a build outside of PowerEditor/gcc and update dependent variables
SPACES_ERROR := "For outside build spaces in the project path are not supported! Please move the project files to the correct path."
$(foreach makefile,$(MAKEFILE_LIST),$(if $(wildcard $(makefile)),,$(error $(SPACES_ERROR))))
$(DST_XMLCFG): $(dir $(firstword $(DST_XMLCFG)))%.xml: $(dir $(firstword $(SRC_XMLCFG)))%.xml
$(CP) $(subst /,$(DIRSEP),$< $@)
MAKEFILE_DIRECTORY := $(patsubst %/,%,$(dir $(subst \,/,$(firstword $(MAKEFILE_LIST)))))
ifneq "$(MAKEFILE_DIRECTORY)" "."
MAKEFILE_PARENT := $(patsubst %/,%,$(dir $(MAKEFILE_DIRECTORY)))
BIN_DIRECTORY := $(patsubst ../%,$(MAKEFILE_PARENT)/%,$(BIN_DIRECTORY))
GCC_DIRECTORY := $(patsubst ../%,$(MAKEFILE_PARENT)/%,$(GCC_DIRECTORY))
GCC_EXCLUDE := $(patsubst ../%,$(MAKEFILE_PARENT)/%,$(GCC_EXCLUDE))
SRC_DIRECTORY := $(patsubst ../%,$(MAKEFILE_PARENT)/%,$(SRC_DIRECTORY))
SRC_EXCLUDE := $(patsubst ../%,$(MAKEFILE_PARENT)/%,$(SRC_EXCLUDE))
INSTALLER_DIRECTORY := $(patsubst ../%,$(MAKEFILE_PARENT)/%,$(INSTALLER_DIRECTORY))
SCINTILLA_DIRECTORY := $(patsubst ../%,$(MAKEFILE_PARENT)/%,$(SCINTILLA_DIRECTORY))
SCINTILLA_TARGET_PATH := $(CURDIR)/$(SCINTILLA_TARGET)
SCINTILLA_BUILD_PATH := $(CURDIR)/$(SCINTILLA_BUILD_DIRECTORY)
LEXILLA_DIRECTORY := $(patsubst ../%,$(MAKEFILE_PARENT)/%,$(LEXILLA_DIRECTORY))
LEXILLA_TARGET_PATH := $(CURDIR)/$(LEXILLA_TARGET)
LEXILLA_BUILD_PATH := $(CURDIR)/$(LEXILLA_BUILD_DIRECTORY)
CXXFLAGS := $(patsubst ../%,$(MAKEFILE_PARENT)/%,$(CXXFLAGS))
CPP_PATH := $(patsubst ../%,$(MAKEFILE_PARENT)/%,$(CPP_PATH))
endif
# detect a request for a verbose output
ifeq "$(filter-out 0,$(VERBOSE))" ""
AT := @
endif
# detect the current operating system
ifeq "$(WIN_DIR)" ""
# not a Windows system
MKDIR := mkdir -p
CPDIR := cp -r
RMDIR := rm -rf
CP := cp
RM := rm -f
PREBUILD_EVENT_CMD := cmd //C "cd PowerEditor/src && NppLibsVersionH-generator.bat"
normalize-path = $1
else ifneq "$(wildcard $(dir $(SHELL))ls.exe)" ""
# a Windows system with a proper shell
NULL :=
SPACE := $(NULL) $(NULL)
SHELL_DIRECTORY := $(subst |,$(SPACE),$(dir $(subst $(SPACE),|,$(SHELL))))
MKDIR := $(SHELL_DIRECTORY)mkdir.exe -p
CPDIR := $(SHELL_DIRECTORY)cp.exe -r
RMDIR := $(SHELL_DIRECTORY)rm.exe -rf
CP := $(SHELL_DIRECTORY)cp.exe
RM := $(SHELL_DIRECTORY)rm.exe -f
PREBUILD_EVENT_CMD := cmd //C "cd PowerEditor/src && NppLibsVersionH-generator.bat"
normalize-path = $1
else
# a standard Windows system
MKDIR := mkdir
CPDIR := xcopy /q /e /i /y
RMDIR := rmdir /q /s
CP := copy /y
RM := del /q
PREBUILD_EVENT_CMD := cd ..\src && NppLibsVersionH-generator.bat
normalize-path = $(subst /,\,$1)
endif
# discover files
list-subtree = $(foreach i,$(wildcard $1/*),$i $(call list-subtree,$i))
GCC_SUBTREE := $(patsubst $(GCC_DIRECTORY)/%,%,$(filter-out $(GCC_EXCLUDE),$(call list-subtree,$(GCC_DIRECTORY))))
SRC_SUBTREE := $(patsubst $(SRC_DIRECTORY)/%,%,$(filter-out $(SRC_EXCLUDE),$(call list-subtree,$(SRC_DIRECTORY))))
CPP_PATH += $(addprefix $(GCC_DIRECTORY)/,$(sort $(patsubst %/,%,$(dir $(filter %.h %.hpp,$(GCC_SUBTREE))))))
CPP_PATH += $(addprefix $(SRC_DIRECTORY)/,$(sort $(patsubst %/,%,$(dir $(filter %.h %.hpp,$(SRC_SUBTREE))))))
vpath %.cpp $(GCC_DIRECTORY) $(SRC_DIRECTORY)
CXX_TARGETS := $(patsubst %.cpp,$(BUILD_DIRECTORY)/%.o,$(sort $(filter %.cpp,$(GCC_SUBTREE) $(SRC_SUBTREE))))
vpath %.rc $(GCC_DIRECTORY) $(SRC_DIRECTORY)
RC_TARGETS := $(patsubst %.rc,$(BUILD_DIRECTORY)/%.res,$(sort $(filter %.rc,$(GCC_SUBTREE) $(SRC_SUBTREE))))
#
# actions
#
.PHONY: .force all binary data clean sciclean lexclean fullclean
.force:
SUBMAKEFLAGS += $(if $(NUMBER_OF_PROCESSORS),-j$(NUMBER_OF_PROCESSORS),)
all: pre-build-event $(SCINTILLA_TARGET) $(LEXILLA_TARGET)
$(AT)$(MAKE) -f $(firstword $(MAKEFILE_LIST)) $(SUBMAKEFLAGS) binary
pre-build-event:
@echo Executing pre-build events...
$(AT)$(PREBUILD_EVENT_CMD)
$(BUILD_DIRECTORY):
@echo + creating BUILD_DIRECTORY $@
$(AT)$(MKDIR) $(call normalize-path,$(sort $@ $(patsubst %/,%,$(dir $(CXX_TARGETS) $(RC_TARGETS)))))
$(SCINTILLA_BUILD_DIRECTORY):
@echo + creating SCINTILLA_BUILD_DIRECTORY $@
$(AT)$(MKDIR) $(call normalize-path,$(SCINTILLA_BUILD_DIRECTORY))
$(LEXILLA_BUILD_DIRECTORY):
@echo + creating LEXILLA_BUILD_DIRECTORY $@
$(AT)$(MKDIR) $(call normalize-path,$(LEXILLA_BUILD_DIRECTORY))
ifeq "$(MAKELEVEL)" "0"
$(SCINTILLA_TARGET): .force
$(LEXILLA_TARGET): .force
endif
$(SCINTILLA_TARGET): | $(BUILD_DIRECTORY) $(SCINTILLA_BUILD_DIRECTORY)
$(AT)$(MAKE) $(SUBMAKEFLAGS) -C $(SCINTILLA_DIRECTORY)/win32 -f makefile -f ../../boostregex/nppSpecifics_mingw.mak DIR_O=$(SCINTILLA_BUILD_PATH) LIBSCI=$(SCINTILLA_TARGET_PATH) $(SCINTILLA_TARGET_PATH)
$(LEXILLA_TARGET): | $(BUILD_DIRECTORY) $(LEXILLA_BUILD_DIRECTORY)
$(AT)$(MAKE) $(SUBMAKEFLAGS) -C $(LEXILLA_DIRECTORY)/src DIR_O=$(LEXILLA_BUILD_PATH) LIBLEXILLA=$(LEXILLA_TARGET_PATH) $(LEXILLA_TARGET_PATH)
binary: $(TARGET_BINARY) data
@echo +++ $(TARGET_CPU) $(BUILD_TYPE) : $(CURDIR)/$(TARGET_BINARY) +++
$(CXX_TARGETS): $(BUILD_DIRECTORY)/%.o: %.cpp | $(BUILD_DIRECTORY)
@echo + compiling $<
$(AT)$(CXX) $(CXXFLAGS) $(addprefix -I,$(CPP_PATH)) $(addprefix -D,$(CPP_DEFINE)) -MMD -c -o $@ $<
$(RC_TARGETS): $(BUILD_DIRECTORY)/%.res: %.rc | $(BUILD_DIRECTORY)
@echo + compiling $<
$(AT)$(RC) $(RCFLAGS) $(addprefix -I,$(CPP_PATH)) $(addprefix -D,$(CPP_DEFINE)) -O coff -o $@ -i $<
ifeq "$(TARGET_CPU)" "i686"
$(TARGET_BINARY): $(BUILD_DIRECTORY)/libsensapi.a
$(BUILD_DIRECTORY)/libsensapi.a: | $(BUILD_DIRECTORY)
@echo + generating $@
$(AT)gendef $(call normalize-path,$(firstword $(wildcard $(WIN_DIR)/syswow64/SensApi.dll $(WIN_DIR)/system32/SensApi.dll)))
$(AT)dlltool -mi386 -f--32 -d SensApi.def -k -l $(call normalize-path,$@)
$(AT)$(RM) SensApi.def
endif
$(TARGET_DIRECTORY):
@echo + creating TARGET_DIRECTORY $@
$(AT)$(MKDIR) $(call normalize-path,$@)
$(TARGET_BINARY): $(CXX_TARGETS) $(RC_TARGETS) $(SCINTILLA_TARGET) $(LEXILLA_TARGET) | $(TARGET_DIRECTORY)
@echo + linking $@
$(AT)$(LD) $(LDFLAGS) $(filter-out %.a,$^) $(addprefix -L,$(LD_PATH)) $(addprefix -l,$(LD_LINK)) -static -o $@
data: $(patsubst %/,%,$(SRC_DATA) $(BIN_DATA) $(INSTALLER_DATA))
$(patsubst %/,%,$(filter %/,$(SRC_DATA))): $(TARGET_DIRECTORY)/%: $(SRC_DIRECTORY)/% | $(TARGET_DIRECTORY)
@echo + copying $@
$(AT)$(CPDIR) $(call normalize-path,$< $@)
$(filter-out %/,$(SRC_DATA)): $(TARGET_DIRECTORY)/%: $(SRC_DIRECTORY)/% | $(TARGET_DIRECTORY)
@echo + copying $@
$(AT)$(CP) $(call normalize-path,$< $@)
$(patsubst %/,%,$(filter %/,$(BIN_DATA))): $(TARGET_DIRECTORY)/%: $(BIN_DIRECTORY)/% | $(TARGET_DIRECTORY)
@echo + copying $@
$(AT)$(CPDIR) $(call normalize-path,$< $@)
$(filter-out %/,$(BIN_DATA)): $(TARGET_DIRECTORY)/%: $(BIN_DIRECTORY)/% | $(TARGET_DIRECTORY)
@echo + copying $@
$(AT)$(CP) $(call normalize-path,$< $@)
$(TARGET_DIRECTORY)/autoCompletion: $(INSTALLER_DIRECTORY)/APIs
$(TARGET_DIRECTORY)/functionList: $(INSTALLER_DIRECTORY)/functionList
$(TARGET_DIRECTORY)/localization: $(INSTALLER_DIRECTORY)/nativeLang
$(TARGET_DIRECTORY)/themes: $(INSTALLER_DIRECTORY)/themes
$(patsubst %/,%,$(filter %/,$(INSTALLER_DATA))): | $(TARGET_DIRECTORY)
@echo + copying $@
$(AT)$(CPDIR) $(call normalize-path,$< $@)
$(filter-out %/,$(INSTALLER_DATA)): | $(TARGET_DIRECTORY)
@echo + copying $@
$(AT)$(CP) $(call normalize-path,$< $@)
# Cleanup
clean:
-@$(RM) $(subst /,$(DIRSEP),$(OBJS) $(OBJ_RES))
-@$(RM) $(subst /,$(DIRSEP),$(DST_XMLCFG))
-@$(RM) $(subst /,$(DIRSEP),$(DEPS))
-$(AT)$(RMDIR) $(call normalize-path,$(BUILD_DIRECTORY))
.PHONY: all clean NotepadPP
sciclean:
-$(AT)$(RMDIR) $(call normalize-path,$(SCINTILLA_BUILD_DIRECTORY))
lexclean:
-$(AT)$(RMDIR) $(call normalize-path,$(LEXILLA_BUILD_DIRECTORY))
fullclean: clean
-$(AT)$(RMDIR) $(call normalize-path,$(TARGET_DIRECTORY))
-include $(CXX_TARGETS:%.o=%.d)

View File

@ -0,0 +1,3 @@
#include <windows.h>
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "../src/notepad++.exe.manifest"

View File

@ -1,24 +0,0 @@
makefile was renewed after the v6.8.7 release.
It was tested with a MinGW-w64 distribution containing
GCC 5.2.0 (cross-compiled with i686-w64-mingw32 on Arch Linux) and
GCC 4.9.2 (natively on Windows 7, will not work anymore with this version).
The default make rule should suffice for building Notepad++,
and copying the required .xml config files.
If cross-compiling you may have to pass a custom CROSS_COMPILE
variable depending on your Linux distribution.
The clean rule removes .o/.d and .res and the copied .xml files
For localization support in the editor preferences you have to copy the
PowerEditor/installer/nativeLang/ directory to PowerEditor/bin/ with the new
directory name "localization".
On Linux a symbolic link suffices:
$ ln -s ../installer/nativeLang localization
For execution with Wine some additional DLLs from the MinGW package have to be
found inside of the PowerEditor/bin/ directory, which can be achieved by using
links again, e.g.:
$ ln -s /usr/i686-w64-mingw32/bin/libgcc_s_sjlj-1.dll
$ ln -s /usr/i686-w64-mingw32/bin/libstdc++-6.dll
$ ln -s /usr/i686-w64-mingw32/bin/libwinpthread-1.dll

View File

@ -1,30 +0,0 @@
#include "./include/various.h"
#define TEXT(quote) quote
#include "../src/ScintillaComponent/columnEditor.rc"
#include "../src/ScintillaComponent/FindReplaceDlg.rc"
#include "../src/ScintillaComponent/UserDefineDialog.rc"
#include "../src/MISC/md5/md5Dlgs.rc"
#include "../src/MISC/RegExt/regExtDlg.rc"
#include "../src/WinControls/AnsiCharPanel/ansiCharPanel.rc"
#include "../src/WinControls/ClipboardHistory/clipboardHistoryPanel.rc"
#include "../src/WinControls/ColourPicker/ColourPopup.rc"
#include "../src/WinControls/ColourPicker/WordStyleDlg.rc"
#include "../src/WinControls/DockingWnd/DockingGUIWidget.rc"
#include "../src/WinControls/DocumentMap/documentMap.rc"
#include "../src/WinControls/DocumentMap/documentSnapshot.rc"
#include "../src/WinControls/FileBrowser/fileBrowser.rc"
#include "../src/WinControls/FindCharsInRange/findCharsInRange.rc"
#include "../src/WinControls/FunctionList/functionListPanel.rc"
#include "../src/WinControls/Grid/ShortcutMapper.rc"
#include "../src/WinControls/PluginsAdmin/pluginsAdmin.rc"
#include "../src/WinControls/Preference/preference.rc"
#include "../src/WinControls/ProjectPanel/ProjectPanel.rc"
#include "../src/WinControls/shortcut/RunMacroDlg.rc"
#include "../src/WinControls/shortcut/shortcut.rc"
#include "../src/WinControls/TaskList/TaskListDlg.rc"
#include "../src/WinControls/StaticDialog/RunDlg/RunDlg.rc"
#include "../src/WinControls/VerticalFileSwitcher/VerticalFileSwitcher.rc"
#include "../src/WinControls/WindowsDlg/WindowsDlg.rc"
#include "../src/Notepad_plus.rc"

View File

@ -24,6 +24,7 @@
<KeyWord name="appendChild" />
<KeyWord name="apply" />
<KeyWord name="arguments" />
<KeyWord name="ArgumentError" />
<KeyWord name="arguments.callee" />
<KeyWord name="arguments.caller" />
<KeyWord name="Array" />
@ -69,6 +70,7 @@
<KeyWord name="charCodeAt" />
<KeyWord name="childNodes" />
<KeyWord name="chr" />
<KeyWord name="Class" />
<KeyWord name="clear" />
<KeyWord name="clearInterval" />
<KeyWord name="cloneNode" />
@ -98,7 +100,10 @@
<KeyWord name="Date" />
<KeyWord name="Date.UTC" />
<KeyWord name="decode" />
<KeyWord name="decodeURI" />
<KeyWord name="decodeURIComponent" />
<KeyWord name="default" />
<KeyWord name="DefinitionError" />
<KeyWord name="delete" />
<KeyWord name="DELETEKEY" />
<KeyWord name="do" />
@ -112,14 +117,18 @@
<KeyWord name="else" />
<KeyWord name="embedFonts" />
<KeyWord name="enabled" />
<KeyWord name="encodeURI" />
<KeyWord name="encodeURIComponent" />
<KeyWord name="END" />
<KeyWord name="endFill" />
<KeyWord name="ENTER" />
<KeyWord name="enterFrame" />
<KeyWord name="eq" />
<KeyWord name="Error" />
<KeyWord name="escape" />
<KeyWord name="ESCAPE" />
<KeyWord name="eval" />
<KeyWord name="EvalError" />
<KeyWord name="evaluate" />
<KeyWord name="exp" />
<KeyWord name="false" />
@ -133,6 +142,7 @@
<KeyWord name="fscommand" />
<KeyWord name="FStyleFormat" />
<KeyWord name="function" />
<KeyWord name="Function" />
<KeyWord name="ge" />
<KeyWord name="get" />
<KeyWord name="getAscii" />
@ -223,9 +233,10 @@
<KeyWord name="isPropertyEnumerable" />
<KeyWord name="isPrototypeOf" />
<KeyWord name="isToggled" />
<KeyWord name="isXMLName" />
<KeyWord name="italic" />
<KeyWord name="john@3wgraphics.net" />
<KeyWord name="join" />
<KeyWord name="JSON" />
<KeyWord name="Key" />
<KeyWord name="Key.ALT" />
<KeyWord name="Key.BACKSPACE" />
@ -332,6 +343,7 @@
<KeyWord name="moveTo" />
<KeyWord name="MovieClip" />
<KeyWord name="multiline" />
<KeyWord name="Namespace" />
<KeyWord name="NaN" />
<KeyWord name="ne" />
<KeyWord name="NEGATIVE_INFINITY" />
@ -413,9 +425,13 @@
<KeyWord name="prototype" />
<KeyWord name="publish" />
<KeyWord name="push" />
<KeyWord name="QName" />
<KeyWord name="random" />
<KeyWord name="RangeError" />
<KeyWord name="receiveAudio" />
<KeyWord name="receiveVideo" />
<KeyWord name="ReferenceError" />
<KeyWord name="RegExp" />
<KeyWord name="registerClass" />
<KeyWord name="release" />
<KeyWord name="releaseOutside" />
@ -440,6 +456,7 @@
<KeyWord name="scroll" />
<KeyWord name="scrollString" />
<KeyWord name="security" />
<KeyWord name="SecurityError" />
<KeyWord name="seek" />
<KeyWord name="selectable" />
<KeyWord name="Selection" />
@ -532,6 +549,7 @@
<KeyWord name="super" />
<KeyWord name="swapDepths" />
<KeyWord name="switch" />
<KeyWord name="SyntaxError" />
<KeyWord name="System" />
<KeyWord name="System.capabilities" />
<KeyWord name="System.capabilities.hasAccessibility" />
@ -577,7 +595,9 @@
<KeyWord name="trackAsMenu" />
<KeyWord name="true" />
<KeyWord name="type" />
<KeyWord name="TypeError" />
<KeyWord name="typeof" />
<KeyWord name="uint" />
<KeyWord name="undefined" />
<KeyWord name="underline" />
<KeyWord name="unescape" />
@ -589,12 +609,15 @@
<KeyWord name="unwatch" />
<KeyWord name="UP" />
<KeyWord name="updateAfterEvent" />
<KeyWord name="URIError" />
<KeyWord name="url" />
<KeyWord name="useHandCursor" />
<KeyWord name="UTC" />
<KeyWord name="valueOf" />
<KeyWord name="var" />
<KeyWord name="variable" />
<KeyWord name="Vector" />
<KeyWord name="VerifyError" />
<KeyWord name="version" />
<KeyWord name="Video" />
<KeyWord name="void" />
@ -605,6 +628,7 @@
<KeyWord name="wordWrap" />
<KeyWord name="XML" />
<KeyWord name="xmlDecl" />
<KeyWord name="XMLList" />
<KeyWord name="XMLNode" />
<KeyWord name="XMLSocket" />
<KeyWord name="_alpha" />

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8" ?>
<NotepadPlus>
<Environment ignoreCase="yes" startFunc="(" stopFunc=")" paramSeparator="," additionalWordChar="-" />
<!-- note: this list was created using functions and reserved words known to GnuCOBOL (COBOL85,2002,2014 + extensions from IBM/MF/RM/ACUCOBOL) -->
<AutoComplete language="COBOL">
<Environment ignoreCase="yes" startFunc="(" stopFunc=")" paramSeparator="," additionalWordChar="-" />
<KeyWord name="3-D" />
<KeyWord name="ABS" func="yes">
<Overload retVal="Integer/Numeric" descr="absolute value of &lt;number&gt;">

View File

@ -16,7 +16,7 @@
<KeyWord name="else" />
<KeyWord name="extends" />
<KeyWord name="false" />
<keyWord name="finally" />
<KeyWord name="finally" />
<KeyWord name="for" />
<KeyWord name="if" />
<KeyWord name="in" />
@ -26,16 +26,16 @@
<KeyWord name="instanceof" />
<KeyWord name="loop" />
<KeyWord name="new" />
<keyWord name="not" />
<KeyWord name="not" />
<KeyWord name="null" />
<KeyWord name="NaN" />
<KeyWord name="of" />
<KeyWord name="or" />
<KeyWord name="on" />
<keyWord name="no" />
<KeyWord name="no" />
<KeyWord name="return" />
<KeyWord name="switch" />
<keyWord name="super" />
<KeyWord name="super" />
<KeyWord name="then" />
<KeyWord name="this" />
<KeyWord name="throw" />
@ -46,9 +46,9 @@
<KeyWord name="unless" />
<KeyWord name="when" />
<KeyWord name="while" />
<keyWord name="yes" />
<KeyWord name="yes" />
<KeyWord name="yield" />
<keyWord name="=>" />
<keyWord name="->" />
<KeyWord name="=>" />
<KeyWord name="->" />
</AutoComplete>
</NotepadPlus>

View File

@ -34,6 +34,7 @@
<KeyWord name="#line" />
<KeyWord name="#pragma" />
<KeyWord name="#undef" />
<KeyWord name="NULL" />
<KeyWord name="abort" func="yes">
<Overload retVal="void" >
<Param name="void" />
@ -63,10 +64,14 @@
<KeyWord name="adjacent_difference" />
<KeyWord name="adjacent_find" />
<KeyWord name="advance" />
<KeyWord name="alignas" />
<KeyWord name="alignof" />
<KeyWord name="allocate" />
<KeyWord name="allocator" />
<KeyWord name="allocmem" />
<KeyWord name="always_noconv" />
<KeyWord name="and" />
<KeyWord name="and_eq" />
<KeyWord name="any" />
<KeyWord name="append" />
<KeyWord name="arc" />
@ -123,6 +128,9 @@
<Param name="const char *nptr" />
</Overload>
</KeyWord>
<KeyWord name="atomic_cancel" />
<KeyWord name="atomic_commit" />
<KeyWord name="atomic_noexcept" />
<KeyWord name="auto" />
<KeyWord name="auto_ptr" />
<KeyWord name="back" />
@ -151,6 +159,8 @@
<KeyWord name="biosmemory" />
<KeyWord name="biosprint" />
<KeyWord name="biostime" />
<KeyWord name="bitand" />
<KeyWord name="bitor" />
<KeyWord name="bitset" />
<KeyWord name="bool" />
<KeyWord name="boolalpha" />
@ -186,6 +196,9 @@
<KeyWord name="cerr" />
<KeyWord name="cgets" />
<KeyWord name="char" />
<KeyWord name="char16_t" />
<KeyWord name="char32_t" />
<KeyWord name="char8_t" />
<KeyWord name="char_type" />
<KeyWord name="chdir" func="yes">
<Overload retVal="int" >
@ -216,6 +229,7 @@
<Param name="void" />
</Overload>
</KeyWord>
<KeyWord name="clock_t" />
<KeyWord name="clog" />
<KeyWord name="close" func="yes">
<Overload retVal="int" >
@ -230,14 +244,22 @@
<KeyWord name="closegraph" />
<KeyWord name="clreol" />
<KeyWord name="clrscr" />
<KeyWord name="co_await" />
<KeyWord name="co_return" />
<KeyWord name="co_yield" />
<KeyWord name="compare" />
<KeyWord name="compl" />
<KeyWord name="complex" />
<KeyWord name="concept" />
<KeyWord name="conj" />
<KeyWord name="const" />
<KeyWord name="construct" />
<KeyWord name="const_cast" />
<KeyWord name="const_pointer" />
<KeyWord name="const_reference" />
<KeyWord name="consteval" />
<KeyWord name="constexpr" />
<KeyWord name="constinit" />
<KeyWord name="container" />
<KeyWord name="continue" />
<KeyWord name="copy" />
@ -284,6 +306,7 @@
<KeyWord name="deallocate" />
<KeyWord name="dec" />
<KeyWord name="decimal_point" />
<KeyWord name="decltype" />
<KeyWord name="default" />
<KeyWord name="delay" />
<KeyWord name="delete" />
@ -433,6 +456,7 @@
</KeyWord>
<KeyWord name="expl" />
<KeyWord name="explicit" />
<KeyWord name="export" />
<KeyWord name="extern" />
<KeyWord name="extern_type" />
<KeyWord name="fabs" func="yes">
@ -515,6 +539,7 @@
<KeyWord name="fillellipse" />
<KeyWord name="fillpoly" />
<KeyWord name="fill_n" />
<KeyWord name="final" />
<KeyWord name="find" />
<KeyWord name="findfirst" />
<KeyWord name="findnext" />
@ -802,12 +827,26 @@
<KeyWord name="installuserdriver" />
<KeyWord name="installuserfont" />
<KeyWord name="int" />
<KeyWord name="int16_t" />
<KeyWord name="int32_t" />
<KeyWord name="int64_t" />
<KeyWord name="int86" />
<KeyWord name="int86x" />
<KeyWord name="int8_t" />
<KeyWord name="int_fast16_t" />
<KeyWord name="int_fast32_t" />
<KeyWord name="int_fast64_t" />
<KeyWord name="int_fast8_t" />
<KeyWord name="int_least16_t" />
<KeyWord name="int_least32_t" />
<KeyWord name="int_least64_t" />
<KeyWord name="int_least8_t" />
<KeyWord name="intdos" />
<KeyWord name="intdosx" />
<KeyWord name="internal" />
<KeyWord name="intern_type" />
<KeyWord name="intmax_t" />
<KeyWord name="intptr_t" />
<KeyWord name="Intl" />
<KeyWord name="intr" />
<KeyWord name="int_type" />
@ -1088,6 +1127,7 @@
<KeyWord name="new" />
<KeyWord name="next_permutation" />
<KeyWord name="noboolalpha" />
<KeyWord name="noexcept" />
<KeyWord name="none" />
<KeyWord name="norm" />
<KeyWord name="normvideo" />
@ -1096,13 +1136,16 @@
<KeyWord name="noshowpos" />
<KeyWord name="noskipws" />
<KeyWord name="nosound" />
<KeyWord name="not" />
<KeyWord name="not1" />
<KeyWord name="not2" />
<KeyWord name="not_eof" />
<KeyWord name="not_eq" />
<KeyWord name="not_equal_to" />
<KeyWord name="nounitbuf" />
<KeyWord name="nouppercase" />
<KeyWord name="nth_element" />
<KeyWord name="nullptr" />
<KeyWord name="numeric_limits" />
<KeyWord name="oct" />
<KeyWord name="off_type" />
@ -1150,6 +1193,8 @@
<KeyWord name="operator^" />
<KeyWord name="operator^=" />
<KeyWord name="operator~" />
<KeyWord name="or" />
<KeyWord name="or_eq" />
<KeyWord name="ostream" />
<KeyWord name="ostream_type" />
<KeyWord name="ostringstream" />
@ -1162,6 +1207,7 @@
<KeyWord name="outtext" />
<KeyWord name="outtextxy" />
<KeyWord name="overflow" />
<KeyWord name="override" />
<KeyWord name="pair" />
<KeyWord name="parsfnm" />
<KeyWord name="partial_sort" />
@ -1218,6 +1264,7 @@
<KeyWord name="private" />
<KeyWord name="protected" />
<KeyWord name="ptr_fun" />
<KeyWord name="ptrdiff_t" />
<KeyWord name="pubimbue" />
<KeyWord name="public" />
<KeyWord name="pubseekoff" />
@ -1305,6 +1352,7 @@
</KeyWord>
<KeyWord name="rectangle" />
<KeyWord name="reference" />
<KeyWord name="reflexpr" />
<KeyWord name="register" />
<KeyWord name="registerbgidriver" />
<KeyWord name="registerbgifont" />
@ -1332,6 +1380,7 @@
<KeyWord name="replace_copy" />
<KeyWord name="replace_copy_if" />
<KeyWord name="replace_if" />
<KeyWord name="requires" />
<KeyWord name="reserve" />
<KeyWord name="reset" />
<KeyWord name="resetiosflag" />
@ -1486,6 +1535,7 @@
<KeyWord name="sinl" />
<KeyWord name="size" />
<KeyWord name="sizeof" />
<KeyWord name="size_t" />
<KeyWord name="size_type" />
<KeyWord name="skipws" />
<KeyWord name="sleep" func="yes">
@ -1535,6 +1585,7 @@
<Param name="..." />
</Overload>
</KeyWord>
<KeyWord name="ssize_t" />
<KeyWord name="stable_partition" />
<KeyWord name="stable_sort" />
<KeyWord name="stack" />
@ -1548,6 +1599,7 @@
<KeyWord name="state" />
<KeyWord name="state_type" />
<KeyWord name="static" />
<KeyWord name="static_assert" />
<KeyWord name="static_cast" />
<KeyWord name="stime" />
<KeyWord name="stpcpy" />
@ -1709,6 +1761,7 @@
<KeyWord name="switch" />
<KeyWord name="sync" />
<KeyWord name="sync_with_stdio" />
<KeyWord name="synchronized" />
<KeyWord name="system" func="yes">
<Overload retVal="int" >
<Param name="const char *string" />
@ -1743,6 +1796,7 @@
<KeyWord name="thousands_sep" />
<KeyWord name="thread" />
<KeyWord name="thread2" />
<KeyWord name="thread_local" />
<KeyWord name="throw" />
<KeyWord name="tie" />
<KeyWord name="time" func="yes">
@ -1750,6 +1804,7 @@
<Param name="time_t *timer" />
</Overload>
</KeyWord>
<KeyWord name="time_t" />
<KeyWord name="times" func="yes">
<Overload retVal="clock_t" >
<Param name="struct tms *buffer" />
@ -1798,6 +1853,20 @@
</Overload>
</KeyWord>
<KeyWord name="uflow" />
<KeyWord name="uint16_t" />
<KeyWord name="uint32_t" />
<KeyWord name="uint64_t" />
<KeyWord name="uint8_t" />
<KeyWord name="uint_fast16_t" />
<KeyWord name="uint_fast32_t" />
<KeyWord name="uint_fast64_t" />
<KeyWord name="uint_fast8_t" />
<KeyWord name="uint_least16_t" />
<KeyWord name="uint_least32_t" />
<KeyWord name="uint_least64_t" />
<KeyWord name="uint_least8_t" />
<KeyWord name="uintmax_t" />
<KeyWord name="uintptr_t" />
<KeyWord name="ultoa" />
<KeyWord name="umask" func="yes">
<Overload retVal="mode_t" >
@ -1936,6 +2005,8 @@
<KeyWord name="wstringbuf" />
<KeyWord name="wstringstream" />
<KeyWord name="xalloc" />
<KeyWord name="xor" />
<KeyWord name="xor_eq" />
<KeyWord name="xsgetn" />
<KeyWord name="xsputn" />
<KeyWord name="_atold" />

View File

@ -1016,6 +1016,7 @@
<KeyWord name="virtual" />
<KeyWord name="void" />
<KeyWord name="volatile" />
<KeyWord name="when" />
<KeyWord name="while" />
</AutoComplete>
</NotepadPlus>

View File

@ -22,9 +22,29 @@
<KeyWord name="@page" />
<KeyWord name="above" />
<KeyWord name="absolute" />
<KeyWord name="accent-color" />
<KeyWord name="ActiveBorder" />
<KeyWord name="ActiveCaption" />
<KeyWord name="additive-symbols" />
<KeyWord name="always" />
<KeyWord name="align-content" />
<KeyWord name="align-items" />
<KeyWord name="align-self" />
<KeyWord name="all" />
<KeyWord name="animation" />
<KeyWord name="animation-delay" />
<KeyWord name="animation-delay-end" />
<KeyWord name="animation-delay-start" />
<KeyWord name="animation-direction" />
<KeyWord name="animation-duration" />
<KeyWord name="animation-fill-mode" />
<KeyWord name="animation-iteration-count" />
<KeyWord name="animation-name" />
<KeyWord name="animation-play-state" />
<KeyWord name="animation-range" />
<KeyWord name="animation-range-end" />
<KeyWord name="animation-range-start" />
<KeyWord name="animation-timing-function" />
<KeyWord name="AppWorkspace" />
<KeyWord name="aqua" />
<KeyWord name="armenian" />
@ -33,28 +53,68 @@
<KeyWord name="avoid" />
<KeyWord name="azimuth" />
<KeyWord name="background" />
<KeyWord name="backdrop-filter" />
<KeyWord name="backface-visibility" />
<KeyWord name="background-attachment" />
<KeyWord name="background-blend-mode" />
<KeyWord name="background-clip" />
<KeyWord name="background-color" />
<KeyWord name="background-image" />
<KeyWord name="background-origin" />
<KeyWord name="background-position" />
<KeyWord name="background-position-x" />
<KeyWord name="background-position-y" />
<KeyWord name="background-repeat" />
<KeyWord name="background-size" />
<KeyWord name="baseline" />
<KeyWord name="behind" />
<KeyWord name="below" />
<KeyWord name="bidi-override" />
<KeyWord name="black" />
<KeyWord name="bleed" />
<KeyWord name="blink" />
<KeyWord name="block" />
<KeyWord name="block-size" />
<KeyWord name="blue" />
<KeyWord name="bold" />
<KeyWord name="bolder" />
<KeyWord name="border" />
<KeyWord name="border-block-end" />
<KeyWord name="border-block-end-color" />
<KeyWord name="border-block-end-style" />
<KeyWord name="border-block-end-width" />
<KeyWord name="border-block-start" />
<KeyWord name="border-block-start-color" />
<KeyWord name="border-block-start-style" />
<KeyWord name="border-block-start-width" />
<KeyWord name="border-bottom" />
<KeyWord name="border-bottom-color" />
<KeyWord name="border-bottom-left-radius" />
<KeyWord name="border-bottom-right-radius" />
<KeyWord name="border-bottom-style" />
<KeyWord name="border-bottom-width" />
<KeyWord name="border-collapse" />
<KeyWord name="border-color" />
<KeyWord name="border-end-end-radius" />
<KeyWord name="border-end-start-radius" />
<KeyWord name="border-image" />
<KeyWord name="border-image-outset" />
<KeyWord name="border-image-repeat" />
<KeyWord name="border-image-slice" />
<KeyWord name="border-image-source" />
<KeyWord name="border-image-width" />
<KeyWord name="border-inline" />
<KeyWord name="border-inline-color" />
<KeyWord name="border-inline-end" />
<KeyWord name="border-inline-end-color" />
<KeyWord name="border-inline-end-style" />
<KeyWord name="border-inline-end-width" />
<KeyWord name="border-inline-start" />
<KeyWord name="border-inline-start-color" />
<KeyWord name="border-inline-start-style" />
<KeyWord name="border-inline-start-width" />
<KeyWord name="border-inline-style" />
<KeyWord name="border-inline-width" />
<KeyWord name="border-left" />
<KeyWord name="border-left-color" />
<KeyWord name="border-left-style" />
@ -64,14 +124,24 @@
<KeyWord name="border-right-style" />
<KeyWord name="border-right-width" />
<KeyWord name="border-spacing" />
<KeyWord name="border-start-end-radius" />
<KeyWord name="border-start-start-radius" />
<KeyWord name="border-style" />
<KeyWord name="border-top" />
<KeyWord name="border-top-color" />
<KeyWord name="border-top-left-radius" />
<KeyWord name="border-top-right-radius" />
<KeyWord name="border-top-style" />
<KeyWord name="border-top-width" />
<KeyWord name="border-width" />
<KeyWord name="both" />
<KeyWord name="bottom" />
<KeyWord name="box-decoration-break" />
<KeyWord name="box-shadow" />
<KeyWord name="box-sizing" />
<KeyWord name="break-after" />
<KeyWord name="break-before" />
<KeyWord name="break-inside" />
<KeyWord name="ButtonFace" />
<KeyWord name="ButtonHighlight" />
<KeyWord name="ButtonShadow" />
@ -79,6 +149,7 @@
<KeyWord name="capitalize" />
<KeyWord name="caption" />
<KeyWord name="caption-side" />
<KeyWord name="caret-color" />
<KeyWord name="CaptionText" />
<KeyWord name="center" />
<KeyWord name="center-left" />
@ -87,10 +158,29 @@
<KeyWord name="cjk-ideographic" />
<KeyWord name="clear" />
<KeyWord name="clip" />
<KeyWord name="clip-path" />
<KeyWord name="clip-rule" />
<KeyWord name="close-quote" />
<KeyWord name="code" />
<KeyWord name="collapse" />
<KeyWord name="color" />
<KeyWord name="color-adjust" />
<KeyWord name="color-interpolation-filters" />
<KeyWord name="color-scheme" />
<KeyWord name="column-count" />
<KeyWord name="column-fill" />
<KeyWord name="column-gap" />
<KeyWord name="column-rule" />
<KeyWord name="column-rule-color" />
<KeyWord name="column-rule-style" />
<KeyWord name="column-rule-width" />
<KeyWord name="column-span" />
<KeyWord name="column-width" />
<KeyWord name="columns" />
<KeyWord name="contain" />
<KeyWord name="container" />
<KeyWord name="container-name" />
<KeyWord name="container-type" />
<KeyWord name="compact" />
<KeyWord name="condensed" />
<KeyWord name="content" />
@ -117,30 +207,80 @@
<KeyWord name="em" />
<KeyWord name="embed" />
<KeyWord name="empty-cells" />
<KeyWord name="enable-background" />
<KeyWord name="ex" />
<KeyWord name="expanded" />
<KeyWord name="extra-condensed" />
<KeyWord name="extra-expanded" />
<KeyWord name="fallback" />
<KeyWord name="far-left" />
<KeyWord name="far-right" />
<KeyWord name="fast" />
<KeyWord name="faster" />
<KeyWord name="fill" />
<KeyWord name="fill-opacity" />
<KeyWord name="fill-rule" />
<KeyWord name="filter" />
<KeyWord name="fixed" />
<KeyWord name="flex" />
<KeyWord name="flex-basis" />
<KeyWord name="flex-direction" />
<KeyWord name="flex-flow" />
<KeyWord name="flex-grow" />
<KeyWord name="flex-shrink" />
<KeyWord name="flex-wrap" />
<KeyWord name="float" />
<KeyWord name="flood-color" />
<KeyWord name="flood-opacity" />
<KeyWord name="font" />
<KeyWord name="font-display" />
<KeyWord name="font-family" />
<KeyWord name="font-feature-settings" />
<KeyWord name="font-kerning" />
<KeyWord name="font-language-override" />
<KeyWord name="font-optical-sizing" />
<KeyWord name="font-size" />
<KeyWord name="font-size-adjust" />
<KeyWord name="font-stretch" />
<KeyWord name="font-style" />
<KeyWord name="font-synthesis" />
<KeyWord name="font-variant" />
<KeyWord name="font-variant-alternates" />
<KeyWord name="font-variant-caps" />
<KeyWord name="font-variant-east-asian" />
<KeyWord name="font-variant-ligatures" />
<KeyWord name="font-variant-numeric" />
<KeyWord name="font-variant-position" />
<KeyWord name="font-variation-settings" />
<KeyWord name="font-weight" />
<KeyWord name="fuchsia" />
<KeyWord name="gap" />
<KeyWord name="georgian" />
<KeyWord name="grad" />
<KeyWord name="gray" />
<KeyWord name="GrayText" />
<KeyWord name="green" />
<KeyWord name="glyph-orientation-horizontal" />
<KeyWord name="glyph-orientation-vertical" />
<KeyWord name="grid" />
<KeyWord name="grid-area" />
<KeyWord name="grid-auto-columns" />
<KeyWord name="grid-auto-flow" />
<KeyWord name="grid-auto-rows" />
<KeyWord name="grid-column" />
<KeyWord name="grid-column-end" />
<KeyWord name="grid-column-gap" />
<KeyWord name="grid-column-start" />
<KeyWord name="grid-gap" />
<KeyWord name="grid-row" />
<KeyWord name="grid-row-end" />
<KeyWord name="grid-row-gap" />
<KeyWord name="grid-row-start" />
<KeyWord name="grid-template" />
<KeyWord name="grid-template-areas" />
<KeyWord name="grid-template-columns" />
<KeyWord name="grid-template-rows" />
<KeyWord name="hanging-punctuation" />
<KeyWord name="hebrew" />
<KeyWord name="height" />
<KeyWord name="help" />
@ -152,6 +292,7 @@
<KeyWord name="HighlightText" />
<KeyWord name="hiragana" />
<KeyWord name="hiragana-iroha" />
<KeyWord name="hyphens" />
<KeyWord name="hz" />
<KeyWord name="icon" />
<KeyWord name="InactiveBorder" />
@ -359,4 +500,4 @@
<KeyWord name="yellow" />
<KeyWord name="z-index" />
</AutoComplete>
</NotepadPlus>
</NotepadPlus>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,145 @@
<NotepadPlus>
<AutoComplete language="Go">
<KeyWord name="_" />
<KeyWord name="false" />
<KeyWord name="iota" />
<KeyWord name="nil" />
<KeyWord name="true" />
<KeyWord name="break" />
<KeyWord name="case" />
<KeyWord name="continue" />
<KeyWord name="default" />
<KeyWord name="defer" />
<KeyWord name="else" />
<KeyWord name="fallthrough" />
<KeyWord name="for" />
<KeyWord name="go" />
<KeyWord name="goto" />
<KeyWord name="if" />
<KeyWord name="import" />
<KeyWord name="range" />
<KeyWord name="return" />
<KeyWord name="select" />
<KeyWord name="switch" />
<KeyWord name="append" func="yes">
<Overload retVal="[]Type" >
<Param name="slice []Type" />
<Param name="elems ...Type" />
</Overload>
</KeyWord>
<KeyWord name="cap" func="yes">
<Overload retVal="int" >
<Param name="v Type" />
</Overload>
</KeyWord>
<KeyWord name="clear" func="yes">
<Overload retVal="~[]Type" >
<Param name="t T" />
</Overload>
</KeyWord>
<KeyWord name="close" func="yes">
<Overload retVal="" >
<Param name="c chan&lt;- Type" />
</Overload>
</KeyWord>
<KeyWord name="complex" func="yes">
<Overload retVal="ComplexType" >
<Param name="r" />
<Param name="i FloatType" />
</Overload>
</KeyWord>
<KeyWord name="copy" func="yes">
<Overload retVal="int" >
<Param name="dst" />
<Param name="src []Type" />
</Overload>
</KeyWord>
<KeyWord name="delete" func="yes">
<Overload retVal="" >
<Param name="m map[Type]Type1" />
<Param name="key Type" />
</Overload>
</KeyWord>
<KeyWord name="imag" func="yes">
<Overload retVal="FloatType" >
<Param name="c ComplexType" />
</Overload>
</KeyWord>
<KeyWord name="len" func="yes">
<Overload retVal="int" >
<Param name="v Type" />
</Overload>
</KeyWord>
<KeyWord name="make" func="yes">
<Overload retVal="Type" >
<Param name="Type" />
<Param name="size IntegerType" />
</Overload>
</KeyWord>
<KeyWord name="new" func="yes">
<Overload retVal="*Type" >
<Param name="Type" />
</Overload>
</KeyWord>
<KeyWord name="panic" func="yes">
<Overload retVal="" >
<Param name="v interface{}" />
</Overload>
</KeyWord>
<KeyWord name="print" func="yes">
<Overload retVal="" >
<Param name="args ...Type" />
</Overload>
</KeyWord>
<KeyWord name="println" func="yes">
<Overload retVal="" >
<Param name="args ...Type" />
</Overload>
</KeyWord>
<KeyWord name="real" func="yes">
<Overload retVal="FloatType" >
<Param name="c ComplexType" />
</Overload>
</KeyWord>
<KeyWord name="recover" func="yes">
<Overload retVal="interface{}" >
</Overload>
</KeyWord>
<KeyWord name="ComplexType" />
<KeyWord name="FloatType" />
<KeyWord name="IntegerType" />
<KeyWord name="Type" />
<KeyWord name="Type1" />
<KeyWord name="any" />
<KeyWord name="bool" />
<KeyWord name="byte" />
<KeyWord name="comparable" />
<KeyWord name="complex128" />
<KeyWord name="complex64" />
<KeyWord name="error" />
<KeyWord name="float32" />
<KeyWord name="float64" />
<KeyWord name="int" />
<KeyWord name="int16" />
<KeyWord name="int32" />
<KeyWord name="int64" />
<KeyWord name="int8" />
<KeyWord name="rune" />
<KeyWord name="string" />
<KeyWord name="uint" />
<KeyWord name="uint16" />
<KeyWord name="uint32" />
<KeyWord name="uint64" />
<KeyWord name="uint8" />
<KeyWord name="uintptr" />
<KeyWord name="chan" />
<KeyWord name="const" />
<KeyWord name="func" />
<KeyWord name="interface" />
<KeyWord name="map" />
<KeyWord name="package" />
<KeyWord name="struct" />
<KeyWord name="type" />
<KeyWord name="var" />
</AutoComplete>
</NotepadPlus>

View File

@ -310,6 +310,7 @@
<KeyWord name="min" />
<KeyWord name="min-height" />
<KeyWord name="min-width" />
<KeyWord name="minlength" />
<KeyWord name="mix" />
<KeyWord name="move" />
<KeyWord name="ms" />
@ -537,6 +538,7 @@
<KeyWord name="src" />
<KeyWord name="srcdoc" />
<KeyWord name="srclang" />
<KeyWord name="srcset" />
<KeyWord name="start" />
<KeyWord name="static" />
<KeyWord name="status-bar" />

View File

@ -3,16 +3,23 @@
<AutoComplete>
<KeyWord name="above" />
<KeyWord name="abs" />
<KeyWord name="AbortController" />
<KeyWord name="AbortSignal" />
<KeyWord name="AbstractRange" />
<KeyWord name="acos" />
<KeyWord name="action" />
<KeyWord name="addEventListener" />
<KeyWord name="afterbegin" />
<KeyWord name="afterend" />
<KeyWord name="alert" />
<KeyWord name="align" />
<KeyWord name="aLinkcolor" />
<KeyWord name="all" />
<KeyWord name="allSettled" />
<KeyWord name="Anchor" />
<KeyWord name="anchor" />
<KeyWord name="anchors" />
<KeyWord name="any" />
<KeyWord name="appCodeName" />
<KeyWord name="appCore" />
<KeyWord name="appendChild" />
@ -31,22 +38,31 @@
<KeyWord name="arity" />
<KeyWord name="Array" />
<KeyWord name="asin" />
<KeyWord name="async" />
<KeyWord name="at" />
<KeyWord name="atan" />
<KeyWord name="atan2" />
<KeyWord name="atob" />
<KeyWord name="Atomics" />
<KeyWord name="attachEvent" />
<KeyWord name="Attr" />
<KeyWord name="attributes" />
<KeyWord name="availHeight" />
<KeyWord name="availLeft" />
<KeyWord name="availTop" />
<KeyWord name="availWidth" />
<KeyWord name="await" />
<KeyWord name="back" />
<KeyWord name="background" />
<KeyWord name="backgroundColor" />
<KeyWord name="backgroundImage" />
<KeyWord name="beforebegin" />
<KeyWord name="beforeend" />
<KeyWord name="below" />
<KeyWord name="bgColor" />
<KeyWord name="big" />
<KeyWord name="BigInt" />
<KeyWord name="bind" />
<KeyWord name="blink" />
<KeyWord name="blob" />
<KeyWord name="blur" />
@ -72,8 +88,11 @@
<KeyWord name="captureEvents" />
<KeyWord name="case" />
<KeyWord name="catch" />
<KeyWord name="cbrt" />
<KeyWord name="CDATASection" />
<KeyWord name="ceil" />
<KeyWord name="char" />
<KeyWord name="CharacterData" />
<KeyWord name="characterSet" />
<KeyWord name="charAt" />
<KeyWord name="charCodeAt" />
@ -92,14 +111,17 @@
<KeyWord name="clientInformation" />
<KeyWord name="clip" />
<KeyWord name="clipboardData" />
<KeyWord name="cloneNode" />
<KeyWord name="close" />
<KeyWord name="closed" />
<KeyWord name="codePointAt" />
<KeyWord name="colorDepth" />
<KeyWord name="Comment" />
<KeyWord name="compile" />
<KeyWord name="complete" />
<KeyWord name="components" />
<KeyWord name="concat" />
<KeyWord name="configurable" />
<KeyWord name="confirm" />
<KeyWord name="console" />
<KeyWord name="const" />
@ -110,6 +132,7 @@
<KeyWord name="controllers" />
<KeyWord name="cookie" />
<KeyWord name="cookieEnabled" />
<KeyWord name="copyWithin" />
<KeyWord name="cos" />
<KeyWord name="cpuClass" />
<KeyWord name="createDocumentFragment" />
@ -122,6 +145,7 @@
<KeyWord name="credentials" />
<KeyWord name="crypto" />
<KeyWord name="current" />
<KeyWord name="CustomEvent" />
<KeyWord name="data" />
<KeyWord name="dataset" />
<KeyWord name="Date" />
@ -132,7 +156,10 @@
<KeyWord name="defaultStatus" />
<KeyWord name="defaultValue" />
<KeyWord name="defaultView" />
<KeyWord name="defineProperty" />
<KeyWord name="defineProperties" />
<KeyWord name="delete" />
<KeyWord name="depth" />
<KeyWord name="description" />
<KeyWord name="detachEvent" />
<KeyWord name="dialogArguments" />
@ -146,17 +173,25 @@
<KeyWord name="disconnect" />
<KeyWord name="dispatchEvent" />
<KeyWord name="display" />
<KeyWord name="DisplayNames" />
<KeyWord name="do" />
<KeyWord name="doctype" />
<KeyWord name="document" />
<KeyWord name="Document" />
<KeyWord name="documentElement" />
<KeyWord name="DocumentFragment" />
<KeyWord name="DocumentType" />
<KeyWord name="domain" />
<KeyWord name="DOMContentLoaded" />
<KeyWord name="DOMImplementation" />
<KeyWord name="DOMParser" />
<KeyWord name="DOMTokenList" />
<KeyWord name="double" />
<KeyWord name="dump" />
<KeyWord name="E" />
<KeyWord name="EPSILON" />
<KeyWord name="elementFromPoint" />
<KeyWord name="Element" />
<KeyWord name="elements" />
<KeyWord name="else" />
<KeyWord name="embeds" />
@ -165,11 +200,16 @@
<KeyWord name="encodeURI" />
<KeyWord name="encodeURIComponent" />
<KeyWord name="encoding" />
<KeyWord name="endsWith" />
<KeyWord name="enum" />
<KeyWord name="enumerable" />
<KeyWord name="entries" />
<KeyWord name="escape" />
<KeyWord name="eval" />
<KeyWord name="event" />
<KeyWord name="Event" />
<KeyWord name="EventTarget" />
<KeyWord name="every" />
<KeyWord name="exec" />
<KeyWord name="execCommand" />
<KeyWord name="execScript" />
@ -187,12 +227,19 @@
<KeyWord name="fileSize" />
<KeyWord name="fileUpdatedDate" />
<KeyWord name="FileUpload" />
<KeyWord name="filter" />
<KeyWord name="final" />
<KeyWord name="FinalizationRegistry" />
<KeyWord name="finally" />
<KeyWord name="find" />
<KeyWord name="findAll" />
<KeyWord name="findIndex" />
<KeyWord name="findLast" />
<KeyWord name="findLastIndex" />
<KeyWord name="firstChild" />
<KeyWord name="fixed" />
<KeyWord name="flat" />
<KeyWord name="flatMap" />
<KeyWord name="float" />
<KeyWord name="floor" />
<KeyWord name="focus" />
@ -211,10 +258,13 @@
<KeyWord name="Frame" />
<KeyWord name="frameElement" />
<KeyWord name="frames" />
<KeyWord name="freeze" />
<KeyWord name="from" />
<KeyWord name="fromCharCode" />
<KeyWord name="fromEntries" />
<KeyWord name="Function" />
<KeyWord name="function" />
<KeyWord name="get" />
<KeyWord name="getAllResponseHeaders" />
<KeyWord name="getAttention" />
<KeyWord name="getAttribute" />
@ -231,11 +281,15 @@
<KeyWord name="getElementsByName" />
<KeyWord name="getElementsByTagName" />
<KeyWord name="getElementsByTagNameNS" />
<KeyWord name="getNamedItem" />
<KeyWord name="getFullYear" />
<KeyWord name="getHours" />
<KeyWord name="getMilliseconds" />
<KeyWord name="getMinutes" />
<KeyWord name="getMonth" />
<KeyWord name="getOwnPropertyDescriptor" />
<KeyWord name="getOwnPropertyNames" />
<KeyWord name="getPrototypeOf" />
<KeyWord name="getSeconds" />
<KeyWord name="getSelection" />
<KeyWord name="getResponseHeader" />
@ -251,6 +305,7 @@
<KeyWord name="getUTCSeconds" />
<KeyWord name="getYear" />
<KeyWord name="global" />
<KeyWord name="globalThis" />
<KeyWord name="go" />
<KeyWord name="goto" />
<KeyWord name="handleEvent" />
@ -258,6 +313,7 @@
<KeyWord name="hasAttributeNS" />
<KeyWord name="hasAttributes" />
<KeyWord name="hasFocus" />
<KeyWord name="hasOwn" />
<KeyWord name="hasOwnProperty" />
<KeyWord name="hash" />
<KeyWord name="height" />
@ -269,6 +325,7 @@
<KeyWord name="hostname" />
<KeyWord name="href" />
<KeyWord name="hspace" />
<KeyWord name="HTMLCollection" />
<KeyWord name="ids" />
<KeyWord name="if" />
<KeyWord name="ignoreCase" />
@ -287,14 +344,24 @@
<KeyWord name="innerText" />
<KeyWord name="innerWidth" />
<KeyWord name="input" />
<KeyWord name="insertAdjacentElement" />
<KeyWord name="insertAdjacentHTML" />
<KeyWord name="insertAdjacentText" />
<KeyWord name="insertBefore" />
<KeyWord name="instanceof" />
<KeyWord name="int" />
<KeyWord name="interface" />
<KeyWord name="IntersectionObserver" />
<KeyWord name="isArray" />
<KeyWord name="isExtensible" />
<KeyWord name="isFinite" />
<KeyWord name="isFrozen" />
<KeyWord name="isInteger" />
<KeyWord name="isNaN" />
<KeyWord name="isSafeInteger" />
<KeyWord name="isSealed" />
<KeyWord name="italics" />
<KeyWord name="item" />
<KeyWord name="java" />
<KeyWord name="JavaArray" />
<KeyWord name="JavaClass" />
@ -302,6 +369,7 @@
<KeyWord name="JavaObject" />
<KeyWord name="JavaPackage" />
<KeyWord name="join" />
<KeyWord name="JSON" />
<KeyWord name="keys" />
<KeyWord name="language" />
<KeyWord name="lastChild" />
@ -324,6 +392,7 @@
<KeyWord name="Link" />
<KeyWord name="linkColor" />
<KeyWord name="links" />
<KeyWord name="ListFormat" />
<KeyWord name="listStyleType" />
<KeyWord name="LN10" />
<KeyWord name="LN2" />
@ -334,20 +403,25 @@
<KeyWord name="location" />
<KeyWord name="locationbar" />
<KeyWord name="log" />
<KeyWord name="log2" />
<KeyWord name="log10" />
<KeyWord name="LOG10E" />
<KeyWord name="LOG2E" />
<KeyWord name="long" />
<KeyWord name="lowsrc" />
<KeyWord name="map" />
<KeyWord name="marginBottom" />
<KeyWord name="marginLeft" />
<KeyWord name="marginRight" />
<KeyWord name="margins" />
<KeyWord name="marginTop" />
<KeyWord name="match" />
<KeyWord name="matchAll" />
<KeyWord name="matches" />
<KeyWord name="matchesSelector" />
<KeyWord name="Math" />
<KeyWord name="max" />
<KeyWord name="MAX_SAFE_INTEGER" />
<KeyWord name="MAX_VALUE" />
<KeyWord name="media" />
<KeyWord name="menubar" />
@ -356,6 +430,7 @@
<KeyWord name="MimeType" />
<KeyWord name="mimeTypes" />
<KeyWord name="min" />
<KeyWord name="MIN_SAFE_INTEGER" />
<KeyWord name="MIN_VALUE" />
<KeyWord name="moveAbove" />
<KeyWord name="moveBelow" />
@ -363,7 +438,10 @@
<KeyWord name="moveTo" />
<KeyWord name="moveToAbsolute" />
<KeyWord name="multiline" />
<KeyWord name="MutationObserver" />
<KeyWord name="MutationRecord" />
<KeyWord name="name" />
<KeyWord name="NamedNodeMap" />
<KeyWord name="nameProp" />
<KeyWord name="namespaces" />
<KeyWord name="namespaceURI" />
@ -376,11 +454,18 @@
<KeyWord name="new" />
<KeyWord name="next" />
<KeyWord name="nextSibling" />
<KeyWord name="Node" />
<KeyWord name="NodeFilter" />
<KeyWord name="NodeIterator" />
<KeyWord name="NodeList" />
<KeyWord name="nodeName" />
<KeyWord name="nodeType" />
<KeyWord name="nodeValue" />
<KeyWord name="notify" />
<KeyWord name="now" />
<KeyWord name="null" />
<KeyWord name="Number" />
<KeyWord name="NumberFormat" />
<KeyWord name="Object" />
<KeyWord name="observe" />
<KeyWord name="of" />
@ -470,6 +555,8 @@
<KeyWord name="paddingRight" />
<KeyWord name="paddings" />
<KeyWord name="paddingTop" />
<KeyWord name="padEnd" />
<KeyWord name="padStart" />
<KeyWord name="pageX" />
<KeyWord name="pageXOffset" />
<KeyWord name="pageY" />
@ -494,6 +581,7 @@
<KeyWord name="Plugin" />
<KeyWord name="plugins" />
<KeyWord name="plugins.refresh" />
<KeyWord name="PluralRules" />
<KeyWord name="pop" />
<KeyWord name="port" />
<KeyWord name="POSITIVE_INFINITY" />
@ -501,12 +589,15 @@
<KeyWord name="preference" />
<KeyWord name="prefix" />
<KeyWord name="preventDefault" />
<KeyWord name="preventExtensions" />
<KeyWord name="previous" />
<KeyWord name="previousSibling" />
<KeyWord name="print" />
<KeyWord name="private" />
<KeyWord name="ProcessingInstruction" />
<KeyWord name="product" />
<KeyWord name="productSub" />
<KeyWord name="Promise" />
<KeyWord name="prompt" />
<KeyWord name="prompter" />
<KeyWord name="protected" />
@ -520,12 +611,18 @@
<KeyWord name="queryCommandValue" />
<KeyWord name="querySelector" />
<KeyWord name="querySelectorAll" />
<KeyWord name="race" />
<KeyWord name="Radio" />
<KeyWord name="random" />
<KeyWord name="Range" />
<KeyWord name="readyState" />
<KeyWord name="recalc" />
<KeyWord name="reduce" />
<KeyWord name="reduceRight" />
<KeyWord name="reject" />
<KeyWord name="referrer" />
<KeyWord name="RegExp" />
<KeyWord name="RelativeTimeFormat" />
<KeyWord name="releaseCapture" />
<KeyWord name="releaseEvents" />
<KeyWord name="reload" />
@ -534,11 +631,14 @@
<KeyWord name="removeAttributeNode" />
<KeyWord name="removeChild" />
<KeyWord name="removeEventListener" />
<KeyWord name="removeNamedItem" />
<KeyWord name="replace" />
<KeyWord name="replaceAll" />
<KeyWord name="Reset" />
<KeyWord name="reset" />
<KeyWord name="resizeBy" />
<KeyWord name="resizeTo" />
<KeyWord name="resolve" />
<KeyWord name="response" />
<KeyWord name="responseText" />
<KeyWord name="responseType" />
@ -572,6 +672,7 @@
<KeyWord name="scrollWidth" />
<KeyWord name="scrollX" />
<KeyWord name="scrollY" />
<KeyWord name="seal" />
<KeyWord name="search" />
<KeyWord name="security" />
<KeyWord name="securityPolicy" />
@ -582,6 +683,7 @@
<KeyWord name="selectedIndex" />
<KeyWord name="selection" />
<KeyWord name="self" />
<KeyWord name="set" />
<KeyWord name="Set" />
<KeyWord name="setActive" />
<KeyWord name="setAttribute" />
@ -597,6 +699,7 @@
<KeyWord name="setMilliseconds" />
<KeyWord name="setMinutes" />
<KeyWord name="setMonth" />
<KeyWord name="setNamedItem" />
<KeyWord name="setRequestHeader" />
<KeyWord name="setResizable" />
<KeyWord name="setSeconds" />
@ -611,6 +714,7 @@
<KeyWord name="setUTCSeconds" />
<KeyWord name="setYear" />
<KeyWord name="setZOptions" />
<KeyWord name="ShadowRoot" />
<KeyWord name="shift" />
<KeyWord name="short" />
<KeyWord name="showHelp" />
@ -619,24 +723,30 @@
<KeyWord name="siblingAbove" />
<KeyWord name="siblingBelow" />
<KeyWord name="sidebar" />
<KeyWord name="sign" />
<KeyWord name="signText" />
<KeyWord name="sin" />
<KeyWord name="sizeToContent" />
<KeyWord name="slice" />
<KeyWord name="small" />
<KeyWord name="some" />
<KeyWord name="sort" />
<KeyWord name="source" />
<KeyWord name="specified" />
<KeyWord name="splice" />
<KeyWord name="split" />
<KeyWord name="sqrt" />
<KeyWord name="SQRT1_2" />
<KeyWord name="SQRT2" />
<KeyWord name="src" />
<KeyWord name="startsWith" />
<KeyWord name="static" />
<KeyWord name="StaticRange" />
<KeyWord name="status" />
<KeyWord name="statusbar" />
<KeyWord name="stop" />
<KeyWord name="strike" />
<KeyWord name="stringify" />
<KeyWord name="String" />
<KeyWord name="Style" />
<KeyWord name="styleSheets" />
@ -650,6 +760,7 @@
<KeyWord name="sup" />
<KeyWord name="super" />
<KeyWord name="switch" />
<KeyWord name="Symbol" />
<KeyWord name="synchronized" />
<KeyWord name="systemLanguage" />
<KeyWord name="tags" />
@ -676,17 +787,30 @@
<KeyWord name="timeEnd" />
<KeyWord name="title" />
<KeyWord name="toGMTString" />
<KeyWord name="toLocaleDateString" />
<KeyWord name="toLocaleString" />
<KeyWord name="toLocaleTimeString" />
<KeyWord name="toLowerCase" />
<KeyWord name="toolbar" />
<KeyWord name="top" />
<KeyWord name="total" />
<KeyWord name="toTimeString" />
<KeyWord name="toISOString" />
<KeyWord name="toJSON" />
<KeyWord name="toReversed" />
<KeyWord name="toSorted" />
<KeyWord name="toSource" />
<KeyWord name="toSpliced" />
<KeyWord name="toString" />
<KeyWord name="toUpperCase" />
<KeyWord name="toUTCString" />
<KeyWord name="transient" />
<KeyWord name="TreeWalker" />
<KeyWord name="trim" />
<KeyWord name="trimEnd" />
<KeyWord name="trimStart" />
<KeyWord name="true" />
<KeyWord name="trunc" />
<KeyWord name="try" />
<KeyWord name="type" />
<KeyWord name="typeof" />
@ -707,6 +831,7 @@
<KeyWord name="userProfile" />
<KeyWord name="UTC" />
<KeyWord name="value" />
<KeyWord name="values" />
<KeyWord name="valueOf" />
<KeyWord name="var" />
<KeyWord name="vendor" />
@ -716,18 +841,29 @@
<KeyWord name="void" />
<KeyWord name="volatile" />
<KeyWord name="vspace" />
<KeyWord name="wait" />
<KeyWord name="waitAsync" />
<KeyWord name="watch" />
<KeyWord name="WeakMap" />
<KeyWord name="WeakRef" />
<KeyWord name="WeakSets" />
<KeyWord name="while" />
<KeyWord name="whiteSpace" />
<KeyWord name="width" />
<KeyWord name="window" />
<KeyWord name="Window" />
<KeyWord name="with" />
<KeyWord name="writable" />
<KeyWord name="write" />
<KeyWord name="writeln" />
<KeyWord name="x" />
<KeyWord name="XMLDocument" />
<KeyWord name="XMLHttpRequest" />
<KeyWord name="XPathEvaluator" />
<KeyWord name="XPathExpression" />
<KeyWord name="XPathResult" />
<KeyWord name="XSLDocument" />
<KeyWord name="XSLTProcessor" />
<KeyWord name="y" />
<KeyWord name="zIndex" />
<KeyWord name="_content" />

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More