• Read This First

    Pinned Locked
    1
    5 Votes
    1 Posts
    7k Views
    No one has replied
  • New API to fix eventual regression regarding SCN_MODIFIED for some plugins

    Pinned
    32
    2 Votes
    32 Posts
    30k Views
    ThosRTannerT

    Just a quick question - when will the plugintemplate repo be updated to include the new message?

    Thanks

  • NppCSharpPluginPack: how to add toolbar buttons?

    2
    0 Votes
    2 Posts
    80 Views
    Mark OlsonM

    @ZedZipDev

    Core maintainer of NppCSharpPluginPack here.

    It’s pretty hard for me to diagnose your problem if you don’t share a link to your full codebase with me. However, it looks to me like you’re calling SetToolbarImage in the CommandMenuInit method, which I don’t think you should do. In the current version of the plugin pack, you may notice that in the beNotified method of UnmanagedExports.cs, the SetToolbarIcons method is called, which initializes all the toolbar icons for the plugin.

    Truth be told, I have never studied the relevant sections of the Notepad++ codebase well enough to fully understand what’s going on with toolbar icons. I’ve just mostly gone with what worked in the old NotepadPlusPlusPluginPack.Net in this instance.

  • NppExec Manual: CHM vs. HTML version [poll]

    6
    0 Votes
    6 Posts
    343 Views
    PeterJonesP

    @Vitalii-Dovgan said in NppExec Manual: CHM vs. HTML version [poll]:

    Somebody, stop me! It has been 2 weeks I’ve been updating and improving the HTML form of the Manual!

    Sorry, it is not possible for me to stop someone from improving documentation. ;-)

  • Support for Plugins Admin & NppPluginList

    75
    1 Votes
    75 Posts
    131k Views
    ThosRTannerT

    I’ve been footling around with my plugin a bit to try and generate a PR automatically when a new version is released. So - is the layout of the json files significant.

    Most of the entries look like

    \t\t\t{ \t\t\t"folder-name": "Linter++", \t\t\t"display-name": "Linter++", \t\t\t"version": "1.0.3.0", \t\t\t"npp-compatible-versions": "[8.7.5,]", \t\t\t"id": "F56573351010B62BFC75039725496C8687D53E82A3F47074F1F1B629A37A92C1", \t\t\t"repository": "https://github.com/ThosRTanner/notepad-pp-linter/releases/download/1.0.3/plugin_dll_ARM64.zip", \t\t\t"description": "Allows realtime code check against any checkstyle-compatible linter: jshint, eslint, jscs, phpcs, csslint, and many others.", \t\t\t"author": "Tom Tanner", \t\t\t"homepage": "https://github.com/thosrtanner/notepad-pp-linter" \t\t\t},

    So I thought i could do my updater in python, just load up the json file, modify my entry, and dump it back, then commit

    One entry (just one) uses spaces instead of tabs.

    So my question is is there an official layout for these files? Is any valid json permissible (all on one line for instance), or is it expected to be formatted as 1 line per key and indented with tabs?

    Would converting those spaces to tabs as part of my PR be frowned upon, or should I just read the file and modify the lines appropriately?

  • C# Plugin for ARM64

    3
    1 Votes
    3 Posts
    165 Views
    Guido ThelenG

    @rdipardo ,
    Thanks for pointing out the Native AOT template — I wasn’t aware of it when I started the ARM64 migration.

    I did actually try Native AOT early on, but ran into two issues: the export limitations you mentioned, and the resulting DLL size (~57 MB), which felt way too large for a Notepad++ plugin. That’s why I ended up going with DNNE — the plugin DLL stays small (~1 MB), though it comes with the .NET 8 runtime dependency.

    How large are the DLLs you’re getting with the Native AOT template? Has trimming improved enough to bring the size down to something reasonable for a plugin?

  • [New plugin] Smart Math

    2
    1 Votes
    2 Posts
    82 Views
    PeterJonesP

    @Carlos-Sánchez said in [New plugin] Smart Math:

    I’m a bit lazy and haven’t got a clue

    I can’t solve the first part, but for the clue:

    it’s just a PR to the nppPluginList project. Since you’re working in GitHub already, I assume you know how to do the PR fork the nppPluginList repo, create your own branch in that branch, edit pl.x64.json to link to the 64-bit version, and pl.x86.json to link to the 32-bit version the id required in the JSON is just the SHA256 hash, which GitHub provides for you:
    fd4a838f-9724-477d-b755-24836141dc88-image.png once you have edited both files in your branch, submit the PR from that branch
  • Plugins Admin gets Curl Error

    3
    0 Votes
    3 Posts
    263 Views
    donhoD

    @KelltimeOG
    Fixed in https://github.com/notepad-plus-plus/wingup/commit/5d89e486a5cb63251b8ed0b0e9f441a9774709ff
    The fix will be in WinGUp v5.4.1, which is included in Notepad++ 8.9.3 release.

  • Clipboard content is lost after using Ctrl+L (Delete Line)

    7
    0 Votes
    7 Posts
    297 Views
    PeterJonesP

    @Evelyn-Walker ,

    I tested the behavior you described. In Notepad++ the Ctrl+L (Delete Line) command

    That is wrong terminology, as already described above. Ctrl+L is Line Cut, not Line Delete. To use the wrong terms causes confusion for everyone. From the OP, it was acceptible, because they didn’t know better. But to post like you are an authority, but to use the incorrect terminology, is detrimental to yourself and anyone who reads the answers here.

    internally performs a cut-like operation,

    Of course it does. It’s literally Line Cut, so it definitionally affects the clipboard

    which means the deleted line is temporarily placed into the clipboard.

    It’s no more “temporarily” on the clipboard than any Ctrl+C or Ctrl+X is “temporarily” in the clipboard. It’s in the clipboard until something else replaces it, just like every other clipboard action.

    Use Ctrl+Shift+L (if configured) or another plugin/command that deletes the line without copying it.

    Did you come up with that alternative all on your own, or did you just reiterate what @guy038 and I had already said?

    Alternatively, copy the text again after performing line deletions if you still need it in the clipboard.

    That’s horrible advice.

    If preserving clipboard content during line deletion is important, it could be considered as a feature request rather than a bug.

    No it couldn’t, because the feature already exists. Line Delete already exists as Ctrl+Shift+L: use Line Delete if you don’t want to affect the clipboard, and Line Cut if you do want to affect the clipboard.

    @Evelyn-Walker , make sure you are not using LLM or GPT or any other AI to write your posts for you: that’s expressly forbidden in this forum.

  • 2 Votes
    3 Posts
    208 Views
    V

    @Vitalii-Dovgan
    Thanks for the feedback!
    v1.1 is now out with full Unicode compliance - all Win32 API calls migrated to W variants.
    Also added separate color settings for dark and light themes.

    GitHub

  • Real-time search results

    2
    0 Votes
    2 Posts
    102 Views
    Mark OlsonM

    @Pawan-Sharma
    If I had to guess, two words: race conditions (and an opposite-ish problem, deadlocks).
    Iteratively updating the results while searching seems like a great way to introduce endless difficult-to-reproduce bugs.

  • [New plugin] Linter++ - Linter plugin with message navigation.

    4
    3 Votes
    4 Posts
    5k Views
    ThosRTannerT

    Updated linter++ to v1.0.3

    Two changes of significance here:

    Deal properly with raw UTF8 characters in checkstyle output (mainly from jshint) Added two items to the plugin menu Help which opens the Readme on github pages About which produces a small modal dialogue with the version and a clickable link to the project github repo.
  • Columns++ version 1.3: All Unicode, all the time

    21
    5 Votes
    21 Posts
    2k Views
    guy038G

    Hello, @coises, @thomas-knoefel, @peterjones and All,

    @coises, many thanks for your additional info. But, please, don’t be too upset by these regex oddities ! Of course, some class definitions seems different but, in all cases, Columns++ gives more accurate results than native N++ search, anyway !

    In fact, I did all these researches on the Unicode world as I wanted to clarify the status about identifiers, particularly with Perl, in order to find out a simplified formulation for the Function List Perl parser created by @peterjones and improved with your help, by using atomic structures !

    My first attempt was clearly insufficient because I only took ASCII characters into account. Peter adviced me to refer to the article, below :

    https://perldoc.perl.org/perldata#Identifier-parsing

    which explains that, when using UTF-8, the Perl identifier syntax should be :

    / (?[ ( \p{Word} & \p{XID_Start} ) + [_] ]) (?[ ( \p{Word} & \p{XID_Continue} ) ]) * /x or in a SINGLE line (?[ ( \p{Word} & \p{XID_Start} ) + [_] ])(?[ ( \p{Word} & \p{XID_Continue} ) ]) *

    Although the properties \p{XID_Start} and \p{XID_Continue} are NOT part of the General Category list and are not functional with the Boost regex engine, this Perl syntax could be expressed, in theory, with our Boost regex engine as :

    (?:(?=\p{XID_Start})\w|_)(?=\p{XID_Continue})\w*

    Now, with the v17.0 release of BabelMap software, I was able to get the complete and exact list of these properties : \p{WORD}, \p{ID_Start}, \p{ID_Continue}, \p{XID_Start}, \p{XID_Continue},

    Then, from these lists, I could deduce the Unicode characters count of the regexes (?:(?=\p{XID_Start})\w|_) and (?=\p{XID_Continue})\w. Refer below :

    # ================================================================================================== # # Unicode 17.0.0 # # From article https://unicode.org/reports/tr18/tr18-23.html#word # # # Derived Property WORD : # # # Lu + Ll + Lt + Lm + Lo = # L* 145,672 = \p{lettter} or [[:alpha:]] # # + Decimal_Number # Nd 770 = \p{Decimal Digit Number} # ----------- # Total : 146,442 = Columns++ WORD chars - \x{005F} # # + Mc + Me + Mn # M* 2,543 = \p{Mark} # # + Connector_Punctuation # Pc 10 ( including the LOW LINE character \x{005F} ) # # + 200C ; Other_ID_Continue # Cf 1 ZERO WIDTH NON-JOINER ( JOIN-CONTROL character ) # # + 200D ; Other_ID_Continue # Cf 1 ZERO WIDTH JOINER ( JOIN-CONTROL character ) # # => Total = 148,997 characters # # ================================================================================================== # # From file 'DerivedCoreProperties.txt' : # # https://www.unicode.org/Public/UCD/latest/ucd/DerivedCoreProperties.txt # # # Derived Property ID_Start : # # # Lu + Ll + Lt + Lm + Lo = # L* 145,672 ( = [[:alpha:]] ) # # + Letter_Number # Nl 239 # # + 1885 ; Other_ID_Start # Mn 1 MONGOLIAN LETTER ALI GALI BALUDA # # + 1886 ; Other_ID_Start # Mn 1 MONGOLIAN LETTER ALI GALI THREE BALUDA # # + 2118 ; Other_ID_Start # Sm 1 SCRIPT CAPITAL P # # + 212E ; Other_ID_Start # So 1 ESTIMATED SYMBOL # # + 309B ; Other_ID_Start # Sk 1 KATAKANA-HIRAGANA VOICED SOUND MARK # # + 309C ; Other_ID_Start # Sk 1 KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK # # - 2E2F ; # Lm 1 VERTICAL TILDE ( as INCLUDED in L* ) # # => Total = 145,916 characters # # ================================================================================================== # # Derived Property XID_Start ( ID_Start MODIFIED for closure under NFKx ) : # # # ID_Start 145,916 # # - 037A ; ID_Start # Lm 1 GREEK YPOGEGRAMMENI # # - 0E33 ; ID_Start # Lo 1 THAI CHARACTER SARA AM # # - 0EB3 ; ID_Start # Lo 1 LAO VOWEL SIGN AM # # - 309B ; Other_ID_Start # Sk 1 KATAKANA-HIRAGANA VOICED SOUND MARK # # - 309C ; Other_ID_Start # Sk 1 KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK # # - FC5E ; ID_Start # Lo 1 ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM # - FC5F ; ID_Start # Lo 1 ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM # - FC60 ; ID_Start # Lo 1 ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM # - FC61 ; ID_Start # Lo 1 ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM # - FC62 ; ID_Start # Lo 1 ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM # - FC63 ; ID_Start # Lo 1 ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM # # # - FDFA ; ID_Start # Lo 1 ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM # - FDFB ; ID_Start # Lo 1 ARABIC LIGATURE JALLAJALALOUHOU # # - FE70 ; ID_Start # Lm 1 ARABIC FATHATAN ISOLATED FORM # - FE72 ; ID_Start # Lo 1 ARABIC DAMMATAN ISOLATED FORM # - FE74 ; ID_Start # Lo 1 ARABIC KASRATAN ISOLATED FORM # - FE76 ; ID_Start # Lo 1 ARABIC FATHA ISOLATED FORM # - FE78 ; ID_Start # Lo 1 ARABIC DAMMA ISOLATED FORM # - FE7A ; ID_Start # Lo 1 ARABIC KASRA ISOLATED FORM # - FE7C ; ID_Start # Lo 1 ARABIC SHADDA ISOLATED FORM # - FE7E ; ID_Start # Lo 1 ARABIC SUKUN ISOLATED FORM # # - FF9E ; ID_Start # Lm 1 HALFWIDTH KATAKANA VOICED SOUND MARK # - FF9F ; ID_Start # Lm 1 HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK # # => Total = 145,893 characters # # ================================================================================================== # # Derived Property ID_Continue : # # # ID_Start = 145,916 # # - 1885 ; Other_ID_Start # Mn 1 MONGOLIAN LETTER ALI GALI BALUDA # # - 1886 ; Other_ID_Start # Mn 1 MONGOLIAN LETTER ALI GALI THREE BALUDA # # The TWO characters above must be SUBTRACTED because they are, both, INCLUDED in 'Other_ID_Start' and in 'Nonspacing Mark' # # + Nonspacing_Mark # Mn 2,059 # # + Spacing_Mark # Mc 471 # # + Decimal_Number # Nd 770 # # + Connector_Punctuation # Pc 10 ( including the LOW LINE char : 005F _ ) # # + 00B7 ; Other_ID_Continue # Po 1 MIDDLE DOT # + 0387 ; Other_ID_Continue # Po 1 GREEK ANO TELEIA # + 1369 ; Other_ID_Continue # No 1 ETHIOPIC DIGIT ONE # + 136A ; Other_ID_Continue # No 1 ETHIOPIC DIGIT TWO # + 136B ; Other_ID_Continue # No 1 ETHIOPIC DIGIT THREE # + 136C ; Other_ID_Continue # No 1 ETHIOPIC DIGIT FOUR # + 136D ; Other_ID_Continue # No 1 ETHIOPIC DIGIT FIVE # + 136E ; Other_ID_Continue # No 1 ETHIOPIC DIGIT SIX # + 136F ; Other_ID_Continue # No 1 ETHIOPIC DIGIT SEVEN # + 1370 ; Other_ID_Continue # No 1 ETHIOPIC DIGIT EIGHT # + 1371 ; Other_ID_Continue # No 1 ETHIOPIC DIGIT NINE # + 19DA ; Other_ID_Continue # No 1 NEW TAI LUE THAM DIGIT ONE # + 200C ; Other_ID_Continue # Cf 1 ZERO WIDTH NON-JOINER # + 200D ; Other_ID_Continue # Cf 1 ZERO WIDTH JOINER # + 30FB ; Other_ID_Continue # Po 1 KATAKANA MIDDLE DOT # + FF65 ; Other_ID_Continue # Po 1 HALFWIDTH KATAKANA MIDDLE DOT # # => Total = 149,240 characters # # ================================================================================================== # # Derived Property XID_Continue ( ID_Continue MODIFIED for closure under NFKx ) : # # # ID_Continue 149,240 # # - 037A ; ID_Continue # Lm 1 GREEK YPOGEGRAMMENI # # - 309B ; ID_Continue # Sk 1 KATAKANA-HIRAGANA VOICED SOUND MARK # # - 309C ; ID_Continue # Sk 1 KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK # # - FC5E ; ID_Continue # Lo 1 ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM # - FC5F ; ID_Continue # Lo 1 ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM # - FC60 ; ID_Continue # Lo 1 ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM # - FC61 ; ID_Continue # Lo 1 ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM # - FC62 ; ID_Continue # Lo 1 ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM # - FC63 ; ID_Continue # Lo 1 ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM # # - FDFA ; ID_Continue # Lo 1 ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM # - FDFB ; ID_Continue # Lo 1 ARABIC LIGATURE JALLAJALALOUHOU # # - FE70 ; ID_Continue # Lm 1 ARABIC FATHATAN ISOLATED FORM # - FE72 ; ID_Continue # Lo 1 ARABIC DAMMATAN ISOLATED FORM # - FE74 ; ID_Continue # Lo 1 ARABIC KASRATAN ISOLATED FORM # - FE76 ; ID_Continue # Lo 1 ARABIC FATHA ISOLATED FORM # - FE78 ; ID_Continue # Lo 1 ARABIC DAMMA ISOLATED FORM # - FE7A ; ID_Continue # Lo 1 ARABIC KASRA ISOLATED FORM # - FE7C ; ID_Continue # Lo 1 ARABIC SHADDA ISOLATED FORM # - FE7E ; ID_Continue # Lo 1 ARABIC SUKUN ISOLATED FORM # # => Total = 149,221 characters # # ================================================================================================== # # From https://perldoc.perl.org/perldate/#identifier-parsing # # # Intersection of WORD and XID_Start properties + LOW LINE char : # # # Lu + Ll + Lt + Lm + Lo = # L* 145,672 ( = \p{lettter} or [[:alpha:]] ) # # # + 005F ; Connector_Punctuation # Pc 1 LOW LINE # # + 1885 ; Other_ID_Start # Mn 1 MONGOLIAN LETTER ALI GALI BALUDA ( NON-SPACING mark, common in WORD and XID_Start ) # # + 1886 ; Other_ID_Start # Mn 1 MONGOLIAN LETTER ALI GALI THREE BALUDA ( NON-SPACING mark, common in WORD and XID_Start ) # # # - 037A ; ID_Start # Lm 1 GREEK YPOGEGRAMMENI # # - 0E33 ; ID_Start # Lo 1 THAI CHARACTER SARA AM # # - 0EB3 ; ID_Start # Lo 1 LAO VOWEL SIGN AM # # - 2E2F ; # Lm 1 VERTICAL TILDE ( as ALREADY included in L* ) # # - FC5E ; ID_Start # Lo 1 ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM # - FC5F ; ID_Start # Lo 1 ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM # - FC60 ; ID_Start # Lo 1 ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM # - FC61 ; ID_Start # Lo 1 ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM # - FC62 ; ID_Start # Lo 1 ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM # - FC63 ; ID_Start # Lo 1 ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM # # # - FDFA ; ID_Start # Lo 1 ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM # - FDFB ; ID_Start # Lo 1 ARABIC LIGATURE JALLAJALALOUHOU # # - FE70 ; ID_Start # Lm 1 ARABIC FATHATAN ISOLATED FORM # - FE72 ; ID_Start # Lo 1 ARABIC DAMMATAN ISOLATED FORM # - FE74 ; ID_Start # Lo 1 ARABIC KASRATAN ISOLATED FORM # - FE76 ; ID_Start # Lo 1 ARABIC FATHA ISOLATED FORM # - FE78 ; ID_Start # Lo 1 ARABIC DAMMA ISOLATED FORM # - FE7A ; ID_Start # Lo 1 ARABIC KASRA ISOLATED FORM # - FE7C ; ID_Start # Lo 1 ARABIC SHADDA ISOLATED FORM # - FE7E ; ID_Start # Lo 1 ARABIC SUKUN ISOLATED FORM # # - FF9E ; ID_Start # Lm 1 HALFWIDTH KATAKANA VOICED SOUND MARK # - FF9F ; ID_Start # Lm 1 HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK # # => Total = 145,653 characters, which can START an IDENTIFIER # # ================================================================================================== # # From https://perldoc.perl.org/perldate/#identifier-parsing # # # Intersection of WORD and XID_Continue properties : # # # Lu + Ll + Lt + Lm + Lo = # L* 145,672 ( = \p{lettter} or [[:alpha:]] ) # # + Nonspacing_Mark # Mn 2,059 # # + Spacing_Mark # Mc 471 # # + Decimal_Number # Nd 770 # # + Connector_Punctuation # Pc 10 ( including the LOW LINE char : 005F _ ) # # + 200C ; Other_ID_Continue # Cf 1 ZERO WIDTH NON-JOINER ( FORMAT character, common in WORD and XID_Continue ) # # + 200D ; Other_ID_Continue # Cf 1 ZERO WIDTH JOINER ( FORMAT character, common in WORD and XID_Continue ) # # # - 037A ; ID_Continue # Lm 1 GREEK YPOGEGRAMMENI # # - 2E2F ; # Lm 1 VERTICAL TILDE ( as ALREADY included in L* ) # # - FC5E ; ID_Continue # Lo 1 ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM # - FC5F ; ID_Continue # Lo 1 ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM # - FC60 ; ID_Continue # Lo 1 ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM # - FC61 ; ID_Continue # Lo 1 ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM # - FC62 ; ID_Continue # Lo 1 ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM # - FC63 ; ID_Continue # Lo 1 ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM # # - FDFA ; ID_Continue # Lo 1 ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM # - FDFB ; ID_Continue # Lo 1 ARABIC LIGATURE JALLAJALALOUHOU # # - FE70 ; ID_Continue # Lm 1 ARABIC FATHATAN ISOLATED FORM # - FE72 ; ID_Continue # Lo 1 ARABIC DAMMATAN ISOLATED FORM # - FE74 ; ID_Continue # Lo 1 ARABIC KASRATAN ISOLATED FORM # - FE76 ; ID_Continue # Lo 1 ARABIC FATHA ISOLATED FORM # - FE78 ; ID_Continue # Lo 1 ARABIC DAMMA ISOLATED FORM # - FE7A ; ID_Continue # Lo 1 ARABIC KASRA ISOLATED FORM # - FE7C ; ID_Continue # Lo 1 ARABIC SHADDA ISOLATED FORM # - FE7E ; ID_Continue # Lo 1 ARABIC SUKUN ISOLATED FORM # # => Total = 148,966 characters, which can CONTINUE an IDENTIFIER #

    However, the last two results (?:(?=\p{XID_Start})\w|_) and (?=\p{XID_Continue})\w, above, are true ONLY IF the regex engine would respect all Unicode properties. Unfortunately, from a Boost point of view, which :

    Only considers that word characters are all in the BMP

    Generally considers that word characters are those defined prior to the Unicode 5.3 release !

    I verified that, presently, only 47,681 characters can begin an PERL identifier and only 48,011 characters can continue a PERL identifier !

    So, @Peterjones, in all cases, the regex rules, used in Function List for Perl, are a rough approximation of what they should be !

    Now, Peter, the goal is to get a Perl parser using the approximative BOOST \w definition, without the help of atomic structures.

    Refer to https://community.notepad-plus-plus.org/post/104861

    Best Regards,

    guy038

  • [New Plugin] MultiReplace

    77
    3 Votes
    77 Posts
    56k Views
    Thomas KnoefelT

    A new version of MultiReplace (v5.0.0.35) is ready and will be available with the next Notepad++ release. For early testing, it can already be downloaded here.

    The focus of this release is on a new Settings Panel, improved Search Results visualization, and overall usability enhancements.

    Key Features & Improvements Settings Panel: A comprehensive configuration dialog replaces manual INI file editing. All options are now organized into clear categories: Search & Replace, List View, CSV Options, Export, and Appearance. Refined Toolbar Icon: The icon has been updated to improve clarity. List Search Bar: Press Ctrl+F while focused on the replacement list to open a search bar. Quickly find entries in large lists by searching through the ‘Find’ and ‘Replace’ columns. Search Results Window Enhancements: Color-coded matches (up to 28 colors) for easy visual distinction per list entry. Double-click the Matches count to jump directly to the results. Duplicate Line Detection: Identify and mark duplicate CSV rows. Delete or inspect duplicates with optional bookmark navigation. Binary Escape Sequence: Extended mode now supports \bNNNNNNNN for binary values. tonum() Function: New helper to convert strings to numbers, supporting both dot and comma as decimal separators. MATCH and CAP Variables: Now always return strings. Use tonum(CAP1) for calculations. Selection Mode: The ‘In Selection’ radio button no longer disables itself, enabling smoother repeated searches. Document Filtering for Open Docs: Find and Replace in Open Documents now supports wildcard-based filename filtering. Unified Filter Syntax: Filters now use semicolons (;) as separators in both ‘Open Documents’ and ‘Find in Files’ modes. This enables filtering for filenames containing spaces. Performance: Various optimizations for Replace All, Find All, and FlowTabs alignment on large files.

    New Settings Panel with organized categories
    17ec400c-8dde-4b03-94ec-c2f2a25bc600-image.png
     
    Double-click the Matches count to quickly navigate through results
    ba478eec-321e-42f3-ad63-d2c9239eca42-image.png

    Enjoy!

  • Monokai and JS versão 8.9.1

    5
    1 Votes
    5 Posts
    448 Views
    Anderson NascimentoA

    @PeterJones I managed to do it, I uninstalled it again and when it asked about settings, I answered no, upon startup it was like a completely new installation.Screenshot_1.png nnn.png
    When I started up, I changed the theme and it worked, thank you very much for the tips.

  • "Run" add-on for Run in Browser

    5
    0 Votes
    5 Posts
    460 Views
    D. KirkpatrickD

    @PeterJones Thanks. I will work on getting the debug. Until then…

    After making the edit, which took by the way (saved), I closed the app as usual. Just to be sure I checked Task Manager and found 2 instances of it showing there even though all copies were previously closed by me. I killed it there, unmounted the thumb drive that has the portable version I’m trying to edit, and then did a system restart thinking that might clear anything else.

    I remounted the thumb drive and still have an edited Shortcuts file but it is not recognizing the changes. That edit is working with my resident copy on the same system but that was also hard to change when I did it a while back.

    Thanks for the help.

  • [New plugin] PlantUML Viewer

    41
    7 Votes
    41 Posts
    33k Views
    Yannick JaegerY

    Hi,
    I would like to test your plugin but, unfortunately, I run windows arm-64 and this plugin only runs on x86. Do you think it’s possible to release an ARM version ?
    Thank you.

  • show the current zoom

    30
    1 Votes
    30 Posts
    23k Views
    Alan KilbornA

    @Javier-Utrilla said in show the current zoom:

    something like U | Zoom +10

    It’s fine…but why not make the abbreviated encoding MORE descriptive, and the zoom info LESS descriptive. E.g. (just my thinking): U8B |Z+10

  • AI Plugin

    1
    1 Votes
    1 Posts
    377 Views
    No one has replied
  • 1 Votes
    1 Posts
    175 Views
    No one has replied