Community
    • Login
    1. Home
    2. Popular
    Log in to post
    • All Time
    • Day
    • Week
    • Month
    • All Topics
    • New Topics
    • Watched Topics
    • Unreplied Topics

    • All categories
    • CoisesC

      Search++: A work in progress

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      186
      7 Votes
      186 Posts
      58k Views
      CoisesC
      @guy038 said: For, the tests below, I needed, of course, to un-check the Always unmark all text before Mark command. (Otherwise add to existing marked text.) option in Settings I don’t know if it’s clear, but that only affects Mark search commands. It doesn’t affect any commands on the Tools menu. There are two times when a successful Mark search command unmarks existing text first. (A command that doesn’t find a match never unmarks.) One is when that option is checked: in that case, all Mark search commands clear existing marks before marking matching text. The other case is Mark in Marked text. When that command is chosen or defaulted, existing marks are cleared before marking the first match regardless of whether Always unmark… is checked, because otherwise the command could not accomplish anything: it would only be marking text that is already marked. The Configure bookmarks option Mark commands that unmark before searching also clear bookmarks. is related to this. If either of the above cases applies and that box is checked and Bookmark lines when marking text is checked, bookmarks are cleared as well as marks. Hopefully that does what most people would want and expect without them having to think through all those details. Regarding the present Synchronize marks and bookmarks sub-mneu, below : Add a bookmark to each line with marked text Add a bookmark to the first line of each span of marked text Bookmark only lines with marked text Bookmark only the first line of each span of marked text Bookmark visible lines Add marks to all text in bookmarked lines Mark only text in bookmarked lines Add marks to all text in bookmarked lines, excluding line endings Mark only text in bookmarked lines,excluding line endings Two observations : 1 I don’t think that the options which mark only the first line of each span of marked text are really useful. Actually, the goal is more to mark all the lines that meet a certain criterion, in order to navigate between these lines, copy / cut theses lines for pasting in a other location or file or deleting these ones ! Yes, I have wondered if any of that, in the Synchronize sub-menu or in the Configure bookmarks dialog, is useful. It was how I expected bookmarks would work with search and that’s how I first implemented it; then I saw that Notepad++ doesn’t just bookmark the lines where each match began, it marks every line containing any part of a match. I suspect it’s a lot less common to search for matches that span multiple lines than for matches contained in a single line, so maybe few people even notice the difference. I think I would either leave it in both the Configure bookmarks dialog and the Synchronize menu or take it out of both. I left it out of the Invert sub-menu because I couldn’t figure out a way to make it make much sense when doing inversion with bookmarks. 2 With native N++, whatever you use the ^.* or ^.*\R regex to mark AND boomark lines, then using the Copy Bookmarked lines of N++ and pasting in an other document, even with an other kind of EOL, just paste the bookmarked lines according to the EOL of the pasting document So, most of the time, taking the line-breaks in account is not necessary ! However, adding the line-breaks characters is useful as it also includes the true empty lines ! Thus, this would simplify the Synchronize marks and bookmarks sub-menu to the following one : Bookmark only lines containing marked text Clear all bookmarks, then bookmark only lines containing marked text Bookmark visible lines Mark all text and EOLs of the bookmarked lines Clear all marks, then mark all text and EOLs of the bookmarked lines I have to think about this some more. I can agree that having line endings / no line endings variants in those menus makes them more complex to read and use. Inverting marked text can yield some strange results. For example, say you matched a full line, but not its line ending, so it alone is marked and bookmarked. Now you Invert marked text and sync bookmarks. The line ending on that line wasn’t marked, so when you invert marks it is marked; since there is a mark on the line (though you can’t see it if you don’t show line endings), the line is also bookmarked. Every line in the document is now bookmarked, including the originally marked and bookmarked line that now has no visible marks (they’re hidden along with the line endings). Though I don’t think I should ignore line endings on the programming side — as per my example above — it could be that I can “hide” the unexpected behavior from users so they don’t have to think about it. The tricky bit is being confident that I really have covered all the cases that would be confusing to a user if I don’t force them to think about line endings.
    • donhoD

      Notepad++ release 8.9.8.1

      Watching Ignoring Scheduled Pinned Locked Moved Announcements
      18
      3 Votes
      18 Posts
      2k Views
      rdipardoR
      @PeterJones said: Hopefully, it’s just that it used to point to local config but is now AppData, or similar. As a scoop user myself, I can confirm that it will configure Notepad++ for portable usage by default.¹ Removing the magic doLocalConf.xml file at %USERPROFILE%\scoop\apps\notepadplusplus\current is probably all that’s needed. ¹ This is one setting that’s not preserved during an upgrade (the other being the autoCompletion folder), while the contents of ${NPP_INSTALLATION_ROOT}\{backup,cloud,plugins,themes,userDefineLangs} are kept in sync by means of junctions between the canonical current folder and the versioned one. Someone should open an issue in the scoop repository, I just haven’t found the free time yet.
    • donhoD

      Notepad++ release 8.9.8

      Watching Ignoring Scheduled Pinned Locked Moved Announcements
      26
      6 Votes
      26 Posts
      8k Views
      R
      @PeterJones Oh!! Understood!! thank you!!!
    • Vitalii DovganV

      Improving Find in Files performance

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      14
      1 Votes
      14 Posts
      819 Views
      Thomas KnoefelT
      Thanks a lot @guy038 for running the whole thing again, this time it didn’t finish in seconds ;-) Nice to see the results panel still usable with almost 10 million hits, even the jump to line 690 in that DLL at the very end. Interesting that walking the whole drive for those 130 PDFs takes almost the entire run, 5m45 of 5m48 for MultiReplace, and it’s the same picture with the other tools. The 4 “not decodable” are most likely UTF-16 files with an odd number of bytes. N++ simply drops the last byte there, the next MultiReplace build will do the same in Find in Files (Replace leaves them alone, writing them back would lose that byte). Speed is next on my list.
    • donhoD

      Notepad++ Release Candidate v8.9.8.1

      Watching Ignoring Scheduled Pinned Locked Moved Announcements
      14
      2 Votes
      14 Posts
      2k Views
      S
      @donho Typo: “7 Fix Netork Path Warning dialog usability problem.” --> Network
    • B

      Why headings are not displayed in the function list menu ?

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      11
      1
      0 Votes
      11 Posts
      623 Views
      B
      @PeterJones Thank YOU so much I copy Your overrideMap & udl_markdown in my folder and problem is solved. I wish program by default have this option. Thank you again dear Peter
    • Keith CollyerK

      wireloom in markdown viewers

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      8
      0 Votes
      8 Posts
      616 Views
      rdipardoR
      I said: In case anyone else is interested, you can try previewing plain-text wireloom files with this development build of Preview HTML. This feature has now been merged, with additional support for offline Markdown previews that will render wireloom code blocks: [image: 1790348955006-wireloomx898.gif] All rendering is done by client-side JavaScript modules, so MS Edge is still required. @Keith-Collyer said: What would be really good would be if the developers of these re-merged their plugins! Don’t look now, but no fewer than three new Markdown plugins have appeared in the past two weeks — and they all depend on the WebView2 runtime (i.e. Edge).
    • A

      Problem with inactive/unavailable Plugins Admin on v8.9.8

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      10
      0 Votes
      10 Posts
      703 Views
      A
      @peterjones Installed Notepad++ v8.9.8.1, and this problem went away [image: 1790343129511-%D0%B1%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D1%8B%D0%B9.png] p.s. And I don’t need to unblock files received from the Internet, because after a clean install of any Windows, I will block this option through the registry.
    • Carlos SánchezC

      [New plugin] Smart Math

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      9
      1 Votes
      9 Posts
      1k Views
      PeterJonesP
      @Vitalii-Dovgan , I don’t think the Plugins Admin will be able to do all of that on its own. The DLL needs to be at the top level of the zipfile. What you could do is to have your plugin intialization look for the autoCompletion and userDefineLangs files in the appropriate locations (use NPPM_GETNPPSETTINGSDIRPATH to make sure you put the UDL in the right per-user place, regardless of doLocalConf, -settingsDir, CloudDirectory, or normal AppData; autoCompletion always goes relative to NPPM_GETNPPDIRECTORY – and for any that are missing, copy from ...\plugins\SmartMath\ subfolder(s) into the right destinations. A possible zipfile structure could be: SmartMath.dll doc\ SmartMath.md autoCompletion\ SmartMath.xml userDefineLangs\ SmartMath.udl.xml SmartMath_Dark.udl.xml That would all get placed in ...\plugins\SmartMath\ Because autoCompletion definitions are in the program directory hierarchy, there may be a permission issue, so you’d have to request elevated permission to do that copy; examples of how I did that can be found in my ConfigUpdater plugin. (The plugin itself is not so useful, since I moved that feature to N++ itself, but some of the code is still useful reference.)
    • L

      ASCII Sort Order

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      7
      0 Votes
      7 Posts
      526 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
    • PeterJonesP

      Testing nppPluginList for new/updated plugin

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      8
      0 Votes
      8 Posts
      620 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 # ...
    • M

      is there a way to save a file as .srt?

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · · saving files srt
      6
      0 Votes
      6 Posts
      386 Views
      CoisesC
      @Midnitecata said: @PeterJones thank you for your help, ill probably steer clear of it just out of caution, but i might look into it further should the tedious formatting inconvenience me enough to learn how to spot malicious code! thanks again!! :) Just a side note to this discussion: While you certainly can manipulate *.srt files in Notepad++ (and I do on occasion), for most purposes the free and open source program Subtitle Edit (found here on GitHub) is much easier to use. It has many functions for doing things like shifting times, identifying likely errors, and so on. Before working too hard to find a way to do something with a subtitle file in Notepad++, I recommend checking first to see if Subtitle Edit already knows how to do it.
    • P

      Search and Replace for CNC Help Needed

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      4
      1 Votes
      4 Posts
      75 Views
      PeterJonesP
      @Paul-Adamczyk said: Still much to learn. Useful References: Notepad++ Online User Manual: Searching/Regex FAQ: Where to find other regular expressions (regex) documentation
    • T

      Confirmation or disable the Find All in All Opened Documents

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      4
      0 Votes
      4 Posts
      336 Views
      mpheathM
      @Timothy-Baxendale Need care not to interact with the buttons that do multiple documents. A not so ideal solution as it is external could be to use an AutoIt script to monitor and disable these buttons. ; Window title and text of the button. Global $aWnd[2][2] = [['Find', 'Find All in All &Opened Documents'], _ ['Replace', 'Replace All in All Opened Doc&uments']] ; Keep looping as persistant disabling of the buttons is needed. While 1 While ProcessExists('notepad++.exe') For $i1 = 0 To UBound($aWnd) - 1 $hWnd = WinActive($aWnd[$i1][0], $aWnd[$i1][1]) If $hWnd Then If ControlCommand($hWnd, '', $aWnd[$i1][1], 'IsEnabled') Then ControlDisable($hWnd, '', $aWnd[$i1][1]) ExitLoop EndIf EndIf Next Sleep(500) WEnd Sleep(1000) WEnd The window title text and button text needs to accurate. This text is based on the default English locale. The loops will continue running. If need to pause and use the buttons, then the icon in the System Tray will pause the script on click. Click Script Paused to uncheck the item to continue with disabling the buttons. Click Exit to end the script. The AutoIt interpreter and compiler are located: https://www.autoitscript.com/site/autoit/downloads/
    • Roberts RozisR

      Feature Request: Find in Files > In all Subfolders > [nn] levels deep only

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      6
      0 Votes
      6 Posts
      1k Views
      guy038G
      Hello, @Roberts-Rozis, @Peterjones, @dennis-bulgrien, @coises and All, @Coises, I did some tests with my D USB key and with your Search++ plugin and the following generic regexes solve the problem nicely : So, @Roberts-Rozis and @dennis-bulgrien : Select The Plugins > Search++ > Search in Files... option Select your média (C, D, … ) on the left and don’t forget to check the Subfolders option and, possibly, the Hidden files option Select the Reg. exp. option for the Filter : type In the filter box : • For a search of any file, even WITHOUT extension, between level N minimum and M maximum, enter : ^(?:[^\\]+\\){N,M}[^\\]+ • For a search of any file, WITH an extension, between level N minimum and M maximum, enter : ^(?:[^\\]+\\){N,M}[^\\]+\..+ • For a search of any file with the EXACT extension 'txt' or 'log' or 'ini', between level N minimum and M maximum, enter : ^(?:[^\\]+\\){N,M}[^\\]+\.(?:txt|log|ini)$ You may also add a size and/or a date condition Of course, check your desired search options Finally, click on the Find in Files button IMPORTANT : Replace the letters N and M by true digits, with the condition N <= M. The M value may be missing ! The syntax of these regexes are specific to the Search++ These regexes allow any search in an arborescence, from level N minimum to level M maximum. However : You may search from level 0, if necessary You can go through all the structure with the 0, or the N, syntaxes Note that you can simulate the Search++ filtering mode by using one of the regexes below, directly in Notepad++ ^(?:[^\\\r\n]+\\){2,4}[^\\\r\n]+$ ^(?:[^\\\r\n]+\\){2,4}[^\\\r\n]+\..+ ^(?:[^\\\r\n]+\\){2,4}[^\\\r\n]+\.(?:txt|log|ini)$ Against the text below, that you’ll paste in a new tab : 987.txt abc\123.txt abc\def\456.txt abc\def\ghi\789.txt abc\def\ghi\jkl\012.txt abc\def\ghi\jkl\mno\pqr\stu\vwx\yz\999.txt 987.txt abc\123.txt abc\def\456.txt abc\def\ghi\789.ini abc\def\ghi\jkl\012.log abc\def\ghi\jkl\mno\pqr\stu\vwx\yz\999.txt LICENSE abc\LICENSE abc\def\LICENSE abc\def\ghi\LICENSE abc\def\ghi\jkl\LICENSE abc\def\ghi\jkl\mno\pqr\stu\vwx\yz\LICENSE You may also try, for example, the cases {0,3} or {0,} or even {4,}. Enjoy ! Best Regards, guy038
    • B

      Code is not working

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      4
      0 Votes
      4 Posts
      425 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 some 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 P.S. : I should add that my Windows11 laptop has 32 Gb of memory !
    • Michel ChasseyM

      email address not recognized

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      3
      1 Votes
      3 Posts
      88 Views
      Michel ChasseyM
      @PeterJones Thank you now as for my other questions …
    • guy038G

      Some options of the advanced NodeBB search no longer work correctly !

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      3
      1
      2 Votes
      3 Posts
      282 Views
      PeterJonesP
      @guy038 , I have also noticed that, recently, the username filter in the advanced search page doesn’t populate usernames. I had thought it might have just been me. I know that @barisusakli from NodeBB occasionally logs in, and they recently updated the forum software for us… maybe that version had a bug, because the admin panel says there’s another version available since they last updated us. Until then, once you make your search, you can edit the URL to set &by=PeterJones to search for my posts (right now, the URL probably has &by= with no value). It’s not as convenient as the drop-down, but it is a workaround.
    • Charles BillowC

      Set or change the default font in NP++

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      3
      0 Votes
      3 Posts
      319 Views
      PeterJonesP
      @Charles-Billow said: I see how to change fonts etc. for the document I am working on, but how do I change the default font/size/ and zoom level as the default for all new documents? The way you phrased that makes me think you might not understand what a text editor is. Text files are stored as the raw text: no individual text file / text-based-document has any concept of its own font or font-size. It is just text, and it is up to the text editor to decide what font or size to use. If you set Notepad++ to use a specific font or font-size, using the dialog that @markusbodensee shared with you, that will affect how Notepad++ displays it, but MS notepad.exe or VS Code or gvim will all use their own font and size, because it’s up to the app, not the file, what font and size to display text in. If you’ve changed the font and size that’s used “in the current document” in Notepad++, you’ve changed the font and size for all documents, new or old, in Notepad++. As far as Zoom level goes: Notepad++ remembers your previous zoom when you exit. But if you’ve set a reasonable font size as your default, then zoom should normally be at 100% (which is the default if you haven’t zoomed in or out yet). If you’re to the point that you start thinking you want to have the default zoom bigger or smaller than 100%, then think to yourself: do you really mean that you should change the font size bigger or smaller, instead? (Then again, some people are still killing trees from their text editor, so if you’re printing to paper, maybe you have one of the few use cases where it makes sense to use a smaller font but larger zoom, or vice versa.)
    • FranciscoF

      rename files

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      3
      0 Votes
      3 Posts
      283 Views
      guy038G
      Hello, @francisco, @gerdb42 and All, There are plenty of solutions ! The following one will ensure that the . matches newline option will not be used even it’s checked and that the Match case option is enabled even it’s not checked ! FIND (?-si)_.+(?=\.txt) REPLACE Leave EMPTY Best Regards, guy038