Commit Graph

317 Commits (63760073ef31584c656b6bfd8bfd11740aa9b0fc)

Author SHA1 Message Date
Don HO d22d1609ab
Upgrade Scintilla - Adaptation of PowerEditor part 2019-05-08 11:13:21 +02:00
Don HO 6ceda544a6
Use new NppPluginList release 1.0.8 2019-03-26 02:51:17 +01:00
Don HO a7c59e1776
Add "Multi-Select Next Occurrence" into menu
Update localization files
2019-03-19 02:52:13 +01:00
Don HO 0c5a42153b
Remove unecessary cast 2019-03-18 09:45:25 +01:00
Don HO 52a4e21af5
Remove ugly coding style 2019-03-16 05:33:50 +01:00
Don HO 5356f648c2
Remove some ugly coding styles 2019-03-13 02:02:35 +01:00
Rajendra Singh eb8eb25799 Make naming homogeneous in xml file
No more dummy surprises.

Close #5276
2019-03-03 16:38:26 +01:00
Rajendra Singh 50e9e87e44 Use the reference parameter instead of copy parameter and some clean up
Close #5360
2019-03-02 14:46:17 +01:00
Don HO 94c4608cc1 Fix a typo & add some comments 2019-03-01 13:35:26 +01:00
Don HO c22f181d80 Add hashes (32/64) of nppPluginList.dll new release 2019-03-01 03:41:47 +01:00
Pavel Nedev 1dfa92c4b7 Add 'Open Plugins Folder...' command
Closes #5224, closees #5225
2019-03-01 01:03:34 +01:00
Don HO 3baef49079 Add SHA256 checking of the authentity of used modules
In order to remove the code signing certificate dependency, SHA256 checking of the authentity of used modules (Scilexer.dll, GUP.exe and nppPluginList.dll) is added.
See the followling link for the detail information:
https://notepad-plus-plus.org/community/topic/17184/remove-code-signing-from-notepad
2019-02-27 10:14:36 +01:00
Don HO 5085d9c95a [EU-FOSSA] Check string length to copy to avoid crash in purgeMenuItemString function 2019-02-22 19:58:20 +01:00
Don HO bd7816755c [EU-FOSSA] Replace lstrcat by wcscat_s to avoid crash 2019-02-22 12:57:58 +01:00
Don HO 7fe3cda1d0 [EU-FOSSA] Use wcscpy_s instead of lstrcpy to prevent from buffer overflow 2019-02-11 02:07:04 +01:00
Don HO 0438447194 [EU-FOSSA] Fix stack buffer overflow on LB_GETTEXT 2019-02-08 22:13:12 +01:00
Don HO dfb9b5e330 Enhance User Defined Language System for supporting more than one UDL file.
Several UDL xml files can be loaded to allow to manage/share UDL more easily.

1. The old file userDefineLang.xml is kept in its old location and is still used.
2. The new folder userDefineLangs is added beside of the old UDL default file. Any UDL xml file can go into the folder userDefineLangs and will be loaded as UDL.
3. A UDL xml file must contain one (or several) user defined language(s).
4. The created UDL via UDL dialog and imported UDL are saved in  userDefineLang.xml (default UDL file).

https://notepad-plus-plus.org/community/topic/17072/new-enhancement-for-user-defined-language-system
2019-02-07 23:40:17 +01:00
Don HO c314ed1d8a [EU-FOSSA] DLL hijacking of plugins\Config\Config.dll loaded by Notepad++ 2019-01-28 19:54:50 +01:00
Don HO abf78e84b2 [EU-FOSSA] Fix loading unexpected dll as plugin issue
Unexpect behaviour: if "<NppDir>\...dll" and/or "<NppDir>\plugins\..dll" exist, they will be loaded because Notepad++ try to load "<NppDir>\pluginName\pluginName.dll" as plugin, in our case "<NppDir>\plugins\..\...dll" and "<NppDir>\plugins\.\..dll" respectively.

The fix is excluding both directories ".." & "." to not load mentionned above unwanted dll.
2019-01-19 03:30:54 +01:00
Don HO 4421161848 [EU-FOSSA] Fix stack overflow issue while affecting "ext" field on stylers.xml 2019-01-18 23:09:00 +01:00
Rajendra Singh 694415f8af Make exception error more clear
Close #5212
2019-01-15 09:56:41 +01:00
Don HO 412c5986a0 Fix a compiling error due to bad formatted ressource file. 2018-12-17 14:11:41 +01:00
Don HO 647651b7ee Add generation of SHA-256 hash feature 2018-12-16 20:14:30 +01:00
Don HO 775d204ef9 Change loading plugin list location
Loading plugin list location is changed from %LOCALAPPDATA%\Notepad++\plugins\Config\ to
%PROGRAMDATA%\Notepad++\plugins\Config\

