Commit Graph

146 Commits (ad8b1791b4c761bbdcd098260f25cf122535e768)

Author SHA1 Message Date
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
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
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
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
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
Adam D. Walling 5a3bf49c86 Add Dark Mode for not attracting bugs
Toolbar, status bar, tab bar, menu bar, dark scrollbar, handle switching between light and dark, docking splitters and headers, flicker fixes. Minor tweaks to DarkMode.h. Mostly handles the dark mode request for the main interface for #7692 and also follows the windows system theme settings like #9183.

Fix #9183, fix #7692, close #9587
2021-04-23 16:22:57 +02:00
Christian Grasser ab58c8ee3e One button to compile them all
1. Build Notepad++ with Scintilla static lib (libscintilla.lib) and Boost (v1.76) RegExpr.
2. ARM64 build is available.

Fix #5158, close #9594
2021-04-17 05:55:10 +02:00
Udo Hoffmann 6834d796ab Replaced UCS-2 by UTF-16, removed unused UniConversion.* 2021-03-27 03:00:14 +01:00
mere-human 6e43ba6ea5
Add an option to mute all sounds in preferences dialog
Fix #7950, close #9507
2021-02-19 03:46:52 +01:00
mere-human 3cf65ade81
Fix typo in ScitillaComponent directory name
Rename ScitillaComponent -> ScintillaComponent.
Git history should be kept because `git mv` was used.
Also change paths in source code.

This was noted in scope of #9403

Close #9450
2021-01-27 05:39:55 +01:00
mere-human e7079d57c6
Enhance FileDialog for allowing UNIX stile file path
And use modern CustomFileDialog istead of old FileDialog in Notepad++.

In the file dialog, override window procedure for "OK" button and
file name edit box to check for input.
Transform forward slash file name to a Window path after input.

Fix #9374, close #9403
2021-01-26 18:52:15 +01:00
Don HO 45912a3321
Drop Windows XP support for IFileDialogCustomize
https://github.com/notepad-plus-plus/notepad-plus-plus/pull/9378
2021-01-19 03:03:56 +01:00
mere-human b9f498f041
Add "save Folder as Workspace in session" option in save session dialog
Save FileBrowser root folders if it is visible.
When loading a session file (from menu or via the command line),
launch a FileBrowser from scratch and add folders from the file to it.
When loading an auto-saved session, ignore saved FileBrowser folders.

Store roots and selected item of FileBrowser in a Session class.

Add "FileBrowser" node to session XML.
It containts "latestSelectedItem" attribute and "root" child nodes.
This structure corresponds to the one from "config.xml".

Current save session behavior for Folder as Workspace (FaW) is like this:
1. FaW isn't opened, checkbox is greyed-out -> FaW info is not saved in session
2. FaW is opened, checkbox isn't checked -> FaW info isn't saved in session
3. FaW is opened, checkbox is checked -> FaW info is saved in session

Load session behavior:
1. FaW isn't open, session without FaW info -> FaW isn't shown after loading
2. FaW isn't open, session with FaW info -> FaW is shown after loading
3. FaW is open, session without FaW info -> FaW is kept as is without changes
4. FaW is open, session with FaW info -> FaW is shown with new directories from session

Fix #9165, close #9286
2021-01-08 00:02:52 +01:00
Scott Sumner 5965b3d352 Project structure improvement: Move TreeView files in the right place
Close #9083
2020-10-31 19:15:11 +01:00
Scott Sumner 7bcb34b848 Add some missing items to Visual Studio project
Fix #9063, close #9073
2020-10-29 14:51:13 +01:00
Don HO c0c070abaf
Split functionList.xml into multifile in "functionList" Folder
New "functionList" will be added beside of notepad++.exe or "%APPDATA%\Notepad++\", according the installation mode. If the portable package is used, after removing "doLocalConf.xml", the "functionList" folder should be copied manually from Notepad++ installed directory to "%APPDATA%\Notepad++\" to make function list work again.

All splited files are localized in this folder with the explicit language name.

"overrideMap.xml" is optional for overriding the default functionList parse rule files, and for adding UDL parse rule files.

Close #4896
2020-10-21 18:05:08 +02:00
Udo Hoffmann e2a650ec10
Fix blue link-type number input boxes cut off issue
Fix blue link-type number input boxes in Preferences  cut off issue by setting sub system version numbers.

Fix #8985, fix #8144, close #8985
2020-10-12 03:49:51 +02:00
Udo Hoffmann 401bfcb0cd
Add new URL parser to replace inaccurate regex detection
Fix inaccurate URL detection and enhance URL detection for non-English character.

Fix #3912, fix #3353, fix #4643, fix #5029, fix #6155, fix #7791, fix #8634, close #8921
2020-10-04 18:42:10 +02:00
Jorge Rocha Gualtieri 66893f980f
Fix "Monitoring" not detecting all file changes issue
This patch adds an active monitor to detect changes on files since Windows isn't honoring FILE_NOTIFY_CHANGE_SIZE or FILE_NOTIFY_CHANGE_LAST_WRITE on ReadDirectoryChangesW correctly if the file writer keep it opened.
This solution is based on GNU tail for Windows does. It does it at
static void tail_forever (struct File_spec *f, int nfiles, double sleep_interval) on tail.c.

