Commit Graph

2987 Commits (3fcad98883bd719b6be63f234648f5712018548f)

Author SHA1 Message Date
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
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
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
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
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
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
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
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
Don Ho 0ee65fd826 Fix x64 build error in 3f1a582a36
Fix x64 build error, remove unnecessary codes and add enhancement for the previous commit 3f1a582a36
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
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 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
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 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
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 41a5bf0245.
2022-04-01 19:17:18 +02:00
Don Ho 2871ee519b Revert "Fix syntax highlighting regression with cmdline argument"
This reverts commit 7a2f809e68.
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
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
Ashfaaq18 4e97469d8f Fix a small regression due to c3daf4448d
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
VinsWorldcom 9a1a999bef Add new AutoComplete icon for distinguishing functions from normal keywords
Fix #11311, close #11314
2022-03-10 20:39:09 +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 ca8c302805
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
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
xomx 3482ed97ea Fix UDL comment config input fields broken regression
Which caused by commit 94154b0f0e.

Fix #11239, close #11292
2022-02-26 15:58:22 +01:00
Don Ho bfbad49cf4 Fix incoherence about supporting 2GB+ files 2022-02-24 01:48:28 +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 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 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
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 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
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 637f470b6e Add more Easter Eggs for the coming Easter Sunday 2022-02-17 15:20:07 +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 c0be50494c (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
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 f815b7057f Revert "Enable backup on save (simple) feature by default"
This reverts commit 40fbae1f76.
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 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
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 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 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
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
Don HO 573a3db6e9 Notepad++ release 8.2 2022-01-01 00:04:52 +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
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 ee884f87bb (#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
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
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
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 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
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
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
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
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
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
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
Don Ho 6a3d6e05d9 Add new quotes 2021-10-06 03:11:10 +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
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