Enhance API NPPM_GETPLUGINSCONFIGDIR
2018-12-04 13:38:25 +01:00
Don HO 78a0f57ed1 Make Plugins Admin translatable 2018-11-27 13:12:56 +01:00
Don HO 61402a354f Add elevation capacity for wingup if plugins are installed in %PROGRAMDATA%
While plugins are in %PROGRAMDATA%, we need admin's rights to modify them. This PR detects the plugins installation in %PROGRAMDATA%, then launch wingup with UAC.
2018-11-24 16:26:24 +01:00
Rajendra Singh fd52450d16 Fixed memory leaks
Close #4945
2018-11-12 22:56:28 +01:00
Don HO 17ac06f83a Fix a regression of fail removing different architecture plugins 2018-11-12 03:37:42 +01:00
Don HO a87e89ea92 Add new Plugin message NPPM_GETPLUGINHOMEPATH in API
The new message NPPM_GETPLUGINHOMEPATH allows plugins to get plugin home root path. It's useful if plugins want to get its own path by appending <pluginFolderName> which is the name of plugin without extension part.
2018-11-07 23:30:59 +01:00
Don HO e9a489c5c9 Remove allowAppDataPlugins.xml detection.
Simply plugins loading emplacement:
NPPM_GETAPPDATAPLUGINSALLOWED to check to see if loading plugins from "%APPDATA%\..\Local\Notepad++\plugins" is allowed.
If doLocalConf no
else yes
2018-11-03 19:45:04 +01:00
Don HO 7e555b67fc Remove the legasy plugin loading way and apply only the new plugin loading method
1. Load plugins only from the new plugin folder structure. example: Notepad++\plugins\myAwesomePlugin\myAwesomePlugin.dll
2. Load plugins from only one directory. If doLocalConf.xml is present, then it will be <NPP_INSTALLATION_DIR>\plugins\
   otherwise %USERPROFILE%\AppData\Local\Notepad++\plugins\
2018-11-03 12:39:23 +01:00
Don HO c531a4d42a Send NPPN_READY notification to loaded plugins after their installation by Plugin Admin 2018-10-25 20:48:36 +02:00
Don HO ef5d07771a Fix checking plugin crash issue due to plugin packaging error. 2018-10-25 03:34:49 +02: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
Don HO e919d4d05a Remove getFileContain function's limitation. 2018-10-24 00:54:52 +02:00
CFrank 84938b7b0f Add new plugin API NPPM_REMOVESHORTCUTBYCMDID to allows plugins to remove unneeded shortcuts
Fix #4674, close #4687
2018-10-07 03:08:34 +02:00
Wurstbrot c6e1a95098 Fix Tab non-responding after dragging bug
Short problem description:
Drag/drop a tab with the mouse to another position,
then all other tabs can't be activated with clicking anymore.

Also a missing include was added, that prevented compilation

Fix #4885, close #4886
2018-10-02 20:18:11 +02:00
Don HO b662bcf5ae Add checking MD5 ability in Plugin Admin
Check MD5 after installing to prevent from MITMA
2018-09-27 09:56:58 +02:00
Don HO e75cf910bd Add new brhaviour of checking Plugin List's certificate 2018-07-31 09:12:57 +02:00
Don HO eb4edb50ef Plugin Admin - in progress 2018-07-19 02:03:17 +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 a9d203a60a Deprecate wstat/stat in favour of WinAPI GetFileAttributesEx - unifies code and behaviour between Windows versions
Fixes #4491, fixes #3969, fixes #2535, fixes #215, close #4541
2018-06-25 00:33:09 +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 32c1427c12 Add run process sync method & Plugin Admin's operations
Make Updater run sync for removing & restoring plugin info from & to the
plugin lists while the Plugin Admin's operation of installation, update and removal.
2018-06-19 09:39:42 +02:00
Don HO 3a52ab1af1 Remove unused method 2018-05-07 21:11:22 +02:00
nrecker e65b4c37bf Fix Sort Lines as Integers issue: use Natural Sort algorithm
This changes the line operations "Sort as Integers Ascending" and "Sort as Integers Descending" to sort by Natural Sort Order, in which consecutive numerals are considered as one character. This causes "2" < "10", just like in the old Integer sort, but also "foo 2" < "foo 10", which was not previously available functionality. In cases where every line is a single integer, Natural Sort functions exactly the same as Integer Sort; when every line begins with a single integer, it is a valid Integer Sort.

