• Read This First

    Pinned Locked
    1
    5 Votes
    1 Posts
    8k Views
    No one has replied
  • 2 Votes
    32 Posts
    47k Views
    ThosRTannerT
    Just a quick question - when will the plugintemplate repo be updated to include the new message? Thanks
  • Search++: A work in progress

    155
    6 Votes
    155 Posts
    49k Views
    CoisesC
    @guy038 said: Personally, your concept of a default scope bothers me a little, because it’s hard for me to know, in advance, which actions will be automatically selected by the plugin ! (It occurs to me that perhaps I should call it “adaptive” rather than “default” scope. Within the program code I called it “Smart,” but by the time I got the help and UI together I decided that word sounded too pretentious.) The uncertainty about what action a button will perform bothers me, too. I’m still trying to think of a way to mitigate that. I think the idea of an adaptive scope is useful, but I don’t like that you can’t confirm what actual command a button with adaptive (default) scope will perform at a glance, before clicking it. You just show six one-letter buttons and two one-letter button for the replace actions, as below : |F| |C| |A| |S| |M| |H| : Find Count find All Select Mark sHow |R| |A| Replace replace All All these simple-design buttons would open a common dialog box, in which the selected action — one of the eight possible options — would be already selected by default. This dialogue could be based on the table shown above ! Then, you’ll just have to check your present scope and extent choices for the chosen action Optionally a message, summarizing everything that has just been selected, could be displayed Then, this new dialog would end with three buttons : A Define button to attribute a default configuration ( scope and extent ) for the chosen action, without any execution. A Run button to start the chosen action, without any default configuration to apply to And, of course, a Cancel button, or an hit on the ESC key, to dismiss the chosen action In other words, no more drop-down menus ! Instead, a new configuration dialog to confirm the default scope and extent values of the chosen action AND / OR the execution of the chosen action, with the present options checked in the scope and extent sections There are surely some drawbacks to my proposal ! Anyway, what’s your feeling about this radical change ? At first I thought you meant every single action would require clicking a button, looking at a dialog to verify the options are what you want, then clicking a button in the dialog to actually do the action. What is now Find, Find, Find would become F, dialog opens, check defaults (change them if wrong and Define), Run, F, dialog opens, Run, F, dialog opens, Run. That would be way too much interruption of flow for a user doing simple things. Of course, you could, in one go, click first on the Define button, then click on the Run button Since this implies that Define does not close the dialog, perhaps you also intend that Run does not close the dialog. That would allow for repetitive actions, at the expense of having this dialog (in addition to the main Search++ dialog) on the screen while doing them, and having to click another button to close it after the last or only action. I’m sorry, but it sounds to me as if it would be very clumsy to use. Dialogs are even more of an interruption than menus. It would also defeat the purpose of a docking dialog if another dialog has to be raised to actually do anything… unless it is also docking… In my opinion, the main buttons must do something that’s usually useful with a single click. To what degree that should be “adaptive” (e.g., in selection when there is a “large enough” selection) is debatable: adaptation increases the chance that you can do what you want with a single click, but also increases the chance that what a single click does won’t be what you expected. I think six buttons under the find box would be too busy, making it harder for the user to immediately identify and click the desired button. A busy layout doesn’t bother me as much with something like the Settings dialog (which, I admit, is horrible) that you don’t open often, but for something that’s meant to be used frequently, maybe even kept open in a docking panel, visual simplicity is important. For what it’s worth, you can get some aspects of your idea now. Just use Shift+click on each drop-down menu to choose a command that does not use default scope as the command for the button. Click the button when you want to Run what you already have set. If you want to Run a different command, select it from the drop-down. If you want to Define and Run a different command, Shift+click it in the drop-down. (There is no equivalent to Define without Run.) Additionally, in the Settings dialog you can uncheck Default commands automatically search within selections. and Default commands automatically search within marked text. to disable the adaptive mechanism, so that default scope is always Whole Document and even if you select a plain command (Find, Count, etc.) Search++ will never infer anything other than Whole Document.
  • [New plugin] Smart Math

    7
    1 Votes
    7 Posts
    1k Views
    Vitalii DovganV
    Here are the latest binaries if you are interested: 32-bit: https://drive.google.com/file/d/1jmKaSU5YF2Hd2mHKAWDZyG4NDfx99Xnc/view?usp=drive_link 64-bit (x86_64): https://drive.google.com/file/d/1mrqNicsfjfJITmrfeHlG2WEzgHZdokI-/view?usp=drive_link
  • 1 Votes
    4 Posts
    2k Views
    D
    It never inserts the text at the caret’s position for me: it either moves up a line and/or replaces the existing text. What am I misunderstanding?
  • wireloom in markdown viewers

    7
    0 Votes
    7 Posts
    398 Views
    rdipardoR
    @Keith-Collyer said: I ended up adding a request to the markdig library here: https://github.com/xoofx/markdig/issues/952 👍
  • [New Plugin] MultiReplace

    81
    3 Votes
    81 Posts
    85k Views
    Thomas KnoefelT
    MultiReplace 6.1 is out and will land in Plugin Admin with the next Notepad++ release. The focus of this release is Replace All in One Pass, running the whole list in a single left-to-right sweep instead of one full pass per entry, together with a reworked Find/Replace in Files and a handful of list and UI improvements. Several new options live under Plugins > MultiReplace > Settings. Download: Latest build Key Features & Improvements Replace All in One Pass: Runs the whole list in a single pass instead of one full Replace All per entry, so results build on each other left to right. With cat → dog and dog → cat, sequential mode turns “cat dog” into “cat cat”, one pass turns it into “dog cat”. Much faster on large documents. Toggle per tab, right-click the list tab. Use Open Documents: Find/Replace in Files can now work on files already open in Notepad++ as the live document, unsaved changes included, instead of the copy on disk. New checkbox in Settings. Skip Binary Files: New option for Find/Replace in Files (on by default), same detection as ripgrep and VS Code. Also adds UTF-16 detection without a BOM, and skipped files are always reported, broken down by reason. CSV Header Rows: Find/Replace now always searches header rows too. “Header rows to exclude” only protects sorting and duplicate detection. Collapse to File List: New Search Results dock option folding every search block down to just file names and hit counts. Ctrl/Shift-click works in the fold margin, same as Notepad++'s own Search Results panel. Library Mode: “Keep list always visible” can now be switched right from the Use List button’s context menu, no detour through Settings. Add New Row: Takes over the dialog’s current search options instead of starting all off. Find/Replace text still starts empty. Duplicate Row Reporting: A list row that exactly duplicates an earlier enabled one is skipped as before, but the status line now tells you how many rows were skipped. [image: 1789296944806-e15a9d23-6db6-4411-a694-d44fc95300e5-image.jpeg] Issues or suggestions: GitHub. Happy replacing!
  • SetFirstVisibleLine not working?

    10
    0 Votes
    10 Posts
    2k Views
    PeterJonesP
    @peter-wall said: It works if that setting is off. It works, full stop. You just need to understand the documentation. As ScintillaDoc says for SCI_SETFIRSTVISIBLELINE, “These messages retrieve and set the line number of the first visible line in the Scintilla view. The first line in the document is numbered 0. The value is a visible line rather than a document line.” (emhasis added). The “document line” in Scintilla is the same thing that Notepad++ numbers in the line number column: it’s the real line, no wrapping. The “visible line” is affected by hiding lines and/or wrapped lines: if you have lines hidden in the document, that can decrease the visible line index relative to the document line number; if you have lines wrapped, that can increase the visible line index relative to the document line number. Scintilla has commands like SCI_VISIBLEFROMDOCLINE and SCI_DOCLINEFROMVISIBLE to help transform between the two concepts, and SCI_WRAPCOUNT will help you determine how many visible lines a single document line will become. If you want to turn word wrapping off, set your visible line, then reinstate word-wrapping, that’s fine; but the Scintilla messages provide other ways to allow you to correctly handle visible-line vs display-line.
  • Testing nppPluginList for new/updated plugin

    8
    0 Votes
    8 Posts
    532 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 # ...
  • [New Plugin] ZeroBasedColumn

    1
    0 Votes
    1 Posts
    122 Views
    No one has replied
  • nppftp and and windows 11

    11
    0 Votes
    11 Posts
    958 Views
    xomxX
    @Afik-Gilboa said: both of them have the “run as administrator” unchecked. so any ideas why it keeps opening in admin mode? apparently everything running as administrator here, not sure why but it’s everything… I recognize the symptoms - you probably have turned off the Windows UAC completely somehow and at the same time the account, you are logged in, has the administrator rights (then everything launched will have the admin rights as default). Check your Registry for EnableLUA REG_DWORD 0x00000000 in: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System] (click on Windows Start, start typing “Reg” there, click on the Registry Editor (System) app offered and navigate there to the hive path above) If there is that 0x00000000 (OFF), change it do 0x00000001 (ON) and restart your PC.
  • 1 Votes
    3 Posts
    311 Views
    S
    @PeterJones, many thanks to Your reply. This workaround works perfectly. I searched for this workaround (because I expected that anyone wouls have the same needs) but wasn’t successful - searching for a solution to a problem can be a frustrating experience if you don’t use the right search term(s) — which, of course, you don’t know yet at that stage…
  • [New Plugin] EncTags — inline text encryption via ^^...^^ tags

    3
    1 Votes
    3 Posts
    320 Views
    rdipardoR
    @saintleningrad-prog said: Select text, or place the cursor inside a ^^…^^ tag, press Ctrl+Shift+E Just a head’s up: that’s the same default key combination that decodes HTML entities when HTML Tag is installed. Since plugin commands are mapped in alphabetical order, and the most recent mapping prevails, having both installed will silently block the EncTag’s plugin shortcut from functioning: [image: 1787355567929-enctags-v020-shortcut-conflict.png] One more thing: the text you are passing to the About message box (here) contains the literal Unicode character U+2013: EN DASH. Since the Unicode literal is inside a character string, the compiler interprets everything between "..." as if it were encoded in the operating system’s default, single-byte code page (usually Windows-1252 on English- or European-language PCs). When shown, the emdash becomes the string of nonsensical bytes \xe2\x80\x94: [image: 1787355726977-enctags-v020-mojibake.png] You just need to escape the Unicode literal, i.e., "Ctrl+Shift+E \u2013 ..."
  • Markdown UDL Help

    markdown udl
    9
    1 Votes
    9 Posts
    5k Views
    J
    @dcog989 Thanks for this - if you have any tweaks or updates you’ve made since this comment, let me know!
  • Search++ (\W)'(\w) regex replace failure

    49
    0 Votes
    49 Posts
    5k Views
    M Andre Z EckenrodeM
    @Coises said: I expect that Version 0.6.5 will fix this. Noted, thanks again, and I’ll let him know — although he actually doesn’t typically use regex for his own purposes.
  • [BETA] Upcoming Plugin: HiddenLexers

    15
    1
    2 Votes
    15 Posts
    1k Views
    PeterJonesP
    Since it’s essentially working at this point, I’ve renamed the Topic to “BETA” @mpheath , I have updated the README at https://github.com/pryrt/NppPlugin-HiddenLexers to enumerate available options I think I’ll be patient, and give the beta test a while longer, so won’t try to rush to release it before N++ v8.9.8’s PluginsAdmin list is finalized.
  • Awesome Notepad++ Configs, settings and syntax highlighting

    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)
  • Search++ Config save prompt when exiting after multi-instance

    4
    0 Votes
    4 Posts
    461 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.
  • User defined language - operator § not working

    4
    1
    0 Votes
    4 Posts
    433 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 §
  • Modern text file icon

    1
    1
    0 Votes
    1 Posts
    897 Views
    No one has replied