• How can I get around NppExec's limitations?

    7
    0 Votes
    7 Posts
    716 Views
    dinkumoilD

    @Michael-Vincent

    Thank you for chiming in and providing a more detailed guidance for using my script!

    @Lowell-Justice

    As an addition to what @Michael-Vincent already said: To compile and execute C code you need a C compiler, of course. For simple and quick C test programs I use the Tiny C Compiler (TCC). Its homepage provides a link to the available downloads.

    For C++ you could use for example MinGW, the GCC port for Windows, you can download it from here. To get the latest version take the files mingw-w32-bin-i686-YYYYMMDD.7z for compiling 32 bit programs and mingw-w64-bin-x86_64-YYYYMMDD.7z for compiling 64 bit programs where YYYYMMDD is a placeholder for the release date of the version.

    To get documentation for GCC visit this site. There you will also find a link to the documentation of the GCC v9.3 command line options.

  • nppexec - sleep command causes printf output to cease

    4
    1 Votes
    4 Posts
    763 Views
    Lowell JusticeL

    @dinkumoil how could I make a script like this for c++?

  • working use-case for SCI_REPLACETARGETRE

    19
    1 Votes
    19 Posts
    5k Views
    dailD

    Disclaimer: I did not fully read every single line of this thread…but hopefully I can contribute a bit of helpful info.

    Accessing Scintilla on a background thread can be very problematic. There are Scintilla calls that have temporal coupling and since you cannot guarantee any two calls made from PythonScript (or outside of Notepad++) are executed without being interrupted by another thread, then weird things can happen. Even doing something simple like:

    editor.setTargetRange(0, 100) x = editor.getTargetText()

    could potentially give unexpected results. Notepad++ does its own work (search/replace, function list, auto completion, smart highlighting, URL highlighting, etc) which changes the target quite frequently.

  • 0 Votes
    5 Posts
    1k Views
    Alan KilbornA

    @sgtsixpack said in Select/mark all lines which contain a certain pattern and add the line above:

    I don’t know about “craft an expression”
    I also have no clue about your last reply.

    Sorry, I should have been more explicit.
    My comments were in regard to “Regular Expression” Search mode, which is typically what one is inferring when they ask “how can I manipulate data that is relative to some other data”.

    As you’ve probably discovered, you can, in Normal Search mode, bookmark the “line above” by making a selection that covers both lines, perhaps partially, and then pressing ctrl+f go get your text in the Find what box. You can then switch the Find window to the Mark tab and proceed with bookmarking.

    But if you do it that way, you aren’t truly doing “line above”, you’re doing “line of” and “line below”. :-)

  • Disable Undocumented Keyboard Shortcut

    3
    0 Votes
    3 Posts
    380 Views
    Alan KilbornA

    @Retro-80s-Guy

    I have looked under keyboard shortcuts and this combination ( F11 + Backspace ) isn’t listed.

    That’s because it isn’t possible to press these keys together. One will always happen before the other. It is really amazing that such a circumstance would close Notepad++ bypassing any save prompts.

  • How do I make a seconds to YY:DD:HH:MM:SS converter in Notepad++?

    2
    0 Votes
    2 Posts
    300 Views
    Alan KilbornA

    @Oscar-Söderström-TE3A

    I think you’ll want to CLICK HERE.

  • 0 Votes
    2 Posts
    370 Views
    herb munsonH

    @herb-munson it’s highlighting the content of a <script>tag in the html file. Seems to have something to do with ‘themes’. Now I’d like to know how to kill it.

  • Automatic file extension

    8
    0 Votes
    8 Posts
    606 Views
    Götz M. RitterG

    Thanks to all, you’re so kind!

  • 0 Votes
    10 Posts
    502 Views
    Götz M. RitterG

    @Ekopalypse Thank you so much! Stay healthy, :-).

  • 0 Votes
    5 Posts
    445 Views
    John SleeJ

    @guy038 Thank you so much, Guy. In order to achieve what I want, I adjusted the search regex slightly, so that the whole block, the label line (^@X[/d]+@ F./R) and date are all captured:

    (?-s)((^@X.+\R)(?:(?s:[^@]*?)(\d\d\x20\w\w\w\x20\d\d\d\d)\.(?s:.*?)|(?s:.*?)))(?=^@X|^==|\Z)

    Best Regards. Stay safe!
    John

  • FIND IN FILES, THEN REPLACE: need confirm before replacing checkbox

    3
    0 Votes
    3 Posts
    1k Views
    PeterJonesP

    Addendum:

    That said, the actual content of your post is obviously a feature request. As explained in this FAQ, you need to submit feature requests in the issues section of the official github repository.

    Requests made only in this forum (where you posted) will not be tracked, and have a virtually 0% chance of being implemented; requests made in the official issues section will be tracked, and at least make the developers aware of your requests (though it does not guarantee implementation).

    If you do make an official feature request as a result of this topic, please paste a link to that request as a reply here, so that future readers can find it. Thank you.

  • Searching for, marking and replace in one Line

    7
    0 Votes
    7 Posts
    418 Views
    Alan KilbornA

    @Ekopalypse said in Searching for, marking and replace in one Line:

    \Q…\E is much easier

    and it is even easier if the regex string is intended to be all literal after a certain point. Just use \Q at that point an no “closing” \E is needed!

    Example, find a minimal run of any characters followed by 3 literal *:

    .*?\Q***

  • Bookmarks must be manually removed

    2
    0 Votes
    2 Posts
    204 Views
    EkopalypseE

    @Alan-Kilborn

    I agree with you but it looks like this was done on purpose.

    When a line is deleted, its markers are combined, by an OR operation, with the markers of the next line

  • Solving the problem of: “Save as Administrator”

    2
    0 Votes
    2 Posts
    414 Views
    EkopalypseE

    @Olu-Abimbola said in Solving the problem of: “Save as Administrator”:

    How do I stop this request from interrupting my work?

    Depends, either make sure you have proper access to the files beforehand or run npp in admin mode. I would go for the first choice.

  • unable to open notepad++ after latest update

    1
    0 Votes
    1 Posts
    195 Views
    No one has replied
  • Building Notepad++ with Visual Studio 2015/2017

    21
    0 Votes
    21 Posts
    20k Views
    Alan KilbornA

    @Ekopalypse

    Ah, never knew that. Presume one could also use 19.10.25017.0 in this case.

  • Find a URL that is unique

    7
    0 Votes
    7 Posts
    1k Views
    Adam YikA

    @Alan-Kilborn
    It worked! Thanks! Also, in case if anyone reading this don’t know what this means:
    “make sure the last line of your file has a line-ending at its end”,
    that means you make a line break after the last character so that the last line is blank:
    345c7c0c-017d-4b46-b6f8-b7f4314dea3c-image.png

    I’ve also find that twitter also redirects to this:
    [https://twitter.com/i/js_inst?c_name=ui_metrics]

  • Conditional replacing

    3
    0 Votes
    3 Posts
    598 Views
    astrosofistaA

    Hi @William-Baldwin, @PeterJones

    This regex could do the job, but lacking of actual data, as @PeterJones noted, may make it fail. Take it as a proof of concept:

    1234567 bla bla bla bla bla PRM 1234567 bla bla bla bla bla SEL

    Search: (?-s)^(\d{7})(?s).*?(?:(PRM)|(SEL))
    Replace: (?2${1}89)(?3${1}00)

    Output:

    123456789 123456700

    Hope this helps.

  • Re: Update Error - Unsupported 16-Bit Application

    2
    0 Votes
    2 Posts
    251 Views
    EkopalypseE

    @Larry-D

    sounds like an incomplete download.

  • Setting the encoding character set by "User Defined Language"

    3
    0 Votes
    3 Posts
    723 Views
    PeterJonesP

    @Hubert-Sack,

    Is it possible to set “Encoding -> Character Set” to “OEM-US” within / by setting in an “User Defined Language”?

    No, the encoding is not stored in or controlled by the User Defined Language (UDL), or by any of the builtin languages, either.

    Remember, the “language”, whether UDL or builtin language, is really a syntax highlighter: even if there is a requirement for some language to only use a certain encoding, that would be a requirement separate from its syntax. Syntax has to do with the words, tokens, commands, data, etc; encoding has to do with the mapping between bytes inside the file and the textual characters they represent: syntax is at a “higher level of abstraction” than encoding.

    so switching the encoding by a setting in “User Defined Language” is wanted

    The syntax parsing system itself (builtin or UDL) is encoding agnostic (cannot know about the encoding), because by the time the syntax parser is running, the bytes from the file have already been read and interpreted as characters by Notepad++ – and thus, it’s beyond the encoding stage. They work with characters, not with file-bytes.

    That said, you can automate many things in Notepad++ using plugins. For example, the PythonScript plugin allows you to run Python code which will affect the text and GUI. In this case, you could setup a PythonScript hook that runs during the File > Save event; this code could check to see if the file being saved is a UDL, and if it is then check if it’s your particular UDL, and if it is then it can change the encoding of the file to OEM-US.

    Once you install the PythonScript plugin, there are good help files included (Plugins > Python Script > Context-Help) which describe the various commands necessary; since you’re programming PLC, I am going to assume you know something about programming, and thus the simple Python syntax necessary shouldn’t be too difficult for you. If you need help on the Notepad+±related specifics, feel free to reply. But to get you started, look up the sections on “Handling Notifications” for a general overview, notepad.callback() for how to register the callback, “Enums > NOTIFICATION”, notepad.setEncoding() for changing the encoding, and notepad.getLangType()/.getLanguageName()/.getLanguageDesc() for identifying whether your UDL is active.