116 Commits

Author SHA1 Message Date
zeltop
816fa3e414 Add GDScript language
Adds GDScript language support, autocomplete file, functionlist, default and dark themes.

Fix #13329, close #13335
2023-03-14 23:45:57 +01:00
Robert Di Pardo
01bbebf825 Add MS Transact-SQL
Add built-in support for Microsoft's SQL dialect, Transact-SQL, used by Microsoft SQL Server. This enables Lexilla's dedicated MS SQL lexer.
To preserve the current file extension mapping, the new lexer is mapped to the *.tsql file extension only.
Users can select "Microsoft Transact-SQL" from the Language menu to apply MS SQL Server style to scripts with the *.sql extension.

Keywords and styles copied from https://www.scintilla.org/mssql.properties

Fix #5940, fix #7988, fix #11718, fix #12610, fix #13160, close #13184
2023-03-14 01:03:37 +01:00
Alan Kilborn
5251d8477a Code enhancement: remove unnecessary hidden lines separator marker
Let Scintilla manage hidden lines separator and free marker 17 for plugins use.

Fix #12109, close #13223
2023-03-11 02:03:04 +01:00
Don Ho
25be5dd3b6 Code enhancement: remove some MSVS analysis warning (Part 2) 2023-03-06 19:33:36 +01:00
Don Ho
03a5c4795b Add new notification for lexer plugin
The NPPN_EXTERNALLEXERBUFFER is sent to plugins with buffer ID (idFrom) when a new lexer is applied to the buffer in question.

Fix #12351, close #13091
2023-02-11 19:20:57 +01:00
ozone10
f38195a0da Fix GCC conversion warnings
Fix #13055, close #13056
2023-02-06 20:06:56 +01:00
ozone10
aaab190763 Add show non-printable characters command
| Name                         | Codepoint | Abbreviation |
|------------------------------|-----------|--------------|
| No-Break Space               | U+00A0    | NBSP         |
| Ogham Space Mark             | U+1680    | OSPM         |
| Mongolian Vowel Separator    | U+180E    | MVS          |
| En Quad                      | U+2000    | NQSP         |
| Em Quad                      | U+2001    | MQSP         |
| En Space                     | U+2002    | ENSP         |
| Em Space                     | U+2003    | EMSP         |
| Three-Per-Em Space           | U+2004    | 3/MSP        |
| Four-Per-Em Space            | U+2005    | 4/MSP        |
| Six-Per-Em Space             | U+2006    | 6/MSP        |
| Figure Space                 | U+2007    | FSP          |
| Punctation Space             | U+2008    | PSP          |
| Thin Space                   | U+2009    | THSP         |
| Hair Space                   | U+200A    | HSP          |
| Zero-Width Space             | U+200B    | ZWSP         |
| Zero-Width Non-Joiner        | U+200C    | ZWNJ         |
| Zero-Width Joiner            | U+200D    | ZWJ          |
| Left-To-Right Mark           | U+200E    | LRM          |
| Right-To-Left Mark           | U+200F    | RLM          |
| Line Separator               | U+2028    | LS           |
| Paragraph Separator          | U+2029    | PS           |
| Left-To-Right Embedding      | U+202A    | LRE          |
| Right-To-Left Embedding      | U+202B    | RLE          |
| Pop Directional Formatting   | U+202C    | PDF          |
| Left-To-Right Override       | U+202D    | LRO          |
| Right-To-Left Override       | U+202E    | RLO          |
| Narrow No-Break Space        | U+202F    | NNBSP        |
| Medium Mathematical Space    | U+205F    | MMSP         |
| Word Joiner                  | U+2060    | WJ           |
| Left-To-Right Isolate        | U+2066    | LRI          |
| Right-To-Left Isolate        | U+2067    | RLI          |
| First Strong Isolate         | U+2068    | FSI          |
| Pop Directional Isolate      | U+2069    | PDI          |
| Inhibit Symmetric Swapping   | U+206A    | ISS          |
| Activate Symmetric Swapping  | U+206B    | ASS          |
| Inhibit Arabic Form Shaping  | U+206C    | IAFS         |
| Activate Arabic Form Shaping | U+206D    | AAFS         |
| National Digit Shapes        | U+206E    | NADS         |
| Nominal Digit Shapes         | U+206F    | NODS         |
| Ideographic Space            | U+3000    | IDSP         |
| Zero-Width No-Break Space    | U+FEFF    | ZWNBSP       |

