v4.2 ready

git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository@1 f5eea248-9336-0410-98b8-ebc06183d4e3
This commit is contained in:
donho 2007-08-07 00:55:50 +00:00
commit ec7b0c2da9
601 changed files with 224757 additions and 0 deletions

View File

@ -0,0 +1,93 @@
// this is a comment
// File structure:
//
// GROUP "Group Name" - language group (Russian, Polish etc.)
// TABLE "Table Name" - encoding table in this group (cp1251 etc.)
// {
// <hex data> - hex values of your alphabet's symbols
// according to the encoding (codepage)
// }
//
// modify this file as you need
// EXAMPLE:
GROUP "Russian..."
// first TABLE of the GROUP describes
// default (WINDOWS) encoding
// TABLE "cp1251"
{
E0 E1 E2 E3 E4 E5 B8 E6 E7 E8 // 'a' ...
E9 EA EB EC ED EE EF F0 F1 F2
F3 F4 F5 F6 F7 F8 F9 FA FB FC
FD FE FF BA BF // + ukrainian [ye:] and [yi:]
C0 C1 C2 C3 C4 C5 A8 C6 C7 C8 // 'A' ...
C9 CA CB CC CD CE CF D0 D1 D2
D3 D4 D5 D6 D7 D8 D9 DA DB DC
DD DE DF AA AF // + ukrainian [Ye:] and [Yi:]
}
// second, third etc. TABLE of the GROUP describes
// additional encodings particular to the GROUP
// (to your language/alphabet)
// TABLE "cp866"
{
A0 A1 A2 A3 A4 A5 F1 A6 A7 A8 // 'a' ...
A9 AA AB AC AD AE AF E0 E1 E2
E3 E4 E5 E6 E7 E8 E9 EA EB EC
ED EE EF F3 F5 // + ukrainian [ye:] and [yi:]
80 81 82 83 84 85 F0 86 87 88 // 'A' ...
89 8A 8B 8C 8D 8E 8F 90 91 92
93 94 95 96 97 98 99 9A 9B 9C
9D 9E 9F F2 F4 // + ukrainian [Ye:] and [Yi:]
}
// TABLE "iso8859-5"
{
D0 D1 D2 D3 D4 D5 F1 D6 D7 D8 // 'a' ...
D9 DA DB DC DD DE DF E0 E1 E2
E3 E4 E5 E6 E7 E8 E9 EA EB EC
ED EE EF F3 F4 // + ukrainian [ye:] and [yi:]
B0 B1 B2 B3 B4 B5 A1 B6 B7 B8 // 'A' ...
B9 BA BB BC BD BE BF C0 C1 C2
C3 C4 C5 C6 C7 C8 C9 CA CB CC
CD CE CF A3 A4 // + ukrainian [Ye:] and [Yi:]
}
TABLE "Default"
{
"àáâãäå¸æçèéêëìíîïðñòóôõö÷øùúûüýþÿ"
"ÀÁÂÃÄŨÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß"
"1234567890"
}
TABLE "Reversed"
{
"ÿþýüûúùø÷öõôóòñðïîíìëêéèçæ¸åäãâáà"
"ßÞÝÜÛÚÙØ×ÖÕÔÓÒÑÐÏÎÍÌËÊÉÈÇƨÅÄÃÂÁÀ"
"0987654321"
}
GROUP "Latin..."
TABLE "Default" // original latin alphabet
{
"abcdefghijklmnopqrstuvwxyz"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"1234567890"
}
TABLE "Reversed" // latin alphabet in a reverse order
{
"zyxwvutsrqponmlkjihgfedcba"
"ZYXWVUTSRQPONMLKJIHGFEDCBA"
"0987654321"
}

View File

@ -0,0 +1,2 @@
[Options]
plug_f=0000

View File

