1. If any session ext is set, then give preference to session ext instead
of "All Types (* . *). This is applicable for both save/load session
methods.
2. Show error message when user tries to load wrong session file (e.g. any
text file which is not a valid session file).
3. Correct typo and wrong description in a messagebox.
Closes#2921
Fixed uinstaller issues:
1. Folder "localization" is not removed even all the files are removed from
this folder.
2. Folder "pluging\APIs" is not removed even all the files are removed from
this folder.
3. Three files are not removed (contextMenu.xml, functionList.xml and
shortcuts.xml). There might be more files.
From "%appdata%\Notepad"
4. Bakcup folder (form %appdata%\Notepad++) is not removed if backup folder
is not empty.
5. Folder "themes" is not removed even all the files are removed.
6. Because of above two items, parent folder ("%appdata%\Notepad") is also
not removed.
7. Rephrase user message when user tries to install 64 bit while 32 is
already installed (vice versa).
Closes#2565
This adds in highlighting for Python 3.5.0+ users who uses "async def" and
"await"'s for coroutines.
These keywords are also planned to change in 3.6.0 as well with PEP-530.
http://www.python.org/dev/peps/pep-0530Closes#2650
- 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
See changes mentioned in #1299; This update fixes it in the files used by the installer so it works by default without requiring the steps in #1299.
Closes#1799
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
If empty column(s) is/are selected in column mode: create a new document
then Alt-Shift + Arrow right key to select, launch colomn mode editor to
insert some number -> NPP crash.
Fixes#2820, Closes#2850
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
* Implemented XML Schema for functionList.xml.
* functionList.xml:
1. new layout of association map;
2. placed `displayName` before `id` attribute where applicable;
3. utilize inline comments;
4. parsers added: 'XML for FunctionList', Assembly, AutoIt3, InnoSetup, PowerShell, KRL, Sinumerik and UniVerse BASIC;
5. parsers improved: C, Java, Batch, Bash, XML and NSIS;
6. replaced `[\t\x20]` with `\h` where possible;
7. using upper case notation for hexadecimal values e.g. `\x7F-\xFF`;
Closes#2602
While double-clicking to select or searching with "Match whole word
only" option, the selected characters stop on non-word characters. With
this enhancement, users can include any non-word character into word
characters list, to change its default behaviour.
Preferences... -> Recent Files History -> Don't check at launch time
does not work anymore. If it is unchecked, it will be checked again on
next Notepad++ launch time.
Fixes#2746
In the environment of multi-monitor with a laptop + a stantion, it
happens all the time that users have lost Find dialog after detaching
and retatching - the solution: Ctrl-F twice will get back your Find
dialog.
In Find dialog, the new shortcut of "Find All in Current Document"
buttons (in v7.2.1) has hijacked the one of Replace &All. Here's the
fix for this regression.
- Use DWORD instead of string for Minor and major version
- Show only "Uninstall" instead of "Uninstall/Change"
- Write installed size as well which will be shown in "Program and Features"
Closes#2580
Added new VB keywords; all from addhandler to xor are official keywords
of the current VB.NET; those from attribute to unload are legacy
keywords (VB6 etc.); those from aggregate to yiels are not reserved but
still have a special meaning in most cases
Closes#2496
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
This bug can be reproduce by turning off smart highlight then restart
Notepad++ : some smart highlight options are still enabled.
Fixes#2442, closes#2465
1. For RTL languages such as hebrew, "Close" button goes beyond the dialog.
2. Few Text is chopped (specially ". matches newline" and "Regular expression")
Closes#2337
- Updated file header and `associationMap`-header.
- Changed order of associations and parsers to follow ascending 'langID' numerical values.
- Removed `displayMode` attributes (are not used).
- Make functionList.xml XML compliant.
- Put set of characters in same order in all character groups.
- Correct `)/` to `/)` in `commentExpr`-attribute.
- Add pattern modifier to multi-line comment expression.
- Add pattern modifier to single-line comment expression.
- When applicable remove outer most parentheses of `commentExpr`-attribute.
- As an underscore is part of character class `\w` (equals group `[A-Za-z0-9_]`) remove the underscore when both are used in the same group.
- Replace the `A-Za-z0-9_` set in a group with character class `\w` as they are equal.
- No need to put one character class in a group e.g. change `[\w]` to `\w`.
- Replace space character with its hexdecimal representation i.e. \x20.
- Corrected Python parser i.e. renamed `funcNameExpr` to `nameExpr` in function-parser part.
- Changed use of L_JS (19) to L_JAVASCRIPT (58).
Closes#2335
Fix Folder as Workspace toolbar button inconsist state while closing
Folder as Workspace windows directely (by clicking X button)
Fixes#2249, closes#2263
64-bit Installer can detect the 32-bit installation (and vice versa),
and suggest users to remove the existing one before install the new one.
It works only when the existing installation is on "C:\Program Files
(x86)\Notepad++" or "C:\Program Files\Notepad++" directory
After uninstalling 64-bit Notepad++ via uninstaller, the entry remains in
the "uninstall programs" section of panel of configuration. This commit fixes the bug.
The new behaviour (by default) is open the folder in "Folder as
Workspace". The old behaviour is open all files in folder (recursively).
Now user can choose it.
Closes#2175
As of now npp installer is not using any compression to reduce the installer size. I don't know if there is any history behind not using any compression algorithm.
But I noticed a reasonable difference after using /SOLID lzma compression technique. It reduces the installer size by 30~35%.
If we uses /FINAL lzma, it is improved by 15~18%.
Closes#2018, fixes#2016
This commit fixes the issue of notepad++ defaulting to 'Normal text file'
file type when creating new file form the command like:
notepad++.exe new_example_file.cpp
Closes#2086
DLL Hijacking Vulnerability is present in old version of NSIS. This
issue is fixed by updating new version of NSIS to build Notepad++
installer.
closes#1923, Fixes#1006
-quitOnEmpty command line flag makes Notepad++ to quit when the last tab is closed. Useful for people who use Notead++ for things like editing Git commit messages (using -multiInst -notabbar -nosession), and want to signal they are done editing by closing the tab with Ctrl-W instead of Alt-F4.
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.
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.
Closes#2031
Improved the Single Line Comment/Uncomment/Toggle behaviour for Lexers
with the following condition:
Single Line Comment Symbol : false
Stream Comment Symbol Start : true
Stream Comment Symbol End : true
This includes among others: XML, HTML, CSS, Caml, Pascal, ...
In the current Npp a 'Single Line Comment' will do a 'Block Comment' and
the 'Toggle Single Line Comment' entry does nothing at all for these kind
of Lexers.
This implementation uses the stream comment symbols (start/end) to
accomplish a single line comment,
exactly the same way as the usual Single Line Comment/Uncomment/Toggle
functionality does for Lexers with a single line symbol.
This will add more consistency to the Single Line Comment feature.
NOTE
The selection range behaviour has been revised to be more accurate and for
fixing some 'line leaving' bugs when uncommenting.
Closese #2029
Added a basic conflict detection functionality to the Shortcut Mapper.
This includes:
* Marking conflicts with a different background color.
* Displaying conflict information.
* Warning when attempting to assign an already existing short-key.
Some more related changes to the Shortcut Mapper:
* Fixed some bugs, for instance:
1. Babygrid was shrinking on any attempt to adjust its position to integral
rows.
2. Context menu entries were enabled for empty lists. Using them would crash
Npp.
3. ... some more minor bug fixes.
* Performance enhancements to Babygrid.
* Minor UI improvements.
* Babygrid is configured dpi aware.
Closes#2061
To reproduce such bug, the file foo.txt to monitor should be in the root folder (ie. c:\foo.txt).
The algorithm is check if folder path has '\' at the end, if no, then add a '\' then append file name.
In the original code, instead of checking folder path, the file name is checked. Since file name doesn't contain '\' (ie. c:\temp), a '\' is always added on folder path which has no '\' at the end. it works for none root folder such as C:\, E:\ or F:\.