Commit Graph

213 Commits

Author SHA1 Message Date
Don HO bbeb66aa56
Fix crash issue while passing argument "-export=functionList"
This regression is due to commit 7399257f56
(7399257f56)
2020-11-11 02:23:24 +01:00
Don HO 7399257f56 Fix docked panels appear with "-nosession" cmd line parameters
Fix #8005
2020-11-09 04:19:37 +01:00
Scott Sumner bbde64c308
Add preference for save type of normal text files
Fix #8866, close #8948
2020-10-05 00:26:48 +02:00
Scott Sumner 79cf60f498
Add alternative icon set for tab bar
Close #8068, close #8871
2020-09-30 03:04:06 +02:00
Don HO a2264e5b36
Restore Folder as Workspace's latest selected item of last session on start up
Fix #8353
2020-09-19 00:36:03 +02:00
Udo Hoffmann 84430809df Add back hovered blue underlined URLs
Fix #8654, close #8713
2020-08-23 12:28:14 +02:00
Scott Sumner 209ccb97ec Add confirmation preference for Replace All in All Opened Documents operation
Close #8527, close #8708
2020-08-16 16:15:21 +02:00
Scott Sumner 3a2edb99c4 Add word-wrap option to find-results context menu
Close #8624, close #8681
2020-08-13 17:17:22 +02:00
Scott Sumner 33f042932f Make (Find) dlgAlwaysVisible a true Preference setting
Close #7908, close #8651
2020-08-12 23:50:47 +02:00
Scott Sumner f1b059414b
Add an option to prevent right-click from canceling selection
Fix #8563, close  #8564
2020-08-06 20:11:10 +02:00
Udo Hoffmann 0a821b60e2
Add an option to improve rendering special Unicode characters
... by using Scintilla's DirectWrite technology.
It allows ligature support if the font needed (for exemple "Fira Code") is installed.

Fix #2287, close #8326
Fix #442, fix #675, fix #813, fix #870, fix #1621, fix #3458, fix #4056, fix #4086, fix #4490, fix #8305
2020-06-12 19:16:39 +02:00
Don HO 5e262c8122
Add an non-UI option to allow regEx backward search
Set "regexBackward4PowerUser" to "yes" in config.xml to eanable this option.
2020-06-05 00:56:25 +02:00
Don HO c3ec0cbf6e
Make vertical edge (column marker) usage easier
Simplify the UI to make vertical edge easy to use.
2020-04-17 16:20:34 +02:00
Don HO cc2c9b7740
Implement multi-line edge feature
Close #3128
2020-04-13 04:15:32 +02:00
Don HO 3de506bf48
Update copyright
Close #5919
2020-04-04 23:03:18 +02:00
Scott Sumner 4cc6215e63
Implement issue 905 to make Find window remember its position across runs
Close #905, close #7898
2020-02-07 23:31:29 +01:00
Christophe Meriaux 9387dcdaef
Fix restoring line position issue while document is wrapped
If you switch between tabs while wrap mode is enable, text jump to another lines.
It's an old bug, fixed in v7.5.9, but it had performance regression so it was reverted in v6.0.0.

It's been one year, and I'm back.
This works whatever the size of the file.
There isn't any performance regression because we don't use SCI_ENSUREVISIBLE scintilla command.

In case wrap option on, The restore position function is done in **twice** steps.

- First step: set selection, set anchor, set xoffset...
- Second step: once Scintilla has send the notification SCN_PAINTED, we can scroll several lines to set the first visible line to the correct wrapped line.

Keep in mind that Line wrapping is a background activity that takes time, specially for huge file.

Fix #2078, fix #2576, fix #3570, fix #4825, fix #4881, close #7781
2020-01-06 10:18:46 +01:00
Don HO 14074e1487
Disable file association settings when Notepad++'s no admin right
File association feature under Windows 10 needs the Administrator's preivilege.
This commit add an explicit message to users who want to use this feature, and disable this feature if Notepad++ has no Administrator's preivilege.

Fix #4984, fix #5192, fix #4542
2019-12-27 00:35:16 +05:00
Don HO 7a1096de5b
Make filling find field of Find dialog with selected word(s) optional
Close #3243
2019-12-25 13:32:40 +05:00
Waldi Ravens 4228c315fd
Make cmd cli ("Open Containing Folder in cmd") customizable
Add "commandLineInterpreter" setting in config.xml
No UI to set it, user has to add the fowllowing line into config.xml:
<GUIConfig name="commandLineInterpreter">powershell</GUIConfig>

