I had always thought that the function parameters hint functionality must only work for functions, since that's the only time I was able to activate them (after typing the function name and the open parenthesis), but now I went in and looked at jNizM's xml file, and I see it has all the parameter definitions for commands as well. Is there a way to activate the parameter hints for commands? If so, I never knew you could, and now that I see the info is there, I can't figure out how to make them appear.jNizM wrote:[Auto-Completion]
1. Download AutoHotkey.xml as raw (Right-click and choosing save as target...)
2. Save it to the right location (C:\Program Files (x86)\Notepad++\plugins\APIs\)
3. Start Notepad++ and click on Menu Settings --> Preferences
4. Click on Auto-Completion and activate Enable auto-completion on each input
5. (recommendation: From 2th character, Function completion, Function parameters hint on input)
- Autocomplete ( Download | Preview )
Setup Notepad++ for AutoHotkey
Re: Setup Notepad++ for AutoHotkey
-
- Posts: 38
- Joined: 25 Apr 2016, 18:00
Re: Setup Notepad++ for AutoHotkey
Im insert new code from last example this thread.boiler wrote:Did you edit the file functionList.xml as was described in the other thread? Perhaps you didnn't add the new information in the correct location in that file. Can you post the contents of your function list.xml file? Please put it betweenKusochekDobra wrote:Hello everyone!
I use "notepad++ v7.2.2" and do not understand, how to install plugin FunctionList. Zip with all content "notepad++" now a have this plugin and him "functionlist.xml" do not have a rule for AHK, described in "FunctionListRule.xml" in the plugin located in "sourceforge.net". Rule in this thread - is not working properly showing everything, including variable after a name which is a sign ":".
Help me in this question please. And sorry for my bad english.tags.Code: Select all
Code: Select all
<?xml version="1.0" encoding="UTF-8" ?>
<!-- ==========================================================================\
|
| To learn how to make your own language parser, please check the following
| link:
| http://notepad-plus-plus.org/features/function-list.html
|
\=========================================================================== -->
<NotepadPlus>
<functionList>
<associationMap>
<!--
langID:
Don't use L_JS (19) use L_JAVASCRIPT (58) instead!
Don't use L_USER and L_EXTERNAL, use extension or UDL name association instead!
L_ADA = 42 | L_DIFF = 33 | L_LISP = 30 | L_SCHEME = 31
L_ASCII = 14 | L_EXTERNAL = 60 | L_LUA = 23 | L_SEARCHRESULT = 47
L_ASM = 32 | L_FLASH = 27 | L_MAKEFILE = 10 | L_SMALLTALK = 37
L_ASP = 16 | L_FORTRAN = 25 | L_MATLAB = 44 | L_SQL = 17
L_AU3 = 40 | L_FORTRAN_77 = 59 | L_NSIS = 28 | L_TCL = 29
L_BASH = 26 | L_GUI4CLI = 51 | L_OBJC = 5 | L_TEX = 24
L_BATCH = 12 | L_HASKELL = 45 | L_PASCAL = 11 | L_TEXT = 0
L_C = 2 | L_HTML = 8 | L_PERL = 21 | L_USER = 15
L_CAML = 41 | L_INI = 13 | L_PHP = 1 | L_VB = 18
L_CMAKE = 48 | L_INNO = 46 | L_POWERSHELL = 53 | L_VERILOG = 43
L_COBOL = 50 | L_JAVA = 6 | L_PROPS = 34 | L_VHDL = 38
L_COFFEESCRIPT = 56 | L_JAVASCRIPT = 58 | L_PS = 35 | L_XML = 9
L_CPP = 3 | L_JS = 19 | L_PYTHON = 22 | L_YAML = 49
L_CS = 4 | L_JSON = 57 | L_R = 54 |
L_CSS = 20 | L_JSP = 55 | L_RC = 7 |
L_D = 52 | L_KIX = 39 | L_RUBY = 36 |
0 = L_TEXT | 16 = L_ASP | 32 = L_ASM | 48 = L_CMAKE
1 = L_PHP | 17 = L_SQL | 33 = L_DIFF | 49 = L_YAML
2 = L_C | 18 = L_VB | 34 = L_PROPS | 50 = L_COBOL
3 = L_CPP | 19 = L_JS | 35 = L_PS | 51 = L_GUI4CLI
4 = L_CS | 20 = L_CSS | 36 = L_RUBY | 52 = L_D
5 = L_OBJC | 21 = L_PERL | 37 = L_SMALLTALK | 53 = L_POWERSHELL
6 = L_JAVA | 22 = L_PYTHON | 38 = L_VHDL | 54 = L_R
7 = L_RC | 23 = L_LUA | 39 = L_KIX | 55 = L_JSP
8 = L_HTML | 24 = L_TEX | 40 = L_AU3 | 56 = L_COFFEESCRIPT
9 = L_XML | 25 = L_FORTRAN | 41 = L_CAML | 57 = L_JSON
10 = L_MAKEFILE | 26 = L_BASH | 42 = L_ADA | 58 = L_JAVASCRIPT
11 = L_PASCAL | 27 = L_FLASH | 43 = L_VERILOG | 59 = L_FORTRAN_77
12 = L_BATCH | 28 = L_NSIS | 44 = L_MATLAB | 60 = L_EXTERNAL
13 = L_INI | 29 = L_TCL | 45 = L_HASKELL |
14 = L_ASCII | 30 = L_LISP | 46 = L_INNO |
15 = L_USER | 31 = L_SCHEME | 47 = L_SEARCHRESULT |
if langID cannot be found above, you can set the file extensions ...
<association id="my_parser_id" ext=".my_parser_ext1" />
<association id="my_parser_id" ext=".my_parser_ext2" />
and for User Defined Languages (UDL's) use ...
<association id="my_parser_id" userDefinedLangName="My UDL Name" />
Note(s):
Not required, just a guide.
Suffix Indicates
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_class parser has a class part only
_function parser has a function part only
_syntax parser has both a class and function part
-->
<!-- ======================================================================== -->
<!-- ___ parserID -->
<!-- V -->
<association id= "php_syntax" langID= "1" />
<association id= "c_function" langID= "2" />
<association id= "cplusplus_syntax" langID= "3" />
<association id= "csharp_class" langID= "4" />
<association id= "java_syntax" langID= "6" />
<association id= "xml_node" langID= "9" />
<!-- <association id="functionlist_syntax" langID= "9" /> -->
<association id= "batch_label" langID="12" />
<association id= "ini_section" langID="13" />
<association id= "perl_function" langID="21" />
<association id= "python_syntax" langID="22" />
<association id= "bash_function" langID="26" />
<association id= "nsis_syntax" langID="28" />
<association id= "assembly_subroutine" langID="32" />
<association id= "ruby_syntax" langID="36" />
<association id= "autoit3_function" langID="40" />
<association id= "innosetup_syntax" langID="46" />
<association id= "powershell_function" langID="53" />
<association id= "javascript_function" langID="58" />
<!-- ======================================================================== -->
<association id= "krl_function" userDefinedLangName="KRL" />
<association id= "krl_function" ext=".src" />
<association id= "krl_function" ext=".sub" />
<!-- ======================================================================== -->
<association id= "sinumerik_function" userDefinedLangName="Sinumerik" />
<association id= "sinumerik_function" ext=".arc" />
<!-- ======================================================================== -->
<association id= "universe_basic" userDefinedLangName="UniVerse BASIC" />
<association id= "universe_basic" ext=".bas" />
<!-- ======================================================================== -->
<association ext=".ahk" id="ahk_function"/>
<association userDefinedLangName="AutoHotkey" id="ahk_function"/>
</associationMap>
<parsers>
<parser id="ahk_function" displayName="AHK" commentExpr="(\/\*[\s+\w+\n]{1,}\*\/)|(^;[\s+\w+]{1,})">
<!-- AutoHotKey Function List -->
<classRange
mainExpr="^[\t ]*(class|struct)[\t ]+[\w]+([\t ]+|[\t ]+(extends)[\s]+(\,[\t ]*|(\\|[\w][\w]*))+[\s]*)?[\r\n\t\s]*\{"
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\r\n\t]*\{|:(?![^\r\n\t\s]):?)">
<functionName>
<funcNameExpr expr="([a-zA-Z0-9#!^+&<>*~$_:])+\d*(\([\w+:=\d\s,"#]*\)|::?)"/>
</functionName>
</function>
</classRange>
<function
mainExpr="^[\t ]*(?!(if|while|for))([a-zA-Z0-9#!^+&<>*~$_:])+\d*(\([\w+:=\d\s,"#]*\)[\s\r\n\t]*\{|:(?![^\r\n\t\s]):?)"
displayMode="$className->$functionName">
<functionName>
<nameExpr expr="([a-zA-Z0-9#!^+&<>*~$_:])+\d*(\([\w+:=\d\s,"#]*\)|::?)"/>
</functionName>
</function>
</parser>
<!-- ========================================================= [ 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)[\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)\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+\("
>
<functionName>
<nameExpr expr="(?!(if|while|for))\w+\s*\(" />
<nameExpr expr="(?!(if|while|for))\w+" />
</functionName>
<className>
<nameExpr expr="\w+(?=\s*::)" />
</className>
</function>
</parser>
<!-- =========================================================== [ C ] -->
<parser
displayName="C"
id ="c_function"
commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?s:\x2F\x2A.*?\x2A\x2F) # Multi Line Comment
| (?m-s:\x2F{2}.*$) # Single Line Comment
| (?s:\x22(?:[^\x22\x5C]|\x5C.)*\x22) # String Literal - Double Quoted
| (?s:\x27(?:[^\x27\x5C]|\x5C.)*\x27) # String Literal - Single Quoted
"
>
<function
mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?: # Declaration specifiers
\b
(?:
(?-i:auto|register|static|extern|typedef) # Storage class specifier
| (?: # Type specifier
(?-i:void|char|short|int|long|float|double|(?:un)?signed)
| (?-i:struct|union|enum)
\s+
(?&VALID_ID) # Struct, Union or Enum Specifier (simplified)
| (?&VALID_ID) # Type-definition name
)
| (?'TYPE_QUALIFIER'(?-i:const|volatile))
)
\b
\s*
)*
(?'DECLARATOR'
(?'POINTER'
\*
\s*
(?:
\b(?&TYPE_QUALIFIER)\b
\s*
)*
(?:(?&POINTER))? # Boost::Regex 1.58-1.59 do not correctly handle quantifiers on subroutine calls
)?
(?: # 'DIRECT_DECLARATOR'
\s*
(?'VALID_ID' # valid identifier, use as subroutine
\b(?!(?-i:
auto
| break
| c(?:ase|har|on(?:st|ntinue))
| d(?:efault|o(?:uble)?)
| e(?:lse|num|xtern)
| f(?:loat|or)
| goto
| i(?:f|n(?:t|line))
| long
| while
| re(?:gister|strict|turn)
| s(?:hort|i(?:gned|zeof)|t(?:atic|ruct)|witch)
| typedef
| un(?:ion|signed)
| vo(?:id|latile)
| _(?:
A(?:lignas|lignof|tomic)
| Bool
| Complex
| Generic
| Imaginary
| Noreturn
| Static_assert
| Thread_local
)
)\b) # keywords, not to be used as identifier
[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]* # valid character combination for identifiers
)
| \s*\(
(?&DECLARATOR)
\)
| \s*(?&VALID_ID)
\s*\[
[^[\];{]*?
\]
| \s*(?&VALID_ID)
\s*\(
[^();{]*?
\)
)
\s*
)
(?=\{) # start of function body
"
>
<functionName>
<nameExpr expr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]*
\s*\( # start of parameters
(?s:.*?) # whatever, until...
\) # end of parameters
" />
<!-- comment out the following node to display the method with its parameters -->
<!-- <nameExpr expr="[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]*" /> -->
</functionName>
</function>
</parser>
<!-- ========================================================= [ C++ ] -->
<parser
displayName="C++"
id ="cplusplus_syntax"
commentExpr="(?s:/\*.*?\*/)|(?m-s://.*?$)"
>
<classRange
mainExpr ="^[\t\x20]*(class|struct)[\t\x20]+\w+\s*(final)?\s*(:\s*(public|protected|private)\s+\w+\s*)?\{"
openSymbole ="\{"
closeSymbole="\}"
>
<className>
<nameExpr expr="(class|struct)[\t\x20]+\w+" />
<nameExpr expr="[\t\x20]+\w+" />
<nameExpr expr="\w+" />
</className>
<function
mainExpr="^[\t\x20]*((static|const|virtual)\s+)?(\w+(\s+\w+)?(\s+|(\*|\*\*|&)\s+|\s+(\*|\*\*|&)|\s+(\*|\*\*|&)\s+))?(\w+\s*::)?(?!(if|while|for|switch))[\w~]+\s*\([^\)\(]*\)(\s*const\s*)?(\s*(final|override|final\s*override|override\s*final)\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\x20]*((static|const|virtual)\s+)?\w+(\s+\w+)?(\s+|(\*|\*\*|&)\s+|\s+(\*|\*\*|&)|\s+(\*|\*\*|&)\s+)(\w+\s*::)?(?!(if|while|for))\w+\s*\([^\)\(]*\)(\s*const\s*)?[\n\s]*\{"
>
<functionName>
<nameExpr expr="(?!(if|while|for))\w+\s*\(" />
<nameExpr expr="(?!(if|while|for))\w+" />
</functionName>
<className>
<nameExpr expr="\w+(?=\s*::)" />
</className>
</function>
</parser>
<!-- ========================================================== [ C# ] -->
<!--
| Based on:
| http://sourceforge.net/p/notepad-plus/patches/613/
\-->
<parser
displayName="C#"
id ="csharp_class"
commentExpr="(?s:/\*.*?\*/)|(?m-s://.*?$)"
>
<classRange
mainExpr ="^[\t\x20]*((public|protected|private|internal)\s+)?(\w+\s*)?(class|struct|interface)[\t\x20]+[^\{]+\{"
openSymbole ="\{"
closeSymbole="\}"
>
<className>
<nameExpr expr="(class|struct|interface)[\t\x20]+\w+" />
<nameExpr expr="[\t\x20]+\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>
</parser>
<!-- ======================================================== [ Java ] -->
<!--
| Based on:
| https://notepad-plus-plus.org/community/topic/12691/function-list-with-java-problems
\-->
<parser
displayName="Java"
id ="java_syntax"
>
<classRange
mainExpr ="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?m)^[\t\x20]* # leading whitespace
(?:
(?-i:
abstract
| final
| native
| p(?:rivate|rotected|ublic)
| s(?:tatic|trictfp|ynchronized)
| transient
| volatile
| @[A-Za-z_]\w* # qualified identifier
(?: # consecutive names...
\. # ...are dot separated
[A-Za-z_]\w*
)*
)
\s+
)*
(?-i:class|enum|@?interface)
\s+
(?'DECLARATOR'
(?'VALID_ID' # valid identifier, use as subroutine
\b(?!(?-i:
a(?:bstract|ssert)
| b(?:oolean|reak|yte)
| c(?:ase|atch|har|lass|on(?:st|tinue))
| d(?:efault|o(?:uble)?)
| e(?:lse|num|xtends)
| f(?:inal(?:ly)?|loat|or)
| goto
| i(?:f|mp(?:lements|ort)|nstanceof|nt(?:erface)?)
| long
| n(?:ative|ew)
| p(?:ackage|rivate|rotected|ublic)
| return
| s(?:hort|tatic|trictfp|uper|witch|ynchronized)
| th(?:is|rows?)|tr(?:ansient|y)
| vo(?:id|latile)
| while
)\b) # keywords, not to be used as identifier
[A-Za-z_]\w* # valid character combination for identifiers
)
(?:
\s*\x3C # start-of-template indicator...
(?'GENERIC' # ...match first generic, use as subroutine
\s*
(?:
(?&DECLARATOR) # use named generic
| \? # or unknown
)
(?: # optional type extension
\s+(?-i:extends|super)
\s+(?&DECLARATOR)
(?: # multiple bounds...
\s+\x26 # ...are ampersand separated
\s+(?&DECLARATOR)
)*
)?
(?: # match consecutive generics objects...
\s*, # ...are comma separated
(?&GENERIC)
)?
)
\s*\x3E # end-of-template indicator
)?
(?: # package and|or nested classes...
\. # ...are dot separated
(?&DECLARATOR)
)?
)
(?: # optional object extension
\s+(?-i:extends)
\s+(?&DECLARATOR)
(?: # consecutive objects...
\s*, # ...are comma separated
\s*(?&DECLARATOR)
)*
)?
(?: # optional object implementation
\s+(?-i:implements)
\s+(?&DECLARATOR)
(?: # consecutive objects...
\s*, # ...are comma separated
\s*(?&DECLARATOR)
)*
)?
\s*\{ # whatever, up till start-of-body indicator
"
openSymbole ="\{"
closeSymbole="\}"
>
<className>
<nameExpr expr="(?-i:class|enum|@?interface)\s+\K\w+(?:\s*\x3C.*?\x3E)?" />
</className>
<function
mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
^[\t\x20]* # leading whitespace
(?:
(?-i:
abstract
| final
| native
| p(?:rivate|rotected|ublic)
| s(?:tatic|trictfp|ynchronized)
| transient
| volatile
| @[A-Za-z_]\w* # qualified identifier
(?: # consecutive names...
\. # ...are dot separated
[A-Za-z_]\w*
)*
)
\s+
)*
(?:
\s*\x3C # start-of-template indicator
(?&GENERIC)
\s*\x3E # end-of-template indicator
)?
\s*
(?'DECLARATOR'
[A-Za-z_]\w* # (parent) type name
(?: # consecutive sibling type names...
\. # ...are dot separated
[A-Za-z_]\w*
)*
(?:
\s*\x3C # start-of-template indicator
(?'GENERIC' # match first generic, use as subroutine
\s*
(?:
(?&DECLARATOR) # use named generic
| \? # or unknown
)
(?: # optional type extension
\s+(?-i:extends|super)
\s+(?&DECLARATOR)
(?: # multiple bounds...
\s+\x26 # ...are ampersand separated
\s+(?&DECLARATOR)
)*
)?
(?: # consecutive generics objects...
\s*, # ...are comma separated
(?&GENERIC)
)?
)
\s*\x3E # end-of-template indicator
)?
(?: # package and|or nested classes...
\. # ...are dot separated
(?&DECLARATOR)
)?
(?: # optional compound type...
\s*\[ # ...start-of-compound indicator
\s*\] # ...end-of-compound indicator
)*
)
\s+
(?'VALID_ID' # valid identifier, use as subroutine
\b(?!(?-i:
a(?:bstract|ssert)
| b(?:oolean|reak|yte)
| c(?:ase|atch|har|lass|on(?:st|tinue))
| d(?:efault|o(?:uble)?)
| e(?:lse|num|xtends)
| f(?:inal(?:ly)?|loat|or)
| goto
| i(?:f|mp(?:lements|ort)|nstanceof|nt(?:erface)?)
| long
| n(?:ative|ew)
| p(?:ackage|rivate|rotected|ublic)
| return
| s(?:hort|tatic|trictfp|uper|witch|ynchronized)
| th(?:is|rows?)|tr(?:ansient|y)
| vo(?:id|latile)
| while
)\b) # keywords, not to be used as identifier
[A-Za-z_]\w* # valid character combination for identifiers
)
\s*\( # start-of-parameters indicator
(?'PARAMETER' # match first parameter, use as subroutine
\s*(?-i:final\s+)?
(?&DECLARATOR)
\s+(?&VALID_ID) # parameter name
(?: # consecutive parameters...
\s*, # ...are comma separated
(?&PARAMETER)
)?
)?
\) # end-of-parameters indicator
(?: # optional exceptions
\s*(?-i:throws)
\s+(?&VALID_ID) # first exception name
(?: # consecutive exception names...
\s*, # ...are comma separated
\s*(?&VALID_ID)
)*
)?
[^{;]*\{ # start-of-function-body indicator
"
>
<functionName>
<funcNameExpr expr="\w+(?=\s*\()" />
</functionName>
</function>
</classRange>
</parser>
<!-- ========================================================= [ XML ] -->
<!-- XML - eXtensible Markup Language -->
<parser
displayName="XML Node"
id ="xml_node"
commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?:\x3C!--(?:[^\-]|-(?!-\x3E))*--\x3E) # Multi Line Comment
"
>
<function
mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
\x3C # begin of node
(?:
(?-i:\?XML) # only name of root node is allowed to start with a question mark
| \w+(?::\w+)? # a node name can contain a colon e.g. `xs:schema`
)
(?: # match attributes
\s+ # at least one whitespace before attribute-name
\w+(?::\w+)? # an attribute name can contain a colon e.g. `xmlns:xs`
\h*=\h* # name-value separator can be surrounded by blanks
(?: # quoted attribute value, embedded escaped quotes allowed...
\x22(?:[^\x22\x5C]|\x5C.)*?\x22 # ...double quoted...
| \x27(?:[^\x27\x5C]|\x5C.)*?\x27 # ...single quoted
)
)+ # only match nodes with at least one attribute
"
>
<functionName>
<nameExpr expr="[^\x3C]*" />
</functionName>
</function>
</parser>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Show each FunctionList `association`-node as a leaf in an
| `assiociationMap` branch and each `parser`-node as a leaf in a
| `parsers` branch of the FunctionList tree
\-->
<parser
displayName="XML of Function List"
id ="functionlist_syntax"
commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?:\x3C!--(?:[^\-]|-(?!-\x3E))*--\x3E) # Multi Line Comment
"
>
<classRange
mainExpr ="(?xs) # can span multiple lines
\x3C(?'COMPOUND'associationMap|parsers)\x3E # begin of a `associationMap` or `parsers`-node
.*? # include anything between the node`s tags
\x3C/\k'COMPOUND'\x3E # end of the applicable node
"
>
<!--
| Use the node's name as label for the branch
\-->
<className>
<nameExpr expr="\x3C\w+\x3E" />
<nameExpr expr="\w+" />
</className>
<function
mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
\x3C(?:association|parser) # begin of a `association` or `parser`-node
(?: # match attributes
\s+\w+ # at least one whitespace before attribute-name
\h*=\h* # name-value separator can be surrounded by blanks
(?: # quoted attribute value, embedded escaped quotes allowed...
\x22(?:[^\x22\x5C]|\x5C.)*?\x22 # ...double quoted...
| \x27(?:[^\x27\x5C]|\x5C.)*?\x27 # ...single quoted
)
)+ # only match nodes with at least one attribute
\s*/?\x3E # end of the node or node-tag resp.
"
>
<!--
| For `association`-nodes use its `id`-attribute value as its leaf
| name and for `parser`-nodes use its `displayName`-attribute value.
| NOTE: to be able to use the node's `displayName`-attribute,
| make sure it's defined before the `id`-attribute.
\-->
<functionName>
<funcNameExpr expr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?:displayName|\bid)
\h*=\h*
(?:
\x22(?:[^\x22\x5C]|\x5C.)*?\x22
| \x27(?:[^\x27\x5C]|\x5C.)*?\x27
)
"
/>
<funcNameExpr expr="(?<=[\x22\x27])(?:[^\x22\x27\x5C]|\x5C.)*?(?=[\x22\x27])" />
</functionName>
</function>
</classRange>
<!--
| Fallback: show each `parser`-node as a leaf of the root in the FunctionList tree
\-->
<function
mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
\x3Cparser # begin of a `parser`-node
(?: # match attributes
\s+\w+ # at least one whitespace before attribute-name
\h*=\h* # name-value separator can be surrounded by blanks
(?: # quoted attribute value, embedded escaped quotes allowed..
\x22(?:[^\x22\x5C]|\x5C.)*?\x22 # ...double quoted...
| \x27(?:[^\x27\x5C]|\x5C.)*?\x27 # ...single quoted
)
)+ # only match nodes with at least one attribute
\s*/?\x3E # end of the `parser`-node-tag
"
>
<!--
| Use the `displayName`-attribute value as leaf name.
\-->
<functionName>
<nameExpr expr="displayName\h*=\h*(?:\x22(?:[^\x22\x5C]|\x5C.)*?\x22|\x27(?:[^\x27\x5C]|\x5C.)*?\x27)" />
<nameExpr expr="(?<=[\x22\x27])(?:[^\x22\x27\x5C]|\x5C.)*?(?=[\x22\x27])" />
</functionName>
</function>
</parser>
<!-- ================================ [ Batch / Command Shell Script ] -->
<parser
displayName="Batch / Command Shell Script"
id ="batch_label"
commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?m-s:(?i:REM)(?:\h.+)?$) # Single Line Comment 1
| (?m-s::{2}.*$) # Single Line Comment 2
"
>
<function
mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?m-s) # enforce strict line by line search
^ # label starts at the beginning of a line,...
\h* # ...can be preceded by blank characters and
: # ...starts with a colon
\K # keep the text matched so far, out of the overall match
\w # a label name has to start with a word character,...
[\w.\-]+ # ...the remainder of the name can contain dots and minus signs and
\b # ...ends at a word boundary i.e. discard any trailing characters
"
/>
</parser>
<!-- ========================================= [ Initialisation File ] -->
<!-- File format used for: .INF / .INI / .REG / .editorconfig -->
<parser
displayName="INI Section"
id ="ini_section"
commentExpr="(?x)
(?m-s:[;\#].*$) # Single Line Comment
"
>
<function
mainExpr="^\h*[\["][\w*.;\x20()\-]+["\]]"
>
<functionName>
<nameExpr expr="[^[\]"]*" />
</functionName>
</function>
</parser>
<!-- ======================================================== [ PERL ] -->
<!-- PERL - Practical Extraction and Reporting Language -->
<parser
displayName="PERL"
id ="perl_function"
commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?m-s:\x23.*$) # Single Line Comment
"
>
<function
mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
sub
\s+
[A-Za-z_]\w*
\s*
\(
[^()]*
\)
\s*\{ # start of class body
"
>
<functionName>
<nameExpr expr="(?:sub\s+)?\K[A-Za-z_]\w*" />
</functionName>
<className>
<nameExpr expr="[A-Za-z_]\w*(?=\s*:{2})" />
</className>
</function>
</parser>
<!-- ====================================================== [ Python ] -->
<parser
displayName="Python"
id ="python_syntax"
commentExpr="(?s:'''.*?''')|(?m-s:#.*?$)"
>
<classRange
mainExpr ="(?<=^class\x20).*?(?=\n\S|\Z)"
>
<className>
<nameExpr expr="\w+(?=[\(|:])" />
</className>
<function
mainExpr="(?<=def\x20).+?(?=:)"
>
<functionName>
<funcNameExpr expr=".*" />
</functionName>
</function>
</classRange>
<function
mainExpr="(?<=def\x20).+?(?=:)"
>
<functionName>
<nameExpr expr=".*" />
</functionName>
</function>
</parser>
<!-- ======================================================== [ Bash ] -->
<!-- BASH - Bourne-Again Shell -->
<parser
displayName="Bash"
id ="bash_function"
commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?-s:(?:^\x23[^!]|^\h*\x23|\h+\x23).*$) # Single Line Comment
| (?s:\x22(?:[^\x22\x5C]|\x5C.)*\x22) # String Literal - Double Quoted
| (?s:\x27[^\x27]*\x27) # String Literal - Single Quoted
| (?s: # Here Document (Type 1) and Here String
\x3C{2,3}\h*(?'HD1ID'[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]*\b)[^\r\n]*\R
(?s:.*?)
\R\k'HD1ID' # close with exactly the same identifier, in the first column
)
| (?s: # Here Document (Type 2)
\x3C{2}-\h*(?'HD2ID'[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]*\b)[^\r\n]*\R
(?s:.*?)
\R\h*\k'HD2ID' # close with exactly the same identifier
)
"
>
<function
mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?m)^\h* # optional leading whitespace
(?:
(?-i:function\s+)
(?'VALID_ID' # valid identifier, use as subroutine
\b(?!(?-i:
do(?:ne)?
| el(?:if|se)|esac
| f(?:i|or|unction)
| i[fn]
| select
| t(?:hen|ime)
| until
| while
)\b) # keywords, not to be used as identifier
[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]* # valid character combination for identifiers
)
(?:\s*\([^)]*?\))? # parentheses and parameters optional
|
(?&VALID_ID)
\s*\([^)]*?\) # parentheses required, parameters optional
)
[^{;]*?\{ # no semi-colon until start of body
"
>
<functionName>
<nameExpr expr="\b(?!function\b)\w+(?:\s*\([^)]*\))?" />
<!-- comment out the following node to display the function with its parameters -->
<nameExpr expr="\w+(?=\b)" />
</functionName>
</function>
</parser>
<!-- ======================================================== [ NSIS ] -->
<!-- NSIS - Nullsoft Scriptable Install System -->
<parser
displayName="NSIS"
id ="nsis_syntax"
>
<classRange
mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
\b(?-i:SectionGroup)\b # open indicator
(?s:.*?)
\b(?-i:SectionGroupEnd)\b # close indicator
"
>
<className>
<nameExpr expr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?m-s)
SectionGroup\h+(?-i:/e\h+)? # start indicator and its optional switch
\K # keep the text matched so far, out of the overall match
.+$ # whatever, till end-of-line
"
/>
<nameExpr expr="[^\r\n\x22]*" />
</className>
<function
mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?m)
^(?'INDENT'\h*) # optional leading whitespace at start-of-line
(?:
(?-i:!macro)
\h+ # required whitespace separator
\K # keep the text matched so far, out of the overall match
[^\r\n]*$ # whatever, until end-of-line
|
(?'TAG'(?-i:Function|PageEx|Section))
\h+ # required whitespace separator
(?-i:/o\h+)? # optional switch
\K # keep the text matched so far, out of the overall match
(?s:
.*? # whatever,
(?= # up till...
^\k'INDENT' # ...equal indent at start-of-line for...
\k'TAG'End\b # ...matching close indicator
)
)
|
\x24\x7B # start-of-open-element indicator
(?'ID'[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]*)
\x7D # end-of-open-element indicator
\h+ # required whitespace separator
(?-i:/o\h+)? # optional switch
\K # keep the text matched so far, out of the overall match
(?s:
.*? # whatever,
(?= # up till...
^\k'INDENT' # ...equal indent at start-of-line for...
\x24\x7B\k'ID'End\x7D # ...matching close indicator
)
)
)
"
>
<functionName>
<funcNameExpr expr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?m)
[^\r\n]+? # whatever,
(?= # up till...
\h* # ...optional whitespace and...
(?:
\x2F\x2A # ...start of multi line comment or...
| [\x23;] # ...start of single line comment or...
| $ # ...end-of-line
)
)
"
/>
</functionName>
</function>
</classRange>
<function
mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?m)
^(?'INDENT'\h*) # optional leading whitespace at start-of-line
(?:
(?-i:!macro)
\h+ # required whitespace separator
\K # keep the text matched so far, out of the overall match
[^\r\n]*$ # whatever, until end-of-line
|
(?'TAG'(?-i:Function|PageEx|Section))
\h+ # required whitespace separator
(?-i:/o\h+)? # optional switch
\K # keep the text matched so far, out of the overall match
(?s:
.*? # whatever,
(?= # up till...
^\k'INDENT' # ...equal indent at start-of-line for...
\k'TAG'End\b # ...matching close indicator
)
)
|
\x24\x7B # start-of-open-element indicator
(?'ID'[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]*)
\x7D # end-of-open-element indicator
\h+ # required whitespace separator
(?-i:/o\h+)? # optional switch
\K # keep the text matched so far, out of the overall match
(?s:
.*? # whatever,
(?= # up till...
^\k'INDENT' # ...equal indent at start-of-line for...
\x24\x7B\k'ID'End\x7D # ...matching close indicator
)
)
)
"
>
<functionName>
<nameExpr expr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?m)
[^\r\n]+? # whatever,
(?= # up till...
\h* # ...optional whitespace and...
(?:
\x2F\x2A # ...start of multi line comment or...
| [\x23;] # ...start of single line comment or...
| $ # ...end-of-line
)
)
"
/>
</functionName>
</function>
</parser>
<!-- ==================================================== [ Assembly ] -->
<parser
displayName="Assembly"
id ="assembly_subroutine"
commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?m-s:;.*$) # Single Line Comment
"
>
<function
mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?m)^\h* # optional leading whitespace
\K # keep the text matched so far, out of the overall match
[A-Za-z_$][\w$]* # valid character combination for labels
(?=:) # up till the colon
"
/>
</parser>
<!-- ======================================================== [ Ruby ] -->
<parser
displayName="Ruby"
id ="ruby_syntax"
>
<!-- within a class-->
<classRange
mainExpr ="(?<=^class\x20).*?(?=\n\S|\Z)"
>
<className>
<nameExpr expr="\w+" />
</className>
<function
mainExpr="^\s*def\s+\w+"
>
<functionName>
<funcNameExpr expr="(?<=def\s)\w+" />
</functionName>
</function>
</classRange>
<!-- without class-->
<function
mainExpr="^\s*def\s+\w+"
>
<functionName>
<nameExpr expr="(?<=def\s)\w+" />
</functionName>
</function>
</parser>
<!-- ===================================================== [ AutoIt3 ] -->
<!--
| Based on:
| https://sourceforge.net/p/notepad-plus/discussion/331753/thread/5d9bb881/#e86e
\-->
<parser
displayName="AutoIt3"
id ="autoit3_function"
commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?is:\x23cs.*?\x23ce) # Multi Line Comment
| (?m-s:^\h*;.*?$) # Single Line Comment
"
>
<function
mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?m)^\h* # optional leading whitespace
(?i:FUNC\s+) # start-of-function indicator
\K # keep the text matched so far, out of the overall match
[A-Za-z_]\w* # valid character combination for identifiers
\s*\([^()]*?\) # parentheses required, parameters optional
"
>
<!-- comment out the following node to display the function with its parameters -->
<functionName>
<nameExpr expr="[A-Za-z_]\w*" />
</functionName>
</function>
</parser>
<!-- ================================================== [ Inno Setup ] -->
<parser
displayName="Inno Setup"
id ="innosetup_syntax"
>
<classRange
mainExpr ="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?ms)
(?'SECTION_HEADER'
^ # header starts at beginning of a line
\[ # start of section header
(?-i:Code) # `Code` section name
] # end of section header
)
.*? # whatever, up till...
(?= # ...next valid section header or...
^ # +-- header starts at beginning of a line
\[ # +-- start-of-header indicator
(?-i:
Components|(?:Custom)?Messages
| Dirs
| Files
| I(?:cons|nstallDelete)
| Languages
| R(?:egistry|un)
| Setup
| T(?:asks|ypes)
| Uninstall(?:Delete|Run)
) # +-- valid section name
] # \-- end-of-header indicator
| \Z # ...end-of-file
)
"
>
<className>
<nameExpr expr="^\[\K[^\h\]]+(?=])" />
</className>
<function
mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?m-s)^\h* # optional leading whitespace
(?i:FUNCTION\h+)
(?'VALID_ID'
[A-Za-z_]\w*
)
\s*\( # start-of-parameter-list indicator
[^()]* # parameter list
\s*\) # end-of-parameter-list indicator
\s*: # type indicator
\s*[A-Za-z_]\w* # type identifier
\s*; # end-of-statement indicator
"
>
<functionName>
<funcNameExpr expr="(?i:FUNCTION\h+)\K[A-Za-z_]\w*\s*\([^()]*\)" />
<!-- comment out the following node to display the method with its parameters -->
<funcNameExpr expr="[A-Za-z_]\w*" />
</functionName>
</function>
</classRange>
<function
mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?ms)
(?'SECTION_HEADER'
^ # header starts at beginning of a line
\[ # start-of-header indicator
(?-i:
Components|(?:Custom)?Messages
| Dirs
| Files
| I(?:cons|nstallDelete)
| Languages
| R(?:egistry|un)
| Setup
| T(?:asks|ypes)
| Uninstall(?:Delete|Run)
) # valid section name
] # end-of-header indicator
)
.*? # whatever, up till...
(?=
(?&SECTION_HEADER) # ...next valid section header,...
| ^\[(?-i:Code)] # ...`Code` section header or...
| \Z # ...end-of-file
)
"
>
<functionName>
<nameExpr expr="^\[\K[^\]]+(?=])" />
</functionName>
</function>
</parser>
<!-- ================================================== [ PowerShell ] -->
<parser
displayName="PowerShell"
id ="powershell_function"
commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?s:\x3C\x23(?:[^\x23]|\x23[^\x3E])*\x23\x3E) # Multi Line Comment
| (?m-s:\x23.*$) # Single Line Comment
"
>
<function
mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
\b
(?:function|filter)
\s+
(?:
[A-Za-z_]\w*
:
)?
[A-Za-z_][\w\-]*
\s*
[({]
"
>
<functionName>
<nameExpr expr="[A-Za-z_][\w\-]*(?=\s*[({])" />
</functionName>
<className>
<nameExpr expr="[A-Za-z_]\w*(?=:)" />
</className>
</function>
</parser>
<!-- ================================================ [ J(ava)Script ] -->
<parser
displayName="JavaScript"
id ="javascript_function"
commentExpr="(?s:/\*.*?\*/)|(?m-s://.*?$)"
>
<function
mainExpr="((^|\s+|[;\}\.])([A-Za-z_]\w*\.)*[A-Za-z_]\w*\s*[=:]|^|[\s;\}]+)\s*function(\s+[A-Za-z_]?\w*\([^\)\(]*\)|\([^\)\(]*\))[\n\s]*\{"
>
<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>
<!-- ========================================================= [ KRL ] -->
<!-- KRL - KUKA Robot Language -->
<!--
| https://notepad-plus-plus.org/community/topic/12264/function-list-for-new-language
\-->
<parser
displayName="KRL"
id ="krl_function"
commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?m-s:;.*$) # Single Line Comment
"
>
<function
mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?i:
(?:GLOBAL\h+)?
DEF # start-of-procedure indicator, possible extended to...
(?:
FCT # ...start-of-function indicator
\h+
(?:BOOL|CHAR|INT|REAL|(?&VALID_ID)) # returning a primitive type or a user-defined-type...
(?: # ...optionally as an array
\h*\[
\h*(?:\d+|\x27(?:H[0-9A-Fa-f]+|B[01]+)\x27)?
\h*\]
)?
)?
)
\h+
\K # keep the text matched so far, out of the overall match
(?'VALID_ID' # valid identifier, use as subroutine
\b(?!(?i:
AN(?:D|IN|OUT)
| B(?:OOL|RAKE|_(?:AND|EXOR|NOT|OR))
| C(?:ASE|AST_(?:FROM|TO)|HAR|IRC(?:_REL)?|ON(?:ST|TINUE)|_(?:DIS|ORI|PTP|VEL))
| D(?:ECL|EF(?:AULT|DAT|FCT)|ELAY|O)
| E(?:LSE|ND(?:DAT|FCT|FOR|IF|LOOP|SWITCH|WHILE)?|NUM|X(?:IT|OR|T(?:FCT)?))
| F(?:ALSE|OR)
| G(?:LOBAL|OTO)
| HALT
| I(?:[FS]|MPORT|NT(?:ERRUPT)?)
| L(?:IN(?:_REL)?|OOP)
| M(?:AXI|INI)MUM
| NOT
| OR
| P(?:RIO|TP(?:_REL)?|UBLIC)
| RE(?:AL|PEAT|SUME|TURN)
| S(?:EC|IGNAL|TRUC|WITCH)
| T(?:HEN|O|RIGGER|RUE)
| UNTIL
| W(?:AIT|HEN|HILE)
)\b) # keywords, not to be used as identifier
[$A-Za-z_\x7F-\xFF][$\w\x7F-\xFF]{0,23} # valid character combination for identifiers
)
\h*\([^)]*\)
"
>
<!-- comment out the following node to display the method with its parameters -->
<functionName>
<nameExpr expr="[$A-Za-z_\x7F-\xFF][$\w\x7F-\xFF]{0,23}" />
</functionName>
</function>
</parser>
<!-- =================================================== [ Sinumerik ] -->
<!-- Sinumerik - Siemens Numeric Control -->
<!--
| https://notepad-plus-plus.org/community/topic/12520/function-list-for-simatic
| 20161113: Added `(?!\$PATH)` to get around restriction/bug of
| two characters required before comment.
\-->
<parser
displayName="Sinumerik"
id ="sinumerik_function"
commentExpr="(?m-s:;(?!\$PATH).*?$)"
>
<function
mainExpr="(?m)^%_N_\K[A-Za-z_]\w*"
/>
</parser>
<!-- ============================================== [ UniVerse BASIC ] -->
<!--
| Based on:
| https://notepad-plus-plus.org/community/topic/12742/functionlist-different-results-with-different-line-endings
\-->
<parser
displayName="UniVerse BASIC"
id ="universe_basic"
commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?m-s:
(?:^|;) # at start-of-line or after end-of-statement
\h* # optional leading whitespace
(?-i:REM\b|\x24\x2A|[\x21\x2A]) # Single Line Comment 1..4
.*$ # whatever, until end-of-line
)
| (?:\x22[^\x22\r\n]*\x22) # String Literal - Double Quoted
| (?:\x27[^\x27\r\n]*\x27) # String Literal - Single Quoted
| (?:\x5C[^\x5C\r\n]*\x5C) # String Literal - Backslash Quoted
"
>
<function
mainExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?m-i)^ # case-sensitive, NO leading whitespace
(?:
\d+\b(?=:?) # completely numeric label, colon optional + discarded
| [A-Za-z_][\w.$%]*(?=:) # alphanumeric label, colon required + discarded
)
"
/>
</parser>
<!-- ================================================================= -->
</parsers>
</functionList>
</NotepadPlus>
Re: Setup Notepad++ for AutoHotkey
Update:
- Renew the whole first post
- Tested up to Notepad++ v7.3.3 (64-Bit)
- Added in first post Hotstrings (by Helgef)
- Added FunctionList (by ahkDustVorteX / Nightwolf85)
pm me for spelling and grammar failure
- Renew the whole first post
- Tested up to Notepad++ v7.3.3 (64-Bit)
- Added in first post Hotstrings (by Helgef)
- Added FunctionList (by ahkDustVorteX / Nightwolf85)
pm me for spelling and grammar failure
[AHK] v2.0.5 | [WIN] 11 Pro (Version 22H2) | [GitHub] Profile
Re: Setup Notepad++ for AutoHotkey
Somehow my code folding has broken in NP++ with AHK. No matter what I change in the Folding in Code Style boxes the folding points do not show up. Anyone have any thoughts besides reinstalling NP++ freshly?
Code: Select all
<NotepadPlus>
<UserLang name="CCL" ext="prg ccl inc" udlVersion="2.1">
<Settings>
<Global caseIgnored="yes" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
<Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
</Settings>
<KeywordLists>
<Keywords name="Comments">03/* 04*/ 00; 01 02</Keywords>
<Keywords name="Numbers, prefix1"></Keywords>
<Keywords name="Numbers, prefix2"></Keywords>
<Keywords name="Numbers, extras1"></Keywords>
<Keywords name="Numbers, extras2"></Keywords>
<Keywords name="Numbers, suffix1"></Keywords>
<Keywords name="Numbers, suffix2"></Keywords>
<Keywords name="Numbers, range"></Keywords>
<Keywords name="Operators1">- ! " ( ) , : [ ] ` + < = ></Keywords>
<Keywords name="Operators2"></Keywords>
<Keywords name="Folders in code1, open">{</Keywords>
<Keywords name="Folders in code1, middle"></Keywords>
<Keywords name="Folders in code1, close">}</Keywords>
<Keywords name="Folders in code2, open">if for while</Keywords>
<Keywords name="Folders in code2, middle">else elseif</Keywords>
<Keywords name="Folders in code2, close">endif endfor endwhile</Keywords>
<Keywords name="Folders in comment, open"></Keywords>
<Keywords name="Folders in comment, middle"></Keywords>
<Keywords name="Folders in comment, close"></Keywords>
<Keywords name="Keywords1">drop create program go %i declare call set end execute if elseif else endif protect constant curqual of subroutine to noconstant record free range in is protect define macro endmacro</Keywords>
<Keywords name="Keywords2">datetimefind cnvtdatetime format build concat findfile error alterlist initrec cnvtdate esmError echo max min avg sum count uar_get_code_meaning mod substring size trim hour day isnumeric expand locateval cnvtstring fillstring btestfindstring logical uar_get_code_display uar_get_meaning_by_codeset UAR_GET_CODE_BY sqltype cnvtreal echorecord cnvtupper cnvtlower cnvtdatetimeutc abs datetimediff year julian btest decode evaluate findstring asis replace validate nullterm parser value uar_timer_create uar_CreatePropList uar_SetPropString uar_CloseHandle uar_Timer_Destroy uar_Timer_Stop build2 patstring</Keywords>
<Keywords name="Keywords3">select from where detail with plan and order by commit group head foot report nullreport into join rollback between like return or exists not rdbunion union all formfeed none noformfeed maxrow maxcol maxrec variable</Keywords>
<Keywords name="Keywords4">i2 i4 f8 dq8 vc c null curdate curtime3 curqual curnode curtime rdb i1 i4 q8 c4000 c50 c100</Keywords>
<Keywords name="Keywords5"></Keywords>
<Keywords name="Keywords6"></Keywords>
<Keywords name="Keywords7"></Keywords>
<Keywords name="Keywords8"></Keywords>
<Keywords name="Delimiters">00" 01 02" 03' 04 05' 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords>
</KeywordLists>
<Styles>
<WordsStyle name="DEFAULT" fgColor="FFFFFF" bgColor="FFFFFF" fontName="Consolas" fontStyle="0" nesting="0" />
<WordsStyle name="COMMENTS" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="2" nesting="0" />
<WordsStyle name="LINE COMMENTS" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="NUMBERS" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
<WordsStyle name="KEYWORDS1" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
<WordsStyle name="KEYWORDS2" fgColor="00FF40" bgColor="FFFFFF" fontName="@BatangChe" fontStyle="3" nesting="0" />
<WordsStyle name="KEYWORDS3" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="3" nesting="0" />
<WordsStyle name="KEYWORDS4" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
<WordsStyle name="KEYWORDS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="OPERATORS" fgColor="FFFF00" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="10" nesting="0" />
<WordsStyle name="FOLDER IN CODE1" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="4" nesting="0" />
<WordsStyle name="FOLDER IN CODE2" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="4" nesting="0" />
<WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS1" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS2" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
</Styles>
</UserLang>
<UserLang name="AHK" ext="ahk" udlVersion="2.1">
<Settings>
<Global caseIgnored="yes" allowFoldOfComments="yes" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
<Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
</Settings>
<KeywordLists>
<Keywords name="Comments">00; 01 02 03/* 04*/</Keywords>
<Keywords name="Numbers, prefix1"></Keywords>
<Keywords name="Numbers, prefix2">0x</Keywords>
<Keywords name="Numbers, extras1">A B C D E F a b c d e f</Keywords>
<Keywords name="Numbers, extras2"></Keywords>
<Keywords name="Numbers, suffix1">,</Keywords>
<Keywords name="Numbers, suffix2"></Keywords>
<Keywords name="Numbers, range"></Keywords>
<Keywords name="Operators1">- ! & ( ) , . ^ | ~ + < := > { } =</Keywords>
<Keywords name="Operators2">or and</Keywords>
<Keywords name="Folders in code1, open">{</Keywords>
<Keywords name="Folders in code1, middle"></Keywords>
<Keywords name="Folders in code1, close">}</Keywords>
<Keywords name="Folders in code2, open"></Keywords>
<Keywords name="Folders in code2, middle"></Keywords>
<Keywords name="Folders in code2, close"></Keywords>
<Keywords name="Folders in comment, open"></Keywords>
<Keywords name="Folders in comment, middle"></Keywords>
<Keywords name="Folders in comment, close"></Keywords>
<Keywords name="Keywords1">AutoTrim
BlockInput
Break
Click
ClipWait
ComObjActive
ComObjArray
ComObjConnect
ComObjCreate
ComObjEnwrap
ComObjError
ComObjFlags
ComObjGet
ComObjMissing
ComObjParameter
ComObjQuery
ComObjType
ComObjUnwrap
ComObjValue
Continue
Control
ControlClick
ControlFocus
ControlGet
ControlGetFocus
ControlGetPos
ControlGetText
ControlMove
ControlSend
ControlSendRaw
ControlSetText
CoordMode
Critical
DetectHiddenText
DetectHiddenWindows
DllCall
Drive
DriveGet
DriveSpaceFree
Else
EndRepeat
EnvAdd
EnvDiv
EnvGet
EnvMult
EnvSet
EnvSub
EnvUpdate
Exit
ExitApp
FileAppend
FileCopy
FileCopyDir
FileCreateDir
FileCreateShortcut
FileDelete
FileGetAttrib
FileGetShortcut
FileGetSize
FileGetTime
FileGetVersion
FileInstall
FileMove
FileMoveDir
FileRead
FileReadLine
FileRecycle
FileRecycleEmpty
FileRemoveDir
FileSelectFile
FileSelectFolder
FileSetAttrib
FileSetTime
FormatTime
GetKeyState
Gosub
Goto
GroupActivate
GroupAdd
GroupClose
GroupDeactivate
Gui
GuiControl
GuiControlGet
HideAutoItWin
Hotkey
If
IfEqual
IfExist
IfGreater
IfGreaterOrEqual
IfInString
IfLess
IfLessOrEqual
IfMsgBox
IfNotEqual
IfNotExist
IfNotInString
IfWinActive
IfWinExist
IfWinNotActive
IfWinNotExist
ImageSearch
IniDelete
IniRead
IniWrite
Input
InputBox
IsLabel
KeyHistory
KeyWait
ListHotkeys
ListLines
ListVars
LoadPicture
Loop
Menu
MouseClick
MouseClickDrag
MouseGetPos
MouseMove
MsgBox
NumGet
NumPut
OnExit
OnMessage
OutputDebug
Pause
PixelGetColor
PixelSearch
PostMessage
Process
Progress
Random
RegDelete
RegExMatch
RegExReplace
RegisterCallback
RegRead
RegWrite
Reload
Repeat
Return
Run
RunAs
RunWait
Send
SendMessage
SendEvent
SendInput
SendMode
SendPlay
SendRaw
SetBatchLines
SetCapsLockState
SetControlDelay
SetDefaultMouseSpeed
SetEnv
SetFormat
SetKeyDelay
SetMouseDelay
SetNumLockState
SetScrollLockState
SetStoreCapslockMode
SetTimer
SetTitleMatchMode
SetWinDelay
SetWorkingDir
Shutdown
Sleep
Sort
SoundBeep
SoundGet
SoundGetWaveVolume
SoundPlay
SoundSet
SoundSetWaveVolume
SplashImage
SplashTextOff
SplashTextOn
SplitPath
StatusBarGetText
StatusBarWait
StringCaseSense
StringGetPos
StringLeft
StringLen
StringLower
StringMid
StringReplace
StringRight
StringSplit
StringTrimLeft
StringTrimRight
StringUpper
StrReplace
StrSplit
SubStr
Suspend
SysGet
Thread
ToolTip
Transform
TrayTip
URLDownloadToFile
VarSetCapacity
While
WinActivate
WinActivateBottom
WinClose
WinGet
WinGetActiveStats
WinGetActiveTitle
WinGetClass
WinGetPos
WinGetText
WinGetTitle
WinHide
WinKill
WinMaximize
WinMenuSelectItem
WinMinimize
WinMinimizeAll
WinMinimizeAllUndo
WinMove
WinRestore
WinSet
WinSetTitle
WinShow
WinWait
WinWaitActive
WinWaitClose
WinWaitNotActive
</Keywords>
<Keywords name="Keywords2">add
font
show
new
</Keywords>
<Keywords name="Keywords3">%A_
A_
A_AhkPath
A_AhkVersion
A_AppData
A_AppDataCommon
A_AutoTrim
A_BatchLines
A_CaretX
A_CaretY
A_ComputerName
A_ControlDelay
A_Cursor
A_DD
A_DDD
A_DDDD
A_DefaultMouseSpeed
A_Desktop
A_DesktopCommon
A_DetectHiddenText
A_DetectHiddenWindows
A_EndChar
A_ExitReason
A_FormatFloat
A_FormatInteger
A_Gui
A_GuiControl
A_EventInfo
A_GuiX
A_GuiY
A_GuiEvent
A_GuiControlEvent
A_GuiHeight
A_GuiWidth
A_Hour
A_IconFile
A_IconHidden
A_IconNumber
A_IconTip
A_Index
A_IPAddress1
A_IPAddress2
A_IPAddress3
A_IPAddress4
A_Is64bitOS
A_ISAdmin
A_IsCompiled
A_IsPaused
A_IsCritical
A_IsSuspended
A_IsUnicode
A_KeyDelay
A_Language
A_LastError
A_LineNumber
A_LineFile
A_LoopField
A_LoopFileAttrib
A_LoopFileDir
A_LoopFileExt
A_LoopFileFullPath
A_LoopFileLongPath
A_LoopFileName
A_LoopFileShortName
A_LoopFileShortPath
A_LoopFileSize
A_LoopFileSizeKB
A_LoopFileSizeMB
A_LoopFileTimeAccessed
A_LoopFileTimeCreated
A_LoopFileTimeModified
A_LoopReadLine
A_LoopRegKey
A_LoopRegName
A_LoopRegSubkey
A_LoopRegTimeModified
A_LoopRegType
A_MDAY
A_Min
A_MM
A_MMM
A_MMMM
A_MON
A_MouseDelay
A_MyDocuments
A_Now
A_NowUTC
A_NumBatchLines
A_OSType
A_OSVersion
A_PriorHotkey
ProgramFiles
A_ProgramFiles
A_Programs
A_ProgramsCommon
A_PtrSize
A_ScreenHeight
A_ScreenWidth
A_ScriptDir
A_ScriptFullPath
A_ScriptName
A_Sec
A_Space
A_StartMenu
A_StartMenuCommon
A_Startup
A_StartupCommon
A_StringCaseSense
A_Tab
A_Temp
A_ThisHotkey
A_ThisFunc
A_ThisLabel
A_ThisMenu
A_ThisMenuItem
A_ThisMenuItemPos
A_TickCount
A_TimeIdle
A_TimeIdlePhysical
A_TimeSincePriorHotkey
A_TimeSinceThisHotkey
A_TitleMatchMode
A_TitleMatchModeSpeed
A_UserName
A_WDay
A_WinDelay
A_WinDir
A_WorkingDir
A_YDay
A_YEAR
A_YWeek
A_YYYY
Clipboard
ComSpec
ErrorLevel
True
False
Off
On
</Keywords>
<Keywords name="Keywords4">activeX
button
checkbox
combobox
custom
datetime
dropdownlist
edit
groupbox
hotkey
link
listbox
listview
monthcal
pic
picture
progress
radio
slider
statusbar
tab
tab2
tab3
text
treeview
updown</Keywords>
<Keywords name="Keywords5">lv_modifycol
lv_add
lv_insert
lv_modify
lv_delete
lv_insertcol
lv_deletecol
lv_getcount
lv_getnext
lv_gettext
il_create
lv_setimagelist
il_add
il_destroy</Keywords>
<Keywords name="Keywords6">#AllowSameLineComments
#ClipboardTimeout
#CommentFlag
#ErrorStdOut
#EscapeChar
#HotkeyInterval
#HotkeyModIfierTimeout
#Hotstring
#Include
#IncludeAgain
#IfWinActive
#IfWinExist
#IfWinNotActive
#IfWinNotExist
#InstallKeybdHook
#InstallMouseHook
#KeyHistory
#MaxHotkeysPerInterval
#MaxMem
#MaxThreads
#MaxThreadsBuffer
#MaxThreadsPerHotkey
#NoEnv
#NoTrayIcon
#Persistent
#SingleInstance
#UseHook
#WinActivateForce
Static</Keywords>
<Keywords name="Keywords7">norm
underline
bold
italic
strike
cDefault
cBlack
cSilver
cGray
cWhite
cMaroon
cRed
cPurple
cFuchsia
cGreen
cLime
cOlive
cYellow
cNavy
cBlue
cTeal
cAqua</Keywords>
<Keywords name="Keywords8">Global
Local</Keywords>
<Keywords name="Delimiters">00% 01 02((% EOL)) 03" 04\" 05((" EOL)) 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords>
</KeywordLists>
<Styles>
<WordsStyle name="DEFAULT" fgColor="EAEAEA" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="COMMENTS" fgColor="00D56A" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="LINE COMMENTS" fgColor="00D56A" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="NUMBERS" fgColor="FF5959" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS1" fgColor="0080FF" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS2" fgColor="60D1FD" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS3" fgColor="FF8040" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS4" fgColor="5BC1FF" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS5" fgColor="D2A6A6" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS6" fgColor="FFA6FF" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS7" fgColor="A4FFA4" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS8" fgColor="FF0000" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="OPERATORS" fgColor="FFFF00" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="FOLDER IN CODE1" fgColor="38B86B" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="FOLDER IN CODE2" fgColor="FFFFFF" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="FOLDER IN COMMENT" fgColor="FFFFFF" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS1" fgColor="FF8040" bgColor="000000" fontName="" fontStyle="0" nesting="514" />
<WordsStyle name="DELIMITERS2" fgColor="FEC994" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS3" fgColor="FFFFFF" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS4" fgColor="FF00FF" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
</Styles>
</UserLang>
</NotepadPlus>
- hoppfrosch
- Posts: 443
- Joined: 07 Oct 2013, 04:05
- Location: Rhine-Maine-Area, Hesse, Germany
- Contact:
Re: Setup Notepad++ for AutoHotkey
What also might be a worth to be mentioned on the first topic of this thread:
How to debug AHK-scripts using Notepad++?
Within Autohotkey documentation there is a special page on "Debugger Clients".
On this page there's a special section on Notepad++ DBGp Plugin. (The provided link there points to an invalid URL - I just corrected the URL and made a pull request ... - everything else there still works as described ...)
How to debug AHK-scripts using Notepad++?
Within Autohotkey documentation there is a special page on "Debugger Clients".
On this page there's a special section on Notepad++ DBGp Plugin. (The provided link there points to an invalid URL - I just corrected the URL and made a pull request ... - everything else there still works as described ...)
Re: Setup Notepad++ for AutoHotkey
Looks like I had to remove the curly braces from delimiter 1 and move to Folding code 1.kczx3 wrote:Somehow my code folding has broken in NP++ with AHK. No matter what I change in the Folding in Code Style boxes the folding points do not show up. Anyone have any thoughts besides reinstalling NP++ freshly?
Code: Select all
<NotepadPlus> <UserLang name="CCL" ext="prg ccl inc" udlVersion="2.1"> <Settings> <Global caseIgnored="yes" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" /> <Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" /> </Settings> <KeywordLists> <Keywords name="Comments">03/* 04*/ 00; 01 02</Keywords> <Keywords name="Numbers, prefix1"></Keywords> <Keywords name="Numbers, prefix2"></Keywords> <Keywords name="Numbers, extras1"></Keywords> <Keywords name="Numbers, extras2"></Keywords> <Keywords name="Numbers, suffix1"></Keywords> <Keywords name="Numbers, suffix2"></Keywords> <Keywords name="Numbers, range"></Keywords> <Keywords name="Operators1">- ! " ( ) , : [ ] ` + < = ></Keywords> <Keywords name="Operators2"></Keywords> <Keywords name="Folders in code1, open">{</Keywords> <Keywords name="Folders in code1, middle"></Keywords> <Keywords name="Folders in code1, close">}</Keywords> <Keywords name="Folders in code2, open">if for while</Keywords> <Keywords name="Folders in code2, middle">else elseif</Keywords> <Keywords name="Folders in code2, close">endif endfor endwhile</Keywords> <Keywords name="Folders in comment, open"></Keywords> <Keywords name="Folders in comment, middle"></Keywords> <Keywords name="Folders in comment, close"></Keywords> <Keywords name="Keywords1">drop create program go %i declare call set end execute if elseif else endif protect constant curqual of subroutine to noconstant record free range in is protect define macro endmacro</Keywords> <Keywords name="Keywords2">datetimefind cnvtdatetime format build concat findfile error alterlist initrec cnvtdate esmError echo max min avg sum count uar_get_code_meaning mod substring size trim hour day isnumeric expand locateval cnvtstring fillstring btestfindstring logical uar_get_code_display uar_get_meaning_by_codeset UAR_GET_CODE_BY sqltype cnvtreal echorecord cnvtupper cnvtlower cnvtdatetimeutc abs datetimediff year julian btest decode evaluate findstring asis replace validate nullterm parser value uar_timer_create uar_CreatePropList uar_SetPropString uar_CloseHandle uar_Timer_Destroy uar_Timer_Stop build2 patstring</Keywords> <Keywords name="Keywords3">select from where detail with plan and order by commit group head foot report nullreport into join rollback between like return or exists not rdbunion union all formfeed none noformfeed maxrow maxcol maxrec variable</Keywords> <Keywords name="Keywords4">i2 i4 f8 dq8 vc c null curdate curtime3 curqual curnode curtime rdb i1 i4 q8 c4000 c50 c100</Keywords> <Keywords name="Keywords5"></Keywords> <Keywords name="Keywords6"></Keywords> <Keywords name="Keywords7"></Keywords> <Keywords name="Keywords8"></Keywords> <Keywords name="Delimiters">00" 01 02" 03' 04 05' 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords> </KeywordLists> <Styles> <WordsStyle name="DEFAULT" fgColor="FFFFFF" bgColor="FFFFFF" fontName="Consolas" fontStyle="0" nesting="0" /> <WordsStyle name="COMMENTS" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="2" nesting="0" /> <WordsStyle name="LINE COMMENTS" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="NUMBERS" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" /> <WordsStyle name="KEYWORDS1" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" /> <WordsStyle name="KEYWORDS2" fgColor="00FF40" bgColor="FFFFFF" fontName="@BatangChe" fontStyle="3" nesting="0" /> <WordsStyle name="KEYWORDS3" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="3" nesting="0" /> <WordsStyle name="KEYWORDS4" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" /> <WordsStyle name="KEYWORDS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="OPERATORS" fgColor="FFFF00" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="10" nesting="0" /> <WordsStyle name="FOLDER IN CODE1" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="4" nesting="0" /> <WordsStyle name="FOLDER IN CODE2" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="4" nesting="0" /> <WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS1" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS2" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> </Styles> </UserLang> <UserLang name="AHK" ext="ahk" udlVersion="2.1"> <Settings> <Global caseIgnored="yes" allowFoldOfComments="yes" foldCompact="no" forcePureLC="0" decimalSeparator="0" /> <Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" /> </Settings> <KeywordLists> <Keywords name="Comments">00; 01 02 03/* 04*/</Keywords> <Keywords name="Numbers, prefix1"></Keywords> <Keywords name="Numbers, prefix2">0x</Keywords> <Keywords name="Numbers, extras1">A B C D E F a b c d e f</Keywords> <Keywords name="Numbers, extras2"></Keywords> <Keywords name="Numbers, suffix1">,</Keywords> <Keywords name="Numbers, suffix2"></Keywords> <Keywords name="Numbers, range"></Keywords> <Keywords name="Operators1">- ! & ( ) , . ^ | ~ + < := > { } =</Keywords> <Keywords name="Operators2">or and</Keywords> <Keywords name="Folders in code1, open">{</Keywords> <Keywords name="Folders in code1, middle"></Keywords> <Keywords name="Folders in code1, close">}</Keywords> <Keywords name="Folders in code2, open"></Keywords> <Keywords name="Folders in code2, middle"></Keywords> <Keywords name="Folders in code2, close"></Keywords> <Keywords name="Folders in comment, open"></Keywords> <Keywords name="Folders in comment, middle"></Keywords> <Keywords name="Folders in comment, close"></Keywords> <Keywords name="Keywords1">AutoTrim
BlockInput
Break
Click
ClipWait
ComObjActive
ComObjArray
ComObjConnect
ComObjCreate
ComObjEnwrap
ComObjError
ComObjFlags
ComObjGet
ComObjMissing
ComObjParameter
ComObjQuery
ComObjType
ComObjUnwrap
ComObjValue
Continue
Control
ControlClick
ControlFocus
ControlGet
ControlGetFocus
ControlGetPos
ControlGetText
ControlMove
ControlSend
ControlSendRaw
ControlSetText
CoordMode
Critical
DetectHiddenText
DetectHiddenWindows
DllCall
Drive
DriveGet
DriveSpaceFree
Else
EndRepeat
EnvAdd
EnvDiv
EnvGet
EnvMult
EnvSet
EnvSub
EnvUpdate
Exit
ExitApp
FileAppend
FileCopy
FileCopyDir
FileCreateDir
FileCreateShortcut
FileDelete
FileGetAttrib
FileGetShortcut
FileGetSize
FileGetTime
FileGetVersion
FileInstall
FileMove
FileMoveDir
FileRead
FileReadLine
FileRecycle
FileRecycleEmpty
FileRemoveDir
FileSelectFile
FileSelectFolder
FileSetAttrib
FileSetTime
FormatTime
GetKeyState
Gosub
Goto
GroupActivate
GroupAdd
GroupClose
GroupDeactivate
Gui
GuiControl
GuiControlGet
HideAutoItWin
Hotkey
If
IfEqual
IfExist
IfGreater
IfGreaterOrEqual
IfInString
IfLess
IfLessOrEqual
IfMsgBox
IfNotEqual
IfNotExist
IfNotInString
IfWinActive
IfWinExist
IfWinNotActive
IfWinNotExist
ImageSearch
IniDelete
IniRead
IniWrite
Input
InputBox
IsLabel
KeyHistory
KeyWait
ListHotkeys
ListLines
ListVars
LoadPicture
Loop
Menu
MouseClick
MouseClickDrag
MouseGetPos
MouseMove
MsgBox
NumGet
NumPut
OnExit
OnMessage
OutputDebug
Pause
PixelGetColor
PixelSearch
PostMessage
Process
Progress
Random
RegDelete
RegExMatch
RegExReplace
RegisterCallback
RegRead
RegWrite
Reload
Repeat
Return
Run
RunAs
RunWait
Send
SendMessage
SendEvent
SendInput
SendMode
SendPlay
SendRaw
SetBatchLines
SetCapsLockState
SetControlDelay
SetDefaultMouseSpeed
SetEnv
SetFormat
SetKeyDelay
SetMouseDelay
SetNumLockState
SetScrollLockState
SetStoreCapslockMode
SetTimer
SetTitleMatchMode
SetWinDelay
SetWorkingDir
Shutdown
Sleep
Sort
SoundBeep
SoundGet
SoundGetWaveVolume
SoundPlay
SoundSet
SoundSetWaveVolume
SplashImage
SplashTextOff
SplashTextOn
SplitPath
StatusBarGetText
StatusBarWait
StringCaseSense
StringGetPos
StringLeft
StringLen
StringLower
StringMid
StringReplace
StringRight
StringSplit
StringTrimLeft
StringTrimRight
StringUpper
StrReplace
StrSplit
SubStr
Suspend
SysGet
Thread
ToolTip
Transform
TrayTip
URLDownloadToFile
VarSetCapacity
While
WinActivate
WinActivateBottom
WinClose
WinGet
WinGetActiveStats
WinGetActiveTitle
WinGetClass
WinGetPos
WinGetText
WinGetTitle
WinHide
WinKill
WinMaximize
WinMenuSelectItem
WinMinimize
WinMinimizeAll
WinMinimizeAllUndo
WinMove
WinRestore
WinSet
WinSetTitle
WinShow
WinWait
WinWaitActive
WinWaitClose
WinWaitNotActive
</Keywords> <Keywords name="Keywords2">add
font
show
new
</Keywords> <Keywords name="Keywords3">%A_
A_
A_AhkPath
A_AhkVersion
A_AppData
A_AppDataCommon
A_AutoTrim
A_BatchLines
A_CaretX
A_CaretY
A_ComputerName
A_ControlDelay
A_Cursor
A_DD
A_DDD
A_DDDD
A_DefaultMouseSpeed
A_Desktop
A_DesktopCommon
A_DetectHiddenText
A_DetectHiddenWindows
A_EndChar
A_ExitReason
A_FormatFloat
A_FormatInteger
A_Gui
A_GuiControl
A_EventInfo
A_GuiX
A_GuiY
A_GuiEvent
A_GuiControlEvent
A_GuiHeight
A_GuiWidth
A_Hour
A_IconFile
A_IconHidden
A_IconNumber
A_IconTip
A_Index
A_IPAddress1
A_IPAddress2
A_IPAddress3
A_IPAddress4
A_Is64bitOS
A_ISAdmin
A_IsCompiled
A_IsPaused
A_IsCritical
A_IsSuspended
A_IsUnicode
A_KeyDelay
A_Language
A_LastError
A_LineNumber
A_LineFile
A_LoopField
A_LoopFileAttrib
A_LoopFileDir
A_LoopFileExt
A_LoopFileFullPath
A_LoopFileLongPath
A_LoopFileName
A_LoopFileShortName
A_LoopFileShortPath
A_LoopFileSize
A_LoopFileSizeKB
A_LoopFileSizeMB
A_LoopFileTimeAccessed
A_LoopFileTimeCreated
A_LoopFileTimeModified
A_LoopReadLine
A_LoopRegKey
A_LoopRegName
A_LoopRegSubkey
A_LoopRegTimeModified
A_LoopRegType
A_MDAY
A_Min
A_MM
A_MMM
A_MMMM
A_MON
A_MouseDelay
A_MyDocuments
A_Now
A_NowUTC
A_NumBatchLines
A_OSType
A_OSVersion
A_PriorHotkey
ProgramFiles
A_ProgramFiles
A_Programs
A_ProgramsCommon
A_PtrSize
A_ScreenHeight
A_ScreenWidth
A_ScriptDir
A_ScriptFullPath
A_ScriptName
A_Sec
A_Space
A_StartMenu
A_StartMenuCommon
A_Startup
A_StartupCommon
A_StringCaseSense
A_Tab
A_Temp
A_ThisHotkey
A_ThisFunc
A_ThisLabel
A_ThisMenu
A_ThisMenuItem
A_ThisMenuItemPos
A_TickCount
A_TimeIdle
A_TimeIdlePhysical
A_TimeSincePriorHotkey
A_TimeSinceThisHotkey
A_TitleMatchMode
A_TitleMatchModeSpeed
A_UserName
A_WDay
A_WinDelay
A_WinDir
A_WorkingDir
A_YDay
A_YEAR
A_YWeek
A_YYYY
Clipboard
ComSpec
ErrorLevel
True
False
Off
On
</Keywords> <Keywords name="Keywords4">activeX
button
checkbox
combobox
custom
datetime
dropdownlist
edit
groupbox
hotkey
link
listbox
listview
monthcal
pic
picture
progress
radio
slider
statusbar
tab
tab2
tab3
text
treeview
updown</Keywords> <Keywords name="Keywords5">lv_modifycol
lv_add
lv_insert
lv_modify
lv_delete
lv_insertcol
lv_deletecol
lv_getcount
lv_getnext
lv_gettext
il_create
lv_setimagelist
il_add
il_destroy</Keywords> <Keywords name="Keywords6">#AllowSameLineComments
#ClipboardTimeout
#CommentFlag
#ErrorStdOut
#EscapeChar
#HotkeyInterval
#HotkeyModIfierTimeout
#Hotstring
#Include
#IncludeAgain
#IfWinActive
#IfWinExist
#IfWinNotActive
#IfWinNotExist
#InstallKeybdHook
#InstallMouseHook
#KeyHistory
#MaxHotkeysPerInterval
#MaxMem
#MaxThreads
#MaxThreadsBuffer
#MaxThreadsPerHotkey
#NoEnv
#NoTrayIcon
#Persistent
#SingleInstance
#UseHook
#WinActivateForce
Static</Keywords> <Keywords name="Keywords7">norm
underline
bold
italic
strike
cDefault
cBlack
cSilver
cGray
cWhite
cMaroon
cRed
cPurple
cFuchsia
cGreen
cLime
cOlive
cYellow
cNavy
cBlue
cTeal
cAqua</Keywords> <Keywords name="Keywords8">Global
Local</Keywords> <Keywords name="Delimiters">00% 01 02((% EOL)) 03" 04\" 05((" EOL)) 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords> </KeywordLists> <Styles> <WordsStyle name="DEFAULT" fgColor="EAEAEA" bgColor="000000" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="COMMENTS" fgColor="00D56A" bgColor="000000" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="LINE COMMENTS" fgColor="00D56A" bgColor="000000" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="NUMBERS" fgColor="FF5959" bgColor="000000" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS1" fgColor="0080FF" bgColor="000000" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS2" fgColor="60D1FD" bgColor="000000" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS3" fgColor="FF8040" bgColor="000000" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS4" fgColor="5BC1FF" bgColor="000000" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS5" fgColor="D2A6A6" bgColor="000000" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS6" fgColor="FFA6FF" bgColor="000000" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS7" fgColor="A4FFA4" bgColor="000000" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS8" fgColor="FF0000" bgColor="000000" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="OPERATORS" fgColor="FFFF00" bgColor="000000" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="FOLDER IN CODE1" fgColor="38B86B" bgColor="000000" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="FOLDER IN CODE2" fgColor="FFFFFF" bgColor="000000" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="FOLDER IN COMMENT" fgColor="FFFFFF" bgColor="000000" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS1" fgColor="FF8040" bgColor="000000" fontName="" fontStyle="0" nesting="514" /> <WordsStyle name="DELIMITERS2" fgColor="FEC994" bgColor="000000" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS3" fgColor="FFFFFF" bgColor="000000" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS4" fgColor="FF00FF" bgColor="000000" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> </Styles> </UserLang> </NotepadPlus>
-
- Posts: 38
- Joined: 25 Apr 2016, 18:00
Re: Setup Notepad++ for AutoHotkey
Thanks all for your serious approach to this business!
-
- Posts: 18
- Joined: 29 Mar 2017, 09:23
Re: Setup Notepad++ for AutoHotkey
Alright, this works fine on the latest version of NPP at the time I made this post, but now something wrong's happening.
At least I think it's wrong.
So, I made a script before installing the user defined language, and after I did, I restarted NPP and selected AutoHotKey on Language, to be greeted with this:
At least I think it's wrong.
So, I made a script before installing the user defined language, and after I did, I restarted NPP and selected AutoHotKey on Language, to be greeted with this:
Re: Setup Notepad++ for AutoHotkey
@ry3ks3u_m4dd0ns
That's because it made for the white color theme(default theme). You can fix it by changing the background color to match your current theme.
Open userDefineLang.xml and change from bgColor="FFFFFF" to bgColor="112435".
I did it for myself already. Here is it.
jNizM AutoHotkey Syntax-Highlighting - For Ruby Blue: https://pastebin.com/BP7McfjB
That's because it made for the white color theme(default theme). You can fix it by changing the background color to match your current theme.
Open userDefineLang.xml and change from bgColor="FFFFFF" to bgColor="112435".
I did it for myself already. Here is it.
jNizM AutoHotkey Syntax-Highlighting - For Ruby Blue: https://pastebin.com/BP7McfjB
Re: Setup Notepad++ for AutoHotkey
Update:
- Added MsgBox Creator (by boiler) into others
- Added Run script (by boiler) into others
- Added MsgBox Creator (by boiler) into others
- Added Run script (by boiler) into others
[AHK] v2.0.5 | [WIN] 11 Pro (Version 22H2) | [GitHub] Profile
Re: Setup Notepad++ for AutoHotkey
I have this all working. I'm just wondering, has anyone been able to get parameter hints working on a comma separated command (ex. IniWrite)?
Re: Setup Notepad++ for AutoHotkey
No, I believe Notepad++ will only trigger that for functions (on an open parenthesis character). You might be interested these parameter expander tools that will work for functions, commands, and directives: this one from Helgef and one I made.
Re: Setup Notepad++ for AutoHotkey
Thanks! Though, both solutions are nice, it's too much deletion for my liking. I'm currently implementing something like this at the moment. It seems to be doing what I want so far.
Code: Select all
:b0*:iniread`,::
{
ahkDocTip(A_ThisHotkey)
return
}
:b0*:iniwrite`,::
{
ahkDocTip(A_ThisHotkey)
return
}
:b0*:inidelete`,::
{
ahkDocTip(A_ThisHotkey)
return
}
ahkDocTip(cmd) {
ToolTip, % getParameterHint(formatCmd(cmd)), % A_CaretX, % A_CaretY+20
Sleep, 3000
ToolTip
}
formatCmd(cmd) {
RegExMatch(cmd, "i):b0\*:(.*)\,", match)
return match1
}
getParameterHint(cmd) {
o := {"":""
, "IniWrite" : "IniWrite, Value, Filename, Section, Key"
, "IniDelete" : "IniDelete, Filename, Section [, Key]"
, "IniRead" : "IniRead, OutputVar, Filename, Section, Key [, Default]"
, "":""}
return o[cmd]
}
Re: Setup Notepad++ for AutoHotkey
I'm using NPP 7.4.2 32-bit on a 64-bit system (for plugin reasons). I get an error message when I try to import your file: "Fail to import."
When I try importing this one, it worked just fine: http://notepad-plus.sourceforge.net/com ... hotkey.xml
When I try importing this one, it worked just fine: http://notepad-plus.sourceforge.net/com ... hotkey.xml
Re: Setup Notepad++ for AutoHotkey
I like to setup a complete portable solution, so I downloaded ahk / notepad++ portable.
I followed the setup tutorial, everything (Syntax-Highlighting, Auto-Completion, [Hotstrings]) works.
How to setup "RunMe" / "boiler Run" without registering the ahk file extension in Windows?
I have the same issue with Notepad2-mod. Execute will pop up a Dialog "Windows cannot open this file: test.ahk"
I followed the setup tutorial, everything (Syntax-Highlighting, Auto-Completion, [Hotstrings]) works.
How to setup "RunMe" / "boiler Run" without registering the ahk file extension in Windows?
I have the same issue with Notepad2-mod. Execute will pop up a Dialog "Windows cannot open this file: test.ahk"
- Masonjar13
- Posts: 1555
- Joined: 20 Jul 2014, 10:16
- Location: Не Россия
- Contact:
Re: Setup Notepad++ for AutoHotkey
I accomplished this by making a compiled AHK script that runs the selected script as a parameter to the AutoHotkey executable. You can set it up to work with 32/64-bit (separately or dynamically), drag-n-drop onto the compiled script (pretty much the same as dropping it onto the AutoHotkey executable itself), make a GUI for it, etc.. I used fileSelectFile myself, easy enough.Asmodeus wrote:I like to setup a complete portable solution, so I downloaded ahk / notepad++ portable.
Re: Setup Notepad++ for AutoHotkey
do you mind sharing the source code?Masonjar13 wrote:I accomplished this by making a compiled AHK script that runs the selected script as a parameter to the AutoHotkey executable.
I believe this could be pretty useful for other portable apps affectionados.
- Masonjar13
- Posts: 1555
- Joined: 20 Jul 2014, 10:16
- Location: Не Россия
- Contact:
Re: Setup Notepad++ for AutoHotkey
Sure, here you go. Made a whole UI for it, I guess. Made this quite a while ago (compiled Aug '15). Had to pull it out and re-format it, didn't have it saved anywhere. And, as I mentioned, only really useful if it's compiled. I recommend compiling it as a 32-bit so it will run on 32 and 64.
Note: I had it set up in the same directory as the AHK executables, and you can put your stdlib there as well. I also only kept the Unicode versions in, so if someone wants to use the ANSI version, they'll have to add that in.
Note: I had it set up in the same directory as the AHK executables, and you can put your stdlib there as well. I also only kept the Unicode versions in, so if someone wants to use the ANSI version, they'll have to add that in.
Code: Select all
#SingleInstance Force
#Persistent
AHK_ver:=a_is64bitOS?"AutoHotkeyU64.exe":"AutoHotkeyU32.exe"
AHK_dir:=a_scriptDir
menu,lvd,add,Remove,lvRemove
gui,font,s10
gui,add,listView,vlist w400 r9 glvEvents altSubmit,AHK Scripts|Paths
LV_ModifyCol(1,150)
gui,font,s12
gui,add,button,gaddFiles section,Add Files
gui,add,button,grunFiles ys x349,Run All
gui,show,,AHK Run
return
addFiles:
fileSelectFile,aFiles,M3,,,AHK Scripts (*.ahk; *.ahkl)
if(errorlevel)
return
loop,parse,aFiles,`n
{
if(a_index=1){
fileDir:=a_loopField
continue
}
splitPath,a_loopField,fileName,,fileExt
if(fileExt!="ahk"&&fileExt!="ahkl"){
msgbox,,Error,Only AutoHotkey files may be added.
break
}
LV_Add(,fileName,fileDir)
}
return
runFiles:
loop % LV_GetCount()
{
LV_GetText(fileDir,a_index,2)
LV_GetText(fileName,a_index,1)
run,% """" . AHK_dir . "\" . AHK_ver . """ """ . fileDir . "\" . fileName . """",% fileDir
}
exitapp
lvEvents:
if(a_guiEvent="RightClick"){
lvEvent:=a_eventInfo
menu,lvd,show
}
return
lvRemove:
LV_Delete(lvEvent)
return
guiDropFiles:
loop,parse,a_guiEvent,`n
{
splitPath,a_loopField,fileName,fileDir,fileExt
if(fileExt!="ahk"&&fileExt!="ahkl"){
msgbox,,Error,Only AutoHotkey files may be added.
break
}
LV_Add(,fileName,fileDir)
}
return
guiClose:
exitapp
Re: Setup Notepad++ for AutoHotkey
thanks for the code, i learned some things from it. though i compiled it as recommended but i still get the message "Windows can't open this file".
i've downloaded and unpacked ahk portable in C:\AutoHotkey folder and put your compiled code in the same directory.
as mentioned my goal is to execute code without installing ahk using an editor like notepad++portable/notepad2-mod.
code execution should run in the background without showing any gui.
this simple code works, a script can be run without installation / registering the file extension for shell execution.
it should be pretty easy, if i knew how make it generic
i've downloaded and unpacked ahk portable in C:\AutoHotkey folder and put your compiled code in the same directory.
as mentioned my goal is to execute code without installing ahk using an editor like notepad++portable/notepad2-mod.
code execution should run in the background without showing any gui.
this simple code works, a script can be run without installation / registering the file extension for shell execution.
Code: Select all
#SingleInstance Force
#NoTrayIcon
run, C:\AutoHotkey\AutoHotkeyU32.exe "C:\AutoHotkey\test1.ahk"
ExitApp
- Masonjar13
- Posts: 1555
- Joined: 20 Jul 2014, 10:16
- Location: Не Россия
- Contact:
Re: Setup Notepad++ for AutoHotkey
I'm fully aware of what you asked.. There was evidently a bug. Though, literally only one line needed to change. For user friendliness, I changed two lines: line 4, allows for easier changing of AHK directory, and line 40 (39 previously).