Fix also issue with tooltips in preference dialog, when changing between dark/light mode.

Fix #827, fix #4731, fix #8284, close #13020
2023-02-05 04:20:25 +01:00
Alan Kilborn
07924528c4 Add Begin/End Select in Column Mode command
Fix #12833, fix #12832, close #13034
2023-02-04 04:46:24 +01:00
Don Ho
535bd8fa0e Use wide char version's function directely (part3)
ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/12613#discussion_r1045153278
2023-01-21 21:28:23 +01:00
ozone10
8add866460 Code enhancement: use conformant code
Fix #12818, close #12819
2023-01-21 04:32:56 +01:00
Don Ho
432dcb7f15 Use wide char version's function directely (part1)
ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/12613#discussion_r1045153278
2023-01-19 02:52:23 +01:00
Don Ho
bdb06d5c10 Add JSON5 support
Currently, it's only JSONC (with js comment supported).
It will be enhanced in the future.

Usage: set your file to JSON5 via language menu, or change file extension to .json5 or .jsonc.
Note that the keywords and stylers are shared with JSON.

Fix #11676, fix #11713, close #12761
2023-01-06 14:25:19 +01:00
Don Ho
c0e2073280 Enhance Properties file: add/improve the syntax folding/highlighting
And make the description more accurate on status bar.

Ref:
3fb9c7195f (r93126447)
2022-12-15 16:21:54 +01:00
Don Ho
5867025842 Fix 32 bits build error 2022-10-30 11:47:45 +01:00
Don Ho
513ee3e3fe Use Scitilla default 64 bits symbol 2022-10-30 01:09:52 +02:00
Adrian
4b3ee9c4ea Fix line hiding issues
Fix #12184, fix #8149, close #12250
2022-09-29 15:32:58 +02:00
Don Ho
848b412cf7 Fix Change History margin visual glichy under dark mode
Ref: https://community.notepad-plus-plus.org/topic/23510/notepad-v8-4-6-release-candidate/2?_=1663857801779
2022-09-22 19:28:08 +02:00
Don Ho
6a801cc0a4 Make Change History margin colour configurable
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/12165#issuecomment-1250899679
2022-09-19 19:24:57 +02:00
Don Ho
fc32fbdcce Add Change History markers for saved/unsaved/undone modification
Implement Change History by using the new abilities of Scintilla v5.3.0.

Fix  #12164, close #12165
2022-09-18 23:57:36 +02:00
ozone10
2da5c5b393 Code enhancement
Fix parentheses, misleading-indentation, sign-compare, some conversion-null warnings.

Fix #12139, close #12140
2022-09-11 18:22:51 +02:00
ozone10
ebe7648ee1 Code improvement, remove unnecessary part
Fix pedantic warnings, add initializers.

Close #12093
2022-09-07 17:49:56 +02:00
Don Ho
6077604380 Fix erasing part of content make hanging issue
Deletion of one line where there's folding didn't show the hiden lines in the old version of Scitilla.
It's not anymore the case in the new (current used) version of Scintilla (which manages such situation correctly).
Therefore the redundant notification for the current used version of Scintilla can be removed, and it solves hanging problem.

Fix #10193, close #11946
2022-07-26 15:43:37 +02:00
Don Ho
f85a9c45e9 Add reduce mode in Find/Replace dialog
Add a button on the bottom-right corner of Find/Replace dialog to switch between collapsed & complete mode.

Fix #11780, close #11937
2022-07-23 01:07:47 +02:00
Christian Grasser
ed4bb1a93e Update lexilla to 5.1.7 & Scintilla to 5.2.3
Use new interfaces SCI_FORMATRANGEFULL, SCI_GETTEXTRANGEFULL, SCI_FINDTEXTFULL from scintilla 5.2.3

