diff --git a/.editorconfig b/.editorconfig
index 73dc943..49d5268 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,29 +1,29 @@
-# EditorConfig is awesome: https://EditorConfig.org
-
-# top-most EditorConfig file
-root = true
-
-# Use space for indentation.
-[*]
-indent_style = space
-
-# C/C++/C# Code Files
-[*.{c,cpp,cxx,c++,cc,cs,h,hpp,h++,hh}]
-indent_size = 4
-insert_final_newline = true
-trim_trailing_whitespace=true
-
-# Visual Studio Project Files (XML)
-[*.{csproj,vcxproj,vcxproj.filters,props}]
-indent_size = 2
-
-[*.sln]
-indent_style = tab
-
-# Powershell Scripts
-[*.ps1]
-indent_size = 2
-
-# Markdown
-[*.{md,markdown}]
-trim_trailing_whitespace = false
+# EditorConfig is awesome: https://EditorConfig.org
+
+# top-most EditorConfig file
+root = true
+
+# Use space for indentation.
+[*]
+indent_style = space
+
+# C/C++/C# Code Files
+[*.{c,cpp,cxx,c++,cc,cs,h,hpp,h++,hh}]
+indent_size = 4
+insert_final_newline = true
+trim_trailing_whitespace=true
+
+# Visual Studio Project Files (XML)
+[*.{csproj,vcxproj,vcxproj.filters,props}]
+indent_size = 2
+
+[*.sln]
+indent_style = tab
+
+# Powershell Scripts
+[*.ps1]
+indent_size = 2
+
+# Markdown
+[*.{md,markdown}]
+trim_trailing_whitespace = false
diff --git a/.gitattributes b/.gitattributes
index 84d4e4f..80837e5 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,55 +1,55 @@
-# Set the default behavior.
-* text=auto
-
-#Visual Studio Project Files
-*.sln text eol=crlf
-*.csproj text eol=crlf
-*.vcxproj text eol=crlf
-
-*.filters text eol=crlf
-*.props text eol=crlf
-
-#Resource File
-*.rc text eol=crlf
-
-# C/C++/C# Code Files
-*.c text diff=c
-*.cpp text diff=cpp
-*.cxx text diff=cpp
-*.c++ text diff=cpp
-*.cc text diff=cpp
-*.cs text diff=csharp
-
-*.h text diff=c
-*.hpp text diff=cpp
-*.h++ text diff=cpp
-*.hh text diff=cpp
-
-# Dynamic libraries
-*.dll binary
-
-# Static libraries
-*.lib binary
-
-# Executables
-*.exe binary
-
-# Windows scripts
-*.bat text eol=crlf
-*.cmd text eol=crlf
-*.ps1 text eol=crlf
-
-# Other
-*.md text
-*.txt text
-
-*.xml text
-*.yaml text
-*.yml text
-
-.editorconfig text
-.gitattributes text
-.gitignore text
-
-#Third Party Files
-RainmeterAPI.h text eol=crlf
+# Set the default behavior.
+* text=auto
+
+#Visual Studio Project Files
+*.sln text eol=crlf
+*.csproj text eol=crlf
+*.vcxproj text eol=crlf
+
+*.filters text eol=crlf
+*.props text eol=crlf
+
+#Resource File
+*.rc text eol=crlf
+
+# C/C++/C# Code Files
+*.c text diff=c
+*.cpp text diff=cpp
+*.cxx text diff=cpp
+*.c++ text diff=cpp
+*.cc text diff=cpp
+*.cs text diff=csharp
+
+*.h text diff=c
+*.hpp text diff=cpp
+*.h++ text diff=cpp
+*.hh text diff=cpp
+
+# Dynamic libraries
+*.dll binary
+
+# Static libraries
+*.lib binary
+
+# Executables
+*.exe binary
+
+# Windows scripts
+*.bat text eol=crlf
+*.cmd text eol=crlf
+*.ps1 text eol=crlf
+
+# Other
+*.md text
+*.txt text
+
+*.xml text
+*.yaml text
+*.yml text
+
+.editorconfig text
+.gitattributes text
+.gitignore text
+
+#Third Party Files
+RainmeterAPI.h text eol=crlf
diff --git a/.gitignore b/.gitignore
index ae2f029..eb79274 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,48 +1,48 @@
-# Dot Files/Folder
-.*
-
-# Prerequisites
-*.d
-
-# Compiled Object files
-*.slo
-*.lo
-*.o
-*.obj
-
-# Precompiled Headers
-*.gch
-*.pch
-
-# Compiled Dynamic libraries
-*.so
-*.dylib
-*.dll
-
-# Fortran module files
-*.mod
-*.smod
-
-# Compiled Static libraries
-*.lai
-*.la
-*.a
-*.lib
-
-# Executables
-*.exe
-*.out
-*.app
-
-# Folders
-*.vscode
-*.git
-*.vs
-*.cppcheck
-
-Build
-Intermediate
-
-# Visual Studio Generated
-*.aps
-*.vcxproj.user
+# Dot Files/Folder
+.*
+
+# Prerequisites
+*.d
+
+# Compiled Object files
+*.slo
+*.lo
+*.o
+*.obj
+
+# Precompiled Headers
+*.gch
+*.pch
+
+# Compiled Dynamic libraries
+*.so
+*.dylib
+*.dll
+
+# Fortran module files
+*.mod
+*.smod
+
+# Compiled Static libraries
+*.lai
+*.la
+*.a
+*.lib
+
+# Executables
+*.exe
+*.out
+*.app
+
+# Folders
+*.vscode
+*.git
+*.vs
+*.cppcheck
+
+Build
+Intermediate
+
+# Visual Studio Generated
+*.aps
+*.vcxproj.user
diff --git a/LICENSE.md b/LICENSE.md
index e5fdb6c..93392f4 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,631 +1,631 @@
-### GNU GENERAL PUBLIC LICENSE
-
-Version 3, 29 June 2007
-
-Copyright (C) 2007 Free Software Foundation, Inc.
-
-
-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
+### GNU GENERAL PUBLIC LICENSE
+
+Version 3, 29 June 2007
+
+Copyright (C) 2007 Free Software Foundation, Inc.
+
+
+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
diff --git a/Plugin/Npp/Notepad_plus_msgs.h b/Plugin/Npp/Notepad_plus_msgs.h
index f2924b3..457760c 100644
--- a/Plugin/Npp/Notepad_plus_msgs.h
+++ b/Plugin/Npp/Notepad_plus_msgs.h
@@ -1,612 +1,612 @@
-// This file is part of Notepad++ project
-// Copyright (C)2020 Don HO
-//
-// 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 2 of the License, or (at your option) any later version.
-//
-// Note that the GPL places important restrictions on "derived works", yet
-// it does not provide a detailed definition of that term. To avoid
-// misunderstandings, we consider an application to constitute a
-// "derivative work" for the purpose of this license if it does any of the
-// following:
-// 1. Integrates source code from Notepad++.
-// 2. Integrates/includes/aggregates Notepad++ into a proprietary executable
-// installer, such as those produced by InstallShield.
-// 3. Links to a library or executes a program that does any of the above.
-//
-// 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, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-
-#pragma once
-
-#include
-#include
-
-enum LangType {L_TEXT, L_PHP , L_C, L_CPP, L_CS, L_OBJC, L_JAVA, L_RC,\
- L_HTML, L_XML, L_MAKEFILE, L_PASCAL, L_BATCH, L_INI, L_ASCII, L_USER,\
- L_ASP, L_SQL, L_VB, L_JS, L_CSS, L_PERL, L_PYTHON, L_LUA, \
- L_TEX, L_FORTRAN, L_BASH, L_FLASH, L_NSIS, L_TCL, L_LISP, L_SCHEME,\
- L_ASM, L_DIFF, L_PROPS, L_PS, L_RUBY, L_SMALLTALK, L_VHDL, L_KIX, L_AU3,\
- L_CAML, L_ADA, L_VERILOG, L_MATLAB, L_HASKELL, L_INNO, L_SEARCHRESULT,\
- L_CMAKE, L_YAML, L_COBOL, L_GUI4CLI, L_D, L_POWERSHELL, L_R, L_JSP,\
- L_COFFEESCRIPT, L_JSON, L_JAVASCRIPT, L_FORTRAN_77, L_BAANC, L_SREC,\
- L_IHEX, L_TEHEX, L_SWIFT,\
- L_ASN1, L_AVS, L_BLITZBASIC, L_PUREBASIC, L_FREEBASIC, \
- L_CSOUND, L_ERLANG, L_ESCRIPT, L_FORTH, L_LATEX, \
- L_MMIXAL, L_NIMROD, L_NNCRONTAB, L_OSCRIPT, L_REBOL, \
- L_REGISTRY, L_RUST, L_SPICE, L_TXT2TAGS, L_VISUALPROLOG,\
- // Don't use L_JS, use L_JAVASCRIPT instead
- // The end of enumated language type, so it should be always at the end
- L_EXTERNAL};
-
-enum winVer{ WV_UNKNOWN, WV_WIN32S, WV_95, WV_98, WV_ME, WV_NT, WV_W2K, WV_XP, WV_S2003, WV_XPX64, WV_VISTA, WV_WIN7, WV_WIN8, WV_WIN81, WV_WIN10};
-enum Platform { PF_UNKNOWN, PF_X86, PF_X64, PF_IA64 };
-
-
-
-#define NPPMSG (WM_USER + 1000)
-
- #define NPPM_GETCURRENTSCINTILLA (NPPMSG + 4)
- #define NPPM_GETCURRENTLANGTYPE (NPPMSG + 5)
- #define NPPM_SETCURRENTLANGTYPE (NPPMSG + 6)
-
- #define NPPM_GETNBOPENFILES (NPPMSG + 7)
- #define ALL_OPEN_FILES 0
- #define PRIMARY_VIEW 1
- #define SECOND_VIEW 2
-
- #define NPPM_GETOPENFILENAMES (NPPMSG + 8)
-
-
- #define NPPM_MODELESSDIALOG (NPPMSG + 12)
- #define MODELESSDIALOGADD 0
- #define MODELESSDIALOGREMOVE 1
-
- #define NPPM_GETNBSESSIONFILES (NPPMSG + 13)
- #define NPPM_GETSESSIONFILES (NPPMSG + 14)
- #define NPPM_SAVESESSION (NPPMSG + 15)
- #define NPPM_SAVECURRENTSESSION (NPPMSG + 16)
-
- struct sessionInfo {
- TCHAR* sessionFilePathName;
- int nbFile;
- TCHAR** files;
- };
-
- #define NPPM_GETOPENFILENAMESPRIMARY (NPPMSG + 17)
- #define NPPM_GETOPENFILENAMESSECOND (NPPMSG + 18)
-
- #define NPPM_CREATESCINTILLAHANDLE (NPPMSG + 20)
- #define NPPM_DESTROYSCINTILLAHANDLE (NPPMSG + 21)
- #define NPPM_GETNBUSERLANG (NPPMSG + 22)
-
- #define NPPM_GETCURRENTDOCINDEX (NPPMSG + 23)
- #define MAIN_VIEW 0
- #define SUB_VIEW 1
-
- #define NPPM_SETSTATUSBAR (NPPMSG + 24)
- #define STATUSBAR_DOC_TYPE 0
- #define STATUSBAR_DOC_SIZE 1
- #define STATUSBAR_CUR_POS 2
- #define STATUSBAR_EOF_FORMAT 3
- #define STATUSBAR_UNICODE_TYPE 4
- #define STATUSBAR_TYPING_MODE 5
-
- #define NPPM_GETMENUHANDLE (NPPMSG + 25)
- #define NPPPLUGINMENU 0
- #define NPPMAINMENU 1
- // INT NPPM_GETMENUHANDLE(INT menuChoice, 0)
- // Return: menu handle (HMENU) of choice (plugin menu handle or Notepad++ main menu handle)
-
- #define NPPM_ENCODESCI (NPPMSG + 26)
- //ascii file to unicode
- //int NPPM_ENCODESCI(MAIN_VIEW/SUB_VIEW, 0)
- //return new unicodeMode
-
- #define NPPM_DECODESCI (NPPMSG + 27)
- //unicode file to ascii
- //int NPPM_DECODESCI(MAIN_VIEW/SUB_VIEW, 0)
- //return old unicodeMode
-
- #define NPPM_ACTIVATEDOC (NPPMSG + 28)
- //void NPPM_ACTIVATEDOC(int view, int index2Activate)
-
- #define NPPM_LAUNCHFINDINFILESDLG (NPPMSG + 29)
- //void NPPM_LAUNCHFINDINFILESDLG(TCHAR * dir2Search, TCHAR * filtre)
-
- #define NPPM_DMMSHOW (NPPMSG + 30)
- //void NPPM_DMMSHOW(0, tTbData->hClient)
-
- #define NPPM_DMMHIDE (NPPMSG + 31)
- //void NPPM_DMMHIDE(0, tTbData->hClient)
-
- #define NPPM_DMMUPDATEDISPINFO (NPPMSG + 32)
- //void NPPM_DMMUPDATEDISPINFO(0, tTbData->hClient)
-
- #define NPPM_DMMREGASDCKDLG (NPPMSG + 33)
- //void NPPM_DMMREGASDCKDLG(0, &tTbData)
-
- #define NPPM_LOADSESSION (NPPMSG + 34)
- //void NPPM_LOADSESSION(0, const TCHAR* file name)
-
- #define NPPM_DMMVIEWOTHERTAB (NPPMSG + 35)
- //void WM_DMM_VIEWOTHERTAB(0, tTbData->pszName)
-
- #define NPPM_RELOADFILE (NPPMSG + 36)
- //BOOL NPPM_RELOADFILE(BOOL withAlert, TCHAR *filePathName2Reload)
-
- #define NPPM_SWITCHTOFILE (NPPMSG + 37)
- //BOOL NPPM_SWITCHTOFILE(0, TCHAR *filePathName2switch)
-
- #define NPPM_SAVECURRENTFILE (NPPMSG + 38)
- //BOOL NPPM_SAVECURRENTFILE(0, 0)
-
- #define NPPM_SAVEALLFILES (NPPMSG + 39)
- //BOOL NPPM_SAVEALLFILES(0, 0)
-
- #define NPPM_SETMENUITEMCHECK (NPPMSG + 40)
- //void WM_PIMENU_CHECK(UINT funcItem[X]._cmdID, TRUE/FALSE)
-
- #define NPPM_ADDTOOLBARICON (NPPMSG + 41)
- //void WM_ADDTOOLBARICON(UINT funcItem[X]._cmdID, toolbarIcons icon)
- struct toolbarIcons {
- HBITMAP hToolbarBmp;
- HICON hToolbarIcon;
- };
-
- #define NPPM_GETWINDOWSVERSION (NPPMSG + 42)
- //winVer NPPM_GETWINDOWSVERSION(0, 0)
-
- #define NPPM_DMMGETPLUGINHWNDBYNAME (NPPMSG + 43)
- //HWND WM_DMM_GETPLUGINHWNDBYNAME(const TCHAR *windowName, const TCHAR *moduleName)
- // if moduleName is NULL, then return value is NULL
- // if windowName is NULL, then the first found window handle which matches with the moduleName will be returned
-
- #define NPPM_MAKECURRENTBUFFERDIRTY (NPPMSG + 44)
- //BOOL NPPM_MAKECURRENTBUFFERDIRTY(0, 0)
-
- #define NPPM_GETENABLETHEMETEXTUREFUNC (NPPMSG + 45)
- //BOOL NPPM_GETENABLETHEMETEXTUREFUNC(0, 0)
-
- #define NPPM_GETPLUGINSCONFIGDIR (NPPMSG + 46)
- //INT NPPM_GETPLUGINSCONFIGDIR(int strLen, TCHAR *str)
- // Get user's plugin config directory path. It's useful if plugins want to save/load parameters for the current user
- // Returns the number of TCHAR copied/to copy.
- // Users should call it with "str" be NULL to get the required number of TCHAR (not including the terminating nul character),
- // allocate "str" buffer with the return value + 1, then call it again to get the path.
-
- #define NPPM_MSGTOPLUGIN (NPPMSG + 47)
- //BOOL NPPM_MSGTOPLUGIN(TCHAR *destModuleName, CommunicationInfo *info)
- // return value is TRUE when the message arrive to the destination plugins.
- // if destModule or info is NULL, then return value is FALSE
- struct CommunicationInfo {
- long internalMsg;
- const TCHAR * srcModuleName;
- void * info; // defined by plugin
- };
-
- #define NPPM_MENUCOMMAND (NPPMSG + 48)
- //void NPPM_MENUCOMMAND(0, int cmdID)
- // uncomment //#include "menuCmdID.h"
- // in the beginning of this file then use the command symbols defined in "menuCmdID.h" file
- // to access all the Notepad++ menu command items
-
- #define NPPM_TRIGGERTABBARCONTEXTMENU (NPPMSG + 49)
- //void NPPM_TRIGGERTABBARCONTEXTMENU(int view, int index2Activate)
-
- #define NPPM_GETNPPVERSION (NPPMSG + 50)
- // int NPPM_GETNPPVERSION(0, 0)
- // return version
- // ex : v4.6
- // HIWORD(version) == 4
- // LOWORD(version) == 6
-
- #define NPPM_HIDETABBAR (NPPMSG + 51)
- // BOOL NPPM_HIDETABBAR(0, BOOL hideOrNot)
- // if hideOrNot is set as TRUE then tab bar will be hidden
- // otherwise it'll be shown.
- // return value : the old status value
-
- #define NPPM_ISTABBARHIDDEN (NPPMSG + 52)
- // BOOL NPPM_ISTABBARHIDDEN(0, 0)
- // returned value : TRUE if tab bar is hidden, otherwise FALSE
-
- #define NPPM_GETPOSFROMBUFFERID (NPPMSG + 57)
- // INT NPPM_GETPOSFROMBUFFERID(UINT_PTR bufferID, INT priorityView)
- // Return VIEW|INDEX from a buffer ID. -1 if the bufferID non existing
- // if priorityView set to SUB_VIEW, then SUB_VIEW will be search firstly
- //
- // VIEW takes 2 highest bits and INDEX (0 based) takes the rest (30 bits)
- // Here's the values for the view :
- // MAIN_VIEW 0
- // SUB_VIEW 1
-
- #define NPPM_GETFULLPATHFROMBUFFERID (NPPMSG + 58)
- // INT NPPM_GETFULLPATHFROMBUFFERID(UINT_PTR bufferID, TCHAR *fullFilePath)
- // Get full path file name from a bufferID.
- // Return -1 if the bufferID non existing, otherwise the number of TCHAR copied/to copy
- // User should call it with fullFilePath be NULL to get the number of TCHAR (not including the nul character),
- // allocate fullFilePath with the return values + 1, then call it again to get full path file name
-
- #define NPPM_GETBUFFERIDFROMPOS (NPPMSG + 59)
- // LRESULT NPPM_GETBUFFERIDFROMPOS(INT index, INT iView)
- // wParam: Position of document
- // lParam: View to use, 0 = Main, 1 = Secondary
- // Returns 0 if invalid
-
- #define NPPM_GETCURRENTBUFFERID (NPPMSG + 60)
- // LRESULT NPPM_GETCURRENTBUFFERID(0, 0)
- // Returns active Buffer
-
- #define NPPM_RELOADBUFFERID (NPPMSG + 61)
- // VOID NPPM_RELOADBUFFERID(UINT_PTR bufferID, BOOL alert)
- // Reloads Buffer
- // wParam: Buffer to reload
- // lParam: 0 if no alert, else alert
-
-
- #define NPPM_GETBUFFERLANGTYPE (NPPMSG + 64)
- // INT NPPM_GETBUFFERLANGTYPE(UINT_PTR bufferID, 0)
- // wParam: BufferID to get LangType from
- // lParam: 0
- // Returns as int, see LangType. -1 on error
-
- #define NPPM_SETBUFFERLANGTYPE (NPPMSG + 65)
- // BOOL NPPM_SETBUFFERLANGTYPE(UINT_PTR bufferID, INT langType)
- // wParam: BufferID to set LangType of
- // lParam: LangType
- // Returns TRUE on success, FALSE otherwise
- // use int, see LangType for possible values
- // L_USER and L_EXTERNAL are not supported
-
- #define NPPM_GETBUFFERENCODING (NPPMSG + 66)
- // INT NPPM_GETBUFFERENCODING(UINT_PTR bufferID, 0)
- // wParam: BufferID to get encoding from
- // lParam: 0
- // returns as int, see UniMode. -1 on error
-
- #define NPPM_SETBUFFERENCODING (NPPMSG + 67)
- // BOOL NPPM_SETBUFFERENCODING(UINT_PTR bufferID, INT encoding)
- // wParam: BufferID to set encoding of
- // lParam: encoding
- // Returns TRUE on success, FALSE otherwise
- // use int, see UniMode
- // Can only be done on new, unedited files
-
- #define NPPM_GETBUFFERFORMAT (NPPMSG + 68)
- // INT NPPM_GETBUFFERFORMAT(UINT_PTR bufferID, 0)
- // wParam: BufferID to get EolType format from
- // lParam: 0
- // returns as int, see EolType format. -1 on error
-
- #define NPPM_SETBUFFERFORMAT (NPPMSG + 69)
- // BOOL NPPM_SETBUFFERFORMAT(UINT_PTR bufferID, INT format)
- // wParam: BufferID to set EolType format of
- // lParam: format
- // Returns TRUE on success, FALSE otherwise
- // use int, see EolType format
-
-
- #define NPPM_HIDETOOLBAR (NPPMSG + 70)
- // BOOL NPPM_HIDETOOLBAR(0, BOOL hideOrNot)
- // if hideOrNot is set as TRUE then tool bar will be hidden
- // otherwise it'll be shown.
- // return value : the old status value
-
- #define NPPM_ISTOOLBARHIDDEN (NPPMSG + 71)
- // BOOL NPPM_ISTOOLBARHIDDEN(0, 0)
- // returned value : TRUE if tool bar is hidden, otherwise FALSE
-
- #define NPPM_HIDEMENU (NPPMSG + 72)
- // BOOL NPPM_HIDEMENU(0, BOOL hideOrNot)
- // if hideOrNot is set as TRUE then menu will be hidden
- // otherwise it'll be shown.
- // return value : the old status value
-
- #define NPPM_ISMENUHIDDEN (NPPMSG + 73)
- // BOOL NPPM_ISMENUHIDDEN(0, 0)
- // returned value : TRUE if menu is hidden, otherwise FALSE
-
- #define NPPM_HIDESTATUSBAR (NPPMSG + 74)
- // BOOL NPPM_HIDESTATUSBAR(0, BOOL hideOrNot)
- // if hideOrNot is set as TRUE then STATUSBAR will be hidden
- // otherwise it'll be shown.
- // return value : the old status value
-
- #define NPPM_ISSTATUSBARHIDDEN (NPPMSG + 75)
- // BOOL NPPM_ISSTATUSBARHIDDEN(0, 0)
- // returned value : TRUE if STATUSBAR is hidden, otherwise FALSE
-
- #define NPPM_GETSHORTCUTBYCMDID (NPPMSG + 76)
- // BOOL NPPM_GETSHORTCUTBYCMDID(int cmdID, ShortcutKey *sk)
- // get your plugin command current mapped shortcut into sk via cmdID
- // You may need it after getting NPPN_READY notification
- // returned value : TRUE if this function call is successful and shortcut is enable, otherwise FALSE
-
- #define NPPM_DOOPEN (NPPMSG + 77)
- // BOOL NPPM_DOOPEN(0, const TCHAR *fullPathName2Open)
- // fullPathName2Open indicates the full file path name to be opened.
- // The return value is TRUE (1) if the operation is successful, otherwise FALSE (0).
-
- #define NPPM_SAVECURRENTFILEAS (NPPMSG + 78)
- // BOOL NPPM_SAVECURRENTFILEAS (BOOL asCopy, const TCHAR* filename)
-
- #define NPPM_GETCURRENTNATIVELANGENCODING (NPPMSG + 79)
- // INT NPPM_GETCURRENTNATIVELANGENCODING(0, 0)
- // returned value : the current native language encoding
-
- #define NPPM_ALLOCATESUPPORTED (NPPMSG + 80)
- // returns TRUE if NPPM_ALLOCATECMDID is supported
- // Use to identify if subclassing is necessary
-
- #define NPPM_ALLOCATECMDID (NPPMSG + 81)
- // BOOL NPPM_ALLOCATECMDID(int numberRequested, int* startNumber)
- // sets startNumber to the initial command ID if successful
- // Returns: TRUE if successful, FALSE otherwise. startNumber will also be set to 0 if unsuccessful
-
- #define NPPM_ALLOCATEMARKER (NPPMSG + 82)
- // BOOL NPPM_ALLOCATEMARKER(int numberRequested, int* startNumber)
- // sets startNumber to the initial command ID if successful
- // Allocates a marker number to a plugin
- // Returns: TRUE if successful, FALSE otherwise. startNumber will also be set to 0 if unsuccessful
-
- #define NPPM_GETLANGUAGENAME (NPPMSG + 83)
- // INT NPPM_GETLANGUAGENAME(int langType, TCHAR *langName)
- // Get programming language name from the given language type (LangType)
- // Return value is the number of copied character / number of character to copy (\0 is not included)
- // You should call this function 2 times - the first time you pass langName as NULL to get the number of characters to copy.
- // You allocate a buffer of the length of (the number of characters + 1) then call NPPM_GETLANGUAGENAME function the 2nd time
- // by passing allocated buffer as argument langName
-
- #define NPPM_GETLANGUAGEDESC (NPPMSG + 84)
- // INT NPPM_GETLANGUAGEDESC(int langType, TCHAR *langDesc)
- // Get programming language short description from the given language type (LangType)
- // Return value is the number of copied character / number of character to copy (\0 is not included)
- // You should call this function 2 times - the first time you pass langDesc as NULL to get the number of characters to copy.
- // You allocate a buffer of the length of (the number of characters + 1) then call NPPM_GETLANGUAGEDESC function the 2nd time
- // by passing allocated buffer as argument langDesc
-
- #define NPPM_SHOWDOCSWITCHER (NPPMSG + 85)
- // VOID NPPM_SHOWDOCSWITCHER(0, BOOL toShowOrNot)
- // Send this message to show or hide doc switcher.
- // if toShowOrNot is TRUE then show doc switcher, otherwise hide it.
-
- #define NPPM_ISDOCSWITCHERSHOWN (NPPMSG + 86)
- // BOOL NPPM_ISDOCSWITCHERSHOWN(0, 0)
- // Check to see if doc switcher is shown.
-
- #define NPPM_GETAPPDATAPLUGINSALLOWED (NPPMSG + 87)
- // BOOL NPPM_GETAPPDATAPLUGINSALLOWED(0, 0)
- // Check to see if loading plugins from "%APPDATA%\..\Local\Notepad++\plugins" is allowed.
-
- #define NPPM_GETCURRENTVIEW (NPPMSG + 88)
- // INT NPPM_GETCURRENTVIEW(0, 0)
- // Return: current edit view of Notepad++. Only 2 possible values: 0 = Main, 1 = Secondary
-
- #define NPPM_DOCSWITCHERDISABLECOLUMN (NPPMSG + 89)
- // VOID NPPM_DOCSWITCHERDISABLECOLUMN(0, BOOL disableOrNot)
- // Disable or enable extension column of doc switcher
-
- #define NPPM_GETEDITORDEFAULTFOREGROUNDCOLOR (NPPMSG + 90)
- // INT NPPM_GETEDITORDEFAULTFOREGROUNDCOLOR(0, 0)
- // Return: current editor default foreground color. You should convert the returned value in COLORREF
-
- #define NPPM_GETEDITORDEFAULTBACKGROUNDCOLOR (NPPMSG + 91)
- // INT NPPM_GETEDITORDEFAULTBACKGROUNDCOLOR(0, 0)
- // Return: current editor default background color. You should convert the returned value in COLORREF
-
- #define NPPM_SETSMOOTHFONT (NPPMSG + 92)
- // VOID NPPM_SETSMOOTHFONT(0, BOOL setSmoothFontOrNot)
-
- #define NPPM_SETEDITORBORDEREDGE (NPPMSG + 93)
- // VOID NPPM_SETEDITORBORDEREDGE(0, BOOL withEditorBorderEdgeOrNot)
-
- #define NPPM_SAVEFILE (NPPMSG + 94)
- // VOID NPPM_SAVEFILE(0, const TCHAR *fileNameToSave)
-
- #define NPPM_DISABLEAUTOUPDATE (NPPMSG + 95) // 2119 in decimal
- // VOID NPPM_DISABLEAUTOUPDATE(0, 0)
-
- #define NPPM_REMOVESHORTCUTBYCMDID (NPPMSG + 96) // 2120 in decimal
- // BOOL NPPM_REMOVESHORTCUTASSIGNMENT(int cmdID)
- // removes the assigned shortcut mapped to cmdID
- // returned value : TRUE if function call is successful, otherwise FALSE
-
- #define NPPM_GETPLUGINHOMEPATH (NPPMSG + 97)
- // INT NPPM_GETPLUGINHOMEPATH(size_t strLen, TCHAR *pluginRootPath)
- // Get plugin home root path. It's useful if plugins want to get its own path
- // by appending which is the name of plugin without extension part.
- // Returns the number of TCHAR copied/to copy.
- // Users should call it with pluginRootPath be NULL to get the required number of TCHAR (not including the terminating nul character),
- // allocate pluginRootPath buffer with the return value + 1, then call it again to get the path.
-
-#define RUNCOMMAND_USER (WM_USER + 3000)
- #define NPPM_GETFULLCURRENTPATH (RUNCOMMAND_USER + FULL_CURRENT_PATH)
- #define NPPM_GETCURRENTDIRECTORY (RUNCOMMAND_USER + CURRENT_DIRECTORY)
- #define NPPM_GETFILENAME (RUNCOMMAND_USER + FILE_NAME)
- #define NPPM_GETNAMEPART (RUNCOMMAND_USER + NAME_PART)
- #define NPPM_GETEXTPART (RUNCOMMAND_USER + EXT_PART)
- #define NPPM_GETCURRENTWORD (RUNCOMMAND_USER + CURRENT_WORD)
- #define NPPM_GETNPPDIRECTORY (RUNCOMMAND_USER + NPP_DIRECTORY)
- #define NPPM_GETFILENAMEATCURSOR (RUNCOMMAND_USER + GETFILENAMEATCURSOR)
- // BOOL NPPM_GETXXXXXXXXXXXXXXXX(size_t strLen, TCHAR *str)
- // where str is the allocated TCHAR array,
- // strLen is the allocated array size
- // The return value is TRUE when get generic_string operation success
- // Otherwise (allocated array size is too small) FALSE
-
- #define NPPM_GETCURRENTLINE (RUNCOMMAND_USER + CURRENT_LINE)
- // INT NPPM_GETCURRENTLINE(0, 0)
- // return the caret current position line
- #define NPPM_GETCURRENTCOLUMN (RUNCOMMAND_USER + CURRENT_COLUMN)
- // INT NPPM_GETCURRENTCOLUMN(0, 0)
- // return the caret current position column
-
- #define NPPM_GETNPPFULLFILEPATH (RUNCOMMAND_USER + NPP_FULL_FILE_PATH)
-
- #define VAR_NOT_RECOGNIZED 0
- #define FULL_CURRENT_PATH 1
- #define CURRENT_DIRECTORY 2
- #define FILE_NAME 3
- #define NAME_PART 4
- #define EXT_PART 5
- #define CURRENT_WORD 6
- #define NPP_DIRECTORY 7
- #define CURRENT_LINE 8
- #define CURRENT_COLUMN 9
- #define NPP_FULL_FILE_PATH 10
- #define GETFILENAMEATCURSOR 11
-
-
-// Notification code
-#define NPPN_FIRST 1000
- #define NPPN_READY (NPPN_FIRST + 1) // To notify plugins that all the procedures of launchment of notepad++ are done.
- //scnNotification->nmhdr.code = NPPN_READY;
- //scnNotification->nmhdr.hwndFrom = hwndNpp;
- //scnNotification->nmhdr.idFrom = 0;
-
- #define NPPN_TBMODIFICATION (NPPN_FIRST + 2) // To notify plugins that toolbar icons can be registered
- //scnNotification->nmhdr.code = NPPN_TB_MODIFICATION;
- //scnNotification->nmhdr.hwndFrom = hwndNpp;
- //scnNotification->nmhdr.idFrom = 0;
-
- #define NPPN_FILEBEFORECLOSE (NPPN_FIRST + 3) // To notify plugins that the current file is about to be closed
- //scnNotification->nmhdr.code = NPPN_FILEBEFORECLOSE;
- //scnNotification->nmhdr.hwndFrom = hwndNpp;
- //scnNotification->nmhdr.idFrom = BufferID;
-
- #define NPPN_FILEOPENED (NPPN_FIRST + 4) // To notify plugins that the current file is just opened
- //scnNotification->nmhdr.code = NPPN_FILEOPENED;
- //scnNotification->nmhdr.hwndFrom = hwndNpp;
- //scnNotification->nmhdr.idFrom = BufferID;
-
- #define NPPN_FILECLOSED (NPPN_FIRST + 5) // To notify plugins that the current file is just closed
- //scnNotification->nmhdr.code = NPPN_FILECLOSED;
- //scnNotification->nmhdr.hwndFrom = hwndNpp;
- //scnNotification->nmhdr.idFrom = BufferID;
-
- #define NPPN_FILEBEFOREOPEN (NPPN_FIRST + 6) // To notify plugins that the current file is about to be opened
- //scnNotification->nmhdr.code = NPPN_FILEBEFOREOPEN;
- //scnNotification->nmhdr.hwndFrom = hwndNpp;
- //scnNotification->nmhdr.idFrom = BufferID;
-
- #define NPPN_FILEBEFORESAVE (NPPN_FIRST + 7) // To notify plugins that the current file is about to be saved
- //scnNotification->nmhdr.code = NPPN_FILEBEFOREOPEN;
- //scnNotification->nmhdr.hwndFrom = hwndNpp;
- //scnNotification->nmhdr.idFrom = BufferID;
-
- #define NPPN_FILESAVED (NPPN_FIRST + 8) // To notify plugins that the current file is just saved
- //scnNotification->nmhdr.code = NPPN_FILESAVED;
- //scnNotification->nmhdr.hwndFrom = hwndNpp;
- //scnNotification->nmhdr.idFrom = BufferID;
-
- #define NPPN_SHUTDOWN (NPPN_FIRST + 9) // To notify plugins that Notepad++ is about to be shutdowned.
- //scnNotification->nmhdr.code = NPPN_SHUTDOWN;
- //scnNotification->nmhdr.hwndFrom = hwndNpp;
- //scnNotification->nmhdr.idFrom = 0;
-
- #define NPPN_BUFFERACTIVATED (NPPN_FIRST + 10) // To notify plugins that a buffer was activated (put to foreground).
- //scnNotification->nmhdr.code = NPPN_BUFFERACTIVATED;
- //scnNotification->nmhdr.hwndFrom = hwndNpp;
- //scnNotification->nmhdr.idFrom = activatedBufferID;
-
- #define NPPN_LANGCHANGED (NPPN_FIRST + 11) // To notify plugins that the language in the current doc is just changed.
- //scnNotification->nmhdr.code = NPPN_LANGCHANGED;
- //scnNotification->nmhdr.hwndFrom = hwndNpp;
- //scnNotification->nmhdr.idFrom = currentBufferID;
-
- #define NPPN_WORDSTYLESUPDATED (NPPN_FIRST + 12) // To notify plugins that user initiated a WordStyleDlg change.
- //scnNotification->nmhdr.code = NPPN_WORDSTYLESUPDATED;
- //scnNotification->nmhdr.hwndFrom = hwndNpp;
- //scnNotification->nmhdr.idFrom = currentBufferID;
-
- #define NPPN_SHORTCUTREMAPPED (NPPN_FIRST + 13) // To notify plugins that plugin command shortcut is remapped.
- //scnNotification->nmhdr.code = NPPN_SHORTCUTSREMAPPED;
- //scnNotification->nmhdr.hwndFrom = ShortcutKeyStructurePointer;
- //scnNotification->nmhdr.idFrom = cmdID;
- //where ShortcutKeyStructurePointer is pointer of struct ShortcutKey:
- //struct ShortcutKey {
- // bool _isCtrl;
- // bool _isAlt;
- // bool _isShift;
- // UCHAR _key;
- //};
-
- #define NPPN_FILEBEFORELOAD (NPPN_FIRST + 14) // To notify plugins that the current file is about to be loaded
- //scnNotification->nmhdr.code = NPPN_FILEBEFOREOPEN;
- //scnNotification->nmhdr.hwndFrom = hwndNpp;
- //scnNotification->nmhdr.idFrom = NULL;
-
- #define NPPN_FILELOADFAILED (NPPN_FIRST + 15) // To notify plugins that file open operation failed
- //scnNotification->nmhdr.code = NPPN_FILEOPENFAILED;
- //scnNotification->nmhdr.hwndFrom = hwndNpp;
- //scnNotification->nmhdr.idFrom = BufferID;
-
- #define NPPN_READONLYCHANGED (NPPN_FIRST + 16) // To notify plugins that current document change the readonly status,
- //scnNotification->nmhdr.code = NPPN_READONLYCHANGED;
- //scnNotification->nmhdr.hwndFrom = bufferID;
- //scnNotification->nmhdr.idFrom = docStatus;
- // where bufferID is BufferID
- // docStatus can be combined by DOCSTATUS_READONLY and DOCSTATUS_BUFFERDIRTY
-
- #define DOCSTATUS_READONLY 1
- #define DOCSTATUS_BUFFERDIRTY 2
-
- #define NPPN_DOCORDERCHANGED (NPPN_FIRST + 17) // To notify plugins that document order is changed
- //scnNotification->nmhdr.code = NPPN_DOCORDERCHANGED;
- //scnNotification->nmhdr.hwndFrom = newIndex;
- //scnNotification->nmhdr.idFrom = BufferID;
-
- #define NPPN_SNAPSHOTDIRTYFILELOADED (NPPN_FIRST + 18) // To notify plugins that a snapshot dirty file is loaded on startup
- //scnNotification->nmhdr.code = NPPN_SNAPSHOTDIRTYFILELOADED;
- //scnNotification->nmhdr.hwndFrom = NULL;
- //scnNotification->nmhdr.idFrom = BufferID;
-
- #define NPPN_BEFORESHUTDOWN (NPPN_FIRST + 19) // To notify plugins that Npp shutdown has been triggered, files have not been closed yet
- //scnNotification->nmhdr.code = NPPN_BEFORESHUTDOWN;
- //scnNotification->nmhdr.hwndFrom = hwndNpp;
- //scnNotification->nmhdr.idFrom = 0;
-
- #define NPPN_CANCELSHUTDOWN (NPPN_FIRST + 20) // To notify plugins that Npp shutdown has been cancelled
- //scnNotification->nmhdr.code = NPPN_CANCELSHUTDOWN;
- //scnNotification->nmhdr.hwndFrom = hwndNpp;
- //scnNotification->nmhdr.idFrom = 0;
-
- #define NPPN_FILEBEFORERENAME (NPPN_FIRST + 21) // To notify plugins that file is to be renamed
- //scnNotification->nmhdr.code = NPPN_FILEBEFORERENAME;
- //scnNotification->nmhdr.hwndFrom = hwndNpp;
- //scnNotification->nmhdr.idFrom = BufferID;
-
- #define NPPN_FILERENAMECANCEL (NPPN_FIRST + 22) // To notify plugins that file rename has been cancelled
- //scnNotification->nmhdr.code = NPPN_FILERENAMECANCEL;
- //scnNotification->nmhdr.hwndFrom = hwndNpp;
- //scnNotification->nmhdr.idFrom = BufferID;
-
- #define NPPN_FILERENAMED (NPPN_FIRST + 23) // To notify plugins that file has been renamed
- //scnNotification->nmhdr.code = NPPN_FILERENAMED;
- //scnNotification->nmhdr.hwndFrom = hwndNpp;
- //scnNotification->nmhdr.idFrom = BufferID;
-
- #define NPPN_FILEBEFOREDELETE (NPPN_FIRST + 24) // To notify plugins that file is to be deleted
- //scnNotification->nmhdr.code = NPPN_FILEBEFOREDELETE;
- //scnNotification->nmhdr.hwndFrom = hwndNpp;
- //scnNotification->nmhdr.idFrom = BufferID;
-
- #define NPPN_FILEDELETEFAILED (NPPN_FIRST + 25) // To notify plugins that file deletion has failed
- //scnNotification->nmhdr.code = NPPN_FILEDELETEFAILED;
- //scnNotification->nmhdr.hwndFrom = hwndNpp;
- //scnNotification->nmhdr.idFrom = BufferID;
-
- #define NPPN_FILEDELETED (NPPN_FIRST + 26) // To notify plugins that file has been deleted
- //scnNotification->nmhdr.code = NPPN_FILEDELETED;
- //scnNotification->nmhdr.hwndFrom = hwndNpp;
- //scnNotification->nmhdr.idFrom = BufferID;
+// This file is part of Notepad++ project
+// Copyright (C)2020 Don HO
+//
+// 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 2 of the License, or (at your option) any later version.
+//
+// Note that the GPL places important restrictions on "derived works", yet
+// it does not provide a detailed definition of that term. To avoid
+// misunderstandings, we consider an application to constitute a
+// "derivative work" for the purpose of this license if it does any of the
+// following:
+// 1. Integrates source code from Notepad++.
+// 2. Integrates/includes/aggregates Notepad++ into a proprietary executable
+// installer, such as those produced by InstallShield.
+// 3. Links to a library or executes a program that does any of the above.
+//
+// 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, write to the Free Software
+// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+
+#pragma once
+
+#include
+#include
+
+enum LangType {L_TEXT, L_PHP , L_C, L_CPP, L_CS, L_OBJC, L_JAVA, L_RC,\
+ L_HTML, L_XML, L_MAKEFILE, L_PASCAL, L_BATCH, L_INI, L_ASCII, L_USER,\
+ L_ASP, L_SQL, L_VB, L_JS, L_CSS, L_PERL, L_PYTHON, L_LUA, \
+ L_TEX, L_FORTRAN, L_BASH, L_FLASH, L_NSIS, L_TCL, L_LISP, L_SCHEME,\
+ L_ASM, L_DIFF, L_PROPS, L_PS, L_RUBY, L_SMALLTALK, L_VHDL, L_KIX, L_AU3,\
+ L_CAML, L_ADA, L_VERILOG, L_MATLAB, L_HASKELL, L_INNO, L_SEARCHRESULT,\
+ L_CMAKE, L_YAML, L_COBOL, L_GUI4CLI, L_D, L_POWERSHELL, L_R, L_JSP,\
+ L_COFFEESCRIPT, L_JSON, L_JAVASCRIPT, L_FORTRAN_77, L_BAANC, L_SREC,\
+ L_IHEX, L_TEHEX, L_SWIFT,\
+ L_ASN1, L_AVS, L_BLITZBASIC, L_PUREBASIC, L_FREEBASIC, \
+ L_CSOUND, L_ERLANG, L_ESCRIPT, L_FORTH, L_LATEX, \
+ L_MMIXAL, L_NIMROD, L_NNCRONTAB, L_OSCRIPT, L_REBOL, \
+ L_REGISTRY, L_RUST, L_SPICE, L_TXT2TAGS, L_VISUALPROLOG,\
+ // Don't use L_JS, use L_JAVASCRIPT instead
+ // The end of enumated language type, so it should be always at the end
+ L_EXTERNAL};
+
+enum winVer{ WV_UNKNOWN, WV_WIN32S, WV_95, WV_98, WV_ME, WV_NT, WV_W2K, WV_XP, WV_S2003, WV_XPX64, WV_VISTA, WV_WIN7, WV_WIN8, WV_WIN81, WV_WIN10};
+enum Platform { PF_UNKNOWN, PF_X86, PF_X64, PF_IA64 };
+
+
+
+#define NPPMSG (WM_USER + 1000)
+
+ #define NPPM_GETCURRENTSCINTILLA (NPPMSG + 4)
+ #define NPPM_GETCURRENTLANGTYPE (NPPMSG + 5)
+ #define NPPM_SETCURRENTLANGTYPE (NPPMSG + 6)
+
+ #define NPPM_GETNBOPENFILES (NPPMSG + 7)
+ #define ALL_OPEN_FILES 0
+ #define PRIMARY_VIEW 1
+ #define SECOND_VIEW 2
+
+ #define NPPM_GETOPENFILENAMES (NPPMSG + 8)
+
+
+ #define NPPM_MODELESSDIALOG (NPPMSG + 12)
+ #define MODELESSDIALOGADD 0
+ #define MODELESSDIALOGREMOVE 1
+
+ #define NPPM_GETNBSESSIONFILES (NPPMSG + 13)
+ #define NPPM_GETSESSIONFILES (NPPMSG + 14)
+ #define NPPM_SAVESESSION (NPPMSG + 15)
+ #define NPPM_SAVECURRENTSESSION (NPPMSG + 16)
+
+ struct sessionInfo {
+ TCHAR* sessionFilePathName;
+ int nbFile;
+ TCHAR** files;
+ };
+
+ #define NPPM_GETOPENFILENAMESPRIMARY (NPPMSG + 17)
+ #define NPPM_GETOPENFILENAMESSECOND (NPPMSG + 18)
+
+ #define NPPM_CREATESCINTILLAHANDLE (NPPMSG + 20)
+ #define NPPM_DESTROYSCINTILLAHANDLE (NPPMSG + 21)
+ #define NPPM_GETNBUSERLANG (NPPMSG + 22)
+
+ #define NPPM_GETCURRENTDOCINDEX (NPPMSG + 23)
+ #define MAIN_VIEW 0
+ #define SUB_VIEW 1
+
+ #define NPPM_SETSTATUSBAR (NPPMSG + 24)
+ #define STATUSBAR_DOC_TYPE 0
+ #define STATUSBAR_DOC_SIZE 1
+ #define STATUSBAR_CUR_POS 2
+ #define STATUSBAR_EOF_FORMAT 3
+ #define STATUSBAR_UNICODE_TYPE 4
+ #define STATUSBAR_TYPING_MODE 5
+
+ #define NPPM_GETMENUHANDLE (NPPMSG + 25)
+ #define NPPPLUGINMENU 0
+ #define NPPMAINMENU 1
+ // INT NPPM_GETMENUHANDLE(INT menuChoice, 0)
+ // Return: menu handle (HMENU) of choice (plugin menu handle or Notepad++ main menu handle)
+
+ #define NPPM_ENCODESCI (NPPMSG + 26)
+ //ascii file to unicode
+ //int NPPM_ENCODESCI(MAIN_VIEW/SUB_VIEW, 0)
+ //return new unicodeMode
+
+ #define NPPM_DECODESCI (NPPMSG + 27)
+ //unicode file to ascii
+ //int NPPM_DECODESCI(MAIN_VIEW/SUB_VIEW, 0)
+ //return old unicodeMode
+
+ #define NPPM_ACTIVATEDOC (NPPMSG + 28)
+ //void NPPM_ACTIVATEDOC(int view, int index2Activate)
+
+ #define NPPM_LAUNCHFINDINFILESDLG (NPPMSG + 29)
+ //void NPPM_LAUNCHFINDINFILESDLG(TCHAR * dir2Search, TCHAR * filtre)
+
+ #define NPPM_DMMSHOW (NPPMSG + 30)
+ //void NPPM_DMMSHOW(0, tTbData->hClient)
+
+ #define NPPM_DMMHIDE (NPPMSG + 31)
+ //void NPPM_DMMHIDE(0, tTbData->hClient)
+
+ #define NPPM_DMMUPDATEDISPINFO (NPPMSG + 32)
+ //void NPPM_DMMUPDATEDISPINFO(0, tTbData->hClient)
+
+ #define NPPM_DMMREGASDCKDLG (NPPMSG + 33)
+ //void NPPM_DMMREGASDCKDLG(0, &tTbData)
+
+ #define NPPM_LOADSESSION (NPPMSG + 34)
+ //void NPPM_LOADSESSION(0, const TCHAR* file name)
+
+ #define NPPM_DMMVIEWOTHERTAB (NPPMSG + 35)
+ //void WM_DMM_VIEWOTHERTAB(0, tTbData->pszName)
+
+ #define NPPM_RELOADFILE (NPPMSG + 36)
+ //BOOL NPPM_RELOADFILE(BOOL withAlert, TCHAR *filePathName2Reload)
+
+ #define NPPM_SWITCHTOFILE (NPPMSG + 37)
+ //BOOL NPPM_SWITCHTOFILE(0, TCHAR *filePathName2switch)
+
+ #define NPPM_SAVECURRENTFILE (NPPMSG + 38)
+ //BOOL NPPM_SAVECURRENTFILE(0, 0)
+
+ #define NPPM_SAVEALLFILES (NPPMSG + 39)
+ //BOOL NPPM_SAVEALLFILES(0, 0)
+
+ #define NPPM_SETMENUITEMCHECK (NPPMSG + 40)
+ //void WM_PIMENU_CHECK(UINT funcItem[X]._cmdID, TRUE/FALSE)
+
+ #define NPPM_ADDTOOLBARICON (NPPMSG + 41)
+ //void WM_ADDTOOLBARICON(UINT funcItem[X]._cmdID, toolbarIcons icon)
+ struct toolbarIcons {
+ HBITMAP hToolbarBmp;
+ HICON hToolbarIcon;
+ };
+
+ #define NPPM_GETWINDOWSVERSION (NPPMSG + 42)
+ //winVer NPPM_GETWINDOWSVERSION(0, 0)
+
+ #define NPPM_DMMGETPLUGINHWNDBYNAME (NPPMSG + 43)
+ //HWND WM_DMM_GETPLUGINHWNDBYNAME(const TCHAR *windowName, const TCHAR *moduleName)
+ // if moduleName is NULL, then return value is NULL
+ // if windowName is NULL, then the first found window handle which matches with the moduleName will be returned
+
+ #define NPPM_MAKECURRENTBUFFERDIRTY (NPPMSG + 44)
+ //BOOL NPPM_MAKECURRENTBUFFERDIRTY(0, 0)
+
+ #define NPPM_GETENABLETHEMETEXTUREFUNC (NPPMSG + 45)
+ //BOOL NPPM_GETENABLETHEMETEXTUREFUNC(0, 0)
+
+ #define NPPM_GETPLUGINSCONFIGDIR (NPPMSG + 46)
+ //INT NPPM_GETPLUGINSCONFIGDIR(int strLen, TCHAR *str)
+ // Get user's plugin config directory path. It's useful if plugins want to save/load parameters for the current user
+ // Returns the number of TCHAR copied/to copy.
+ // Users should call it with "str" be NULL to get the required number of TCHAR (not including the terminating nul character),
+ // allocate "str" buffer with the return value + 1, then call it again to get the path.
+
+ #define NPPM_MSGTOPLUGIN (NPPMSG + 47)
+ //BOOL NPPM_MSGTOPLUGIN(TCHAR *destModuleName, CommunicationInfo *info)
+ // return value is TRUE when the message arrive to the destination plugins.
+ // if destModule or info is NULL, then return value is FALSE
+ struct CommunicationInfo {
+ long internalMsg;
+ const TCHAR * srcModuleName;
+ void * info; // defined by plugin
+ };
+
+ #define NPPM_MENUCOMMAND (NPPMSG + 48)
+ //void NPPM_MENUCOMMAND(0, int cmdID)
+ // uncomment //#include "menuCmdID.h"
+ // in the beginning of this file then use the command symbols defined in "menuCmdID.h" file
+ // to access all the Notepad++ menu command items
+
+ #define NPPM_TRIGGERTABBARCONTEXTMENU (NPPMSG + 49)
+ //void NPPM_TRIGGERTABBARCONTEXTMENU(int view, int index2Activate)
+
+ #define NPPM_GETNPPVERSION (NPPMSG + 50)
+ // int NPPM_GETNPPVERSION(0, 0)
+ // return version
+ // ex : v4.6
+ // HIWORD(version) == 4
+ // LOWORD(version) == 6
+
+ #define NPPM_HIDETABBAR (NPPMSG + 51)
+ // BOOL NPPM_HIDETABBAR(0, BOOL hideOrNot)
+ // if hideOrNot is set as TRUE then tab bar will be hidden
+ // otherwise it'll be shown.
+ // return value : the old status value
+
+ #define NPPM_ISTABBARHIDDEN (NPPMSG + 52)
+ // BOOL NPPM_ISTABBARHIDDEN(0, 0)
+ // returned value : TRUE if tab bar is hidden, otherwise FALSE
+
+ #define NPPM_GETPOSFROMBUFFERID (NPPMSG + 57)
+ // INT NPPM_GETPOSFROMBUFFERID(UINT_PTR bufferID, INT priorityView)
+ // Return VIEW|INDEX from a buffer ID. -1 if the bufferID non existing
+ // if priorityView set to SUB_VIEW, then SUB_VIEW will be search firstly
+ //
+ // VIEW takes 2 highest bits and INDEX (0 based) takes the rest (30 bits)
+ // Here's the values for the view :
+ // MAIN_VIEW 0
+ // SUB_VIEW 1
+
+ #define NPPM_GETFULLPATHFROMBUFFERID (NPPMSG + 58)
+ // INT NPPM_GETFULLPATHFROMBUFFERID(UINT_PTR bufferID, TCHAR *fullFilePath)
+ // Get full path file name from a bufferID.
+ // Return -1 if the bufferID non existing, otherwise the number of TCHAR copied/to copy
+ // User should call it with fullFilePath be NULL to get the number of TCHAR (not including the nul character),
+ // allocate fullFilePath with the return values + 1, then call it again to get full path file name
+
+ #define NPPM_GETBUFFERIDFROMPOS (NPPMSG + 59)
+ // LRESULT NPPM_GETBUFFERIDFROMPOS(INT index, INT iView)
+ // wParam: Position of document
+ // lParam: View to use, 0 = Main, 1 = Secondary
+ // Returns 0 if invalid
+
+ #define NPPM_GETCURRENTBUFFERID (NPPMSG + 60)
+ // LRESULT NPPM_GETCURRENTBUFFERID(0, 0)
+ // Returns active Buffer
+
+ #define NPPM_RELOADBUFFERID (NPPMSG + 61)
+ // VOID NPPM_RELOADBUFFERID(UINT_PTR bufferID, BOOL alert)
+ // Reloads Buffer
+ // wParam: Buffer to reload
+ // lParam: 0 if no alert, else alert
+
+
+ #define NPPM_GETBUFFERLANGTYPE (NPPMSG + 64)
+ // INT NPPM_GETBUFFERLANGTYPE(UINT_PTR bufferID, 0)
+ // wParam: BufferID to get LangType from
+ // lParam: 0
+ // Returns as int, see LangType. -1 on error
+
+ #define NPPM_SETBUFFERLANGTYPE (NPPMSG + 65)
+ // BOOL NPPM_SETBUFFERLANGTYPE(UINT_PTR bufferID, INT langType)
+ // wParam: BufferID to set LangType of
+ // lParam: LangType
+ // Returns TRUE on success, FALSE otherwise
+ // use int, see LangType for possible values
+ // L_USER and L_EXTERNAL are not supported
+
+ #define NPPM_GETBUFFERENCODING (NPPMSG + 66)
+ // INT NPPM_GETBUFFERENCODING(UINT_PTR bufferID, 0)
+ // wParam: BufferID to get encoding from
+ // lParam: 0
+ // returns as int, see UniMode. -1 on error
+
+ #define NPPM_SETBUFFERENCODING (NPPMSG + 67)
+ // BOOL NPPM_SETBUFFERENCODING(UINT_PTR bufferID, INT encoding)
+ // wParam: BufferID to set encoding of
+ // lParam: encoding
+ // Returns TRUE on success, FALSE otherwise
+ // use int, see UniMode
+ // Can only be done on new, unedited files
+
+ #define NPPM_GETBUFFERFORMAT (NPPMSG + 68)
+ // INT NPPM_GETBUFFERFORMAT(UINT_PTR bufferID, 0)
+ // wParam: BufferID to get EolType format from
+ // lParam: 0
+ // returns as int, see EolType format. -1 on error
+
+ #define NPPM_SETBUFFERFORMAT (NPPMSG + 69)
+ // BOOL NPPM_SETBUFFERFORMAT(UINT_PTR bufferID, INT format)
+ // wParam: BufferID to set EolType format of
+ // lParam: format
+ // Returns TRUE on success, FALSE otherwise
+ // use int, see EolType format
+
+
+ #define NPPM_HIDETOOLBAR (NPPMSG + 70)
+ // BOOL NPPM_HIDETOOLBAR(0, BOOL hideOrNot)
+ // if hideOrNot is set as TRUE then tool bar will be hidden
+ // otherwise it'll be shown.
+ // return value : the old status value
+
+ #define NPPM_ISTOOLBARHIDDEN (NPPMSG + 71)
+ // BOOL NPPM_ISTOOLBARHIDDEN(0, 0)
+ // returned value : TRUE if tool bar is hidden, otherwise FALSE
+
+ #define NPPM_HIDEMENU (NPPMSG + 72)
+ // BOOL NPPM_HIDEMENU(0, BOOL hideOrNot)
+ // if hideOrNot is set as TRUE then menu will be hidden
+ // otherwise it'll be shown.
+ // return value : the old status value
+
+ #define NPPM_ISMENUHIDDEN (NPPMSG + 73)
+ // BOOL NPPM_ISMENUHIDDEN(0, 0)
+ // returned value : TRUE if menu is hidden, otherwise FALSE
+
+ #define NPPM_HIDESTATUSBAR (NPPMSG + 74)
+ // BOOL NPPM_HIDESTATUSBAR(0, BOOL hideOrNot)
+ // if hideOrNot is set as TRUE then STATUSBAR will be hidden
+ // otherwise it'll be shown.
+ // return value : the old status value
+
+ #define NPPM_ISSTATUSBARHIDDEN (NPPMSG + 75)
+ // BOOL NPPM_ISSTATUSBARHIDDEN(0, 0)
+ // returned value : TRUE if STATUSBAR is hidden, otherwise FALSE
+
+ #define NPPM_GETSHORTCUTBYCMDID (NPPMSG + 76)
+ // BOOL NPPM_GETSHORTCUTBYCMDID(int cmdID, ShortcutKey *sk)
+ // get your plugin command current mapped shortcut into sk via cmdID
+ // You may need it after getting NPPN_READY notification
+ // returned value : TRUE if this function call is successful and shortcut is enable, otherwise FALSE
+
+ #define NPPM_DOOPEN (NPPMSG + 77)
+ // BOOL NPPM_DOOPEN(0, const TCHAR *fullPathName2Open)
+ // fullPathName2Open indicates the full file path name to be opened.
+ // The return value is TRUE (1) if the operation is successful, otherwise FALSE (0).
+
+ #define NPPM_SAVECURRENTFILEAS (NPPMSG + 78)
+ // BOOL NPPM_SAVECURRENTFILEAS (BOOL asCopy, const TCHAR* filename)
+
+ #define NPPM_GETCURRENTNATIVELANGENCODING (NPPMSG + 79)
+ // INT NPPM_GETCURRENTNATIVELANGENCODING(0, 0)
+ // returned value : the current native language encoding
+
+ #define NPPM_ALLOCATESUPPORTED (NPPMSG + 80)
+ // returns TRUE if NPPM_ALLOCATECMDID is supported
+ // Use to identify if subclassing is necessary
+
+ #define NPPM_ALLOCATECMDID (NPPMSG + 81)
+ // BOOL NPPM_ALLOCATECMDID(int numberRequested, int* startNumber)
+ // sets startNumber to the initial command ID if successful
+ // Returns: TRUE if successful, FALSE otherwise. startNumber will also be set to 0 if unsuccessful
+
+ #define NPPM_ALLOCATEMARKER (NPPMSG + 82)
+ // BOOL NPPM_ALLOCATEMARKER(int numberRequested, int* startNumber)
+ // sets startNumber to the initial command ID if successful
+ // Allocates a marker number to a plugin
+ // Returns: TRUE if successful, FALSE otherwise. startNumber will also be set to 0 if unsuccessful
+
+ #define NPPM_GETLANGUAGENAME (NPPMSG + 83)
+ // INT NPPM_GETLANGUAGENAME(int langType, TCHAR *langName)
+ // Get programming language name from the given language type (LangType)
+ // Return value is the number of copied character / number of character to copy (\0 is not included)
+ // You should call this function 2 times - the first time you pass langName as NULL to get the number of characters to copy.
+ // You allocate a buffer of the length of (the number of characters + 1) then call NPPM_GETLANGUAGENAME function the 2nd time
+ // by passing allocated buffer as argument langName
+
+ #define NPPM_GETLANGUAGEDESC (NPPMSG + 84)
+ // INT NPPM_GETLANGUAGEDESC(int langType, TCHAR *langDesc)
+ // Get programming language short description from the given language type (LangType)
+ // Return value is the number of copied character / number of character to copy (\0 is not included)
+ // You should call this function 2 times - the first time you pass langDesc as NULL to get the number of characters to copy.
+ // You allocate a buffer of the length of (the number of characters + 1) then call NPPM_GETLANGUAGEDESC function the 2nd time
+ // by passing allocated buffer as argument langDesc
+
+ #define NPPM_SHOWDOCSWITCHER (NPPMSG + 85)
+ // VOID NPPM_SHOWDOCSWITCHER(0, BOOL toShowOrNot)
+ // Send this message to show or hide doc switcher.
+ // if toShowOrNot is TRUE then show doc switcher, otherwise hide it.
+
+ #define NPPM_ISDOCSWITCHERSHOWN (NPPMSG + 86)
+ // BOOL NPPM_ISDOCSWITCHERSHOWN(0, 0)
+ // Check to see if doc switcher is shown.
+
+ #define NPPM_GETAPPDATAPLUGINSALLOWED (NPPMSG + 87)
+ // BOOL NPPM_GETAPPDATAPLUGINSALLOWED(0, 0)
+ // Check to see if loading plugins from "%APPDATA%\..\Local\Notepad++\plugins" is allowed.
+
+ #define NPPM_GETCURRENTVIEW (NPPMSG + 88)
+ // INT NPPM_GETCURRENTVIEW(0, 0)
+ // Return: current edit view of Notepad++. Only 2 possible values: 0 = Main, 1 = Secondary
+
+ #define NPPM_DOCSWITCHERDISABLECOLUMN (NPPMSG + 89)
+ // VOID NPPM_DOCSWITCHERDISABLECOLUMN(0, BOOL disableOrNot)
+ // Disable or enable extension column of doc switcher
+
+ #define NPPM_GETEDITORDEFAULTFOREGROUNDCOLOR (NPPMSG + 90)
+ // INT NPPM_GETEDITORDEFAULTFOREGROUNDCOLOR(0, 0)
+ // Return: current editor default foreground color. You should convert the returned value in COLORREF
+
+ #define NPPM_GETEDITORDEFAULTBACKGROUNDCOLOR (NPPMSG + 91)
+ // INT NPPM_GETEDITORDEFAULTBACKGROUNDCOLOR(0, 0)
+ // Return: current editor default background color. You should convert the returned value in COLORREF
+
+ #define NPPM_SETSMOOTHFONT (NPPMSG + 92)
+ // VOID NPPM_SETSMOOTHFONT(0, BOOL setSmoothFontOrNot)
+
+ #define NPPM_SETEDITORBORDEREDGE (NPPMSG + 93)
+ // VOID NPPM_SETEDITORBORDEREDGE(0, BOOL withEditorBorderEdgeOrNot)
+
+ #define NPPM_SAVEFILE (NPPMSG + 94)
+ // VOID NPPM_SAVEFILE(0, const TCHAR *fileNameToSave)
+
+ #define NPPM_DISABLEAUTOUPDATE (NPPMSG + 95) // 2119 in decimal
+ // VOID NPPM_DISABLEAUTOUPDATE(0, 0)
+
+ #define NPPM_REMOVESHORTCUTBYCMDID (NPPMSG + 96) // 2120 in decimal
+ // BOOL NPPM_REMOVESHORTCUTASSIGNMENT(int cmdID)
+ // removes the assigned shortcut mapped to cmdID
+ // returned value : TRUE if function call is successful, otherwise FALSE
+
+ #define NPPM_GETPLUGINHOMEPATH (NPPMSG + 97)
+ // INT NPPM_GETPLUGINHOMEPATH(size_t strLen, TCHAR *pluginRootPath)
+ // Get plugin home root path. It's useful if plugins want to get its own path
+ // by appending which is the name of plugin without extension part.
+ // Returns the number of TCHAR copied/to copy.
+ // Users should call it with pluginRootPath be NULL to get the required number of TCHAR (not including the terminating nul character),
+ // allocate pluginRootPath buffer with the return value + 1, then call it again to get the path.
+
+#define RUNCOMMAND_USER (WM_USER + 3000)
+ #define NPPM_GETFULLCURRENTPATH (RUNCOMMAND_USER + FULL_CURRENT_PATH)
+ #define NPPM_GETCURRENTDIRECTORY (RUNCOMMAND_USER + CURRENT_DIRECTORY)
+ #define NPPM_GETFILENAME (RUNCOMMAND_USER + FILE_NAME)
+ #define NPPM_GETNAMEPART (RUNCOMMAND_USER + NAME_PART)
+ #define NPPM_GETEXTPART (RUNCOMMAND_USER + EXT_PART)
+ #define NPPM_GETCURRENTWORD (RUNCOMMAND_USER + CURRENT_WORD)
+ #define NPPM_GETNPPDIRECTORY (RUNCOMMAND_USER + NPP_DIRECTORY)
+ #define NPPM_GETFILENAMEATCURSOR (RUNCOMMAND_USER + GETFILENAMEATCURSOR)
+ // BOOL NPPM_GETXXXXXXXXXXXXXXXX(size_t strLen, TCHAR *str)
+ // where str is the allocated TCHAR array,
+ // strLen is the allocated array size
+ // The return value is TRUE when get generic_string operation success
+ // Otherwise (allocated array size is too small) FALSE
+
+ #define NPPM_GETCURRENTLINE (RUNCOMMAND_USER + CURRENT_LINE)
+ // INT NPPM_GETCURRENTLINE(0, 0)
+ // return the caret current position line
+ #define NPPM_GETCURRENTCOLUMN (RUNCOMMAND_USER + CURRENT_COLUMN)
+ // INT NPPM_GETCURRENTCOLUMN(0, 0)
+ // return the caret current position column
+
+ #define NPPM_GETNPPFULLFILEPATH (RUNCOMMAND_USER + NPP_FULL_FILE_PATH)
+
+ #define VAR_NOT_RECOGNIZED 0
+ #define FULL_CURRENT_PATH 1
+ #define CURRENT_DIRECTORY 2
+ #define FILE_NAME 3
+ #define NAME_PART 4
+ #define EXT_PART 5
+ #define CURRENT_WORD 6
+ #define NPP_DIRECTORY 7
+ #define CURRENT_LINE 8
+ #define CURRENT_COLUMN 9
+ #define NPP_FULL_FILE_PATH 10
+ #define GETFILENAMEATCURSOR 11
+
+
+// Notification code
+#define NPPN_FIRST 1000
+ #define NPPN_READY (NPPN_FIRST + 1) // To notify plugins that all the procedures of launchment of notepad++ are done.
+ //scnNotification->nmhdr.code = NPPN_READY;
+ //scnNotification->nmhdr.hwndFrom = hwndNpp;
+ //scnNotification->nmhdr.idFrom = 0;
+
+ #define NPPN_TBMODIFICATION (NPPN_FIRST + 2) // To notify plugins that toolbar icons can be registered
+ //scnNotification->nmhdr.code = NPPN_TB_MODIFICATION;
+ //scnNotification->nmhdr.hwndFrom = hwndNpp;
+ //scnNotification->nmhdr.idFrom = 0;
+
+ #define NPPN_FILEBEFORECLOSE (NPPN_FIRST + 3) // To notify plugins that the current file is about to be closed
+ //scnNotification->nmhdr.code = NPPN_FILEBEFORECLOSE;
+ //scnNotification->nmhdr.hwndFrom = hwndNpp;
+ //scnNotification->nmhdr.idFrom = BufferID;
+
+ #define NPPN_FILEOPENED (NPPN_FIRST + 4) // To notify plugins that the current file is just opened
+ //scnNotification->nmhdr.code = NPPN_FILEOPENED;
+ //scnNotification->nmhdr.hwndFrom = hwndNpp;
+ //scnNotification->nmhdr.idFrom = BufferID;
+
+ #define NPPN_FILECLOSED (NPPN_FIRST + 5) // To notify plugins that the current file is just closed
+ //scnNotification->nmhdr.code = NPPN_FILECLOSED;
+ //scnNotification->nmhdr.hwndFrom = hwndNpp;
+ //scnNotification->nmhdr.idFrom = BufferID;
+
+ #define NPPN_FILEBEFOREOPEN (NPPN_FIRST + 6) // To notify plugins that the current file is about to be opened
+ //scnNotification->nmhdr.code = NPPN_FILEBEFOREOPEN;
+ //scnNotification->nmhdr.hwndFrom = hwndNpp;
+ //scnNotification->nmhdr.idFrom = BufferID;
+
+ #define NPPN_FILEBEFORESAVE (NPPN_FIRST + 7) // To notify plugins that the current file is about to be saved
+ //scnNotification->nmhdr.code = NPPN_FILEBEFOREOPEN;
+ //scnNotification->nmhdr.hwndFrom = hwndNpp;
+ //scnNotification->nmhdr.idFrom = BufferID;
+
+ #define NPPN_FILESAVED (NPPN_FIRST + 8) // To notify plugins that the current file is just saved
+ //scnNotification->nmhdr.code = NPPN_FILESAVED;
+ //scnNotification->nmhdr.hwndFrom = hwndNpp;
+ //scnNotification->nmhdr.idFrom = BufferID;
+
+ #define NPPN_SHUTDOWN (NPPN_FIRST + 9) // To notify plugins that Notepad++ is about to be shutdowned.
+ //scnNotification->nmhdr.code = NPPN_SHUTDOWN;
+ //scnNotification->nmhdr.hwndFrom = hwndNpp;
+ //scnNotification->nmhdr.idFrom = 0;
+
+ #define NPPN_BUFFERACTIVATED (NPPN_FIRST + 10) // To notify plugins that a buffer was activated (put to foreground).
+ //scnNotification->nmhdr.code = NPPN_BUFFERACTIVATED;
+ //scnNotification->nmhdr.hwndFrom = hwndNpp;
+ //scnNotification->nmhdr.idFrom = activatedBufferID;
+
+ #define NPPN_LANGCHANGED (NPPN_FIRST + 11) // To notify plugins that the language in the current doc is just changed.
+ //scnNotification->nmhdr.code = NPPN_LANGCHANGED;
+ //scnNotification->nmhdr.hwndFrom = hwndNpp;
+ //scnNotification->nmhdr.idFrom = currentBufferID;
+
+ #define NPPN_WORDSTYLESUPDATED (NPPN_FIRST + 12) // To notify plugins that user initiated a WordStyleDlg change.
+ //scnNotification->nmhdr.code = NPPN_WORDSTYLESUPDATED;
+ //scnNotification->nmhdr.hwndFrom = hwndNpp;
+ //scnNotification->nmhdr.idFrom = currentBufferID;
+
+ #define NPPN_SHORTCUTREMAPPED (NPPN_FIRST + 13) // To notify plugins that plugin command shortcut is remapped.
+ //scnNotification->nmhdr.code = NPPN_SHORTCUTSREMAPPED;
+ //scnNotification->nmhdr.hwndFrom = ShortcutKeyStructurePointer;
+ //scnNotification->nmhdr.idFrom = cmdID;
+ //where ShortcutKeyStructurePointer is pointer of struct ShortcutKey:
+ //struct ShortcutKey {
+ // bool _isCtrl;
+ // bool _isAlt;
+ // bool _isShift;
+ // UCHAR _key;
+ //};
+
+ #define NPPN_FILEBEFORELOAD (NPPN_FIRST + 14) // To notify plugins that the current file is about to be loaded
+ //scnNotification->nmhdr.code = NPPN_FILEBEFOREOPEN;
+ //scnNotification->nmhdr.hwndFrom = hwndNpp;
+ //scnNotification->nmhdr.idFrom = NULL;
+
+ #define NPPN_FILELOADFAILED (NPPN_FIRST + 15) // To notify plugins that file open operation failed
+ //scnNotification->nmhdr.code = NPPN_FILEOPENFAILED;
+ //scnNotification->nmhdr.hwndFrom = hwndNpp;
+ //scnNotification->nmhdr.idFrom = BufferID;
+
+ #define NPPN_READONLYCHANGED (NPPN_FIRST + 16) // To notify plugins that current document change the readonly status,
+ //scnNotification->nmhdr.code = NPPN_READONLYCHANGED;
+ //scnNotification->nmhdr.hwndFrom = bufferID;
+ //scnNotification->nmhdr.idFrom = docStatus;
+ // where bufferID is BufferID
+ // docStatus can be combined by DOCSTATUS_READONLY and DOCSTATUS_BUFFERDIRTY
+
+ #define DOCSTATUS_READONLY 1
+ #define DOCSTATUS_BUFFERDIRTY 2
+
+ #define NPPN_DOCORDERCHANGED (NPPN_FIRST + 17) // To notify plugins that document order is changed
+ //scnNotification->nmhdr.code = NPPN_DOCORDERCHANGED;
+ //scnNotification->nmhdr.hwndFrom = newIndex;
+ //scnNotification->nmhdr.idFrom = BufferID;
+
+ #define NPPN_SNAPSHOTDIRTYFILELOADED (NPPN_FIRST + 18) // To notify plugins that a snapshot dirty file is loaded on startup
+ //scnNotification->nmhdr.code = NPPN_SNAPSHOTDIRTYFILELOADED;
+ //scnNotification->nmhdr.hwndFrom = NULL;
+ //scnNotification->nmhdr.idFrom = BufferID;
+
+ #define NPPN_BEFORESHUTDOWN (NPPN_FIRST + 19) // To notify plugins that Npp shutdown has been triggered, files have not been closed yet
+ //scnNotification->nmhdr.code = NPPN_BEFORESHUTDOWN;
+ //scnNotification->nmhdr.hwndFrom = hwndNpp;
+ //scnNotification->nmhdr.idFrom = 0;
+
+ #define NPPN_CANCELSHUTDOWN (NPPN_FIRST + 20) // To notify plugins that Npp shutdown has been cancelled
+ //scnNotification->nmhdr.code = NPPN_CANCELSHUTDOWN;
+ //scnNotification->nmhdr.hwndFrom = hwndNpp;
+ //scnNotification->nmhdr.idFrom = 0;
+
+ #define NPPN_FILEBEFORERENAME (NPPN_FIRST + 21) // To notify plugins that file is to be renamed
+ //scnNotification->nmhdr.code = NPPN_FILEBEFORERENAME;
+ //scnNotification->nmhdr.hwndFrom = hwndNpp;
+ //scnNotification->nmhdr.idFrom = BufferID;
+
+ #define NPPN_FILERENAMECANCEL (NPPN_FIRST + 22) // To notify plugins that file rename has been cancelled
+ //scnNotification->nmhdr.code = NPPN_FILERENAMECANCEL;
+ //scnNotification->nmhdr.hwndFrom = hwndNpp;
+ //scnNotification->nmhdr.idFrom = BufferID;
+
+ #define NPPN_FILERENAMED (NPPN_FIRST + 23) // To notify plugins that file has been renamed
+ //scnNotification->nmhdr.code = NPPN_FILERENAMED;
+ //scnNotification->nmhdr.hwndFrom = hwndNpp;
+ //scnNotification->nmhdr.idFrom = BufferID;
+
+ #define NPPN_FILEBEFOREDELETE (NPPN_FIRST + 24) // To notify plugins that file is to be deleted
+ //scnNotification->nmhdr.code = NPPN_FILEBEFOREDELETE;
+ //scnNotification->nmhdr.hwndFrom = hwndNpp;
+ //scnNotification->nmhdr.idFrom = BufferID;
+
+ #define NPPN_FILEDELETEFAILED (NPPN_FIRST + 25) // To notify plugins that file deletion has failed
+ //scnNotification->nmhdr.code = NPPN_FILEDELETEFAILED;
+ //scnNotification->nmhdr.hwndFrom = hwndNpp;
+ //scnNotification->nmhdr.idFrom = BufferID;
+
+ #define NPPN_FILEDELETED (NPPN_FIRST + 26) // To notify plugins that file has been deleted
+ //scnNotification->nmhdr.code = NPPN_FILEDELETED;
+ //scnNotification->nmhdr.hwndFrom = hwndNpp;
+ //scnNotification->nmhdr.idFrom = BufferID;
diff --git a/Plugin/Npp/PluginInterface.h b/Plugin/Npp/PluginInterface.h
index 6a485fa..84ee087 100644
--- a/Plugin/Npp/PluginInterface.h
+++ b/Plugin/Npp/PluginInterface.h
@@ -1,79 +1,79 @@
-// This file is part of Notepad++ project
-// Copyright (C)2020 Don HO
-//
-// 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 2 of the License, or (at your option) any later version.
-//
-// Note that the GPL places important restrictions on "derived works", yet
-// it does not provide a detailed definition of that term. To avoid
-// misunderstandings, we consider an application to constitute a
-// "derivative work" for the purpose of this license if it does any of the
-// following:
-// 1. Integrates source code from Notepad++.
-// 2. Integrates/includes/aggregates Notepad++ into a proprietary executable
-// installer, such as those produced by InstallShield.
-// 3. Links to a library or executes a program that does any of the above.
-//
-// 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, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-
-#pragma once
-
-#include "Scintilla.h"
-#include "Notepad_plus_msgs.h"
-
-const int nbChar = 64;
-
-typedef const TCHAR * (__cdecl * PFUNCGETNAME)();
-
-struct NppData
-{
- HWND _nppHandle;
- HWND _scintillaMainHandle;
- HWND _scintillaSecondHandle;
-};
-
-typedef void (__cdecl * PFUNCSETINFO)(NppData);
-typedef void (__cdecl * PFUNCPLUGINCMD)();
-typedef void (__cdecl * PBENOTIFIED)(SCNotification *);
-typedef LRESULT (__cdecl * PMESSAGEPROC)(UINT Message, WPARAM wParam, LPARAM lParam);
-
-
-struct ShortcutKey
-{
- bool _isCtrl;
- bool _isAlt;
- bool _isShift;
- UCHAR _key;
-};
-
-struct FuncItem
-{
- TCHAR _itemName[nbChar];
- PFUNCPLUGINCMD _pFunc;
- int _cmdID;
- bool _init2Check;
- ShortcutKey *_pShKey;
-};
-
-typedef FuncItem * (__cdecl * PFUNCGETFUNCSARRAY)(int *);
-
-// You should implement (or define an empty function body) those functions which are called by Notepad++ plugin manager
-extern "C" __declspec(dllexport) void setInfo(NppData);
-extern "C" __declspec(dllexport) const TCHAR * getName();
-extern "C" __declspec(dllexport) FuncItem * getFuncsArray(int *);
-extern "C" __declspec(dllexport) void beNotified(SCNotification *);
-extern "C" __declspec(dllexport) LRESULT messageProc(UINT Message, WPARAM wParam, LPARAM lParam);
-
-// This API return always true now, since Notepad++ isn't compiled in ANSI mode anymore
-extern "C" __declspec(dllexport) BOOL isUnicode();
-
+// This file is part of Notepad++ project
+// Copyright (C)2020 Don HO
+//
+// 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 2 of the License, or (at your option) any later version.
+//
+// Note that the GPL places important restrictions on "derived works", yet
+// it does not provide a detailed definition of that term. To avoid
+// misunderstandings, we consider an application to constitute a
+// "derivative work" for the purpose of this license if it does any of the
+// following:
+// 1. Integrates source code from Notepad++.
+// 2. Integrates/includes/aggregates Notepad++ into a proprietary executable
+// installer, such as those produced by InstallShield.
+// 3. Links to a library or executes a program that does any of the above.
+//
+// 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, write to the Free Software
+// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+
+#pragma once
+
+#include "Scintilla.h"
+#include "Notepad_plus_msgs.h"
+
+const int nbChar = 64;
+
+typedef const TCHAR * (__cdecl * PFUNCGETNAME)();
+
+struct NppData
+{
+ HWND _nppHandle;
+ HWND _scintillaMainHandle;
+ HWND _scintillaSecondHandle;
+};
+
+typedef void (__cdecl * PFUNCSETINFO)(NppData);
+typedef void (__cdecl * PFUNCPLUGINCMD)();
+typedef void (__cdecl * PBENOTIFIED)(SCNotification *);
+typedef LRESULT (__cdecl * PMESSAGEPROC)(UINT Message, WPARAM wParam, LPARAM lParam);
+
+
+struct ShortcutKey
+{
+ bool _isCtrl;
+ bool _isAlt;
+ bool _isShift;
+ UCHAR _key;
+};
+
+struct FuncItem
+{
+ TCHAR _itemName[nbChar];
+ PFUNCPLUGINCMD _pFunc;
+ int _cmdID;
+ bool _init2Check;
+ ShortcutKey *_pShKey;
+};
+
+typedef FuncItem * (__cdecl * PFUNCGETFUNCSARRAY)(int *);
+
+// You should implement (or define an empty function body) those functions which are called by Notepad++ plugin manager
+extern "C" __declspec(dllexport) void setInfo(NppData);
+extern "C" __declspec(dllexport) const TCHAR * getName();
+extern "C" __declspec(dllexport) FuncItem * getFuncsArray(int *);
+extern "C" __declspec(dllexport) void beNotified(SCNotification *);
+extern "C" __declspec(dllexport) LRESULT messageProc(UINT Message, WPARAM wParam, LPARAM lParam);
+
+// This API return always true now, since Notepad++ isn't compiled in ANSI mode anymore
+extern "C" __declspec(dllexport) BOOL isUnicode();
+
diff --git a/Plugin/Npp/Scintilla.h b/Plugin/Npp/Scintilla.h
index 4e20a19..a292dc3 100644
--- a/Plugin/Npp/Scintilla.h
+++ b/Plugin/Npp/Scintilla.h
@@ -1,1283 +1,1283 @@
-/* Scintilla source code edit control */
-/** @file Scintilla.h
- ** Interface to the edit control.
- **/
-/* Copyright 1998-2003 by Neil Hodgson
- * The License.txt file describes the conditions under which this software may be distributed. */
-
-/* Most of this file is automatically generated from the Scintilla.iface interface definition
- * file which contains any comments about the definitions. HFacer.py does the generation. */
-
-#ifndef SCINTILLA_H
-#define SCINTILLA_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if defined(_WIN32)
-/* Return false on failure: */
-int Scintilla_RegisterClasses(void *hInstance);
-int Scintilla_ReleaseResources(void);
-#endif
-int Scintilla_LinkLexers(void);
-
-#ifdef __cplusplus
-}
-#endif
-
-// Include header that defines basic numeric types.
-#include
-
-// Define uptr_t, an unsigned integer type large enough to hold a pointer.
-typedef uintptr_t uptr_t;
-// Define sptr_t, a signed integer large enough to hold a pointer.
-typedef intptr_t sptr_t;
-
-#include "Sci_Position.h"
-
-typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam, sptr_t lParam);
-
-/* ++Autogenerated -- start of section automatically generated from Scintilla.iface */
-#define INVALID_POSITION -1
-#define SCI_START 2000
-#define SCI_OPTIONAL_START 3000
-#define SCI_LEXER_START 4000
-#define SCI_ADDTEXT 2001
-#define SCI_ADDSTYLEDTEXT 2002
-#define SCI_INSERTTEXT 2003
-#define SCI_CHANGEINSERTION 2672
-#define SCI_CLEARALL 2004
-#define SCI_DELETERANGE 2645
-#define SCI_CLEARDOCUMENTSTYLE 2005
-#define SCI_GETLENGTH 2006
-#define SCI_GETCHARAT 2007
-#define SCI_GETCURRENTPOS 2008
-#define SCI_GETANCHOR 2009
-#define SCI_GETSTYLEAT 2010
-#define SCI_REDO 2011
-#define SCI_SETUNDOCOLLECTION 2012
-#define SCI_SELECTALL 2013
-#define SCI_SETSAVEPOINT 2014
-#define SCI_GETSTYLEDTEXT 2015
-#define SCI_CANREDO 2016
-#define SCI_MARKERLINEFROMHANDLE 2017
-#define SCI_MARKERDELETEHANDLE 2018
-#define SCI_GETUNDOCOLLECTION 2019
-#define SCWS_INVISIBLE 0
-#define SCWS_VISIBLEALWAYS 1
-#define SCWS_VISIBLEAFTERINDENT 2
-#define SCWS_VISIBLEONLYININDENT 3
-#define SCI_GETVIEWWS 2020
-#define SCI_SETVIEWWS 2021
-#define SCTD_LONGARROW 0
-#define SCTD_STRIKEOUT 1
-#define SCI_GETTABDRAWMODE 2698
-#define SCI_SETTABDRAWMODE 2699
-#define SCI_POSITIONFROMPOINT 2022
-#define SCI_POSITIONFROMPOINTCLOSE 2023
-#define SCI_GOTOLINE 2024
-#define SCI_GOTOPOS 2025
-#define SCI_SETANCHOR 2026
-#define SCI_GETCURLINE 2027
-#define SCI_GETENDSTYLED 2028
-#define SC_EOL_CRLF 0
-#define SC_EOL_CR 1
-#define SC_EOL_LF 2
-#define SCI_CONVERTEOLS 2029
-#define SCI_GETEOLMODE 2030
-#define SCI_SETEOLMODE 2031
-#define SCI_STARTSTYLING 2032
-#define SCI_SETSTYLING 2033
-#define SCI_GETBUFFEREDDRAW 2034
-#define SCI_SETBUFFEREDDRAW 2035
-#define SCI_SETTABWIDTH 2036
-#define SCI_GETTABWIDTH 2121
-#define SCI_CLEARTABSTOPS 2675
-#define SCI_ADDTABSTOP 2676
-#define SCI_GETNEXTTABSTOP 2677
-#define SC_CP_UTF8 65001
-#define SCI_SETCODEPAGE 2037
-#define SC_IME_WINDOWED 0
-#define SC_IME_INLINE 1
-#define SCI_GETIMEINTERACTION 2678
-#define SCI_SETIMEINTERACTION 2679
-#define MARKER_MAX 31
-#define SC_MARK_CIRCLE 0
-#define SC_MARK_ROUNDRECT 1
-#define SC_MARK_ARROW 2
-#define SC_MARK_SMALLRECT 3
-#define SC_MARK_SHORTARROW 4
-#define SC_MARK_EMPTY 5
-#define SC_MARK_ARROWDOWN 6
-#define SC_MARK_MINUS 7
-#define SC_MARK_PLUS 8
-#define SC_MARK_VLINE 9
-#define SC_MARK_LCORNER 10
-#define SC_MARK_TCORNER 11
-#define SC_MARK_BOXPLUS 12
-#define SC_MARK_BOXPLUSCONNECTED 13
-#define SC_MARK_BOXMINUS 14
-#define SC_MARK_BOXMINUSCONNECTED 15
-#define SC_MARK_LCORNERCURVE 16
-#define SC_MARK_TCORNERCURVE 17
-#define SC_MARK_CIRCLEPLUS 18
-#define SC_MARK_CIRCLEPLUSCONNECTED 19
-#define SC_MARK_CIRCLEMINUS 20
-#define SC_MARK_CIRCLEMINUSCONNECTED 21
-#define SC_MARK_BACKGROUND 22
-#define SC_MARK_DOTDOTDOT 23
-#define SC_MARK_ARROWS 24
-#define SC_MARK_PIXMAP 25
-#define SC_MARK_FULLRECT 26
-#define SC_MARK_LEFTRECT 27
-#define SC_MARK_AVAILABLE 28
-#define SC_MARK_UNDERLINE 29
-#define SC_MARK_RGBAIMAGE 30
-#define SC_MARK_BOOKMARK 31
-#define SC_MARK_VERTICALBOOKMARK 32
-#define SC_MARK_CHARACTER 10000
-#define SC_MARKNUM_FOLDEREND 25
-#define SC_MARKNUM_FOLDEROPENMID 26
-#define SC_MARKNUM_FOLDERMIDTAIL 27
-#define SC_MARKNUM_FOLDERTAIL 28
-#define SC_MARKNUM_FOLDERSUB 29
-#define SC_MARKNUM_FOLDER 30
-#define SC_MARKNUM_FOLDEROPEN 31
-#define SC_MASK_FOLDERS 0xFE000000
-#define SCI_MARKERDEFINE 2040
-#define SCI_MARKERSETFORE 2041
-#define SCI_MARKERSETBACK 2042
-#define SCI_MARKERSETBACKSELECTED 2292
-#define SCI_MARKERENABLEHIGHLIGHT 2293
-#define SCI_MARKERADD 2043
-#define SCI_MARKERDELETE 2044
-#define SCI_MARKERDELETEALL 2045
-#define SCI_MARKERGET 2046
-#define SCI_MARKERNEXT 2047
-#define SCI_MARKERPREVIOUS 2048
-#define SCI_MARKERDEFINEPIXMAP 2049
-#define SCI_MARKERADDSET 2466
-#define SCI_MARKERSETALPHA 2476
-#define SC_MAX_MARGIN 4
-#define SC_MARGIN_SYMBOL 0
-#define SC_MARGIN_NUMBER 1
-#define SC_MARGIN_BACK 2
-#define SC_MARGIN_FORE 3
-#define SC_MARGIN_TEXT 4
-#define SC_MARGIN_RTEXT 5
-#define SC_MARGIN_COLOUR 6
-#define SCI_SETMARGINTYPEN 2240
-#define SCI_GETMARGINTYPEN 2241
-#define SCI_SETMARGINWIDTHN 2242
-#define SCI_GETMARGINWIDTHN 2243
-#define SCI_SETMARGINMASKN 2244
-#define SCI_GETMARGINMASKN 2245
-#define SCI_SETMARGINSENSITIVEN 2246
-#define SCI_GETMARGINSENSITIVEN 2247
-#define SCI_SETMARGINCURSORN 2248
-#define SCI_GETMARGINCURSORN 2249
-#define SCI_SETMARGINBACKN 2250
-#define SCI_GETMARGINBACKN 2251
-#define SCI_SETMARGINS 2252
-#define SCI_GETMARGINS 2253
-#define STYLE_DEFAULT 32
-#define STYLE_LINENUMBER 33
-#define STYLE_BRACELIGHT 34
-#define STYLE_BRACEBAD 35
-#define STYLE_CONTROLCHAR 36
-#define STYLE_INDENTGUIDE 37
-#define STYLE_CALLTIP 38
-#define STYLE_FOLDDISPLAYTEXT 39
-#define STYLE_LASTPREDEFINED 39
-#define STYLE_MAX 255
-#define SC_CHARSET_ANSI 0
-#define SC_CHARSET_DEFAULT 1
-#define SC_CHARSET_BALTIC 186
-#define SC_CHARSET_CHINESEBIG5 136
-#define SC_CHARSET_EASTEUROPE 238
-#define SC_CHARSET_GB2312 134
-#define SC_CHARSET_GREEK 161
-#define SC_CHARSET_HANGUL 129
-#define SC_CHARSET_MAC 77
-#define SC_CHARSET_OEM 255
-#define SC_CHARSET_RUSSIAN 204
-#define SC_CHARSET_OEM866 866
-#define SC_CHARSET_CYRILLIC 1251
-#define SC_CHARSET_SHIFTJIS 128
-#define SC_CHARSET_SYMBOL 2
-#define SC_CHARSET_TURKISH 162
-#define SC_CHARSET_JOHAB 130
-#define SC_CHARSET_HEBREW 177
-#define SC_CHARSET_ARABIC 178
-#define SC_CHARSET_VIETNAMESE 163
-#define SC_CHARSET_THAI 222
-#define SC_CHARSET_8859_15 1000
-#define SCI_STYLECLEARALL 2050
-#define SCI_STYLESETFORE 2051
-#define SCI_STYLESETBACK 2052
-#define SCI_STYLESETBOLD 2053
-#define SCI_STYLESETITALIC 2054
-#define SCI_STYLESETSIZE 2055
-#define SCI_STYLESETFONT 2056
-#define SCI_STYLESETEOLFILLED 2057
-#define SCI_STYLERESETDEFAULT 2058
-#define SCI_STYLESETUNDERLINE 2059
-#define SC_CASE_MIXED 0
-#define SC_CASE_UPPER 1
-#define SC_CASE_LOWER 2
-#define SC_CASE_CAMEL 3
-#define SCI_STYLEGETFORE 2481
-#define SCI_STYLEGETBACK 2482
-#define SCI_STYLEGETBOLD 2483
-#define SCI_STYLEGETITALIC 2484
-#define SCI_STYLEGETSIZE 2485
-#define SCI_STYLEGETFONT 2486
-#define SCI_STYLEGETEOLFILLED 2487
-#define SCI_STYLEGETUNDERLINE 2488
-#define SCI_STYLEGETCASE 2489
-#define SCI_STYLEGETCHARACTERSET 2490
-#define SCI_STYLEGETVISIBLE 2491
-#define SCI_STYLEGETCHANGEABLE 2492
-#define SCI_STYLEGETHOTSPOT 2493
-#define SCI_STYLESETCASE 2060
-#define SC_FONT_SIZE_MULTIPLIER 100
-#define SCI_STYLESETSIZEFRACTIONAL 2061
-#define SCI_STYLEGETSIZEFRACTIONAL 2062
-#define SC_WEIGHT_NORMAL 400
-#define SC_WEIGHT_SEMIBOLD 600
-#define SC_WEIGHT_BOLD 700
-#define SCI_STYLESETWEIGHT 2063
-#define SCI_STYLEGETWEIGHT 2064
-#define SCI_STYLESETCHARACTERSET 2066
-#define SCI_STYLESETHOTSPOT 2409
-#define SCI_SETSELFORE 2067
-#define SCI_SETSELBACK 2068
-#define SCI_GETSELALPHA 2477
-#define SCI_SETSELALPHA 2478
-#define SCI_GETSELEOLFILLED 2479
-#define SCI_SETSELEOLFILLED 2480
-#define SCI_SETCARETFORE 2069
-#define SCI_ASSIGNCMDKEY 2070
-#define SCI_CLEARCMDKEY 2071
-#define SCI_CLEARALLCMDKEYS 2072
-#define SCI_SETSTYLINGEX 2073
-#define SCI_STYLESETVISIBLE 2074
-#define SCI_GETCARETPERIOD 2075
-#define SCI_SETCARETPERIOD 2076
-#define SCI_SETWORDCHARS 2077
-#define SCI_GETWORDCHARS 2646
-#define SCI_SETCHARACTERCATEGORYOPTIMIZATION 2720
-#define SCI_GETCHARACTERCATEGORYOPTIMIZATION 2721
-#define SCI_BEGINUNDOACTION 2078
-#define SCI_ENDUNDOACTION 2079
-#define INDIC_PLAIN 0
-#define INDIC_SQUIGGLE 1
-#define INDIC_TT 2
-#define INDIC_DIAGONAL 3
-#define INDIC_STRIKE 4
-#define INDIC_HIDDEN 5
-#define INDIC_BOX 6
-#define INDIC_ROUNDBOX 7
-#define INDIC_STRAIGHTBOX 8
-#define INDIC_DASH 9
-#define INDIC_DOTS 10
-#define INDIC_SQUIGGLELOW 11
-#define INDIC_DOTBOX 12
-#define INDIC_SQUIGGLEPIXMAP 13
-#define INDIC_COMPOSITIONTHICK 14
-#define INDIC_COMPOSITIONTHIN 15
-#define INDIC_FULLBOX 16
-#define INDIC_TEXTFORE 17
-#define INDIC_POINT 18
-#define INDIC_POINTCHARACTER 19
-#define INDIC_GRADIENT 20
-#define INDIC_GRADIENTCENTRE 21
-#define INDIC_CONTAINER 8
-#define INDIC_IME 32
-#define INDIC_IME_MAX 35
-#define INDIC_MAX 35
-#define INDICATOR_CONTAINER 8
-#define INDICATOR_IME 32
-#define INDICATOR_IME_MAX 35
-#define INDICATOR_MAX 35
-#define SCI_INDICSETSTYLE 2080
-#define SCI_INDICGETSTYLE 2081
-#define SCI_INDICSETFORE 2082
-#define SCI_INDICGETFORE 2083
-#define SCI_INDICSETUNDER 2510
-#define SCI_INDICGETUNDER 2511
-#define SCI_INDICSETHOVERSTYLE 2680
-#define SCI_INDICGETHOVERSTYLE 2681
-#define SCI_INDICSETHOVERFORE 2682
-#define SCI_INDICGETHOVERFORE 2683
-#define SC_INDICVALUEBIT 0x1000000
-#define SC_INDICVALUEMASK 0xFFFFFF
-#define SC_INDICFLAG_VALUEFORE 1
-#define SCI_INDICSETFLAGS 2684
-#define SCI_INDICGETFLAGS 2685
-#define SCI_SETWHITESPACEFORE 2084
-#define SCI_SETWHITESPACEBACK 2085
-#define SCI_SETWHITESPACESIZE 2086
-#define SCI_GETWHITESPACESIZE 2087
-#define SCI_SETLINESTATE 2092
-#define SCI_GETLINESTATE 2093
-#define SCI_GETMAXLINESTATE 2094
-#define SCI_GETCARETLINEVISIBLE 2095
-#define SCI_SETCARETLINEVISIBLE 2096
-#define SCI_GETCARETLINEBACK 2097
-#define SCI_SETCARETLINEBACK 2098
-#define SCI_GETCARETLINEFRAME 2704
-#define SCI_SETCARETLINEFRAME 2705
-#define SCI_STYLESETCHANGEABLE 2099
-#define SCI_AUTOCSHOW 2100
-#define SCI_AUTOCCANCEL 2101
-#define SCI_AUTOCACTIVE 2102
-#define SCI_AUTOCPOSSTART 2103
-#define SCI_AUTOCCOMPLETE 2104
-#define SCI_AUTOCSTOPS 2105
-#define SCI_AUTOCSETSEPARATOR 2106
-#define SCI_AUTOCGETSEPARATOR 2107
-#define SCI_AUTOCSELECT 2108
-#define SCI_AUTOCSETCANCELATSTART 2110
-#define SCI_AUTOCGETCANCELATSTART 2111
-#define SCI_AUTOCSETFILLUPS 2112
-#define SCI_AUTOCSETCHOOSESINGLE 2113
-#define SCI_AUTOCGETCHOOSESINGLE 2114
-#define SCI_AUTOCSETIGNORECASE 2115
-#define SCI_AUTOCGETIGNORECASE 2116
-#define SCI_USERLISTSHOW 2117
-#define SCI_AUTOCSETAUTOHIDE 2118
-#define SCI_AUTOCGETAUTOHIDE 2119
-#define SCI_AUTOCSETDROPRESTOFWORD 2270
-#define SCI_AUTOCGETDROPRESTOFWORD 2271
-#define SCI_REGISTERIMAGE 2405
-#define SCI_CLEARREGISTEREDIMAGES 2408
-#define SCI_AUTOCGETTYPESEPARATOR 2285
-#define SCI_AUTOCSETTYPESEPARATOR 2286
-#define SCI_AUTOCSETMAXWIDTH 2208
-#define SCI_AUTOCGETMAXWIDTH 2209
-#define SCI_AUTOCSETMAXHEIGHT 2210
-#define SCI_AUTOCGETMAXHEIGHT 2211
-#define SCI_SETINDENT 2122
-#define SCI_GETINDENT 2123
-#define SCI_SETUSETABS 2124
-#define SCI_GETUSETABS 2125
-#define SCI_SETLINEINDENTATION 2126
-#define SCI_GETLINEINDENTATION 2127
-#define SCI_GETLINEINDENTPOSITION 2128
-#define SCI_GETCOLUMN 2129
-#define SCI_COUNTCHARACTERS 2633
-#define SCI_COUNTCODEUNITS 2715
-#define SCI_SETHSCROLLBAR 2130
-#define SCI_GETHSCROLLBAR 2131
-#define SC_IV_NONE 0
-#define SC_IV_REAL 1
-#define SC_IV_LOOKFORWARD 2
-#define SC_IV_LOOKBOTH 3
-#define SCI_SETINDENTATIONGUIDES 2132
-#define SCI_GETINDENTATIONGUIDES 2133
-#define SCI_SETHIGHLIGHTGUIDE 2134
-#define SCI_GETHIGHLIGHTGUIDE 2135
-#define SCI_GETLINEENDPOSITION 2136
-#define SCI_GETCODEPAGE 2137
-#define SCI_GETCARETFORE 2138
-#define SCI_GETREADONLY 2140
-#define SCI_SETCURRENTPOS 2141
-#define SCI_SETSELECTIONSTART 2142
-#define SCI_GETSELECTIONSTART 2143
-#define SCI_SETSELECTIONEND 2144
-#define SCI_GETSELECTIONEND 2145
-#define SCI_SETEMPTYSELECTION 2556
-#define SCI_SETPRINTMAGNIFICATION 2146
-#define SCI_GETPRINTMAGNIFICATION 2147
-#define SC_PRINT_NORMAL 0
-#define SC_PRINT_INVERTLIGHT 1
-#define SC_PRINT_BLACKONWHITE 2
-#define SC_PRINT_COLOURONWHITE 3
-#define SC_PRINT_COLOURONWHITEDEFAULTBG 4
-#define SC_PRINT_SCREENCOLOURS 5
-#define SCI_SETPRINTCOLOURMODE 2148
-#define SCI_GETPRINTCOLOURMODE 2149
-#define SCFIND_NONE 0x0
-#define SCFIND_WHOLEWORD 0x2
-#define SCFIND_MATCHCASE 0x4
-#define SCFIND_WORDSTART 0x00100000
-#define SCFIND_REGEXP 0x00200000
-#define SCFIND_POSIX 0x00400000
-#define SCFIND_CXX11REGEX 0x00800000
-#define SCI_FINDTEXT 2150
-#define SCI_FORMATRANGE 2151
-#define SCI_GETFIRSTVISIBLELINE 2152
-#define SCI_GETLINE 2153
-#define SCI_GETLINECOUNT 2154
-#define SCI_SETMARGINLEFT 2155
-#define SCI_GETMARGINLEFT 2156
-#define SCI_SETMARGINRIGHT 2157
-#define SCI_GETMARGINRIGHT 2158
-#define SCI_GETMODIFY 2159
-#define SCI_SETSEL 2160
-#define SCI_GETSELTEXT 2161
-#define SCI_GETTEXTRANGE 2162
-#define SCI_HIDESELECTION 2163
-#define SCI_POINTXFROMPOSITION 2164
-#define SCI_POINTYFROMPOSITION 2165
-#define SCI_LINEFROMPOSITION 2166
-#define SCI_POSITIONFROMLINE 2167
-#define SCI_LINESCROLL 2168
-#define SCI_SCROLLCARET 2169
-#define SCI_SCROLLRANGE 2569
-#define SCI_REPLACESEL 2170
-#define SCI_SETREADONLY 2171
-#define SCI_NULL 2172
-#define SCI_CANPASTE 2173
-#define SCI_CANUNDO 2174
-#define SCI_EMPTYUNDOBUFFER 2175
-#define SCI_UNDO 2176
-#define SCI_CUT 2177
-#define SCI_COPY 2178
-#define SCI_PASTE 2179
-#define SCI_CLEAR 2180
-#define SCI_SETTEXT 2181
-#define SCI_GETTEXT 2182
-#define SCI_GETTEXTLENGTH 2183
-#define SCI_GETDIRECTFUNCTION 2184
-#define SCI_GETDIRECTPOINTER 2185
-#define SCI_SETOVERTYPE 2186
-#define SCI_GETOVERTYPE 2187
-#define SCI_SETCARETWIDTH 2188
-#define SCI_GETCARETWIDTH 2189
-#define SCI_SETTARGETSTART 2190
-#define SCI_GETTARGETSTART 2191
-#define SCI_SETTARGETEND 2192
-#define SCI_GETTARGETEND 2193
-#define SCI_SETTARGETRANGE 2686
-#define SCI_GETTARGETTEXT 2687
-#define SCI_TARGETFROMSELECTION 2287
-#define SCI_TARGETWHOLEDOCUMENT 2690
-#define SCI_REPLACETARGET 2194
-#define SCI_REPLACETARGETRE 2195
-#define SCI_SEARCHINTARGET 2197
-#define SCI_SETSEARCHFLAGS 2198
-#define SCI_GETSEARCHFLAGS 2199
-#define SCI_CALLTIPSHOW 2200
-#define SCI_CALLTIPCANCEL 2201
-#define SCI_CALLTIPACTIVE 2202
-#define SCI_CALLTIPPOSSTART 2203
-#define SCI_CALLTIPSETPOSSTART 2214
-#define SCI_CALLTIPSETHLT 2204
-#define SCI_CALLTIPSETBACK 2205
-#define SCI_CALLTIPSETFORE 2206
-#define SCI_CALLTIPSETFOREHLT 2207
-#define SCI_CALLTIPUSESTYLE 2212
-#define SCI_CALLTIPSETPOSITION 2213
-#define SCI_VISIBLEFROMDOCLINE 2220
-#define SCI_DOCLINEFROMVISIBLE 2221
-#define SCI_WRAPCOUNT 2235
-#define SC_FOLDLEVELBASE 0x400
-#define SC_FOLDLEVELWHITEFLAG 0x1000
-#define SC_FOLDLEVELHEADERFLAG 0x2000
-#define SC_FOLDLEVELNUMBERMASK 0x0FFF
-#define SCI_SETFOLDLEVEL 2222
-#define SCI_GETFOLDLEVEL 2223
-#define SCI_GETLASTCHILD 2224
-#define SCI_GETFOLDPARENT 2225
-#define SCI_SHOWLINES 2226
-#define SCI_HIDELINES 2227
-#define SCI_GETLINEVISIBLE 2228
-#define SCI_GETALLLINESVISIBLE 2236
-#define SCI_SETFOLDEXPANDED 2229
-#define SCI_GETFOLDEXPANDED 2230
-#define SCI_TOGGLEFOLD 2231
-#define SCI_TOGGLEFOLDSHOWTEXT 2700
-#define SC_FOLDDISPLAYTEXT_HIDDEN 0
-#define SC_FOLDDISPLAYTEXT_STANDARD 1
-#define SC_FOLDDISPLAYTEXT_BOXED 2
-#define SCI_FOLDDISPLAYTEXTSETSTYLE 2701
-#define SCI_FOLDDISPLAYTEXTGETSTYLE 2707
-#define SCI_SETDEFAULTFOLDDISPLAYTEXT 2722
-#define SCI_GETDEFAULTFOLDDISPLAYTEXT 2723
-#define SC_FOLDACTION_CONTRACT 0
-#define SC_FOLDACTION_EXPAND 1
-#define SC_FOLDACTION_TOGGLE 2
-#define SCI_FOLDLINE 2237
-#define SCI_FOLDCHILDREN 2238
-#define SCI_EXPANDCHILDREN 2239
-#define SCI_FOLDALL 2662
-#define SCI_ENSUREVISIBLE 2232
-#define SC_AUTOMATICFOLD_SHOW 0x0001
-#define SC_AUTOMATICFOLD_CLICK 0x0002
-#define SC_AUTOMATICFOLD_CHANGE 0x0004
-#define SCI_SETAUTOMATICFOLD 2663
-#define SCI_GETAUTOMATICFOLD 2664
-#define SC_FOLDFLAG_LINEBEFORE_EXPANDED 0x0002
-#define SC_FOLDFLAG_LINEBEFORE_CONTRACTED 0x0004
-#define SC_FOLDFLAG_LINEAFTER_EXPANDED 0x0008
-#define SC_FOLDFLAG_LINEAFTER_CONTRACTED 0x0010
-#define SC_FOLDFLAG_LEVELNUMBERS 0x0040
-#define SC_FOLDFLAG_LINESTATE 0x0080
-#define SCI_SETFOLDFLAGS 2233
-#define SCI_ENSUREVISIBLEENFORCEPOLICY 2234
-#define SCI_SETTABINDENTS 2260
-#define SCI_GETTABINDENTS 2261
-#define SCI_SETBACKSPACEUNINDENTS 2262
-#define SCI_GETBACKSPACEUNINDENTS 2263
-#define SC_TIME_FOREVER 10000000
-#define SCI_SETMOUSEDWELLTIME 2264
-#define SCI_GETMOUSEDWELLTIME 2265
-#define SCI_WORDSTARTPOSITION 2266
-#define SCI_WORDENDPOSITION 2267
-#define SCI_ISRANGEWORD 2691
-#define SC_IDLESTYLING_NONE 0
-#define SC_IDLESTYLING_TOVISIBLE 1
-#define SC_IDLESTYLING_AFTERVISIBLE 2
-#define SC_IDLESTYLING_ALL 3
-#define SCI_SETIDLESTYLING 2692
-#define SCI_GETIDLESTYLING 2693
-#define SC_WRAP_NONE 0
-#define SC_WRAP_WORD 1
-#define SC_WRAP_CHAR 2
-#define SC_WRAP_WHITESPACE 3
-#define SCI_SETWRAPMODE 2268
-#define SCI_GETWRAPMODE 2269
-#define SC_WRAPVISUALFLAG_NONE 0x0000
-#define SC_WRAPVISUALFLAG_END 0x0001
-#define SC_WRAPVISUALFLAG_START 0x0002
-#define SC_WRAPVISUALFLAG_MARGIN 0x0004
-#define SCI_SETWRAPVISUALFLAGS 2460
-#define SCI_GETWRAPVISUALFLAGS 2461
-#define SC_WRAPVISUALFLAGLOC_DEFAULT 0x0000
-#define SC_WRAPVISUALFLAGLOC_END_BY_TEXT 0x0001
-#define SC_WRAPVISUALFLAGLOC_START_BY_TEXT 0x0002
-#define SCI_SETWRAPVISUALFLAGSLOCATION 2462
-#define SCI_GETWRAPVISUALFLAGSLOCATION 2463
-#define SCI_SETWRAPSTARTINDENT 2464
-#define SCI_GETWRAPSTARTINDENT 2465
-#define SC_WRAPINDENT_FIXED 0
-#define SC_WRAPINDENT_SAME 1
-#define SC_WRAPINDENT_INDENT 2
-#define SC_WRAPINDENT_DEEPINDENT 3
-#define SCI_SETWRAPINDENTMODE 2472
-#define SCI_GETWRAPINDENTMODE 2473
-#define SC_CACHE_NONE 0
-#define SC_CACHE_CARET 1
-#define SC_CACHE_PAGE 2
-#define SC_CACHE_DOCUMENT 3
-#define SCI_SETLAYOUTCACHE 2272
-#define SCI_GETLAYOUTCACHE 2273
-#define SCI_SETSCROLLWIDTH 2274
-#define SCI_GETSCROLLWIDTH 2275
-#define SCI_SETSCROLLWIDTHTRACKING 2516
-#define SCI_GETSCROLLWIDTHTRACKING 2517
-#define SCI_TEXTWIDTH 2276
-#define SCI_SETENDATLASTLINE 2277
-#define SCI_GETENDATLASTLINE 2278
-#define SCI_TEXTHEIGHT 2279
-#define SCI_SETVSCROLLBAR 2280
-#define SCI_GETVSCROLLBAR 2281
-#define SCI_APPENDTEXT 2282
-#define SC_PHASES_ONE 0
-#define SC_PHASES_TWO 1
-#define SC_PHASES_MULTIPLE 2
-#define SCI_GETPHASESDRAW 2673
-#define SCI_SETPHASESDRAW 2674
-#define SC_EFF_QUALITY_MASK 0xF
-#define SC_EFF_QUALITY_DEFAULT 0
-#define SC_EFF_QUALITY_NON_ANTIALIASED 1
-#define SC_EFF_QUALITY_ANTIALIASED 2
-#define SC_EFF_QUALITY_LCD_OPTIMIZED 3
-#define SCI_SETFONTQUALITY 2611
-#define SCI_GETFONTQUALITY 2612
-#define SCI_SETFIRSTVISIBLELINE 2613
-#define SC_MULTIPASTE_ONCE 0
-#define SC_MULTIPASTE_EACH 1
-#define SCI_SETMULTIPASTE 2614
-#define SCI_GETMULTIPASTE 2615
-#define SCI_GETTAG 2616
-#define SCI_LINESJOIN 2288
-#define SCI_LINESSPLIT 2289
-#define SCI_SETFOLDMARGINCOLOUR 2290
-#define SCI_SETFOLDMARGINHICOLOUR 2291
-#define SC_ACCESSIBILITY_DISABLED 0
-#define SC_ACCESSIBILITY_ENABLED 1
-#define SCI_SETACCESSIBILITY 2702
-#define SCI_GETACCESSIBILITY 2703
-#define SCI_LINEDOWN 2300
-#define SCI_LINEDOWNEXTEND 2301
-#define SCI_LINEUP 2302
-#define SCI_LINEUPEXTEND 2303
-#define SCI_CHARLEFT 2304
-#define SCI_CHARLEFTEXTEND 2305
-#define SCI_CHARRIGHT 2306
-#define SCI_CHARRIGHTEXTEND 2307
-#define SCI_WORDLEFT 2308
-#define SCI_WORDLEFTEXTEND 2309
-#define SCI_WORDRIGHT 2310
-#define SCI_WORDRIGHTEXTEND 2311
-#define SCI_HOME 2312
-#define SCI_HOMEEXTEND 2313
-#define SCI_LINEEND 2314
-#define SCI_LINEENDEXTEND 2315
-#define SCI_DOCUMENTSTART 2316
-#define SCI_DOCUMENTSTARTEXTEND 2317
-#define SCI_DOCUMENTEND 2318
-#define SCI_DOCUMENTENDEXTEND 2319
-#define SCI_PAGEUP 2320
-#define SCI_PAGEUPEXTEND 2321
-#define SCI_PAGEDOWN 2322
-#define SCI_PAGEDOWNEXTEND 2323
-#define SCI_EDITTOGGLEOVERTYPE 2324
-#define SCI_CANCEL 2325
-#define SCI_DELETEBACK 2326
-#define SCI_TAB 2327
-#define SCI_BACKTAB 2328
-#define SCI_NEWLINE 2329
-#define SCI_FORMFEED 2330
-#define SCI_VCHOME 2331
-#define SCI_VCHOMEEXTEND 2332
-#define SCI_ZOOMIN 2333
-#define SCI_ZOOMOUT 2334
-#define SCI_DELWORDLEFT 2335
-#define SCI_DELWORDRIGHT 2336
-#define SCI_DELWORDRIGHTEND 2518
-#define SCI_LINECUT 2337
-#define SCI_LINEDELETE 2338
-#define SCI_LINETRANSPOSE 2339
-#define SCI_LINEREVERSE 2354
-#define SCI_LINEDUPLICATE 2404
-#define SCI_LOWERCASE 2340
-#define SCI_UPPERCASE 2341
-#define SCI_LINESCROLLDOWN 2342
-#define SCI_LINESCROLLUP 2343
-#define SCI_DELETEBACKNOTLINE 2344
-#define SCI_HOMEDISPLAY 2345
-#define SCI_HOMEDISPLAYEXTEND 2346
-#define SCI_LINEENDDISPLAY 2347
-#define SCI_LINEENDDISPLAYEXTEND 2348
-#define SCI_HOMEWRAP 2349
-#define SCI_HOMEWRAPEXTEND 2450
-#define SCI_LINEENDWRAP 2451
-#define SCI_LINEENDWRAPEXTEND 2452
-#define SCI_VCHOMEWRAP 2453
-#define SCI_VCHOMEWRAPEXTEND 2454
-#define SCI_LINECOPY 2455
-#define SCI_MOVECARETINSIDEVIEW 2401
-#define SCI_LINELENGTH 2350
-#define SCI_BRACEHIGHLIGHT 2351
-#define SCI_BRACEHIGHLIGHTINDICATOR 2498
-#define SCI_BRACEBADLIGHT 2352
-#define SCI_BRACEBADLIGHTINDICATOR 2499
-#define SCI_BRACEMATCH 2353
-#define SCI_GETVIEWEOL 2355
-#define SCI_SETVIEWEOL 2356
-#define SCI_GETDOCPOINTER 2357
-#define SCI_SETDOCPOINTER 2358
-#define SCI_SETMODEVENTMASK 2359
-#define EDGE_NONE 0
-#define EDGE_LINE 1
-#define EDGE_BACKGROUND 2
-#define EDGE_MULTILINE 3
-#define SCI_GETEDGECOLUMN 2360
-#define SCI_SETEDGECOLUMN 2361
-#define SCI_GETEDGEMODE 2362
-#define SCI_SETEDGEMODE 2363
-#define SCI_GETEDGECOLOUR 2364
-#define SCI_SETEDGECOLOUR 2365
-#define SCI_MULTIEDGEADDLINE 2694
-#define SCI_MULTIEDGECLEARALL 2695
-#define SCI_SEARCHANCHOR 2366
-#define SCI_SEARCHNEXT 2367
-#define SCI_SEARCHPREV 2368
-#define SCI_LINESONSCREEN 2370
-#define SC_POPUP_NEVER 0
-#define SC_POPUP_ALL 1
-#define SC_POPUP_TEXT 2
-#define SCI_USEPOPUP 2371
-#define SCI_SELECTIONISRECTANGLE 2372
-#define SCI_SETZOOM 2373
-#define SCI_GETZOOM 2374
-#define SC_DOCUMENTOPTION_DEFAULT 0
-#define SC_DOCUMENTOPTION_STYLES_NONE 0x1
-#define SC_DOCUMENTOPTION_TEXT_LARGE 0x100
-#define SCI_CREATEDOCUMENT 2375
-#define SCI_ADDREFDOCUMENT 2376
-#define SCI_RELEASEDOCUMENT 2377
-#define SCI_GETDOCUMENTOPTIONS 2379
-#define SCI_GETMODEVENTMASK 2378
-#define SCI_SETCOMMANDEVENTS 2717
-#define SCI_GETCOMMANDEVENTS 2718
-#define SCI_SETFOCUS 2380
-#define SCI_GETFOCUS 2381
-#define SC_STATUS_OK 0
-#define SC_STATUS_FAILURE 1
-#define SC_STATUS_BADALLOC 2
-#define SC_STATUS_WARN_START 1000
-#define SC_STATUS_WARN_REGEX 1001
-#define SCI_SETSTATUS 2382
-#define SCI_GETSTATUS 2383
-#define SCI_SETMOUSEDOWNCAPTURES 2384
-#define SCI_GETMOUSEDOWNCAPTURES 2385
-#define SCI_SETMOUSEWHEELCAPTURES 2696
-#define SCI_GETMOUSEWHEELCAPTURES 2697
-#define SC_CURSORNORMAL -1
-#define SC_CURSORARROW 2
-#define SC_CURSORWAIT 4
-#define SC_CURSORREVERSEARROW 7
-#define SCI_SETCURSOR 2386
-#define SCI_GETCURSOR 2387
-#define SCI_SETCONTROLCHARSYMBOL 2388
-#define SCI_GETCONTROLCHARSYMBOL 2389
-#define SCI_WORDPARTLEFT 2390
-#define SCI_WORDPARTLEFTEXTEND 2391
-#define SCI_WORDPARTRIGHT 2392
-#define SCI_WORDPARTRIGHTEXTEND 2393
-#define VISIBLE_SLOP 0x01
-#define VISIBLE_STRICT 0x04
-#define SCI_SETVISIBLEPOLICY 2394
-#define SCI_DELLINELEFT 2395
-#define SCI_DELLINERIGHT 2396
-#define SCI_SETXOFFSET 2397
-#define SCI_GETXOFFSET 2398
-#define SCI_CHOOSECARETX 2399
-#define SCI_GRABFOCUS 2400
-#define CARET_SLOP 0x01
-#define CARET_STRICT 0x04
-#define CARET_JUMPS 0x10
-#define CARET_EVEN 0x08
-#define SCI_SETXCARETPOLICY 2402
-#define SCI_SETYCARETPOLICY 2403
-#define SCI_SETPRINTWRAPMODE 2406
-#define SCI_GETPRINTWRAPMODE 2407
-#define SCI_SETHOTSPOTACTIVEFORE 2410
-#define SCI_GETHOTSPOTACTIVEFORE 2494
-#define SCI_SETHOTSPOTACTIVEBACK 2411
-#define SCI_GETHOTSPOTACTIVEBACK 2495
-#define SCI_SETHOTSPOTACTIVEUNDERLINE 2412
-#define SCI_GETHOTSPOTACTIVEUNDERLINE 2496
-#define SCI_SETHOTSPOTSINGLELINE 2421
-#define SCI_GETHOTSPOTSINGLELINE 2497
-#define SCI_PARADOWN 2413
-#define SCI_PARADOWNEXTEND 2414
-#define SCI_PARAUP 2415
-#define SCI_PARAUPEXTEND 2416
-#define SCI_POSITIONBEFORE 2417
-#define SCI_POSITIONAFTER 2418
-#define SCI_POSITIONRELATIVE 2670
-#define SCI_POSITIONRELATIVECODEUNITS 2716
-#define SCI_COPYRANGE 2419
-#define SCI_COPYTEXT 2420
-#define SC_SEL_STREAM 0
-#define SC_SEL_RECTANGLE 1
-#define SC_SEL_LINES 2
-#define SC_SEL_THIN 3
-#define SCI_SETSELECTIONMODE 2422
-#define SCI_GETSELECTIONMODE 2423
-#define SCI_GETMOVEEXTENDSSELECTION 2706
-#define SCI_GETLINESELSTARTPOSITION 2424
-#define SCI_GETLINESELENDPOSITION 2425
-#define SCI_LINEDOWNRECTEXTEND 2426
-#define SCI_LINEUPRECTEXTEND 2427
-#define SCI_CHARLEFTRECTEXTEND 2428
-#define SCI_CHARRIGHTRECTEXTEND 2429
-#define SCI_HOMERECTEXTEND 2430
-#define SCI_VCHOMERECTEXTEND 2431
-#define SCI_LINEENDRECTEXTEND 2432
-#define SCI_PAGEUPRECTEXTEND 2433
-#define SCI_PAGEDOWNRECTEXTEND 2434
-#define SCI_STUTTEREDPAGEUP 2435
-#define SCI_STUTTEREDPAGEUPEXTEND 2436
-#define SCI_STUTTEREDPAGEDOWN 2437
-#define SCI_STUTTEREDPAGEDOWNEXTEND 2438
-#define SCI_WORDLEFTEND 2439
-#define SCI_WORDLEFTENDEXTEND 2440
-#define SCI_WORDRIGHTEND 2441
-#define SCI_WORDRIGHTENDEXTEND 2442
-#define SCI_SETWHITESPACECHARS 2443
-#define SCI_GETWHITESPACECHARS 2647
-#define SCI_SETPUNCTUATIONCHARS 2648
-#define SCI_GETPUNCTUATIONCHARS 2649
-#define SCI_SETCHARSDEFAULT 2444
-#define SCI_AUTOCGETCURRENT 2445
-#define SCI_AUTOCGETCURRENTTEXT 2610
-#define SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE 0
-#define SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE 1
-#define SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR 2634
-#define SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR 2635
-#define SC_MULTIAUTOC_ONCE 0
-#define SC_MULTIAUTOC_EACH 1
-#define SCI_AUTOCSETMULTI 2636
-#define SCI_AUTOCGETMULTI 2637
-#define SC_ORDER_PRESORTED 0
-#define SC_ORDER_PERFORMSORT 1
-#define SC_ORDER_CUSTOM 2
-#define SCI_AUTOCSETORDER 2660
-#define SCI_AUTOCGETORDER 2661
-#define SCI_ALLOCATE 2446
-#define SCI_TARGETASUTF8 2447
-#define SCI_SETLENGTHFORENCODE 2448
-#define SCI_ENCODEDFROMUTF8 2449
-#define SCI_FINDCOLUMN 2456
-#define SCI_GETCARETSTICKY 2457
-#define SCI_SETCARETSTICKY 2458
-#define SC_CARETSTICKY_OFF 0
-#define SC_CARETSTICKY_ON 1
-#define SC_CARETSTICKY_WHITESPACE 2
-#define SCI_TOGGLECARETSTICKY 2459
-#define SCI_SETPASTECONVERTENDINGS 2467
-#define SCI_GETPASTECONVERTENDINGS 2468
-#define SCI_SELECTIONDUPLICATE 2469
-#define SC_ALPHA_TRANSPARENT 0
-#define SC_ALPHA_OPAQUE 255
-#define SC_ALPHA_NOALPHA 256
-#define SCI_SETCARETLINEBACKALPHA 2470
-#define SCI_GETCARETLINEBACKALPHA 2471
-#define CARETSTYLE_INVISIBLE 0
-#define CARETSTYLE_LINE 1
-#define CARETSTYLE_BLOCK 2
-#define CARETSTYLE_OVERSTRIKE_BAR 0
-#define CARETSTYLE_OVERSTRIKE_BLOCK 0x10
-#define CARETSTYLE_INS_MASK 0xF
-#define CARETSTYLE_BLOCK_AFTER 0x100
-#define SCI_SETCARETSTYLE 2512
-#define SCI_GETCARETSTYLE 2513
-#define SCI_SETINDICATORCURRENT 2500
-#define SCI_GETINDICATORCURRENT 2501
-#define SCI_SETINDICATORVALUE 2502
-#define SCI_GETINDICATORVALUE 2503
-#define SCI_INDICATORFILLRANGE 2504
-#define SCI_INDICATORCLEARRANGE 2505
-#define SCI_INDICATORALLONFOR 2506
-#define SCI_INDICATORVALUEAT 2507
-#define SCI_INDICATORSTART 2508
-#define SCI_INDICATOREND 2509
-#define SCI_SETPOSITIONCACHE 2514
-#define SCI_GETPOSITIONCACHE 2515
-#define SCI_COPYALLOWLINE 2519
-#define SCI_GETCHARACTERPOINTER 2520
-#define SCI_GETRANGEPOINTER 2643
-#define SCI_GETGAPPOSITION 2644
-#define SCI_INDICSETALPHA 2523
-#define SCI_INDICGETALPHA 2524
-#define SCI_INDICSETOUTLINEALPHA 2558
-#define SCI_INDICGETOUTLINEALPHA 2559
-#define SCI_SETEXTRAASCENT 2525
-#define SCI_GETEXTRAASCENT 2526
-#define SCI_SETEXTRADESCENT 2527
-#define SCI_GETEXTRADESCENT 2528
-#define SCI_MARKERSYMBOLDEFINED 2529
-#define SCI_MARGINSETTEXT 2530
-#define SCI_MARGINGETTEXT 2531
-#define SCI_MARGINSETSTYLE 2532
-#define SCI_MARGINGETSTYLE 2533
-#define SCI_MARGINSETSTYLES 2534
-#define SCI_MARGINGETSTYLES 2535
-#define SCI_MARGINTEXTCLEARALL 2536
-#define SCI_MARGINSETSTYLEOFFSET 2537
-#define SCI_MARGINGETSTYLEOFFSET 2538
-#define SC_MARGINOPTION_NONE 0
-#define SC_MARGINOPTION_SUBLINESELECT 1
-#define SCI_SETMARGINOPTIONS 2539
-#define SCI_GETMARGINOPTIONS 2557
-#define SCI_ANNOTATIONSETTEXT 2540
-#define SCI_ANNOTATIONGETTEXT 2541
-#define SCI_ANNOTATIONSETSTYLE 2542
-#define SCI_ANNOTATIONGETSTYLE 2543
-#define SCI_ANNOTATIONSETSTYLES 2544
-#define SCI_ANNOTATIONGETSTYLES 2545
-#define SCI_ANNOTATIONGETLINES 2546
-#define SCI_ANNOTATIONCLEARALL 2547
-#define ANNOTATION_HIDDEN 0
-#define ANNOTATION_STANDARD 1
-#define ANNOTATION_BOXED 2
-#define ANNOTATION_INDENTED 3
-#define SCI_ANNOTATIONSETVISIBLE 2548
-#define SCI_ANNOTATIONGETVISIBLE 2549
-#define SCI_ANNOTATIONSETSTYLEOFFSET 2550
-#define SCI_ANNOTATIONGETSTYLEOFFSET 2551
-#define SCI_RELEASEALLEXTENDEDSTYLES 2552
-#define SCI_ALLOCATEEXTENDEDSTYLES 2553
-#define UNDO_NONE 0
-#define UNDO_MAY_COALESCE 1
-#define SCI_ADDUNDOACTION 2560
-#define SCI_CHARPOSITIONFROMPOINT 2561
-#define SCI_CHARPOSITIONFROMPOINTCLOSE 2562
-#define SCI_SETMOUSESELECTIONRECTANGULARSWITCH 2668
-#define SCI_GETMOUSESELECTIONRECTANGULARSWITCH 2669
-#define SCI_SETMULTIPLESELECTION 2563
-#define SCI_GETMULTIPLESELECTION 2564
-#define SCI_SETADDITIONALSELECTIONTYPING 2565
-#define SCI_GETADDITIONALSELECTIONTYPING 2566
-#define SCI_SETADDITIONALCARETSBLINK 2567
-#define SCI_GETADDITIONALCARETSBLINK 2568
-#define SCI_SETADDITIONALCARETSVISIBLE 2608
-#define SCI_GETADDITIONALCARETSVISIBLE 2609
-#define SCI_GETSELECTIONS 2570
-#define SCI_GETSELECTIONEMPTY 2650
-#define SCI_CLEARSELECTIONS 2571
-#define SCI_SETSELECTION 2572
-#define SCI_ADDSELECTION 2573
-#define SCI_DROPSELECTIONN 2671
-#define SCI_SETMAINSELECTION 2574
-#define SCI_GETMAINSELECTION 2575
-#define SCI_SETSELECTIONNCARET 2576
-#define SCI_GETSELECTIONNCARET 2577
-#define SCI_SETSELECTIONNANCHOR 2578
-#define SCI_GETSELECTIONNANCHOR 2579
-#define SCI_SETSELECTIONNCARETVIRTUALSPACE 2580
-#define SCI_GETSELECTIONNCARETVIRTUALSPACE 2581
-#define SCI_SETSELECTIONNANCHORVIRTUALSPACE 2582
-#define SCI_GETSELECTIONNANCHORVIRTUALSPACE 2583
-#define SCI_SETSELECTIONNSTART 2584
-#define SCI_GETSELECTIONNSTART 2585
-#define SCI_SETSELECTIONNEND 2586
-#define SCI_GETSELECTIONNEND 2587
-#define SCI_SETRECTANGULARSELECTIONCARET 2588
-#define SCI_GETRECTANGULARSELECTIONCARET 2589
-#define SCI_SETRECTANGULARSELECTIONANCHOR 2590
-#define SCI_GETRECTANGULARSELECTIONANCHOR 2591
-#define SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE 2592
-#define SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE 2593
-#define SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE 2594
-#define SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE 2595
-#define SCVS_NONE 0
-#define SCVS_RECTANGULARSELECTION 1
-#define SCVS_USERACCESSIBLE 2
-#define SCVS_NOWRAPLINESTART 4
-#define SCI_SETVIRTUALSPACEOPTIONS 2596
-#define SCI_GETVIRTUALSPACEOPTIONS 2597
-#define SCI_SETRECTANGULARSELECTIONMODIFIER 2598
-#define SCI_GETRECTANGULARSELECTIONMODIFIER 2599
-#define SCI_SETADDITIONALSELFORE 2600
-#define SCI_SETADDITIONALSELBACK 2601
-#define SCI_SETADDITIONALSELALPHA 2602
-#define SCI_GETADDITIONALSELALPHA 2603
-#define SCI_SETADDITIONALCARETFORE 2604
-#define SCI_GETADDITIONALCARETFORE 2605
-#define SCI_ROTATESELECTION 2606
-#define SCI_SWAPMAINANCHORCARET 2607
-#define SCI_MULTIPLESELECTADDNEXT 2688
-#define SCI_MULTIPLESELECTADDEACH 2689
-#define SCI_CHANGELEXERSTATE 2617
-#define SCI_CONTRACTEDFOLDNEXT 2618
-#define SCI_VERTICALCENTRECARET 2619
-#define SCI_MOVESELECTEDLINESUP 2620
-#define SCI_MOVESELECTEDLINESDOWN 2621
-#define SCI_SETIDENTIFIER 2622
-#define SCI_GETIDENTIFIER 2623
-#define SCI_RGBAIMAGESETWIDTH 2624
-#define SCI_RGBAIMAGESETHEIGHT 2625
-#define SCI_RGBAIMAGESETSCALE 2651
-#define SCI_MARKERDEFINERGBAIMAGE 2626
-#define SCI_REGISTERRGBAIMAGE 2627
-#define SCI_SCROLLTOSTART 2628
-#define SCI_SCROLLTOEND 2629
-#define SC_TECHNOLOGY_DEFAULT 0
-#define SC_TECHNOLOGY_DIRECTWRITE 1
-#define SC_TECHNOLOGY_DIRECTWRITERETAIN 2
-#define SC_TECHNOLOGY_DIRECTWRITEDC 3
-#define SCI_SETTECHNOLOGY 2630
-#define SCI_GETTECHNOLOGY 2631
-#define SCI_CREATELOADER 2632
-#define SCI_FINDINDICATORSHOW 2640
-#define SCI_FINDINDICATORFLASH 2641
-#define SCI_FINDINDICATORHIDE 2642
-#define SCI_VCHOMEDISPLAY 2652
-#define SCI_VCHOMEDISPLAYEXTEND 2653
-#define SCI_GETCARETLINEVISIBLEALWAYS 2654
-#define SCI_SETCARETLINEVISIBLEALWAYS 2655
-#define SC_LINE_END_TYPE_DEFAULT 0
-#define SC_LINE_END_TYPE_UNICODE 1
-#define SCI_SETLINEENDTYPESALLOWED 2656
-#define SCI_GETLINEENDTYPESALLOWED 2657
-#define SCI_GETLINEENDTYPESACTIVE 2658
-#define SCI_SETREPRESENTATION 2665
-#define SCI_GETREPRESENTATION 2666
-#define SCI_CLEARREPRESENTATION 2667
-#define SCI_STARTRECORD 3001
-#define SCI_STOPRECORD 3002
-#define SCI_SETLEXER 4001
-#define SCI_GETLEXER 4002
-#define SCI_COLOURISE 4003
-#define SCI_SETPROPERTY 4004
-// #define KEYWORDSET_MAX 8
-#define KEYWORDSET_MAX 30
-#define SCI_SETKEYWORDS 4005
-#define SCI_SETLEXERLANGUAGE 4006
-#define SCI_LOADLEXERLIBRARY 4007
-#define SCI_GETPROPERTY 4008
-#define SCI_GETPROPERTYEXPANDED 4009
-#define SCI_GETPROPERTYINT 4010
-#define SCI_GETLEXERLANGUAGE 4012
-#define SCI_PRIVATELEXERCALL 4013
-#define SCI_PROPERTYNAMES 4014
-#define SC_TYPE_BOOLEAN 0
-#define SC_TYPE_INTEGER 1
-#define SC_TYPE_STRING 2
-#define SCI_PROPERTYTYPE 4015
-#define SCI_DESCRIBEPROPERTY 4016
-#define SCI_DESCRIBEKEYWORDSETS 4017
-#define SCI_GETLINEENDTYPESSUPPORTED 4018
-#define SCI_ALLOCATESUBSTYLES 4020
-#define SCI_GETSUBSTYLESSTART 4021
-#define SCI_GETSUBSTYLESLENGTH 4022
-#define SCI_GETSTYLEFROMSUBSTYLE 4027
-#define SCI_GETPRIMARYSTYLEFROMSTYLE 4028
-#define SCI_FREESUBSTYLES 4023
-#define SCI_SETIDENTIFIERS 4024
-#define SCI_DISTANCETOSECONDARYSTYLES 4025
-#define SCI_GETSUBSTYLEBASES 4026
-#define SCI_GETNAMEDSTYLES 4029
-#define SCI_NAMEOFSTYLE 4030
-#define SCI_TAGSOFSTYLE 4031
-#define SCI_DESCRIPTIONOFSTYLE 4032
-#define SC_MOD_NONE 0x0
-#define SC_MOD_INSERTTEXT 0x1
-#define SC_MOD_DELETETEXT 0x2
-#define SC_MOD_CHANGESTYLE 0x4
-#define SC_MOD_CHANGEFOLD 0x8
-#define SC_PERFORMED_USER 0x10
-#define SC_PERFORMED_UNDO 0x20
-#define SC_PERFORMED_REDO 0x40
-#define SC_MULTISTEPUNDOREDO 0x80
-#define SC_LASTSTEPINUNDOREDO 0x100
-#define SC_MOD_CHANGEMARKER 0x200
-#define SC_MOD_BEFOREINSERT 0x400
-#define SC_MOD_BEFOREDELETE 0x800
-#define SC_MULTILINEUNDOREDO 0x1000
-#define SC_STARTACTION 0x2000
-#define SC_MOD_CHANGEINDICATOR 0x4000
-#define SC_MOD_CHANGELINESTATE 0x8000
-#define SC_MOD_CHANGEMARGIN 0x10000
-#define SC_MOD_CHANGEANNOTATION 0x20000
-#define SC_MOD_CONTAINER 0x40000
-#define SC_MOD_LEXERSTATE 0x80000
-#define SC_MOD_INSERTCHECK 0x100000
-#define SC_MOD_CHANGETABSTOPS 0x200000
-#define SC_MODEVENTMASKALL 0x3FFFFF
-#define SC_SEARCHRESULT_LINEBUFFERMAXLENGTH 1024
-#define SC_UPDATE_CONTENT 0x1
-#define SC_UPDATE_SELECTION 0x2
-#define SC_UPDATE_V_SCROLL 0x4
-#define SC_UPDATE_H_SCROLL 0x8
-#define SCEN_CHANGE 768
-#define SCEN_SETFOCUS 512
-#define SCEN_KILLFOCUS 256
-#define SCK_DOWN 300
-#define SCK_UP 301
-#define SCK_LEFT 302
-#define SCK_RIGHT 303
-#define SCK_HOME 304
-#define SCK_END 305
-#define SCK_PRIOR 306
-#define SCK_NEXT 307
-#define SCK_DELETE 308
-#define SCK_INSERT 309
-#define SCK_ESCAPE 7
-#define SCK_BACK 8
-#define SCK_TAB 9
-#define SCK_RETURN 13
-#define SCK_ADD 310
-#define SCK_SUBTRACT 311
-#define SCK_DIVIDE 312
-#define SCK_WIN 313
-#define SCK_RWIN 314
-#define SCK_MENU 315
-#define SCMOD_NORM 0
-#define SCMOD_SHIFT 1
-#define SCMOD_CTRL 2
-#define SCMOD_ALT 4
-#define SCMOD_SUPER 8
-#define SCMOD_META 16
-#define SC_AC_FILLUP 1
-#define SC_AC_DOUBLECLICK 2
-#define SC_AC_TAB 3
-#define SC_AC_NEWLINE 4
-#define SC_AC_COMMAND 5
-#define SC_CHARACTERSOURCE_DIRECT_INPUT 0
-#define SC_CHARACTERSOURCE_TENTATIVE_INPUT 1
-#define SC_CHARACTERSOURCE_IME_RESULT 2
-#define SCN_STYLENEEDED 2000
-#define SCN_CHARADDED 2001
-#define SCN_SAVEPOINTREACHED 2002
-#define SCN_SAVEPOINTLEFT 2003
-#define SCN_MODIFYATTEMPTRO 2004
-#define SCN_KEY 2005
-#define SCN_DOUBLECLICK 2006
-#define SCN_UPDATEUI 2007
-#define SCN_MODIFIED 2008
-#define SCN_MACRORECORD 2009
-#define SCN_MARGINCLICK 2010
-#define SCN_NEEDSHOWN 2011
-#define SCN_PAINTED 2013
-#define SCN_USERLISTSELECTION 2014
-#define SCN_URIDROPPED 2015
-#define SCN_DWELLSTART 2016
-#define SCN_DWELLEND 2017
-#define SCN_ZOOM 2018
-#define SCN_HOTSPOTCLICK 2019
-#define SCN_HOTSPOTDOUBLECLICK 2020
-#define SCN_CALLTIPCLICK 2021
-#define SCN_AUTOCSELECTION 2022
-#define SCN_INDICATORCLICK 2023
-#define SCN_INDICATORRELEASE 2024
-#define SCN_AUTOCCANCELLED 2025
-#define SCN_AUTOCCHARDELETED 2026
-#define SCN_HOTSPOTRELEASECLICK 2027
-#define SCN_FOCUSIN 2028
-#define SCN_FOCUSOUT 2029
-#define SCN_AUTOCCOMPLETED 2030
-#define SCN_MARGINRIGHTCLICK 2031
-#define SCN_AUTOCSELECTIONCHANGE 2032
-#ifndef SCI_DISABLE_PROVISIONAL
-#define SC_BIDIRECTIONAL_DISABLED 0
-#define SC_BIDIRECTIONAL_L2R 1
-#define SC_BIDIRECTIONAL_R2L 2
-#define SCI_GETBIDIRECTIONAL 2708
-#define SCI_SETBIDIRECTIONAL 2709
-#define SC_LINECHARACTERINDEX_NONE 0
-#define SC_LINECHARACTERINDEX_UTF32 1
-#define SC_LINECHARACTERINDEX_UTF16 2
-#define SCI_GETLINECHARACTERINDEX 2710
-#define SCI_ALLOCATELINECHARACTERINDEX 2711
-#define SCI_RELEASELINECHARACTERINDEX 2712
-#define SCI_LINEFROMINDEXPOSITION 2713
-#define SCI_INDEXPOSITIONFROMLINE 2714
-#endif
-
-#define SCN_SCROLLED 2080
-#define SCN_FOLDINGSTATECHANGED 2081
-
-/* --Autogenerated -- end of section automatically generated from Scintilla.iface */
-
-/* These structures are defined to be exactly the same shape as the Win32
- * CHARRANGE, TEXTRANGE, FINDTEXTEX, FORMATRANGE, and NMHDR structs.
- * So older code that treats Scintilla as a RichEdit will work. */
-
-struct Sci_CharacterRange {
- Sci_PositionCR cpMin;
- Sci_PositionCR cpMax;
-};
-
-struct Sci_TextRange {
- struct Sci_CharacterRange chrg;
- char *lpstrText;
-};
-
-struct Sci_TextToFind {
- struct Sci_CharacterRange chrg;
- const char *lpstrText;
- struct Sci_CharacterRange chrgText;
-};
-
-typedef void *Sci_SurfaceID;
-
-struct Sci_Rectangle {
- int left;
- int top;
- int right;
- int bottom;
-};
-
-/* This structure is used in printing and requires some of the graphics types
- * from Platform.h. Not needed by most client code. */
-
-struct Sci_RangeToFormat {
- Sci_SurfaceID hdc;
- Sci_SurfaceID hdcTarget;
- struct Sci_Rectangle rc;
- struct Sci_Rectangle rcPage;
- struct Sci_CharacterRange chrg;
-};
-
-#ifndef __cplusplus
-/* For the GTK+ platform, g-ir-scanner needs to have these typedefs. This
- * is not required in C++ code and actually seems to break ScintillaEditPy */
-typedef struct Sci_NotifyHeader Sci_NotifyHeader;
-typedef struct SCNotification SCNotification;
-#endif
-
-struct Sci_NotifyHeader {
- /* Compatible with Windows NMHDR.
- * hwndFrom is really an environment specific window handle or pointer
- * but most clients of Scintilla.h do not have this type visible. */
- void *hwndFrom;
- uptr_t idFrom;
- unsigned int code;
-};
-
-struct SCNotification {
- Sci_NotifyHeader nmhdr;
- Sci_Position position;
- /* SCN_STYLENEEDED, SCN_DOUBLECLICK, SCN_MODIFIED, SCN_MARGINCLICK, */
- /* SCN_NEEDSHOWN, SCN_DWELLSTART, SCN_DWELLEND, SCN_CALLTIPCLICK, */
- /* SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, SCN_HOTSPOTRELEASECLICK, */
- /* SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */
- /* SCN_USERLISTSELECTION, SCN_AUTOCSELECTION */
-
- int ch;
- /* SCN_CHARADDED, SCN_KEY, SCN_AUTOCCOMPLETED, SCN_AUTOCSELECTION, */
- /* SCN_USERLISTSELECTION */
- int modifiers;
- /* SCN_KEY, SCN_DOUBLECLICK, SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, */
- /* SCN_HOTSPOTRELEASECLICK, SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */
-
- int modificationType; /* SCN_MODIFIED */
- const char *text;
- /* SCN_MODIFIED, SCN_USERLISTSELECTION, SCN_AUTOCSELECTION, SCN_URIDROPPED */
-
- Sci_Position length; /* SCN_MODIFIED */
- Sci_Position linesAdded; /* SCN_MODIFIED */
- int message; /* SCN_MACRORECORD */
- uptr_t wParam; /* SCN_MACRORECORD */
- sptr_t lParam; /* SCN_MACRORECORD */
- Sci_Position line; /* SCN_MODIFIED */
- int foldLevelNow; /* SCN_MODIFIED */
- int foldLevelPrev; /* SCN_MODIFIED */
- int margin; /* SCN_MARGINCLICK */
- int listType; /* SCN_USERLISTSELECTION */
- int x; /* SCN_DWELLSTART, SCN_DWELLEND */
- int y; /* SCN_DWELLSTART, SCN_DWELLEND */
- int token; /* SCN_MODIFIED with SC_MOD_CONTAINER */
- Sci_Position annotationLinesAdded; /* SCN_MODIFIED with SC_MOD_CHANGEANNOTATION */
- int updated; /* SCN_UPDATEUI */
- int listCompletionMethod;
- /* SCN_AUTOCSELECTION, SCN_AUTOCCOMPLETED, SCN_USERLISTSELECTION, */
- int characterSource; /* SCN_CHARADDED */
-};
-
-struct SearchResultMarking {
- long _start;
- long _end;
-};
-
-struct SearchResultMarkings {
- long _length;
- SearchResultMarking *_markings;
-};
-
-#ifdef INCLUDE_DEPRECATED_FEATURES
-
-#define SCI_SETKEYSUNICODE 2521
-#define SCI_GETKEYSUNICODE 2522
-
-#define SCI_GETTWOPHASEDRAW 2283
-#define SCI_SETTWOPHASEDRAW 2284
-
-#define CharacterRange Sci_CharacterRange
-#define TextRange Sci_TextRange
-#define TextToFind Sci_TextToFind
-#define RangeToFormat Sci_RangeToFormat
-#define NotifyHeader Sci_NotifyHeader
-
-#define SCI_SETSTYLEBITS 2090
-#define SCI_GETSTYLEBITS 2091
-#define SCI_GETSTYLEBITSNEEDED 4011
-
-#define INDIC0_MASK 0x20
-#define INDIC1_MASK 0x40
-#define INDIC2_MASK 0x80
-#define INDICS_MASK 0xE0
-
-#endif
-
-#endif
+/* Scintilla source code edit control */
+/** @file Scintilla.h
+ ** Interface to the edit control.
+ **/
+/* Copyright 1998-2003 by Neil Hodgson
+ * The License.txt file describes the conditions under which this software may be distributed. */
+
+/* Most of this file is automatically generated from the Scintilla.iface interface definition
+ * file which contains any comments about the definitions. HFacer.py does the generation. */
+
+#ifndef SCINTILLA_H
+#define SCINTILLA_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if defined(_WIN32)
+/* Return false on failure: */
+int Scintilla_RegisterClasses(void *hInstance);
+int Scintilla_ReleaseResources(void);
+#endif
+int Scintilla_LinkLexers(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+// Include header that defines basic numeric types.
+#include
+
+// Define uptr_t, an unsigned integer type large enough to hold a pointer.
+typedef uintptr_t uptr_t;
+// Define sptr_t, a signed integer large enough to hold a pointer.
+typedef intptr_t sptr_t;
+
+#include "Sci_Position.h"
+
+typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam, sptr_t lParam);
+
+/* ++Autogenerated -- start of section automatically generated from Scintilla.iface */
+#define INVALID_POSITION -1
+#define SCI_START 2000
+#define SCI_OPTIONAL_START 3000
+#define SCI_LEXER_START 4000
+#define SCI_ADDTEXT 2001
+#define SCI_ADDSTYLEDTEXT 2002
+#define SCI_INSERTTEXT 2003
+#define SCI_CHANGEINSERTION 2672
+#define SCI_CLEARALL 2004
+#define SCI_DELETERANGE 2645
+#define SCI_CLEARDOCUMENTSTYLE 2005
+#define SCI_GETLENGTH 2006
+#define SCI_GETCHARAT 2007
+#define SCI_GETCURRENTPOS 2008
+#define SCI_GETANCHOR 2009
+#define SCI_GETSTYLEAT 2010
+#define SCI_REDO 2011
+#define SCI_SETUNDOCOLLECTION 2012
+#define SCI_SELECTALL 2013
+#define SCI_SETSAVEPOINT 2014
+#define SCI_GETSTYLEDTEXT 2015
+#define SCI_CANREDO 2016
+#define SCI_MARKERLINEFROMHANDLE 2017
+#define SCI_MARKERDELETEHANDLE 2018
+#define SCI_GETUNDOCOLLECTION 2019
+#define SCWS_INVISIBLE 0
+#define SCWS_VISIBLEALWAYS 1
+#define SCWS_VISIBLEAFTERINDENT 2
+#define SCWS_VISIBLEONLYININDENT 3
+#define SCI_GETVIEWWS 2020
+#define SCI_SETVIEWWS 2021
+#define SCTD_LONGARROW 0
+#define SCTD_STRIKEOUT 1
+#define SCI_GETTABDRAWMODE 2698
+#define SCI_SETTABDRAWMODE 2699
+#define SCI_POSITIONFROMPOINT 2022
+#define SCI_POSITIONFROMPOINTCLOSE 2023
+#define SCI_GOTOLINE 2024
+#define SCI_GOTOPOS 2025
+#define SCI_SETANCHOR 2026
+#define SCI_GETCURLINE 2027
+#define SCI_GETENDSTYLED 2028
+#define SC_EOL_CRLF 0
+#define SC_EOL_CR 1
+#define SC_EOL_LF 2
+#define SCI_CONVERTEOLS 2029
+#define SCI_GETEOLMODE 2030
+#define SCI_SETEOLMODE 2031
+#define SCI_STARTSTYLING 2032
+#define SCI_SETSTYLING 2033
+#define SCI_GETBUFFEREDDRAW 2034
+#define SCI_SETBUFFEREDDRAW 2035
+#define SCI_SETTABWIDTH 2036
+#define SCI_GETTABWIDTH 2121
+#define SCI_CLEARTABSTOPS 2675
+#define SCI_ADDTABSTOP 2676
+#define SCI_GETNEXTTABSTOP 2677
+#define SC_CP_UTF8 65001
+#define SCI_SETCODEPAGE 2037
+#define SC_IME_WINDOWED 0
+#define SC_IME_INLINE 1
+#define SCI_GETIMEINTERACTION 2678
+#define SCI_SETIMEINTERACTION 2679
+#define MARKER_MAX 31
+#define SC_MARK_CIRCLE 0
+#define SC_MARK_ROUNDRECT 1
+#define SC_MARK_ARROW 2
+#define SC_MARK_SMALLRECT 3
+#define SC_MARK_SHORTARROW 4
+#define SC_MARK_EMPTY 5
+#define SC_MARK_ARROWDOWN 6
+#define SC_MARK_MINUS 7
+#define SC_MARK_PLUS 8
+#define SC_MARK_VLINE 9
+#define SC_MARK_LCORNER 10
+#define SC_MARK_TCORNER 11
+#define SC_MARK_BOXPLUS 12
+#define SC_MARK_BOXPLUSCONNECTED 13
+#define SC_MARK_BOXMINUS 14
+#define SC_MARK_BOXMINUSCONNECTED 15
+#define SC_MARK_LCORNERCURVE 16
+#define SC_MARK_TCORNERCURVE 17
+#define SC_MARK_CIRCLEPLUS 18
+#define SC_MARK_CIRCLEPLUSCONNECTED 19
+#define SC_MARK_CIRCLEMINUS 20
+#define SC_MARK_CIRCLEMINUSCONNECTED 21
+#define SC_MARK_BACKGROUND 22
+#define SC_MARK_DOTDOTDOT 23
+#define SC_MARK_ARROWS 24
+#define SC_MARK_PIXMAP 25
+#define SC_MARK_FULLRECT 26
+#define SC_MARK_LEFTRECT 27
+#define SC_MARK_AVAILABLE 28
+#define SC_MARK_UNDERLINE 29
+#define SC_MARK_RGBAIMAGE 30
+#define SC_MARK_BOOKMARK 31
+#define SC_MARK_VERTICALBOOKMARK 32
+#define SC_MARK_CHARACTER 10000
+#define SC_MARKNUM_FOLDEREND 25
+#define SC_MARKNUM_FOLDEROPENMID 26
+#define SC_MARKNUM_FOLDERMIDTAIL 27
+#define SC_MARKNUM_FOLDERTAIL 28
+#define SC_MARKNUM_FOLDERSUB 29
+#define SC_MARKNUM_FOLDER 30
+#define SC_MARKNUM_FOLDEROPEN 31
+#define SC_MASK_FOLDERS 0xFE000000
+#define SCI_MARKERDEFINE 2040
+#define SCI_MARKERSETFORE 2041
+#define SCI_MARKERSETBACK 2042
+#define SCI_MARKERSETBACKSELECTED 2292
+#define SCI_MARKERENABLEHIGHLIGHT 2293
+#define SCI_MARKERADD 2043
+#define SCI_MARKERDELETE 2044
+#define SCI_MARKERDELETEALL 2045
+#define SCI_MARKERGET 2046
+#define SCI_MARKERNEXT 2047
+#define SCI_MARKERPREVIOUS 2048
+#define SCI_MARKERDEFINEPIXMAP 2049
+#define SCI_MARKERADDSET 2466
+#define SCI_MARKERSETALPHA 2476
+#define SC_MAX_MARGIN 4
+#define SC_MARGIN_SYMBOL 0
+#define SC_MARGIN_NUMBER 1
+#define SC_MARGIN_BACK 2
+#define SC_MARGIN_FORE 3
+#define SC_MARGIN_TEXT 4
+#define SC_MARGIN_RTEXT 5
+#define SC_MARGIN_COLOUR 6
+#define SCI_SETMARGINTYPEN 2240
+#define SCI_GETMARGINTYPEN 2241
+#define SCI_SETMARGINWIDTHN 2242
+#define SCI_GETMARGINWIDTHN 2243
+#define SCI_SETMARGINMASKN 2244
+#define SCI_GETMARGINMASKN 2245
+#define SCI_SETMARGINSENSITIVEN 2246
+#define SCI_GETMARGINSENSITIVEN 2247
+#define SCI_SETMARGINCURSORN 2248
+#define SCI_GETMARGINCURSORN 2249
+#define SCI_SETMARGINBACKN 2250
+#define SCI_GETMARGINBACKN 2251
+#define SCI_SETMARGINS 2252
+#define SCI_GETMARGINS 2253
+#define STYLE_DEFAULT 32
+#define STYLE_LINENUMBER 33
+#define STYLE_BRACELIGHT 34
+#define STYLE_BRACEBAD 35
+#define STYLE_CONTROLCHAR 36
+#define STYLE_INDENTGUIDE 37
+#define STYLE_CALLTIP 38
+#define STYLE_FOLDDISPLAYTEXT 39
+#define STYLE_LASTPREDEFINED 39
+#define STYLE_MAX 255
+#define SC_CHARSET_ANSI 0
+#define SC_CHARSET_DEFAULT 1
+#define SC_CHARSET_BALTIC 186
+#define SC_CHARSET_CHINESEBIG5 136
+#define SC_CHARSET_EASTEUROPE 238
+#define SC_CHARSET_GB2312 134
+#define SC_CHARSET_GREEK 161
+#define SC_CHARSET_HANGUL 129
+#define SC_CHARSET_MAC 77
+#define SC_CHARSET_OEM 255
+#define SC_CHARSET_RUSSIAN 204
+#define SC_CHARSET_OEM866 866
+#define SC_CHARSET_CYRILLIC 1251
+#define SC_CHARSET_SHIFTJIS 128
+#define SC_CHARSET_SYMBOL 2
+#define SC_CHARSET_TURKISH 162
+#define SC_CHARSET_JOHAB 130
+#define SC_CHARSET_HEBREW 177
+#define SC_CHARSET_ARABIC 178
+#define SC_CHARSET_VIETNAMESE 163
+#define SC_CHARSET_THAI 222
+#define SC_CHARSET_8859_15 1000
+#define SCI_STYLECLEARALL 2050
+#define SCI_STYLESETFORE 2051
+#define SCI_STYLESETBACK 2052
+#define SCI_STYLESETBOLD 2053
+#define SCI_STYLESETITALIC 2054
+#define SCI_STYLESETSIZE 2055
+#define SCI_STYLESETFONT 2056
+#define SCI_STYLESETEOLFILLED 2057
+#define SCI_STYLERESETDEFAULT 2058
+#define SCI_STYLESETUNDERLINE 2059
+#define SC_CASE_MIXED 0
+#define SC_CASE_UPPER 1
+#define SC_CASE_LOWER 2
+#define SC_CASE_CAMEL 3
+#define SCI_STYLEGETFORE 2481
+#define SCI_STYLEGETBACK 2482
+#define SCI_STYLEGETBOLD 2483
+#define SCI_STYLEGETITALIC 2484
+#define SCI_STYLEGETSIZE 2485
+#define SCI_STYLEGETFONT 2486
+#define SCI_STYLEGETEOLFILLED 2487
+#define SCI_STYLEGETUNDERLINE 2488
+#define SCI_STYLEGETCASE 2489
+#define SCI_STYLEGETCHARACTERSET 2490
+#define SCI_STYLEGETVISIBLE 2491
+#define SCI_STYLEGETCHANGEABLE 2492
+#define SCI_STYLEGETHOTSPOT 2493
+#define SCI_STYLESETCASE 2060
+#define SC_FONT_SIZE_MULTIPLIER 100
+#define SCI_STYLESETSIZEFRACTIONAL 2061
+#define SCI_STYLEGETSIZEFRACTIONAL 2062
+#define SC_WEIGHT_NORMAL 400
+#define SC_WEIGHT_SEMIBOLD 600
+#define SC_WEIGHT_BOLD 700
+#define SCI_STYLESETWEIGHT 2063
+#define SCI_STYLEGETWEIGHT 2064
+#define SCI_STYLESETCHARACTERSET 2066
+#define SCI_STYLESETHOTSPOT 2409
+#define SCI_SETSELFORE 2067
+#define SCI_SETSELBACK 2068
+#define SCI_GETSELALPHA 2477
+#define SCI_SETSELALPHA 2478
+#define SCI_GETSELEOLFILLED 2479
+#define SCI_SETSELEOLFILLED 2480
+#define SCI_SETCARETFORE 2069
+#define SCI_ASSIGNCMDKEY 2070
+#define SCI_CLEARCMDKEY 2071
+#define SCI_CLEARALLCMDKEYS 2072
+#define SCI_SETSTYLINGEX 2073
+#define SCI_STYLESETVISIBLE 2074
+#define SCI_GETCARETPERIOD 2075
+#define SCI_SETCARETPERIOD 2076
+#define SCI_SETWORDCHARS 2077
+#define SCI_GETWORDCHARS 2646
+#define SCI_SETCHARACTERCATEGORYOPTIMIZATION 2720
+#define SCI_GETCHARACTERCATEGORYOPTIMIZATION 2721
+#define SCI_BEGINUNDOACTION 2078
+#define SCI_ENDUNDOACTION 2079
+#define INDIC_PLAIN 0
+#define INDIC_SQUIGGLE 1
+#define INDIC_TT 2
+#define INDIC_DIAGONAL 3
+#define INDIC_STRIKE 4
+#define INDIC_HIDDEN 5
+#define INDIC_BOX 6
+#define INDIC_ROUNDBOX 7
+#define INDIC_STRAIGHTBOX 8
+#define INDIC_DASH 9
+#define INDIC_DOTS 10
+#define INDIC_SQUIGGLELOW 11
+#define INDIC_DOTBOX 12
+#define INDIC_SQUIGGLEPIXMAP 13
+#define INDIC_COMPOSITIONTHICK 14
+#define INDIC_COMPOSITIONTHIN 15
+#define INDIC_FULLBOX 16
+#define INDIC_TEXTFORE 17
+#define INDIC_POINT 18
+#define INDIC_POINTCHARACTER 19
+#define INDIC_GRADIENT 20
+#define INDIC_GRADIENTCENTRE 21
+#define INDIC_CONTAINER 8
+#define INDIC_IME 32
+#define INDIC_IME_MAX 35
+#define INDIC_MAX 35
+#define INDICATOR_CONTAINER 8
+#define INDICATOR_IME 32
+#define INDICATOR_IME_MAX 35
+#define INDICATOR_MAX 35
+#define SCI_INDICSETSTYLE 2080
+#define SCI_INDICGETSTYLE 2081
+#define SCI_INDICSETFORE 2082
+#define SCI_INDICGETFORE 2083
+#define SCI_INDICSETUNDER 2510
+#define SCI_INDICGETUNDER 2511
+#define SCI_INDICSETHOVERSTYLE 2680
+#define SCI_INDICGETHOVERSTYLE 2681
+#define SCI_INDICSETHOVERFORE 2682
+#define SCI_INDICGETHOVERFORE 2683
+#define SC_INDICVALUEBIT 0x1000000
+#define SC_INDICVALUEMASK 0xFFFFFF
+#define SC_INDICFLAG_VALUEFORE 1
+#define SCI_INDICSETFLAGS 2684
+#define SCI_INDICGETFLAGS 2685
+#define SCI_SETWHITESPACEFORE 2084
+#define SCI_SETWHITESPACEBACK 2085
+#define SCI_SETWHITESPACESIZE 2086
+#define SCI_GETWHITESPACESIZE 2087
+#define SCI_SETLINESTATE 2092
+#define SCI_GETLINESTATE 2093
+#define SCI_GETMAXLINESTATE 2094
+#define SCI_GETCARETLINEVISIBLE 2095
+#define SCI_SETCARETLINEVISIBLE 2096
+#define SCI_GETCARETLINEBACK 2097
+#define SCI_SETCARETLINEBACK 2098
+#define SCI_GETCARETLINEFRAME 2704
+#define SCI_SETCARETLINEFRAME 2705
+#define SCI_STYLESETCHANGEABLE 2099
+#define SCI_AUTOCSHOW 2100
+#define SCI_AUTOCCANCEL 2101
+#define SCI_AUTOCACTIVE 2102
+#define SCI_AUTOCPOSSTART 2103
+#define SCI_AUTOCCOMPLETE 2104
+#define SCI_AUTOCSTOPS 2105
+#define SCI_AUTOCSETSEPARATOR 2106
+#define SCI_AUTOCGETSEPARATOR 2107
+#define SCI_AUTOCSELECT 2108
+#define SCI_AUTOCSETCANCELATSTART 2110
+#define SCI_AUTOCGETCANCELATSTART 2111
+#define SCI_AUTOCSETFILLUPS 2112
+#define SCI_AUTOCSETCHOOSESINGLE 2113
+#define SCI_AUTOCGETCHOOSESINGLE 2114
+#define SCI_AUTOCSETIGNORECASE 2115
+#define SCI_AUTOCGETIGNORECASE 2116
+#define SCI_USERLISTSHOW 2117
+#define SCI_AUTOCSETAUTOHIDE 2118
+#define SCI_AUTOCGETAUTOHIDE 2119
+#define SCI_AUTOCSETDROPRESTOFWORD 2270
+#define SCI_AUTOCGETDROPRESTOFWORD 2271
+#define SCI_REGISTERIMAGE 2405
+#define SCI_CLEARREGISTEREDIMAGES 2408
+#define SCI_AUTOCGETTYPESEPARATOR 2285
+#define SCI_AUTOCSETTYPESEPARATOR 2286
+#define SCI_AUTOCSETMAXWIDTH 2208
+#define SCI_AUTOCGETMAXWIDTH 2209
+#define SCI_AUTOCSETMAXHEIGHT 2210
+#define SCI_AUTOCGETMAXHEIGHT 2211
+#define SCI_SETINDENT 2122
+#define SCI_GETINDENT 2123
+#define SCI_SETUSETABS 2124
+#define SCI_GETUSETABS 2125
+#define SCI_SETLINEINDENTATION 2126
+#define SCI_GETLINEINDENTATION 2127
+#define SCI_GETLINEINDENTPOSITION 2128
+#define SCI_GETCOLUMN 2129
+#define SCI_COUNTCHARACTERS 2633
+#define SCI_COUNTCODEUNITS 2715
+#define SCI_SETHSCROLLBAR 2130
+#define SCI_GETHSCROLLBAR 2131
+#define SC_IV_NONE 0
+#define SC_IV_REAL 1
+#define SC_IV_LOOKFORWARD 2
+#define SC_IV_LOOKBOTH 3
+#define SCI_SETINDENTATIONGUIDES 2132
+#define SCI_GETINDENTATIONGUIDES 2133
+#define SCI_SETHIGHLIGHTGUIDE 2134
+#define SCI_GETHIGHLIGHTGUIDE 2135
+#define SCI_GETLINEENDPOSITION 2136
+#define SCI_GETCODEPAGE 2137
+#define SCI_GETCARETFORE 2138
+#define SCI_GETREADONLY 2140
+#define SCI_SETCURRENTPOS 2141
+#define SCI_SETSELECTIONSTART 2142
+#define SCI_GETSELECTIONSTART 2143
+#define SCI_SETSELECTIONEND 2144
+#define SCI_GETSELECTIONEND 2145
+#define SCI_SETEMPTYSELECTION 2556
+#define SCI_SETPRINTMAGNIFICATION 2146
+#define SCI_GETPRINTMAGNIFICATION 2147
+#define SC_PRINT_NORMAL 0
+#define SC_PRINT_INVERTLIGHT 1
+#define SC_PRINT_BLACKONWHITE 2
+#define SC_PRINT_COLOURONWHITE 3
+#define SC_PRINT_COLOURONWHITEDEFAULTBG 4
+#define SC_PRINT_SCREENCOLOURS 5
+#define SCI_SETPRINTCOLOURMODE 2148
+#define SCI_GETPRINTCOLOURMODE 2149
+#define SCFIND_NONE 0x0
+#define SCFIND_WHOLEWORD 0x2
+#define SCFIND_MATCHCASE 0x4
+#define SCFIND_WORDSTART 0x00100000
+#define SCFIND_REGEXP 0x00200000
+#define SCFIND_POSIX 0x00400000
+#define SCFIND_CXX11REGEX 0x00800000
+#define SCI_FINDTEXT 2150
+#define SCI_FORMATRANGE 2151
+#define SCI_GETFIRSTVISIBLELINE 2152
+#define SCI_GETLINE 2153
+#define SCI_GETLINECOUNT 2154
+#define SCI_SETMARGINLEFT 2155
+#define SCI_GETMARGINLEFT 2156
+#define SCI_SETMARGINRIGHT 2157
+#define SCI_GETMARGINRIGHT 2158
+#define SCI_GETMODIFY 2159
+#define SCI_SETSEL 2160
+#define SCI_GETSELTEXT 2161
+#define SCI_GETTEXTRANGE 2162
+#define SCI_HIDESELECTION 2163
+#define SCI_POINTXFROMPOSITION 2164
+#define SCI_POINTYFROMPOSITION 2165
+#define SCI_LINEFROMPOSITION 2166
+#define SCI_POSITIONFROMLINE 2167
+#define SCI_LINESCROLL 2168
+#define SCI_SCROLLCARET 2169
+#define SCI_SCROLLRANGE 2569
+#define SCI_REPLACESEL 2170
+#define SCI_SETREADONLY 2171
+#define SCI_NULL 2172
+#define SCI_CANPASTE 2173
+#define SCI_CANUNDO 2174
+#define SCI_EMPTYUNDOBUFFER 2175
+#define SCI_UNDO 2176
+#define SCI_CUT 2177
+#define SCI_COPY 2178
+#define SCI_PASTE 2179
+#define SCI_CLEAR 2180
+#define SCI_SETTEXT 2181
+#define SCI_GETTEXT 2182
+#define SCI_GETTEXTLENGTH 2183
+#define SCI_GETDIRECTFUNCTION 2184
+#define SCI_GETDIRECTPOINTER 2185
+#define SCI_SETOVERTYPE 2186
+#define SCI_GETOVERTYPE 2187
+#define SCI_SETCARETWIDTH 2188
+#define SCI_GETCARETWIDTH 2189
+#define SCI_SETTARGETSTART 2190
+#define SCI_GETTARGETSTART 2191
+#define SCI_SETTARGETEND 2192
+#define SCI_GETTARGETEND 2193
+#define SCI_SETTARGETRANGE 2686
+#define SCI_GETTARGETTEXT 2687
+#define SCI_TARGETFROMSELECTION 2287
+#define SCI_TARGETWHOLEDOCUMENT 2690
+#define SCI_REPLACETARGET 2194
+#define SCI_REPLACETARGETRE 2195
+#define SCI_SEARCHINTARGET 2197
+#define SCI_SETSEARCHFLAGS 2198
+#define SCI_GETSEARCHFLAGS 2199
+#define SCI_CALLTIPSHOW 2200
+#define SCI_CALLTIPCANCEL 2201
+#define SCI_CALLTIPACTIVE 2202
+#define SCI_CALLTIPPOSSTART 2203
+#define SCI_CALLTIPSETPOSSTART 2214
+#define SCI_CALLTIPSETHLT 2204
+#define SCI_CALLTIPSETBACK 2205
+#define SCI_CALLTIPSETFORE 2206
+#define SCI_CALLTIPSETFOREHLT 2207
+#define SCI_CALLTIPUSESTYLE 2212
+#define SCI_CALLTIPSETPOSITION 2213
+#define SCI_VISIBLEFROMDOCLINE 2220
+#define SCI_DOCLINEFROMVISIBLE 2221
+#define SCI_WRAPCOUNT 2235
+#define SC_FOLDLEVELBASE 0x400
+#define SC_FOLDLEVELWHITEFLAG 0x1000
+#define SC_FOLDLEVELHEADERFLAG 0x2000
+#define SC_FOLDLEVELNUMBERMASK 0x0FFF
+#define SCI_SETFOLDLEVEL 2222
+#define SCI_GETFOLDLEVEL 2223
+#define SCI_GETLASTCHILD 2224
+#define SCI_GETFOLDPARENT 2225
+#define SCI_SHOWLINES 2226
+#define SCI_HIDELINES 2227
+#define SCI_GETLINEVISIBLE 2228
+#define SCI_GETALLLINESVISIBLE 2236
+#define SCI_SETFOLDEXPANDED 2229
+#define SCI_GETFOLDEXPANDED 2230
+#define SCI_TOGGLEFOLD 2231
+#define SCI_TOGGLEFOLDSHOWTEXT 2700
+#define SC_FOLDDISPLAYTEXT_HIDDEN 0
+#define SC_FOLDDISPLAYTEXT_STANDARD 1
+#define SC_FOLDDISPLAYTEXT_BOXED 2
+#define SCI_FOLDDISPLAYTEXTSETSTYLE 2701
+#define SCI_FOLDDISPLAYTEXTGETSTYLE 2707
+#define SCI_SETDEFAULTFOLDDISPLAYTEXT 2722
+#define SCI_GETDEFAULTFOLDDISPLAYTEXT 2723
+#define SC_FOLDACTION_CONTRACT 0
+#define SC_FOLDACTION_EXPAND 1
+#define SC_FOLDACTION_TOGGLE 2
+#define SCI_FOLDLINE 2237
+#define SCI_FOLDCHILDREN 2238
+#define SCI_EXPANDCHILDREN 2239
+#define SCI_FOLDALL 2662
+#define SCI_ENSUREVISIBLE 2232
+#define SC_AUTOMATICFOLD_SHOW 0x0001
+#define SC_AUTOMATICFOLD_CLICK 0x0002
+#define SC_AUTOMATICFOLD_CHANGE 0x0004
+#define SCI_SETAUTOMATICFOLD 2663
+#define SCI_GETAUTOMATICFOLD 2664
+#define SC_FOLDFLAG_LINEBEFORE_EXPANDED 0x0002
+#define SC_FOLDFLAG_LINEBEFORE_CONTRACTED 0x0004
+#define SC_FOLDFLAG_LINEAFTER_EXPANDED 0x0008
+#define SC_FOLDFLAG_LINEAFTER_CONTRACTED 0x0010
+#define SC_FOLDFLAG_LEVELNUMBERS 0x0040
+#define SC_FOLDFLAG_LINESTATE 0x0080
+#define SCI_SETFOLDFLAGS 2233
+#define SCI_ENSUREVISIBLEENFORCEPOLICY 2234
+#define SCI_SETTABINDENTS 2260
+#define SCI_GETTABINDENTS 2261
+#define SCI_SETBACKSPACEUNINDENTS 2262
+#define SCI_GETBACKSPACEUNINDENTS 2263
+#define SC_TIME_FOREVER 10000000
+#define SCI_SETMOUSEDWELLTIME 2264
+#define SCI_GETMOUSEDWELLTIME 2265
+#define SCI_WORDSTARTPOSITION 2266
+#define SCI_WORDENDPOSITION 2267
+#define SCI_ISRANGEWORD 2691
+#define SC_IDLESTYLING_NONE 0
+#define SC_IDLESTYLING_TOVISIBLE 1
+#define SC_IDLESTYLING_AFTERVISIBLE 2
+#define SC_IDLESTYLING_ALL 3
+#define SCI_SETIDLESTYLING 2692
+#define SCI_GETIDLESTYLING 2693
+#define SC_WRAP_NONE 0
+#define SC_WRAP_WORD 1
+#define SC_WRAP_CHAR 2
+#define SC_WRAP_WHITESPACE 3
+#define SCI_SETWRAPMODE 2268
+#define SCI_GETWRAPMODE 2269
+#define SC_WRAPVISUALFLAG_NONE 0x0000
+#define SC_WRAPVISUALFLAG_END 0x0001
+#define SC_WRAPVISUALFLAG_START 0x0002
+#define SC_WRAPVISUALFLAG_MARGIN 0x0004
+#define SCI_SETWRAPVISUALFLAGS 2460
+#define SCI_GETWRAPVISUALFLAGS 2461
+#define SC_WRAPVISUALFLAGLOC_DEFAULT 0x0000
+#define SC_WRAPVISUALFLAGLOC_END_BY_TEXT 0x0001
+#define SC_WRAPVISUALFLAGLOC_START_BY_TEXT 0x0002
+#define SCI_SETWRAPVISUALFLAGSLOCATION 2462
+#define SCI_GETWRAPVISUALFLAGSLOCATION 2463
+#define SCI_SETWRAPSTARTINDENT 2464
+#define SCI_GETWRAPSTARTINDENT 2465
+#define SC_WRAPINDENT_FIXED 0
+#define SC_WRAPINDENT_SAME 1
+#define SC_WRAPINDENT_INDENT 2
+#define SC_WRAPINDENT_DEEPINDENT 3
+#define SCI_SETWRAPINDENTMODE 2472
+#define SCI_GETWRAPINDENTMODE 2473
+#define SC_CACHE_NONE 0
+#define SC_CACHE_CARET 1
+#define SC_CACHE_PAGE 2
+#define SC_CACHE_DOCUMENT 3
+#define SCI_SETLAYOUTCACHE 2272
+#define SCI_GETLAYOUTCACHE 2273
+#define SCI_SETSCROLLWIDTH 2274
+#define SCI_GETSCROLLWIDTH 2275
+#define SCI_SETSCROLLWIDTHTRACKING 2516
+#define SCI_GETSCROLLWIDTHTRACKING 2517
+#define SCI_TEXTWIDTH 2276
+#define SCI_SETENDATLASTLINE 2277
+#define SCI_GETENDATLASTLINE 2278
+#define SCI_TEXTHEIGHT 2279
+#define SCI_SETVSCROLLBAR 2280
+#define SCI_GETVSCROLLBAR 2281
+#define SCI_APPENDTEXT 2282
+#define SC_PHASES_ONE 0
+#define SC_PHASES_TWO 1
+#define SC_PHASES_MULTIPLE 2
+#define SCI_GETPHASESDRAW 2673
+#define SCI_SETPHASESDRAW 2674
+#define SC_EFF_QUALITY_MASK 0xF
+#define SC_EFF_QUALITY_DEFAULT 0
+#define SC_EFF_QUALITY_NON_ANTIALIASED 1
+#define SC_EFF_QUALITY_ANTIALIASED 2
+#define SC_EFF_QUALITY_LCD_OPTIMIZED 3
+#define SCI_SETFONTQUALITY 2611
+#define SCI_GETFONTQUALITY 2612
+#define SCI_SETFIRSTVISIBLELINE 2613
+#define SC_MULTIPASTE_ONCE 0
+#define SC_MULTIPASTE_EACH 1
+#define SCI_SETMULTIPASTE 2614
+#define SCI_GETMULTIPASTE 2615
+#define SCI_GETTAG 2616
+#define SCI_LINESJOIN 2288
+#define SCI_LINESSPLIT 2289
+#define SCI_SETFOLDMARGINCOLOUR 2290
+#define SCI_SETFOLDMARGINHICOLOUR 2291
+#define SC_ACCESSIBILITY_DISABLED 0
+#define SC_ACCESSIBILITY_ENABLED 1
+#define SCI_SETACCESSIBILITY 2702
+#define SCI_GETACCESSIBILITY 2703
+#define SCI_LINEDOWN 2300
+#define SCI_LINEDOWNEXTEND 2301
+#define SCI_LINEUP 2302
+#define SCI_LINEUPEXTEND 2303
+#define SCI_CHARLEFT 2304
+#define SCI_CHARLEFTEXTEND 2305
+#define SCI_CHARRIGHT 2306
+#define SCI_CHARRIGHTEXTEND 2307
+#define SCI_WORDLEFT 2308
+#define SCI_WORDLEFTEXTEND 2309
+#define SCI_WORDRIGHT 2310
+#define SCI_WORDRIGHTEXTEND 2311
+#define SCI_HOME 2312
+#define SCI_HOMEEXTEND 2313
+#define SCI_LINEEND 2314
+#define SCI_LINEENDEXTEND 2315
+#define SCI_DOCUMENTSTART 2316
+#define SCI_DOCUMENTSTARTEXTEND 2317
+#define SCI_DOCUMENTEND 2318
+#define SCI_DOCUMENTENDEXTEND 2319
+#define SCI_PAGEUP 2320
+#define SCI_PAGEUPEXTEND 2321
+#define SCI_PAGEDOWN 2322
+#define SCI_PAGEDOWNEXTEND 2323
+#define SCI_EDITTOGGLEOVERTYPE 2324
+#define SCI_CANCEL 2325
+#define SCI_DELETEBACK 2326
+#define SCI_TAB 2327
+#define SCI_BACKTAB 2328
+#define SCI_NEWLINE 2329
+#define SCI_FORMFEED 2330
+#define SCI_VCHOME 2331
+#define SCI_VCHOMEEXTEND 2332
+#define SCI_ZOOMIN 2333
+#define SCI_ZOOMOUT 2334
+#define SCI_DELWORDLEFT 2335
+#define SCI_DELWORDRIGHT 2336
+#define SCI_DELWORDRIGHTEND 2518
+#define SCI_LINECUT 2337
+#define SCI_LINEDELETE 2338
+#define SCI_LINETRANSPOSE 2339
+#define SCI_LINEREVERSE 2354
+#define SCI_LINEDUPLICATE 2404
+#define SCI_LOWERCASE 2340
+#define SCI_UPPERCASE 2341
+#define SCI_LINESCROLLDOWN 2342
+#define SCI_LINESCROLLUP 2343
+#define SCI_DELETEBACKNOTLINE 2344
+#define SCI_HOMEDISPLAY 2345
+#define SCI_HOMEDISPLAYEXTEND 2346
+#define SCI_LINEENDDISPLAY 2347
+#define SCI_LINEENDDISPLAYEXTEND 2348
+#define SCI_HOMEWRAP 2349
+#define SCI_HOMEWRAPEXTEND 2450
+#define SCI_LINEENDWRAP 2451
+#define SCI_LINEENDWRAPEXTEND 2452
+#define SCI_VCHOMEWRAP 2453
+#define SCI_VCHOMEWRAPEXTEND 2454
+#define SCI_LINECOPY 2455
+#define SCI_MOVECARETINSIDEVIEW 2401
+#define SCI_LINELENGTH 2350
+#define SCI_BRACEHIGHLIGHT 2351
+#define SCI_BRACEHIGHLIGHTINDICATOR 2498
+#define SCI_BRACEBADLIGHT 2352
+#define SCI_BRACEBADLIGHTINDICATOR 2499
+#define SCI_BRACEMATCH 2353
+#define SCI_GETVIEWEOL 2355
+#define SCI_SETVIEWEOL 2356
+#define SCI_GETDOCPOINTER 2357
+#define SCI_SETDOCPOINTER 2358
+#define SCI_SETMODEVENTMASK 2359
+#define EDGE_NONE 0
+#define EDGE_LINE 1
+#define EDGE_BACKGROUND 2
+#define EDGE_MULTILINE 3
+#define SCI_GETEDGECOLUMN 2360
+#define SCI_SETEDGECOLUMN 2361
+#define SCI_GETEDGEMODE 2362
+#define SCI_SETEDGEMODE 2363
+#define SCI_GETEDGECOLOUR 2364
+#define SCI_SETEDGECOLOUR 2365
+#define SCI_MULTIEDGEADDLINE 2694
+#define SCI_MULTIEDGECLEARALL 2695
+#define SCI_SEARCHANCHOR 2366
+#define SCI_SEARCHNEXT 2367
+#define SCI_SEARCHPREV 2368
+#define SCI_LINESONSCREEN 2370
+#define SC_POPUP_NEVER 0
+#define SC_POPUP_ALL 1
+#define SC_POPUP_TEXT 2
+#define SCI_USEPOPUP 2371
+#define SCI_SELECTIONISRECTANGLE 2372
+#define SCI_SETZOOM 2373
+#define SCI_GETZOOM 2374
+#define SC_DOCUMENTOPTION_DEFAULT 0
+#define SC_DOCUMENTOPTION_STYLES_NONE 0x1
+#define SC_DOCUMENTOPTION_TEXT_LARGE 0x100
+#define SCI_CREATEDOCUMENT 2375
+#define SCI_ADDREFDOCUMENT 2376
+#define SCI_RELEASEDOCUMENT 2377
+#define SCI_GETDOCUMENTOPTIONS 2379
+#define SCI_GETMODEVENTMASK 2378
+#define SCI_SETCOMMANDEVENTS 2717
+#define SCI_GETCOMMANDEVENTS 2718
+#define SCI_SETFOCUS 2380
+#define SCI_GETFOCUS 2381
+#define SC_STATUS_OK 0
+#define SC_STATUS_FAILURE 1
+#define SC_STATUS_BADALLOC 2
+#define SC_STATUS_WARN_START 1000
+#define SC_STATUS_WARN_REGEX 1001
+#define SCI_SETSTATUS 2382
+#define SCI_GETSTATUS 2383
+#define SCI_SETMOUSEDOWNCAPTURES 2384
+#define SCI_GETMOUSEDOWNCAPTURES 2385
+#define SCI_SETMOUSEWHEELCAPTURES 2696
+#define SCI_GETMOUSEWHEELCAPTURES 2697
+#define SC_CURSORNORMAL -1
+#define SC_CURSORARROW 2
+#define SC_CURSORWAIT 4
+#define SC_CURSORREVERSEARROW 7
+#define SCI_SETCURSOR 2386
+#define SCI_GETCURSOR 2387
+#define SCI_SETCONTROLCHARSYMBOL 2388
+#define SCI_GETCONTROLCHARSYMBOL 2389
+#define SCI_WORDPARTLEFT 2390
+#define SCI_WORDPARTLEFTEXTEND 2391
+#define SCI_WORDPARTRIGHT 2392
+#define SCI_WORDPARTRIGHTEXTEND 2393
+#define VISIBLE_SLOP 0x01
+#define VISIBLE_STRICT 0x04
+#define SCI_SETVISIBLEPOLICY 2394
+#define SCI_DELLINELEFT 2395
+#define SCI_DELLINERIGHT 2396
+#define SCI_SETXOFFSET 2397
+#define SCI_GETXOFFSET 2398
+#define SCI_CHOOSECARETX 2399
+#define SCI_GRABFOCUS 2400
+#define CARET_SLOP 0x01
+#define CARET_STRICT 0x04
+#define CARET_JUMPS 0x10
+#define CARET_EVEN 0x08
+#define SCI_SETXCARETPOLICY 2402
+#define SCI_SETYCARETPOLICY 2403
+#define SCI_SETPRINTWRAPMODE 2406
+#define SCI_GETPRINTWRAPMODE 2407
+#define SCI_SETHOTSPOTACTIVEFORE 2410
+#define SCI_GETHOTSPOTACTIVEFORE 2494
+#define SCI_SETHOTSPOTACTIVEBACK 2411
+#define SCI_GETHOTSPOTACTIVEBACK 2495
+#define SCI_SETHOTSPOTACTIVEUNDERLINE 2412
+#define SCI_GETHOTSPOTACTIVEUNDERLINE 2496
+#define SCI_SETHOTSPOTSINGLELINE 2421
+#define SCI_GETHOTSPOTSINGLELINE 2497
+#define SCI_PARADOWN 2413
+#define SCI_PARADOWNEXTEND 2414
+#define SCI_PARAUP 2415
+#define SCI_PARAUPEXTEND 2416
+#define SCI_POSITIONBEFORE 2417
+#define SCI_POSITIONAFTER 2418
+#define SCI_POSITIONRELATIVE 2670
+#define SCI_POSITIONRELATIVECODEUNITS 2716
+#define SCI_COPYRANGE 2419
+#define SCI_COPYTEXT 2420
+#define SC_SEL_STREAM 0
+#define SC_SEL_RECTANGLE 1
+#define SC_SEL_LINES 2
+#define SC_SEL_THIN 3
+#define SCI_SETSELECTIONMODE 2422
+#define SCI_GETSELECTIONMODE 2423
+#define SCI_GETMOVEEXTENDSSELECTION 2706
+#define SCI_GETLINESELSTARTPOSITION 2424
+#define SCI_GETLINESELENDPOSITION 2425
+#define SCI_LINEDOWNRECTEXTEND 2426
+#define SCI_LINEUPRECTEXTEND 2427
+#define SCI_CHARLEFTRECTEXTEND 2428
+#define SCI_CHARRIGHTRECTEXTEND 2429
+#define SCI_HOMERECTEXTEND 2430
+#define SCI_VCHOMERECTEXTEND 2431
+#define SCI_LINEENDRECTEXTEND 2432
+#define SCI_PAGEUPRECTEXTEND 2433
+#define SCI_PAGEDOWNRECTEXTEND 2434
+#define SCI_STUTTEREDPAGEUP 2435
+#define SCI_STUTTEREDPAGEUPEXTEND 2436
+#define SCI_STUTTEREDPAGEDOWN 2437
+#define SCI_STUTTEREDPAGEDOWNEXTEND 2438
+#define SCI_WORDLEFTEND 2439
+#define SCI_WORDLEFTENDEXTEND 2440
+#define SCI_WORDRIGHTEND 2441
+#define SCI_WORDRIGHTENDEXTEND 2442
+#define SCI_SETWHITESPACECHARS 2443
+#define SCI_GETWHITESPACECHARS 2647
+#define SCI_SETPUNCTUATIONCHARS 2648
+#define SCI_GETPUNCTUATIONCHARS 2649
+#define SCI_SETCHARSDEFAULT 2444
+#define SCI_AUTOCGETCURRENT 2445
+#define SCI_AUTOCGETCURRENTTEXT 2610
+#define SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE 0
+#define SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE 1
+#define SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR 2634
+#define SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR 2635
+#define SC_MULTIAUTOC_ONCE 0
+#define SC_MULTIAUTOC_EACH 1
+#define SCI_AUTOCSETMULTI 2636
+#define SCI_AUTOCGETMULTI 2637
+#define SC_ORDER_PRESORTED 0
+#define SC_ORDER_PERFORMSORT 1
+#define SC_ORDER_CUSTOM 2
+#define SCI_AUTOCSETORDER 2660
+#define SCI_AUTOCGETORDER 2661
+#define SCI_ALLOCATE 2446
+#define SCI_TARGETASUTF8 2447
+#define SCI_SETLENGTHFORENCODE 2448
+#define SCI_ENCODEDFROMUTF8 2449
+#define SCI_FINDCOLUMN 2456
+#define SCI_GETCARETSTICKY 2457
+#define SCI_SETCARETSTICKY 2458
+#define SC_CARETSTICKY_OFF 0
+#define SC_CARETSTICKY_ON 1
+#define SC_CARETSTICKY_WHITESPACE 2
+#define SCI_TOGGLECARETSTICKY 2459
+#define SCI_SETPASTECONVERTENDINGS 2467
+#define SCI_GETPASTECONVERTENDINGS 2468
+#define SCI_SELECTIONDUPLICATE 2469
+#define SC_ALPHA_TRANSPARENT 0
+#define SC_ALPHA_OPAQUE 255
+#define SC_ALPHA_NOALPHA 256
+#define SCI_SETCARETLINEBACKALPHA 2470
+#define SCI_GETCARETLINEBACKALPHA 2471
+#define CARETSTYLE_INVISIBLE 0
+#define CARETSTYLE_LINE 1
+#define CARETSTYLE_BLOCK 2
+#define CARETSTYLE_OVERSTRIKE_BAR 0
+#define CARETSTYLE_OVERSTRIKE_BLOCK 0x10
+#define CARETSTYLE_INS_MASK 0xF
+#define CARETSTYLE_BLOCK_AFTER 0x100
+#define SCI_SETCARETSTYLE 2512
+#define SCI_GETCARETSTYLE 2513
+#define SCI_SETINDICATORCURRENT 2500
+#define SCI_GETINDICATORCURRENT 2501
+#define SCI_SETINDICATORVALUE 2502
+#define SCI_GETINDICATORVALUE 2503
+#define SCI_INDICATORFILLRANGE 2504
+#define SCI_INDICATORCLEARRANGE 2505
+#define SCI_INDICATORALLONFOR 2506
+#define SCI_INDICATORVALUEAT 2507
+#define SCI_INDICATORSTART 2508
+#define SCI_INDICATOREND 2509
+#define SCI_SETPOSITIONCACHE 2514
+#define SCI_GETPOSITIONCACHE 2515
+#define SCI_COPYALLOWLINE 2519
+#define SCI_GETCHARACTERPOINTER 2520
+#define SCI_GETRANGEPOINTER 2643
+#define SCI_GETGAPPOSITION 2644
+#define SCI_INDICSETALPHA 2523
+#define SCI_INDICGETALPHA 2524
+#define SCI_INDICSETOUTLINEALPHA 2558
+#define SCI_INDICGETOUTLINEALPHA 2559
+#define SCI_SETEXTRAASCENT 2525
+#define SCI_GETEXTRAASCENT 2526
+#define SCI_SETEXTRADESCENT 2527
+#define SCI_GETEXTRADESCENT 2528
+#define SCI_MARKERSYMBOLDEFINED 2529
+#define SCI_MARGINSETTEXT 2530
+#define SCI_MARGINGETTEXT 2531
+#define SCI_MARGINSETSTYLE 2532
+#define SCI_MARGINGETSTYLE 2533
+#define SCI_MARGINSETSTYLES 2534
+#define SCI_MARGINGETSTYLES 2535
+#define SCI_MARGINTEXTCLEARALL 2536
+#define SCI_MARGINSETSTYLEOFFSET 2537
+#define SCI_MARGINGETSTYLEOFFSET 2538
+#define SC_MARGINOPTION_NONE 0
+#define SC_MARGINOPTION_SUBLINESELECT 1
+#define SCI_SETMARGINOPTIONS 2539
+#define SCI_GETMARGINOPTIONS 2557
+#define SCI_ANNOTATIONSETTEXT 2540
+#define SCI_ANNOTATIONGETTEXT 2541
+#define SCI_ANNOTATIONSETSTYLE 2542
+#define SCI_ANNOTATIONGETSTYLE 2543
+#define SCI_ANNOTATIONSETSTYLES 2544
+#define SCI_ANNOTATIONGETSTYLES 2545
+#define SCI_ANNOTATIONGETLINES 2546
+#define SCI_ANNOTATIONCLEARALL 2547
+#define ANNOTATION_HIDDEN 0
+#define ANNOTATION_STANDARD 1
+#define ANNOTATION_BOXED 2
+#define ANNOTATION_INDENTED 3
+#define SCI_ANNOTATIONSETVISIBLE 2548
+#define SCI_ANNOTATIONGETVISIBLE 2549
+#define SCI_ANNOTATIONSETSTYLEOFFSET 2550
+#define SCI_ANNOTATIONGETSTYLEOFFSET 2551
+#define SCI_RELEASEALLEXTENDEDSTYLES 2552
+#define SCI_ALLOCATEEXTENDEDSTYLES 2553
+#define UNDO_NONE 0
+#define UNDO_MAY_COALESCE 1
+#define SCI_ADDUNDOACTION 2560
+#define SCI_CHARPOSITIONFROMPOINT 2561
+#define SCI_CHARPOSITIONFROMPOINTCLOSE 2562
+#define SCI_SETMOUSESELECTIONRECTANGULARSWITCH 2668
+#define SCI_GETMOUSESELECTIONRECTANGULARSWITCH 2669
+#define SCI_SETMULTIPLESELECTION 2563
+#define SCI_GETMULTIPLESELECTION 2564
+#define SCI_SETADDITIONALSELECTIONTYPING 2565
+#define SCI_GETADDITIONALSELECTIONTYPING 2566
+#define SCI_SETADDITIONALCARETSBLINK 2567
+#define SCI_GETADDITIONALCARETSBLINK 2568
+#define SCI_SETADDITIONALCARETSVISIBLE 2608
+#define SCI_GETADDITIONALCARETSVISIBLE 2609
+#define SCI_GETSELECTIONS 2570
+#define SCI_GETSELECTIONEMPTY 2650
+#define SCI_CLEARSELECTIONS 2571
+#define SCI_SETSELECTION 2572
+#define SCI_ADDSELECTION 2573
+#define SCI_DROPSELECTIONN 2671
+#define SCI_SETMAINSELECTION 2574
+#define SCI_GETMAINSELECTION 2575
+#define SCI_SETSELECTIONNCARET 2576
+#define SCI_GETSELECTIONNCARET 2577
+#define SCI_SETSELECTIONNANCHOR 2578
+#define SCI_GETSELECTIONNANCHOR 2579
+#define SCI_SETSELECTIONNCARETVIRTUALSPACE 2580
+#define SCI_GETSELECTIONNCARETVIRTUALSPACE 2581
+#define SCI_SETSELECTIONNANCHORVIRTUALSPACE 2582
+#define SCI_GETSELECTIONNANCHORVIRTUALSPACE 2583
+#define SCI_SETSELECTIONNSTART 2584
+#define SCI_GETSELECTIONNSTART 2585
+#define SCI_SETSELECTIONNEND 2586
+#define SCI_GETSELECTIONNEND 2587
+#define SCI_SETRECTANGULARSELECTIONCARET 2588
+#define SCI_GETRECTANGULARSELECTIONCARET 2589
+#define SCI_SETRECTANGULARSELECTIONANCHOR 2590
+#define SCI_GETRECTANGULARSELECTIONANCHOR 2591
+#define SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE 2592
+#define SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE 2593
+#define SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE 2594
+#define SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE 2595
+#define SCVS_NONE 0
+#define SCVS_RECTANGULARSELECTION 1
+#define SCVS_USERACCESSIBLE 2
+#define SCVS_NOWRAPLINESTART 4
+#define SCI_SETVIRTUALSPACEOPTIONS 2596
+#define SCI_GETVIRTUALSPACEOPTIONS 2597
+#define SCI_SETRECTANGULARSELECTIONMODIFIER 2598
+#define SCI_GETRECTANGULARSELECTIONMODIFIER 2599
+#define SCI_SETADDITIONALSELFORE 2600
+#define SCI_SETADDITIONALSELBACK 2601
+#define SCI_SETADDITIONALSELALPHA 2602
+#define SCI_GETADDITIONALSELALPHA 2603
+#define SCI_SETADDITIONALCARETFORE 2604
+#define SCI_GETADDITIONALCARETFORE 2605
+#define SCI_ROTATESELECTION 2606
+#define SCI_SWAPMAINANCHORCARET 2607
+#define SCI_MULTIPLESELECTADDNEXT 2688
+#define SCI_MULTIPLESELECTADDEACH 2689
+#define SCI_CHANGELEXERSTATE 2617
+#define SCI_CONTRACTEDFOLDNEXT 2618
+#define SCI_VERTICALCENTRECARET 2619
+#define SCI_MOVESELECTEDLINESUP 2620
+#define SCI_MOVESELECTEDLINESDOWN 2621
+#define SCI_SETIDENTIFIER 2622
+#define SCI_GETIDENTIFIER 2623
+#define SCI_RGBAIMAGESETWIDTH 2624
+#define SCI_RGBAIMAGESETHEIGHT 2625
+#define SCI_RGBAIMAGESETSCALE 2651
+#define SCI_MARKERDEFINERGBAIMAGE 2626
+#define SCI_REGISTERRGBAIMAGE 2627
+#define SCI_SCROLLTOSTART 2628
+#define SCI_SCROLLTOEND 2629
+#define SC_TECHNOLOGY_DEFAULT 0
+#define SC_TECHNOLOGY_DIRECTWRITE 1
+#define SC_TECHNOLOGY_DIRECTWRITERETAIN 2
+#define SC_TECHNOLOGY_DIRECTWRITEDC 3
+#define SCI_SETTECHNOLOGY 2630
+#define SCI_GETTECHNOLOGY 2631
+#define SCI_CREATELOADER 2632
+#define SCI_FINDINDICATORSHOW 2640
+#define SCI_FINDINDICATORFLASH 2641
+#define SCI_FINDINDICATORHIDE 2642
+#define SCI_VCHOMEDISPLAY 2652
+#define SCI_VCHOMEDISPLAYEXTEND 2653
+#define SCI_GETCARETLINEVISIBLEALWAYS 2654
+#define SCI_SETCARETLINEVISIBLEALWAYS 2655
+#define SC_LINE_END_TYPE_DEFAULT 0
+#define SC_LINE_END_TYPE_UNICODE 1
+#define SCI_SETLINEENDTYPESALLOWED 2656
+#define SCI_GETLINEENDTYPESALLOWED 2657
+#define SCI_GETLINEENDTYPESACTIVE 2658
+#define SCI_SETREPRESENTATION 2665
+#define SCI_GETREPRESENTATION 2666
+#define SCI_CLEARREPRESENTATION 2667
+#define SCI_STARTRECORD 3001
+#define SCI_STOPRECORD 3002
+#define SCI_SETLEXER 4001
+#define SCI_GETLEXER 4002
+#define SCI_COLOURISE 4003
+#define SCI_SETPROPERTY 4004
+// #define KEYWORDSET_MAX 8
+#define KEYWORDSET_MAX 30
+#define SCI_SETKEYWORDS 4005
+#define SCI_SETLEXERLANGUAGE 4006
+#define SCI_LOADLEXERLIBRARY 4007
+#define SCI_GETPROPERTY 4008
+#define SCI_GETPROPERTYEXPANDED 4009
+#define SCI_GETPROPERTYINT 4010
+#define SCI_GETLEXERLANGUAGE 4012
+#define SCI_PRIVATELEXERCALL 4013
+#define SCI_PROPERTYNAMES 4014
+#define SC_TYPE_BOOLEAN 0
+#define SC_TYPE_INTEGER 1
+#define SC_TYPE_STRING 2
+#define SCI_PROPERTYTYPE 4015
+#define SCI_DESCRIBEPROPERTY 4016
+#define SCI_DESCRIBEKEYWORDSETS 4017
+#define SCI_GETLINEENDTYPESSUPPORTED 4018
+#define SCI_ALLOCATESUBSTYLES 4020
+#define SCI_GETSUBSTYLESSTART 4021
+#define SCI_GETSUBSTYLESLENGTH 4022
+#define SCI_GETSTYLEFROMSUBSTYLE 4027
+#define SCI_GETPRIMARYSTYLEFROMSTYLE 4028
+#define SCI_FREESUBSTYLES 4023
+#define SCI_SETIDENTIFIERS 4024
+#define SCI_DISTANCETOSECONDARYSTYLES 4025
+#define SCI_GETSUBSTYLEBASES 4026
+#define SCI_GETNAMEDSTYLES 4029
+#define SCI_NAMEOFSTYLE 4030
+#define SCI_TAGSOFSTYLE 4031
+#define SCI_DESCRIPTIONOFSTYLE 4032
+#define SC_MOD_NONE 0x0
+#define SC_MOD_INSERTTEXT 0x1
+#define SC_MOD_DELETETEXT 0x2
+#define SC_MOD_CHANGESTYLE 0x4
+#define SC_MOD_CHANGEFOLD 0x8
+#define SC_PERFORMED_USER 0x10
+#define SC_PERFORMED_UNDO 0x20
+#define SC_PERFORMED_REDO 0x40
+#define SC_MULTISTEPUNDOREDO 0x80
+#define SC_LASTSTEPINUNDOREDO 0x100
+#define SC_MOD_CHANGEMARKER 0x200
+#define SC_MOD_BEFOREINSERT 0x400
+#define SC_MOD_BEFOREDELETE 0x800
+#define SC_MULTILINEUNDOREDO 0x1000
+#define SC_STARTACTION 0x2000
+#define SC_MOD_CHANGEINDICATOR 0x4000
+#define SC_MOD_CHANGELINESTATE 0x8000
+#define SC_MOD_CHANGEMARGIN 0x10000
+#define SC_MOD_CHANGEANNOTATION 0x20000
+#define SC_MOD_CONTAINER 0x40000
+#define SC_MOD_LEXERSTATE 0x80000
+#define SC_MOD_INSERTCHECK 0x100000
+#define SC_MOD_CHANGETABSTOPS 0x200000
+#define SC_MODEVENTMASKALL 0x3FFFFF
+#define SC_SEARCHRESULT_LINEBUFFERMAXLENGTH 1024
+#define SC_UPDATE_CONTENT 0x1
+#define SC_UPDATE_SELECTION 0x2
+#define SC_UPDATE_V_SCROLL 0x4
+#define SC_UPDATE_H_SCROLL 0x8
+#define SCEN_CHANGE 768
+#define SCEN_SETFOCUS 512
+#define SCEN_KILLFOCUS 256
+#define SCK_DOWN 300
+#define SCK_UP 301
+#define SCK_LEFT 302
+#define SCK_RIGHT 303
+#define SCK_HOME 304
+#define SCK_END 305
+#define SCK_PRIOR 306
+#define SCK_NEXT 307
+#define SCK_DELETE 308
+#define SCK_INSERT 309
+#define SCK_ESCAPE 7
+#define SCK_BACK 8
+#define SCK_TAB 9
+#define SCK_RETURN 13
+#define SCK_ADD 310
+#define SCK_SUBTRACT 311
+#define SCK_DIVIDE 312
+#define SCK_WIN 313
+#define SCK_RWIN 314
+#define SCK_MENU 315
+#define SCMOD_NORM 0
+#define SCMOD_SHIFT 1
+#define SCMOD_CTRL 2
+#define SCMOD_ALT 4
+#define SCMOD_SUPER 8
+#define SCMOD_META 16
+#define SC_AC_FILLUP 1
+#define SC_AC_DOUBLECLICK 2
+#define SC_AC_TAB 3
+#define SC_AC_NEWLINE 4
+#define SC_AC_COMMAND 5
+#define SC_CHARACTERSOURCE_DIRECT_INPUT 0
+#define SC_CHARACTERSOURCE_TENTATIVE_INPUT 1
+#define SC_CHARACTERSOURCE_IME_RESULT 2
+#define SCN_STYLENEEDED 2000
+#define SCN_CHARADDED 2001
+#define SCN_SAVEPOINTREACHED 2002
+#define SCN_SAVEPOINTLEFT 2003
+#define SCN_MODIFYATTEMPTRO 2004
+#define SCN_KEY 2005
+#define SCN_DOUBLECLICK 2006
+#define SCN_UPDATEUI 2007
+#define SCN_MODIFIED 2008
+#define SCN_MACRORECORD 2009
+#define SCN_MARGINCLICK 2010
+#define SCN_NEEDSHOWN 2011
+#define SCN_PAINTED 2013
+#define SCN_USERLISTSELECTION 2014
+#define SCN_URIDROPPED 2015
+#define SCN_DWELLSTART 2016
+#define SCN_DWELLEND 2017
+#define SCN_ZOOM 2018
+#define SCN_HOTSPOTCLICK 2019
+#define SCN_HOTSPOTDOUBLECLICK 2020
+#define SCN_CALLTIPCLICK 2021
+#define SCN_AUTOCSELECTION 2022
+#define SCN_INDICATORCLICK 2023
+#define SCN_INDICATORRELEASE 2024
+#define SCN_AUTOCCANCELLED 2025
+#define SCN_AUTOCCHARDELETED 2026
+#define SCN_HOTSPOTRELEASECLICK 2027
+#define SCN_FOCUSIN 2028
+#define SCN_FOCUSOUT 2029
+#define SCN_AUTOCCOMPLETED 2030
+#define SCN_MARGINRIGHTCLICK 2031
+#define SCN_AUTOCSELECTIONCHANGE 2032
+#ifndef SCI_DISABLE_PROVISIONAL
+#define SC_BIDIRECTIONAL_DISABLED 0
+#define SC_BIDIRECTIONAL_L2R 1
+#define SC_BIDIRECTIONAL_R2L 2
+#define SCI_GETBIDIRECTIONAL 2708
+#define SCI_SETBIDIRECTIONAL 2709
+#define SC_LINECHARACTERINDEX_NONE 0
+#define SC_LINECHARACTERINDEX_UTF32 1
+#define SC_LINECHARACTERINDEX_UTF16 2
+#define SCI_GETLINECHARACTERINDEX 2710
+#define SCI_ALLOCATELINECHARACTERINDEX 2711
+#define SCI_RELEASELINECHARACTERINDEX 2712
+#define SCI_LINEFROMINDEXPOSITION 2713
+#define SCI_INDEXPOSITIONFROMLINE 2714
+#endif
+
+#define SCN_SCROLLED 2080
+#define SCN_FOLDINGSTATECHANGED 2081
+
+/* --Autogenerated -- end of section automatically generated from Scintilla.iface */
+
+/* These structures are defined to be exactly the same shape as the Win32
+ * CHARRANGE, TEXTRANGE, FINDTEXTEX, FORMATRANGE, and NMHDR structs.
+ * So older code that treats Scintilla as a RichEdit will work. */
+
+struct Sci_CharacterRange {
+ Sci_PositionCR cpMin;
+ Sci_PositionCR cpMax;
+};
+
+struct Sci_TextRange {
+ struct Sci_CharacterRange chrg;
+ char *lpstrText;
+};
+
+struct Sci_TextToFind {
+ struct Sci_CharacterRange chrg;
+ const char *lpstrText;
+ struct Sci_CharacterRange chrgText;
+};
+
+typedef void *Sci_SurfaceID;
+
+struct Sci_Rectangle {
+ int left;
+ int top;
+ int right;
+ int bottom;
+};
+
+/* This structure is used in printing and requires some of the graphics types
+ * from Platform.h. Not needed by most client code. */
+
+struct Sci_RangeToFormat {
+ Sci_SurfaceID hdc;
+ Sci_SurfaceID hdcTarget;
+ struct Sci_Rectangle rc;
+ struct Sci_Rectangle rcPage;
+ struct Sci_CharacterRange chrg;
+};
+
+#ifndef __cplusplus
+/* For the GTK+ platform, g-ir-scanner needs to have these typedefs. This
+ * is not required in C++ code and actually seems to break ScintillaEditPy */
+typedef struct Sci_NotifyHeader Sci_NotifyHeader;
+typedef struct SCNotification SCNotification;
+#endif
+
+struct Sci_NotifyHeader {
+ /* Compatible with Windows NMHDR.
+ * hwndFrom is really an environment specific window handle or pointer
+ * but most clients of Scintilla.h do not have this type visible. */
+ void *hwndFrom;
+ uptr_t idFrom;
+ unsigned int code;
+};
+
+struct SCNotification {
+ Sci_NotifyHeader nmhdr;
+ Sci_Position position;
+ /* SCN_STYLENEEDED, SCN_DOUBLECLICK, SCN_MODIFIED, SCN_MARGINCLICK, */
+ /* SCN_NEEDSHOWN, SCN_DWELLSTART, SCN_DWELLEND, SCN_CALLTIPCLICK, */
+ /* SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, SCN_HOTSPOTRELEASECLICK, */
+ /* SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */
+ /* SCN_USERLISTSELECTION, SCN_AUTOCSELECTION */
+
+ int ch;
+ /* SCN_CHARADDED, SCN_KEY, SCN_AUTOCCOMPLETED, SCN_AUTOCSELECTION, */
+ /* SCN_USERLISTSELECTION */
+ int modifiers;
+ /* SCN_KEY, SCN_DOUBLECLICK, SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, */
+ /* SCN_HOTSPOTRELEASECLICK, SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */
+
+ int modificationType; /* SCN_MODIFIED */
+ const char *text;
+ /* SCN_MODIFIED, SCN_USERLISTSELECTION, SCN_AUTOCSELECTION, SCN_URIDROPPED */
+
+ Sci_Position length; /* SCN_MODIFIED */
+ Sci_Position linesAdded; /* SCN_MODIFIED */
+ int message; /* SCN_MACRORECORD */
+ uptr_t wParam; /* SCN_MACRORECORD */
+ sptr_t lParam; /* SCN_MACRORECORD */
+ Sci_Position line; /* SCN_MODIFIED */
+ int foldLevelNow; /* SCN_MODIFIED */
+ int foldLevelPrev; /* SCN_MODIFIED */
+ int margin; /* SCN_MARGINCLICK */
+ int listType; /* SCN_USERLISTSELECTION */
+ int x; /* SCN_DWELLSTART, SCN_DWELLEND */
+ int y; /* SCN_DWELLSTART, SCN_DWELLEND */
+ int token; /* SCN_MODIFIED with SC_MOD_CONTAINER */
+ Sci_Position annotationLinesAdded; /* SCN_MODIFIED with SC_MOD_CHANGEANNOTATION */
+ int updated; /* SCN_UPDATEUI */
+ int listCompletionMethod;
+ /* SCN_AUTOCSELECTION, SCN_AUTOCCOMPLETED, SCN_USERLISTSELECTION, */
+ int characterSource; /* SCN_CHARADDED */
+};
+
+struct SearchResultMarking {
+ long _start;
+ long _end;
+};
+
+struct SearchResultMarkings {
+ long _length;
+ SearchResultMarking *_markings;
+};
+
+#ifdef INCLUDE_DEPRECATED_FEATURES
+
+#define SCI_SETKEYSUNICODE 2521
+#define SCI_GETKEYSUNICODE 2522
+
+#define SCI_GETTWOPHASEDRAW 2283
+#define SCI_SETTWOPHASEDRAW 2284
+
+#define CharacterRange Sci_CharacterRange
+#define TextRange Sci_TextRange
+#define TextToFind Sci_TextToFind
+#define RangeToFormat Sci_RangeToFormat
+#define NotifyHeader Sci_NotifyHeader
+
+#define SCI_SETSTYLEBITS 2090
+#define SCI_GETSTYLEBITS 2091
+#define SCI_GETSTYLEBITSNEEDED 4011
+
+#define INDIC0_MASK 0x20
+#define INDIC1_MASK 0x40
+#define INDIC2_MASK 0x80
+#define INDICS_MASK 0xE0
+
+#endif
+
+#endif
diff --git a/Plugin/Npp/menuCmdID.h b/Plugin/Npp/menuCmdID.h
index 47ecfef..401798f 100644
--- a/Plugin/Npp/menuCmdID.h
+++ b/Plugin/Npp/menuCmdID.h
@@ -1,577 +1,577 @@
-// This file is part of Notepad++ project
-// Copyright (C)2020 Don HO
-//
-// 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 2 of the License, or (at your option) any later version.
-//
-// Note that the GPL places important restrictions on "derived works", yet
-// it does not provide a detailed definition of that term. To avoid
-// misunderstandings, we consider an application to constitute a
-// "derivative work" for the purpose of this license if it does any of the
-// following:
-// 1. Integrates source code from Notepad++.
-// 2. Integrates/includes/aggregates Notepad++ into a proprietary executable
-// installer, such as those produced by InstallShield.
-// 3. Links to a library or executes a program that does any of the above.
-//
-// 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, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-
-#pragma once
-
-#define IDM 40000
-
-#define IDM_FILE (IDM + 1000)
-// IMPORTANT: If list below is modified, you have to change the value of IDM_FILEMENU_LASTONE and IDM_FILEMENU_EXISTCMDPOSITION
- #define IDM_FILE_NEW (IDM_FILE + 1)
- #define IDM_FILE_OPEN (IDM_FILE + 2)
- #define IDM_FILE_CLOSE (IDM_FILE + 3)
- #define IDM_FILE_CLOSEALL (IDM_FILE + 4)
- #define IDM_FILE_CLOSEALL_BUT_CURRENT (IDM_FILE + 5)
- #define IDM_FILE_SAVE (IDM_FILE + 6)
- #define IDM_FILE_SAVEALL (IDM_FILE + 7)
- #define IDM_FILE_SAVEAS (IDM_FILE + 8)
- #define IDM_FILE_CLOSEALL_TOLEFT (IDM_FILE + 9)
- #define IDM_FILE_PRINT (IDM_FILE + 10)
- #define IDM_FILE_PRINTNOW 1001
- #define IDM_FILE_EXIT (IDM_FILE + 11)
- #define IDM_FILE_LOADSESSION (IDM_FILE + 12)
- #define IDM_FILE_SAVESESSION (IDM_FILE + 13)
- #define IDM_FILE_RELOAD (IDM_FILE + 14)
- #define IDM_FILE_SAVECOPYAS (IDM_FILE + 15)
- #define IDM_FILE_DELETE (IDM_FILE + 16)
- #define IDM_FILE_RENAME (IDM_FILE + 17)
- #define IDM_FILE_CLOSEALL_TORIGHT (IDM_FILE + 18)
- #define IDM_FILE_OPEN_FOLDER (IDM_FILE + 19)
- #define IDM_FILE_OPEN_CMD (IDM_FILE + 20)
- #define IDM_FILE_RESTORELASTCLOSEDFILE (IDM_FILE + 21)
- #define IDM_FILE_OPENFOLDERASWORSPACE (IDM_FILE + 22)
- #define IDM_FILE_OPEN_DEFAULT_VIEWER (IDM_FILE + 23)
- #define IDM_FILE_CLOSEALL_UNCHANGED (IDM_FILE + 24)
-// IMPORTANT: If list above is modified, you have to change the following values:
-
-// To be updated if new menu item(s) is (are) added in menu "File"
- #define IDM_FILEMENU_LASTONE IDM_FILE_CLOSEALL_UNCHANGED
-
-// 0 based position of command "Exit" including the bars in the file menu
-// and without counting "Recent files history" items
-
-// 0 New
-// 1 Open...
-// 2 Open Containing Folder
-// 3 Open Folder as Workspace
-// 4 Open in Default Viewer
-// 5 Reload from Disk
-// 6 Save
-// 7 Save As...
-// 8 Save a Copy As...
-// 9 Save All
-//10 Rename...
-//11 Close
-//12 Close All
-//13 Close More
-//14 Move to Recycle Bin
-//15 --------
-//16 Load Session...
-//17 Save Session...
-//18 --------
-//19 Print...
-//20 Print Now
-//21 --------
-//22 Exit
- #define IDM_FILEMENU_EXISTCMDPOSITION 22
-
-
-#define IDM_EDIT (IDM + 2000)
- #define IDM_EDIT_CUT (IDM_EDIT + 1)
- #define IDM_EDIT_COPY (IDM_EDIT + 2)
- #define IDM_EDIT_UNDO (IDM_EDIT + 3)
- #define IDM_EDIT_REDO (IDM_EDIT + 4)
- #define IDM_EDIT_PASTE (IDM_EDIT + 5)
- #define IDM_EDIT_DELETE (IDM_EDIT + 6)
- #define IDM_EDIT_SELECTALL (IDM_EDIT + 7)
- #define IDM_EDIT_BEGINENDSELECT (IDM_EDIT + 20)
-
- #define IDM_EDIT_INS_TAB (IDM_EDIT + 8)
- #define IDM_EDIT_RMV_TAB (IDM_EDIT + 9)
- #define IDM_EDIT_DUP_LINE (IDM_EDIT + 10)
- #define IDM_EDIT_REMOVE_DUP_LINES (IDM_EDIT + 77)
- #define IDM_EDIT_TRANSPOSE_LINE (IDM_EDIT + 11)
- #define IDM_EDIT_SPLIT_LINES (IDM_EDIT + 12)
- #define IDM_EDIT_JOIN_LINES (IDM_EDIT + 13)
- #define IDM_EDIT_LINE_UP (IDM_EDIT + 14)
- #define IDM_EDIT_LINE_DOWN (IDM_EDIT + 15)
- #define IDM_EDIT_UPPERCASE (IDM_EDIT + 16)
- #define IDM_EDIT_LOWERCASE (IDM_EDIT + 17)
- #define IDM_EDIT_PROPERCASE_FORCE (IDM_EDIT + 67)
- #define IDM_EDIT_PROPERCASE_BLEND (IDM_EDIT + 68)
- #define IDM_EDIT_SENTENCECASE_FORCE (IDM_EDIT + 69)
- #define IDM_EDIT_SENTENCECASE_BLEND (IDM_EDIT + 70)
- #define IDM_EDIT_INVERTCASE (IDM_EDIT + 71)
- #define IDM_EDIT_RANDOMCASE (IDM_EDIT + 72)
- #define IDM_EDIT_REMOVEEMPTYLINES (IDM_EDIT + 55)
- #define IDM_EDIT_REMOVEEMPTYLINESWITHBLANK (IDM_EDIT + 56)
- #define IDM_EDIT_BLANKLINEABOVECURRENT (IDM_EDIT + 57)
- #define IDM_EDIT_BLANKLINEBELOWCURRENT (IDM_EDIT + 58)
- #define IDM_EDIT_SORTLINES_LEXICOGRAPHIC_ASCENDING (IDM_EDIT + 59)
- #define IDM_EDIT_SORTLINES_LEXICOGRAPHIC_DESCENDING (IDM_EDIT + 60)
- #define IDM_EDIT_SORTLINES_INTEGER_ASCENDING (IDM_EDIT + 61)
- #define IDM_EDIT_SORTLINES_INTEGER_DESCENDING (IDM_EDIT + 62)
- #define IDM_EDIT_SORTLINES_DECIMALCOMMA_ASCENDING (IDM_EDIT + 63)
- #define IDM_EDIT_SORTLINES_DECIMALCOMMA_DESCENDING (IDM_EDIT + 64)
- #define IDM_EDIT_SORTLINES_DECIMALDOT_ASCENDING (IDM_EDIT + 65)
- #define IDM_EDIT_SORTLINES_DECIMALDOT_DESCENDING (IDM_EDIT + 66)
-
- #define IDM_EDIT_OPENASFILE (IDM_EDIT + 73)
- #define IDM_EDIT_OPENINFOLDER (IDM_EDIT + 74)
- #define IDM_EDIT_SEARCHONINTERNET (IDM_EDIT + 75)
- #define IDM_EDIT_CHANGESEARCHENGINE (IDM_EDIT + 76)
-
-// Menu macro
- #define IDM_MACRO_STARTRECORDINGMACRO (IDM_EDIT + 18)
- #define IDM_MACRO_STOPRECORDINGMACRO (IDM_EDIT + 19)
- #define IDM_MACRO_PLAYBACKRECORDEDMACRO (IDM_EDIT + 21)
-//-----------
-
- #define IDM_EDIT_BLOCK_COMMENT (IDM_EDIT + 22)
- #define IDM_EDIT_STREAM_COMMENT (IDM_EDIT + 23)
- #define IDM_EDIT_TRIMTRAILING (IDM_EDIT + 24)
- #define IDM_EDIT_TRIMLINEHEAD (IDM_EDIT + 42)
- #define IDM_EDIT_TRIM_BOTH (IDM_EDIT + 43)
- #define IDM_EDIT_EOL2WS (IDM_EDIT + 44)
- #define IDM_EDIT_TRIMALL (IDM_EDIT + 45)
- #define IDM_EDIT_TAB2SW (IDM_EDIT + 46)
- #define IDM_EDIT_SW2TAB_LEADING (IDM_EDIT + 53)
- #define IDM_EDIT_SW2TAB_ALL (IDM_EDIT + 54)
- #define IDM_EDIT_STREAM_UNCOMMENT (IDM_EDIT + 47)
-
-// Menu macro
- #define IDM_MACRO_SAVECURRENTMACRO (IDM_EDIT + 25)
-//-----------
-
- #define IDM_EDIT_RTL (IDM_EDIT + 26)
- #define IDM_EDIT_LTR (IDM_EDIT + 27)
- #define IDM_EDIT_SETREADONLY (IDM_EDIT + 28)
- #define IDM_EDIT_FULLPATHTOCLIP (IDM_EDIT + 29)
- #define IDM_EDIT_FILENAMETOCLIP (IDM_EDIT + 30)
- #define IDM_EDIT_CURRENTDIRTOCLIP (IDM_EDIT + 31)
-
-// Menu macro
- #define IDM_MACRO_RUNMULTIMACRODLG (IDM_EDIT + 32)
-//-----------
-
- #define IDM_EDIT_CLEARREADONLY (IDM_EDIT + 33)
- #define IDM_EDIT_COLUMNMODE (IDM_EDIT + 34)
- #define IDM_EDIT_BLOCK_COMMENT_SET (IDM_EDIT + 35)
- #define IDM_EDIT_BLOCK_UNCOMMENT (IDM_EDIT + 36)
- #define IDM_EDIT_COLUMNMODETIP (IDM_EDIT + 37)
- #define IDM_EDIT_PASTE_AS_HTML (IDM_EDIT + 38)
- #define IDM_EDIT_PASTE_AS_RTF (IDM_EDIT + 39)
- #define IDM_EDIT_COPY_BINARY (IDM_EDIT + 48)
- #define IDM_EDIT_CUT_BINARY (IDM_EDIT + 49)
- #define IDM_EDIT_PASTE_BINARY (IDM_EDIT + 50)
- #define IDM_EDIT_CHAR_PANEL (IDM_EDIT + 51)
- #define IDM_EDIT_CLIPBOARDHISTORY_PANEL (IDM_EDIT + 52)
-
- #define IDM_EDIT_AUTOCOMPLETE (50000 + 0)
- #define IDM_EDIT_AUTOCOMPLETE_CURRENTFILE (50000 + 1)
- #define IDM_EDIT_FUNCCALLTIP (50000 + 2)
- #define IDM_EDIT_AUTOCOMPLETE_PATH (50000 + 6)
-
- //Belong to MENU FILE
- #define IDM_OPEN_ALL_RECENT_FILE (IDM_EDIT + 40)
- #define IDM_CLEAN_RECENT_FILE_LIST (IDM_EDIT + 41)
-
-#define IDM_SEARCH (IDM + 3000)
- #define IDM_SEARCH_FIND (IDM_SEARCH + 1)
- #define IDM_SEARCH_FINDNEXT (IDM_SEARCH + 2)
- #define IDM_SEARCH_REPLACE (IDM_SEARCH + 3)
- #define IDM_SEARCH_GOTOLINE (IDM_SEARCH + 4)
- #define IDM_SEARCH_TOGGLE_BOOKMARK (IDM_SEARCH + 5)
- #define IDM_SEARCH_NEXT_BOOKMARK (IDM_SEARCH + 6)
- #define IDM_SEARCH_PREV_BOOKMARK (IDM_SEARCH + 7)
- #define IDM_SEARCH_CLEAR_BOOKMARKS (IDM_SEARCH + 8)
- #define IDM_SEARCH_GOTOMATCHINGBRACE (IDM_SEARCH + 9)
- #define IDM_SEARCH_FINDPREV (IDM_SEARCH + 10)
- #define IDM_SEARCH_FINDINCREMENT (IDM_SEARCH + 11)
- #define IDM_SEARCH_FINDINFILES (IDM_SEARCH + 13)
- #define IDM_SEARCH_VOLATILE_FINDNEXT (IDM_SEARCH + 14)
- #define IDM_SEARCH_VOLATILE_FINDPREV (IDM_SEARCH + 15)
- #define IDM_SEARCH_CUTMARKEDLINES (IDM_SEARCH + 18)
- #define IDM_SEARCH_COPYMARKEDLINES (IDM_SEARCH + 19)
- #define IDM_SEARCH_PASTEMARKEDLINES (IDM_SEARCH + 20)
- #define IDM_SEARCH_DELETEMARKEDLINES (IDM_SEARCH + 21)
- #define IDM_SEARCH_MARKALLEXT1 (IDM_SEARCH + 22)
- #define IDM_SEARCH_UNMARKALLEXT1 (IDM_SEARCH + 23)
- #define IDM_SEARCH_MARKALLEXT2 (IDM_SEARCH + 24)
- #define IDM_SEARCH_UNMARKALLEXT2 (IDM_SEARCH + 25)
- #define IDM_SEARCH_MARKALLEXT3 (IDM_SEARCH + 26)
- #define IDM_SEARCH_UNMARKALLEXT3 (IDM_SEARCH + 27)
- #define IDM_SEARCH_MARKALLEXT4 (IDM_SEARCH + 28)
- #define IDM_SEARCH_UNMARKALLEXT4 (IDM_SEARCH + 29)
- #define IDM_SEARCH_MARKALLEXT5 (IDM_SEARCH + 30)
- #define IDM_SEARCH_UNMARKALLEXT5 (IDM_SEARCH + 31)
- #define IDM_SEARCH_CLEARALLMARKS (IDM_SEARCH + 32)
-
- #define IDM_SEARCH_GOPREVMARKER1 (IDM_SEARCH + 33)
- #define IDM_SEARCH_GOPREVMARKER2 (IDM_SEARCH + 34)
- #define IDM_SEARCH_GOPREVMARKER3 (IDM_SEARCH + 35)
- #define IDM_SEARCH_GOPREVMARKER4 (IDM_SEARCH + 36)
- #define IDM_SEARCH_GOPREVMARKER5 (IDM_SEARCH + 37)
- #define IDM_SEARCH_GOPREVMARKER_DEF (IDM_SEARCH + 38)
-
- #define IDM_SEARCH_GONEXTMARKER1 (IDM_SEARCH + 39)
- #define IDM_SEARCH_GONEXTMARKER2 (IDM_SEARCH + 40)
- #define IDM_SEARCH_GONEXTMARKER3 (IDM_SEARCH + 41)
- #define IDM_SEARCH_GONEXTMARKER4 (IDM_SEARCH + 42)
- #define IDM_SEARCH_GONEXTMARKER5 (IDM_SEARCH + 43)
- #define IDM_SEARCH_GONEXTMARKER_DEF (IDM_SEARCH + 44)
-
- #define IDM_FOCUS_ON_FOUND_RESULTS (IDM_SEARCH + 45)
- #define IDM_SEARCH_GOTONEXTFOUND (IDM_SEARCH + 46)
- #define IDM_SEARCH_GOTOPREVFOUND (IDM_SEARCH + 47)
-
- #define IDM_SEARCH_SETANDFINDNEXT (IDM_SEARCH + 48)
- #define IDM_SEARCH_SETANDFINDPREV (IDM_SEARCH + 49)
- #define IDM_SEARCH_INVERSEMARKS (IDM_SEARCH + 50)
- #define IDM_SEARCH_DELETEUNMARKEDLINES (IDM_SEARCH + 51)
- #define IDM_SEARCH_FINDCHARINRANGE (IDM_SEARCH + 52)
- #define IDM_SEARCH_SELECTMATCHINGBRACES (IDM_SEARCH + 53)
- #define IDM_SEARCH_MARK (IDM_SEARCH + 54)
-
-#define IDM_MISC (IDM + 3500)
- #define IDM_FILESWITCHER_FILESCLOSE (IDM_MISC + 1)
- #define IDM_FILESWITCHER_FILESCLOSEOTHERS (IDM_MISC + 2)
-
-
-#define IDM_VIEW (IDM + 4000)
- //#define IDM_VIEW_TOOLBAR_HIDE (IDM_VIEW + 1)
- #define IDM_VIEW_TOOLBAR_REDUCE (IDM_VIEW + 2)
- #define IDM_VIEW_TOOLBAR_ENLARGE (IDM_VIEW + 3)
- #define IDM_VIEW_TOOLBAR_STANDARD (IDM_VIEW + 4)
- #define IDM_VIEW_REDUCETABBAR (IDM_VIEW + 5)
- #define IDM_VIEW_LOCKTABBAR (IDM_VIEW + 6)
- #define IDM_VIEW_DRAWTABBAR_TOPBAR (IDM_VIEW + 7)
- #define IDM_VIEW_DRAWTABBAR_INACIVETAB (IDM_VIEW + 8)
- #define IDM_VIEW_POSTIT (IDM_VIEW + 9)
- #define IDM_VIEW_TOGGLE_FOLDALL (IDM_VIEW + 10)
- //#define IDM_VIEW_USER_DLG (IDM_VIEW + 11)
- #define IDM_VIEW_LINENUMBER (IDM_VIEW + 12)
- #define IDM_VIEW_SYMBOLMARGIN (IDM_VIEW + 13)
- #define IDM_VIEW_FOLDERMAGIN (IDM_VIEW + 14)
- #define IDM_VIEW_FOLDERMAGIN_SIMPLE (IDM_VIEW + 15)
- #define IDM_VIEW_FOLDERMAGIN_ARROW (IDM_VIEW + 16)
- #define IDM_VIEW_FOLDERMAGIN_CIRCLE (IDM_VIEW + 17)
- #define IDM_VIEW_FOLDERMAGIN_BOX (IDM_VIEW + 18)
- #define IDM_VIEW_ALL_CHARACTERS (IDM_VIEW + 19)
- #define IDM_VIEW_INDENT_GUIDE (IDM_VIEW + 20)
- #define IDM_VIEW_CURLINE_HILITING (IDM_VIEW + 21)
- #define IDM_VIEW_WRAP (IDM_VIEW + 22)
- #define IDM_VIEW_ZOOMIN (IDM_VIEW + 23)
- #define IDM_VIEW_ZOOMOUT (IDM_VIEW + 24)
- #define IDM_VIEW_TAB_SPACE (IDM_VIEW + 25)
- #define IDM_VIEW_EOL (IDM_VIEW + 26)
- //#define IDM_VIEW_EDGELINE (IDM_VIEW + 27)
- //#define IDM_VIEW_EDGEBACKGROUND (IDM_VIEW + 28)
- #define IDM_VIEW_TOGGLE_UNFOLDALL (IDM_VIEW + 29)
- #define IDM_VIEW_FOLD_CURRENT (IDM_VIEW + 30)
- #define IDM_VIEW_UNFOLD_CURRENT (IDM_VIEW + 31)
- #define IDM_VIEW_FULLSCREENTOGGLE (IDM_VIEW + 32)
- #define IDM_VIEW_ZOOMRESTORE (IDM_VIEW + 33)
- #define IDM_VIEW_ALWAYSONTOP (IDM_VIEW + 34)
- #define IDM_VIEW_SYNSCROLLV (IDM_VIEW + 35)
- #define IDM_VIEW_SYNSCROLLH (IDM_VIEW + 36)
- //#define IDM_VIEW_EDGENONE (IDM_VIEW + 37)
- #define IDM_VIEW_DRAWTABBAR_CLOSEBOTTUN (IDM_VIEW + 38)
- #define IDM_VIEW_DRAWTABBAR_DBCLK2CLOSE (IDM_VIEW + 39)
- #define IDM_VIEW_REFRESHTABAR (IDM_VIEW + 40)
- #define IDM_VIEW_WRAP_SYMBOL (IDM_VIEW + 41)
- #define IDM_VIEW_HIDELINES (IDM_VIEW + 42)
- #define IDM_VIEW_DRAWTABBAR_VERTICAL (IDM_VIEW + 43)
- #define IDM_VIEW_DRAWTABBAR_MULTILINE (IDM_VIEW + 44)
- #define IDM_VIEW_DOCCHANGEMARGIN (IDM_VIEW + 45)
- #define IDM_VIEW_LWDEF (IDM_VIEW + 46)
- #define IDM_VIEW_LWALIGN (IDM_VIEW + 47)
- #define IDM_VIEW_LWINDENT (IDM_VIEW + 48)
- #define IDM_VIEW_SUMMARY (IDM_VIEW + 49)
-
- #define IDM_VIEW_FOLD (IDM_VIEW + 50)
- #define IDM_VIEW_FOLD_1 (IDM_VIEW_FOLD + 1)
- #define IDM_VIEW_FOLD_2 (IDM_VIEW_FOLD + 2)
- #define IDM_VIEW_FOLD_3 (IDM_VIEW_FOLD + 3)
- #define IDM_VIEW_FOLD_4 (IDM_VIEW_FOLD + 4)
- #define IDM_VIEW_FOLD_5 (IDM_VIEW_FOLD + 5)
- #define IDM_VIEW_FOLD_6 (IDM_VIEW_FOLD + 6)
- #define IDM_VIEW_FOLD_7 (IDM_VIEW_FOLD + 7)
- #define IDM_VIEW_FOLD_8 (IDM_VIEW_FOLD + 8)
-
- #define IDM_VIEW_UNFOLD (IDM_VIEW + 60)
- #define IDM_VIEW_UNFOLD_1 (IDM_VIEW_UNFOLD + 1)
- #define IDM_VIEW_UNFOLD_2 (IDM_VIEW_UNFOLD + 2)
- #define IDM_VIEW_UNFOLD_3 (IDM_VIEW_UNFOLD + 3)
- #define IDM_VIEW_UNFOLD_4 (IDM_VIEW_UNFOLD + 4)
- #define IDM_VIEW_UNFOLD_5 (IDM_VIEW_UNFOLD + 5)
- #define IDM_VIEW_UNFOLD_6 (IDM_VIEW_UNFOLD + 6)
- #define IDM_VIEW_UNFOLD_7 (IDM_VIEW_UNFOLD + 7)
- #define IDM_VIEW_UNFOLD_8 (IDM_VIEW_UNFOLD + 8)
-
- #define IDM_VIEW_FILESWITCHER_PANEL (IDM_VIEW + 70)
- #define IDM_VIEW_SWITCHTO_OTHER_VIEW (IDM_VIEW + 72)
- #define IDM_EXPORT_FUNC_LIST_AND_QUIT (IDM_VIEW + 73)
-
- #define IDM_VIEW_DOC_MAP (IDM_VIEW + 80)
-
- #define IDM_VIEW_PROJECT_PANEL_1 (IDM_VIEW + 81)
- #define IDM_VIEW_PROJECT_PANEL_2 (IDM_VIEW + 82)
- #define IDM_VIEW_PROJECT_PANEL_3 (IDM_VIEW + 83)
-
- #define IDM_VIEW_FUNC_LIST (IDM_VIEW + 84)
- #define IDM_VIEW_FILEBROWSER (IDM_VIEW + 85)
-
- #define IDM_VIEW_TAB1 (IDM_VIEW + 86)
- #define IDM_VIEW_TAB2 (IDM_VIEW + 87)
- #define IDM_VIEW_TAB3 (IDM_VIEW + 88)
- #define IDM_VIEW_TAB4 (IDM_VIEW + 89)
- #define IDM_VIEW_TAB5 (IDM_VIEW + 90)
- #define IDM_VIEW_TAB6 (IDM_VIEW + 91)
- #define IDM_VIEW_TAB7 (IDM_VIEW + 92)
- #define IDM_VIEW_TAB8 (IDM_VIEW + 93)
- #define IDM_VIEW_TAB9 (IDM_VIEW + 94)
- #define IDM_VIEW_TAB_NEXT (IDM_VIEW + 95)
- #define IDM_VIEW_TAB_PREV (IDM_VIEW + 96)
- #define IDM_VIEW_MONITORING (IDM_VIEW + 97)
- #define IDM_VIEW_TAB_MOVEFORWARD (IDM_VIEW + 98)
- #define IDM_VIEW_TAB_MOVEBACKWARD (IDM_VIEW + 99)
- #define IDM_VIEW_IN_FIREFOX (IDM_VIEW + 100)
- #define IDM_VIEW_IN_CHROME (IDM_VIEW + 101)
- #define IDM_VIEW_IN_EDGE (IDM_VIEW + 102)
- #define IDM_VIEW_IN_IE (IDM_VIEW + 103)
-
- #define IDM_VIEW_GOTO_ANOTHER_VIEW 10001
- #define IDM_VIEW_CLONE_TO_ANOTHER_VIEW 10002
- #define IDM_VIEW_GOTO_NEW_INSTANCE 10003
- #define IDM_VIEW_LOAD_IN_NEW_INSTANCE 10004
-
-
-#define IDM_FORMAT (IDM + 5000)
- #define IDM_FORMAT_TODOS (IDM_FORMAT + 1)
- #define IDM_FORMAT_TOUNIX (IDM_FORMAT + 2)
- #define IDM_FORMAT_TOMAC (IDM_FORMAT + 3)
- #define IDM_FORMAT_ANSI (IDM_FORMAT + 4)
- #define IDM_FORMAT_UTF_8 (IDM_FORMAT + 5)
- #define IDM_FORMAT_UCS_2BE (IDM_FORMAT + 6)
- #define IDM_FORMAT_UCS_2LE (IDM_FORMAT + 7)
- #define IDM_FORMAT_AS_UTF_8 (IDM_FORMAT + 8)
- #define IDM_FORMAT_CONV2_ANSI (IDM_FORMAT + 9)
- #define IDM_FORMAT_CONV2_AS_UTF_8 (IDM_FORMAT + 10)
- #define IDM_FORMAT_CONV2_UTF_8 (IDM_FORMAT + 11)
- #define IDM_FORMAT_CONV2_UCS_2BE (IDM_FORMAT + 12)
- #define IDM_FORMAT_CONV2_UCS_2LE (IDM_FORMAT + 13)
-
- #define IDM_FORMAT_ENCODE (IDM_FORMAT + 20)
- #define IDM_FORMAT_WIN_1250 (IDM_FORMAT_ENCODE + 0)
- #define IDM_FORMAT_WIN_1251 (IDM_FORMAT_ENCODE + 1)
- #define IDM_FORMAT_WIN_1252 (IDM_FORMAT_ENCODE + 2)
- #define IDM_FORMAT_WIN_1253 (IDM_FORMAT_ENCODE + 3)
- #define IDM_FORMAT_WIN_1254 (IDM_FORMAT_ENCODE + 4)
- #define IDM_FORMAT_WIN_1255 (IDM_FORMAT_ENCODE + 5)
- #define IDM_FORMAT_WIN_1256 (IDM_FORMAT_ENCODE + 6)
- #define IDM_FORMAT_WIN_1257 (IDM_FORMAT_ENCODE + 7)
- #define IDM_FORMAT_WIN_1258 (IDM_FORMAT_ENCODE + 8)
- #define IDM_FORMAT_ISO_8859_1 (IDM_FORMAT_ENCODE + 9)
- #define IDM_FORMAT_ISO_8859_2 (IDM_FORMAT_ENCODE + 10)
- #define IDM_FORMAT_ISO_8859_3 (IDM_FORMAT_ENCODE + 11)
- #define IDM_FORMAT_ISO_8859_4 (IDM_FORMAT_ENCODE + 12)
- #define IDM_FORMAT_ISO_8859_5 (IDM_FORMAT_ENCODE + 13)
- #define IDM_FORMAT_ISO_8859_6 (IDM_FORMAT_ENCODE + 14)
- #define IDM_FORMAT_ISO_8859_7 (IDM_FORMAT_ENCODE + 15)
- #define IDM_FORMAT_ISO_8859_8 (IDM_FORMAT_ENCODE + 16)
- #define IDM_FORMAT_ISO_8859_9 (IDM_FORMAT_ENCODE + 17)
- //#define IDM_FORMAT_ISO_8859_10 (IDM_FORMAT_ENCODE + 18)
- //#define IDM_FORMAT_ISO_8859_11 (IDM_FORMAT_ENCODE + 19)
- #define IDM_FORMAT_ISO_8859_13 (IDM_FORMAT_ENCODE + 20)
- #define IDM_FORMAT_ISO_8859_14 (IDM_FORMAT_ENCODE + 21)
- #define IDM_FORMAT_ISO_8859_15 (IDM_FORMAT_ENCODE + 22)
- //#define IDM_FORMAT_ISO_8859_16 (IDM_FORMAT_ENCODE + 23)
- #define IDM_FORMAT_DOS_437 (IDM_FORMAT_ENCODE + 24)
- #define IDM_FORMAT_DOS_720 (IDM_FORMAT_ENCODE + 25)
- #define IDM_FORMAT_DOS_737 (IDM_FORMAT_ENCODE + 26)
- #define IDM_FORMAT_DOS_775 (IDM_FORMAT_ENCODE + 27)
- #define IDM_FORMAT_DOS_850 (IDM_FORMAT_ENCODE + 28)
- #define IDM_FORMAT_DOS_852 (IDM_FORMAT_ENCODE + 29)
- #define IDM_FORMAT_DOS_855 (IDM_FORMAT_ENCODE + 30)
- #define IDM_FORMAT_DOS_857 (IDM_FORMAT_ENCODE + 31)
- #define IDM_FORMAT_DOS_858 (IDM_FORMAT_ENCODE + 32)
- #define IDM_FORMAT_DOS_860 (IDM_FORMAT_ENCODE + 33)
- #define IDM_FORMAT_DOS_861 (IDM_FORMAT_ENCODE + 34)
- #define IDM_FORMAT_DOS_862 (IDM_FORMAT_ENCODE + 35)
- #define IDM_FORMAT_DOS_863 (IDM_FORMAT_ENCODE + 36)
- #define IDM_FORMAT_DOS_865 (IDM_FORMAT_ENCODE + 37)
- #define IDM_FORMAT_DOS_866 (IDM_FORMAT_ENCODE + 38)
- #define IDM_FORMAT_DOS_869 (IDM_FORMAT_ENCODE + 39)
- #define IDM_FORMAT_BIG5 (IDM_FORMAT_ENCODE + 40)
- #define IDM_FORMAT_GB2312 (IDM_FORMAT_ENCODE + 41)
- #define IDM_FORMAT_SHIFT_JIS (IDM_FORMAT_ENCODE + 42)
- #define IDM_FORMAT_KOREAN_WIN (IDM_FORMAT_ENCODE + 43)
- #define IDM_FORMAT_EUC_KR (IDM_FORMAT_ENCODE + 44)
- #define IDM_FORMAT_TIS_620 (IDM_FORMAT_ENCODE + 45)
- #define IDM_FORMAT_MAC_CYRILLIC (IDM_FORMAT_ENCODE + 46)
- #define IDM_FORMAT_KOI8U_CYRILLIC (IDM_FORMAT_ENCODE + 47)
- #define IDM_FORMAT_KOI8R_CYRILLIC (IDM_FORMAT_ENCODE + 48)
- #define IDM_FORMAT_ENCODE_END IDM_FORMAT_KOI8R_CYRILLIC
-
- //#define IDM_FORMAT_CONVERT 200
-
-#define IDM_LANG (IDM + 6000)
- #define IDM_LANGSTYLE_CONFIG_DLG (IDM_LANG + 1)
- #define IDM_LANG_C (IDM_LANG + 2)
- #define IDM_LANG_CPP (IDM_LANG + 3)
- #define IDM_LANG_JAVA (IDM_LANG + 4)
- #define IDM_LANG_HTML (IDM_LANG + 5)
- #define IDM_LANG_XML (IDM_LANG + 6)
- #define IDM_LANG_JS (IDM_LANG + 7)
- #define IDM_LANG_PHP (IDM_LANG + 8)
- #define IDM_LANG_ASP (IDM_LANG + 9)
- #define IDM_LANG_CSS (IDM_LANG + 10)
- #define IDM_LANG_PASCAL (IDM_LANG + 11)
- #define IDM_LANG_PYTHON (IDM_LANG + 12)
- #define IDM_LANG_PERL (IDM_LANG + 13)
- #define IDM_LANG_OBJC (IDM_LANG + 14)
- #define IDM_LANG_ASCII (IDM_LANG + 15)
- #define IDM_LANG_TEXT (IDM_LANG + 16)
- #define IDM_LANG_RC (IDM_LANG + 17)
- #define IDM_LANG_MAKEFILE (IDM_LANG + 18)
- #define IDM_LANG_INI (IDM_LANG + 19)
- #define IDM_LANG_SQL (IDM_LANG + 20)
- #define IDM_LANG_VB (IDM_LANG + 21)
- #define IDM_LANG_BATCH (IDM_LANG + 22)
- #define IDM_LANG_CS (IDM_LANG + 23)
- #define IDM_LANG_LUA (IDM_LANG + 24)
- #define IDM_LANG_TEX (IDM_LANG + 25)
- #define IDM_LANG_FORTRAN (IDM_LANG + 26)
- #define IDM_LANG_BASH (IDM_LANG + 27)
- #define IDM_LANG_FLASH (IDM_LANG + 28)
- #define IDM_LANG_NSIS (IDM_LANG + 29)
- #define IDM_LANG_TCL (IDM_LANG + 30)
- #define IDM_LANG_LISP (IDM_LANG + 31)
- #define IDM_LANG_SCHEME (IDM_LANG + 32)
- #define IDM_LANG_ASM (IDM_LANG + 33)
- #define IDM_LANG_DIFF (IDM_LANG + 34)
- #define IDM_LANG_PROPS (IDM_LANG + 35)
- #define IDM_LANG_PS (IDM_LANG + 36)
- #define IDM_LANG_RUBY (IDM_LANG + 37)
- #define IDM_LANG_SMALLTALK (IDM_LANG + 38)
- #define IDM_LANG_VHDL (IDM_LANG + 39)
- #define IDM_LANG_CAML (IDM_LANG + 40)
- #define IDM_LANG_KIX (IDM_LANG + 41)
- #define IDM_LANG_ADA (IDM_LANG + 42)
- #define IDM_LANG_VERILOG (IDM_LANG + 43)
- #define IDM_LANG_AU3 (IDM_LANG + 44)
- #define IDM_LANG_MATLAB (IDM_LANG + 45)
- #define IDM_LANG_HASKELL (IDM_LANG + 46)
- #define IDM_LANG_INNO (IDM_LANG + 47)
- #define IDM_LANG_CMAKE (IDM_LANG + 48)
- #define IDM_LANG_YAML (IDM_LANG + 49)
- #define IDM_LANG_COBOL (IDM_LANG + 50)
- #define IDM_LANG_D (IDM_LANG + 51)
- #define IDM_LANG_GUI4CLI (IDM_LANG + 52)
- #define IDM_LANG_POWERSHELL (IDM_LANG + 53)
- #define IDM_LANG_R (IDM_LANG + 54)
- #define IDM_LANG_JSP (IDM_LANG + 55)
- #define IDM_LANG_COFFEESCRIPT (IDM_LANG + 56)
- #define IDM_LANG_JSON (IDM_LANG + 57)
- #define IDM_LANG_FORTRAN_77 (IDM_LANG + 58)
- #define IDM_LANG_BAANC (IDM_LANG + 59)
- #define IDM_LANG_SREC (IDM_LANG + 60)
- #define IDM_LANG_IHEX (IDM_LANG + 61)
- #define IDM_LANG_TEHEX (IDM_LANG + 62)
- #define IDM_LANG_SWIFT (IDM_LANG + 63)
- #define IDM_LANG_ASN1 (IDM_LANG + 64)
- #define IDM_LANG_AVS (IDM_LANG + 65)
- #define IDM_LANG_BLITZBASIC (IDM_LANG + 66)
- #define IDM_LANG_PUREBASIC (IDM_LANG + 67)
- #define IDM_LANG_FREEBASIC (IDM_LANG + 68)
- #define IDM_LANG_CSOUND (IDM_LANG + 69)
- #define IDM_LANG_ERLANG (IDM_LANG + 70)
- #define IDM_LANG_ESCRIPT (IDM_LANG + 71)
- #define IDM_LANG_FORTH (IDM_LANG + 72)
- #define IDM_LANG_LATEX (IDM_LANG + 73)
- #define IDM_LANG_MMIXAL (IDM_LANG + 74)
- #define IDM_LANG_NIMROD (IDM_LANG + 75)
- #define IDM_LANG_NNCRONTAB (IDM_LANG + 76)
- #define IDM_LANG_OSCRIPT (IDM_LANG + 77)
- #define IDM_LANG_REBOL (IDM_LANG + 78)
- #define IDM_LANG_REGISTRY (IDM_LANG + 79)
- #define IDM_LANG_RUST (IDM_LANG + 80)
- #define IDM_LANG_SPICE (IDM_LANG + 81)
- #define IDM_LANG_TXT2TAGS (IDM_LANG + 82)
- #define IDM_LANG_VISUALPROLOG (IDM_LANG + 83)
-
- #define IDM_LANG_EXTERNAL (IDM_LANG + 165)
- #define IDM_LANG_EXTERNAL_LIMIT (IDM_LANG + 179)
-
- #define IDM_LANG_USER (IDM_LANG + 180) //46180: Used for translation
- #define IDM_LANG_USER_LIMIT (IDM_LANG + 210) //46210: Ajust with IDM_LANG_USER
- #define IDM_LANG_USER_DLG (IDM_LANG + 250) //46250: Used for translation
- #define IDM_LANG_OPENUDLDIR (IDM_LANG + 300)
-
-
-
-
-#define IDM_ABOUT (IDM + 7000)
- #define IDM_HOMESWEETHOME (IDM_ABOUT + 1)
- #define IDM_PROJECTPAGE (IDM_ABOUT + 2)
- #define IDM_ONLINEDOCUMENT (IDM_ABOUT + 3)
- #define IDM_FORUM (IDM_ABOUT + 4)
- //#define IDM_PLUGINSHOME (IDM_ABOUT + 5)
- #define IDM_UPDATE_NPP (IDM_ABOUT + 6)
- #define IDM_WIKIFAQ (IDM_ABOUT + 7)
- #define IDM_HELP (IDM_ABOUT + 8)
- #define IDM_CONFUPDATERPROXY (IDM_ABOUT + 9)
- #define IDM_CMDLINEARGUMENTS (IDM_ABOUT + 10)
- #define IDM_ONLINESUPPORT (IDM_ABOUT + 11)
- #define IDM_DEBUGINFO (IDM_ABOUT + 12)
-
-
-#define IDM_SETTING (IDM + 8000)
-// #define IDM_SETTING_TAB_SIZE (IDM_SETTING + 1)
-// #define IDM_SETTING_TAB_REPLCESPACE (IDM_SETTING + 2)
-// #define IDM_SETTING_HISTORY_SIZE (IDM_SETTING + 3)
-// #define IDM_SETTING_EDGE_SIZE (IDM_SETTING + 4)
- #define IDM_SETTING_IMPORTPLUGIN (IDM_SETTING + 5)
- #define IDM_SETTING_IMPORTSTYLETHEMS (IDM_SETTING + 6)
- #define IDM_SETTING_TRAYICON (IDM_SETTING + 8)
- #define IDM_SETTING_SHORTCUT_MAPPER (IDM_SETTING + 9)
- #define IDM_SETTING_REMEMBER_LAST_SESSION (IDM_SETTING + 10)
- #define IDM_SETTING_PREFERENCE (IDM_SETTING + 11)
- #define IDM_SETTING_OPENPLUGINSDIR (IDM_SETTING + 14)
- #define IDM_SETTING_PLUGINADM (IDM_SETTING + 15)
- #define IDM_SETTING_SHORTCUT_MAPPER_MACRO (IDM_SETTING + 16)
- #define IDM_SETTING_SHORTCUT_MAPPER_RUN (IDM_SETTING + 17)
- #define IDM_SETTING_EDITCONTEXTMENU (IDM_SETTING + 18)
-
-#define IDM_TOOL (IDM + 8500)
- #define IDM_TOOL_MD5_GENERATE (IDM_TOOL + 1)
- #define IDM_TOOL_MD5_GENERATEFROMFILE (IDM_TOOL + 2)
- #define IDM_TOOL_MD5_GENERATEINTOCLIPBOARD (IDM_TOOL + 3)
- #define IDM_TOOL_SHA256_GENERATE (IDM_TOOL + 4)
- #define IDM_TOOL_SHA256_GENERATEFROMFILE (IDM_TOOL + 5)
- #define IDM_TOOL_SHA256_GENERATEINTOCLIPBOARD (IDM_TOOL + 6)
-
-#define IDM_EXECUTE (IDM + 9000)
-
-#define IDM_SYSTRAYPOPUP (IDM + 3100)
- #define IDM_SYSTRAYPOPUP_ACTIVATE (IDM_SYSTRAYPOPUP + 1)
- #define IDM_SYSTRAYPOPUP_NEWDOC (IDM_SYSTRAYPOPUP + 2)
- #define IDM_SYSTRAYPOPUP_NEW_AND_PASTE (IDM_SYSTRAYPOPUP + 3)
- #define IDM_SYSTRAYPOPUP_OPENFILE (IDM_SYSTRAYPOPUP + 4)
- #define IDM_SYSTRAYPOPUP_CLOSE (IDM_SYSTRAYPOPUP + 5)
+// This file is part of Notepad++ project
+// Copyright (C)2020 Don HO
+//
+// 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 2 of the License, or (at your option) any later version.
+//
+// Note that the GPL places important restrictions on "derived works", yet
+// it does not provide a detailed definition of that term. To avoid
+// misunderstandings, we consider an application to constitute a
+// "derivative work" for the purpose of this license if it does any of the
+// following:
+// 1. Integrates source code from Notepad++.
+// 2. Integrates/includes/aggregates Notepad++ into a proprietary executable
+// installer, such as those produced by InstallShield.
+// 3. Links to a library or executes a program that does any of the above.
+//
+// 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, write to the Free Software
+// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+
+#pragma once
+
+#define IDM 40000
+
+#define IDM_FILE (IDM + 1000)
+// IMPORTANT: If list below is modified, you have to change the value of IDM_FILEMENU_LASTONE and IDM_FILEMENU_EXISTCMDPOSITION
+ #define IDM_FILE_NEW (IDM_FILE + 1)
+ #define IDM_FILE_OPEN (IDM_FILE + 2)
+ #define IDM_FILE_CLOSE (IDM_FILE + 3)
+ #define IDM_FILE_CLOSEALL (IDM_FILE + 4)
+ #define IDM_FILE_CLOSEALL_BUT_CURRENT (IDM_FILE + 5)
+ #define IDM_FILE_SAVE (IDM_FILE + 6)
+ #define IDM_FILE_SAVEALL (IDM_FILE + 7)
+ #define IDM_FILE_SAVEAS (IDM_FILE + 8)
+ #define IDM_FILE_CLOSEALL_TOLEFT (IDM_FILE + 9)
+ #define IDM_FILE_PRINT (IDM_FILE + 10)
+ #define IDM_FILE_PRINTNOW 1001
+ #define IDM_FILE_EXIT (IDM_FILE + 11)
+ #define IDM_FILE_LOADSESSION (IDM_FILE + 12)
+ #define IDM_FILE_SAVESESSION (IDM_FILE + 13)
+ #define IDM_FILE_RELOAD (IDM_FILE + 14)
+ #define IDM_FILE_SAVECOPYAS (IDM_FILE + 15)
+ #define IDM_FILE_DELETE (IDM_FILE + 16)
+ #define IDM_FILE_RENAME (IDM_FILE + 17)
+ #define IDM_FILE_CLOSEALL_TORIGHT (IDM_FILE + 18)
+ #define IDM_FILE_OPEN_FOLDER (IDM_FILE + 19)
+ #define IDM_FILE_OPEN_CMD (IDM_FILE + 20)
+ #define IDM_FILE_RESTORELASTCLOSEDFILE (IDM_FILE + 21)
+ #define IDM_FILE_OPENFOLDERASWORSPACE (IDM_FILE + 22)
+ #define IDM_FILE_OPEN_DEFAULT_VIEWER (IDM_FILE + 23)
+ #define IDM_FILE_CLOSEALL_UNCHANGED (IDM_FILE + 24)
+// IMPORTANT: If list above is modified, you have to change the following values:
+
+// To be updated if new menu item(s) is (are) added in menu "File"
+ #define IDM_FILEMENU_LASTONE IDM_FILE_CLOSEALL_UNCHANGED
+
+// 0 based position of command "Exit" including the bars in the file menu
+// and without counting "Recent files history" items
+
+// 0 New
+// 1 Open...
+// 2 Open Containing Folder
+// 3 Open Folder as Workspace
+// 4 Open in Default Viewer
+// 5 Reload from Disk
+// 6 Save
+// 7 Save As...
+// 8 Save a Copy As...
+// 9 Save All
+//10 Rename...
+//11 Close
+//12 Close All
+//13 Close More
+//14 Move to Recycle Bin
+//15 --------
+//16 Load Session...
+//17 Save Session...
+//18 --------
+//19 Print...
+//20 Print Now
+//21 --------
+//22 Exit
+ #define IDM_FILEMENU_EXISTCMDPOSITION 22
+
+
+#define IDM_EDIT (IDM + 2000)
+ #define IDM_EDIT_CUT (IDM_EDIT + 1)
+ #define IDM_EDIT_COPY (IDM_EDIT + 2)
+ #define IDM_EDIT_UNDO (IDM_EDIT + 3)
+ #define IDM_EDIT_REDO (IDM_EDIT + 4)
+ #define IDM_EDIT_PASTE (IDM_EDIT + 5)
+ #define IDM_EDIT_DELETE (IDM_EDIT + 6)
+ #define IDM_EDIT_SELECTALL (IDM_EDIT + 7)
+ #define IDM_EDIT_BEGINENDSELECT (IDM_EDIT + 20)
+
+ #define IDM_EDIT_INS_TAB (IDM_EDIT + 8)
+ #define IDM_EDIT_RMV_TAB (IDM_EDIT + 9)
+ #define IDM_EDIT_DUP_LINE (IDM_EDIT + 10)
+ #define IDM_EDIT_REMOVE_DUP_LINES (IDM_EDIT + 77)
+ #define IDM_EDIT_TRANSPOSE_LINE (IDM_EDIT + 11)
+ #define IDM_EDIT_SPLIT_LINES (IDM_EDIT + 12)
+ #define IDM_EDIT_JOIN_LINES (IDM_EDIT + 13)
+ #define IDM_EDIT_LINE_UP (IDM_EDIT + 14)
+ #define IDM_EDIT_LINE_DOWN (IDM_EDIT + 15)
+ #define IDM_EDIT_UPPERCASE (IDM_EDIT + 16)
+ #define IDM_EDIT_LOWERCASE (IDM_EDIT + 17)
+ #define IDM_EDIT_PROPERCASE_FORCE (IDM_EDIT + 67)
+ #define IDM_EDIT_PROPERCASE_BLEND (IDM_EDIT + 68)
+ #define IDM_EDIT_SENTENCECASE_FORCE (IDM_EDIT + 69)
+ #define IDM_EDIT_SENTENCECASE_BLEND (IDM_EDIT + 70)
+ #define IDM_EDIT_INVERTCASE (IDM_EDIT + 71)
+ #define IDM_EDIT_RANDOMCASE (IDM_EDIT + 72)
+ #define IDM_EDIT_REMOVEEMPTYLINES (IDM_EDIT + 55)
+ #define IDM_EDIT_REMOVEEMPTYLINESWITHBLANK (IDM_EDIT + 56)
+ #define IDM_EDIT_BLANKLINEABOVECURRENT (IDM_EDIT + 57)
+ #define IDM_EDIT_BLANKLINEBELOWCURRENT (IDM_EDIT + 58)
+ #define IDM_EDIT_SORTLINES_LEXICOGRAPHIC_ASCENDING (IDM_EDIT + 59)
+ #define IDM_EDIT_SORTLINES_LEXICOGRAPHIC_DESCENDING (IDM_EDIT + 60)
+ #define IDM_EDIT_SORTLINES_INTEGER_ASCENDING (IDM_EDIT + 61)
+ #define IDM_EDIT_SORTLINES_INTEGER_DESCENDING (IDM_EDIT + 62)
+ #define IDM_EDIT_SORTLINES_DECIMALCOMMA_ASCENDING (IDM_EDIT + 63)
+ #define IDM_EDIT_SORTLINES_DECIMALCOMMA_DESCENDING (IDM_EDIT + 64)
+ #define IDM_EDIT_SORTLINES_DECIMALDOT_ASCENDING (IDM_EDIT + 65)
+ #define IDM_EDIT_SORTLINES_DECIMALDOT_DESCENDING (IDM_EDIT + 66)
+
+ #define IDM_EDIT_OPENASFILE (IDM_EDIT + 73)
+ #define IDM_EDIT_OPENINFOLDER (IDM_EDIT + 74)
+ #define IDM_EDIT_SEARCHONINTERNET (IDM_EDIT + 75)
+ #define IDM_EDIT_CHANGESEARCHENGINE (IDM_EDIT + 76)
+
+// Menu macro
+ #define IDM_MACRO_STARTRECORDINGMACRO (IDM_EDIT + 18)
+ #define IDM_MACRO_STOPRECORDINGMACRO (IDM_EDIT + 19)
+ #define IDM_MACRO_PLAYBACKRECORDEDMACRO (IDM_EDIT + 21)
+//-----------
+
+ #define IDM_EDIT_BLOCK_COMMENT (IDM_EDIT + 22)
+ #define IDM_EDIT_STREAM_COMMENT (IDM_EDIT + 23)
+ #define IDM_EDIT_TRIMTRAILING (IDM_EDIT + 24)
+ #define IDM_EDIT_TRIMLINEHEAD (IDM_EDIT + 42)
+ #define IDM_EDIT_TRIM_BOTH (IDM_EDIT + 43)
+ #define IDM_EDIT_EOL2WS (IDM_EDIT + 44)
+ #define IDM_EDIT_TRIMALL (IDM_EDIT + 45)
+ #define IDM_EDIT_TAB2SW (IDM_EDIT + 46)
+ #define IDM_EDIT_SW2TAB_LEADING (IDM_EDIT + 53)
+ #define IDM_EDIT_SW2TAB_ALL (IDM_EDIT + 54)
+ #define IDM_EDIT_STREAM_UNCOMMENT (IDM_EDIT + 47)
+
+// Menu macro
+ #define IDM_MACRO_SAVECURRENTMACRO (IDM_EDIT + 25)
+//-----------
+
+ #define IDM_EDIT_RTL (IDM_EDIT + 26)
+ #define IDM_EDIT_LTR (IDM_EDIT + 27)
+ #define IDM_EDIT_SETREADONLY (IDM_EDIT + 28)
+ #define IDM_EDIT_FULLPATHTOCLIP (IDM_EDIT + 29)
+ #define IDM_EDIT_FILENAMETOCLIP (IDM_EDIT + 30)
+ #define IDM_EDIT_CURRENTDIRTOCLIP (IDM_EDIT + 31)
+
+// Menu macro
+ #define IDM_MACRO_RUNMULTIMACRODLG (IDM_EDIT + 32)
+//-----------
+
+ #define IDM_EDIT_CLEARREADONLY (IDM_EDIT + 33)
+ #define IDM_EDIT_COLUMNMODE (IDM_EDIT + 34)
+ #define IDM_EDIT_BLOCK_COMMENT_SET (IDM_EDIT + 35)
+ #define IDM_EDIT_BLOCK_UNCOMMENT (IDM_EDIT + 36)
+ #define IDM_EDIT_COLUMNMODETIP (IDM_EDIT + 37)
+ #define IDM_EDIT_PASTE_AS_HTML (IDM_EDIT + 38)
+ #define IDM_EDIT_PASTE_AS_RTF (IDM_EDIT + 39)
+ #define IDM_EDIT_COPY_BINARY (IDM_EDIT + 48)
+ #define IDM_EDIT_CUT_BINARY (IDM_EDIT + 49)
+ #define IDM_EDIT_PASTE_BINARY (IDM_EDIT + 50)
+ #define IDM_EDIT_CHAR_PANEL (IDM_EDIT + 51)
+ #define IDM_EDIT_CLIPBOARDHISTORY_PANEL (IDM_EDIT + 52)
+
+ #define IDM_EDIT_AUTOCOMPLETE (50000 + 0)
+ #define IDM_EDIT_AUTOCOMPLETE_CURRENTFILE (50000 + 1)
+ #define IDM_EDIT_FUNCCALLTIP (50000 + 2)
+ #define IDM_EDIT_AUTOCOMPLETE_PATH (50000 + 6)
+
+ //Belong to MENU FILE
+ #define IDM_OPEN_ALL_RECENT_FILE (IDM_EDIT + 40)
+ #define IDM_CLEAN_RECENT_FILE_LIST (IDM_EDIT + 41)
+
+#define IDM_SEARCH (IDM + 3000)
+ #define IDM_SEARCH_FIND (IDM_SEARCH + 1)
+ #define IDM_SEARCH_FINDNEXT (IDM_SEARCH + 2)
+ #define IDM_SEARCH_REPLACE (IDM_SEARCH + 3)
+ #define IDM_SEARCH_GOTOLINE (IDM_SEARCH + 4)
+ #define IDM_SEARCH_TOGGLE_BOOKMARK (IDM_SEARCH + 5)
+ #define IDM_SEARCH_NEXT_BOOKMARK (IDM_SEARCH + 6)
+ #define IDM_SEARCH_PREV_BOOKMARK (IDM_SEARCH + 7)
+ #define IDM_SEARCH_CLEAR_BOOKMARKS (IDM_SEARCH + 8)
+ #define IDM_SEARCH_GOTOMATCHINGBRACE (IDM_SEARCH + 9)
+ #define IDM_SEARCH_FINDPREV (IDM_SEARCH + 10)
+ #define IDM_SEARCH_FINDINCREMENT (IDM_SEARCH + 11)
+ #define IDM_SEARCH_FINDINFILES (IDM_SEARCH + 13)
+ #define IDM_SEARCH_VOLATILE_FINDNEXT (IDM_SEARCH + 14)
+ #define IDM_SEARCH_VOLATILE_FINDPREV (IDM_SEARCH + 15)
+ #define IDM_SEARCH_CUTMARKEDLINES (IDM_SEARCH + 18)
+ #define IDM_SEARCH_COPYMARKEDLINES (IDM_SEARCH + 19)
+ #define IDM_SEARCH_PASTEMARKEDLINES (IDM_SEARCH + 20)
+ #define IDM_SEARCH_DELETEMARKEDLINES (IDM_SEARCH + 21)
+ #define IDM_SEARCH_MARKALLEXT1 (IDM_SEARCH + 22)
+ #define IDM_SEARCH_UNMARKALLEXT1 (IDM_SEARCH + 23)
+ #define IDM_SEARCH_MARKALLEXT2 (IDM_SEARCH + 24)
+ #define IDM_SEARCH_UNMARKALLEXT2 (IDM_SEARCH + 25)
+ #define IDM_SEARCH_MARKALLEXT3 (IDM_SEARCH + 26)
+ #define IDM_SEARCH_UNMARKALLEXT3 (IDM_SEARCH + 27)
+ #define IDM_SEARCH_MARKALLEXT4 (IDM_SEARCH + 28)
+ #define IDM_SEARCH_UNMARKALLEXT4 (IDM_SEARCH + 29)
+ #define IDM_SEARCH_MARKALLEXT5 (IDM_SEARCH + 30)
+ #define IDM_SEARCH_UNMARKALLEXT5 (IDM_SEARCH + 31)
+ #define IDM_SEARCH_CLEARALLMARKS (IDM_SEARCH + 32)
+
+ #define IDM_SEARCH_GOPREVMARKER1 (IDM_SEARCH + 33)
+ #define IDM_SEARCH_GOPREVMARKER2 (IDM_SEARCH + 34)
+ #define IDM_SEARCH_GOPREVMARKER3 (IDM_SEARCH + 35)
+ #define IDM_SEARCH_GOPREVMARKER4 (IDM_SEARCH + 36)
+ #define IDM_SEARCH_GOPREVMARKER5 (IDM_SEARCH + 37)
+ #define IDM_SEARCH_GOPREVMARKER_DEF (IDM_SEARCH + 38)
+
+ #define IDM_SEARCH_GONEXTMARKER1 (IDM_SEARCH + 39)
+ #define IDM_SEARCH_GONEXTMARKER2 (IDM_SEARCH + 40)
+ #define IDM_SEARCH_GONEXTMARKER3 (IDM_SEARCH + 41)
+ #define IDM_SEARCH_GONEXTMARKER4 (IDM_SEARCH + 42)
+ #define IDM_SEARCH_GONEXTMARKER5 (IDM_SEARCH + 43)
+ #define IDM_SEARCH_GONEXTMARKER_DEF (IDM_SEARCH + 44)
+
+ #define IDM_FOCUS_ON_FOUND_RESULTS (IDM_SEARCH + 45)
+ #define IDM_SEARCH_GOTONEXTFOUND (IDM_SEARCH + 46)
+ #define IDM_SEARCH_GOTOPREVFOUND (IDM_SEARCH + 47)
+
+ #define IDM_SEARCH_SETANDFINDNEXT (IDM_SEARCH + 48)
+ #define IDM_SEARCH_SETANDFINDPREV (IDM_SEARCH + 49)
+ #define IDM_SEARCH_INVERSEMARKS (IDM_SEARCH + 50)
+ #define IDM_SEARCH_DELETEUNMARKEDLINES (IDM_SEARCH + 51)
+ #define IDM_SEARCH_FINDCHARINRANGE (IDM_SEARCH + 52)
+ #define IDM_SEARCH_SELECTMATCHINGBRACES (IDM_SEARCH + 53)
+ #define IDM_SEARCH_MARK (IDM_SEARCH + 54)
+
+#define IDM_MISC (IDM + 3500)
+ #define IDM_FILESWITCHER_FILESCLOSE (IDM_MISC + 1)
+ #define IDM_FILESWITCHER_FILESCLOSEOTHERS (IDM_MISC + 2)
+
+
+#define IDM_VIEW (IDM + 4000)
+ //#define IDM_VIEW_TOOLBAR_HIDE (IDM_VIEW + 1)
+ #define IDM_VIEW_TOOLBAR_REDUCE (IDM_VIEW + 2)
+ #define IDM_VIEW_TOOLBAR_ENLARGE (IDM_VIEW + 3)
+ #define IDM_VIEW_TOOLBAR_STANDARD (IDM_VIEW + 4)
+ #define IDM_VIEW_REDUCETABBAR (IDM_VIEW + 5)
+ #define IDM_VIEW_LOCKTABBAR (IDM_VIEW + 6)
+ #define IDM_VIEW_DRAWTABBAR_TOPBAR (IDM_VIEW + 7)
+ #define IDM_VIEW_DRAWTABBAR_INACIVETAB (IDM_VIEW + 8)
+ #define IDM_VIEW_POSTIT (IDM_VIEW + 9)
+ #define IDM_VIEW_TOGGLE_FOLDALL (IDM_VIEW + 10)
+ //#define IDM_VIEW_USER_DLG (IDM_VIEW + 11)
+ #define IDM_VIEW_LINENUMBER (IDM_VIEW + 12)
+ #define IDM_VIEW_SYMBOLMARGIN (IDM_VIEW + 13)
+ #define IDM_VIEW_FOLDERMAGIN (IDM_VIEW + 14)
+ #define IDM_VIEW_FOLDERMAGIN_SIMPLE (IDM_VIEW + 15)
+ #define IDM_VIEW_FOLDERMAGIN_ARROW (IDM_VIEW + 16)
+ #define IDM_VIEW_FOLDERMAGIN_CIRCLE (IDM_VIEW + 17)
+ #define IDM_VIEW_FOLDERMAGIN_BOX (IDM_VIEW + 18)
+ #define IDM_VIEW_ALL_CHARACTERS (IDM_VIEW + 19)
+ #define IDM_VIEW_INDENT_GUIDE (IDM_VIEW + 20)
+ #define IDM_VIEW_CURLINE_HILITING (IDM_VIEW + 21)
+ #define IDM_VIEW_WRAP (IDM_VIEW + 22)
+ #define IDM_VIEW_ZOOMIN (IDM_VIEW + 23)
+ #define IDM_VIEW_ZOOMOUT (IDM_VIEW + 24)
+ #define IDM_VIEW_TAB_SPACE (IDM_VIEW + 25)
+ #define IDM_VIEW_EOL (IDM_VIEW + 26)
+ //#define IDM_VIEW_EDGELINE (IDM_VIEW + 27)
+ //#define IDM_VIEW_EDGEBACKGROUND (IDM_VIEW + 28)
+ #define IDM_VIEW_TOGGLE_UNFOLDALL (IDM_VIEW + 29)
+ #define IDM_VIEW_FOLD_CURRENT (IDM_VIEW + 30)
+ #define IDM_VIEW_UNFOLD_CURRENT (IDM_VIEW + 31)
+ #define IDM_VIEW_FULLSCREENTOGGLE (IDM_VIEW + 32)
+ #define IDM_VIEW_ZOOMRESTORE (IDM_VIEW + 33)
+ #define IDM_VIEW_ALWAYSONTOP (IDM_VIEW + 34)
+ #define IDM_VIEW_SYNSCROLLV (IDM_VIEW + 35)
+ #define IDM_VIEW_SYNSCROLLH (IDM_VIEW + 36)
+ //#define IDM_VIEW_EDGENONE (IDM_VIEW + 37)
+ #define IDM_VIEW_DRAWTABBAR_CLOSEBOTTUN (IDM_VIEW + 38)
+ #define IDM_VIEW_DRAWTABBAR_DBCLK2CLOSE (IDM_VIEW + 39)
+ #define IDM_VIEW_REFRESHTABAR (IDM_VIEW + 40)
+ #define IDM_VIEW_WRAP_SYMBOL (IDM_VIEW + 41)
+ #define IDM_VIEW_HIDELINES (IDM_VIEW + 42)
+ #define IDM_VIEW_DRAWTABBAR_VERTICAL (IDM_VIEW + 43)
+ #define IDM_VIEW_DRAWTABBAR_MULTILINE (IDM_VIEW + 44)
+ #define IDM_VIEW_DOCCHANGEMARGIN (IDM_VIEW + 45)
+ #define IDM_VIEW_LWDEF (IDM_VIEW + 46)
+ #define IDM_VIEW_LWALIGN (IDM_VIEW + 47)
+ #define IDM_VIEW_LWINDENT (IDM_VIEW + 48)
+ #define IDM_VIEW_SUMMARY (IDM_VIEW + 49)
+
+ #define IDM_VIEW_FOLD (IDM_VIEW + 50)
+ #define IDM_VIEW_FOLD_1 (IDM_VIEW_FOLD + 1)
+ #define IDM_VIEW_FOLD_2 (IDM_VIEW_FOLD + 2)
+ #define IDM_VIEW_FOLD_3 (IDM_VIEW_FOLD + 3)
+ #define IDM_VIEW_FOLD_4 (IDM_VIEW_FOLD + 4)
+ #define IDM_VIEW_FOLD_5 (IDM_VIEW_FOLD + 5)
+ #define IDM_VIEW_FOLD_6 (IDM_VIEW_FOLD + 6)
+ #define IDM_VIEW_FOLD_7 (IDM_VIEW_FOLD + 7)
+ #define IDM_VIEW_FOLD_8 (IDM_VIEW_FOLD + 8)
+
+ #define IDM_VIEW_UNFOLD (IDM_VIEW + 60)
+ #define IDM_VIEW_UNFOLD_1 (IDM_VIEW_UNFOLD + 1)
+ #define IDM_VIEW_UNFOLD_2 (IDM_VIEW_UNFOLD + 2)
+ #define IDM_VIEW_UNFOLD_3 (IDM_VIEW_UNFOLD + 3)
+ #define IDM_VIEW_UNFOLD_4 (IDM_VIEW_UNFOLD + 4)
+ #define IDM_VIEW_UNFOLD_5 (IDM_VIEW_UNFOLD + 5)
+ #define IDM_VIEW_UNFOLD_6 (IDM_VIEW_UNFOLD + 6)
+ #define IDM_VIEW_UNFOLD_7 (IDM_VIEW_UNFOLD + 7)
+ #define IDM_VIEW_UNFOLD_8 (IDM_VIEW_UNFOLD + 8)
+
+ #define IDM_VIEW_FILESWITCHER_PANEL (IDM_VIEW + 70)
+ #define IDM_VIEW_SWITCHTO_OTHER_VIEW (IDM_VIEW + 72)
+ #define IDM_EXPORT_FUNC_LIST_AND_QUIT (IDM_VIEW + 73)
+
+ #define IDM_VIEW_DOC_MAP (IDM_VIEW + 80)
+
+ #define IDM_VIEW_PROJECT_PANEL_1 (IDM_VIEW + 81)
+ #define IDM_VIEW_PROJECT_PANEL_2 (IDM_VIEW + 82)
+ #define IDM_VIEW_PROJECT_PANEL_3 (IDM_VIEW + 83)
+
+ #define IDM_VIEW_FUNC_LIST (IDM_VIEW + 84)
+ #define IDM_VIEW_FILEBROWSER (IDM_VIEW + 85)
+
+ #define IDM_VIEW_TAB1 (IDM_VIEW + 86)
+ #define IDM_VIEW_TAB2 (IDM_VIEW + 87)
+ #define IDM_VIEW_TAB3 (IDM_VIEW + 88)
+ #define IDM_VIEW_TAB4 (IDM_VIEW + 89)
+ #define IDM_VIEW_TAB5 (IDM_VIEW + 90)
+ #define IDM_VIEW_TAB6 (IDM_VIEW + 91)
+ #define IDM_VIEW_TAB7 (IDM_VIEW + 92)
+ #define IDM_VIEW_TAB8 (IDM_VIEW + 93)
+ #define IDM_VIEW_TAB9 (IDM_VIEW + 94)
+ #define IDM_VIEW_TAB_NEXT (IDM_VIEW + 95)
+ #define IDM_VIEW_TAB_PREV (IDM_VIEW + 96)
+ #define IDM_VIEW_MONITORING (IDM_VIEW + 97)
+ #define IDM_VIEW_TAB_MOVEFORWARD (IDM_VIEW + 98)
+ #define IDM_VIEW_TAB_MOVEBACKWARD (IDM_VIEW + 99)
+ #define IDM_VIEW_IN_FIREFOX (IDM_VIEW + 100)
+ #define IDM_VIEW_IN_CHROME (IDM_VIEW + 101)
+ #define IDM_VIEW_IN_EDGE (IDM_VIEW + 102)
+ #define IDM_VIEW_IN_IE (IDM_VIEW + 103)
+
+ #define IDM_VIEW_GOTO_ANOTHER_VIEW 10001
+ #define IDM_VIEW_CLONE_TO_ANOTHER_VIEW 10002
+ #define IDM_VIEW_GOTO_NEW_INSTANCE 10003
+ #define IDM_VIEW_LOAD_IN_NEW_INSTANCE 10004
+
+
+#define IDM_FORMAT (IDM + 5000)
+ #define IDM_FORMAT_TODOS (IDM_FORMAT + 1)
+ #define IDM_FORMAT_TOUNIX (IDM_FORMAT + 2)
+ #define IDM_FORMAT_TOMAC (IDM_FORMAT + 3)
+ #define IDM_FORMAT_ANSI (IDM_FORMAT + 4)
+ #define IDM_FORMAT_UTF_8 (IDM_FORMAT + 5)
+ #define IDM_FORMAT_UCS_2BE (IDM_FORMAT + 6)
+ #define IDM_FORMAT_UCS_2LE (IDM_FORMAT + 7)
+ #define IDM_FORMAT_AS_UTF_8 (IDM_FORMAT + 8)
+ #define IDM_FORMAT_CONV2_ANSI (IDM_FORMAT + 9)
+ #define IDM_FORMAT_CONV2_AS_UTF_8 (IDM_FORMAT + 10)
+ #define IDM_FORMAT_CONV2_UTF_8 (IDM_FORMAT + 11)
+ #define IDM_FORMAT_CONV2_UCS_2BE (IDM_FORMAT + 12)
+ #define IDM_FORMAT_CONV2_UCS_2LE (IDM_FORMAT + 13)
+
+ #define IDM_FORMAT_ENCODE (IDM_FORMAT + 20)
+ #define IDM_FORMAT_WIN_1250 (IDM_FORMAT_ENCODE + 0)
+ #define IDM_FORMAT_WIN_1251 (IDM_FORMAT_ENCODE + 1)
+ #define IDM_FORMAT_WIN_1252 (IDM_FORMAT_ENCODE + 2)
+ #define IDM_FORMAT_WIN_1253 (IDM_FORMAT_ENCODE + 3)
+ #define IDM_FORMAT_WIN_1254 (IDM_FORMAT_ENCODE + 4)
+ #define IDM_FORMAT_WIN_1255 (IDM_FORMAT_ENCODE + 5)
+ #define IDM_FORMAT_WIN_1256 (IDM_FORMAT_ENCODE + 6)
+ #define IDM_FORMAT_WIN_1257 (IDM_FORMAT_ENCODE + 7)
+ #define IDM_FORMAT_WIN_1258 (IDM_FORMAT_ENCODE + 8)
+ #define IDM_FORMAT_ISO_8859_1 (IDM_FORMAT_ENCODE + 9)
+ #define IDM_FORMAT_ISO_8859_2 (IDM_FORMAT_ENCODE + 10)
+ #define IDM_FORMAT_ISO_8859_3 (IDM_FORMAT_ENCODE + 11)
+ #define IDM_FORMAT_ISO_8859_4 (IDM_FORMAT_ENCODE + 12)
+ #define IDM_FORMAT_ISO_8859_5 (IDM_FORMAT_ENCODE + 13)
+ #define IDM_FORMAT_ISO_8859_6 (IDM_FORMAT_ENCODE + 14)
+ #define IDM_FORMAT_ISO_8859_7 (IDM_FORMAT_ENCODE + 15)
+ #define IDM_FORMAT_ISO_8859_8 (IDM_FORMAT_ENCODE + 16)
+ #define IDM_FORMAT_ISO_8859_9 (IDM_FORMAT_ENCODE + 17)
+ //#define IDM_FORMAT_ISO_8859_10 (IDM_FORMAT_ENCODE + 18)
+ //#define IDM_FORMAT_ISO_8859_11 (IDM_FORMAT_ENCODE + 19)
+ #define IDM_FORMAT_ISO_8859_13 (IDM_FORMAT_ENCODE + 20)
+ #define IDM_FORMAT_ISO_8859_14 (IDM_FORMAT_ENCODE + 21)
+ #define IDM_FORMAT_ISO_8859_15 (IDM_FORMAT_ENCODE + 22)
+ //#define IDM_FORMAT_ISO_8859_16 (IDM_FORMAT_ENCODE + 23)
+ #define IDM_FORMAT_DOS_437 (IDM_FORMAT_ENCODE + 24)
+ #define IDM_FORMAT_DOS_720 (IDM_FORMAT_ENCODE + 25)
+ #define IDM_FORMAT_DOS_737 (IDM_FORMAT_ENCODE + 26)
+ #define IDM_FORMAT_DOS_775 (IDM_FORMAT_ENCODE + 27)
+ #define IDM_FORMAT_DOS_850 (IDM_FORMAT_ENCODE + 28)
+ #define IDM_FORMAT_DOS_852 (IDM_FORMAT_ENCODE + 29)
+ #define IDM_FORMAT_DOS_855 (IDM_FORMAT_ENCODE + 30)
+ #define IDM_FORMAT_DOS_857 (IDM_FORMAT_ENCODE + 31)
+ #define IDM_FORMAT_DOS_858 (IDM_FORMAT_ENCODE + 32)
+ #define IDM_FORMAT_DOS_860 (IDM_FORMAT_ENCODE + 33)
+ #define IDM_FORMAT_DOS_861 (IDM_FORMAT_ENCODE + 34)
+ #define IDM_FORMAT_DOS_862 (IDM_FORMAT_ENCODE + 35)
+ #define IDM_FORMAT_DOS_863 (IDM_FORMAT_ENCODE + 36)
+ #define IDM_FORMAT_DOS_865 (IDM_FORMAT_ENCODE + 37)
+ #define IDM_FORMAT_DOS_866 (IDM_FORMAT_ENCODE + 38)
+ #define IDM_FORMAT_DOS_869 (IDM_FORMAT_ENCODE + 39)
+ #define IDM_FORMAT_BIG5 (IDM_FORMAT_ENCODE + 40)
+ #define IDM_FORMAT_GB2312 (IDM_FORMAT_ENCODE + 41)
+ #define IDM_FORMAT_SHIFT_JIS (IDM_FORMAT_ENCODE + 42)
+ #define IDM_FORMAT_KOREAN_WIN (IDM_FORMAT_ENCODE + 43)
+ #define IDM_FORMAT_EUC_KR (IDM_FORMAT_ENCODE + 44)
+ #define IDM_FORMAT_TIS_620 (IDM_FORMAT_ENCODE + 45)
+ #define IDM_FORMAT_MAC_CYRILLIC (IDM_FORMAT_ENCODE + 46)
+ #define IDM_FORMAT_KOI8U_CYRILLIC (IDM_FORMAT_ENCODE + 47)
+ #define IDM_FORMAT_KOI8R_CYRILLIC (IDM_FORMAT_ENCODE + 48)
+ #define IDM_FORMAT_ENCODE_END IDM_FORMAT_KOI8R_CYRILLIC
+
+ //#define IDM_FORMAT_CONVERT 200
+
+#define IDM_LANG (IDM + 6000)
+ #define IDM_LANGSTYLE_CONFIG_DLG (IDM_LANG + 1)
+ #define IDM_LANG_C (IDM_LANG + 2)
+ #define IDM_LANG_CPP (IDM_LANG + 3)
+ #define IDM_LANG_JAVA (IDM_LANG + 4)
+ #define IDM_LANG_HTML (IDM_LANG + 5)
+ #define IDM_LANG_XML (IDM_LANG + 6)
+ #define IDM_LANG_JS (IDM_LANG + 7)
+ #define IDM_LANG_PHP (IDM_LANG + 8)
+ #define IDM_LANG_ASP (IDM_LANG + 9)
+ #define IDM_LANG_CSS (IDM_LANG + 10)
+ #define IDM_LANG_PASCAL (IDM_LANG + 11)
+ #define IDM_LANG_PYTHON (IDM_LANG + 12)
+ #define IDM_LANG_PERL (IDM_LANG + 13)
+ #define IDM_LANG_OBJC (IDM_LANG + 14)
+ #define IDM_LANG_ASCII (IDM_LANG + 15)
+ #define IDM_LANG_TEXT (IDM_LANG + 16)
+ #define IDM_LANG_RC (IDM_LANG + 17)
+ #define IDM_LANG_MAKEFILE (IDM_LANG + 18)
+ #define IDM_LANG_INI (IDM_LANG + 19)
+ #define IDM_LANG_SQL (IDM_LANG + 20)
+ #define IDM_LANG_VB (IDM_LANG + 21)
+ #define IDM_LANG_BATCH (IDM_LANG + 22)
+ #define IDM_LANG_CS (IDM_LANG + 23)
+ #define IDM_LANG_LUA (IDM_LANG + 24)
+ #define IDM_LANG_TEX (IDM_LANG + 25)
+ #define IDM_LANG_FORTRAN (IDM_LANG + 26)
+ #define IDM_LANG_BASH (IDM_LANG + 27)
+ #define IDM_LANG_FLASH (IDM_LANG + 28)
+ #define IDM_LANG_NSIS (IDM_LANG + 29)
+ #define IDM_LANG_TCL (IDM_LANG + 30)
+ #define IDM_LANG_LISP (IDM_LANG + 31)
+ #define IDM_LANG_SCHEME (IDM_LANG + 32)
+ #define IDM_LANG_ASM (IDM_LANG + 33)
+ #define IDM_LANG_DIFF (IDM_LANG + 34)
+ #define IDM_LANG_PROPS (IDM_LANG + 35)
+ #define IDM_LANG_PS (IDM_LANG + 36)
+ #define IDM_LANG_RUBY (IDM_LANG + 37)
+ #define IDM_LANG_SMALLTALK (IDM_LANG + 38)
+ #define IDM_LANG_VHDL (IDM_LANG + 39)
+ #define IDM_LANG_CAML (IDM_LANG + 40)
+ #define IDM_LANG_KIX (IDM_LANG + 41)
+ #define IDM_LANG_ADA (IDM_LANG + 42)
+ #define IDM_LANG_VERILOG (IDM_LANG + 43)
+ #define IDM_LANG_AU3 (IDM_LANG + 44)
+ #define IDM_LANG_MATLAB (IDM_LANG + 45)
+ #define IDM_LANG_HASKELL (IDM_LANG + 46)
+ #define IDM_LANG_INNO (IDM_LANG + 47)
+ #define IDM_LANG_CMAKE (IDM_LANG + 48)
+ #define IDM_LANG_YAML (IDM_LANG + 49)
+ #define IDM_LANG_COBOL (IDM_LANG + 50)
+ #define IDM_LANG_D (IDM_LANG + 51)
+ #define IDM_LANG_GUI4CLI (IDM_LANG + 52)
+ #define IDM_LANG_POWERSHELL (IDM_LANG + 53)
+ #define IDM_LANG_R (IDM_LANG + 54)
+ #define IDM_LANG_JSP (IDM_LANG + 55)
+ #define IDM_LANG_COFFEESCRIPT (IDM_LANG + 56)
+ #define IDM_LANG_JSON (IDM_LANG + 57)
+ #define IDM_LANG_FORTRAN_77 (IDM_LANG + 58)
+ #define IDM_LANG_BAANC (IDM_LANG + 59)
+ #define IDM_LANG_SREC (IDM_LANG + 60)
+ #define IDM_LANG_IHEX (IDM_LANG + 61)
+ #define IDM_LANG_TEHEX (IDM_LANG + 62)
+ #define IDM_LANG_SWIFT (IDM_LANG + 63)
+ #define IDM_LANG_ASN1 (IDM_LANG + 64)
+ #define IDM_LANG_AVS (IDM_LANG + 65)
+ #define IDM_LANG_BLITZBASIC (IDM_LANG + 66)
+ #define IDM_LANG_PUREBASIC (IDM_LANG + 67)
+ #define IDM_LANG_FREEBASIC (IDM_LANG + 68)
+ #define IDM_LANG_CSOUND (IDM_LANG + 69)
+ #define IDM_LANG_ERLANG (IDM_LANG + 70)
+ #define IDM_LANG_ESCRIPT (IDM_LANG + 71)
+ #define IDM_LANG_FORTH (IDM_LANG + 72)
+ #define IDM_LANG_LATEX (IDM_LANG + 73)
+ #define IDM_LANG_MMIXAL (IDM_LANG + 74)
+ #define IDM_LANG_NIMROD (IDM_LANG + 75)
+ #define IDM_LANG_NNCRONTAB (IDM_LANG + 76)
+ #define IDM_LANG_OSCRIPT (IDM_LANG + 77)
+ #define IDM_LANG_REBOL (IDM_LANG + 78)
+ #define IDM_LANG_REGISTRY (IDM_LANG + 79)
+ #define IDM_LANG_RUST (IDM_LANG + 80)
+ #define IDM_LANG_SPICE (IDM_LANG + 81)
+ #define IDM_LANG_TXT2TAGS (IDM_LANG + 82)
+ #define IDM_LANG_VISUALPROLOG (IDM_LANG + 83)
+
+ #define IDM_LANG_EXTERNAL (IDM_LANG + 165)
+ #define IDM_LANG_EXTERNAL_LIMIT (IDM_LANG + 179)
+
+ #define IDM_LANG_USER (IDM_LANG + 180) //46180: Used for translation
+ #define IDM_LANG_USER_LIMIT (IDM_LANG + 210) //46210: Ajust with IDM_LANG_USER
+ #define IDM_LANG_USER_DLG (IDM_LANG + 250) //46250: Used for translation
+ #define IDM_LANG_OPENUDLDIR (IDM_LANG + 300)
+
+
+
+
+#define IDM_ABOUT (IDM + 7000)
+ #define IDM_HOMESWEETHOME (IDM_ABOUT + 1)
+ #define IDM_PROJECTPAGE (IDM_ABOUT + 2)
+ #define IDM_ONLINEDOCUMENT (IDM_ABOUT + 3)
+ #define IDM_FORUM (IDM_ABOUT + 4)
+ //#define IDM_PLUGINSHOME (IDM_ABOUT + 5)
+ #define IDM_UPDATE_NPP (IDM_ABOUT + 6)
+ #define IDM_WIKIFAQ (IDM_ABOUT + 7)
+ #define IDM_HELP (IDM_ABOUT + 8)
+ #define IDM_CONFUPDATERPROXY (IDM_ABOUT + 9)
+ #define IDM_CMDLINEARGUMENTS (IDM_ABOUT + 10)
+ #define IDM_ONLINESUPPORT (IDM_ABOUT + 11)
+ #define IDM_DEBUGINFO (IDM_ABOUT + 12)
+
+
+#define IDM_SETTING (IDM + 8000)
+// #define IDM_SETTING_TAB_SIZE (IDM_SETTING + 1)
+// #define IDM_SETTING_TAB_REPLCESPACE (IDM_SETTING + 2)
+// #define IDM_SETTING_HISTORY_SIZE (IDM_SETTING + 3)
+// #define IDM_SETTING_EDGE_SIZE (IDM_SETTING + 4)
+ #define IDM_SETTING_IMPORTPLUGIN (IDM_SETTING + 5)
+ #define IDM_SETTING_IMPORTSTYLETHEMS (IDM_SETTING + 6)
+ #define IDM_SETTING_TRAYICON (IDM_SETTING + 8)
+ #define IDM_SETTING_SHORTCUT_MAPPER (IDM_SETTING + 9)
+ #define IDM_SETTING_REMEMBER_LAST_SESSION (IDM_SETTING + 10)
+ #define IDM_SETTING_PREFERENCE (IDM_SETTING + 11)
+ #define IDM_SETTING_OPENPLUGINSDIR (IDM_SETTING + 14)
+ #define IDM_SETTING_PLUGINADM (IDM_SETTING + 15)
+ #define IDM_SETTING_SHORTCUT_MAPPER_MACRO (IDM_SETTING + 16)
+ #define IDM_SETTING_SHORTCUT_MAPPER_RUN (IDM_SETTING + 17)
+ #define IDM_SETTING_EDITCONTEXTMENU (IDM_SETTING + 18)
+
+#define IDM_TOOL (IDM + 8500)
+ #define IDM_TOOL_MD5_GENERATE (IDM_TOOL + 1)
+ #define IDM_TOOL_MD5_GENERATEFROMFILE (IDM_TOOL + 2)
+ #define IDM_TOOL_MD5_GENERATEINTOCLIPBOARD (IDM_TOOL + 3)
+ #define IDM_TOOL_SHA256_GENERATE (IDM_TOOL + 4)
+ #define IDM_TOOL_SHA256_GENERATEFROMFILE (IDM_TOOL + 5)
+ #define IDM_TOOL_SHA256_GENERATEINTOCLIPBOARD (IDM_TOOL + 6)
+
+#define IDM_EXECUTE (IDM + 9000)
+
+#define IDM_SYSTRAYPOPUP (IDM + 3100)
+ #define IDM_SYSTRAYPOPUP_ACTIVATE (IDM_SYSTRAYPOPUP + 1)
+ #define IDM_SYSTRAYPOPUP_NEWDOC (IDM_SYSTRAYPOPUP + 2)
+ #define IDM_SYSTRAYPOPUP_NEW_AND_PASTE (IDM_SYSTRAYPOPUP + 3)
+ #define IDM_SYSTRAYPOPUP_OPENFILE (IDM_SYSTRAYPOPUP + 4)
+ #define IDM_SYSTRAYPOPUP_CLOSE (IDM_SYSTRAYPOPUP + 5)
diff --git a/Plugin/StdAfx.cpp b/Plugin/StdAfx.cpp
index 28c7ed2..f5119b1 100644
--- a/Plugin/StdAfx.cpp
+++ b/Plugin/StdAfx.cpp
@@ -1,17 +1,17 @@
-/*
- Copyright (C) 2020 oZone
- 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 .
-*/
-
-#include "StdAfx.h"
+/*
+ Copyright (C) 2020 oZone
+ 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 .
+*/
+
+#include "StdAfx.h"
diff --git a/Plugin/StdAfx.h b/Plugin/StdAfx.h
index d991f5f..d376f97 100644
--- a/Plugin/StdAfx.h
+++ b/Plugin/StdAfx.h
@@ -1,33 +1,33 @@
-/*
- Copyright (C) 2020 oZone
- 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 .
-*/
-
-#pragma once
-
-// WinAPI
-#include
-
-#include
-#include
-#include
-
-// Npp API
-#include ".\Npp\menuCmdID.h"
-#include ".\Npp\PluginInterface.h"
-
-#define UNUSED(expr) \
- do { \
- (void)(expr); \
- } while (0)
+/*
+ Copyright (C) 2020 oZone
+ 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 .
+*/
+
+#pragma once
+
+// WinAPI
+#include
+
+#include
+#include
+#include
+
+// Npp API
+#include ".\Npp\menuCmdID.h"
+#include ".\Npp\PluginInterface.h"
+
+#define UNUSED(expr) \
+ do { \
+ (void)(expr); \
+ } while (0)
diff --git a/Plugin/version.h b/Plugin/version.h
index ab8a8ff..44a8853 100644
--- a/Plugin/version.h
+++ b/Plugin/version.h
@@ -1,25 +1,25 @@
-/*
- Copyright (C) 2020 oZone
- 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 .
-*/
-
-#pragma once
-
-#define VER_PLUGIN_NAME_STR "DarkNpp"
-#define VER_PLUGIN_MAJOR 0
-#define VER_PLUGIN_MINOR 1
-#define VER_PLUGIN_REVISION 0
-#define VER_PLUGIN_BUILD 0
-#define VER_PLUGIN_AUTHOR_STR "oZone"
-#define VER_PLUGIN_YEAR 2020
+/*
+ Copyright (C) 2020 oZone
+ 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 .
+*/
+
+#pragma once
+
+#define VER_PLUGIN_NAME_STR "DarkNpp"
+#define VER_PLUGIN_MAJOR 0
+#define VER_PLUGIN_MINOR 1
+#define VER_PLUGIN_REVISION 0
+#define VER_PLUGIN_BUILD 0
+#define VER_PLUGIN_AUTHOR_STR "oZone"
+#define VER_PLUGIN_YEAR 2020
diff --git a/PluginDarkNpp.sln b/PluginDarkNpp.sln
index 3711d09..5d3a29f 100644
--- a/PluginDarkNpp.sln
+++ b/PluginDarkNpp.sln
@@ -1,37 +1,37 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 16
-VisualStudioVersion = 16.0.30011.22
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DarkNpp", "vs.proj\PluginDarkNpp.vcxproj", "{9D04DBD5-E12E-44E0-A683-6F43F21D533B}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- ReleaseMD|Win32 = ReleaseMD|Win32
- ReleaseMD|x64 = ReleaseMD|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.Debug|Win32.ActiveCfg = Debug|Win32
- {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.Debug|Win32.Build.0 = Debug|Win32
- {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.Debug|x64.ActiveCfg = Debug|x64
- {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.Debug|x64.Build.0 = Debug|x64
- {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.Release|Win32.ActiveCfg = Release|Win32
- {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.Release|Win32.Build.0 = Release|Win32
- {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.Release|x64.ActiveCfg = Release|x64
- {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.Release|x64.Build.0 = Release|x64
- {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.ReleaseMD|Win32.ActiveCfg = ReleaseMD|Win32
- {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.ReleaseMD|Win32.Build.0 = ReleaseMD|Win32
- {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.ReleaseMD|x64.ActiveCfg = ReleaseMD|x64
- {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.ReleaseMD|x64.Build.0 = ReleaseMD|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {C09AADBD-2FEC-4A21-A86A-18E931F8C5CB}
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.30011.22
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DarkNpp", "vs.proj\PluginDarkNpp.vcxproj", "{9D04DBD5-E12E-44E0-A683-6F43F21D533B}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ ReleaseMD|Win32 = ReleaseMD|Win32
+ ReleaseMD|x64 = ReleaseMD|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.Debug|Win32.Build.0 = Debug|Win32
+ {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.Debug|x64.ActiveCfg = Debug|x64
+ {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.Debug|x64.Build.0 = Debug|x64
+ {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.Release|Win32.ActiveCfg = Release|Win32
+ {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.Release|Win32.Build.0 = Release|Win32
+ {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.Release|x64.ActiveCfg = Release|x64
+ {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.Release|x64.Build.0 = Release|x64
+ {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.ReleaseMD|Win32.ActiveCfg = ReleaseMD|Win32
+ {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.ReleaseMD|Win32.Build.0 = ReleaseMD|Win32
+ {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.ReleaseMD|x64.ActiveCfg = ReleaseMD|x64
+ {9D04DBD5-E12E-44E0-A683-6F43F21D533B}.ReleaseMD|x64.Build.0 = ReleaseMD|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {C09AADBD-2FEC-4A21-A86A-18E931F8C5CB}
+ EndGlobalSection
+EndGlobal
diff --git a/README.md b/README.md
index 4c93481..34cafa8 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
-# Npp-DarkNpp
-[![Latest release](https://img.shields.io/github/v/release/ozone10/Npp-DarkNpp?include_prereleases)](https://github.com/ozone10/Npp-DarkNpp/releases/latest)
-[![Total downloads](https://img.shields.io/github/downloads/ozone10/Npp-DarkNpp/total.svg)](https://github.com/ozone10/Npp-DarkNpp/releases)
-[![Licence](https://img.shields.io/github/license/ozone10/Npp-DarkNpp?color=9cf)](https://www.gnu.org/licenses/gpl-3.0.en.html)
-
-Notepad++ plugin that allows to use partially dark theme on Notepad++.
-
-This is for testing purposes only.
+# Npp-DarkNpp
+[![Latest release](https://img.shields.io/github/v/release/ozone10/Npp-DarkNpp?include_prereleases)](https://github.com/ozone10/Npp-DarkNpp/releases/latest)
+[![Total downloads](https://img.shields.io/github/downloads/ozone10/Npp-DarkNpp/total.svg)](https://github.com/ozone10/Npp-DarkNpp/releases)
+[![Licence](https://img.shields.io/github/license/ozone10/Npp-DarkNpp?color=9cf)](https://www.gnu.org/licenses/gpl-3.0.en.html)
+
+Notepad++ plugin that allows to use partially dark theme on Notepad++.
+
+This is for testing purposes only.
diff --git a/VS/NppPlugin.Cpp.Default.props b/VS/NppPlugin.Cpp.Default.props
index 2f5a77f..50c2604 100644
--- a/VS/NppPlugin.Cpp.Default.props
+++ b/VS/NppPlugin.Cpp.Default.props
@@ -1,39 +1,39 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- ReleaseMD
- Win32
-
-
- ReleaseMD
- x64
-
-
-
-
- false
- $(ProjectName)
- DynamicLibrary
- 10.0
- v142
- Unicode
- Spectre
-
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+ ReleaseMD
+ Win32
+
+
+ ReleaseMD
+ x64
+
+
+
+
+ false
+ $(ProjectName)
+ DynamicLibrary
+ 10.0
+ v142
+ Unicode
+ Spectre
+
\ No newline at end of file
diff --git a/VS/NppPlugin.Cpp.props b/VS/NppPlugin.Cpp.props
index d46d741..d1fe8ed 100644
--- a/VS/NppPlugin.Cpp.props
+++ b/VS/NppPlugin.Cpp.props
@@ -1,134 +1,134 @@
-
-
-
- true
- true
-
-
- false
- true
- false
-
-
- false
- true
- false
-
-
-
-
- %(AdditionalOptions)
- stdcpp17
- Level4
- true
- true
- WIN32;_WINDOWS;_USRDLL;STRICT_TYPED_ITEMIDS;NOMINMAX;WIN32_LEAN_AND_MEAN;VC_EXTRALEAN;SUPPORT_UTF8;NPPPLUGINTEMPLATE_EXPORTS;%(PreprocessorDefinitions);PROJECT_NAME="$(ProjectName)"
- NotUsing
-
-
- Windows
- $(OutDir)$(TargetName).pgd
- false
- /CETCOMPAT %(AdditionalOptions)
-
-
- 0x0409
-
-
- RD /S /Q "$(OutDir)"
-
-
-
-
-
- Disabled
- MultiThreadedDebug
- _DEBUG;%(PreprocessorDefinitions)"
- EnableFastChecks
-
-
- DebugFastLink
-
-
-
-
-
- true
- NDEBUG;%(PreprocessorDefinitions)"
- MaxSpeed
- true
- true
- MultiThreaded
- Guard
- true
- true
- Speed
- /Gw %(AdditionalOptions)
- true
- true
-
-
- UseLinkTimeCodeGeneration
- false
- true
- .rdata=.text
- true
-
-
-
-
-
- true
- NDEBUG;%(PreprocessorDefinitions)"
- MaxSpeed
- true
- true
- MultiThreadedDLL
- Guard
- true
- true
- Speed
- /Gw %(AdditionalOptions)
- true
- true
-
-
- UseLinkTimeCodeGeneration
- false
- true
- .rdata=.text
- true
-
-
-
-
-
- %(AdditionalDependencies)
-
-
- MachineX86
-
-
- StreamingSIMDExtensions
-
-
-
-
-
- %(AdditionalDependencies)
-
-
- MachineX64
-
-
- _WIN64;%(PreprocessorDefinitions)
-
-
-
-
-
- NotUsing
-
-
-
+
+
+
+ true
+ true
+
+
+ false
+ true
+ false
+
+
+ false
+ true
+ false
+
+
+
+
+ %(AdditionalOptions)
+ stdcpp17
+ Level4
+ true
+ true
+ WIN32;_WINDOWS;_USRDLL;STRICT_TYPED_ITEMIDS;NOMINMAX;WIN32_LEAN_AND_MEAN;VC_EXTRALEAN;SUPPORT_UTF8;NPPPLUGINTEMPLATE_EXPORTS;%(PreprocessorDefinitions);PROJECT_NAME="$(ProjectName)"
+ NotUsing
+
+
+ Windows
+ $(OutDir)$(TargetName).pgd
+ false
+ /CETCOMPAT %(AdditionalOptions)
+
+
+ 0x0409
+
+
+ RD /S /Q "$(OutDir)"
+
+
+
+
+
+ Disabled
+ MultiThreadedDebug
+ _DEBUG;%(PreprocessorDefinitions)"
+ EnableFastChecks
+
+
+ DebugFastLink
+
+
+
+
+
+ true
+ NDEBUG;%(PreprocessorDefinitions)"
+ MaxSpeed
+ true
+ true
+ MultiThreaded
+ Guard
+ true
+ true
+ Speed
+ /Gw %(AdditionalOptions)
+ true
+ true
+
+
+ UseLinkTimeCodeGeneration
+ false
+ true
+ .rdata=.text
+ true
+
+
+
+
+
+ true
+ NDEBUG;%(PreprocessorDefinitions)"
+ MaxSpeed
+ true
+ true
+ MultiThreadedDLL
+ Guard
+ true
+ true
+ Speed
+ /Gw %(AdditionalOptions)
+ true
+ true
+
+
+ UseLinkTimeCodeGeneration
+ false
+ true
+ .rdata=.text
+ true
+
+
+
+
+
+ %(AdditionalDependencies)
+
+
+ MachineX86
+
+
+ StreamingSIMDExtensions
+
+
+
+
+
+ %(AdditionalDependencies)
+
+
+ MachineX64
+
+
+ _WIN64;%(PreprocessorDefinitions)
+
+
+
+
+
+ NotUsing
+
+
+
\ No newline at end of file
diff --git a/build.bat b/build.bat
index 2c560d8..56e34ed 100644
--- a/build.bat
+++ b/build.bat
@@ -1,23 +1,23 @@
-@echo off
-@echo Choose Visual Studio 2019 Edition (after 5s will default to (2) Enterprise):
-::https://help.github.com/en/actions/automating-your-workflow-with-github-actions/software-installed-on-github-hosted-runners#visual-studio-2019-enterprise
-::This is because I am poor.
-:Reset
-@echo (1) Community
-@echo (2) Enterprise
-@echo (3) Reset Timer
-@choice /c:123 /t:5 /d:2
-if errorlevel 3 goto Reset
-if errorlevel 2 goto Enterprise
-if errorlevel 1 goto Community
-:Enterprise
-set Edition=Enterprise
-goto Continue
-:Community
-set Edition=Community
-goto Continue
-:Continue
-call "C:\Program Files (x86)\Microsoft Visual Studio\2019\%Edition%\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64
-set solutionsFile=".\PluginDarkNpp.sln"
-msbuild -m /t:build /p:Configuration=Release;Platform=x64 %solutionsFile%
+@echo off
+@echo Choose Visual Studio 2019 Edition (after 5s will default to (2) Enterprise):
+::https://help.github.com/en/actions/automating-your-workflow-with-github-actions/software-installed-on-github-hosted-runners#visual-studio-2019-enterprise
+::This is because I am poor.
+:Reset
+@echo (1) Community
+@echo (2) Enterprise
+@echo (3) Reset Timer
+@choice /c:123 /t:5 /d:2
+if errorlevel 3 goto Reset
+if errorlevel 2 goto Enterprise
+if errorlevel 1 goto Community
+:Enterprise
+set Edition=Enterprise
+goto Continue
+:Community
+set Edition=Community
+goto Continue
+:Continue
+call "C:\Program Files (x86)\Microsoft Visual Studio\2019\%Edition%\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64
+set solutionsFile=".\PluginDarkNpp.sln"
+msbuild -m /t:build /p:Configuration=Release;Platform=x64 %solutionsFile%
msbuild -m /t:build /p:Configuration=Release;Platform=Win32 %solutionsFile%
\ No newline at end of file
diff --git a/vs.proj/PluginDarkNpp.vcxproj b/vs.proj/PluginDarkNpp.vcxproj
index c308b6e..1345e85 100644
--- a/vs.proj/PluginDarkNpp.vcxproj
+++ b/vs.proj/PluginDarkNpp.vcxproj
@@ -1,108 +1,108 @@
-
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- ReleaseMD
- Win32
-
-
- ReleaseMD
- x64
-
-
-
- {9D04DBD5-E12E-44E0-A683-6F43F21D533B}
- Win32Proj
- DarkNpp
- DarkNpp
-
-
-
-
-
-
-
-
-
-
- $(SolutionDir)Build\$(ProjectName)\$(PlatformTarget)-$(Configuration)\
- $(SolutionDir)Build\$(ProjectName)\Obj\$(PlatformTarget)-$(Configuration)\
-
-
- $(SolutionDir)Build\$(ProjectName)\$(PlatformTarget)-$(Configuration)\
- $(SolutionDir)Build\$(ProjectName)\Obj\$(PlatformTarget)-$(Configuration)\
-
-
- $(SolutionDir)Build\$(ProjectName)\$(PlatformTarget)-$(Configuration)\
- $(SolutionDir)Build\$(ProjectName)\Obj\$(PlatformTarget)-$(Configuration)\
-
-
- $(SolutionDir)Build\$(ProjectName)\$(PlatformTarget)-$(Configuration)\
- $(SolutionDir)Build\$(ProjectName)\Obj\$(PlatformTarget)-$(Configuration)\
-
-
- $(SolutionDir)Build\$(ProjectName)\$(PlatformTarget)-$(Configuration)\
- $(SolutionDir)Build\$(ProjectName)\Obj\$(PlatformTarget)-$(Configuration)\
-
-
- $(SolutionDir)Build\$(ProjectName)\$(PlatformTarget)-$(Configuration)\
- $(SolutionDir)Build\$(ProjectName)\Obj\$(PlatformTarget)-$(Configuration)\
-
-
-
- shlwapi.lib;uxtheme.lib;%(AdditionalDependencies)
-
-
-
-
- shlwapi.lib;uxtheme.lib;%(AdditionalDependencies)
-
-
-
-
- shlwapi.lib;uxtheme.lib;%(AdditionalDependencies)
-
-
-
-
- shlwapi.lib;uxtheme.lib;%(AdditionalDependencies)
-
-
-
-
- shlwapi.lib;uxtheme.lib;%(AdditionalDependencies)
-
-
-
-
- shlwapi.lib;uxtheme.lib;%(AdditionalDependencies)
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+ ReleaseMD
+ Win32
+
+
+ ReleaseMD
+ x64
+
+
+
+ {9D04DBD5-E12E-44E0-A683-6F43F21D533B}
+ Win32Proj
+ DarkNpp
+ DarkNpp
+
+
+
+
+
+
+
+
+
+
+ $(SolutionDir)Build\$(ProjectName)\$(PlatformTarget)-$(Configuration)\
+ $(SolutionDir)Build\$(ProjectName)\Obj\$(PlatformTarget)-$(Configuration)\
+
+
+ $(SolutionDir)Build\$(ProjectName)\$(PlatformTarget)-$(Configuration)\
+ $(SolutionDir)Build\$(ProjectName)\Obj\$(PlatformTarget)-$(Configuration)\
+
+
+ $(SolutionDir)Build\$(ProjectName)\$(PlatformTarget)-$(Configuration)\
+ $(SolutionDir)Build\$(ProjectName)\Obj\$(PlatformTarget)-$(Configuration)\
+
+
+ $(SolutionDir)Build\$(ProjectName)\$(PlatformTarget)-$(Configuration)\
+ $(SolutionDir)Build\$(ProjectName)\Obj\$(PlatformTarget)-$(Configuration)\
+
+
+ $(SolutionDir)Build\$(ProjectName)\$(PlatformTarget)-$(Configuration)\
+ $(SolutionDir)Build\$(ProjectName)\Obj\$(PlatformTarget)-$(Configuration)\
+
+
+ $(SolutionDir)Build\$(ProjectName)\$(PlatformTarget)-$(Configuration)\
+ $(SolutionDir)Build\$(ProjectName)\Obj\$(PlatformTarget)-$(Configuration)\
+
+
+
+ shlwapi.lib;uxtheme.lib;%(AdditionalDependencies)
+
+
+
+
+ shlwapi.lib;uxtheme.lib;%(AdditionalDependencies)
+
+
+
+
+ shlwapi.lib;uxtheme.lib;%(AdditionalDependencies)
+
+
+
+
+ shlwapi.lib;uxtheme.lib;%(AdditionalDependencies)
+
+
+
+
+ shlwapi.lib;uxtheme.lib;%(AdditionalDependencies)
+
+
+
+
+ shlwapi.lib;uxtheme.lib;%(AdditionalDependencies)
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vs.proj/PluginDarkNpp.vcxproj.filters b/vs.proj/PluginDarkNpp.vcxproj.filters
index 47701a3..f4d5972 100644
--- a/vs.proj/PluginDarkNpp.vcxproj.filters
+++ b/vs.proj/PluginDarkNpp.vcxproj.filters
@@ -1,41 +1,41 @@
-
-
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- {03cfd021-7ee0-4e37-a77d-c79850c295b5}
-
-
- {ba4683d3-05f8-4c20-8d44-733465a0cf5d}
-
-
- {c89686b8-d27b-4453-ac9a-54f25d8255d3}
-
-
-
-
- Resource Files
-
-
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+
+
+ {03cfd021-7ee0-4e37-a77d-c79850c295b5}
+
+
+ {ba4683d3-05f8-4c20-8d44-733465a0cf5d}
+
+
+ {c89686b8-d27b-4453-ac9a-54f25d8255d3}
+
+
+
+
+ Resource Files
+
+
\ No newline at end of file