Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="UTF-8" ?>
- <!--
- For learning making your language parser, please check the following link:
- http://notepad-plus-plus.org/features/function-list.html
- -->
- <NotepadPlus>
- <functionList>
- <associationMap>
- <!-- langID:
- L_TEXT: 0 L_PHP: 1 L_C: 2 L_CPP: 3 L_CS: 4 L_OBJC: 5
- L_JAVA: 6 L_RC: 7 L_HTML: 8 L_XML: 9 L_MAKEFILE: 10 L_PASCAL: 11
- L_BATCH:12 L_INI: 13 L_ASCII: 14 L_USER: 15 L_ASP: 16 L_SQL: 17
- L_VB: 18 L_JS: 19 L_CSS: 20 L_PERL: 21 L_PYTHON: 22 L_LUA: 23
- L_TEX: 24 L_FORTRAN: 25 L_BASH: 26 L_FLASH: 27 L_NSIS: 28 L_TCL: 29
- L_LISP: 30 L_SCHEME: 31 L_ASM: 32 L_DIFF: 33 L_PROPS: 34 L_PS: 35
- L_RUBY: 36 L_SMALLTALK:37 L_VHDL: 38 L_KIX: 39 L_AU3: 40 L_CAML: 41
- L_ADA: 42 L_VERILOG: 43 L_MATLAB: 44 L_HASKELL: 45 L_INNO: 46 L_SEARCHRESULT: 47
- L_CMAKE: 48 L_YAML: 49 L_COBOL 50 L_GUI4CLI: 51 L_D: 52 L_POWERSHELL: 53
- L_R: 54 L_JSP: 55
- -->
- <association langID="1" id="php_function"/>
- <association langID="2" id="c_function"/>
- <association langID="3" id="c_cpp_function"/>
- <association langID="4" id="cs_function"/>
- <association langID="6" id="java"/>
- <association langID="9" id="xml_node"/>
- <association langID="12" id="batch_label"/>
- <association langID="13" id="ini_section"/>
- <association langID="19" id="js_function"/>
- <association langID="21" id="perl_function"/>
- <association langID="22" id="python_function"/>
- <association langID="26" id="bash_function"/>
- <association langID="28" id="nsis_syntax"/>
- <!--
- if langID cannot be found above, you can still set the file extensions
- <association ext=".my_passer_ext1" id="my_passer_id"/>
- <association ext=".my_passer_ext2" id="my_passer_id"/>
- for User Defined Languages:
- <association userDefinedLangName="my user defined language" id="my_udl_passer_id"/>
- <association userDefinedLangName="Autocad" id="my_autocad_passer_id"/>
- -->
- <association ext=".ahk" id="ahk_function"/>
- <association userDefinedLangName="AutoHotkey" id="ahk_function"/>
- </associationMap>
- <parsers>
- <parser id="xml_node" displayName="XML Node" commentExpr="<!--([^-]|-(?!->))*-->">
- <!-- Only match nodes with at least one attribute -->
- <function
- mainExpr="<[\w\?]+[\t ]+\w+[\t ]*=[\t ]*"[^"]+""
- displayMode="$functionName">
- <functionName>
- <nameExpr expr="[^<]*"/>
- </functionName>
- </function>
- </parser>
- <parser id="batch_label" displayName="BAT Label" commentExpr="((::.*?$)|(REM.*?$))">
- <function
- mainExpr="^[\t ]*:\w+"
- displayMode="$functionName">
- <functionName>
- <nameExpr expr="[^\t :]*"/>
- </functionName>
- </function>
- </parser>
- <parser id="ini_section" displayName="INI Section" commentExpr="((#.*?$)|(;.*?$))">
- <function
- mainExpr="^[\t ]*[\["][\w_.; \(\)-]+[\]"]"
- displayMode="$functionName">
- <functionName>
- <nameExpr expr="[^\[\]"]*"/>
- </functionName>
- </function>
- </parser>
- <parser id="java" displayName="Java" commentExpr="((/\*.*?\*)/|(//.**$))">
- <classRange mainExpr="^[\t ]*((public|protected|private|static|final|abstract|synchronized|@(\w)+)\s+)*(class|enum|interface|@interface)\s+\w+(<\s*\w+(,\s*\w+)*\s*>)?(\s+extends\s+\w+)?(\s+implements\s+\w+(,\s*\w+)*)?\s*\{" openSymbole="\{" closeSymbole="\}">
- <className>
- <nameExpr expr="(class|enum|interface|@interface)\s+\w+(<\s*\w+(,\s*\w+)*\s*>)?"></nameExpr>
- <nameExpr expr="\s+\w+(<\s*\w+(,\s*\w+)*\s*>)?"></nameExpr>
- <nameExpr expr="\w+(<\s*\w+(,\s*\w+)*\s*>)?"></nameExpr>
- </className>
- <function mainExpr="^[\t ]*((public|protected|private|static|final|abstract|synchronized|@(\w)+)\s+)*(\w*(\[\s*])*\s+)?(?!(if|while|for|switch|catch|synchronized)\b)\w+(\[\s*])*(<\s*\w+(,\s*\w+)*\s*>)?\s*\([^\)\(]*\)(\s+throws\s+\w+)?\s*\{">
- <functionName>
- <funcNameExpr expr="(?!(if|while|for|switch|catch|synchronized)\b)\w+(\[\s*])*(<\s*\w+(,\s*\w+)*\s*>)?\s*\("></funcNameExpr>
- <funcNameExpr expr="(?!(if|while|for|switch|catch|synchronized)\b)\w+(\[\s*])*(<\s*\w+(,\s*\w+)*\s*>)?"></funcNameExpr>
- </functionName>
- </function>
- </classRange>
- </parser>
- <parser id="c_function" displayName="C source" commentExpr="((/\*.*?\*)/|(//.*?$))">
- <function
- mainExpr="^[\t ]*((static|const|virtual)[\s]+)?[\w:]+([\s]+[\w]+)?([\s]+|\*[\s]+|[\s]+\*|[\s]+\*[\s]+)([\w_]+[\s]*::)?(?!(if|while|for))[\w_]+[\s]*\([^\)\(]*\)([\s]*const[\s]*)?[\n\s]*\{"
- displayMode="$functionName">
- <functionName>
- <nameExpr expr="(?!(if|while|for))[\w_~]+[\s]*\("/>
- <nameExpr expr="(?!(if|while|for))[\w_~]+"/>
- </functionName>
- </function>
- </parser>
- <parser id="js_function" displayName="Javascript" commentExpr="((/\*.*?\*)/|(//.*?$))">
- <function
- mainExpr="((^|[\s]+|[;\}\.])([_A-Za-z][\w_]*\.)*[_A-Za-z][\w_]*[\s]*[=:]|^|[\s;\}]+)[\s]*function([\s]+[_A-Za-z]?[\w_]*\([^\)\(]*\)|\([^\)\(]*\))[\n\s]*\{"
- displayMode="$className->$functionName">
- <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>
- <parser id="c_cpp_function" displayName="C++ Class" commentExpr="((/\*.*?\*)/|(//.*?$))">
- <classRange
- mainExpr="^[\t ]*(class|struct)[\t ]+[\w]+[\s]*(:[\s]*(public|protected|private)[\s]+[\w]+[\s]*)?\{"
- openSymbole = "\{"
- closeSymbole = "\}"
- displayMode="node">
- <className>
- <nameExpr expr="(class|struct)[\t ]+[\w]+"/>
- <nameExpr expr="[\t ]+[\w]+"/>
- <nameExpr expr="[\w]+"/>
- </className>
- <function
- mainExpr="^[\t ]*((static|const|virtual)[\s]+)?([\w]+([\s]+[\w]+)?([\s]+|\*[\s]+|[\s]+\*|[\s]+\*[\s]+))?([\w_]+[\s]*::)?(?!(if|while|for|switch))[\w_~]+[\s]*\([^\)\(]*\)([\s]*const[\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 ]*((static|const|virtual)[\s]+)?[\w]+([\s]+[\w]+)?([\s]+|\*[\s]+|[\s]+\*|[\s]+\*[\s]+)([\w_]+[\s]*::)?(?!(if|while|for))[\w_]+[\s]*\([^\)\(]*\)([\s]*const[\s]*)?[\n\s]*\{"
- displayMode="$className->$functionName">
- <functionName>
- <nameExpr expr="(?!(if|while|for))[\w_]+[\s]*\("/>
- <nameExpr expr="(?!(if|while|for))[\w_]+"/>
- </functionName>
- <className>
- <nameExpr expr="[\w_]+(?=[\s]*::)"/>
- </className>
- </function>
- </parser>
- <parser id="nsis_syntax" displayName="NSIS Syntax" commentExpr="((/\*.*?\*)/|(#.*?$)|(;.*?$))">
- <function
- mainExpr="^[\t ]*(!macro|Function|Section|SectionGroup)[\t ]+[^\r\n]*$"
- displayMode="$functionName">
- <functionName>
- <nameExpr expr="(?(?=[\t ]*!macro)[\t ]*!macro[\t ]+[^\s]+|[^\r\n]*)"/>
- </functionName>
- </function>
- </parser>
- <parser id="perl_function" displayName="Perl">
- <function mainExpr="^[\s]*(?<!#)[\s]*sub[\s]+[\w]+[\s]*\(?[^\)\(]*?\)?[\n\s]*\{" displayMode="$className->$functionName">
- <functionName>
- <nameExpr expr="(sub[\s]+)?\K[\w]+"/>
- </functionName>
- <className>
- <nameExpr expr="[\w]+(?=[\s]*::)"/>
- </className>
- </function>
- </parser>
- <parser id="php_function" displayName="PHP" commentExpr="((/\*.*?\*)/|(//.*?$))">
- <classRange
- mainExpr="^[\s]*(class|abstract[\s]+class|final[\s]+class)[\t ]+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*([\s]*|[\s]*(extends|implements|(extends[\s]+(\\|[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)+[\s]+implements))[\s]+(\,[\s]*|(\\|[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*))+[\s]*)?\{"
- openSymbole = "\{"
- closeSymbole = "\}"
- displayMode="node">
- <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 below node if want display method with parmas -->
- <funcNameExpr expr="(?!(if|while|for|switch))[\w_]+"/>
- </functionName>
- </function>
- </classRange>
- <function
- mainExpr="^[\s]*function[\s]+\w+\("
- displayMode="$className->$functionName">
- <functionName>
- <nameExpr expr="(?!(if|while|for))[\w_]+[\s]*\("/>
- <nameExpr expr="(?!(if|while|for))[\w_]+"/>
- </functionName>
- <className>
- <nameExpr expr="[\w_]+(?=[\s]*::)"/>
- </className>
- </function>
- </parser>
- <parser id="bash_function" displayName="Shell" commentExpr="(#.*?$)">
- <function
- mainExpr="^[\t ]*(function[\t\r\n ]*)?([a-zA-Z0-9_])+[\t\r\n ]*(\([^\)]*\))?[\t\r\n ]*(\{)[^(\})\r\n\t ]*"
- displayMode="$functionName">
- <functionName>
- <nameExpr expr="[^{]*"/>
- </functionName>
- </function>
- </parser>
- <parser id="python_function" displayName="Python class" commentExpr="(#.*?$|'''.*?('''|\Z))">
- <classRange mainExpr="(?<=^class ).*?(?=\n\S|\Z)">
- <className>
- <nameExpr expr="\w+(?=[\(|:])"/>
- </className>
- <function mainExpr="(?<=def ).+?(?=:)">
- <functionName>
- <funcNameExpr expr=".*"/>
- </functionName>
- </function>
- </classRange>
- <function mainExpr="(?<=def ).+?(?=:)">
- <functionName>
- <funcNameExpr expr=".*"/>
- </functionName>
- </function>
- </parser>
- <parser id="cs_function" displayName="C# Class" commentExpr="((/\*.*?\*)/|(//.*?$))">
- <classRange
- mainExpr="^[\t ]*((public|protected|private|internal)[\s]+)?([\w]+[\s]*)?(class|struct|interface)[\t ]+[^\{]+\{"
- openSymbole = "\{"
- closeSymbole = "\}"
- displayMode="node">
- <className>
- <nameExpr expr="(class|struct|interface)[\t ]+[\w]+"/>
- <nameExpr expr="[\t ]+[\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>
- <function mainExpr="">
- </function>
- </parser>
- <parser id="ahk_function" displayName="AHK" commentExpr="((/\*.*?\*)/|((?<=[\s\t]);.*?$))">
- <!-- AutoHotKey Function List -->
- <classRange
- mainExpr="^[\t ]*(class|struct)[\t ]+[\w]+([\t ]+|[\t ]+(extends)[\s]+(\,[\t ]*|(\\|[\w][\w]*))+[\s]*)?([\s\t\r\n]|(/\*.*?\*)/|((?<=[\s\t]);[^\r\n]*?$))*?[\s\t]*\{"
- openSymbole = "\{"
- closeSymbole = "\}"
- displayMode="node">
- <className>
- <nameExpr expr="(class|struct)[\t ]+[\w]+"/>
- <nameExpr expr="[\t ]+[\w]+"/>
- <nameExpr expr="[\w]+"/>
- </className>
- <function
- mainExpr="^[\t ]*(?!(if\(|while\(|for\())([a-zA-Z0-9#!^+&<>*~$_])+\d*(\(|\[)[\w+:=\d\s,"#.;]*(\)|\])([\s\t\r\n]|(/\*.*?\*)/|((?<=[\s\t]);[^\r\n]*?$))*?[\s\t]*\{|^[\t ]*(?!(if\(|while\(|for\())([a-zA-Z0-9#!^+&<>*~$_])+\d*:(?=([\s\t]*[\r\n]|[\s\t]+;.*[\r\n]))|^[\t ]*(?!(if\(|while\(|for\())([a-zA-Z0-9#!^+&<>*~$_: ])+\d*(?<![ ])::(?=[^\r\n\t\s])?">
- <functionName>
- <funcNameExpr expr="([a-zA-Z0-9#!^+&<>*~$_])+\d*(\(|\[)[\w+:=\d\s,"#.;]*(\)|\])|([a-zA-Z0-9#!^+&<>*~$_: ])+\d*::?"/>
- </functionName>
- </function>
- </classRange>
- <function
- mainExpr="^[\t ]*(?!(if\(|while\(|for\())([a-zA-Z0-9#!^+&<>*~$_])+\d*\([\w+:=\d\s,"#.;]*\)([\s\t\r\n]|(/\*.*?\*)/|((?<=[\s\t]);[^\r\n]*?$))*?[\s\t]*\{|^[\t ]*(?!(if\(|while\(|for\())([a-zA-Z0-9#!^+&<>*~$_])+\d*:(?=([\s\t]*[\r\n]|[\s\t]+;.*[\r\n]))|^[\t ]*(?!(if\(|while\(|for\())([a-zA-Z0-9#!^+&<>*~$_: ])+\d*(?<![ ])::(?=[^\r\n\t\s])?"
- displayMode="$className->$functionName">
- <functionName>
- <nameExpr expr="([a-zA-Z0-9#!^+&<>*~$_])+\d*\([\w+:=\d\s,"#.;]*\)|([a-zA-Z0-9#!^+&<>*~$_: ])+\d*::?"/>
- </functionName>
- </function>
- </parser>
- </parsers>
- </functionList>
- </NotepadPlus>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement