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
    • Keith CollyerK

      wireloom in markdown viewers

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      6
      0 Votes
      6 Posts
      230 Views
      Keith CollyerK
      @rdipardo Following a comment chain, I ended up adding a request to the markdig libraryhere: https://github.com/xoofx/markdig/issues/952
    • CoisesC

      Search++: A work in progress

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      138
      6 Votes
      138 Posts
      46k Views
      guy038G
      Hello, @coises and All, Sorry, @coises, but I came acroos some differences of counting, in regex mode, between your two plugins Columns++ and Search++ For my tests, I used my Total_Chars.txt file that you can download from this location : https://drive.google.com/file/d/1DTDQdUMgC-c2Fkc-LvlQghvtwMYyoWi3/view?usp=sharing All countings are run in regex mode with the Match case option enabled Some time ago, I made a list of all Unicode blocks of the last version 17.0. Presently, while testing the MultiReplace plugin of @thomas-knoefel, I updated this list and took the opportunity to include the count results obtained with Search++ alongside those already provided by Columns++ And I was very surprised because there are a lot of differences in the results between your two plugins Columns++ and Search++ !? Here is a non-exhaustive list of the différenes observed : •-------------------------------•----------------------------------------------------•----------•----------• •------------•-----------•-----------• | Block range | Block name | Total | Assigned | | N++ / MRep | Columns++ | Search++ | | | | Code-Pts | Code-Pts | | Word Chrs | Word Chrs | Word Chrs | •-------------------------------•----------------------------------------------------•----------•----------• •------------•-----------•-----------• | (?=\w)[\x{0400}-\x{04FF}] | Cyrillic | 256 | 256 | | 248 ! 248 | 255 | | (?=\w)[\x{0590}-\x{05FF}] | Hebrew | 112 | 88 | | 30 ! 31 | 82 | | (?=\w)[\x{0600}-\x{06FF}] | Arabic | 256 | 256 | | 172 ! 173 | 225 | | (?=\w)[\x{0700}-\x{074F}] | Syriac | 80 | 77 | | 34 ! 34 | 62 | | (?=\w)[\x{0780}-\x{07BF}] | Thaana | 64 | 50 | | 39 ! 39 | 50 | | (?=\w)[\x{07C0}-\x{07FF}] | NKo | 64 | 62 | | 46 ! 46 | 56 | | (?=\w)[\x{0800}-\x{083F}] | Samaritan | 64 | 61 | | 0 ! 25 | 46 | | (?=\w)[\x{0840}-\x{085F}] | Mandaic | 32 | 29 | | 0 ! 25 | 28 | | (?=\w)[\x{0870}-\x{089F}] | Arabic Extended-B | 48 | 43 | | 0 ! 31 | 40 | | (?=\w)[\x{08A0}-\x{08FF}] | Arabic Extended-A | 96 | 96 | | 0 ! 42 | 95 | | (?=\w)[\x{0900}-\x{097F}] | Devanagari | 128 | 128 | | 83 ! 91 | 125 | | (?=\w)[\x{0980}-\x{09FF}] | Bengali | 128 | 96 | | 63 ! 65 | 85 | | (?=\w)[\x{0A00}-\x{0A7F}] | Gurmukhi | 128 | 80 | | 61 ! 61 | 79 | | (?=\w)[\x{0A80}-\x{0AFF}] | Gujarati | 128 | 91 | | 62 ! 63 | 89 | | (?=\w)[\x{0B00}-\x{0B7F}] | Oriya | 128 | 91 | | 63 ! 63 | 84 | | (?=\w)[\x{0B80}-\x{0BFF}] | Tamil | 128 | 72 | | 47 ! 47 | 61 | | (?=\w)[\x{0C00}-\x{0C7F}] | Telugu | 128 | 101 | | 64 ! 68 | 92 | | (?=\w)[\x{0C80}-\x{0CFF}] | Kannada | 128 | 92 | | 63 ! 68 | 91 | | (?=\w)[\x{0D00}-\x{0D7F}] | Malayalam | 128 | 118 | | 69 ! 77 | 100 | | (?=\w)[\x{0D80}-\x{0DFF}] | Sinhala | 128 | 91 | | 59 ! 69 | 90 | | (?=\w)[\x{0E00}-\x{0E7F}] | Thai | 128 | 87 | | 83 ! 67 | 83 | | (?=\w)[\x{0E80}-\x{0EFF}] | Lao | 128 | 83 | | 50 ! 66 | 83 | | (?=\w)[\x{0F00}-\x{0FFF}] | Tibetan | 256 | 211 | | 59 ! 60 | 137 | | (?=\w)[\x{1000}-\x{109F}] | Myanmar | 160 | 160 | | 94 ! 94 | 152 | | (?=\w)[\x{1200}-\x{137F}] | Ethiopic | 384 | 358 | | 326 ! 326 | 329 | | (?=\w)[\x{16A0}-\x{16FF}] | Runic | 96 | 89 | | 78 ! 83 | 86 | | (?=\w)[\x{1700}-\x{171F}] | Tagalog | 32 | 23 | | 17 ! 19 | 23 | | (?=\w)[\x{1720}-\x{173F}] | Hanunoo | 32 | 23 | | 18 ! 18 | 21 | | (?=\w)[\x{1740}-\x{175F}] | Buhid | 32 | 20 | | 18 ! 18 | 20 | | (?=\w)[\x{1760}-\x{177F}] | Tagbanwa | 32 | 18 | | 16 ! 16 | 18 | | (?=\w)[\x{1780}-\x{17FF}] | Khmer | 128 | 114 | | 64 ! 64 | 97 | | (?=\w)[\x{1800}-\x{18AF}] | Mongolian | 176 | 158 | | 140 ! 139 | 146 | | (?=\w)[\x{1900}-\x{194F}] | Limbu | 80 | 68 | | 39 ! 41 | 65 | | (?=\w)[\x{1A00}-\x{1A1F}] | Buginese | 32 | 30 | | 23 ! 23 | 28 | | (?=\w)[\x{1A20}-\x{1AAF}] | Tai Tham | 144 | 127 | | 0 ! 74 | 114 | | (?=\w)[\x{1AB0}-\x{1AFF}] | Combining Diacritical Marks Extended | 80 | 58 | | 0 ! 0 | 58 | | (?=\w)[\x{1B00}-\x{1B7F}] | Balinese | 128 | 127 | | 64 ! 65 | 96 | | (?=\w)[\x{1B80}-\x{1BBF}] | Sundanese | 64 | 64 | | 42 ! 48 | 64 | | (?=\w)[\x{1BC0}-\x{1BFF}] | Batak | 64 | 56 | | 0 ! 38 | 52 | | (?=\w)[\x{1C00}-\x{1C4F}] | Lepcha | 80 | 74 | | 49 ! 49 | 69 | | (?=\w)[\x{1CD0}-\x{1CFF}] | Vedic Extensions | 48 | 43 | | 0 ! 13 | 42 | | (?=\w)[\x{1DC0}-\x{1DFF}] | Combining Diacritical Marks Supplement | 64 | 64 | | 0 ! 0 | 64 | | (?=\w)[\x{2000}-\x{206F}] | General Punctuation | 112 | 111 | | 0 ! 0 | 5 | | (?=\w)[\x{20D0}-\x{20FF}] | Combining Diacritical Marks for Symbols | 48 | 33 | | 0 ! 0 | 33 | | (?=\w)[\x{2150}-\x{218F}] | Number Forms | 64 | 60 | | 41 ! 2 | 41 | | (?=\w)[\x{2460}-\x{24FF}] | Enclosed Alphanumerics | 160 | 160 | | 0 ! 0 | 52 | | (?=\w)[\x{2C80}-\x{2CFF}] | Coptic | 128 | 123 | | 101 ! 107 | 110 | | (?=\w)[\x{2D30}-\x{2D7F}] | Tifinagh | 80 | 59 | | 55 ! 57 | 58 | | (?=\w)[\x{2DE0}-\x{2DFF}] | Cyrillic Extended-A | 32 | 32 | | 0 ! 0 | 32 | | (?=\w)[\x{3000}-\x{303F}] | CJK Symbols and Punctuation | 64 | 64 | | 22 ! 9 | 28 | | (?=\w)[\x{3040}-\x{309F}] | Hiragana | 96 | 93 | | 89 ! 89 | 91 | | (?=\w)[\x{A640}-\x{A69F}] | Cyrillic Extended-B | 96 | 96 | | 69 ! 78 | 94 | | (?=\w)[\x{A6A0}-\x{A6FF}] | Bamum | 96 | 88 | | 0 ! 70 | 82 | | (?=\w)[\x{A800}-\x{A82F}] | Syloti Nagri | 48 | 45 | | 32 ! 32 | 41 | | (?=\w)[\x{A880}-\x{A8DF}] | Saurashtra | 96 | 82 | | 60 ! 60 | 80 | | (?=\w)[\x{A8E0}-\x{A8FF}] | Devanagari Extended | 32 | 32 | | 0 ! 9 | 28 | | (?=\w)[\x{A900}-\x{A92F}] | Kayah Li | 48 | 48 | | 38 ! 38 | 46 | | (?=\w)[\x{A930}-\x{A95F}] | Rejang | 48 | 37 | | 23 ! 23 | 36 | | (?=\w)[\x{A980}-\x{A9DF}] | Javanese | 96 | 91 | | 0 ! 58 | 76 | | (?=\w)[\x{A9E0}-\x{A9FF}] | Myanmar Extended-B | 32 | 31 | | 0 ! 30 | 31 | | (?=\w)[\x{AA00}-\x{AA5F}] | Cham | 96 | 83 | | 62 ! 62 | 79 | | (?=\w)[\x{AA60}-\x{AA7F}] | Myanmar Extended-A | 32 | 32 | | 0 ! 26 | 29 | | (?=\w)[\x{AA80}-\x{AADF}] | Tai Viet | 96 | 72 | | 0 ! 61 | 70 | | (?=\w)[\x{AAE0}-\x{AAFF}] | Meetei Mayek Extensions | 32 | 23 | | 0 ! 14 | 21 | | (?=\w)[\x{ABC0}-\x{ABFF}] | Meetei Mayek | 64 | 56 | | 0 ! 45 | 55 | | (?=\w)[\x{FB00}-\x{FB4F}] | Alphabetic Presentation Forms | 80 | 58 | | 56 ! 56 | 57 | | (?=\w)[\x{FE00}-\x{FE0F}] | Variation Selectors | 16 | 16 | | 0 ! 0 | 16 | | (?=\w)[\x{FE20}-\x{FE2F}] | Combining Half Marks | 16 | 16 | | 0 ! 0 | 16 | | (?=\w)[\x{FE30}-\x{FE4F}] | CJK Compatibility Forms | 32 | 32 | | 0 ! 0 | 5 | | (?=\w)[\x{FF00}-\x{FFEF}] | Halfwidth and Fullwidth Forms | 240 | 225 | | 172 ! 172 | 173 | •-------------------------------•----------------------------------------------------•----------•----------• •------------•-----------•-----------• | (?=\w)[\x{102E0}-\x{102FF}] | Coptic Epact Numbers | 32 | 28 | | 0 | 0 | 1 | | (?=\w)[\x{10330}-\x{1034F}] | Gothic | 32 | 27 | | 0 | 25 | 27 | | (?=\w)[\x{10350}-\x{1037F}] | Old Permic | 48 | 43 | | 0 | 38 | 43 | | (?=\w)[\x{103A0}-\x{103DF}] | Old Persian | 64 | 50 | | 0 | 44 | 49 | | (?=\w)[\x{1CF00}-\x{1CFCF}] | Znamenny Musical Notation | 208 | 185 | | 0 | 0 | 69 | | (?=\w)[\x{1D100}-\x{1D1FF}] | Musical Symbols | 256 | 233 | | 0 | 0 | 30 | | (?=\w)[\x{1D800}-\x{1DAAF}] | Sutton SignWriting | 688 | 672 | | 0 | 0 | 127 | | (?=\w)[\x{1E000}-\x{1E02F}] | Glagolitic Supplement | 48 | 38 | | 0 | 0 | 38 | | (?=\w)[\x{1E030}-\x{1E08F}] | Cyrillic Extended-D | 96 | 63 | | 0 | 62 | 63 | | (?=\w)[\x{1E100}-\x{1E14F}] | Nyiakeng Puachue Hmong | 80 | 71 | | 0 | 63 | 70 | | (?=\w)[\x{1E290}-\x{1E2BF}] | Toto | 48 | 31 | | 0 | 30 | 31 | | (?=\w)[\x{1E2C0}-\x{1E2FF}] | Wancho | 64 | 59 | | 0 | 54 | 58 | | (?=\w)[\x{1E4D0}-\x{1E4FF}] | Nag Mundari | 48 | 42 | | 0 | 38 | 42 | | (?=\w)[\x{1E5D0}-\x{1E5FF}] | Ol Onal | 48 | 44 | | 0 | 41 | 43 | | (?=\w)[\x{1E6C0}-\x{1E6FF}] | Tai Yo | 64 | 55 | | 0 | 50 | 55 | | (?=\w)[\x{1E800}-\x{1E8DF}] | Mende Kikakui | 224 | 213 | | 0 | 197 | 204 | | (?=\w)[\x{1E900}-\x{1E95F}] | Adlam | 96 | 88 | | 0 | 79 | 86 | | (?=\w)[\x{1F100}-\x{1F1FF}] | Enclosed Alphanumeric Supplement | 256 | 200 | | 0 | 0 | 78 | •-------------------------------•----------------------------------------------------•----------•----------• •------------•-----------•-----------• | (?=\w)[\x{E0100}-\x{E01EF}] | Variation Selectors Supplement | 240 | 240 | | 0 | 0 | 240 | •-------------------------------•----------------------------------------------------•----------•----------• •------------•-----------•-----------• Notes : Unlike the Plane 0 and Plane 14, the Unicode Plane 1 does not include all the différences : it’s just for testing ! The Plane 2 and Plane 3 give identical results. Although this post focuses on differences between your two plugins, remark that the native Notepad++ search and the MultiReplace search give identical results, throughout all the Unicode planes and blocks. As promised, I’ll give you, very soon, my suggestions and preferences regarding your post ! Best Regards, guy038
    • Thomas KnoefelT

      [New Plugin] MultiReplace

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      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!