@ -0,0 +1,14 @@
[Symbols]
;default symbols (english)
SymbL0=`1234567890-=\qwertyuiop[]asdfghjkl;'zxcvbnm,./
SymbH0=~!@#$%^&*()_+|QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>?
;alternative symbols 1 (user_1) (F9)
SymbL1=¸1234567890-=\éöóêåíãøùçõúôûâàïðîëäæýÿ÷ñìèòüáþ.
SymbH1=¨!"¹;%:?*()_+/ÉÖÓÊÅÍÃØÙÇÕÚÔÛÂÀÏÐÎËÄÆÝß×ÑÌÈÒÜÁÞ,
;alternative symbols 2 (user_2) (Alt+F9)
SymbL2='1234567890-=\éöóêåíãøùçõ¿ôiâàïðîëäæºÿ÷ñìèòüáþ.
SymbH2='!"¹;%:?*()_+/ÉÖÓÊÅÍÃØÙÇÕ¯ÔIÂÀÏÐÎËÄƪß×ÑÌÈÒÜÁÞ,

Binary file not shown.

View File

@ -0,0 +1,88 @@
[2]
case=case $: $\n$
def=#define $\n$
default=default $: $\n$
dowhile=do\n{\n $\n}\nwhile ($);\n$
dowhiles=do\n $\nwhile ($);\n$
else=else\n{\n $\n}\n$
elseif=else if ($)\n{\n $\n}\n$
elseifs=else if ($)\n $\n$
elses=else\n $\n$
for=for ($;$;$)\n{\n $\n}\n$
fors=for ($;$;$)\n $\n$
func=$ $($)\n{\n $\n return $;\n}\n$
if=if ($)\n{\n $\n}\n$
ifelse=if ($)\n{\n $\n}\nelse\n{\n $\n}\n$
ifelses=if ($)\n{\n $\n}\nelse\n $\n$
ifs=if ($)\n $\n$
ifselse=if ($)\n $\nelse\n{\n $\n}\n$
ifselses=if ($)\n $\nelse\n $\n$
inc=#include <$>\n$
incl=#include "$"\n$
main=int main(int argc, char* argv[])\n{\n $\n}\n
switch=switch ($)\n{\n $\n}\n$
while=while ($)\n{\n $\n}\n$
whiles=while ($)\n $\n$
[3]
case=case $: $\n$
class=class $ {\nprivate:\n $\nprotected:\n $\npublic:\n $\n};\n$
def=#define $\n$
default=default $: $\n$
dowhile=do\n{\n $\n}\nwhile ($);\n$
dowhiles=do\n $\nwhile ($);\n$
else=else\n{\n $\n}\n$
elseif=else if ($)\n{\n $\n}\n$
elseifs=else if ($)\n $\n$
elses=else\n $\n$
for=for ($;$;$)\n{\n $\n}\n$
fors=for ($;$;$)\n $\n$
func=$ $($)\n{\n $\n return $;\n}\n$
hclass=#ifndef $\n#define $\n\nclass $ {\nprivate:\n $\nprotected:\n $\npublic:\n $\n};\n\n#endif\n$
if=if ($)\n{\n $\n}\n$
ifelse=if ($)\n{\n $\n}\nelse\n{\n $\n}\n$
ifelses=if ($)\n{\n $\n}\nelse\n $\n$
ifs=if ($)\n $\n$
ifselse=if ($)\n $\nelse\n{\n $\n}\n$
ifselses=if ($)\n $\nelse\n $\n$
inc=#include <$>\n$
incl=#include "$"\n$
main=int main(int argc, char* argv[])\n{\n $\n}\n
switch=switch ($)\n{\n $\n}\n$
while=while ($)\n{\n $\n}\n$
whiles=while ($)\n $\n$
[8]
b=<b>$</b>$
black=#000000
blue=#0000FF
body=<body>\n $\n</body>\n$
comment=<!-- $ -->\n$
cyan=#00FFFF
form=<form name="$" action="$">\n $\n</form>\n$
green=#00FF00
grey=#C0C0C0
h1=<h1>$</h1>\n$
h2=<h2>$</h2>\n$
h3=<h3>$</h3>\n$
h4=<h4>$</h4>\n$
h5=<h5>$</h5>\n$
h6=<h6>$</h6>\n$
head=<head>\n $\n</head>\n$
html=<html>\n <head>\n <title>$</title>\n $\n </head>\n <body>\n $\n </body>\n</html>\n$
i=<i>$</i>$
img=<img src="$" alt="$" />\n$
input=<input type="$" name="$" />\n$
li=<li>$</li>\n$
link=<a href="$">$</a>$
mangenta=#FF00FF
ol=<ol>\n <li>$</li>\n $\n</ol>\n$
p=<p>$</p>\n$
pre=<pre>$</pre>\n$
red=#FF0000
span=<span>$</span>$
table=<table>\n <tr>\n <td>$</td>\n $\n </tr>\n $\n</table>\n$
td=<td>$</td>\n$
title=<title>$</title>\n$
tr=<tr>\n $\n</tr>\n$
ul=<ul>\n <li>$</li>\n $\n</ul>\n$
white=#FFFFFF
yellow=#FFFF00

Binary file not shown.

View File

@ -0,0 +1,20 @@
v4.2 fixed bugs and added features (from v4.1.2) :
1. Fix the dockable dialog drag and drop problem under vista.
2. Add Column mode edition feature (Menu "Edit->Column Editor...").
3. Fixed "To UPPER/lower case" bug in column mode.
4. Fix the display bug in User language define dialog.
5. Add new feature which backups files in a user specific directory.
Plugins included in v4.2 :
1. TexFX v0.24a
2. Function list v1.2
3. ConvertExt v1.1
4. NppExec v0.2 beta 3
5. Spell checker v1.1
6. Quick text v0.02
7. Explorer v1.4
8. Hex editor v0.84

View File

@ -0,0 +1,77 @@
<?xml version="1.0" encoding="Windows-1252" ?>
<NotepadPlus>
<GUIConfigs>
<!-- 3 status : "large", "small" or "hide"-->
<GUIConfig name="ToolBar">standard</GUIConfig>
<!-- 2 status : "show" or "hide"-->
<GUIConfig name="StatusBar">show</GUIConfig>
<!-- For all attributs, 2 status : "yes" or "no"-->
<GUIConfig name="TabBar" dragAndDrop="yes" drawTopBar="yes" drawInactiveTab="yes" reduce="yes" />
<!-- 2 positions : "horizontal" or "vertical"-->
<GUIConfig name="ScintillaViewsSplitter">vertical</GUIConfig>
<!-- For the attribut of position, 2 status : docked or undocked ; 2 status : "show" or "hide" -->
<GUIConfig name="UserDefineDlg" position="docked">hide</GUIConfig>
<GUIConfig name="TabSetting" size="4" replaceBySpace="no" />
<!--App position-->
<GUIConfig name="AppPosition" x="195" y="104" width="1033" height="834" isMaximized="yes"/>
<!-- For the primary scintilla view,
2 status for Attribut lineNumberMargin, bookMarkMargin, indentGuideLine and currentLineHilitingShow: "show" or "hide"
4 status for Attribut folderMarkStyle : "simple", "arrow", "circle" and "box" -->
<GUIConfig name="ScintillaPrimaryView" lineNumberMargin="show" bookMarkMargin="show" folderMarkStyle="box" indentGuideLine="show" currentLineHilitingShow="show" Wrap="no" edge="no" edgeNbColumn="100" />
<!-- For the secodary scintilla view,
2 status for Attribut lineNumberMargin, bookMarkMargin, indentGuideLine and currentLineHilitingShow: "show" or "hide"
4 status for Attribut folderMarkStyle : "simple", "arrow", "circle" and "box" -->
<GUIConfig name="ScintillaSecondaryView" lineNumberMargin="show" bookMarkMargin="show" folderMarkStyle="box" indentGuideLine="show" currentLineHilitingShow="show" Wrap="yes" edge="no" edgeNbColumn="80" />
<GUIConfig name="Auto-detection">yes</GUIConfig>
<GUIConfig name="CheckHistoryFiles">no</GUIConfig>
<GUIConfig name="TrayIcon">no</GUIConfig>
<GUIConfig name="RememberLastSession">yes</GUIConfig>
<!--
New Document default settings :
format = 0/1/2 -> win/unix/mac
encoding = 0/1/2/3/4/5 -> ANSI/UCS2Big/UCS2small/UTF8/UTF8-BOM
defaultLang = 0/1/2/..
Note 1 : UTF8-BOM -> UTF8 without BOM
Note 2 : for defaultLang :
0 -> L_TXT
1 -> L_PHP
... (see source file)
-->
<GUIConfig name="NewDocDefaultSettings" format="0" encoding="0" lang="0"/>
<GUIConfig name="langsExcluded" gr0="" gr1="" gr2="" gr3="" gr4=""/>
<!--
printOption is print colour setting, the following values are possible :
0 : WYSIWYG
1 : Invert colour
2 : B & W
3 : WYSIWYG but without background colour
-->
<GUIConfig name="Print" lineNumber="no" printOption="0" headerLeft="$(FULL_CURRENT_PATH)" headerMiddle="" headerRight="$(LONG_DATE) $(TIME)" headerFontName="IBMPC" headerFontStyle="1" headerFontSize="8" footerLeft="" footerMiddle="-$(CURRENT_PRINTING_PAGE)-" footerRight="" footerFontName="" footerFontStyle="0" footerFontSize="9" margeLeft="0" margeTop="0" margeRight="0" margeBottom="0" />
<!--
Backup Setting :
0 : non backup
1 : simple backup
2 : verbose backup
-->
<GUIConfig name="Backup" action="0" />
<GUIConfig name="TaskList">yes</GUIConfig>
<GUIConfig name="SaveOpenFileInSameDir">no</GUIConfig>
<!--
value 0 for the folloing parameters means invisible :
leftWidth, topHight, rightWidth, bottomHight
position value for the PluginDlg:
0 : left
1 : right
2 : top
3 : bottom
>= 4 : undocked -> FloatingWindow id
-->
</GUIConfigs>
<!-- The History of opened files list -->
<History nbMaxFile="15"/>
</NotepadPlus>

View File

@ -0,0 +1,17 @@
<NotepadPlus>
<ScintillaContextMenu>
<Item id="42001"/>
<Item id="42002"/>
<Item id="42005"/>
<Item id="42006"/>
<Item id="0"/>
<Item id="43016"/>
<Item id="43017"/>
<Item id="0"/>
<Item id="42016"/>
<Item id="42017"/>
<Item id="0"/>
<Item id="42022"/>
<Item id="42023"/>
</ScintillaContextMenu>
</NotepadPlus>

View File

View File

@ -0,0 +1,6 @@
[Function List]
Show all functions=0
Sort by names=0
showCmd=0
[User Languages]
Count User Languages=0

247
PowerEditor/bin/langs.xml Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,88 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) 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 this service 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 make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. 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.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
1. You may copy and distribute 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 and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), 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 distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions of the 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 a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE 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.
END OF TERMS AND CONDITIONS

Binary file not shown.

Binary file not shown.

BIN
PowerEditor/bin/nppcm.dll Normal file

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,682 @@
#define
#elif
#else
#endif
#error
#if
#ifdef
#ifndef
#include
#line
#pragma
#undef
FP_OFF
FP_SEG
MK_FP
_OvrInitEms
_OvrInitExt
__asm
__based1
__cdecl
__declspec
__emit__
__except
__fastcall
__finally
__inline
__int16
__int32
__int64
__int8
__leave
__multiple_inheritance
__single_inheritance
__stdcall
__try
__virtual_inheritance
_atold
_bios_disk
_bios_equiplist
_bios_keybrd
_bios_memsize
_bios_printer
_bios_serialcom
_bios_timeofday
_c_exit
_cexit
_chain_intr
_chdrive
_chmod
_clear87
_close
_control87
_creat
_disable
_dos_allocmem
_dos_close
_dos_creat
_dos_creatnew
_dos_findfirst
_dos_findnext
_dos_freemem
_dos_getdate
_dos_getdiskfree
_dos_getdrive
_dos_getfileattr
_dos_getftime
_dos_gettime
_dos_getvect
_dos_keep
_dos_open
_dos_read
_dos_setblock
_dos_setdate
_dos_setdrive
_dos_setfileattr
_dos_setftime
_dos_settime
_dos_setvect
_dos_write
_enable
_exit
_fmemccpy
_fmemchr
_fmemcmp
_fmemcpy
_fmemicmp
_fmemset
_fpreset
_fsopen
_fstrcat
_fstrchr
_fstrcmp
_fstrcpy
_fstrcspn
_fstrdup
_fstricmp
_fstrlen
_fstrlwr
_fstrncat
_fstrncmp
_fstrncpy
_fstrnicmp
_fstrnset
_fstrpbrk
_fstrrchr
_fstrrev
_fstrset
_fstrspn
_fstrstr
_fstrtok
_fstrupr
_fullpath
_getdcwd
_getdrive
_graphfreemem
_graphgetmem
_harderr
_hardresume
_hardretn
_lrotl
_lrotr
_makepath
_matherrl
_open
_read
_rotl
_rotr
_searchenv
_setcursortype
_splitpath
_status87
_strdate
_strerror
_strtime
_strtold
_tolower
_toupper
_write
abort
abs
absread
abswrite
access
acos
acosl
allocmem
arc
arg
asctime
asin
asinl
assert
atan
atan2
atan2l
atanl
atexit
atof
atoi
atol
auto
bar
bar3d
bcd
bdos
bdosptr
bioscom
biosdisk
biosequip
bioskey
biosmemory
biosprint
biostime
break
brk
bsearch
cabs
cabsl
calloc
case
ceil
ceill
cerr
cgets
char
chdir
chmod
chsize
cin
circle
cleardevice
clearerr
clearviewport
clock
close
closedir
closegraph
clreol
clrscr
complex
conj
const
continue
coreleft
cos
cosh
coshl
cosl
country
cprintf
cputs
creat
creatnew
creattemp
cscanf
ctime
ctrlbrk
default
delay
delline
detectgraph
difftime
disable
div
dllexport
dllexport2
dllimport
dllimport2
do
dosexterr
dostounix
double
drawpoly
dup
dup2
ecvt
ellipse
else
enable
enum
eof
execl
execle
execlp
execlpe
execv
execve
execvp
execvpe
exit
exp
expl
extern
fabs
fabsl
farcalloc
farcoreleft
farfree
farheapcheck
farheapcheckfree
farheapchecknode
farheapfillfree
farheapwalk
farmalloc
farrealloc
fclose
fcloseall
fcvt
fdopen
feof
ferror
fflush
fgetc
fgetchar
fgetpos
fgets
filelength
fileno
fillellipse
fillpoly
findfirst
findnext
float
floodfill
floor
floorl
flushall
fmod
fmodl
fnmerge
fnsplit
fopen
for
fprintf
fputc
fputchar
fputs
fread
free
freemem
freopen
frexp
frexpl
friend
fscanf
fseek
fsetpos
fstat
ftell
ftime
fwrite
gcvt
geninterrupt
getarccoords
getaspectratio
getbkcolor
getc
getcbrk
getch
getchar
getche
getcolor
getcurdir
getcwd
getdate
getdefaultpalette
getdfree
getdisk
getdrivername
getdta
getenv
getfat
getfatd
getfillpattern
getfillsettings
getftime
getgraphmode
getimage
getlinesettings
getmaxcolor
getmaxmode
getmaxx
getmaxy
getmodename
getmoderange
getpalette
getpalettesize
getpass
getpid
getpixel
getpsp
gets
gettext
gettextinfo
gettextsettings
gettime
getvect
getverify
getviewsettings
getw
getx
gety
gmtime
goto
gotoxy
graphdefaults
grapherrormsg
graphresult
harderr
hardresume
hardretn
heapcheck
heapcheckfree
heapchecknode
heapfillfree
heapwalk
highvideo
hypot
hypotl
if
imag
imagesize
initgraph
inp
inport
inportb
inpw
insline
installuserdriver
installuserfont
int
int86
int86x
intdos
intdosx
intr
ioctl
isalnum
isalpha
isascii
isatty
iscntrl
isdigit
isgraph
islower
isprint
ispunct
isspace
isupper
isxdigit
itoa
kbhit
keep
labs
ldexp
ldexpl
ldiv
lfind
line
linerel
lineto
localeconv
localtime
lock
locking
log
log10
log10l
logl
long
longjmp
lowvideo
lsearch
lseek
ltoa
malloc
matherr
max
mblen
mbstowcs
mbtowc
memccpy
memchr
memcmp
memcpy
memicmp
memmove
memset
min
mkdir
mktemp
mktime
modf
modfl
movedata
moverel
movetext
moveto
movmem
namespace
norm
normvideo
nosound
open
opendir
operator
outp
outport
outportb
outpw
outtext
outtextxy
parsfnm
peek
peekb
perror
pieslice
poke
pokeb
polar
poly
polyl
pow
pow10
pow10l
powl
printf
private
protected
public
putc
putch
putchar
putenv
putimage
putpixel
puts
puttext
putw
qsort
raise
rand
randbrd
randbwr
random
randomize
read
readdir
real
realloc
rectangle
register
registerbgidriver
registerbgifont
registerfarbgidriver
registerfarbgifont
remove
rename
restorecrtmode
return
rewind
rewinddir
rmdir
rmtmp
sbrk
scanf
searchpath
sector
segread
set_new_handler
setactivepage
setallpalette
setaspectratio
setbkcolor
setblock
setbuf
setcbrk
setcolor
setdate
setdisk
setdta
setfillpattern
setfillstyle
setftime
setgraphbufsize
setgraphmode
setjmp
setlinestyle
setlocale
setmem
setmode
setpalette
setrgbpalette
settextjustify
settextstyle
settime
setusercharsize
setvbuf
setvect
setverify
setviewport
setvisualpage
setwritemode
short
signal
signed
sin
sinh
sinhl
sinl
sizeof
sleep
sopen
sound
spawnl
spawnle
spawnlp
spawnlpe
spawnv
spawnve
spawnvp
spawnvpe
sprintf
sqrt
sqrtl
srand
sscanf
stackavail
stat
static
stime
stpcpy
strcat
strchr
strcmp
strcmpi
strcoll
strcpy
strcspn
strdup
strerror
strftime
stricmp
strlen
strlwr
strncat
strncmp
strncmpi
strncpy
strnicmp
strnset
strpbrk
strrchr
strrev
strset
strspn
strstr
strtod
strtok
strtol
strtoul
struct
strupr
strxfrm
swab
switch
system
tan
tanh
tanhl
tanl
tell
template
tempnam
textattr
textbackground
textcolor
textheight
textmode
textwidth
thread
thread2
time
tmpfile
tmpnam
toascii
tolower
toupper
try
typedef
tzset
ultoa
umask
ungetc
ungetch
union
unixtodos
unlink
unlock
unsigned
using
utime
va_arg
va_end
va_list
va_start
vfprintf
vfscanf
virtual
void
volatile
vprintf
vscanf
vsprintf
vsscanf
wcstombs
wctomb
wherex
wherey
while
window
write

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,228 @@
abstract
as
base
bool
break
byte
byte
case
catch
char
checked
class
Comparer
Console
Console.Write(
Console.WriteLine(
const
continue
DateTime
decimal
default
Delegate
delegate
Dictionary
Dictionary.Enumerator
Dictionary.KeyCollection
Dictionary.KeyCollection.Enumerator
Dictionary.ValueCollection
Dictionary.ValueCollection.Enumerator
do
double
double
else
enum
EqualityComparer
event
Exception
explicit
extern
false
FileStream
finally
fixed
float
float
for
foreach
goto
ICollection
IComparer
IDictionary
IEnumerable
IEnumerator
IEqualityComparer
if
IList
implicit
in
int
Int16
Int32
Int64
interface
internal
IntPtr
is
KeyNotFoundException
KeyValuePair
LinkedList
LinkedList.Enumerator
LinkedListNode
List
List.Enumerator
lock
long
Microsoft.CSharp
Microsoft.JScript
Microsoft.VisualBasic
Microsoft.Vsa
Microsoft.Win32
namespace
new
null
object
object
operator
out
override
params
private
protected
public
Queue
Queue.Enumerator
readonly
ref
return
sbyte
sbyte
sealed
short
sizeof
SortedDictionary
SortedDictionary.Enumerator
SortedDictionary.KeyCollection
SortedDictionary.KeyCollection.Enumerator
SortedDictionary.ValueCollection
SortedDictionary.ValueCollection.Enumerator
SortedList
Stack
Stack.Enumerator
stackalloc
static
StreamWriter
string
StringBuilder
struct
switch
System
System.CodeDom
System.CodeDom.Compiler
System.Collections
System.Collections.Specialized
System.ComponentModel
System.ComponentModel.Design
System.ComponentModel.Design.Serialization
System.Configuration
System.Configuration.Assemblies
System.Configuration.Install
System.Data
System.Data.Common
System.Data.OleDb
System.Data.SqlClient
System.Data.SqlTypes
System.Diagnostics
System.Diagnostics.SymbolStore
System.DirectoryServices
System.Drawing
System.Drawing.Design
System.Drawing.Drawing2D
System.Drawing.Imaging
System.Drawing.Printing
System.Drawing.Text
System.EnterpriseServices
System.EnterpriseServices.CompensatingResourceManager
System.Globalization
System.IO
System.IO.IsolatedStorage
System.Management
System.Management.Instrumentation
System.Messaging
System.Net
System.Net.Sockets
System.Reflection
System.Reflection.Emit
System.Resources
System.Runtime.CompilerServices
System.Runtime.InteropServices
System.Runtime.InteropServices.Expando
System.Runtime.Remoting
System.Runtime.Remoting.Activation
System.Runtime.Remoting.Channels
System.Runtime.Remoting.Channels.Http
System.Runtime.Remoting.Channels.Tcp
System.Runtime.Remoting.Contexts
System.Runtime.Remoting.Lifetime
System.Runtime.Remoting.Messaging
System.Runtime.Remoting.Metadata
System.Runtime.Remoting.Metadata.W3cXsd2001
System.Runtime.Remoting.MetadataServices
System.Runtime.Remoting.Proxies
System.Runtime.Remoting.Services
System.Runtime.Serialization
System.Runtime.Serialization.Formatters
System.Runtime.Serialization.Formatters.Binary
System.Runtime.Serialization.Formatters.Soap
System.Security
System.Security.Cryptography
System.Security.Cryptography.X509Certificates
System.Security.Cryptography.Xml
System.Security.Permissions
System.Security.Policy
System.Security.Principal
System.ServiceProcess
System.Text
System.Text.RegularExpressions
System.Threading
System.Timers
System.Web
System.Web.Caching
System.Web.Configuration
System.Web.Hosting
System.Web.Mail
System.Web.Security
System.Web.Services
System.Web.Services.Configuration
System.Web.Services.Description
System.Web.Services.Discovery
System.Web.Services.Protocols
System.Web.SessionState
System.Web.UI
System.Web.UI.Design
System.Web.UI.Design.WebControls
System.Web.UI.HtmlControls
System.Web.UI.WebControls
System.Windows.Forms
System.Windows.Forms.Design
System.Xml
System.Xml.Schema
System.Xml.Serialization
System.Xml.XPath
System.Xml.Xsl
TextWriter
this
throw
true
try
typeof
uint
ulong
unchecked
unsafe
ushort
using
virtual
void
volatile
while

View File

@ -0,0 +1,357 @@
:active
:after
:before
:first
:first-child
:first-letter
:first-line
:focus
:hover
:lang
:left
:link
:right
:visited
@charset
@font-face
@import
@media
@page
ActiveBorder
ActiveCaption
AppWorkspace
ButtonFace
ButtonHighlight
ButtonShadow
ButtonText
CaptionText
GrayText
Highlight
HighlightText
InactiveBorder
InactiveCaption
InactiveCaptionText
InfoBackground
InfoText
MenuText
Scrollbar
ThreeDDarkShadow
ThreeDFace
ThreeDHighlight
ThreeDLightShadow
ThreeDShadow
Window
WindowFrame
WindowText
above
absolute
always
aqua
armenian
attr
auto
avoid
azimuth
background
background-attachment
background-color
background-image
background-position
background-repeat
baseline
behind
below
bidi-override
black
blink
block
blue
bold
bolder
border
border-bottom
border-bottom-color
border-bottom-style
border-bottom-width
border-collapse
border-color
border-left
border-left-color
border-left-style
border-left-width
border-right
border-right-color
border-right-style
border-right-width
border-spacing
border-style
border-top
border-top-color
border-top-style
border-top-width
border-width
both
bottom
capitalize
caption
caption-side
center
center-left
center-right
circle
cjk-ideographic
clear
clip
close-quote
code
collapse
color
compact
condensed
content
continuous
counter-increment
counter-reset
crop
cros
crosshair
cue
cue-after
cue-before
cursor
decimal
decimal-leading-zero
default
deg
digits
direction
disc
display
e-resize
elevation
em
embed
empty-cells
ex
expanded
extra-condensed
extra-expanded
far-left
far-right
fast
faster
fixed
float
font
font-family
font-size
font-size-adjust
font-stretch
font-style
font-variant
font-weight
fuchsia
georgian
grad
gray
green
hebrew
height
help
hidden
hide
high
higher
hiragana
hiragana-iroha
hz
icon
inherit
inline
inline-table
inside
italic
justify
katakana
katakana-iroha
khz
landscape
left
left-side
leftwards
letter-spacing
level
lighter
lime
line-height
line-through
list-item
list-style
list-style-image
list-style-position
list-style-type
loud
low
lower
lower-alpha
lower-greek
lower-latin
lower-roman
lowercase
ltr
margin
margin-bottom
margin-left
margin-right
margin-top
marker
marker-offset
marks
maroon
max-height
max-width
medium
menu
message-box
middle
min-height
min-width
mix
move
ms
n-resize
narrower
navy
ne-resize
no-close-quote
no-open-quote
no-repeat
none
normal
nowrap
nw-resize
oblique
olive
once
open-quote
orphans
outline
outline-color
outline-style
outline-width
outside
overflow
overline
padding
padding-bottom
padding-left
padding-right
padding-top
page
page-break-after
page-break-before
page-break-inside
pause
pause-after
pause-before
pitch
pitch-range
play-during
pointer
portrait
position
pre
pt
purple
px
quotes
rad
red
relative
repeat
repeat-x
repeat-y
richness
right
right-side
rightwards
rtl
run-in
s-resize
scroll
se-resize
semi-condensed
semi-expanded
separate
show
silent
silver
size
slow
slower
small-caps
small-caption
soft
speak
speak-header
speak-numeral
speak-ponctuation
speech-rate
spell-out
square
static
status-bar
stress
sub
super
sw-resize
table
table-caption
table-cell
table-column
table-column-group
table-footer-group
table-header-group
table-layout
table-row
table-row-group
teal
text
text-align
text-bottom
text-decoration
text-indent
text-shadow
text-top
text-transform
top
transparent
ultra-condensed
ultra-expanded
underline
unicode-bidi
upper-alpha
upper-latin
upper-roman
uppercase
vertical-align
visibility
visible
voice-family
volume
w-resize
wait
white
white-space
wider
widows
width
word-spacing
x-fast
x-high
x-loud
x-low
x-slow
x-soft
yellow
z-index

View File

@ -0,0 +1,930 @@
"allowscale"
"exec"
"fullscreen"
"quit"
"showmenu"
"trapallkeys"
#include
ALT
ASSetNative
ASSetPropFlags
ASconstructor
ASnative
Accessibility
Accessibility.isActive
Array
Array
AsBroadcaster
BACKSPACE
BACKSPACE
Boolean
Boolean
Button
CAPSLOCK
CAPSLOCK
CONTROL
CONTROL
Camera
Capabilities
Color
Color
Cookie
CustomActions
CustomActions.get
CustomActions.install
CustomActions.list
CustomActions.uninstall
DELETEKEY
DELETEKEY
DOWN
DOWN
Date
Date
Date.UTC
END
END
ENTER
ENTER
ESCAPE
ESCAPE
FStyleFormat
HOME
HOME
INSERT
INSERT
Infinity
IsActive
Key
Key
Key.ALT
Key.BACKSPACE
Key.CAPSLOCK
Key.CONTROL
Key.DELETEKEY
Key.DOWN
Key.END
Key.ENTER
Key.ESCAPE
Key.HOME
Key.INSERT
Key.LEFT
Key.PGDN
Key.PGUP
Key.RIGHT
Key.SHIFT
Key.SPACE
Key.TAB
Key.UP
Key.getAscii
Key.getCode
Key.isDown
Key.isToggled
LEFT
LEFT
LN10
LN10
LN2
LN2
LOG10E
LOG10E
LOG2E
LOG2E
LoadVars
LocalConnection
MAX_VALUE
MAX_VALUE
MIN_VALUE
MIN_VALUE
MMSave
Math
Math
Math.E
Math.LN10
Math.LN2
Math.LOG10E
Math.LOG2E
Math.PI
Math.SQRT1_2
Math.SQRT2
Math.abs
Math.acos
Math.asin
Math.atan
Math.atan2
Math.ceil
Math.cos
Math.exp
Math.floor
Math.log
Math.max
Math.min
Math.pow
Math.random
Math.round
Math.sin
Math.sqrt
Math.tan
Microphone
Mouse
Mouse
Mouse.hide
Mouse.show
MovieClip
MovieClip
NEGATIVE_INFINITY
NEGATIVE_INFINITY
NaN
NaN
NetConnection
NetStream
Number
Number
Number.MAX_VALUE
Number.MIN_VALUE
Number.NEGATIVE_INFINITY
Number.NaN
Number.POSITIVE_INFINITY
Object
Object
Object.registerClass
PGDN
PGDN
PGUP
PGUP
PI
PI
POSITIVE_INFINITY
POSITIVE_INFINITY
Product
RIGHT
RIGHT
SHIFT
SHIFT
SPACE
SPACE
SQRT1_2
SQRT1_2
SQRT2
SQRT2
Selection
Selection
Selection.getBeginIndex
Selection.getCaretIndex
Selection.getEndIndex
Selection.getFocus
Selection.setFocus
Selection.setSelection
SendEvent
SharedObject
ShowSettings
Sound
Sound
Stage
Stage.align
Stage.height
Stage.scaleMode
Stage.showMenu
Stage.width
String
String
String.fromCharCode
System
System.capabilities
System.capabilities.hasAccessibility
System.capabilities.hasAudio
System.capabilities.hasAudioEncoder
System.capabilities.hasMP3
System.capabilities.hasVideoEncoder
System.capabilities.input
System.capabilities.isDebugger
System.capabilities.language
System.capabilities.manufacturer
System.capabilities.os
System.capabilities.pixelAspectRatio
System.capabilities.screenColor
System.capabilities.screenDPI
System.capabilities.screenResolutionX
System.capabilities.screenResolutionY
System.capabilities.serverString
System.capabilities.version
System.security.allowDomain
TAB
TAB
TextField
TextFormat
UP
UP
UTC
UTC
Video
XML
XML
XMLNode
XMLSocket
XMLSocket
__proto__
_alpha
_alpha
_currentframe
_currentframe
_droptarget
_droptarget
_focusrect
_focusrect
_framesloaded
_framesloaded
_global
_height
_height
_highquality
_highquality
_level
_listeners
_name
_name
_parent
_parent
_quality
_quality
_root
_root
_rotation
_rotation
_soundbuftime
_soundbuftime
_target
_target
_totalframes
_totalframes
_url
_url
_visible
_visible
_width
_width
_x
_x
_xmouse
_xmouse
_xscale
_xscale
_y
_y
_ymouse
_ymouse
_yscale
_yscale
a
abs
abs
acos
acos
add
add
addListener
addProperty
addheader
align
allowDomain
and
appendChild
appendChild
apply
arguments
arguments.callee
arguments.caller
asin
asin
atan
atan
atan2
atan2
attachAudio
attachMovie
attachMovie
attachSound
attachSound
attachVideo
attributes
attributes
autoSize
background
backgroundColor
beginFill
beginGradientFill
blockIndent
bold
border
borderColor
bottomScroll
break
break
broadcastMessage
bullet
call
call
callee
caller
capabilities
case
ceil
ceil
charAt
charAt
charCodeAt
charCodeAt
childNodes
childNodes
chr
chr
clear
clearInterval
cloneNode
cloneNode
close
close
color
concat
concat
condenseWhite
connect
connect
constructor
constructor
contentType
continue
continue
cos
cos
createElement
createElement
createEmptyMovieClip
createTextField
createTextNode
createTextNode
curveTo
data
data
decode
default
delete
delete
do
do
docTypeDecl
docTypeDecl
domain
dragOut
dragOut
dragOver
dragOver
duplicateMovieClip
duplicateMovieClip
duration
else
else
embedFonts
enabled
endFill
enterFrame
enterFrame
eq
escape
escape
eval
eval
evaluate
exp
exp
false
false
firstChild
firstChild
floor
floor
flush
focusEnabled
font
for
for
fromCharCode
fromCharCode
fscommand
fscommand
function
function
ge
get
getAscii
getAscii
getBeginIndex
getBeginIndex
getBounds
getBounds
getBytesLoaded
getBytesLoaded
getBytesTotal
getBytesTotal
getCaretIndex
getCaretIndex
getCode
getCode
getCookie
getDate
getDate
getDay
getDay
getDepth
getDuration
getEndIndex
getEndIndex
getFocus
getFocus
getFontList
getFullYear
getFullYear
getHours
getHours
getMilliseconds
getMilliseconds
getMinutes
getMinutes
getMonth
getMonth
getNewTextFormat
getPan
getPan
getPosition
getProperty
getProperty
getRGB
getRGB
getSeconds
getSeconds
getSize
getTextExtent
getTextFormat
getTime
getTime
getTimer
getTimer
getTimezoneOffset
getTimezoneOffset
getTransform
getTransform
getURL
getURL
getUTCDate
getUTCDate
getUTCDay
getUTCDay
getUTCFullYear
getUTCFullYear
getUTCHours
getUTCHours
getUTCMilliseconds
getUTCMilliseconds
getUTCMinutes
getUTCMinutes
getUTCMonth
getUTCMonth
getUTCSeconds
getUTCSeconds
getUTCYear
getVersion
getVersion
getVolume
getVolume
getYear
getYear
globalToLocal
globalToLocal
gotoAndPlay
gotoAndPlay
gotoAndStop
gotoAndStop
gt
hasAccessibility
hasAudio
hasAudioEncoder
hasChildNodes
hasChildNodes
hasMP3
hasOwnProperty
hasVideoEncoder
height
hide
hide
hitArea
hitTest
hitTest
hscroll
html
htmlText
if
if
ifFrameLoaded
ifFrameLoaded
ignoreWhite
in
in
include
indent
indexOf
indexOf
input
insertBefore
insertBefore
install
instanceof
int
int
isActive
isDebugger
isDown
isDown
isFinite
isFinite
isNaN
isNaN
isPropertyEnumerable
isPrototypeOf
isToggled
isToggled
italic
john@3wgraphics.net
join
join
keyDown
keyPress
keyPress
keyUp
language
lastChild
lastChild
lastIndexOf
lastIndexOf
le
leading
leftMargin
length
length
lineStyle
lineTo
list
load
load
loadMovie
loadMovie
loadMovieNum
loadMovieNum
loadSound
loadVariables
loadVariables
loadVariablesNum
loadVariablesNum
loaded
loaded
localToGlobal
localToGlobal
log
log
lt
manufacturer
max
max
maxChars
maxhscroll
maxscroll
maxscroll
mbchr
mbchr
mblength
mblength
mbord
mbord
mbsubstring
mbsubstring
metaInfo
meth
min
min
mouseDown
mouseDown
mouseMove
mouseUp
mouseUp
moveTo
multiline
ne
new
new
newline
newline
nextFrame
nextFrame
nextScene
nextScene
nextSibling
nextSibling
nodeName
nodeName
nodeType
nodeType
nodeValue
nodeValue
not
null
null
number
on
on
onChanged
onClipEvent
onClipEvent
onClose
onClose
onConnect
onConnect
onData
onDragOut
onDragOver
onEnterFrame
onKeyDown
onKeyUp
onKillFocus
onLoad
onLoad
onMouseDown
onMouseMove
onMouseUp
onPress
onRelease
onReleaseOutside
onResize
onRollOut
onRollOver
onScroller
onSetFocus
onSoundComplete
onUnload
onXML
onXML
or
ord
ord
os
parentNode
parentNode
parseFloat
parseFloat
parseInt
parseInt
parseXML
parseXML
password
pause
pixelAspectRatio
play
play
pop
pop
position
pow
pow
press
press
prevFrame
prevFrame
prevScene
prevScene
previousSibling
previousSibling
print
print
printAsBitmap
printAsBitmap
printAsBitmapNum
printNum
printNum
prototype
publish
push
push
random
random
receiveAudio
receiveVideo
registerClass
release
release
releaseOutside
releaseOutside
removeListener
removeMovieClip
removeMovieClip
removeNode
removeNode
removeTextField
replaceSel
restrict
return
return
reverse
reverse
rightMargin
rollOut
rollOut
rollOver
rollOver
round
round
scaleMode
screenColor
screenDPI
screenResolutionX
screenResolutionY
scroll
scroll
scrollString
security
seek
selectable
send
send
sendAndLoad
sendAndLoad
serverString
set
set
setBufferTime
setCookie
setDate
setDate
setDuration
setFocus
setFocus
setFps
setFullYear
setFullYear
setGain
setHours
setHours
setInterval
setKeyFrameInterval
setLoopback
setMask
setMilliseconds
setMilliseconds
setMinutes
setMinutes
setMode
setMonth
setMonth
setMotionLevel
setNewTextFormat
setPan
setPan
setPosition
setProperty
setProperty
setQuality
setRGB
setRGB
setRate
setSeconds
setSeconds
setSelection
setSelection
setSilenceLevel
setTextFormat
setTime
setTime
setTransform
setTransform
setUTCDate
setUTCDate
setUTCFullYear
setUTCFullYear
setUTCHours
setUTCHours
setUTCMilliseconds
setUTCMilliseconds
setUTCMinutes
setUTCMinutes
setUTCMonth
setUTCMonth
setUTCSeconds
setUTCSeconds
setUseEchoSuppression
setVolume
setVolume
setYear
setYear
shift
shift
show
show
showMenu
sin
sin
size
slice
slice
sort
sort
sortOn
splice
splice
split
split
sqrt
sqrt
start
start
startDrag
startDrag
status
status
stop
stop
stopAllSounds
stopAllSounds
stopDrag
stopDrag
substr
substr
substring
substring
super
swapDepths
swapDepths
switch
tabChildren
tabEnabled
tabIndex
tabStops
tan
tan
target
targetPath
targetPath
tellTarget
tellTarget
text
textColor
textHeight
textWidth
this
this
toLocaleString
toLowerCase
toLowerCase
toString
toString
toUpperCase
toUpperCase
toggleHighQuality
toggleHighQuality
trace
trace
trackAsMenu
true
true
type
typeof
typeof
undefined
underline
unescape
unescape
uninstall
unload
unloadMovie
unloadMovie
unloadMovieNum
unloadMovieNum
unshift
unshift
unwatch
updateAfterEvent
updateAfterEvent
url
useHandCursor
valueOf
valueOf
var
var
variable
version
void
void
watch
while
while
width
with
with
wordWrap
xmlDecl
xmlDecl

View File

@ -0,0 +1,576 @@
and.
eq.
eqv.
ge.
gt.
le.
lt.
ne.
neqv.
not.
or.
abs
access
achar
acos
acosd
action
adjustl
adjustr
admit
advance
aimag
aimax0
aimin0
aint
ajmax0
ajmin0
akmax0
akmin0
all
allocatable
allocate
allocated
alog
alog10
amax0
amax1
amin0
amin1
amod
anint
any
apostrophe
asin
asind
assign
assignment
associate
associated
asynchronous
at
atan
atan2
atan2d
atand
backspace
bind
bit_size
bitest
bitl
bitlr
bitrl
bjtest
bktest
blank
block
blockdata
blocksize
break
btest
cabs
call
carg
carriagecontrol
case
ccos
cdabs
cdcos
cdexp
cdlog
cdsin
cdsqrt
ceiling
cexp
char
character
class
clog
close
cmplx
common
complex
conjg
contains
continue
cos
cosd
cosh
cotan
cotand
count
cpu_time
cshift
csin
csqrt
cycle
dabs
dacos
dacosd
dasin
dasind
data
datan
datan2
datan2d
datand
date
date_and_time
dble
dcmplx
dconjg
dcos
dcosd
dcosh
dcotan
dcotand
ddim
deallocate
decimal
decode
default
delim
dexp
dfloat
dfloti
dflotj
dflotk
digits
dim
dimag
dimension
dint
direct
dll_import
dlog
dlog10
dmax1
dmin1
dmod
dnint
do
dot_product
double
doublecomplex
doubleprecision
dowhile
dprod
dreal
dsign
dsin
dsind
dsinh
dsqrt
dtan
dtand
dtanh
dvchk
else
elseif
elsewhere
encode
encoding
end
endassociate
endblockdata
enddo
endfile
endforall
endfunction
endif
endinterface
endmodule
endprogram
endselect
endsubroutine
endtype
endwhere
endwhile
entry
eor
eoshift
epsilon
equivalence
err
errmsg
error
errsns
execute
exist
exit
exp
exponent
external
file
find
flen
float
floati
floatj
floatk
floor
flush
fmt
forall
form
format
formatted
fraction
free
from
function
getarg
getcharqq
getcl
getdat
getenv
gettim
go
goto
guess
hfix
huge
iabs
iachar
iand
ibchng
ibclr
ibits
ibset
ichar
id
idate
identifier
idim
idint
idnint
ieor
if
ifix
iiabs
iiand
iibclr
iibits
iibset
iidim
iidint
iidnnt
iieor
iifix
iint
iior
iiqint
iiqnnt
iishft
iishftc
iisign
ilen
imag
imax0
imax1
imin0
imin1
imod
implicit
in
include
index
inint
inot
inout
inquire
int
int1
int2
int4
int8
intc
integer
intent
interface
intrinsic
intrup
invalop
iolength
iomsg
ior
iostat
iostat_msg
iqint
iqnint
isha
ishc
ishft
ishft
ishftc
ishl
isign
isnan
izext
jfix
jiand
jibclr
jibits
jibset
jidim
jidint
jidnnt
jieor
jifix
jint
jior
jiqint
jishft
jishftc
jisign
jmax0
jmax1
jmin0
jmin1
jmod
jnint
jnot
jzext
kiabs
kiand
kibclr
kibits
kibset
kidim
kidint
kieor
kifix
kind
kint
kior
kishft
kishftc
kisign
kmax0
kmax1
kmin0
kmin1
kmod
knint
knot
kzext
lacfar
lbound
leadz
len
len_trim
lenlge
lge
lgt
lle
llt
location
locking
locnear
log
log10
logical
loop
lshift
malloc
map
matmul
max
max0
max1
maxexponent
maxloc
maxval
merge
min
min0
min1
minexponent
minloc
minval
mod
module
modulo
mvbits
name
named
namelist
nargs
nbreak
ndperr
ndpexc
nearest
nextrec
nint
nml
none
not
nullify
number
number_of_processors
nworkers
offset
only
open
opened
operator
optional
otherwise
out
ovefl
pack
pad
parameter
pass
pause
peekcharqq
pending
pointer
popcnt
poppar
pos
position
precfill
precision
present
print
private
procedure
product
program
prompt
protected
public
qabs
qacos
qacosd
qasin
qasind
qatan
qatan2
qatand
qcmplx
qconjg
qcos
qcosd
qcosh
qdim
qexp
qext
qextd
qfloat
qimag
qlog
qlog10
qmax1
qmin1
qmod
qreal
qsign
qsin
qsind
qsinh
qsqrt
qtan
qtand
qtanh
quit
quote
radix
radix
ran
rand
random
random_number
random_seed
randu
range
read
readwrite
real
rec
recl
record
recordtype
recursive
remote
repeat
reshape
result
return
rewind
rewrite
rrspacing
rshift
save
scale
scan
secnds
segment
select
selectcase
selected_int_kind
selected_real_kind
selecttype
sequence
sequential
set_exponent
setdat
settim
shape
sign
sin
sind
sinh
size
sizeof
sngl
snglq
spacing
spread
sqrt
stat
status
stop
stream
structure
subroutine
sum
system
system_clock
tan
tand
tanh
target
then
timer
tiny
to
transfer
transpose
trim
type
ubound
undfl
unformatted
union
unit
unlock
unpack
until
use
val
value
verify
virtual
volatile
wait
where
while
write
zabs
zcos
zexp
zlog
zsin
zsqrt

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,634 @@
Anchor
Applet
Area
Array
Boolean
Button
Checkbox
Date
E
FileUpload
Form
Frame
Function
Hidden
History
Image
Infinity
JavaArray
JavaClass
JavaObject
JavaPackage
LN10
LN2
LOG10E
LOG2E
Layer
Link
Location
MAX_VALUE
MIN_VALUE
Math
MimeType
NEGATIVE_INFINITY
NaN
Number
Object
Option
PI
POSITIVE_INFINITY
Packages
Password
Plugin
Radio
RegExp
Reset
SQRT1_2
SQRT2
Select
String
Style
Submit
Text
Textarea
URL
URLUnencoded
UTC
XMLDocument
XSLDocument
_content
aLinkcolor
above
abs
acos
action
alert
align
all
anchor
anchors
appCodeName
appCore
appMinorVersion
appName
appVersion
applets
apply
arguments
arguments.callee
arguments.caller
arguments.length
arity
asin
atan
atan2
atob
attachEvent
attributes
availHeight
availLeft
availTop
availWidth
back
background
backgroundColor
backgroundImage
below
bgColor
big
blink
blur
body
bold
boolean
border
borderBottomWidth
borderColor
borderLeftWidth
borderRightWidth
borderStyle
borderTopWidth
borderWidths
bottom
break
btoa
bufferDepth
byte
call
captureEvents
case
catch
ceil
char
charAt
charCodeAt
characterSet
checked
childNodes
class
className
classes
clear
clearInterval
clearTimeout
click
clientInformation
clip
clipboardData
close
closed
colorDepth
compile
complete
components
concat
confirm
const
constructor
contextual
continue
controllers
cookie
cookieEnabled
cos
cpuClass
createElement
createEventObject
createPopup
createStyleSheet
createTextNode
crypto
current
data
debugger
default
defaultCharset
defaultChecked
defaultStatus
defaultValue
defaultView
delete
description
detachEvent
dialogArguments
dialogHeight
dialogLeft
dialogTop
dialogWidth
dir
directories
disableExternalCapture
display
do
doctype
document
documentElement
domain
double
dump
elementFromPoint
elements
else
embeds
enableExternalCapture
enabledPlugin
encoding
enum
escape
eval
event
exec
execCommand
execScript
exp
expando
export
extends
external
false
fgColor
fileCreatedDate
fileModifiedDate
fileSize
fileUpdatedDate
filename
final
finally
find
firstChild
fixed
float
floor
focus
fontFamily
fontSize
fontWeight
fontcolor
fontsize
for
form
formName
forms
forward
frameElement
frames
fromCharCode
function
getAttention
getDate
getDay
getElementById
getElementsByName
getElementsByTagName
getFullYear
getHours
getMilliseconds
getMinutes
getMonth
getSeconds
getSelection
getTime
getTimezoneOffset
getUTCDate
getUTCDay
getUTCFullYear
getUTCHours
getUTCMilliseconds
getUTCMinutes
getUTCMonth
getUTCSeconds
getYear
global
go
goto
handleEvent
hasFocus
hash
height
history
home
host
hostname
href
hspace
ids
if
ignoreCase
images
implementation
implements
import
in
index
indexOf
innerHeight
innerWidth
input
instanceof
int
interface
isFinite
isNaN
italics
java
javaEnabled
join
language
lastChild
lastIndex
lastIndexOf
lastMatch
lastModified
lastParen
layerX
layers
left
leftContext
length
lineHeight
link
linkColor
links
listStyleType
load
localName
location
locationbar
log
long
lowsrc
marginBottom
marginLeft
marginRight
marginTop
margins
match
max
media
menubar
mergeAttributes
method
mimeTypes
min
moveAbove
moveBelow
moveBy
moveTo
moveToAbsolute
multiline
name
nameProp
namespaceURI
namespaces
native
navigate
navigator
netscape
new
next
nextSibling
nodeName
nodeType
nodeValue
null
offscreenBuffering
onAbort
onActivate
onAfterprint
onAfterupdate
onBeforeactivate
onBeforecut
onBeforedeactivate
onBeforeeditfocus
onBeforepaste
onBeforeprint
onBeforeunload
onBeforeupdate
onBlur
onCellchange
onChange
onClick
onClose
onContextmenu
onControlselect
onCut
onDataavailable
onDatasetchanged
onDatasetcomplete
onDblclick
onDeactivate
onDrag
onDragdrop
onDragend
onDragenter
onDragleave
onDragover
onDragstart
onDrop
onError
onErrorupdate
onFocus
onHelp
onKeydown
onKeypress
onKeyup
onLine
onLoad
onMousedown
onMousemove
onMouseout
onMouseover
onMouseup
onPaste
onPropertychange
onReadystatechange
onReset
onResize
onResizeend
onResizestart
onRowenter
onRowexit
onRowsdelete
onRowsinserted
onScroll
onSelect
onSelectionchange
onSelectstart
onStop
onSubmit
onUnload
open
opener
opsProfile
options
oscpu
outerHeight
outerWidth
ownerDocument
package
paddingBottom
paddingLeft
paddingRight
paddingTop
paddings
pageX
pageXOffset
pageY
pageYOffset
parent
parentLayer
parentNode
parentWindow
parse
parseFloat
parseInt
pathname
personalbar
pixelDepth
pkcs11
platform
plugins
plugins.refresh
pop
port
pow
preference
prefix
previous
previousSibling
print
private
product
productSub
prompt
prompter
protected
protocol
prototype
public
push
queryCommandEnabled
queryCommandIndeterm
queryCommandState
queryCommandValue
random
readyState
recalc
referrer
releaseCapture
releaseEvents
reload
replace
reset
resizeBy
resizeTo
return
returnValue
reverse
right
rightContext
round
routeEvents
savePreferences
screen
screenLeft
screenTop
screenX
screenY
scripts
scroll
scrollBy
scrollByLines
scrollByPages
scrollTo
scrollX
scrollY
scrollbars
search
security
securityPolicy
select
selected
selectedIndex
selection
self
setActive
setCursor
setDate
setFullYear
setHotKeys
setHours
setInterval
setMilliseconds
setMinutes
setMonth
setResizable
setSeconds
setTime
setTimeout
setUTCDate
setUTCFullYear
setUTCHours
setUTCMilliseconds
setUTCMinutes
setUTCMonth
setUTCSeconds
setYear
setZOptions
shift
short
showHelp
showModalDialog
showModelessDialog
siblingAbove
siblingBelow
sidebar
signText
sin
sizeToContent
slice
small
sort
source
splice
split
sqrt
src
static
status
statusbar
stop
strike
styleSheets
sub
submit
substr
substring
suffixes
sun
sup
super
switch
synchronized
systemLanguage
tags
taint
taintEnabled
tan
target
test
text
textAlign
textDecoration
textIndent
textTransform
this
throw
throws
title
toGMTString
toLocaleString
toLowerCase
toSource
toString
toUTCString
toUpperCase
toolbar
top
transient
true
try
type
typeof
undefined
unescape
uniqueID
unshift
untaint
unwatch
updateCommands
updateInterval
userAgent
userLanguage
userProfile
vLinkcolor
value
valueOf
var
vendor
vendorSub
visibility
void
volatile
vspace
watch
while
whiteSpace
width
window
with
write
writeln
x
y
zIndex

View File

@ -0,0 +1,478 @@
*error*
*vlisp-new-full-init*
abs
acad_colordlg
acad_helpdlg
acad_strlsort
acdimenableupdate
acet-layerp-mark
acet-layerp-mode
acet-laytrans
acet-ms-to-ps
acet-ps-to-ms
action_tile
add_list
ads
alert
align
alloc
and
angle
angtof
angtos
append
apply
arx
arxload
arxunload
ascii
assoc
atan
atof
atoi
atom
atoms-family
autoarxload
autoload
bhatch
bherrs
boole
boundp
bpoly
c:3dsin
c:3dsout
c:cal
c:fog
c:light
c:lsedit
c:lslib
c:lsnew
c:matlib
c:olprof
c:render
c:renderupdate
c:replay
c:rmat
c:rpref
c:saveimg
c:scene
c:setuv
c:showmat
c:stats
caaaar
caaadr
caaar
caadar
caaddr
caadr
caar
cadaar
cadadr
cadar
caddar
cadddr
caddr
cadr
car
cdaaar
cdaadr
cdaar
cdadar
cdaddr
cdadr
cdar
cddaar
cddadr
cddar
cdddar
cddddr
cdddr
cddr
cdr
chr
client_data_tile
close
command
cond
cons
cos
cvunit
defun
defun-q
defun-q-list-ref
defun-q-list-set
dictadd
dictnext
dictremove
dictrename
dictsearch
dimx_tile
dimy_tile
distance
distof
done_dialog
end_image
end_list
entdel
entget
entlast
entmake
entmakex
entmod
entnext
entsel
entupd
eq
equal
eval
exit
exp
expand
expt
fill_image
findfile
fix
float
fnsplitl
foreach
function
gc
gcd
get_attr
get_tile
getangle
getcfg
getcname
getcorner
getdist
getenv
getfiled
getint
getkword
getorient
getpoint
getreal
getstring
geturl
getvar
graphscr
grclear
grdraw
grread
grtext
grvecs
handent
help
if
initdia
initget
inters
ismnugrploaded
itoa
lambda
last
layoutlist
length
list
listp
load
load_dialog
log
logand
logior
lsh
mapcar
max
mem
member
menucmd
menugroup
min
minusp
mirror3d
mode_tile
mtedit
mtprop
namedobjdict
nentsel
nentselp
new_dialog
not
nth
null
numberp
open
or
osnap
pause
pi
polar
pragma
prin1
princ
print
progn
prompt
quit
quote
read
read-char
read-line
redraw
regapp
rem
repeat
report
reverse
rotate3d
rtos
set
set_tile
setcfg
setenv
setfunhelp
setq
seturl
setvar
setview
sin
slide_image
snvalid
sqrt
ssadd
ssdel
ssget
ssgetfirst
sslength
ssmemb
ssname
ssnamex
sssetfirst
start_dialog
start_image
start_list
startapp
strcase
strcat
strlen
subst
substr
tablet
tblnext
tblobjname
tblsearch
term_dialog
terpri
textbox
textpage
textscr
trace
trans
type
unload_dialog
untrace
vector_image
ver
vl-acad-defun
vl-acad-undefun
vlarts-init
vl-arx-import
vlax-3D-point
vlax-add-cmd
vlax-create-object
vlax-curve-getArea
vlax-curve-getClosestPointTo
vlax-curve-getClosestPointToProjection
vlax-curve-getDistAtParam
vlax-curve-getDistAtPoint
vlax-curve-getEndParam
vlax-curve-getEndPoint
vlax-curve-getFirstDeriv
vlax-curve-getParamAtDist
vlax-curve-getParamAtPoint
vlax-curve-getPointAtDist
vlax-curve-getPointAtParam
vlax-curve-getSecondDeriv
vlax-curve-getStartParam
vlax-curve-getStartPoint
vlax-curve-isClosed
vlax-curve-isPeriodic
vlax-curve-isPlanar
vlax-dump-object
vlax-ename->vla-object
vlax-erased-p
vlax-for
vlax-get-acad-object
vlax-get-object
vlax-get-or-create-object
vlax-get-property
vlax-import-type-library
vlax-invoke-method
vlax-ldata-delete
vlax-ldata-get
vlax-ldata-list
vlax-ldata-put
vlax-ldata-test
vlax-make-safearray
vlax-make-variant
vlax-map-collection
vlax-method-applicable-p
vlax-object-released-p
vlax-product-key
vlax-property-available-p
vlax-put-property
vlax-read-enabled-p
vlax-release-object
vlax-remove-cmd
vlax-safearray->list
vlax-safearray-fill
vlax-safearray-get-dim
vlax-safearray-get-element
vlax-safearray-get-l-bound
vlax-safearray-get-u-bound
vlax-safearray-put-element
vlax-safearray-type
vlax-tmatrix
vlax-typeinfo-available-p
vlax-variant-change-type
vlax-variant-type
vlax-variant-value
vlax-vla-object->ename
vlax-write-enabled-p
vl-bb-ref
vl-bb-set
vl-bt
vl-bt-off
vl-bt-on
vl-catch-all-apply
vl-catch-all-error-message
vl-catch-all-error-p
vl-cmdf
vl-consp
vl-directory-files
vl-doc-export
vl-doc-import
vl-doc-ref
vl-doc-set
vl-every
vl-exit-with-error
vl-exit-with-value
vl-file-copy
vl-file-delete
vl-file-directory-p
vl-filename-base
vl-filename-directory
vl-filename-extension
vl-filename-mktemp
vl-file-rename
vl-file-size
vl-file-systime
vl-get-resource
vl-infp
vl-init
vlisp-compile
vlisp-dclres-list
vlisp-dclres-load-dialog
vlisp-export-symbol
vlisp-fasres-list
vlisp-fasres-load
vlisp-import-exsubrs
vlisp-import-symbol
vlisp-inires-list
vl-list*
vl-list->string
vl-list-exported-functions
vl-list-length
vl-list-loaded-vlx
vl-load-all
vl-load-com
vl-load-reactors
vl-member-if
vl-member-if-not
vl-mkdir
vl-nanp
vl-position
vl-prin1-to-string
vl-princ-to-string
vl-propagate
vlr-acdb-reactor
vlr-add
vlr-added-p
vlr-beep-reaction
vlr-command-reactor
vlr-current-reaction-name
vlr-data
vlr-data-set
vlr-deepclone-reactor
vlr-docmanager-reactor
vlr-dwg-reactor
vlr-dxf-reactor
vlr-editor-reactor
vl-registry-delete
vl-registry-descendents
vl-registry-read
vl-registry-write
vl-remove
vl-remove-if
vl-remove-if-not
vlr-insert-reactor
vlr-linker-reactor
vlr-lisp-reactor
vlr-miscellaneous-reactor
vlr-mouse-reactor
vlr-notification
vlr-object-reactor
vlr-owner-add
vlr-owner-remove
vlr-owners
vlr-pers
vlr-pers-list
vlr-pers-p
vlr-pers-release
vlr-reaction-name
vlr-reactions
vlr-reaction-set
vlr-reactors
vlr-remove
vlr-remove-all
vlr-set-notification
vlr-sysvar-reactor
vlr-toolbar-reactor
vlr-trace-reaction
vlr-type
vlr-types
vlr-undo-reactor
vlr-wblock-reactor
vlr-window-reactor
vlr-xref-reactor
vl-some
vl-sort
vl-sort-i
vl-string->list
vl-string-elt
vl-string-left-trim
vl-string-mismatch
vl-string-position
vl-string-right-trim
vl-string-search
vl-string-subst
vl-string-translate
vl-string-trim
vl-symbol-name
vl-symbolp
vl-symbol-value
vl-unload-vlx
vl-vbaload
vl-vbarun
vl-vlx-loaded-p
vlx-loaded-p
vmon
vports
wcmatch
while
write-char
write-line
xdroom
xdsize
xstrcase
zerop

View File

@ -0,0 +1,219 @@
!AddIncludeDir
!AddPluginDir
!appendfile
!cd
!define
!delfile
!echo
!else
!endif
!error
!execute
!ifdef
!ifmacrodef
!ifmacrondef
!ifndef
!include
!insertmacro
!macro
!macroend
!packhdr
!system
!tempfile
!undef
!verbose
!warning
Abort
AddBrandingImage
AddSize
AllowRootDirInstall
AllowSkipFiles
AutoCloseWindow
BGFont
BGGradient
BrandingText
BringToFront
Call
CallInstDLL
Caption
ChangeUI
CheckBitmap
ClearErrors
CompletedText
ComponentText
CopyFiles
CRCCheck
CreateDirectory
CreateFont
CreateShortCut
Delete
DeleteINISec
DeleteINIStr
DeleteRegKey
DeleteRegValue
DetailPrint
DetailsButtonText
DirText
DirVar
DirVerify
EnableWindow
EnumRegKey
EnumRegValue
Exch
Exec
ExecShell
ExecWait
ExpandEnvStrings
File
FileBufSize
FileClose
FileErrorText
FileOpen
FileRead
FileReadByte
FileSeek
FileWrite
FileWriteByte
FindClose
FindFirst
FindNext
FindWindow
FlushINI
Function
FunctionEnd
GetCurInstType
GetCurrentAddress
GetDlgItem
GetDLLVersion
GetDLLVersionLocal
GetErrorLevel
GetFileTime
GetFileTimeLocal
GetFullPathName
GetFunctionAddress
GetInstDirError
GetLabelAddress
GetTempFileName
Goto
HideWindow
Icon
IfAbort
IfErrors
IfFileExists
IfRebootFlag
IfSilent
InitPluginsDir
InstallButtonText
InstallColors
InstallDir
InstallDirRegKey
InstProgressFlags
InstType
InstTypeGetText
InstTypeSetText
IntCmp
IntCmpU
IntFmt
IntOp
IsWindow
LangString
LangStringUP
LicenseBkColor
LicenseData
LicenseForceSelection
LicenseLangString
LicenseText
LoadLanguageFile
LockWindow
LogSet
LogText
MessageBox
MiscButtonText
Name
Nop
OutFile
Page
PageEx
PageExEnd
Pop
Push
Quit
ReadEnvStr
ReadINIStr
ReadRegDWORD
ReadRegStr
Reboot
RegDLL
Rename
ReserveFile
Return
RMDir
SearchPath
Section
SectionEnd
SectionGetFlags
SectionGetInstTypes
SectionGetSize
SectionGetText
SectionGroup
SectionGroupEnd
SectionIn
SectionSetFlags
SectionSetInstTypes
SectionSetSize
SectionSetText
SendMessage
SetAutoClose
SetBrandingImage
SetCompress
SetCompressionLevel
SetCompressor
SetCompressorDictSize
SetCtlColors
SetCurInstType
SetDatablockOptimize
SetDateSave
SetDetailsPrint
SetDetailsView
SetErrorLevel
SetErrors
SetFileAttributes
SetFont
SetOutPath
SetOverwrite
SetPluginUnload
SetRebootFlag
SetShellVarContext
SetSilent
ShowInstDetails
ShowUninstDetails
ShowWindow
SilentInstall
SilentUnInstall
Sleep
SpaceTexts
StrCmp
StrCmpS
StrCpy
StrLen
SubCaption
SubSection
SubSectionEnd
UninstallButtonText
UninstallCaption
UninstallIcon
UninstallSubCaption
UninstallText
UninstPage
UnRegDLL
Var
VIAddVersionKey
VIProductVersion
WindowIcon
WriteINIStr
WriteRegBin
WriteRegDWORD
WriteRegExpandStr
WriteRegStr
WriteUninstaller
XPStyle

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,467 @@
-BGCOLOR=>
-absolute=>
-action=>
-align=>
-alt=>
-anchor=>
-author=>
-background=>
-base=>
-bgcolor=>
-border=>
-borderwidth=>
-boundary=>
-cellpadding=>
-cellspacing=>
-checked=>
-class=>
-code=>
-colheader=>
-color=>
-colspan=>
-columns=>
-command=>
-compact=>
-content=>
-cookie=>
-default=>
-defaultextension=>
-domain=>
-dtd=>
-expand=>
-expires=>
-face=>
-filetypes=>
-fill=>
-foreground=>
-full=>
-head=>
-height=>
-href=>
-initialdir=>
-initialfile=>
-justification=>
-label=>
-labels=>
-language=>
-leftmargin=>
-linebreak=>
-location=>
-maxlength=>
-meta=>
-method=>
-msg=>
-multiple=>
-name=>
-nolabels=>
-nph=>
-on=>
-onBlur=>
-onChange=>
-onClick=>
-onFocus=>
-onLoad=>
-onMouseOut=>
-onMouseOver=>
-onSelect=>
-onSubmit=>
-onUnload=>
-override=>
-padx=>
-pady=>
-path=>
-path_info=>
-query=>
-query_string=>
-refresh=>
-rel=>
-relative=>
-relief=>
-rowheader=>
-rows=>
-rowspan=>
-script=>
-secure=>
-selected=>
-side=>
-size=>
-src=>
-status=>
-style=>
-target=>
-text=>
-textvariable=>
-title=>
-topmargin=>
-type=>
-uri=>
-url=>
-valign=>
-value=>
-values=>
-width=>
-wrap=>
-xbase=>
ARGV
AUTOLOAD
Accept
BEGIN
Balloon
Button
CORE
DATA
DESTROY
END
Entry
Frame
Label
MainLoop
Radiobutton
STDERR
STDIN
STDOUT
SUPER
Tr
UNIVERSAL
__DATA__
__END__
__END__
__FILE__
__LINE__
__PACKAGE__
abs
accept
address
alarm
and
atan2
attach
auth_type
autoEscape
bind
binmode
bless
br
button
caller
caption
chdir
checkbox
checkbox_group
chmod
chomp
chop
chown
chr
chroot
close
closedir
cmp
compile
configure
connect
constant
continue
cookie
cos
crypt
dbmclose
dbmopen
defaults
defined
deiconify
delete
delete_all
die
div
do
dump
each
else
elsif
em
end
end_h1
end_html
end_table
end_ul
endform
endgrent
endhostent
endif
endnetent
endprotoent
endpwent
endservent
eof
eq
escape
escape_HTML
eval
exec
exists
exit
exp
fcntl
filefield
fileno
flock
font
for
foreach
fork
format
formline
ge
geometry
getc
getgrent
getgrgid
getgrname
gethostbyaddr
gethostbyname
gethostent
getlogin
getnetbyaddr
getnetbyname
getnetent
getpeername
getpgrp
getppid
getpriority
getprotobyname
getprotobynumber
getprotoent
getpwent
getpwnam
getpwuid
getservbyname
getservbyport
getservent
getsockname
getsockopt
glob
gmtime
goto
grep
groove
gt
h1
h2
h3
h4
h5
header
hex
hidden
hr
http
https
if
image_button
img
index
insert
int
ioctl
isindex
join
keys
kill
last
lc
lcfirst
le
length
li
link
listen
local
localtime
log
lstat
lt
map
maxsize
minsize
mkdir
msgctl
msgget
msgrcv
msgsnd
multipart_end
multipart_init
multipart_start
my
ne
next
no
not
oct
ol
open
opendir
or
ord
pack
package
param
param_fetch
password_field
path_info
pipe
pop
popup_menu
pos
pre
print
printf
prototype
push
qq
query_string
quotemeta
qw
qx
radio_group
raise
rand
raw_cookie
read
readdir
readline
readlink
readpipe
recv
redirect
redo
ref
referer
remote_addr
remote_host
remote_indent
remote_user
rename
request_method
require
reset
resizable
return
reverse
rewinddir
rindex
rmdir
scalar
script_name
scrolling_list
seek
seekdir
select
self_url
semctl
semget
semop
send
server_name
server_port
server_software
set
setgrent
sethostent
setnetent
setpgrp
setpriority
setprotoent
setpwent
setservent
setsockopt
shift
shmctl
shmget
shmread
shmwrite
shutdown
sin
sleep
socket
socketpair
sort
span
splice
split
sprintf
sqrt
srand
start_form
start_h1
start_html
start_multipart_form
start_table
start_ul
startform
stat
strict
strong
study
sub
submit
substr
symlink
syscall
sysopen
sysread
sysseek
system
syswrite
table
tagConfigure
td
tell
telldir
textarea
textfield
th
tie
tied
time
times
title
tmpFileName
top
tr
truncate
uc
ucfirst
ul
umask
undef
unescape
unescapeHTML
unless
unlink
unpack
unshift
untie
until
update
upload
uploadInfo
url
url_param
use
use_named_parameters
user_agent
user_name
utime
values
variable
vec
virtual_host
wait
waitpid
wantarray
warn
while
width
write
xor

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,290 @@
AST
ArithmeticError
AssertionError
AttributeError
BaseHTTPServer
Bastion
CGIHTTPServer
Complex
EOFError
Exception
FloatingPointError
IOError
ImportError
IndentationError
IndexError
KeyError
KeyboardInterrupt
LookupError
MemoryError
Mimewriter
NameError
None
OverflowError
Para
Queue
RuntimeError
SimpleHTTPServer
SocketServer
StandardError
StringIO
SyntaxError
SystemError
SystemExit
TabError
Tkinter
TypeError
UserDict
UserList
ValueError
ZeroDivisionError
__abs__
__add__
__and__
__bases__
__call__
__class__
__cmp__
__coerce__
__del__
__delattr__
__delitem__
__delslice__
__dict__
__div__
__divmod__
__float__
__getattr__
__getitem__
__getslice__
__hash__
__hex__
__iadd__
__iand__
__idiv__
__ilshift__
__imod__
__import__
__init__
__int__
__invert__
__ior__
__ipow__
__irshift__
__isub__
__ixor__
__len__
__long__
__lshift__
__members__
__methods__
__mod__
__mul__
__name__
__neg__
__nonzero__
__oct__
__or__
__pos__
__pow__
__radd__
__rand__
__rdiv__
__rdivmod__
__repr__
__rlshift__
__rmod__
__rmul__
__ror__
__rpow__
__rrshift__
__rshift__
__rsub__
__rxor__
__setattr__
__setitem__
__setslice__
__str__
__sub__
__version__
__xor__
abs
and
apply
array
assert
atexit
break
callable
chr
class
cmd
cmp
codecs
coerce
commands
compile
compileall
complex
continue
copy
dbhash
def
del
delattr
dir
dircmp
dis
divmod
dospath
dumbdbm
elif
else
emacs
eval
except
exec
execfile
filter
finally
find
float
fmt
fnmatch
for
from
ftplib
getattr
getopt
glob
global
globals
gopherlib
grep
group
hasattr
hash
hex
htmllib
httplib
id
if
ihooks
imghdr
import
imputil
in
input
int
intern
is
isinstance
issubclass
joinfields
lambda
len
linecache
list
local
lockfile
long
macpath
macurl2path
mailbox
mailcap
map
match
math
max
mimetools
mimify
min
mutex
newdir
ni
nntplib
not
ntpath
nturl2path
oct
open
or
ord
os
ospath
pass
pdb
pickle
pipes
poly
popen2
posixfile
posixpath
pow
print
profile
pstats
pyclbr
pyexpat
quopri
raise
rand
random
range
raw_input
reduce
regex
regsub
reload
repr
return
rfc822
round
sched
search
self
setattr
setdefault
sgmllib
shelve
site
slice
sndhdr
snmp
splitfields
str
string
struct
sys
tb
tempfile
toaiff
token
tokenize
traceback
try
tty
tuple
type
types
tzparse
unichr
unicode
unicodedata
urllib
urlparse
util
uu
vars
wave
webbrowser
whatsound
whichdb
while
whrandom
xdrlib
xml
xmlpackage
xrange
zip
zmod

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,512 @@
<% Option Explicit %>
<%@ language="vbscript" %>
ADODB.Connection
ADODB.Recordset
ALL_RAW
APPL_MD_PATH
APPL_PHYSICAL_PATH
ASP_LICENSE
ASP_OS
ASP_VERSION
ASP_VERSION_MAJOR
ASP_VERSION_MINOR
AUTH_PASSWORD
AUTH_TYPE
AUTH_USER
Abs
And
Application
Application.Lock
Application.Unlock
Archive
Array
Asc
AscB
AscW
Atn
ByRef
ByVal
CBool
CByte
CCur
CDate
CDbl
CERT_COOKIE
CERT_FLAGS
CERT_ISSUER
CERT_KEYSIZE
CERT_SECRETKEYSIZE
CERT_SERIALNUMBER
CERT_SERVER_ISSUER
CERT_SERVER_SUBJECT
CERT_SUBJECT
CInt
CLng
CONTENT_LENGTH
CONTENT_TYPE
CSng
CStr
Call
Case
Chr
ChrB
ChrW
Class
Cos
Count
CreateObject
Date
DateAdd
DateDiff
DatePart
DateSerial
DateValue
Day
Dict.Add
Dict.CompareMode
Dict.Const
Dict.Exists
Dict.Item
Dict.Items
Dict.Key
Dict.Keys
Dict.Remove
Dict.RemoveAll
Dim
Directory
Do
Do Until
Do While
Drive.AvailableSpace
Drive.DriveLetter
Drive.DriveType
Drive.FileSystem
Drive.FreeSpace
Drive.IsReady
Drive.Path
Drive.RootFolder
Drive.SerialNumber
Drive.ShareName
Drive.TotalSize
Drive.VolumeName
Drives.Count
Drives.Item
Else
End Class
End Function
End If
End Property
End Select
End Sub
End Type
End With
Eqv
Erase
Err
Err.Clear
Err.Description
Err.HelpContect
Err.HelpFile
Err.Number
Err.Raise
Err.Source
Eval
Excel.Application
Execute
ExecuteGlobal
Exit Do
Exit For
Exit Function
Exit Property
Exit Sub
Exp
False
File.Attributes
File.Copy
File.DateCreated
File.DateLastAccessed
File.DateLastModified
File.Delete
File.Drive
File.Move
File.Name
File.OpenAsTextStream
File.ParentFolder
File.Path
File.ShortName
File.ShortPath
File.Size
File.Type
FileSystemObject.BuildPath
FileSystemObject.CopyFile
FileSystemObject.CopyFolder
FileSystemObject.CreateFolder
FileSystemObject.CreateTextFile
FileSystemObject.DeleteFile
FileSystemObject.DeleteFolder
FileSystemObject.DriveExists
FileSystemObject.FileExists
FileSystemObject.FolderExists
FileSystemObject.GetAbsolutePathName
FileSystemObject.GetBaseName
FileSystemObject.GetDrive
FileSystemObject.GetDriveName
FileSystemObject.GetExtensionName
FileSystemObject.GetFile
FileSystemObject.GetFileName
FileSystemObject.GetFolder
FileSystemObject.GetParentFolderName
FileSystemObject.GetSpecialFolder
FileSystemObject.GetStandardStream
FileSystemObject.GetTempName
FileSystemObject.MoveFile
FileSystemObject.MoveFolder
FileSystemObject.OpenTextFile
Files.Count
Files.Item
Filter
Fix
Folder.Copy
Folder.CreateTextFile
Folder.DateCreated
Folder.DateLastAccessed
Folder.DateLastModified
Folder.Delete
Folder.Drive
Folder.Files
Folder.IsRootFolder
Folder.Name
Folder.ParentFolder
Folder.Path
Folder.ShortName
Folder.ShortPath
Folder.Size
Folder.SubFolders
Folder.Type
Folders.Add
Folders.Count
Folders.Item
For
For () = () To ()
For () = () To () Step ()
For Each () In ()
ForAppending
ForWriting
FormatCurrency
FormatDateTime
FormatNumber
FormatPercent
Function
GATEWAY_INTERFACE
GetLocale
GetObject
GetRef
HTTPS
HTTPS_KEYSIZE
HTTPS_SECRET_KEYSIZE
HTTPS_SERVER_ISSUER
HTTPS_SERVER_SUBJECT
Hex
Hidden
Hour
INSTANCE_ID
INSTANCE_META_PATH
If
If Then
If Then Else
Imp
InStr
InputBox
InstrB
InstrRev
Int
Is
IsArray
IsDate
IsEmpty
IsNull
IsNumeric
IsObject
Join
LBound
LCase
LOCAL_ADDR
LOGON_USERLog
LTrim
Left
LeftB
Len
LenB
LoadPicture
Loop
Loop Until
Loop While
MAPI.Session
Matches.Count
Matches.Item
Mid
MidB
Minute
Mod
Month
MonthName
MsgBox
Next
Not
Nothing
Now
Oct
On Error
On Error Goto 0
On Error Resume Next
Option Explicit
Or
Outlook.Application
PATH_INFO
PATH_TRANSLATEDPrivate
Private Const
Private Function
Private Property Get
Private Property Let
Private Property Set
Private Sub
Private Sub Class_Terminate
Private Sub object_Initialize
Property Get
Property Let
Property Set
Public
Public Const
Public Default Property Get
Public Default Property Let
Public Default Sub
Public Function
Public Property Get
Public Property Let
Public Property Set
Public Sub
QUERY_STRING
REMOTE_ADDR
REMOTE_HOST
REMOTE_USER
REQUEST_METHOD
RGB
RTrim
Randomize
ReadOnly
Redim
RegExp.Execute
RegExp.Global
RegExp.IgnoreCase
RegExp.Pattern
RegExp.Replace
RegExp.Test
Rem
Replace
Request.BinaryRead
Request.Cookies
Request.Cookies("cookie").HasKeys
Request.Form
Request.Form("form").Count
Request.QueryString
Request.QueryString("id").Count
Request.ServerVariables
Request.TotalBytes
Response.AddHeader
Response.AppendToLog
Response.BinaryWrite
Response.Buffer = True
Response.CacheControl
Response.Charset
Response.Clear
Response.ContentType
Response.Cookies("cookie").Expires
Response.Cookies("cookie").HasKeys
Response.Cookies("cookie").Path
Response.Cookies("cookie").Secure
Response.End
Response.Expires
Response.ExpiresAbsolute
Response.Flush
Response.IsClientConnected
Response.PICS
Response.Redirect
Response.Status
Response.Write
Right
RightB
Rnd
Round
SCRIPT_NAME
SERVER_NAME
SERVER_PORT
SERVER_PORT_SECURE
SERVER_PROTOCOL
SERVER_SOFTWARE
ScriptEngine
ScriptEngineBuildVersion
ScriptEngineMajorVersion
ScriptEngineMinorVersion
Scripting.Dictionary
Scripting.FileSystemObject
Scriptlet.TypeLib
Second
Select Case
Server.CreateObject
Server.HTMLEncode
Server.MapPath
Server.ScriptTimeout
Server.URLEncode
Session
Session.Abandom
Session.Contents
Session.Contents.Remove
Session.LCID
Session.SessionID
Session.StaticObjects
Session.Timeout
Set
Set oRegExp = New RegExp
SetLocale
Sgn
Sin
Space
Split
Sqr
StrComp
StrReverse
String
Sub
System
Tan
Terminate
TextStream.AtEndOfLine
TextStream.AtEndOfStream
TextStream.Close
TextStream.Column
TextStream.Line
TextStream.Read
TextStream.ReadAll
TextStream.ReadLine
TextStream.Skip
TextStream.SkipLine
TextStream.Write
TextStream.WriteBlankLines
TextStream.WriteLine
Then
Time
TimeSerial
TimeValue
Timer
To
Trim
TristateFalse
TristateTrue
TristateUseDefault
True
TypeLib.Guid
TypeName
UBound
UCase
URL
VarType
Weekday
WeekdayName
Wend
While
WinHttp.WinHttpRequest.5.1
With
Word.Application
Xor
Year
adModeRead
adModeReadWrite
adOpenDynamic
adOpenForwardOnly = 0
adOpenKeyset
adOpenStatic
http.responseText
http.send
http.setRequestHeader
vbAbort
vbAbortRetryIgnore
vbApplicationModal
vbArray
vbBinaryCompare
vbBlack
vbBlue
vbBoolean
vbByte
vbCancel
vbCr
vbCritical
vbCrlf
vbCurrency
vbCyan
vbDataObject
vbDate
vbDecimal
vbDefaultButton1
vbDefaultButton2
vbDefaultButton3
vbDefaultButton4
vbDouble
vbEmpty
vbError
vbExclamation
vbFalse
vbFirstFourDays
vbFirstFullWeek
vbFirstJan1
vbFormFeed
vbFriday
vbGeneralDate
vbGreen
vbIgnore
vbInformation
vbInteger
vbLf
vbLong
vbLongDate
vbLongTime
vbMagenta
vbMonday
vbMsgBoxHelpButton
vbMsgBoxRight
vbMsgBoxRtlReading
vbMsgBoxSetForeground
vbNewLine
vbNo
vbNull
vbNullChar
vbNullString
vbOK
vbOKCancel
vbOKOnly
vbObject
vbQuestion
vbRed
vbRetryCancel
vbSaturday
vbShortDate
vbShortTime
vbSingle
vbString
vbSunday
vbSystemModal
vbTab
vbTextCompare
vbThursday
vbTrue
vbTuesday
vbUseDefault
vbUseSystem
vbUseSystemDayOfWeek
vbVerticalTab
vbWednesday
vbWhite
vbYellow
vbYes
vbYesNo
vbYesNoCancel
vbretry

View File

@ -0,0 +1,90 @@
abs
access
add
after
alias
all
and
architecture
array
assert
attribute
begin
block
body
buffer
bus
case
component
configuration
constant
downto
else
elsif
end
entity
error
exit
for
file
function
generate
generic
group
if
in
inout
inertial
impure
is
label
library
loop
map
mod
nand
next
nor
not
null
of
on
or
others
out
package
port
procedure
process
pure
range
record
reject
rem
report
register
return
rol
ror
select
severity
signal
sla
sll
sra
srl
subtype
then
transport
to
type
unaffected
until
use
variable
wait
when
while
with
xnor
xor

View File

@ -0,0 +1,376 @@
abbrev
abstract
accel
ackno
acronym
action
address
affiliation
alt
anchor
answer
appendix
appendixinfo
application
area
areaset
areaspec
arg
article
articleinfo
artpagenums
attribution
audiodata
audioobject
author
authorblurb
authorgroup
authorinitials
beginpage
bibliodiv
biblioentry
bibliography
bibliographyinfo
bibliomisc
bibliomixed
bibliomset
biblioset
blockquote
book
bookinfo
bridgehead
callout
calloutlist
caption
caution
chapter
chapterinfo
citation
citerefentry
citetitle
city
classname
classsynopsis
classsynopsisinfo
cmdsynopsis
co
collab
collabname
colophon
colspec
command
computeroutput
confdates
confgroup
confnum
confsponsor
conftitle
constant
constructorsynopsis
contractnum
contractsponsor
contrib
copyright
corpauthor
corpname
country
database
date
dedication
destructorsynopsis
edition
editor
email
emphasis
entry
entrytbl
envar
epigraph
equation
errorcode
errorname
errortype
example
exceptionname
fax
fieldsynopsis
figure
filename
firstname
firstterm
footnote
footnoteref
foreignphrase
formalpara
funcdef
funcparams
funcprototype
funcsynopsis
funcsynopsisinfo
function
glossary
glossaryinfo
glossdef
glossdiv
glossentry
glosslist
glosssee
glossseealso
glossterm
graphic
graphicco
group
guibutton
guiicon
guilabel
guimenu
guimenuitem
guisubmenu
hardware
highlights
holder
honorific
imagedata
imageobject
imageobjectco
important
index
indexdiv
indexentry
indexinfo
indexterm
informalequation
informalexample
informalfigure
informaltable
initializer
inlineequation
inlinegraphic
inlinemediaobject
interface
interfacename
invpartnumber
isbn
issn
issuenum
itemizedlist
itermset
jobtitle
keycap
keycode
keycombo
keysym
keyword
keywordset
label
legalnotice
lineage
lineannotation
link
listitem
literal
literallayout
lot
lotentry
manvolnum
markup
medialabel
mediaobject
mediaobjectco
member
menuchoice
methodname
methodparam
methodsynopsis
modespec
modifier
mousebutton
msg
msgaud
msgentry
msgexplan
msginfo
msglevel
msgmain
msgorig
msgrel
msgset
msgsub
msgtext
note
objectinfo
olink
ooclass
ooexception
oointerface
option
optional
orderedlist
orgdiv
orgname
otheraddr
othercredit
othername
pagenums
para
paramdef
parameter
part
partinfo
partintro
phone
phrase
pob
postcode
preface
prefaceinfo
primary
primaryie
printhistory
procedure
productname
productnumber
programlisting
programlistingco
prompt
property
pubdate
publisher
publishername
pubsnumber
qandadiv
qandaentry
qandaset
question
quote
refclass
refdescriptor
refentry
refentryinfo
refentrytitle
reference
referenceinfo
refmeta
refmiscinfo
refname
refnamediv
refpurpose
refsect1
refsect1info
refsect2
refsect2info
refsect3
refsect3info
refsynopsisdiv
refsynopsisdivinfo
releaseinfo
remark
replaceable
returnvalue
revdescription
revhistory
revision
revnumber
revremark
row
sbr
screen
screenco
screeninfo
screenshot
secondary
secondaryie
sect1
sect1info
sect2
sect2info
sect3
sect3info
sect4
sect4info
sect5
sect5info
section
sectioninfo
see
seealso
seealsoie
seeie
seg
seglistitem
segmentedlist
segtitle
seriesvolnums
set
setindex
setindexinfo
setinfo
sgmltag
shortaffil
shortcut
sidebar
sidebarinfo
simpara
simplelist
simplemsgentry
simplesect
spanspec
state
step
street
structfield
structname
subject
subjectset
subjectterm
subscript
substeps
subtitle
superscript
surname
symbol
synopfragment
synopfragmentref
synopsis
systemitem
table
tbody
term
tertiary
tertiaryie
textobject
tfoot
tgroup
thead
tip
title
titleabbrev
toc
tocback
tocchap
tocentry
tocfront
toclevel1
toclevel2
toclevel3
toclevel4
toclevel5
tocpart
token
trademark
type
ulink
userinput
varargs
variablelist
varlistentry
varname
videodata
videoobject
void
volumenum
warning
wordasword
xref
year
url

View File

@ -0,0 +1,21 @@
[Explorer]
LastPath=C:\Temp\
SplitterPos=224
SplitterPosHor=200
SortAsc=1
SortPos=0
ColPosName=150
ColPosExt=51
ColPosSize=70
ColPosDate=100
ShowHiddenData=0
ShowBraces=1
ShowLongInfo=0
AddExtToName=0
SizeFormat=1
DateFormat=0
TimeOut=1000
UseSystemIcons=1
LastFilter=*.*
[FilterHistory]
0=*.*

View File

@ -0,0 +1,12 @@
[Folders]
Expand=0
[Files]
Expand=0
[Web]
Expand=0
[Sessions]
Expand=0

View File

@ -0,0 +1,7 @@
[HEX-Editor]
Columns=16
Bits=1
Binary=0
Little=0
Capitel=0
Extensions=

View File

@ -0,0 +1,7 @@
[Console]
Height=162
Visible=0
OEM=1
CmdHistory=0
[Options]
HotKey=F6

View File

@ -0,0 +1,2 @@
[Spell-Checker]
Current Language=en

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,29 @@
[FindReplace]
RepositoryFolders=TextFX Original:%CSIDLX_TEXTFXDATA%\ReplaceSets;Most Recent Folder:;My Documents:%CSIDL_PERSONAL%
RepositorySelected=0
[Settings]
SeparateQuickMenus=0
BlockOverwrite=0
AutoCloseBrace=0
AutoCloseHTMLtag=0
AutoSpace2Tab=0
AutoConvertHTML=0
SortAscending=1
SortLinesUnique=0
MarkWordFindCaseSensitive=0
MarkWordFindWholeWord=0
DisableSubclassing=0
CaptureCutCopyPaste=0
CtrlDAlsoDupsBlock=0
[Viz]
VizCaseSensitive=0
VizWholeWords=0
VizRegex=0
VizCutCopyAppend=0
VizClipboardAlwaysCRLF=1
VizClipboardReplaceNulls=0
VizClipboardCopyAlsoUTF8=0
VizClipboardNotUnicode=0
VizPasteRetainsPosition=0
VizPasteBinary=0
VizPasteToEditorEOL=1

Binary file not shown.

View File

@ -0,0 +1,386 @@
Bugs: Indent & Surround is messing up CRLF line endings
Bugs: Delete Blank lines won't delete every line if only blank lines are marked.
To install this plugin, unpack NPPTextFX.DLL and NPPTextFX\*.HTM;*.TXT ;*.INI to the plugins folder in the N++ install folder then load N++. Delete those files without N++ running to remove the plugin. If everything is working, a Plugins menu will appear and the new tool should be listed under it.
To develop this plugin if you have the source, unpack the entire structure to the plugins folder. Dev-C++ and Code::Blocks projects are provided. All the compilers are supported but OpenWatcom32 1.3 produces a DLL that is incompatible with Windows 98.
To view this demo, load it into Notepad++ and perform the actions suggested to see how they work. If many tools are similar, only a few may be shown. No descriptions will be provided for tools that are totally obvious.
**Demo: Characters Menu
**Demo: NPPTextFX
Programmers waste lots of time and make lots of mistakes doing repetetive but simple tasks. TextFX performs a lot of very odd transforms the purpose and usage of which may not be immediately obvious from the menu descriptions even if you perform them manually on a regular basis. Because of the limited user interface implemented, some transforms require obscure actions on your part. This demo will show you in detail what the transforms do and how they are used. Always remember that no matter what happens, Notepad++ can undo it so you can try again, unless of course, you ask TextFX to erase the Undo Buffer.
**Demo: Quote Changers & Text Converters all require some text to be selected
You are often programming several languages at once and each may have different quote ("') rules. The Quote Changers allow you to alter quotes in large blocks in ways that are neither easy nor reliable with normal or regex search and replace. The rules are not tied to the current language selected since some languages are embedded in others.
... This PHP code is incorrect since proper HTML tolerates ' but prefers ".
echo "<Action type='1' message='2170' wParam='0' lParam='0' sParam=' ' />\n";
... We can use the Swap Quotes to alter it to this:
echo '<Action type="1" message="2170" wParam="0" lParam="0" sParam=" " />\n';
... but that is still not correct because \n does not expand inside of 'PHP' strings.
... Undo that and Escape ' to \" to get the correct result.
echo "<Action type=\"1\" message=\"2170\" wParam=\"0\" lParam=\"0\" sParam=\" \" />\n";
... Doing this is neither reliable nor easy with search and replace.
**Demo: Zap all characters
This tool is usually used with a rectangular selection on text that is in columns. All it does is convert every character to a space, useful for erasing columns so that new text can be written in. It easily zaps all characters in a non rectangular selection but I can't think of any reason why this would be useful. Zapping all non
**Demo: Zap all non printable characters to #
No compiler will accept following math but it's not immediately obvious where the problem is. Mark it and zap all characters to # and you'll immediately see what the compiler doesn't like. Any character that isn't a part of standard ASCII (32-126 TAB CR LF) is replaced with a # sign. Typically you'll want to undo any changes this tool makes and manually make the corrections. The purpose is to make it easy to find where the odd characters are.
c=x­4;
**Demo: Quick Menu (this menu can be pulled out of the Plugins menu by ticking Move quick ... in TextFX Settings)
**Demo: Mark word or find Reverse/Forward
Programmers need fast and handy ways to jump to different points in a file. In this file, there are some printf statements. Search-Find is clumsy because it requires so many check boxes and text entries to get what you want. Instead, you can move to the nearest printf and hit Ctrl-Alt-DOWN ARROW. If nothing is marked, the nearest word will be marked, and when you hit the key again, the next occurance will be found and remarked to make it easy to find again. You can easily navigate between every such word in this file, including using Ctrl-Alt-UP ARROW to come right back up and continue the demo. If the automatic word selection is insufficient you can make a more precise selection and search for that. Some languages and situations will require that the search word be case sensitive. To make movement fast and easy, no beeps or screen flashes occur when the text is not found. For example, we want to write a new convert() all line but we have forgotten the proper calling sequence. I've written in "convertall" below so I can return to this point then we can find the next occurance to see how the function is used, make a copy, and bring it back.
convertall
**Demo: Matching Brace tools require a brace to the left or right of your cursor. The left will be used if there is a brace on each side. You may optionally select the brace but this is usually not necessary.
Mark to matching brace is best used to grab () enclosed text. In the following, we would like to move (bktpos=...) somewhere else but it's hard to visually pick out the correct ending parenthesis because of the confusion. Place your cursor to the left of "(bkt..." and select "Mark to matching brace". We can be to the left because there is no other brace to the left of the carat that could be used instead. You could also place your carat to the right of the ) if you knew which one it was.
if (curpos>0 && (bktpos=SendMessage(getCurrentHScintilla(currentEdit), SCI_BRACEMATCH, curpos-1, 0))>=0) {
Mark lines to matching brace is best to grab complete function, do, while, and if code blocks. We want to move the following struct somewhere else. If we were to select Mark to matching brace, we would need to manually augment the selection to include the "struct NppData" and some whitespace at the end which is quite difficult. Place your cursor on either { or } and select Mark lines to matching brace.
struct NppData {
HWND _nppHandle;
HWND _scintillaMainHandle;
HWND _scintillaSecondHandle;
};
... Notice that lines are marked after the end of the } up to the next non CR/LF so the entire function along with the trailing whitespace is marked. No whitespace left behind! If demand warrants I'll support crossing over "} else {" lines to reach the end of the if statement.
**Demo: Edit Menu
**Demo: Fill down & insert
We have just modified the convertall() function to take an additional integer parameter after the first char. I have modified the first line with the new desired value but I'd prefer not to hit the down-left sequence that everyone loves to hate. Having recently lined up the by a (,), I'd prefer making a rectangular selection around the text and the lines to which it is to be copied and having the editor insert the text for me when I pick Fill down & insert. Spreadsheets have done this for like, ever. Why can't editors do it?
v Alt-Click before the 0
convertall('c',0,"'" ,"\"" ,NULL,NULL);}
convertall('c',"\"" ,"'" ,NULL,NULL); }
convertall('C',"\"'","'\"",NULL,NULL);}
^drag until after the slash (for demo above)
^drag until after the 0 (for demo below)
Thanks to us putting in the wrong value, we can demonstrate the other fill tool. We want all (1) ones to be in that newly created parameter. Change the first one to a (1) one then box out a single column for the 3 digits vertically. Select Fill down & overwrite and they will all switch to ones.
**Demo: Insert (Clipboard) at column through lines
This demo is tricky at first but is quite easy when you get used to it, much easier than hitting down-left-text-down-left-text... The first step is to specify the text to be inserted. The following lines need to have id changed to "testid". First, we mark the word test (<- you can mark that one if you want) and copy that to the clipboard. Then, we mark the following text without the Alt key starting just before the i of id and mark down to just before the i of the last id, then select Insert ... through lines. In standard editors, transforms typically do something to the entire selection. For a programmer's editor, we don't adhere to that rule for substantially greater functionality.
v-start before this i
<Item id="42001"/>
<Item id="0"/>
<Item id="42022"/>
<Item id="42023"/>
^end before this i
... inserting is not limited to static text. You can use # to specify incrementing
counters and $+-number$ to insert before, at, or after the end of line. Here are some
// Examples:
// "text" insert text
// "#" insert 0..1..2..3...
// "#5" insert 5..6..7..8..9... (the default increment is +1)
// "#5+2" insert 5..7..9..11...
// "$#5-2" insert 5..3..1..-1... at end of line
// "$$M$soft" insert M$soft at end of line
// "$4$text" insert text 4 characters beyond end of line. line will be ammended as necessary
// "$-3$#-5-2" insert -5..-7..-9..-11... 3 characters before end of line. lines that are too short will be skipped
This capability is likely to be expanded greatly when someone thinks of how.
**Demo Reindent C++ code:
This feature is begged for over and over in editor forums. It's a shame that more editors don't have it since it is easy enough to implement. It calculates the starting indent from the first marked line then simply counts { and } to increase and decrease the indent. This is not intended to be a full styler. All it does is reindent, particularly so you can find that bracket nesting error which is suddenly causing everything to crash. If you code doesn't compile, you might get some unexpected indent results. There are some special cases:
1) Indents for /* stream comments */ are not changed.
2) goto labels and #preprocessor statements are always at the beginning of the line
3) switch..case statements are indented in a special way that allows them to follow the bracket count exactly. I've always manually written them this way and was very glad when the easiest numeric technique was the one I had been using from the beginning.
4) Since there are no braces, this case is too much extra work to implement properly. These lines will be flat.
if (cond)
stmt;
else
stmt;
5)
There's some code not far down that needs some reindenting.
**Demo: convert leading spaces or tabs to ...
This will read tabwidth and Replace by Space under Settings-Tab Settings and perform the proper conversion of leading whitespace, destroying any non tabwidth multiples of spaces. If a lifetime of horrible editors has trained you to use spaces because tab handling and conversion is so bad, you can train yourself to use tabs by turning on [x]Autoconvert typed leading spaces to tabs and when ever you enter enough spaces, a tab will be substituted in their place. You will need to show Whitespace and Tabs if you want to see this in action. You must have Replace by Space unchecked for this conversion to take place.
**Demo: trim trailing spaces
The best programmer editors always trim trailing spaces and always allow the cursor to go beyond the end of the line. The built in editor in Borland C++ 3.1 DOS does this. When cirumstances prevent you from using an editor done right, extra spaces accumulate randomly on the end of lines. This tool kills them. I had considered removing this since Notepad++ implements it but there are two problems. The N++ implementation is substantially slower than mine, and N++ always trims spaces over the entire file. There might be areas where you don't want spaces removed.
**Demo: Indent sticky...
Every editor author thinks they know how to indent until someone else starts writing code. The following code needs some indenting. Which lines should and should not be indented?
void indentfn(char *text,int tabwidth) {
char *d;
if (*text) {
for(d=text; *d; *d++) {
#ifdef DEBUG
/* Another Debug Routine */
printf(".");
#endif
// Erase some text
*d=' ';
}
}
}
Try marking the improperly indented lines from "for..." to the first "}" and indenting with the built in tool (Edit-Insert TAB (Indent)). Then undo and try the TextFX sticky indent. Which one is more desirable? Notice that undent does not present these complex problems. Now mark the entire function from "void..." to the last "}" and sticky indent to see that the indent is not sticky if the first marked line starts without any whitespace.
**Demo: Indent and Surround with {}
Same as indent but it ads a two lines with { and } around the text ready and waiting for a control statement.
**Demo: Strip unquoted text.
Initially you write nasty code. Later you decide to write a much better code to process some strings but now you need to get the strings now interspersed in code into an array. First copy a (,) into the clipboard as our separator, select the following lines, then select Strip unquoted text and you'll see the strings nicely separated by commas. A CRLF works good as a separator too.
if (strcmp(s,"NASTY")) {
} else if (strcmp(s,"CODE")) {
}
If you leave more than 20 characters in the clipboard, a comma (,) will be used as the separator.
**Demo: Kill unquoted whitespace
Lining up text by (,) or other characters can lead to whitespace getting out of hand. Sometimes you need to revert back to the original non spaced version. Select Kill unquoted whitespace to make the following lines small again.
{"E:-" ,pfdummy ,0,FALSE},
{"E:Sort lines case sensitive (at column)" ,pfqsortlinesc ,0,FALSE}, // this isn't handled right
{"E:Sort lines case insensitive (at column)" ,pfqsortlinesnc ,0,FALSE},
{"E:+Sort ascending" ,pfSortAscending ,0,TRUE} ,
{"E:+Sort outputs only UNIQUE (at column) lines",pfSortLinesUnique,0,TRUE} ,
{"E:-" ,pfdummy ,0,FALSE},
**Demo: Split lines at clipboard character.
Joining lines is easy. Splitting lines is more trouble. The following lines can be converted from a list on a single line to a list on multiple lines. Copy a (,) to the clipboard and select Split lines at clipboard character. This tool may be dropped when Replace is improved to where it can do the same thing.
" Quick"," Edit"," Convert"," HTML Tidy"," Tools"," Viz"," Viz Settings"," Settings"
**Demo: Line up multiple lines
The following lines are hard to read and would be much easier to debug if all the commas (,) were lined up. Select the text and choose Line up ... by (,). Notice that the (,) embedded in the string is skipped. At this time I'm only detecting C-strings but VB/SQL and non escaped string detection is already available and used in some other tools should demand warrant its addition. Most of the time you can just manually fix any incorrectly detected characters.
{"Escape \" to \\\"",convertescapesq,0,FALSE},
{"Escape ' to \\\"",convertescape1qsq,0,FALSE},
{"unEscape \\\" to \"",convertunescapesq,0,FALSE},
{"1:Line up multiple lines by (,)",lineupcomma,0,FALSE},
... You may line up by equals (=) or any character of your choice by copying the desired lineup character to the clipboard and selecting Line up ... by (Clipboard).
**Demo: Rewrap Text
To rewrap text at any desired column number, copy the number to the clipboard and select Rewrap Text at (clipboard) column. If you use a number<8 or number>2048, the default width of 72 will be used. Rewrap text automatically assumes that blank lines are the start of a new paragraph.
**Demo: Pad rectangular selection with spaces
The Scintilla editor component copies a rectangular selection that includes uneven end of lines as a jagged edge. This is no good if where you want to paste it requires that the right edge be smooth. Use this tool on a rectangular selection in the following text from "Short" to "Longer Line" and you'll be able to copy and paste as a truly rectangular block. If the last line isn't long enough to envelope all the lines you will need to pad with spaces manually.
Ignore This Short
Ignore This Long Line
Ignore This Longer Line
**Demo: Convert Menu
**Demo: Encode HTML/URI compnent
The following is an address we would like to embed in our web page. Upon submitting it to http://validator.w3.org/ we get a barrage of errors that indicate that we have used & inappropriately. We can fix that by selecting the latter part of the href and selecting Encode HTML.
<html>
<a href="/search?hl=en&lr=&q=related:www.jcu.edu/math/vignettes/magicsquares.htm">Similar&nbsp;pages</a>
</html>
This will convert the 4 characters <"&> to the appropriate &entity; If you would like special HTML characters converted as you type, enable Autoconvert typed HTML/XML. The <OpenTag, >Close Tag, and "quot; conversions are blocked depending on your position near an open or closed tag to allow tags to be typed without turning this feature off. Autoconvert HTML/XML only scans the current line for open/close tags so characters may convert in multi line tags unexpectantly. Use UNDO to revert any undesired automatic action.
**Demo: Strip HTML tags
This converts HTML to plain text, using or not using tabs for tables as desired. You can select the above HTML and see how little is left after Strip HTML tags. Some common &entity; characters are converted. Unlike most editors which only strip the tags, I try to produce the same amount of whitespace as would be produced from a browser rendered page. You may want to delete surplus blank lines and unwrap text on the text output.
**Demo: Submit HTML to W3C
Select the HTML above and select Submit HTML. The text will be launched in a browser ready to submit to the W3C. If you don't mark any text, the entire file will be sent.
**Demo: Convert .. code command()
We have the following embedded HTML that we need to change into program lines because we now need our server side scripting to calculate the values. Select the language you want the resulting code to run in then you can change the following into code:
<ScintillaContextMenu>
<Item id="42001"/>
<Item id="42002"/>
<Item id="42005"/>
<Item id="42022"/>
<Item id="42023"/>
</ScintillaContextMenu>
... I'll select Language=ASP which will produce the following VBScript compatible code, correctly terminated and escaped for VB:
Response.Write("<ScintillaContextMenu>"&vbCrLf)
Response.Write(" <Item id=""42001""/>"&vbCrLf)
Response.Write(" <Item id=""42002""/>"&vbCrLf)
Response.Write(" <Item id=""42005""/>"&vbCrLf)
Response.Write(" <Item id=""42022""/>"&vbCrLf)
Response.Write(" <Item id=""42023""/>"&vbCrLf)
Response.Write("</ScintillaContextMenu>"&vbCrLf)
... Notice that the indentation was calculated from the first line processed and is preserved throughout all the lines processed. Pick an unsuported language like "Normal Text" and choose Convert ... code command() to see what languages are currently supported.
**Demo: Convert text to hex
There are lots of requests for a hex editor. Initially I though that a hex editor would be too difficult to implement as a plugin. Then I thought of simply converting the text to hex and edit it as text but it seemed too stupid to bother implementing. Now I use it constantly and would rather have it than most other hex editors. Later, I discovered the need to expand from 16 to 128 characters per line. You can pick as little or as much text as you want to convert to hex. Because this isn't a real hex editor you get to change the text pretty much any way you want and you are fully able to import or produce textual hex listings. When you go to convert hex back to text, you need to be aware of a few rules...
**Demo: Convert hex to text
Once you have modified hex or imported it from elsewhere and want to converted to characters, you need to know how it decodes so that you can make way for major unsafe hex. Characters are produced from hex codes that are exactly two and only two hex characters (0-9,A-F,a-f) followed by a space or a dash (-). The decoding jumps to the next line when 3 spaces or a vertical bar (|) is hit. This should be compatible with all DEBUG outputs and most common hex listings. Since it is real text you are editing, you can use the normal editor tools to doctor non compilant hex up so that it will convert to characters properly. There is no required number of hex on a line so you can add or remove hex or entire lines as desired. The offset number need not be present. The text decode on the right need not be present. The only warning you'll get is if you convert hex with offsets and the offsets don't match the original position in the file. Just think of the terrible things that can be accomplished with a binary safe editor.
**Demo: Convert hex byte runs to LE-...
It's a bit hard to read Little Endian WORD and DWORDS in one byte hexen. These tools will allow you to concatenate those Little Endian hexors 2 or 4 at a time in the correct order. Because the hex you are editing is nothing but text, you can select precisely the runs you want to see in a different word size.
**Demo: Convert LE-words to hex byte runs
Once you get your screen all doctored up with WORDS and DWORDS, you may wish to convert the whole thing back to characters. Don't start with converting hex to text because that only recognizes 2 character hex sequences. 4 and 8 character sequences will be discarded. You must first use this tool to convert them all back to 2 character hex runs. This tool autodetects the width which can be any even number of hex characters and it jumps to the next line when 3 spaces or a vertical bar (|) is detected. Note that the hex offset is always 9 hex characters so it is skipped.
**Demo: ROT13 Text
Vs lbh pna ernq guvf, V guvax lbh'ir svtherq guvf bar bhg! Move along, nothing to see here!
**Demo: Ascii & EBCDIC
Vedit is the only true EBCDIC editor I've heard of. All the rest including this one perform a lossy conversion back and forth. This is usually sufficient for minor uses and better than not having it at all.
EBCDIC: ㈅@˜¤‰ƒ’@‚™–¦•@†–§@‰†Mð]@À£ˆ…@“<>©¨@„‡KÐ
There is a built in ASCII EBCDIC table and one provided in a disk file "AsciiToEBCDIC.bin". All of the conversion tables I found differed substantially so I picked the Microsoft table which may not be the best for everyone. If this table isn't good enough, load the .bin file into Notepad++, use the hex conversion, and build a table you like better. If the .bin file is not exactly 512 bytes it will be ignored and the internal table will be used instead. The first 256 bytes convert ASCII -> EBCDIC. The last 256 bytes convert EBCDIC to ASCII.
**Demo: Tidy Menu
**Demo: HTML Tidy (Thanks to PSPAD, an excellent freeware editor, for the ready-made conversions)
HTML Tidy is an optional component that may not be included with your Notepad++ distribution. If it is not present, most menu items will be disabled and a menu item to the download site will be provided. Select About Tidy to find out what went wrong during loading. The TextFX plugin source includes a project to compile Tidy sources into a DLL if you need a newer one than is available. You may also download the publically available libTidy.DLL which is very old and lacks many modern features.
Once you get HTML Tidy installed and running the menus will open up and About Tidy will show you the Tidy version in use. If SubClassing is disabled, you can only run Tidy against a single configuration in HTMLTIDY.CFG which you may need to build and change yourself. If SubClassing is enabled, Tidycfg.ini is scanned to produce the menu items (limit 50) from which HTMLTIDY.CFG is automatically generated each time you select a Tidy Menu item. If you run the same Tidy over and over, the first Tidy option will run Tidy with the same configuration until another Tidy menu item alters it. If you add or alter the name of any Tidy menu options in Tidycfg.ini you can select Refresh Menu to update the menu from the file.
Tidy will use the selected text or the entire file if no text is selected. Often times a Tidy run will produce a Htmltidy.err file which you can leave loaded in another Notepad++ tab and any time it changes, that tab will refresh the error text.
**Demo: Sort lines
You can sort lines on the the first character or at any column of the line. Entire lines will be sorted and where you start your mark on the line determines which column the sort starts on. Text before that column on every line is not considered in the sort or uniqueness test.
v-start before the "P" marking entire lines to sort on the first column
v v-start marking before this character to sort on this column
PFUNCPLUGINCMD hex2decimal() { convertall('n',CAFLAG_DENYBLOCK,"h","d",NULL,NULL); }
PFUNCPLUGINCMD octal2decimal() { convertall('n',CAFLAG_DENYBLOCK,"o","d",NULL,NULL); }
PFUNCPLUGINCMD binary2decimal() { convertall('n',CAFLAG_DENYBLOCK,"b","d",NULL,NULL); }
Line 1 XYZZY
Line 2 The Cave
Line 3 XYZZY
Line 4 XYZZY
Line 5 The Cave
If you sort the above lines at the column starting XYZZY outputing only unique lines, only a two lines will be output. Since a tool to insert and remove line numbers is provided, you can sort unique lines then return them back to their original order in 4 steps.
1) Insert line numbers
2) Sort unique after the line numbers
3) Sort the line numbers
4) Remove the line numbers
**Demo: Tools Menu
**Demo: Insert Ascii chart or character.
If you mark a single character, one line of the ascii chart is inserted
into the document for that character. Otherwise the entire 0-256 Ascii
chart is inserted. If you don't know the ascii code for the following,
you can select it and choose Insert Ascii ... and all of it's codes will
be inserted.
¨
**Demo: Insert Ruler
Notepad++ doesn't have a ruler so I built one that can be inserted into the document. Using rectangular copy and paste you can make this ruler as long as you need.
--- 0---|--- 10---|--- 20---|--- 30---|--- 40---|--- 50---|--- 60---|--- 70---|--- 80---|--- 90---|
123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|
**Demo: add up numbers
Most of my use of commerical spreadsheets is to type in a column of
numbers and add them up. I thought it would be nice if my plugin could
do the same thing. The following is a magic square. You can select each
line and column and use Add up Numbers to verify it. You may sum the
entire square to verify that it is 4 times what the line sum is.
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
**Demo: Viz Menu
**Demo: Hide/Show Lines
Some editors implement code folding which takes too much manual labor to set up. Some editors can bookmark all found lines but this is little use if you need to see many lines of bounding text interspersed with undesired text. Viz can hide and show lines based on a search criteria or selected lines. You can run several viz operations in a row to generate a sequence that can be inserted as comment text and reused later. Select Show ... All/Reset Lines to start a new sequence.
**Demo: For example, we would like to know what all the Demos are in this file.
**Demo: Copy **Demo to the clipboard then select Hide Lines Without (Clipboard)
**Demo: text. Now you can move around, make changes, search/replace, copy text
**Demo: from one place to another, perhaps return to your starting position, and
**Demo: when finished, select Show All Lines to continue the demo! The line you
**Demo: started on is always left visible no matter what rules may try to hide it
**Demo: Cut-Copy-Delete tools are provided to operate specifically on hidden
**Demo or visible text. Be careful since all other operations on selected text
**Demo: includes all the hidden text in between.
**Demo: Viz Settings Menu
**Demo: Cut Copy Paste
I have added many features to cut copy and paste so I have Subclassed Scintilla's. The original tools are still available in the edit menu in case you find a situation that isn't handled right. At this time Paste Binary cannot paste rectangular text. I expect to have this working in the near future. The default Viz Settings are selected to be both compatible with the Scintilla originals and to be more officially compatible with the Windows Clipboard.
**Demo: Cut-Copy not in UNICODE
Scintilla is a UTF-8 editor which is why there are no double byte Scintilla messages. UCS-2 is always handled through translation, such as copying to the Windows Clipboard. Unicode is preferred on the clipboard because Windows can paste it into any Unicode aware application. Windows cannot translate UTF-8 to UNICODE. In some cases it will be necessary to have the UTF-8 text on the clipboard without the UNICODE conversion. This option will only copy UTF-8 as 8 bit ANSI and Windows may convert it to a double byte padded UTF-8, any of which will paste as UTF-8 into any application. Depending on the OS and the editor mode, this and similar options may be autoselected or blocked to ensure compatibility.
**Demo: Capture Keyboard Ctrl+C,X,V
TextFX doesn't yet do the conversions from UNICODE to ansi codepages that Scintilla does. If this is a problem in your language you will want these keys to map to the built in Scintilla routines. If this is only a rare occurance then you may want to use Edit: Cut-Copy-Paste and let TextFX have these keys.
**Demo: Paste/Append binary
Paste binary disables EOL conversion and takes the entire contents without the last NUL character. Binary paste may behave unexpectedly depending on the copy-cut application and OS. Check operation carefully before using regularly. For example, Windows 9x pads the buffer with random trash. Many editors are not careful about how big the clipboard buffer is.
**Demo: Settings Menu
**Demo: Cancel overwrite moving from current line
Proper handling of Insert/Overwrite is ignored by editor authors but vexes programmers constantly. So far switching to insert moving away from the current line is the best way I have thought of to eliminate overwrite accidents without totally disabling overwrite mode.
**Demo: Autoclose HTML tag
This is copied and updated from the N++ supplied InsertPluginDemo. I hope it handles more strange cases than the original. You must have an appropriate language selected (HTML,XML) for this feature to perform. Any time you type a tag such as <html>, a closing tag </html> will be inserted after the cursor, unless you enter a close or self closing tag like </pre> or <br/>. A single UNDO will remove any undesired automatic action.
**Demo: Autoclose brace
Each time you type a ([{, it will be closed for you. ([ will be closed immediately after the cursor and the { will be closed on the next line with the same indent as the current line. A single UNDO will remove any undesired automatic action. You must have a supported language selected for this feature to perform and you must be at the end of a line. Braces will not be autoclosed when editing existing text.
**Demo: Disable Subclassing and advanced features.
At this time the extended Tidy menu and Ctrl-B require subclassing to capture. A future version of Notepad++ may cause Subclassing to fail to operate correctly. The features are still available in a more limited form if Subclassing is turned off.
**Demo: Move quick menus out of 'Plugins' Menu
TextFX Quick and TextFX Viz can be made into separate menus for easier use. They are left inside Plugins by default so that users know that TextFX is separate from Notepad++.
**Demo: Improve Home-End ...
Many people ask for Home and End to not go from BOL to EOL in line wrap mode. The ability to go EOL and BOL of screen lines is built in to Scintilla. This option enables it.

View File

@ -0,0 +1,190 @@
; quick reference: http://tidy.sourceforge.net/docs/quickref.html
; cesky preklad: http://www.pspad.com/cz/tidy.htm
; sample config file for HTML tidy from http://www.w3.org/People/Raggett/tidy/
[Sample from Web Page]
indent: auto
indent-spaces: 2
wrap: 72
markup: yes
output-xml: yes
input-xml: no
show-warnings: yes
numeric-entities: yes
quote-marks: yes
quote-nbsp: yes
quote-ampersand: no
break-before-br: no
uppercase-tags: no
uppercase-attributes: no
char-encoding: latin1
new-inline-tags: cfif, cfelse, math, mroot,
mrow, mi, mn, mo, msqrt, mfrac, msubsup, munderover,
munder, mover, mmultiscripts, msup, msub, mtext,
mprescripts, mtable, mtr, mtd, mth
new-blocklevel-tags: cfoutput, cfquery
new-empty-tags: cfelse
[TiDy clean Document - wrap]
bare:no
clean:no
fix-bad-comments:yes
fix-backslash:yes
indent:yes
indent-attributes:no
indent-spaces:2
char-encoding:raw
replace-color:yes
wrap:80
wrap-asp:yes
wrap-jste:yes
wrap-php:yes
write-back:yes
[TiDy clean Document - nowrap]
bare:no
clean:no
fix-bad-comments:yes
fix-backslash:yes
indent:yes
indent-attributes:no
indent-spaces:2
char-encoding:raw
replace-color:yes
wrap:0
wrap-asp:no
wrap-jste:no
wrap-php:no
write-back:yes
[TiDy clean Document - nowrap, no indent]
bare:no
clean:no
fix-bad-comments:yes
fix-backslash:yes
indent:no
indent-attributes:no
indent-spaces:2
char-encoding:raw
replace-color:yes
wrap:0
wrap-asp:no
wrap-jste:no
wrap-php:no
write-back:yes
[TiDy clean Microsoft Word 2000 document]
doctype:auto
drop-empty-paras:yes
fix-bad-comments:yes
fix-uri:yes
join-styles:yes
lower-literals:yes
ncr:yes
quote-ampersand:yes
quote-nbsp:yes
word-2000:yes
markup:yes
wrap-jste:yes
wrap-php:yes
wrap-sections:yes
write-back:yes
[TiDy clean Document - quote]
quote-ampersand:yes
quote-marks:yes
quote-nbsp:yes
write-back:yes
[TiDy upgrade to CSS]
add-xml-decl:no
;add-xml-pi:no
alt-text:Image
break-before-br:no
clean:yes
doctype:auto
drop-empty-paras:no
drop-font-tags:yes
fix-backslash:yes
fix-bad-comments:yes
hide-endtags:no
char-encoding:raw
indent:yes
indent-spaces:2
input-xml:no
markup:yes
quiet:yes
tidy-mark:no
uppercase-attributes:no
uppercase-tags:no
word-2000:yes
wrap:100
wrap-asp:yes
wrap-attributes:yes
wrap-jste:yes
wrap-php:yes
write-back:yes
[TiDy convert to XML]
add-xml-decl:yes
;add-xml-pi:yes
alt-text:Image
break-before-br:no
clean:yes
doctype:AUTO
drop-empty-paras:no
drop-font-tags:yes
fix-bad-comments:yes
hide-endtags:no
char-encoding:raw
indent:yes
indent-spaces:2
input-xml:no
markup:yes
output-xml:yes
quiet:yes
tidy-mark:no
uppercase-attributes:no
uppercase-tags:no
word-2000:no
wrap:100
wrap-asp:yes
wrap-attributes:yes
wrap-jste:yes
wrap-php:yes
write-back:yes
[Tidy convert to XHTML]
add-xml-decl:no
;add-xml-pi:no
alt-text:Image
break-before-br:no
clean:yes
doctype:auto
drop-empty-paras:no
drop-font-tags:yes
error-file:error.log
fix-backslash:yes
fix-bad-comments:yes
hide-endtags:no
char-encoding:raw
indent:yes
indent-spaces:2
input-xml:no
markup:yes
output-xhtml:yes
output-xml:no
quiet:yes
tidy-mark:no
uppercase-attributes:no
uppercase-tags:no
word-2000:no
wrap:100
wrap-asp:yes
wrap-attributes:yes
wrap-jste:yes
wrap-php:yes
write-back:yes
[Tidy: Reindent XML]
input-xml: yes
indent:yes

View File

@ -0,0 +1,5 @@
<html>
<form action="http://jigsaw.w3.org/css-validator/validator" method="put">
<textarea name="text" rows="12" cols="75">%s</textarea><br/>
<input type="submit" value="Check" />
</form>

View File

@ -0,0 +1,6 @@
<html>
<form method="post" enctype="multipart/form-data" action="http://validator.w3.org/check">
<textarea cols="75" rows="12" name="fragment" id="fragment">%s</textarea><br />
<input type="submit" value="Check"/>
</form>
</html>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,72 @@
****************************************************************************
* NppExec plugin ver. 0.2 for Notepad++ 4.0.2 (and above)
* by DV, December 2006 - April 2007
****************************************************************************
*
* Possibilities:
* 1) Run multiple commands from main window
* 2) Run stand-alone command from Console Dlg
* 3) Additional commands:
* npp_exec <script> - execute commands from specified script
* npp_exec <file> - execute commands from specified file (*)
* npp_open <file> - open a file in Notepad++
* npp_run <command> - run external process/command
* npp_save - save current file in Notepad++
* npp_save <file> - save a file in Notepad++ (if it's opened) (*)
* npp_switch <file> - switch to specified opened file (*)
* (*) these commands work with a partial file path/name also
* i.e. npp_save c:\dir\f.txt is the same as npp_save f.txt
* 4) Additional console commands (Console Dlg only):
* cls - clear Console screen
* help - show available commands
* CTRL+C - terminate current child process
* CTRL+BREAK - terminate current child process
* 5) All Notepad++ environment variables are supported:
* $(FULL_CURRENT_PATH) : E:\my Web\main\welcome.html
* $(CURRENT_DIRECTORY) : E:\my Web\main\
* $(FILE_NAME) : welcome.html
* $(NAME_PART) : welcome
* $(EXT_PART) : html
* $(NPP_DIRECTORY) : the full path of notepad++'s directory
* $(CURRENT_WORD) : word(s) you selected in Notepad++
* 6) Additional environment variables:
* $(#0) : C:\Program Files\Notepad++\notepad++.exe
* $(#N), N=1,2,3... : full path of the Nth opened document
*
****************************************************************************
*************
* HISTORY *
*************
v0.2 beta3 - April 2007
-----------------------
- fixed: Delete button (Script name dialog) was not enabled sometimes
+ Menu: Show Console Dialog
+ Console Output Filter: Exclude all empty lines
+ Comment delimiter can be user-defined, // in :// is no more comment
v0.2 beta2 - March 2007
-----------------------
+ Menu: Console Commands History.
When enabled, previous commands can be scrolled by pressing
arrow keys Up and Down.
+ Menu: Console Output Filter.
When enabled, output messages from running console process
can be filtered (i.e. particular lines can be excluded)
- ConsoleDlg: Ctrl+A is unlocked
- ConsoleDlg: Quotes "" are no more added automatically for paths
with spaces (because of a bug with executables w/o extension
such as "cmd /c calc.exe")
- Several internal fixes
- Several additional internal fixes :-)
* Thanks to Jim Granville for his suggestions
v0.1 - March 2007
-----------------
* initial version

View File

@ -0,0 +1,139 @@
****************************************************************************
* NppExec plugin ver. 0.2 for Notepad++ 4.0.2 (and above)
* by DV, December 2006 - April 2007
****************************************************************************
***************************
* Technical Information *
***************************
NppExec has advanced "hidden" settings which can be set manually.
You need to edit NppExec's ini-file: "\Plugins\Config\NppExec.ini".
--------------------------------------------------------------
| KEY | DEFAULT VALUE | TYPE |
|--------------------------------------------------------------|
| ChildProcess_StartupTimeout_ms | 240 | int |
| ChildProcess_CycleTimeout_ms | 120 | int |
| Path_AutoDblQuotes | 0 (FALSE) | BOOL |
| CmdHistory_MaxItems | 256 | int |
| Exec_MaxCount | 100 | int |
| RichEdit_MaxTextLength | 4194304 (4 MB) | int |
| CommentDelimiter | // | string |
--------------------------------------------------------------
The purpose of each key is described below.
You can add specified keys to [Console] section of this ini-file.
For example, you can modify it in the following way:
[Console]
Visible=0
OEM=1
CmdHistory=1
ChildProcess_StartupTimeout_ms=240
ChildProcess_CycleTimeout_ms=120
Path_AutoDblQuotes=0
CmdHistory_MaxItems=256
Exec_MaxCount=100
RichEdit_MaxTextLength=4194304
CommentDelimiter=//
ChildProcess_StartupTimeout_ms
------------------------------
This parameter is important when a child console process is created.
The child process usually can't be created immediately, therefore
we must give some time to this process to be started.
Here is a general implementation of this part of code:
if ( CreateProcess( ... , &ProcInfo ) )
{
CloseHandle( ProcInfo.hThread );
WaitForSingleObject( ProcInfo.hProcess, STARTUP_TIMEOUT );
...
}
When the process is started, WaitForSingleObject returns.
But, if the value of STARTUP_TIMEOUT is too low, WaitForSingleObject
may return before the process is started.
If default value of ChildProcess_StartupTimeout_ms is not enough for
your PC, you can increase it. IMHO, it can not exceed 400 ms.
ChildProcess_CycleTimeout_ms
----------------------------
The only purpose of this parameter is to decrease the CPU usage.
The bigger value you set, the less CPU usage you get :-)
Here is an implementation of this part of code in outline:
do {
// reading from the process'es pipe
...
} while ( WaitForSingleObject( ProcInfo.hProcess,
CYCLE_TIMEOUT ) == WAIT_TIMEOUT );
Don't forget that actually the value of ChildProcess_CycleTimeout_ms
is a pause between requests to the child console process'es output,
so values > 500 ms are not recommened.
Path_AutoDblQuotes
------------------
If you enable this option (set it to 1), then path to executable
which contains spaces (for example, "my program 1.exe") will be
automatically enclosed in quotes "".
It is disabled by default because of a bug with executables w/o
extension. For example, this line
cmd /c calc.exe
will be modified (if this option is enabled) to this one:
"cmd /c calc.exe"
because "cmd" is given without extension ".exe".
Therefore don't forget to enclose paths with spaces in quotes
manually, when this option is disabled.
CmdHistory_MaxItems
-------------------
Specifies maximum number of items in the console commands history.
Exec_MaxCount
-------------
Specifies maximum number of NPP_EXEC calls within one script.
This value is needed to prevent the infinite loop of several scripts
which call each other, e.g.
::script1
npp_exec script2
::script2
npp_exec script1
RichEdit_MaxTextLength
----------------------
Specifies maximum number of characters which can be stored or
pasted into the Console dialog's rich edit control.
CommentDelimiter
----------------
Specifies a comment delimiter :-) I.e. all characters after
this delimiter are understood as a comment, and the text line
(command) is truncated at the position of this delimiter.
Exception:
- when the comment delimiter is // then :// is not truncated
at the position of // (because :// can be a part of http://).
Note:
- if you specify empty comment delimiter i.e.
CommentDelimiter=
then you can not use comments in your commands/scripts because
there is no comment delimiter in this case.

View File

@ -0,0 +1,100 @@
/* QuickText - Quick editing tags for Notepad++
Copyright (C) 2006 João Moreno (alph.pt@gmail.com)
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.
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.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
Name: QuickText
Version: 0.2
Link: http://sourceforge.net/projects/quicktext/
Author: João Moreno <alph.pt@gmail.com>
DESCRIPTION
Quicktext is a Notepad++ plugin for quick text substitution, including multi
field inputs. It's similar to Tab Triggers in TextMate.
INSTALLATION
Just copy the QuickText.dll into Notepad++'s plugin directory
(mine is C:\Program Files\Notepad++\plugins), and the QuickText.ini file into
Notepad++'s directory (C:\Program Files\Notepad++).
USAGE
Use the key shortcut CTRL+Enter to use QuickText tags.
CUSTOMIZATION
To make you're own tags:
- First make sure the tag's Language Section already exists. This is done by
creating a new section with the code corresponding to the Language.
(See LANGUAGE CODES).
- Then, for the key of the tag, use only lower/upper case and numbers.
- Special chars:
- $ hotspots
- \$ for writing actual '$'
- \n break line.
Or just use the Options GUI. (v0.2) :)
EXAMPLE
*** (8 is the Language Code for HTML)
[8]
link=<a href="$">$</a>
LANGUAGE CODES
00 TXT
01 PHP
02 C
03 CPP
04 CS
05 OBJC
06 JAVA
07 RC
08 HTML
09 XML
10 MAKEFILE
11 PASCAL
12 BATCH
13 INI
14 NFO
15 USER
16 ASP
17 SQL
18 VB
19 JS
20 CSS
21 PERL
22 PYTHON
23 LUA
24 TEX
25 FORTRAN
26 BASH
27 FLASH
28 NSIS
29 TCL
30 LISP
31 SCHEME
32 ASM
33 DIFF
34 PROPS
35 PS
36 RUBY
37 SMALLTALK
38 VHDL

View File

@ -0,0 +1,45 @@
Notepad++ release Note :
What is Notepad++?
******************
Notepad++ is a generic source editor (it tries to be anyway) and Notepad replacement written in C++ with the win32 API. The aim of Notepad++ is to offer a slim and efficient binary with a totally customizable GUI. This project is under the GPL Licence (http://www.gnu.org/copyleft/gpl.html).
Why another source editor?
**************************
I worked for a big smart card company as an engineer developer. On 2003, I took charge of looking for an alternative solution for an internal tool coded in Java. The internal tool needed an edit component, and I discovered Scintilla (which allows me to develop in C++) on the Internet. I began my conception and development on this project.
In the mean time, the company where I worked began to use a new development environment, and a property language as well, to re-develop all internal tools. All the developers were forced to use this unstable and uncomfortable IDE and the incoherent property language. This project was unfortunately abandoned (or on the contrary?).
As a C++/Java developer, I decided to continue the project in my spare time. The prototype of project was already done, I removed the components which depend on the specification of the abandoned project - It made a generic code editor. Then I made it available on sourceforge : that's the beginning of Notepad++.
Time moves on, and I continue to improve Notepad++. Two things make me continue this project : my need to work on a coherent project by using my beloved language C++ and the encouragement from Notepad++ users. So you asked me "Why another source editor", the answer that I can give you is : "Why not? Since I enjoy myself doing it."
How to install :
****************
From the installer :
Just follow the install wizard.
From the zip :
just unzip all the files into a directory you want then launch it.
Project web sites :
*******************
Notepad++ official site :
http://notepad-plus.sourceforge.net/
Here you can find all the informations about Notepad++, such as FAQ/tutorial, plugins/extension download, news, shops, etc...
Notepad++ project site :
http://sourceforge.net/projects/notepad-plus/
It is Notepad++ project site. The source codes and binaries are distributed here. You can do your feature requests or bug reports by using the trackers, you can ask your question regarding Notepad++ in the divers forums as well.
Don HO <don.h@free.fr>
**********************

View File

@ -0,0 +1,5 @@
<NotepadPlus>
<Session actifIndex="0">
<File firstVisibleLine="0" xOffset="0" startPos="370" endPos="423">C:\Users\Don\sources\notepad++\PowerEditor\bin\change.log</File>
</Session>
</NotepadPlus>

View File

@ -0,0 +1,23 @@
<NotepadPlus>
<InternalCommands />
<UserDefinedCommands>
<Command name="launch in Firefox" Ctrl="yes" Alt="yes" Shift="yes" Key="88">firefox &quot;$(FULL_CURRENT_PATH)&quot;</Command>
<Command name="launch in IE" Ctrl="yes" Alt="yes" Shift="yes" Key="73">iexplore &quot;$(FULL_CURRENT_PATH)&quot;</Command>
<Command name="Get php help" Ctrl="no" Alt="yes" Shift="no" Key="112">http://www.php.net/%20$(CURRENT_WORD)</Command>
<Command name="Google Search" Ctrl="no" Alt="yes" Shift="no" Key="113">http://www.google.com/search?q=$(CURRENT_WORD)</Command>
<Command name="Wikipedia Search" Ctrl="no" Alt="yes" Shift="no" Key="114">http://en.wikipedia.org/wiki/Special:Search?search=$(CURRENT_WORD)</Command>
<Command name="open file" Ctrl="no" Alt="yes" Shift="no" Key="116">$(NPP_DIRECTORY)\notepad++.exe $(CURRENT_WORD)</Command>
<Command name="open in another instance" Ctrl="no" Alt="yes" Shift="no" Key="117">$(NPP_DIRECTORY)\notepad++.exe $(CURRENT_WORD) -multiInst</Command>
</UserDefinedCommands>
<Macros>
<Macro name="Trim Trailing and save" Ctrl="no" Alt="yes" Shift="yes" Key="83">
<Action type="1" message="2170" wParam="0" lParam="0" sParam=" " />
<Action type="1" message="2170" wParam="0" lParam="0" sParam=" " />
<Action type="1" message="2170" wParam="0" lParam="0" sParam=" " />
<Action type="0" message="2327" wParam="0" lParam="0" sParam="" />
<Action type="0" message="2327" wParam="0" lParam="0" sParam="" />
<Action type="2" message="0" wParam="42024" lParam="0" sParam="" />
<Action type="2" message="0" wParam="41006" lParam="0" sParam="" />
</Macro>
</Macros>
</NotepadPlus>

709
PowerEditor/bin/stylers.xml Normal file
View File

@ -0,0 +1,709 @@
<?xml version="1.0" encoding="Windows-1252" ?>
<NotepadPlus>
<LexerStyles>
<LexerType name="c" desc="C" ext="">
<WordsStyle name="PREPROCESSOR" styleID="9" fgColor="804000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="DEFAULT" styleID="11" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="INSTRUCTION WORD" styleID="5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="TYPE WORD" styleID="16" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type1" />
<WordsStyle name="NUMBER" styleID="4" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="6" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CHARACTER" styleID="7" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="VERBATIM" styleID="13" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="REGEX" styleID="14" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT DOC" styleID="3" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE DOC" styleID="15" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT DOC KEYWORD" styleID="17" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="1" fontSize="8" />
<WordsStyle name="COMMENT DOC KEYWORD ERROR" styleID="18" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
</LexerType>
<LexerType name="cpp" desc="C++" ext="">
<WordsStyle name="PREPROCESSOR" styleID="9" fgColor="804000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="DEFAULT" styleID="11" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="INSTRUCTION WORD" styleID="5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="TYPE WORD" styleID="16" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type1" />
<WordsStyle name="NUMBER" styleID="4" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="6" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CHARACTER" styleID="7" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="VERBATIM" styleID="13" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="REGEX" styleID="14" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT DOC" styleID="3" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE DOC" styleID="15" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT DOC KEYWORD" styleID="17" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="1" fontSize="8" />
<WordsStyle name="COMMENT DOC KEYWORD ERROR" styleID="18" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
</LexerType>
<LexerType name="java" desc="Java" ext="">
<WordsStyle name="PREPROCESSOR" styleID="9" fgColor="804000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="DEFAULT" styleID="11" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="INSTRUCTION WORD" styleID="5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="TYPE WORD" styleID="16" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type1" />
<WordsStyle name="NUMBER" styleID="4" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="6" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CHARACTER" styleID="7" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="VERBATIM" styleID="13" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="REGEX" styleID="14" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT DOC" styleID="3" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE DOC" styleID="15" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT DOC KEYWORD" styleID="17" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="1" fontSize="8" />
<WordsStyle name="COMMENT DOC KEYWORD ERROR" styleID="18" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
</LexerType>
<LexerType name="cs" desc="C#" ext="">
<WordsStyle name="PREPROCESSOR" styleID="9" fgColor="804000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="DEFAULT" styleID="11" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="INSTRUCTION WORD" styleID="5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="TYPE WORD" styleID="16" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="NUMBER" styleID="4" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="6" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CHARACTER" styleID="7" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="VERBATIM" styleID="13" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="REGEX" styleID="14" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT DOC" styleID="3" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE DOC" styleID="15" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT DOC KEYWORD" styleID="17" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="1" fontSize="8" />
<WordsStyle name="COMMENT DOC KEYWORD ERROR" styleID="18" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
</LexerType>
<LexerType name="rc" desc="RC" ext="">
<WordsStyle name="PREPROCESSOR" styleID="9" fgColor="804000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="DEFAULT" styleID="11" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="INSTRUCTION WORD" styleID="5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="TYPE WORD" styleID="16" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="NUMBER" styleID="4" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="6" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CHARACTER" styleID="7" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="VERBATIM" styleID="13" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="REGEX" styleID="14" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT DOC" styleID="3" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE DOC" styleID="15" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT DOC KEYWORD" styleID="17" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="1" fontSize="8" />
<WordsStyle name="COMMENT DOC KEYWORD ERROR" styleID="18" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
</LexerType>
<LexerType name="tcl" desc="TCL" ext="">
<WordsStyle name="PREPROCESSOR" styleID="9" fgColor="804000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="DEFAULT" styleID="11" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="INSTRUCTION WORD" styleID="5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="TYPE WORD" styleID="16" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type1" />
<WordsStyle name="NUMBER" styleID="4" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="6" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CHARACTER" styleID="7" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="VERBATIM" styleID="13" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="REGEX" styleID="14" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT DOC" styleID="3" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE DOC" styleID="15" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT DOC KEYWORD" styleID="17" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="1" fontSize="8" />
<WordsStyle name="COMMENT DOC KEYWORD ERROR" styleID="18" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
</LexerType>
<LexerType name="objc" desc="Objective-C" ext="">
<WordsStyle name="DIRECTIVE" styleID="19" fgColor="A001D6" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre2" />
<WordsStyle name="DEFAULT" styleID="11" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="QUALIFIER" styleID="20" fgColor="95004A" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type2" />
<WordsStyle name="PREPROCESSOR" styleID="9" fgColor="804000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="INSTRUCTION WORD" styleID="5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="TYPE WORD" styleID="16" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type1" />
<WordsStyle name="NUMBER" styleID="4" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="6" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CHARACTER" styleID="7" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="VERBATIM" styleID="13" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="REGEX" styleID="14" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT DOC" styleID="3" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE DOC" styleID="15" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT DOC KEYWORD" styleID="17" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="1" fontSize="8" />
<WordsStyle name="COMMENT DOC KEYWORD ERROR" styleID="18" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
</LexerType>
<LexerType name="sql" desc="SQL" ext="">
<WordsStyle name="KEYWORD" styleID="5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="NUMBER" styleID="4" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="6" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING2" styleID="7" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
</LexerType>
<LexerType name="html" desc="HTML" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="COMMENT" styleID="9" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="NUMBER" styleID="5" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="DOUBLESTRING" styleID="6" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="SINGLESTRING" styleID="7" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="TAG" styleID="1" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="TAGUNKNOWN" styleID="2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="ATTRIBUTE" styleID="3" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="ATTRIBUTEUNKNOWN" styleID="4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="SGMLDEFAULT" styleID="21" fgColor="000000" bgColor="A6CAF0" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CDATA" styleID="17" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="VALUE" styleID="19" fgColor="FF8000" bgColor="FEFDE0" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="ENTITY" styleID="10" fgColor="000000" bgColor="FEFDE0" fontName="" fontStyle="2" fontSize="" />
</LexerType>
<LexerType name="php" desc="php" ext="">
<WordsStyle name="QUESTION MARK" styleID="18" fgColor="FF0000" bgColor="FDF8E3" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="DEFAULT" styleID="118" fgColor="000000" bgColor="FEFCF5" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="119" fgColor="808080" bgColor="FEFCF5" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING VARIABLE" styleID="126" fgColor="808080" bgColor="FEFCF5" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="SIMPLESTRING" styleID="120" fgColor="808080" bgColor="FEFCF5" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="WORD" styleID="121" fgColor="0000FF" bgColor="FEFCF5" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="NUMBER" styleID="122" fgColor="FF8000" bgColor="FEFCF5" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="VARIABLE" styleID="123" fgColor="000080" bgColor="FEFCF5" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT" styleID="124" fgColor="008000" bgColor="FEFCF5" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENTLINE" styleID="125" fgColor="008000" bgColor="FEFCF5" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="OPERATOR" styleID="127" fgColor="8000FF" bgColor="FEFCF5" fontName="" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="javascript" desc="Javascript" ext="">
<WordsStyle name="DEFAULT" styleID="41" fgColor="000000" bgColor="F2F4FF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="NUMBER" styleID="45" fgColor="FF0000" bgColor="F2F4FF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="WORD" styleID="46" fgColor="000000" bgColor="F2F4FF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="KEYWORD" styleID="47" fgColor="000080" bgColor="F2F4FF" fontName="" fontStyle="3" fontSize="" keywordClass="instre1" />
<WordsStyle name="DOUBLESTRING" styleID="48" fgColor="808080" bgColor="F2F4FF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="SINGLESTRING" styleID="49" fgColor="808080" bgColor="F2F4FF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="SYMBOLS" styleID="50" fgColor="000000" bgColor="F2F4FF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="STRINGEOL" styleID="51" fgColor="808080" bgColor="F2F4FF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="REGEX" styleID="52" fgColor="8000FF" bgColor="F2F4FF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT" styleID="42" fgColor="008000" bgColor="F2F4FF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENTLINE" styleID="43" fgColor="008000" bgColor="F2F4FF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENTDOC" styleID="44" fgColor="008080" bgColor="F2F4FF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
</LexerType>
<LexerType name="asp" desc="asp" ext="asp">
<WordsStyle name="DEFAULT" styleID="81" fgColor="8000FF" bgColor="C4F9FD" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENTLINE" styleID="82" fgColor="008000" bgColor="C4F9FD" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="NUMBER" styleID="83" fgColor="FF0000" bgColor="C4F9FD" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="WORD" styleID="84" fgColor="000080" bgColor="C4F9FD" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="STRING" styleID="85" fgColor="808080" bgColor="C4F9FD" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRINGEOL" styleID="87" fgColor="808080" bgColor="C4F9FD" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="IDENTIFIER" styleID="86" fgColor="000000" bgColor="C4F9FD" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="ASPSYBOL" styleID="15" fgColor="000000" bgColor="FFFF00" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="SCRIPTTYPE" styleID="16" fgColor="000000" bgColor="FFC000" fontName="" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="xml" desc="XML" ext="">
<WordsStyle name="XMLSTART" styleID="12" fgColor="FF0000" bgColor="FFFF00" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="XMLEND" styleID="13" fgColor="FF0000" bgColor="FFFF00" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="COMMENT" styleID="9" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="NUMBER" styleID="5" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="DOUBLESTRING" styleID="6" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="SINGLESTRING" styleID="7" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="TAG" styleID="1" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="TAGEND" styleID="11" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="TAGUNKNOWN" styleID="2" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="ATTRIBUTE" styleID="3" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="ATTRIBUTEUNKNOWN" styleID="4" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="SGMLDEFAULT" styleID="21" fgColor="000000" bgColor="A6CAF0" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CDATA" styleID="17" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="ini" desc="ini file" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="SECTION" styleID="2" fgColor="8000FF" bgColor="F2F4FF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="ASSIGNMENT" styleID="3" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="DEFVAL" styleID="4" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="props" desc="Properties file" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="ASSIGNMENT" styleID="3" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="DEFVAL" styleID="4" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="diff" desc="DIFF" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMAND" styleID="2" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="HEADER" styleID="3" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="POSITION" styleID="4" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="DELETED" styleID="5" fgColor="808040" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="ADDED" styleID="6" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="nfo" desc="Dos Style" ext="">
<WordsStyle name="DEFAULT" styleID="32" fgColor="C0C0C0" bgColor="000000" />
</LexerType>
<LexerType name="makefile" desc="Makefile" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="PREPROCESSOR" styleID="2" fgColor="FFFF00" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="IDENTIFIER" styleID="3" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="TARGET" styleID="5" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="IDEOL" styleID="9" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="2" fontSize="" />
</LexerType>
<LexerType name="vb" desc="VB / VBS" ext="">
<WordsStyle name="DEFAULT" styleID="7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="NUMBER" styleID="2" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="WORD" styleID="3" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="instre1" />
<WordsStyle name="STRING" styleID="4" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="PREPROCESSOR" styleID="5" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="DATE" styleID="8" fgColor="00FF00" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="css" desc="CSS" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="TAG" styleID="1" fgColor="0000FF" bgColor="FFFFFF" fontName="Batang" fontStyle="0" fontSize="" />
<WordsStyle name="CLASS" styleID="2" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="PSEUDOCLASS" styleID="3" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="UNKNOWN_PSEUDOCLASS" styleID="4" fgColor="FF8080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="IDENTIFIER" styleID="6" fgColor="8080C0" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="UNKNOWN_IDENTIFIER" styleID="7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="VALUE" styleID="8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="COMMENT" styleID="9" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="ID" styleID="10" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="IMPORTANT" styleID="11" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="DIRECTIVE" styleID="12" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="pascal" desc="Pascal" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="PREPROCESSOR" styleID="9" fgColor="804000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="IDENTIFIER" styleID="11" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="INSTRUCTION WORD" styleID="5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="NUMBER" styleID="4" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CHARACTER" styleID="7" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="REGEX" styleID="14" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT DOC" styleID="3" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
</LexerType>
<LexerType name="perl" desc="Perl" ext="">
<WordsStyle name="PREPROCESSOR" styleID="9" fgColor="804000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="DEFAULT" styleID="0" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="INSTRUCTION WORD" styleID="5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="NUMBER" styleID="4" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="6" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CHARACTER" styleID="7" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="REGEX" styleID="17" fgColor="8080FF" bgColor="F8FEDE" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT LINE" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="SCALAR" styleID="12" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="ARRAY" styleID="13" fgColor="CF34CF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="HASH" styleID="14" fgColor="8080C0" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="SYMBOL TABLE" styleID="15" fgColor="FF0000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="1" fontSize="" />
<WordsStyle name="PUNCTUATION" styleID="8" fgColor="804000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="POD" styleID="3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="ERROR" styleID="1" fgColor="FF80C0" bgColor="FFFFFF" fontName="" fontStyle="3" fontSize="" />
<WordsStyle name="LONGQUOTE" styleID="19" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="DATASECTION" styleID="21" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="REGSUBST" styleID="18" fgColor="8080C0" bgColor="FFEEEC" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="BACKTICKS" styleID="20" fgColor="FFFF00" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
</LexerType>
<LexerType name="python" desc="Python" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENTLINE" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="NUMBER" styleID="2" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="3" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CHARACTER" styleID="4" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="KEYWORDS" styleID="5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="TRIPLE" styleID="6" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="TRIPLEDOUBLE" styleID="7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CLASSNAME" styleID="8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="DEFNAME" styleID="9" fgColor="FF00FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="IDENTIFIER" styleID="11" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENTBLOCK" styleID="12" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="STRINGEOL" styleID="12" fgColor="FFFF00" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="batch" desc="Batch" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="KEYWORDS" styleID="2" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="LABEL" styleID="3" fgColor="FF0000" bgColor="FFFF80" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="HIDE SYBOL" styleID="4" fgColor="FF00FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMAND" styleID="5" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="VARIABLE" styleID="6" fgColor="FF8000" bgColor="FCFFF0" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="OPERATOR" styleID="7" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
</LexerType>
<LexerType name="lua" desc="Lua" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT DOC" styleID="3" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="LITERALSTRING" styleID="8" fgColor="95004A" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="PREPROCESSOR" styleID="9" fgColor="804000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="INSTRUCTION WORD" styleID="5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="NUMBER" styleID="4" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="6" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CHARACTER" styleID="7" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="FUNC1" styleID="13" fgColor="0080C0" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre2" />
<WordsStyle name="FUNC2" styleID="14" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="type1" />
<WordsStyle name="FUNC3" styleID="15" fgColor="0000A0" bgColor="FFFFFF" fontName="" fontStyle="3" fontSize="" keywordClass="type2" />
</LexerType>
<LexerType name="tex" desc="TeX" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="SPECIAL" styleID="1" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="GROUP" styleID="2" fgColor="FF00FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="SYMBOL" styleID="3" fgColor="800000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMAND" styleID="4" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="TEXT" styleID="5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="4" fontSize="" />
</LexerType>
<LexerType name="nsis" desc="NSIS" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENTLINE" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="STRING DOUBLE QUOTE" styleID="2" fgColor="808080" bgColor="EEEEEE" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING LEFT QUOTE" styleID="3" fgColor="FFFF80" bgColor="C0C0C0" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING RIGHT QUOTE" styleID="4" fgColor="FFFFFF" bgColor="C0C0C0" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="FUNCTION" styleID="5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="instre1" />
<WordsStyle name="VARIABLE" styleID="6" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="instre2" />
<WordsStyle name="LABEL" styleID="7" fgColor="FF0000" bgColor="FFFF80" fontName="" fontStyle="0" fontSize="" keywordClass="type1" />
<WordsStyle name="USER DEFINED" styleID="8" fgColor="FDFFEC" bgColor="FF80FF" fontName="" fontStyle="4" fontSize="" keywordClass="type2" />
<WordsStyle name="SECTION" styleID="9" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="SUBSECTION" styleID="10" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="IF DEFINE" styleID="11" fgColor="808040" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="MACRO" styleID="12" fgColor="800000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="STRING VAR" styleID="13" fgColor="FF8000" bgColor="EFEFEF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="NUMBER" styleID="14" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="SECTION GROUP" styleID="15" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="PAGE EX" styleID="16" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="FUNCTION DEFINITIONS" styleID="17" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="COMMENT" styleID="18" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="actionscript" desc="ActionScript" ext="">
<!--
<WordsStyle name="DIRECTIVE" styleID="19" fgColor="A001D6" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre2" />
-->
<WordsStyle name="DEFAULT" styleID="11" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="FUNCTION" styleID="20" fgColor="95004A" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type2" />
<WordsStyle name="PREPROCESSOR" styleID="9" fgColor="804000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="INSTRUCTION WORD" styleID="5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="TYPE WORD" styleID="16" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type1" />
<WordsStyle name="NUMBER" styleID="4" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="6" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CHARACTER" styleID="7" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="VERBATIM" styleID="13" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="REGEX" styleID="14" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT DOC" styleID="3" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE DOC" styleID="15" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT DOC KEYWORD" styleID="17" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="1" fontSize="8" />
<WordsStyle name="COMMENT DOC KEYWORD ERROR" styleID="18" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
</LexerType>
<LexerType name="bash" desc="bash" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="ERROR" styleID="1" fgColor="FFFFFF" bgColor="FF0000" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="INSTRUCTION WORD" styleID="4" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="NUMBER" styleID="3" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="5" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CHARACTER" styleID="6" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="7" fgColor="804000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="IDENTIFIER" styleID="8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="SCALAR" styleID="9" fgColor="FF8040" bgColor="FFFFD9" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="COMMENT LINE" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="PARAM" styleID="10" fgColor="008080" bgColor="00FFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="" />
<WordsStyle name="BACKTICKS" styleID="11" fgColor="804040" bgColor="E1FFF3" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="HERE DELIM" styleID="12" fgColor="0000FF" bgColor="FF0000" fontName="Comic Sans MS" fontStyle="1" fontSize="" />
<WordsStyle name="HERE Q" styleID="13" fgColor="FF0000" bgColor="0000FF" fontName="Comic Sans MS" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="fortran" desc="Fortran" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="NUMBER" styleID="2" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="3" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING2" styleID="4" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="STRINGEOL" styleID="5" fgColor="808040" bgColor="FFFFFF" fontName="" fontStyle="2" fontSize="" />
<WordsStyle name="OPERATOR" styleID="6" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="IDENTIFIER" styleID="7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="INSTRUCTION WORD" styleID="8" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="FUNCTION1" styleID="9" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre2" />
<WordsStyle name="FUNCTION2" styleID="10" fgColor="0080C0" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="type1" />
<WordsStyle name="PREPROCESSOR" styleID="11" fgColor="800000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR2" styleID="12" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="LABEL" styleID="13" fgColor="FFFFFF" bgColor="FF80FF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="CONTINUATION" styleID="14" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="lisp" desc="LISP" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENTLINE" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="NUMBER" styleID="2" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="FUNCTION WORD" styleID="3" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="SYMBOL" styleID="5" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="STRING" styleID="6" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRINGEOL" styleID="8" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="2" fontSize="" />
<WordsStyle name="IDENTIFIER" styleID="9" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="0080C0" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="type1" />
<WordsStyle name="SPECIAL" styleID="11" fgColor="800000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT" styleID="12" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="asm" desc="Assembler" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="NUMBER" styleID="2" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="3" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="4" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="IDENTIFIER" styleID="5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CPU INSTRUCTION" styleID="6" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="MATH INSTRUCTION" styleID="7" fgColor="0080C0" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre2" />
<WordsStyle name="REGISTER" styleID="8" fgColor="8080FF" bgColor="FFFFCC" fontName="" fontStyle="1" fontSize="" keywordClass="type1" />
<WordsStyle name="DIRECTIVE" styleID="9" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type2" />
<WordsStyle name="DIRECTIVE OPERAND" styleID="10" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="type3" />
<WordsStyle name="COMMENT BLOCK" styleID="11" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="CHARACTER" styleID="12" fgColor="808000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRINGEOL" styleID="13" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="EXT INSTRUCTION" styleID="14" fgColor="804000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="type4" />
</LexerType>
<LexerType name="ruby" desc="Ruby" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="ERROR" styleID="1" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENTLINE" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="POD" styleID="3" fgColor="004000" bgColor="C0FFC0" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="NUMBER" styleID="4" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="INSTRUCTION" styleID="5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="STRING" styleID="6" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CHARACTER" styleID="7" fgColor="808000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CLASS NAME" styleID="8" fgColor="0080C0" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="DEF NAME" styleID="9" fgColor="8080FF" bgColor="FFFFCC" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="IDENTIFIER" styleID="11" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="REGEX" styleID="12" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="GLOBAL" styleID="13" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="SYMBOL" styleID="14" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="MODULE NAME" styleID="15" fgColor="804000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="INSTANCE VAR" styleID="16" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CLASS VAR" styleID="17" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="BACKTICKS" styleID="18" fgColor="FFFF00" bgColor="A08080" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="DATA SECTION" styleID="19" fgColor="600000" bgColor="FFF0D8" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING Q" styleID="24" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="postscript" desc="Postscript" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="DSC COMMENT" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="DSC VALUE" styleID="3" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="NUMBER" styleID="4" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="Name" styleID="5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="INSTRUCTION" styleID="6" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="LITERAL" styleID="7" fgColor="0080C0" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="IMMEVAL" styleID="8" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="PAREN ARRAY" styleID="9" fgColor="FF00FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="PAREN DICT" styleID="10" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="PAREN PROC" styleID="11" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="TEXT" styleID="12" fgColor="808000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="HEX STRING" styleID="13" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="BASE85 STRING" styleID="14" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="BAD STRING CHAR" styleID="15" fgColor="804000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
</LexerType>
<LexerType name="vhdl" desc="VHDL" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LIne" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="NUMBER" styleID="3" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="4" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="5" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="IDENTIFIER" styleID="6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING EOL" styleID="7" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="INSTRUCTION" styleID="8" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="STD OPERATOR" styleID="9" fgColor="0080C0" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre2" />
<WordsStyle name="ATTRIBUTE" styleID="10" fgColor="8080FF" bgColor="FFFFCC" fontName="" fontStyle="1" fontSize="" keywordClass="type1" />
<WordsStyle name="DIRECTIVE" styleID="9" fgColor="808000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="DIRECTIVE OPERAND" styleID="10" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="STD FUNCTION" styleID="11" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="type2" />
<WordsStyle name="STD PACKAGE" styleID="12" fgColor="800000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type3" />
<WordsStyle name="STD TYPE" styleID="13" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type4" />
<WordsStyle name="USER DEFINE" styleID="14" fgColor="B5E71F" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type5" />
</LexerType>
<LexerType name="smalltalk" desc="Smalltalk" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="1" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="NUMBER" styleID="2" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT" styleID="3" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="SYMBOL" styleID="4" fgColor="408080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="BINARY" styleID="5" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="BOOL" styleID="6" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="SELF" styleID="7" fgColor="8080FF" bgColor="FFFFCC" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="SUPER" styleID="8" fgColor="0080FF" bgColor="ECFFEA" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="NIL" styleID="9" fgColor="8080C0" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="GLOBAL" styleID="10" fgColor="800000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="RETURN" styleID="11" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="SPECIAL" styleID="12" fgColor="808000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="KWS END" styleID="13" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="ASSIGN" styleID="14" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="8" />
<WordsStyle name="CHARACTER" styleID="15" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="SPECIAL SELECTOR" styleID="16" fgColor="FF80C0" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="caml" desc="Caml" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="IDENTIFIER" styleID="1" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="TAGNAME" styleID="2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="INSTRUCTION WORD" styleID="3" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="BUILIN FUNC &amp; TYPE" styleID="4" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="instre2" />
<WordsStyle name="TYPE" styleID="5" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type1" />
<WordsStyle name="LINENUM" styleID="6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="OPERATOR" styleID="7" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="NUMBER" styleID="8" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CHARACTER" styleID="9" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="11" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT" styleID="12" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE" styleID="13" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT DOC" styleID="14" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE DOC" styleID="15" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
</LexerType>
<LexerType name="verilog" desc="Verilog" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="IDENTIFIER" styleID="11" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="TAGNAME" styleID="2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="INSTRUCTION WORD" styleID="5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="KEYWORD" styleID="7" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type1" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="NUMBER" styleID="4" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="PREPROCESSOR" styleID="9" fgColor="804000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="6" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT LINE BANG" styleID="3" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="STRING EOL" styleID="12" fgColor="808080" bgColor="F2F4FF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="USER" styleID="19" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="kix" desc="KiXtart" ext="">
<!--
<WordsStyle name="" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
-->
<WordsStyle name="DEFAULT" styleID="31" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="STRING" styleID="2" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING2" styleID="3" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="NUMBER" styleID="4" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="VAR" styleID="5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="MACRO" styleID="6" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="instre2" />
<WordsStyle name="INSTRUCTION WORD" styleID="7" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="FUNCTION" styleID="8" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type1" />
<WordsStyle name="OPERATOR" styleID="9" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
</LexerType>
<LexerType name="autoit" desc="autoIt" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT LINE" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMENT" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="NUMBER" styleID="3" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="FUNCTION" styleID="4" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="instre2" />
<WordsStyle name="INSTRUCTION WORD" styleID="5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="MACRO" styleID="6" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type1" />
<WordsStyle name="STRING" styleID="7" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="8" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="VARIABLE" styleID="9" fgColor="FF0080" bgColor="FFFFFF" fontName="" fontStyle="2" fontSize="" />
<WordsStyle name="SENT" styleID="10" fgColor="8080C0" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type2" />
<WordsStyle name="PREPROCESSOR" styleID="11" fgColor="804000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type3" />
<WordsStyle name="SPECIAL" styleID="12" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type4" />
<WordsStyle name="EXPAND" styleID="13" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type5" />
<WordsStyle name="COMOBJ" styleID="14" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="ada" desc="ADA" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="INSTRUCTION WORD" styleID="1" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="IDENTIFIER" styleID="2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="NUMBER" styleID="3" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="DELIMITER" styleID="4" fgColor="FF8080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="CHARACTER" styleID="5" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CHARACTER EOL" styleID="6" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="7" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING EOL" styleID="8" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="LABEL" styleID="9" fgColor="804000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="COMMENT LINE" styleID="10" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="ILLEGAL" styleID="11" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="matlab" desc="Matlab" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="COMMAND" styleID="2" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="NUMBER" styleID="3" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="INSTRUCTION WORD" styleID="4" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="STRING" styleID="5" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="6" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="IDENTIFIER" styleID="7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="DOUBLE QUOTE STRING" styleID="8" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="haskell" desc="Haskell" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="IDENTIFIER" styleID="1" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="KEYWORD" styleID="2" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="NUMBER" styleID="3" fgColor="800080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="4" fgColor="CA6500" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CHARACTER" styleID="5" fgColor="CA6500" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CLASS" styleID="6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="MODULE" styleID="7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CAPITAL" styleID="8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="DATA" styleID="9" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="IMPORT" styleID="10" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="11" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="INSTANCE" styleID="12" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENTLINE" styleID="13" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENTBLOCK" styleID="14" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENTBLOCK2" styleID="15" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENTBLOCK3" styleID="16" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="inno" desc="InnoSetup" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="KEYWORD" styleID="2" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre2" />
<WordsStyle name="PARAMETER" styleID="3" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="type1" />
<WordsStyle name="SECTION" styleID="4" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="PREPROCESSOR" styleID="5" fgColor="800000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="type2" />
<WordsStyle name="PREPROCESSOR INLINE" styleID="6" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="COMMENT PASCAL" styleID="7" fgColor="008080" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="KEYWORD PASCAL" styleID="8" fgColor="0080C0" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="type3" />
<WordsStyle name="KEYWORD USER" styleID="9" fgColor="8080FF" bgColor="FFFFCC" fontName="" fontStyle="1" fontSize="" keywordClass="type4" />
<WordsStyle name="STRING DOUBLE" styleID="10" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING SINGLE" styleID="11" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="IDENTIFIER" styleID="12" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="cmake" desc="CMakeFile" ext="cmake">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="8" />
<WordsStyle name="STRING D" styleID="2" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING L" styleID="3" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="2" fontSize="" />
<WordsStyle name="STRING R" styleID="4" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="4" fontSize="" />
<WordsStyle name="COMMAND" styleID="5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="PARAMETER" styleID="6" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="VARIABLE" styleID="7" fgColor="FF8040" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="USER DEFINED" styleID="8" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="type1" />
<WordsStyle name="WHILEDEF" styleID="9" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="FOREACHDEF" styleID="10" fgColor="008080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="IFDEF" styleID="11" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="MACRODEF" styleID="12" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="STRING VARIABLE" styleID="13" fgColor="808080" bgColor="FEFCF5" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="NUMBER" styleID="14" fgColor="804040" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
</LexerType>
<LexerType name="searchResult" desc="Search result" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="SELECTED LINE" styleID="6" fgColor="FFFF80" bgColor="0000FF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="HEARDER" styleID="1" fgColor="008000" bgColor="D5FFD5" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="NUMBER" styleID="2" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="HIT WORD" styleID="3" fgColor="FF0000" bgColor="FFFF80" fontName="" fontStyle="4" fontSize="" />
<WordsStyle name="KEYWORD1" styleID="4" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre2">if else for while</WordsStyle>
<WordsStyle name="KEYWORD2" styleID="5" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type1">bool long int char</WordsStyle>
</LexerType>
</LexerStyles>
<GlobalStyles>
<!-- Attention : Don't modify the name of styleID="0" -->
<WidgetStyle name="Default Style" styleID="32" fgColor="000000" bgColor="FFFFFF" fontName="Courier New" fontStyle="0" fontSize="10" />
<WidgetStyle name="Indent guideline style" styleID="37" fgColor="C0C0C0" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WidgetStyle name="Brace highlight style" styleID="34" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="12" />
<WidgetStyle name="Bad brace colour" styleID="35" fgColor="800000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WidgetStyle name="Current line background colour" styleID="0" bgColor="E8E8FF" />
<WidgetStyle name="Mark colour" styleID="0" fgColor="C00000" bgColor="FFFF00" />
<WidgetStyle name="Selected text colour" styleID="0" bgColor="C0C0C0" />
<WidgetStyle name="Caret colour" styleID="2069" fgColor="8000FF" />
<WidgetStyle name="Find Mark Style" styleID="31" fgColor="FFFF00" bgColor="FF0000" fontName="" fontStyle="1" fontSize="" />
<WidgetStyle name="Edge colour" styleID="0" fgColor="80FFFF" />
<WidgetStyle name="Line number margin" styleID="33" fgColor="808080" bgColor="E4E4E4" fontName="" fontStyle="0" fontSize="" />
<WidgetStyle name="Fold" styleID="0" fgColor="808080" bgColor="F3F3F3" />
<WidgetStyle name="Fold margin" styleID="0" fgColor="FFFFFF" bgColor="E9E9E9" />
<WidgetStyle name="White space symbol" styleID="0" fgColor="FFB56A" />
</GlobalStyles>
</NotepadPlus>

6
PowerEditor/bin/todo.txt Normal file
View File

@ -0,0 +1,6 @@
TODO:
1. A generic code formatter (for C, C++ and HTML...). (can be done by plugin)
2. A FTP client. (can be done by plugin)
3. A smart indent (TAB) for C or/and for HTML. (can be done by plugin)
4. Improve save file dialog. (when the filter is set, add the extension)

View File

@ -0,0 +1,36 @@
<NotepadPlus>
<UserLang name="gh" ext="toto">
<Settings>
<Global caseIgnored="no" />
<TreatAsSymbol comment="no" commentLine="no" />
<Prefix words1="no" words2="no" words3="no" words4="no" />
</Settings>
<KeywordLists>
<Keywords name="Delimiters">000000</Keywords>
<Keywords name="Folder+"></Keywords>
<Keywords name="Folder-"></Keywords>
<Keywords name="Operators"></Keywords>
<Keywords name="Comment"></Keywords>
<Keywords name="Words1">toto tot</Keywords>
<Keywords name="Words2"></Keywords>
<Keywords name="Words3"></Keywords>
<Keywords name="Words4"></Keywords>
</KeywordLists>
<Styles>
<WordsStyle name="DEFAULT" styleID="11" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="FOLDEROPEN" styleID="12" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="FOLDERCLOSE" styleID="13" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="KEYWORD1" styleID="5" fgColor="00FF00" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="KEYWORD2" styleID="6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="KEYWORD3" styleID="7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="KEYWORD4" styleID="8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="COMMENT" styleID="1" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="COMMENT LINE" styleID="2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="NUMBER" styleID="4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="DELIMINER1" styleID="14" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="DELIMINER2" styleID="15" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="DELIMINER3" styleID="16" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
</Styles>
</UserLang>
</NotepadPlus>

283
PowerEditor/gcc/makefile Normal file
View File

@ -0,0 +1,283 @@
# this file is part of notepad++
# Copyright (C)2003 Don HO ( donho@altern.org )
#
# 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.
#
# 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.
.SUFFIXES: .cpp
CPP = g++
CC=gcc
RC = windres
#UserDefineDialog_res.o
MAINOBJS = winmain.o Parameters.o Notepad_plus.o Notepad_plus_res.o Utf8_16.o PluginsManager.o
SCINTILLAOBJS = ScintillaEditView.o DocTabView.o FindReplaceDlg.o UserDefineDialog.o Printer.o UserDefineDialog_res.o GoToLineDlg.o
WINCTRLOBJS = TabBar.o ControlsTab.o ToolBar.o StatusBar.o ImageListSet.o FileDialog.o Splitter.o SplitterContainer.o StaticDialog.o \
URLCtrl.o AboutDlg.o RunDlg.o trayIconControler.o shortcut.o ShortcutMapper.o BabyGridWrapper.o BabyGrid.o ShortcutMapper_rc.o \
regExtDlg_res.o regExtDlg.o preference_rc.o preferenceDlg.o WindowsDlg_rc.o SizeableDlg.o WinMgr.o WinRect.o WindowsDlg.o
WORDSTYLESDLG = WordStyleDlg_rc.o WordStyleDlg.o ColourPicker.o ColourPopup_rc.o ColourPopup.o
MISCOBJS = SysMsg.o Process.o
TINYXMLOBJS = tinystr.o tinyxml.o tinyxmlerror.o tinyxmlparser.o
OBJS = $(MAINOBJS) $(SCINTILLAOBJS) $(WINCTRLOBJS) $(MISCOBJS) $(TINYXMLOBJS) $(WORDSTYLESDLG)
#
# the paths
INCLUDEDIR = ../../scintilla/include
SRCDIR = ../src
TARGETDIR=../bin
WINCTRLDIR = $(SRCDIR)/WinControls
SCINTILLADIR = $(SRCDIR)/ScitillaComponent
TINYXMLDIR = $(SRCDIR)/TinyXml
TABBARDIR = $(WINCTRLDIR)/TabBar
TOOLBARDIR = $(WINCTRLDIR)/ToolBar
STATUSBARDIR = $(WINCTRLDIR)/StatusBar
IMGLSTSETDIR = $(WINCTRLDIR)/ImageListSet
FILEDIALOGDIR = $(WINCTRLDIR)/OpenSaveFileDialog
SPLITTERDIR = $(WINCTRLDIR)/SplitterContainer
STATICDLGDIR = $(WINCTRLDIR)/StaticDialog
ABOUTDLGDIR = $(WINCTRLDIR)/AboutDlg
RUNDLGDIR = $(STATICDLGDIR)/RunDlg
SHORTCUTDIR = $(WINCTRLDIR)/shortcut
MISCDIR = $(SRCDIR)/MISC
SYSMSGDIR = $(MISCDIR)/SysMsg
PROCESSDIR = $(MISCDIR)/Process
REGEXTDIR = $(MISCDIR)/RegExt
PLUGINSMANAGERDIR = $(MISCDIR)/PluginsManager
WORDSTYLESDLGDIR = $(WINCTRLDIR)/ColourPicker
SYSTRAYDIR = $(WINCTRLDIR)/TrayIcon
CONTEXTMENUDIR = $(WINCTRLDIR)/ContextMenu
SHORTCUTMAPPERDIR = $(WINCTRLDIR)/Grid
PREFERENCEDLGDIR = $(WINCTRLDIR)/Preference
WINDOWSDLGDIR = $(WINCTRLDIR)/WindowsDlg
PROG = $(TARGETDIR)/npp.exe
FONT_SRC=$(SRCDIR)/font/LINEDRAW.TTF
FONT_TARGET=$(TARGETDIR)/LINEDRAW.TTF
XMLUSERFILE_SRC=$(SRCDIR)/config.xml
XMLUSERFILE_TARGET=$(TARGETDIR)/config.xml
XMLLANGFILE_SRC=$(SRCDIR)/langs.xml
XMLLANGFILE_TARGET=$(TARGETDIR)/langs.xml
INCLUDEFLAGS = -I$(INCLUDEDIR) -I$(SCINTILLADIR) -I$(WINCTRLDIR) \
-I$(TABBARDIR) -I$(TOOLBARDIR) -I$(STATUSBARDIR) -I$(IMGLSTSETDIR) \
-I$(FILEDIALOGDIR) -I$(SPLITTERDIR) -I$(STATICDLGDIR) -I$(ABOUTDLGDIR) \
-I$(SYSMSGDIR) -I$(PROCESSDIR) -I$(MISCDIR) -I$(RUNDLGDIR) -I$(SRCDIR) \
-I$(TINYXMLDIR) -I$(WORDSTYLESDLGDIR) -I$(REGEXTDIR) -I$(PLUGINSMANAGERDIR) \
-I$(SYSTRAYDIR) -I$(SHORTCUTDIR) -I$(CONTEXTMENUDIR) -I$(SHORTCUTMAPPERDIR) \
-I$(PREFERENCEDLGDIR) -I$(WINDOWSDLGDIR)
DEFINEFLAGS = -D_WIN32_IE=0x0600
CFLAGS = -Wall -Os -DNDEBUG
#CFLAGS = -Wall -Os -DDEBUG
LDFLAGS = -mwindows -Wl,-s -Wl,--gc-sections -lcomctl32 -lshlwapi -lodbc32 -lodbccp32 -Os -s
#LDFLAGS = -mwindows -lcomctl32 -lshlwapi -llibshell32
ALL: $(PROG) $(FONT_TARGET) $(XMLLANGFILE_TARGET)
$(PROG): $(OBJS)
$(CPP) -Xlinker --subsystem -Xlinker windows -o $@ $(OBJS) $(LDFLAGS)
winmain.o : $(SRCDIR)/winmain.cpp $(SRCDIR)/Notepad_plus.h $(SYSMSGDIR)/SysMsg.h $(CONTEXTMENUDIR)/ContextMenu.h
$(CPP) $(CFLAGS) -c $(SRCDIR)/winmain.cpp -o $@ $(INCLUDEFLAGS)
Notepad_plus.o : $(SRCDIR)/Notepad_plus.h $(SRCDIR)/Notepad_plus.cpp $(SRCDIR)/Parameters.h \
$(SCINTILLADIR)/ScintillaEditView.h $(SCINTILLADIR)/DocTabView.h $(SCINTILLADIR)/FindReplaceDlg.h \
$(SCINTILLADIR)/UserDefineDialog.h $(SCINTILLADIR)/printer.h $(WINCTRLDIR)/Window.h \
$(TOOLBARDIR)/ToolBar.h $(FILEDIALOGDIR)/FileDialog.h $(SRCDIR)/resource.h \
$(STATUSBARDIR)/StatusBar.h $(ABOUTDLGDIR)/AboutDlg.h $(IMGLSTSETDIR)/ImageListSet.h \
$(STATICDLGDIR)/StaticDialog.h $(SPLITTERDIR)/SplitterContainer.h $(SYSMSGDIR)/SysMsg.h \
$(MISCDIR)/FileNameStringSplitter.h $(SRCDIR)/lastRecentFileList.h $(SRCDIR)/lesDlgs.h $(SHORTCUTDIR)/shortcut.h $(CONTEXTMENUDIR)/ContextMenu.h
$(CPP) $(CFLAGS) $(DEFINEFLAGS) -c $(SRCDIR)/Notepad_plus.cpp -o $@ $(INCLUDEFLAGS)
#$(PROCESSDIR)/Process.h
Parameters.o : $(SRCDIR)/Parameters.h $(SRCDIR)/Parameters.cpp $(CONTEXTMENUDIR)/ContextMenu.h
$(CPP) $(CFLAGS) $(DEFINEFLAGS) -c $(SRCDIR)/Parameters.cpp -o $@ $(INCLUDEFLAGS)
Notepad_plus_res.o : $(SRCDIR)/resource.h $(SRCDIR)/Notepad_plus.rc $(SCINTILLADIR)/UserDefineDialog.rc \
$(RUNDLGDIR)/RunDlg.rc $(SHORTCUTDIR)/shortcut.rc
$(RC) --include-dir=$(SRCDIR) -o $@ $(SRCDIR)/Notepad_plus.rc
Utf8_16.o : $(SRCDIR)/Utf8_16.h $(SRCDIR)/Utf8_16.cpp
$(CPP) $(CFLAGS) $(DEFINEFLAGS) -c $(SRCDIR)/Utf8_16.cpp -o $@ $(INCLUDEFLAGS)
ScintillaEditView.o : $(SCINTILLADIR)/ScintillaEditView.h $(SCINTILLADIR)/ScintillaEditView.cpp $(SRCDIR)/Parameters.h \
$(WINCTRLDIR)/Window.h $(INCLUDEDIR)/Scintilla.h $(INCLUDEDIR)/SciLexer.h $(SCINTILLADIR)/Buffer.h \
$(SCINTILLADIR)/colors.h $(SYSMSGDIR)/SysMsg.h $(STATICDLGDIR)/StaticDialog.h
$(CPP) $(CFLAGS) -c $(SCINTILLADIR)/ScintillaEditView.cpp -o $@ $(INCLUDEFLAGS)
DocTabView.o : $(SCINTILLADIR)/DocTabView.h $(SCINTILLADIR)/DocTabView.cpp \
$(TABBARDIR)/TabBar.h $(IMGLSTSETDIR)/ImageListSet.h $(SCINTILLADIR)/ScintillaEditView.cpp
$(CPP) $(CFLAGS) -c $(SCINTILLADIR)/DocTabView.cpp -o $@ $(INCLUDEFLAGS)
FindReplaceDlg.o : $(STATICDLGDIR)/StaticDialog.h $(SRCDIR)/resource.h \
$(SCINTILLADIR)/FindReplaceDlg.h $(SCINTILLADIR)/FindReplaceDlg.cpp
$(CPP) $(CFLAGS) -c $(SCINTILLADIR)/FindReplaceDlg.cpp -o $@ $(INCLUDEFLAGS)
UserDefineDialog.o : $(STATICDLGDIR)/StaticDialog.h $(SCINTILLADIR)/ScintillaEditView.h \
$(SCINTILLADIR)/UserDefineResource.h $(SCINTILLADIR)/UserDefineDialog.h \
$(SCINTILLADIR)/UserDefineDialog.cpp
$(CPP) $(CFLAGS) -c $(SCINTILLADIR)/UserDefineDialog.cpp -o $@ $(INCLUDEFLAGS)
Printer.o : $(SCINTILLADIR)/Printer.h $(SCINTILLADIR)/Printer.cpp $(SCINTILLADIR)/ScintillaEditView.h
$(CPP) $(CFLAGS) -c $(SCINTILLADIR)/Printer.cpp -o $@ $(INCLUDEFLAGS)
UserDefineDialog_res.o : $(SCINTILLADIR)/UserDefineDialog.rc $(SCINTILLADIR)/UserDefineResource.h
$(RC) -o $@ $(SCINTILLADIR)/UserDefineDialog.rc
GoToLineDlg.o : $(SCINTILLADIR)/GoToLineDlg.h
$(CPP) $(CFLAGS) -c $(SCINTILLADIR)/GoToLineDlg.cpp -o $@ $(INCLUDEFLAGS)
TabBar.o : $(WINCTRLDIR)/Window.h $(TABBARDIR)/TabBar.h $(TABBARDIR)/TabBar.cpp $(SYSMSGDIR)/SysMsg.h
$(CPP) $(CFLAGS) -c $(TABBARDIR)/TabBar.cpp -o $@ $(INCLUDEFLAGS)
ControlsTab.o : $(TABBARDIR)/ControlsTab.h $(TABBARDIR)/ControlsTab.cpp
$(CPP) $(CFLAGS) $(DEFINEFLAGS) -c $(TABBARDIR)/ControlsTab.cpp -o $@ $(INCLUDEFLAGS)
ToolBar.o: $(WINCTRLDIR)/Window.h $(TOOLBARDIR)/ToolBar.h $(TOOLBARDIR)/ToolBar.cpp \
$(IMGLSTSETDIR)/ImageListSet.h $(SYSMSGDIR)/SysMsg.h
$(CPP) $(CFLAGS) -c $(TOOLBARDIR)/ToolBar.cpp -o $@ $(INCLUDEFLAGS)
StatusBar.o: $(WINCTRLDIR)/Window.h $(STATUSBARDIR)/StatusBar.h $(STATUSBARDIR)/StatusBar.cpp $(SYSMSGDIR)/SysMsg.h
$(CPP) $(CFLAGS) -c $(STATUSBARDIR)/StatusBar.cpp -o $@ $(INCLUDEFLAGS)
ImageListSet.o: $(IMGLSTSETDIR)/ImageListSet.h $(IMGLSTSETDIR)/ImageListSet.cpp
$(CPP) $(CFLAGS) -c $(IMGLSTSETDIR)/ImageListSet.cpp -o $@ $(INCLUDEFLAGS)
FileDialog.o: $(FILEDIALOGDIR)/FileDialog.h $(FILEDIALOGDIR)/FileDialog.cpp
$(CPP) $(CFLAGS) -c $(FILEDIALOGDIR)/FileDialog.cpp -o $@ $(INCLUDEFLAGS)
Splitter.o: $(WINCTRLDIR)/Window.h $(SPLITTERDIR)/Splitter.h $(SPLITTERDIR)/Splitter.cpp $(SYSMSGDIR)/SysMsg.h
$(CPP) $(CFLAGS) -c $(SPLITTERDIR)/Splitter.cpp -o $@ $(INCLUDEFLAGS)
SplitterContainer.o: $(WINCTRLDIR)/Window.h $(SPLITTERDIR)/SplitterContainer.h $(SPLITTERDIR)/SplitterContainer.cpp $(SPLITTERDIR)/Splitter.h $(SYSMSGDIR)/SysMsg.h
$(CPP) $(CFLAGS) -c $(SPLITTERDIR)/SplitterContainer.cpp -o $@ $(INCLUDEFLAGS)
StaticDialog.o: $(WINCTRLDIR)/Window.h $(STATICDLGDIR)/StaticDialog.h $(STATICDLGDIR)/StaticDialog.cpp
$(CPP) $(CFLAGS) -c $(STATICDLGDIR)/StaticDialog.cpp -o $@ $(INCLUDEFLAGS)
URLCtrl.o: $(WINCTRLDIR)/Window.h $(ABOUTDLGDIR)/URLCtrl.h $(ABOUTDLGDIR)/URLCtrl.cpp
$(CPP) $(CFLAGS) -c $(ABOUTDLGDIR)/URLCtrl.cpp -o $@ $(INCLUDEFLAGS)
AboutDlg.o: $(WINCTRLDIR)/Window.h $(ABOUTDLGDIR)/AboutDlg.h $(ABOUTDLGDIR)/AboutDlg.cpp URLCtrl.o
$(CPP) $(CFLAGS) -c $(ABOUTDLGDIR)/AboutDlg.cpp -o $@ $(INCLUDEFLAGS)
RunDlg.o: $(WINCTRLDIR)/Window.h $(RUNDLGDIR)/RunDlg.h $(RUNDLGDIR)/RunDlg.cpp $(RUNDLGDIR)/RunDlg.rc
$(CPP) $(CFLAGS) -c $(RUNDLGDIR)/RunDlg.cpp -o $@ $(INCLUDEFLAGS)
shortcut.o: $(WINCTRLDIR)/Window.h $(SHORTCUTDIR)/shortcut.h $(SHORTCUTDIR)/shortcut.rc
$(CPP) $(CFLAGS) -c $(SHORTCUTDIR)/shortcut.cpp -o $@ $(INCLUDEFLAGS)
trayIconControler.o: $(SYSTRAYDIR)/trayIconControler.h
$(CPP) $(CFLAGS) -c $(SYSTRAYDIR)/trayIconControler.cpp -o $@ $(INCLUDEFLAGS)
RunDlg_res.o : $(RUNDLGDIR)/RunDlg_rc.h $(RUNDLGDIR)/RunDlg.rc
$(RC) --include-dir=$(SRCDIR) -o $@ $(RunDlg)/RunDlg.rc
SysMsg.o: $(SYSMSGDIR)/SysMsg.h $(SYSMSGDIR)/SysMsg.cpp
$(CPP) $(CFLAGS) -c $(SYSMSGDIR)/SysMsg.cpp -o $@ $(INCLUDEFLAGS)
Process.o: $(PROCESSDIR)/Process.h $(PROCESSDIR)/Process.cpp
$(CPP) $(CFLAGS) -c $(PROCESSDIR)/Process.cpp -o $@ $(INCLUDEFLAGS)
tinystr.o: $(TINYXMLDIR)/tinystr.h $(TINYXMLDIR)/tinyxml.h
$(CPP) $(CFLAGS) -c $(TINYXMLDIR)/tinystr.cpp -o $@ $(INCLUDEFLAGS)
tinyxml.o: $(TINYXMLDIR)/tinyxml.h
$(CPP) $(CFLAGS) -c $(TINYXMLDIR)/tinyxml.cpp -o $@ $(INCLUDEFLAGS)
tinyxmlerror.o: $(TINYXMLDIR)/tinyxml.h
$(CPP) $(CFLAGS) -c $(TINYXMLDIR)/tinyxmlerror.cpp -o $@ $(INCLUDEFLAGS)
tinyxmlparser.o: $(TINYXMLDIR)/tinyxml.h
$(CPP) $(CFLAGS) -c $(TINYXMLDIR)/tinyxmlparser.cpp -o $@ $(INCLUDEFLAGS)
#WebCtrl.o:
#WebControl.o:
WordStyleDlg_rc.o : $(WORDSTYLESDLGDIR)/wordstyledlgres.h
$(RC) --include-dir=$(SRCDIR) -o $@ $(WORDSTYLESDLGDIR)/WordStyleDlg.rc
WordStyleDlg.o : $(WORDSTYLESDLGDIR)/WordStyleDlg.h $(SYSMSGDIR)/SysMsg.h
$(CPP) $(CFLAGS) -c $(WORDSTYLESDLGDIR)/WordStyleDlg.cpp -o $@ $(INCLUDEFLAGS)
ColourPicker.o : $(WORDSTYLESDLGDIR)/ColourPicker.h $(SYSMSGDIR)/SysMsg.h
$(CPP) $(CFLAGS) -c $(WORDSTYLESDLGDIR)/ColourPicker.cpp -o $@ $(INCLUDEFLAGS)
ColourPopup_rc.o : $(WORDSTYLESDLGDIR)/ColourPopupResource.h
$(RC) --include-dir=$(SRCDIR) -o $@ $(WORDSTYLESDLGDIR)/ColourPopup.rc
ColourPopup.o : $(WORDSTYLESDLGDIR)/ColourPopup.h $(SYSMSGDIR)/SysMsg.h
$(CPP) $(CFLAGS) -c $(WORDSTYLESDLGDIR)/ColourPopup.cpp -o $@ $(INCLUDEFLAGS)
regExtDlg_res.o : $(REGEXTDIR)/regExtDlgRc.h $(REGEXTDIR)/regExtDlg.rc
$(RC) --include-dir=$(SRCDIR) -o $@ $(SRCDIR)/Notepad_plus.rc
regExtDlg.o : $(REGEXTDIR)/regExtDlg.h $(REGEXTDIR)/regExtDlg.cpp
$(CPP) $(CFLAGS) -c $(REGEXTDIR)/regExtDlg.cpp -o $@ $(INCLUDEFLAGS)
PluginsManager.o : $(PLUGINSMANAGERDIR)/PluginsManager.h $(PLUGINSMANAGERDIR)/PluginInterface.h
$(CPP) $(CFLAGS) -c $(PLUGINSMANAGERDIR)/PluginsManager.cpp -o $@ $(INCLUDEFLAGS)
BabyGrid.o : $(SHORTCUTMAPPERDIR)/BabyGrid.h
$(CPP) $(CFLAGS) -c $(SHORTCUTMAPPERDIR)/BabyGrid.cpp -o $@ $(INCLUDEFLAGS)
BabyGridWrapper.o : $(SHORTCUTMAPPERDIR)/BabyGridWrapper.h $(SHORTCUTMAPPERDIR)/BabyGrid.h
$(CPP) $(CFLAGS) -c $(SHORTCUTMAPPERDIR)/BabyGridWrapper.cpp -o $@ $(INCLUDEFLAGS)
ShortcutMapper_rc.o : $(SHORTCUTMAPPERDIR)/ShortcutMapper.rc $(SHORTCUTMAPPERDIR)/ShortcutMapper_rc.h
$(RC) -o $@ $(SHORTCUTMAPPERDIR)/ShortcutMapper.rc
ShortcutMapper.o : $(SHORTCUTMAPPERDIR)/ShortcutMapper.h
$(CPP) $(CFLAGS) -c $(SHORTCUTMAPPERDIR)/ShortcutMapper.cpp -o $@ $(INCLUDEFLAGS)
preference_rc.o : $(PREFERENCEDLGDIR)/preference_rc.h $(PREFERENCEDLGDIR)/preference.rc
$(RC) -o $@ $(PREFERENCEDLGDIR)/preference.rc
preferenceDlg.o : $(PREFERENCEDLGDIR)/preferenceDlg.h
$(CPP) $(CFLAGS) -c $(PREFERENCEDLGDIR)/preferenceDlg.cpp -o $@ $(INCLUDEFLAGS)
WindowsDlg_rc.o : $(WINDOWSDLGDIR)/WindowsDlgRc.h $(WINDOWSDLGDIR)/WindowsDlg.rc
$(RC) -o $@ $(WINDOWSDLGDIR)/WindowsDlg.rc
SizeableDlg.o : $(WINDOWSDLGDIR)/SizeableDlg.h
$(CPP) $(CFLAGS) -c $(WINDOWSDLGDIR)/SizeableDlg.cpp -o $@ $(INCLUDEFLAGS)
WinMgr.o : $(WINDOWSDLGDIR)/WinMgr.h
$(CPP) $(CFLAGS) -c $(WINDOWSDLGDIR)/WinMgr.cpp -o $@ $(INCLUDEFLAGS)
WinRect.o : $(WINDOWSDLGDIR)/WinMgr.h
$(CPP) $(CFLAGS) -c $(WINDOWSDLGDIR)/WinRect.cpp -o $@ $(INCLUDEFLAGS)
WindowsDlg.o : $(WINDOWSDLGDIR)/WindowsDlg.h
$(CPP) $(CFLAGS) -c $(WINDOWSDLGDIR)/WindowsDlg.cpp -o $@ $(INCLUDEFLAGS)
$(FONT_TARGET): $(FONT_SRC)
cp $^ $@
$(XMLUSERFILE_TARGET) : $(XMLUSERFILE_SRC)
cp $^ $@
$(XMLLANGFILE_TARGET) : $(XMLLANGFILE_SRC)
cp $^ $@
clean:
rm -f $(OBJS) $(PROG) $(XMLLANGFILE_TARGET) $(FONT_TARGET)

Binary file not shown.

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="Windows-1252" ?>
<Node nodeName="NotepadPlus">
<Node nodeName="GUIConfigs" name="">
<Node nodeName="GUIConfig" name="name"/>
</Node>
</Node>

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="Windows-1252" ?>
<Node nodeName="NotepadPlus">
<Node nodeName="Languages" name="">
<Node nodeName="Language" name="name"/>
</Node>
</Node>

View File

@ -0,0 +1,978 @@
;this file is part of installer for Notepad++
;Copyright (C)2006 Don HO <don.h@free.fr>
;
;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.
;
;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.
; Define the application name
!define APPNAME "Notepad++"
!define APPNAMEANDVERSION "Notepad++ v4.1.2"
; Main Install settings
Name "${APPNAMEANDVERSION}"
InstallDir "$PROGRAMFILES\Notepad++"
InstallDirRegKey HKLM "Software\${APPNAME}" ""
OutFile "..\bin\npp.4.1.2.Installer.exe"
; GetWindowsVersion
;
; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
; Updated by Joost Verburg
;
; Returns on top of stack
;
; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003, Vista)
; or
; '' (Unknown Windows Version)
;
; Usage:
; Call GetWindowsVersion
; Pop $R0
; ; at this point $R0 is "NT 4.0" or whatnot
Function GetWindowsVersion
Push $R0
Push $R1
ClearErrors
ReadRegStr $R0 HKLM \
"SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
IfErrors 0 lbl_winnt
; we are not NT
ReadRegStr $R0 HKLM \
"SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
StrCpy $R1 $R0 1
StrCmp $R1 '4' 0 lbl_error
StrCpy $R1 $R0 3
StrCmp $R1 '4.0' lbl_win32_95
StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
lbl_win32_95:
StrCpy $R0 '95'
Goto lbl_done
lbl_win32_98:
StrCpy $R0 '98'
Goto lbl_done
lbl_win32_ME:
StrCpy $R0 'ME'
Goto lbl_done
lbl_winnt:
StrCpy $R1 $R0 1
StrCmp $R1 '3' lbl_winnt_x
StrCmp $R1 '4' lbl_winnt_x
StrCpy $R1 $R0 3
StrCmp $R1 '5.0' lbl_winnt_2000
StrCmp $R1 '5.1' lbl_winnt_XP
StrCmp $R1 '5.2' lbl_winnt_2003
StrCmp $R1 '6.0' lbl_winnt_vista lbl_error
lbl_winnt_x:
StrCpy $R0 "NT $R0" 6
Goto lbl_done
lbl_winnt_2000:
Strcpy $R0 '2000'
Goto lbl_done
lbl_winnt_XP:
Strcpy $R0 'XP'
Goto lbl_done
lbl_winnt_2003:
Strcpy $R0 '2003'
Goto lbl_done
lbl_winnt_vista:
Strcpy $R0 'Vista'
Goto lbl_done
lbl_error:
Strcpy $R0 ''
lbl_done:
Pop $R1
Exch $R0
FunctionEnd
; Modern interface settings
!include "MUI.nsh"
!define MUI_ICON ".\images\npp_inst.ico"
!define MUI_WELCOMEFINISHPAGE_BITMAP ".\images\wizard.bmp"
!define MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH
!define MUI_HEADERIMAGE
;!define MUI_HEADERIMAGE_RIGHT
;!define MUI_HEADERIMAGE_BITMAP ".\images\headerRight.bmp" ; optional
!define MUI_HEADERIMAGE_BITMAP ".\images\headerLeft.bmp" ; optional
!define MUI_ABORTWARNING
!define MUI_FINISHPAGE_RUN "$INSTDIR\notepad++.exe"
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "..\license.txt"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
; Set languages (first is default language)
;!insertmacro MUI_LANGUAGE "English"
;Languages
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "French"
!insertmacro MUI_LANGUAGE "TradChinese"
!insertmacro MUI_LANGUAGE "Spanish"
!insertmacro MUI_LANGUAGE "Hungarian"
!insertmacro MUI_LANGUAGE "Russian"
!insertmacro MUI_LANGUAGE "German"
!insertmacro MUI_LANGUAGE "Dutch"
!insertmacro MUI_LANGUAGE "SimpChinese"
!insertmacro MUI_LANGUAGE "Italian"
!insertmacro MUI_LANGUAGE "Danish"
!insertmacro MUI_LANGUAGE "Polish"
!insertmacro MUI_LANGUAGE "Czech"
!insertmacro MUI_LANGUAGE "Slovenian"
!insertmacro MUI_LANGUAGE "Slovak"
!insertmacro MUI_LANGUAGE "Swedish"
!insertmacro MUI_LANGUAGE "Norwegian"
!insertmacro MUI_LANGUAGE "PortugueseBR"
!insertmacro MUI_LANGUAGE "Ukrainian"
!insertmacro MUI_LANGUAGE "Turkish"
!insertmacro MUI_LANGUAGE "Catalan"
!insertmacro MUI_LANGUAGE "Arabic"
!insertmacro MUI_LANGUAGE "Lithuanian"
!insertmacro MUI_LANGUAGE "Finnish"
!insertmacro MUI_LANGUAGE "Greek"
!insertmacro MUI_LANGUAGE "Romanian"
!insertmacro MUI_LANGUAGE "Korean"
!insertmacro MUI_LANGUAGE "Hebrew"
!insertmacro MUI_LANGUAGE "Portuguese"
!insertmacro MUI_LANGUAGE "Farsi"
!insertmacro MUI_LANGUAGE "Bulgarian"
!insertmacro MUI_LANGUAGE "Indonesian"
!insertmacro MUI_LANGUAGE "Japanese"
!insertmacro MUI_LANGUAGE "Croatian"
;!insertmacro MUI_LANGUAGE "Thai"
;!insertmacro MUI_LANGUAGE "Latvian"
;!insertmacro MUI_LANGUAGE "Macedonian"
;!insertmacro MUI_LANGUAGE "Estonian"
;!insertmacro MUI_LANGUAGE "Serbian"
;
!insertmacro MUI_RESERVEFILE_LANGDLL
;Installer Functions
Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY
# the plugins dir is automatically deleted when the installer exits
;InitPluginsDir
;File /oname=$PLUGINSDIR\splash.bmp ".\images\splash.bmp"
#optional
#File /oname=$PLUGINSDIR\splash.wav "C:\myprog\sound.wav"
;splash::show 1000 $PLUGINSDIR\splash
;Pop $0 ; $0 has '1' if the user closed the splash screen early,
; '0' if everything closed normally, and '-1' if some error occurred.
FunctionEnd
LangString langFileName ${LANG_ENGLISH} "english.xml"
LangString langFileName ${LANG_FRENCH} "french.xml"
LangString langFileName ${LANG_TRADCHINESE} "chinese.xml"
LangString langFileName ${LANG_GERMAN} "german.xml"
LangString langFileName ${LANG_SPANISH} "spanish.xml"
LangString langFileName ${LANG_HUNGARIAN} "hungarian.xml"
LangString langFileName ${LANG_RUSSIAN} "russian.xml"
LangString langFileName ${LANG_DUTCH} "dutch.xml"
LangString langFileName ${LANG_SIMPCHINESE} "chineseSimplified.xml"
LangString langFileName ${LANG_ITALIAN} "italian.xml"
LangString langFileName ${LANG_DANISH} "danish.xml"
LangString langFileName ${LANG_POLISH} "polish.xml"
LangString langFileName ${LANG_CZECH} "czech.xml"
LangString langFileName ${LANG_SLOVENIAN} "slovenian.xml"
LangString langFileName ${LANG_SLOVAK} "slovak.xml"
LangString langFileName ${LANG_SWEDISH} "swedish.xml"
LangString langFileName ${LANG_NORWEGIAN} "norwegian.xml"
LangString langFileName ${LANG_PORTUGUESEBR} "brazilian_portuguese.xml"
LangString langFileName ${LANG_UKRAINIAN} "ukrainian.xml"
LangString langFileName ${LANG_TURKISH} "turkish.xml"
LangString langFileName ${LANG_CATALAN} "catalan.xml"
LangString langFileName ${LANG_ARABIC} "arabic.xml"
LangString langFileName ${LANG_LITHUANIAN} "lithuanian.xml"
LangString langFileName ${LANG_FINNISH} "finnish.xml"
LangString langFileName ${LANG_GREEK} "greek.xml"
LangString langFileName ${LANG_ROMANIAN} "romanian.xml"
LangString langFileName ${LANG_KOREAN} "korean.xml"
LangString langFileName ${LANG_HEBREW} "hebrew.xml"
LangString langFileName ${LANG_PORTUGUESE} "portuguese.xml"
LangString langFileName ${LANG_FARSI} "farsi.xml"
LangString langFileName ${LANG_BULGARIAN} "bulgarian.xml"
LangString langFileName ${LANG_INDONESIAN} "indonesian.xml"
LangString langFileName ${LANG_JAPANESE} "japanese.xml"
LangString langFileName ${LANG_CROATIAN} "croatian.xml"
;--------------------------------
;Variables
Var IS_LOCAL
;--------------------------------
Section /o "Don't use %APPDATA%" makeLocal
StrCpy $IS_LOCAL "1"
SectionEnd
Var UPDATE_PATH
Section -"Notepad++" mainSection
; Set Section properties
SetOverwrite on
StrCpy $UPDATE_PATH $INSTDIR
;SetOutPath "$TEMP\"
File /oname=$TEMP\xmlUpdater.exe ".\bin\xmlUpdater.exe"
SetOutPath "$INSTDIR\"
;Test if window9x
Call GetWindowsVersion
Pop $R0
StrCmp $R0 "95" 0 +2
StrCpy $IS_LOCAL "1"
StrCmp $R0 "98" 0 +2
StrCpy $IS_LOCAL "1"
StrCmp $R0 "ME" 0 +2
StrCpy $IS_LOCAL "1"
; if isLocal -> copy file "doLocalConf.xml"
StrCmp $IS_LOCAL "1" 0 IS_NOT_LOCAL
File "..\bin\doLocalConf.xml"
goto LANGS_XML
IS_NOT_LOCAL:
IfFileExists $INSTDIR\doLocalConf.xml 0 +2
Delete $INSTDIR\doLocalConf.xml
StrCpy $UPDATE_PATH "$APPDATA\Notepad++"
CreateDirectory $UPDATE_PATH\plugins\config
LANGS_XML:
IfFileExists $INSTDIR\langs.xml 0 COPY_LANGS_XML
SetOutPath "$TEMP\"
File "langsModel.xml"
File "..\bin\langs.xml"
;UPGRATE $INSTDIR\langs.xml
nsExec::ExecToStack '"$TEMP\xmlUpdater.exe" "$TEMP\langsModel.xml" "$TEMP\langs.xml" "$INSTDIR\langs.xml"'
Pop $0
;MessageBox MB_OK "$0"
StrCmp $0 "0" 0 COPY_LANGS_XML
goto CONFIG_XML
COPY_LANGS_XML:
;SetOutPath "$INSTDIR\"
File /oname=$INSTDIR\langs.xml "..\bin\langs.xml"
CONFIG_XML:
StrCmp $UPDATE_PATH "$APPDATA\Notepad++" 0 +2
File /oname=$INSTDIR\config.xml "..\bin\config.xml"
IfFileExists $UPDATE_PATH\config.xml 0 COPY_CONFIG_XML
SetOutPath "$TEMP\"
File "configModel.xml"
File "..\bin\config.xml"
nsExec::ExecToStack '"$TEMP\xmlUpdater.exe" "$TEMP\configModel.xml" "$TEMP\config.xml" "$UPDATE_PATH\config.xml"'
Pop $0
;MessageBox MB_OK "$0"
StrCmp $0 "0" 0 COPY_CONFIG_XML
goto STYLES_XML
COPY_CONFIG_XML:
;SetOutPath "$INSTDIR\"
File /oname=$INSTDIR\config.xml "..\bin\config.xml"
STYLES_XML:
StrCmp $UPDATE_PATH "$APPDATA\Notepad++" 0 +2
File /oname=$INSTDIR\stylers.xml "..\bin\stylers.xml"
IfFileExists $UPDATE_PATH\stylers.xml 0 COPY_STYLERS_XML
SetOutPath "$TEMP\"
File "stylesLexerModel.xml"
File "stylesGlobalModel.xml"
File "..\bin\stylers.xml"
nsExec::ExecToStack '"$TEMP\xmlUpdater.exe" "$TEMP\stylesLexerModel.xml" "$TEMP\stylers.xml" "$UPDATE_PATH\stylers.xml"'
Pop $0
;MessageBox MB_OK "$0"
StrCmp $0 "0" 0 COPY_STYLERS_XML
nsExec::ExecToStack '"$TEMP\xmlUpdater.exe" "$TEMP\stylesGlobalModel.xml" "$TEMP\stylers.xml" "$UPDATE_PATH\stylers.xml"'
Pop $0
;MessageBox MB_OK "$0"
StrCmp $0 "0" 0 COPY_STYLERS_XML
goto ALL_XML
COPY_STYLERS_XML:
;SetOutPath "$INSTDIR\"
File /oname=$INSTDIR\stylers.xml "..\bin\stylers.xml"
ALL_XML:
SetOutPath "$INSTDIR\"
SetOverwrite off
File "..\bin\contextMenu.xml"
File "..\bin\shortcuts.xml"
; Set Section Files and Shortcuts
SetOverwrite on
File "..\license.txt"
File "..\bin\LINEDRAW.TTF"
File "..\bin\SciLexer.dll"
File "..\bin\change.log"
File "..\bin\notepad++.exe"
File "..\bin\readme.txt"
StrCmp $LANGUAGE ${LANG_ENGLISH} noLang 0
StrCmp $LANGUAGE ${LANG_FRENCH} 0 +3
File ".\nativeLang\french.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_TRADCHINESE} 0 +3
File ".\nativeLang\chinese.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_SPANISH} 0 +3
File ".\nativeLang\spanish.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_HUNGARIAN} 0 +3
File ".\nativeLang\hungarian.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_RUSSIAN} 0 +3
File ".\nativeLang\russian.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_GERMAN} 0 +3
File ".\nativeLang\german.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_DUTCH} 0 +3
File ".\nativeLang\dutch.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_SIMPCHINESE} 0 +3
File ".\nativeLang\chineseSimplified.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_ITALIAN} 0 +3
File ".\nativeLang\italian.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_DANISH} 0 +3
File ".\nativeLang\danish.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_POLISH} 0 +3
File ".\nativeLang\polish.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_CZECH} 0 +3
File ".\nativeLang\czech.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_SLOVENIAN} 0 +3
File ".\nativeLang\slovenian.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_SLOVAK} 0 +3
File ".\nativeLang\slovak.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_SWEDISH} 0 +3
File ".\nativeLang\swedish.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_NORWEGIAN} 0 +3
File ".\nativeLang\norwegian.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} 0 +3
File ".\nativeLang\brazilian_portuguese.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_UKRAINIAN} 0 +3
File ".\nativeLang\ukrainian.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_TURKISH} 0 +3
File ".\nativeLang\turkish.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_CATALAN} 0 +3
File ".\nativeLang\catalan.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_ARABIC} 0 +3
File ".\nativeLang\arabic.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_LITHUANIAN} 0 +3
File ".\nativeLang\lithuanian.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_FINNISH} 0 +3
File ".\nativeLang\finnish.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_GREEK} 0 +3
File ".\nativeLang\greek.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_ROMANIAN} 0 +3
File ".\nativeLang\romanian.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_KOREAN} 0 +3
File ".\nativeLang\korean.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_HEBREW} 0 +3
File ".\nativeLang\hebrew.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_PORTUGUESE} 0 +3
File ".\nativeLang\portuguese.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_FARSI} 0 +3
File ".\nativeLang\farsi.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_BULGARIAN} 0 +3
File ".\nativeLang\bulgarian.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_INDONESIAN} 0 +3
File ".\nativeLang\indonesian.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_JAPANESE} 0 +3
File ".\nativeLang\japanese.xml"
Goto finLang
StrCmp $LANGUAGE ${LANG_CROATIAN} 0 +3
File ".\nativeLang\croatian.xml"
Goto finLang
finLang:
IfFileExists "$UPDATE_PATH\nativeLang.xml" 0 +2
Delete "$UPDATE_PATH\nativeLang.xml"
IfFileExists "$INSTDIR\nativeLang.xml" 0 +2
Delete "$INSTDIR\nativeLang.xml"
Rename "$INSTDIR\$(langFileName)" "$INSTDIR\nativeLang.xml"
Goto commun
noLang:
IfFileExists "$UPDATE_PATH\nativeLang.xml" 0 +2
Delete "$UPDATE_PATH\nativeLang.xml"
commun:
; remove all the npp shortcuts from current user
Delete "$DESKTOP\Notepad++.lnk"
Delete "$SMPROGRAMS\Notepad++\Notepad++.lnk"
Delete "$SMPROGRAMS\Notepad++\readme.lnk"
Delete "$SMPROGRAMS\Notepad++\Uninstall.lnk"
Delete "$INSTDIR\plugins\Explorer.dll"
Delete "$INSTDIR\plugins\HexEditor.dll"
Delete "$INSTDIR\plugins\HexEditorPlugin.dll"
Delete "$INSTDIR\plugins\NppSearchInFiles.dll"
CreateDirectory "$SMPROGRAMS\Notepad++"
CreateShortCut "$SMPROGRAMS\Notepad++\Uninstall.lnk" "$INSTDIR\uninstall.exe"
; detect the right of
UserInfo::GetAccountType
Pop $1
StrCmp $1 "Admin" 0 +2
SetShellVarContext all
; add all the npp shortcuts for all user or current user
CreateDirectory "$SMPROGRAMS\Notepad++"
CreateShortCut "$DESKTOP\Notepad++.lnk" "$INSTDIR\notepad++.exe"
CreateShortCut "$SMPROGRAMS\Notepad++\Notepad++.lnk" "$INSTDIR\notepad++.exe"
CreateShortCut "$SMPROGRAMS\Notepad++\readme.lnk" "$INSTDIR\readme.txt"
SetShellVarContext current
WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\notepad++.exe" "" "$INSTDIR\notepad++.exe"
SectionEnd
Section "Context Menu Entry" explorerContextMenu
SetOverwrite off
SetOutPath "$INSTDIR\"
File "..\bin\nppcm.dll"
Exec 'regsvr32 /s "$INSTDIR\nppcm.dll"'
Exec 'regsvr32 /u /s "$INSTDIR\nppshellext.dll"'
Delete "$INSTDIR\nppshellext.dll"
SectionEnd
SubSection "Auto-completion Files" autoCompletionComponent
SetOverwrite off
Section C
SetOutPath "$INSTDIR\plugins\APIs"
File "..\bin\plugins\APIs\c.api"
SectionEnd
Section C++
SetOutPath "$INSTDIR\plugins\APIs"
File "..\bin\plugins\APIs\cpp.api"
SectionEnd
Section Java
SetOutPath "$INSTDIR\plugins\APIs"
File "..\bin\plugins\APIs\java.api"
SectionEnd
Section C#
SetOutPath "$INSTDIR\plugins\APIs"
File "..\bin\plugins\APIs\cs.api"
SectionEnd
Section PHP
SetOutPath "$INSTDIR\plugins\APIs"
File "..\bin\plugins\APIs\php.api"
SectionEnd
Section CSS
SetOutPath "$INSTDIR\plugins\APIs"
File "..\bin\plugins\APIs\css.api"
SectionEnd
Section VB
SetOutPath "$INSTDIR\plugins\APIs"
File "..\bin\plugins\APIs\vb.api"
SectionEnd
Section Perl
SetOutPath "$INSTDIR\plugins\APIs"
File "..\bin\plugins\APIs\perl.api"
SectionEnd
Section JavaScript
SetOutPath "$INSTDIR\plugins\APIs"
File "..\bin\plugins\APIs\javascript.api"
SectionEnd
Section Python
SetOutPath "$INSTDIR\plugins\APIs"
File "..\bin\plugins\APIs\python.api"
SectionEnd
Section ActionScript
SetOutPath "$INSTDIR\plugins\APIs"
File "..\bin\plugins\APIs\flash.api"
SectionEnd
Section LISP
SetOutPath "$INSTDIR\plugins\APIs"
File "..\bin\plugins\APIs\lisp.api"
SectionEnd
Section VHDL
SetOutPath "$INSTDIR\plugins\APIs"
File "..\bin\plugins\APIs\vhdl.api"
SectionEnd
Section TeX
SetOutPath "$INSTDIR\plugins\APIs"
File "..\bin\plugins\APIs\tex.api"
SectionEnd
Section DocBook
SetOutPath "$INSTDIR\plugins\APIs"
File "..\bin\plugins\APIs\xml.api"
SectionEnd
Section NSIS
SetOutPath "$INSTDIR\plugins\APIs"
File "..\bin\plugins\APIs\nsis.api"
SectionEnd
SubSectionEnd
SubSection "Plugins" Plugins
SetOverwrite on
Section "NPPTextFX" NPPTextFX
SetOutPath "$INSTDIR\plugins"
File "..\bin\plugins\NPPTextFX.dll"
StrCmp $IS_LOCAL "1" 0 NOT_LOCAL
SetOutPath "$INSTDIR\plugins"
goto LOCAL
NOT_LOCAL:
SetOutPath "$APPDATA\Notepad++"
LOCAL:
File "..\bin\plugins\NPPTextFX.ini"
SetOutPath "$INSTDIR\plugins\NPPTextFX"
File "..\bin\plugins\NPPTextFX\AsciiToEBCDIC.bin"
File "..\bin\plugins\NPPTextFX\libTidy.dll"
File "..\bin\plugins\NPPTextFX\NPPTextFXdemo.TXT"
File "..\bin\plugins\NPPTextFX\W3C-CSSValidator.htm"
File "..\bin\plugins\NPPTextFX\W3C-HTMLValidator.htm"
SectionEnd
Section "Function List" FunctionList
Delete "$INSTDIR\plugins\FunctionListPlugin.dll"
SetOutPath "$INSTDIR\plugins"
File "..\bin\plugins\FunctionList.dll"
SectionEnd
/*
Section "File Browser" FileBrowser
Delete "$INSTDIR\plugins\ExplorerPlugin.dll"
SetOutPath "$INSTDIR\plugins"
File "..\bin\plugins\Explorer.dll"
SectionEnd
Section "Hex Editor" HexEditor
Delete "$INSTDIR\plugins\HexEditorPlugin.dll"
SetOutPath "$INSTDIR\plugins"
File "..\bin\plugins\HexEditor.dll"
SectionEnd
*/
Section "ConvertExt" ConvertExt
SetOutPath "$INSTDIR\plugins"
File "..\bin\plugins\ConvertExt.dll"
StrCmp $IS_LOCAL "1" 0 NOT_LOCAL2
SetOutPath "$INSTDIR"
goto LOCAL2
NOT_LOCAL2:
SetOutPath "$APPDATA\Notepad++"
LOCAL2:
File "..\bin\ConvertExt.ini"
File "..\bin\ConvertExt.enc"
File "..\bin\ConvertExt.lng"
SectionEnd
Section "Spell-Checker" SpellChecker
Delete "$INSTDIR\plugins\SpellChecker.dll"
SetOutPath "$INSTDIR\plugins"
File "..\bin\plugins\SpellChecker.dll"
SectionEnd
Section "NppExec" NppExec
Delete "$INSTDIR\plugins\NppExec.dll"
SetOutPath "$INSTDIR\plugins"
File "..\bin\plugins\NppExec.dll"
SetOutPath "$INSTDIR\plugins\doc"
File "..\bin\plugins\doc\NppExec.txt"
File "..\bin\plugins\doc\NppExec_TechInfo.txt"
SectionEnd
Section "QuickText" QuickText
Delete "$INSTDIR\plugins\QuickText.dll"
SetOutPath "$INSTDIR\plugins"
File "..\bin\plugins\QuickText.dll"
SetOutPath "$INSTDIR\"
File "..\bin\QuickText.ini"
SetOutPath "$INSTDIR\plugins\doc"
File "..\bin\plugins\doc\quickText_README.txt"
SectionEnd
/*
Section "XMLTools" XMLTools
Delete "$INSTDIR\plugins\XMLTools.dll"
SetOutPath "$INSTDIR\plugins"
File "..\bin\plugins\XMLTools.dll"
SetOutPath "$INSTDIR\plugins\doc"
File "..\bin\plugins\doc\XMLToolsReadMe.txt"
SectionEnd
*/
SubSectionEnd
Section /o "As default html viewer" htmlViewer
SetOutPath "$INSTDIR\"
File "..\bin\nppIExplorerShell.exe"
WriteRegStr HKLM "SOFTWARE\Microsoft\Internet Explorer\View Source Editor\Editor Name" "" "$INSTDIR\nppIExplorerShell.exe"
SectionEnd
;--------------------------------
;Descriptions
;Language strings
;Assign language strings to sections
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${makeLocal} 'Enable this option to make Notepad++ load/write the configuration files from/to its install directory. Check it if you use Notepad++ in an USB device.'
!insertmacro MUI_DESCRIPTION_TEXT ${explorerContextMenu} 'Explorer context menu entry for Notepad++ : Open whatever you want in Notepad++ from Windows Explorer.'
!insertmacro MUI_DESCRIPTION_TEXT ${autoCompletionComponent} 'Install the API files you need for the auto-completion feature (Ctrl+Space).'
!insertmacro MUI_DESCRIPTION_TEXT ${Plugins} 'You may need those plugins to extend the capacity of Notepad++.'
!insertmacro MUI_DESCRIPTION_TEXT ${htmlViewer} 'Open the html file in Notepad++ while you choose <view source> from IE.'
!insertmacro MUI_FUNCTION_DESCRIPTION_END
;--------------------------------
Section -FinishSection
WriteRegStr HKLM "Software\${APPNAME}" "" "$INSTDIR"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayName" "${APPNAME}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "UninstallString" "$INSTDIR\uninstall.exe"
WriteUninstaller "$INSTDIR\uninstall.exe"
SectionEnd
;Uninstall section
SubSection un.autoCompletionComponent
Section un.PHP
Delete "$INSTDIR\plugins\APIs\php.api"
RMDir "$INSTDIR\plugins\APIs\"
SectionEnd
Section un.CSS
Delete "$INSTDIR\plugins\APIs\css.api"
RMDir "$INSTDIR\plugins\APIs\"
SectionEnd
Section un.VB
Delete "$INSTDIR\plugins\APIs\vb.api"
RMDir "$INSTDIR\plugins\APIs\"
SectionEnd
Section un.Perl
Delete "$INSTDIR\plugins\APIs\perl.api"
RMDir "$INSTDIR\plugins\APIs\"
SectionEnd
Section un.C
Delete "$INSTDIR\plugins\APIs\c.api"
RMDir "$INSTDIR\plugins\APIs\"
SectionEnd
Section un.C++
Delete "$INSTDIR\plugins\APIs\cpp.api"
RMDir "$INSTDIR\plugins\APIs\"
SectionEnd
Section un.Java
Delete "$INSTDIR\plugins\APIs\java.api"
RMDir "$INSTDIR\plugins\APIs\"
SectionEnd
Section un.C#
Delete "$INSTDIR\plugins\APIs\cs.api"
RMDir "$INSTDIR\plugins\APIs\"
SectionEnd
Section un.JavaScript
Delete "$INSTDIR\plugins\APIs\javascript.api"
RMDir "$INSTDIR\plugins\APIs\"
SectionEnd
Section un.Python
Delete "$INSTDIR\plugins\APIs\python.api"
RMDir "$INSTDIR\plugins\APIs\"
SectionEnd
Section un.ActionScript
Delete "$INSTDIR\plugins\APIs\flash.api"
RMDir "$INSTDIR\plugins\APIs\"
SectionEnd
Section un.LISP
Delete "$INSTDIR\plugins\APIs\lisp.api"
RMDir "$INSTDIR\plugins\APIs\"
SectionEnd
Section un.VHDL
Delete "$INSTDIR\plugins\APIs\vhdl.api"
RMDir "$INSTDIR\plugins\APIs\"
SectionEnd
Section un.TeX
Delete "$INSTDIR\plugins\APIs\tex.api"
RMDir "$INSTDIR\plugins\APIs\"
SectionEnd
Section un.DocBook
Delete "$INSTDIR\plugins\APIs\xml.api"
RMDir "$INSTDIR\plugins\APIs\"
SectionEnd
Section un.NSIS
Delete "$INSTDIR\plugins\APIs\nsis.api"
RMDir "$INSTDIR\plugins\APIs\"
SectionEnd
SubSectionEnd
SubSection un.Plugins
Section un.NPPTextFX
Delete "$INSTDIR\plugins\NPPTextFX.dll"
Delete "$INSTDIR\plugins\NPPTextFX.ini"
Delete "$APPDATA\Notepad++\NPPTextFX.ini"
Delete "$INSTDIR\plugins\NPPTextFX\AsciiToEBCDIC.bin"
Delete "$INSTDIR\plugins\NPPTextFX\libTidy.dll"
Delete "$INSTDIR\plugins\NPPTextFX\NPPTextFXdemo.TXT"
Delete "$INSTDIR\plugins\NPPTextFX\W3C-CSSValidator.htm"
Delete "$INSTDIR\plugins\NPPTextFX\W3C-HTMLValidator.htm"
RMDir "$INSTDIR\plugins\NPPTextFX\"
RMDir "$INSTDIR\plugins\"
SectionEnd
Section un.FunctionList
Delete "$INSTDIR\plugins\FunctionList.dll"
RMDir "$INSTDIR\plugins\"
SectionEnd
/*
Section un.FileBrowser
Delete "$INSTDIR\plugins\Explorer.dll"
Delete "$INSTDIR\plugins\Config\Explorer.ini"
RMDir "$INSTDIR\plugins\Config"
RMDir "$INSTDIR\plugins\"
SectionEnd
Section un.HexEditor
Delete "$INSTDIR\plugins\HexEditor.dll"
RMDir "$INSTDIR\plugins\"
SectionEnd
*/
Section un.ConvertExt
Delete "$INSTDIR\plugins\ConvertExt.dll"
Delete "$APPDATA\Notepad++\ConvertExt.ini"
Delete "$APPDATA\Notepad++\ConvertExt.enc"
Delete "$APPDATA\Notepad++\ConvertExt.lng"
Delete "$INSTDIR\ConvertExt.ini"
Delete "$INSTDIR\ConvertExt.enc"
Delete "$INSTDIR\ConvertExt.lng"
RMDir "$INSTDIR\plugins\"
SectionEnd
Section un.SpellChecker
Delete "$INSTDIR\plugins\SpellChecker.dll"
RMDir "$INSTDIR\plugins\"
SectionEnd
Section un.NppExec
Delete "$INSTDIR\plugins\NppExec.dll"
Delete "$INSTDIR\plugins\doc\NppExec.txt"
Delete "$INSTDIR\plugins\doc\NppExec_TechInfo.txt"
RMDir "$INSTDIR\plugins\"
SectionEnd
Section un.QuickText
Delete "$INSTDIR\plugins\QuickText.dll"
Delete "$INSTDIR\QuickText.ini"
Delete "$INSTDIR\plugins\doc\quickText_README.txt"
RMDir "$INSTDIR\plugins\"
SectionEnd
/*
Section un.XMLTools
Delete "$INSTDIR\plugins\XMLTools.dll"
Delete "$INSTDIR\plugins\doc\XMLToolsReadMe.txt"
RMDir "$INSTDIR\plugins\"
SectionEnd
*/
SubSectionEnd
Section un.htmlViewer
DeleteRegKey HKLM "SOFTWARE\Microsoft\Internet Explorer\View Source Editor"
Delete "$INSTDIR\nppIExplorerShell.exe"
SectionEnd
Section un.explorerContextMenu
Exec 'regsvr32 /u /s "$INSTDIR\nppcm.dll"'
Delete "$INSTDIR\nppcm.dll"
SectionEnd
Section Uninstall
;Remove from registry...
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}"
DeleteRegKey HKLM "SOFTWARE\${APPNAME}"
DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\notepad++.exe"
; Delete self
Delete "$INSTDIR\uninstall.exe"
; Delete Shortcuts
Delete "$SMPROGRAMS\Notepad++\Uninstall.lnk"
RMDir "$SMPROGRAMS\Notepad++"
UserInfo::GetAccountType
Pop $1
StrCmp $1 "Admin" 0 +2
SetShellVarContext all
Delete "$DESKTOP\Notepad++.lnk"
Delete "$SMPROGRAMS\Notepad++\Notepad++.lnk"
Delete "$SMPROGRAMS\Notepad++\readme.lnk"
; Clean up Notepad++
Delete "$INSTDIR\LINEDRAW.TTF"
Delete "$INSTDIR\SciLexer.dll"
Delete "$INSTDIR\change.log"
Delete "$INSTDIR\license.txt"
Delete "$INSTDIR\notepad++.exe"
Delete "$INSTDIR\readme.txt"
Delete "$INSTDIR\config.xml"
Delete "$INSTDIR\langs.xml"
Delete "$INSTDIR\stylers.xml"
Delete "$INSTDIR\contextMenu.xml"
Delete "$INSTDIR\shortcuts.xml"
Delete "$INSTDIR\nativeLang.xml"
Delete "$INSTDIR\session.xml"
SetShellVarContext current
Delete "$APPDATA\Notepad++\config.xml"
Delete "$APPDATA\Notepad++\stylers.xml"
Delete "$APPDATA\Notepad++\contextMenu.xml"
Delete "$APPDATA\Notepad++\shortcuts.xml"
Delete "$APPDATA\Notepad++\nativeLang.xml"
Delete "$APPDATA\Notepad++\session.xml"
Delete "$APPDATA\Notepad++\insertExt.ini"
RMDir "$APPDATA\Notepad++"
StrCmp $1 "Admin" 0 +2
SetShellVarContext all
; Remove remaining directories
RMDir "$SMPROGRAMS\Notepad++"
RMDir "$INSTDIR\"
RMDir "$APPDATA\Notepad++"
SectionEnd
Function un.onInit
!insertmacro MUI_UNGETLANGUAGE
FunctionEnd
BrandingText "Don HO"
; eof

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="Windows-1252" ?>
<Node nodeName="NotepadPlus">
<Node nodeName="GlobalStyles">
<Node nodeName="WidgetStyle" name="name" />
</Node>
</Node>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="Windows-1252" ?>
<Node nodeName="NotepadPlus">
<Node nodeName="LexerStyles">
<Node nodeName="LexerType" name="name"/>
</Node>
</Node>

88
PowerEditor/license.txt Normal file
View File

@ -0,0 +1,88 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) 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 this service 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 make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. 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.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
1. You may copy and distribute 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 and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), 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 distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions of the 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 a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE 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.
END OF TERMS AND CONDITIONS

View File

@ -0,0 +1,176 @@
# @file:<dictaolib-root>/CMakeLists.txt
# TODO
# - Move defs XX_INCLUDE_DIR, XX_LIBRARIES, XX_LIBRARY_DIRS to the subdirector?es'
# scripts. I could not find a way to export a variables defined in a subscript
# so as a workaround, I define the variables myself in the top script. This is
# not optimal.
#
PROJECT(Notepad++)
SET(projIncludDir ../../scintilla/include/
./
./ScitillaComponent/
./WinControls/
./WinControls/AboutDlg/
./WinControls/ColourPicker/
./WinControls/ContextMenu/
./WinControls/DockingWnd/
./WinControls/Grid/
./WinControls/ImageListSet/
./WinControls/OpenSaveFileDialog/
./WinControls/Preference/
./WinControls/shortcut/
./WinControls/SplitterContainer/
./WinControls/StaticDialog/
./WinControls/StaticDialog/RunDlg
./WinControls/StatusBar/
./WinControls/TabBar/
./WinControls/TaskList/
./WinControls/ToolBar/
./WinControls/TrayIcon/
./WinControls/TreeView/
./WinControls/WindowsDlg/
./MISC/
./MISC/PluginsManager/
./MISC/RegExt/
./MISC/SysMsg/
./TinyXml/)
SET(objs ./winmain.cpp
./Notepad_plus.cpp
./Notepad_plus.h
./Parameters.cpp
./Parameters.h
./UniConversion.cpp
./UniConversion.h
./Utf8_16.cpp
./Utf8_16.h
./ScitillaComponent/Buffer.cpp
./ScitillaComponent/Buffer.h
./ScitillaComponent/ScintillaEditView.cpp
./ScitillaComponent/ScintillaEditView.h
./ScitillaComponent/DocTabView.cpp
./ScitillaComponent/DocTabView.h
./ScitillaComponent/FindReplaceDlg.cpp
./ScitillaComponent/FindReplaceDlg.h
./ScitillaComponent/GoToLineDlg.cpp
./ScitillaComponent/GoToLineDlg.h
./ScitillaComponent/Printer.cpp
./ScitillaComponent/Printer.h
./ScitillaComponent/UserDefineDialog.cpp
./ScitillaComponent/UserDefineDialog.h
./WinControls/AboutDlg/AboutDlg.cpp
./WinControls/AboutDlg/AboutDlg.h
./WinControls/AboutDlg/URLCtrl.cpp
./WinControls/AboutDlg/URLCtrl.h
./WinControls/ColourPicker/ColourPicker.cpp
./WinControls/ColourPicker/ColourPicker.h
./WinControls/ColourPicker/ColourPopup.cpp
./WinControls/ColourPicker/ColourPopup.h
#./WinControls/ColourPicker/FontPreviewCombo.cpp
./WinControls/ColourPicker/WordStyleDlg.cpp
./WinControls/ColourPicker/WordStyleDlg.h
./WinControls/DockingWnd/DockingCont.cpp
./WinControls/DockingWnd/DockingCont.h
./WinControls/DockingWnd/DockingManager.cpp
./WinControls/DockingWnd/DockingManager.h
./WinControls/DockingWnd/DockingSplitter.cpp
./WinControls/DockingWnd/DockingSplitter.h
#./WinControls/DockingWnd/DropData.cpp
./WinControls/DockingWnd/Gripper.cpp
./WinControls/DockingWnd/Gripper.h
./WinControls/DockingWnd/common_func.cpp
./WinControls/DockingWnd/common_func.h
./WinControls/Grid/BabyGrid.cpp
./WinControls/Grid/BabyGrid.h
./WinControls/Grid/BabyGridWrapper.cpp
./WinControls/Grid/BabyGridWrapper.h
./WinControls/Grid/ShortcutMapper.cpp
./WinControls/Grid/ShortcutMapper.h
./WinControls/ImageListSet/ImageListSet.cpp
./WinControls/ImageListSet/ImageListSet.h
./WinControls/OpenSaveFileDialog/FileDialog.cpp
./WinControls/OpenSaveFileDialog/FileDialog.h
./WinControls/Preference/preferenceDlg.cpp
./WinControls/Preference/preferenceDlg.h
./WinControls/shortcut/shortcut.cpp
./WinControls/shortcut/shortcut.h
./WinControls/shortcut/RunMacroDlg.cpp
./WinControls/shortcut/RunMacroDlg.h
./WinControls/SplitterContainer/Splitter.cpp
./WinControls/SplitterContainer/Splitter.h
./WinControls/SplitterContainer/SplitterContainer.cpp
./WinControls/SplitterContainer/SplitterContainer.h
./WinControls/StaticDialog/StaticDialog.cpp
./WinControls/StaticDialog/StaticDialog.h
./WinControls/StaticDialog/RunDlg/RunDlg.cpp
./WinControls/StaticDialog/RunDlg/RunDlg.h
./WinControls/StatusBar/StatusBar.cpp
./WinControls/StatusBar/StatusBar.h
./WinControls/TabBar/TabBar.cpp
./WinControls/TabBar/TabBar.h
./WinControls/TabBar/ControlsTab.cpp
./WinControls/TabBar/ControlsTab.h
./WinControls/TaskList/TaskList.cpp
./WinControls/TaskList/TaskList.h
./WinControls/ToolBar/ToolBar.cpp
./WinControls/ToolBar/ToolBar.h
./WinControls/TrayIcon/trayIconControler.cpp
./WinControls/TrayIcon/trayIconControler.h
./WinControls/TreeView/TreeView.cpp
./WinControls/TreeView/TreeView.h
./WinControls/WindowsDlg/SizeableDlg.cpp
./WinControls/WindowsDlg/SizeableDlg.h
./WinControls/WindowsDlg/WindowsDlg.cpp
./WinControls/WindowsDlg/WindowsDlg.h
./WinControls/WindowsDlg/WinMgr.cpp
./WinControls/WindowsDlg/WinMgr.h
./WinControls/WindowsDlg/WinRect.cpp
./MISC/PluginsManager/PluginsManager.cpp
./MISC/PluginsManager/PluginsManager.h
./MISC/RegExt/regExtDlg.cpp
./MISC/RegExt/regExtDlg.h
./MISC/SysMsg/SysMsg.cpp
./MISC/SysMsg/SysMsg.h
./TinyXml/tinystr.cpp
./TinyXml/tinystr.h
./TinyXml/tinyxml.cpp
./TinyXml/tinyxml.h
./TinyXml/tinyxmlerror.cpp
./TinyXml/tinyxmlparser.cpp
)
SET(rcFiles ./Notepad_plus.rc
./ScitillaComponent/FindReplaceDlg.rc
./ScitillaComponent/UserDefineDialog.rc
./WinControls/ColourPicker/ColourPopup.rc
./WinControls/ColourPicker/WordStyleDlg.rc
./WinControls/DockingWnd/DockingGUIWidget.rc
./WinControls/Grid/ShortcutMapper.rc
./WinControls/Preference/preference.rc
./WinControls/shortcut/RunMacroDlg.rc
./WinControls/shortcut/shortcut.rc
./WinControls/StaticDialog/RunDlg/RunDlg.rc
./WinControls/TaskList/TaskListDlg.rc
./WinControls/WindowsDlg/WindowsDlg.rc
)
SET(vendorIncludDir ../../../vendor/Gemalto/Current/SDK_IASAPI/Output/include)
IF (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
SET(option WIN32)
SET(win32_LIBRARIES comctl32.lib shlwapi.lib shell32.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib)
#SET(defs -DUNICODE -D_UNICODE)
ENDIF (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
#ADD_DEFINITIONS(${defs})
INCLUDE_DIRECTORIES(${projIncludDir})
ADD_EXECUTABLE(notepad++ ${option} ${objs} ${rcFiles})
TARGET_LINK_LIBRARIES (notepad++ ${win32_LIBRARIES})

View File

@ -0,0 +1,2 @@
ALL:
gcc nppIExplorerShell.cpp -o nppIExplorerShell.exe -mwindows -lshlwapi -Os -s

View File

@ -0,0 +1,40 @@
//this file is part of notepad++
//Copyright (C)2003 Don HO ( donho@altern.org )
//
//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.
//
//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.
#include <windows.h>
#include <shlwapi.h>
const int CMD_LEN = 512;
const int PARAM_LEN = 1024;
const char *NPP = "\\notepad++.exe";
const char *FLAG_LEXER_HTML = "-lhtml ";
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR lpszCmdLine, int nCmdShow)
{
char cmd[CMD_LEN];
::GetModuleFileName(NULL, cmd, CMD_LEN);
PathRemoveFileSpec(cmd);
strcat(cmd, NPP);
char param[PARAM_LEN] = "";
strcat(strcat(param, FLAG_LEXER_HTML), lpszCmdLine);
::MessageBox(NULL, param, "", MB_OK);
HINSTANCE hInst = ::ShellExecute(NULL, "open", cmd, param, ".", SW_SHOW);
return (UINT)0;
}

View File

@ -0,0 +1,92 @@
//this file is part of notepad++
//Copyright (C)2003 Don HO ( donho@altern.org )
//
//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.
//
//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.
#ifndef FILENAME_STRING_SPLITTER_H
#define FILENAME_STRING_SPLITTER_H
typedef std::vector<std::string> stringVector;
class FileNameStringSplitter
{
public :
FileNameStringSplitter(const char *fileNameStr) {
//if (!fileNameStr) return;
char *pStr = NULL;
bool isInsideQuotes = false;
char str[256];
int i = 0;
bool fini = false;
for (pStr = (char *)fileNameStr ; !fini ; )
{
switch (*pStr)
{
case '"' :
if (isInsideQuotes)
{
str[i] = '\0';
if (str[0])
_fileNames.push_back(std::string(str));
i = 0;
}
isInsideQuotes = !isInsideQuotes;
pStr++;
break;
case ' ' :
if (isInsideQuotes)
{
str[i] = *pStr;
i++;
}
else
{
str[i] = '\0';
if (str[0])
_fileNames.push_back(std::string(str));
i = 0;
}
pStr++;
break;
case '\0' :
str[i] = *pStr;
if (str[0])
_fileNames.push_back(std::string(str));
fini = true;
break;
default :
str[i] = *pStr;
i++; pStr++;
break;
}
}
};
const char * getFileName(int index) const {
return _fileNames[index].c_str();
};
int size() const {
return int(_fileNames.size());
};
private :
stringVector _fileNames;
};
#endif //FILENAME_STRING_SPLITTER_H

View File

@ -0,0 +1,195 @@
//this file is part of notepad++
//Copyright (C)2003 Don HO ( donho@altern.org )
//
//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.
//
//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.
#ifndef NOTEPAD_PLUS_MSGS_H
#define NOTEPAD_PLUS_MSGS_H
enum LangType {L_TXT, 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_NFO, 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,\
// The end of enumated language type, so it should be always at the end
L_END};
enum winVer{WV_UNKNOWN, WV_WIN32S, WV_95, WV_98, WV_ME, WV_NT, WV_W2K, WV_XP, WV_S2003, WV_XPX64, WV_VISTA};
//#include "deprecatedSymbols.h"
//Here you can find how to use these messages : http://notepad-plus.sourceforge.net/uk/plugins-HOWTO.php
#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 {
char* sessionFilePathName;
int nbFile;
char** 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 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 index2Activate, int view)
#define NPPM_LAUNCHFINDINFILESDLG (NPPMSG + 29)
//void NPPM_LAUNCHFINDINFILESDLG(char * dir2Search, char * filtre)
#define NPPM_DMMSHOW (NPPMSG + 30)
#define NPPM_DMMHIDE (NPPMSG + 31)
#define NPPM_DMMUPDATEDISPINFO (NPPMSG + 32)
//void NPPM_DMMxxx(0, tTbData->hClient)
#define NPPM_DMMREGASDCKDLG (NPPMSG + 33)
//void NPPM_DMMREGASDCKDLG(0, &tTbData)
#define NPPM_LOADSESSION (NPPMSG + 34)
//void NPPM_LOADSESSION(0, const char* file name)
#define NPPM_DMMVIEWOTHERTAB (NPPMSG + 35)
//void WM_DMM_VIEWOTHERTAB(0, tTbData->hClient)
#define NPPM_RELOADFILE (NPPMSG + 36)
//BOOL NPPM_RELOADFILE(BOOL withAlert, char *filePathName2Reload)
#define NPPM_SWITCHTOFILE (NPPMSG + 37)
//BOOL NPPM_SWITCHTOFILE(0, char *filePathName2switch)
#define NPPM_SAVECURRENTFILE (NPPMSG + 38)
//BOOL WM_SWITCHTOFILE(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 char *windowName, const char *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)
//void NPPM_GETPLUGINSCONFIGDIR(int strLen, char *str)
#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 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
// 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 = 0;
#endif //NOTEPAD_PLUS_MSGS_H

View File

@ -0,0 +1,64 @@
//this file is part of notepad++
//Copyright (C)2003 Don HO ( donho@altern.org )
//
//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.
//
//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.
#ifndef PLUGININTERFACE_H
#define PLUGININTERFACE_H
#include <windows.h>
#include "Scintilla.h"
#include "Notepad_plus_msgs.h"
const int nbChar = 64;
typedef const char * (__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;
unsigned char _key;
};
struct FuncItem {
char _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 char * 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);
#endif //PLUGININTERFACE_H

View File

@ -0,0 +1,163 @@
//this file is part of notepad++
//Copyright (C)2003 Don HO ( donho@altern.org )
//
//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.
//
//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.
#include <shlwapi.h>
#include "PluginsManager.h"
#define USERMSG "This plugin is not compatible with current version of Notepad++.\n\
Remove this plugin from plugins directory if you don't want to see this message on the next launch time."
bool PluginsManager::loadPlugins(const char *dir)
{
vector<string> dllNames;
const char *pNppPath = (NppParameters::getInstance())->getNppPath();
string pluginsFullPathFilter = (dir && dir[0])?dir:pNppPath;
pluginsFullPathFilter += "\\plugins\\*.dll";
WIN32_FIND_DATA foundData;
HANDLE hFindFile = ::FindFirstFile(pluginsFullPathFilter.c_str(), &foundData);
if (hFindFile != INVALID_HANDLE_VALUE)
{
string plugins1stFullPath = (dir && dir[0])?dir:pNppPath;
plugins1stFullPath += "\\plugins\\";
plugins1stFullPath += foundData.cFileName;
dllNames.push_back(plugins1stFullPath);
while (::FindNextFile(hFindFile, &foundData))
{
string fullPath = (dir && dir[0])?dir:pNppPath;
fullPath += "\\plugins\\";
fullPath += foundData.cFileName;
dllNames.push_back(fullPath);
}
::FindClose(hFindFile);
size_t i = 0;
for ( ; i < dllNames.size() ; i++)
{
PluginInfo *pi = new PluginInfo;
try {
char tmpStr[MAX_PATH];
strcpy(tmpStr, dllNames[i].c_str());
strcpy(pi->_moduleName, PathFindFileName(tmpStr));
pi->_hLib = ::LoadLibrary(dllNames[i].c_str());
if (!pi->_hLib)
throw string("Load Library is failed");
pi->_pFuncSetInfo = (PFUNCSETINFO)GetProcAddress(pi->_hLib, "setInfo");
if (!pi->_pFuncSetInfo)
throw string("Missing \"setInfo\" function");
pi->_pFuncGetName = (PFUNCGETNAME)GetProcAddress(pi->_hLib, "getName");
if (!pi->_pFuncGetName)
throw string("Missing \"getName\" function");
pi->_pBeNotified = (PBENOTIFIED)GetProcAddress(pi->_hLib, "beNotified");
if (!pi->_pBeNotified)
throw string("Missing \"beNotified\" function");
pi->_pMessageProc = (PMESSAGEPROC)GetProcAddress(pi->_hLib, "messageProc");
if (!pi->_pMessageProc)
throw string("Missing \"messageProc\" function");
pi->_pFuncGetFuncsArray = (PFUNCGETFUNCSARRAY)GetProcAddress(pi->_hLib, "getFuncsArray");
if (!pi->_pFuncGetFuncsArray)
throw string("Missing \"getFuncsArray\" function");
pi->_funcItems = pi->_pFuncGetFuncsArray(&pi->_nbFuncItem);
if ((!pi->_funcItems) || (pi->_nbFuncItem <= 0))
throw string("Missing \"FuncItems\" array, or the nb of Function Item is not set correctly");
getCustomizedShortcuts(pi->_moduleName, pi->_funcItems, pi->_nbFuncItem);
for (int i = 0 ; i < pi->_nbFuncItem ; i++)
if (!pi->_funcItems[i]._pFunc)
throw string("\"FuncItems\" array is not set correctly");
pi->_pluginMenu = ::CreateMenu();
pi->_pFuncSetInfo(_nppData);
_pluginInfos.push_back(pi);
}
catch(string s)
{
s += "\n\n";
s += USERMSG;
::MessageBox(NULL, s.c_str(), dllNames[i].c_str(), MB_OK);
delete pi;
}
catch(...)
{
string msg = "Fail loaded";
msg += "\n\n";
msg += USERMSG;
::MessageBox(NULL, msg.c_str(), dllNames[i].c_str(), MB_OK);
delete pi;
}
}
}
return true;
}
void PluginsManager::setMenu(HMENU hMenu, const char *menuName)
{
if (hasPlugins())
{
vector<PluginCmdShortcut> & pluginCmdSCList = (NppParameters::getInstance())->getPluginCommandList();
const char *nom_menu = (menuName && menuName[0])?menuName:"Plugins";
_hPluginsMenu = ::CreateMenu();
::InsertMenu(hMenu, 9, MF_BYPOSITION | MF_POPUP, (UINT_PTR)_hPluginsMenu, nom_menu);
for (size_t i = 0 ; i < _pluginInfos.size() ; i++)
{
::InsertMenu(_hPluginsMenu, i, MF_BYPOSITION | MF_POPUP, (UINT_PTR)_pluginInfos[i]->_pluginMenu, _pluginInfos[i]->_pFuncGetName());
for (int j = 0 ; j < _pluginInfos[i]->_nbFuncItem ; j++)
{
_pluginsCommands.push_back(PluginCommand(_pluginInfos[i]->_moduleName, j, _pluginInfos[i]->_funcItems[j]._pFunc));
int cmdID = ID_PLUGINS_CMD + (_pluginsCommands.size() - 1);
//printInt(cmdID);
_pluginInfos[i]->_funcItems[j]._cmdID = cmdID;
string itemName = _pluginInfos[i]->_funcItems[j]._itemName;
if (_pluginInfos[i]->_funcItems[j]._pShKey)
{
ShortcutKey & sKey = *(_pluginInfos[i]->_funcItems[j]._pShKey);
//CommandShortcut cmdShortcut(itemName.c_str(), cmdID, sKey._isCtrl, sKey._isAlt, sKey._isShift, sKey._key);
//printInt(cmdID);
PluginCmdShortcut pcs(Shortcut(itemName.c_str(), sKey._isCtrl, sKey._isAlt, sKey._isShift, sKey._key), cmdID, _pluginInfos[i]->_moduleName, j);
pluginCmdSCList.push_back(pcs);
itemName += "\t";
itemName += pcs.toString();
}
::InsertMenu(_pluginInfos[i]->_pluginMenu, j, MF_BYPOSITION, cmdID, itemName.c_str());
if (_pluginInfos[i]->_funcItems[j]._init2Check)
::CheckMenuItem(_hPluginsMenu, cmdID, MF_BYCOMMAND | MF_CHECKED);
}
}
}
}

View File

@ -0,0 +1,164 @@
//this file is part of notepad++
//Copyright (C)2003 Don HO ( donho@altern.org )
//
//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.
//
//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.
#include <shlwapi.h>
#include "PluginsManager.h"
#define USERMSG "This plugin is not compatible with current version of Notepad++.\n\
Remove this plugin from plugins directory if you don't want to see this message on the next launch time."
bool PluginsManager::loadPlugins()
{
vector<string> dllNames;
const char *pNppPath = (NppParameters::getInstance())->getNppPath();
string pluginsFullPathFilter = pNppPath;
pluginsFullPathFilter += "\\plugins\\*.dll";
WIN32_FIND_DATA foundData;
HANDLE hFindFile = ::FindFirstFile(pluginsFullPathFilter.c_str(), &foundData);
if (hFindFile != INVALID_HANDLE_VALUE)
{
string plugins1stFullPath = pNppPath;
plugins1stFullPath += "\\plugins\\";
plugins1stFullPath += foundData.cFileName;
dllNames.push_back(plugins1stFullPath);
while (::FindNextFile(hFindFile, &foundData))
{
string fullPath = pNppPath;
fullPath += "\\plugins\\";
fullPath += foundData.cFileName;
dllNames.push_back(fullPath);
}
::FindClose(hFindFile);
size_t i = 0;
for ( ; i < dllNames.size() ; i++)
{
PluginInfo *pi = new PluginInfo;
try {
char tmpStr[MAX_PATH];
strcpy(tmpStr, dllNames[i].c_str());
strcpy(pi->_moduleName, PathFindFileName(tmpStr));
pi->_hLib = ::LoadLibrary(dllNames[i].c_str());
if (!pi->_hLib)
throw string("Load Library is failed");
pi->_pFuncSetInfo = (PFUNCSETINFO)GetProcAddress(pi->_hLib, "setInfo");
if (!pi->_pFuncSetInfo)
throw string("Missing \"setInfo\" function");
pi->_pFuncGetName = (PFUNCGETNAME)GetProcAddress(pi->_hLib, "getName");
if (!pi->_pFuncGetName)
throw string("Missing \"getName\" function");
pi->_pBeNotified = (PBENOTIFIED)GetProcAddress(pi->_hLib, "beNotified");
if (!pi->_pBeNotified)
throw string("Missing \"beNotified\" function");
pi->_pMessageProc = (PMESSAGEPROC)GetProcAddress(pi->_hLib, "messageProc");
if (!pi->_pMessageProc)
throw string("Missing \"messageProc\" function");
pi->_pFuncGetFuncsArray = (PFUNCGETFUNCSARRAY)GetProcAddress(pi->_hLib, "getFuncsArray");
if (!pi->_pFuncGetFuncsArray)
throw string("Missing \"getFuncsArray\" function");
pi->_funcItems = pi->_pFuncGetFuncsArray(&pi->_nbFuncItem);
if ((!pi->_funcItems) || (pi->_nbFuncItem <= 0))
throw string("Missing \"FuncItems\" array, or the nb of Function Item is not set correctly");
getCustomizedShortcuts(pi->_moduleName, pi->_funcItems, pi->_nbFuncItem);
for (int i = 0 ; i < pi->_nbFuncItem ; i++)
if (!pi->_funcItems[i]._pFunc)
throw string("\"FuncItems\" array is not set correctly");
pi->_pluginMenu = ::CreateMenu();
pi->_pFuncSetInfo(_nppData);
_pluginInfos.push_back(pi);
}
catch(string s)
{
s += "\n\n";
s += USERMSG;
::MessageBox(NULL, s.c_str(), dllNames[i].c_str(), MB_OK);
delete pi;
}
catch(...)
{
string msg = "Fail loaded";
msg += "\n\n";
msg += USERMSG;
::MessageBox(NULL, msg.c_str(), dllNames[i].c_str(), MB_OK);
delete pi;
}
}
}
//pi._pFuncSetInfo(_nppData);
//const char * pluginName = _pFuncGetName();
return true;
}
#include "SysMsg.h"
void PluginsManager::setMenu(HMENU hMenu, const char *menuName)
{
if (hasPlugins())
{
vector<PluginCmdShortcut> & pluginCmdSCList = (NppParameters::getInstance())->getPluginCommandList();
const char *nom_menu = (menuName && menuName[0])?menuName:"Plugins";
_hPluginsMenu = ::CreateMenu();
::InsertMenu(hMenu, 9, MF_BYPOSITION | MF_POPUP, (UINT_PTR)_hPluginsMenu, nom_menu);
for (size_t i = 0 ; i < _pluginInfos.size() ; i++)
{
::InsertMenu(_hPluginsMenu, i, MF_BYPOSITION | MF_POPUP, (UINT_PTR)_pluginInfos[i]->_pluginMenu, _pluginInfos[i]->_pFuncGetName());
for (int j = 0 ; j < _pluginInfos[i]->_nbFuncItem ; j++)
{
_pluginsCommands.push_back(PluginCommand(_pluginInfos[i]->_moduleName, j, _pluginInfos[i]->_funcItems[j]._pFunc));
int cmdID = ID_PLUGINS_CMD + (_pluginsCommands.size() - 1);
//printInt(cmdID);
_pluginInfos[i]->_funcItems[j]._cmdID = cmdID;
string itemName = _pluginInfos[i]->_funcItems[j]._itemName;
if (_pluginInfos[i]->_funcItems[j]._pShKey)
{
ShortcutKey & sKey = *(_pluginInfos[i]->_funcItems[j]._pShKey);
//CommandShortcut cmdShortcut(itemName.c_str(), cmdID, sKey._isCtrl, sKey._isAlt, sKey._isShift, sKey._key);
//printInt(cmdID);
PluginCmdShortcut pcs(Shortcut(itemName.c_str(), sKey._isCtrl, sKey._isAlt, sKey._isShift, sKey._key), cmdID, _pluginInfos[i]->_moduleName, j);
pluginCmdSCList.push_back(pcs);
itemName += "\t";
itemName += pcs.toString();
}
::InsertMenu(_pluginInfos[i]->_pluginMenu, j, MF_BYPOSITION, cmdID, itemName.c_str());
if (_pluginInfos[i]->_funcItems[j]._init2Check)
::CheckMenuItem(_hPluginsMenu, cmdID, MF_BYCOMMAND | MF_CHECKED);
}
}
}
}

View File

@ -0,0 +1,141 @@
//this file is part of notepad++
//Copyright (C)2003 Don HO ( donho@altern.org )
//
//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.
//
//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.
#ifndef PLUGINSMANAGER_H
#define PLUGINSMANAGER_H
#include "resource.h"
#include "Parameters.h"
#include "PluginInterface.h"
struct PluginCommand {
char _pluginName[64];
int _funcID;
PFUNCPLUGINCMD _pFunc;
PluginCommand(const char *pluginName, int funcID, PFUNCPLUGINCMD pFunc): _funcID(funcID), _pFunc(pFunc){
strcpy(_pluginName, pluginName);
};
};
struct PluginInfo {
PluginInfo() :_hLib(NULL), _pluginMenu(NULL), _pFuncSetInfo(NULL),\
_pFuncGetFuncsArray(NULL), _pFuncGetName(NULL), _funcItems(NULL),\
_nbFuncItem(0){};
~PluginInfo(){
if (_pluginMenu)
::DestroyMenu(_pluginMenu);
if (_hLib)
::FreeLibrary(_hLib);
};
HINSTANCE _hLib;
HMENU _pluginMenu;
PFUNCSETINFO _pFuncSetInfo;
PFUNCGETNAME _pFuncGetName;
PBENOTIFIED _pBeNotified;
PFUNCGETFUNCSARRAY _pFuncGetFuncsArray;
PMESSAGEPROC _pMessageProc;
FuncItem *_funcItems;
int _nbFuncItem;
char _moduleName[64];
};
class PluginsManager {
public:
PluginsManager() : _hPluginsMenu(NULL) {};
~PluginsManager() {
for (size_t i = 0 ; i < _pluginInfos.size() ; i++)
delete _pluginInfos[i];
if (_hPluginsMenu)
DestroyMenu(_hPluginsMenu);
};
void init(const NppData & nppData) {
_nppData = nppData;
};
bool loadPlugins(const char *dir = NULL);
void runPluginCommand(size_t i) {
if (i < _pluginsCommands.size())
_pluginsCommands[i]._pFunc();
};
void runPluginCommand(const char *pluginName, int commandID) {
for (size_t i = 0 ; i < _pluginsCommands.size() ; i++)
{
if (!stricmp(_pluginsCommands[i]._pluginName, pluginName))
{
if (_pluginsCommands[i]._funcID == commandID)
_pluginsCommands[i]._pFunc();
}
}
};
void setMenu(HMENU hMenu, const char *menuName);
void notify(SCNotification *notification) {
for (size_t i = 0 ; i < _pluginInfos.size() ; i++)
{
_pluginInfos[i]->_pBeNotified(notification);
}
};
void relayNppMessages(UINT Message, WPARAM wParam, LPARAM lParam) {
for (size_t i = 0 ; i < _pluginInfos.size() ; i++)
{
_pluginInfos[i]->_pMessageProc(Message, wParam, lParam);
}
};
HMENU getMenuHandle() {
return _hPluginsMenu;
};
void getCustomizedShortcuts(char *pluginName, FuncItem *funcItems, int nbFuncItem) {
vector<PluginCmdShortcut> & pluginCustomizedCmds = (NppParameters::getInstance())->getPluginCustomizedCmds();
for (size_t i = 0 ; i < pluginCustomizedCmds.size() ; i++)
{
if (strcmp(pluginName, pluginCustomizedCmds[i].getModuleName()) == 0)
{
int id = pluginCustomizedCmds[i].getInternalID();
if ((id < nbFuncItem) && (funcItems[id]._pShKey != NULL))
{
funcItems[id]._pShKey->_isAlt = pluginCustomizedCmds[i]._isAlt;
funcItems[id]._pShKey->_isCtrl = pluginCustomizedCmds[i]._isCtrl;
funcItems[id]._pShKey->_isShift = pluginCustomizedCmds[i]._isShift;
funcItems[id]._pShKey->_key = pluginCustomizedCmds[i]._key;
}
}
}
};
private:
NppData _nppData;
HMENU _hPluginsMenu;
vector<PluginInfo *> _pluginInfos;
vector<PluginCommand> _pluginsCommands;
bool hasPlugins(){return (_pluginInfos.size()!= 0);};
};
#endif //PLUGINSMANAGER_H

View File

@ -0,0 +1,68 @@
//
//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.
//
//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.
//
#define NOTEPADPLUS_USER (WM_USER + 1000)
#define WM_GETCURRENTSCINTILLA (NOTEPADPLUS_USER + 4)
#define WM_GETCURRENTLANGTYPE (NOTEPADPLUS_USER + 5)
#define WM_SETCURRENTLANGTYPE (NOTEPADPLUS_USER + 6)
#define WM_NBOPENFILES (NOTEPADPLUS_USER + 7)
#define WM_GETOPENFILENAMES (NOTEPADPLUS_USER + 8)
#define WM_MODELESSDIALOG (NOTEPADPLUS_USER + 12)
#define WM_NBSESSIONFILES (NOTEPADPLUS_USER + 13)
#define WM_GETSESSIONFILES (NOTEPADPLUS_USER + 14)
#define WM_SAVESESSION (NOTEPADPLUS_USER + 15)
#define WM_SAVECURRENTSESSION (NOTEPADPLUS_USER + 16)
#define WM_GETOPENFILENAMES_PRIMARY (NOTEPADPLUS_USER + 17)
#define WM_GETOPENFILENAMES_SECOND (NOTEPADPLUS_USER + 18)
#define WM_CREATESCINTILLAHANDLE (NOTEPADPLUS_USER + 20)
#define WM_DESTROYSCINTILLAHANDLE (NOTEPADPLUS_USER + 21)
#define WM_GETNBUSERLANG (NOTEPADPLUS_USER + 22)
#define WM_GETCURRENTDOCINDEX (NOTEPADPLUS_USER + 23)
#define WM_SETSTATUSBAR (NOTEPADPLUS_USER + 24)
#define WM_GETMENUHANDLE (NOTEPADPLUS_USER + 25)
#define WM_ENCODE_SCI (NOTEPADPLUS_USER + 26)
#define WM_DECODE_SCI (NOTEPADPLUS_USER + 27)
#define WM_ACTIVATE_DOC (NOTEPADPLUS_USER + 28)
#define WM_LAUNCH_FINDINFILESDLG (NOTEPADPLUS_USER + 29)
#define WM_DMM_SHOW (NOTEPADPLUS_USER + 30)
#define WM_DMM_HIDE (NOTEPADPLUS_USER + 31)
#define WM_DMM_UPDATEDISPINFO (NOTEPADPLUS_USER + 32)
#define WM_DMM_REGASDCKDLG (NOTEPADPLUS_USER + 33)
#define WM_LOADSESSION (NOTEPADPLUS_USER + 34)
#define WM_DMM_VIEWOTHERTAB (NOTEPADPLUS_USER + 35)
#define WM_RELOADFILE (NOTEPADPLUS_USER + 36)
#define WM_SWITCHTOFILE (NOTEPADPLUS_USER + 37)
#define WM_SAVECURRENTFILE (NOTEPADPLUS_USER + 38)
#define WM_SAVEALLFILES (NOTEPADPLUS_USER + 39)
#define WM_PIMENU_CHECK (NOTEPADPLUS_USER + 40)
#define WM_ADDTOOLBARICON (NOTEPADPLUS_USER + 41)
#define WM_GETWINDOWSVERSION (NOTEPADPLUS_USER + 42)
#define WM_DMM_GETPLUGINHWNDBYNAME (NOTEPADPLUS_USER + 43)
#define RUNCOMMAND_USER_ (WM_USER + 3000)
#define WM_GET_FULLCURRENTPATH (RUNCOMMAND_USER_ + FULL_CURRENT_PATH)
#define WM_GET_CURRENTDIRECTORY (RUNCOMMAND_USER_ + CURRENT_DIRECTORY)
#define WM_GET_FILENAME (RUNCOMMAND_USER_ + FILE_NAME)
#define WM_GET_NAMEPART (RUNCOMMAND_USER_ + NAME_PART)
#define WM_GET_EXTPART (RUNCOMMAND_USER_ + EXT_PART)
#define WM_GET_CURRENTWORD (RUNCOMMAND_USER_ + CURRENT_WORD)
#define WM_GET_NPPDIRECTORY (RUNCOMMAND_USER_ + NPP_DIRECTORY)

View File

@ -0,0 +1,292 @@
//this file is part of notepad++
//Copyright (C)2003 Don HO ( donho@altern.org )
//
//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.
//
//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.
#include "process.h"
#include "SysMsg.h"
BOOL Process::run()
{
BOOL result = TRUE;
// stdout & stderr pipes for process to write
HANDLE hPipeOutW = NULL;
HANDLE hPipeErrW = NULL;
HANDLE hListenerStdOutThread = NULL;
HANDLE hListenerStdErrThread = NULL;
HANDLE hWaitForProcessEndThread = NULL;
HANDLE hListenerEvent[2];
hListenerEvent[0] = NULL;
hListenerEvent[1] = NULL;
SECURITY_ATTRIBUTES sa = {sizeof(SECURITY_ATTRIBUTES), NULL, TRUE }; // inheritable handle
try {
// Create stdout pipe
if (!::CreatePipe(&_hPipeOutR, &hPipeOutW, &sa, 0))
error("CreatePipe", result, 1000);
// Create stderr pipe
if (!::CreatePipe(&_hPipeErrR, &hPipeErrW, &sa, 0))
error("CreatePipe", result, 1001);
STARTUPINFO startup;
PROCESS_INFORMATION procinfo;
::ZeroMemory(&startup, sizeof(startup));
startup.cb = sizeof(startup);
startup.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
startup.wShowWindow = (_type == WIN32_PROG)?SW_SHOW:SW_HIDE; // hidden console window
startup.hStdInput = NULL; // not used
startup.hStdOutput = hPipeOutW;
startup.hStdError = hPipeErrW;
BOOL started = ::CreateProcess((_type == WIN32_PROG)?_command:NULL, // command is part of input string
(_type == WIN32_PROG)?NULL:_command, // (writeable) command string
NULL, // process security
NULL, // thread security
TRUE, // inherit handles flag
(_type == WIN32_PROG)?NULL:CREATE_SUSPENDED, // flags
NULL, // inherit environment
_curDir, // inherit directory
&startup, // STARTUPINFO
&procinfo); // PROCESS_INFORMATION
_hProcess = procinfo.hProcess;
_hProcessThread = procinfo.hThread;
if(!started)
error("CreateProcess", result, 1002);
if (_type == CONSOLE_PROG)
{
hListenerEvent[0] = ::CreateEvent(NULL, FALSE, FALSE, "listenerEvent");
if(!hListenerEvent[0])
error("CreateEvent", result, 1003);
hListenerEvent[1] = ::CreateEvent(NULL, FALSE, FALSE, "listenerStdErrEvent");
if(!hListenerEvent[1])
error("CreateEvent", result, 1004);
// The process is running so we set this to FALSE
_bProcessEnd = FALSE;
hWaitForProcessEndThread = ::CreateThread(NULL, 0, staticWaitForProcessEnd, this, 0, NULL);
if (!hWaitForProcessEndThread)
error("CreateThread", result, 1005);
hListenerStdOutThread = ::CreateThread(NULL, 0, staticListenerStdOut, this, 0, NULL);
if (!hListenerStdOutThread)
error("CreateThread", result, 1006);
hListenerStdErrThread = ::CreateThread(NULL, 0, staticListenerStdErr, this, 0, NULL);
if (!hListenerStdErrThread)
error("CreateThread", result, 1007);
// We wait until the process is over
// TO DO: This should be a bit secured in case something happen and the
// _bProcessEnd variable never gets set to TRUE... (by checking process
// state as well for instance to see if it is still running...)
while (!_bProcessEnd)
{
MSG msg;
while( ::PeekMessage( &msg, NULL, 0, 0, PM_REMOVE))
{
if( msg.message == WM_QUIT)
{
::PostQuitMessage(0);
// We do not exit but simply break in order to close
// handles properly
_bProcessEnd = TRUE;
break;
}
else
{
::TranslateMessage( &msg);
::DispatchMessage( &msg);
}
}
}
}
} catch (int coderr){
char str[10];
::MessageBox(NULL, itoa(coderr, str, 10), "Exception :", MB_OK);
}
// on va fermer toutes les handles
if (hPipeOutW)
::CloseHandle(hPipeOutW);
if (hPipeErrW)
::CloseHandle(hPipeErrW);
if (_hPipeOutR)
::CloseHandle(_hPipeOutR);
if (_hPipeErrR)
::CloseHandle(_hPipeErrR);
if (hListenerStdOutThread)
::CloseHandle(hListenerStdOutThread);
if (hListenerStdErrThread)
::CloseHandle(hListenerStdErrThread);
if (hWaitForProcessEndThread)
::CloseHandle(hWaitForProcessEndThread);
if (hListenerEvent[0])
::CloseHandle(hListenerEvent[0]);
if (hListenerEvent[1])
::CloseHandle(hListenerEvent[1]);
return result;
}
#define MAX_LINE_LENGTH 1024
void Process::listenerStdOut()
{
//BOOL Result = 0;
//DWORD size = 0;
DWORD bytesAvail = 0;
BOOL result = 0;
HANDLE hListenerEvent = ::OpenEvent(EVENT_ALL_ACCESS, FALSE, "listenerEvent");
//FILE *fp = NULL;
int taille = 0;
TCHAR bufferOut[MAX_LINE_LENGTH + 1];
//TCHAR bufferErr[MAX_LINE_LENGTH + 1];
int nExitCode = STILL_ACTIVE;
DWORD outbytesRead;
::ResumeThread(_hProcessThread);
while (true)
{ // got data
memset(bufferOut,0x00,MAX_LINE_LENGTH + 1);
//memset(bufferErr,0x00,MAX_LINE_LENGTH + 1);
taille = sizeof(bufferOut) - sizeof(TCHAR);
Sleep(50);
if (!::PeekNamedPipe(_hPipeOutR, bufferOut, taille, &outbytesRead, &bytesAvail, NULL))
{
bytesAvail = 0;
break;
}
if(outbytesRead)
{
result = :: ReadFile(_hPipeOutR, bufferOut, taille, &outbytesRead, NULL);
if ((!result) && (outbytesRead == 0))
break;
}
//outbytesRead = strlen(bufferOut);
bufferOut[outbytesRead] = '\0';
string s;
s.assign(bufferOut);
_stdoutStr += s;
if (::GetExitCodeProcess(_hProcess, (unsigned long*)&nExitCode))
{
if (nExitCode != STILL_ACTIVE)
break; // EOF condition
}
//else
//break;
}
_exitCode = nExitCode;
if(!::SetEvent(hListenerEvent))
{
systemMessage("Thread listenerStdOut");
}
}
void Process::listenerStdErr()
{
//BOOL Result = 0;
//DWORD size = 0;
DWORD bytesAvail = 0;
BOOL result = 0;
HANDLE hListenerEvent = ::OpenEvent(EVENT_ALL_ACCESS, FALSE, "listenerStdErrEvent");
int taille = 0;
//TCHAR bufferOut[MAX_LINE_LENGTH + 1];
TCHAR bufferErr[MAX_LINE_LENGTH + 1];
int nExitCode = STILL_ACTIVE;
DWORD errbytesRead;
::ResumeThread(_hProcessThread);
while (true)
{ // got data
memset(bufferErr, 0x00, MAX_LINE_LENGTH + 1);
taille = sizeof(bufferErr) - sizeof(TCHAR);
Sleep(50);
if (!::PeekNamedPipe(_hPipeErrR, bufferErr, taille, &errbytesRead, &bytesAvail, NULL))
{
bytesAvail = 0;
break;
}
if(errbytesRead)
{
result = :: ReadFile(_hPipeErrR, bufferErr, taille, &errbytesRead, NULL);
if ((!result) && (errbytesRead == 0))
break;
}
//outbytesRead = strlen(bufferOut);
bufferErr[errbytesRead] = '\0';
string s;
s.assign(bufferErr);
_stderrStr += s;
if (::GetExitCodeProcess(_hProcess, (unsigned long*)&nExitCode))
{
if (nExitCode != STILL_ACTIVE)
break; // EOF condition
}
}
if(!::SetEvent(hListenerEvent))
{
systemMessage("Thread stdout listener");
}
}
void Process::waitForProcessEnd()
{
HANDLE hListenerEvent[2];
hListenerEvent[0] = ::OpenEvent(EVENT_ALL_ACCESS, FALSE, "listenerEvent");
hListenerEvent[1] = ::OpenEvent(EVENT_ALL_ACCESS, FALSE, "listenerStdErrEvent");
::WaitForSingleObject(_hProcess, INFINITE);
::WaitForMultipleObjects(2, hListenerEvent, TRUE, INFINITE);
_bProcessEnd = TRUE;
}
void Process::error(const char *txt2display, BOOL & returnCode, int errCode)
{
systemMessage(txt2display);
returnCode = FALSE;
throw int(errCode);
}

View File

@ -0,0 +1,107 @@
//this file is part of notepad++
//Copyright (C)2003 Don HO ( donho@altern.org )
//
//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.
//
//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.
#ifndef PROCESSUS_H
#define PROCESSUS_H
#include <windows.h>
#include <string>
using namespace std;
enum progType {WIN32_PROG, CONSOLE_PROG};
class Process
{
public:
Process(progType pt = WIN32_PROG) : _type(pt) {};
Process(const char *cmd, const char *cDir, progType pt = WIN32_PROG)
: _type(pt), _stdoutStr(""), _stderrStr(""), _hPipeOutR(NULL),
_hPipeErrR(NULL), _hProcess(NULL), _hProcessThread(NULL) {
strcpy(_command, cmd);
strcpy(_curDir, cDir);
//_pid = id;
_bProcessEnd = TRUE;
};
BOOL run();
const char * getStdout() const {
return _stdoutStr.c_str();
};
const char * getStderr() const {
return _stderrStr.c_str();
};
int getExitCode() const {
return _exitCode;
};
bool hasStdout() {
return (_stdoutStr.compare("") != 0);
};
bool hasStderr() {
return (_stderrStr.compare("") != 0);
};
protected:
progType _type;
// LES ENTREES
char _command[256];
char _curDir[256];
// LES SORTIES
string _stdoutStr;
string _stderrStr;
int _exitCode;
// LES HANDLES
HANDLE _hPipeOutR;
HANDLE _hPipeErrR;
HANDLE _hProcess;
HANDLE _hProcessThread;
BOOL _bProcessEnd;
//UINT _pid; // process ID assigned by caller
static DWORD WINAPI staticListenerStdOut(void * myself){
((Process *)myself)->listenerStdOut();
return 0;
};
static DWORD WINAPI staticListenerStdErr(void * myself) {
((Process *)myself)->listenerStdErr();
return 0;
};
static DWORD WINAPI staticWaitForProcessEnd(void * myself) {
((Process *)myself)->waitForProcessEnd();
return 0;
};
void listenerStdOut();
void listenerStdErr();
void waitForProcessEnd();
void error(const char *txt2display, BOOL & returnCode, int errCode);
};
#endif //PROCESSUS_H

View File

@ -0,0 +1,243 @@
//this file is part of notepad++
//Copyright (C)2003 Don HO ( donho@altern.org )
//
//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.
//
//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.
#include "process.h"
#include "SysMsg.h"
BOOL Process::run()
{
BOOL result = TRUE;
// stdout & stderr pipes for process to write
HANDLE hPipeOutW = NULL;
HANDLE hPipeErrW = NULL;
HANDLE hListenerStdOutThread = NULL;
HANDLE hListenerStdErrThread = NULL;
HANDLE hListenerEvent[2];
hListenerEvent[0] = NULL;
hListenerEvent[1] = NULL;
SECURITY_ATTRIBUTES sa = {sizeof(SECURITY_ATTRIBUTES), NULL, TRUE }; // inheritable handle
try {
// Create stdout pipe
if (!::CreatePipe(&_hPipeOutR, &hPipeOutW, &sa, 0))
error("CreatePipe", result, 1000);
// Create stderr pipe
if (!::CreatePipe(&_hPipeErrR, &hPipeErrW, &sa, 0))
error("CreatePipe", result, 1001);
STARTUPINFO startup;
PROCESS_INFORMATION procinfo;
::ZeroMemory(&startup, sizeof(startup));
startup.cb = sizeof(startup);
startup.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
startup.wShowWindow = SW_HIDE; // hidden console window
startup.hStdInput = NULL; // not used
startup.hStdOutput = hPipeOutW;
startup.hStdError = hPipeErrW;
BOOL started = ::CreateProcess(NULL, // command is part of input string
_command, // (writeable) command string
NULL, // process security
NULL, // thread security
TRUE, // inherit handles flag
CREATE_SUSPENDED, // flags
NULL, // inherit environment
_curDir, // inherit directory
&startup, // STARTUPINFO
&procinfo); // PROCESS_INFORMATION
_hProcess = procinfo.hProcess;
_hProcessThread = procinfo.hThread;
if(!started)
error("CreateProcess", result, 1002);
hListenerEvent[0] = ::CreateEvent(NULL, FALSE, FALSE, "listenerEvent");
if(!hListenerEvent[0])
error("CreateEvent", result, 1003);
hListenerEvent[1] = ::CreateEvent(NULL, FALSE, FALSE, "listenerStdErrEvent");
if(!hListenerEvent[1])
error("CreateEvent", result, 1004);
hListenerStdOutThread = ::CreateThread(NULL, 0, staticListenerStdOut, this, 0, NULL);
if (!hListenerStdOutThread)
error("CreateThread", result, 1005);
hListenerStdErrThread = ::CreateThread(NULL, 0, staticListenerStdErr, this, 0, NULL);
if (!hListenerStdErrThread)
error("CreateThread", result, 1006);
::WaitForSingleObject(_hProcess, INFINITE);
::WaitForMultipleObjects(2, hListenerEvent, TRUE, INFINITE);
} catch (int coderr){}
// on va fermer toutes les handles
if (hPipeOutW)
::CloseHandle(hPipeOutW);
if (hPipeErrW)
::CloseHandle(hPipeErrW);
if (_hPipeOutR)
::CloseHandle(_hPipeOutR);
if (_hPipeErrR)
::CloseHandle(_hPipeErrR);
if (hListenerStdOutThread)
::CloseHandle(hListenerStdOutThread);
if (hListenerStdErrThread)
::CloseHandle(hListenerStdErrThread);
if (hListenerEvent[0])
::CloseHandle(hListenerEvent[0]);
if (hListenerEvent[1])
::CloseHandle(hListenerEvent[1]);
return result;
}
#define MAX_LINE_LENGTH 1024
void Process::listenerStdOut()
{
BOOL Result = 0;
DWORD size = 0;
DWORD bytesAvail = 0;
BOOL result = 0;
HANDLE hListenerEvent = ::OpenEvent(EVENT_ALL_ACCESS, FALSE, "listenerEvent");
//FILE *fp = NULL;
int taille = 0;
TCHAR bufferOut[MAX_LINE_LENGTH + 1];
//TCHAR bufferErr[MAX_LINE_LENGTH + 1];
int nExitCode = STILL_ACTIVE;
DWORD outbytesRead;
::ResumeThread(_hProcessThread);
while (true)
{ // got data
memset(bufferOut,0x00,MAX_LINE_LENGTH + 1);
//memset(bufferErr,0x00,MAX_LINE_LENGTH + 1);
taille = sizeof(bufferOut) - sizeof(TCHAR);
Sleep(50);
if (!::PeekNamedPipe(_hPipeOutR, bufferOut, taille, &outbytesRead, &bytesAvail, NULL))
{
bytesAvail = 0;
break;
}
if(outbytesRead)
{
result = :: ReadFile(_hPipeOutR, bufferOut, taille, &outbytesRead, NULL);
if ((!result) && (outbytesRead == 0))
break;
}
//outbytesRead = strlen(bufferOut);
bufferOut[outbytesRead] = '\0';
string s;
s.assign(bufferOut);
_stdoutStr += s;
if (::GetExitCodeProcess(_hProcess, (unsigned long*)&nExitCode))
{
if (nExitCode != STILL_ACTIVE)
break; // EOF condition
}
//else
//break;
}
_exitCode = nExitCode;
if(!::SetEvent(hListenerEvent))
{
systemMessage("Thread listenerStdOut");
}
}
void Process::listenerStdErr()
{
BOOL Result = 0;
DWORD size = 0;
DWORD bytesAvail = 0;
BOOL result = 0;
HANDLE hListenerEvent = ::OpenEvent(EVENT_ALL_ACCESS, FALSE, "listenerStdErrEvent");
int taille = 0;
//TCHAR bufferOut[MAX_LINE_LENGTH + 1];
TCHAR bufferErr[MAX_LINE_LENGTH + 1];
int nExitCode = STILL_ACTIVE;
DWORD errbytesRead;
::ResumeThread(_hProcessThread);
while (true)
{ // got data
memset(bufferErr, 0x00, MAX_LINE_LENGTH + 1);
taille = sizeof(bufferErr) - sizeof(TCHAR);
Sleep(50);
if (!::PeekNamedPipe(_hPipeErrR, bufferErr, taille, &errbytesRead, &bytesAvail, NULL))
{
bytesAvail = 0;
break;
}
if(errbytesRead)
{
result = :: ReadFile(_hPipeErrR, bufferErr, taille, &errbytesRead, NULL);
if ((!result) && (errbytesRead == 0))
break;
}
//outbytesRead = strlen(bufferOut);
bufferErr[errbytesRead] = '\0';
string s;
s.assign(bufferErr);
_stderrStr += s;
if (::GetExitCodeProcess(_hProcess, (unsigned long*)&nExitCode))
{
if (nExitCode != STILL_ACTIVE)
break; // EOF condition
}
//else
//break;
}
//_exitCode = nExitCode;
if(!::SetEvent(hListenerEvent))
{
systemMessage("Thread stdout listener");
}
}
void Process::error(const char *txt2display, BOOL & returnCode, int errCode)
{
systemMessage(txt2display);
returnCode = FALSE;
throw int(errCode);
}

View File

@ -0,0 +1,92 @@
//this file is part of notepad++
//Copyright (C)2003 Don HO ( donho@altern.org )
//
//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.
//
//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.
#ifndef PROCESSUS_H
#define PROCESSUS_H
#include <windows.h>
#include <string>
using namespace std;
class Process
{
public:
Process() {};
Process(const char *cmd, const char *cDir/*, unsigned int id = 0*/)
: _stdoutStr(""), _stderrStr(""), _hPipeOutR(NULL),
_hPipeErrR(NULL), _hProcess(NULL), _hProcessThread(NULL) {
strcpy(_command, cmd);
strcpy(_curDir, cDir);
//_pid = id;
};
BOOL run();
const char * getStdout() const {
return _stdoutStr.c_str();
};
const char * getStderr() const {
return _stderrStr.c_str();
};
int getExitCode() const {
return _exitCode;
};
bool hasStdout() {
return _stdoutStr.compare("");
};
bool hasStderr() {
return _stderrStr.compare("");
};
protected:
// LES ENTREES
char _command[256];
char _curDir[256];
// LES SORTIES
string _stdoutStr;
string _stderrStr;
int _exitCode;
// LES HANDLES
HANDLE _hPipeOutR;
HANDLE _hPipeErrR;
HANDLE _hProcess;
HANDLE _hProcessThread;
//UINT _pid; // process ID assigned by caller
static DWORD WINAPI staticListenerStdOut(void * myself){
((Process *)myself)->listenerStdOut();
return 0;
};
static DWORD WINAPI staticListenerStdErr(void * myself) {
((Process *)myself)->listenerStdErr();
return 0;
};
void listenerStdOut();
void listenerStdErr();
void error(const char *txt2display, BOOL & returnCode, int errCode);
};
#endif //PROCESSUS_H

View File

@ -0,0 +1,85 @@
//this file is part of notepad++
//Copyright (C)2003 Don HO ( donho@altern.org )
//
//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.
//
//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.
#ifndef PROCESS_THREAD_H
#define PROCESS_THREAD_H
#include "process.h"
class ProcessThread
{
public :
ProcessThread(const char *appName, const char *cmd, const char *cDir, HWND hwnd) : _hwnd(hwnd) {
strcpy(_appName, appName);
strcpy(_command, cmd);
strcpy(_curDir, cDir);
};
BOOL run(){
HANDLE hEvent = ::CreateEvent(NULL, FALSE, FALSE, "localVarProcessEvent");
_hProcessThread = ::CreateThread(NULL, 0, staticLauncher, this, 0, NULL);
::WaitForSingleObject(hEvent, INFINITE);
::CloseHandle(hEvent);
return TRUE;
};
protected :
// ENTREES
char _appName[256];
char _command[256];
char _curDir[256];
HWND _hwnd;
HANDLE _hProcessThread;
static DWORD WINAPI staticLauncher(void *myself) {
((ProcessThread *)myself)->launch();
return TRUE;
};
bool launch() {
HANDLE hEvent = ::OpenEvent(EVENT_ALL_ACCESS, FALSE, "localVarProcessEvent");
HWND hwnd = _hwnd;
char appName[256];
strcpy(appName, _appName);
HANDLE hMyself = _hProcessThread;
Process process(_command, _curDir);
if(!::SetEvent(hEvent))
{
systemMessage("Thread launcher");
}
process.run();
int code = process.getExitCode();
char codeStr[256];
sprintf(codeStr, "%s : %0.4X", appName, code);
::MessageBox(hwnd, (char *)process.getStdout(), codeStr, MB_OK);
if (process.hasStderr())
::MessageBox(hwnd, (char *)process.getStderr(), codeStr, MB_OK);
::CloseHandle(hMyself);
return true;
};
};
#endif PROCESS_THREAD_H

View File

@ -0,0 +1,358 @@
/*
this file is part of notepad++
Copyright (C)2003 Don HO ( donho@altern.org )
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.
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.
*/
#include <windows.h>
#include "regExtDlg.h"
#include "resource.h"
const char *nppName = "Notepad++_file";
const char *nppBackup = "Notepad++_backup";
const char *nppDoc = "Notepad++ Document";
const int nbSupportedLang = 9;
const int nbExtMax = 10;
const int extNameMax = 18;
char defExtArray[nbSupportedLang][nbExtMax][extNameMax] = {
{"Notepad", ".txt", ".log", ".ini"},
{"c, c++, objc", ".h", ".hpp", ".hxx", ".c", ".cpp", ".cxx", ".cc", ".m"},
{"java, c#, pascal", ".java", ".cs", ".pas", ".inc"},
{"web(html) script", ".html", ".htm", ".php", ".phtml", ".js", ".jsp", ".asp", ".css", ".xml"},
{"public script", ".sh", ".bsh", ".nsi", ".nsh", ".lua", ".pl", ".pm", ".py"},
{"property script", ".rc", ".as", ".mx", ".vb", ".vbs", ".bat", ".cmd", ".nt"},
{"fortran, TeX, SQL", ".f", ".for", ".f90", ".f95", ".f2k", ".tex", ".sql"},
{"misc", ".nfo", ".mak"},
{"customize"}
};
void RegExtDlg::doDialog(bool isRTL)
{
if (isRTL)
{
DLGTEMPLATE *pMyDlgTemplate = NULL;
HGLOBAL hMyDlgTemplate = makeRTLResource(IDD_REGEXT_BOX, &pMyDlgTemplate);
::DialogBoxIndirectParam(_hInst, pMyDlgTemplate, _hParent, (DLGPROC)dlgProc, (LPARAM)this);
::GlobalFree(hMyDlgTemplate);
}
else
::DialogBoxParam(_hInst, MAKEINTRESOURCE(IDD_REGEXT_BOX), _hParent, (DLGPROC)dlgProc, (LPARAM)this);
};
BOOL CALLBACK RegExtDlg::run_dlgProc(UINT Message, WPARAM wParam, LPARAM lParam)
{
switch (Message)
{
case WM_INITDIALOG :
{
getRegisteredExts();
getDefSupportedExts();
writeNppPath();
//goToCenter();
::EnableWindow(::GetDlgItem(_hSelf, IDC_ADDFROMLANGEXT_BUTTON), false);
::EnableWindow(::GetDlgItem(_hSelf, IDC_REMOVEEXT_BUTTON), false);
::SendDlgItemMessage(_hSelf, IDC_CUSTOMEXT_EDIT, EM_SETLIMITTEXT, extNameMax-1, 0);
return TRUE;
}
case WM_DRAWITEM :
{
HICON hIcon = ::LoadIcon(_hInst, MAKEINTRESOURCE(IDI_DELETE_ICON));
DRAWITEMSTRUCT *pdis = (DRAWITEMSTRUCT *)lParam;
::DrawIcon(pdis->hDC, 0, 0, hIcon);
return TRUE;
}
case WM_COMMAND :
{
switch (wParam)
{
case IDC_ADDFROMLANGEXT_BUTTON :
{
//int index2Add;
char ext2Add[extNameMax] = "";
if (!_isCustomize)
{
int index2Add = ::SendDlgItemMessage(_hSelf, IDC_REGEXT_LANGEXT_LIST, LB_GETCURSEL, 0, 0);
::SendDlgItemMessage(_hSelf, IDC_REGEXT_LANGEXT_LIST, LB_GETTEXT, index2Add, (LPARAM)ext2Add);
addExt(ext2Add);
::SendDlgItemMessage(_hSelf, IDC_REGEXT_LANGEXT_LIST, LB_DELETESTRING, index2Add, 0);
}
else
{
::SendDlgItemMessage(_hSelf, IDC_CUSTOMEXT_EDIT, WM_GETTEXT, extNameMax, (LPARAM)ext2Add);
int i = ::SendDlgItemMessage(_hSelf, IDC_REGEXT_REGISTEREDEXTS_LIST, LB_FINDSTRINGEXACT, 0, (LPARAM)ext2Add);
if (i != LB_ERR)
return TRUE;
addExt(ext2Add);
::SendDlgItemMessage(_hSelf, IDC_CUSTOMEXT_EDIT, WM_SETTEXT, 0, (LPARAM)"");
}
::SendDlgItemMessage(_hSelf, IDC_REGEXT_REGISTEREDEXTS_LIST, LB_ADDSTRING, 0, (LPARAM)ext2Add);
::EnableWindow(::GetDlgItem(_hSelf, IDC_ADDFROMLANGEXT_BUTTON), false);
return TRUE;
}
case IDC_REMOVEEXT_BUTTON :
{
char ext2Sup[extNameMax] = "";
int index2Sup = ::SendDlgItemMessage(_hSelf, IDC_REGEXT_REGISTEREDEXTS_LIST, LB_GETCURSEL, 0, 0);
::SendDlgItemMessage(_hSelf, IDC_REGEXT_REGISTEREDEXTS_LIST, LB_GETTEXT, index2Sup, (LPARAM)ext2Sup);
if (deleteExts(ext2Sup))
::SendDlgItemMessage(_hSelf, IDC_REGEXT_REGISTEREDEXTS_LIST, LB_DELETESTRING, index2Sup, 0);
int langIndex = ::SendDlgItemMessage(_hSelf, IDC_REGEXT_LANG_LIST, LB_GETCURSEL, 0, 0);
::EnableWindow(::GetDlgItem(_hSelf, IDC_REMOVEEXT_BUTTON), false);
if (langIndex != LB_ERR)
{
for (int i = 1 ; i < nbExtMax ; i++)
{
if (!stricmp(ext2Sup, defExtArray[langIndex][i]))
{
::SendDlgItemMessage(_hSelf, IDC_REGEXT_LANGEXT_LIST, LB_ADDSTRING, 0, (LPARAM)ext2Sup);
return TRUE;
}
}
}
return TRUE;
}
case IDCANCEL :
::EndDialog(_hSelf, 0);
return TRUE;
}
if (HIWORD(wParam) == EN_CHANGE)
{
char text[extNameMax] = "";
::SendDlgItemMessage(_hSelf, IDC_CUSTOMEXT_EDIT, WM_GETTEXT, extNameMax, (LPARAM)text);
if ((strlen(text) == 1) && (text[0] != '.'))
{
text[1] = text[0];
text[0] = '.';
text[2] = '\0';
::SendDlgItemMessage(_hSelf, IDC_CUSTOMEXT_EDIT, WM_SETTEXT, 0, (LPARAM)text);
::SendDlgItemMessage(_hSelf, IDC_CUSTOMEXT_EDIT, EM_SETSEL, 2, 2);
}
::EnableWindow(::GetDlgItem(_hSelf, IDC_ADDFROMLANGEXT_BUTTON), (strlen(text) > 1));
return TRUE;
}
if (HIWORD(wParam) == LBN_SELCHANGE)
{
int i = ::SendDlgItemMessage(_hSelf, LOWORD(wParam), LB_GETCURSEL, 0, 0);
if (LOWORD(wParam) == IDC_REGEXT_LANG_LIST)
{
if (i != LB_ERR)
{
char itemName[32];
::SendDlgItemMessage(_hSelf, LOWORD(wParam), LB_GETTEXT, i, (LPARAM)itemName);
if (!stricmp(defExtArray[nbSupportedLang-1][0], itemName))
{
::ShowWindow(::GetDlgItem(_hSelf, IDC_REGEXT_LANGEXT_LIST), SW_HIDE);
::ShowWindow(::GetDlgItem(_hSelf, IDC_CUSTOMEXT_EDIT), SW_SHOW);
_isCustomize = true;
}
else
{
if (_isCustomize)
{
::ShowWindow(::GetDlgItem(_hSelf, IDC_REGEXT_LANGEXT_LIST), SW_SHOW);
::ShowWindow(::GetDlgItem(_hSelf, IDC_CUSTOMEXT_EDIT), SW_HIDE);
_isCustomize = false;
}
int count = ::SendDlgItemMessage(_hSelf, IDC_REGEXT_LANGEXT_LIST, LB_GETCOUNT, 0, 0);
for (count -= 1 ; count >= 0 ; count--)
::SendDlgItemMessage(_hSelf, IDC_REGEXT_LANGEXT_LIST, LB_DELETESTRING, count, 0);
for (int j = 1 ; j < nbExtMax ; j++)
if (strcmp("", defExtArray[i][j]))
{
int index = ::SendDlgItemMessage(_hSelf, IDC_REGEXT_REGISTEREDEXTS_LIST, LB_FINDSTRINGEXACT, 0, (LPARAM)defExtArray[i][j]);
if (index == -1)
::SendDlgItemMessage(_hSelf, IDC_REGEXT_LANGEXT_LIST, LB_ADDSTRING, 0, (LPARAM)defExtArray[i][j]);
}
}
::EnableWindow(::GetDlgItem(_hSelf, IDC_ADDFROMLANGEXT_BUTTON), false);
}
}
else if (LOWORD(wParam) == IDC_REGEXT_LANGEXT_LIST)
{
if (i != LB_ERR)
::EnableWindow(::GetDlgItem(_hSelf, IDC_ADDFROMLANGEXT_BUTTON), true);
}
else if (LOWORD(wParam) == IDC_REGEXT_REGISTEREDEXTS_LIST)
{
if (i != LB_ERR)
::EnableWindow(::GetDlgItem(_hSelf, IDC_REMOVEEXT_BUTTON), true);
}
}
}
default :
return FALSE;
}
//return FALSE;
}
void RegExtDlg::getRegisteredExts()
{
int nbRegisteredKey = getNbSubKey(HKEY_CLASSES_ROOT);
for (int i = 0 ; i < nbRegisteredKey ; i++)
{
char extName[extNameLen];
//FILETIME fileTime;
int extNameActualLen = extNameLen;
int res = ::RegEnumKeyEx(HKEY_CLASSES_ROOT, i, extName, (LPDWORD)&extNameActualLen, NULL, NULL, NULL, NULL);
if ((res == ERROR_SUCCESS) && (extName[0] == '.'))
{
//char valName[extNameLen];
char valData[extNameLen];
int valDataLen = extNameLen;
int valType;
HKEY hKey2Check;
extNameActualLen = extNameLen;
::RegOpenKeyEx(HKEY_CLASSES_ROOT, extName, 0, KEY_ALL_ACCESS, &hKey2Check);
::RegQueryValueEx(hKey2Check, "", NULL, (LPDWORD)&valType, (LPBYTE)valData, (LPDWORD)&valDataLen);
//::RegEnumValue(hKey2Check, 0, valName, (LPDWORD)&extNameActualLen, NULL, (LPDWORD)&valType, (LPBYTE)valData, (LPDWORD)&valDataLen);
if ((valType == REG_SZ) && (!strcmp(valData, nppName)))
::SendDlgItemMessage(_hSelf, IDC_REGEXT_REGISTEREDEXTS_LIST, LB_ADDSTRING, 0, (LPARAM)extName);
::RegCloseKey(hKey2Check);
}
}
}
void RegExtDlg::getDefSupportedExts()
{
for (int i = 0 ; i < nbSupportedLang ; i++)
::SendDlgItemMessage(_hSelf, IDC_REGEXT_LANG_LIST, LB_ADDSTRING, 0, (LPARAM)defExtArray[i][0]);
}
void RegExtDlg::addExt(char *ext)
{
HKEY hKey;
DWORD dwDisp;
long nRet;
nRet = ::RegCreateKeyEx(HKEY_CLASSES_ROOT,
ext,
0,
NULL,
0,
KEY_ALL_ACCESS,
NULL,
&hKey,
&dwDisp);
if (nRet == ERROR_SUCCESS)
{
int valDataLen = 256;
char valData[256];
if (dwDisp == REG_OPENED_EXISTING_KEY)
{
int res = ::RegQueryValueEx(hKey, "", NULL, NULL, (LPBYTE)valData, (LPDWORD)&valDataLen);
if (res == ERROR_SUCCESS)
::RegSetValueEx(hKey, nppBackup, 0, REG_SZ, (LPBYTE)valData, valDataLen+1);
}
::RegSetValueEx(hKey, NULL, 0, REG_SZ, (LPBYTE)nppName, strlen(nppName)+1);
::RegCloseKey(hKey);
}
}
bool RegExtDlg::deleteExts(const char *ext2Delete)
{
HKEY hKey;
::RegOpenKeyEx(HKEY_CLASSES_ROOT, ext2Delete, 0, KEY_ALL_ACCESS, &hKey);
int nbValue = getNbSubValue(hKey);
int nbSubkey = getNbSubKey(hKey);
if ((nbValue <= 1) && (!nbSubkey))
{
char subKey[32] = "\\";
strcat(subKey, ext2Delete);
::RegDeleteKey(HKEY_CLASSES_ROOT, subKey);
}
else
{
char valData[extNameLen];
int valDataLen = extNameLen;
int valType;
int res = ::RegQueryValueEx(hKey, nppBackup, NULL, (LPDWORD)&valType, (LPBYTE)valData, (LPDWORD)&valDataLen);
if (res == ERROR_SUCCESS)
{
::RegSetValueEx(hKey, NULL, 0, valType, (LPBYTE)valData, valDataLen);
::RegDeleteValue(hKey, nppBackup);
}
else
::RegDeleteValue(hKey, NULL);
}
return true;
}
void RegExtDlg::writeNppPath()
{
HKEY hKey, hRootKey;
DWORD dwDisp;
long nRet;
char regStr[MAX_PATH] = "";
strcat(strcat(regStr, nppName), "\\shell\\open\\command");
nRet = ::RegCreateKeyEx(
HKEY_CLASSES_ROOT,
regStr,
0,
NULL,
0,
KEY_ALL_ACCESS,
NULL,
&hKey,
&dwDisp);
if (nRet == ERROR_SUCCESS)
{
//if (dwDisp == REG_CREATED_NEW_KEY)
{
// Write the value for new document
::RegOpenKeyEx(HKEY_CLASSES_ROOT, nppName, 0, KEY_ALL_ACCESS, &hRootKey);
::RegSetValueEx(hRootKey, NULL, 0, REG_SZ, (LPBYTE)nppDoc, strlen(nppDoc)+1);
char nppPath[MAX_PATH];
::GetModuleFileName(_hInst, nppPath, MAX_PATH);
char nppPathParam[256] = "\"";
strcat(strcat(nppPathParam, nppPath), "\" \"%1\"");
::RegSetValueEx(hKey, NULL, 0, REG_SZ, (LPBYTE)nppPathParam, strlen(nppPathParam)+1);
}
RegCloseKey(hKey);
}
}

View File

@ -0,0 +1,60 @@
/*
this file is part of notepad++
Copyright (C)2003 Don HO ( donho@altern.org )
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.
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.
*/
#ifndef REG_EXT_DLG_H
#define REG_EXT_DLG_H
#include "StaticDialog.h"
#include "regExtDlgRc.h"
const int extNameLen = 32;
class RegExtDlg : public StaticDialog
{
public :
RegExtDlg() : _isCustomize(false){};
~RegExtDlg(){};
void doDialog(bool isRTL = false);
private :
bool _isCustomize;
BOOL CALLBACK run_dlgProc(UINT Message, WPARAM wParam, LPARAM lParam);
void getRegisteredExts();
void getDefSupportedExts();
void addExt(char *ext);
bool deleteExts(const char *ext2Delete);
void writeNppPath();
int getNbSubKey(HKEY hKey) const {
int nbSubKey;
long result = ::RegQueryInfoKey(hKey, NULL, NULL, NULL, (LPDWORD)&nbSubKey, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
return (result == ERROR_SUCCESS)?nbSubKey:0;
};
int getNbSubValue(HKEY hKey) const {
int nbSubValue;
long result = ::RegQueryInfoKey(hKey, NULL, NULL, NULL, NULL, NULL, NULL, (LPDWORD)&nbSubValue, NULL, NULL, NULL, NULL);
return (result == ERROR_SUCCESS)?nbSubValue:0;
};
};
#endif //REG_EXT_DLG_H

View File

@ -0,0 +1,39 @@
/*
this file is part of notepad++
Copyright (C)2003 Don HO ( donho@altern.org )
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.
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.
*/
#include <windows.h>
#include "regExtDlgRc.h"
IDD_REGEXT_BOX DIALOGEX 0, 0, 305, 147
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
LISTBOX IDC_REGEXT_LANGEXT_LIST,103,17,29,122,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
LISTBOX IDC_REGEXT_REGISTEREDEXTS_LIST,173,16,48,123,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "->",IDC_ADDFROMLANGEXT_BUTTON,140,73,26,14
EDITTEXT IDC_CUSTOMEXT_EDIT,103,73,30,14,ES_AUTOHSCROLL | NOT WS_VISIBLE
PUSHBUTTON "->",IDC_REMOVEEXT_BUTTON,228,72,26,14
CONTROL "",IDC_POUPELLE_STATIC,"Static",SS_OWNERDRAW,263,68,20,20
LTEXT "Supported exts :",IDC_SUPPORTEDEXTS_STATIC,35,4,77,8
LTEXT "Registered exts :",IDC_REGISTEREDEXTS_STATIC,174,4,72,8
LISTBOX IDC_REGEXT_LANG_LIST,35,17,63,122,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
END

View File

@ -0,0 +1,35 @@
/*
this file is part of notepad++
Copyright (C)2003 Don HO ( donho@altern.org )
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.
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.
*/
#ifndef REGEXTDLGRC_H
#define REGEXTDLGRC_H
#define IDD_REGEXT_BOX 4000
#define IDC_REGEXT_LANG_LIST (IDD_REGEXT_BOX + 1)
#define IDC_REGEXT_LANGEXT_LIST (IDD_REGEXT_BOX + 2)
#define IDC_REGEXT_REGISTEREDEXTS_LIST (IDD_REGEXT_BOX + 3)
#define IDC_ADDFROMLANGEXT_BUTTON (IDD_REGEXT_BOX + 4)
#define IDI_POUPELLE_ICON (IDD_REGEXT_BOX + 5)
#define IDC_CUSTOMEXT_EDIT (IDD_REGEXT_BOX + 6)
#define IDC_REMOVEEXT_BUTTON (IDD_REGEXT_BOX + 7)
#define IDC_POUPELLE_STATIC (IDD_REGEXT_BOX + 8)
#define IDC_SUPPORTEDEXTS_STATIC (IDD_REGEXT_BOX + 9)
#define IDC_REGISTEREDEXTS_STATIC (IDD_REGEXT_BOX + 10)
#endif //REGEXTDLGRC_H

View File

@ -0,0 +1,179 @@
//this file is part of notepad++
//Copyright (C)2003 Don HO ( donho@altern.org )
//
//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.
//
//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.
#include "SysMsg.h"
#include <memory>
#include <string>
#include <algorithm>
/*
DWORD ShortToLongPathName(LPCTSTR lpszShortPath, LPTSTR lpszLongPath, DWORD cchBuffer)
{
// Catch null pointers.
if (!lpszShortPath || !lpszLongPath)
{
SetLastError(ERROR_INVALID_PARAMETER);
return 0;
}
// Check whether the input path is valid.
if (0xffffffff == GetFileAttributes(lpszShortPath))
return 0;
// Special characters.
char const sep = '\\';
char const colon = ':';
// Make some short aliases for basic_strings of TCHAR.
typedef std::basic_string<TCHAR> tstring;
typedef tstring::traits_type traits;
typedef tstring::size_type size;
size const npos = tstring::npos;
// Copy the short path into the work buffer and convert forward
// slashes to backslashes.
tstring path = lpszShortPath;
std::replace(path.begin(), path.end(), '/', sep);
// We need a couple of markers for stepping through the path.
size left = 0;
size right = 0;
// Parse the first bit of the path.
if (path.length() >= 2 && isalpha(path[0]) && colon == path[1]) // Drive letter?
{
if (2 == path.length()) // 'bare' drive letter
{
right = npos; // skip main block
}
else if (sep == path[2]) // drive letter + backslash
{
// FindFirstFile doesn't like "X:\"
if (3 == path.length())
{
right = npos; // skip main block
}
else
{
left = right = 3;
}
}
else return 0; // parsing failure
}
else if (path.length() >= 1 && sep == path[0])
{
if (1 == path.length()) // 'bare' backslash
{
right = npos; // skip main block
}
else
{
if (sep == path[1]) // is it UNC?
{
// Find end of machine name
right = path.find_first_of(sep, 2);
if (npos == right)
return 0;
// Find end of share name
right = path.find_first_of(sep, right + 1);
if (npos == right)
return 0;
}
++right;
}
}
// else FindFirstFile will handle relative paths
// The data block for FindFirstFile.
WIN32_FIND_DATA fd;
// Main parse block - step through path.
while (npos != right)
{
left = right; // catch up
// Find next separator.
right = path.find_first_of(sep, right);
// Temporarily replace the separator with a null character so that
// the path so far can be passed to FindFirstFile.
if (npos != right)
path[right] = 0;
// See what FindFirstFile makes of the path so far.
HANDLE hf = FindFirstFile(path.c_str(), &fd);
if (INVALID_HANDLE_VALUE == hf)
return 0;
FindClose(hf);
// Put back the separator.
if (npos != right)
path[right] = sep;
// The file was found - replace the short name with the long.
size old_len = (npos == right) ? path.length() - left : right - left;
size new_len = traits::length(fd.cFileName);
path.replace(left, old_len, fd.cFileName, new_len);
// More to do?
if (npos != right)
{
// Yes - move past separator .
right = left + new_len + 1;
// Did we overshoot the end? (i.e. path ends with a separator).
if (right >= path.length())
right = npos;
}
}
// If buffer is too small then return the required size.
if (cchBuffer <= path.length())
return path.length() + 1;
// Copy the buffer and return the number of characters copied.
traits::copy(lpszLongPath, path.c_str(), path.length() + 1);
return path.length();
}
*/
void systemMessage(const char *title)
{
LPVOID lpMsgBuf;
FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
::GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL );// Process any inserts in lpMsgBuf.
MessageBox( NULL, (LPTSTR)lpMsgBuf, title, MB_OK | MB_ICONSTOP);
::LocalFree(lpMsgBuf);
}
void printInt(int int2print)
{
char str[32];
itoa(int2print, str, 10);
::MessageBox(NULL, str, "", MB_OK);
}
void printStr(const char *str2print)
{
::MessageBox(NULL, str2print, "", MB_OK);
}

View File

@ -0,0 +1,27 @@
//this file is part of notepad++
//Copyright (C)2003 Don HO ( donho@altern.org )
//
//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.
//
//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.
#ifndef M30_IDE_COMMUN_H
#define M30_IDE_COMMUN_H
#include <windows.h>
void systemMessage(const char *title);
//DWORD ShortToLongPathName(LPCTSTR lpszShortPath, LPTSTR lpszLongPath, DWORD cchBuffer);
void printInt(int int2print);
void printStr(const char *str2print);
#endif //M30_IDE_COMMUN_H

Some files were not shown because too many files have changed in this diff Show More