Fix #3142, fix #4955, fix #4527, close #7969
2020-02-25 22:16:57 +01:00
Scott Sumner d3cb2ceb36
Add external sound control capability for unsuccessful search bell
Fix #7950, close #7951
2020-02-17 03:37:18 +01:00
Don HO 581aff630a
Use standard C++11 mutex
And remove unecessary files

Close #6093
2019-08-25 23:34:30 +02:00
Don HO c34d3c9a4b
Make standard conformance for C++
Use SDK 10.
Use toolset v141.
Conformance mode is enable.

Check the following link for mre detail:
https://github.com/notepad-plus-plus/notepad-plus-plus/pull/6054
2019-08-18 01:52:25 +02:00
Don HO 66fc977304
Pass VS Toolset from v140_xp to v141 2019-08-17 03:41:59 +02:00
Don HO d14cb43e9d
Remove VS2013 project file. 2019-05-31 22:35:32 +02:00
Don HO 486e2188b2
Revert "Update uchardet to 0.0.6 to improve UTF-8 detection quality"
There are several important regression in uchardet to 0.0.6. Hence this revert.
This reverts commit bfb7e863cc.

Fix #5299, fix #5310, fix #5202, fix #5440
Close #5414
2019-03-25 19:35:15 +01:00
Silent bfb7e863cc Update uchardet to 0.0.6 to improve UTF-8 detection quality
This PR updates uchardet (https://www.freedesktop.org/wiki/Software/uchardet/) to the newest stable version (0.0.6).
This version seems to improve UTF-8 detection quality, so updating this dependency is expected to squash numerous charset detection issues.

Fixes #4878, Fixes #4767, Fixes #4428, Fixes #4246, Fixes #3705, Fixes #3588, Fixes #431, Closes #4925
2018-11-09 13:49:58 +01:00
Don HO 519fecbb82 Add SHA-256 implementation and use sha-256 instead of md5 in Plugin Admin 2018-10-24 09:45:35 +02:00
Silent 6b5144d176 Fix format specifier warnings - /Wv:18 can now be removed
As a follow up to my previous pull request, this PR fixes the last remaining improper format specifiers. This allows to remove /Wv:18 compilation flag completely, since (presumably) the only reason it was added in the first place were those format specifier warnings, introduced in VS2015.

Effectively, all this PR does is applying fixes suggested by the compiler (included in those warnings).

Close #4604
2018-06-27 22:35:32 +02:00
Silent 08eb29e3d6 Force cpp standard const char pointer on string literals
const-ified all string literals to suppress warnings on gcc and allow /Zc:strictStrings to be used with Visual Studio

Fix #4146, close #4150
2018-06-25 00:06:26 +02:00
Don HO 40163e0338 switch from VS2013 to VS2015 & VS2017 2017-10-01 23:16:17 +02:00
Don HO b033d907b2 Export function list in json format 2017-09-11 02:46:15 +02:00
Don Ho 5c714043fb Fix compiliing issue in VS2013 2017-05-08 01:43:04 +02:00
Don HO 6b0a3c8e6b Enhance certificate check 2017-05-08 00:19:56 +02:00
Don HO 20e669ff01 Add document snapshot feature (in progress) 2017-04-18 01:31:41 +02:00
Don Ho e5f4344f69 Add Crypto lib in vcproj to make Notepad++ compiled under VC2013 2017-03-08 03:14:54 +01:00
Don HO b869163609 Check SciLexer.dll certificate
This fix is about the issue "Vault 7: CIA Hacking Tools Revealed"
published on Wikileak:
https://wikileaks.org/ciav7p1/cms/page_26968090.html
2017-03-08 02:52:58 +01:00
Don HO f62bf83bca Make VS2015 compile again 2017-01-22 00:59:40 +01:00
Don Ho c235e17f7d Add Plugins Administrator (UI part, in progress) 2017-01-20 14:13:41 +01:00
Don HO 035bcfeb22 Fix VS 2015 post build error 2017-01-10 09:10:42 +01:00
Don HO b0a625913c Fix the shadow declarations & make VS2015 compile again 2017-01-10 01:09:18 +01:00
Don Ho f98686d9f4 Add some functions for future use 2017-01-08 23:59:36 +01:00
Don Ho 8fc1a2ed30 Add MD5 functionalities 2017-01-01 18:28:25 +01:00
Don Ho 0746d1f4f7 config.xml is generated by notepad++
No more config.model.xml. config.xml is generated by notepad++ directly.
2016-10-23 03:50:41 +02:00
dail8859 5f8ba93b78 Check plugin architecture before loading
Closes #2348, Closes #2350
2016-10-06 20:59:22 -04:00
Don Ho 6d2b1e4f5e Remove the old icon 2016-09-21 09:06:22 +02:00
A-R-C-A 3bf382f16b Make margins dpi aware
Closes #2171
2016-08-17 00:12:13 +02:00
Don HO 472d54d7c9 Fix crash in x64 due to C style cast 2016-07-09 16:47:09 +02:00
Don HO 5a5582b972 Make Scintilla 64-bit built with boost's pcre 2016-06-15 20:52:24 +02:00
Don HO 561713e46c Put warning as error in Release x64 build 2016-06-06 20:07:17 +02:00