Commit Graph

279 Commits

Author SHA1 Message Date
Jon Bockhorst
b75ccd29e2
Added close unchanged tabs command
Close #5185, close #5007
2019-03-26 13:11:15 +01:00
Don HO
1360ff82ba
Revert "Add "Multi-Select Next Occurence" feature"
The current commit contain unstable behaviour and could lead to crash.
OTOH Update Scintilla component will get the same feature. So Scintilla will be updated in short term.

This reverts commit 455fcb2da4.
2019-03-21 23:40:59 +01:00
Don HO
a7c59e1776
Add "Multi-Select Next Occurrence" into menu
Update localization files
2019-03-19 02:52:13 +01:00
jmbockhorst
455fcb2da4
Add "Multi-Select Next Occurence" feature
* Added Ctrl+Shift+D to select next occurence of selection
* Left and right movement works for multiple cursors
* Enter/return a new line works for multiple cursors

Close #5322, close #5399
2019-03-18 23:09:01 +01:00
Don HO
0c5a42153b
Remove unecessary cast 2019-03-18 09:45:25 +01:00
Don HO
6dfd22d52f
Add "View Current File in Browser" for Firefox, Chrome, IE & Edge
Restore deleted "Launch in browser" customized shorcuts in [EU-FOSSA] by implementing them in more secure way.
2019-03-16 04:19:02 +01:00
Don HO
5356f648c2
Remove some ugly coding styles 2019-03-13 02:02:35 +01:00
Don HO
3f5f69c6a6 [EU-FOSSA] Enhance external call code to avoid eventual arbitrary commands execution 2019-03-10 23:27:05 +01:00
Don HO
94c4608cc1 Fix a typo & add some comments 2019-03-01 13:35:26 +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
da2d14436c [EU-FOSSA] Enhance the macroable detection to avoid crash 2019-02-24 11:34:27 +01:00
Don HO
4472620f30 Remove "Get More Plugins" menu item 2019-02-20 09:46:17 +01:00
Don HO
b90be4a05b [EURO-FOSSA] Fix a vunerability from "Search on Internet" command
Restrict the usage of customized search engine on only "http://" or "https://" url schema to avoid whatever application can be launched via "Search on Internet" command.
2019-02-20 00:34:28 +01:00
Don HO
5bcf55c59e Add stackoverflow as search engine 2019-02-19 13:05:02 +01:00
Don HO
501980782f [EU-FOSSA] Check Updater's certificate before launching it 2019-02-13 19:39:39 +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
51f10bdba5 Add "Remove Duplicate Lines" feature
Remove duplicate consecutive lines from whole document.
2019-02-01 01:00:36 +01:00
Don HO
0f936707a2 [EU-FOSSA] Fix a security issue: RCE via unsanitized command line in "Open containing folder"
Summary of the Issue:
A remote code execution (RCE) vulnerability was found when a user opens a crafted containing folder in the command line. Code execution is possible by injecting a & followed by system commands into the name of the folder.

Steps to reproduce:
Download the attached archive on Windows: unzip_me.zip (F404758)
Unzip it and navigate into it
Open the txt file inside with Notepad++
Go to File -> Open containing folder -> cmd

Impact statement:
Successful exploitation of this vulnerability would allow an attacker to remotely execute arbitrary commands on the victim's computer.
2019-01-14 20:20:19 +01:00
Don HO
953919c406 Make new added SHA-256 hash features translatable 2018-12-26 00:06:04 +01:00
Don HO
647651b7ee Add generation of SHA-256 hash feature 2018-12-16 20:14:30 +01:00
Kovra
4f67c09859 Make text display right in summary panel
Close #5037

User @buggalicious found the summary text is displaying a count of characters without line endings not blanks.
Patch should address #3849 by updating the text to describe what is actually being counted.
2018-12-03 03:09:31 +01:00
Don HO
78a0f57ed1 Make Plugins Admin translatable 2018-11-27 13:12:56 +01:00
Don HO
f03ce289d3 Fix "Import plugins" not working issue. 2018-11-17 19:01:24 +01:00
Don HO
17ac06f83a Fix a regression of fail removing different architecture plugins 2018-11-12 03:37:42 +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
Chris Cammack
fe458a7072 Fix hanging problem while switching back a fully-folded document by using shortcut (Ctrl-TAB)
Use the _isFolding flag to avoid expensive redundant operations that cause an apparent hang when opening or switching tabs to a large fully-folded file.

