mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-23 04:00:03 +08:00
feat(autohotkey): use bundle vim-autohotkey
This commit is contained in:
parent
311a1e5146
commit
96d05b9ef5
@ -18,7 +18,7 @@
|
||||
|
||||
function! SpaceVim#layers#lang#autohotkey#plugins() abort
|
||||
let plugins = []
|
||||
call add(plugins, ['wsdjeg/vim-autohotkey', {'merged' : 0}])
|
||||
call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-autohotkey', {'merged' : 0}])
|
||||
return plugins
|
||||
endfunction
|
||||
|
||||
|
11
bundle/vim-autohotkey/.vintrc.yaml
Normal file
11
bundle/vim-autohotkey/.vintrc.yaml
Normal file
@ -0,0 +1,11 @@
|
||||
cmdargs:
|
||||
# Checking more strictly
|
||||
severity: style_problem
|
||||
|
||||
policies:
|
||||
ProhibitImplicitScopeVariable:
|
||||
enabled: false
|
||||
ProhibitAbbreviationOption:
|
||||
enabled: false
|
||||
ProhibitSetNoCompatible:
|
||||
enabled: false
|
674
bundle/vim-autohotkey/LICENSE
Normal file
674
bundle/vim-autohotkey/LICENSE
Normal file
@ -0,0 +1,674 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The GNU General Public License is a free, copyleft license for
|
||||
software and other kinds of works.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
the GNU General Public License is intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users. We, the Free Software Foundation, use the
|
||||
GNU General Public License for most of our software; it applies also to
|
||||
any other work released this way by its authors. You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to prevent others from denying you
|
||||
these rights or asking you to surrender the rights. Therefore, you have
|
||||
certain responsibilities if you distribute copies of the software, or if
|
||||
you modify it: responsibilities to respect the freedom of others.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must pass on to the recipients the same
|
||||
freedoms that you received. You must make sure that they, too, receive
|
||||
or can get the source code. And you must show them these terms so they
|
||||
know their rights.
|
||||
|
||||
Developers that use the GNU GPL protect your rights with two steps:
|
||||
(1) assert copyright on the software, and (2) offer you this License
|
||||
giving you legal permission to copy, distribute and/or modify it.
|
||||
|
||||
For the developers' and authors' protection, the GPL clearly explains
|
||||
that there is no warranty for this free software. For both users' and
|
||||
authors' sake, the GPL requires that modified versions be marked as
|
||||
changed, so that their problems will not be attributed erroneously to
|
||||
authors of previous versions.
|
||||
|
||||
Some devices are designed to deny users access to install or run
|
||||
modified versions of the software inside them, although the manufacturer
|
||||
can do so. This is fundamentally incompatible with the aim of
|
||||
protecting users' freedom to change the software. The systematic
|
||||
pattern of such abuse occurs in the area of products for individuals to
|
||||
use, which is precisely where it is most unacceptable. Therefore, we
|
||||
have designed this version of the GPL to prohibit the practice for those
|
||||
products. If such problems arise substantially in other domains, we
|
||||
stand ready to extend this provision to those domains in future versions
|
||||
of the GPL, as needed to protect the freedom of users.
|
||||
|
||||
Finally, every program is threatened constantly by software patents.
|
||||
States should not allow patents to restrict development and use of
|
||||
software on general-purpose computers, but in those that do, we wish to
|
||||
avoid the special danger that patents applied to a free program could
|
||||
make it effectively proprietary. To prevent this, the GPL assures that
|
||||
patents cannot be used to render the program non-free.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
TERMS AND CONDITIONS
|
||||
|
||||
0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU General Public License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of an
|
||||
exact copy. The resulting work is called a "modified version" of the
|
||||
earlier work or a work "based on" the earlier work.
|
||||
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user through
|
||||
a computer network, with no transfer of a copy, is not conveying.
|
||||
|
||||
An interactive user interface displays "Appropriate Legal Notices"
|
||||
to the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
|
||||
1. Source Code.
|
||||
|
||||
The "source code" for a work means the preferred form of the work
|
||||
for making modifications to it. "Object code" means any non-source
|
||||
form of a work.
|
||||
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
|
||||
The Corresponding Source need not include anything that users
|
||||
can regenerate automatically from other parts of the Corresponding
|
||||
Source.
|
||||
|
||||
The Corresponding Source for a work in source code form is that
|
||||
same work.
|
||||
|
||||
2. Basic Permissions.
|
||||
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
|
||||
You may make, run and propagate covered works that you do not
|
||||
convey, without conditions so long as your license otherwise remains
|
||||
in force. You may convey covered works to others for the sole purpose
|
||||
of having them make modifications exclusively for you, or provide you
|
||||
with facilities for running those works, provided that you comply with
|
||||
the terms of this License in conveying all material for which you do
|
||||
not control copyright. Those thus making or running the covered works
|
||||
for you must do so exclusively on your behalf, under your direction
|
||||
and control, on terms that prohibit them from making any copies of
|
||||
your copyrighted material outside their relationship with you.
|
||||
|
||||
Conveying under any other circumstances is permitted solely under
|
||||
the conditions stated below. Sublicensing is not allowed; section 10
|
||||
makes it unnecessary.
|
||||
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such circumvention
|
||||
is effected by exercising rights under this License with respect to
|
||||
the covered work, and you disclaim any intention to limit operation or
|
||||
modification of the work as a means of enforcing, against the work's
|
||||
users, your or third parties' legal rights to forbid circumvention of
|
||||
technological measures.
|
||||
|
||||
4. Conveying Verbatim Copies.
|
||||
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
|
||||
5. Conveying Modified Source Versions.
|
||||
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these conditions:
|
||||
|
||||
a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
|
||||
b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under section
|
||||
7. This requirement modifies the requirement in section 4 to
|
||||
"keep intact all notices".
|
||||
|
||||
c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
|
||||
d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
|
||||
6. Conveying Non-Source Forms.
|
||||
|
||||
You may convey a covered work in object code form under the terms
|
||||
of sections 4 and 5, provided that you also convey the
|
||||
machine-readable Corresponding Source under the terms of this License,
|
||||
in one of these ways:
|
||||
|
||||
a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
|
||||
b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the
|
||||
Corresponding Source from a network server at no charge.
|
||||
|
||||
c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
|
||||
d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
|
||||
e) Convey the object code using peer-to-peer transmission, provided
|
||||
you inform other peers where the object code and Corresponding
|
||||
Source of the work are being offered to the general public at no
|
||||
charge under subsection 6d.
|
||||
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal, family,
|
||||
or household purposes, or (2) anything designed or sold for incorporation
|
||||
into a dwelling. In determining whether a product is a consumer product,
|
||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||
product received by a particular user, "normally used" refers to a
|
||||
typical or common use of that class of product, regardless of the status
|
||||
of the particular user or of the way in which the particular user
|
||||
actually uses, or expects or is expected to use, the product. A product
|
||||
is a consumer product regardless of whether the product has substantial
|
||||
commercial, industrial or non-consumer uses, unless such uses represent
|
||||
the only significant mode of use of the product.
|
||||
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to install
|
||||
and execute modified versions of a covered work in that User Product from
|
||||
a modified version of its Corresponding Source. The information must
|
||||
suffice to ensure that the continued functioning of the modified object
|
||||
code is in no case prevented or interfered with solely because
|
||||
modification has been made.
|
||||
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or updates
|
||||
for a work that has been modified or installed by the recipient, or for
|
||||
the User Product in which it has been modified or installed. Access to a
|
||||
network may be denied when the modification itself materially and
|
||||
adversely affects the operation of the network or violates the rules and
|
||||
protocols for communication across the network.
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
|
||||
7. Additional Terms.
|
||||
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders of
|
||||
that material) supplement the terms of this License with terms:
|
||||
|
||||
a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
|
||||
b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
|
||||
c) Prohibiting misrepresentation of the origin of that material, or
|
||||
requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
|
||||
d) Limiting the use for publicity purposes of names of licensors or
|
||||
authors of the material; or
|
||||
|
||||
e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
|
||||
f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions of
|
||||
it) with contractual assumptions of liability to the recipient, for
|
||||
any liability that these contractual assumptions directly impose on
|
||||
those licensors and authors.
|
||||
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions;
|
||||
the above requirements apply either way.
|
||||
|
||||
8. Termination.
|
||||
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
|
||||
However, if you cease all violation of this License, then your
|
||||
license from a particular copyright holder is reinstated (a)
|
||||
provisionally, unless and until the copyright holder explicitly and
|
||||
finally terminates your license, and (b) permanently, if the copyright
|
||||
holder fails to notify you of the violation by some reasonable means
|
||||
prior to 60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
|
||||
You are not required to accept this License in order to receive or
|
||||
run a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
|
||||
11. Patents.
|
||||
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
|
||||
A contributor's "essential patent claims" are all patent claims
|
||||
owned or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
|
||||
A patent license is "discriminatory" if it does not include within
|
||||
the scope of its coverage, prohibits the exercise of, or is
|
||||
conditioned on the non-exercise of one or more of the rights that are
|
||||
specifically granted under this License. You may not convey a covered
|
||||
work if you are a party to an arrangement with a third party that is
|
||||
in the business of distributing software, under which you make payment
|
||||
to the third party based on the extent of your activity of conveying
|
||||
the work, and under which the third party grants, to any of the
|
||||
parties who would receive the covered work from you, a discriminatory
|
||||
patent license (a) in connection with copies of the covered work
|
||||
conveyed by you (or copies made from those copies), or (b) primarily
|
||||
for and in connection with specific products or compilations that
|
||||
contain the covered work, unless you entered into that arrangement,
|
||||
or that patent license was granted, prior to 28 March 2007.
|
||||
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
|
||||
12. No Surrender of Others' Freedom.
|
||||
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you may
|
||||
not convey it at all. For example, if you agree to terms that obligate you
|
||||
to collect a royalty for further conveying from those to whom you convey
|
||||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Use with the GNU Affero General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU Affero General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the special requirements of the GNU Affero General Public License,
|
||||
section 13, concerning interaction through a network will apply to the
|
||||
combination as such.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
|
||||
15. Disclaimer of Warranty.
|
||||
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. Limitation of Liability.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program does terminal interaction, make it output a short
|
||||
notice like this when it starts in an interactive mode:
|
||||
|
||||
<program> Copyright (C) <year> <name of author>
|
||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, your program's commands
|
||||
might be different; for a GUI interface, you would use an "about box".
|
||||
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU GPL, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your program
|
||||
into proprietary programs. If your program is a subroutine library, you
|
||||
may consider it more useful to permit linking proprietary applications with
|
||||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
7
bundle/vim-autohotkey/README.md
Normal file
7
bundle/vim-autohotkey/README.md
Normal file
@ -0,0 +1,7 @@
|
||||
# vim-autohotkey
|
||||
|
||||
> autohotkey support for vim/neovim
|
||||
|
||||
This is part of SpaceVim's autohotkey layer, and the website is:
|
||||
|
||||
https://spacevim.org/layers/lang/autohotkey/
|
743
bundle/vim-autohotkey/autoload/autohotkey.vim
Normal file
743
bundle/vim-autohotkey/autoload/autohotkey.vim
Normal file
@ -0,0 +1,743 @@
|
||||
let s:complete_dict = {
|
||||
\ 'AutoTrim' :
|
||||
\ "AutoTrim, On|Off\nDetermines whether <a href=\"SetEnv.htm\">Var1 = %Var2%</a> statements omit spaces and tabs from the beginning and end of Var2.",
|
||||
\ 'Blocks' :
|
||||
\ "{\nzero or more commands\n}\nA pair of braces denotes a block. Blocks are typically used with functions, Else, Loop, While-loop, and IF-commands.",
|
||||
\ 'BlockInput' :
|
||||
\ "BlockInput, Mode\nDisables or enables the user's ability to interact with the computer via keyboard and mouse. ",
|
||||
\ 'Break' :
|
||||
\ "Break [, LoopLabel]\nExits (terminates) a loop. Valid inside any kind of loop.",
|
||||
\ 'Catch' :
|
||||
\ '',
|
||||
\ 'Click' :
|
||||
\ '',
|
||||
\ 'ClipWait' :
|
||||
\ "ClipWait [, SecondsToWait, 1]\nWaits until the clipboard contains data.",
|
||||
\ 'ComObjActive()' :
|
||||
\ "ComObject := ComObjActive(CLSID)\nRetrieves a running object that has been registered with OLE.",
|
||||
\ 'ComObjArray()' :
|
||||
\ "ArrayObj := ComObjArray(VarType, Count1 [, Count2, ... Count8])\nCreates a SafeArray for use with COM.",
|
||||
\ 'ComObjConnect()' :
|
||||
\ "ComObjConnect(ComObject [, Prefix])\nConnects the object's event sources to functions with a given prefix.",
|
||||
\ 'ComObjCreate()' :
|
||||
\ "ComObject := ComObjCreate(CLSID [, IID])\nCreates a COM object.",
|
||||
\ 'ComObjError()' :
|
||||
\ "Enabled := ComObjError([Enable])\nEnables or disables notification of COM errors.",
|
||||
\ 'ComObjFlags()' :
|
||||
\ "Flags := ComObjFlags(ComObject [, NewFlags, Mask])\nRetrieves or changes flags which control a COM wrapper object's behaviour.",
|
||||
\ 'ComObjGet()' :
|
||||
\ "ComObject := ComObjGet(Name)\nReturns a reference to an object provided by a COM component.",
|
||||
\ 'ComObjQuery()' :
|
||||
\ "InterfacePointer := ComObjQuery(ComObject, [SID,] IID)\nQueries a COM object for an interface or service.",
|
||||
\ 'ComObjType()' :
|
||||
\ "VarType := ComObjType(ComObject)\nName := ComObjType(ComObject, \"Name\")\nIID := ComObjType(ComObject, \"IID\")\nRetrieves type information from a COM object.",
|
||||
\ 'ComObjValue()' :
|
||||
\ "Value := ComObjValue(ComObject)\nRetrieves the value or pointer stored in a COM wrapper object.",
|
||||
\ 'Continue' :
|
||||
\ "Continue [, LoopLabel]\nSkips the rest of the current loop iteration and begins a new one. Valid inside any kind of loop.",
|
||||
\ 'Control' :
|
||||
\ "Control, Cmd [, Value, Control, WinTitle, WinText, ExcludeTitle, ExcludeText]\nMakes a variety of changes to a control.",
|
||||
\ 'ControlClick' :
|
||||
\ "ControlClick [, Control-or-Pos, WinTitle, WinText, WhichButton, ClickCount, Options, ExcludeTitle, ExcludeText]\nSends a mouse button or mouse wheel event to a control. ",
|
||||
\ 'ControlFocus' :
|
||||
\ "ControlFocus [, Control, WinTitle, WinText, ExcludeTitle, ExcludeText]\nSets input focus to a given control on a window. ",
|
||||
\ 'ControlGet' :
|
||||
\ "ControlGet, OutputVar, Cmd [, Value, Control, WinTitle, WinText, ExcludeTitle, ExcludeText]\nRetrieves various types of information about a control. ",
|
||||
\ 'ControlGetFocus' :
|
||||
\ "ControlGetFocus, OutputVar [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nRetrieves which control of the target window has input focus, if any.",
|
||||
\ 'ControlGetPos' :
|
||||
\ "ControlGetPos [, X, Y, Width, Height, Control, WinTitle, WinText, ExcludeTitle, ExcludeText]\nRetrieves the position and size of a control.",
|
||||
\ 'ControlGetText' :
|
||||
\ "ControlGetText, OutputVar [, Control, WinTitle, WinText, ExcludeTitle, ExcludeText]\nRetrieves text from a control. ",
|
||||
\ 'ControlMove' :
|
||||
\ "ControlMove, Control, X, Y, Width, Height [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nMoves or resizes a control. ",
|
||||
\ 'ControlSend' :
|
||||
\ "ControlSend [, Control, Keys, WinTitle, WinText, ExcludeTitle, ExcludeText]\nControlSendRaw: Same parameters as above.\nSends simulated keystrokes to a window or control.",
|
||||
\ 'ControlSendRaw' :
|
||||
\ "ControlSend [, Control, Keys, WinTitle, WinText, ExcludeTitle, ExcludeText]\nControlSendRaw: Same parameters as above.\nSends simulated keystrokes to a window or control.",
|
||||
\ 'ControlSetText' :
|
||||
\ "ControlSetText [, Control, NewText, WinTitle, WinText, ExcludeTitle, ExcludeText]\nChanges the text of a control. ",
|
||||
\ 'CoordMode' :
|
||||
\ "CoordMode, ToolTip|Pixel|Mouse|Caret|Menu [, Screen|Window|Client]\nSets coordinate mode for various commands to be relative to either the active window or the screen.",
|
||||
\ 'Critical' :
|
||||
\ "Critical [, Off]\nCritical 50 ; See <a href=\"#Interval\">bottom of remarks</a>.\nPrevents the current thread from being interrupted by other threads.",
|
||||
\ 'DetectHiddenText' :
|
||||
\ "DetectHiddenText, On|Off\nDetermines whether invisible text in a window is \"seen\" for the purpose of finding the window. This affects commands such as IfWinExist and WinActivate.",
|
||||
\ 'DetectHiddenWindows' :
|
||||
\ "DetectHiddenWindows, On|Off\nDetermines whether invisible windows are \"seen\" by the script.",
|
||||
\ 'DllCall' :
|
||||
\ "Result := DllCall(\"[DllFile\]Function\" [, Type1, Arg1, Type2, Arg2, \"Cdecl ReturnType\"])\nCalls a function inside a DLL, such as a standard Windows API function.",
|
||||
\ 'Drive' :
|
||||
\ "Drive, Sub-command [, Drive , Value]\nEjects/retracts the tray in a CD or DVD drive, or sets a drive's volume label. ",
|
||||
\ 'DriveGet' :
|
||||
\ "DriveGet, OutputVar, Cmd [, Value]\nRetrieves various types of information about the computer's drive(s). ",
|
||||
\ 'DriveSpaceFree' :
|
||||
\ "DriveSpaceFree, OutputVar, Path\nRetrieves the free disk space of a drive, in Megabytes.",
|
||||
\ 'Edit' :
|
||||
\ "Edit\nOpens the current script for editing in the associated editor.",
|
||||
\ 'Else' :
|
||||
\ "Else\nSpecifies the command(s) to perform if an IF-statement evaluates to FALSE. When more than one command is present, enclose them in a block (braces). ",
|
||||
\ 'EnvAdd' :
|
||||
\ "EnvAdd, Var, Value [, TimeUnits]\nVar += Value [, TimeUnits]\nVar++\nSets a variable to the sum of itself plus the given value (can also add or subtract time from a date-time value). Synonymous with: var += value.",
|
||||
\ 'EnvDiv' :
|
||||
\ "EnvDiv, Var, Value\nSets a variable to itself divided by the given value. Synonymous with: Var /= Value.",
|
||||
\ 'EnvGet' :
|
||||
\ "EnvGet, OutputVar, EnvVarName\nRetrieves an environment variable.",
|
||||
\ 'EnvMult' :
|
||||
\ "EnvMult, Var, Value\nSets a variable to itself times the given value. Synonymous with: Var *= Value.",
|
||||
\ 'EnvSet' :
|
||||
\ "EnvSet, EnvVar, Value\nWrites a value to a variable contained in the environment.",
|
||||
\ 'EnvSub' :
|
||||
\ "EnvSub, Var, Value [, TimeUnits]\nVar -= Value [, TimeUnits]\nVar--\nSets a variable to itself minus the given value (can also compare date-time values). Synonymous with: Var -= Value.",
|
||||
\ 'EnvUpdate' :
|
||||
\ "EnvUpdate\nNotifies the OS and all running applications that environment variable(s) have changed.",
|
||||
\ 'Exit' :
|
||||
\ "Exit [, ExitCode]\nExits the current thread or (if the script is not persistent and contains no hotkeys) the entire script.",
|
||||
\ 'ExitApp' :
|
||||
\ "ExitApp [, ExitCode]\nTerminates the script unconditionally.",
|
||||
\ 'FileAppend' :
|
||||
\ "FileAppend [, Text, Filename, Encoding]\nWrites text to the end of a file (first creating the file, if necessary).",
|
||||
\ 'FileCopy' :
|
||||
\ "FileCopy, SourcePattern, DestPattern [, Flag]\nCopies one or more files.",
|
||||
\ 'FileCopyDir' :
|
||||
\ "FileCopyDir, Source, Dest [, Flag]\nCopies a folder along with all its sub-folders and files (similar to xcopy).",
|
||||
\ 'FileCreateDir' :
|
||||
\ "FileCreateDir, DirName\nCreates a directory/folder. ",
|
||||
\ 'FileCreateShortcut' :
|
||||
\ "FileCreateShortcut, Target, LinkFile [, WorkingDir, Args, Description, IconFile, ShortcutKey, IconNumber, RunState]\nCreates a shortcut (.lnk) file.",
|
||||
\ 'FileDelete' :
|
||||
\ "FileDelete, FilePattern\nDeletes one or more files. ",
|
||||
\ 'FileEncoding' :
|
||||
\ "FileEncoding [, Encoding]\nSets the default encoding for FileRead, FileReadLine, Loop Read, FileAppend, and FileOpen.",
|
||||
\ 'FileGetAttrib' :
|
||||
\ "FileGetAttrib, OutputVar [, Filename]\nAttributeString := FileExist(FilePattern)\nReports whether a file or folder is read-only, hidden, etc. ",
|
||||
\ 'FileGetShortcut' :
|
||||
\ "FileGetShortcut, LinkFile [, OutTarget, OutDir, OutArgs, OutDescription, OutIcon, OutIconNum, OutRunState]\nRetrieves information about a shortcut (.lnk) file, such as its target file. ",
|
||||
\ 'FileGetSize' :
|
||||
\ "FileGetSize, OutputVar [, Filename, Units]\nRetrieves the size of a file.",
|
||||
\ 'FileGetTime' :
|
||||
\ "FileGetTime, OutputVar [, Filename, WhichTime]\nRetrieves the datetime stamp of a file or folder.",
|
||||
\ 'FileGetVersion' :
|
||||
\ "FileGetVersion, OutputVar [, Filename]\nRetrieves the version of a file.",
|
||||
\ 'FileInstall' :
|
||||
\ "FileInstall, Source, Dest [, Flag]\nIncludes the specified file inside the compiled version of the script.",
|
||||
\ 'FileMove' :
|
||||
\ "FileMove, SourcePattern, DestPattern [, Flag]\nMoves or renames one or more files.",
|
||||
\ 'FileMoveDir' :
|
||||
\ "FileMoveDir, Source, Dest [, Flag]\nMoves a folder along with all its sub-folders and files. It can also rename a folder.",
|
||||
\ 'FileOpen' :
|
||||
\ "file := FileOpen(Filename, Flags [, Encoding])\nOpens a file.",
|
||||
\ 'FileRead' :
|
||||
\ "FileRead, OutputVar, Filename\nReads a file's contents into a variable.",
|
||||
\ 'FileReadLine' :
|
||||
\ "FileReadLine, OutputVar, Filename, LineNum\nReads the specified line from a file and stores the text in a variable.",
|
||||
\ 'FileRecycle' :
|
||||
\ "FileRecycle, FilePattern\nSends a file or directory to the recycle bin, if possible.",
|
||||
\ 'FileRecycleEmpty' :
|
||||
\ "FileRecycleEmpty [, DriveLetter]\nEmpties the recycle bin. ",
|
||||
\ 'FileRemoveDir' :
|
||||
\ "FileRemoveDir, DirName [, Recurse?]\nDeletes a folder.",
|
||||
\ 'FileSelectFile' :
|
||||
\ "FileSelectFile, OutputVar [, Options, RootDir\Filename, Prompt, Filter]\nDisplays a standard dialog that allows the user to open or save file(s).",
|
||||
\ 'FileSelectFolder' :
|
||||
\ "FileSelectFolder, OutputVar [, StartingFolder, Options, Prompt]\nDisplays a standard dialog that allows the user to select a folder.",
|
||||
\ 'FileSetAttrib' :
|
||||
\ "FileSetAttrib, Attributes [, FilePattern, OperateOnFolders?, Recurse?]\nChanges the attributes of one or more files or folders. Wildcards are supported.",
|
||||
\ 'FileSetTime' :
|
||||
\ "FileSetTime [, YYYYMMDDHH24MISS, FilePattern, WhichTime, OperateOnFolders?, Recurse?]\nChanges the datetime stamp of one or more files or folders. Wildcards are supported.",
|
||||
\ 'For-loop' :
|
||||
\ "For Key [, Value] in Expression\nRepeats a series of commands once for each key-value pair in an object.",
|
||||
\ 'FormatTime' :
|
||||
\ "FormatTime, OutputVar [, YYYYMMDDHH24MISS, Format]\nTransforms a YYYYMMDDHH24MISS timestamp into the specified date/time format.",
|
||||
\ 'GetKeyState' :
|
||||
\ "GetKeyState, OutputVar, KeyName [, Mode]\n KeyIsDown := GetKeyState(\"KeyName\" [, \"Mode\"])\nChecks if a keyboard key or mouse/joystick button is down or up. Also retrieves joystick status.",
|
||||
\ 'Gosub' :
|
||||
\ "Gosub, Label\nJumps to the specified label and continues execution until Return is encountered.",
|
||||
\ 'Goto' :
|
||||
\ "Goto, Label\nJumps to the specified label and continues execution.",
|
||||
\ 'GroupActivate' :
|
||||
\ "GroupActivate, GroupName [, R]\nActivates the next window in a window group that was defined with GroupAdd. ",
|
||||
\ 'GroupAdd' :
|
||||
\ "GroupAdd, GroupName [, WinTitle, WinText, Label, ExcludeTitle, ExcludeText]\nAdds a window specification to a window group, creating the group if necessary.",
|
||||
\ 'GroupClose' :
|
||||
\ "GroupClose, GroupName [, A|R]\nCloses the active window if it was just activated by GroupActivate or GroupDeactivate. It then activates the next window in the series. It can also close all windows in a group. ",
|
||||
\ 'GroupDeactivate' :
|
||||
\ "GroupDeactivate, GroupName [, R]\nSimilar to GroupActivate except activates the next window not in the group.",
|
||||
\ 'GUI' :
|
||||
\ "Gui, sub-command [, Param2, Param3, Param4]\nCreates and manages windows and controls. Such windows can be used as data entry forms or custom user interfaces.",
|
||||
\ 'GuiControl' :
|
||||
\ "GuiControl, Sub-command, ControlID [, Param3]\nMakes a variety of changes to a control in a GUI window.",
|
||||
\ 'GuiControlGet' :
|
||||
\ "GuiControlGet, OutputVar [, Sub-command, ControlID, Param4]\nRetrieves various types of information about a control in a GUI window. ",
|
||||
\ 'Hotkey' :
|
||||
\ "Hotkey, KeyName [, Label, Options]\nHotkey, IfWinActive/Exist [, WinTitle, WinText]\nHotkey, If, Expression\nCreates, modifies, enables, or disables a hotkey while the script is running.",
|
||||
\ 'If' :
|
||||
\ "IfEqual, var, value (same: if var = value)\nIfNotEqual, var, value (same: if var <> value) (!= can be used in place of <>)\nIfGreater, var, value (same: if var > value)\nIfGreaterOrEqual, var, value (same: if var >= value)\nIfLess, var, value (same: if var < value)\nIfLessOrEqual, var, value (same: if var <= value)\nIf var ; If var's contents are blank or 0, it is considered false. Otherwise, it is true.\nif Var between LowerBound and UpperBound\nif Var not between LowerBound and UpperBound\nSee also: IfInString\nSpecifies the command(s) to perform if the comparison of a variable to a value evalutes to TRUE. When more than one command is present, enclose them in a block (braces).\nif Var in MatchList\nif Var not in <i>MatchList<br>\n</i>if Var contains MatchList\nif Var not contains MatchList\nChecks whether a variable's contents match one of the items in a list.\n",
|
||||
\ 'IfEqual' :
|
||||
\ "IfEqual, var, value (same: if var = value)\nIfNotEqual, var, value (same: if var <> value) (!= can be used in place of <>)\nIfGreater, var, value (same: if var > value)\nIfGreaterOrEqual, var, value (same: if var >= value)\nIfLess, var, value (same: if var < value)\nIfLessOrEqual, var, value (same: if var <= value)\nIf var ; If var's contents are blank or 0, it is considered false. Otherwise, it is true.\nSee also: IfInString\nSpecifies the command(s) to perform if the comparison of a variable to a value evalutes to TRUE. When more than one command is present, enclose them in a block (braces).",
|
||||
\ 'IfNotEqual' :
|
||||
\ "IfEqual, var, value (same: if var = value)\nIfNotEqual, var, value (same: if var <> value) (!= can be used in place of <>)\nIfGreater, var, value (same: if var > value)\nIfGreaterOrEqual, var, value (same: if var >= value)\nIfLess, var, value (same: if var < value)\nIfLessOrEqual, var, value (same: if var <= value)\nIf var ; If var's contents are blank or 0, it is considered false. Otherwise, it is true.\nSee also: IfInString\nSpecifies the command(s) to perform if the comparison of a variable to a value evalutes to TRUE. When more than one command is present, enclose them in a block (braces).",
|
||||
\ 'IfLess' :
|
||||
\ "IfEqual, var, value (same: if var = value)\nIfNotEqual, var, value (same: if var <> value) (!= can be used in place of <>)\nIfGreater, var, value (same: if var > value)\nIfGreaterOrEqual, var, value (same: if var >= value)\nIfLess, var, value (same: if var < value)\nIfLessOrEqual, var, value (same: if var <= value)\nIf var ; If var's contents are blank or 0, it is considered false. Otherwise, it is true.\nSee also: IfInString\nSpecifies the command(s) to perform if the comparison of a variable to a value evalutes to TRUE. When more than one command is present, enclose them in a block (braces).",
|
||||
\ 'IfLessOrEqual' :
|
||||
\ "IfEqual, var, value (same: if var = value)\nIfNotEqual, var, value (same: if var <> value) (!= can be used in place of <>)\nIfGreater, var, value (same: if var > value)\nIfGreaterOrEqual, var, value (same: if var >= value)\nIfLess, var, value (same: if var < value)\nIfLessOrEqual, var, value (same: if var <= value)\nIf var ; If var's contents are blank or 0, it is considered false. Otherwise, it is true.\nSee also: IfInString\nSpecifies the command(s) to perform if the comparison of a variable to a value evalutes to TRUE. When more than one command is present, enclose them in a block (braces).",
|
||||
\ 'IfGreater' :
|
||||
\ "IfEqual, var, value (same: if var = value)\nIfNotEqual, var, value (same: if var <> value) (!= can be used in place of <>)\nIfGreater, var, value (same: if var > value)\nIfGreaterOrEqual, var, value (same: if var >= value)\nIfLess, var, value (same: if var < value)\nIfLessOrEqual, var, value (same: if var <= value)\nIf var ; If var's contents are blank or 0, it is considered false. Otherwise, it is true.\nSee also: IfInString\nSpecifies the command(s) to perform if the comparison of a variable to a value evalutes to TRUE. When more than one command is present, enclose them in a block (braces).",
|
||||
\ 'IfGreaterOrEqual' :
|
||||
\ "IfEqual, var, value (same: if var = value)\nIfNotEqual, var, value (same: if var <> value) (!= can be used in place of <>)\nIfGreater, var, value (same: if var > value)\nIfGreaterOrEqual, var, value (same: if var >= value)\nIfLess, var, value (same: if var < value)\nIfLessOrEqual, var, value (same: if var <= value)\nIf var ; If var's contents are blank or 0, it is considered false. Otherwise, it is true.\nSee also: IfInString\nSpecifies the command(s) to perform if the comparison of a variable to a value evalutes to TRUE. When more than one command is present, enclose them in a block (braces).",
|
||||
\ 'IfExist' :
|
||||
\ "IfExist, FilePattern\nIfNotExist, FilePattern\nAttributeString := FileExist(FilePattern)\nChecks for the existence of a file or folder.",
|
||||
\ 'IfNotExist' :
|
||||
\ "IfExist, FilePattern\nIfNotExist, FilePattern\nAttributeString := FileExist(FilePattern)\nChecks for the existence of a file or folder.",
|
||||
\ 'if' :
|
||||
\ "if (expression)\nSpecifies the command(s) to perform if an expression evaluates to TRUE. ",
|
||||
\ 'contains' :
|
||||
\ "if Var in MatchList\nif Var not in <i>MatchList<br>\n</i>if Var contains MatchList\nif Var not contains MatchList\nChecks whether a variable's contents match one of the items in a list.",
|
||||
\ 'IfInString' :
|
||||
\ "IfInString, var, SearchString\nIfNotInString, var, SearchString\nPosition := InStr(Haystack, Needle [, CaseSensitive?, StartingPos]]) ; See the <a href=\"../Functions.htm#InStr\">InStr() function</a> for details.\nChecks if a variable contains the specified string.",
|
||||
\ 'IfNotInString' :
|
||||
\ "IfInString, var, SearchString\nIfNotInString, var, SearchString\nPosition := InStr(Haystack, Needle [, CaseSensitive?, StartingPos]]) ; See the <a href=\"../Functions.htm#InStr\">InStr() function</a> for details.\nChecks if a variable contains the specified string.",
|
||||
\ 'IfMsgBox' :
|
||||
\ "IfMsgBox, ButtonName\nChecks which button was pushed by the user during the most recent MsgBox command.",
|
||||
\ 'IfWinActive' :
|
||||
\ "IfWinActive [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nIfWinNotActive [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nUniqueID := WinActive(\"WinTitle\", \"WinText\", \"ExcludeTitle\", \"ExcludeText\")\nChecks if the specified window exists and is currently active (foremost).",
|
||||
\ 'IfWinNotActive' :
|
||||
\ "IfWinActive [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nIfWinNotActive [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nUniqueID := WinActive(\"WinTitle\", \"WinText\", \"ExcludeTitle\", \"ExcludeText\")\nChecks if the specified window exists and is currently active (foremost).",
|
||||
\ 'IfWinExist' :
|
||||
\ "IfWinExist [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nIfWinNotExist [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nUniqueID := WinExist(\"WinTitle\", \"WinText\", \"ExcludeTitle\", \"ExcludeText\")\nChecks if a matching window exists. WinExist() returns the Unique ID (HWND) of the first matching window.",
|
||||
\ 'IfWinNotExist' :
|
||||
\ "IfWinExist [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nIfWinNotExist [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nUniqueID := WinExist(\"WinTitle\", \"WinText\", \"ExcludeTitle\", \"ExcludeText\")\nChecks if a matching window exists. WinExist() returns the Unique ID (HWND) of the first matching window.",
|
||||
\ 'WinExist' :
|
||||
\ "IfWinExist [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nIfWinNotExist [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nUniqueID := WinExist(\"WinTitle\", \"WinText\", \"ExcludeTitle\", \"ExcludeText\")\nChecks if a matching window exists. WinExist() returns the Unique ID (HWND) of the first matching window.",
|
||||
\ 'ImageSearch' :
|
||||
\ "ImageSearch, OutputVarX, OutputVarY, X1, Y1, X2, Y2, ImageFile\nSearches a region of the screen for an image.",
|
||||
\ 'IniDelete' :
|
||||
\ "IniDelete, Filename, Section [, Key]\nDeletes a value from a standard format .ini file. ",
|
||||
\ 'IniRead' :
|
||||
\ "IniRead, OutputVar, Filename [, Section, Key, Default]\nReads a value from a standard format .ini file.",
|
||||
\ 'IniWrite' :
|
||||
\ "IniWrite, Value, Filename, Section [, Key]\nWrites a value to a standard format .ini file.",
|
||||
\ 'Input' :
|
||||
\ "Input [, OutputVar, Options, EndKeys, MatchList]\nWaits for the user to type a string (not supported on Windows 9x: it does nothing).",
|
||||
\ 'InputBox' :
|
||||
\ "InputBox, OutputVar [, Title, Prompt, HIDE, Width, Height, X, Y, Font, Timeout, Default]\nDisplays an input box to ask the user to enter a string.",
|
||||
\ 'KeyHistory' :
|
||||
\ "KeyHistory\nDisplays script info and a history of the most recent keystrokes and mouse clicks.",
|
||||
\ 'KeyWait' :
|
||||
\ "KeyWait, KeyName [, Options]\nWaits for a key or mouse/joystick button to be released or pressed down. ",
|
||||
\ 'ListHotkeys' :
|
||||
\ "ListHotkeys\nDisplays the hotkeys in use by the current script, whether their subroutines are currently running, and whether or not they use the keyboard or mouse hook.",
|
||||
\ 'ListLines' :
|
||||
\ "ListLines [, On|Off]\nDisplays the script lines most recently executed.",
|
||||
\ 'ListVars' :
|
||||
\ "ListVars\nDisplays the script's variables: their names and current contents.",
|
||||
\ 'ListView' :
|
||||
\ "Gui, Add, ListView, Options, ColumnTitle1|ColumnTitle2|...\nA List-View is one of the most elaborate controls provided by the operating system. In its most recognizable form, it displays a tabular view of rows and columns, the most common example of which is Explorer's list of files and folders (detail view).</p>\n<p>Though it may be elaborate, a ListView's basic features are easy to use. The syntax for creating a ListView is:",
|
||||
\ 'Loop' :
|
||||
\ "Loop [, Count]\nPerform a series of commands repeatedly: either the specified number of times or until break is encountered.",
|
||||
\ 'Menu' :
|
||||
\ "Menu, MenuName, Cmd [, P3, P4, P5]\nCreates, deletes, modifies and displays menus and menu items. Changes the tray icon and its tooltip. Controls whether the main window of a compiled script can be opened.",
|
||||
\ 'MouseClick' :
|
||||
\ "MouseClick [, WhichButton , X, Y, ClickCount, Speed, D|U, R]\nClicks or holds down a mouse button, or turns the mouse wheel. NOTE: The Click command is generally more flexible and easier to use.",
|
||||
\ 'MouseClickDrag' :
|
||||
\ "MouseClickDrag, WhichButton, X1, Y1, X2, Y2 [, Speed, R]\nClicks and holds the specified mouse button, moves the mouse to the destination coordinates, then releases the button.",
|
||||
\ 'MouseGetPos' :
|
||||
\ "MouseGetPos, [OutputVarX, OutputVarY, OutputVarWin, OutputVarControl, 1|2|3]\nRetrieves the current position of the mouse cursor, and optionally which window and control it is hovering over. ",
|
||||
\ 'MouseMove' :
|
||||
\ "MouseMove, X, Y [, Speed, R]\nMoves the mouse cursor.",
|
||||
\ 'MsgBox' :
|
||||
\ "MsgBox, Text\nMsgBox [, Options, Title, Text, Timeout]\nDisplays the specified text in a small window containing one or more buttons (such as Yes and No).",
|
||||
\ 'ObjAddRef()' :
|
||||
\ "ObjAddRef(Ptr)<br>ObjRelease(Ptr)\nIncrements or decrements an object's reference count.",
|
||||
\ 'ObjRelease()' :
|
||||
\ "ObjAddRef(Ptr)<br>ObjRelease(Ptr)\nIncrements or decrements an object's reference count.",
|
||||
\ 'OnExit' :
|
||||
\ "OnExit [, Label]\nSpecifies a subroutine to run automatically when the script exits.",
|
||||
\ 'OnMessage' :
|
||||
\ "OnMessage(MsgNumber [, \"FunctionName\", MaxThreads])\nSpecifies a function to call automatically when the script receives the specified message.",
|
||||
\ 'OutputDebug' :
|
||||
\ "OutputDebug, Text\nSends a string to the debugger (if any) for display.",
|
||||
\ 'Pause' :
|
||||
\ "#p::Pause ; Pressing Win+P once will pause the script. Pressing it again will unpause.\nPause [, On|Off|Toggle, OperateOnUnderlyingThread?]\nPauses the script's current thread.",
|
||||
\ 'PixelGetColor' :
|
||||
\ "PixelGetColor, OutputVar, X, Y [, Alt|Slow|RGB]\nRetrieves the color of the pixel at the specified x,y coordinates.",
|
||||
\ 'PixelSearch' :
|
||||
\ "PixelSearch, OutputVarX, OutputVarY, X1, Y1, X2, Y2, ColorID [, Variation, Fast|RGB]\nSearches a region of the screen for a pixel of the specified color.",
|
||||
\ 'PostMessage' :
|
||||
\ "PostMessage, Msg [, wParam, lParam, Control, WinTitle, WinText, ExcludeTitle, ExcludeText]\nSendMessage, Msg [, wParam, lParam, Control, WinTitle, WinText, ExcludeTitle, ExcludeText, Timeout]\nSends a message to a window or control (SendMessage additionally waits for acknowledgement).",
|
||||
\ 'SendMessage' :
|
||||
\ "PostMessage, Msg [, wParam, lParam, Control, WinTitle, WinText, ExcludeTitle, ExcludeText]\nSendMessage, Msg [, wParam, lParam, Control, WinTitle, WinText, ExcludeTitle, ExcludeText, Timeout]\nSends a message to a window or control (SendMessage additionally waits for acknowledgement).",
|
||||
\ 'Process' :
|
||||
\ "Process, Cmd, PID-or-Name [, Param3]\nPerforms one of the following operations on a process: checks if it exists; changes its priority; closes it; waits for it to close.",
|
||||
\ 'Progress' :
|
||||
\ "SplashImage, Off\nSplashImage [, ImageFile, Options, SubText, MainText, WinTitle, FontName]\nProgress, Off\nProgress, ProgressParam1 [, SubText, MainText, WinTitle, FontName]\nCreates or updates a window containing a progress bar or an image.",
|
||||
\ 'SplashImage' :
|
||||
\ "SplashImage, Off\nSplashImage [, ImageFile, Options, SubText, MainText, WinTitle, FontName]\nProgress, Off\nProgress, ProgressParam1 [, SubText, MainText, WinTitle, FontName]\nCreates or updates a window containing a progress bar or an image.",
|
||||
\ 'Random' :
|
||||
\ "Random, OutputVar [, Min, Max]\nRandom, , NewSeed\nGenerates a pseudo-random number.",
|
||||
\ 'RegDelete' :
|
||||
\ "RegDelete, RootKey, SubKey [, ValueName]\nDeletes a subkey or value from the registry. ",
|
||||
\ 'RegExMatch' :
|
||||
\ "FoundPos := RegExMatch(Haystack, NeedleRegEx [, UnquotedOutputVar = \"\", StartingPosition = 1])\nDetermines whether a string contains a pattern (regular expression).",
|
||||
\ 'RegExReplace' :
|
||||
\ "NewStr := RegExReplace(Haystack, NeedleRegEx [, Replacement = \"\", OutputVarCount = \"\", Limit = -1, StartingPosition = 1])\nReplaces occurrences of a pattern (regular expression) inside a string.",
|
||||
\ 'RegisterCallback' :
|
||||
\ "Address := RegisterCallback(\"FunctionName\" [, Options = \"\", ParamCount = FormalCount, EventInfo = Address])\nCreates a machine-code address that when called, redirects the call to a function in the script.",
|
||||
\ 'RegRead' :
|
||||
\ "RegRead, OutputVar, RootKey, SubKey [, ValueName]\nReads a value from the registry.",
|
||||
\ 'RegWrite' :
|
||||
\ "RegWrite, ValueType, RootKey, SubKey [, ValueName, Value]\nWrites a value to the registry.",
|
||||
\ 'Reload' :
|
||||
\ "Reload\nReplaces the currently running instance of the script with a new one. ",
|
||||
\ 'Return' :
|
||||
\ "Return [, Expression]\nReturns from a subroutine to which execution had previously jumped via function-call, Gosub, Hotkey activation, GroupActivate, or other means. ",
|
||||
\ 'Run' :
|
||||
\ "Run, Target [, WorkingDir, Max|Min|Hide|UseErrorLevel, OutputVarPID]\nRuns an external program. Unlike Run, RunWait will wait until\nthe program finishes before continuing.",
|
||||
\ 'RunWait' :
|
||||
\ "Run, Target [, WorkingDir, Max|Min|Hide|UseErrorLevel, OutputVarPID]\nRuns an external program. Unlike Run, RunWait will wait until\nthe program finishes before continuing.",
|
||||
\ 'RunAs' :
|
||||
\ "RunAs [, User, Password, Domain]\nSpecifies a set of user credentials to use for all subsequent uses of Run and RunWait. Requires Windows 2000/XP or later.",
|
||||
\ 'Send' :
|
||||
\ "Send Keys\nSendRaw Keys\nSendInput Keys\nSendPlay Keys\nSendEvent Keys\nSends simulated keystrokes and mouse clicks to the active window.",
|
||||
\ 'SendRaw' :
|
||||
\ "Send Keys\nSendRaw Keys\nSendInput Keys\nSendPlay Keys\nSendEvent Keys\nSends simulated keystrokes and mouse clicks to the active window.",
|
||||
\ 'SendInput' :
|
||||
\ "Send Keys\nSendRaw Keys\nSendInput Keys\nSendPlay Keys\nSendEvent Keys\nSends simulated keystrokes and mouse clicks to the active window.",
|
||||
\ 'SendPlay' :
|
||||
\ "Send Keys\nSendRaw Keys\nSendInput Keys\nSendPlay Keys\nSendEvent Keys\nSends simulated keystrokes and mouse clicks to the active window.",
|
||||
\ 'SendEvent' :
|
||||
\ "Send Keys\nSendRaw Keys\nSendInput Keys\nSendPlay Keys\nSendEvent Keys\nSends simulated keystrokes and mouse clicks to the active window.",
|
||||
\ 'SendLevel' :
|
||||
\ "SendLevel, Level\nControls which artificial keyboard and mouse events are ignored by hotkeys and hotstrings.",
|
||||
\ 'SendMode' :
|
||||
\ "SendMode Input|Play|Event|InputThenPlay\nMakes Send synonymous with SendInput or SendPlay rather than the default (SendEvent). Also makes Click and MouseMove/Click/Drag use the specified method.",
|
||||
\ 'SetBatchLines' :
|
||||
\ "SetBatchLines, 20ms\nSetBatchLines, LineCount\nDetermines how fast a script will run (affects CPU utilization).",
|
||||
\ 'SetControlDelay' :
|
||||
\ "SetControlDelay, Delay\nSets the delay that will occur after each control-modifying command.",
|
||||
\ 'SetDefaultMouseSpeed' :
|
||||
\ "SetDefaultMouseSpeed, Speed\nSets the mouse speed that will be used if unspecified in Click and MouseMove/Click/Drag.",
|
||||
\ 'SetEnv' :
|
||||
\ "SetEnv, Var, Value\nVar = Value\nAssigns the specified value to a variable.",
|
||||
\ 'SetFormat' :
|
||||
\ "SetFormat, NumberType, Format\nSets the format of integers and floating point numbers generated by math operations.",
|
||||
\ 'SetKeyDelay' :
|
||||
\ "SetKeyDelay [, Delay, PressDuration, Play]\nSets the delay that will occur after each keystroke sent by Send and ControlSend.",
|
||||
\ 'SetMouseDelay' :
|
||||
\ "SetMouseDelay, Delay [, Play]\nSets the delay that will occur after each mouse movement or click.",
|
||||
\ 'SetCapsLockState' :
|
||||
\ "SetCapsLockState [, State]\nSetNumLockState [, State]\nSetScrollLockState [, State]\nSets the state of the Capslock/NumLock/ScrollLock key. Can also force the key to stay on or off.",
|
||||
\ 'SetNumLockState' :
|
||||
\ "SetCapsLockState [, State]\nSetNumLockState [, State]\nSetScrollLockState [, State]\nSets the state of the Capslock/NumLock/ScrollLock key. Can also force the key to stay on or off.",
|
||||
\ 'SetScrollLockState' :
|
||||
\ "SetCapsLockState [, State]\nSetNumLockState [, State]\nSetScrollLockState [, State]\nSets the state of the Capslock/NumLock/ScrollLock key. Can also force the key to stay on or off.",
|
||||
\ 'SetRegView' :
|
||||
\ "SetRegView, RegView\nSets the registry view used by RegRead, RegWrite, RegDelete and registry loops.",
|
||||
\ 'SetStoreCapslockMode' :
|
||||
\ "SetStoreCapslockMode, On|Off\nWhether to restore the state of CapsLock after a Send.",
|
||||
\ 'SetTimer' :
|
||||
\ "SetTimer [, Label, Period|On|Off, Priority]\nCauses a subroutine to be launched automatically and repeatedly at a specified time interval.",
|
||||
\ 'SetTitleMatchMode' :
|
||||
\ "SetTitleMatchMode, MatchMode\nSetTitleMatchMode, Fast|Slow\nSets the matching behavior of the WinTitle parameter in commands such as WinWait.",
|
||||
\ 'SetWinDelay' :
|
||||
\ "SetWinDelay, Delay\nSets the delay that will occur after each windowing command, such as WinActivate.",
|
||||
\ 'SetWorkingDir' :
|
||||
\ "SetWorkingDir, DirName\nChanges the script's current working directory. ",
|
||||
\ 'Shutdown' :
|
||||
\ "Shutdown, Code\nShuts down, restarts, or logs off the system.",
|
||||
\ 'Sleep' :
|
||||
\ "Sleep, DelayInMilliseconds\nWaits the specified amount of time before continuing.",
|
||||
\ 'Sort' :
|
||||
\ "Sort, VarName [, Options]\nArranges a variable's contents in alphabetical, numerical, or random order (optionally removing duplicates).",
|
||||
\ 'SoundBeep' :
|
||||
\ "SoundBeep [, Frequency, Duration]\nEmits a tone from the PC speaker.",
|
||||
\ 'SoundGet' :
|
||||
\ "SoundGet, OutputVar [, ComponentType, ControlType, DeviceNumber]\nRetrieves various settings from a sound device (master mute, master volume, etc.)",
|
||||
\ 'SoundGetWaveVolume' :
|
||||
\ "SoundGetWaveVolume, OutputVar [, DeviceNumber]\nRetrieves the wave output volume for a sound device.",
|
||||
\ 'SoundPlay' :
|
||||
\ "SoundPlay, Filename [, wait]\nPlays a sound, video, or other supported file type. ",
|
||||
\ 'SoundSet' :
|
||||
\ "SoundSet, NewSetting [, ComponentType, ControlType, DeviceNumber]\nChanges various settings of a sound device (master mute, master volume, etc.)",
|
||||
\ 'SoundSetWaveVolume' :
|
||||
\ "SoundSetWaveVolume, Percent [, DeviceNumber]\nChanges the wave output volume for a sound device.",
|
||||
\ 'SplashTextOn' :
|
||||
\ "SplashTextOff\nSplashTextOn [, Width, Height, Title, Text]\nCreates a customizable text popup window.",
|
||||
\ 'SplashTextOff' :
|
||||
\ "SplashTextOff\nSplashTextOn [, Width, Height, Title, Text]\nCreates a customizable text popup window.",
|
||||
\ 'SplitPath' :
|
||||
\ "SplitPath, InputVar [, OutFileName, OutDir, OutExtension, OutNameNoExt, OutDrive]\nSeparates a file name or URL into its name, directory, extension, and drive.",
|
||||
\ 'StatusbarGetText' :
|
||||
\ "StatusBarGetText, OutputVar [, Part#, WinTitle, WinText, ExcludeTitle, ExcludeText]\nRetrieves the text from a standard status bar control. ",
|
||||
\ 'StatusBarWait' :
|
||||
\ "StatusBarWait [, BarText, Seconds, Part#, WinTitle, WinText, Interval, ExcludeTitle, ExcludeText]\nWaits until a window's status bar contains the specified string.",
|
||||
\ 'StringCaseSense' :
|
||||
\ "StringCaseSense, On|Off|Locale\nDetermines whether string comparisons are case sensitive (default is \"not case sensitive\"). ",
|
||||
\ 'StringGetPos' :
|
||||
\ "StringGetPos, OutputVar, InputVar, SearchText [, L#|R#, Offset]\nPosition := InStr(Haystack, Needle [, CaseSensitive?, StartingPos]) ; See the <a href=\"../Functions.htm#InStr\">InStr() function</a> for details.\nRetrieves the position of the specified substring within a string.",
|
||||
\ 'StringLeft' :
|
||||
\ "StringLeft, OutputVar, InputVar, Count\nStringRight, OutputVar, InputVar, Count\nNewStr := SubStr(String, StartPos [, Length]) ; See the <a href=\"../Functions.htm#SubStr\">SubStr() function</a> for details.\nRetrieves a number of characters from the left or right-hand side of\na string.",
|
||||
\ 'StringRight' :
|
||||
\ "StringLeft, OutputVar, InputVar, Count\nStringRight, OutputVar, InputVar, Count\nNewStr := SubStr(String, StartPos [, Length]) ; See the <a href=\"../Functions.htm#SubStr\">SubStr() function</a> for details.\nRetrieves a number of characters from the left or right-hand side of\na string.",
|
||||
\ 'StrLen' :
|
||||
\ "OutputVar := StrLen(InputVar)\nStringLen, OutputVar, InputVar\nRetrieves the count of how many characters are in a string.",
|
||||
\ 'StringLen' :
|
||||
\ "OutputVar := StrLen(InputVar)\nStringLen, OutputVar, InputVar\nRetrieves the count of how many characters are in a string.",
|
||||
\ 'StringLower' :
|
||||
\ "StringLower, OutputVar, InputVar [, T]\nStringUpper, OutputVar, InputVar [, T]\nConverts a string to lowercase or uppercase.",
|
||||
\ 'StringUpper' :
|
||||
\ "StringLower, OutputVar, InputVar [, T]\nStringUpper, OutputVar, InputVar [, T]\nConverts a string to lowercase or uppercase.",
|
||||
\ 'StringMid' :
|
||||
\ "StringMid, OutputVar, InputVar, StartChar [, Count , L]\nNewStr := SubStr(String, StartPos [, Length]) ; See the <a href=\"../Functions.htm#SubStr\">SubStr() function</a> for details.\nRetrieves one or more characters from the specified position in a string.",
|
||||
\ 'StringReplace' :
|
||||
\ "StringReplace, OutputVar, InputVar, SearchText [, ReplaceText, ReplaceAll?]\nReplaces the specified substring with a new string.",
|
||||
\ 'StringSplit' :
|
||||
\ "StringSplit, OutputArray, InputVar [, Delimiters, OmitChars]\nArray := StrSplit(String [, Delimiters, OmitChars]) ; [v1.1.13+]\nSeparates a string into an array of substrings using the specified delimiters.",
|
||||
\ 'StrSplit()' :
|
||||
\ "StringSplit, OutputArray, InputVar [, Delimiters, OmitChars]\nArray := StrSplit(String [, Delimiters, OmitChars]) ; [v1.1.13+]\nSeparates a string into an array of substrings using the specified delimiters.",
|
||||
\ 'StringTrimLeft' :
|
||||
\ "StringTrimLeft, OutputVar, InputVar, Count\nStringTrimRight, OutputVar, InputVar, Count\nNewStr := SubStr(String, StartPos [, Length]) ; See the <a href=\"../Functions.htm#SubStr\">SubStr() function</a> for details.\nRemoves a number of characters from the left or right-hand side of a\nstring.",
|
||||
\ 'StringTrimRight' :
|
||||
\ "StringTrimLeft, OutputVar, InputVar, Count\nStringTrimRight, OutputVar, InputVar, Count\nNewStr := SubStr(String, StartPos [, Length]) ; See the <a href=\"../Functions.htm#SubStr\">SubStr() function</a> for details.\nRemoves a number of characters from the left or right-hand side of a\nstring.",
|
||||
\ 'StrPut' :
|
||||
\ "StrPut(String [, Encoding = None ] )\nStrPut(String, Address [, Length] [, Encoding = None ] )\nStrGet(Address [, Length] [, Encoding = None ] )\nCopies a string to or from a memory address, optionally converting to or from a given code page.",
|
||||
\ 'StrGet' :
|
||||
\ "StrPut(String [, Encoding = None ] )\nStrPut(String, Address [, Length] [, Encoding = None ] )\nStrGet(Address [, Length] [, Encoding = None ] )\nCopies a string to or from a memory address, optionally converting to or from a given code page.",
|
||||
\ 'Suspend' :
|
||||
\ "Suspend [, Mode]\nDisables or enables all or selected hotkeys and hotstrings.",
|
||||
\ 'SysGet' :
|
||||
\ "SysGet, OutputVar, Sub-command [, Param3]\nRetrieves screen resolution, multi-monitor info, dimensions of system objects, and other system properties.",
|
||||
\ 'Thread' :
|
||||
\ "Thread, NoTimers [, false]\nThread, Priority, n\nThread, Interrupt [, Duration, LineCount]\nSets the priority or interruptibility of threads. It can also temporarily disable all timers.",
|
||||
\ 'Throw' :
|
||||
\ "Throw [, Expression]\nSignals the occurrence of an error. This signal can be caught by a try-catch statement.",
|
||||
\ 'ToolTip' :
|
||||
\ "ToolTip [, Text, X, Y, WhichToolTip]\nCreates an always-on-top window anywhere on the screen.",
|
||||
\ 'Transform' :
|
||||
\ "Transform, OutputVar, Cmd, Value1 [, Value2]\nPerforms miscellaneous math functions, bitwise operations, and tasks such as ASCII/Unicode conversion.",
|
||||
\ 'TrayTip' :
|
||||
\ "TrayTip [, Title, Text, Seconds, Options]\nCreates a balloon message window near the tray icon. Requires Windows 2000/XP or later.",
|
||||
\ 'TreeView' :
|
||||
\ "Gui, Add, TreeView, Options\nA Tree-View displays a hierarchy of items by indenting child items beneath their parents. The most common example is Explorer's tree of drives and folders.",
|
||||
\ 'Trim' :
|
||||
\ "Result := Trim(String, OmitChars = \" `t\")\nResult := LTrim(String, OmitChars = \" `t\")\nResult := RTrim(String, OmitChars = \" `t\")\nTrims characters from the beginning and/or end of a string.",
|
||||
\ 'Try' :
|
||||
\ "Try Statement\nGuards one or more statements (commands or expressions) against runtime errors and exceptions thrown by the throw command.",
|
||||
\ 'Until' :
|
||||
\ "Loop {\n ...\n} Until Expression\nApplies a condition to the continuation of a Loop or For-loop.",
|
||||
\ 'UrlDownloadToFile' :
|
||||
\ "UrlDownloadToFile, URL, Filename\nDownloads a file from the Internet.",
|
||||
\ 'VarSetCapacity()' :
|
||||
\ "GrantedCapacity := VarSetCapacity(UnquotedVarName [, RequestedCapacity, FillByte])\nEnlarges a variable's holding capacity or frees its memory. Normally, this is necessary only for unusual circumstances such as DllCall.",
|
||||
\ 'While-loop' :
|
||||
\ "While Expression\nPerforms a series of commands repeatedly until the specified expression evaluates to false.",
|
||||
\ 'WinActivate' :
|
||||
\ "WinActivate [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nActivates the specified window (makes it foremost).",
|
||||
\ 'WinActivateBottom' :
|
||||
\ "WinActivateBottom [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nSame as WinActivate except that it activates the bottommost (least recently active) matching window rather than the topmost.",
|
||||
\ 'WinClose' :
|
||||
\ "WinClose [, WinTitle, WinText, SecondsToWait, ExcludeTitle, ExcludeText]\nCloses the specified window.",
|
||||
\ 'WinGet' :
|
||||
\ "WinGet, OutputVar [, Cmd, WinTitle, WinText, ExcludeTitle, ExcludeText]\nRetrieves the specified window's unique ID, process ID, process name, or a list of its controls. It can also retrieve a list of all windows matching the specified criteria.",
|
||||
\ 'WinGetActiveStats' :
|
||||
\ "WinGetActiveStats, Title, Width, Height, X, Y\nCombines the functions of WinGetActiveTitle and WinGetPos into one command.",
|
||||
\ 'WinGetActiveTitle' :
|
||||
\ "WinGetActiveTitle, OutputVar\nRetrieves the title of the active window.",
|
||||
\ 'WinGetClass' :
|
||||
\ "WinGetClass, OutputVar [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nRetrieves the specified window's class name.",
|
||||
\ 'WinGetPos' :
|
||||
\ "WinGetPos [, X, Y, Width, Height, WinTitle, WinText, ExcludeTitle, ExcludeText]\nRetrieves the position and size of the specified window.",
|
||||
\ 'WinGetText' :
|
||||
\ "WinGetText, OutputVar [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nRetrieves the text from the specified window.",
|
||||
\ 'WinGetTitle' :
|
||||
\ "WinGetTitle, OutputVar [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nRetrieves the title of the specified window.",
|
||||
\ 'WinHide' :
|
||||
\ "WinHide [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nHides the specified window.",
|
||||
\ 'WinKill' :
|
||||
\ "WinKill [, WinTitle, WinText, SecondsToWait, ExcludeTitle, ExcludeText]\nForces the specified window to close.",
|
||||
\ 'WinMaximize' :
|
||||
\ "WinMaximize [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nEnlarges the specified window to its maximum size. ",
|
||||
\ 'WinMenuSelectItem' :
|
||||
\ "WinMenuSelectItem, WinTitle, WinText, Menu [, SubMenu1, SubMenu2, SubMenu3, SubMenu4, SubMenu5, SubMenu6, ExcludeTitle, ExcludeText]\nInvokes a menu item from the menu bar of the specified window.",
|
||||
\ 'WinMinimize' :
|
||||
\ "WinMinimize [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nCollapses the specified window into a button on the task bar.",
|
||||
\ 'WinMinimizeAll' :
|
||||
\ "WinMinimizeAll\nWinMinimizeAllUndo\nMinimizes or unminimizes all windows.",
|
||||
\ 'WinMinimizeAllUndo' :
|
||||
\ "WinMinimizeAll\nWinMinimizeAllUndo\nMinimizes or unminimizes all windows.",
|
||||
\ 'WinMove' :
|
||||
\ "WinMove, X, Y\nWinMove, WinTitle, WinText, X, Y [, Width, Height, ExcludeTitle, ExcludeText]\nChanges the position and/or size of the specified window.",
|
||||
\ 'WinRestore' :
|
||||
\ "WinRestore [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nUnminimizes or unmaximizes the specified window if it is minimized or maximized.",
|
||||
\ 'WinSet' :
|
||||
\ "WinSet, Attribute, Value [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nMakes a variety of changes to the specified window, such as \"always on top\" and transparency.",
|
||||
\ 'WinSetTitle' :
|
||||
\ "WinSetTitle, NewTitle\nWinSetTitle, WinTitle, WinText, NewTitle [, ExcludeTitle, ExcludeText]\nChanges the title of the specified window.",
|
||||
\ 'WinShow' :
|
||||
\ "WinShow [, WinTitle, WinText, ExcludeTitle, ExcludeText]\nUnhides the specified window.",
|
||||
\ 'WinWait' :
|
||||
\ "WinWait [, WinTitle, WinText, Seconds, ExcludeTitle, ExcludeText]\nWaits until the specified window\nexists.",
|
||||
\ 'WinWaitActive' :
|
||||
\ "WinWaitActive [, WinTitle, WinText, Seconds, ExcludeTitle, ExcludeText]\nWinWaitNotActive [, WinTitle, WinText, Seconds, ExcludeTitle, ExcludeText]\nWaits until the specified window\nis active or not active. ",
|
||||
\ 'WinWaitNotActive' :
|
||||
\ "WinWaitActive [, WinTitle, WinText, Seconds, ExcludeTitle, ExcludeText]\nWinWaitNotActive [, WinTitle, WinText, Seconds, ExcludeTitle, ExcludeText]\nWaits until the specified window\nis active or not active. ",
|
||||
\ 'WinWaitClose' :
|
||||
\ "WinWaitClose [, WinTitle, WinText, Seconds, ExcludeTitle, ExcludeText]\nWaits until the specified window\ndoes not exist.",
|
||||
\ '#AllowSameLineComments' :
|
||||
\ "#AllowSameLineComments\nRemoved in v1.1.09: AutoIt scripts are no longer supported.</p>\n<p>Only for AutoIt v2 (.aut) scripts: Allows a comment to appear on the same line as a command.",
|
||||
\ '#ClipboardTimeout' :
|
||||
\ "#ClipboardTimeout Milliseconds\nChanges how long the script keeps trying to access the clipboard when the first attempt fails.",
|
||||
\ '#CommentFlag' :
|
||||
\ "#CommentFlag NewString\nChanges the script's comment symbol from semicolon to some other string.",
|
||||
\ '#ErrorStdOut' :
|
||||
\ "#ErrorStdOut\nSends any syntax error that prevents a script from launching to stdout rather than displaying a dialog.",
|
||||
\ '#EscapeChar' :
|
||||
\ "#EscapeChar NewChar\nChanges the script's escape character (e.g. accent vs. backslash).",
|
||||
\ '#HotkeyInterval' :
|
||||
\ "#HotkeyInterval Milliseconds\nAlong with #MaxHotkeysPerInterval, specifies the rate of hotkey activations beyond which a warning dialog will be displayed.",
|
||||
\ '#HotkeyModifierTimeout' :
|
||||
\ "#HotkeyModifierTimeout Milliseconds\nAffects the behavior of hotkey modifiers: CTRL, ALT, WIN, and SHIFT.",
|
||||
\ '#Hotstring' :
|
||||
\ "#Hotstring NoMouse\n#Hotstring EndChars NewChars\n#Hotstring NewOptions\nChanges hotstring options or ending characters.",
|
||||
\ '#If' :
|
||||
\ "#If [, Expression ]\nCreates context-sensitive hotkeys and hotstrings. Such hotkeys perform a different action (or none at all) depending on the result of an expression.",
|
||||
\ '#IfTimeout' :
|
||||
\ "#IfTimeout Timeout\nSets the maximum time that may be spent evaluating a single #If expression.",
|
||||
\ '#IfWinActive' :
|
||||
\ "#IfWinActive [, WinTitle, WinText]\n#IfWinExist [, WinTitle, WinText]\n#IfWinNotActive [, WinTitle, WinText]\n#IfWinNotExist [, WinTitle, WinText]\n#If [, Expression]\nCreates context-sensitive hotkeys and hotstrings. Such hotkeys perform a different action (or none at all) depending on the type of window that is active or exists.",
|
||||
\ '#IfWinNotActive' :
|
||||
\ "#IfWinActive [, WinTitle, WinText]\n#IfWinExist [, WinTitle, WinText]\n#IfWinNotActive [, WinTitle, WinText]\n#IfWinNotExist [, WinTitle, WinText]\n#If [, Expression]\nCreates context-sensitive hotkeys and hotstrings. Such hotkeys perform a different action (or none at all) depending on the type of window that is active or exists.",
|
||||
\ '#IfWinExist' :
|
||||
\ "#IfWinActive [, WinTitle, WinText]\n#IfWinExist [, WinTitle, WinText]\n#IfWinNotActive [, WinTitle, WinText]\n#IfWinNotExist [, WinTitle, WinText]\n#If [, Expression]\nCreates context-sensitive hotkeys and hotstrings. Such hotkeys perform a different action (or none at all) depending on the type of window that is active or exists.",
|
||||
\ '#IfWinNotExist' :
|
||||
\ "#IfWinActive [, WinTitle, WinText]\n#IfWinExist [, WinTitle, WinText]\n#IfWinNotActive [, WinTitle, WinText]\n#IfWinNotExist [, WinTitle, WinText]\n#If [, Expression]\nCreates context-sensitive hotkeys and hotstrings. Such hotkeys perform a different action (or none at all) depending on the type of window that is active or exists.",
|
||||
\ '#Include' :
|
||||
\ "#Include FileOrDirName\n#Include <LibName>\n#IncludeAgain FileOrDirName\nCauses the script to behave as though the specified file's contents are present at this exact position.",
|
||||
\ '#InputLevel' :
|
||||
\ "#InputLevel [, Level]\nControls which artificial keyboard and mouse events are ignored by hotkeys and hotstrings.",
|
||||
\ '#InstallKeybdHook' :
|
||||
\ "#InstallKeybdHook\nForces the unconditional installation of the keyboard hook.",
|
||||
\ '#InstallMouseHook' :
|
||||
\ "#InstallMouseHook\nForces the unconditional installation of the mouse hook.",
|
||||
\ '#KeyHistory' :
|
||||
\ "#KeyHistory MaxEvents\nSets the maximum number of keyboard and mouse events displayed by the KeyHistory window. You can set it to 0 to disable key history.",
|
||||
\ '#MaxHotkeysPerInterval' :
|
||||
\ "#MaxHotkeysPerInterval Value\nAlong with #HotkeyInterval, specifies the rate of hotkey activations beyond which a warning dialog will be displayed.",
|
||||
\ '#MaxMem' :
|
||||
\ "#MaxMem Megabytes\nSets the maximum capacity of each variable to the specified number of megabytes.",
|
||||
\ '#MaxThreads' :
|
||||
\ "#MaxThreads Value\nSets the maximum number of simultaneous threads.",
|
||||
\ '#MaxThreadsBuffer' :
|
||||
\ "#MaxThreadsBuffer On|Off\nCauses some or all hotkeys to buffer rather than ignore keypresses when their #MaxThreadsPerHotkey limit has been reached. ",
|
||||
\ '#MaxThreadsPerHotkey' :
|
||||
\ "#MaxThreadsPerHotkey Value\nSets the maximum number of simultaneous threads per hotkey or hotstring.",
|
||||
\ '#MenuMaskKey' :
|
||||
\ "#MenuMaskKey KeyName\nChanges which key is used to mask Win or Alt keyup events.",
|
||||
\ '#NoEnv' :
|
||||
\ "#NoEnv\nAvoids checking empty variables to see if they are environment variables (recommended for all new scripts).",
|
||||
\ '#NoTrayIcon' :
|
||||
\ "#NoTrayIcon\nDisables the showing of a tray icon.",
|
||||
\ '#Persistent' :
|
||||
\ "#Persistent\nKeeps a script permanently running (that is, until the user closes it or ExitApp is encountered).",
|
||||
\ '#SingleInstance' :
|
||||
\ "#SingleInstance [force|ignore|off]\nDetermines whether a script is allowed to run again when it is already running.",
|
||||
\ '#UseHook' :
|
||||
\ "#UseHook [On|Off]\nForces the use of the hook to implement all or some keyboard hotkeys.",
|
||||
\ '#Warn' :
|
||||
\ "#Warn [, WarningType, WarningMode]\nEnables or disables warnings for specific conditions which may indicate an error, such as a typo or missing \"global\" declaration.",
|
||||
\ '#WinActivateForce' :
|
||||
\ "#WinActivateForce\nSkips the gentle method of activating a window and goes straight to the forceful method. ",
|
||||
\ 'ACos': '',
|
||||
\ 'ASin': '',
|
||||
\ 'ATan': '',
|
||||
\ '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_EventInfo': '',
|
||||
\ 'A_ExitReason': '',
|
||||
\ 'A_FormatFloat': '',
|
||||
\ 'A_FormatInteger': '',
|
||||
\ 'A_Gui': '',
|
||||
\ 'A_GuiControl': '',
|
||||
\ 'A_GuiControlEvent': '',
|
||||
\ 'A_GuiEvent': '',
|
||||
\ 'A_GuiHeight': '',
|
||||
\ 'A_GuiWidth': '',
|
||||
\ 'A_GuiX': '',
|
||||
\ 'A_GuiY': '',
|
||||
\ 'A_Hour': '',
|
||||
\ 'A_IPAddress1': '',
|
||||
\ 'A_IPAddress2': '',
|
||||
\ 'A_IPAddress3': '',
|
||||
\ 'A_IPAddress4': '',
|
||||
\ 'A_IconFile': '',
|
||||
\ 'A_IconHidden': '',
|
||||
\ 'A_IconNumber': '',
|
||||
\ 'A_IconTip': '',
|
||||
\ 'A_Index': '',
|
||||
\ 'A_IsAdmin': '',
|
||||
\ 'A_IsCompiled': '',
|
||||
\ 'A_IsSuspended': '',
|
||||
\ 'A_KeyDelay': '',
|
||||
\ 'A_Language': '',
|
||||
\ 'A_LastError': '',
|
||||
\ 'A_LineFile': '',
|
||||
\ 'A_LineNumber': '',
|
||||
\ 'A_LoopField': '',
|
||||
\ 'A_LoopFileName': '',
|
||||
\ 'A_LoopReadLine': '',
|
||||
\ 'A_LoopRegName': '',
|
||||
\ 'A_MM': '',
|
||||
\ 'A_MMM': '',
|
||||
\ 'A_MMMM': '',
|
||||
\ 'A_MSec': '',
|
||||
\ 'A_Min': '',
|
||||
\ 'A_MouseDelay': '',
|
||||
\ 'A_MyDocuments': '',
|
||||
\ 'A_Now': '',
|
||||
\ 'A_NowUTC': '',
|
||||
\ 'A_OSType': '',
|
||||
\ 'A_OSVersion': '',
|
||||
\ 'A_PriorHotkey': '',
|
||||
\ 'A_ProgramFiles': '',
|
||||
\ 'A_Programs': '',
|
||||
\ 'A_ProgramsCommon': '',
|
||||
\ 'A_STringCaseSense': '',
|
||||
\ 'A_ScreenHeight': '',
|
||||
\ 'A_ScreenWidth': '',
|
||||
\ 'A_ScriptDir': '',
|
||||
\ 'A_ScriptFullPath': '',
|
||||
\ 'A_ScriptName': '',
|
||||
\ 'A_Sec': '',
|
||||
\ 'A_Space': '',
|
||||
\ 'A_StartMenu': '',
|
||||
\ 'A_StartMenuCommon': '',
|
||||
\ 'A_Startup': '',
|
||||
\ 'A_StartupCommon': '',
|
||||
\ 'A_Tab': '',
|
||||
\ 'A_Temp': '',
|
||||
\ 'A_ThisHotkey': '',
|
||||
\ '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_YWeek': '',
|
||||
\ 'A_YYYY': '',
|
||||
\ 'Abs': '',
|
||||
\ 'AllowSameLineComments': '',
|
||||
\ 'Asc': '',
|
||||
\ 'Ceil': '',
|
||||
\ 'Chr': '',
|
||||
\ 'Clipboard': '',
|
||||
\ 'ClipboardAll': '',
|
||||
\ 'ClipboardTimeout': '',
|
||||
\ 'ComSpec': '',
|
||||
\ 'CommentFlag': '',
|
||||
\ 'Cos': '',
|
||||
\ 'ErrorLevel': '',
|
||||
\ 'ErrorStdOut': '',
|
||||
\ 'EscapeChar': '',
|
||||
\ 'Exp': '',
|
||||
\ 'FileExist': '',
|
||||
\ 'Floor': '',
|
||||
\ 'Gui': '',
|
||||
\ 'HotKeyModifierTimeout': '',
|
||||
\ 'HotkeyInterval': '',
|
||||
\ 'Hotstring': '',
|
||||
\ 'InStr': '',
|
||||
\ 'Include': '',
|
||||
\ 'IncludeAgain': '',
|
||||
\ 'InstallKeybdHook': '',
|
||||
\ 'InstallMouseHook': '',
|
||||
\ 'IsLabel': '',
|
||||
\ 'Ln': '',
|
||||
\ 'Log': '',
|
||||
\ 'MaxHotkeysPerInterval': '',
|
||||
\ 'MaxMem': '',
|
||||
\ 'MaxThreads': '',
|
||||
\ 'MaxThreadsBuffer': '',
|
||||
\ 'MaxThreadsPerHotkey': '',
|
||||
\ 'Mod': '',
|
||||
\ 'NoEnv': '',
|
||||
\ 'NoTrayIcon': '',
|
||||
\ 'Persistent': '',
|
||||
\ 'ProgramFiles': '',
|
||||
\ 'Round': '',
|
||||
\ 'SetNumScrollCapsLockState': '',
|
||||
\ 'Sin': '',
|
||||
\ 'SingleInstance': '',
|
||||
\ 'Sqrt': '',
|
||||
\ 'StatusBarGetText': '',
|
||||
\ 'SubStr': '',
|
||||
\ 'Tan': '',
|
||||
\ 'URLDownloadToFile': '',
|
||||
\ 'UseHook': '',
|
||||
\ 'VarSetCapacity': '',
|
||||
\ 'WinActivateForce': '',
|
||||
\ 'WinActive': '',
|
||||
\ 'ahk_class': '',
|
||||
\ 'ahk_group': '',
|
||||
\ 'ahk_id': '',
|
||||
\ 'ahk_pid': '',
|
||||
\ 'contained': '',
|
||||
\ 'false': '',
|
||||
\ 'global': '',
|
||||
\ 'local': '',
|
||||
\ 'true': '',
|
||||
\ }
|
||||
function! autohotkey#complete(findstart, base) abort
|
||||
|
||||
if a:findstart
|
||||
let line = getline('.')
|
||||
let idx = col('.') - 1
|
||||
let hasleftbrace = 0
|
||||
while idx > 0
|
||||
let idx -= 1
|
||||
let c = line[idx]
|
||||
if c =~# '\v[a-zA-Z0-9]'
|
||||
continue
|
||||
elseif c ==# '#'
|
||||
return idx
|
||||
else
|
||||
return idx+1
|
||||
endif
|
||||
endwhile
|
||||
return 0
|
||||
else
|
||||
let complete_dict = []
|
||||
for [k, v] in items(s:complete_dict)
|
||||
if k =~ '^' . a:base
|
||||
call add(complete_dict, {'word': k, 'info': v, 'icase':1})
|
||||
endif
|
||||
endfor
|
||||
return sort(complete_dict)
|
||||
endif
|
||||
endfunction
|
1
bundle/vim-autohotkey/ftdetect/autohotkey.vim
Normal file
1
bundle/vim-autohotkey/ftdetect/autohotkey.vim
Normal file
@ -0,0 +1 @@
|
||||
au BufNewFile,BufRead *.ahk setf autohotkey
|
4
bundle/vim-autohotkey/plugin/autohotkey.vim
Normal file
4
bundle/vim-autohotkey/plugin/autohotkey.vim
Normal file
@ -0,0 +1,4 @@
|
||||
augroup vim_autohotkey
|
||||
autocmd!
|
||||
autocmd FileType autohotkey setlocal omnifunc=autohotkey#complete
|
||||
augroup END
|
277
bundle/vim-autohotkey/syntax/autohotkey.vim
Normal file
277
bundle/vim-autohotkey/syntax/autohotkey.vim
Normal file
@ -0,0 +1,277 @@
|
||||
if v:version < 600
|
||||
syntax clear
|
||||
elseif exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
" add the ; for ahk comments to work well (wrap and continue)
|
||||
set comments=s1:/*,mb:*,ex:*/,:;
|
||||
|
||||
sy case ignore
|
||||
|
||||
|
||||
sy keyword ahkKeyword ahk_id ahk_pid ahk_class ahk_group ahk_parent true false
|
||||
|
||||
|
||||
" this is a great hack by savage. The problem is that it colors whatever you are
|
||||
" writing in ahkFunction color, and then it turns normal when you leave. Very
|
||||
" distracting. The solution is less elegant: list all posible ahk commands,
|
||||
" which we do next.
|
||||
|
||||
" sy match ahkFunction "^\s*\w\{1,},"
|
||||
" sy match ahkFunction "\w\{1,}," contained
|
||||
" sy match ahkFunction "^\s*\w\{1,}\s*$" contains=ahkStatement
|
||||
" sy match ahkFunction "\w\{1,}\s*$" contained
|
||||
syn keyword ahkFunction
|
||||
\ ClipWait EnvGet EnvSet EnvUpdate
|
||||
\ Drive DriveGet DriveSpaceFree FileAppend FileCopy FileCopyDir
|
||||
\ FileCreateDir FileCreateShortcut FileDelete FileGetAttrib
|
||||
\ FileGetShortcut FileGetSize FileGetTime FileGetVersion FileInstall
|
||||
\ FileMove FileMoveDir FileReadLine FileRead FileRecycle FileRecycleEmpty
|
||||
\ FileRemoveDir FileSelectFolder FileSelectFile FileSetAttrib FileSetTime
|
||||
\ IniDelete IniRead IniWrite SetWorkingDir
|
||||
\ SplitPath
|
||||
\ Gui GuiControl GuiControlGet IfMsgBox InputBox MsgBox Progress
|
||||
\ SplashImage SplashTextOn SplashTextOff ToolTip TrayTip
|
||||
\ Hotkey ListHotkeys BlockInput ControlSend ControlSendRaw GetKeyState
|
||||
\ KeyHistory KeyWait Input Send SendRaw SendInput SendPlay SendEvent
|
||||
\ SendMode SetKeyDelay SetNumScrollCapsLockState SetStoreCapslockMode
|
||||
\ EnvAdd EnvDiv EnvMult EnvSub Random SetFormat Transform
|
||||
\ AutoTrim BlockInput CoordMode Critical Edit ImageSearch
|
||||
\ ListLines ListVars Menu OutputDebug PixelGetColor PixelSearch
|
||||
\ SetBatchLines SetEnv SetTimer SysGet Thread Transform URLDownloadToFile
|
||||
\ Click ControlClick MouseClick MouseClickDrag MouseGetPos MouseMove
|
||||
\ SetDefaultMouseSpeed SetMouseDelay
|
||||
\ Process Run RunWait RunAs Shutdown Sleep
|
||||
\ RegDelete RegRead RegWrite
|
||||
\ SoundBeep SoundGet SoundGetWaveVolume SoundPlay SoundSet
|
||||
\ SoundSetWaveVolume
|
||||
\ FormatTime IfInString IfNotInString Sort StringCaseSense StringGetPos
|
||||
\ StringLeft StringRight StringLower StringUpper StringMid StringReplace
|
||||
\ StringSplit StringTrimLeft StringTrimRight
|
||||
\ Control ControlClick ControlFocus ControlGet ControlGetFocus
|
||||
\ ControlGetPos ControlGetText ControlMove ControlSend ControlSendRaw
|
||||
\ ControlSetText Menu PostMessage SendMessage SetControlDelay
|
||||
\ WinMenuSelectItem GroupActivate GroupAdd GroupClose GroupDeactivate
|
||||
\ DetectHiddenText DetectHiddenWindows SetTitleMatchMode SetWinDelay
|
||||
\ StatusBarGetText StatusBarWait WinActivate WinActivateBottom WinClose
|
||||
\ WinGet WinGetActiveStats WinGetActiveTitle WinGetClass WinGetPos
|
||||
\ WinGetText WinGetTitle WinHide WinKill WinMaximize WinMinimize
|
||||
\ WinMinimizeAll WinMinimizeAllUndo WinMove WinRestore WinSet
|
||||
\ WinSetTitle WinShow WinWait WinWaitActive WinWaitNotActive WinWaitClose
|
||||
\ InStr RegExMatch RegExReplace StrLen SubStr Asc Chr
|
||||
\ DllCall VarSetCapacity WinActive WinExist IsLabel OnMessage
|
||||
\ Abs Ceil Exp Floor Log Ln Mod Round Sqrt Sin Cos Tan ASin ACos ATan
|
||||
\ FileExist GetKeyState numput numget RegisterCallback
|
||||
|
||||
" these are user-defined functions, in dark green
|
||||
sy match ahkNewFunction "\s*\w\{1,}(.*)"
|
||||
sy match ahkNewFunctionParams "(\@<=.*)\@=" containedin=ahkNewFunction
|
||||
|
||||
sy match ahkEscape "`." containedin=ahkFunction,ahkLabel,ahkVariable,ahkNewFunctionParams
|
||||
|
||||
" I don't like %var value% being in a different color than the var itself, so
|
||||
" commented out.
|
||||
"sy match ahkVariable "%.\{-}%" containedin=ahkNewFunctionParams
|
||||
"sy match ahkVariable "%.\{-}%"
|
||||
|
||||
sy match ahkKey "[!#^+]\{1,4}`\=.\n" contains=ahkEscape
|
||||
sy match ahkKey "[!#^+]\{0,4}{.\{-}}"
|
||||
|
||||
|
||||
sy match ahkDirective "^#[a-zA-Z]\{2,\}"
|
||||
|
||||
sy match ahkLabel "^\w\+:\s*$"
|
||||
sy match ahkLabel "^[^,]\+:\{2\}\(\w\+,\)\=" contains=ahkFunction
|
||||
sy match ahkLabel "^[^,]\+:\{2\}\w\+\s*$" contains=ahkFunction
|
||||
sy match ahkLabel "^:.\+:.*::"
|
||||
sy keyword ahkLabel return containedin=ahkFunction
|
||||
|
||||
sy match ahkStatement "^\s*if\w*\(,\)\="
|
||||
sy keyword ahkStatement If Else Loop Loop, exitapp containedin=ahkFunction
|
||||
|
||||
sy match ahkComment "`\@<!;.*" contains=NONE
|
||||
sy match ahkComment "\/\*\_.\{-}\*\/" contains=NONE
|
||||
|
||||
sy keyword ahkBuiltinVariable
|
||||
\ A_Space A_Tab
|
||||
\ A_WorkingDir A_ScriptDir A_ScriptName A_ScriptFullPath A_LineNumber
|
||||
\ A_LineFile A_AhkVersion A_AhkPAth A_IsCompiled A_ExitReason
|
||||
\ A_YYYY A_MM A_DD A_MMMM A_MMM A_DDDD A_DDD A_WDay A_YWeek A_Hour A_Min
|
||||
\ A_Sec A_MSec A_Now A_NowUTC A_TickCount
|
||||
\ A_IsSuspended A_BatchLines A_TitleMatchMode A_TitleMatchModeSpeed
|
||||
\ A_DetectHiddenWindows A_DetectHiddenText A_AutoTrim A_STringCaseSense
|
||||
\ A_FormatInteger A_FormatFloat A_KeyDelay A_WinDelay A_ControlDelay
|
||||
\ A_MouseDelay A_DefaultMouseSpeed A_IconHidden A_IconTip A_IconFile
|
||||
\ A_IconNumber
|
||||
\ A_TimeIdle A_TimeIdlePhysical
|
||||
\ A_Gui A_GuiControl A_GuiWidth A_GuiHeight A_GuiX A_GuiY A_GuiEvent
|
||||
\ A_GuiControlEvent A_EventInfo
|
||||
\ A_ThisMenuItem A_ThisMenu A_ThisMenuItemPos A_ThisHotkey A_PriorHotkey
|
||||
\ A_TimeSinceThisHotkey A_TimeSincePriorHotkey A_EndChar
|
||||
\ ComSpec A_Temp A_OSType A_OSVersion A_Language A_ComputerName A_UserName
|
||||
\ A_WinDir A_ProgramFiles ProgramFiles A_AppData A_AppDataCommon A_Desktop
|
||||
\ A_DesktopCommon A_StartMenu A_StartMenuCommon A_Programs
|
||||
\ A_ProgramsCommon A_Startup A_StartupCommon A_MyDocuments A_IsAdmin
|
||||
\ A_ScreenWidth A_ScreenHeight A_IPAddress1 A_IPAddress2 A_IPAddress3
|
||||
\ A_IPAddress4
|
||||
\ A_Cursor A_CaretX A_CaretY Clipboard ClipboardAll ErrorLevel A_LastError
|
||||
\ A_Index A_LoopFileName A_LoopRegName A_LoopReadLine A_LoopField
|
||||
\ A_thisLabel A_thisFunc
|
||||
|
||||
sy match ahkBuiltinVariable
|
||||
\ contained
|
||||
\ display
|
||||
\ '%\d\+%'
|
||||
|
||||
syn region ahkString
|
||||
\ display
|
||||
\ oneline
|
||||
\ matchgroup=autohotkeyStringDelimiter
|
||||
\ start=+"+
|
||||
\ end=+"+
|
||||
\ contains=ahkEscape
|
||||
|
||||
" relative
|
||||
syn keyword ahkRelative
|
||||
\Pixel Mouse Screen Relative RGB
|
||||
|
||||
" Continuation sections:
|
||||
syn keyword ahkContinuation
|
||||
\ LTrim RTrim Join
|
||||
|
||||
" Priority of processes
|
||||
syn keyword ahkPriority
|
||||
\ Low BelowNormal Normal AboveNormal High Realtime
|
||||
|
||||
" Keywords inside the WinTitle parameter of various commands:
|
||||
syn keyword ahkWinTitle
|
||||
\ ahk_id ahk_pid ahk_class ahk_group
|
||||
|
||||
" Used with SetFormat and/or -if Var is [not] type- & BETWEEN/IN
|
||||
"syn keyword ahkSetFormatFamily
|
||||
" \ Between Contains In Is Integer Float Number Digit Xdigit Alpha Upper Lower Alnum Time Date
|
||||
|
||||
" Expression keywords:
|
||||
syn keyword ahkLogicOperators
|
||||
\ Not Or And
|
||||
|
||||
" Used with Drive/DriveGet and/or WinGet/WinSet:
|
||||
syn keyword ahkWingetFamily
|
||||
\ AlwaysOnTop Topmost Top Bottom Transparent TransColor Redraw Region ID IDLast ProcessName
|
||||
\ MinMax ControlList Count List Capacity StatusCD Eject Lock Unlock Label FileSystem Label
|
||||
\ SetLabel Serial Type Status
|
||||
|
||||
" For functions:
|
||||
syn keyword ahkScopes
|
||||
\ static global local ByRef
|
||||
|
||||
" Time units for use with addition and subtraction:
|
||||
syn keyword ahkTimeUnits
|
||||
\ Seconds Minutes Hours Days
|
||||
|
||||
" For use with the Loop command:
|
||||
syn keyword ahkLoop
|
||||
\ Read Parse
|
||||
|
||||
" A_ExitReason
|
||||
syn keyword ahkExitReasons
|
||||
\ Logoff Close Error Single
|
||||
|
||||
" Keywords used with the "menu" command:
|
||||
syn keyword ahkMenuCommand
|
||||
\ Tray Add Rename Check UnCheck ToggleCheck Enable Disable ToggleEnable
|
||||
\ Default NoDefault Standard NoStandard Color Delete DeleteAll Icon NoIcon Tip
|
||||
\ Click Show MainWindow NoMainWindow UseErrorLevel
|
||||
|
||||
" Gui control types (note that Edit, Progress and Hotkey aren't included since they are already command keywords):
|
||||
syn keyword ahkGUIcontrol
|
||||
\ Text Picture Pic GroupBox Button Checkbox Radio DropDownList DDL ComboBox
|
||||
\ ListBox ListView DateTime MonthCal Slider StatusBar Tab Tab2 TreeView UpDown
|
||||
|
||||
" ListView:
|
||||
syn keyword ahkListView
|
||||
\ IconSmall Tile Report SortDesc NoSort NoSortHdr Grid Hdr AutoSize Range
|
||||
|
||||
" General GUI keywords:
|
||||
syn keyword ahkGeneralGUI
|
||||
\ xm ym ys xs xp yp Font Resize Owner Submit NoHide Minimize Maximize Restore
|
||||
\ NoActivate NA Cancel Destroy Center Margin MaxSize MinSize OwnDialogs GuiEscape
|
||||
\ GuiClose GuiSize GuiContextMenu GuiDropFiles TabStop Section AltSubmit Wrap
|
||||
\ HScroll VScroll Border Top Bottom Buttons Expand First ImageList Lines
|
||||
\ WantCtrlA WantF2 Vis VisFirst Number Uppercase Lowercase Limit Password Multi
|
||||
\ WantReturn Group Background bold italic strike underline norm BackgroundTrans
|
||||
\ Theme Caption Delimiter MinimizeBox MaximizeBox SysMenu ToolWindow Flash
|
||||
\ Style ExStyle Check3 Checked CheckedGray ReadOnly Password Hidden Left
|
||||
\ Right Center NoTab Section Move Focus Hide Choose ChooseString Text Pos
|
||||
\ Enabled Disabled Visible LastFound LastFoundExist
|
||||
|
||||
" Keywords used with the Hotkey command:
|
||||
syn keyword ahkHotkeyCommand
|
||||
\ AltTab ShiftAltTab AltTabMenu AltTabAndMenu AltTabMenuDismiss
|
||||
|
||||
" Keywords used with the Thread/Process commands
|
||||
syn keyword ahkThread
|
||||
\ NoTimers Interrupt Priority WaitClose Wait Exist Close
|
||||
|
||||
|
||||
" Keywords used with the Transform command:
|
||||
syn keyword ahkTransformCommand
|
||||
\ Unicode Asc Chr Deref Mod Pow Exp Sqrt Log Ln Round Ceil Floor Abs Sin Cos Tan ASin
|
||||
\ ACos ATan BitNot BitAnd BitOr BitXOr BitShiftLeft BitShiftRight
|
||||
|
||||
|
||||
" Keywords used with "IfMsgBox" ("continue" is not present here because it's a command too):
|
||||
syn keyword ahkButtons
|
||||
\ Yes No Ok Cancel Abort Retry Ignore TryAgain
|
||||
|
||||
" Misc. eywords used with various commands:
|
||||
syn keyword ahkOn
|
||||
\ On Off All
|
||||
|
||||
" Registry root keys:
|
||||
syn keyword ahkRegistry
|
||||
\ HKEY_LOCAL_MACHINE HKEY_USERS HKEY_CURRENT_USER HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG
|
||||
\ HKLM HKU HKCU HKCR HKCC REG_SZ REG_EXPAND_SZ REG_MULTI_SZ REG_DWORD REG_BINARY
|
||||
|
||||
|
||||
|
||||
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
hi def link ahkKeyword Special
|
||||
hi def link ahkEscape Special
|
||||
hi def link ahkComment Comment
|
||||
hi def link ahkStatement Conditional
|
||||
hi def link ahkFunction Keyword
|
||||
hi def link ahkDirective PreProc "sent keys
|
||||
hi def link ahkLabel Label
|
||||
hi def link ahkKey Special
|
||||
hi def link ahkVariable Constant "this is anything enclosed in %%
|
||||
hi def link ahkNewFunction Function
|
||||
hi def link ahkBuiltinVariable Macro
|
||||
hi def link ahkString String
|
||||
hi def link ahkScope Type
|
||||
hi def link ahkOtherCommands Typedef
|
||||
hi def link ahkRelative ahkOtherCommands
|
||||
hi def link ahkContinuation ahkOtherCommands
|
||||
hi def link ahkPriority ahkOtherCommands
|
||||
hi def link ahkWinTitle ahkOtherCommands
|
||||
hi def link ahkSetFormatFamily ahkOtherCommands
|
||||
hi def link ahkLogicOperators ahkOtherCommands
|
||||
hi def link ahkWingetFamily ahkOtherCommands
|
||||
hi def link ahkScopes ahkOtherCommands
|
||||
hi def link ahkTimeUnits ahkOtherCommands
|
||||
hi def link ahkLoop ahkOtherCommands
|
||||
hi def link ahkExitReasons ahkOtherCommands
|
||||
hi def link ahkMenuCommand ahkOtherCommands
|
||||
hi def link ahkGUIcontrol ahkOtherCommands
|
||||
hi def link ahkListView ahkOtherCommands
|
||||
hi def link ahkGeneralGUI ahkOtherCommands
|
||||
hi def link ahkHotkeyCommand ahkOtherCommands
|
||||
hi def link ahkThread ahkOtherCommands
|
||||
hi def link ahkTransformCommand ahkOtherCommands
|
||||
hi def link ahkButtons ahkOtherCommands
|
||||
hi def link ahkOn ahkOtherCommands
|
||||
hi def link ahkRegistry ahkOtherCommands
|
||||
|
||||
sy sync fromstart
|
||||
let b:current_syntax = 'autohotkey'
|
Loading…
Reference in New Issue
Block a user