Close #4413, fix #2025
2018-05-06 13:25:10 +02:00
Don HO 454f92af4a Adapt new plugin file system structure for the future release. 2018-04-30 19:36:15 +02:00
Don HO 7cf5232056 Make new file system of plugin works on installation directory 2018-04-25 20:46:09 +02:00
d0vgan 58fa70b580 Fix file status detection issue under Windows XP (32-bit only)
Close #4226
2018-03-18 00:52:52 +01:00
Don HO abcbec181a Change the EOL 2018-02-27 01:18:00 +01:00
Silent 16fa79f057 Warning/error fixes as per VS2017 code analysis
Closes #4154
2018-02-19 12:21:35 +01:00
Christophe Meriaux 360d45db1a Add filter capacity in the shortcut mapper
Closes #4096, closes #2562
2018-02-11 16:37:30 +01:00
Silent 683c358e8a Fix 2 different files whose canonic names are the same can't be opened
in the same time issue

Fix Unicode file name comparision to match Windows behaviour (as opposed to doing a linguistic filename comparision)

Fixes #3820, closes #4141
2018-02-04 04:26:52 +01:00
SinghRajenM fcb3ce31a0 Code improvement
Closes #4085
2018-01-28 23:22:47 +01:00
Don HO 2390b19706 Fix a crash bug due to eventual disordered notifications sent to plugins
The Access Violation while closing Notepad++:
https://github.com/notepad-plus-plus/notepad-plus-plus/issues/3961
could be due to SCN_UPDATEUI sending after NPPN_SHUTDOWN, that makes
plugins treat SCN_UPDATEUI on the released handle.

To avoid such situation, once NPPN_SHUTDOWN has been sent, no more
message will be sent to plugin.

Fixes #3961, fixes #4021
2017-12-27 18:19:01 +01:00
Oleksandr Redko bdcc386a3a Fix static analyzer issue "An exception should be caught by reference"
V746 Object slicing. An exception should be caught by reference rather than by value. filedialog.cpp 183
V746 Object slicing. An exception should be caught by reference rather than by value. nppbigswitch.cpp 110
V746 Object slicing. An exception should be caught by reference rather than by value. pluginsmanager.cpp 259
2017-10-29 18:18:00 +02:00
SinghRajenM 3cb8bc85a1 Fix certificate checking error message issue
1. Fixed issue (caption and message are interchanged)
2. Disabled lexerdll signature checking in debug mode

Closes #3691, Fix #3688
2017-09-17 01:16:47 +02:00
Thomas Linder Puls 854acae4a1 Add Visual Prolog language support
Closes #1439
2017-08-25 09:43:36 +02:00
SinghRajenM d5b01d61b8 Improve file extension movement between ListBox in Preferences dialog
Now mouse double click can be used to move File extension between ListBoxes.

Closes #3595
2017-08-21 02:35:57 +02:00
SinghRajenM 295cbafe7d Code improvement
Closes #3582
2017-08-13 12:10:04 +02:00
Cyrillev fbbe9344d9 New feature: Opens file in its default viewer
This feature has the same effect as double-clicking this file in Windows Explorer.

Closes #3577, fixes #3576
2017-08-13 12:04:00 +02:00
Cyrillev 02bdd11700 Add new languages support
Connect Scintilla Lexers to npp : SCLEX_ASN1 (Abstract Syntax Notation One), SCLEX_AVS (AviSynth), SCLEX_BLITZBASIC, SCLEX_PUREBASIC, SCLEX_FREEBASIC, SCLEX_CSOUND, SCLEX_ERLANG, SCLEX_ESCRIPT, SCLEX_FORTH, SCLEX_LATEX, SCLEX_MMIXAL, SCLEX_NIMROD, SCLEX_NNCRONTAB, SCLEX_OSCRIPT, SCLEX_REBOL, SCLEX_REGISTRY, SCLEX_RUST, SCLEX_SPICE, SCLEX_TXT2TAGS

Connect Scintilla Lexers to npp :

