116 Commits

Author SHA1 Message Date
PeterCJ
8f24e89824 Add syntax highlighting for Go/Golang
(as done in SciTE, Go/Golang can use cpp lexer)

Fix #8090, close #14966
2024-04-11 17:58:43 +02:00
Don Ho
9251955d10 Support template literal (template strings) in JavaScript
Fix #3822
2024-03-12 04:12:52 +01:00
Don Ho
aa0be9973b Add support for Change History in the text
This commit follows the commit:
fd1f785b89

Close #14838
2024-03-10 05:17:08 +01:00
ozone10
9d92b0a869 Fix some gcc warnings
Fix #14845, close #14846
2024-03-09 03:40:04 +01:00
Christian Grasser
9d09ee818a Fix a potential undefined behaviour & improve some codes
- init grabSize
- optimize WcharMbcsConvertor instance set
- remove unused var in TreeView::searchLeafRecusivelyAndBuildTree()
- missing nullpointer check in ScintillaEditView::init()

Close #14844
2024-03-08 21:00:17 +01:00
mpheath
fd1f785b89 Add Change History colour configuration
Fix #12321, fix #13915, close #14819
2024-03-06 15:48:15 +01:00
Don Ho
35deb8a303 Make "Prevent C0 input" feature optional 2024-02-29 17:51:27 +01:00
Alan Kilborn
40adc38201 Prevent typing control characters into document
Fix #13279, close #14766
2024-02-28 17:01:23 +01:00
Don Ho
d83d4c9239 Fix plugins not recieving some Scintilla notification types regression
Remove the restriction for Scintilla notification types for plugins.

Ref: https://community.notepad-plus-plus.org/topic/25497/notepad-release-8-6-4/9
2024-02-22 17:22:54 +01:00
Don Ho
827b08f6ff Fix regression that the view cannot be activated by mouse clicking
SCI_SETCOMMANDEVENTS cannot be set to false, because SCEN_SETFOCUS is being used by Notepad++

The regression was introduced by commit: 044296eea1

Fix https://community.notepad-plus-plus.org/topic/25490/notepad-release-8-6-3/7?_=1708380779619
2024-02-19 23:27:48 +01:00
Don Ho
f2d66170fc Restore multi-editing option on GUI
Make also Column To Multi-editing optional on GUI and cancel the usage of noColumnToMultiSelect.xml file.
For users who have added "noColumnToMultiSelect.xml" for disabling "Column To Multi-editing" feature,
please go to "Editing 2" section of Preferences to disable this feature.

Ref: https://community.notepad-plus-plus.org/topic/25364/notepad-v8-6-2-release/11?_=1707952609907
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14611#issuecomment-1937487607

Fix #14645, close #14734
2024-02-15 18:27:48 +01:00
Don Ho
044296eea1 Fix Replace All crash & performance issue
Fix  #14630, close #14685
2024-02-08 02:20:57 +01:00
Don Ho
f7c44b4413 Restore Shift-DEL, Ctrl-INS and Shift-INS & fix Ctrl+V can't paste into the text fields of forms for certain plugins
This PR restores shortcuts Shift-DEL, Ctrl-INS and Shift-INS for Cut / Copy / Paste respectively.
the action to delete entire line without selection is removed in this PR due to its shortcut Shift-DEL has triggered several critical issues.

To delete entire line, the users are encouraged to use Scintilla default shortcuts set in Shortcut Mapper: Ctrl-Shift-L (SCI_LINEDELETE). User can remap it to another shortcut via Shortcut mapper.

Fix #14568, fix #14470, fix #14571, close #14557, close #14569
2024-01-11 05:34:55 +01:00
Don Ho
dc6f6d1103 Fix deleting in column mode also delete an unexpected EOL
Fix #14426, close #14536
2024-01-03 06:16:54 +01:00
Don Ho
4bde0d4b53 Fix incorrect code
ref: 8ae049afbc (r135905629)

And also add new entries to tabContextMenu_example.xml
2023-12-30 03:53:47 +01:00
Don Ho
8ae049afbc Use 64-bit positions instead of 32-bit obsolete ones
ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/14359/files#r1437502252
2023-12-29 02:56:37 +01:00
Don Ho
3c4f0f9cb2 Make line copy/cut/delete while no selection optional
By adding disableLineCopyCutDelete.xml in "%APPDATA%\Notepad++\" directory (or in the Notepad++ installed directory in portable mode) to:
1. prevent hard coded Shift-DEL shortcut deletes whole line while no selection.
2. prevent Copy command (Ctrl-C) copies whole line (without selection).
3. prevent Cut command (Ctrl-X) cuts whole line (without selection).
4. add SCI_CUT (Shift-DEL), SCI_COPY (Ctrl-INS) & SCI_PASTE (Shift-INS) shortcuts

