• 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
    29k Views
    ThosRTannerT

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

    Thanks

  • [New Plugin] MultiReplace

    77
    3 Votes
    77 Posts
    54k 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!

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

    3
    0 Votes
    3 Posts
    86 Views
    guy038G

    Hello, @vitalii-dovgan,

    By choosing Your option, I meant that the @peterjones’s option , with a link to the remote version, seems the best choice !

    Best Regards,

    guy038

  • Columns++ version 1.3: All Unicode, all the time

    20
    5 Votes
    20 Posts
    2k Views
    CoisesC

    @guy038 said in Columns++ version 1.3: All Unicode, all the time:

    So, I don’t see exactly which rule should be applied, regarding the word definition !?

    and in Columns++ version 1.3: All Unicode, all the time:

    Again, I don’t understand clearly these differences between the two last columns !

    This is not going to be a complete response yet, but some further explanation.

    Even when using ICU, Boost::regex does not implement the same regex language as described in Unicode Technical Standard #18: Unicode Regular Expressions. Some of the differences are more-or-less dictated by the architecture of Boost::regex; others appear to be choices.

    This is a list of category definitions used by Boost::regex when using ICU; the table comes from matching up char_pointer_range in get_default_class_id and char_class_type in lookup_classname:

    alnum U_GC_L_MASK | U_GC_ND_MASK alpha U_GC_L_MASK blank mask_blank cntrl U_GC_CC_MASK | U_GC_CF_MASK | U_GC_ZL_MASK | U_GC_ZP_MASK d U_GC_ND_MASK digit U_GC_ND_MASK graph (0x3FFFFFFFu) & ~(U_GC_CC_MASK | U_GC_CF_MASK | U_GC_CS_MASK | U_GC_CN_MASK | U_GC_Z_MASK) h mask_horizontal l U_GC_LL_MASK lower U_GC_LL_MASK print ~(U_GC_C_MASK) punct U_GC_P_MASK s U_GC_Z_MASK | mask_space space U_GC_Z_MASK | mask_space u U_GC_LU_MASK unicode mask_unicode upper U_GC_LU_MASK v mask_vertical w U_GC_L_MASK | U_GC_ND_MASK | U_GC_MN_MASK | mask_underscore word U_GC_L_MASK | U_GC_ND_MASK | U_GC_MN_MASK | mask_underscore xdigit U_GC_ND_MASK | mask_xdigit

    Comparison with the table you referenced shows that Boost::regex does not use the same definitions. In particular, lower and upper are defined to be identical to General Categories Ll and Lu, alpha is defined to be identical to General Category L, and word does not contain all the characters mentioned in the Unicode specification.

    For the most part, Columns++ follows the Boost::regex definitions, though I did not include Mn in word. Also the Boost::regex code for isctype implements some of the classifications directly; I think I am close, but not necessarily identical, for those. It looks as if Boost::regex does define xdigit according to the Unicode spec.

    I think that Boost::regex defines word boundaries in terms of word characters (i.e. \b is equivalent to (?<!\w)(?=\w)|(?<=\w)(?!\w)) and that I wouldn’t be able to change that without forking and modifying Boost::regex code.

    I think the questions are whether Boost::regex is more accurately considered wrong, or just different in its implementation of character classes; and if the latter, which is preferable.

    At present, my estimation is that it would be time-consuming, but not impossible or fragile, to implement the Unicode definitions (aside from word boundaries) as listed in Annex C: Compatibility Properties in Columns++.

    Whether that’s what should be done might still be an open question.

  • Monokai and JS versão 8.9.1

    5
    1 Votes
    5 Posts
    343 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
    330 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
    32k 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
    22k 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
    243 Views
    No one has replied
  • 1 Votes
    1 Posts
    126 Views
    No one has replied
  • Support for Plugins Admin & NppPluginList

    47
    2 Votes
    47 Posts
    73k Views
    CoisesC

    @Ivo-Krab said in Support for Plugins Admin & NppPluginList:

    but modifying the C:\Program Files\Notepad++\plugins is understandably blocked without admin access.

    Would it not be possible to allow (as a config choice) to install them in %APPDATA%\Notepad++ instead

    The problem is that plugins in Notepad++ can do anything Notepad++ itself could do. They are C++ programs operating in the same security context as Notepad++ itself. From a security standpoint, allowing plugins in a directory that can be modified without admin access would be equivalent to allowing access to Program Files without admin access.

    As I recall, that was allowed at one time, and this is why it was removed. Security-sensitive organizations determined that they could not install Notepad++ at all unless they could stop users from installing their own plugins. The developer decided it was better to remove the capacity entirely than to try to implement a switch of some kind.

    The work-around, if you can run programs that are not installed in Program Files, is to use a portable copy of Notepad++. If you are not allowed to do that, then logically you would be forbidden to run Notepad++ plugins in a directory you control, since it would grant you exactly the same access.

  • NppVim 1.8.0.0 Release

    1
    1 Votes
    1 Posts
    163 Views
    No one has replied
  • Writing a lexer plugin that has no menu items

    2
    1 Votes
    2 Posts
    238 Views
    EkopalypseE

    @xMRi

    As far as I know, no. Npp explicitly checks this and throws an exception if no function is defined. So I would say, use an “About” menu item.

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

    3
    2 Votes
    3 Posts
    5k Views
    ThosRTannerT

    Updated linter++ to v1.0.2

    This has mostly been concerned with changes to the dockable window with the results:

    You can click on a column header to sort by that column You can drag the column headers to reorder the columns You can configure the font used for display

    There’ve also been a few other minor improvements/fixes - see the Changes.md file

    Downloadable from https://github.com/ThosRTanner/notepad-pp-linter/releases if you can’t wait for the plugin list to be updated.

  • v8.8.9 and ConfigUpdater plugin

    6
    0 Votes
    6 Posts
    669 Views
    Snabel42S

    @donho said in v8.8.9 and ConfigUpdater plugin:

    @PeterJones

    It’s already fixed in the GitHub, but I didn’t make the plugin list cutoff deadline.

    Are you talking about it?
    https://github.com/notepad-plus-plus/nppPluginList/pull/999

    It’s in the current PluginList in RC normally.

    I ran:

    Plugins > ConfigUpdater > Reset Validators Plugins > ConfigUpdater > Update Config Files

    The open tab with ConfigUpdater.log no longer shows any errors

  • Does arm64 plugin build required to include?

    5
    0 Votes
    5 Posts
    452 Views
    EkopalypseE

    @h-jangra

    It could be, yes, because I downloaded it and ran setup_arm64.bat in a normal cmd shell, and it worked.
    But it could also be due to how you originally set up Rust. I also played around with this a bit, but couldn’t reproduce your problem.
    I had MSVC installed via the Visual Studio installer, and then I installed the Rust toolchain. Some weeks later I add the arm extensions for VS and added the target to Rust, and it works for me.

  • NppGoTemplate plugin template in golang

    1
    3 Votes
    1 Posts
    211 Views
    No one has replied
  • Which lang other then c/cpp to build plugins

    5
    0 Votes
    5 Posts
    393 Views
    h-jangraH

    @Ekopalypse I tried simple plugin now using go. It did worked, let see if I can improve. If its good then I should make template for it.

  • New NppESPHome plugin

    1
    1 Votes
    1 Posts
    233 Views
    No one has replied