2013-01-06 01:50:12 +00:00
|
|
|
<?xml version="1.0" encoding="UTF-8" ?>
|
2013-10-12 09:10:03 +00:00
|
|
|
<!--
|
|
|
|
For learning making your language parser, please check the following link:
|
|
|
|
http://notepad-plus-plus.org/features/function-list.html
|
|
|
|
-->
|
2013-01-06 01:50:12 +00:00
|
|
|
<NotepadPlus>
|
|
|
|
<functionList>
|
|
|
|
<associationMap>
|
2013-03-20 22:50:48 +00:00
|
|
|
<!-- 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
|
|
|
|
-->
|
2013-09-08 22:02:26 +00:00
|
|
|
<association langID="1" id="php_function"/>
|
|
|
|
<association langID="2" id="c_function"/>
|
|
|
|
<association langID="3" id="c_cpp_function"/>
|
|
|
|
<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="28" id="nsis_syntax"/>
|
2013-03-20 22:50:48 +00:00
|
|
|
<!--
|
|
|
|
if langID cannot be found above, you can still set the file extensions
|
2013-09-08 22:02:26 +00:00
|
|
|
<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"/>
|
2013-03-20 22:50:48 +00:00
|
|
|
-->
|
|
|
|
|
2013-01-06 01:50:12 +00:00
|
|
|
</associationMap>
|
|
|
|
<parsers>
|
2013-09-08 22:02:26 +00:00
|
|
|
|
|
|
|
<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>
|
|
|
|
|
2013-08-08 16:08:29 +00:00
|
|
|
<!-- Java parser : in progress, not working yet -->
|
|
|
|
<parser id="java" displayName="Java" commentExpr="((/\*.*?\*)/|(//.*?$))">
|
2013-01-06 01:50:12 +00:00
|
|
|
<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
|
2013-05-30 21:22:45 +00:00
|
|
|
mainExpr="^[\t ]*((static|const|virtual)[\s]+)?([\w]+([\s]+|\*[\s]+|[\s]+\*|[\s]+\*[\s]+))?([\w_]+[\s]*::)?(?!(if|while|for|switch))[\w_~]+[\s]*\([\n\w_,*&\s]*\)([\s]*const[\s]*)?[\n\s]*\{">
|
2013-01-06 01:50:12 +00:00
|
|
|
<functionName>
|
2013-05-30 21:22:45 +00:00
|
|
|
<funcNameExpr expr="(?!(if|while|for|switch))[\w_~]+[\s]*\("/>
|
|
|
|
<funcNameExpr expr="(?!(if|while|for|switch))[\w_~]+"/>
|
2013-01-06 01:50:12 +00:00
|
|
|
</functionName>
|
|
|
|
</function>
|
|
|
|
</classRange>
|
|
|
|
</parser>
|
2013-09-08 22:02:26 +00:00
|
|
|
|
2013-06-12 23:36:34 +00:00
|
|
|
<parser id="c_function" displayName="C source" commentExpr="((/\*.*?\*)/|(//.*?$))">
|
2013-01-06 01:50:12 +00:00
|
|
|
<function
|
2013-08-08 16:08:29 +00:00
|
|
|
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">
|
2013-02-22 23:17:28 +00:00
|
|
|
<functionName>
|
2013-06-12 23:36:34 +00:00
|
|
|
<nameExpr expr="(?!(if|while|for))[\w_~]+[\s]*\("/>
|
|
|
|
<nameExpr expr="(?!(if|while|for))[\w_~]+"/>
|
2013-02-22 23:17:28 +00:00
|
|
|
</functionName>
|
|
|
|
</function>
|
|
|
|
</parser>
|
|
|
|
|
|
|
|
|
2013-07-07 18:27:03 +00:00
|
|
|
<parser id="js_function" displayName="Javascript" commentExpr="((/\*.*?\*)/|(//.*?$))">
|
2013-03-20 22:50:48 +00:00
|
|
|
<function
|
2013-07-07 18:27:03 +00:00
|
|
|
mainExpr="((^|[\s]+|[;\}\.])([_A-Za-z][\w_]*\.)*[_A-Za-z][\w_]*[\s]*=|^|[\s;\}]+)[\s]*function([\s]+[_A-Za-z]?[\w_]*\([^\)\(]*\)|\([^\)\(]*\))[\n\s]*\{"
|
2013-03-20 22:50:48 +00:00
|
|
|
displayMode="$className->$functionName">
|
|
|
|
<functionName>
|
2013-07-07 18:27:03 +00:00
|
|
|
<nameExpr expr="[_A-Za-z][\w_]*[\s]*=|[_A-Za-z]?[\w_]*[\s]*\("/>
|
|
|
|
<nameExpr expr="[_A-Za-z]?[\w_]*"/>
|
2013-03-20 22:50:48 +00:00
|
|
|
</functionName>
|
|
|
|
<className>
|
2013-07-07 18:27:03 +00:00
|
|
|
<nameExpr expr="([_A-Za-z][\w_]*\.)*[_A-Za-z][\w_]*\."/>
|
|
|
|
<nameExpr expr="([_A-Za-z][\w_]*\.)*[_A-Za-z][\w_]*"/>
|
2013-03-20 22:50:48 +00:00
|
|
|
</className>
|
|
|
|
</function>
|
|
|
|
</parser>
|
|
|
|
|
|
|
|
|
2013-06-12 23:36:34 +00:00
|
|
|
<parser id="c_cpp_function" displayName="C++ Class" commentExpr="((/\*.*?\*)/|(//.*?$))">
|
2013-03-20 22:50:48 +00:00
|
|
|
<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
|
2013-08-08 16:08:29 +00:00
|
|
|
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]*\{">
|
2013-03-20 22:50:48 +00:00
|
|
|
<functionName>
|
2013-05-30 21:22:45 +00:00
|
|
|
<funcNameExpr expr="(?!(if|while|for|switch))[\w_~]+[\s]*\("/>
|
|
|
|
<funcNameExpr expr="(?!(if|while|for|switch))[\w_~]+"/>
|
2013-03-20 22:50:48 +00:00
|
|
|
</functionName>
|
|
|
|
</function>
|
|
|
|
</classRange>
|
|
|
|
<function
|
2013-08-08 16:08:29 +00:00
|
|
|
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]*\{"
|
2013-03-20 22:50:48 +00:00
|
|
|
displayMode="$className->$functionName">
|
|
|
|
<functionName>
|
2013-06-12 23:36:34 +00:00
|
|
|
<nameExpr expr="(?!(if|while|for))[\w_]+[\s]*\("/>
|
|
|
|
<nameExpr expr="(?!(if|while|for))[\w_]+"/>
|
2013-03-20 22:50:48 +00:00
|
|
|
</functionName>
|
|
|
|
<className>
|
|
|
|
<nameExpr expr="[\w_]+(?=[\s]*::)"/>
|
|
|
|
</className>
|
|
|
|
</function>
|
|
|
|
</parser>
|
|
|
|
|
2013-09-08 22:02:26 +00:00
|
|
|
<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="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>
|
|
|
|
|
2013-09-29 08:27:23 +00:00
|
|
|
<parser id="php_function" displayName="PHP" commentExpr="((/\*.*?\*)/|(//.*?$))">
|
|
|
|
<classRange
|
|
|
|
mainExpr="^[\t ]*(class|struct|abstract[\t ]+class)[\t ]+[\w]+([\s]*|[\s\t]*(extends|implement)[\t ]+[\w]+[\s]*)?\{"
|
|
|
|
openSymbole = "\{"
|
|
|
|
closeSymbole = "\}"
|
|
|
|
displayMode="node">
|
|
|
|
<className>
|
|
|
|
<nameExpr expr="(class|struct|abstract[\t ]+class)[\t ]+[\w]+"/>
|
|
|
|
<nameExpr expr="[\t ]+[\w]+\Z"/>
|
|
|
|
<nameExpr expr="[\w]+\Z"/>
|
|
|
|
</className>
|
|
|
|
<function
|
|
|
|
mainExpr="^[\t ]*((static|public|protected|abstract|private|private[\s]+static|public[\s]+static|protected[\s]+static)[\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="^[\t ]*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>
|
2013-09-08 22:02:26 +00:00
|
|
|
|
2013-01-06 01:50:12 +00:00
|
|
|
</parsers>
|
|
|
|
</functionList>
|
|
|
|
</NotepadPlus>
|