• [New plugin] Smart Math

    Notepad++ & Plugin Development
    5
    1 Votes
    5 Posts
    732 Views
    Vitalii DovganV
    The syntax file can be created by means of user-defined language. But how to apply this user-defined language automatically when Smart Math is enabled for the current file/document? OK, sorted it out: call NPPM_GETNBUSERLANG first to get the number of UDLs; then iterate through all the UDLs and call GetMenuStringW; once the menu item string matches my UDL name, I’ve identified my UDL menu id; after that, call NPPM_MENUCOMMAND with the obtained UDL menu id. Here is an example withUDL applied: [image: 1788696158249-d17e9134-3e1a-4b20-b7e9-62b16dbc4eff-image.jpeg] It’s a pity that I can’t make the keyword colors (such as function colors) to be dependent on the active color theme/style. I mean, for dark color themes these keywords in blue look too dark, so the color must be changed for dark themes.
  • Code is not working

    Help wanted · · · – – – · · ·
    4
    0 Votes
    4 Posts
    85 Views
    guy038G
    Hello, @blake-g.-barrington, @peterjones, @coises and All, Here is my version to get duplicate lines, separated by any number of lines ( whatever they are : true empty lines, blank lines or lines with text ), even zero line : MARK (?-si)^(.+)(?=(.*\R)+\1$) As said by @Peterjones, and after tests, this kind of regex get into trouble when the bunch of lines, between two duplicate lines, exceeds 15,000 empty lines about ! Now, Let’s suppose you create this text file : first 0002 0003 0004 0005 .... .... .... 9997 9998 9999 10000 first Then the (?-si)^(.+)(?=(.*\R)+\1$) regex returns : Correct result until the number of the in-between lines does not exceed 1,600, with the message 1 match in entire file Correct result until the number of the in-between lines does not exceed 12,000, although the error message Find Invalid Regular Expression ( So F.I.R.E. !! ) occurs ! NO result at all if the number of lines is over 12,000 lines, with, of course, the error message Find Invalid Regular Expression Best Regards, guy038
  • adverts on download page?

    General Discussion
    6
    0 Votes
    6 Posts
    340 Views
    cosmic-hyenaC
    @PeterJones I sent him an email but got no reply. Overall I’m a bit disappointed with this. I think for all his good intentions he’s allowing a strong chance of people accidentally clicking on these malware links, Got nothing more to add. Thanks.
  • Notepad++ release 8.9.8

    Pinned Announcements
    14
    6 Votes
    14 Posts
    4k Views
    PeterJonesP
    @Doug-Ewell , Use the Run > Validate shortcuts.xml, as described in the user manual. https://npp-user-manual.org/docs/macros/#macro-security
  • ASCII Sort Order

    Help wanted · · · – – – · · ·
    7
    0 Votes
    7 Posts
    310 Views
    L
    @PeterJones, Thank you for your considered (and considerate) engagement. I actually hesitated to respond with my comment about the 70s and 80s, pretty sure I would get what you gave, but I couldn’t resist—I’m old (83 next month). Anyway, thanks again for putting up with me. …lee
  • 0 Votes
    3 Posts
    1k Views
    D
    @Roberts-Rozis Kudos. I want this feature too. I want to search my source code project, shared, and library folder to one level deep only because the library folder is very wide and deep, quadrupling the search time.
  • Search++: A work in progress

    Notepad++ & Plugin Development
    132
    6 Votes
    132 Posts
    44k Views
    guy038G
    Hello, @coises and All, I understand that focusing on N++ buffers, instead of on saved files on disk, is not really appropriate for your multithreaded approach ! You said : I am more inclined to raise a warning box telling the user that some of the files to be searched are currently open in Notepad++, and the search results (and modifications, when I get Replace in Files done) will apply to the stored files, not to the edits in progress in Notepad++. So, given, your constraints, I totally agree ! That seems the more simple and obvious solution, with a Cancel button in case some concerned and opened files are dirty, in current N++ session On the other hand, you said : I wonder if any of this works properly when users have multiple instances of Notepad++ open and the files are open in a different instance than the one doing the search? I personally mainly use N++ in a N++ mono instance so I can’t speak properly of that case. But I agree with you that managing several instances must be a challenge for the Find in Files or Replace in Files feature ! Best Regards, guy038
  • 0 Votes
    8 Posts
    348 Views
    rdipardoR
    @PeterJones said: If you’ve got steps that work for doing a local debug build, that would be helpful. > where cmake C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe > type .\build_gup.ps1 param ( [string]$Configuration = "Debug", [string]$Platform = "x64" ) if (-not $(Test-Path "${PSScriptRoot}\wingup\.git")) { git clone --single-branch https://github.com/notepad-plus-plus/wingup.git wingup } try { pushd "${PSScriptRoot}\wingup" $CmakeArchParam=$(if ("$Platform" -imatch "x86") {"Win32"} else {"$Platform"}) $LibPlatform=$(if ("$Platform" -imatch "Win32") {"x86"} else {"$Platform"}) cmake -S ".\curl" -B ".\curl\build\$LibPlatform" -A $CmakeArchParam ` -DBUILD_SHARED_LIBS=OFF ` -DCURL_STATIC_CRT=ON ` -DBUILD_CURL_EXE=OFF ` -DCURL_USE_SCHANNEL=ON ` -DCURL_USE_OPENSSL=OFF ` -DBUILD_TESTING=OFF ` -DUSE_LIBPSL=OFF ` -DCURL_USE_LIBPSL=OFF ` -DUSE_NGHTTP2=OFF ` -DUSE_LIBIDN2=OFF cmake --build ".\curl\build\$LibPlatform" --config $Configuration pushd vcproj msbuild GUP.sln /v:m /p:configuration=$Configuration /p:platform=$LibPlatform popd } catch { $_.InvocationInfo.PositionMessage; $_.Exception.Message } finally { popd } > powershell .\build_gup.ps1 Debug x86 # ...
  • 0 Votes
    6 Posts
    2k Views
    P
    Hi! A bit late, maybe my ZeroBasedColumn plugin could help with what you’re looking for. It makes the column numbering in Notepad++ start from 0 instead of 1. https://github.com/pasqualeambrosio/ZeroBasedColumn Hope it helps!
  • [New Plugin] ZeroBasedColumn

    Notepad++ & Plugin Development
    1
    0 Votes
    1 Posts
    79 Views
    No one has replied
  • 0 Votes
    3 Posts
    216 Views
    MarkusBodenseeM
    Microsoft didn’t remove the prompt, but made it configurable, so you can decide if you want to keep it or not. Configuration can be found for example with right click --> properties on the recycle bin icon.
  • 0 Votes
    7 Posts
    230 Views
    CoisesC
    @PeterJones said: PeterJones said: I assume the Search++ syntax would be the same Per the Search++ announcement, it can do the numeric calculations that were first developed for Columns++. I should update the FAQ soon… I recommend waiting on that update. Search++ is not “production ready” yet. People shouldn’t be using it at present unless they want to be beta testers. Once I reach a 1.0 release I’ll make a serious effort to avoid changing things that people would expect to stay the same, but right now, anything could be changed at any time. Numeric expressions in Search++ do not have quite all the features of numeric expressions in Columns++; in particular, the history options (using the values captured or computed in a previous match) aren’t supported in Search++, and the exprtk return statement isn’t supported. However, I think all the features directly cited in the Math FAQ are included. The reg(1) syntax still works, but in Search++ you can use $1 as well. However, a quirk is that since Search++ doesn’t have the persistent Decimal separator is comma option of Columns++, it’s necessary to use regc(1) or $$1 for European-style numbers with periods and/or commas. Finally, Columns++ can only work on the active document. Search++ has a Find in Files option, but Replace in Files has not yet been implemented. So if your guess was correct and @neculai-i.-fantanaru wants a regular expression because it must be applied to many files at once, @thomas-knoefel’s MultiReplace is the best choice among presently-existing options. Oh, and MultiReplace has recently added an option to use exprtk formulas as an alternative to its Lua syntax.
  • [New Plugin] MultiReplace

    Notepad++ & Plugin Development
    80
    3 Votes
    80 Posts
    84k Views
    Thomas KnoefelT
    @guy038 Hello @guy038, Thanks for this thorough test, and no, you didn’t do anything wrong. Your investigation uncovered two separate behaviors in the code: Binary Files: MultiReplace “Find in Files” currently skips binary files, while native N++ searches every file it lists. That accounts for most of the gap in your USB drive numbers. I’ll look at how to make this configurable and more transparent. UTF-16 Bug: There is indeed a bug in how “Find in Files” handles UTF-16 encodings compared to “Find in Docs” and “Replace in Files”. This most likely explains the missing files in your smaller Test folder too. Since the forum isn’t ideal for sharing files and tracking bug fixes, I have opened a GitHub issue for this here: https://github.com/daddel80/notepadpp-multireplace/issues/133 I would gladly take you up on your offer to share the E:\Test folder contents so I can verify the fix against them. Could you please attach that folder as a zip or provide a link in the GitHub issue? Thanks again for your time and for helping to polish the next release candidate!
  • 0 Votes
    11 Posts
    570 Views
    Neculai I. FantanaruN
    @guy038 I can creat a Python script :) but the beauty and art was finding a solution just with regex.
  • Fake Notepad++ website

    Security
    3
    2 Votes
    3 Posts
    412 Views
    Lycan ThropeL
    @donho Reported to both sites per your request to help keep the community safe.
  • 0 Votes
    5 Posts
    250 Views
    PeterJonesP
    @Jacopo-Remondina , I am still not sure what you want for FOLDING and what you want for KEYWORD and what you want for DELIMITER and what you don’t want detected at all. But at this point, I’m guessing that what you want is too complicated for the simplistic keyword/token matching used for UDL. For FOLDING, it’s designed to either match spaces-not-needed so the open/mid/closing all don’t require spaces, or to match spaces-required so the open/mid/closing all do require spaces; it is not meant to mix, so that the open doesn’t require spaces but the close does. The easiest workaround is what you already know: enumerate them all. I don’t think you’re going to find a better solution.
  • Download Says we are with Ukrine

    Boycott Notepad++
    3
    1
    -1 Votes
    3 Posts
    4k Views
    P
    “400k severly wounded ukrainian soldiers”, sorry.
  • The author asks to finance the war

    Boycott Notepad++
    16
    -3 Votes
    16 Posts
    19k Views
    P
    @Safe-Tex Firstly, the question of Palestine is not the subject here. Secundly, you can’t know Alan Kilborn’s opinion about Israel, Palestine, and the conflict which opposes them. Lastly, the reliability of sources as Fox News or the Times of Israel don’t have any impact on the reliability of ruSSian sources, which are usually putin’s way to spread his bullsh*t deceitful propaganda (so yes, ruSSian site => lies).
  • nppftp and and windows 11

    Notepad++ & Plugin Development
    11
    0 Votes
    11 Posts
    842 Views
    xomxX
    @Afik-Gilboa said: both of them have the “run as administrator” unchecked. so any ideas why it keeps opening in admin mode? apparently everything running as administrator here, not sure why but it’s everything… I recognize the symptoms - you probably have turned off the Windows UAC completely somehow and at the same time the account, you are logged in, has the administrator rights (then everything launched will have the admin rights as default). Check your Registry for EnableLUA REG_DWORD 0x00000000 in: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System] (click on Windows Start, start typing “Reg” there, click on the Registry Editor (System) app offered and navigate there to the hive path above) If there is that 0x00000000 (OFF), change it do 0x00000001 (ON) and restart your PC.
  • Search & Replace syntax

    Help wanted · · · – – – · · ·
    4
    0 Votes
    4 Posts
    206 Views
    CoisesC
    @KRadiants said: 1: False on both counts. Here is an example line <attribute id="Selectors" type="LSString" value="SelectSkills(ed664663-93b9-4070-a54b-3c7b19c0e7b4,3);SelectSpells(61f79a30-2cac-4a7a-b5fe-50c89d307dd6,2,0,BardCantrip,,,AlwaysPrepared);SelectSpells(dcb45167-86bd-4297-9b9d-c295be51af5b,4,0,BardSpells);SelectEquipment(aab8c5b5-eacf-4867-8e5f-bd4de3a9132e,1,BardInstrument);SelectAbilityBonus(b9149c8e-52c8-46e5-9cb6-fc39301c05fe,AbilityBonus,2,1)"/> There is a blank before, and sometimes there is something before and/or after it Otherwise, this is correct. OK, so in this example you want to end up with: <attribute id="Selectors" type="LSString" value="SelectSkills(ed664663-93b9-4070-a54b-3c7b19c0e7b4,3);SelectSpells(61f79a30-2cac-4a7a-b5fe-50c89d307dd6,BardCantrip,,,AlwaysPrepared);SelectSpells(dcb45167-86bd-4297-9b9d-c295be51af5b,BardSpells);SelectEquipment(aab8c5b5-eacf-4867-8e5f-bd4de3a9132e,1,BardInstrument);SelectAbilityBonus(b9149c8e-52c8-46e5-9cb6-fc39301c05fe,AbilityBonus,2,1)"/> ? If that’s correct, try the same expression I suggested before, except remove the ^ from the front: Find what: (SelectSpells\([\d\-abcdef]+),\d+,\d+ Replace with: $1