Created
October 5, 2017 07:54
-
-
Save pravynandas/337aff400565e9b079e980090e0345a8 to your computer and use it in GitHub Desktop.
Notepad++ Function list for VB (.NET) files
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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="6" id="java"/> | |
<association langID="9" id="xml_node"/> | |
<association langID="12" id="batch_label"/> | |
<association langID="13" id="ini_section"/> | |
<association langID="18" id="vb_function" /> | |
<association langID="19" id="js_function"/> | |
<association langID="21" id="perl_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"/> | |
--> | |
</associationMap> | |
<parsers> | |
<parser | |
id="vb_function" | |
displayName="Visual Basic (.NET|Script|for Applications)" | |
commentExpr="(?m:((?<=').*?$)|((?i:REM)([\t ].*?)?$))"> | |
<classRange | |
mainExpr="(?s:(?<SCOPE>(?i:CLASS|TYPE)).*?(?i:END[\t ]\k<SCOPE>))" | |
displayMode="node" > | |
<className> | |
<nameExpr expr="(?i:CLASS|TYPE)[\t ]+(?:[A-Za-z_][\w]*\b)(?:.*?[\r\n])" /> | |
<nameExpr expr="[\t ]+(?:[A-Za-z_][\w]*\b)" /> | |
<nameExpr expr="[A-Za-z_][\w]*" /> | |
</className> | |
<function | |
mainExpr="(?m:^[\t ]*(?i:(?:(?:PUBLIC|PRIVATE|PROTECTED|FRIEND|PROTECTED FRIEND)[\t ]+)?(?:(?:STATIC|SHARED|SHADOWS|OVERRIDABLE|OVERRIDES|READONLY|WRITEONLY)[\t ]+)?(?:SUB|FUNCTION|PROPERTY)).*?(?:\(|$))" > | |
<functionName> | |
<funcNameExpr expr="(?i:(?:(?:PUBLIC|PRIVATE|PROTECTED|FRIEND|PROTECTED FRIEND)[\t ]+)?(?:STATIC[\t ]+)?(?:SUB|FUNCTION|PROPERTY)).*?(?:\(|$)"/> | |
<funcNameExpr expr="(?i:(?:SUB|FUNCTION|PROPERTY)).*?(?:\(|$)"/> | |
<funcNameExpr expr="(?i:(?:GET|LET|SET)[\t ]+)?[A-Za-z_][\w]*(?=[\t ]*\()"/> | |
</functionName> | |
</function> | |
</classRange> | |
<function | |
mainExpr="^[\t ]*(?i:(?:(?:PUBLIC|PRIVATE|PROTECTED|FRIEND|PROTECTED FRIEND)[\t ]+)?(?:(?:STATIC|(?:DECLARE(?:[\t ]+(ANSI|UNICODE|AUTO))?))[\t ]+)?(?:SUB|FUNCTION|PROPERTY)).*?(?:\(|$)" | |
displayMode="$functionName"> | |
<functionName> | |
<nameExpr expr="(?i:(?:(?:PUBLIC|PRIVATE|PROTECTED|FRIEND|PROTECTED FRIEND)[\t ]+)?(?:(?:STATIC|(?:DECLARE(?:[\t ]+(?:ANSI|UNICODE|AUTO))?))[\t ]+)?(?:SUB|FUNCTION|PROPERTY)).*?(?:\(|$)"/> | |
<nameExpr expr="(?i:(?:SUB|FUNCTION|PROPERTY)).*?(?:\(|$)"/> | |
<!-- nameExpr expr="(?i:(?:GET|LET|SET)[\t ]+)?[A-Za-z_][\w]*(?i:[\t ]+(LIB|ALIAS)[\t ]+[\w"\.]+)*(?=[\t ]*\()"/ --> | |
<nameExpr expr="(?i:(?:SUB|FUNCTION|PROPERTY)).*?(?:\(|$)"/> | |
<!--nameExpr expr="[A-Za-z_][\w]*(?=[\t ]*\()"/--> | |
</functionName> | |
</function> | |
</parser> | |
<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="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="^[\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> | |
</parsers> | |
</functionList> | |
</NotepadPlus> |
Thanks. Please Use Notepad++'s Language > User Defined Language > Open User Defined Language folder... menu entry to easily find the right userDefineLangs\ folder to place your UDL definition file. (You can copy the path from the file Explorer location bar, for pasting into the Save As dialog in step 2)
Reference: https://github.com/notepad-plus-plus/userDefinedLanguages
@pravynandas Hi, the "Language > User Defined Language > Open User Defined Language folder..." menu item opens nothing.
Where is this folder located ?
@sebma
in my case this folder is opening in
%AppData%\Roaming\Notepad++\userDefineLangs
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@pravynandas Hi, thanks for sharing this file. Is it compatible with N++ v8.4.7 ? Must this file be downloaded to
%appdata%\Notepad++\functionList\
to make it work ?