The released version of Notepad++ uses the _isFolding flag to avoid expensive redundant operations when switching to a fully-folded tab using the mouse pointer.

However, opening a fully-folded file or switching to a fully-folded tab with the keyboard can produce a delay so long that Notepad++ appears to hang forever.

The hang is 100% reproducible and can be demonstrated in less than 60 seconds:

Download a deeply-nested file such as https://raw.githubusercontent.com/notepad-plus-plus/notepad-plus-plus/master/PowerEditor/src/Parameters.cpp or https://github.com/notepad-plus-plus/notepad-plus-plus/files/1555939/nppTest.zip
Open the file in Notepad++ and fold it using Alt-0
Create a new empty tab
Switch back and forth between tabs using the mouse, which is fast
Switch back and forth between tabs using the keyboard (Ctrl-Tab, Ctrl-Page(Up|Down), Ctrl-NumPad[0-9]), which will hang
This pull request applies the existing _isFolding flag to the forgotten keyboard and file open operations and prevents the hang caused by opening or switching tabs to a fully-folded file.

Fix #3996, fix #1128, fix #1806, fix #4871
Close #4867
2018-10-07 23:42:47 +02:00
Rajendra Singh
efbc3b2160 Fix Tail moniotoring incoherent status after deleting a monitored file
Steps to Reproduce the Issue:

1. Open two files a.txt (first tab) and b.txt (second tab)
2. Start tail monitoring for a.txt (first tab) and activate b.txt (second tab)
3. Now delete a.txt from the explorer
4. Come back to notepad++
5. Observe the behavior now

Unexpected Behavior:

At step 4, if user choose to keep the file, a.txt is still marked as monitoring. As soon as del action occurs, b.txt automatically comes under "tail monitoring".
If user choose to remove file, a.txt should be removed from the notepad. This is absolutely fine.

Fix #4750, close #4751
2018-10-05 23:49:55 +02:00
Pavel Nedev
abc6bc144b Fix possible file corruption during backup or power loss or other abnormal N++ termination
Fixes #240, Fixes #2381, Fixes #2883, Fixes #4346, Fixes #4655 and probably more issues related to loss of data.
Close #4803
2018-10-03 01:42:57 +02:00
Don HO
eb4edb50ef Plugin Admin - in progress 2018-07-19 02:03:17 +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
593cf451fb Clean up 2018-06-24 01:16:01 +02:00
Silent
1482420fcb Fixed pointer truncations reported after removing /Wv:18
Close #4544
2018-06-21 02:36:28 +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
f0e1ecdc72 Add ghost typing Unicode capacity 2018-03-07 02:17:26 +01:00
Don HO
789cf387df Make new entries translatable 2018-03-02 20:23:24 +01:00
Don HO
a1b4628b8b Fix the wrong integer replacement (instead of string)
Fix also some minor grammatical errors

Close #4203
2018-02-20 13:38:09 +01:00
Don HO
bd0867ee62 Add new language and update translations 2018-02-19 11:40:47 +01:00
Don HO
213af53389 Add more translations
Find dialog status bar messages are translatable.
Add more shortcut mapper translation entries.
2018-02-14 10:02:55 +01:00
Don HO
fb17638de7 Enhance Shortcut Mapper and make it translatable 2018-02-10 18:52:59 +01:00
Don HO
1a86603a0c Make more dialog strings translatable 2018-02-04 21:38:49 +01:00
SinghRajenM
926a5f5300 Fix menu items' state is not maintained due to save macro command
Fixes #4112, fixes #4114, closes #4115
2018-01-30 09:26:08 +01:00
Don Ho
e339c0f600 Notepad++ 7.5.2 release 2017-11-27 09:32:44 +01:00
SinghRajenM
60f113727c Remove unused/empty encoding from shortcut mapper
Closes #3763
2017-11-25 14:54:45 +01:00
Don HO
4005bf4182 Add DSpellCheck plugin into distribution 2017-11-23 22:44:22 +01:00
Oleksandr Redko
c304b3b873 Fix static analyzer message "The ternary operator always returns constant"
V583 The '?:' operator, regardless of its conditional expression, always returns one and the same value: 22. nppcommands.cpp 1696
2017-10-29 18:18:22 +02:00
Don HO
1c5e6191bd Adapt json format for Plugin admin 2017-09-24 18:27:42 +02:00
Don HO
e2f5f51fbc Read plugin list as json format (in progress) 2017-09-17 00:52:35 +02:00
Thomas Linder Puls
854acae4a1 Add Visual Prolog language support
Closes #1439
2017-08-25 09:43:36 +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
SinghRajenM
194376d6d7 Fixed monitoring related issuse and corrected code
Updated file "NppIO.cpp" to deal with issue #3553

