• Search++: A work in progress

    Notepad++ & Plugin Development
    122
    6 Votes
    122 Posts
    35k Views
    sevem47S
    @Coises said: I might be missing something. Do you find that it is not obvious enough in the document window itself when lines are hidden (the horizontal lines where the hidden lines are)? Thanks for your hint; I see, the mistake is on my side! I use a different background color and my eyes are getting older ;-) Therefore I did not see the lines between the text: My configuration vs. Default theme: [image: 1785264398025-b4c2960d-2d83-4c60-a13b-064ce8ffdd81-image.jpeg] / [image: 1785264414096-3749de5d-cf73-4ea2-ad28-54e459e8bf8d-image.jpeg] Now I know where to look. Good point. I will fix that — not necessarily in the very next release, but I will fix it. I know you have a lot of topics on your list that are much more urgent. For me it is a ‘nice to have’. Thanks for your help.
  • 0 Votes
    2 Posts
    58 Views
    PeterJonesP
    moderator aside: I approved the above post after removing what was likely just a spam URL. I am doubtful that the OP actually intended it as anything but an excuse to drive traffic to their 3DS site. But the questions asked aren’t completely out of the realm of general interest for a Notepad++ forum, so I decided to sanitize the post and let it stay, in case it drives actual discussion. Changed the Topic Title to be more generic, to match what’s on-topic for this forum. @mohsin-raza , Those workflow steps all seem reasonable to do in Notepad++. Comparing different versions of articles before publishing. I definitely use the Compare++ plugin to compare files: if you’re using Git or SVN for version control, it even has the ability to do the equivalent of git-diff or svn-diff, without having to manually have two copies with different versions of the same file, so you can see how the file has changed since your last commit, which is quite useful. use Notepad++ for large documentation projects outside of software development. I mean, there are plenty of people who use Notepad++ for making websites. There are some users here who pester us with a gazillion questions on how to edit raw HTML with regex (even though regex isn’t the best tool, since HTML is too free-form for most regex to work effectively). And I use Notepad++ for editing the Markdown of the Notepad++ User Manual. But I don’t do much “fancy” outside of normal Notepad++ usage (with the occasional MarkdownViewer++ to preview the rendered version of the Markdown… though since we use hugo, I actually use hugo to render to HTML and view it in my browser instead, because of hugo’s special features that MarkdownViewer++ doens’t render properly) Do you use any plugins … Depending on the underlying language/filetype of the documentation: HTML ⇒ there are plenty of plugins helpful with HTML – just use Plugins Admin and type in HTML, and it will step through some. Though one of the most useful would be XML Tools, which can help with pretty-printing Markdown ⇒ there are multiple plugins for helping with Markdown: there are some “preview” tools which render your markdown into a panel inside the Notepad++ window, for example. Again, typing Markdown in the search bar in Plugins Admin will give you some ideas GitSCM ⇒ allows you to integrate Git version control actions inside the Notepad++ interface, so you don’t have to drop to the command line or using a git GUI in Windows Explorer custom themes Themes are just the color sets for the builtin languages. Everyone has different preferences as to what colors “look best” to their eyes. I don’t understand how you could think “custom themes” would help; would you care to explain/expound on that? Did you mean “custom User Defined Languages [UDL]”, which allows custom keyword-based syntax highlighting? Then, depending on what languages/format you are using for the text of the documentation, some might help. Notepad++ already ships with a Markdown UDL, but if you don’t like the colors that ship with N++, you can always edit the UDL to choose different colors. And, since it’s a UDL, if you don’t like the decisions that were used for how to apply keyword-based styling to something that’s more punctuation-based, you can play with alternatives. If you have an underlying language/format for your file that’s not found int he Languages list, you should consider looking at the UDL Collection repository, which collects user-submitted UDL, and many languages have one or more user-submitted UDL (and some have associated functionList and autoCompletion definitions). The CollectionInterface plugin (available thru Plugins Admin) can make it easier to install such a UDL (especially with the FL or AC additions) rather than manually trying to figure out where to put each of those files. But all-in-all, your post seems so generic and vague that I’m not convinced that you didn’t just use an AI with a prompt like “pretend I use [INSERT TEXT EDITOR NAME HERE] to edit my documentation, and write a post for me that adds a link to [WEBSITE URL AND NAME HERE] in something that they won’t mark as spam/off-topic”. If that’s what you did, you failed, because we didn’t include your spam link in your post. Please read the rules of this forum before posting more spam. If your future posts – to this topic, or any other topic in this forum – try to re-include links to your site, or other sites you might want to advertize, you will be banned. Other posts in this discussion which include links to sites not related to Notepad++ will also be blocked and their users banned. If this topic just devolves into an attempted honeypot, where the only posts are people trying to violate these restrictions, the topic will be locked.
  • 0 Votes
    4 Posts
    2k Views
    M
    @PeterJones said: @Kiichiro-Matsushita, welcome to the Notepad++ Community. You said: I tried tinkering with the Style Configurator, to no avail… You don’t tell us which theme you are starting with. You don’t tell us what you tried in the Style Configurator. One would think if you really wanted help, you would give us more to work with. That said, I will give the following advice: How do I change those? Using Style Configurator, after you’ve set your theme, you can choose the Global Styles in the first column, and choose the Current Line Background settings (second column) to change the “you are on this line” highlight; for “you have selected this text”, you need to edit the Selected Text Color (again, second column). Please note for these two settings, Style Configurator only pays attention to Background Color – the foreground color and bold/italic/underline settings are ignored. … Good luck. I had the same issue, this answer worked! Appreciate your time & input
  • 0 Votes
    11 Posts
    595 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.
  • Feature Request: Parallel Processing (Multithreading)

    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.
  • 1 Votes
    8 Posts
    2k Views
    rafaelloR
    1.2.1 Syntax highlighting PowerShell Added document comment syntax highlighting [image: 1785067576590-doxygen1.png] [image: 1785067576858-doxygen2.png] Added injected code syntax highligting (inside @''@ or @""@). [image: 1785067606620-member1-resized.png] [image: 1785067607237-member2.png] Types ([int], [string], …) got smooth colors Updated keywords and built-in variables (PSObject, $this, …) AutoHotkey Improved JsDoc (document comments) highlighting [image: 1785067628669-doxygen.png] [image: 1785067628705-doxygen2.png] Improved @Ahk2Exe-Keep comments (shows code that will be executed only if it was compiled via Ahk2Exe) [image: 1785067642264-keep1.png] [image: 1785067642424-keep2.png] Improved ahk2exe directives colors (displays all directives). Type any directive, like console or keep, and auto-completion will insert code snippet with this directive Fixed Issues with paths syntax highlighting (relative and absolute). [image: 1785067694213-paths.png] Variables interpolation inside quotes and paths [image: 1785067703084-interpolation1.png] Unexpected orange background, light theme, wrong font and colors on some systems. Removed unavailable/empty themes. Missing return types in popup docs and functions hints for some AutoHotkey built-in functions.
  • macro question re:

    General Discussion
    7
    1
    0 Votes
    7 Posts
    403 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
  • 0 Votes
    9 Posts
    1k Views
    dr ramaanandD
    @guy038 has given a good example here also: https://community.notepad-plus-plus.org/topic/27611/is-there-a-way-to-find-both-alphabets-with-and-without-accents-at-the-same-time-when-searching
  • 0 Votes
    4 Posts
    269 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.
  • 0 Votes
    9 Posts
    586 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
  • 0 Votes
    4 Posts
    253 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 §
  • New Feature - Lock a Tab

    General Discussion
    3
    0 Votes
    3 Posts
    268 Views
    PeterJonesP
    @Sam-Fourie , It’s been suggested before, as in issue #17430. The developer stated explicitly: It’s not my intesion to “lock” the document by using “Pin a document”. It’s just a way to make the documents grouped in front so users find them more easily. Checked with MS VC Studio, their behaviour is the same as Notepad++, and I think it’s the right behaviour. It works the way the developer wants, and he has rejected the suggestion to make it work the way you want. update: I’m not saying it’s not a good idea. Just that the developer (who is the final decision maker) is the one you’d need to convince. And, given that he’s already rejected the idea, you’d have to come up with something more than “I really want it” to convince him otherwise (and it would have to be posted in the issues tracker, presumably as a reply to the issue I linked, not in the user Community).
  • An incredible 4-6 loss !

    Blogs
    5
    0 Votes
    5 Posts
    435 Views
    David Brigden52D
    Seems they decided that it they couldn’t be the heroes, rhat they would be the villains.
  • 1 Votes
    37 Posts
    25k Views
    G
    For anyone who wants to get rid of that annoying “This file has been modified… Do you want to reload it…” prompt/dialog box, do the following: Go to Settings Click Preferences Click MISC. Under “File Status Auto-Detection” click Disable from the drop-down menu Close
  • 0 Votes
    3 Posts
    367 Views
    PeterJonesP
    User Manual has been updated: Renamed header to “shortcuts.xml Security” and includes mention of Macros as well: https://npp-user-manual.org/docs/config-files/#shortcutsxml-security added Macros Security on the macros page: https://npp-user-manual.org/docs/macros/#macro-security added a paragraph linking to the “shortcuts.xml Security” page in the Running External Commands page: https://npp-user-manual.org/docs/run-menu/#security-is-your-responsibility
  • Notepad++ release 8.9.7

    Pinned Announcements
    6
    2 Votes
    6 Posts
    5k Views
    PeterJonesP
    @donho, Based on HELP on Macros - security issue? and Problem running a macro without any associated key combination, I would say that the Security Warning dialog needs to be slightly more explicit: now that the warning occurrs for both Run menu entries and for Macro menu entries, the message should change use “Validate shortcuts.xml” from the menu to confirm it to use “Validate shortcuts.xml” from the Run menu to confirm it, so that users can find that menu entry, whether they see the message from trying to do a saved Run command or a Macro.
  • 1 Votes
    6 Posts
    376 Views
    J
    @PeterJones I was looking at style for CDATA instead of SGML, so that explains it. Thanks a lot for the help!!
  • Notepad++ release 8.9.6.1

    Announcements
    38
    1 Votes
    38 Posts
    20k Views
    D
    Ah ok. So just noticed this has been implemented after updating to 8.9.7. How do I get around the dialog coming up “security information for shortcuts.xml is missing in config.xml” when I deploy this to multiple computers? I have a “master copy” of a portable installation on a network drive, then update that whenever a new version comes out. There is a batch file on a “client” PC that basically copies that folder from the network drive to a local drive on the client. So every client, whenever they first use a macro, gets this warning and has to validate the shortcuts.xml file. How do I stop this from happening, i.e. how can I make the shortcuts.xml file “trusted” in the master copy on the network drive, so it appears trusted on any other client that happens to download it?
  • 1 Votes
    1 Posts
    362 Views
    No one has replied
  • 1 Votes
    6 Posts
    2k Views
    PeterJonesP
    @Elayne-T , Do you have your ?-menu’s Debug Info? Do you have plugins in Notepad++ that might be doing something in the background? (Maybe a plugin has popped up a dialog, but because they didn’t code it right, the dialog doesn’t go in fron of Notepad++'s always-in-front.) Do you have a file open that requires Admin privileges to write/save? If so, maybe Windows has popped up the UAC, but it didn’t get to take your full screen like it normally would (the UAC shield icon would be on your taskbar if it’s an issue with the UAC) Do you have anything other than Notepad++ and your browser running? Do you have any applications like AutoHotKey, which assign global hotkeys that maybe it’s interpreting some sequence of keystrokes you are using to Does your browser have any extensions/plugins that might be trying to steal focus away from Notepad++? It will be easier to replicate and find if you give as many details and pieces of relevant information as possible, otherwise something as nebulous an unrepeatable as this is going to be difficult to find. update: one more idea: in the older posts, they mentioned that they’d click in Notepad++ to activate, then after a few seconds of typing, the focus would be lost. Is that the case for you? If so, did you leave the mouse pointer somewhere over the Notepad++ window when you started typing? Or does the mouse pointer start drifting off accidentally (maybe you bumped the mouse while typing, or it gets shaken while you type fervently)? Or does the mouse pointer get moved off intentionally (for example, when I was experimenting with always-on-top, I would move the mouse pointer back over the Chrome window, then use the scrollwheel to scroll the browser tab without clicking in the browser). If your mouse pointer is back to being over the browser (or some third app), maybe something in that other app grabs focus when you leave your mouse lingering over it (I know that some linux GUI will give apps focus whenever the cursor hovers over them, even if they haven’t been clicked to the foreground… maybe some other app – your browser or something else – has given itself such a feature, even on Windows.)