• 1 Votes
    57 Posts
    43k Views
    PeterJonesP

    @David-Brigden52 said in Notepad++ File Status Auto-Detection not working:

    I use a dark theme rather than the default Would that make a difference?

    I could be wrong, but I cannot see how.

    not seeing this behavior. It irritates me.

    I can understand that.

    In full disclosure, I do sometimes see Notepad++ not update as quickly as I’d like – this screen capture was quite cooperative.

    Sometimes, I think it doesn’t notice until the system clock is about 1min beyond the timestamp of the file. (And I think I’ve even seen longer delays when the file was created on a machine whose time was off from my local machine.)

    I don’t know the full algorithm that Notepad++ uses, but my guess is that in the real-life circumstances, it’s a combination of Windows not having yet flushed the file to disk from the other process and Notepad++ not polling constantly (it wouldn’t want to spend all its cpu cycles on checking for changed files).

    In the contrived circumstances like my example derived from your instructions, I would expect pretty consistent behavior (since the individual processes of the time/copy-con commands will flush to disk when they close).

    If I’m ever getting impatient, I just use the File > Reload from Disk to make sure it’s up-to-date. (The funny thing is, that’s sometimes accompanied a few seconds later by “this file has been updated”, when it then updates to the state of the file that I just manually updated to).

    You might try experimenting with the MISC > File Status Auto-Detection settings… maybe having recently changed from one to the other enabled the algorithm to work more consistently for me, or something…

    Unfortunately, I am out of solid ideas, and since such problems are often the combination of many factors, it may be difficult to come up with a complete solution. But hopefully someone else has ideas for you to test.

  • Right-Click Taskbar Icon to Open New Instance

    5
    0 Votes
    5 Posts
    320 Views
    Alan KilbornA

    Ok, so first, I was mystified at what was wanted, with a posting which had more words in the title than in the body. But, it appears Peter had some intuition for that, so…

    Second, I don’t see a lot of value in the suggestion. Sure, it’s fine, but would I like to see devs spend their cycles on that? Nope, I have other ways to do that function, that exist right now. I want to see devs spend their time on increasing real text editing value added functions.

    Third, opening a new instance of a running Notepad++ has some problems IIRC about saving any changed settings, or disabling backups, or some such.

    That all being said, I do run a second instance (typically a close-to-virgin instance), to try out problems people bring up right here!
    I create a Run menu item to run a current portable version using the -multiInst command-line parameter.

  • Colored "Find what:" zone

    20
    3 Votes
    20 Posts
    1k Views
    guy038G

    Hello, @Alan-kilborn and All,

    Thank, alan, for your feedback !

    Yes, I know that the Pos number, in the status bar, refers to exact position (starting from 0), in current file, of the first byte of the sequence needed to write a character, in a specific encoding ! For instance, the UTF-8 sequence of the 🎷 character, representing a saxophone, is the four bytes sequence ( F0 9F 8E B7 ). So, if you insert in a new tab, the string A🎷Z0 you can jump, with the Search > Go to... feature, when the Offset radio button is set, to :

    Pos 0, right before the A letter

    Pos 1, right before the 🎷 letter

    Pos 5, right before the Z letter

    Pos 6, right before the 0 digit

    And, if you try the offset 2, 3 or 4, which are all within the UTF-8 encoding of the 🎷 character, you would just jump to the next Z char !

    This behavior is now correct, because I created an issue about this problem. Refer to this issue !

    Now, I think that you’re right regarding your assumption about the two bytes used by a char, over the BMP : this has really something to do with the two bytes of the surrogate mechanism !

    For instance :

    The regex to get the 🎷 character, use its surrogate pair \x{D83C}\x{DFB7} ( as we cannot use its complete hexadecimal code \x{1F3B7} )

    The general regex (?-s).[\x{D800}-\x{DFFF}] finds any character over the BMP ( Basic Multilingual Plane ), so with code-point over \x{FFFF}

    BR

    guy038

  • Tab Bar Text in Multi-line Mode Does Not Fill the Space Allocated

    4
    0 Votes
    4 Posts
    358 Views
    Lloyd WallsL

    @Alan-Kilborn Thanks for the suggestion. I’ll add a screen shot in a bit.

  • How to add left and right margins feature in open text file?

    6
    0 Votes
    6 Posts
    2k Views
    Alan KilbornA

    @Ado-Netok said in How to add left and right margins feature in open text file?:

    I may look for another text editor.

    There are good reasons to switch text editors.
    How could this possibly be one of them?
    Plus, I don’t know that most are this type of “margin friendly”.
    This is more of a word-processing function.
    Are you sure you don’t want a word-processor instead of a text editor?

  • User-defined language with function list

    7
    0 Votes
    7 Posts
    853 Views
    Alan KilbornA

    @PeterJones

    Cool. I wonder if Bob and Alice are going to become regular contributors here? :-)

  • Lines containing the Unicode Word-Joiner U+2060 display oddly

    4
    0 Votes
    4 Posts
    378 Views
    PeterJonesP

    @Alan-Kilborn said in Lines containing the Unicode Word-Joiner U+2060 display oddly:

    @PeterJones

    If you’re going to experiment like that, probably should do it with DirectWrite both on and off. So many choices. :-)

    Good idea. DejaVu Sans Mono looks good when DirectWrite is turned on.
    16c00938-e6c4-46d1-8dff-3fd67e51273d-image.png

    So, the options are enabling DirectWrite, changing font, or both. :-)

  • Adding more vertical edge columns than presently available.

    3
    0 Votes
    3 Posts
    219 Views
    Michael WursterM

    @Michael-Wurster Thank you for the quick reply. I’m not a developer so the solutions you provided will not be a quick fix for me but I’m not afraid to wade in “dark” waters so I’ll add one of the suggested plugins to the tool box and see what happens. Ideally, I’ll be able to figure out how to add text for column headers as well and from that point on I can have a “template” to call up when I need to edit/create one of these files for test purposes.
    Thanks again.

  • Function list does not Work With VBS-files / VB-Files.

    7
    0 Votes
    7 Posts
    2k Views
    guy038G

    Hello, @robin-melin, @peterjones and All,

    Okay, I understood the problem ! In two locations of, both, the @robin-melin’s vb.xml file and the @MAPJe71’s vb-3.0.FL.xml file, we have an ending regex part (?=[\t ]*\()

    The correct regex should be (?=[\t ]*\(|$) !!

    So, here is, first, the corrected contents of the @MAPJe71’s vb-3.0.FL.xml file, where I used a 4 spaces indentation :

    <?xml version="1.0" encoding="UTF-8" ?> <NotepadPlus> <functionList> <!-- =================================================== [vb_function] --> <parser id="vb_function" displayName="Visual Basic (.NET|Script|for Applications)" commentExpr="(?m:((?&lt;=&apos;).*?$)|((?i:REM)([\t ].*?)?$))"> <classRange mainExpr="(?s:(?&lt;SCOPE&gt;(?i:CLASS|TYPE)).*?(?i:END[\t ]\k&lt;SCOPE&gt;))" displayMode="node" > <className> <nameExpr expr="(?i:CLASS|TYPE)[\t ]+(?:[A-Za-z_][\w]*\b)(?:.*?[\r\n])" /> <nameExpr expr="[\t ]+(?:[A-Za-z_][\w]*\b)" /> <nameExpr expr="[A-Za-z_][\w]*" /> </className> <function mainExpr="(?m:^[\t ]*(?i:(?:(?:PRIVATE|PROTECTED|PUBLIC)[\t ]+)?(?:STATIC[\t ]+)?(?:SUB|FUNCTION|PROPERTY)).*?(?:\(|$))" > <functionName> <funcNameExpr expr="(?i:(?:(?:PRIVATE|PROTECTED|PUBLIC)[\t ]+)?(?:STATIC[\t ]+)?(?:SUB|FUNCTION|PROPERTY)).*?(?:\(|$)"/> <funcNameExpr expr="(?i:(?:SUB|FUNCTION|PROPERTY)).*?(?:\(|$)"/> <funcNameExpr expr="[A-Za-z_][\w]*(?=[\t ]*\(|$)"/> </functionName> </function> </classRange> <function mainExpr="^[\t ]*(?i:(?:(?:PRIVATE|PROTECTED|PUBLIC)[\t ]+)?(?:STATIC[\t ]+)?(?:SUB|FUNCTION|PROPERTY))[\t ].*?[A-Za-z_][\w]*(?:[\t ]*\(|$)" displayMode="$functionName"> <functionName> <nameExpr expr="(?i:(?:(?:PRIVATE|PROTECTED|PUBLIC)[\t ]+)?(?:STATIC[\t ]+)?(?:SUB|FUNCTION|PROPERTY))[\t ].*?[A-Za-z_][\w]*(?:[\t ]*\(|$)"/> <nameExpr expr="(?i:(?:SUB|FUNCTION|PROPERTY))[\t ].*?[A-Za-z_][\w]*(?:[\t ]*\(|$)"/> <nameExpr expr="[A-Za-z_][\w]*(?=[\t ]*\(|$)"/> </functionName> </function> </parser> </functionList> </NotepadPlus>

    And secondly, here is the corrected contents of the @robin-melin’s vb.xml file, where I used a 1 tabulation indentation :

    <?xml version="1.0" encoding="UTF-8" ?> <NotepadPlus> <functionList> <!-- ========================================================= [ VB ] --> <parser id ="vb_function" displayName="Visual Basic (.NET|Script|for Applications)" commentExpr="(?m:((?&lt;=&apos;).*?$)|((?i:REM)([\t ].*?)?$))"> <classRange mainExpr="(?s:(?&lt;SCOPE&gt;(?i:CLASS|TYPE)).*?(?i:END[\t ]\k&lt;SCOPE&gt;))" displayMode="node" > <className> <nameExpr expr="(?i:CLASS|TYPE)[\t ]+(?:[A-Za-z_][\w]*\b)(?:.*?[\r\n])" /> <nameExpr expr="[\t ]+(?:[A-Za-z_][\w]*\b)" /> <nameExpr expr="[A-Za-z_][\w]*" /> </className> <function mainExpr="(?m:^[\t ]*(?i:(?:(?:PUBLIC|PRIVATE|PROTECTED|FRIEND|PROTECTED FRIEND)[\t ]+)?(?:(?:STATIC|SHARED|SHADOWS|OVERRIDABLE|OVERRIDES|READONLY|WRITEONLY)[\t ]+)?(?:SUB|FUNCTION|PROPERTY)).*?(?:\(|$))" > <functionName> <funcNameExpr expr="(?i:(?:(?:PUBLIC|PRIVATE|PROTECTED|FRIEND|PROTECTED FRIEND)[\t ]+)?(?:STATIC[\t ]+)?(?:SUB|FUNCTION|PROPERTY)).*?(?:\(|$)"/> <funcNameExpr expr="(?i:(?:SUB|FUNCTION|PROPERTY)).*?(?:\(|$)"/> <funcNameExpr expr="(?i:(?:GET|LET|SET)[\t ]+)?[A-Za-z_][\w]*(?=[\t ]*\(|$)"/> </functionName> </function> </classRange> <function mainExpr="^[\t ]*(?i:(?:(?:PUBLIC|PRIVATE|PROTECTED|FRIEND|PROTECTED FRIEND)[\t ]+)?(?:(?:STATIC|(?:DECLARE(?:[\t ]+(?:ANSI|UNICODE|AUTO))?))[\t ]+)?(?:SUB|FUNCTION|PROPERTY)).*?(?:\(|$)" displayMode="$functionName"> <functionName> <nameExpr expr="(?i:(?:(?:PUBLIC|PRIVATE|PROTECTED|FRIEND|PROTECTED FRIEND)[\t ]+)?(?:(?:STATIC|(?:DECLARE(?:[\t ]+(?:ANSI|UNICODE|AUTO))?))[\t ]+)?(?:SUB|FUNCTION|PROPERTY)).*?(?:\(|$)"/> <nameExpr expr="(?i:(?:SUB|FUNCTION|PROPERTY)).*?(?:\(|$)"/> <nameExpr expr="(?i:(?:GET|LET|SET)[\t ]+)?[A-Za-z_][\w]*(?i:[\t ]+(LIB|ALIAS)[\t ]+[\w&quot;\.]+)*(?=[\t ]*\(|$)"/> </functionName> </function> </parser> </functionList> </NotepadPlus>

    Robin, I tested your two examples as well as the Peter’s one and everthing is OK, whatever the vb parsing rules file used !

    Best Regards,

    guy038

  • File Association - White Leaf Instead Icons

    5
    0 Votes
    5 Posts
    320 Views
    mere-humanM

    @User-Soft I’m not sure but maybe you need to install the Notepad++ locally instead of using a portable version.
    Maybe then the icons would be displayed differently.
    Like this:
    1f0dec95-3efc-4460-bcb4-bb090bfcdc7b-image.png
    I’ve done it with local installation of Notepad++.

  • Changing context menu text in a language.xml

    15
    0 Votes
    15 Posts
    1k Views
    Peter GreistorferP

    @PeterJones I see - and understand, thank you!

  • 2 Votes
    25 Posts
    3k Views
    Terry RT

    @Alan-Kilborn said in Use of "Wrap Around" changing start position of search if "Replace All" button pressed:

    Is THIS your ver 0.3 proposal? :-)

    Hell NO! Without the smiley face I was thinking you’re serious. Hopefully you don’t think of me capable of doing THAT! That’s way too many options on 1 window. Interfaces need to be kept simple and unconfusing.
    My version 0.3 is this:

    768fc25b-fc69-417e-a095-91af57ec71ad-image.png

    where I looked at combining both “Replace All…” buttons like a jigsaw. So it would be purely a visual change. All 3 of these concepts were just intended to reduce confusion as we have talked about. Not that I’m confused anymore, I know exactly what “Replace All” and “Wrap around” selected do now.

    However with a seemingly lackluster response to my ideas I don’t know that I’ll bother presenting it on github. I presume to catch the eyes of the developers that’s the next step. I haven’t even got a github account.

    Terry

  • Automatically apply style token when highlighting text?

    8
    1 Votes
    8 Posts
    2k Views
    Alan KilbornA

    Another method is to copy only the lines pertaining to the macro out of your shortcuts.xml and have your users put those same lines in theirs. I neglected to mention this, because, for unsophisticated users, this is probably the MOST complicated and error-prone approach.

  • Multi lines cursor manipulations

    5
    0 Votes
    5 Posts
    2k Views
    Alan KilbornA

    @Mik-Tilk said in Multi lines cursor manipulations:

    Why they exist separated?

    Because you might want to do this for some reason:

    cbaeaccf-c12e-4872-89aa-39064aa3d466-image.png

    In other words, make 4 selections (in the example) that are NOT in related columns.

  • SCC API Plugin?

    4
    0 Votes
    4 Posts
    282 Views
    Michael VincentM

    @Dan-Cooperstock said in SCC API Plugin?:

    none of which we use

    Which one do you use?

  • Find the maximum line length in a file

    6
    4 Votes
    6 Posts
    4k Views
    Alan KilbornA

    @Nick-Brown said in Find the maximum line length in a file:

    nice additions in the helper functions forEachLine

    When I first started using PS, I noticed some weirdness with forEachLine that of course I can’t remember these many years later, but since then I’ve steered clear of it. Perhaps I was doing something wrong with it, or maybe there truly was something wrong with it that has since been fixed.

  • Scam website that pretend be able to download Notepad++

    2
    0 Votes
    2 Posts
    616 Views
    PeterJonesP

    @Rin5743 ,

    Thank you for letting us know. To make sure that @donho is informed, you might want to post the same thing as an issue at https://github.com/notepad-plus-plus/notepad-plus-plus/issues

    As always, we recommend only downloading Notepad++ from the official source – either notepad-plus-plus.org/downloads or the github repo at github.com/notepad-plus-plus/notepad-plus-plus .

  • Unwanted Font Size Change

    2
    0 Votes
    2 Posts
    258 Views
    guy038G

    Hello, @freon-sandoz and All,

    If you want to disable the mouse zoom OR the keyboard zoom OR both features, in Notepad++, just use the ZoomDisabler plugin :

    https://github.com/StanDog/npp-zoomdisabler

    Best Regards

    guy038

  • How do I make an "user-defined language"?

    3
    0 Votes
    3 Posts
    2k Views
    Quality Books100Q

    Ok, thanks.
    This helped me.

  • 1 Votes
    4 Posts
    759 Views
    Alan KilbornA

    So I ended up scripting a little mock up demo of this, which I won’t post unless there’s interest, but really there’s only a couple of new things that need to happen after a search match to make this work:

    find the number of lines shown on screen

    set the first visible line to a correct value (based upon the starting line of a find match, and the number of lines shown on screen, and of course the desired effect specified by the OP)

    hmm, maybe it gets a tad more complicated if text between the match and the top of screen has folded/hidden lines…

    However, looking at how N++ moves the display/selection when a match is found, there seems to be a lot going on with the logic, so I’m not sure how well any changes would fit in.