• Suggesting New feature for Color codes (Hex)

    Locked
    3
    0 Votes
    3 Posts
    2k Views
    Frank OrellanaF

    Try the Quick Color Picker + plugin. It does basically all that already.

  • Function list with Java problems

    8
    0 Votes
    8 Posts
    8k Views
    Petr SkýpalaP

    Great job. You’re a genius. Making the regex multiline and commentes is real blessing.

    I’ve added several whitespaces \s where i missed them.
    I’ve added bounded templates <T extends A & B>
    I’ve added multiple inheritance - interface can extend multiple interfaces
    I’ve generalized the DECLARATOR and GENERIC groups a bit.

    The result is far from perfect, but it completely satisfies my needs. I don’t mind if it recognizes multiple inheritance. We can leave some work for compiler too. I hope this class-function template will help with other languages.

    <parser displayName="Java" id ="java" > <classRange mainExpr ="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) ^[\t\x20]* # leading whitespace (?: (?-i: abstract |final |native |p(?:rivate|rotected|ublic) |s(?:tatic|trictfp|ynchronized) |transient |volatile |@[A-Za-z_]\w* # qualified identifier (?: \. [A-Za-z_]\w* )* ) \s+ )* (?-i:class|enum|@?interface) \s+ (?'DECLARATOR' (?'VALID_ID' # valid identifier, use as subroutine \b(?!(?-i: a(?:bstract|ssert) |b(?:oolean|reak|yte) |c(?:ase|atch|har|lass|on(?:st|tinue)) |d(?:efault|o(?:uble)?) |e(?:lse|num|xtends) |f(?:inal(?:ly)?|loat|or) |goto |i(?:f|mp(?:lements|ort)|nstanceof|nt(?:erface)?) |long |n(?:ative|ew) |p(?:ackage|rivate|rotected|ublic) |return |s(?:hort|tatic|trictfp|uper|witch|ynchronized) |th(?:is|rows?) |tr(?:ansient|y) |vo(?:id|latile) |while )\b) # keywords, not to be used as identifier [A-Za-z_]\w* # valid character combination for identifiers ) (?: \s*\x3C # start-of-template indicator (?'GENERIC' # ...match first generic, use as subroutine \s* (?: (?&amp;DECLARATOR) # use named generic | \? # or unknown ) (?: # optional type extension \s+(?-i:extends|super) \s+(?&amp;DECLARATOR) (?: # multiple bounds \s+\x26 # ...are ampersand separated \s+(?&amp;DECLARATOR) )* )? (?: # match consecutive generics objects \s*, # ...comma separated (?&amp;GENERIC) )? ) \s*\x3E # ...end-of-template indicator )? (?: # package and|or nested classes \. # ...are dot separated (?&amp;DECLARATOR) )? ) (?: # optional object extension \s+(?-i:extends) \s+(?&amp;DECLARATOR) (?: # ...match consecutive objects, they are \s*, # separated by a comma \s*(?&amp;DECLARATOR) )* )? (?: # optional object implementation \s+(?-i:implements) \s+(?&amp;DECLARATOR) # ...match first object (?: # ...match consecutive objects, they are \s*, # separated by a comma \s*(?&amp;DECLARATOR) )* )? \s*\{ # whatever, up till start-of-body indicator " openSymbole ="\{" closeSymbole="\}" > <className> <nameExpr expr="(?-i:class|enum|@?interface)\s+\K\w+(?:\s*\x3C.*?\x3E)?" /> </className> <function mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) ^[\t\x20]* # leading whitespace (?: (?-i: abstract |final |native |p(?:rivate|rotected|ublic) |s(?:tatic|trictfp|ynchronized) |transient |volatile |@[A-Za-z_]\w* # qualified identifier (?: \. # ... dot separated [A-Za-z_]\w* )* ) \s+ )* (?: \s*\x3C # start-of-template indicator (?&amp;GENERIC) \s*\x3E # end-of-template indicator )? \s* (?'DECLARATOR' [A-Za-z_]\w* # type name (?: # optional parent type name(s) \. # ...parent-sibling separator [A-Za-z_]\w* # ...parent type name )* (?: \s*\x3C # start-of-template indicator (?'GENERIC' # ...match first generic, use as subroutine \s* (?: (?&amp;DECLARATOR) # use named generic | \? # or unknown ) (?: # optional type extension \s+(?-i:extends|super) \s+(?&amp;DECLARATOR) (?: # multiple bounds \s+\x26 # ...are ampersand separated \s+(?&amp;DECLARATOR) )* )? (?: # match consecutive generics objects \s*, # ...comma separated (?&amp;GENERIC) )? ) \s*\x3E # ...end-of-template indicator )? (?: # package and|or nested classes \. # ... are dot separated (?&amp;DECLARATOR) )? (?: # optional compound type \s*\[ # ...start-of-compound indicator \s*\] # ...end-of-compound indicator )* ) \s+ (?'VALID_ID' # valid identifier, use as subroutine \b(?!(?-i: a(?:bstract|ssert) |b(?:oolean|reak|yte) |c(?:ase|atch|har|lass|on(?:st|tinue)) |d(?:efault|o(?:uble)?) |e(?:lse|num|xtends) |f(?:inal(?:ly)?|loat|or) |goto |i(?:f|mp(?:lements|ort)|nstanceof|nt(?:erface)?) |long |n(?:ative|ew) |p(?:ackage|rivate|rotected|ublic) |return |s(?:hort|tatic|trictfp|uper|witch|ynchronized) |th(?:is|rows?) |tr(?:ansient|y) |vo(?:id|latile) |while )\b) # keywords, not to be used as identifier [A-Za-z_]\w* # valid character combination for identifiers ) \s*\( # start-of-arguments indicator (?'ARG' # ...match first argument, use as subroutine \s*(?-i:final\s+)? (?&amp;DECLARATOR) \s+(?&amp;VALID_ID) # argument name (?: # ...consecutive arguments are \s*, # separated by commas (?&amp;ARG) )? )? \) # end-of-arguments indicator (?: # optional exceptions \s*(?-i:throws) \s+(?&amp;VALID_ID) # ...first exception name (?: # ...consecutive exception names are \s*, # separated by commas \s*(?&amp;VALID_ID) )* )? \s*(?: # function declaration ends with ... \{ # ...a start-of-function-body indicator or | ; # ...an end-of-declaration indicator ) " > <functionName> <funcNameExpr expr="\w+(?=\s*\()" /> </functionName> </function> </classRange> </parser>
  • Crashing Final Fantasy XIV

    Locked
    2
  • Use NPP accross multiple PCs

    Locked
    3
    0 Votes
    3 Posts
    2k Views
    Ziad KrayemZ

    Thank you Claudia,
    That’s a solid idea, I’ll give it a try.

  • Problème de cohérence, coherence problem with 7.2 install

    Locked
    1
    0 Votes
    1 Posts
    2k Views
    No one has replied
  • CNTRL+ALT+LEFT/RIGHT global to all the tabs

    4
    0 Votes
    4 Posts
    2k Views
    Claudia FrankC

    @maimonid-toledano

    OK, now I see. To your info, the default key combination
    for RTL/LTR view is CTRL+ALT+R and L.
    To your question, well I would assume that one who is
    working with RTL view would argue, that it doesn’t make sense that it is needed
    to enable this always. You see - many different usings lead to too many different
    configurations.

    Of course we could discuss whether npp should allow to have it set globally or per tab
    but this basically means someone need to write code.
    So if you are able to write good c++ code you are welcome to provide such solution.

    Cheers
    Claudia

  • PowerShell escape character is not being detected

    Locked
    1
    0 Votes
    1 Posts
    2k Views
    No one has replied
  • Notepad++ portable auto add "Open with Notepad++" in right click

    2
    0 Votes
    2 Posts
    2k Views
  • Notepad++ and system colours

    1
    0 Votes
    1 Posts
    2k Views
    No one has replied
  • Keep line endings on paste (don't change LF to CRLF, for example)?

    Locked
    2
    0 Votes
    2 Posts
    2k Views
    Claudia FrankC

    @Borek-Bernard

    Is there a settings somewhere to prevent N++ changing line endings on paste?

    No, and from a programmers editor point of view I don’t see that this makes sense at all.
    Can you tell us, under which circumstance you need this behavior?

    Cheers
    Claudia

  • Delete duplicate lines ?

    15
    0 Votes
    15 Posts
    13k Views
    guy038G

    Hello, Vasile,

    My updated regex ( See the second post, above ) works perfectly well, even if I insert your expression – Mother is home –, in a list !?. For instance, the original text, below :

    aaa ccc bbb ddd aaa -- Mother is home – eee ddd aaa fff -- Mother is home – -- Mother is home – ddd ggg hhh -- Mother is home – iii hhh iii

    with the S/R :

    SEARCH : (?-s)^(.+\R)(?s)(?=(.+\R)?\1)|^\R

    REPLACE : EMPTY

    will be changed into :

    ccc bbb eee aaa fff ddd ggg -- Mother is home – iii hhh iii

    => It did keep all the unique lines AND the last item of all the duplicate lines, whose your string – Mother is home – !

    Cheers,

    guy038

  • Uninstall

    Locked
    1
    0 Votes
    1 Posts
    3k Views
    No one has replied
  • Bug in v7.1 - documents not saved

    Locked
    3
    1 Votes
    3 Posts
    2k Views
    Paul DietrichP

    I installed notepad++ v7.2, bug is fixed there.

  • Return Folder Workspace After Drive Removed and Added Back

    Locked
    1
    0 Votes
    1 Posts
    1k Views
    No one has replied
  • Refresh only focused tab

    2
    0 Votes
    2 Posts
    2k Views
    blahblahblah blahblahB

    Plus 100 to this. Been meaning to log such a request many times.
    Please don’t notify the user about change to the file UNTIL they click on that tab, or at least make it an option alongside ‘Update silently’. Thx.

  • Feature request: Ignore all switches

    Locked
    2
    0 Votes
    2 Posts
    2k Views
    Claudia FrankC

    @Oliver-Marshall

    I assume I don’t really understand your request because the first thing which
    comes into my mind is, if you want to ignore all following command line
    switches why not erasing it at all. I mean, don’t type it. ??

    Cheers
    Claudia

  • 0 Votes
    4 Posts
    4k Views
    Claudia FrankC

    @Stefan-Zimberoff

    Afaik, there is no builtin configurable parameter to achieve this.
    Just some thoughts, do you know the ctrl+right/left behavior?
    If this doesn’t suite you another possible solution might be to
    create two python scripts and assign two shortcuts.
    One would jump an amount of chars to the right and the other
    to the left.
    I assume
    editor.positionFromLine (to get the line start position)
    editor.getLineEndPosition (as name says …)
    editor.lineFromPosition (…)
    editor.getCurrentPos (…)
    editor.gotoPos (…)
    should do the trick.
    If you need help creating the scripts - let us know.

    Cheers
    Claudia

  • what are the differences between SciTE and Notepad++ ?

    3
    0 Votes
    3 Posts
    4k Views
    Mikhail NikitinM

    I guess, an ability of defining own language highlight rules is one of the differences.

  • Whitespace characters replacement

    Locked
    4
    0 Votes
    4 Posts
    2k Views
    Scott SumnerS

    @Omar-Gamelogic

    In that case, see the “View” menu -> “Show Symbol” submenu options. There you have:

    Show Whitespace and TAB
    Show End of Line
    Show All Characters

    If you set it to only “Show Whitespace and TAB”, then I think you’ll be happy with the result.

  • Delete all rows with a specific content occuring in a specific column

    4
    0 Votes
    4 Posts
    2k Views
    guy038G

    Hello, Markus-Ruhsam,

    Of course, it’s a bit late, by now, but here is a shorter regex, that works perfectly well !

    SEARCH (?-s)^(?=.{10}\.).+\R

    REPLACE EMPTY

    Et voilà !

    Notes :

    The first part (?-s) is an in-line modifier, which ensures that the dot meta-character will match only standard characters, even if you previously checked the . matches newline option

    From the beginning of line ^, the form (?=.{10}\.), also called a positive look-ahead, verifies if the condition Does exist a DOT character, in column 11, of the current line, is true.

    The important thing to remember about look-arounds is that, as soon as the condition is evaluated, the regex engine position is reset to the position before evaluating the look-around condition. So, in our case, to the position just before the first character of each line

    Consequently, if this condition is true, the following part of the regex .+ matches all the standard characters of the current line

    Finally, the \R syntax matches any kind of EOL characters ( \r\n ) in Windows files, ( \n ) in Unix files or ( \r ) in Mac files

    Now, as the replacement string is empty, that means that any complete line ( with a dot character at column 11 ) will be, automatically, deleted !

    Best Regards,

    guy038