• 1 Votes
    3 Posts
    153 Views
    M

    @xomx said in NPPCrypt not fully decrypting text.:

    Could be. Seems to me that your file was simply out of sync somehow (common when the network is laggy or there was just a temp outage):

    To clarify the file is local to the systems I’m experiencing the issue. It’s created, open, edited, and saved here. The cloud storage is just as a backup. I’m not accessing it on a second machine.

  • Save as File Type Options

    Help wanted · · · – – – · · ·
    4
    0 Votes
    4 Posts
    143 Views
    PeterJonesP

    @joesalvati68 said in Save as File Type Options:

    @PeterJones I tried replying but not sure if it went through. I copied the above picture. My actual wndow is here.

    As the post-edit window told you (you had to hit the X to close it when replying), until you get enough “upvotes”, you will have to wait for a moderator to approve all your posts.

    Notepad++ v8.8.5 (64-bit)

    Admin mode: OFF
    Local Conf mode: OFF
    Cloud Config: C:\Users\JoeSalvati\OneDrive - Arcuity ai, Inc\Notepad++_backup

    ahh, I wouldn’t have guessed you were in Cloud Config mode. So my suggestion of %AppData%\Notepad++\langs.xml was wrong. In Cloud Config mode, it would be C:\Users\JoeSalvati\OneDrive - Arcuity ai, Inc\Notepad++_backup\langs.xml


    Plugins:
    mimeTools (3.1)
    NppConverter (4.6)
    NppExec (0.8.8)
    NppExport (0.4)
    NppMenuSearch (0.9.6)

    I am doubtful, but since i’ve never used it, the culprit might be NppMenuSearch. You could try running with that plugin disabled (if you don’t know how to run with a specific plugin disabled, see the Possible Culprit: Plugin in our FAQ).

    If disbling that plugin doesn’t fix it, then open C:\Users\JoeSalvati\OneDrive - Arcuity ai, Inc\Notepad++_backup\langs.xml, and show us the first 25 lines or so, using a screenshot like:
    0959e27c-0ea2-45fe-93d4-87e39dcbe697-image.png

    or click the </> button in your reply, and pasting the text of the first 25 lines inside the ``` … ``` section:

    <?xml version="1.0" encoding="UTF-8" ?> <NotepadPlus> <!-- The keywords of the supported languages, don't touch them! --> <!-- For languages like C/C++ substyle1..8 entries, you may enter your own keywords in those entries, to have them show up in the "Default keywords" list shown in the Style Configurator --> <Languages> <Language name="normal" ext="txt" /> <Language name="actionscript" ext="as mx" commentLine="//" commentStart="/*" commentEnd="*/"> <Keywords name="instre1">add for lt tellTarget and function ne this break ge new typeof continue gt not var delete if on void do ifFrameLoaded onClipEvent while else in or with eq le return instanceof case default switch</Keywords> <Keywords name="type1">arguments constructor class dynamic false extends implements import interface intrinsic newline null private public super static true undefined Accessibility Arguments Array Boolean Button Camera ContextMenu ContextMenuItem CustomActions Color Date Error Function Key LoadVars LocalConnection Math Microphone Mouse MovieClip MovieClipLoader NetConnection NetStream Number PrintJob Object TextField StyleSheet TextFormat TextSnapshot SharedObject Selection Sound Stage String System XML XMLNode XMLSocket Void abs acos asin atan atan2 ceil cos exp floor log max min pow random round sin sqrt tan onActivity onChanged onClose onConnect onData onDragOut onDragOver onEnterFrame onID3 onKeyDown onKeyUp onKillFocus onLoad onLoadComplete onLoadError onLoadInit onLoadProgress onLoadStart onMouseDown onMouseMove onMouseUp onMouseWheel onPress onRelease onReleaseOutside onResize onRollOut onRollOver onScroller onSelect onSetFocus onSoundComplete onStatus onUnload onUpdate onXML addListener addPage addProperty addRequestHeader allowDomain allowInsecureDomain appendChild apply applyChanges asfunction attachAudio attachMovie attachSound attachVideo beginFill beginGradientFill call charAt charCodeAt clear clearInterval cloneNode close concat connect copy createElement createEmptyMovieClip createTextField createTextNode curveTo domain duplicateMovieClip endFill escape eval evaluate findText fscommand flush fromCharCode get getAscii getBeginIndex getBounds getBytesLoaded getBytesTotal getCaretIndex getCode getCount getDate getDay getDepth getEndIndex getFocus getFontList getFullYear getHours getInstanceAtDepth getLocal getMilliseconds getMinutes getMonth getNewTextFormat getNextHighestDepth getPan getProggress getProperty getRGB getSeconds getSelected getSelectedText getSize getStyle getStyleNames getSWFVersion getText getTextExtent getTextFormat getTextSnapshot getTime getTimer getTimezoneOffset getTransform getURL getUTCDate getUTCDay getUTCFullYear getUTCHours getUTCMilliseconds getUTCMinutes getUTCMonth getUTCSeconds getVersion getVolume getYear globalToLocal gotoAndPlay gotoAndStop hasChildNodes hide hideBuiltInItems hitTest hitTestTextNearPos indexOf insertBefore install isActive isDown isToggled join lastIndexOf lineStyle lineTo list load loadClip loadMovie loadMovieNum loadSound loadVariables loadVariablesNum localToGlobal mbchr mblength mbord mbsubstring MMExecute moveTo nextFrame nextScene parseCSS parseFloat parseInt parseXML pause play pop prevScene print printAsBitmap printAsBitmapNum printNum push registerClass removeListener removeMovieClip removeNode removeTextField replaceSel replaceText reverse seek send sendAndLoad setBufferTime set setDate setFocus setFullYear setGain setHours setInterval setMask setMilliseconds setMinutes setMode setMonth setMotionLevel setNewTextFormat setPan setProperty setQuality setRate setRGB setSeconds setSelectColor setSelected setSelection setSilenceLevel setStyle setTextFormat setTime setTransform setUseEchoSuppression setUTCDate setUTCFullYear setUTCHours setUTCMilliseconds setUTCMinutes setUTCMonth setUTCSeconds setVolume setYear shift show showSettings silenceLevel silenceTimeout slice sort sortOn splice split start startDrag stop stopAllSounds stopDrag substr substring swapDepths toggleHighQuality toLowerCase toString toUpperCase trace unescape uninstall unLoadClip unloadMovie unloadMovieNum unshift unwatch updateAfterEvent updateProperties useEchoSuppression valueOf watch endinitclip include initclip __proto__ _accProps _alpha _currentframe _droptarget _focusrect _framesloaded _global _height _highquality _level _lockroot _name _parent _quality _root _rotation _soundbuftime _target _totalframes _url _visible _width _x _xmouse _xscale _y _ymouse _yscale activityLevel align attributes autoSize avHardwareDisable background backgroundColor bandwidth blockIndent bold border borderColor bottomScroll bufferLenght bufferTime builtInItems bullet bytesLoaded bytesTotal callee caller capabilities caption childNodes color condenseWhite contentType currentFps customItems data deblocking docTypeDecl duration embedFonts enabled exactSettings firstChild focusEnabled font fps gain globalStyleFormat hasAccessibility hasAudio hasAudioEncoder hasEmbeddedVideo hasMP3 hasPrinting hasScreenBroadcast hasScreenPlayback hasStreamingAudio hasStreamingVideo hasVideoEncoder height hitArea hscroll html htmlText indent index italic instanceof int ignoreWhite isDebugger isFinite language lastChild leading leftMargin length loaded localFileReadDisable manufacturer maxChars maxhscroll maxscroll menu message motionLevel motionTimeout mouseWheelEnabled multiline muted name names NaN nextSibling nodeName nodeType nodeValue os parentNode password pixelAspectRatio playerType previousSibling prototype quality rate restrict resolutionX resolutionY rightMargin scaleMode screenColor screenDPI screenResolutionX screenResolutionY scroll selectable separatorBefore showMenu size smoothing status styleSheet tabChildren tabEnabled tabIndex tabStops target targetPath text textColor textHeight textWidth time trackAsMenu type underline url useCodepage useHandCursor variable version visible width wordWrap xmlDecl</Keywords> <Keywords name="substyle1" /> <Keywords name="substyle2" /> <Keywords name="substyle3" /> <Keywords name="substyle4" /> <Keywords name="substyle5" /> <Keywords name="substyle6" /> <Keywords name="substyle7" /> <Keywords name="substyle8" /> </Language> <Language name="ada" ext="ada ads adb" commentLine="--" commentStart="" commentEnd=""> <Keywords name="instre1">abort abs abstract accept access aliased all and array at begin body case constant declare delay delta digits do else elsif end entry exception exit for function generic goto if in interface is limited loop mod new not null of or others out overriding package pragma private procedure protected raise range record rem renames requeue return reverse select separate some subtype synchronized tagged task terminate then type until use when while with xor</Keywords> </Language> <Language name="asm" ext="asm" commentLine=";" commentStart="" commentEnd=""> <Keywords name="instre1">aaa aad aam aas adc add and call cbw cdqe clc cld cli cmc cmp cmps cmpsb cmpsw cwd daa das dec div esc hlt idiv imul in inc int into iret ja jae jb jbe jc jcxz je jg jge jl jle jmp jna jnae jnb jnbe jnc jne jng jnge jnl jnle jno jnp jns jnz jo jp jpe jpo js jz lahf lds lea les lods lodsb lodsw loop loope loopew loopne loopnew loopnz loopnzw loopw loopz loopzw mov movabs movs movsb movsw mul neg nop not or out pop popf push pushf rcl rcr ret retf retn rol ror sahf sal sar sbb scas scasb scasw shl shr stc std sti stos stosb stosw sub test wait xchg xlat xlatb xor bound enter ins insb insw leave outs outsb outsw popa pusha pushw arpl lar lsl sgdt sidt sldt smsw str verr verw clts lgdt lidt lldt lmsw ltr bsf bsr bt btc btr bts cdq cmpsd cwde insd iretd iretdf iretf jecxz lfs lgs lodsd loopd looped loopned loopnzd loopzd lss movsd movsx movsxd movzx outsd popad popfd pushad pushd pushfd scasd seta setae setb setbe setc sete setg setge setl setle setna setnae setnb setnbe setnc setne setng setnge setnl setnle setno setnp setns setnz seto setp setpe setpo sets setz shld shrd stosd bswap cmpxchg invd invlpg wbinvd xadd lock rep repe repne repnz repz cflush cpuid emms femms cmovo cmovno cmovb cmovc cmovnae cmovae cmovnb cmovnc cmove cmovz cmovne cmovnz cmovbe cmovna cmova cmovnbe cmovs cmovns cmovp cmovpe cmovnp cmovpo cmovl cmovnge cmovge cmovnl cmovle cmovng cmovg cmovnle cmpxchg486 cmpxchg8b loadall loadall286 ibts icebp int1 int3 int01 int03 iretw popaw popfw pushaw pushfw rdmsr rdpmc rdshr rdtsc rsdc rsldt rsm rsts salc smi smint smintold svdc svldt svts syscall sysenter sysexit sysret ud0 ud1 ud2 umov xbts wrmsr wrshr</Keywords> <Keywords name="instre2">f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcom fcomp fcompp fdecstp fdisi fdiv fdivp fdivr fdivrp feni ffree fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisub fisubr fld fld1 fldcw fldenv fldenvw fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnsavew fnstcw fnstenv fnstenvw fnstsw fpatan fprem fptan frndint frstor frstorw fsave fsavew fscale fsqrt fst fstcw fstenv fstenvw fstp fstsw fsub fsubp fsubr fsubrp ftst fwait fxam fxch fxtract fyl2x fyl2xp1 fsetpm fcos fldenvd fnsaved fnstenvd fprem1 frstord fsaved fsin fsincos fstenvd fucom fucomp fucompp fcomi fcomip ffreep fcmovb fcmove fcmovbe fcmovu fcmovnb fcmovne fcmovnbe fcmovnu</Keywords>
  • 0 Votes
    5 Posts
    2k Views
    PeterJonesP

    @Walter-Cook said in Using Notepad++ Together with ChatGPT for a Faster Workflow:

    Is there a preferred “Language” to use before pasting into Notepad++?

    If the Generative AI nonsense is pretending to be C++, then use Language > C > C++; if it’s pretending to be Python, then use Language > P > Python; if it’s pretending to be markdown, use Language > Markdown (preinstalled). If it’s pretending to be plain text, use Language > None (Normal Text)

    Remember, Generative AI is not thinking, and is not actually generating anything with meaning. It is just picking a long list of likely “next token” (effectively, “next word”, but not technically) based on the prompt and what it’s generated so far.

    Copying from ChatGPT or any of the AI’s interfaces seems to be pretty messy!

    Then find a better UI? There are various frontends to those “tools” which can help. (I know that Google’s AI Studio interface, for example, has a button to allow copying the underlying Markdown that their LLM produces, so something like that might be better formatted than the rendered stuff directly from the browser.)

    Admin Note: as @Alan-Kilborn said, this conversation really shouldn’t be under the “Help Wanted” category, so I am moving it to the “General Discussion”

  • Adding or dragging a menu item to the toolbar

    General Discussion
    2
    0 Votes
    2 Posts
    1k Views
    Alan KilbornA

    @Walter-Cook

    If you have a few favorites of the “Line Operations”, you could add them individually using the “Customize Toolbar” plugin.

  • 2 Votes
    4 Posts
    183 Views
    EkopalypseE

    @rdipardo

    That’s what I thought too, I was just surprised that the port didn’t have it, hence the question.

  • You've a lot of reasons to hate Notepad++

    Pinned Boycott Notepad++
    89
    5 Votes
    89 Posts
    133k Views
    Walter CookW

    @Travis-Owens231 Thank You, Travis

    It’s like boycotting the Google because you don’t like the political views of your neighbor because he delivers mail to an executive the works for Google! I can promise you, if you lived like that you would never be able to use anything.

    I guess we better start checking the political opinions of whomever is administering each server between our computers and every site we visit!

    People, Just Chill!

    Walter Cook

  • Mildly curious about json syntax highlighting

    General Discussion
    2
    1 Votes
    2 Posts
    1k Views
    rdipardoR

    There’s a hard-coded limit of 100 characters for property names; the property inside “hello3” has 101. It’s a known issue.

  • Help with Regex/Find/Macro

    Help wanted · · · – – – · · ·
    2
    0 Votes
    2 Posts
    125 Views
    CoisesC

    @João-Borloth said in Help with Regex/Find/Macro:

    Good morning!
    Everyone, I couldn’t understand REGEX.
    I believe there’s a REGEX solution (Find or Filter) to solve my problem.
    I need Notepad++ to search line by line and find the lines that contain:

    A word with all letters in uppercase (example: LTDA) A word with all letters in lowercase (example: and) A word with mixed lowercase and uppercase letters (except capitalized words) (for example, find: hoUse, HOuse, HousE)
    but NOT find House.

    This would require 3 Regex and/or 3 macros.
    Example sentences:
    My HouSe is Beautiful => Find “HouSe” and “is”
    My House Is Beautiful => Ok, Don’t find anything
    MY House IS Beautiful => Find “MY”, “IS”

    Thank you

    Your example doesn’t quite match your statement. If, as per your statement, you want to find lines which contain one or more words that do not consist of a capital letter optionally followed by one or more lower case letters, then try:

    (?-is)^(?!\u\l*+([^\w\r\n]+\u\l*+)*+[^\w\r\n]*$).*+

    You can find them one by one, or click Find All to get a list.

    If, as per your example, you want to find words that do not consist of a capital letter optionally followed by one or more lower case letters, try:

    (?-is)\b(\u\l*+)?+\w++

    I tried to cover likely cases involving punctuation, but test. I’m not promising it’s perfect. (Come to think of it, I’m sure these will not handle words with apostrophes correctly.)

  • 0 Votes
    5 Posts
    163 Views
    Mr-BrunesM

    @PeterJones that’s great. I wonder if it’s a Win11 ‘feature’ that prevents the graceful app close/shutdown.
    Either way I know now what the smoking gun looks like so will be mindful of that in future.
    Tx for the analysis and for filing the plugin issue.

  • 0 Votes
    10 Posts
    8k Views
    Serpens66S

    @xomx thank you very much :) hopefully the plugin gets updated some day, the auto-check is quite useful…

  • When maths is reinvented by CHATGPT

    Humour
    5
    6 Votes
    5 Posts
    3k Views
    Lycan ThropeL

    @donho ,
    And here I was, hopeful that making excuses about it being a computer error was over, with AI handling the responses. Even the AI has to make an excuse that it was (brain) computer error. :-)

  • 2 Votes
    2 Posts
    2k Views
    ThosRTannerT

    Updated linter++ to v1.0.1

    Most obvious changes:

    Works properly in 32 bit mode Ability to switch linting off and on - mainly for people with slow PCs Double clicking on an error in the ‘system’ tab will open a new notepad++ buffer and provide more detail on the error Ability to define your own variables to be used in commands.

    This is available at the same page as above.

  • 0 Votes
    14 Posts
    351 Views
    PeterJonesP

    @guy038 ,

    I think you missed my point.

    My point was not, “you can enter C0 using Ctrl+<key>, so there’s no need/benefit to be able to also enter C0 using Alt+0###”. My point is, all you have to do to be able to get Alt+0### access for C0 codes is to turn off the option named “prevent control character (C0 code) typing into document”: if you have things set up in a way that you want to be able to enter control codes, then you are the kind of user who probably doesn’t need the accidental-Ctrl+combo “protection” that enabling that option provides.

    Making the developers try to intercept the keystrokes before Windows turns the keystrokes from multiple presses into sending a single character to the app, just because you aren’t willing to turn off the anti-C0-“protection” seems the wrong way around. N++ already provides the option that allows you to enable typing C0 codes, whether by Ctrl+<unmapped> or by Alt+0### for C0 codes, so if you want to enter C0 codes, then set the option appropriately.

    solution cannot be applied because :

    Or, I would say, the “solution cannot be applied without unmapping pre-defined shortcuts, which is simple to do using Shortcut mapper”. (Or, I would say that, if that were a “solution” I were recommending; but it wasn’t.)

    Enabling vs disabling of features always come with tradeoffs, and power users of Notepad++ make those tradeoffs every day.

    Maybe I’ll put it this way: the option is literally named “prevent control character (C0 code) typing into document”. If you want to be able to type control characters (C0 codes) into the document, you obviously have to turn off that option. This seems highly reasonable to me.

  • 0 Votes
    2 Posts
    101 Views
    PeterJonesP

    @Dawg1104 said in Adding a Language to official Notepad++:

    Is it at all possible to add a language to Notepad++ officially?

    At all? Definitely.

    Practically? It depends on the language.

    Notepad++ uses a library called Lexilla for handling the syntax highlighting of “official” languages. Lexilla actually provides some languages that Notepad++ has not yet exposed to its users. I have actually done a couple PR where I submitted the Notepad++ code update to enable those “hidden languages”.

    But if it doesn’t already exist in Lexilla, then someone would have to write the lexer per Lexilla standards, then submit it to Lexilla. One, in theory, could just submit a request that Lexilla add the language, but unless it happens to be a language that one of the Lexilla team is interested in, there’s very little chance they will implement it – for example, awk was requested to be added to Lexilla in 2009, but since the developer isn’t interested in it, it’s never been implemented. So practically, to add a new language to Lexilla, you have to write it.

    Those are the two paths to being “officially” added. But there are more paths to unofficial:

    There might already be a UDL (User Defined Language) available in the UDL Collection, If so, anyone can easily download the UDL definition from there and install it into their copy of Notepad++ per the UDL Collection instructions or, if you already have a UDL defined, but there isn’t one for that language in the Collection, you can submit it to the collection as described in the Collection instructions if it’s a simple list of keywords and operators and maybe a folding symbol (like the { ... } of C-style languages), it’s pretty easy to make your own UDL (and then submit it to the collection) my CollectionInterface plugin makes it really easy to download and install a language from the UDL Collection. wink wink nudge nudge If the logic is more complicated than simple keyword matching, then it’s possible to write a lexer plugin (overview found in the User Manual) – and such a plugin can be submitted to the Plugins Admin. (One of the most famous lexer plugins is the GEDCOM lexer, but there are actually quite a few of the plugins that have lexing capability among their features.)

    So, what language are you looking for, that you cannot yet find?

  • Search & Replace

    Help wanted · · · – – – · · ·
    3
    0 Votes
    3 Posts
    98 Views
    guy038G

    Hello, @Jose-Ramalho, @peterjones and All,

    @jose-ramalho, let’s suppose this INPUT text :

    move $a swap $b, $c

    Then :

    Open the Replace dialog ( Ctrl + H )

    Uncheck all box options

    FIND (?-s)^(.+)\t(.+)

    REPLACE \1 FIXED_TEXT \(\2\)

    Select the Regular expression search mode

    Possibly, check the Wrap around option

    Click on the Replace All button

    => You should get the following OUTPUT text :

    move FIXED_TEXT ($a) swap FIXED_TEXT ($b, $c)

    This is just my first idea. Obviously, this requires some ajustements. See you later !

    Best regards,

    guy038

  • Notepad++ v8.8.4 Release

    Locked Announcements
    1
    3 Votes
    1 Posts
    3k Views
    No one has replied
  • 32x32 sources for small Standard icons

    General Discussion
    9
    0 Votes
    9 Posts
    3k Views
    deleeleeD

    @PeterJones Thanks! 🙂

  • 0 Votes
    5 Posts
    175 Views
    xomxX

    @Notepadder said in Strange Notepad++ file recovery:

    How can I access the files in this folder from a more recent restore point as with first crash?

    If there is also a more recent Windows OS Restore Point but you selected an older one somehow (with older N++ backup folder state) during your effort to revive your PC, you can try to extract newer N++ files by ShadowExplorer.

  • Notepad++ v8.8.4 Release Candidate

    Announcements
    31
    2 Votes
    31 Posts
    6k Views
    PeterJonesP

    @Ekopalypse said in Notepad++ v8.8.4 Release Candidate:

    Does that mean if you are using 8.8.2 you can’t use the plugin admin to install plugins without unlocking gup.exe first? Because I just checked again and I can.

    Weird. I had assumed that if the MotW existed on gup.exe, it wouldn’t run. But no, with v8.8.2 portable, if gup.exe has MotW, Plugins Admin will still install plugins; but on v8.8.3 portable and v8.8.4-RC2 portable, if gup.exe has MotW, Plugins Admin will not install plugins

  • 0 Votes
    3 Posts
    936 Views
    BoomBookB

    @PeterJones Thank you. As far as I can see, the function has not been removed. Before concluding this, I downloaded the versions one by one and checked the settings to see if it was still there. I was only able to find an option under “Default Directory.” My issue is now resolved. Thank you.