(Use your shell to replace powershell)

Close #7737, close #7738
2019-12-15 18:27:34 +01:00
Don HO 3220eaaa30
Refine "Open UDL folder" command & make it translatable 2019-11-21 02:24:57 +01:00
Waldi Ravens 88a2f68f05
Fix typo
Close #6233
2019-10-21 10:47:00 +02:00
Don HO dde38183d3
Make monospaced font in Find dialog optional
Default value is disabled (old behaviour).
2019-10-17 14:16:10 +02:00
Don HO 445dc5ebc1
Fix a memory leak for NppParameters
Fix a memory leak due to not releasing allocated memory for NppParameters while quitting Notepad++
2019-10-05 20:51:29 +02:00
Don HO 10f6ff6c1f
Fix a crash (regression) due to "new-less" of NppParameters
The commit 'Make NppParameters singleton "new-less"' make NppParameters instantiate in the stack instead of allocating in the heap:
3dbb2c4b8e

It makes Notepad++ crash:
https://community.notepad-plus-plus.org/topic/18316/notepad-7-8-release-candidate-3/4

The crash is on following code:

  vector<MacroShortcut> & vShortcuts = NppParameters::getInstance().getMacroList();
  size_t nbItems = vShortcuts.size();
  for (size_t itemIndex2 = 0; itemIndex2 < nbItems; ++itemIndex2)
  {
  ...

vShortcuts.size() here return a random large number, which makes crash.

The explanation about vector::size() unexpected behaviour:
https://stackoverflow.com/questions/30548944/c-vector-size-is-wrong-and-higher-than-the-number-of-elements

Obviously the stack size is not large enough to contain NppParameters singleton in 64 bits.
2019-10-03 14:05:50 +02:00
Oirfeodent d5c0ef2c77
Increase Keyword Set for the adaptation of new updated Scintilla
This will enable languages having more than 7 keyword sets to use it.

"You can set up to 9 lists of keywords for use by the current lexer. keyWordSet can be 0 to 8" :
https://www.scintilla.org/ScintillaDoc.html#SCI_SETKEYWORDS

Fix #6020, close #6081
2019-08-23 11:29:45 +02:00
Don HO 06db9ee338
Code improvement for NppParameters 2019-08-14 22:13:24 +02:00
Rajendra Singh 938dae9b2a
Improve singleton
Close #6036
2019-08-13 12:48:05 +02:00
Don HO 3dbb2c4b8e
Make NppParameters singleton "new-less" 2019-08-10 23:53:59 +02:00
Rajendra Singh bfd8cd0702
Initialize a member value correctly to prevent from crash
_langType in CmdLineParamsDTO could not be copied so Initialize its value to prevent from the crash.

Close #5838
2019-06-27 09:42:47 +02:00
Rajendra Singh 9539a892eb
Code quality improvement: pass string by reference instead of value
Also remove not implemented methods addBufferToView(), moveBuffer() and doActionOrNot() from Notepad_plus.h

Close #5784
2019-06-25 14:21:35 +02:00
Don HO 57a49c3ba5
Add the commandline argument to open folders in "folder as workspace" panel
Add the ability to open folders in "folder as workspace" panel via command line argument "-openFoldersAsWorkspace".
Example:
notepad++ -openFoldersAsWorkspace c:\src\myProj01 c:\src\myProj02
The above command will launch notepad++ with folder as workspace panel by opening myProj01 and myProj02 in panel.

Close #4253, close #5100
2019-06-25 13:50:41 +02:00
Rajendra Singh cfa702a8a8
Retain read only flag state in session
Close #4987, Fix #4409, Fix #4872, Fix #2970, Fix #2548
2019-03-27 22:15:10 +01:00
Don HO 23bd8e484c
Use new "File Status Auto-Detection" option by default
And make it compatible with the existent arguments.
2019-03-17 21:19:20 +01:00
Don HO 193c4ecc5b
Clean up - remove dead code. 2019-03-17 18:02:06 +01:00
Rajendra Singh ba60fbdd71
Enhance "File status Auto-Detection" to avoid switching editing tab off behaviour
Fix a long waiting issue about file auto change detection, by adding a new option to avoid an annoying behaviour:
If file content is changed outside of Notepad++, while focus back to Notepad++, the current editing tab will be switched off, the changed file will be switched to and user will be asked to reload the file in question.
The new option remains the editing tab. User will be asked to reload it only if the changed file is switched in.

Fix #1087, Fix #3349, Fix #3333, Fix #3528, Fix #3138, Fix #3934, Fix #3160, Fix #1822, Fix #745, Fix #3599, Fix #4329, Fix #3971, Fix #4592, Fix #1116, Fix #2082
Close #4180, Close #5386, Close #4189, Close #1995, Close #2867, Close #3306, Close #2776, Close #2724, Close #2405, Close #4072, Close #4747

Close #5389
2019-03-17 12:21:16 +01:00
Don HO 8b0a85bd56 Use new style open/save file dialog by default 2019-03-05 19:42:29 +01:00
Rajendra Singh 2a4a70ed21 Pass the arguments by reference instead of by copy to improve the performance
Close #5341
2019-02-28 13:38:03 +01:00
Don HO 5bcf55c59e Add stackoverflow as search engine 2019-02-19 13:05:02 +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 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 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 c919dc6270 Notepad++ won't load plugins from %LOCALAPPDATA%\Notepad++\plugins\ anymore
Notepad++ loads plugins only from 2 locations:
1. %PROGRAMDATA%\Notepad++\plugins\ - while Notepad++ installed on: %PROGRAMFILES%\Notepad++\ or wherever without doLocalConf.xml
2. <NPP_INST_DIR>\plugins\ - while Notepad++ installed on wherever (except in %PROGRAMFILES%\Notepad++\) with doLocalConf.xml
2018-11-28 13:31:44 +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
Don HO 116f400753 Add thee new capacity to load plugins from %ALLUSERSPROFILE%
By putting an empty "pluginsForAllUsers.xml" file, all the plugins will be loaded from %ALLUSERSPROFILE%\Notepad++\plugins\.
2018-11-21 02:20:36 +01:00
Don HO 8dea25feb5 Refactoring for optimizing/simplifying the code for getting plugin root path 2018-11-07 22:51:27 +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 fdf954f714 Revert "Fix scintilla restoring wrapped buffer issue" due to a serious performance issue
Check https://notepad-plus-plus.org/community/topic/16468/notepad-7-5-9-release

This reverts commit 40192bda0c.
2018-10-31 00:38:26 +01:00
Christophe Meriaux 40192bda0c Fix scintilla restoring wrapped buffer issue
When we are restoring a wrapped buffer,
we send SCI_VISIBLEFROMDOCLINE message to convert a file line number to a visual line number,
scintalla seems to ignore the "wrap" option of this buffer.
Workaroud: execute SCI_ENSUREVISIBLE after set position and before executing SCI_VISIBLEFROMDOCLINE.

It seems that this issue has been encountered in ScitillaComponent/FindReplaceDlg.cpp in Searching::displaySectionCentered

Fix #4571, close #4624
2018-10-02 02:52:34 +02:00
Don HO 71dd261a50 Plugin Admin: Change the way to remove & update plugin
uninstall: tell user to restart Notepad++ - Gup.exe remove all - clean in batch - relaunch Notepad++
gup.exe -clean "appPath2Launch" "dest_folder" "fold1" "a fold2" "fold3"
gup.exe -clean "c:\npp\notepad++.exe" "c:\temp\" "toto" "ti ti" "tata"

update:    tell user to restart Notepad++ - Gup.exe download - remove all in directory - unzip/clean in batch - relaunch Notepad++
gup.exe -unzip -clean  "appPath2Launch" "dest_folder" "toto http://toto" "titi http://titi" "tata http://tata"
gup.exe -unzip -clean "c:\npp\notepad++.exe" c:\temp\ "toto http://toto" "ti et ti http://titi" "tata http://tata"

Install:   GUp.exe download - create directory - unzip: one by one, no relaunch
gup.exe -unzipTo c:\donho\notepad++\plugins "https://github.com/npp-plugins/mimetools/releases/download/v2.1/mimetools.v2.1.zip"
2018-09-13 23:07:22 +02:00