notepad-plus-plus-legacy/PowerEditor/installer/functionList/php.xml

52 lines
2.0 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<!-- ==========================================================================\
|
| To learn how to make your own language parser, please check the following
| link:
| https://npp-user-manual.org/docs/function-list/
|
\=========================================================================== -->
<NotepadPlus>
<functionList>
<!-- ========================================================= [ 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|interface|trait)[\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|interface|trait)\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+\s*\("
>
<functionName>
<nameExpr expr="(?!(if|while|for))\w+\s*\(" />
<nameExpr expr="(?!(if|while|for))\w+" />
</functionName>
<className>
<nameExpr expr="\w+(?=\s*::)" />
</className>
</function>
</parser>
</functionList>
</NotepadPlus>