Note: the old disableHardCodedShiftDelete.xml (of 53b5055118caa5934b535c5521f04f991c13143b) is canceled, the new disableLineCopyCutDelete.xml is used instead.

Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14296#issuecomment-1866679990
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14401#issuecomment-1833326429

Close #14513
2023-12-23 04:45:09 +01:00
Don Ho
53b5055118 Make hard-coded shortcut "Shift-DEL" be abled to be disabled
In order to disable the hard-coded shortcut "Shift-DEL" ability (new feature introduced in v8.6) which delete current line while no selection, users must add an empty file named "disableHardCodedShiftDelete.xml", in "%APPDATA%\Notepad++\" directory (or in the Notepad++ installed directory in portable mode) to prevent this behaviour.

Fix #14470, close #14481
2023-12-14 16:58:12 +01:00
Don Ho
aef0438180 Make column to multi-select be abled to be disabled
In order to disable the "Column to multi-select" ability (new feature introduced in v8.6), users must add an empty file named "noColumnToMultiSelect.xml", in "%APPDATA%\Notepad++\" directory (or in the Notepad++ installed directory in portable mode) to prevent this behaviour.

ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14296#issuecomment-1848076816

Fix #14464, close #14476
2023-12-13 03:25:33 +01:00
Don Ho
2724e0ddbb Make RTL per document & remembered across the sessions
This commit adds the ability of RTL/LTR per document (tab), and memorizes RTL setting of each file in the session.xml.

It also adds an attribute "editZoneRTL" in localization XML file. if "RTL" attribute is present and its value is "yes", then user can add  "editZoneRTL" attribute beside, and set the value of the attribute in question to "no", so Notepad++ GUI will be RTL, but Scintilla zone will be LTR by opening files.  Of course, user can set any direction they want afterward, and what they have set on document will be remembered across the sessions.

Fix #9665, fix #9950, fix #14385, close #14431
2023-12-02 17:49:09 +01:00
Don Ho
0978b2e29f Fix visual glichy on multi-paste
This PR removes Shift-DEL Ctrl-INS & Shift-INS shortcut from Scintilla.
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14401#issuecomment-1830302635

Now for Copy/Cut/Paste commands and their shortcut are coherent. ie. if user remaps the shortcuts of these 3 commands, both single/multiple selection operation with the commands in question will follow the changed shortcuts.

It also fixes 2 bugs:
1. visual glitch problem of read-only while multi-pasting.
2. the shortcut **Ctrl-C** in Search results works now.

Fix #14410, close #14423
2023-11-29 23:21:11 +01:00
Don Ho
7deb12aeed Enable Copy & Cut commands on menu all the time
Before the implementation of e9c50ed967,
Copy & Cut command were disabled when there were no selection, which makes sense because there was nothing to be copied & cut.
Now users can copy/cut current line without selection.

Fix #14401, close #14415
2023-11-28 15:10:51 +01:00
Don Ho
9bc790b014 Prevent Direct Write being set if user uses RTL
Ref: 975d29b30b (commitcomment-132946815)

Close #14374
2023-11-22 02:06:01 +01:00
Don Ho
c62e222985 Fix Multi-edit DEL keystroke delete part of Unicode character
Fix https://community.notepad-plus-plus.org/topic/25150/notepad-v8-6-release-candidate/5?_=1700578401627
2023-11-22 00:17:26 +01:00
Don Ho
0917875034 Make all SCI_SETELEMENTCOLOUR message use 32 bits color 2023-11-20 04:59:40 +01:00
Don Ho
b24734df8f Fix backspace keystroke not working for multi-editing
Fix https://github.com/notepad-plus-plus/notepad-plus-plus/pull/14359#issuecomment-1815898951
2023-11-18 20:24:20 +01:00
Don Ho
975d29b30b Enable Direct Write Technology in Scintilla by default
And disable Direct Write under WINE, due to the performance issue.
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/8510
2023-11-18 19:22:59 +01:00
Don Ho
c517985beb Fix DELETE key not working in multi-editing for EOL
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/14338#issuecomment-1813006657

Close #14359
2023-11-16 18:31:00 +01:00
Don Ho
3e7425f6b1 Fix a typo 2023-11-16 05:29:24 +01:00
Don Ho
1764758669 Enhance multi-edit paste and Enter key type
Also disable auto-indent during multi-editing.

Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/14338#issuecomment-1809045648

Close #14355
2023-11-15 15:37:34 +01:00
Don Ho
812745d850 Make multi-select background & caret colour customizable
Fix #14302, close #14350
2023-11-14 05:40:08 +01:00
Don Ho
4ff9d77d2b Make multi-select Copy/Paste behaviour as same as column edit's one
Copy some multi-select texts and paste them make all text glued all together.
This commit makes pasted texts separated by EOL, as column selection's Copy/Paste behaviour.

Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14266#issuecomment-1799203336

