notepad++ support clojure by lisp,  
clojure api & autocompletefile & readme of notepad++
https://drive.google.com/file/d/0By5ssgBX1IWaWDMydXdMdHI0Z2s/view?usp=sharing

在 2015年9月1日星期二 UTC+8下午10:30:38,Alex Woods写道:
>
>
> <https://lh3.googleusercontent.com/-Nwt-5UH6Fa4/VeW0WraCyQI/AAAAAAAAACg/J3zRcS_zzT4/s1600/npp_fl.jpg>my
>  
> set is error:
>
>
>
>
>
>
>
>
>
>
> ;notepad++\functionList.xml
>
> <?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"/>
>                         <association langID="30" id="lisp_function"/>
> <!--
> 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="xml_node" displayName="XML Node" 
> commentExpr="&lt;!--([^-]|-(?!-&gt;))*--&gt;">
> <!-- Only match nodes with at least one attribute -->
> <function
>    mainExpr="&lt;[\w\?]+[\t ]+\w+[\t ]*=[\t ]*&quot;[^&quot;]+&quot;"
> displayMode="$functionName">
> <functionName>
> <nameExpr expr="[^&lt;]*"/>
> </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 ]*[\[&quot;][\w_.; \(\)-]+[\]&quot;]"
> displayMode="$functionName">
> <functionName>
> <nameExpr expr="[^\[\]&quot;]*"/>
> </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+(&lt;\s*\w+(,\s*\w+)*\s*&gt;)?(\s+extends\s+\w+)?(\s+implements\s+\w+(,\s*\w+)*)?\s*\{"
>  
> openSymbole="\{" closeSymbole="\}">
> <className>
> <nameExpr 
> expr="(class|enum|interface|@interface)\s+\w+(&lt;\s*\w+(,\s*\w+)*\s*&gt;)?"></nameExpr>
> <nameExpr expr="\s+\w+(&lt;\s*\w+(,\s*\w+)*\s*&gt;)?"></nameExpr>
> <nameExpr expr="\w+(&lt;\s*\w+(,\s*\w+)*\s*&gt;)?"></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*])*(&lt;\s*\w+(,\s*\w+)*\s*&gt;)?\s*\([^\)\(]*\)(\s+throws\s+\w+)?\s*\{">
> <functionName>
> <funcNameExpr 
> expr="(?!(if|while|for|switch|catch|synchronized)\b)\w+(\[\s*])*(&lt;\s*\w+(,\s*\w+)*\s*&gt;)?\s*\("></funcNameExpr>
> <funcNameExpr 
> expr="(?!(if|while|for|switch|catch|synchronized)\b)\w+(\[\s*])*(&lt;\s*\w+(,\s*\w+)*\s*&gt;)?"></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]+|(\*|\*\*|&amp;)[\s]+|[\s]+(\*|\*\*|&amp;)|[\s]+(\*|\*\*|&amp;)[\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]+|(\*|\*\*|&amp;)[\s]+|[\s]+(\*|\*\*|&amp;)|[\s]+(\*|\*\*|&amp;)[\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]*(?&lt;!#)[\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="(?&lt;=^class ).*?(?=\n\S|\Z)">
> <className>
> <nameExpr expr="\w+(?=[\(|:])"/>
> </className>
> <function mainExpr="(?&lt;=def ).+?(?=:)">
> <functionName>
> <funcNameExpr expr=".*"/>
> </functionName>
> </function>
> </classRange>
> <function mainExpr="(?&lt;=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]*(?&lt;modifier1&gt;(?:public|protected|internal|private)\s*)?(?&lt;modifier2&gt;(?:new|static|virtual|sealed|override|abstract|extern)\s*)?(partial\s*)?(?&lt;type&gt;(?!(return|if|else))\w+(?&lt;genericType&gt;&lt;[\w,\s&lt;&gt;]+&gt;)?\s+)(?&lt;name&gt;\w+(?&lt;genericNameType&gt;&lt;[\w,\s&lt;&gt;]+&gt;)?\s?)\((?&lt;params&gt;[\w\s,&lt;&gt;\[\]\:=\.]*)\)(?&lt;ctorChain&gt;\s*\:\s*(?:base|this)\s*\((?&lt;ctorParams&gt;[\w\s,&lt;&gt;\[\]\:=\.]*)\))?[\w\s&lt;&gt;\:,\(\)\[\]]*(?:\{|;)">
> <functionName>
> <funcNameExpr expr="(\w+(&lt;[\w,\s&lt;&gt;]+&gt;)?\s?)\("/>
> <funcNameExpr expr="(\w+(&lt;[\w,\s&lt;&gt;]+&gt;)?\s?)"/>
> </functionName>
> </function>
> </classRange>
> <function mainExpr="">
> </function>
> </parser>
>
> <parser id="lisp_function" displayName="Lisp" 
> commentExpr="(;.*?$)|((;.)?$)">
> <function
>   
>  
> mainExpr="\(\s*((definline|(def[a-z\-]*)|defmatch|defmethod|defmulti|defn|defn-|defonce|defstruct)\-?)\s"
> displayMode="$functionName">
> <functionName>
> <funcNameExpr 
> expr="\(\s*((definline|(def[a-z\-]*)|defmatch|defmethod|defmulti|defn|defn-|defonce|defstruct)\-?)\s([A-Za-z0-9-]+)"/>
> </functionName>
> </function>
> </parser>
>
> </parsers>
> </functionList>
> </NotepadPlus>
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to