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
      125
      6 Votes
      125 Posts
      38k Views
      CoisesC
      @M-Andre-Z-Eckenrode said: @Coises As you I recently reported an issue with Search++ in a new, separate topic, but I see that several others have reported various issues in this one (presumably, because it’s still a work in progress). I have a new issue to report, and thought maybe I should ask if you prefer that new issues get reported in their own topic (which is generally my default), or for users to just include them in this one. Do you care one way or the other? Either way is OK with me. I suspect the moderators might prefer to keep discussion confined to this topic, though.
    • dr ramaanandD

      With the help of a Regex, how to find "code" preceded by a "<" only if "code {" is absent between "<style" and "</style>" in the css section which is below ?

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      13
      0 Votes
      13 Posts
      4k Views
      dr ramaanandD
      @guy038 Merci beaucoup!
    • PeterJonesP

      [ALPHA] Upcoming Plugin: HiddenLexers

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      10
      1
      2 Votes
      10 Posts
      94 Views
      mpheathM
      @PeterJones I just did an edit before you replied. The property does change the processing of headers the eolfilled though on the style itself is absent.
    • Paolo LinxP

      Problem running a macro without any associated key combination

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      11
      0 Votes
      11 Posts
      893 Views
      PeterJonesP
      I already made my debug info available in my first post in this topic, which clearly indicated that I’m using an installed x86 version of NPP. I am sorry I didn’t remember that from a week ago. And “multiple instances” can have different meanings to different people. Even if I had remembered you were using installed, that doesn’t mean that you weren’t also using a portable: not everyone would think to mention such a thing – they might not even think about it, when using their multiple installations/portables next to each other. (I have my daily as Installed, but I also have multiple active portables that use different configurations). I just needed to make sure, because different setups could have vastly different reasons for the symptoms you describe. I normally run NPP the first time after a restart via either its shortcut in my taskbar or the start menu. Any second instance is normally opened with command line options -multiInst -nosession (via AutoHotkey keyboard shortcut), and I always exit it before exiting the primary instance. In theory then, the validate from the main instance should get saved. After you validated, did you exit before running again and spawning multiple instances? Because Notepad++ doesn’t save the new copy of the config file (with the new validation HMAC code) until it exits. So if you ran the main, ran validate, then spawned new instances, the HMAC code might not have propagated to the new instances I don’t know whether N++ gives a copy of the current config structure from memory to the new process, or whether the new process is completely separate, in which case, it would have read the old version from the disk again – re-reading, since you are doing notepad++.exe -multiInst -nosession via AHK (ie, outside N++, instead of using the “Clone to New Instance” command from inside Notepad++), it would have no way of propagating that HMAC to the new instance, because it hasn’t written it to the config.xml yet, so when the new instance reads config.xml, it is out-of-date. A few hours ago, just before I posted my last reply, I was consistently able to replicate NPP’s demand that I re-validate when trying to run my macro. Now, I can’t. No idea why. I am wondering if you finally had a sequence where you did the validate, then exited so it saved the right HMAC, and now everything is settled. I hope so (and believe so). Stay tuned. If it comes back, I’ll be sure to make a note of the exact sequence and post again. Based on my experiments (below), which are 100% repeatable for me, now that the HMAC has been properly saved, it shouldn’t prompt you again until you manually edit the shortcuts file. My Steps to Confirm: create example.pyfrom Npp import notepad notepad.runMenuCommand("Macro", "Trim Trailing Space and Save") exit all Notepad++ use notepad.exe to edit config.xml and remove the line with name=“shortcutsXmlHMAC” (which causes it to be not-yet-validated), and save launch main copy of Notepad++ Run > validate shortcuts.xml open a new instance of N++ with -multiInst -nosession Plugins > PythonScript > scripts > example → it will pop up the shortcuts.xml file and the validation warning messagebox please note: this doesn’t require you to use the keyboard shortcut; just that you run a scrpt that tries to run a macro or run-menu command, as far as I can tell – my experiments have not been using an assigned keystroke to run the script. exit the second instance exit the first instance (which should save the config.xml with validated HMAC) launch main copy of Notepad++ open a new instance of N++ with -multiInst -nosession Plugins > PythonScript > scripts > example → it will not pop up the shortcuts.xml file or the validation warning messagebox, because it’s valid So, I guess the clarified version: if you are using multiple instances, close all intstances but one, look at shortcuts.xml to make sure all the macros and run-menu commands are as you expect them to be, then Run > validate shortcuts.xml, then exit Notepad++ to get it to save that. From now on, you shouldn’t need to validate again unless you intentionally manually edit shortcuts.xml. (Using Shortcut Mapper or saving new macros or run menu commands should not trigger a re-validate, because Notepad++ should update the HMAC when it changes the shortcuts.xml itself) update: PR 889 is adding a NOTE to that effect in the shortcuts.xml security section – you may have to refresh your browser to see it.
    • rafaelloR

      Awesome Notepad++ Configs, settings and syntax highlighting

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      9
      3
      1 Votes
      9 Posts
      3k Views
      rafaelloR
      1.2.2 Syntax highlighting PowerShell Improved absolute, relative, quoted and unquoted paths colors [image: 1785402977913-paths.png] Improved variables interpolation colors [image: 1785402952228-interpolation.png] [image: 1785402954396-interpolation4.png] Added colors for expressions $(..), ${..} Added registry hives colors (HKLM, HKEY_LOCAL_MACHINE, …) Fixed syntax highlighting Fixed variables colors inside paths and quotes Fixed excessive colors of variables, keywords, and functions enclosed in quotes Fixed unexpected sc.. and vk.. colors in AutoHotkey code Disabled colors for variables inside single quotes ' ' (because single quotes prevents var. interpolation)
    • Troglo37T

      Is there a way to find both alphabets, with and without accents, at the same time, when searching?

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      9
      0 Votes
      9 Posts
      757 Views
      guy038G
      Hello, @troglo37, @coises, @peterjones, @dr-ramaanand and All, Préamble : @troglo37, on demand of @dr-ramaanand, I changed your initial title : Is There A Way To Ignore Letters With Accents When Searching? by this new title, which seems more acurrate : Is there a way to find both alphabets, with and without accents, at the same time, when searching? Thank you, @dr-ramaanand, for reminding me of this interesting post, which uses a more general, but more accurate, definition of accented characters ! Indeed, an accented character , let’s say the é character, may be described as : The character é LATIN SMALL LETTER E WITH ACUTE, of Unicode value 00E9 The character e LATIN SMALL LETTER E, of Unicode value 0065, followed with the character  ́   COMBINING ACUTE ACCENT, of Unicode value 0301 Note that, in this second form, the letter e is the main character of an \X sequence and the accent(s), coming next, are the subsequent chars of this \X sequence ! So, the macro, described in my previous post, should be changed as : <Macro name="Global Search" Ctrl="no" Alt="no" Shift="no" Key="0"> <Action type="3" message="1700" wParam="0" lParam="0" sParam="" /> <Action type="3" message="1601" wParam="0" lParam="0" sParam="(?=\X)(.)|(?!\X)." /> <Action type="3" message="1625" wParam="0" lParam="2" sParam="" /> <Action type="3" message="1602" wParam="0" lParam="0" sParam="(?1\(\?=[[=$1=]]\)\\X)" /> <Action type="3" message="1702" wParam="0" lParam="640" sParam="" /> <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" /> </Macro> And it means that : If the current character found is a single character OR the main character of a current \X sequence, it must be replaced with the string (?=[[=$1=]])\X, where $1 represents the current char If the current character found is an subsequent character of the current \X sequence, thus an accent, it must just be deleted as its main character has been previously taken in account So, let’s consider the following French text, pasted in a new tab : C'est là, près de la forêt, dans un gîte, où régnait un grand capharnaüm, que l'aïeul ôta sa flûte et son bâton de son canoë C'est là, près de la forêt, dans un gîte, où régnait un grand capharnaüm, que l'aïeul ôta sa flûte et son bâton de son canoë Note that, within the first line, the accented characters are single chars whereas, within the second line, the accentued chars are unaccented vowels followed with an accent character If we apply our modified Global Search macro against a copy of the first line of this new tab, we get this regex : (?=[[=C=]])\X(?=[[='=]])\X(?=[[=e=]])\X(?=[[=s=]])\X(?=[[=t=]])\X(?=[[= =]])\X(?=[[=l=]])\X(?=[[=à=]])\X(?=[[=,=]])\X(?=[[= =]])\X(?=[[=p=]])\X(?=[[=r=]])\X(?=[[=è=]])\X(?=[[=s=]])\X(?=[[= =]])\X(?=[[=d=]])\X(?=[[=e=]])\X(?=[[= =]])\X(?=[[=l=]])\X(?=[[=a=]])\X(?=[[= =]])\X(?=[[=f=]])\X(?=[[=o=]])\X(?=[[=r=]])\X(?=[[=ê=]])\X(?=[[=t=]])\X(?=[[=,=]])\X(?=[[= =]])\X(?=[[=d=]])\X(?=[[=a=]])\X(?=[[=n=]])\X(?=[[=s=]])\X(?=[[= =]])\X(?=[[=u=]])\X(?=[[=n=]])\X(?=[[= =]])\X(?=[[=g=]])\X(?=[[=î=]])\X(?=[[=t=]])\X(?=[[=e=]])\X(?=[[=,=]])\X(?=[[= =]])\X(?=[[=o=]])\X(?=[[=ù=]])\X(?=[[= =]])\X(?=[[=r=]])\X(?=[[=é=]])\X(?=[[=g=]])\X(?=[[=n=]])\X(?=[[=a=]])\X(?=[[=i=]])\X(?=[[=t=]])\X(?=[[= =]])\X(?=[[=u=]])\X(?=[[=n=]])\X(?=[[= =]])\X(?=[[=g=]])\X(?=[[=r=]])\X(?=[[=a=]])\X(?=[[=n=]])\X(?=[[=d=]])\X(?=[[= =]])\X(?=[[=c=]])\X(?=[[=a=]])\X(?=[[=p=]])\X(?=[[=h=]])\X(?=[[=a=]])\X(?=[[=r=]])\X(?=[[=n=]])\X(?=[[=a=]])\X(?=[[=ü=]])\X(?=[[=m=]])\X(?=[[=,=]])\X(?=[[= =]])\X(?=[[=q=]])\X(?=[[=u=]])\X(?=[[=e=]])\X(?=[[= =]])\X(?=[[=l=]])\X(?=[[='=]])\X(?=[[=a=]])\X(?=[[=ï=]])\X(?=[[=e=]])\X(?=[[=u=]])\X(?=[[=l=]])\X(?=[[= =]])\X(?=[[=ô=]])\X(?=[[=t=]])\X(?=[[=a=]])\X(?=[[= =]])\X(?=[[=s=]])\X(?=[[=a=]])\X(?=[[= =]])\X(?=[[=f=]])\X(?=[[=l=]])\X(?=[[=û=]])\X(?=[[=t=]])\X(?=[[=e=]])\X(?=[[= =]])\X(?=[[=e=]])\X(?=[[=t=]])\X(?=[[= =]])\X(?=[[=s=]])\X(?=[[=o=]])\X(?=[[=n=]])\X(?=[[= =]])\X(?=[[=b=]])\X(?=[[=â=]])\X(?=[[=t=]])\X(?=[[=o=]])\X(?=[[=n=]])\X(?=[[= =]])\X(?=[[=d=]])\X(?=[[=e=]])\X(?=[[= =]])\X(?=[[=s=]])\X(?=[[=o=]])\X(?=[[=n=]])\X(?=[[= =]])\X(?=[[=c=]])\X(?=[[=a=]])\X(?=[[=n=]])\X(?=[[=o=]])\X(?=[[=ë=]])\X Which does match the two lines of the new tab ! And if we apply our Global Search macro against a copy of the second line of this new tab, we get this regex : (?=[[=C=]])\X(?=[[='=]])\X(?=[[=e=]])\X(?=[[=s=]])\X(?=[[=t=]])\X(?=[[= =]])\X(?=[[=l=]])\X(?=[[=a=]])\X(?=[[=,=]])\X(?=[[= =]])\X(?=[[=p=]])\X(?=[[=r=]])\X(?=[[=e=]])\X(?=[[=s=]])\X(?=[[= =]])\X(?=[[=d=]])\X(?=[[=e=]])\X(?=[[= =]])\X(?=[[=l=]])\X(?=[[=a=]])\X(?=[[= =]])\X(?=[[=f=]])\X(?=[[=o=]])\X(?=[[=r=]])\X(?=[[=e=]])\X(?=[[=t=]])\X(?=[[=,=]])\X(?=[[= =]])\X(?=[[=d=]])\X(?=[[=a=]])\X(?=[[=n=]])\X(?=[[=s=]])\X(?=[[= =]])\X(?=[[=u=]])\X(?=[[=n=]])\X(?=[[= =]])\X(?=[[=g=]])\X(?=[[=i=]])\X(?=[[=t=]])\X(?=[[=e=]])\X(?=[[=,=]])\X(?=[[= =]])\X(?=[[=o=]])\X(?=[[=ù=]])\X(?=[[= =]])\X(?=[[=r=]])\X(?=[[=e=]])\X(?=[[=g=]])\X(?=[[=n=]])\X(?=[[=a=]])\X(?=[[=i=]])\X(?=[[=t=]])\X(?=[[= =]])\X(?=[[=u=]])\X(?=[[=n=]])\X(?=[[= =]])\X(?=[[=g=]])\X(?=[[=r=]])\X(?=[[=a=]])\X(?=[[=n=]])\X(?=[[=d=]])\X(?=[[= =]])\X(?=[[=c=]])\X(?=[[=a=]])\X(?=[[=p=]])\X(?=[[=h=]])\X(?=[[=a=]])\X(?=[[=r=]])\X(?=[[=n=]])\X(?=[[=a=]])\X(?=[[=u=]])\X(?=[[=m=]])\X(?=[[=,=]])\X(?=[[= =]])\X(?=[[=q=]])\X(?=[[=u=]])\X(?=[[=e=]])\X(?=[[= =]])\X(?=[[=l=]])\X(?=[[='=]])\X(?=[[=a=]])\X(?=[[=i=]])\X(?=[[=e=]])\X(?=[[=u=]])\X(?=[[=l=]])\X(?=[[= =]])\X(?=[[=o=]])\X(?=[[=t=]])\X(?=[[=a=]])\X(?=[[= =]])\X(?=[[=s=]])\X(?=[[=a=]])\X(?=[[= =]])\X(?=[[=f=]])\X(?=[[=l=]])\X(?=[[=u=]])\X(?=[[=t=]])\X(?=[[=e=]])\X(?=[[= =]])\X(?=[[=e=]])\X(?=[[=t=]])\X(?=[[= =]])\X(?=[[=s=]])\X(?=[[=o=]])\X(?=[[=n=]])\X(?=[[= =]])\X(?=[[=b=]])\X(?=[[=a=]])\X(?=[[=t=]])\X(?=[[=o=]])\X(?=[[=n=]])\X(?=[[= =]])\X(?=[[=d=]])\X(?=[[=e=]])\X(?=[[= =]])\X(?=[[=s=]])\X(?=[[=o=]])\X(?=[[=n=]])\X(?=[[= =]])\X(?=[[=c=]])\X(?=[[=a=]])\X(?=[[=n=]])\X(?=[[=o=]])\X(?=[[=e=]])\X Which does match, also, the two lines of the new tab ! In conclusion, this method allows you to search for a stream selection of characters, regardless of the syntax of the accented characters within that selection ! Best Regards, guy038
    • Claudia SvensonC

      Bug: Empty file with UTF-8 encoding saved as ANSI

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      8
      1 Votes
      8 Posts
      2k Views
      MarkusBodenseeM
      @Coises said: What is really means is, when Notepad++ opens an existing file that contains only ASCII characters, it should treat it as UTF-8 rather than as ANSI. Yeah, so for example: “Treat ASCII-only files as UTF-8 (instead of ANSI)” or something similar could be a more clear wording for the option. Which, for me, raises the question: Why is this only available when UTF-8 is the default encoding for new files? It would add a bit more flexibility to the user, but on the other side it seems very unlikely to set this option if you don’t want UTF-8 as default. So I guess it could be a preventative measure that the user doesn’t set any confusing options.
    • guy038G

      Are both '.7z' and '.zip' portable archives necessary ?

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      8
      0 Votes
      8 Posts
      2k Views
      sevem47S
      @ThosRTanner said: This doesn’t seem terribly useful for an installation package though. This is exactly my use case: I download the zip archive end selectively extract only changed files. Some of the files in my installation I explicitly do NOT want to get overwritten. In the end it is really just a matter of taste. And I really appreciate the possibility to choose my desired format. From this I support the current situation, that both format are presented for download.
    • Claudia SvensonC

      How to auto-convert text (Umlaute) when changing file encoding from ANSI to UTF-8 BOM?

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      15
      0 Votes
      15 Posts
      5k Views
      mpheathM
      The Python script I posted is expected to handle single byte errors from UTF8 decoding. Asian languages can be 2 byte for ANSI and so the script may need to get the following byte too to decode both bytes properly. Probably will not find recovery tools and the like that will fix mixed encoding errors as the solution in some cases might be worse then the problem though in this case tested OK. Once saved, then there might be no going back and so creating a backup before the operation would be wise. Inspect the results to confirm is OK.
    • donhoD

      Notepad++ release 8.9.7

      Watching Ignoring Scheduled Pinned Locked Moved Announcements
      7
      2 Votes
      7 Posts
      7k Views
      donhoD
      Auto-updater is triggered for v8.9.7.
    • nft 3000N

      Feature Request: Parallel Processing (Multithreading)

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      17
      0 Votes
      17 Posts
      5k Views
      CoisesC
      @gstavi said: (You replied to my comment, but I’m not sure this was directed to me. In case it was…) Professionals who search 100,000s of files with Notepad++ are not professionals. Professionals, when they reach that scale (and long before), use command line tools. Then they open the found files in an editor. Possibly Notepad++. I don’t really care who is or isn’t a “professional.” I started working on Search++ mostly to experiment with some user interface changes to provide more flexibility, while also wanting to expose the enhancements (formulas, more complete Unicode support) I built into the search in Columns++ in a more general-purpose framework. It’s all way too much to propose as a change to the base program. I’m hoping that eventually (there is much work yet to be done) it can be a practical alternative to Notepad++’s built in search for people who like the user interface changes. So, along that line, my current phase of development is working on Find in Files. Because I don’t rely on Scintilla’s interface for regex searching (I use a separate copy of Boost::regex with custom iterators directly against the Scintilla buffer), I can skip Scintilla entirely when reading files from a folder. The main performance bottleneck of search in files was that every file was fully loaded into Notepad++, then its encoding was guessed. Probably with extra overhead as if this file is about to be displayed. Then its contents were scanned for matches as if it was regular search. Simple, elegant and SLOWWWW. That part I skip, except that I still have to work out the encoding. Right now I handle all three forms of byte order mark, and in the absence of a BOM I differentiate valid UTF-8 (including pure ASCII) from anything else — anything else being processed using the system default code page encoding. I don’t yet handle files with an internal character set declaration (like HTML or XML), UTF-16 without a byte order mark, or legacy code pages other than the system default. The #1 required performance optimization is to have “search files as utf-8” feature which is basically grep. Assume all files are utf-8 (or ascii or binary). Scan them with efficient buffer by buffer linear algorithm without loading the entire file to Notepad++. But this is a different new feature, not optimization of current search which is still needed by people who (for some reason) use multiple encodings. I have part of this optimization (no Scintilla and no encoding conversion, just use the correct iterator for the detected encoding), but I still read the entire file into memory, because processing the full possible range of Boost::regex regular expressions without the entire text present would be very challenging (if not impossible). I gather grep is normally limited to line-by-line processing; that wouldn’t fit with what people expect from regular expressions in the context of Notepad++. It has occurred to me that a future (probably far future) enhancement to my plugin might be to offer the RE2 engine as an alternative. Since it doesn’t backtrack, processing gigantic files without needing to read too much data into memory at once would be possible. The #2 performance optimization is probably asynchronous I/O before multithreading. Maybe with modern NVME drives this is less true than it used to be with spinning disks. Still true for search over network share. I’m still experimenting. My last public version (Search++ 0.6.3.1) uses memory-mapped I/O for files that are not remote, but further testing has shown me that has little-to-no gain over just sequentially reading the files into a buffer for either my NVMe SSD or an internal hard drive. The next thing I plan to try is “decoupling” reading and searching. Right now each thread reads and then searches; there might be some gain from separating those (a reading pool pushing to a queue from which a searching pool pulls), though my experience over the past two or three weeks has shown me I can spend a great deal of time pursuing a theoretically better alternative only to have it make no real-world difference at all. So far the most stubborn problem I’m up against is figuring out how many I/O operations to submit at once. An SSD definitely benefits from letting all cores hit it with requests at once. A USB thumb drive suffers from that, and can actually perform worse than single-threaded… except when the files are cached from just having been read before, in which case they act like an SSD. For a remote share, the optimal number of simultaneous requests probably depends on the current state of the network — something I have no real way to model and test. If you happen to know of a practical, real-world implementation of Windows code that determines at run time how many simultaneous read operations to issue against whatever is hosting a given folder for maximum throughput, please tell me about it. Multithreading is 3rd priority. It is extremely unlikely with original algorithm and rather easy for search as utf-8. I’ve managed to get around 13 times the performance of Notepad++ native search on an SSD in a system with an i-9 9900K (16 threads). Some of that is probably due to avoiding the use of Scintilla, and some (I think most) to multithreading. I am definitely not a “professional” when it comes to having a clue how to measure performance properly, though, so not too much should be made of any of it. But again, opinions of people who can’t mix and match the right tool for the job and insist that every tool should adapt itself to their selfish needs should not have much weight. Agreed about the “insist” part. It’s almost always more productive to learn about what tools exist than to whine about how the one with which you are familiar doesn’t work the way you wish it did. Yet users’ complaints are how those of us who develop software learn about what might be useful. That doesn’t mean we always can or should give people what they think they want — they know what impedes or annoys them, not the best way to make it better — but it tells us where existing tools fall short. It’s up to us to design ways to fill in the gaps, though not always the way a non-programmer might have imagined it.
    • M

      macro question re:

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      7
      1
      0 Votes
      7 Posts
      516 Views
      guy038G
      Hello, @troglo37 and All, OK. So let’s start off slow ! First of all, I’d like to check with you to make sure we’re on the same page about our goal : If we begin with this text : Our friends Sarunas, Dorde, Orjan, Pawel, Stefania, Angel and Ugur had already left Our friends Šarūnas, Đorđe, Ørjan, Paweł, Ștefania, Ángel and Uğur had already left Our friends Šarūnas, Đorđe, Ørjan, Paweł, Ștefania, Ángel and Uğur had already left As you can notice these lines are quite similar and differ only because of some accents in the first names : The first line does not contain any accent The second line contains some characters with an accent. Here are their Unicode values : Š = 0160 ū = 016B Đ = 0110 đ = 0111 Ø = 00D8 ł = 0142 Ș = 0218 Á = 00C1 ğ = 011F The third line contains — when it was possible to find an equivalent — a classical ASCII letter immediately followed with a combining diacritical mark — an accent — thus two characters for one glyph. However, the letters Đ, đ, Ø and ł, without equivalent, are single characters only, like above ! S + 030C = Š u + 0304 = ū Đ = 0110 đ = 0111 Ø = 00D8 ł = 0142 S + 0326 = Ș A + 0301 = Á g + 0306 = ğ Now, I assume you’d be interested in finding any of these three syntaxes — or others like them — at the same time, in your file(s), right ? @troglo37, just tell me if this is your goal ? See you later ! Best Regards, guy038
    • J

      Issues with XML highlighting text

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      6
      1
      1 Votes
      6 Posts
      443 Views
      J
      @PeterJones I was looking at style for CDATA instead of SGML, so that explains it. Thanks a lot for the help!!
    • M

      Using Notepad++ to Organize Game Guides and Documentation

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      5
      0 Votes
      5 Posts
      417 Views
      PeterJonesP
      @annettekusma said: I also need to be able to move around paragraphs easily during the writing process # header paragraph before paragraph with no enter newlines, but just use line wrap. this allows you to use Ctrl+Shift+Up/DownArrow to move it up or down paragraph after [image: 1785854639307-moveparagraph.gif] I might want to have a couple of textfiles for the larger documentparts though, but I would want to drag a pragraph from one document to another. You would have to have both files open in Notepad++ tabs, and drag the text across between views (or use cut from one tab and paste into the other) automatically created table of contents, That is a word processor / desktop publishing software feature, not a feature of a text editor. Notepad++ can show the list of “functions” in the Function List panel, and for Markdown, I have headers defined as functions ⇒ here is the simplistic functionList definition I use for Markdown. If you put it in %AppData%\Notepad++\functionList as udl_markdown.xml, and then add <association id="udl_markdown.xml" userDefinedLangName="Markdown (preinstalled)"/> in your overrideMap.xml file in the same directory (if you don’t already have one there, copy c:\Program Files\Notepad++\functionList\override_map.xml into the AppData locaton) . But that is only visible inside Notepad++ itself, is not inherent to the file, and is dependent on having the functionList definition mapped in the overrideMap. You can come close to what you want in Notepad++, but it will never have all the features you have requested, because Notepad++ is a text editor, not a desktop publisher, and to expect a text editor to behave like a desktop publisher is to invite disappointment.
    • guy038G

      An incredible 4-6 loss !

      Watching Ignoring Scheduled Pinned Locked Moved Blogs
      5
      0 Votes
      5 Posts
      585 Views
      David Brigden52D
      Seems they decided that it they couldn’t be the heroes, rhat they would be the villains.
    • M Andre Z EckenrodeM

      (\W)'(\w) Regex replace failure

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · · find repl reg
      4
      1
      0 Votes
      4 Posts
      91 Views
      mpheathM
      @Coises said: Notepad++ won’t let the selection that results from a search split a CRLF line ending. As you can see, it moves the start of the selection from the actual location of the match to after the line ending. I noticed that in a Lua script recently that the Scintilla positionAfter function treats CRLF as a single UTF-8 character. So the CRLF has become what some may call an unbreakable sequence in some situations.
    • M Andre Z EckenrodeM

      Search++ (\W)'(\w) regex replace failure

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      4
      0 Votes
      4 Posts
      78 Views
      CoisesC
      @M-Andre-Z-Eckenrode said: Am I supposed to be able to run the portable copy of NPP while the installed copy is also running? When I tried to open the portable, it just brought my installed copy window to the front, and didn’t open anything new. The portable version has its own settings stored within the portable folder. By default, Notepad++ runs in single instance mode. I tried it and it appears that when the Notepad++ you are attempting to open is in single instance mode, if any Notepad++ executable is open, it will switch to it instead. If you open the portable alone, with no other Notepad++ running, and change Settings | Preferences… | Multi-Instance & Date to Always in multi-instance mode, then you’ll be able to open the portable when the installed version is already running. Then I tried closing the installed copy, but immediately got an error dialog. I was hoping to do a screenshot of it but somehow failed to (it may have been something about my session file having been corrupted, as there was no session restoration when I eventually re-opened my installed copy). I have no guess about that. Rather than hitting OK or whatever option it gave me in the dialog, I tried opening a new installed NPP instance via my AutoHotkey keyboard sequence so I could take some notes that hopefully wouldn’t be affected by whatever problems the first instance was having at that point, but I then immediately got another error dialog, this one specifically for Search++: A configuration file was found, but it does not contain valid JSON and will be ignored. Installed copies all share a single set of configuration files (for Notepad++ and plugins). This was probably related to the previous error. A possibility is that, since (if I’m following correctly) the instance with the error was still open, the file might have been present but locked, or incomplete. Search++ puts up that message when the system says there is a file in the right place with the right name, but when I pass the file name to the JSON parser, it says it doesn’t make sense. I haven’t tested, but I suspect that could happen if the file is inaccessible as well as if it contains invalid JSON. The next message: A configuration file found at startup was ignored because this plugin could not use it. Do you want to save the current configuration settings? (If Yes, the old file will be overwritten.) is then expected when you close Notepad++; if there was some reason you didn’t want to lose the current contents of the file (for example, to diagnose how the file came to contain invalid JSON), that would let you preserve them. I’m sorry that was such a mess. :-( I then finally got the portable copy to open, and tried my regex in it. It all worked. Then that means the cause is almost certainly either a plugin or a Notepad++ setting. I don’t know of any Notepad++ settings that would cause what you saw. My guess is that it’s an interaction with one of the plugins. If you want to try to figure it out, I think the easiest way would be to go to your installed copy of Notepad++ in Windows Explorer, copy the plugins folder, then go to the portable copy, delete the plugins folder, and paste what you copied. Run the portable again and verify that all your plugins are listed. Then see what happens. If the problem still doesn’t occur in the portable, then there must be a setting that Search++ doesn’t accommodate properly. If the problem does occur in the portable, try removing plugins one by one to see if you can isolate which one makes it go away. I understand if you don’t want to pursue all this, though. I’ll look at the plugins listed in your debug information and see if I can find any that might cause a conflict.
    • ILoveSkilledCodersI

      Updated NP++ and now lost my previous notes

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      4
      0 Votes
      4 Posts
      243 Views
      PeterJonesP
      @ILoveSkilledCoders said: Unfortunately I don’t understand some of what you said. I am sorry. I thought that explaining to go someplace in Windows explorer and rename files would be easy enough to understand. I cannot make it easier to understand than that. I’m trying to find someone to help explain it to me. & I don’t know what you didn’t understand, so I cannot explain more. to edit those files b/c I don’t want to screw things up & make it worse. I didn’t say to edit any files. I said to rename/copy files. I have no idea if I was in admin mode when I updated. That’s unfortunate. … someone told me you came out with the numbers that tell us how many search results there are, … & then which number result we are on after we press “enter.” I need that so I got excited & updated. Unfortunately it’s not in the Ctrl F search window as I found out. That’s with Search > Inremental Search which brings up the Incremental Search Bar at the bottom of the screen. That’s a simplified version of the search which has always been there, but recently the “live count” was added to the Incremental Search I think I learned years ago that you have to click on Ctrl S at least once to save each file, Each time you hit Ctrl+S on a file, it saves it. That’s the only time that Notepad++ saves it to the given directory. If you only hit Ctrl+S on each file once, then it only saved it once in that directory. The “session snapshot and periodic backup” feature of Notepad++ does not save the file to the normal location. It saves it to the backup directory which I referenced before. In the future: If you want to automatically save your updated/edited files without hitting Ctrl+S or File > Save or the Save or Save All button on the toolbar, you would need to install and configure the AutoSave plugin, as described in the FAQ I linked you to. If you don’t want to install and configure that plugin, then you will have to learn to Save your files on your own. but I had them all saved at one point, otherwise they wouldn’t have been in that Notepad++ folder, so I have no idea what happened. You saved them once, and only once. Never again. That’s what happened. On another note, off & on since the update, I keep getting this error, & then there’s another question after this one which I forgot to take a SS of. https://nimb.ws/i9V1zXa Just paste the image into your post: you don’t need to upload it to a service. [image: 1785784094594-115d78d2-de07-43ff-a056-e06450858f4d-image.jpeg] That means some other program had updated Links.txt since the time you opened it in Notepad++. Your choices are to say “YES”, which will read the copy from disk, and get rid of all your edits, or to say “NO” and overwrite whatever is on disk with what’s currently visible in Notepad++. Which choice is right depends on your computer, and we cannot tell you which is right for you to choose. Also, when I click on Ctrl. F, most of the time it doesn’t highlight & place my cursor in the text field so I can type a new keyword. I had no problems with the other one. That’s controlled on Settings > Preferences > Searching, with the Fill Find Field with Selected Text checkbox and the Max Characters to Auto-Fill... number field. Going back to your original problem: you have probably opened and closed Notepad++ too many times for my file-rename procedure to be of any help. So ignore that part for now. Instead, you will need to open your Windows Explorer (WinKey + E – I believe that worked even back in Win7 days), and then paste %AppData%\Notepad++\backup into the Location Bar of the Explorer window. If your Win7 doesn’t show the explorer bar, then you will have to manually go to C:\users\<user name>\AppData\Roaming\Notepad++\backup\ in Windows Explorer. In that directory, there may or may not be a bunch of files with names similar to filename.ext@yyyy-mm-dd_hhmmss, where filename.ext is the name of the real file, and the yyyy-mm-dd_hhmmss is a timestamp that Notepad++ used. If you have a bunch of those, you can copy those to some safe, temporary directory, and then open all those copies in Notepad++. Look through them, If any of them have the data you want for your real files, then save them to the correct filename in D:\Notes\Notepad++. Close any of them you don’t want. Leave the ones open that you saved to D:\Notes\Notepad++. In the future, either use Ctrl+S (or the menu or toolbar equivalent) to save the file when you’ve made an important change, or set up the AutoSave plugin to save your files for you. If you have difficulty setting up AutoSave after reading the FAQ, please let us know which step of the FAQ you are on and having difficulty with. But I’m not going to type step-by-step instructions for you here, because those instructions are already in the FAQ, and it would be a waste of everyone’s time for it to be typed again here.
    • M Andre Z EckenrodeM

      Search++ Config save prompt when exiting after multi-instance

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      4
      0 Votes
      4 Posts
      330 Views
      M Andre Z EckenrodeM
      @Coises You’re welcome, and thank YOU for promptly creating the new version, and for your plugins in general to begin with! The new one lets me exit without incurring any dialog.
    • arnaud deretteA

      User defined language - operator § not working

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      4
      1
      0 Votes
      4 Posts
      308 Views
      PeterJonesP
      @arnaud-derette said: I does not work in the operator 2 list either (or may be i need to do something more than just put § there ?) Like I said, because you want the § to not have spaces, like in parent§.D, it won’t work for you. § in operators 2 will only work if you can have spaces around the §