asn1 (Abstract Syntax Notation One) : https://fr.wikipedia.org/wiki/ASN.1#Exemple
avs (AviSynth) : http://avisynth.nl/index.php/Script_examples
blitzbasic : http://www.blitzbasic.com/bmdocs/command.php?name=Mid&ref=2d_cat
http://www.blitzbasic.com/codearcs/codearcs.php?cat=8"
csound : http://www.csounds.com/manual/html/PrefaceGettingStarted.html
erlang : http://erlang.org/doc/man/file.html
http://erlang.org/documentation/doc-5.3.6.13/doc/getting_started/getting_started.html"
escript : http://erlang.org/doc/man/escript.html
forth : http://wiki.c2.com/?ExampleForthCode
freebasic : http://www.freebasic.net/
latex : http://physics.clarku.edu/sip/tutorials/TeX/intro.html (Sample LaTeX file)
mmixal : http://mmix.cs.hm.edu/examples/hello.html
nimrod : http://www.csse.monash.edu.au/~nimrod/nimrodportal/manual/planfileexamples.shtml
nncrontab : http://www.nncron.ru/help/EN/working/cron-format.htm
oscript : http://www.oscriptadventures.com/
purebasic : https://www.purebasic.com/documentation/reference/ide_form.html
rebol : http://www.rebol.net/cookbook/recipes/0031.html
registry : windows registry file
rust : http://rustbyexample.com/std_misc/file/open.html
spice : http://www.seas.upenn.edu/~jan/spice/spice.overview.html
txt2tags : https://github.com/txt2tags/txt2tags/blob/master/samples/sample.t2t
2017-07-23 10:24:53 +02:00
Don HO 4c2e41b649 Plugin name should match to plugin folder name
Load plugin only when plugin name match to plugin folder name.
For example: "NppPluginDemo.dll" can be loaded only when it in the
folder named "NppPluginDemo".
2017-07-10 19:26:22 +02:00
Don HO 2c9f096d6d Make plugins loadable from %LOCALAPPDATA%\Notepad++\plugins\ 2017-07-09 15:56:18 +02:00
Don HO c8969b773f Add SWIFT language support 2017-06-17 20:03:28 +02:00
Don HO 6f84824c2b Fix verifying certificate function passes empty string to compare
For unknown reason, all strings passed by parameters are empty string,
use the macros solve this problem.
2017-06-15 02:25:25 +02:00
Svyatoslav 39b2386b33 Fixes identical sub-expressions for certificate verification
An issue has been found by using PVS-Studio analyzer.

Analyzer warning: V501 There are identical sub-expressions to the left
and to the right of the '!=' operator: subject != subject.

Closes #3399
2017-06-15 01:13:34 +02:00
Roman Artiukhin e8e325b7c1 Fixed Toolbar initialization code
It seems REBARBANDINFO.cbSize initialization logic got broken after
migration to VS 2013 (last working version - 6.6.9)

