• Cannot get Autocompletion to work for my own language

    2
    0 Votes
    2 Posts
    145 Views
    PeterJonesP

    @Paul-Cobben said in Cannot get Autocompletion to work for my own language:

    What am I doing wrong?

    Per the User Manual section on the autoCompletion definition file syntax (https://npp-user-manual.org/docs/auto-completion/#create-auto-completion-definition-files), with emphasis added:

    The basic character set used to recognize keywords is made of letters a-z, A-Z, digits 0-9, and the underscore _. Punctuation might work for auto-completion; however, if you want to use the parameter hints, you should not use punctuation in the keyword name.

    You are relying on the : at the start of the keyword and the - in the middle. This is a double-whammy against you. However, if you go to Settings > Preferences > Delimiter and set ⦿ Add your character as part of word to :- so that those two characters are more “word-like”, then restart Notepad++, it will be able to show up in the function-name autoCompletion:

    6c680cbc-5b88-4169-b76d-affbf204618e-image.png

    However, the parameter hint portion has two more problems:

    The easy one is you need func="yes" in the <KeyWord name="..." func="yes"> tags, otherwise Notepad++ doesn’t pay attention to the overload/param elements nested in the KeyWord. This might not ever work, because the internal regex that Notepad++ uses to determine if it’s valid to prompt for function parameters refuses to work because of the - in the keyword. If I have the delimiter setting as above, and added a keyword :FUNCT_SETTEXT which has the : as the prefix but does not include the hyphen, like:<KeyWord name=":FUNCT_SETTEXT" func="yes"> <Overload retVal="void" descr="Set a value in the STATUS.DAT file."> <Param name="Section" /> <Param name="Key" /> <Param name="Value" /> </Overload> <KeyWord> then when I type :FUNCT_SETTEXT(, it will prompt with the parameter hints as well: bf355c03-a51b-45ad-b0a3-47534ee92e2d-image.png As a workaround, you could “cheat” the - limitation by defining a second keyword which includes just the stuff that comes after the - in the keyword, like,<KeyWord name="SETTEXT" func="yes"> <Overload retVal="void" descr="Set a value in the STATUS.DAT file."> <Param name="Section" /> <Param name="Key" /> <Param name="Value" /> </Overload> </KeyWord> This will allow Notepad++ to see the - as a boundary and then the SETTEXT as a separate function, which then allows for the function parameter completion, as in this screenshot: d52f6232-de08-4b85-89cc-e2b852801a90-image.png
    (notice that it thinks the function is SETTEXT, not :FUNCT-SETTEXT, when doing the parameter prompting) Since punctuation isn’t guaranteed in function/parameter autoCompletion, that’s likely not going to be “fixed”, as it’s already relying on an unspecified edge case.

    In conclusion, if you just want the function autocompletion for the names with leading : and embedded -, you can do that by setting the Delimiter setting to :- , and it will work as in my first screenshot. If you want parameter hints when there are not hyphens in your function name, you can get that by setting the func="yes" in your <KeyWord...> tags, and that will work as in my second screenshot. Unfortunately, you cannot get the parameter hints directly if your keyword has the - because of a limitation in the internal processing that decides when parameter hints can be shown (though you can trick it as shown in item3).

  • Autocompletion and plugin

    6
    0 Votes
    6 Posts
    502 Views
    General CoderG

    @Ekopalypse thanks for the info. I was hoping to avoid having to create custom autocomplete but cant have everything :)

  • Cant select 64-bit version as default text edit program in win 7?

    7
    0 Votes
    7 Posts
    7k Views
    Robert BaerR

    Title says Win7 – works on Windows 11 too

    A bit late, but this post was the key to getting things working on Windows 11 for me. I had stuck with the 32-bit version for years and had installed it on a non-default disk. When I upgraded to the 64-bit version everything related to the right click menu stopped working.

    Using regedit to insure that this key pointed at my 64-bit install got things right.
    [HKEY_CLASSES_ROOT\Applications\notepad++.exe\shell\open\command]

    double click on default to see the actual key if you haven’t used regedit before.

  • Windows content is blank on remote notepad++ sessions

    17
    0 Votes
    17 Posts
    5k Views
    D

    Came here to say I got same issue when using remote session and the target laptop lid is closed. Notepad stops rending the opened files. This is on Windows 10 and notepad version is 8.8.1.

  • System Requirements

    3
    1 Votes
    3 Posts
    476 Views
    S

    @PeterJones
    Ok thanks for your help. Probably will just use the last known supported version. Nice to know though that there may be a way to use a newer version.

  • Sorting data

    Locked
    7
    0 Votes
    7 Posts
    91k Views
    Robert PickeringR

    @Makwana-Prahlad
    Thank you genius!

  • Maintain Indent While Pasting Multiple Lines

    27
    1 Votes
    27 Posts
    9k Views
    Liam WrightL

    @guy038 said in Maintain Indent While Pasting Multiple Lines:
    This thread is a bit dated, the setting is now under
    Settings > Preferences > Indentation
    Everything else is as @guy038 said.

  • enter special characters on us 65% keyboard without numpad

    4
    0 Votes
    4 Posts
    381 Views
    Mark OlsonM

    If you know the hex code for a symbol, I prefer to use the HTMLTag plugin to automatically convert XML character encodings into their corresponding characters (e.g., &#10; will automaticaly convert to the LF character after you hit SPACE).

  • Notepad++ blank all the time, even with existing files

    6
    0 Votes
    6 Posts
    1k Views
    gerdb42G

    @Berend-Engelbrecht
    Would you mind sharing your graphics adapter information (Brand/model/Driver Version etc.) in this thread? If we can collect as many infos as possible about Graphic adapters affected by the DirectWrite problem, it might show a pattern allowing clues about the cause.

  • UDL - Is there a numeric wildcard character within keywords

    2
    0 Votes
    2 Posts
    191 Views
    EkopalypseE

    @Steve-Lawther

    I think that the EnhanceAnyLexer plugin and a corresponding regex, e.g. Item\d+\w+ would be easiest here.

  • UDL- Recognize Any 32 Characters Surrounded by Commas

    3
    0 Votes
    3 Posts
    257 Views
    TM ST

    @PeterJones Thank for the fast response! I will give that a try.

  • 0 Votes
    11 Posts
    2k Views
    Claudia SvensonC

    @Coises

    Thank you for your suggestion.
    This seems to be the only way of solving the problem.

    Sad to say that a feature-rich editor like NP++ has no separate option for that.

    To achieve this, the user has to fiddle around unintuitively outside of NP++. Not very elegant

    Thanks anyway

  • Right Click Context Menu 'Edit with NotePad++' does nothing.

    2
    0 Votes
    2 Posts
    301 Views
    PeterJonesP

    @Brian-Edgeley ,

    Surely someone has mentioned this before?

    If it didn’t work for anyone, then yes, obviously, someone would have mentioned it before. The fact that no one has mentioned it (or very few) indicates that, in reality, it works for the vast majority of people who use it.

    I use it on a daily basis, and have for years, and it’s always worked for me, both on my old Win10 setups I used to use and my new Win11 machine.

    If you want help debugging why it’s not working for you, please go into your ?-menu and choose Debug Info, then copy that information and paste it here – that will give us specific version-info about your N++, as well as other useful information that helps us understand your setup. Once we know a little more about your setup, we might be able to start giving insight or hazarding guesses.

    The biggest and most obvious culprit – so frequent that it actually has a paragraph in the Online User Manual – is that if you’re running Notepad++ “as Admin” (it would have “Administrator” in the title bar, and the Debug Info would tell us if you were, even if you didn’t know), then the shell extension’s Edit with Notepad++ action might not be able to open the file into Notepad++.

    Beyond that, I would probably suggest trying to un-register the shell extension then re-register it (both those steps are here in the User Manual)… but before I could give specifics to help you through that process, I would need to know what version you were using and where your Notepad++ was installed (again, through the Debug Info)

    So, other than “check to make sure Notepad++ is not in Administrator mode”, I cannot give any solid advice until you share your Debug Info.

  • 0 Votes
    32 Posts
    19k Views
    PeterJonesP

    @Hashir-Maher ,

    I didn’t understand it two years ago when @sky-247 suggested it, and I still don’t understand it now that you reply saying it was a good idea: how does changing font size or zoom level change whether the “jump to next/prev bookmark” takes you to the middle or the top of the screen?

    I mean, I can understand that when zoomed fully in, that there are so few lines that the “middle” and the “top” are close to each other.
    2280b82f-16c2-477a-85f2-c24580232355-image.png

    But when you zoom back to normal, it’s still a few lines from the top, rather being at the top, like was requested. And I don’t see how you can make “jumping to bookmarks feel a lot smoother” using zooming in.

    And if you zoom out, it’s the exact opposite of what the original poster requested in 2020, in that the middle, where it jumps to, is even farther from being at the top of the screen. I mean, if it’s a short enough file, then all the bookmarks will be “near” the top, but it will be unreadable:
    13efed98-64fb-412b-bd31-abc1a3fc8074-image.png
    , and when you return to normal zoom, the window might not be anywhere near the bookmark you just jumped to, so it makes the zoom-out version even more useless than the zoom-in version.

    Can you explain why you think that @sky-247’s suggestion is at all helpful for the original question of how to show the jumped line at the top of the screen?

  • Some functions not shown in function list

    8
    0 Votes
    8 Posts
    862 Views
    PeterJonesP

    @Alan-Kilborn said in Some functions not shown in function list:

    There’s also a sample macro called “Trim Trailing Whitespace and Save” or something close to that, that conveniently does the action every time you save (well, every time you run the macro, which, if assigned to your favorite save-keycombo, e.g. Ctrl+s, will do it).

    I used Ctrl+S remapped to Macros > Trim Trailing and Save for years before starting to use editorconfig – and actually I still use that mapping, because I don’t have a .editorconfig file at the root directory of all my drives, so there are still times when the editorconfig plugin doesn’t know to trim trailing for me. Since I almost exclusively use the keystroke vs the toolbar or menu command for my Save, I (almost) always get the trailing removed when I save.

  • PHP language not in language list

    Moved
    3
    0 Votes
    3 Posts
    343 Views
    DISA InformatiqueD

    @Terry-R

    Thank you…
    it was disable… Why? i don’t know but it’s ok now…
    ;-)

  • Unable to see Data in the Notepad++

    27
    0 Votes
    27 Posts
    10k Views
    Ildefonso ZanetteI

    @xomx said in Unable to see Data in the Notepad++:

    I’d like to ask the affected users here, for which switching the DirectWrite OFF helped - what OS, graphics card and version of its drivers are they using?

    E.g. post: Windows 10, Nvidia GeForce xyz, 2/24/2023 30.0.14.7430

    (you can find such info e.g. by WinKey+R, type there devmgmt.msc -> OK, and check the Display Adapters > doubleclick on an adapter > Driver tab)

    I have a NVidia RTX driver and also an odd one: "Parsec Virtual Display Adapter"Driver. I’m suspecting that the parsec display might be the guilty one…

  • -4 Votes
    3 Posts
    411 Views
    PeterJonesP

    Downvoted because there was a spam link on the comma between the C: and D: near the end.

    This is most likely pure AI fabrication, or at least human-made junk to justify the spam link.

    However, on the off-chance that AI or human derived their spam wrapper from some real report they found somewhere, I am leaving this “report” here, in case someone can replicate the “findings”.

    update:

    Notepad++ v8.6.4 (32-bit)

    Plugins: Explorer 1.9.1, JSON Viewer 2.5

    N++ v8.6.4 was from Feb 2024, but Explorer 1.9.1 was from May 2020. I am dubious that a user would be updating Notepad++, but not the Explorer plugin, over that long of a timeframe.

    Also, as far as I can tell from the public releases, “JSON Viewer 2.5” will not be coming out for another few years (since it’s currently at 2.1.1, and was at 2.0.2 in 2022), so that’s a non-existent plugin version, and more evidence that this entire report is an hallucination.

  • 0 Votes
    4 Posts
    958 Views
    N

    @netoale-netoale This worked fairly well, thank you, but was picking up a few keywords i didn’t want [if, for, switch, …etc]. If you’re having a similar issue, i got Claude to improve it like so:

    <parser displayName="JavaScript" id ="javascript_function" commentExpr="(?s:/\*.*?\*/)|(?m-s://.*?$)" > <!-- <classRange>, ES6 "class" Syntax inspired of typescript : https://github.com/chai2010/notepadplus-typescript/blob/master/functionList.xml --> <classRange mainExpr="^\s*(export\s+)?(class|interface)\s+\w+\s*((extends|implements)\s+(\w|\s|,|\.|[^{])*)?\{" openSymbole = "\{" closeSymbole = "\}" displayMode="node"> <className> <nameExpr expr="(export\s+)?(class|interface)\s+\w+"/> <nameExpr expr="(class|interface)\s+\w+"/> <nameExpr expr="\s+\w+"/> <nameExpr expr="\w+"/> </className> <!-- Indent only support tab/2space/4space!!! --> <!-- tab/2space is best choice! --> <!-- regexp: ^(\t|[ ]{2,4}) --> <function mainExpr="(^(\t|[ ]{2,4})((static)\s+)+(?!(if|for|while|do|switch|try|catch|finally|return|break|continue|var|let|const|function|class|import|export|default|throw|delete|typeof|instanceof|in|new|this|super|true|false|null|undefined|async|await|yield|with|debugger|case|else|elseif|endif)\b)[A-Za-z_$][\w$]*\s*(\(|\=|:|\?))|(^(\t|[ ]{2,4})(?!(if|for|while|do|switch|try|catch|finally|return|break|continue|var|let|const|function|class|import|export|default|throw|delete|typeof|instanceof|in|new|this|super|true|false|null|undefined|async|await|yield|with|debugger|case|else|elseif|endif)\b)[A-Za-z_$][\w$]*\s*(\(|:|\=|\?))"> <functionName> <funcNameExpr expr="(^(\t|[ ]{2,4})((static)\s+)+(?!(if|for|while|do|switch|try|catch|finally|return|break|continue|var|let|const|function|class|import|export|default|throw|delete|typeof|instanceof|in|new|this|super|true|false|null|undefined|async|await|yield|with|debugger|case|else|elseif|endif)\b)[A-Za-z_$][\w$]*\s*(\(|\=|:|\?))|([A-Za-z_$][\w$]*\s*(\(|:|\=|\?))"/> <funcNameExpr expr="(\s+[A-Za-z_$][\w$]*\s*(\(|\=|:|\?))|([A-Za-z_$][\w$]*\s*(\(|:|\=|\?))"/> <funcNameExpr expr="(\s+[A-Za-z_$][\w$]*\s*(\(|\=|:|\?))|([A-Za-z_$][\w$]*)"/> <funcNameExpr expr="(\s+[A-Za-z_$][\w$]*)|([A-Za-z_$][\w$]*)"/> <funcNameExpr expr="[A-Za-z_$][\w$]*"/> </functionName> </function> </classRange> <!-- <classRange>, "prototype" syntax imported from :https://community.notepad-plus-plus.org/topic/8647/configure-function-list-to-show-javascript-class-functions-created-with-prototype --> <classRange mainExpr="^[\t ]*([_A-Za-z]?[\w_]*)(\.prototype)+[\s]+(=)+[\s]*\{" openSymbole = "\{" closeSymbole = "\}" displayMode="node" > <className> <nameExpr expr="[_A-Za-z]+[\w_]*"/> </className> <function mainExpr="^[\t ]*([_A-Za-z]?[\w_])+[\s]*+:+[\s]*+function+[\s]*\("> <functionName> <funcNameExpr expr="^[\t ]*([_A-Za-z]?[\w_]*)"/> </functionName> </function> </classRange> <!-- Original notepad++ functionlist --> <function mainExpr="((^|\s+|[;\}\.])([A-Za-z_$][\w$]*\.)*[A-Za-z_$][\w$]*\s*[=:]|^|[\s;\}]+)\s*function(\s+[A-Za-z_$][\w$]*)?\s*\([^\)\(]*\)[\n\s]*\{" > <functionName> <nameExpr expr="[A-Za-z_$][\w$]*\s*[=:]|[A-Za-z_$][\w$]*\s*\(" /> <nameExpr expr="[A-Za-z_$][\w$]*" /> </functionName> <className> <nameExpr expr="([A-Za-z_$][\w$]*\.)*[A-Za-z_$][\w$]*\." /> <nameExpr expr="([A-Za-z_$][\w$]*\.)*[A-Za-z_$][\w$]*" /> </className> </function> </parser>
  • Replace multiple, alternate lines in a comparison of two files

    16
    0 Votes
    16 Posts
    2k Views
    DrakyemD

    @mpheath

    Hello. Thank you very much for this script, it works wonders! There are some misplaced lines (e.g. line 23 in one file corresponding to line 24 in the other one), but nothing that I can’t fix for the script to work within the entire file as it should.