Close #14338
2023-11-11 00:04:36 +01:00
Don Ho
1fafd0dc0b Fix hasSelection wrongly detected
Fix #14322, close #14330
2023-11-07 03:26:14 +01:00
Don Ho
2fb8d7fc77 Fix the shortcut bug (a regression) in commit e9c50ed
Ref: e9c50ed967 (commitcomment-131870570)
2023-11-07 03:17:01 +01:00
Don Ho
e9c50ed967 Add 3 line operation (delete, copy & cut) shortcuts
* Shift-Delete: without selected text, it will delete the whole line.
* Ctrl-C: without selected text, it will copy the whole line.
* Ctrl-X: without selected text, it will cut the whole line.

Fix #14296, close #14298
2023-11-06 20:58:20 +01:00
Don Ho
b5730eea31 Multi-edit enhancement: column mode to multi-edit on HOME/END/Arrow keys
This feature transforms a rectangular selection to multiple edit mode, so it's manipulatable with HOME, END and Arrow keys without loosing the set carets.

Related issue: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/8203

Fix #14266, close #14313
2023-11-06 13:43:53 +01:00
Don Ho
cab4d40b3f Add multi-select commands
Add "Multi-select All" & "Multi-select Next" for 4 modes to multi-select the occurrences respectively:
1. Match Case Only
2. Match Whole Word Only
3. Match Case & Whole Word
4. Ignore Case & Whole Word

Add also 2 commands "Undo the Latest Added Multi-Select" & "Skip Current && Go to Next Multi-select" for undoing latest added slection & skipping current selection and do the next one.

Users can asign the shortcuts to these 10 commands so multi-occurrence can be easily selected via shortcuts and be modified silmutanously.

This feature is inspired by: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/8203#issuecomment-623712205

Fix #8203, close #14295
2023-11-01 03:40:54 +01:00
Adrian Kulawik
4ba92b04ec Fix "Hide lines" command hiding unselected lines issue
To solve this issue, lambda removeMarker can be set to only remove just begin or end marker. By doing so, the process of merging adjacent hidden sections is limited and as a result, lines that shouldn't be hidden remain visible.

Fix #14166, close #14167
2023-10-29 15:40:14 +01:00
mpheath
089f7d6935 Make JSON5 to use JSON keywords
Fix #14205, close #14223
2023-10-18 16:03:22 +02:00
cynthplusplus
c49692cb47 Fix hide lines merging to avoid merging across a visible line
Fix #12844, close #13681
2023-08-11 22:31:03 +02:00
cynthplusplus
9b7dff6fa9 Fix proper case conversion logic for single and smart single quotes
Changed all instances of TITLECASE to PROPERCASE for consistency.

Close #13584
2023-08-07 15:48:57 +02:00
Don Ho
fdae99e6c0 Fix new document number jumps from "New 1" to "New 3" issue
Solution from:
https://github.com/notepad-plus-plus/notepad-plus-plus/pull/13931#issuecomment-1653523758

Fix #13194, fix #8677, close #13960
2023-08-05 12:49:49 +02:00
Don Ho
dea388bf59 Simplify the logic in buffer creating 2023-08-02 21:11:55 +02:00
byronigoe
3bdefd88d0 Fix handling of URLs in JSON
Fix #13522, close 13907
2023-07-23 10:06:58 +02:00
Don Ho
9e24ec55db Improve lines sorting memory consumption
Use reference instead of copy for the sorting result.
Also improve lines sorting performance slightly: Sorting a 200 MB text file takes 13.71 seconds instead of 14.63 seconds.

Fix #10435, close #13852
2023-07-02 03:32:55 +02:00
ozone10
da8e48f67a Fix EOL symbol color/appearence being reset while changing encoding issue
Fix #13728, close #13763
2023-06-11 13:41:23 +02:00
ozone10
2d5c241e2b Fix Change history margin in black color issue
Use Line number margin style color for Change history margin, if not defined in 'theme.xml'.

Fix #12764, fix #13593, close #13594
2023-05-04 05:03:49 +02:00
ozone10
0cad36d636 Add hide/show ability of Control Characters (C0 & C1) and Unicode EOL
Fix #8111, close #13324
2023-04-11 15:35:35 +02:00
afalkenhahn
d21f7cbf5c Added Hollywood support
Close #13417
2023-03-26 23:39:47 +02:00
Alan Kilborn
7f54a4b959 Add ability to do leading spaces with ColumnEditor
Fix #11148, fix #13309, close #13336
2023-03-25 02:33:09 +01:00