Close #11734
2022-06-28 16:19:19 +02:00
Don Ho
79e766755d Make EOL (CRLF) display customizable
Fix #11413, close #11773
2022-06-12 19:41:09 +02:00
Don Ho
82b78ff7b8 Fix error from commit b6efff4 2022-06-07 01:23:32 +02:00
Don Ho
b6efff4157 Fix Selected text changes color issue when editor window loses focus
Fix #11743
2022-06-07 01:08:20 +02:00
Don Ho
05dae4a720 Make fold/unfold current line commads togglable
Add an option "Make current line folding/unfolding commands togglable" in Editing section of Preference dialog to make both Collapse/Uncollapse Current level commands togglable.

Fix #11529, fix #9196, close 11699
2022-05-21 02:23:03 +02:00
Don Ho
3750cf8fa3 Fix horizontal scrolling with scroll wheel on Logitech MX issue
Fix #10490, close #11700
2022-05-20 15:05:13 +02:00
Don Ho
9cc01de97c Fix "Reload from disk" loosing syntax highlighting regression
In Scintilla4 reloaded document keeps its syntax highlighting without re-applying the lexer for its syntax highlighting.
It seems the behaviour has been changed in Scintilla5. Hence this workaround to force to apply syntax highlighting after reloading.

Fix #11606, close #11610
2022-04-29 19:44:54 +02:00
Robert Di Pardo
2fbac354ed Fix HTML syntax highlighting in PHP files regression
Restore HTML syntax highlighting in PHP files.

Fix #11585, fix #11602, close #11588
2022-04-29 04:08:13 +02:00
Don Ho
3b0d5242ac Fix unfocused selected text background color changed problem
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/11419#issuecomment-1094362796

Fix #11595, close #11601
2022-04-28 02:39:11 +02:00
Shridhar Kumar
d3e77c0e6f Add "Framed current line" option beside of "Highlight current line background"
The related GUI in Preferences dialog has been organized in the adapted way for the new option.

Fix #11501, close #11534
2022-04-26 16:59:21 +02:00
Don Ho
5d5d2025af Fix HTML document syntax highlighting not working regression
Fix https://community.notepad-plus-plus.org/topic/22855/notepad-v8-4-release-candidate/5?_=1650282276299
2022-04-19 16:24:42 +02:00
ozone10
3f1a582a36 Add dark mode support for autocomplete list & calltip
Fix fix #11522, close #11523
2022-04-13 03:42:38 +02:00
Ben Rudiak-Gould
4ffd1e9858 Fix lossing characters issue after case-conversion (UPPER/lower)
Fix case-conversion code to handle changing string lengths:
Fixes an issue where, e.g., upper-casing U+2C65 adds garbage to the
document because its capital form U+023A has a shorter UTF-8 encoding.
Incidentally fixes another bug: rows would be truncated at the first
NUL when changing case in column mode.

Fix #11463, close #11464
2022-04-12 21:14:27 +02:00
Shridhar Kumar
e094e99697 Fix "Enable current line highlighting" not working correctly
This is a regression of upgrading Scintilla from 4.x to 5.x due to concerning Scintilla APIs having changed their behaviour.
This PR follows the new instructions of Scintilla documentation to make it work again.

Fix #11433, close #11433
2022-04-11 23:11:33 +02:00
Don Ho
04e17b7375 Fix JSON, JavaScript and BaanC syntax highlighting not working regressions
Thanks to:
2113e782fb (r70489851)
2022-04-05 17:37:42 +02:00
Don Ho
2113e782fb Use string lexer ID instead of numeric ID for Scintilla 5
Plus some factoring.

Close #11472
2022-04-04 18:01:51 +02:00
Don Ho
121a396bf0 Make external language library work again after upgrading to Scintilla5
Make external lexer library work again after upgrading to Scintilla5.
Old external lexer libraries needs to add CreateLexer export function which returns ILexer5 instance (Lexilla protocol interface of Scintilla5).