However both existing and updated code looks same, but it is not.
command(IDM_VIEW_MONITORING);
looks equal to

buf->stopMonitoring();
checkMenuItem(IDM_VIEW_MONITORING, false);
_toolBar.setCheck(IDM_VIEW_MONITORING, false);
buf->setUserReadOnly(false);
Updated code works on the current file being processed while existing code command(IDM_VIEW_MONITORING); works with current active buffer. Debugging for reported case can help to understand the above statement.

Justification for updating file "NppCommands.cpp":

See static HANDLE hThread gets a handle when monitoring is activated on a tab.
This handle is overwritten if monitoring is activated on another tab. Resource leak happens here as previous handle can't be closed at all.
However, this handle is not used anywhere in the code, then just why not to close the handle as soon thread is created.

Closes #3554, fixes #3553
2017-07-24 19:28:26 +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
c8969b773f Add SWIFT language support 2017-06-17 20:03:28 +02:00
Don HO
11accf92e9 Fix issue of lossing syntax highlighting during "save as"
The new behaviour is: as user set a new syntax highlighting once, the
new file extension of "save as" will be ignored.

Fixes #1298
2017-05-09 01:59:05 +02:00
Don HO
f4228f5e52 Add "droppong folder as workspace" warning while both files and folddrs are being dropped. 2017-05-02 20:01:53 +02:00
Don HO
20e669ff01 Add document snapshot feature (in progress) 2017-04-18 01:31:41 +02:00
Don HO
a308ea57b7 Fix a typo
Closes #3077
2017-03-20 11:27:11 +01:00
Richard Brock
133977da67 Fix the mouse wheel to task list scroll crash issue
Closes #2982, fixes #1616, fixes #2603, fixes #2828, fixes #607
2017-03-06 03:25:42 +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
SinghRajenM
896d0ab695 Fix toolbar not showing issue while launching Notepad++ from system tray
Fixes #2600, closes #2729
2017-02-11 12:26:03 +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
Don HO
1d59e3ed0e Plugin Admin (in progress) 2017-02-10 00:08:29 +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
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
Don Ho
8fc1a2ed30 Add MD5 functionalities 2017-01-01 18:28:25 +01:00
dail8859
5af1c055d1 Correctly identify when a macro is playing
In certain cases (e.g. running the current macro until the end of file) and auto-completion and auto-indentation was not getting turned off, causing certain commands to get interpreted incorrectly. Closes #2553, Closes #2545, Closes #2556
2016-11-12 11:20:51 -05:00
Rajendra Singh
029cb09893 Fix Folder as Workspace toolbar icon inconsist behaviour
Fix Folder as Workspace toolbar button inconsist state while closing
Folder as Workspace windows directely (by clicking X button)

Fixes #2249, closes #2263
2016-10-07 20:15:10 +02:00
Don Ho
53ca639b17 Adapt wingup new version 4.1 to distinguish between 32 and 64 bit for update 2016-09-20 01:01:40 +02:00
Don Ho
f71fd6c63f Make command name more accurate
"Title Case" to "Proper Case"
2016-09-10 12:30:43 +02:00
MaxXor
0f44c299f2 Change repository URls
Closes #2219
2016-09-09 23:52:24 +02:00
Don Ho
e451efbd29 Add "Search on Internet" for selected words as build-in command
Update translation for French, Chinese and English.
2016-08-29 00:13:28 +02:00
Don Ho
863c4e90c1 Add open file on selection & open container on selection commands 2016-08-22 00:52:26 +02:00
Don Ho
fe01f7501b Update translations
Update english.xml, english_customizable.xml, chinese.xml, french.xml to
7.0
A minor refactoring
2016-08-19 13:39:31 +02:00
Don HO
37ed299743 Lost in Translation 2 2016-08-10 00:22:45 +02:00
A-R-C-A
9fe39017cb Added new Option: Enable scrolling beyond last line
Closes #2034

