├── .gitignore ├── .vs └── RestApiToText │ └── v15 │ ├── .suo │ └── Browse.VC.db ├── LICENSE ├── README.md ├── Release ├── RestApiToText.dll ├── v1.0 │ ├── RestApiToText.dll │ └── RestApiToText.zip ├── v1.1 │ ├── RestApiToText.dll │ └── RestApiToText.zip ├── v1.2.1 │ ├── RestApiToText.dll │ └── RestApiToText.zip ├── v1.2 │ ├── RestApiToText.dll │ └── RestApiToText.zip ├── v1.3.0.0 │ ├── RestApiToText.dll │ └── RestApiToText.zip ├── v1.3.1.0 │ ├── RestApiToText.dll │ └── RestApiToText.zip ├── v1.3.1.1 │ ├── RestApiToText.dll │ └── RestApiToText.zip ├── v1.4.0.0 │ ├── RestApiToText.dll │ └── RestApiToText.zip └── v1.4.0.1 │ ├── RestApiToText.dll │ └── RestApiToText.zip ├── RestApiToText.sln ├── RestApiToText ├── Notepad_plus_msgs.h ├── PluginDefinition.cpp ├── PluginDefinition.h ├── PluginInterface.h ├── RestApiToText.cpp ├── RestApiToText.rc ├── RestApiToText.vcxproj ├── Scintilla.h ├── framework.h ├── menuCmdID.h └── resource.h ├── Screenshot1.png ├── Screenshot10.png ├── Screenshot11.png ├── Screenshot12.png ├── Screenshot13.png ├── Screenshot14.png ├── Screenshot15.png ├── Screenshot16.png ├── Screenshot17.png ├── Screenshot2.png ├── Screenshot3.png ├── Screenshot4.png ├── Screenshot5.png ├── Screenshot6.png ├── Screenshot7.png ├── Screenshot8.png ├── Screenshot9.png └── x64 └── Release ├── RestApiToText.dll ├── v1.0 ├── RestApiToText.dll └── RestApiToText.zip ├── v1.1 ├── RestApiToText.dll └── RestApiToText.zip ├── v1.2.1 ├── RestApiToText.dll └── RestApiToText.zip ├── v1.2 ├── RestApiToText.dll └── RestApiToText.zip ├── v1.3.0.0 ├── RestApiToText.dll └── RestApiToText.zip ├── v1.3.1.0 ├── RestApiToText.dll └── RestApiToText.zip ├── v1.3.1.1 ├── RestApiToText.dll └── RestApiToText.zip ├── v1.4.0.0 ├── RestApiToText.dll └── RestApiToText.zip └── v1.4.0.1 ├── RestApiToText.dll └── RestApiToText.zip /.gitignore: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # This .gitignore file was automatically created by Microsoft(R) Visual Studio. 3 | ################################################################################ 4 | 5 | /.vs/RestApiToText/v16 6 | /RestApiToText/RestApiToText.vcxproj.filters 7 | /RestApiToText/RestApiToText.vcxproj.user 8 | /RestApiToText/Debug/RestApiToText.tlog 9 | /RestApiToText/Debug 10 | /Debug/RestApiToText.lib 11 | /Debug/RestApiToText.ilk 12 | /Debug/RestApiToText.exp 13 | /RestApiToText/x64/Debug/RestApiToText.tlog 14 | /x64/Debug 15 | /x64/Release/RestApiToText.pdb 16 | /x64/Release/RestApiToText.lib 17 | /x64/Release/RestApiToText.ipdb 18 | /x64/Release/RestApiToText.iobj 19 | /x64/Release/RestApiToText.exp 20 | /Debug 21 | /RestApiToText/Release/RestApiToText.tlog 22 | /RestApiToText/Release 23 | /RestApiToText/x64 24 | /Release/RestApiToText.pdb 25 | /Release/RestApiToText.lib 26 | /Release/RestApiToText.ipdb 27 | /Release/RestApiToText.iobj 28 | /Release/RestApiToText.exp 29 | /RestApiToText/RestApiToText.aps 30 | -------------------------------------------------------------------------------- /.vs/RestApiToText/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/.vs/RestApiToText/v15/.suo -------------------------------------------------------------------------------- /.vs/RestApiToText/v15/Browse.VC.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/.vs/RestApiToText/v15/Browse.VC.db -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | Preamble 9 | 10 | The GNU General Public License is a free, copyleft license for 11 | software and other kinds of works. 12 | 13 | The licenses for most software and other practical works are designed 14 | to take away your freedom to share and change the works. By contrast, 15 | the GNU General Public License is intended to guarantee your freedom to 16 | share and change all versions of a program--to make sure it remains free 17 | software for all its users. We, the Free Software Foundation, use the 18 | GNU General Public License for most of our software; it applies also to 19 | any other work released this way by its authors. You can apply it to 20 | your programs, too. 21 | 22 | When we speak of free software, we are referring to freedom, not 23 | price. Our General Public Licenses are designed to make sure that you 24 | have the freedom to distribute copies of free software (and charge for 25 | them if you wish), that you receive source code or can get it if you 26 | want it, that you can change the software or use pieces of it in new 27 | free programs, and that you know you can do these things. 28 | 29 | To protect your rights, we need to prevent others from denying you 30 | these rights or asking you to surrender the rights. Therefore, you have 31 | certain responsibilities if you distribute copies of the software, or if 32 | you modify it: responsibilities to respect the freedom of others. 33 | 34 | For example, if you distribute copies of such a program, whether 35 | gratis or for a fee, you must pass on to the recipients the same 36 | freedoms that you received. You must make sure that they, too, receive 37 | or can get the source code. And you must show them these terms so they 38 | know their rights. 39 | 40 | Developers that use the GNU GPL protect your rights with two steps: 41 | (1) assert copyright on the software, and (2) offer you this License 42 | giving you legal permission to copy, distribute and/or modify it. 43 | 44 | For the developers' and authors' protection, the GPL clearly explains 45 | that there is no warranty for this free software. For both users' and 46 | authors' sake, the GPL requires that modified versions be marked as 47 | changed, so that their problems will not be attributed erroneously to 48 | authors of previous versions. 49 | 50 | Some devices are designed to deny users access to install or run 51 | modified versions of the software inside them, although the manufacturer 52 | can do so. This is fundamentally incompatible with the aim of 53 | protecting users' freedom to change the software. The systematic 54 | pattern of such abuse occurs in the area of products for individuals to 55 | use, which is precisely where it is most unacceptable. Therefore, we 56 | have designed this version of the GPL to prohibit the practice for those 57 | products. If such problems arise substantially in other domains, we 58 | stand ready to extend this provision to those domains in future versions 59 | of the GPL, as needed to protect the freedom of users. 60 | 61 | Finally, every program is threatened constantly by software patents. 62 | States should not allow patents to restrict development and use of 63 | software on general-purpose computers, but in those that do, we wish to 64 | avoid the special danger that patents applied to a free program could 65 | make it effectively proprietary. To prevent this, the GPL assures that 66 | patents cannot be used to render the program non-free. 67 | 68 | The precise terms and conditions for copying, distribution and 69 | modification follow. 70 | 71 | TERMS AND CONDITIONS 72 | 73 | 0. Definitions. 74 | 75 | "This License" refers to version 3 of the GNU General Public License. 76 | 77 | "Copyright" also means copyright-like laws that apply to other kinds of 78 | works, such as semiconductor masks. 79 | 80 | "The Program" refers to any copyrightable work licensed under this 81 | License. Each licensee is addressed as "you". "Licensees" and 82 | "recipients" may be individuals or organizations. 83 | 84 | To "modify" a work means to copy from or adapt all or part of the work 85 | in a fashion requiring copyright permission, other than the making of an 86 | exact copy. The resulting work is called a "modified version" of the 87 | earlier work or a work "based on" the earlier work. 88 | 89 | A "covered work" means either the unmodified Program or a work based 90 | on the Program. 91 | 92 | To "propagate" a work means to do anything with it that, without 93 | permission, would make you directly or secondarily liable for 94 | infringement under applicable copyright law, except executing it on a 95 | computer or modifying a private copy. Propagation includes copying, 96 | distribution (with or without modification), making available to the 97 | public, and in some countries other activities as well. 98 | 99 | To "convey" a work means any kind of propagation that enables other 100 | parties to make or receive copies. Mere interaction with a user through 101 | a computer network, with no transfer of a copy, is not conveying. 102 | 103 | An interactive user interface displays "Appropriate Legal Notices" 104 | to the extent that it includes a convenient and prominently visible 105 | feature that (1) displays an appropriate copyright notice, and (2) 106 | tells the user that there is no warranty for the work (except to the 107 | extent that warranties are provided), that licensees may convey the 108 | work under this License, and how to view a copy of this License. If 109 | the interface presents a list of user commands or options, such as a 110 | menu, a prominent item in the list meets this criterion. 111 | 112 | 1. Source Code. 113 | 114 | The "source code" for a work means the preferred form of the work 115 | for making modifications to it. "Object code" means any non-source 116 | form of a work. 117 | 118 | A "Standard Interface" means an interface that either is an official 119 | standard defined by a recognized standards body, or, in the case of 120 | interfaces specified for a particular programming language, one that 121 | is widely used among developers working in that language. 122 | 123 | The "System Libraries" of an executable work include anything, other 124 | than the work as a whole, that (a) is included in the normal form of 125 | packaging a Major Component, but which is not part of that Major 126 | Component, and (b) serves only to enable use of the work with that 127 | Major Component, or to implement a Standard Interface for which an 128 | implementation is available to the public in source code form. A 129 | "Major Component", in this context, means a major essential component 130 | (kernel, window system, and so on) of the specific operating system 131 | (if any) on which the executable work runs, or a compiler used to 132 | produce the work, or an object code interpreter used to run it. 133 | 134 | The "Corresponding Source" for a work in object code form means all 135 | the source code needed to generate, install, and (for an executable 136 | work) run the object code and to modify the work, including scripts to 137 | control those activities. However, it does not include the work's 138 | System Libraries, or general-purpose tools or generally available free 139 | programs which are used unmodified in performing those activities but 140 | which are not part of the work. For example, Corresponding Source 141 | includes interface definition files associated with source files for 142 | the work, and the source code for shared libraries and dynamically 143 | linked subprograms that the work is specifically designed to require, 144 | such as by intimate data communication or control flow between those 145 | subprograms and other parts of the work. 146 | 147 | The Corresponding Source need not include anything that users 148 | can regenerate automatically from other parts of the Corresponding 149 | Source. 150 | 151 | The Corresponding Source for a work in source code form is that 152 | same work. 153 | 154 | 2. Basic Permissions. 155 | 156 | All rights granted under this License are granted for the term of 157 | copyright on the Program, and are irrevocable provided the stated 158 | conditions are met. This License explicitly affirms your unlimited 159 | permission to run the unmodified Program. The output from running a 160 | covered work is covered by this License only if the output, given its 161 | content, constitutes a covered work. This License acknowledges your 162 | rights of fair use or other equivalent, as provided by copyright law. 163 | 164 | You may make, run and propagate covered works that you do not 165 | convey, without conditions so long as your license otherwise remains 166 | in force. You may convey covered works to others for the sole purpose 167 | of having them make modifications exclusively for you, or provide you 168 | with facilities for running those works, provided that you comply with 169 | the terms of this License in conveying all material for which you do 170 | not control copyright. Those thus making or running the covered works 171 | for you must do so exclusively on your behalf, under your direction 172 | and control, on terms that prohibit them from making any copies of 173 | your copyrighted material outside their relationship with you. 174 | 175 | Conveying under any other circumstances is permitted solely under 176 | the conditions stated below. Sublicensing is not allowed; section 10 177 | makes it unnecessary. 178 | 179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 180 | 181 | No covered work shall be deemed part of an effective technological 182 | measure under any applicable law fulfilling obligations under article 183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 184 | similar laws prohibiting or restricting circumvention of such 185 | measures. 186 | 187 | When you convey a covered work, you waive any legal power to forbid 188 | circumvention of technological measures to the extent such circumvention 189 | is effected by exercising rights under this License with respect to 190 | the covered work, and you disclaim any intention to limit operation or 191 | modification of the work as a means of enforcing, against the work's 192 | users, your or third parties' legal rights to forbid circumvention of 193 | technological measures. 194 | 195 | 4. Conveying Verbatim Copies. 196 | 197 | You may convey verbatim copies of the Program's source code as you 198 | receive it, in any medium, provided that you conspicuously and 199 | appropriately publish on each copy an appropriate copyright notice; 200 | keep intact all notices stating that this License and any 201 | non-permissive terms added in accord with section 7 apply to the code; 202 | keep intact all notices of the absence of any warranty; and give all 203 | recipients a copy of this License along with the Program. 204 | 205 | You may charge any price or no price for each copy that you convey, 206 | and you may offer support or warranty protection for a fee. 207 | 208 | 5. Conveying Modified Source Versions. 209 | 210 | You may convey a work based on the Program, or the modifications to 211 | produce it from the Program, in the form of source code under the 212 | terms of section 4, provided that you also meet all of these conditions: 213 | 214 | a) The work must carry prominent notices stating that you modified 215 | it, and giving a relevant date. 216 | 217 | b) The work must carry prominent notices stating that it is 218 | released under this License and any conditions added under section 219 | 7. This requirement modifies the requirement in section 4 to 220 | "keep intact all notices". 221 | 222 | c) You must license the entire work, as a whole, under this 223 | License to anyone who comes into possession of a copy. This 224 | License will therefore apply, along with any applicable section 7 225 | additional terms, to the whole of the work, and all its parts, 226 | regardless of how they are packaged. This License gives no 227 | permission to license the work in any other way, but it does not 228 | invalidate such permission if you have separately received it. 229 | 230 | d) If the work has interactive user interfaces, each must display 231 | Appropriate Legal Notices; however, if the Program has interactive 232 | interfaces that do not display Appropriate Legal Notices, your 233 | work need not make them do so. 234 | 235 | A compilation of a covered work with other separate and independent 236 | works, which are not by their nature extensions of the covered work, 237 | and which are not combined with it such as to form a larger program, 238 | in or on a volume of a storage or distribution medium, is called an 239 | "aggregate" if the compilation and its resulting copyright are not 240 | used to limit the access or legal rights of the compilation's users 241 | beyond what the individual works permit. Inclusion of a covered work 242 | in an aggregate does not cause this License to apply to the other 243 | parts of the aggregate. 244 | 245 | 6. Conveying Non-Source Forms. 246 | 247 | You may convey a covered work in object code form under the terms 248 | of sections 4 and 5, provided that you also convey the 249 | machine-readable Corresponding Source under the terms of this License, 250 | in one of these ways: 251 | 252 | a) Convey the object code in, or embodied in, a physical product 253 | (including a physical distribution medium), accompanied by the 254 | Corresponding Source fixed on a durable physical medium 255 | customarily used for software interchange. 256 | 257 | b) Convey the object code in, or embodied in, a physical product 258 | (including a physical distribution medium), accompanied by a 259 | written offer, valid for at least three years and valid for as 260 | long as you offer spare parts or customer support for that product 261 | model, to give anyone who possesses the object code either (1) a 262 | copy of the Corresponding Source for all the software in the 263 | product that is covered by this License, on a durable physical 264 | medium customarily used for software interchange, for a price no 265 | more than your reasonable cost of physically performing this 266 | conveying of source, or (2) access to copy the 267 | Corresponding Source from a network server at no charge. 268 | 269 | c) Convey individual copies of the object code with a copy of the 270 | written offer to provide the Corresponding Source. This 271 | alternative is allowed only occasionally and noncommercially, and 272 | only if you received the object code with such an offer, in accord 273 | with subsection 6b. 274 | 275 | d) Convey the object code by offering access from a designated 276 | place (gratis or for a charge), and offer equivalent access to the 277 | Corresponding Source in the same way through the same place at no 278 | further charge. You need not require recipients to copy the 279 | Corresponding Source along with the object code. If the place to 280 | copy the object code is a network server, the Corresponding Source 281 | may be on a different server (operated by you or a third party) 282 | that supports equivalent copying facilities, provided you maintain 283 | clear directions next to the object code saying where to find the 284 | Corresponding Source. Regardless of what server hosts the 285 | Corresponding Source, you remain obligated to ensure that it is 286 | available for as long as needed to satisfy these requirements. 287 | 288 | e) Convey the object code using peer-to-peer transmission, provided 289 | you inform other peers where the object code and Corresponding 290 | Source of the work are being offered to the general public at no 291 | charge under subsection 6d. 292 | 293 | A separable portion of the object code, whose source code is excluded 294 | from the Corresponding Source as a System Library, need not be 295 | included in conveying the object code work. 296 | 297 | A "User Product" is either (1) a "consumer product", which means any 298 | tangible personal property which is normally used for personal, family, 299 | or household purposes, or (2) anything designed or sold for incorporation 300 | into a dwelling. In determining whether a product is a consumer product, 301 | doubtful cases shall be resolved in favor of coverage. For a particular 302 | product received by a particular user, "normally used" refers to a 303 | typical or common use of that class of product, regardless of the status 304 | of the particular user or of the way in which the particular user 305 | actually uses, or expects or is expected to use, the product. A product 306 | is a consumer product regardless of whether the product has substantial 307 | commercial, industrial or non-consumer uses, unless such uses represent 308 | the only significant mode of use of the product. 309 | 310 | "Installation Information" for a User Product means any methods, 311 | procedures, authorization keys, or other information required to install 312 | and execute modified versions of a covered work in that User Product from 313 | a modified version of its Corresponding Source. The information must 314 | suffice to ensure that the continued functioning of the modified object 315 | code is in no case prevented or interfered with solely because 316 | modification has been made. 317 | 318 | If you convey an object code work under this section in, or with, or 319 | specifically for use in, a User Product, and the conveying occurs as 320 | part of a transaction in which the right of possession and use of the 321 | User Product is transferred to the recipient in perpetuity or for a 322 | fixed term (regardless of how the transaction is characterized), the 323 | Corresponding Source conveyed under this section must be accompanied 324 | by the Installation Information. But this requirement does not apply 325 | if neither you nor any third party retains the ability to install 326 | modified object code on the User Product (for example, the work has 327 | been installed in ROM). 328 | 329 | The requirement to provide Installation Information does not include a 330 | requirement to continue to provide support service, warranty, or updates 331 | for a work that has been modified or installed by the recipient, or for 332 | the User Product in which it has been modified or installed. Access to a 333 | network may be denied when the modification itself materially and 334 | adversely affects the operation of the network or violates the rules and 335 | protocols for communication across the network. 336 | 337 | Corresponding Source conveyed, and Installation Information provided, 338 | in accord with this section must be in a format that is publicly 339 | documented (and with an implementation available to the public in 340 | source code form), and must require no special password or key for 341 | unpacking, reading or copying. 342 | 343 | 7. Additional Terms. 344 | 345 | "Additional permissions" are terms that supplement the terms of this 346 | License by making exceptions from one or more of its conditions. 347 | Additional permissions that are applicable to the entire Program shall 348 | be treated as though they were included in this License, to the extent 349 | that they are valid under applicable law. If additional permissions 350 | apply only to part of the Program, that part may be used separately 351 | under those permissions, but the entire Program remains governed by 352 | this License without regard to the additional permissions. 353 | 354 | When you convey a copy of a covered work, you may at your option 355 | remove any additional permissions from that copy, or from any part of 356 | it. (Additional permissions may be written to require their own 357 | removal in certain cases when you modify the work.) You may place 358 | additional permissions on material, added by you to a covered work, 359 | for which you have or can give appropriate copyright permission. 360 | 361 | Notwithstanding any other provision of this License, for material you 362 | add to a covered work, you may (if authorized by the copyright holders of 363 | that material) supplement the terms of this License with terms: 364 | 365 | a) Disclaiming warranty or limiting liability differently from the 366 | terms of sections 15 and 16 of this License; or 367 | 368 | b) Requiring preservation of specified reasonable legal notices or 369 | author attributions in that material or in the Appropriate Legal 370 | Notices displayed by works containing it; or 371 | 372 | c) Prohibiting misrepresentation of the origin of that material, or 373 | requiring that modified versions of such material be marked in 374 | reasonable ways as different from the original version; or 375 | 376 | d) Limiting the use for publicity purposes of names of licensors or 377 | authors of the material; or 378 | 379 | e) Declining to grant rights under trademark law for use of some 380 | trade names, trademarks, or service marks; or 381 | 382 | f) Requiring indemnification of licensors and authors of that 383 | material by anyone who conveys the material (or modified versions of 384 | it) with contractual assumptions of liability to the recipient, for 385 | any liability that these contractual assumptions directly impose on 386 | those licensors and authors. 387 | 388 | All other non-permissive additional terms are considered "further 389 | restrictions" within the meaning of section 10. If the Program as you 390 | received it, or any part of it, contains a notice stating that it is 391 | governed by this License along with a term that is a further 392 | restriction, you may remove that term. If a license document contains 393 | a further restriction but permits relicensing or conveying under this 394 | License, you may add to a covered work material governed by the terms 395 | of that license document, provided that the further restriction does 396 | not survive such relicensing or conveying. 397 | 398 | If you add terms to a covered work in accord with this section, you 399 | must place, in the relevant source files, a statement of the 400 | additional terms that apply to those files, or a notice indicating 401 | where to find the applicable terms. 402 | 403 | Additional terms, permissive or non-permissive, may be stated in the 404 | form of a separately written license, or stated as exceptions; 405 | the above requirements apply either way. 406 | 407 | 8. Termination. 408 | 409 | You may not propagate or modify a covered work except as expressly 410 | provided under this License. Any attempt otherwise to propagate or 411 | modify it is void, and will automatically terminate your rights under 412 | this License (including any patent licenses granted under the third 413 | paragraph of section 11). 414 | 415 | However, if you cease all violation of this License, then your 416 | license from a particular copyright holder is reinstated (a) 417 | provisionally, unless and until the copyright holder explicitly and 418 | finally terminates your license, and (b) permanently, if the copyright 419 | holder fails to notify you of the violation by some reasonable means 420 | prior to 60 days after the cessation. 421 | 422 | Moreover, your license from a particular copyright holder is 423 | reinstated permanently if the copyright holder notifies you of the 424 | violation by some reasonable means, this is the first time you have 425 | received notice of violation of this License (for any work) from that 426 | copyright holder, and you cure the violation prior to 30 days after 427 | your receipt of the notice. 428 | 429 | Termination of your rights under this section does not terminate the 430 | licenses of parties who have received copies or rights from you under 431 | this License. If your rights have been terminated and not permanently 432 | reinstated, you do not qualify to receive new licenses for the same 433 | material under section 10. 434 | 435 | 9. Acceptance Not Required for Having Copies. 436 | 437 | You are not required to accept this License in order to receive or 438 | run a copy of the Program. Ancillary propagation of a covered work 439 | occurring solely as a consequence of using peer-to-peer transmission 440 | to receive a copy likewise does not require acceptance. However, 441 | nothing other than this License grants you permission to propagate or 442 | modify any covered work. These actions infringe copyright if you do 443 | not accept this License. Therefore, by modifying or propagating a 444 | covered work, you indicate your acceptance of this License to do so. 445 | 446 | 10. Automatic Licensing of Downstream Recipients. 447 | 448 | Each time you convey a covered work, the recipient automatically 449 | receives a license from the original licensors, to run, modify and 450 | propagate that work, subject to this License. You are not responsible 451 | for enforcing compliance by third parties with this License. 452 | 453 | An "entity transaction" is a transaction transferring control of an 454 | organization, or substantially all assets of one, or subdividing an 455 | organization, or merging organizations. If propagation of a covered 456 | work results from an entity transaction, each party to that 457 | transaction who receives a copy of the work also receives whatever 458 | licenses to the work the party's predecessor in interest had or could 459 | give under the previous paragraph, plus a right to possession of the 460 | Corresponding Source of the work from the predecessor in interest, if 461 | the predecessor has it or can get it with reasonable efforts. 462 | 463 | You may not impose any further restrictions on the exercise of the 464 | rights granted or affirmed under this License. For example, you may 465 | not impose a license fee, royalty, or other charge for exercise of 466 | rights granted under this License, and you may not initiate litigation 467 | (including a cross-claim or counterclaim in a lawsuit) alleging that 468 | any patent claim is infringed by making, using, selling, offering for 469 | sale, or importing the Program or any portion of it. 470 | 471 | 11. Patents. 472 | 473 | A "contributor" is a copyright holder who authorizes use under this 474 | License of the Program or a work on which the Program is based. The 475 | work thus licensed is called the contributor's "contributor version". 476 | 477 | A contributor's "essential patent claims" are all patent claims 478 | owned or controlled by the contributor, whether already acquired or 479 | hereafter acquired, that would be infringed by some manner, permitted 480 | by this License, of making, using, or selling its contributor version, 481 | but do not include claims that would be infringed only as a 482 | consequence of further modification of the contributor version. For 483 | purposes of this definition, "control" includes the right to grant 484 | patent sublicenses in a manner consistent with the requirements of 485 | this License. 486 | 487 | Each contributor grants you a non-exclusive, worldwide, royalty-free 488 | patent license under the contributor's essential patent claims, to 489 | make, use, sell, offer for sale, import and otherwise run, modify and 490 | propagate the contents of its contributor version. 491 | 492 | In the following three paragraphs, a "patent license" is any express 493 | agreement or commitment, however denominated, not to enforce a patent 494 | (such as an express permission to practice a patent or covenant not to 495 | sue for patent infringement). To "grant" such a patent license to a 496 | party means to make such an agreement or commitment not to enforce a 497 | patent against the party. 498 | 499 | If you convey a covered work, knowingly relying on a patent license, 500 | and the Corresponding Source of the work is not available for anyone 501 | to copy, free of charge and under the terms of this License, through a 502 | publicly available network server or other readily accessible means, 503 | then you must either (1) cause the Corresponding Source to be so 504 | available, or (2) arrange to deprive yourself of the benefit of the 505 | patent license for this particular work, or (3) arrange, in a manner 506 | consistent with the requirements of this License, to extend the patent 507 | license to downstream recipients. "Knowingly relying" means you have 508 | actual knowledge that, but for the patent license, your conveying the 509 | covered work in a country, or your recipient's use of the covered work 510 | in a country, would infringe one or more identifiable patents in that 511 | country that you have reason to believe are valid. 512 | 513 | If, pursuant to or in connection with a single transaction or 514 | arrangement, you convey, or propagate by procuring conveyance of, a 515 | covered work, and grant a patent license to some of the parties 516 | receiving the covered work authorizing them to use, propagate, modify 517 | or convey a specific copy of the covered work, then the patent license 518 | you grant is automatically extended to all recipients of the covered 519 | work and works based on it. 520 | 521 | A patent license is "discriminatory" if it does not include within 522 | the scope of its coverage, prohibits the exercise of, or is 523 | conditioned on the non-exercise of one or more of the rights that are 524 | specifically granted under this License. You may not convey a covered 525 | work if you are a party to an arrangement with a third party that is 526 | in the business of distributing software, under which you make payment 527 | to the third party based on the extent of your activity of conveying 528 | the work, and under which the third party grants, to any of the 529 | parties who would receive the covered work from you, a discriminatory 530 | patent license (a) in connection with copies of the covered work 531 | conveyed by you (or copies made from those copies), or (b) primarily 532 | for and in connection with specific products or compilations that 533 | contain the covered work, unless you entered into that arrangement, 534 | or that patent license was granted, prior to 28 March 2007. 535 | 536 | Nothing in this License shall be construed as excluding or limiting 537 | any implied license or other defenses to infringement that may 538 | otherwise be available to you under applicable patent law. 539 | 540 | 12. No Surrender of Others' Freedom. 541 | 542 | If conditions are imposed on you (whether by court order, agreement or 543 | otherwise) that contradict the conditions of this License, they do not 544 | excuse you from the conditions of this License. If you cannot convey a 545 | covered work so as to satisfy simultaneously your obligations under this 546 | License and any other pertinent obligations, then as a consequence you may 547 | not convey it at all. For example, if you agree to terms that obligate you 548 | to collect a royalty for further conveying from those to whom you convey 549 | the Program, the only way you could satisfy both those terms and this 550 | License would be to refrain entirely from conveying the Program. 551 | 552 | 13. Use with the GNU Affero General Public License. 553 | 554 | Notwithstanding any other provision of this License, you have 555 | permission to link or combine any covered work with a work licensed 556 | under version 3 of the GNU Affero General Public License into a single 557 | combined work, and to convey the resulting work. The terms of this 558 | License will continue to apply to the part which is the covered work, 559 | but the special requirements of the GNU Affero General Public License, 560 | section 13, concerning interaction through a network will apply to the 561 | combination as such. 562 | 563 | 14. Revised Versions of this License. 564 | 565 | The Free Software Foundation may publish revised and/or new versions of 566 | the GNU General Public License from time to time. Such new versions will 567 | be similar in spirit to the present version, but may differ in detail to 568 | address new problems or concerns. 569 | 570 | Each version is given a distinguishing version number. If the 571 | Program specifies that a certain numbered version of the GNU General 572 | Public License "or any later version" applies to it, you have the 573 | option of following the terms and conditions either of that numbered 574 | version or of any later version published by the Free Software 575 | Foundation. If the Program does not specify a version number of the 576 | GNU General Public License, you may choose any version ever published 577 | by the Free Software Foundation. 578 | 579 | If the Program specifies that a proxy can decide which future 580 | versions of the GNU General Public License can be used, that proxy's 581 | public statement of acceptance of a version permanently authorizes you 582 | to choose that version for the Program. 583 | 584 | Later license versions may give you additional or different 585 | permissions. However, no additional obligations are imposed on any 586 | author or copyright holder as a result of your choosing to follow a 587 | later version. 588 | 589 | 15. Disclaimer of Warranty. 590 | 591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 599 | 600 | 16. Limitation of Liability. 601 | 602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 610 | SUCH DAMAGES. 611 | 612 | 17. Interpretation of Sections 15 and 16. 613 | 614 | If the disclaimer of warranty and limitation of liability provided 615 | above cannot be given local legal effect according to their terms, 616 | reviewing courts shall apply local law that most closely approximates 617 | an absolute waiver of all civil liability in connection with the 618 | Program, unless a warranty or assumption of liability accompanies a 619 | copy of the Program in return for a fee. 620 | 621 | END OF TERMS AND CONDITIONS 622 | 623 | How to Apply These Terms to Your New Programs 624 | 625 | If you develop a new program, and you want it to be of the greatest 626 | possible use to the public, the best way to achieve this is to make it 627 | free software which everyone can redistribute and change under these terms. 628 | 629 | To do so, attach the following notices to the program. It is safest 630 | to attach them to the start of each source file to most effectively 631 | state the exclusion of warranty; and each file should have at least 632 | the "copyright" line and a pointer to where the full notice is found. 633 | 634 | 635 | Copyright (C) 636 | 637 | This program is free software: you can redistribute it and/or modify 638 | it under the terms of the GNU General Public License as published by 639 | the Free Software Foundation, either version 3 of the License, or 640 | (at your option) any later version. 641 | 642 | This program is distributed in the hope that it will be useful, 643 | but WITHOUT ANY WARRANTY; without even the implied warranty of 644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 645 | GNU General Public License for more details. 646 | 647 | You should have received a copy of the GNU General Public License 648 | along with this program. If not, see . 649 | 650 | Also add information on how to contact you by electronic and paper mail. 651 | 652 | If the program does terminal interaction, make it output a short 653 | notice like this when it starts in an interactive mode: 654 | 655 | Copyright (C) 656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 657 | This is free software, and you are welcome to redistribute it 658 | under certain conditions; type `show c' for details. 659 | 660 | The hypothetical commands `show w' and `show c' should show the appropriate 661 | parts of the General Public License. Of course, your program's commands 662 | might be different; for a GUI interface, you would use an "about box". 663 | 664 | You should also get your employer (if you work as a programmer) or school, 665 | if any, to sign a "copyright disclaimer" for the program, if necessary. 666 | For more information on this, and how to apply and follow the GNU GPL, see 667 | . 668 | 669 | The GNU General Public License does not permit incorporating your program 670 | into proprietary programs. If your program is a subroutine library, you 671 | may consider it more useful to permit linking proprietary applications with 672 | the library. If this is what you want to do, use the GNU Lesser General 673 | Public License instead of this License. But first, please read 674 | . 675 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # RestApiToText for Notepad++ 2 | 3 | RestApiToText is a plugin that will use the text from a Notepad++ editor tab to make a REST call and display the results in a new editor tab, eliminating the need for calling an outside REST tool and pasting the results into Notepad++. Special thanks to Don Ho and the many developers and contributors for making Notepad++ possible. 4 | 5 | License 6 | ------- 7 | All files for this package are licensed under the GPL v3 license.  See the LICENSE file for more details. 8 | 9 | What's New in RestApiToText 10 | --------------------------- 11 | 1. Added the ability to use an environment variable when specifying header values, so that you can use a private API key without showing it in your REST call. 12 | 2. RestApiToText will automatically pretty-print JSON responses if the response header's __Content-Type__ header is set to __application/json__. 13 | 3. Added new __RestApiToTextOptions__ section to allow users to control the behavior of RestApiToText. 14 | 4. Added the __ShowResponseHeaders__ RestApiToText option to display response headers in addition to the response itself. 15 | 5. Querystrings are now url-encoded before they are sent. 16 | 6. Added the ability to pass a body with the __DELETE__ verb. 17 | 7. Fixed issue where the __PATCH__ verb was not passing the body. 18 | 8. Fixed issue where __InternetReadFile__ was stopping prematurely because the output was being formatted to JSON as it was being read. 19 | 9. Fixed issue where the __201 (Created)__ response was not returning the body. 20 | 10. Added ability to use environment variables in the body and the URL. 21 | 11. Added ability to show response on the same page, after the REST call. 22 | 12. Fixed issue where body was not being returned on all calls. 23 | 24 | New Releases 25 | ------------ 26 | You can download the latest version of RestApiToText.dll for 32-bit here and for 64-bit here or by navigating the __Release__ and __x64/Release__ folders above. You just need to download the DLL and overwrite it in the appropriate subfolder of the Notepad++ plugins admin folder. 27 | 28 | Here are the steps to overwrite the DLL: 29 | 30 | 1. Open Notepad++ and go to __Plugins->Open Plugins Folder...__ 31 | 2. Close Notepad++. 32 | 3. In the Explorer window you created from Step 1, open the RestApiToText subfolder. 33 | 4. Overwrite the RestApiToText DLL with the one you downloaded. 34 | 5. Reopen Notepad++. 35 | 36 | See [Changes by Version](#changes-by-version) below for a list of changes. 37 | 38 | Usage 39 | ----- 40 | 1. Add code in the format shown below. 41 | 2. Go to Plugins -> REST API To Text -> Make REST Call. 42 | 3. A new editor tab with the results of the call should appear. (Results depend on the API you call) 43 | 44 | ![screenshot](/Screenshot1.png?raw=true "Example of a REST payload for RestApiToText") 45 | ![screenshot](/Screenshot2.png?raw=true "Example of a REST response for RestApiToText") 46 | 47 | 4. If the response's __Content-Type__ header is __application/json__ then the output will be automatically formatted: 48 | 49 | ![screenshot](/Screenshot4.png?raw=true "Example of a formatted REST response for RestApiToText") 50 | 51 | 52 | 53 | Notes 54 | ----- 55 | - RestApiToText always creates a new tab for the results, so you can easily keep different versions for reference. 56 | - Only the verb and the URL are required.  Headers, RestApiToTextOptions and Body are always optional. 57 | - The HTTP/S protocol at the beginning of the URL is not required. The port is also optional. 58 | - The current version of the plugin will only make one call at a time. 59 | - If the editor tab contains more content than your REST call (or other non-REST content), then select all of the REST text before making the call. 60 | - You can also make calls to regular web pages. 61 | - RestApiToText also supports the most commonly used REST verbs.  The content returned depends on the API call.  Some verbs might return no content, depending on the REST API you're calling and how you've configured the call.  Here are some examples: 62 | 63 | ![screenshot](/Screenshot5.png?raw=true "Example of a formatted REST response and response headers for RestApiToText") 64 | 65 | ![screenshot](/Screenshot6.png?raw=true "Example of a formatted REST response and response headers for RestApiToText") 66 | 67 | ![screenshot](/Screenshot3.png?raw=true "Examples for other REST verbs") 68 | 69 | ![screenshot](/Screenshot7.png?raw=true "Example of a formatted REST response and response headers for RestApiToText") 70 | 71 | - Use an environment variable whenever you want to send a private API key but you don't want to show it in your REST call.  Just create the variable and wrap it in a __$(env:*variable name*)__ expression, like so: 72 | 73 | ![screenshot](/Screenshot8.png?raw=true "Example of a REST call that uses an environment variable") 74 | ![screenshot](/Screenshot9.png?raw=true "Example of a REST call that uses an environment variable") 75 | 76 | ![screenshot](/Screenshot10.png?raw=true "Example of a REST call that uses an environment variable") 77 | 78 | ![screenshot](/Screenshot11.png?raw=true "Example of a REST call that uses an environment variable in the URL, a header, and the body") 79 | ![screenshot](/Screenshot12.png?raw=true "Example of a REST call that uses an environment variable in the URL, a header, and the body") 80 | ![screenshot](/Screenshot13.png?raw=true "Example of a REST call that uses an environment variable in the URL, a header, and the body") 81 | ![screenshot](/Screenshot14.png?raw=true "Example of a REST call that uses an environment variable in the URL, a header, and the body") 82 | ![screenshot](/Screenshot15.png?raw=true "Example of a REST call that uses an environment variable in the URL, a header, and the body") 83 | ![screenshot](/Screenshot16.png?raw=true "Example of a REST call that uses an environment variable in the URL, a header, and the body") 84 | 85 | - Use the **RestApiToTextOptions** section for custom __RestApiToText__ features: 86 | *(The following two features are currently available)* 87 | 88 | ![screenshot](/Screenshot17.png?raw=true "Examples of RestApiToTextOptions") 89 | 90 | 91 | 92 | ## Changes by Version 93 | 1.4.0.1 94 | 1. Fixed issue where body was not being returned on all calls. 95 | 96 | 1.4.0.0 97 | 1. Added the ability to use an environment variable in the body and the URL. 98 | 2. Added the ability to show the response on the same page as the REST call. 99 | 100 | 1.3.1.2 101 | 1. Added the ability to use an environment variable in the body. 102 | 103 | 1.3.1.1 104 | 1. Fixed bug where 201 responses did not include the body. 105 | 106 | 1.3.1.0 107 | 1. Added the ability to use an environment variable when specifying header values, so that you can use a private API key without showing it in your REST call. 108 | 109 | 1.3.0.0 110 | 1. Added new __**RestApiToTextOptions**__ section to allow users to control the behavior of RestApiToText. 111 | 2. Added RestApiToText option called __ShowResponseHeaders__ to display response headers in addition to the response itself. 112 | 3. URL querystrings are now encoded before they are sent. 113 | 4. Added the ability to pass a body with the __DELETE__ verb. 114 | 5. Fixed issue where the __PATCH__ verb was not passing the body. 115 | 116 | 1.2.1 117 | 1. Fixed issue where InternetReadFile was stopping prematurely because the output was being formatted to JSON as it was being read. 118 | 119 | 1.2 120 | 1. Added JSON pretty-printing for responses with a Content-Type response header containing "application/json". 121 | 2. Added support for the HEAD and OPTIONS verbs. 122 | 3. URLs with no verb now default to a GET. 123 | 124 | 1.1 125 | 1. Fixed incorrect HTTP/S configurations that would result in "400 - Bad Request" or "405 - Method Not Allowed" in some situations. 126 | 2. Disabled default WinInet caching. 127 | 128 | 1.0 129 | 1. Initial release. -------------------------------------------------------------------------------- /Release/RestApiToText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Release/RestApiToText.dll -------------------------------------------------------------------------------- /Release/v1.0/RestApiToText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Release/v1.0/RestApiToText.dll -------------------------------------------------------------------------------- /Release/v1.0/RestApiToText.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Release/v1.0/RestApiToText.zip -------------------------------------------------------------------------------- /Release/v1.1/RestApiToText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Release/v1.1/RestApiToText.dll -------------------------------------------------------------------------------- /Release/v1.1/RestApiToText.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Release/v1.1/RestApiToText.zip -------------------------------------------------------------------------------- /Release/v1.2.1/RestApiToText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Release/v1.2.1/RestApiToText.dll -------------------------------------------------------------------------------- /Release/v1.2.1/RestApiToText.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Release/v1.2.1/RestApiToText.zip -------------------------------------------------------------------------------- /Release/v1.2/RestApiToText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Release/v1.2/RestApiToText.dll -------------------------------------------------------------------------------- /Release/v1.2/RestApiToText.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Release/v1.2/RestApiToText.zip -------------------------------------------------------------------------------- /Release/v1.3.0.0/RestApiToText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Release/v1.3.0.0/RestApiToText.dll -------------------------------------------------------------------------------- /Release/v1.3.0.0/RestApiToText.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Release/v1.3.0.0/RestApiToText.zip -------------------------------------------------------------------------------- /Release/v1.3.1.0/RestApiToText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Release/v1.3.1.0/RestApiToText.dll -------------------------------------------------------------------------------- /Release/v1.3.1.0/RestApiToText.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Release/v1.3.1.0/RestApiToText.zip -------------------------------------------------------------------------------- /Release/v1.3.1.1/RestApiToText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Release/v1.3.1.1/RestApiToText.dll -------------------------------------------------------------------------------- /Release/v1.3.1.1/RestApiToText.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Release/v1.3.1.1/RestApiToText.zip -------------------------------------------------------------------------------- /Release/v1.4.0.0/RestApiToText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Release/v1.4.0.0/RestApiToText.dll -------------------------------------------------------------------------------- /Release/v1.4.0.0/RestApiToText.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Release/v1.4.0.0/RestApiToText.zip -------------------------------------------------------------------------------- /Release/v1.4.0.1/RestApiToText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Release/v1.4.0.1/RestApiToText.dll -------------------------------------------------------------------------------- /Release/v1.4.0.1/RestApiToText.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Release/v1.4.0.1/RestApiToText.zip -------------------------------------------------------------------------------- /RestApiToText.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.30413.136 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RestApiToText", "RestApiToText\RestApiToText.vcxproj", "{1A248314-7A38-4876-9866-3A254050CE06}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x64 = Debug|x64 11 | Debug|x86 = Debug|x86 12 | Release|x64 = Release|x64 13 | Release|x86 = Release|x86 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {1A248314-7A38-4876-9866-3A254050CE06}.Debug|x64.ActiveCfg = Debug|x64 17 | {1A248314-7A38-4876-9866-3A254050CE06}.Debug|x64.Build.0 = Debug|x64 18 | {1A248314-7A38-4876-9866-3A254050CE06}.Debug|x86.ActiveCfg = Debug|Win32 19 | {1A248314-7A38-4876-9866-3A254050CE06}.Debug|x86.Build.0 = Debug|Win32 20 | {1A248314-7A38-4876-9866-3A254050CE06}.Release|x64.ActiveCfg = Release|x64 21 | {1A248314-7A38-4876-9866-3A254050CE06}.Release|x64.Build.0 = Release|x64 22 | {1A248314-7A38-4876-9866-3A254050CE06}.Release|x86.ActiveCfg = Release|Win32 23 | {1A248314-7A38-4876-9866-3A254050CE06}.Release|x86.Build.0 = Release|Win32 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {FA7003C6-CC62-485F-918B-A648C6D2D970} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /RestApiToText/Notepad_plus_msgs.h: -------------------------------------------------------------------------------- 1 | // This file is part of Notepad++ project 2 | // Copyright (C)2003 Don HO 3 | // 4 | // This program is free software; you can redistribute it and/or 5 | // modify it under the terms of the GNU General Public License 6 | // as published by the Free Software Foundation; either 7 | // version 2 of the License, or (at your option) any later version. 8 | // 9 | // Note that the GPL places important restrictions on "derived works", yet 10 | // it does not provide a detailed definition of that term. To avoid 11 | // misunderstandings, we consider an application to constitute a 12 | // "derivative work" for the purpose of this license if it does any of the 13 | // following: 14 | // 1. Integrates source code from Notepad++. 15 | // 2. Integrates/includes/aggregates Notepad++ into a proprietary executable 16 | // installer, such as those produced by InstallShield. 17 | // 3. Links to a library or executes a program that does any of the above. 18 | // 19 | // This program is distributed in the hope that it will be useful, 20 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 | // GNU General Public License for more details. 23 | // 24 | // You should have received a copy of the GNU General Public License 25 | // along with this program; if not, write to the Free Software 26 | // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 27 | 28 | 29 | #ifndef NOTEPAD_PLUS_MSGS_H 30 | #define NOTEPAD_PLUS_MSGS_H 31 | 32 | #include 33 | #include 34 | 35 | enum LangType {L_TEXT, L_PHP , L_C, L_CPP, L_CS, L_OBJC, L_JAVA, L_RC,\ 36 | L_HTML, L_XML, L_MAKEFILE, L_PASCAL, L_BATCH, L_INI, L_ASCII, L_USER,\ 37 | L_ASP, L_SQL, L_VB, L_JS, L_CSS, L_PERL, L_PYTHON, L_LUA, \ 38 | L_TEX, L_FORTRAN, L_BASH, L_FLASH, L_NSIS, L_TCL, L_LISP, L_SCHEME,\ 39 | L_ASM, L_DIFF, L_PROPS, L_PS, L_RUBY, L_SMALLTALK, L_VHDL, L_KIX, L_AU3,\ 40 | L_CAML, L_ADA, L_VERILOG, L_MATLAB, L_HASKELL, L_INNO, L_SEARCHRESULT,\ 41 | L_CMAKE, L_YAML, L_COBOL, L_GUI4CLI, L_D, L_POWERSHELL, L_R, L_JSP,\ 42 | L_COFFEESCRIPT, L_JSON, L_JAVASCRIPT, L_FORTRAN_77,\ 43 | // Don't use L_JS, use L_JAVASCRIPT instead 44 | // The end of enumated language type, so it should be always at the end 45 | L_EXTERNAL}; 46 | 47 | enum winVer{ WV_UNKNOWN, WV_WIN32S, WV_95, WV_98, WV_ME, WV_NT, WV_W2K, WV_XP, WV_S2003, WV_XPX64, WV_VISTA, WV_WIN7, WV_WIN8, WV_WIN81, WV_WIN10}; 48 | 49 | 50 | 51 | //Here you can find how to use these messages : http://docs.notepad-plus-plus.org/index.php/Messages_And_Notifications 52 | #define NPPMSG (WM_USER + 1000) 53 | 54 | #define NPPM_GETCURRENTSCINTILLA (NPPMSG + 4) 55 | #define NPPM_GETCURRENTLANGTYPE (NPPMSG + 5) 56 | #define NPPM_SETCURRENTLANGTYPE (NPPMSG + 6) 57 | 58 | #define NPPM_GETNBOPENFILES (NPPMSG + 7) 59 | #define ALL_OPEN_FILES 0 60 | #define PRIMARY_VIEW 1 61 | #define SECOND_VIEW 2 62 | 63 | #define NPPM_GETOPENFILENAMES (NPPMSG + 8) 64 | 65 | 66 | #define NPPM_MODELESSDIALOG (NPPMSG + 12) 67 | #define MODELESSDIALOGADD 0 68 | #define MODELESSDIALOGREMOVE 1 69 | 70 | #define NPPM_GETNBSESSIONFILES (NPPMSG + 13) 71 | #define NPPM_GETSESSIONFILES (NPPMSG + 14) 72 | #define NPPM_SAVESESSION (NPPMSG + 15) 73 | #define NPPM_SAVECURRENTSESSION (NPPMSG + 16) 74 | 75 | struct sessionInfo { 76 | TCHAR* sessionFilePathName; 77 | int nbFile; 78 | TCHAR** files; 79 | }; 80 | 81 | #define NPPM_GETOPENFILENAMESPRIMARY (NPPMSG + 17) 82 | #define NPPM_GETOPENFILENAMESSECOND (NPPMSG + 18) 83 | 84 | #define NPPM_CREATESCINTILLAHANDLE (NPPMSG + 20) 85 | #define NPPM_DESTROYSCINTILLAHANDLE (NPPMSG + 21) 86 | #define NPPM_GETNBUSERLANG (NPPMSG + 22) 87 | 88 | #define NPPM_GETCURRENTDOCINDEX (NPPMSG + 23) 89 | #define MAIN_VIEW 0 90 | #define SUB_VIEW 1 91 | 92 | #define NPPM_SETSTATUSBAR (NPPMSG + 24) 93 | #define STATUSBAR_DOC_TYPE 0 94 | #define STATUSBAR_DOC_SIZE 1 95 | #define STATUSBAR_CUR_POS 2 96 | #define STATUSBAR_EOF_FORMAT 3 97 | #define STATUSBAR_UNICODE_TYPE 4 98 | #define STATUSBAR_TYPING_MODE 5 99 | 100 | #define NPPM_GETMENUHANDLE (NPPMSG + 25) 101 | #define NPPPLUGINMENU 0 102 | #define NPPMAINMENU 1 103 | // INT NPPM_GETMENUHANDLE(INT menuChoice, 0) 104 | // Return: menu handle (HMENU) of choice (plugin menu handle or Notepad++ main menu handle) 105 | 106 | #define NPPM_ENCODESCI (NPPMSG + 26) 107 | //ascii file to unicode 108 | //int NPPM_ENCODESCI(MAIN_VIEW/SUB_VIEW, 0) 109 | //return new unicodeMode 110 | 111 | #define NPPM_DECODESCI (NPPMSG + 27) 112 | //unicode file to ascii 113 | //int NPPM_DECODESCI(MAIN_VIEW/SUB_VIEW, 0) 114 | //return old unicodeMode 115 | 116 | #define NPPM_ACTIVATEDOC (NPPMSG + 28) 117 | //void NPPM_ACTIVATEDOC(int view, int index2Activate) 118 | 119 | #define NPPM_LAUNCHFINDINFILESDLG (NPPMSG + 29) 120 | //void NPPM_LAUNCHFINDINFILESDLG(TCHAR * dir2Search, TCHAR * filtre) 121 | 122 | #define NPPM_DMMSHOW (NPPMSG + 30) 123 | //void NPPM_DMMSHOW(0, tTbData->hClient) 124 | 125 | #define NPPM_DMMHIDE (NPPMSG + 31) 126 | //void NPPM_DMMHIDE(0, tTbData->hClient) 127 | 128 | #define NPPM_DMMUPDATEDISPINFO (NPPMSG + 32) 129 | //void NPPM_DMMUPDATEDISPINFO(0, tTbData->hClient) 130 | 131 | #define NPPM_DMMREGASDCKDLG (NPPMSG + 33) 132 | //void NPPM_DMMREGASDCKDLG(0, &tTbData) 133 | 134 | #define NPPM_LOADSESSION (NPPMSG + 34) 135 | //void NPPM_LOADSESSION(0, const TCHAR* file name) 136 | 137 | #define NPPM_DMMVIEWOTHERTAB (NPPMSG + 35) 138 | //void WM_DMM_VIEWOTHERTAB(0, tTbData->pszName) 139 | 140 | #define NPPM_RELOADFILE (NPPMSG + 36) 141 | //BOOL NPPM_RELOADFILE(BOOL withAlert, TCHAR *filePathName2Reload) 142 | 143 | #define NPPM_SWITCHTOFILE (NPPMSG + 37) 144 | //BOOL NPPM_SWITCHTOFILE(0, TCHAR *filePathName2switch) 145 | 146 | #define NPPM_SAVECURRENTFILE (NPPMSG + 38) 147 | //BOOL NPPM_SAVECURRENTFILE(0, 0) 148 | 149 | #define NPPM_SAVEALLFILES (NPPMSG + 39) 150 | //BOOL NPPM_SAVEALLFILES(0, 0) 151 | 152 | #define NPPM_SETMENUITEMCHECK (NPPMSG + 40) 153 | //void WM_PIMENU_CHECK(UINT funcItem[X]._cmdID, TRUE/FALSE) 154 | 155 | #define NPPM_ADDTOOLBARICON (NPPMSG + 41) 156 | //void WM_ADDTOOLBARICON(UINT funcItem[X]._cmdID, toolbarIcons icon) 157 | struct toolbarIcons { 158 | HBITMAP hToolbarBmp; 159 | HICON hToolbarIcon; 160 | }; 161 | 162 | #define NPPM_GETWINDOWSVERSION (NPPMSG + 42) 163 | //winVer NPPM_GETWINDOWSVERSION(0, 0) 164 | 165 | #define NPPM_DMMGETPLUGINHWNDBYNAME (NPPMSG + 43) 166 | //HWND WM_DMM_GETPLUGINHWNDBYNAME(const TCHAR *windowName, const TCHAR *moduleName) 167 | // if moduleName is NULL, then return value is NULL 168 | // if windowName is NULL, then the first found window handle which matches with the moduleName will be returned 169 | 170 | #define NPPM_MAKECURRENTBUFFERDIRTY (NPPMSG + 44) 171 | //BOOL NPPM_MAKECURRENTBUFFERDIRTY(0, 0) 172 | 173 | #define NPPM_GETENABLETHEMETEXTUREFUNC (NPPMSG + 45) 174 | //BOOL NPPM_GETENABLETHEMETEXTUREFUNC(0, 0) 175 | 176 | #define NPPM_GETPLUGINSCONFIGDIR (NPPMSG + 46) 177 | //void NPPM_GETPLUGINSCONFIGDIR(int strLen, TCHAR *str) 178 | 179 | #define NPPM_MSGTOPLUGIN (NPPMSG + 47) 180 | //BOOL NPPM_MSGTOPLUGIN(TCHAR *destModuleName, CommunicationInfo *info) 181 | // return value is TRUE when the message arrive to the destination plugins. 182 | // if destModule or info is NULL, then return value is FALSE 183 | struct CommunicationInfo { 184 | long internalMsg; 185 | const TCHAR * srcModuleName; 186 | void * info; // defined by plugin 187 | }; 188 | 189 | #define NPPM_MENUCOMMAND (NPPMSG + 48) 190 | //void NPPM_MENUCOMMAND(0, int cmdID) 191 | // uncomment //#include "menuCmdID.h" 192 | // in the beginning of this file then use the command symbols defined in "menuCmdID.h" file 193 | // to access all the Notepad++ menu command items 194 | 195 | #define NPPM_TRIGGERTABBARCONTEXTMENU (NPPMSG + 49) 196 | //void NPPM_TRIGGERTABBARCONTEXTMENU(int view, int index2Activate) 197 | 198 | #define NPPM_GETNPPVERSION (NPPMSG + 50) 199 | // int NPPM_GETNPPVERSION(0, 0) 200 | // return version 201 | // ex : v4.6 202 | // HIWORD(version) == 4 203 | // LOWORD(version) == 6 204 | 205 | #define NPPM_HIDETABBAR (NPPMSG + 51) 206 | // BOOL NPPM_HIDETABBAR(0, BOOL hideOrNot) 207 | // if hideOrNot is set as TRUE then tab bar will be hidden 208 | // otherwise it'll be shown. 209 | // return value : the old status value 210 | 211 | #define NPPM_ISTABBARHIDDEN (NPPMSG + 52) 212 | // BOOL NPPM_ISTABBARHIDDEN(0, 0) 213 | // returned value : TRUE if tab bar is hidden, otherwise FALSE 214 | 215 | #define NPPM_GETPOSFROMBUFFERID (NPPMSG + 57) 216 | // INT NPPM_GETPOSFROMBUFFERID(INT bufferID, INT priorityView) 217 | // Return VIEW|INDEX from a buffer ID. -1 if the bufferID non existing 218 | // if priorityView set to SUB_VIEW, then SUB_VIEW will be search firstly 219 | // 220 | // VIEW takes 2 highest bits and INDEX (0 based) takes the rest (30 bits) 221 | // Here's the values for the view : 222 | // MAIN_VIEW 0 223 | // SUB_VIEW 1 224 | 225 | #define NPPM_GETFULLPATHFROMBUFFERID (NPPMSG + 58) 226 | // INT NPPM_GETFULLPATHFROMBUFFERID(INT bufferID, TCHAR *fullFilePath) 227 | // Get full path file name from a bufferID. 228 | // Return -1 if the bufferID non existing, otherwise the number of TCHAR copied/to copy 229 | // User should call it with fullFilePath be NULL to get the number of TCHAR (not including the nul character), 230 | // allocate fullFilePath with the return values + 1, then call it again to get full path file name 231 | 232 | #define NPPM_GETBUFFERIDFROMPOS (NPPMSG + 59) 233 | // LRESULT NPPM_GETBUFFERIDFROMPOS(INT index, INT iView) 234 | // wParam: Position of document 235 | // lParam: View to use, 0 = Main, 1 = Secondary 236 | // Returns 0 if invalid 237 | 238 | #define NPPM_GETCURRENTBUFFERID (NPPMSG + 60) 239 | // LRESULT NPPM_GETCURRENTBUFFERID(0, 0) 240 | // Returns active Buffer 241 | 242 | #define NPPM_RELOADBUFFERID (NPPMSG + 61) 243 | // VOID NPPM_RELOADBUFFERID(0, 0) 244 | // Reloads Buffer 245 | // wParam: Buffer to reload 246 | // lParam: 0 if no alert, else alert 247 | 248 | 249 | #define NPPM_GETBUFFERLANGTYPE (NPPMSG + 64) 250 | // INT NPPM_GETBUFFERLANGTYPE(INT bufferID, 0) 251 | // wParam: BufferID to get LangType from 252 | // lParam: 0 253 | // Returns as int, see LangType. -1 on error 254 | 255 | #define NPPM_SETBUFFERLANGTYPE (NPPMSG + 65) 256 | // BOOL NPPM_SETBUFFERLANGTYPE(INT bufferID, INT langType) 257 | // wParam: BufferID to set LangType of 258 | // lParam: LangType 259 | // Returns TRUE on success, FALSE otherwise 260 | // use int, see LangType for possible values 261 | // L_USER and L_EXTERNAL are not supported 262 | 263 | #define NPPM_GETBUFFERENCODING (NPPMSG + 66) 264 | // INT NPPM_GETBUFFERENCODING(INT bufferID, 0) 265 | // wParam: BufferID to get encoding from 266 | // lParam: 0 267 | // returns as int, see UniMode. -1 on error 268 | 269 | #define NPPM_SETBUFFERENCODING (NPPMSG + 67) 270 | // BOOL NPPM_SETBUFFERENCODING(INT bufferID, INT encoding) 271 | // wParam: BufferID to set encoding of 272 | // lParam: encoding 273 | // Returns TRUE on success, FALSE otherwise 274 | // use int, see UniMode 275 | // Can only be done on new, unedited files 276 | 277 | #define NPPM_GETBUFFERFORMAT (NPPMSG + 68) 278 | // INT NPPM_GETBUFFERFORMAT(INT bufferID, 0) 279 | // wParam: BufferID to get format from 280 | // lParam: 0 281 | // returns as int, see formatType. -1 on error 282 | 283 | #define NPPM_SETBUFFERFORMAT (NPPMSG + 69) 284 | // BOOL NPPM_SETBUFFERFORMAT(INT bufferID, INT format) 285 | // wParam: BufferID to set format of 286 | // lParam: format 287 | // Returns TRUE on success, FALSE otherwise 288 | // use int, see formatType 289 | 290 | /* 291 | #define NPPM_ADDREBAR (NPPMSG + 57) 292 | // BOOL NPPM_ADDREBAR(0, REBARBANDINFO *) 293 | // Returns assigned ID in wID value of struct pointer 294 | #define NPPM_UPDATEREBAR (NPPMSG + 58) 295 | // BOOL NPPM_ADDREBAR(INT ID, REBARBANDINFO *) 296 | //Use ID assigned with NPPM_ADDREBAR 297 | #define NPPM_REMOVEREBAR (NPPMSG + 59) 298 | // BOOL NPPM_ADDREBAR(INT ID, 0) 299 | //Use ID assigned with NPPM_ADDREBAR 300 | */ 301 | 302 | #define NPPM_HIDETOOLBAR (NPPMSG + 70) 303 | // BOOL NPPM_HIDETOOLBAR(0, BOOL hideOrNot) 304 | // if hideOrNot is set as TRUE then tool bar will be hidden 305 | // otherwise it'll be shown. 306 | // return value : the old status value 307 | 308 | #define NPPM_ISTOOLBARHIDDEN (NPPMSG + 71) 309 | // BOOL NPPM_ISTOOLBARHIDDEN(0, 0) 310 | // returned value : TRUE if tool bar is hidden, otherwise FALSE 311 | 312 | #define NPPM_HIDEMENU (NPPMSG + 72) 313 | // BOOL NPPM_HIDEMENU(0, BOOL hideOrNot) 314 | // if hideOrNot is set as TRUE then menu will be hidden 315 | // otherwise it'll be shown. 316 | // return value : the old status value 317 | 318 | #define NPPM_ISMENUHIDDEN (NPPMSG + 73) 319 | // BOOL NPPM_ISMENUHIDDEN(0, 0) 320 | // returned value : TRUE if menu is hidden, otherwise FALSE 321 | 322 | #define NPPM_HIDESTATUSBAR (NPPMSG + 74) 323 | // BOOL NPPM_HIDESTATUSBAR(0, BOOL hideOrNot) 324 | // if hideOrNot is set as TRUE then STATUSBAR will be hidden 325 | // otherwise it'll be shown. 326 | // return value : the old status value 327 | 328 | #define NPPM_ISSTATUSBARHIDDEN (NPPMSG + 75) 329 | // BOOL NPPM_ISSTATUSBARHIDDEN(0, 0) 330 | // returned value : TRUE if STATUSBAR is hidden, otherwise FALSE 331 | 332 | #define NPPM_GETSHORTCUTBYCMDID (NPPMSG + 76) 333 | // BOOL NPPM_GETSHORTCUTBYCMDID(int cmdID, ShortcutKey *sk) 334 | // get your plugin command current mapped shortcut into sk via cmdID 335 | // You may need it after getting NPPN_READY notification 336 | // returned value : TRUE if this function call is successful and shorcut is enable, otherwise FALSE 337 | 338 | #define NPPM_DOOPEN (NPPMSG + 77) 339 | // BOOL NPPM_DOOPEN(0, const TCHAR *fullPathName2Open) 340 | // fullPathName2Open indicates the full file path name to be opened. 341 | // The return value is TRUE (1) if the operation is successful, otherwise FALSE (0). 342 | 343 | #define NPPM_SAVECURRENTFILEAS (NPPMSG + 78) 344 | // BOOL NPPM_SAVECURRENTFILEAS (BOOL asCopy, const TCHAR* filename) 345 | 346 | #define NPPM_GETCURRENTNATIVELANGENCODING (NPPMSG + 79) 347 | // INT NPPM_GETCURRENTNATIVELANGENCODING(0, 0) 348 | // returned value : the current native language enconding 349 | 350 | #define NPPM_ALLOCATESUPPORTED (NPPMSG + 80) 351 | // returns TRUE if NPPM_ALLOCATECMDID is supported 352 | // Use to identify if subclassing is necessary 353 | 354 | #define NPPM_ALLOCATECMDID (NPPMSG + 81) 355 | // BOOL NPPM_ALLOCATECMDID(int numberRequested, int* startNumber) 356 | // sets startNumber to the initial command ID if successful 357 | // Returns: TRUE if successful, FALSE otherwise. startNumber will also be set to 0 if unsuccessful 358 | 359 | #define NPPM_ALLOCATEMARKER (NPPMSG + 82) 360 | // BOOL NPPM_ALLOCATEMARKER(int numberRequested, int* startNumber) 361 | // sets startNumber to the initial command ID if successful 362 | // Allocates a marker number to a plugin 363 | // Returns: TRUE if successful, FALSE otherwise. startNumber will also be set to 0 if unsuccessful 364 | 365 | #define NPPM_GETLANGUAGENAME (NPPMSG + 83) 366 | // INT NPPM_GETLANGUAGENAME(int langType, TCHAR *langName) 367 | // Get programing language name from the given language type (LangType) 368 | // Return value is the number of copied character / number of character to copy (\0 is not included) 369 | // You should call this function 2 times - the first time you pass langName as NULL to get the number of characters to copy. 370 | // You allocate a buffer of the length of (the number of characters + 1) then call NPPM_GETLANGUAGENAME function the 2nd time 371 | // by passing allocated buffer as argument langName 372 | 373 | #define NPPM_GETLANGUAGEDESC (NPPMSG + 84) 374 | // INT NPPM_GETLANGUAGEDESC(int langType, TCHAR *langDesc) 375 | // Get programing language short description from the given language type (LangType) 376 | // Return value is the number of copied character / number of character to copy (\0 is not included) 377 | // You should call this function 2 times - the first time you pass langDesc as NULL to get the number of characters to copy. 378 | // You allocate a buffer of the length of (the number of characters + 1) then call NPPM_GETLANGUAGEDESC function the 2nd time 379 | // by passing allocated buffer as argument langDesc 380 | 381 | #define NPPM_SHOWDOCSWITCHER (NPPMSG + 85) 382 | // VOID NPPM_ISDOCSWITCHERSHOWN(0, BOOL toShowOrNot) 383 | // Send this message to show or hide doc switcher. 384 | // if toShowOrNot is TRUE then show doc switcher, otherwise hide it. 385 | 386 | #define NPPM_ISDOCSWITCHERSHOWN (NPPMSG + 86) 387 | // BOOL NPPM_ISDOCSWITCHERSHOWN(0, 0) 388 | // Check to see if doc switcher is shown. 389 | 390 | #define NPPM_GETAPPDATAPLUGINSALLOWED (NPPMSG + 87) 391 | // BOOL NPPM_GETAPPDATAPLUGINSALLOWED(0, 0) 392 | // Check to see if loading plugins from "%APPDATA%\Notepad++\plugins" is allowed. 393 | 394 | #define NPPM_GETCURRENTVIEW (NPPMSG + 88) 395 | // INT NPPM_GETCURRENTVIEW(0, 0) 396 | // Return: current edit view of Notepad++. Only 2 possible values: 0 = Main, 1 = Secondary 397 | 398 | #define NPPM_DOCSWITCHERDISABLECOLUMN (NPPMSG + 89) 399 | // VOID NPPM_DOCSWITCHERDISABLECOLUMN(0, BOOL disableOrNot) 400 | // Disable or enable extension column of doc switcher 401 | 402 | #define NPPM_GETEDITORDEFAULTFOREGROUNDCOLOR (NPPMSG + 90) 403 | // INT NPPM_GETEDITORDEFAULTFOREGROUNDCOLOR(0, 0) 404 | // Return: current editor default foreground color. You should convert the returned value in COLORREF 405 | 406 | #define NPPM_GETEDITORDEFAULTBACKGROUNDCOLOR (NPPMSG + 91) 407 | // INT NPPM_GETEDITORDEFAULTBACKGROUNDCOLOR(0, 0) 408 | // Return: current editor default background color. You should convert the returned value in COLORREF 409 | 410 | #define NPPM_SETSMOOTHFONT (NPPMSG + 92) 411 | // VOID NPPM_SETSMOOTHFONT(0, BOOL setSmoothFontOrNot) 412 | 413 | #define NPPM_SETEDITORBORDEREDGE (NPPMSG + 93) 414 | // VOID NPPM_SETEDITORBORDEREDGE(0, BOOL withEditorBorderEdgeOrNot) 415 | 416 | #define NPPM_SAVEFILE (NPPMSG + 94) 417 | // VOID NPPM_SAVEFILE(0, const TCHAR *fileNameToSave) 418 | 419 | #define NPPM_DISABLEAUTOUPDATE (NPPMSG + 95) // 2119 in decimal 420 | // VOID NPPM_DISABLEAUTOUPDATE(0, 0) 421 | 422 | #define RUNCOMMAND_USER (WM_USER + 3000) 423 | #define NPPM_GETFULLCURRENTPATH (RUNCOMMAND_USER + FULL_CURRENT_PATH) 424 | #define NPPM_GETCURRENTDIRECTORY (RUNCOMMAND_USER + CURRENT_DIRECTORY) 425 | #define NPPM_GETFILENAME (RUNCOMMAND_USER + FILE_NAME) 426 | #define NPPM_GETNAMEPART (RUNCOMMAND_USER + NAME_PART) 427 | #define NPPM_GETEXTPART (RUNCOMMAND_USER + EXT_PART) 428 | #define NPPM_GETCURRENTWORD (RUNCOMMAND_USER + CURRENT_WORD) 429 | #define NPPM_GETNPPDIRECTORY (RUNCOMMAND_USER + NPP_DIRECTORY) 430 | // BOOL NPPM_GETXXXXXXXXXXXXXXXX(size_t strLen, TCHAR *str) 431 | // where str is the allocated TCHAR array, 432 | // strLen is the allocated array size 433 | // The return value is TRUE when get generic_string operation success 434 | // Otherwise (allocated array size is too small) FALSE 435 | 436 | #define NPPM_GETCURRENTLINE (RUNCOMMAND_USER + CURRENT_LINE) 437 | // INT NPPM_GETCURRENTLINE(0, 0) 438 | // return the caret current position line 439 | #define NPPM_GETCURRENTCOLUMN (RUNCOMMAND_USER + CURRENT_COLUMN) 440 | // INT NPPM_GETCURRENTCOLUMN(0, 0) 441 | // return the caret current position column 442 | 443 | #define VAR_NOT_RECOGNIZED 0 444 | #define FULL_CURRENT_PATH 1 445 | #define CURRENT_DIRECTORY 2 446 | #define FILE_NAME 3 447 | #define NAME_PART 4 448 | #define EXT_PART 5 449 | #define CURRENT_WORD 6 450 | #define NPP_DIRECTORY 7 451 | #define CURRENT_LINE 8 452 | #define CURRENT_COLUMN 9 453 | 454 | 455 | // Notification code 456 | #define NPPN_FIRST 1000 457 | #define NPPN_READY (NPPN_FIRST + 1) // To notify plugins that all the procedures of launchment of notepad++ are done. 458 | //scnNotification->nmhdr.code = NPPN_READY; 459 | //scnNotification->nmhdr.hwndFrom = hwndNpp; 460 | //scnNotification->nmhdr.idFrom = 0; 461 | 462 | #define NPPN_TBMODIFICATION (NPPN_FIRST + 2) // To notify plugins that toolbar icons can be registered 463 | //scnNotification->nmhdr.code = NPPN_TB_MODIFICATION; 464 | //scnNotification->nmhdr.hwndFrom = hwndNpp; 465 | //scnNotification->nmhdr.idFrom = 0; 466 | 467 | #define NPPN_FILEBEFORECLOSE (NPPN_FIRST + 3) // To notify plugins that the current file is about to be closed 468 | //scnNotification->nmhdr.code = NPPN_FILEBEFORECLOSE; 469 | //scnNotification->nmhdr.hwndFrom = hwndNpp; 470 | //scnNotification->nmhdr.idFrom = BufferID; 471 | 472 | #define NPPN_FILEOPENED (NPPN_FIRST + 4) // To notify plugins that the current file is just opened 473 | //scnNotification->nmhdr.code = NPPN_FILEOPENED; 474 | //scnNotification->nmhdr.hwndFrom = hwndNpp; 475 | //scnNotification->nmhdr.idFrom = BufferID; 476 | 477 | #define NPPN_FILECLOSED (NPPN_FIRST + 5) // To notify plugins that the current file is just closed 478 | //scnNotification->nmhdr.code = NPPN_FILECLOSED; 479 | //scnNotification->nmhdr.hwndFrom = hwndNpp; 480 | //scnNotification->nmhdr.idFrom = BufferID; 481 | 482 | #define NPPN_FILEBEFOREOPEN (NPPN_FIRST + 6) // To notify plugins that the current file is about to be opened 483 | //scnNotification->nmhdr.code = NPPN_FILEBEFOREOPEN; 484 | //scnNotification->nmhdr.hwndFrom = hwndNpp; 485 | //scnNotification->nmhdr.idFrom = BufferID; 486 | 487 | #define NPPN_FILEBEFORESAVE (NPPN_FIRST + 7) // To notify plugins that the current file is about to be saved 488 | //scnNotification->nmhdr.code = NPPN_FILEBEFOREOPEN; 489 | //scnNotification->nmhdr.hwndFrom = hwndNpp; 490 | //scnNotification->nmhdr.idFrom = BufferID; 491 | 492 | #define NPPN_FILESAVED (NPPN_FIRST + 8) // To notify plugins that the current file is just saved 493 | //scnNotification->nmhdr.code = NPPN_FILESAVED; 494 | //scnNotification->nmhdr.hwndFrom = hwndNpp; 495 | //scnNotification->nmhdr.idFrom = BufferID; 496 | 497 | #define NPPN_SHUTDOWN (NPPN_FIRST + 9) // To notify plugins that Notepad++ is about to be shutdowned. 498 | //scnNotification->nmhdr.code = NPPN_SHUTDOWN; 499 | //scnNotification->nmhdr.hwndFrom = hwndNpp; 500 | //scnNotification->nmhdr.idFrom = 0; 501 | 502 | #define NPPN_BUFFERACTIVATED (NPPN_FIRST + 10) // To notify plugins that a buffer was activated (put to foreground). 503 | //scnNotification->nmhdr.code = NPPN_BUFFERACTIVATED; 504 | //scnNotification->nmhdr.hwndFrom = hwndNpp; 505 | //scnNotification->nmhdr.idFrom = activatedBufferID; 506 | 507 | #define NPPN_LANGCHANGED (NPPN_FIRST + 11) // To notify plugins that the language in the current doc is just changed. 508 | //scnNotification->nmhdr.code = NPPN_LANGCHANGED; 509 | //scnNotification->nmhdr.hwndFrom = hwndNpp; 510 | //scnNotification->nmhdr.idFrom = currentBufferID; 511 | 512 | #define NPPN_WORDSTYLESUPDATED (NPPN_FIRST + 12) // To notify plugins that user initiated a WordStyleDlg change. 513 | //scnNotification->nmhdr.code = NPPN_WORDSTYLESUPDATED; 514 | //scnNotification->nmhdr.hwndFrom = hwndNpp; 515 | //scnNotification->nmhdr.idFrom = currentBufferID; 516 | 517 | #define NPPN_SHORTCUTREMAPPED (NPPN_FIRST + 13) // To notify plugins that plugin command shortcut is remapped. 518 | //scnNotification->nmhdr.code = NPPN_SHORTCUTSREMAPPED; 519 | //scnNotification->nmhdr.hwndFrom = ShortcutKeyStructurePointer; 520 | //scnNotification->nmhdr.idFrom = cmdID; 521 | //where ShortcutKeyStructurePointer is pointer of struct ShortcutKey: 522 | //struct ShortcutKey { 523 | // bool _isCtrl; 524 | // bool _isAlt; 525 | // bool _isShift; 526 | // UCHAR _key; 527 | //}; 528 | 529 | #define NPPN_FILEBEFORELOAD (NPPN_FIRST + 14) // To notify plugins that the current file is about to be loaded 530 | //scnNotification->nmhdr.code = NPPN_FILEBEFOREOPEN; 531 | //scnNotification->nmhdr.hwndFrom = hwndNpp; 532 | //scnNotification->nmhdr.idFrom = NULL; 533 | 534 | #define NPPN_FILELOADFAILED (NPPN_FIRST + 15) // To notify plugins that file open operation failed 535 | //scnNotification->nmhdr.code = NPPN_FILEOPENFAILED; 536 | //scnNotification->nmhdr.hwndFrom = hwndNpp; 537 | //scnNotification->nmhdr.idFrom = BufferID; 538 | 539 | #define NPPN_READONLYCHANGED (NPPN_FIRST + 16) // To notify plugins that current document change the readonly status, 540 | //scnNotification->nmhdr.code = NPPN_READONLYCHANGED; 541 | //scnNotification->nmhdr.hwndFrom = bufferID; 542 | //scnNotification->nmhdr.idFrom = docStatus; 543 | // where bufferID is BufferID 544 | // docStatus can be combined by DOCSTAUS_READONLY and DOCSTAUS_BUFFERDIRTY 545 | 546 | #define DOCSTAUS_READONLY 1 547 | #define DOCSTAUS_BUFFERDIRTY 2 548 | 549 | #define NPPN_DOCORDERCHANGED (NPPN_FIRST + 17) // To notify plugins that document order is changed 550 | //scnNotification->nmhdr.code = NPPN_DOCORDERCHANGED; 551 | //scnNotification->nmhdr.hwndFrom = newIndex; 552 | //scnNotification->nmhdr.idFrom = BufferID; 553 | 554 | #define NPPN_SNAPSHOTDIRTYFILELOADED (NPPN_FIRST + 18) // To notify plugins that a snapshot dirty file is loaded on startup 555 | //scnNotification->nmhdr.code = NPPN_SNAPSHOTDIRTYFILELOADED; 556 | //scnNotification->nmhdr.hwndFrom = NULL; 557 | //scnNotification->nmhdr.idFrom = BufferID; 558 | 559 | #define NPPN_BEFORESHUTDOWN (NPPN_FIRST + 19) // To notify plugins that Npp shutdown has been triggered, files have not been closed yet 560 | //scnNotification->nmhdr.code = NPPN_BEFORESHUTDOWN; 561 | //scnNotification->nmhdr.hwndFrom = hwndNpp; 562 | //scnNotification->nmhdr.idFrom = 0; 563 | 564 | #define NPPN_CANCELSHUTDOWN (NPPN_FIRST + 20) // To notify plugins that Npp shutdown has been cancelled 565 | //scnNotification->nmhdr.code = NPPN_CANCELSHUTDOWN; 566 | //scnNotification->nmhdr.hwndFrom = hwndNpp; 567 | //scnNotification->nmhdr.idFrom = 0; 568 | 569 | #define NPPN_FILEBEFORERENAME (NPPN_FIRST + 21) // To notify plugins that file is to be renamed 570 | //scnNotification->nmhdr.code = NPPN_FILEBEFORERENAME; 571 | //scnNotification->nmhdr.hwndFrom = hwndNpp; 572 | //scnNotification->nmhdr.idFrom = BufferID; 573 | 574 | #define NPPN_FILERENAMECANCEL (NPPN_FIRST + 22) // To notify plugins that file rename has been cancelled 575 | //scnNotification->nmhdr.code = NPPN_FILERENAMECANCEL; 576 | //scnNotification->nmhdr.hwndFrom = hwndNpp; 577 | //scnNotification->nmhdr.idFrom = BufferID; 578 | 579 | #define NPPN_FILERENAMED (NPPN_FIRST + 23) // To notify plugins that file has been renamed 580 | //scnNotification->nmhdr.code = NPPN_FILERENAMED; 581 | //scnNotification->nmhdr.hwndFrom = hwndNpp; 582 | //scnNotification->nmhdr.idFrom = BufferID; 583 | 584 | #define NPPN_FILEBEFOREDELETE (NPPN_FIRST + 24) // To notify plugins that file is to be deleted 585 | //scnNotification->nmhdr.code = NPPN_FILEBEFOREDELETE; 586 | //scnNotification->nmhdr.hwndFrom = hwndNpp; 587 | //scnNotification->nmhdr.idFrom = BufferID; 588 | 589 | #define NPPN_FILEDELETEFAILED (NPPN_FIRST + 25) // To notify plugins that file deletion has failed 590 | //scnNotification->nmhdr.code = NPPN_FILEDELETEFAILED; 591 | //scnNotification->nmhdr.hwndFrom = hwndNpp; 592 | //scnNotification->nmhdr.idFrom = BufferID; 593 | 594 | #define NPPN_FILEDELETED (NPPN_FIRST + 26) // To notify plugins that file has been deleted 595 | //scnNotification->nmhdr.code = NPPN_FILEDELETED; 596 | //scnNotification->nmhdr.hwndFrom = hwndNpp; 597 | //scnNotification->nmhdr.idFrom = BufferID; 598 | 599 | #endif //NOTEPAD_PLUS_MSGS_H 600 | -------------------------------------------------------------------------------- /RestApiToText/PluginDefinition.cpp: -------------------------------------------------------------------------------- 1 | //this file is part of notepad++ 2 | //Copyright (C)2003 Don HO 3 | // 4 | //This program is free software; you can redistribute it and/or 5 | //modify it under the terms of the GNU General Public License 6 | //as published by the Free Software Foundation; either 7 | //version 2 of the License, or (at your option) any later version. 8 | // 9 | //This program is distributed in the hope that it will be useful, 10 | //but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | //GNU General Public License for more details. 13 | // 14 | //You should have received a copy of the GNU General Public License 15 | //along with this program; if not, write to the Free Software 16 | //Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 17 | 18 | //#include "pch.h" 19 | 20 | #pragma once 21 | 22 | #pragma comment(lib, "wininet.lib") 23 | 24 | 25 | #include "PluginDefinition.h" 26 | #include "menuCmdID.h" 27 | #include 28 | #include 29 | #include 30 | #include 31 | #include 32 | #include 33 | #include 34 | #include "resource.h" 35 | #include 36 | #include 37 | #include 38 | #include 39 | 40 | using namespace std; 41 | 42 | HANDLE _hModule; 43 | 44 | FuncItem funcItem[nbFunc]; 45 | 46 | // 47 | // The data of Notepad++ that you can use in your plugin commands 48 | // 49 | NppData nppData; 50 | 51 | // 52 | // Initialize your plugin data here 53 | // It will be called while plugin loading 54 | void pluginInit(HANDLE hModule) 55 | { 56 | _hModule = hModule; 57 | } 58 | 59 | // 60 | // Here you can do the clean up, save the parameters (if any) for the next session 61 | // 62 | void pluginCleanUp() 63 | { 64 | } 65 | 66 | // 67 | // Initialization of your plugin commands 68 | // You should fill your plugins commands here 69 | void commandMenuInit() 70 | { 71 | 72 | //--------------------------------------------// 73 | //-- STEP 3. CUSTOMIZE YOUR PLUGIN COMMANDS --// 74 | //--------------------------------------------// 75 | // with function : 76 | // setCommand(int index, // zero based number to indicate the order of command 77 | // TCHAR *commandName, // the command name that you want to see in plugin menu 78 | // PFUNCPLUGINCMD functionPointer, // the symbol of function (function pointer) associated with this command. The body should be defined below. See Step 4. 79 | // ShortcutKey *shortcut, // optional. Define a shortcut to trigger this command 80 | // bool check0nInit // optional. Make this menu item be checked visually 81 | // ); 82 | 83 | ShortcutKey* makeApiCallShortcutKey = new ShortcutKey(); 84 | makeApiCallShortcutKey->_isAlt = TRUE; 85 | makeApiCallShortcutKey->_isCtrl = TRUE; 86 | makeApiCallShortcutKey->_isShift = FALSE; 87 | makeApiCallShortcutKey->_key = 'A'; 88 | 89 | setCommand(0, TEXT("&Make REST Call"), MakeRestCall, makeApiCallShortcutKey, false); 90 | setCommand(1, TEXT("&About..."), AboutDialog, NULL, false); 91 | setCommand(2, TEXT("&Help..."), HelpDialog, NULL, false); 92 | } 93 | 94 | // 95 | // Here you can do the clean up (especially for the shortcut) 96 | // 97 | void commandMenuCleanUp() 98 | { 99 | // Don't forget to deallocate your shortcut here 100 | delete funcItem[0]._pShKey; 101 | delete funcItem[1]._pShKey; 102 | delete funcItem[2]._pShKey; 103 | } 104 | 105 | void AboutDialog() 106 | { 107 | DialogBox((HINSTANCE)_hModule, MAKEINTRESOURCE(IDD_RESTAPITOTEXT), nppData._nppHandle, GenericProcessor); 108 | } 109 | 110 | void HelpDialog() 111 | { 112 | DialogBox((HINSTANCE)_hModule, MAKEINTRESOURCE(IDD_HELP), nppData._nppHandle, GenericProcessor); 113 | } 114 | 115 | 116 | // Message handler for About and Help dialog boxes. 117 | INT_PTR CALLBACK GenericProcessor(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) 118 | { 119 | UNREFERENCED_PARAMETER(lParam); 120 | 121 | switch (message) 122 | { 123 | case WM_INITDIALOG: 124 | return (INT_PTR)TRUE; 125 | 126 | case WM_COMMAND: 127 | if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) 128 | { 129 | EndDialog(hDlg, LOWORD(wParam)); 130 | return (INT_PTR)TRUE; 131 | } 132 | break; 133 | 134 | case WM_NOTIFY: 135 | switch (((LPNMHDR)lParam)->code) 136 | { 137 | case NM_CLICK: // Fall through to the next case. 138 | 139 | case NM_RETURN: 140 | { 141 | PNMLINK pNMLink = (PNMLINK)lParam; 142 | LITEM item = pNMLink->item; 143 | HWND hProjectLink = GetDlgItem(hDlg, IDC_SYSLINK_PROJECT); 144 | HWND hPluginNewsLink = GetDlgItem(hDlg, IDC_SYSLINK_PLUGIN_NEWS); 145 | HWND hClickedLink = ((LPNMHDR)lParam)->hwndFrom; 146 | 147 | if ((hClickedLink == hProjectLink || hClickedLink == hPluginNewsLink) && (item.iLink == 0)) 148 | { 149 | ShellExecute(NULL, L"open", item.szUrl, NULL, NULL, SW_SHOW); 150 | } 151 | 152 | break; 153 | } 154 | } 155 | break; 156 | } 157 | return (INT_PTR)FALSE; 158 | } 159 | 160 | // 161 | // This function help you to initialize your plugin commands 162 | // 163 | bool setCommand(size_t index, LPCTSTR cmdName, PFUNCPLUGINCMD pFunc, ShortcutKey* sk, bool check0nInit) 164 | { 165 | if (index >= nbFunc) 166 | return false; 167 | 168 | if (!pFunc) 169 | return false; 170 | 171 | lstrcpy(funcItem[index]._itemName, cmdName); 172 | funcItem[index]._pFunc = pFunc; 173 | funcItem[index]._init2Check = check0nInit; 174 | funcItem[index]._pShKey = sk; 175 | 176 | return true; 177 | } 178 | 179 | //----------------------------------------------// 180 | //-- STEP 4. DEFINE YOUR ASSOCIATED FUNCTIONS --// 181 | //----------------------------------------------// 182 | void MakeRestCall() 183 | { 184 | CHAR* selectedText = NULL; 185 | // Open a new document 186 | //::SendMessage(nppData._nppHandle, NPPM_MENUCOMMAND, 0, IDM_FILE_NEW); 187 | 188 | // Get the current scintilla 189 | int which = -1; 190 | 191 | ::SendMessage(nppData._nppHandle, NPPM_GETCURRENTSCINTILLA, 0, (LPARAM)&which); 192 | 193 | if (which == -1) 194 | return; 195 | 196 | HWND curScintilla = (which == 0) ? nppData._scintillaMainHandle : nppData._scintillaSecondHandle; 197 | 198 | size_t start = ::SendMessage(curScintilla, SCI_GETSELECTIONSTART, 0, 0); 199 | size_t end = ::SendMessage(curScintilla, SCI_GETSELECTIONEND, 0, 0); 200 | 201 | if (end < start) 202 | { 203 | size_t tmp = start; 204 | start = end; 205 | end = tmp; 206 | } 207 | 208 | size_t asciiTextLen = end - start; 209 | 210 | if (asciiTextLen == 0) 211 | { 212 | size_t allTextLength = ::SendMessage(curScintilla, SCI_GETLENGTH, 0, (LPARAM)selectedText); 213 | ::SendMessage(curScintilla, SCI_SETSELECTIONSTART, 0, (LPARAM)selectedText); 214 | ::SendMessage(curScintilla, SCI_SETSELECTIONEND, allTextLength, (LPARAM)selectedText); 215 | 216 | selectedText = new CHAR[allTextLength + 1]; 217 | } 218 | else 219 | selectedText = new CHAR[asciiTextLen + 1]; 220 | 221 | ::SendMessage(curScintilla, SCI_GETSELTEXT, 0, (LPARAM)selectedText); 222 | 223 | array restVerbs = { "GET", "HEAD", "POST", "PUT", "PATCH", "DELETE", "OPTIONS" }; 224 | string s(selectedText); 225 | string eol("\r\n"); 226 | string headerSeparator(":"); 227 | string portSeparator(":"); 228 | string slashSeparator("/"); 229 | string varStartTag("$("); 230 | string varEndTag(")"); 231 | string envTag("ENV:"); 232 | string domain; 233 | string path; 234 | string verb; 235 | string url; 236 | string headerName; 237 | string headerValue; 238 | string body; 239 | string response; 240 | string userAgent; 241 | string::iterator tokenIterator; 242 | const string httpProtocol("http://"); 243 | const string httpsProtocol("https://"); 244 | LPSTR lpSelectedText = const_cast(s.c_str()); 245 | BOOL firstLine = TRUE; 246 | BOOL doneWithHeaders = FALSE; 247 | BOOL doneWithBody = FALSE; 248 | BOOL workingOnHeaders = FALSE; 249 | BOOL workingOnBody = FALSE; 250 | BOOL workingOnOptions = FALSE; 251 | BOOL httpsProtocolFound = FALSE; 252 | BOOL showResponseHeaders = FALSE; 253 | BOOL showResponseOnSamePage = FALSE; 254 | map headers; 255 | map ::iterator headerIterator; 256 | char* nextToken; 257 | rsize_t strmax = sizeof selectedText; 258 | size_t slashIndex = 0; 259 | int port = 0; 260 | 261 | char* token = ::strtok_s(lpSelectedText, eol.c_str(), &nextToken); 262 | 263 | while (token != NULL) 264 | { 265 | string strToken(token); 266 | 267 | // Left trim any whitespace 268 | LTrim(&strToken); 269 | 270 | string tmpToken = strToken; 271 | 272 | ToUpper(&tmpToken); 273 | 274 | // Check for a header or body indicator 275 | if (!firstLine && tmpToken.find("**HEADERS**", 0) != string::npos) 276 | { 277 | workingOnHeaders = TRUE; 278 | workingOnBody = FALSE; 279 | workingOnOptions = FALSE; 280 | token = ::strtok_s(NULL, eol.c_str(), &nextToken); 281 | continue; 282 | } 283 | else if (!firstLine && tmpToken.find("**BODY**", 0) != string::npos) 284 | { 285 | workingOnBody = TRUE; 286 | workingOnHeaders = FALSE; 287 | workingOnOptions = FALSE; 288 | token = ::strtok_s(NULL, eol.c_str(), &nextToken); 289 | continue; 290 | } 291 | else if (!firstLine && tmpToken.find("**RESTAPITOTEXTOPTIONS**", 0) != string::npos) 292 | { 293 | workingOnOptions = TRUE; 294 | workingOnBody = FALSE; 295 | workingOnHeaders = FALSE; 296 | token = ::strtok_s(NULL, eol.c_str(), &nextToken); 297 | continue; 298 | } 299 | 300 | // Are we processing the verb and URL? 301 | if (firstLine) 302 | { 303 | firstLine = FALSE; 304 | 305 | // Look for the space(s) separating the verb and URL 306 | size_t index = strToken.find_first_of(" \t", 0); 307 | 308 | if (index > 0) 309 | { 310 | verb = strToken.substr(0, index); 311 | 312 | // Make the verb lowercase for string comparisons 313 | ToUpper(&verb); 314 | 315 | if (!any_of(restVerbs.begin(), restVerbs.end(), [verb](string v) {return v == verb;})) 316 | { 317 | verb = "GET"; 318 | index = 0; 319 | } 320 | 321 | strToken = strToken.substr(index); 322 | 323 | // Left trim any whitespace before the URL 324 | LTrim(&strToken); 325 | 326 | // What's left of strToken should be the URL 327 | string tmpToken = strToken; 328 | 329 | InjectEnvironmentVars(tmpToken, varStartTag, varEndTag, envTag, url); 330 | 331 | // Remove the HTTP/S protocol if it's there 332 | if (strToken.find(httpProtocol) != string::npos) 333 | { 334 | url = url.substr(httpProtocol.length()); 335 | port = INTERNET_DEFAULT_HTTP_PORT; 336 | } 337 | else if (strToken.find(httpsProtocol) != string::npos) 338 | { 339 | httpsProtocolFound = TRUE; 340 | url = url.substr(httpsProtocol.length()); 341 | port = INTERNET_DEFAULT_HTTPS_PORT; 342 | } 343 | 344 | // Find the port if it was included 345 | size_t portIndex = url.find(portSeparator.c_str()); 346 | 347 | if (portIndex != string::npos) 348 | { 349 | string portString = url.substr(portIndex + 1, url.length()); 350 | port = atoi(portString.c_str()); 351 | domain = url.substr(0, portIndex); 352 | slashIndex = portString.find(slashSeparator.c_str()); 353 | 354 | if (slashIndex != string::npos) 355 | path = portString.substr(slashIndex, portString.length()); 356 | } 357 | else 358 | { 359 | slashIndex = url.find(slashSeparator.c_str()); 360 | domain = url.substr(0, slashIndex); 361 | if (slashIndex != string::npos) 362 | path = url.substr(slashIndex, url.length()); 363 | } 364 | } 365 | } 366 | else 367 | { 368 | if (workingOnHeaders) 369 | { 370 | // Left trim any whitespace before the header 371 | LTrim(&strToken); 372 | 373 | size_t headerIndex = strToken.find_first_of(headerSeparator.c_str(), 0); 374 | 375 | if (headerIndex != string::npos) 376 | { 377 | headerName = strToken.substr(0, headerIndex); 378 | strToken = strToken.substr(headerIndex + 1); 379 | 380 | // Left trim any whitespace before the header value 381 | LTrim(&strToken); 382 | 383 | headerValue = strToken; 384 | 385 | string tmpHeaderValue = headerValue; 386 | 387 | ToUpper(&tmpHeaderValue); 388 | 389 | // Is this a reference to a variable? 390 | if ((tmpHeaderValue.length() > varStartTag.length() + varEndTag.length()) && tmpHeaderValue.find(varStartTag.c_str(), 0) == 0 && EndsWith(tmpHeaderValue, varEndTag)) 391 | { 392 | string hv = tmpHeaderValue.substr(varStartTag.length(), tmpHeaderValue.length() - (varStartTag.length() + varEndTag.length())); 393 | size_t tagPos = hv.find(":", 0); 394 | 395 | if (tagPos > 0) 396 | { 397 | string tag = hv.substr(0, tagPos + 1); 398 | ToUpper(&tag); 399 | 400 | if (tag == envTag) 401 | { 402 | if (!GetEnvironmentVar(hv, envTag, headerValue)) 403 | { 404 | hv = hv.substr(envTag.length()); 405 | wstring wsEnvVar(hv.begin(), hv.end()); 406 | wstring errorMessage(L"Could not find environment variable \"" + wsEnvVar + L"\". If Notepad++ was running when you created the variable, try closing and reopening it."); 407 | ::MessageBox(nppData._nppHandle, errorMessage.c_str(), TEXT("RestApiToText"), MB_OK); 408 | } 409 | } 410 | } 411 | } 412 | 413 | headers.insert(pair(headerName, headerValue)); 414 | } 415 | } 416 | else if (workingOnBody) 417 | { 418 | string tmpToken = strToken; 419 | string tmpBody; 420 | int currPos = 0; 421 | 422 | InjectEnvironmentVars(tmpToken, varStartTag, varEndTag, envTag, body); 423 | } 424 | else if (workingOnOptions) 425 | { 426 | // Left trim any whitespace before the header 427 | LTrim(&strToken); 428 | ToUpper(&strToken); 429 | 430 | if (strToken == "SHOWRESPONSEHEADERS") 431 | showResponseHeaders = TRUE; 432 | 433 | if (strToken == "SHOWRESPONSEONSAMEPAGE") 434 | showResponseOnSamePage = TRUE; 435 | } 436 | } 437 | 438 | token = ::strtok_s(NULL, eol.c_str(), &nextToken); 439 | } 440 | 441 | if (httpsProtocolFound && port == 0) 442 | port = INTERNET_DEFAULT_HTTPS_PORT; 443 | 444 | wstring wsDomain = wstring(domain.begin(), domain.end()); 445 | wstring wsPath = wstring(path.begin(), path.end()); 446 | wstring wsVerb = wstring(verb.begin(), verb.end()); 447 | DWORD dwInternetOptions = (httpsProtocolFound || port == INTERNET_DEFAULT_HTTPS_PORT ? INTERNET_FLAG_SECURE : 0) | INTERNET_FLAG_NO_CACHE_WRITE; 448 | 449 | HINTERNET hSession = InternetOpen(TEXT("Mozilla/5.0"), INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0); 450 | HINTERNET hConnect = InternetConnect(hSession, wsDomain.c_str(), port, TEXT(""), TEXT(""), INTERNET_SERVICE_HTTP, 0, 0); 451 | HINTERNET hRequest = HttpOpenRequest(hConnect, wsVerb.c_str(), wsPath.c_str(), NULL, NULL, NULL, dwInternetOptions, 0); 452 | //WCHAR szHeader[BUFSIZ] = { 0 }; 453 | wstring wsHeaders; 454 | 455 | for (headerIterator = headers.begin(); headerIterator != headers.end(); headerIterator++) 456 | { 457 | wstring wsHeader = wstring(headerIterator->first.begin(), headerIterator->first.end()); 458 | wstring wsHeaderValue = wstring(headerIterator->second.begin(), headerIterator->second.end()); 459 | wsHeaders.append(wsHeader); 460 | wsHeaders.append(L": "); 461 | wsHeaders.append(wsHeaderValue); 462 | wsHeaders.append(L"\r\n"); 463 | } 464 | 465 | wsHeaders.append(L"\r\n"); 466 | 467 | 468 | HttpAddRequestHeaders(hRequest, wsHeaders.c_str(), -1, HTTP_ADDREQ_FLAG_ADD); 469 | 470 | LPVOID lpOptions = 0; 471 | int bodyLength = 0; 472 | 473 | if (verb == "POST" || verb == "PUT" || verb == "DELETE" || verb == "PATCH") 474 | { 475 | lpOptions = (LPVOID)body.c_str(); 476 | bodyLength = body.length(); 477 | } 478 | 479 | 480 | if (!HttpSendRequest(hRequest, NULL, 0, lpOptions, bodyLength)) 481 | { 482 | string errorMessage = CheckForError(hRequest); 483 | 484 | if (!errorMessage.empty()) 485 | response = errorMessage; 486 | } 487 | else 488 | { 489 | if (verb == "HEAD" || verb == "OPTIONS") 490 | response = GetResponseHeaders(hRequest); 491 | else 492 | { 493 | BOOL contentTypeIsJson = IsContentTypeResponseHeaderForJson(hRequest); 494 | 495 | string errorMessage = CheckForError(hRequest); 496 | 497 | if (!errorMessage.empty()) 498 | response = errorMessage; 499 | 500 | DWORD dwBufSize = BUFSIZ + 1; 501 | char* buffer = new char[BUFSIZ + 1]; 502 | memset(buffer, 0x00, sizeof(buffer)); 503 | 504 | 505 | while (true) 506 | { 507 | DWORD dwBytesRead; 508 | BOOL bRead; 509 | 510 | bRead = InternetReadFile(hRequest, buffer, BUFSIZ, &dwBytesRead); 511 | 512 | string strBuffer(buffer); 513 | wstring wStrBuffer(strBuffer.begin(), strBuffer.end()); 514 | 515 | if (dwBytesRead == 0) 516 | break; 517 | 518 | if (!bRead) 519 | { 520 | DWORD dwError = GetLastError(); 521 | response.append("InternetReadFile error: "); 522 | break; 523 | } 524 | else 525 | { 526 | buffer[dwBytesRead] = 0; 527 | response += strBuffer.substr(0, dwBytesRead); 528 | } 529 | } 530 | 531 | if (contentTypeIsJson) 532 | response = FormatResponseIntoJson(response); 533 | 534 | if (showResponseHeaders) 535 | response = GetResponseHeaders(hRequest) + "\n\n" + response; 536 | 537 | } 538 | } 539 | 540 | InternetCloseHandle(hRequest); 541 | InternetCloseHandle(hConnect); 542 | InternetCloseHandle(hSession); 543 | 544 | if (!showResponseOnSamePage) 545 | { 546 | ::SendMessage(nppData._nppHandle, NPPM_MENUCOMMAND, 0, IDM_FILE_NEW); 547 | end = 0; 548 | } 549 | 550 | curScintilla = (which == 0) ? nppData._scintillaMainHandle : nppData._scintillaSecondHandle; 551 | 552 | ::SendMessage(curScintilla, SCI_INSERTTEXT, end, (LPARAM)response.c_str()); 553 | 554 | delete[] selectedText; 555 | } 556 | 557 | BOOL InjectEnvironmentVars(string tmpToken, string varStartTag, string varEndTag, string envTag, string& returnValue) 558 | { 559 | BOOL result = FALSE; 560 | int currPos = 0; 561 | string tmpBody; 562 | 563 | while (tmpToken.length() >= varStartTag.length() + varEndTag.length() && tmpToken.find(varStartTag.c_str(), 0) >= 0) 564 | { 565 | size_t startTagPos = tmpToken.find(varStartTag, currPos); 566 | if (startTagPos != string::npos) 567 | { 568 | size_t endTagPos = tmpToken.find(varEndTag, startTagPos + 2); 569 | if (endTagPos != string::npos) 570 | { 571 | startTagPos += 2; 572 | string contents = tmpToken.substr(startTagPos, endTagPos - startTagPos); 573 | size_t colonPos = contents.find(":", 0); 574 | if (colonPos != string::npos && colonPos > 0) 575 | { 576 | string tag = contents.substr(0, colonPos + 1); 577 | ToUpper(&tag); 578 | if (tag == envTag) 579 | { 580 | string returnValue; 581 | if (!GetEnvironmentVar(contents, envTag, returnValue)) 582 | { 583 | wstring wsEnvVar(contents.begin(), contents.end()); 584 | wstring errorMessage(L"Could not find environment variable \"" + wsEnvVar + L"\". If Notepad++ was running when you created the variable, try closing and reopening it."); 585 | ::MessageBox(nppData._nppHandle, errorMessage.c_str(), TEXT("RestApiToText"), MB_OK); 586 | break; 587 | } 588 | else 589 | { 590 | string newContents = tmpToken.substr(0, startTagPos - 2); 591 | newContents += returnValue; 592 | //newContents += tmpToken.substr(endTagPos + 1); 593 | tmpBody += newContents; 594 | tmpToken = tmpToken.substr(endTagPos + 1); 595 | } 596 | } 597 | else 598 | break; 599 | } 600 | else 601 | break; 602 | } 603 | else 604 | break; 605 | } 606 | else 607 | break; 608 | } 609 | 610 | returnValue += tmpBody += tmpToken; 611 | 612 | 613 | return result; 614 | } 615 | 616 | BOOL GetEnvironmentVar(string envVar, string tag, string& returnValue) 617 | { 618 | BOOL success = FALSE; 619 | string sEnvVar = envVar.substr(tag.length()); 620 | 621 | char* pzEnvVar; 622 | errno_t error = _dupenv_s(&pzEnvVar, NULL, sEnvVar.c_str()); 623 | 624 | if (pzEnvVar) 625 | { 626 | success = TRUE; 627 | returnValue = pzEnvVar; 628 | free(pzEnvVar); 629 | } 630 | 631 | return success; 632 | } 633 | 634 | BOOL EndsWith(std::string const& stringToSearch, std::string const& stringToFind) 635 | { 636 | return (stringToSearch.length() >= stringToFind.length() && stringToSearch.compare(stringToSearch.length() - stringToFind.length(), stringToFind.length(), stringToFind) == 0); 637 | } 638 | 639 | void ToUpper(string* token) 640 | { 641 | std::transform(token->begin(), token->end(), token->begin(), 642 | [](unsigned char c) { return std::toupper(c); }); 643 | 644 | return; 645 | } 646 | 647 | void LTrim(string* token) 648 | { 649 | token->erase(token->begin(), std::find_if(token->begin(), token->end(), [](unsigned char c) { 650 | return !std::isspace(c); 651 | })); 652 | 653 | return; 654 | } 655 | 656 | string UrlEncode(string queryString) { 657 | ostringstream escaped; 658 | escaped.fill('0'); 659 | escaped << hex; 660 | 661 | for (string::const_iterator i = queryString.begin(), n = queryString.end(); i != n; ++i) { 662 | string::value_type c = (*i); 663 | 664 | // Keep alphanumeric and other accepted characters intact 665 | if (isalnum(c) || c == '-' || c == '_' || c == '.' || c == '~') { 666 | escaped << c; 667 | continue; 668 | } 669 | 670 | // Any other characters are percent-encoded 671 | escaped << uppercase; 672 | escaped << '%' << setw(2) << int((unsigned char)c); 673 | escaped << nouppercase; 674 | } 675 | 676 | return escaped.str(); 677 | } 678 | 679 | string FormatResponseIntoJson(string response) 680 | { 681 | string json; 682 | BOOL isEscaped = FALSE; 683 | BOOL insideQuotedString = FALSE; 684 | unordered_set delimiters = { '{', '}', '[', ']', ',' }; 685 | int nbrTabs = 0; 686 | 687 | for (int i = 0; i < response.length(); i++) 688 | { 689 | if (response[i] == '"' && !isEscaped) 690 | insideQuotedString = !insideQuotedString; 691 | 692 | isEscaped = (response[i] == '\\'); 693 | 694 | if (!insideQuotedString && delimiters.find(response[i]) != delimiters.end()) 695 | { 696 | switch (response[i]) 697 | { 698 | case '{': 699 | case '[': 700 | nbrTabs++; 701 | json.push_back(response[i]); 702 | json.push_back('\n'); 703 | 704 | for (int i = 0; i < nbrTabs; i++) 705 | json.push_back('\t'); 706 | 707 | break; 708 | 709 | case '}': 710 | case ']': 711 | nbrTabs--; 712 | json.push_back('\n'); 713 | 714 | for (int i = 0; i < nbrTabs; i++) 715 | json.push_back('\t'); 716 | 717 | json.push_back(response[i]); 718 | break; 719 | 720 | case ',': 721 | json.push_back(response[i]); 722 | json.push_back('\n'); 723 | 724 | for (int i = 0; i < nbrTabs; i++) 725 | json.push_back('\t'); 726 | 727 | break; 728 | } 729 | } 730 | else 731 | json.push_back(response[i]); 732 | } 733 | 734 | return json; 735 | } 736 | 737 | string GetResponseHeaders(HINTERNET hRequest) 738 | { 739 | LPVOID lpOutBuffer = NULL; 740 | DWORD dwSize = 0; 741 | BOOL contentTypeIsJson = FALSE; 742 | string responseHeaders; 743 | 744 | while (!HttpQueryInfo(hRequest, HTTP_QUERY_RAW_HEADERS_CRLF, (LPVOID)lpOutBuffer, &dwSize, NULL)) 745 | { 746 | if (GetLastError() == ERROR_HTTP_HEADER_NOT_FOUND) 747 | return ""; 748 | else 749 | { 750 | if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) 751 | lpOutBuffer = new wchar_t[dwSize]; 752 | else 753 | { 754 | if (lpOutBuffer) 755 | delete[] lpOutBuffer; 756 | 757 | return ""; 758 | } 759 | } 760 | } 761 | 762 | if (lpOutBuffer) 763 | { 764 | wstring wResponseHeaders = (wchar_t*)lpOutBuffer; 765 | responseHeaders.append(wResponseHeaders.begin(), wResponseHeaders.end()); 766 | 767 | delete[] lpOutBuffer; 768 | } 769 | 770 | return responseHeaders; 771 | } 772 | 773 | BOOL IsContentTypeResponseHeaderForJson(HINTERNET hRequest) 774 | { 775 | LPVOID lpOutBuffer = NULL; 776 | DWORD dwSize = 0; 777 | BOOL contentTypeIsJson = FALSE; 778 | 779 | while (!HttpQueryInfo(hRequest, HTTP_QUERY_CONTENT_TYPE, (LPVOID)lpOutBuffer, &dwSize, NULL)) 780 | { 781 | if (GetLastError() == ERROR_HTTP_HEADER_NOT_FOUND) 782 | return TRUE; 783 | else 784 | { 785 | if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) 786 | lpOutBuffer = new wchar_t[dwSize]; 787 | else 788 | { 789 | if (lpOutBuffer) 790 | delete[] lpOutBuffer; 791 | 792 | return FALSE; 793 | } 794 | } 795 | } 796 | 797 | if (lpOutBuffer) 798 | { 799 | wstring responseCode((wchar_t*)lpOutBuffer); 800 | std::transform(responseCode.begin(), responseCode.end(), responseCode.begin(), towlower); 801 | contentTypeIsJson = (responseCode.find(L"application/json") != wstring::npos); 802 | 803 | delete[] lpOutBuffer; 804 | } 805 | 806 | return contentTypeIsJson; 807 | } 808 | 809 | 810 | string CheckForError(HINTERNET hRequest) 811 | { 812 | LPVOID lpOutBuffer = NULL; 813 | DWORD dwSize = 0; 814 | string response(""); 815 | char* outBuffer = NULL; 816 | DWORD dwError = 0; 817 | DWORD dwLen = 1024; 818 | TCHAR* pBuff = new TCHAR[dwLen]; 819 | int statusCode = 0; 820 | 821 | memset(pBuff, 0x00, sizeof(pBuff)); 822 | 823 | while (!HttpQueryInfo(hRequest, HTTP_QUERY_STATUS_CODE, (LPVOID)lpOutBuffer, &dwSize, NULL)) 824 | { 825 | dwError = GetLastError(); 826 | 827 | if (dwError == ERROR_INSUFFICIENT_BUFFER) 828 | lpOutBuffer = new wchar_t[dwSize]; 829 | else 830 | { 831 | char errorBuffer[100]; 832 | sprintf_s(errorBuffer, "Call failed. Error = %d (0x%x)\n", dwError, dwError); 833 | response.append(errorBuffer); 834 | break; 835 | } 836 | } 837 | 838 | if (response.length() < 1 && ((wchar_t*)lpOutBuffer)[0] != '0') 839 | { 840 | wstring wResponseCode((wchar_t*)lpOutBuffer); 841 | statusCode = _wtoi(wResponseCode.c_str()); 842 | 843 | if (statusCode / 100 > 2) 844 | { 845 | wResponseCode.append(L" - "); 846 | response.append(wResponseCode.begin(), wResponseCode.end()); 847 | } 848 | } 849 | 850 | delete[] lpOutBuffer; 851 | 852 | if (statusCode != HTTP_STATUS_OK && statusCode != HTTP_STATUS_CREATED) 853 | { 854 | while (!HttpQueryInfo(hRequest, HTTP_QUERY_STATUS_TEXT, pBuff, &dwLen, NULL)) 855 | { 856 | dwError = GetLastError(); 857 | 858 | if (dwError == ERROR_INSUFFICIENT_BUFFER) 859 | { 860 | delete[] pBuff; 861 | pBuff = new TCHAR[dwLen]; 862 | } 863 | else 864 | { 865 | if (dwError != 0) 866 | { 867 | char errorBuffer[100]; 868 | sprintf_s(errorBuffer, "Call failed. Error = %d (0x%x)\n", dwError, dwError); 869 | response.append(errorBuffer); 870 | } 871 | break; 872 | } 873 | } 874 | 875 | if (pBuff[0] != '\0') 876 | { 877 | wstring wBuff(pBuff); 878 | response.append(wBuff.begin(), wBuff.end()); 879 | response.append("\n\n"); 880 | } 881 | 882 | 883 | delete[] pBuff; 884 | } 885 | 886 | return response; 887 | } 888 | 889 | -------------------------------------------------------------------------------- /RestApiToText/PluginDefinition.h: -------------------------------------------------------------------------------- 1 | //this file is part of notepad++ 2 | //Copyright (C)2003 Don HO 3 | // 4 | //This program is free software; you can redistribute it and/or 5 | //modify it under the terms of the GNU General Public License 6 | //as published by the Free Software Foundation; either 7 | //version 2 of the License, or (at your option) any later version. 8 | // 9 | //This program is distributed in the hope that it will be useful, 10 | //but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | //GNU General Public License for more details. 13 | // 14 | //You should have received a copy of the GNU General Public License 15 | //along with this program; if not, write to the Free Software 16 | //Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 17 | 18 | #pragma once 19 | 20 | // 21 | // All difinitions of plugin interface 22 | // 23 | #include "PluginInterface.h" 24 | #include 25 | #include 26 | 27 | using namespace std; 28 | 29 | //-------------------------------------// 30 | //-- STEP 1. DEFINE YOUR PLUGIN NAME --// 31 | //-------------------------------------// 32 | // Here define your plugin name 33 | // 34 | const TCHAR NPP_PLUGIN_NAME[] = TEXT("REST API To Text"); 35 | 36 | //-----------------------------------------------// 37 | //-- STEP 2. DEFINE YOUR PLUGIN COMMAND NUMBER --// 38 | //-----------------------------------------------// 39 | // 40 | // Here define the number of your plugin commands 41 | // 42 | const int nbFunc = 3; 43 | 44 | // 45 | // Initialization of your plugin data 46 | // It will be called while plugin loading 47 | // 48 | void pluginInit(HANDLE hModule); 49 | 50 | // 51 | // Cleaning of your plugin 52 | // It will be called while plugin unloading 53 | // 54 | void pluginCleanUp(); 55 | 56 | // 57 | //Initialization of your plugin commands 58 | // 59 | void commandMenuInit(); 60 | 61 | // 62 | //Clean up your plugin commands allocation (if any) 63 | // 64 | void commandMenuCleanUp(); 65 | 66 | // 67 | // Function which sets your command 68 | // 69 | bool setCommand(size_t index, LPCTSTR cmdName, PFUNCPLUGINCMD pFunc, ShortcutKey *sk = NULL, bool check0nInit = false); 70 | 71 | 72 | // 73 | // Your plugin command functions 74 | // 75 | BOOL IsContentTypeResponseHeaderForJson(HINTERNET hRequest); 76 | BOOL EndsWith(string const& fullString, string const& ending); 77 | BOOL GetEnvironmentVar(string var, string tag, string& returnValue); 78 | BOOL InjectEnvironmentVars(string tmpToken, string varStartTag, string varEndTag, string envTag, string& returnValue); 79 | INT_PTR CALLBACK GenericProcessor(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); 80 | string CheckForError(HINTERNET hRequest); 81 | string GetResponseHeaders(HINTERNET hRequest); 82 | string FormatResponseIntoJson(string response); 83 | string UrlEncode(string url); 84 | void MakeRestCall(); 85 | void AboutDialog(); 86 | void HelpDialog(); 87 | void LTrim(string* token); 88 | void ToUpper(string* token); 89 | 90 | -------------------------------------------------------------------------------- /RestApiToText/PluginInterface.h: -------------------------------------------------------------------------------- 1 | // This file is part of Notepad++ project 2 | // Copyright (C)2003 Don HO 3 | // 4 | // This program is free software; you can redistribute it and/or 5 | // modify it under the terms of the GNU General Public License 6 | // as published by the Free Software Foundation; either 7 | // version 2 of the License, or (at your option) any later version. 8 | // 9 | // Note that the GPL places important restrictions on "derived works", yet 10 | // it does not provide a detailed definition of that term. To avoid 11 | // misunderstandings, we consider an application to constitute a 12 | // "derivative work" for the purpose of this license if it does any of the 13 | // following: 14 | // 1. Integrates source code from Notepad++. 15 | // 2. Integrates/includes/aggregates Notepad++ into a proprietary executable 16 | // installer, such as those produced by InstallShield. 17 | // 3. Links to a library or executes a program that does any of the above. 18 | // 19 | // This program is distributed in the hope that it will be useful, 20 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 | // GNU General Public License for more details. 23 | // 24 | // You should have received a copy of the GNU General Public License 25 | // along with this program; if not, write to the Free Software 26 | // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 27 | 28 | #pragma once 29 | 30 | #include "Scintilla.h" 31 | #include "Notepad_plus_msgs.h" 32 | 33 | const int nbChar = 64; 34 | 35 | typedef const TCHAR * (__cdecl * PFUNCGETNAME)(); 36 | 37 | struct NppData 38 | { 39 | HWND _nppHandle; 40 | HWND _scintillaMainHandle; 41 | HWND _scintillaSecondHandle; 42 | }; 43 | 44 | typedef void (__cdecl * PFUNCSETINFO)(NppData); 45 | typedef void (__cdecl * PFUNCPLUGINCMD)(); 46 | typedef void (__cdecl * PBENOTIFIED)(SCNotification *); 47 | typedef LRESULT (__cdecl * PMESSAGEPROC)(UINT Message, WPARAM wParam, LPARAM lParam); 48 | 49 | 50 | struct ShortcutKey 51 | { 52 | bool _isCtrl; 53 | bool _isAlt; 54 | bool _isShift; 55 | UCHAR _key; 56 | }; 57 | 58 | struct FuncItem 59 | { 60 | TCHAR _itemName[nbChar]; 61 | PFUNCPLUGINCMD _pFunc; 62 | int _cmdID; 63 | bool _init2Check; 64 | ShortcutKey *_pShKey; 65 | }; 66 | 67 | typedef FuncItem * (__cdecl * PFUNCGETFUNCSARRAY)(int *); 68 | 69 | // You should implement (or define an empty function body) those functions which are called by Notepad++ plugin manager 70 | extern "C" __declspec(dllexport) void setInfo(NppData); 71 | extern "C" __declspec(dllexport) const TCHAR * getName(); 72 | extern "C" __declspec(dllexport) FuncItem * getFuncsArray(int *); 73 | extern "C" __declspec(dllexport) void beNotified(SCNotification *); 74 | extern "C" __declspec(dllexport) LRESULT messageProc(UINT Message, WPARAM wParam, LPARAM lParam); 75 | 76 | // This API return always true now, since Notepad++ isn't compiled in ANSI mode anymore 77 | extern "C" __declspec(dllexport) BOOL isUnicode(); 78 | 79 | -------------------------------------------------------------------------------- /RestApiToText/RestApiToText.cpp: -------------------------------------------------------------------------------- 1 | // dllmain.cpp : Defines the entry point for the DLL application. 2 | //#include "pch.h" 3 | 4 | #pragma once 5 | 6 | #include "PluginDefinition.h" 7 | 8 | extern FuncItem funcItem[nbFunc]; 9 | extern NppData nppData; 10 | 11 | 12 | BOOL APIENTRY DllMain(HMODULE hModule, 13 | DWORD ul_reason_for_call, 14 | LPVOID lpReserved 15 | ) 16 | { 17 | switch (ul_reason_for_call) 18 | { 19 | case DLL_PROCESS_ATTACH: 20 | pluginInit(hModule); 21 | break; 22 | 23 | case DLL_THREAD_ATTACH: 24 | case DLL_THREAD_DETACH: 25 | case DLL_PROCESS_DETACH: 26 | break; 27 | } 28 | return TRUE; 29 | } 30 | 31 | 32 | 33 | extern "C" __declspec(dllexport) void setInfo(NppData notpadPlusData) 34 | { 35 | nppData = notpadPlusData; 36 | commandMenuInit(); 37 | } 38 | 39 | extern "C" __declspec(dllexport) const TCHAR * getName() 40 | { 41 | return NPP_PLUGIN_NAME; 42 | } 43 | 44 | extern "C" __declspec(dllexport) FuncItem * getFuncsArray(int* nbF) 45 | { 46 | *nbF = nbFunc; 47 | return funcItem; 48 | } 49 | 50 | 51 | extern "C" __declspec(dllexport) void beNotified(SCNotification * notifyCode) 52 | { 53 | switch (notifyCode->nmhdr.code) 54 | { 55 | case NPPN_SHUTDOWN: 56 | { 57 | commandMenuCleanUp(); 58 | } 59 | break; 60 | 61 | default: 62 | return; 63 | } 64 | } 65 | 66 | 67 | // Here you can process the Npp Messages 68 | // I will make the messages accessible little by little, according to the need of plugin development. 69 | // Please let me know if you need to access to some messages : 70 | // http://sourceforge.net/forum/forum.php?forum_id=482781 71 | // 72 | extern "C" __declspec(dllexport) LRESULT messageProc(UINT /*Message*/, WPARAM /*wParam*/, LPARAM /*lParam*/) 73 | {/* 74 | if (Message == WM_MOVE) 75 | { 76 | ::MessageBox(NULL, "move", "", MB_OK); 77 | } 78 | */ 79 | return TRUE; 80 | } 81 | 82 | #ifdef UNICODE 83 | extern "C" __declspec(dllexport) BOOL isUnicode() 84 | { 85 | return TRUE; 86 | } 87 | #endif //UNICODE 88 | -------------------------------------------------------------------------------- /RestApiToText/RestApiToText.rc: -------------------------------------------------------------------------------- 1 | // Microsoft Visual C++ generated resource script. 2 | // 3 | #include "resource.h" 4 | 5 | #define APSTUDIO_READONLY_SYMBOLS 6 | ///////////////////////////////////////////////////////////////////////////// 7 | // 8 | // Generated from the TEXTINCLUDE 2 resource. 9 | // 10 | #include "winres.h" 11 | 12 | ///////////////////////////////////////////////////////////////////////////// 13 | #undef APSTUDIO_READONLY_SYMBOLS 14 | 15 | ///////////////////////////////////////////////////////////////////////////// 16 | // English (United States) resources 17 | 18 | #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) 19 | LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US 20 | #pragma code_page(1252) 21 | 22 | #ifdef APSTUDIO_INVOKED 23 | ///////////////////////////////////////////////////////////////////////////// 24 | // 25 | // TEXTINCLUDE 26 | // 27 | 28 | 1 TEXTINCLUDE 29 | BEGIN 30 | "resource.h\0" 31 | END 32 | 33 | 2 TEXTINCLUDE 34 | BEGIN 35 | "#include ""winres.h""\r\n" 36 | "\0" 37 | END 38 | 39 | 3 TEXTINCLUDE 40 | BEGIN 41 | "\r\n" 42 | "\0" 43 | END 44 | 45 | #endif // APSTUDIO_INVOKED 46 | 47 | 48 | ///////////////////////////////////////////////////////////////////////////// 49 | // 50 | // Version 51 | // 52 | 53 | VS_VERSION_INFO VERSIONINFO 54 | FILEVERSION 1,4,0,1 55 | PRODUCTVERSION 1,4,0,1 56 | FILEFLAGSMASK 0x0L 57 | #ifdef _DEBUG 58 | FILEFLAGS 0x1L 59 | #else 60 | FILEFLAGS 0x0L 61 | #endif 62 | FILEOS 0x0L 63 | FILETYPE 0x0L 64 | FILESUBTYPE 0x0L 65 | BEGIN 66 | BLOCK "StringFileInfo" 67 | BEGIN 68 | BLOCK "040904b0" 69 | BEGIN 70 | VALUE "FileDescription", "RestApiToText: A free Notepad++ plugin to make REST calls." 71 | VALUE "FileVersion", "1.4.0.1" 72 | VALUE "LegalCopyright", "Copyleft 2020 by Jeffrey Smith" 73 | VALUE "OriginalFilename", "RestApiToText.dll" 74 | VALUE "ProductName", "RestApiToText" 75 | VALUE "ProductVersion", "1.4.0.1" 76 | END 77 | END 78 | BLOCK "VarFileInfo" 79 | BEGIN 80 | VALUE "Translation", 0x409, 1200 81 | END 82 | END 83 | 84 | 85 | ///////////////////////////////////////////////////////////////////////////// 86 | // 87 | // Dialog 88 | // 89 | 90 | IDD_HELP DIALOGEX 0, 0, 371, 384 91 | STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU 92 | CAPTION "REST API To Text Help" 93 | FONT 8, "MS Shell Dlg", 400, 0, 0x1 94 | BEGIN 95 | DEFPUSHBUTTON "OK",IDOK,314,363,50,14 96 | LTEXT "Make a REST API call and get the results in a new Notepad++ tab.",IDC_STATIC,7,7,214,8 97 | LTEXT "Here is how it works:",IDC_STATIC,7,21,68,8 98 | LTEXT "1. At the start of a line, type in the elements of a REST call. Put each header on its own line.",IDC_STATIC,7,36,301,8 99 | LTEXT "Content-Type: application/json",IDC_STATIC,21,82,100,8 100 | LTEXT "X-Api-Key: 1234",IDC_STATIC,21,92,53,8 101 | LTEXT "GET http://localhost:12345/weatherforecast",IDC_STATIC,21,63,144,8 102 | LTEXT "2. Under the Plugins menu, pick ""REST API To Text"" and ""Make REST Call""",IDC_STATIC,7,148,238,8 103 | LTEXT "3. A new tab containing the results of the REST call should appear.",IDC_STATIC,7,163,217,8 104 | LTEXT "- To add a body for a POST/PUT, add a **Body** line, then the body.",IDC_STATIC,17,278,226,8 105 | LTEXT "- Calls to regular web pages should also work and return the HTML markup.",IDC_STATIC,17,292,241,8 106 | LTEXT "**Headers**",IDC_STATIC,21,72,44,8 107 | LTEXT "(The **Headers** line tells RestApiToText that you have headers to send)",IDC_STATIC,7,129,279,8 108 | LTEXT "- If the page has content besides the REST call, select the REST content before making the call.",IDC_STATIC,17,249,307,8 109 | GROUPBOX "Example",IDC_STATIC,7,52,171,74 110 | GROUPBOX "Notes",IDC_STATIC,7,233,329,122 111 | LTEXT "- Prepending the URL with HTTP:// or HTTPS:// is optional, as is the port.",IDC_STATIC,17,265,234,8 112 | LTEXT "- For more info on usage and new releases, please click on the project link in the About window.",IDC_STATIC,18,339,307,8 113 | LTEXT "**RestApiToTextOptions**",IDC_STATIC,21,103,89,8 114 | LTEXT "ShowResponseHeaders",IDC_STATIC,22,113,76,8 115 | LTEXT "(Works in the URI, querystring, headers and body)",IDC_STATIC,47,328,194,8 116 | LTEXT "- To keep an API key private, create an environment variable for the key and use it like so:",IDC_STATIC,17,305,292,8,SS_CENTERIMAGE 117 | LTEXT "X-Api-Key: $(env:YOUR-ENVIRONMENT-VARIABLE-NAME-HERE)",IDC_STATIC,27,318,206,8,SS_CENTERIMAGE 118 | LTEXT "Features Available for RestApiToTextOptions:",IDC_STATIC,8,190,356,8 119 | LTEXT "ShowResponseHeaders - Show response headers in the REST response.",IDC_STATIC,26,201,338,8 120 | LTEXT "ShowResponseOnSamePage - Show response after the REST call, on the same page.",IDC_STATIC,26,212,338,8 121 | END 122 | 123 | IDD_RESTAPITOTEXT DIALOGEX 0, 0, 331, 141 124 | STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU 125 | CAPTION "REST API To Text" 126 | FONT 8, "MS Shell Dlg", 400, 0, 0x1 127 | BEGIN 128 | DEFPUSHBUTTON "OK",IDOK,274,120,50,14 129 | RTEXT "Author:",IDC_STATIC_AUTHOR_LABEL,10,25,52,8 130 | LTEXT "Jeffrey Smith ",IDC_STATIC_AUTHOR,66,26,130,8 131 | RTEXT "License:",IDC_STATIC_LICENSE_LABEL,10,42,52,8 132 | LTEXT "GNU GPL v3",IDC_STATIC_LICENSE,66,43,39,8 133 | RTEXT "Version:",IDC_STATIC_VERSION_LABEL,10,60,52,8 134 | LTEXT "1.4.0.1",IDC_STATIC_VERSION,66,60,44,8 135 | RTEXT "Project:",IDC_STATIC_PROJECT_LABEL,10,78,52,8 136 | CONTROL "https://github.com/eljefe7000/RestApiToText",IDC_SYSLINK_PROJECT, 137 | "SysLink",WS_TABSTOP,67,78,155,12 138 | RTEXT "Plugin News:",IDC_STATIC_PROJECT_LABEL2,10,96,52,8 139 | CONTROL "https://community.notepad-plus-plus.org/category/5/plugin-development",IDC_SYSLINK_PLUGIN_NEWS, 140 | "SysLink",WS_TABSTOP,67,96,249,12 141 | END 142 | 143 | 144 | ///////////////////////////////////////////////////////////////////////////// 145 | // 146 | // DESIGNINFO 147 | // 148 | 149 | #ifdef APSTUDIO_INVOKED 150 | GUIDELINES DESIGNINFO 151 | BEGIN 152 | IDD_HELP, DIALOG 153 | BEGIN 154 | LEFTMARGIN, 7 155 | RIGHTMARGIN, 364 156 | TOPMARGIN, 7 157 | BOTTOMMARGIN, 377 158 | END 159 | 160 | IDD_RESTAPITOTEXT, DIALOG 161 | BEGIN 162 | LEFTMARGIN, 7 163 | RIGHTMARGIN, 324 164 | TOPMARGIN, 7 165 | BOTTOMMARGIN, 134 166 | END 167 | END 168 | #endif // APSTUDIO_INVOKED 169 | 170 | 171 | ///////////////////////////////////////////////////////////////////////////// 172 | // 173 | // AFX_DIALOG_LAYOUT 174 | // 175 | 176 | IDD_HELP AFX_DIALOG_LAYOUT 177 | BEGIN 178 | 0 179 | END 180 | 181 | IDD_RESTAPITOTEXT AFX_DIALOG_LAYOUT 182 | BEGIN 183 | 0 184 | END 185 | 186 | #endif // English (United States) resources 187 | ///////////////////////////////////////////////////////////////////////////// 188 | 189 | 190 | 191 | #ifndef APSTUDIO_INVOKED 192 | ///////////////////////////////////////////////////////////////////////////// 193 | // 194 | // Generated from the TEXTINCLUDE 3 resource. 195 | // 196 | 197 | 198 | ///////////////////////////////////////////////////////////////////////////// 199 | #endif // not APSTUDIO_INVOKED 200 | 201 | -------------------------------------------------------------------------------- /RestApiToText/RestApiToText.vcxproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Release 10 | Win32 11 | 12 | 13 | Debug 14 | x64 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | 22 | 16.0 23 | Win32Proj 24 | {1a248314-7a38-4876-9866-3a254050ce06} 25 | RestApiToText 26 | 10.0 27 | 28 | 29 | 30 | DynamicLibrary 31 | true 32 | v142 33 | Unicode 34 | 35 | 36 | DynamicLibrary 37 | false 38 | v142 39 | true 40 | Unicode 41 | 42 | 43 | DynamicLibrary 44 | true 45 | v142 46 | Unicode 47 | 48 | 49 | DynamicLibrary 50 | false 51 | v142 52 | true 53 | Unicode 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | true 75 | 76 | 77 | false 78 | 79 | 80 | true 81 | 82 | 83 | false 84 | 85 | 86 | 87 | Level3 88 | true 89 | WIN32;_DEBUG;RESTAPITOTEXT_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 90 | true 91 | NotUsing 92 | pch.h 93 | 94 | 95 | Windows 96 | true 97 | false 98 | 99 | 100 | 101 | 102 | Level3 103 | true 104 | true 105 | true 106 | WIN32;NDEBUG;RESTAPITOTEXT_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 107 | true 108 | NotUsing 109 | pch.h 110 | 111 | 112 | Windows 113 | true 114 | true 115 | true 116 | false 117 | 118 | 119 | 120 | 121 | Level3 122 | true 123 | _DEBUG;RESTAPITOTEXT_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 124 | true 125 | NotUsing 126 | pch.h 127 | 128 | 129 | Windows 130 | true 131 | false 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | Level3 141 | true 142 | true 143 | true 144 | NDEBUG;RESTAPITOTEXT_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 145 | true 146 | NotUsing 147 | pch.h 148 | 149 | 150 | Windows 151 | true 152 | true 153 | true 154 | false 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | -------------------------------------------------------------------------------- /RestApiToText/Scintilla.h: -------------------------------------------------------------------------------- 1 | /* Scintilla source code edit control */ 2 | /** @file Scintilla.h 3 | ** Interface to the edit control. 4 | **/ 5 | /* Copyright 1998-2003 by Neil Hodgson 6 | * The License.txt file describes the conditions under which this software may be distributed. */ 7 | 8 | /* Most of this file is automatically generated from the Scintilla.iface interface definition 9 | * file which contains any comments about the definitions. HFacer.py does the generation. */ 10 | 11 | #ifndef SCINTILLA_H 12 | #define SCINTILLA_H 13 | 14 | #ifdef __cplusplus 15 | extern "C" { 16 | #endif 17 | 18 | #if defined(_WIN32) 19 | /* Return false on failure: */ 20 | int Scintilla_RegisterClasses(void *hInstance); 21 | int Scintilla_ReleaseResources(void); 22 | #endif 23 | int Scintilla_LinkLexers(void); 24 | 25 | #ifdef __cplusplus 26 | } 27 | #endif 28 | 29 | /* Here should be placed typedefs for uptr_t, an unsigned integer type large enough to 30 | * hold a pointer and sptr_t, a signed integer large enough to hold a pointer. 31 | * May need to be changed for 64 bit platforms. */ 32 | #if defined(_WIN32) 33 | #include 34 | #endif 35 | #ifdef MAXULONG_PTR 36 | typedef ULONG_PTR uptr_t; 37 | typedef LONG_PTR sptr_t; 38 | #else 39 | typedef unsigned long uptr_t; 40 | typedef long sptr_t; 41 | #endif 42 | 43 | typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam, sptr_t lParam); 44 | 45 | /* ++Autogenerated -- start of section automatically generated from Scintilla.iface */ 46 | #define INVALID_POSITION -1 47 | #define SCI_START 2000 48 | #define SCI_OPTIONAL_START 3000 49 | #define SCI_LEXER_START 4000 50 | #define SCI_ADDTEXT 2001 51 | #define SCI_ADDSTYLEDTEXT 2002 52 | #define SCI_INSERTTEXT 2003 53 | #define SCI_CHANGEINSERTION 2672 54 | #define SCI_CLEARALL 2004 55 | #define SCI_DELETERANGE 2645 56 | #define SCI_CLEARDOCUMENTSTYLE 2005 57 | #define SCI_GETLENGTH 2006 58 | #define SCI_GETCHARAT 2007 59 | #define SCI_GETCURRENTPOS 2008 60 | #define SCI_GETANCHOR 2009 61 | #define SCI_GETSTYLEAT 2010 62 | #define SCI_REDO 2011 63 | #define SCI_SETUNDOCOLLECTION 2012 64 | #define SCI_SELECTALL 2013 65 | #define SCI_SETSAVEPOINT 2014 66 | #define SCI_GETSTYLEDTEXT 2015 67 | #define SCI_CANREDO 2016 68 | #define SCI_MARKERLINEFROMHANDLE 2017 69 | #define SCI_MARKERDELETEHANDLE 2018 70 | #define SCI_GETUNDOCOLLECTION 2019 71 | #define SCWS_INVISIBLE 0 72 | #define SCWS_VISIBLEALWAYS 1 73 | #define SCWS_VISIBLEAFTERINDENT 2 74 | #define SCI_GETVIEWWS 2020 75 | #define SCI_SETVIEWWS 2021 76 | #define SCI_POSITIONFROMPOINT 2022 77 | #define SCI_POSITIONFROMPOINTCLOSE 2023 78 | #define SCI_GOTOLINE 2024 79 | #define SCI_GOTOPOS 2025 80 | #define SCI_SETANCHOR 2026 81 | #define SCI_GETCURLINE 2027 82 | #define SCI_GETENDSTYLED 2028 83 | #define SC_EOL_CRLF 0 84 | #define SC_EOL_CR 1 85 | #define SC_EOL_LF 2 86 | #define SCI_CONVERTEOLS 2029 87 | #define SCI_GETEOLMODE 2030 88 | #define SCI_SETEOLMODE 2031 89 | #define SCI_STARTSTYLING 2032 90 | #define SCI_SETSTYLING 2033 91 | #define SCI_GETBUFFEREDDRAW 2034 92 | #define SCI_SETBUFFEREDDRAW 2035 93 | #define SCI_SETTABWIDTH 2036 94 | #define SCI_GETTABWIDTH 2121 95 | #define SCI_CLEARTABSTOPS 2675 96 | #define SCI_ADDTABSTOP 2676 97 | #define SCI_GETNEXTTABSTOP 2677 98 | #define SC_CP_UTF8 65001 99 | #define SCI_SETCODEPAGE 2037 100 | #define SC_IME_WINDOWED 0 101 | #define SC_IME_INLINE 1 102 | #define SCI_GETIMEINTERACTION 2678 103 | #define SCI_SETIMEINTERACTION 2679 104 | #define MARKER_MAX 31 105 | #define SC_MARK_CIRCLE 0 106 | #define SC_MARK_ROUNDRECT 1 107 | #define SC_MARK_ARROW 2 108 | #define SC_MARK_SMALLRECT 3 109 | #define SC_MARK_SHORTARROW 4 110 | #define SC_MARK_EMPTY 5 111 | #define SC_MARK_ARROWDOWN 6 112 | #define SC_MARK_MINUS 7 113 | #define SC_MARK_PLUS 8 114 | #define SC_MARK_VLINE 9 115 | #define SC_MARK_LCORNER 10 116 | #define SC_MARK_TCORNER 11 117 | #define SC_MARK_BOXPLUS 12 118 | #define SC_MARK_BOXPLUSCONNECTED 13 119 | #define SC_MARK_BOXMINUS 14 120 | #define SC_MARK_BOXMINUSCONNECTED 15 121 | #define SC_MARK_LCORNERCURVE 16 122 | #define SC_MARK_TCORNERCURVE 17 123 | #define SC_MARK_CIRCLEPLUS 18 124 | #define SC_MARK_CIRCLEPLUSCONNECTED 19 125 | #define SC_MARK_CIRCLEMINUS 20 126 | #define SC_MARK_CIRCLEMINUSCONNECTED 21 127 | #define SC_MARK_BACKGROUND 22 128 | #define SC_MARK_DOTDOTDOT 23 129 | #define SC_MARK_ARROWS 24 130 | #define SC_MARK_PIXMAP 25 131 | #define SC_MARK_FULLRECT 26 132 | #define SC_MARK_LEFTRECT 27 133 | #define SC_MARK_AVAILABLE 28 134 | #define SC_MARK_UNDERLINE 29 135 | #define SC_MARK_RGBAIMAGE 30 136 | #define SC_MARK_BOOKMARK 31 137 | #define SC_MARK_CHARACTER 10000 138 | #define SC_MARKNUM_FOLDEREND 25 139 | #define SC_MARKNUM_FOLDEROPENMID 26 140 | #define SC_MARKNUM_FOLDERMIDTAIL 27 141 | #define SC_MARKNUM_FOLDERTAIL 28 142 | #define SC_MARKNUM_FOLDERSUB 29 143 | #define SC_MARKNUM_FOLDER 30 144 | #define SC_MARKNUM_FOLDEROPEN 31 145 | #define SC_MASK_FOLDERS 0xFE000000 146 | #define SCI_MARKERDEFINE 2040 147 | #define SCI_MARKERSETFORE 2041 148 | #define SCI_MARKERSETBACK 2042 149 | #define SCI_MARKERSETBACKSELECTED 2292 150 | #define SCI_MARKERENABLEHIGHLIGHT 2293 151 | #define SCI_MARKERADD 2043 152 | #define SCI_MARKERDELETE 2044 153 | #define SCI_MARKERDELETEALL 2045 154 | #define SCI_MARKERGET 2046 155 | #define SCI_MARKERNEXT 2047 156 | #define SCI_MARKERPREVIOUS 2048 157 | #define SCI_MARKERDEFINEPIXMAP 2049 158 | #define SCI_MARKERADDSET 2466 159 | #define SCI_MARKERSETALPHA 2476 160 | #define SC_MAX_MARGIN 4 161 | #define SC_MARGIN_SYMBOL 0 162 | #define SC_MARGIN_NUMBER 1 163 | #define SC_MARGIN_BACK 2 164 | #define SC_MARGIN_FORE 3 165 | #define SC_MARGIN_TEXT 4 166 | #define SC_MARGIN_RTEXT 5 167 | #define SCI_SETMARGINTYPEN 2240 168 | #define SCI_GETMARGINTYPEN 2241 169 | #define SCI_SETMARGINWIDTHN 2242 170 | #define SCI_GETMARGINWIDTHN 2243 171 | #define SCI_SETMARGINMASKN 2244 172 | #define SCI_GETMARGINMASKN 2245 173 | #define SCI_SETMARGINSENSITIVEN 2246 174 | #define SCI_GETMARGINSENSITIVEN 2247 175 | #define SCI_SETMARGINCURSORN 2248 176 | #define SCI_GETMARGINCURSORN 2249 177 | #define STYLE_DEFAULT 32 178 | #define STYLE_LINENUMBER 33 179 | #define STYLE_BRACELIGHT 34 180 | #define STYLE_BRACEBAD 35 181 | #define STYLE_CONTROLCHAR 36 182 | #define STYLE_INDENTGUIDE 37 183 | #define STYLE_CALLTIP 38 184 | #define STYLE_LASTPREDEFINED 39 185 | #define STYLE_MAX 255 186 | #define SC_CHARSET_ANSI 0 187 | #define SC_CHARSET_DEFAULT 1 188 | #define SC_CHARSET_BALTIC 186 189 | #define SC_CHARSET_CHINESEBIG5 136 190 | #define SC_CHARSET_EASTEUROPE 238 191 | #define SC_CHARSET_GB2312 134 192 | #define SC_CHARSET_GREEK 161 193 | #define SC_CHARSET_HANGUL 129 194 | #define SC_CHARSET_MAC 77 195 | #define SC_CHARSET_OEM 255 196 | #define SC_CHARSET_RUSSIAN 204 197 | #define SC_CHARSET_CYRILLIC 1251 198 | #define SC_CHARSET_SHIFTJIS 128 199 | #define SC_CHARSET_SYMBOL 2 200 | #define SC_CHARSET_TURKISH 162 201 | #define SC_CHARSET_JOHAB 130 202 | #define SC_CHARSET_HEBREW 177 203 | #define SC_CHARSET_ARABIC 178 204 | #define SC_CHARSET_VIETNAMESE 163 205 | #define SC_CHARSET_THAI 222 206 | #define SC_CHARSET_8859_15 1000 207 | #define SCI_STYLECLEARALL 2050 208 | #define SCI_STYLESETFORE 2051 209 | #define SCI_STYLESETBACK 2052 210 | #define SCI_STYLESETBOLD 2053 211 | #define SCI_STYLESETITALIC 2054 212 | #define SCI_STYLESETSIZE 2055 213 | #define SCI_STYLESETFONT 2056 214 | #define SCI_STYLESETEOLFILLED 2057 215 | #define SCI_STYLERESETDEFAULT 2058 216 | #define SCI_STYLESETUNDERLINE 2059 217 | #define SC_CASE_MIXED 0 218 | #define SC_CASE_UPPER 1 219 | #define SC_CASE_LOWER 2 220 | #define SCI_STYLEGETFORE 2481 221 | #define SCI_STYLEGETBACK 2482 222 | #define SCI_STYLEGETBOLD 2483 223 | #define SCI_STYLEGETITALIC 2484 224 | #define SCI_STYLEGETSIZE 2485 225 | #define SCI_STYLEGETFONT 2486 226 | #define SCI_STYLEGETEOLFILLED 2487 227 | #define SCI_STYLEGETUNDERLINE 2488 228 | #define SCI_STYLEGETCASE 2489 229 | #define SCI_STYLEGETCHARACTERSET 2490 230 | #define SCI_STYLEGETVISIBLE 2491 231 | #define SCI_STYLEGETCHANGEABLE 2492 232 | #define SCI_STYLEGETHOTSPOT 2493 233 | #define SCI_STYLESETCASE 2060 234 | #define SC_FONT_SIZE_MULTIPLIER 100 235 | #define SCI_STYLESETSIZEFRACTIONAL 2061 236 | #define SCI_STYLEGETSIZEFRACTIONAL 2062 237 | #define SC_WEIGHT_NORMAL 400 238 | #define SC_WEIGHT_SEMIBOLD 600 239 | #define SC_WEIGHT_BOLD 700 240 | #define SCI_STYLESETWEIGHT 2063 241 | #define SCI_STYLEGETWEIGHT 2064 242 | #define SCI_STYLESETCHARACTERSET 2066 243 | #define SCI_STYLESETHOTSPOT 2409 244 | #define SCI_SETSELFORE 2067 245 | #define SCI_SETSELBACK 2068 246 | #define SCI_GETSELALPHA 2477 247 | #define SCI_SETSELALPHA 2478 248 | #define SCI_GETSELEOLFILLED 2479 249 | #define SCI_SETSELEOLFILLED 2480 250 | #define SCI_SETCARETFORE 2069 251 | #define SCI_ASSIGNCMDKEY 2070 252 | #define SCI_CLEARCMDKEY 2071 253 | #define SCI_CLEARALLCMDKEYS 2072 254 | #define SCI_SETSTYLINGEX 2073 255 | #define SCI_STYLESETVISIBLE 2074 256 | #define SCI_GETCARETPERIOD 2075 257 | #define SCI_SETCARETPERIOD 2076 258 | #define SCI_SETWORDCHARS 2077 259 | #define SCI_GETWORDCHARS 2646 260 | #define SCI_BEGINUNDOACTION 2078 261 | #define SCI_ENDUNDOACTION 2079 262 | #define INDIC_PLAIN 0 263 | #define INDIC_SQUIGGLE 1 264 | #define INDIC_TT 2 265 | #define INDIC_DIAGONAL 3 266 | #define INDIC_STRIKE 4 267 | #define INDIC_HIDDEN 5 268 | #define INDIC_BOX 6 269 | #define INDIC_ROUNDBOX 7 270 | #define INDIC_STRAIGHTBOX 8 271 | #define INDIC_DASH 9 272 | #define INDIC_DOTS 10 273 | #define INDIC_SQUIGGLELOW 11 274 | #define INDIC_DOTBOX 12 275 | #define INDIC_SQUIGGLEPIXMAP 13 276 | #define INDIC_COMPOSITIONTHICK 14 277 | #define INDIC_COMPOSITIONTHIN 15 278 | #define INDIC_FULLBOX 16 279 | #define INDIC_TEXTFORE 17 280 | #define INDIC_IME 32 281 | #define INDIC_IME_MAX 35 282 | #define INDIC_MAX 35 283 | #define INDIC_CONTAINER 8 284 | #define INDIC0_MASK 0x20 285 | #define INDIC1_MASK 0x40 286 | #define INDIC2_MASK 0x80 287 | #define INDICS_MASK 0xE0 288 | #define SCI_INDICSETSTYLE 2080 289 | #define SCI_INDICGETSTYLE 2081 290 | #define SCI_INDICSETFORE 2082 291 | #define SCI_INDICGETFORE 2083 292 | #define SCI_INDICSETUNDER 2510 293 | #define SCI_INDICGETUNDER 2511 294 | #define SCI_INDICSETHOVERSTYLE 2680 295 | #define SCI_INDICGETHOVERSTYLE 2681 296 | #define SCI_INDICSETHOVERFORE 2682 297 | #define SCI_INDICGETHOVERFORE 2683 298 | #define SC_INDICVALUEBIT 0x1000000 299 | #define SC_INDICVALUEMASK 0xFFFFFF 300 | #define SC_INDICFLAG_VALUEFORE 1 301 | #define SCI_INDICSETFLAGS 2684 302 | #define SCI_INDICGETFLAGS 2685 303 | #define SCI_SETWHITESPACEFORE 2084 304 | #define SCI_SETWHITESPACEBACK 2085 305 | #define SCI_SETWHITESPACESIZE 2086 306 | #define SCI_GETWHITESPACESIZE 2087 307 | #define SCI_SETSTYLEBITS 2090 308 | #define SCI_GETSTYLEBITS 2091 309 | #define SCI_SETLINESTATE 2092 310 | #define SCI_GETLINESTATE 2093 311 | #define SCI_GETMAXLINESTATE 2094 312 | #define SCI_GETCARETLINEVISIBLE 2095 313 | #define SCI_SETCARETLINEVISIBLE 2096 314 | #define SCI_GETCARETLINEBACK 2097 315 | #define SCI_SETCARETLINEBACK 2098 316 | #define SCI_STYLESETCHANGEABLE 2099 317 | #define SCI_AUTOCSHOW 2100 318 | #define SCI_AUTOCCANCEL 2101 319 | #define SCI_AUTOCACTIVE 2102 320 | #define SCI_AUTOCPOSSTART 2103 321 | #define SCI_AUTOCCOMPLETE 2104 322 | #define SCI_AUTOCSTOPS 2105 323 | #define SCI_AUTOCSETSEPARATOR 2106 324 | #define SCI_AUTOCGETSEPARATOR 2107 325 | #define SCI_AUTOCSELECT 2108 326 | #define SCI_AUTOCSETCANCELATSTART 2110 327 | #define SCI_AUTOCGETCANCELATSTART 2111 328 | #define SCI_AUTOCSETFILLUPS 2112 329 | #define SCI_AUTOCSETCHOOSESINGLE 2113 330 | #define SCI_AUTOCGETCHOOSESINGLE 2114 331 | #define SCI_AUTOCSETIGNORECASE 2115 332 | #define SCI_AUTOCGETIGNORECASE 2116 333 | #define SCI_USERLISTSHOW 2117 334 | #define SCI_AUTOCSETAUTOHIDE 2118 335 | #define SCI_AUTOCGETAUTOHIDE 2119 336 | #define SCI_AUTOCSETDROPRESTOFWORD 2270 337 | #define SCI_AUTOCGETDROPRESTOFWORD 2271 338 | #define SCI_REGISTERIMAGE 2405 339 | #define SCI_CLEARREGISTEREDIMAGES 2408 340 | #define SCI_AUTOCGETTYPESEPARATOR 2285 341 | #define SCI_AUTOCSETTYPESEPARATOR 2286 342 | #define SCI_AUTOCSETMAXWIDTH 2208 343 | #define SCI_AUTOCGETMAXWIDTH 2209 344 | #define SCI_AUTOCSETMAXHEIGHT 2210 345 | #define SCI_AUTOCGETMAXHEIGHT 2211 346 | #define SCI_SETINDENT 2122 347 | #define SCI_GETINDENT 2123 348 | #define SCI_SETUSETABS 2124 349 | #define SCI_GETUSETABS 2125 350 | #define SCI_SETLINEINDENTATION 2126 351 | #define SCI_GETLINEINDENTATION 2127 352 | #define SCI_GETLINEINDENTPOSITION 2128 353 | #define SCI_GETCOLUMN 2129 354 | #define SCI_COUNTCHARACTERS 2633 355 | #define SCI_SETHSCROLLBAR 2130 356 | #define SCI_GETHSCROLLBAR 2131 357 | #define SC_IV_NONE 0 358 | #define SC_IV_REAL 1 359 | #define SC_IV_LOOKFORWARD 2 360 | #define SC_IV_LOOKBOTH 3 361 | #define SCI_SETINDENTATIONGUIDES 2132 362 | #define SCI_GETINDENTATIONGUIDES 2133 363 | #define SCI_SETHIGHLIGHTGUIDE 2134 364 | #define SCI_GETHIGHLIGHTGUIDE 2135 365 | #define SCI_GETLINEENDPOSITION 2136 366 | #define SCI_GETCODEPAGE 2137 367 | #define SCI_GETCARETFORE 2138 368 | #define SCI_GETREADONLY 2140 369 | #define SCI_SETCURRENTPOS 2141 370 | #define SCI_SETSELECTIONSTART 2142 371 | #define SCI_GETSELECTIONSTART 2143 372 | #define SCI_SETSELECTIONEND 2144 373 | #define SCI_GETSELECTIONEND 2145 374 | #define SCI_SETEMPTYSELECTION 2556 375 | #define SCI_SETPRINTMAGNIFICATION 2146 376 | #define SCI_GETPRINTMAGNIFICATION 2147 377 | #define SC_PRINT_NORMAL 0 378 | #define SC_PRINT_INVERTLIGHT 1 379 | #define SC_PRINT_BLACKONWHITE 2 380 | #define SC_PRINT_COLOURONWHITE 3 381 | #define SC_PRINT_COLOURONWHITEDEFAULTBG 4 382 | #define SCI_SETPRINTCOLOURMODE 2148 383 | #define SCI_GETPRINTCOLOURMODE 2149 384 | #define SCFIND_WHOLEWORD 0x2 385 | #define SCFIND_MATCHCASE 0x4 386 | #define SCFIND_WORDSTART 0x00100000 387 | #define SCFIND_REGEXP 0x00200000 388 | #define SCFIND_POSIX 0x00400000 389 | #define SCFIND_CXX11REGEX 0x00800000 390 | #define SCI_FINDTEXT 2150 391 | #define SCI_FORMATRANGE 2151 392 | #define SCI_GETFIRSTVISIBLELINE 2152 393 | #define SCI_GETLINE 2153 394 | #define SCI_GETLINECOUNT 2154 395 | #define SCI_SETMARGINLEFT 2155 396 | #define SCI_GETMARGINLEFT 2156 397 | #define SCI_SETMARGINRIGHT 2157 398 | #define SCI_GETMARGINRIGHT 2158 399 | #define SCI_GETMODIFY 2159 400 | #define SCI_SETSEL 2160 401 | #define SCI_GETSELTEXT 2161 402 | #define SCI_GETTEXTRANGE 2162 403 | #define SCI_HIDESELECTION 2163 404 | #define SCI_POINTXFROMPOSITION 2164 405 | #define SCI_POINTYFROMPOSITION 2165 406 | #define SCI_LINEFROMPOSITION 2166 407 | #define SCI_POSITIONFROMLINE 2167 408 | #define SCI_LINESCROLL 2168 409 | #define SCI_SCROLLCARET 2169 410 | #define SCI_SCROLLRANGE 2569 411 | #define SCI_REPLACESEL 2170 412 | #define SCI_SETREADONLY 2171 413 | #define SCI_NULL 2172 414 | #define SCI_CANPASTE 2173 415 | #define SCI_CANUNDO 2174 416 | #define SCI_EMPTYUNDOBUFFER 2175 417 | #define SCI_UNDO 2176 418 | #define SCI_CUT 2177 419 | #define SCI_COPY 2178 420 | #define SCI_PASTE 2179 421 | #define SCI_CLEAR 2180 422 | #define SCI_SETTEXT 2181 423 | #define SCI_GETTEXT 2182 424 | #define SCI_GETTEXTLENGTH 2183 425 | #define SCI_GETDIRECTFUNCTION 2184 426 | #define SCI_GETDIRECTPOINTER 2185 427 | #define SCI_SETOVERTYPE 2186 428 | #define SCI_GETOVERTYPE 2187 429 | #define SCI_SETCARETWIDTH 2188 430 | #define SCI_GETCARETWIDTH 2189 431 | #define SCI_SETTARGETSTART 2190 432 | #define SCI_GETTARGETSTART 2191 433 | #define SCI_SETTARGETEND 2192 434 | #define SCI_GETTARGETEND 2193 435 | #define SCI_SETTARGETRANGE 2686 436 | #define SCI_GETTARGETTEXT 2687 437 | #define SCI_REPLACETARGET 2194 438 | #define SCI_REPLACETARGETRE 2195 439 | #define SCI_SEARCHINTARGET 2197 440 | #define SCI_SETSEARCHFLAGS 2198 441 | #define SCI_GETSEARCHFLAGS 2199 442 | #define SCI_CALLTIPSHOW 2200 443 | #define SCI_CALLTIPCANCEL 2201 444 | #define SCI_CALLTIPACTIVE 2202 445 | #define SCI_CALLTIPPOSSTART 2203 446 | #define SCI_CALLTIPSETPOSSTART 2214 447 | #define SCI_CALLTIPSETHLT 2204 448 | #define SCI_CALLTIPSETBACK 2205 449 | #define SCI_CALLTIPSETFORE 2206 450 | #define SCI_CALLTIPSETFOREHLT 2207 451 | #define SCI_CALLTIPUSESTYLE 2212 452 | #define SCI_CALLTIPSETPOSITION 2213 453 | #define SCI_VISIBLEFROMDOCLINE 2220 454 | #define SCI_DOCLINEFROMVISIBLE 2221 455 | #define SCI_WRAPCOUNT 2235 456 | #define SC_FOLDLEVELBASE 0x400 457 | #define SC_FOLDLEVELWHITEFLAG 0x1000 458 | #define SC_FOLDLEVELHEADERFLAG 0x2000 459 | #define SC_FOLDLEVELNUMBERMASK 0x0FFF 460 | #define SCI_SETFOLDLEVEL 2222 461 | #define SCI_GETFOLDLEVEL 2223 462 | #define SCI_GETLASTCHILD 2224 463 | #define SCI_GETFOLDPARENT 2225 464 | #define SCI_SHOWLINES 2226 465 | #define SCI_HIDELINES 2227 466 | #define SCI_GETLINEVISIBLE 2228 467 | #define SCI_GETALLLINESVISIBLE 2236 468 | #define SCI_SETFOLDEXPANDED 2229 469 | #define SCI_GETFOLDEXPANDED 2230 470 | #define SCI_TOGGLEFOLD 2231 471 | #define SC_FOLDACTION_CONTRACT 0 472 | #define SC_FOLDACTION_EXPAND 1 473 | #define SC_FOLDACTION_TOGGLE 2 474 | #define SCI_FOLDLINE 2237 475 | #define SCI_FOLDCHILDREN 2238 476 | #define SCI_EXPANDCHILDREN 2239 477 | #define SCI_FOLDALL 2662 478 | #define SCI_ENSUREVISIBLE 2232 479 | #define SC_AUTOMATICFOLD_SHOW 0x0001 480 | #define SC_AUTOMATICFOLD_CLICK 0x0002 481 | #define SC_AUTOMATICFOLD_CHANGE 0x0004 482 | #define SCI_SETAUTOMATICFOLD 2663 483 | #define SCI_GETAUTOMATICFOLD 2664 484 | #define SC_FOLDFLAG_LINEBEFORE_EXPANDED 0x0002 485 | #define SC_FOLDFLAG_LINEBEFORE_CONTRACTED 0x0004 486 | #define SC_FOLDFLAG_LINEAFTER_EXPANDED 0x0008 487 | #define SC_FOLDFLAG_LINEAFTER_CONTRACTED 0x0010 488 | #define SC_FOLDFLAG_LEVELNUMBERS 0x0040 489 | #define SC_FOLDFLAG_LINESTATE 0x0080 490 | #define SCI_SETFOLDFLAGS 2233 491 | #define SCI_ENSUREVISIBLEENFORCEPOLICY 2234 492 | #define SCI_SETTABINDENTS 2260 493 | #define SCI_GETTABINDENTS 2261 494 | #define SCI_SETBACKSPACEUNINDENTS 2262 495 | #define SCI_GETBACKSPACEUNINDENTS 2263 496 | #define SC_TIME_FOREVER 10000000 497 | #define SCI_SETMOUSEDWELLTIME 2264 498 | #define SCI_GETMOUSEDWELLTIME 2265 499 | #define SCI_WORDSTARTPOSITION 2266 500 | #define SCI_WORDENDPOSITION 2267 501 | #define SC_WRAP_NONE 0 502 | #define SC_WRAP_WORD 1 503 | #define SC_WRAP_CHAR 2 504 | #define SC_WRAP_WHITESPACE 3 505 | #define SCI_SETWRAPMODE 2268 506 | #define SCI_GETWRAPMODE 2269 507 | #define SC_WRAPVISUALFLAG_NONE 0x0000 508 | #define SC_WRAPVISUALFLAG_END 0x0001 509 | #define SC_WRAPVISUALFLAG_START 0x0002 510 | #define SC_WRAPVISUALFLAG_MARGIN 0x0004 511 | #define SCI_SETWRAPVISUALFLAGS 2460 512 | #define SCI_GETWRAPVISUALFLAGS 2461 513 | #define SC_WRAPVISUALFLAGLOC_DEFAULT 0x0000 514 | #define SC_WRAPVISUALFLAGLOC_END_BY_TEXT 0x0001 515 | #define SC_WRAPVISUALFLAGLOC_START_BY_TEXT 0x0002 516 | #define SCI_SETWRAPVISUALFLAGSLOCATION 2462 517 | #define SCI_GETWRAPVISUALFLAGSLOCATION 2463 518 | #define SCI_SETWRAPSTARTINDENT 2464 519 | #define SCI_GETWRAPSTARTINDENT 2465 520 | #define SC_WRAPINDENT_FIXED 0 521 | #define SC_WRAPINDENT_SAME 1 522 | #define SC_WRAPINDENT_INDENT 2 523 | #define SCI_SETWRAPINDENTMODE 2472 524 | #define SCI_GETWRAPINDENTMODE 2473 525 | #define SC_CACHE_NONE 0 526 | #define SC_CACHE_CARET 1 527 | #define SC_CACHE_PAGE 2 528 | #define SC_CACHE_DOCUMENT 3 529 | #define SCI_SETLAYOUTCACHE 2272 530 | #define SCI_GETLAYOUTCACHE 2273 531 | #define SCI_SETSCROLLWIDTH 2274 532 | #define SCI_GETSCROLLWIDTH 2275 533 | #define SCI_SETSCROLLWIDTHTRACKING 2516 534 | #define SCI_GETSCROLLWIDTHTRACKING 2517 535 | #define SCI_TEXTWIDTH 2276 536 | #define SCI_SETENDATLASTLINE 2277 537 | #define SCI_GETENDATLASTLINE 2278 538 | #define SCI_TEXTHEIGHT 2279 539 | #define SCI_SETVSCROLLBAR 2280 540 | #define SCI_GETVSCROLLBAR 2281 541 | #define SCI_APPENDTEXT 2282 542 | #define SCI_GETTWOPHASEDRAW 2283 543 | #define SCI_SETTWOPHASEDRAW 2284 544 | #define SC_PHASES_ONE 0 545 | #define SC_PHASES_TWO 1 546 | #define SC_PHASES_MULTIPLE 2 547 | #define SCI_GETPHASESDRAW 2673 548 | #define SCI_SETPHASESDRAW 2674 549 | #define SC_EFF_QUALITY_MASK 0xF 550 | #define SC_EFF_QUALITY_DEFAULT 0 551 | #define SC_EFF_QUALITY_NON_ANTIALIASED 1 552 | #define SC_EFF_QUALITY_ANTIALIASED 2 553 | #define SC_EFF_QUALITY_LCD_OPTIMIZED 3 554 | #define SCI_SETFONTQUALITY 2611 555 | #define SCI_GETFONTQUALITY 2612 556 | #define SCI_SETFIRSTVISIBLELINE 2613 557 | #define SC_MULTIPASTE_ONCE 0 558 | #define SC_MULTIPASTE_EACH 1 559 | #define SCI_SETMULTIPASTE 2614 560 | #define SCI_GETMULTIPASTE 2615 561 | #define SCI_GETTAG 2616 562 | #define SCI_TARGETFROMSELECTION 2287 563 | #define SCI_LINESJOIN 2288 564 | #define SCI_LINESSPLIT 2289 565 | #define SCI_SETFOLDMARGINCOLOUR 2290 566 | #define SCI_SETFOLDMARGINHICOLOUR 2291 567 | #define SCI_LINEDOWN 2300 568 | #define SCI_LINEDOWNEXTEND 2301 569 | #define SCI_LINEUP 2302 570 | #define SCI_LINEUPEXTEND 2303 571 | #define SCI_CHARLEFT 2304 572 | #define SCI_CHARLEFTEXTEND 2305 573 | #define SCI_CHARRIGHT 2306 574 | #define SCI_CHARRIGHTEXTEND 2307 575 | #define SCI_WORDLEFT 2308 576 | #define SCI_WORDLEFTEXTEND 2309 577 | #define SCI_WORDRIGHT 2310 578 | #define SCI_WORDRIGHTEXTEND 2311 579 | #define SCI_HOME 2312 580 | #define SCI_HOMEEXTEND 2313 581 | #define SCI_LINEEND 2314 582 | #define SCI_LINEENDEXTEND 2315 583 | #define SCI_DOCUMENTSTART 2316 584 | #define SCI_DOCUMENTSTARTEXTEND 2317 585 | #define SCI_DOCUMENTEND 2318 586 | #define SCI_DOCUMENTENDEXTEND 2319 587 | #define SCI_PAGEUP 2320 588 | #define SCI_PAGEUPEXTEND 2321 589 | #define SCI_PAGEDOWN 2322 590 | #define SCI_PAGEDOWNEXTEND 2323 591 | #define SCI_EDITTOGGLEOVERTYPE 2324 592 | #define SCI_CANCEL 2325 593 | #define SCI_DELETEBACK 2326 594 | #define SCI_TAB 2327 595 | #define SCI_BACKTAB 2328 596 | #define SCI_NEWLINE 2329 597 | #define SCI_FORMFEED 2330 598 | #define SCI_VCHOME 2331 599 | #define SCI_VCHOMEEXTEND 2332 600 | #define SCI_ZOOMIN 2333 601 | #define SCI_ZOOMOUT 2334 602 | #define SCI_DELWORDLEFT 2335 603 | #define SCI_DELWORDRIGHT 2336 604 | #define SCI_DELWORDRIGHTEND 2518 605 | #define SCI_LINECUT 2337 606 | #define SCI_LINEDELETE 2338 607 | #define SCI_LINETRANSPOSE 2339 608 | #define SCI_LINEDUPLICATE 2404 609 | #define SCI_LOWERCASE 2340 610 | #define SCI_UPPERCASE 2341 611 | #define SCI_LINESCROLLDOWN 2342 612 | #define SCI_LINESCROLLUP 2343 613 | #define SCI_DELETEBACKNOTLINE 2344 614 | #define SCI_HOMEDISPLAY 2345 615 | #define SCI_HOMEDISPLAYEXTEND 2346 616 | #define SCI_LINEENDDISPLAY 2347 617 | #define SCI_LINEENDDISPLAYEXTEND 2348 618 | #define SCI_HOMEWRAP 2349 619 | #define SCI_HOMEWRAPEXTEND 2450 620 | #define SCI_LINEENDWRAP 2451 621 | #define SCI_LINEENDWRAPEXTEND 2452 622 | #define SCI_VCHOMEWRAP 2453 623 | #define SCI_VCHOMEWRAPEXTEND 2454 624 | #define SCI_LINECOPY 2455 625 | #define SCI_MOVECARETINSIDEVIEW 2401 626 | #define SCI_LINELENGTH 2350 627 | #define SCI_BRACEHIGHLIGHT 2351 628 | #define SCI_BRACEHIGHLIGHTINDICATOR 2498 629 | #define SCI_BRACEBADLIGHT 2352 630 | #define SCI_BRACEBADLIGHTINDICATOR 2499 631 | #define SCI_BRACEMATCH 2353 632 | #define SCI_GETVIEWEOL 2355 633 | #define SCI_SETVIEWEOL 2356 634 | #define SCI_GETDOCPOINTER 2357 635 | #define SCI_SETDOCPOINTER 2358 636 | #define SCI_SETMODEVENTMASK 2359 637 | #define EDGE_NONE 0 638 | #define EDGE_LINE 1 639 | #define EDGE_BACKGROUND 2 640 | #define SCI_GETEDGECOLUMN 2360 641 | #define SCI_SETEDGECOLUMN 2361 642 | #define SCI_GETEDGEMODE 2362 643 | #define SCI_SETEDGEMODE 2363 644 | #define SCI_GETEDGECOLOUR 2364 645 | #define SCI_SETEDGECOLOUR 2365 646 | #define SCI_SEARCHANCHOR 2366 647 | #define SCI_SEARCHNEXT 2367 648 | #define SCI_SEARCHPREV 2368 649 | #define SCI_LINESONSCREEN 2370 650 | #define SCI_USEPOPUP 2371 651 | #define SCI_SELECTIONISRECTANGLE 2372 652 | #define SCI_SETZOOM 2373 653 | #define SCI_GETZOOM 2374 654 | #define SCI_CREATEDOCUMENT 2375 655 | #define SCI_ADDREFDOCUMENT 2376 656 | #define SCI_RELEASEDOCUMENT 2377 657 | #define SCI_GETMODEVENTMASK 2378 658 | #define SCI_SETFOCUS 2380 659 | #define SCI_GETFOCUS 2381 660 | #define SC_STATUS_OK 0 661 | #define SC_STATUS_FAILURE 1 662 | #define SC_STATUS_BADALLOC 2 663 | #define SC_STATUS_WARN_START 1000 664 | #define SC_STATUS_WARN_REGEX 1001 665 | #define SCI_SETSTATUS 2382 666 | #define SCI_GETSTATUS 2383 667 | #define SCI_SETMOUSEDOWNCAPTURES 2384 668 | #define SCI_GETMOUSEDOWNCAPTURES 2385 669 | #define SC_CURSORNORMAL -1 670 | #define SC_CURSORARROW 2 671 | #define SC_CURSORWAIT 4 672 | #define SC_CURSORREVERSEARROW 7 673 | #define SCI_SETCURSOR 2386 674 | #define SCI_GETCURSOR 2387 675 | #define SCI_SETCONTROLCHARSYMBOL 2388 676 | #define SCI_GETCONTROLCHARSYMBOL 2389 677 | #define SCI_WORDPARTLEFT 2390 678 | #define SCI_WORDPARTLEFTEXTEND 2391 679 | #define SCI_WORDPARTRIGHT 2392 680 | #define SCI_WORDPARTRIGHTEXTEND 2393 681 | #define VISIBLE_SLOP 0x01 682 | #define VISIBLE_STRICT 0x04 683 | #define SCI_SETVISIBLEPOLICY 2394 684 | #define SCI_DELLINELEFT 2395 685 | #define SCI_DELLINERIGHT 2396 686 | #define SCI_SETXOFFSET 2397 687 | #define SCI_GETXOFFSET 2398 688 | #define SCI_CHOOSECARETX 2399 689 | #define SCI_GRABFOCUS 2400 690 | #define CARET_SLOP 0x01 691 | #define CARET_STRICT 0x04 692 | #define CARET_JUMPS 0x10 693 | #define CARET_EVEN 0x08 694 | #define SCI_SETXCARETPOLICY 2402 695 | #define SCI_SETYCARETPOLICY 2403 696 | #define SCI_SETPRINTWRAPMODE 2406 697 | #define SCI_GETPRINTWRAPMODE 2407 698 | #define SCI_SETHOTSPOTACTIVEFORE 2410 699 | #define SCI_GETHOTSPOTACTIVEFORE 2494 700 | #define SCI_SETHOTSPOTACTIVEBACK 2411 701 | #define SCI_GETHOTSPOTACTIVEBACK 2495 702 | #define SCI_SETHOTSPOTACTIVEUNDERLINE 2412 703 | #define SCI_GETHOTSPOTACTIVEUNDERLINE 2496 704 | #define SCI_SETHOTSPOTSINGLELINE 2421 705 | #define SCI_GETHOTSPOTSINGLELINE 2497 706 | #define SCI_PARADOWN 2413 707 | #define SCI_PARADOWNEXTEND 2414 708 | #define SCI_PARAUP 2415 709 | #define SCI_PARAUPEXTEND 2416 710 | #define SCI_POSITIONBEFORE 2417 711 | #define SCI_POSITIONAFTER 2418 712 | #define SCI_POSITIONRELATIVE 2670 713 | #define SCI_COPYRANGE 2419 714 | #define SCI_COPYTEXT 2420 715 | #define SC_SEL_STREAM 0 716 | #define SC_SEL_RECTANGLE 1 717 | #define SC_SEL_LINES 2 718 | #define SC_SEL_THIN 3 719 | #define SCI_SETSELECTIONMODE 2422 720 | #define SCI_GETSELECTIONMODE 2423 721 | #define SCI_GETLINESELSTARTPOSITION 2424 722 | #define SCI_GETLINESELENDPOSITION 2425 723 | #define SCI_LINEDOWNRECTEXTEND 2426 724 | #define SCI_LINEUPRECTEXTEND 2427 725 | #define SCI_CHARLEFTRECTEXTEND 2428 726 | #define SCI_CHARRIGHTRECTEXTEND 2429 727 | #define SCI_HOMERECTEXTEND 2430 728 | #define SCI_VCHOMERECTEXTEND 2431 729 | #define SCI_LINEENDRECTEXTEND 2432 730 | #define SCI_PAGEUPRECTEXTEND 2433 731 | #define SCI_PAGEDOWNRECTEXTEND 2434 732 | #define SCI_STUTTEREDPAGEUP 2435 733 | #define SCI_STUTTEREDPAGEUPEXTEND 2436 734 | #define SCI_STUTTEREDPAGEDOWN 2437 735 | #define SCI_STUTTEREDPAGEDOWNEXTEND 2438 736 | #define SCI_WORDLEFTEND 2439 737 | #define SCI_WORDLEFTENDEXTEND 2440 738 | #define SCI_WORDRIGHTEND 2441 739 | #define SCI_WORDRIGHTENDEXTEND 2442 740 | #define SCI_SETWHITESPACECHARS 2443 741 | #define SCI_GETWHITESPACECHARS 2647 742 | #define SCI_SETPUNCTUATIONCHARS 2648 743 | #define SCI_GETPUNCTUATIONCHARS 2649 744 | #define SCI_SETCHARSDEFAULT 2444 745 | #define SCI_AUTOCGETCURRENT 2445 746 | #define SCI_AUTOCGETCURRENTTEXT 2610 747 | #define SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE 0 748 | #define SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE 1 749 | #define SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR 2634 750 | #define SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR 2635 751 | #define SC_MULTIAUTOC_ONCE 0 752 | #define SC_MULTIAUTOC_EACH 1 753 | #define SCI_AUTOCSETMULTI 2636 754 | #define SCI_AUTOCGETMULTI 2637 755 | #define SC_ORDER_PRESORTED 0 756 | #define SC_ORDER_PERFORMSORT 1 757 | #define SC_ORDER_CUSTOM 2 758 | #define SCI_AUTOCSETORDER 2660 759 | #define SCI_AUTOCGETORDER 2661 760 | #define SCI_ALLOCATE 2446 761 | #define SCI_TARGETASUTF8 2447 762 | #define SCI_SETLENGTHFORENCODE 2448 763 | #define SCI_ENCODEDFROMUTF8 2449 764 | #define SCI_FINDCOLUMN 2456 765 | #define SCI_GETCARETSTICKY 2457 766 | #define SCI_SETCARETSTICKY 2458 767 | #define SC_CARETSTICKY_OFF 0 768 | #define SC_CARETSTICKY_ON 1 769 | #define SC_CARETSTICKY_WHITESPACE 2 770 | #define SCI_TOGGLECARETSTICKY 2459 771 | #define SCI_SETPASTECONVERTENDINGS 2467 772 | #define SCI_GETPASTECONVERTENDINGS 2468 773 | #define SCI_SELECTIONDUPLICATE 2469 774 | #define SC_ALPHA_TRANSPARENT 0 775 | #define SC_ALPHA_OPAQUE 255 776 | #define SC_ALPHA_NOALPHA 256 777 | #define SCI_SETCARETLINEBACKALPHA 2470 778 | #define SCI_GETCARETLINEBACKALPHA 2471 779 | #define CARETSTYLE_INVISIBLE 0 780 | #define CARETSTYLE_LINE 1 781 | #define CARETSTYLE_BLOCK 2 782 | #define SCI_SETCARETSTYLE 2512 783 | #define SCI_GETCARETSTYLE 2513 784 | #define SCI_SETINDICATORCURRENT 2500 785 | #define SCI_GETINDICATORCURRENT 2501 786 | #define SCI_SETINDICATORVALUE 2502 787 | #define SCI_GETINDICATORVALUE 2503 788 | #define SCI_INDICATORFILLRANGE 2504 789 | #define SCI_INDICATORCLEARRANGE 2505 790 | #define SCI_INDICATORALLONFOR 2506 791 | #define SCI_INDICATORVALUEAT 2507 792 | #define SCI_INDICATORSTART 2508 793 | #define SCI_INDICATOREND 2509 794 | #define SCI_SETPOSITIONCACHE 2514 795 | #define SCI_GETPOSITIONCACHE 2515 796 | #define SCI_COPYALLOWLINE 2519 797 | #define SCI_GETCHARACTERPOINTER 2520 798 | #define SCI_GETRANGEPOINTER 2643 799 | #define SCI_GETGAPPOSITION 2644 800 | #define SCI_INDICSETALPHA 2523 801 | #define SCI_INDICGETALPHA 2524 802 | #define SCI_INDICSETOUTLINEALPHA 2558 803 | #define SCI_INDICGETOUTLINEALPHA 2559 804 | #define SCI_SETEXTRAASCENT 2525 805 | #define SCI_GETEXTRAASCENT 2526 806 | #define SCI_SETEXTRADESCENT 2527 807 | #define SCI_GETEXTRADESCENT 2528 808 | #define SCI_MARKERSYMBOLDEFINED 2529 809 | #define SCI_MARGINSETTEXT 2530 810 | #define SCI_MARGINGETTEXT 2531 811 | #define SCI_MARGINSETSTYLE 2532 812 | #define SCI_MARGINGETSTYLE 2533 813 | #define SCI_MARGINSETSTYLES 2534 814 | #define SCI_MARGINGETSTYLES 2535 815 | #define SCI_MARGINTEXTCLEARALL 2536 816 | #define SCI_MARGINSETSTYLEOFFSET 2537 817 | #define SCI_MARGINGETSTYLEOFFSET 2538 818 | #define SC_MARGINOPTION_NONE 0 819 | #define SC_MARGINOPTION_SUBLINESELECT 1 820 | #define SCI_SETMARGINOPTIONS 2539 821 | #define SCI_GETMARGINOPTIONS 2557 822 | #define SCI_ANNOTATIONSETTEXT 2540 823 | #define SCI_ANNOTATIONGETTEXT 2541 824 | #define SCI_ANNOTATIONSETSTYLE 2542 825 | #define SCI_ANNOTATIONGETSTYLE 2543 826 | #define SCI_ANNOTATIONSETSTYLES 2544 827 | #define SCI_ANNOTATIONGETSTYLES 2545 828 | #define SCI_ANNOTATIONGETLINES 2546 829 | #define SCI_ANNOTATIONCLEARALL 2547 830 | #define ANNOTATION_HIDDEN 0 831 | #define ANNOTATION_STANDARD 1 832 | #define ANNOTATION_BOXED 2 833 | #define ANNOTATION_INDENTED 3 834 | #define SCI_ANNOTATIONSETVISIBLE 2548 835 | #define SCI_ANNOTATIONGETVISIBLE 2549 836 | #define SCI_ANNOTATIONSETSTYLEOFFSET 2550 837 | #define SCI_ANNOTATIONGETSTYLEOFFSET 2551 838 | #define SCI_RELEASEALLEXTENDEDSTYLES 2552 839 | #define SCI_ALLOCATEEXTENDEDSTYLES 2553 840 | #define UNDO_MAY_COALESCE 1 841 | #define SCI_ADDUNDOACTION 2560 842 | #define SCI_CHARPOSITIONFROMPOINT 2561 843 | #define SCI_CHARPOSITIONFROMPOINTCLOSE 2562 844 | #define SCI_SETMOUSESELECTIONRECTANGULARSWITCH 2668 845 | #define SCI_GETMOUSESELECTIONRECTANGULARSWITCH 2669 846 | #define SCI_SETMULTIPLESELECTION 2563 847 | #define SCI_GETMULTIPLESELECTION 2564 848 | #define SCI_SETADDITIONALSELECTIONTYPING 2565 849 | #define SCI_GETADDITIONALSELECTIONTYPING 2566 850 | #define SCI_SETADDITIONALCARETSBLINK 2567 851 | #define SCI_GETADDITIONALCARETSBLINK 2568 852 | #define SCI_SETADDITIONALCARETSVISIBLE 2608 853 | #define SCI_GETADDITIONALCARETSVISIBLE 2609 854 | #define SCI_GETSELECTIONS 2570 855 | #define SCI_GETSELECTIONEMPTY 2650 856 | #define SCI_CLEARSELECTIONS 2571 857 | #define SCI_SETSELECTION 2572 858 | #define SCI_ADDSELECTION 2573 859 | #define SCI_DROPSELECTIONN 2671 860 | #define SCI_SETMAINSELECTION 2574 861 | #define SCI_GETMAINSELECTION 2575 862 | #define SCI_SETSELECTIONNCARET 2576 863 | #define SCI_GETSELECTIONNCARET 2577 864 | #define SCI_SETSELECTIONNANCHOR 2578 865 | #define SCI_GETSELECTIONNANCHOR 2579 866 | #define SCI_SETSELECTIONNCARETVIRTUALSPACE 2580 867 | #define SCI_GETSELECTIONNCARETVIRTUALSPACE 2581 868 | #define SCI_SETSELECTIONNANCHORVIRTUALSPACE 2582 869 | #define SCI_GETSELECTIONNANCHORVIRTUALSPACE 2583 870 | #define SCI_SETSELECTIONNSTART 2584 871 | #define SCI_GETSELECTIONNSTART 2585 872 | #define SCI_SETSELECTIONNEND 2586 873 | #define SCI_GETSELECTIONNEND 2587 874 | #define SCI_SETRECTANGULARSELECTIONCARET 2588 875 | #define SCI_GETRECTANGULARSELECTIONCARET 2589 876 | #define SCI_SETRECTANGULARSELECTIONANCHOR 2590 877 | #define SCI_GETRECTANGULARSELECTIONANCHOR 2591 878 | #define SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE 2592 879 | #define SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE 2593 880 | #define SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE 2594 881 | #define SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE 2595 882 | #define SCVS_NONE 0 883 | #define SCVS_RECTANGULARSELECTION 1 884 | #define SCVS_USERACCESSIBLE 2 885 | #define SCI_SETVIRTUALSPACEOPTIONS 2596 886 | #define SCI_GETVIRTUALSPACEOPTIONS 2597 887 | #define SCI_SETRECTANGULARSELECTIONMODIFIER 2598 888 | #define SCI_GETRECTANGULARSELECTIONMODIFIER 2599 889 | #define SCI_SETADDITIONALSELFORE 2600 890 | #define SCI_SETADDITIONALSELBACK 2601 891 | #define SCI_SETADDITIONALSELALPHA 2602 892 | #define SCI_GETADDITIONALSELALPHA 2603 893 | #define SCI_SETADDITIONALCARETFORE 2604 894 | #define SCI_GETADDITIONALCARETFORE 2605 895 | #define SCI_ROTATESELECTION 2606 896 | #define SCI_SWAPMAINANCHORCARET 2607 897 | #define SCI_CHANGELEXERSTATE 2617 898 | #define SCI_CONTRACTEDFOLDNEXT 2618 899 | #define SCI_VERTICALCENTRECARET 2619 900 | #define SCI_MOVESELECTEDLINESUP 2620 901 | #define SCI_MOVESELECTEDLINESDOWN 2621 902 | #define SCI_SETIDENTIFIER 2622 903 | #define SCI_GETIDENTIFIER 2623 904 | #define SCI_RGBAIMAGESETWIDTH 2624 905 | #define SCI_RGBAIMAGESETHEIGHT 2625 906 | #define SCI_RGBAIMAGESETSCALE 2651 907 | #define SCI_MARKERDEFINERGBAIMAGE 2626 908 | #define SCI_REGISTERRGBAIMAGE 2627 909 | #define SCI_SCROLLTOSTART 2628 910 | #define SCI_SCROLLTOEND 2629 911 | #define SC_TECHNOLOGY_DEFAULT 0 912 | #define SC_TECHNOLOGY_DIRECTWRITE 1 913 | #define SC_TECHNOLOGY_DIRECTWRITERETAIN 2 914 | #define SC_TECHNOLOGY_DIRECTWRITEDC 3 915 | #define SCI_SETTECHNOLOGY 2630 916 | #define SCI_GETTECHNOLOGY 2631 917 | #define SCI_CREATELOADER 2632 918 | #define SCI_FINDINDICATORSHOW 2640 919 | #define SCI_FINDINDICATORFLASH 2641 920 | #define SCI_FINDINDICATORHIDE 2642 921 | #define SCI_VCHOMEDISPLAY 2652 922 | #define SCI_VCHOMEDISPLAYEXTEND 2653 923 | #define SCI_GETCARETLINEVISIBLEALWAYS 2654 924 | #define SCI_SETCARETLINEVISIBLEALWAYS 2655 925 | #define SC_LINE_END_TYPE_DEFAULT 0 926 | #define SC_LINE_END_TYPE_UNICODE 1 927 | #define SCI_SETLINEENDTYPESALLOWED 2656 928 | #define SCI_GETLINEENDTYPESALLOWED 2657 929 | #define SCI_GETLINEENDTYPESACTIVE 2658 930 | #define SCI_SETREPRESENTATION 2665 931 | #define SCI_GETREPRESENTATION 2666 932 | #define SCI_CLEARREPRESENTATION 2667 933 | #define SCI_STARTRECORD 3001 934 | #define SCI_STOPRECORD 3002 935 | #define SCI_SETLEXER 4001 936 | #define SCI_GETLEXER 4002 937 | #define SCI_COLOURISE 4003 938 | #define SCI_SETPROPERTY 4004 939 | // #define KEYWORDSET_MAX 8 940 | #define KEYWORDSET_MAX 30 941 | #define SCI_SETKEYWORDS 4005 942 | #define SCI_SETLEXERLANGUAGE 4006 943 | #define SCI_LOADLEXERLIBRARY 4007 944 | #define SCI_GETPROPERTY 4008 945 | #define SCI_GETPROPERTYEXPANDED 4009 946 | #define SCI_GETPROPERTYINT 4010 947 | #define SCI_GETSTYLEBITSNEEDED 4011 948 | #define SCI_GETLEXERLANGUAGE 4012 949 | #define SCI_PRIVATELEXERCALL 4013 950 | #define SCI_PROPERTYNAMES 4014 951 | #define SC_TYPE_BOOLEAN 0 952 | #define SC_TYPE_INTEGER 1 953 | #define SC_TYPE_STRING 2 954 | #define SCI_PROPERTYTYPE 4015 955 | #define SCI_DESCRIBEPROPERTY 4016 956 | #define SCI_DESCRIBEKEYWORDSETS 4017 957 | #define SCI_GETLINEENDTYPESSUPPORTED 4018 958 | #define SCI_ALLOCATESUBSTYLES 4020 959 | #define SCI_GETSUBSTYLESSTART 4021 960 | #define SCI_GETSUBSTYLESLENGTH 4022 961 | #define SCI_GETSTYLEFROMSUBSTYLE 4027 962 | #define SCI_GETPRIMARYSTYLEFROMSTYLE 4028 963 | #define SCI_FREESUBSTYLES 4023 964 | #define SCI_SETIDENTIFIERS 4024 965 | #define SCI_DISTANCETOSECONDARYSTYLES 4025 966 | #define SCI_GETSUBSTYLEBASES 4026 967 | #define SC_MOD_INSERTTEXT 0x1 968 | #define SC_MOD_DELETETEXT 0x2 969 | #define SC_MOD_CHANGESTYLE 0x4 970 | #define SC_MOD_CHANGEFOLD 0x8 971 | #define SC_PERFORMED_USER 0x10 972 | #define SC_PERFORMED_UNDO 0x20 973 | #define SC_PERFORMED_REDO 0x40 974 | #define SC_MULTISTEPUNDOREDO 0x80 975 | #define SC_LASTSTEPINUNDOREDO 0x100 976 | #define SC_MOD_CHANGEMARKER 0x200 977 | #define SC_MOD_BEFOREINSERT 0x400 978 | #define SC_MOD_BEFOREDELETE 0x800 979 | #define SC_MULTILINEUNDOREDO 0x1000 980 | #define SC_STARTACTION 0x2000 981 | #define SC_MOD_CHANGEINDICATOR 0x4000 982 | #define SC_MOD_CHANGELINESTATE 0x8000 983 | #define SC_MOD_CHANGEMARGIN 0x10000 984 | #define SC_MOD_CHANGEANNOTATION 0x20000 985 | #define SC_MOD_CONTAINER 0x40000 986 | #define SC_MOD_LEXERSTATE 0x80000 987 | #define SC_MOD_INSERTCHECK 0x100000 988 | #define SC_MOD_CHANGETABSTOPS 0x200000 989 | #define SC_MODEVENTMASKALL 0x3FFFFF 990 | #define SC_SEARCHRESULT_LINEBUFFERMAXLENGTH 1024 991 | #define SC_UPDATE_CONTENT 0x1 992 | #define SC_UPDATE_SELECTION 0x2 993 | #define SC_UPDATE_V_SCROLL 0x4 994 | #define SC_UPDATE_H_SCROLL 0x8 995 | #define SCEN_CHANGE 768 996 | #define SCEN_SETFOCUS 512 997 | #define SCEN_KILLFOCUS 256 998 | #define SCK_DOWN 300 999 | #define SCK_UP 301 1000 | #define SCK_LEFT 302 1001 | #define SCK_RIGHT 303 1002 | #define SCK_HOME 304 1003 | #define SCK_END 305 1004 | #define SCK_PRIOR 306 1005 | #define SCK_NEXT 307 1006 | #define SCK_DELETE 308 1007 | #define SCK_INSERT 309 1008 | #define SCK_ESCAPE 7 1009 | #define SCK_BACK 8 1010 | #define SCK_TAB 9 1011 | #define SCK_RETURN 13 1012 | #define SCK_ADD 310 1013 | #define SCK_SUBTRACT 311 1014 | #define SCK_DIVIDE 312 1015 | #define SCK_WIN 313 1016 | #define SCK_RWIN 314 1017 | #define SCK_MENU 315 1018 | #define SCMOD_NORM 0 1019 | #define SCMOD_SHIFT 1 1020 | #define SCMOD_CTRL 2 1021 | #define SCMOD_ALT 4 1022 | #define SCMOD_SUPER 8 1023 | #define SCMOD_META 16 1024 | #define SCN_STYLENEEDED 2000 1025 | #define SCN_CHARADDED 2001 1026 | #define SCN_SAVEPOINTREACHED 2002 1027 | #define SCN_SAVEPOINTLEFT 2003 1028 | #define SCN_MODIFYATTEMPTRO 2004 1029 | #define SCN_KEY 2005 1030 | #define SCN_DOUBLECLICK 2006 1031 | #define SCN_UPDATEUI 2007 1032 | #define SCN_MODIFIED 2008 1033 | #define SCN_MACRORECORD 2009 1034 | #define SCN_MARGINCLICK 2010 1035 | #define SCN_NEEDSHOWN 2011 1036 | #define SCN_PAINTED 2013 1037 | #define SCN_USERLISTSELECTION 2014 1038 | #define SCN_URIDROPPED 2015 1039 | #define SCN_DWELLSTART 2016 1040 | #define SCN_DWELLEND 2017 1041 | #define SCN_ZOOM 2018 1042 | #define SCN_HOTSPOTCLICK 2019 1043 | #define SCN_HOTSPOTDOUBLECLICK 2020 1044 | #define SCN_CALLTIPCLICK 2021 1045 | #define SCN_AUTOCSELECTION 2022 1046 | #define SCN_INDICATORCLICK 2023 1047 | #define SCN_INDICATORRELEASE 2024 1048 | #define SCN_AUTOCCANCELLED 2025 1049 | #define SCN_AUTOCCHARDELETED 2026 1050 | #define SCN_HOTSPOTRELEASECLICK 2027 1051 | #define SCN_FOCUSIN 2028 1052 | #define SCN_FOCUSOUT 2029 1053 | #define SCN_SCROLLED 2080 1054 | #define SCN_FOLDINGSTATECHANGED 2081 1055 | /* --Autogenerated -- end of section automatically generated from Scintilla.iface */ 1056 | 1057 | /* These structures are defined to be exactly the same shape as the Win32 1058 | * CHARRANGE, TEXTRANGE, FINDTEXTEX, FORMATRANGE, and NMHDR structs. 1059 | * So older code that treats Scintilla as a RichEdit will work. */ 1060 | 1061 | #if defined(__cplusplus) && defined(SCI_NAMESPACE) 1062 | namespace Scintilla { 1063 | #endif 1064 | 1065 | struct Sci_CharacterRange { 1066 | long cpMin; 1067 | long cpMax; 1068 | }; 1069 | 1070 | struct Sci_TextRange { 1071 | struct Sci_CharacterRange chrg; 1072 | char *lpstrText; 1073 | }; 1074 | 1075 | struct Sci_TextToFind { 1076 | struct Sci_CharacterRange chrg; 1077 | const char *lpstrText; 1078 | struct Sci_CharacterRange chrgText; 1079 | }; 1080 | 1081 | #define CharacterRange Sci_CharacterRange 1082 | #define TextRange Sci_TextRange 1083 | #define TextToFind Sci_TextToFind 1084 | 1085 | typedef void *Sci_SurfaceID; 1086 | 1087 | struct Sci_Rectangle { 1088 | int left; 1089 | int top; 1090 | int right; 1091 | int bottom; 1092 | }; 1093 | 1094 | /* This structure is used in printing and requires some of the graphics types 1095 | * from Platform.h. Not needed by most client code. */ 1096 | 1097 | struct Sci_RangeToFormat { 1098 | Sci_SurfaceID hdc; 1099 | Sci_SurfaceID hdcTarget; 1100 | struct Sci_Rectangle rc; 1101 | struct Sci_Rectangle rcPage; 1102 | struct Sci_CharacterRange chrg; 1103 | }; 1104 | 1105 | #define RangeToFormat Sci_RangeToFormat 1106 | 1107 | struct Sci_NotifyHeader { 1108 | /* Compatible with Windows NMHDR. 1109 | * hwndFrom is really an environment specific window handle or pointer 1110 | * but most clients of Scintilla.h do not have this type visible. */ 1111 | void *hwndFrom; 1112 | uptr_t idFrom; 1113 | unsigned int code; 1114 | }; 1115 | 1116 | #define NotifyHeader Sci_NotifyHeader 1117 | 1118 | struct SCNotification { 1119 | struct Sci_NotifyHeader nmhdr; 1120 | int position; 1121 | /* SCN_STYLENEEDED, SCN_DOUBLECLICK, SCN_MODIFIED, SCN_MARGINCLICK, */ 1122 | /* SCN_NEEDSHOWN, SCN_DWELLSTART, SCN_DWELLEND, SCN_CALLTIPCLICK, */ 1123 | /* SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, SCN_HOTSPOTRELEASECLICK, */ 1124 | /* SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */ 1125 | /* SCN_USERLISTSELECTION, SCN_AUTOCSELECTION */ 1126 | 1127 | int ch; /* SCN_CHARADDED, SCN_KEY */ 1128 | int modifiers; 1129 | /* SCN_KEY, SCN_DOUBLECLICK, SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, */ 1130 | /* SCN_HOTSPOTRELEASECLICK, SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */ 1131 | 1132 | int modificationType; /* SCN_MODIFIED */ 1133 | const char *text; 1134 | /* SCN_MODIFIED, SCN_USERLISTSELECTION, SCN_AUTOCSELECTION, SCN_URIDROPPED */ 1135 | 1136 | int length; /* SCN_MODIFIED */ 1137 | int linesAdded; /* SCN_MODIFIED */ 1138 | int message; /* SCN_MACRORECORD */ 1139 | uptr_t wParam; /* SCN_MACRORECORD */ 1140 | sptr_t lParam; /* SCN_MACRORECORD */ 1141 | int line; /* SCN_MODIFIED */ 1142 | int foldLevelNow; /* SCN_MODIFIED */ 1143 | int foldLevelPrev; /* SCN_MODIFIED */ 1144 | int margin; /* SCN_MARGINCLICK */ 1145 | int listType; /* SCN_USERLISTSELECTION */ 1146 | int x; /* SCN_DWELLSTART, SCN_DWELLEND */ 1147 | int y; /* SCN_DWELLSTART, SCN_DWELLEND */ 1148 | int token; /* SCN_MODIFIED with SC_MOD_CONTAINER */ 1149 | int annotationLinesAdded; /* SCN_MODIFIED with SC_MOD_CHANGEANNOTATION */ 1150 | int updated; /* SCN_UPDATEUI */ 1151 | }; 1152 | 1153 | struct SearchResultMarking { 1154 | long _start; 1155 | long _end; 1156 | }; 1157 | 1158 | struct SearchResultMarkings { 1159 | long _length; 1160 | SearchResultMarking *_markings; 1161 | }; 1162 | 1163 | #if defined(__cplusplus) && defined(SCI_NAMESPACE) 1164 | } 1165 | #endif 1166 | 1167 | #ifdef INCLUDE_DEPRECATED_FEATURES 1168 | 1169 | #define SC_CP_DBCS 1 1170 | #define SCI_SETUSEPALETTE 2039 1171 | #define SCI_GETUSEPALETTE 2139 1172 | #define SCI_SETKEYSUNICODE 2521 1173 | #define SCI_GETKEYSUNICODE 2522 1174 | 1175 | #endif 1176 | 1177 | #endif 1178 | -------------------------------------------------------------------------------- /RestApiToText/framework.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers 4 | // Windows Header Files 5 | #include 6 | -------------------------------------------------------------------------------- /RestApiToText/menuCmdID.h: -------------------------------------------------------------------------------- 1 | // This file is part of Notepad++ project 2 | // Copyright (C)2003 Don HO 3 | // 4 | // This program is free software; you can redistribute it and/or 5 | // modify it under the terms of the GNU General Public License 6 | // as published by the Free Software Foundation; either 7 | // version 2 of the License, or (at your option) any later version. 8 | // 9 | // Note that the GPL places important restrictions on "derived works", yet 10 | // it does not provide a detailed definition of that term. To avoid 11 | // misunderstandings, we consider an application to constitute a 12 | // "derivative work" for the purpose of this license if it does any of the 13 | // following: 14 | // 1. Integrates source code from Notepad++. 15 | // 2. Integrates/includes/aggregates Notepad++ into a proprietary executable 16 | // installer, such as those produced by InstallShield. 17 | // 3. Links to a library or executes a program that does any of the above. 18 | // 19 | // This program is distributed in the hope that it will be useful, 20 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 | // GNU General Public License for more details. 23 | // 24 | // You should have received a copy of the GNU General Public License 25 | // along with this program; if not, write to the Free Software 26 | // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 27 | 28 | 29 | #ifndef MENUCMDID_H 30 | #define MENUCMDID_H 31 | 32 | #define IDM 40000 33 | 34 | #define IDM_FILE (IDM + 1000) 35 | // IMPORTANT: If list below is modified, you have to change the value of IDM_FILEMENU_LASTONE and IDM_FILEMENU_EXISTCMDPOSITION 36 | #define IDM_FILE_NEW (IDM_FILE + 1) 37 | #define IDM_FILE_OPEN (IDM_FILE + 2) 38 | #define IDM_FILE_CLOSE (IDM_FILE + 3) 39 | #define IDM_FILE_CLOSEALL (IDM_FILE + 4) 40 | #define IDM_FILE_CLOSEALL_BUT_CURRENT (IDM_FILE + 5) 41 | #define IDM_FILE_SAVE (IDM_FILE + 6) 42 | #define IDM_FILE_SAVEALL (IDM_FILE + 7) 43 | #define IDM_FILE_SAVEAS (IDM_FILE + 8) 44 | #define IDM_FILE_CLOSEALL_TOLEFT (IDM_FILE + 9) 45 | #define IDM_FILE_PRINT (IDM_FILE + 10) 46 | #define IDM_FILE_PRINTNOW 1001 47 | #define IDM_FILE_EXIT (IDM_FILE + 11) 48 | #define IDM_FILE_LOADSESSION (IDM_FILE + 12) 49 | #define IDM_FILE_SAVESESSION (IDM_FILE + 13) 50 | #define IDM_FILE_RELOAD (IDM_FILE + 14) 51 | #define IDM_FILE_SAVECOPYAS (IDM_FILE + 15) 52 | #define IDM_FILE_DELETE (IDM_FILE + 16) 53 | #define IDM_FILE_RENAME (IDM_FILE + 17) 54 | #define IDM_FILE_CLOSEALL_TORIGHT (IDM_FILE + 18) 55 | #define IDM_FILE_OPEN_FOLDER (IDM_FILE + 19) 56 | #define IDM_FILE_OPEN_CMD (IDM_FILE + 20) 57 | #define IDM_FILE_RESTORELASTCLOSEDFILE (IDM_FILE + 21) 58 | #define IDM_FILE_OPENFOLDERASWORSPACE (IDM_FILE + 22) 59 | // IMPORTANT: If list above is modified, you have to change the following values: 60 | 61 | // To be updated if new menu item(s) is (are) added in menu "File" 62 | #define IDM_FILEMENU_LASTONE IDM_FILE_OPENFOLDERASWORSPACE 63 | 64 | // 0 based position of command "Exit" including the bars in the file menu 65 | // and without counting "Recent files history" items 66 | 67 | // 0 New 68 | // 1 Open... 69 | // 2 Open Containing Folder 70 | // 3 Open Folder as Workspace 71 | // 4 Reload from Disk 72 | // 5 Save 73 | // 6 Save As... 74 | // 7 Save a Copy As... 75 | // 8 Save All 76 | // 9 Rename... 77 | //10 Close 78 | //11 Close All 79 | //12 Close More 80 | //13 Move to Recycle Bin 81 | //14 -------- 82 | //15 Load Session... 83 | //16 Save Session... 84 | //17 -------- 85 | //18 Print... 86 | //19 Print Now 87 | //20 -------- 88 | //21 Exit 89 | #define IDM_FILEMENU_EXISTCMDPOSITION 21 90 | 91 | 92 | #define IDM_EDIT (IDM + 2000) 93 | #define IDM_EDIT_CUT (IDM_EDIT + 1) 94 | #define IDM_EDIT_COPY (IDM_EDIT + 2) 95 | #define IDM_EDIT_UNDO (IDM_EDIT + 3) 96 | #define IDM_EDIT_REDO (IDM_EDIT + 4) 97 | #define IDM_EDIT_PASTE (IDM_EDIT + 5) 98 | #define IDM_EDIT_DELETE (IDM_EDIT + 6) 99 | #define IDM_EDIT_SELECTALL (IDM_EDIT + 7) 100 | #define IDM_EDIT_BEGINENDSELECT (IDM_EDIT + 20) 101 | 102 | #define IDM_EDIT_INS_TAB (IDM_EDIT + 8) 103 | #define IDM_EDIT_RMV_TAB (IDM_EDIT + 9) 104 | #define IDM_EDIT_DUP_LINE (IDM_EDIT + 10) 105 | #define IDM_EDIT_TRANSPOSE_LINE (IDM_EDIT + 11) 106 | #define IDM_EDIT_SPLIT_LINES (IDM_EDIT + 12) 107 | #define IDM_EDIT_JOIN_LINES (IDM_EDIT + 13) 108 | #define IDM_EDIT_LINE_UP (IDM_EDIT + 14) 109 | #define IDM_EDIT_LINE_DOWN (IDM_EDIT + 15) 110 | #define IDM_EDIT_UPPERCASE (IDM_EDIT + 16) 111 | #define IDM_EDIT_LOWERCASE (IDM_EDIT + 17) 112 | #define IDM_EDIT_REMOVEEMPTYLINES (IDM_EDIT + 55) 113 | #define IDM_EDIT_REMOVEEMPTYLINESWITHBLANK (IDM_EDIT + 56) 114 | #define IDM_EDIT_BLANKLINEABOVECURRENT (IDM_EDIT + 57) 115 | #define IDM_EDIT_BLANKLINEBELOWCURRENT (IDM_EDIT + 58) 116 | #define IDM_EDIT_SORTLINES_LEXICOGRAPHIC_ASCENDING (IDM_EDIT + 59) 117 | #define IDM_EDIT_SORTLINES_LEXICOGRAPHIC_DESCENDING (IDM_EDIT + 60) 118 | #define IDM_EDIT_SORTLINES_INTEGER_ASCENDING (IDM_EDIT + 61) 119 | #define IDM_EDIT_SORTLINES_INTEGER_DESCENDING (IDM_EDIT + 62) 120 | #define IDM_EDIT_SORTLINES_DECIMALCOMMA_ASCENDING (IDM_EDIT + 63) 121 | #define IDM_EDIT_SORTLINES_DECIMALCOMMA_DESCENDING (IDM_EDIT + 64) 122 | #define IDM_EDIT_SORTLINES_DECIMALDOT_ASCENDING (IDM_EDIT + 65) 123 | #define IDM_EDIT_SORTLINES_DECIMALDOT_DESCENDING (IDM_EDIT + 66) 124 | 125 | // Menu macro 126 | #define IDM_MACRO_STARTRECORDINGMACRO (IDM_EDIT + 18) 127 | #define IDM_MACRO_STOPRECORDINGMACRO (IDM_EDIT + 19) 128 | #define IDM_MACRO_PLAYBACKRECORDEDMACRO (IDM_EDIT + 21) 129 | //----------- 130 | 131 | #define IDM_EDIT_BLOCK_COMMENT (IDM_EDIT + 22) 132 | #define IDM_EDIT_STREAM_COMMENT (IDM_EDIT + 23) 133 | #define IDM_EDIT_TRIMTRAILING (IDM_EDIT + 24) 134 | #define IDM_EDIT_TRIMLINEHEAD (IDM_EDIT + 42) 135 | #define IDM_EDIT_TRIM_BOTH (IDM_EDIT + 43) 136 | #define IDM_EDIT_EOL2WS (IDM_EDIT + 44) 137 | #define IDM_EDIT_TRIMALL (IDM_EDIT + 45) 138 | #define IDM_EDIT_TAB2SW (IDM_EDIT + 46) 139 | #define IDM_EDIT_SW2TAB_LEADING (IDM_EDIT + 53) 140 | #define IDM_EDIT_SW2TAB_ALL (IDM_EDIT + 54) 141 | #define IDM_EDIT_STREAM_UNCOMMENT (IDM_EDIT + 47) 142 | 143 | // Menu macro 144 | #define IDM_MACRO_SAVECURRENTMACRO (IDM_EDIT + 25) 145 | //----------- 146 | 147 | #define IDM_EDIT_RTL (IDM_EDIT + 26) 148 | #define IDM_EDIT_LTR (IDM_EDIT + 27) 149 | #define IDM_EDIT_SETREADONLY (IDM_EDIT + 28) 150 | #define IDM_EDIT_FULLPATHTOCLIP (IDM_EDIT + 29) 151 | #define IDM_EDIT_FILENAMETOCLIP (IDM_EDIT + 30) 152 | #define IDM_EDIT_CURRENTDIRTOCLIP (IDM_EDIT + 31) 153 | 154 | // Menu macro 155 | #define IDM_MACRO_RUNMULTIMACRODLG (IDM_EDIT + 32) 156 | //----------- 157 | 158 | #define IDM_EDIT_CLEARREADONLY (IDM_EDIT + 33) 159 | #define IDM_EDIT_COLUMNMODE (IDM_EDIT + 34) 160 | #define IDM_EDIT_BLOCK_COMMENT_SET (IDM_EDIT + 35) 161 | #define IDM_EDIT_BLOCK_UNCOMMENT (IDM_EDIT + 36) 162 | #define IDM_EDIT_COLUMNMODETIP (IDM_EDIT + 37) 163 | #define IDM_EDIT_PASTE_AS_HTML (IDM_EDIT + 38) 164 | #define IDM_EDIT_PASTE_AS_RTF (IDM_EDIT + 39) 165 | #define IDM_EDIT_COPY_BINARY (IDM_EDIT + 48) 166 | #define IDM_EDIT_CUT_BINARY (IDM_EDIT + 49) 167 | #define IDM_EDIT_PASTE_BINARY (IDM_EDIT + 50) 168 | #define IDM_EDIT_CHAR_PANEL (IDM_EDIT + 51) 169 | #define IDM_EDIT_CLIPBOARDHISTORY_PANEL (IDM_EDIT + 52) 170 | 171 | #define IDM_EDIT_AUTOCOMPLETE (50000 + 0) 172 | #define IDM_EDIT_AUTOCOMPLETE_CURRENTFILE (50000 + 1) 173 | #define IDM_EDIT_FUNCCALLTIP (50000 + 2) 174 | #define IDM_EDIT_AUTOCOMPLETE_PATH (50000 + 6) 175 | 176 | //Belong to MENU FILE 177 | #define IDM_OPEN_ALL_RECENT_FILE (IDM_EDIT + 40) 178 | #define IDM_CLEAN_RECENT_FILE_LIST (IDM_EDIT + 41) 179 | 180 | #define IDM_SEARCH (IDM + 3000) 181 | #define IDM_SEARCH_FIND (IDM_SEARCH + 1) 182 | #define IDM_SEARCH_FINDNEXT (IDM_SEARCH + 2) 183 | #define IDM_SEARCH_REPLACE (IDM_SEARCH + 3) 184 | #define IDM_SEARCH_GOTOLINE (IDM_SEARCH + 4) 185 | #define IDM_SEARCH_TOGGLE_BOOKMARK (IDM_SEARCH + 5) 186 | #define IDM_SEARCH_NEXT_BOOKMARK (IDM_SEARCH + 6) 187 | #define IDM_SEARCH_PREV_BOOKMARK (IDM_SEARCH + 7) 188 | #define IDM_SEARCH_CLEAR_BOOKMARKS (IDM_SEARCH + 8) 189 | #define IDM_SEARCH_GOTOMATCHINGBRACE (IDM_SEARCH + 9) 190 | #define IDM_SEARCH_FINDPREV (IDM_SEARCH + 10) 191 | #define IDM_SEARCH_FINDINCREMENT (IDM_SEARCH + 11) 192 | #define IDM_SEARCH_FINDINFILES (IDM_SEARCH + 13) 193 | #define IDM_SEARCH_VOLATILE_FINDNEXT (IDM_SEARCH + 14) 194 | #define IDM_SEARCH_VOLATILE_FINDPREV (IDM_SEARCH + 15) 195 | #define IDM_SEARCH_CUTMARKEDLINES (IDM_SEARCH + 18) 196 | #define IDM_SEARCH_COPYMARKEDLINES (IDM_SEARCH + 19) 197 | #define IDM_SEARCH_PASTEMARKEDLINES (IDM_SEARCH + 20) 198 | #define IDM_SEARCH_DELETEMARKEDLINES (IDM_SEARCH + 21) 199 | #define IDM_SEARCH_MARKALLEXT1 (IDM_SEARCH + 22) 200 | #define IDM_SEARCH_UNMARKALLEXT1 (IDM_SEARCH + 23) 201 | #define IDM_SEARCH_MARKALLEXT2 (IDM_SEARCH + 24) 202 | #define IDM_SEARCH_UNMARKALLEXT2 (IDM_SEARCH + 25) 203 | #define IDM_SEARCH_MARKALLEXT3 (IDM_SEARCH + 26) 204 | #define IDM_SEARCH_UNMARKALLEXT3 (IDM_SEARCH + 27) 205 | #define IDM_SEARCH_MARKALLEXT4 (IDM_SEARCH + 28) 206 | #define IDM_SEARCH_UNMARKALLEXT4 (IDM_SEARCH + 29) 207 | #define IDM_SEARCH_MARKALLEXT5 (IDM_SEARCH + 30) 208 | #define IDM_SEARCH_UNMARKALLEXT5 (IDM_SEARCH + 31) 209 | #define IDM_SEARCH_CLEARALLMARKS (IDM_SEARCH + 32) 210 | 211 | #define IDM_SEARCH_GOPREVMARKER1 (IDM_SEARCH + 33) 212 | #define IDM_SEARCH_GOPREVMARKER2 (IDM_SEARCH + 34) 213 | #define IDM_SEARCH_GOPREVMARKER3 (IDM_SEARCH + 35) 214 | #define IDM_SEARCH_GOPREVMARKER4 (IDM_SEARCH + 36) 215 | #define IDM_SEARCH_GOPREVMARKER5 (IDM_SEARCH + 37) 216 | #define IDM_SEARCH_GOPREVMARKER_DEF (IDM_SEARCH + 38) 217 | 218 | #define IDM_SEARCH_GONEXTMARKER1 (IDM_SEARCH + 39) 219 | #define IDM_SEARCH_GONEXTMARKER2 (IDM_SEARCH + 40) 220 | #define IDM_SEARCH_GONEXTMARKER3 (IDM_SEARCH + 41) 221 | #define IDM_SEARCH_GONEXTMARKER4 (IDM_SEARCH + 42) 222 | #define IDM_SEARCH_GONEXTMARKER5 (IDM_SEARCH + 43) 223 | #define IDM_SEARCH_GONEXTMARKER_DEF (IDM_SEARCH + 44) 224 | 225 | #define IDM_FOCUS_ON_FOUND_RESULTS (IDM_SEARCH + 45) 226 | #define IDM_SEARCH_GOTONEXTFOUND (IDM_SEARCH + 46) 227 | #define IDM_SEARCH_GOTOPREVFOUND (IDM_SEARCH + 47) 228 | 229 | #define IDM_SEARCH_SETANDFINDNEXT (IDM_SEARCH + 48) 230 | #define IDM_SEARCH_SETANDFINDPREV (IDM_SEARCH + 49) 231 | #define IDM_SEARCH_INVERSEMARKS (IDM_SEARCH + 50) 232 | #define IDM_SEARCH_DELETEUNMARKEDLINES (IDM_SEARCH + 51) 233 | #define IDM_SEARCH_FINDCHARINRANGE (IDM_SEARCH + 52) 234 | #define IDM_SEARCH_SELECTMATCHINGBRACES (IDM_SEARCH + 53) 235 | #define IDM_SEARCH_MARK (IDM_SEARCH + 54) 236 | 237 | #define IDM_MISC (IDM + 3500) 238 | #define IDM_FILESWITCHER_FILESCLOSE (IDM_MISC + 1) 239 | #define IDM_FILESWITCHER_FILESCLOSEOTHERS (IDM_MISC + 2) 240 | 241 | 242 | #define IDM_VIEW (IDM + 4000) 243 | //#define IDM_VIEW_TOOLBAR_HIDE (IDM_VIEW + 1) 244 | #define IDM_VIEW_TOOLBAR_REDUCE (IDM_VIEW + 2) 245 | #define IDM_VIEW_TOOLBAR_ENLARGE (IDM_VIEW + 3) 246 | #define IDM_VIEW_TOOLBAR_STANDARD (IDM_VIEW + 4) 247 | #define IDM_VIEW_REDUCETABBAR (IDM_VIEW + 5) 248 | #define IDM_VIEW_LOCKTABBAR (IDM_VIEW + 6) 249 | #define IDM_VIEW_DRAWTABBAR_TOPBAR (IDM_VIEW + 7) 250 | #define IDM_VIEW_DRAWTABBAR_INACIVETAB (IDM_VIEW + 8) 251 | #define IDM_VIEW_POSTIT (IDM_VIEW + 9) 252 | #define IDM_VIEW_TOGGLE_FOLDALL (IDM_VIEW + 10) 253 | //#define IDM_VIEW_USER_DLG (IDM_VIEW + 11) 254 | #define IDM_VIEW_LINENUMBER (IDM_VIEW + 12) 255 | #define IDM_VIEW_SYMBOLMARGIN (IDM_VIEW + 13) 256 | #define IDM_VIEW_FOLDERMAGIN (IDM_VIEW + 14) 257 | #define IDM_VIEW_FOLDERMAGIN_SIMPLE (IDM_VIEW + 15) 258 | #define IDM_VIEW_FOLDERMAGIN_ARROW (IDM_VIEW + 16) 259 | #define IDM_VIEW_FOLDERMAGIN_CIRCLE (IDM_VIEW + 17) 260 | #define IDM_VIEW_FOLDERMAGIN_BOX (IDM_VIEW + 18) 261 | #define IDM_VIEW_ALL_CHARACTERS (IDM_VIEW + 19) 262 | #define IDM_VIEW_INDENT_GUIDE (IDM_VIEW + 20) 263 | #define IDM_VIEW_CURLINE_HILITING (IDM_VIEW + 21) 264 | #define IDM_VIEW_WRAP (IDM_VIEW + 22) 265 | #define IDM_VIEW_ZOOMIN (IDM_VIEW + 23) 266 | #define IDM_VIEW_ZOOMOUT (IDM_VIEW + 24) 267 | #define IDM_VIEW_TAB_SPACE (IDM_VIEW + 25) 268 | #define IDM_VIEW_EOL (IDM_VIEW + 26) 269 | #define IDM_VIEW_EDGELINE (IDM_VIEW + 27) 270 | #define IDM_VIEW_EDGEBACKGROUND (IDM_VIEW + 28) 271 | #define IDM_VIEW_TOGGLE_UNFOLDALL (IDM_VIEW + 29) 272 | #define IDM_VIEW_FOLD_CURRENT (IDM_VIEW + 30) 273 | #define IDM_VIEW_UNFOLD_CURRENT (IDM_VIEW + 31) 274 | #define IDM_VIEW_FULLSCREENTOGGLE (IDM_VIEW + 32) 275 | #define IDM_VIEW_ZOOMRESTORE (IDM_VIEW + 33) 276 | #define IDM_VIEW_ALWAYSONTOP (IDM_VIEW + 34) 277 | #define IDM_VIEW_SYNSCROLLV (IDM_VIEW + 35) 278 | #define IDM_VIEW_SYNSCROLLH (IDM_VIEW + 36) 279 | #define IDM_VIEW_EDGENONE (IDM_VIEW + 37) 280 | #define IDM_VIEW_DRAWTABBAR_CLOSEBOTTUN (IDM_VIEW + 38) 281 | #define IDM_VIEW_DRAWTABBAR_DBCLK2CLOSE (IDM_VIEW + 39) 282 | #define IDM_VIEW_REFRESHTABAR (IDM_VIEW + 40) 283 | #define IDM_VIEW_WRAP_SYMBOL (IDM_VIEW + 41) 284 | #define IDM_VIEW_HIDELINES (IDM_VIEW + 42) 285 | #define IDM_VIEW_DRAWTABBAR_VERTICAL (IDM_VIEW + 43) 286 | #define IDM_VIEW_DRAWTABBAR_MULTILINE (IDM_VIEW + 44) 287 | #define IDM_VIEW_DOCCHANGEMARGIN (IDM_VIEW + 45) 288 | #define IDM_VIEW_LWDEF (IDM_VIEW + 46) 289 | #define IDM_VIEW_LWALIGN (IDM_VIEW + 47) 290 | #define IDM_VIEW_LWINDENT (IDM_VIEW + 48) 291 | #define IDM_VIEW_SUMMARY (IDM_VIEW + 49) 292 | 293 | #define IDM_VIEW_FOLD (IDM_VIEW + 50) 294 | #define IDM_VIEW_FOLD_1 (IDM_VIEW_FOLD + 1) 295 | #define IDM_VIEW_FOLD_2 (IDM_VIEW_FOLD + 2) 296 | #define IDM_VIEW_FOLD_3 (IDM_VIEW_FOLD + 3) 297 | #define IDM_VIEW_FOLD_4 (IDM_VIEW_FOLD + 4) 298 | #define IDM_VIEW_FOLD_5 (IDM_VIEW_FOLD + 5) 299 | #define IDM_VIEW_FOLD_6 (IDM_VIEW_FOLD + 6) 300 | #define IDM_VIEW_FOLD_7 (IDM_VIEW_FOLD + 7) 301 | #define IDM_VIEW_FOLD_8 (IDM_VIEW_FOLD + 8) 302 | 303 | #define IDM_VIEW_UNFOLD (IDM_VIEW + 60) 304 | #define IDM_VIEW_UNFOLD_1 (IDM_VIEW_UNFOLD + 1) 305 | #define IDM_VIEW_UNFOLD_2 (IDM_VIEW_UNFOLD + 2) 306 | #define IDM_VIEW_UNFOLD_3 (IDM_VIEW_UNFOLD + 3) 307 | #define IDM_VIEW_UNFOLD_4 (IDM_VIEW_UNFOLD + 4) 308 | #define IDM_VIEW_UNFOLD_5 (IDM_VIEW_UNFOLD + 5) 309 | #define IDM_VIEW_UNFOLD_6 (IDM_VIEW_UNFOLD + 6) 310 | #define IDM_VIEW_UNFOLD_7 (IDM_VIEW_UNFOLD + 7) 311 | #define IDM_VIEW_UNFOLD_8 (IDM_VIEW_UNFOLD + 8) 312 | 313 | #define IDM_VIEW_FILESWITCHER_PANEL (IDM_VIEW + 70) 314 | #define IDM_VIEW_SWITCHTO_OTHER_VIEW (IDM_VIEW + 72) 315 | 316 | #define IDM_VIEW_DOC_MAP (IDM_VIEW + 80) 317 | 318 | #define IDM_VIEW_PROJECT_PANEL_1 (IDM_VIEW + 81) 319 | #define IDM_VIEW_PROJECT_PANEL_2 (IDM_VIEW + 82) 320 | #define IDM_VIEW_PROJECT_PANEL_3 (IDM_VIEW + 83) 321 | 322 | #define IDM_VIEW_FUNC_LIST (IDM_VIEW + 84) 323 | #define IDM_VIEW_FILEBROWSER (IDM_VIEW + 85) 324 | 325 | #define IDM_VIEW_TAB1 (IDM_VIEW + 86) 326 | #define IDM_VIEW_TAB2 (IDM_VIEW + 87) 327 | #define IDM_VIEW_TAB3 (IDM_VIEW + 88) 328 | #define IDM_VIEW_TAB4 (IDM_VIEW + 89) 329 | #define IDM_VIEW_TAB5 (IDM_VIEW + 90) 330 | #define IDM_VIEW_TAB6 (IDM_VIEW + 91) 331 | #define IDM_VIEW_TAB7 (IDM_VIEW + 92) 332 | #define IDM_VIEW_TAB8 (IDM_VIEW + 93) 333 | #define IDM_VIEW_TAB9 (IDM_VIEW + 94) 334 | #define IDM_VIEW_TAB_NEXT (IDM_VIEW + 95) 335 | #define IDM_VIEW_TAB_PREV (IDM_VIEW + 96) 336 | #define IDM_VIEW_MONITORING (IDM_VIEW + 97) 337 | 338 | #define IDM_VIEW_GOTO_ANOTHER_VIEW 10001 339 | #define IDM_VIEW_CLONE_TO_ANOTHER_VIEW 10002 340 | #define IDM_VIEW_GOTO_NEW_INSTANCE 10003 341 | #define IDM_VIEW_LOAD_IN_NEW_INSTANCE 10004 342 | 343 | 344 | #define IDM_FORMAT (IDM + 5000) 345 | #define IDM_FORMAT_TODOS (IDM_FORMAT + 1) 346 | #define IDM_FORMAT_TOUNIX (IDM_FORMAT + 2) 347 | #define IDM_FORMAT_TOMAC (IDM_FORMAT + 3) 348 | #define IDM_FORMAT_ANSI (IDM_FORMAT + 4) 349 | #define IDM_FORMAT_UTF_8 (IDM_FORMAT + 5) 350 | #define IDM_FORMAT_UCS_2BE (IDM_FORMAT + 6) 351 | #define IDM_FORMAT_UCS_2LE (IDM_FORMAT + 7) 352 | #define IDM_FORMAT_AS_UTF_8 (IDM_FORMAT + 8) 353 | #define IDM_FORMAT_CONV2_ANSI (IDM_FORMAT + 9) 354 | #define IDM_FORMAT_CONV2_AS_UTF_8 (IDM_FORMAT + 10) 355 | #define IDM_FORMAT_CONV2_UTF_8 (IDM_FORMAT + 11) 356 | #define IDM_FORMAT_CONV2_UCS_2BE (IDM_FORMAT + 12) 357 | #define IDM_FORMAT_CONV2_UCS_2LE (IDM_FORMAT + 13) 358 | 359 | #define IDM_FORMAT_ENCODE (IDM_FORMAT + 20) 360 | #define IDM_FORMAT_WIN_1250 (IDM_FORMAT_ENCODE + 0) 361 | #define IDM_FORMAT_WIN_1251 (IDM_FORMAT_ENCODE + 1) 362 | #define IDM_FORMAT_WIN_1252 (IDM_FORMAT_ENCODE + 2) 363 | #define IDM_FORMAT_WIN_1253 (IDM_FORMAT_ENCODE + 3) 364 | #define IDM_FORMAT_WIN_1254 (IDM_FORMAT_ENCODE + 4) 365 | #define IDM_FORMAT_WIN_1255 (IDM_FORMAT_ENCODE + 5) 366 | #define IDM_FORMAT_WIN_1256 (IDM_FORMAT_ENCODE + 6) 367 | #define IDM_FORMAT_WIN_1257 (IDM_FORMAT_ENCODE + 7) 368 | #define IDM_FORMAT_WIN_1258 (IDM_FORMAT_ENCODE + 8) 369 | #define IDM_FORMAT_ISO_8859_1 (IDM_FORMAT_ENCODE + 9) 370 | #define IDM_FORMAT_ISO_8859_2 (IDM_FORMAT_ENCODE + 10) 371 | #define IDM_FORMAT_ISO_8859_3 (IDM_FORMAT_ENCODE + 11) 372 | #define IDM_FORMAT_ISO_8859_4 (IDM_FORMAT_ENCODE + 12) 373 | #define IDM_FORMAT_ISO_8859_5 (IDM_FORMAT_ENCODE + 13) 374 | #define IDM_FORMAT_ISO_8859_6 (IDM_FORMAT_ENCODE + 14) 375 | #define IDM_FORMAT_ISO_8859_7 (IDM_FORMAT_ENCODE + 15) 376 | #define IDM_FORMAT_ISO_8859_8 (IDM_FORMAT_ENCODE + 16) 377 | #define IDM_FORMAT_ISO_8859_9 (IDM_FORMAT_ENCODE + 17) 378 | #define IDM_FORMAT_ISO_8859_10 (IDM_FORMAT_ENCODE + 18) 379 | #define IDM_FORMAT_ISO_8859_11 (IDM_FORMAT_ENCODE + 19) 380 | #define IDM_FORMAT_ISO_8859_13 (IDM_FORMAT_ENCODE + 20) 381 | #define IDM_FORMAT_ISO_8859_14 (IDM_FORMAT_ENCODE + 21) 382 | #define IDM_FORMAT_ISO_8859_15 (IDM_FORMAT_ENCODE + 22) 383 | #define IDM_FORMAT_ISO_8859_16 (IDM_FORMAT_ENCODE + 23) 384 | #define IDM_FORMAT_DOS_437 (IDM_FORMAT_ENCODE + 24) 385 | #define IDM_FORMAT_DOS_720 (IDM_FORMAT_ENCODE + 25) 386 | #define IDM_FORMAT_DOS_737 (IDM_FORMAT_ENCODE + 26) 387 | #define IDM_FORMAT_DOS_775 (IDM_FORMAT_ENCODE + 27) 388 | #define IDM_FORMAT_DOS_850 (IDM_FORMAT_ENCODE + 28) 389 | #define IDM_FORMAT_DOS_852 (IDM_FORMAT_ENCODE + 29) 390 | #define IDM_FORMAT_DOS_855 (IDM_FORMAT_ENCODE + 30) 391 | #define IDM_FORMAT_DOS_857 (IDM_FORMAT_ENCODE + 31) 392 | #define IDM_FORMAT_DOS_858 (IDM_FORMAT_ENCODE + 32) 393 | #define IDM_FORMAT_DOS_860 (IDM_FORMAT_ENCODE + 33) 394 | #define IDM_FORMAT_DOS_861 (IDM_FORMAT_ENCODE + 34) 395 | #define IDM_FORMAT_DOS_862 (IDM_FORMAT_ENCODE + 35) 396 | #define IDM_FORMAT_DOS_863 (IDM_FORMAT_ENCODE + 36) 397 | #define IDM_FORMAT_DOS_865 (IDM_FORMAT_ENCODE + 37) 398 | #define IDM_FORMAT_DOS_866 (IDM_FORMAT_ENCODE + 38) 399 | #define IDM_FORMAT_DOS_869 (IDM_FORMAT_ENCODE + 39) 400 | #define IDM_FORMAT_BIG5 (IDM_FORMAT_ENCODE + 40) 401 | #define IDM_FORMAT_GB2312 (IDM_FORMAT_ENCODE + 41) 402 | #define IDM_FORMAT_SHIFT_JIS (IDM_FORMAT_ENCODE + 42) 403 | #define IDM_FORMAT_KOREAN_WIN (IDM_FORMAT_ENCODE + 43) 404 | #define IDM_FORMAT_EUC_KR (IDM_FORMAT_ENCODE + 44) 405 | #define IDM_FORMAT_TIS_620 (IDM_FORMAT_ENCODE + 45) 406 | #define IDM_FORMAT_MAC_CYRILLIC (IDM_FORMAT_ENCODE + 46) 407 | #define IDM_FORMAT_KOI8U_CYRILLIC (IDM_FORMAT_ENCODE + 47) 408 | #define IDM_FORMAT_KOI8R_CYRILLIC (IDM_FORMAT_ENCODE + 48) 409 | #define IDM_FORMAT_ENCODE_END IDM_FORMAT_KOI8R_CYRILLIC 410 | 411 | //#define IDM_FORMAT_CONVERT 200 412 | 413 | #define IDM_LANG (IDM + 6000) 414 | #define IDM_LANGSTYLE_CONFIG_DLG (IDM_LANG + 1) 415 | #define IDM_LANG_C (IDM_LANG + 2) 416 | #define IDM_LANG_CPP (IDM_LANG + 3) 417 | #define IDM_LANG_JAVA (IDM_LANG + 4) 418 | #define IDM_LANG_HTML (IDM_LANG + 5) 419 | #define IDM_LANG_XML (IDM_LANG + 6) 420 | #define IDM_LANG_JS (IDM_LANG + 7) 421 | #define IDM_LANG_PHP (IDM_LANG + 8) 422 | #define IDM_LANG_ASP (IDM_LANG + 9) 423 | #define IDM_LANG_CSS (IDM_LANG + 10) 424 | #define IDM_LANG_PASCAL (IDM_LANG + 11) 425 | #define IDM_LANG_PYTHON (IDM_LANG + 12) 426 | #define IDM_LANG_PERL (IDM_LANG + 13) 427 | #define IDM_LANG_OBJC (IDM_LANG + 14) 428 | #define IDM_LANG_ASCII (IDM_LANG + 15) 429 | #define IDM_LANG_TEXT (IDM_LANG + 16) 430 | #define IDM_LANG_RC (IDM_LANG + 17) 431 | #define IDM_LANG_MAKEFILE (IDM_LANG + 18) 432 | #define IDM_LANG_INI (IDM_LANG + 19) 433 | #define IDM_LANG_SQL (IDM_LANG + 20) 434 | #define IDM_LANG_VB (IDM_LANG + 21) 435 | #define IDM_LANG_BATCH (IDM_LANG + 22) 436 | #define IDM_LANG_CS (IDM_LANG + 23) 437 | #define IDM_LANG_LUA (IDM_LANG + 24) 438 | #define IDM_LANG_TEX (IDM_LANG + 25) 439 | #define IDM_LANG_FORTRAN (IDM_LANG + 26) 440 | #define IDM_LANG_BASH (IDM_LANG + 27) 441 | #define IDM_LANG_FLASH (IDM_LANG + 28) 442 | #define IDM_LANG_NSIS (IDM_LANG + 29) 443 | #define IDM_LANG_TCL (IDM_LANG + 30) 444 | #define IDM_LANG_LISP (IDM_LANG + 31) 445 | #define IDM_LANG_SCHEME (IDM_LANG + 32) 446 | #define IDM_LANG_ASM (IDM_LANG + 33) 447 | #define IDM_LANG_DIFF (IDM_LANG + 34) 448 | #define IDM_LANG_PROPS (IDM_LANG + 35) 449 | #define IDM_LANG_PS (IDM_LANG + 36) 450 | #define IDM_LANG_RUBY (IDM_LANG + 37) 451 | #define IDM_LANG_SMALLTALK (IDM_LANG + 38) 452 | #define IDM_LANG_VHDL (IDM_LANG + 39) 453 | #define IDM_LANG_CAML (IDM_LANG + 40) 454 | #define IDM_LANG_KIX (IDM_LANG + 41) 455 | #define IDM_LANG_ADA (IDM_LANG + 42) 456 | #define IDM_LANG_VERILOG (IDM_LANG + 43) 457 | #define IDM_LANG_AU3 (IDM_LANG + 44) 458 | #define IDM_LANG_MATLAB (IDM_LANG + 45) 459 | #define IDM_LANG_HASKELL (IDM_LANG + 46) 460 | #define IDM_LANG_INNO (IDM_LANG + 47) 461 | #define IDM_LANG_CMAKE (IDM_LANG + 48) 462 | #define IDM_LANG_YAML (IDM_LANG + 49) 463 | #define IDM_LANG_COBOL (IDM_LANG + 50) 464 | #define IDM_LANG_D (IDM_LANG + 51) 465 | #define IDM_LANG_GUI4CLI (IDM_LANG + 52) 466 | #define IDM_LANG_POWERSHELL (IDM_LANG + 53) 467 | #define IDM_LANG_R (IDM_LANG + 54) 468 | #define IDM_LANG_JSP (IDM_LANG + 55) 469 | #define IDM_LANG_COFFEESCRIPT (IDM_LANG + 56) 470 | #define IDM_LANG_JSON (IDM_LANG + 57) 471 | #define IDM_LANG_FORTRAN_77 (IDM_LANG + 58) 472 | 473 | #define IDM_LANG_EXTERNAL (IDM_LANG + 65) 474 | #define IDM_LANG_EXTERNAL_LIMIT (IDM_LANG + 79) 475 | 476 | #define IDM_LANG_USER (IDM_LANG + 80) //46080 477 | #define IDM_LANG_USER_LIMIT (IDM_LANG + 110) //46110 478 | #define IDM_LANG_USER_DLG (IDM_LANG + 150) 479 | 480 | 481 | 482 | #define IDM_ABOUT (IDM + 7000) 483 | #define IDM_HOMESWEETHOME (IDM_ABOUT + 1) 484 | #define IDM_PROJECTPAGE (IDM_ABOUT + 2) 485 | #define IDM_ONLINEHELP (IDM_ABOUT + 3) 486 | #define IDM_FORUM (IDM_ABOUT + 4) 487 | #define IDM_PLUGINSHOME (IDM_ABOUT + 5) 488 | #define IDM_UPDATE_NPP (IDM_ABOUT + 6) 489 | #define IDM_WIKIFAQ (IDM_ABOUT + 7) 490 | #define IDM_HELP (IDM_ABOUT + 8) 491 | #define IDM_CONFUPDATERPROXY (IDM_ABOUT + 9) 492 | #define IDM_CMDLINEARGUMENTS (IDM_ABOUT + 10) 493 | #define IDM_ONLINESUPPORT (IDM_ABOUT + 11) 494 | #define IDM_DEBUGINFO (IDM_ABOUT + 12) 495 | 496 | 497 | #define IDM_SETTING (IDM + 8000) 498 | // #define IDM_SETTING_TAB_SIZE (IDM_SETTING + 1) 499 | // #define IDM_SETTING_TAB_REPLCESPACE (IDM_SETTING + 2) 500 | // #define IDM_SETTING_HISTORY_SIZE (IDM_SETTING + 3) 501 | // #define IDM_SETTING_EDGE_SIZE (IDM_SETTING + 4) 502 | #define IDM_SETTING_IMPORTPLUGIN (IDM_SETTING + 5) 503 | #define IDM_SETTING_IMPORTSTYLETHEMS (IDM_SETTING + 6) 504 | #define IDM_SETTING_TRAYICON (IDM_SETTING + 8) 505 | #define IDM_SETTING_SHORTCUT_MAPPER (IDM_SETTING + 9) 506 | #define IDM_SETTING_REMEMBER_LAST_SESSION (IDM_SETTING + 10) 507 | #define IDM_SETTING_PREFERECE (IDM_SETTING + 11) 508 | // #define IDM_SETTING_AUTOCNBCHAR (IDM_SETTING + 15) 509 | #define IDM_SETTING_SHORTCUT_MAPPER_MACRO (IDM_SETTING + 16) 510 | #define IDM_SETTING_SHORTCUT_MAPPER_RUN (IDM_SETTING + 17) 511 | #define IDM_SETTING_EDITCONTEXTMENU (IDM_SETTING + 18) 512 | 513 | #define IDM_EXECUTE (IDM + 9000) 514 | 515 | #define IDM_SYSTRAYPOPUP (IDM + 3100) 516 | #define IDM_SYSTRAYPOPUP_ACTIVATE (IDM_SYSTRAYPOPUP + 1) 517 | #define IDM_SYSTRAYPOPUP_NEWDOC (IDM_SYSTRAYPOPUP + 2) 518 | #define IDM_SYSTRAYPOPUP_NEW_AND_PASTE (IDM_SYSTRAYPOPUP + 3) 519 | #define IDM_SYSTRAYPOPUP_OPENFILE (IDM_SYSTRAYPOPUP + 4) 520 | #define IDM_SYSTRAYPOPUP_CLOSE (IDM_SYSTRAYPOPUP + 5) 521 | 522 | #endif //MENUCMDID_H 523 | -------------------------------------------------------------------------------- /RestApiToText/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by RestApiToText.rc 4 | // 5 | #define IDD_RESTAPITOTEXT 101 6 | #define IDD_HELP 103 7 | #define IDD_DIALOG1 106 8 | #define IDD_DIALOG_RESTAPITOTEXT 106 9 | #define IDC_STATIC_AUTHOR_LABEL 1010 10 | #define IDC_STATIC_AUTHOR 1011 11 | #define IDC_STATIC_LICENSE_LABEL 1012 12 | #define IDC_STATIC_LICENSE 1013 13 | #define IDC_STATIC_VERSION_LABEL 1014 14 | #define IDC_STATIC_VERSION 1015 15 | #define IDC_STATIC_PROJECT_LABEL 1016 16 | #define IDC_SYSLINK_PROJECT 1017 17 | #define IDC_STATIC_PROJECT_LABEL2 1018 18 | #define IDC_SYSLINK_PROJECT2 1019 19 | #define IDC_SYSLINK_PLUGIN_NEWS 1019 20 | 21 | // Next default values for new objects 22 | // 23 | #ifdef APSTUDIO_INVOKED 24 | #ifndef APSTUDIO_READONLY_SYMBOLS 25 | #define _APS_NEXT_RESOURCE_VALUE 108 26 | #define _APS_NEXT_COMMAND_VALUE 40001 27 | #define _APS_NEXT_CONTROL_VALUE 1018 28 | #define _APS_NEXT_SYMED_VALUE 101 29 | #endif 30 | #endif 31 | -------------------------------------------------------------------------------- /Screenshot1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Screenshot1.png -------------------------------------------------------------------------------- /Screenshot10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Screenshot10.png -------------------------------------------------------------------------------- /Screenshot11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Screenshot11.png -------------------------------------------------------------------------------- /Screenshot12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Screenshot12.png -------------------------------------------------------------------------------- /Screenshot13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Screenshot13.png -------------------------------------------------------------------------------- /Screenshot14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Screenshot14.png -------------------------------------------------------------------------------- /Screenshot15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Screenshot15.png -------------------------------------------------------------------------------- /Screenshot16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Screenshot16.png -------------------------------------------------------------------------------- /Screenshot17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Screenshot17.png -------------------------------------------------------------------------------- /Screenshot2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Screenshot2.png -------------------------------------------------------------------------------- /Screenshot3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Screenshot3.png -------------------------------------------------------------------------------- /Screenshot4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Screenshot4.png -------------------------------------------------------------------------------- /Screenshot5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Screenshot5.png -------------------------------------------------------------------------------- /Screenshot6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Screenshot6.png -------------------------------------------------------------------------------- /Screenshot7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Screenshot7.png -------------------------------------------------------------------------------- /Screenshot8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Screenshot8.png -------------------------------------------------------------------------------- /Screenshot9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/Screenshot9.png -------------------------------------------------------------------------------- /x64/Release/RestApiToText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/x64/Release/RestApiToText.dll -------------------------------------------------------------------------------- /x64/Release/v1.0/RestApiToText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/x64/Release/v1.0/RestApiToText.dll -------------------------------------------------------------------------------- /x64/Release/v1.0/RestApiToText.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/x64/Release/v1.0/RestApiToText.zip -------------------------------------------------------------------------------- /x64/Release/v1.1/RestApiToText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/x64/Release/v1.1/RestApiToText.dll -------------------------------------------------------------------------------- /x64/Release/v1.1/RestApiToText.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/x64/Release/v1.1/RestApiToText.zip -------------------------------------------------------------------------------- /x64/Release/v1.2.1/RestApiToText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/x64/Release/v1.2.1/RestApiToText.dll -------------------------------------------------------------------------------- /x64/Release/v1.2.1/RestApiToText.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/x64/Release/v1.2.1/RestApiToText.zip -------------------------------------------------------------------------------- /x64/Release/v1.2/RestApiToText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/x64/Release/v1.2/RestApiToText.dll -------------------------------------------------------------------------------- /x64/Release/v1.2/RestApiToText.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/x64/Release/v1.2/RestApiToText.zip -------------------------------------------------------------------------------- /x64/Release/v1.3.0.0/RestApiToText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/x64/Release/v1.3.0.0/RestApiToText.dll -------------------------------------------------------------------------------- /x64/Release/v1.3.0.0/RestApiToText.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/x64/Release/v1.3.0.0/RestApiToText.zip -------------------------------------------------------------------------------- /x64/Release/v1.3.1.0/RestApiToText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/x64/Release/v1.3.1.0/RestApiToText.dll -------------------------------------------------------------------------------- /x64/Release/v1.3.1.0/RestApiToText.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/x64/Release/v1.3.1.0/RestApiToText.zip -------------------------------------------------------------------------------- /x64/Release/v1.3.1.1/RestApiToText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/x64/Release/v1.3.1.1/RestApiToText.dll -------------------------------------------------------------------------------- /x64/Release/v1.3.1.1/RestApiToText.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/x64/Release/v1.3.1.1/RestApiToText.zip -------------------------------------------------------------------------------- /x64/Release/v1.4.0.0/RestApiToText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/x64/Release/v1.4.0.0/RestApiToText.dll -------------------------------------------------------------------------------- /x64/Release/v1.4.0.0/RestApiToText.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/x64/Release/v1.4.0.0/RestApiToText.zip -------------------------------------------------------------------------------- /x64/Release/v1.4.0.1/RestApiToText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/x64/Release/v1.4.0.1/RestApiToText.dll -------------------------------------------------------------------------------- /x64/Release/v1.4.0.1/RestApiToText.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eljefe7000/RestApiToText/fbaf236c7000809574fa72302d02be005e310d7f/x64/Release/v1.4.0.1/RestApiToText.zip --------------------------------------------------------------------------------