That leads to various problems related to toolbar logic (like missing
chevron - #3385 or incorrect plugin toolbar placement #3094)

Closes #3386, fixes #3385, fixes #3094
2017-06-12 01:09:58 +02:00
Don HO 8dbd956344 Disable the certification chain verification
WinTrust library checks chain of trust on line which makes Notepad++
hanging due to the Firewall's restriction.
2017-05-16 19:50:22 +02:00
Don HO bfb672d8bb A small modification regarding the certificate checking function 2017-05-10 18:14:27 +02:00
Don HO e2329fd15c Improve certificate verifying method 2017-05-10 02:12:10 +02:00
Don HO 76395bb5e5 Add copyright information 2017-05-08 03:27:32 +02:00
Don HO 6b0a3c8e6b Enhance certificate check 2017-05-08 00:19:56 +02:00
SinghRajenM fe45f2e9b1 Remove duplicate code for checking certificate
Closes #3076
2017-03-25 14:17:33 +01:00
Damien Gerard 6947bf3909 winmain: add newline at the end of file
winmain: move local functions to anonymous namespace
winmain: remove redundant static keyword
winmain: add newline at the end of file
winmain: move UAC related code to anonymous function
winmain: declare MSGFLT_ADD/MSGFLT_ALLOW only if not already defined
winmain: check only for emptiness
parameters: move winKeyDefs & scintKeyDefs & PGNSI to anonymous names
parameters: remove redundant static/inline keywords
misc: remove unused source code

Closes #3030
2017-03-25 12:15:48 +01:00
Don HO 7aa7788af0 Add clean up for isCertificateValidated() function 2017-03-08 02:57:11 +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
Markus Heidelberg 6b6b81278b Integrate lexers for several hex file formats
Integrate Motorola S-Record lexer.
Integrate Intel HEX lexer.
Integrate Tektronix extended HEX lexer.

Fixes #1256, closes #1257
2017-02-26 00:25:05 +01:00
Don HO a482cbd215 Add tip in Find dialog for informing users the usage of Shift+Enter 2017-02-23 23:56:35 +01:00
Christian Grasser bc84b83af0 Correction of bufferID for iface document
- corrections for interface of bufferID, as x64 requires usage of UINT_PTR aka WPARAM instead of INT
- used new EolType instead of formatType
- removed commented NPPM_ADDREBAR, NPPM_UPDATEREBAR, NPPM_REMOVEREBAR not available in n++ code
- corrected typos

Closes #2920
2017-02-18 22:00:26 +01:00
redmanmale 73ee4426e4 Fix uncomment in block for line comment bug
Fixed block uncomment in undoStreamComment func, new argument.
tryBlockComment is to avoid loop call.
Fixed typo in doStreamComment func.

Fixes #1200, fixes #1714, fixes #2125, fixes #2854, closes #2875
2017-02-11 11:48:17 +01:00
SinghRajenM 3dfe526019 Show OS platform (32/64 bit) in Debug Info.
Closes #2895
2017-02-11 11:28:46 +01:00
Dan Gibson 7ad86ad688 Enhance 'Open File' command - open file without selecting whole path.
Closes #2878
2017-02-09 23:12:45 +01:00
SinghRajenM 7f98067c12 Add error notification on run dialog
1. GetLastErrorAsString is moved from PluginsManager.cpp to Common.h and common.cpp and also function signature is changed
2. Below method were already defined in common.cpp, but not declared in common.h
       generic_string intToString(int val);
       generic_string uintToString(unsigned int val);
3. Updated RunDlg.cpp to show error if ShellExecute fails

Closes #2626, Fixes #2179
2017-02-05 13:12:03 +01:00
oirfeodent 1b1265302f Enable Scintilla Lexer SCLEX_BAAN (BaanC Language)
Closes #2696
2017-01-22 23:10:08 +01:00
Don Ho c235e17f7d Add Plugins Administrator (UI part, in progress) 2017-01-20 14:13:41 +01:00
Motaz Alnuweiri 6a0b7653b0 Improve Folder Browse And Save Dialog
Enable the new user interface for "Folder Browse Dialog" including the
edit box and enable Vista style for "Save Dialog".

Closes #2631
2017-01-17 00:02:32 +01:00
Don Ho e838758e9b Fix geneation of MD5 on Unicode bug
"Geneate MD5 fom text dialog" has geneated wrong result on non ANSI
character (Unicode text).  This bug is due to wong input data.

Fixes #2743
2017-01-04 20:31:53 +01:00
Don Ho 8fc1a2ed30 Add MD5 functionalities 2017-01-01 18:28:25 +01:00
dail8859 5f8ba93b78 Check plugin architecture before loading
Closes #2348, Closes #2350
2016-10-06 20:59:22 -04:00
dail8859 d64a525f3e Sort plugin menu by plugin name 2016-10-06 17:24:27 -04:00
dail8859 eddafe55e8 CallTip text uses start/stop/separator settings
Closes #2274 Closes #2278
2016-09-24 16:56:09 -04:00
Don Ho 863c4e90c1 Add open file on selection & open container on selection commands 2016-08-22 00:52:26 +02:00
Don HO d4bcec1c01 Lost in Translation 3 2016-08-11 22:29:39 +02:00
Don HO 37ed299743 Lost in Translation 2 2016-08-10 00:22:45 +02:00
Don HO 83f291acf8 Merge branch 'master' of https://github.com/notepad-plus-plus/notepad-plus-plus 2016-07-23 11:39:04 +02:00
Don HO 30bd15f04a Use C++ conversion instead of C style cast 2016-07-23 11:37:58 +02:00
dail8859 bd373788ad Add thousands separator for Summary and Statusbar
Fixes #1329, Fixes #2103
2016-07-22 16:50:39 -04:00
Don HO 797765173d Improve code quality by using static code analysis tool (cppchecker) 2016-07-18 02:08:29 +02:00
Don HO 1e38c628bc Use C++ type conversion instead of C-Style conversion 2016-07-10 02:21:15 +02:00