This option configures the vertical scroll range of Scintilla.
Disable this will configure the scroll range to end at last line
(DEFAULT).
Enable this will configure the scroll range to end one page beyond the
last line.
2016-07-31 23:33:29 +02:00
A-R-C-A
9cf45dea29 Add commands for moving the current file tab Forward/Backward
Closes #1864, closes #2033
2016-07-31 23:24:06 +02:00
A-R-C-A
f6e47cd536 Added more Change Case variants
Closes #2032

Added some more Change Case functions (Title Case, Sentence Case,
Invertcase, Randomcase).
Some of them have a normal and a blend version. The normal version will
change any formatting in the start/middle/end part of the word/sentence to
the chosen case. The blend version applies the changes only to the start
part but don't changes the middle/end part of the word/sentence. You can
use it when you want to keep some formatting in the middle/end part, for
instance CamelCase or proper nouns.
2016-07-31 21:48:24 +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
64d7535be1 x64 ready
1. Remove all warning while compiling in x64
2. Treat warning as error (W4) while compiling in x64
2016-06-05 20:30:22 +02:00
dail8859
0273917bbe Fix open in explorer problem while path contain unusual characters
Wrap path arg in quotes to properly open explorer

Closes #1689, fixes #1628
2016-05-15 22:42:59 +02:00
dail8859
4c6e5af484 Safely convert EOLs
Prevent eol conversion frrom readonly file.
Closes #1702, Closes #1701, Closes #1581, Closes #1371
2016-05-14 11:02:16 +02:00
Don Ho
4268349bf0 Fix crash bug in Log Monitoring while monitoring a large file 2016-05-11 02:18:04 +02:00
Don HO
2ff03fe250 New feature: Log Mornitoring (tail -f)
This feature allows users to monitor log files' writing, as Unix "tail -f"
command.
Here are the conditions of monitoring:
1. file to monitor should exist.
2. file will be set as readonly during monitoring.
3. each update will scroll to the last line.
2016-05-07 12:12:18 +02:00
Don Ho
93c704c857 Add "Open Folder as Workspace" command in file menu 2016-03-19 16:15:21 +01:00
dail8859
24c11375cf Use SCI_SETTARGETRANGE where possible 2016-03-03 21:25:48 +01:00
YWX
cfa57b6818 Notepad++ support both SCLEX_FORTRAN and SCLEX_F77
Closes #1381
2016-03-01 21:34:52 +01:00
Don Ho
058c9d5923 Folder as Workspace (implementation done) 2016-02-08 01:34:33 +01:00
Don Ho
81deab0554 File Browser (In progress)
1. Memorize the opened folders for the next session.
2. Add tip infos.
3. Add "Explorer from here" & "Command from here" context menu.
2016-02-02 19:06:23 +01:00
Don Ho
773397d6ea Add Debug Info feature 2015-12-07 01:15:17 +01:00
Don Ho
fe62ff989b Make function naming more explicite 2015-10-27 17:26:29 +01:00
Don Ho
280ddcd493 Make the EOL type more explicite 2015-10-27 15:35:19 +01:00
dail8859
459d59f8ba Update DocMap when setting user or external lexer
Closes #1050, fixes #1009
When setting the language to a user defined or external lexer, the DocMap
was not being refreshed to the new syntax.
2015-10-26 00:17:47 +01:00
dail8859
7781f1d03e Fix possible file corruption during macro playback
closes #1007, closes #919, closes #834
When backups are enabled, playing back a macro that takes a while can
corrupt a file (see the mentioned issues). I tested this with a ~100,000
line text file, ~3.3MB in size. Created a macro of Down5, Delete10. Played
this till the end of the file. Took about 20s to run so it had a few
backup cycles during it. Reproduced it fairly easily and never had it
happen after this adjustment.
2015-10-24 19:32:37 +02:00
Don Ho
981ee5ed72 Fix macro playback inseting/removing characters randomly.
Fix macro playback inseting/removing characters randomly due to
auto-insert interfering during macro recording and playing back. (fixes
#649, fixes #970, fixes #304, fixes #992)
2015-10-07 17:55:29 +02:00
Don Ho
7a25c9827e Make tabbar higher 2015-09-22 20:33:28 +02:00
Don Ho
46e810aa53 Add JSON language support; Add auto-detection for xml, php and bash. 2015-09-19 18:49:55 +02:00
Don Ho
2739a973d7 [RESTORE] Add back "Notepad++ Community (Forum)" menu item 2015-08-15 16:29:17 +02:00