Tested with papyrus lexer plugin, this external lexer plugin is compatible with Notepad++ next release:
https://github.com/blu3mania/npp-papyrus

Close #11468
2022-04-03 18:23:03 +02:00
Don Ho
252468c29b Revert "Remove the external lexer support"
This reverts commit 41a5bf0245b53e74186e49a21adec2c518587b5c.
2022-04-01 19:17:18 +02:00
Don Ho
41a5bf0245 Remove the external lexer support
SCI_LOADLEXERLIBRARY has been removed since Scintilla 5,
and I belive that Scintilla won't support it anymore:
https://sourceforge.net/p/scintilla/bugs/2236/

Close #11451
2022-03-30 18:52:47 +02:00
Christian Grasser
a61b03ea88 Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5
Update with https://www.scintilla.org/scintilla521.zip
            https://www.scintilla.org/lexilla515.zip

- fix setting to bring Scintilla::PositionCR from ScintillaStructures.h inline with Sci_Position.h Sci_PositionCR
- add workaround to enable lexer for searchResult
commented out SCI_SETILEXER call on searchResult to get one result which is correctly handled by the lexer,
added comment about the current problem with property @MarkingsStruct which seems to disappear after call to SCI_SETILEXER or CreateLexer
- corrected usage of ObjC lexer
- removed unnecessary filter stuff
- use own sections for scintilla and lexilla build targets and allow parallel builds
- as libscilex is no longer existing, changed to libscintilla
- adapt makefiles and cmake
- use VS2019
- started simple changes for createlexer adaptations, nullpointercheck missing on return of lexer name from deprecated LexerNameFromID -> undefined behaviour
- movement from id -> lexer name, mostly done via LexerNameFromID + switching off corresponding compiler warning
- changed to SCI_SETILEXER from SCI_SETLEXER, SCI_SETLEXERLANGUAGE needs to be corrected, see Scintilla5Migration.html
- just commented out: SCI_LOADLEXERLIBRARY

Fix #10504, close #11419
2022-03-27 17:12:53 +02:00
xomx
ca8c302805 Support better 2GB+ file (cmdline & session file adaptation)
Some members (_line2go, _column2go and _pos2go) from the CmdLineParams & CmdLineParamsDTO structs need 'int' to 'intptr_t' change to support 2GB+ files.
Saving & loading of the 'session.xml' needs a 2GB+ adaptation too. The underlying TinyXML (older v1) does not have a native support for the 64-bit integers, so loading/writing there has been changed to strings instead of integers. This way is fully compatible with a possible future update to TinyXML-2 (which has already built-in support for the 64-bit integers).

Fix #11213, close #11258
2022-02-22 14:32:28 +01:00
Don Ho
94154b0f0e Code enhancement: Fix comparison of different signs integers 2022-02-09 20:06:59 +01:00
Don Ho
993506af0a Fix Find in Files crash 2022-01-31 03:55:28 +01:00
Don Ho
961a133a60 Remove 2GB file open restriction for x64 binary
Fix #10921, close #11047
2022-01-25 18:08:05 +01:00
Don Ho
87db9d1957 Fix caret left-right inverse moving in R2L mode issue
ref:
https://github.com/notepad-plus-plus/notepad-plus-plus/pull/10334#issuecomment-1002054488

Fix #8553, fix #7678, fix #9730, close #10963
2021-12-29 18:37:02 +01:00
Don Ho
33a0587a65 Fix incorrect folding behaviour in C, C++ & Javascript
Fix also for TypeScript and Objective-C.

Fix  #4560, close #10948
2021-12-25 21:49:30 +01:00
Don Ho
2f7490abab Fix tab settings in UDL regression
Bug reported here:
https://community.notepad-plus-plus.org/topic/21866/notepad-8-1-5-rc-3?_=1632620635740

The regression is due to e5a800722b7b31c835ae9855c54087354fb1304b
2021-09-26 04:34:37 +02:00