Commit Graph

5278 Commits (8250a81d6e512bc46510fee8d9098c0bec99df3d)

Author SHA1 Message Date
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 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
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 ad39c68611 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 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
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 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
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