├── .gitignore ├── README.md ├── src ├── Sci_Position.h ├── version.h ├── SelectToClipboard.rc ├── PluginInterface.h ├── PluginDefinition.h ├── SelectToClipboard.cpp ├── PluginDefinition.cpp ├── Notepad_plus_msgs.h ├── menuCmdID.h └── Scintilla.h ├── appveyor.yml ├── license.txt └── vs.proj └── SelectToClipboard.vcxproj /.gitignore: -------------------------------------------------------------------------------- 1 | *.sdf 2 | *.sln 3 | *.suo 4 | bin/ 5 | bin64/ 6 | vs.proj/Debug 7 | vs.proj/Release 8 | vs.proj/x64 9 | vs.proj/NppPluginTextViz.opensdf 10 | vs.proj/NppPluginTextViz.exp 11 | vs.proj/NppPluginTextViz.lib 12 | vs.proj/NppPluginTextViz.vcxproj.user 13 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SelectToClipboard 2 | [![Build status](https://ci.appveyor.com/api/projects/status/github/kubadee/SelectToClipboard?svg=true)](https://github.com/KubaDee/SelectToClipboard) 3 | ### by Jakub Dvorak 4 | 5 | 6 | N++ plugin - auto copy selected text to clipboard. You can automatically copy selected text like in PuTTY (or similar) terminal application. This plugin comes with absolutely no warranty. 7 | 8 | Latest Updates: 9 | ---- 10 | ### v1.0.3 11 | Fix crash on N++ version 8.3+ 12 | 13 | ### v1.0.2 14 | Code tidying 15 | 16 | ### v1.0.1 17 | Fixed copying text to clipboard when switching between tabs 18 | 19 | ### v1.0 20 | Initial release 21 | -------------------------------------------------------------------------------- /src/Sci_Position.h: -------------------------------------------------------------------------------- 1 | // Scintilla source code edit control 2 | /** @file Sci_Position.h 3 | ** Define the Sci_Position type used in Scintilla's external interfaces. 4 | ** These need to be available to clients written in C so are not in a C++ namespace. 5 | **/ 6 | // Copyright 2015 by Neil Hodgson 7 | // The License.txt file describes the conditions under which this software may be distributed. 8 | 9 | #ifndef SCI_POSITION_H 10 | #define SCI_POSITION_H 11 | 12 | #include 13 | 14 | // Basic signed type used throughout interface 15 | typedef ptrdiff_t Sci_Position; 16 | 17 | // Unsigned variant used for ILexer::Lex and ILexer::Fold 18 | // Definitions of common types 19 | typedef size_t Sci_PositionU; 20 | 21 | 22 | // For Sci_CharacterRange which is defined as long to be compatible with Win32 CHARRANGE 23 | typedef intptr_t Sci_PositionCR; 24 | 25 | #ifdef _WIN32 26 | #define SCI_METHOD __stdcall 27 | #else 28 | #define SCI_METHOD 29 | #endif 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /src/version.h: -------------------------------------------------------------------------------- 1 | //this file is part of SelectToClipboard 2 | //Copyright (C)2019 Jakub Dvorak 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 | #ifndef VERSION_H 19 | #define VERSION_H 20 | 21 | #define VERSION_VALUE "1.0.3\0" 22 | #define VERSION_VALUE_LONG "1.0.3.0\0" 23 | #define VERSION_DIGITALVALUE 1, 0, 3, 0 24 | 25 | #define PLUGIN_VERSION VERSION_VALUE 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /src/SelectToClipboard.rc: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2007 Don HO 3 | 4 | This file is part of Notepad++ demo plugin. 5 | 6 | Notepad++ demo plugin is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU Lesser General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | GUP is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU Lesser General Public License for more details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with GUP. If not, see . 18 | */ 19 | 20 | #include 21 | #include "version.h" 22 | 23 | 24 | VS_VERSION_INFO VERSIONINFO 25 | FILEVERSION VERSION_DIGITALVALUE 26 | PRODUCTVERSION VERSION_DIGITALVALUE 27 | FILEFLAGSMASK 0x3fL 28 | FILEFLAGS 0 29 | FILEOS VOS_NT_WINDOWS32 30 | FILETYPE VFT_APP 31 | FILESUBTYPE VFT2_UNKNOWN 32 | BEGIN 33 | BLOCK "VarFileInfo" 34 | BEGIN 35 | VALUE "Translation", 0x409, 1200 36 | END 37 | BLOCK "StringFileInfo" 38 | BEGIN 39 | BLOCK "040904b0" 40 | BEGIN 41 | VALUE "CompanyName", "Jakub Dvorak" 42 | VALUE "FileDescription", "Notepad++ Copy Selected plugin" 43 | VALUE "FileVersion", VERSION_VALUE_LONG 44 | VALUE "InternalName", "SelectToClipboard.dll" 45 | VALUE "LegalCopyright", "Copyright 2019 by Jakub Dvorak" 46 | VALUE "OriginalFilename", "SelectToClipboard.dll" 47 | VALUE "ProductName", "SelectToClipboard" 48 | VALUE "ProductVersion", VERSION_VALUE 49 | END 50 | END 51 | END 52 | -------------------------------------------------------------------------------- /src/PluginInterface.h: -------------------------------------------------------------------------------- 1 | // This file is part of Notepad++ project 2 | // Copyright (C)2021 Don HO 3 | 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // 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, see . 16 | 17 | 18 | #pragma once 19 | 20 | #include "Scintilla.h" 21 | #include "Notepad_plus_msgs.h" 22 | 23 | const int nbChar = 64; 24 | 25 | typedef const TCHAR * (__cdecl * PFUNCGETNAME)(); 26 | 27 | struct NppData 28 | { 29 | HWND _nppHandle = nullptr; 30 | HWND _scintillaMainHandle = nullptr; 31 | HWND _scintillaSecondHandle = nullptr; 32 | }; 33 | 34 | typedef void (__cdecl * PFUNCSETINFO)(NppData); 35 | typedef void (__cdecl * PFUNCPLUGINCMD)(); 36 | typedef void (__cdecl * PBENOTIFIED)(SCNotification *); 37 | typedef LRESULT (__cdecl * PMESSAGEPROC)(UINT Message, WPARAM wParam, LPARAM lParam); 38 | 39 | 40 | struct ShortcutKey 41 | { 42 | bool _isCtrl = false; 43 | bool _isAlt = false; 44 | bool _isShift = false; 45 | UCHAR _key = 0; 46 | }; 47 | 48 | struct FuncItem 49 | { 50 | TCHAR _itemName[nbChar] = { '\0' }; 51 | PFUNCPLUGINCMD _pFunc = nullptr; 52 | int _cmdID = 0; 53 | bool _init2Check = false; 54 | ShortcutKey *_pShKey = nullptr; 55 | }; 56 | 57 | typedef FuncItem * (__cdecl * PFUNCGETFUNCSARRAY)(int *); 58 | 59 | // You should implement (or define an empty function body) those functions which are called by Notepad++ plugin manager 60 | extern "C" __declspec(dllexport) void setInfo(NppData); 61 | extern "C" __declspec(dllexport) const TCHAR * getName(); 62 | extern "C" __declspec(dllexport) FuncItem * getFuncsArray(int *); 63 | extern "C" __declspec(dllexport) void beNotified(SCNotification *); 64 | extern "C" __declspec(dllexport) LRESULT messageProc(UINT Message, WPARAM wParam, LPARAM lParam); 65 | 66 | // This API return always true now, since Notepad++ isn't compiled in ANSI mode anymore 67 | extern "C" __declspec(dllexport) BOOL isUnicode(); 68 | 69 | -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | version: 1.0.2.{build} 2 | image: Visual Studio 2017 3 | 4 | 5 | environment: 6 | matrix: 7 | - PlatformToolset: v140_xp 8 | - PlatformToolset: v141_xp 9 | 10 | platform: 11 | - x64 12 | - Win32 13 | 14 | configuration: 15 | - Release 16 | - Debug 17 | 18 | install: 19 | - if "%platform%"=="x64" set archi=amd64 20 | - if "%platform%"=="x64" set platform_input=x64 21 | 22 | - if "%platform%"=="Win32" set archi=x86 23 | - if "%platform%"=="Win32" set platform_input=Win32 24 | 25 | - if "%PlatformToolset%"=="v140_xp" call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %archi% 26 | - if "%PlatformToolset%"=="v141_xp" call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" %archi% 27 | 28 | 29 | build_script: 30 | - cd "%APPVEYOR_BUILD_FOLDER%"\vs.proj\ 31 | - msbuild SelectToClipboard.vcxproj /m /p:configuration="%configuration%" /p:platform="%platform_input%" /p:PlatformToolset="%PlatformToolset%" /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" 32 | 33 | after_build: 34 | - cd "%APPVEYOR_BUILD_FOLDER%" 35 | - ps: >- 36 | 37 | if ($env:PLATFORM_INPUT -eq "x64") { 38 | Push-AppveyorArtifact "bin64\SelectToClipboard.dll" -FileName SelectToClipboard.dll 39 | } 40 | 41 | if ($env:PLATFORM_INPUT -eq "Win32" ) { 42 | Push-AppveyorArtifact "bin\SelectToClipboard.dll" -FileName SelectToClipboard.dll 43 | } 44 | 45 | if ($($env:APPVEYOR_REPO_TAG) -eq "true" -and $env:CONFIGURATION -eq "Release" -and $env:PLATFORMTOOLSET -eq "v141_xp") { 46 | if($env:PLATFORM_INPUT -eq "x64"){ 47 | $ZipFileName = "SelectToClipboard_$($env:APPVEYOR_REPO_TAG_NAME)_x64.zip" 48 | 7z a $ZipFileName "$($env:APPVEYOR_BUILD_FOLDER)\bin64\*.dll" 49 | } 50 | if($env:PLATFORM_INPUT -eq "Win32"){ 51 | $ZipFileName = "SelectToClipboard_$($env:APPVEYOR_REPO_TAG_NAME)_x86.zip" 52 | 7z a $ZipFileName "$($env:APPVEYOR_BUILD_FOLDER)\bin\*.dll" 53 | } 54 | } 55 | 56 | artifacts: 57 | - path: SelectToClipboard_*.zip 58 | name: releases 59 | 60 | #deploy: 61 | # provider: GitHub 62 | # auth_token: 63 | # secure: !!TODO, see https://www.appveyor.com/docs/deployment/github/#provider-settings!! 64 | # artifact: releases 65 | # draft: false 66 | # prerelease: false 67 | # force_update: true 68 | # on: 69 | # appveyor_repo_tag: true 70 | # PlatformToolset: v141_xp 71 | # configuration: Release 72 | # branch: master 73 | -------------------------------------------------------------------------------- /src/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 | #ifndef PLUGINDEFINITION_H 19 | #define PLUGINDEFINITION_H 20 | 21 | // 22 | // All difinitions of plugin interface 23 | // 24 | #include "PluginInterface.h" 25 | #include 26 | #include "version.h" 27 | 28 | //-------------------------------------// 29 | //-- STEP 1. DEFINE YOUR PLUGIN NAME --// 30 | //-------------------------------------// 31 | // Here define your plugin name 32 | // 33 | #define PLUGIN_NAME "Selection to Clipboard" 34 | const TCHAR NPP_PLUGIN_NAME[] = TEXT(PLUGIN_NAME); 35 | 36 | 37 | //-----------------------------------------------// 38 | //-- STEP 2. DEFINE YOUR PLUGIN COMMAND NUMBER --// 39 | //-----------------------------------------------// 40 | // 41 | // Here define the number of your plugin commands 42 | // 43 | const int nbFunc = 2; 44 | 45 | 46 | // 47 | // Initialization of your plugin data 48 | // It will be called while plugin loading 49 | // 50 | void pluginInit(HANDLE hModule); 51 | 52 | // 53 | // Cleaning of your plugin 54 | // It will be called while plugin unloading 55 | // 56 | void pluginCleanUp(); 57 | 58 | // 59 | //Initialization of your plugin commands 60 | // 61 | void commandMenuInit(); 62 | 63 | // 64 | //Clean up your plugin commands allocation (if any) 65 | // 66 | void commandMenuCleanUp(); 67 | 68 | // 69 | // Function which sets your command 70 | // 71 | bool setCommand(size_t index, TCHAR *cmdName, PFUNCPLUGINCMD pFunc, ShortcutKey *sk = NULL, bool check0nInit = false); 72 | 73 | 74 | // 75 | // Your plugin command functions 76 | // 77 | 78 | CString GetClipboard(); 79 | void doCopySelection(); 80 | void CopyRoutine(); 81 | bool AlterMenuCheck(int itemno, char action); 82 | void IniSaveSettings(bool save); 83 | unsigned FindMenuItem(PFUNCPLUGINCMD _pFunc); 84 | void doAboutDlg(); 85 | void doUpdateCopySelected(); 86 | 87 | #endif //PLUGINDEFINITION_H 88 | -------------------------------------------------------------------------------- /src/SelectToClipboard.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 "PluginDefinition.h" 19 | 20 | extern FuncItem funcItem[nbFunc]; 21 | extern NppData nppData; 22 | 23 | #define INT_CURRENTEDIT int currentEdit 24 | #define GET_CURRENTEDIT ::SendMessage(nppData._nppHandle, NPPM_GETCURRENTSCINTILLA, 0, (LPARAM)¤tEdit) 25 | #define SENDMSGTOCED(whichEdit,mesg,wpm,lpm) SendMessage(((whichEdit)?nppData._scintillaSecondHandle:nppData._scintillaMainHandle),mesg,(WPARAM)(wpm),(LPARAM)(lpm)) 26 | 27 | BOOL APIENTRY DllMain(HANDLE hModule, DWORD reasonForCall, LPVOID /*lpReserved*/) 28 | { 29 | try { 30 | 31 | switch (reasonForCall) 32 | { 33 | case DLL_PROCESS_ATTACH: 34 | pluginInit(hModule); 35 | break; 36 | 37 | case DLL_PROCESS_DETACH: 38 | pluginCleanUp(); 39 | break; 40 | 41 | case DLL_THREAD_ATTACH: 42 | break; 43 | 44 | case DLL_THREAD_DETACH: 45 | break; 46 | } 47 | } 48 | catch (...) { return FALSE; } 49 | 50 | return TRUE; 51 | } 52 | 53 | extern "C" __declspec(dllexport) void setInfo(NppData notpadPlusData) 54 | { 55 | nppData = notpadPlusData; 56 | commandMenuInit(); 57 | IniSaveSettings(false); 58 | } 59 | 60 | extern "C" __declspec(dllexport) const TCHAR * getName() 61 | { 62 | return NPP_PLUGIN_NAME; 63 | } 64 | 65 | extern "C" __declspec(dllexport) FuncItem * getFuncsArray(int *nbF) 66 | { 67 | *nbF = nbFunc; 68 | return funcItem; 69 | } 70 | 71 | 72 | extern "C" __declspec(dllexport) void beNotified(SCNotification *notifyCode) 73 | { 74 | //static bool previousStat; 75 | //if (/*!(previousStat) && */(notifyCode->updated&SC_UPDATE_SELECTION)) 76 | { 77 | //previousStat = true; 78 | //doCopyAll(); 79 | } 80 | //if(notifyCode->nmhdr.code == SCN_UPDATEUI && notifyCode->updated & SC_UPDATE_SELECTION) doCopyAll(); 81 | switch (notifyCode->nmhdr.code) 82 | { 83 | case NPPN_SHUTDOWN: 84 | { 85 | commandMenuCleanUp(); 86 | } 87 | break; 88 | 89 | case SCN_UPDATEUI: 90 | if (AlterMenuCheck(FindMenuItem(doUpdateCopySelected), '-')) // check if config is set on 91 | doCopySelection(); 92 | 93 | default: 94 | return; 95 | } 96 | } 97 | 98 | 99 | // Here you can process the Npp Messages 100 | // I will make the messages accessible little by little, according to the need of plugin development. 101 | // Please let me know if you need to access to some messages : 102 | // http://sourceforge.net/forum/forum.php?forum_id=482781 103 | // 104 | extern "C" __declspec(dllexport) LRESULT messageProc(UINT /*Message*/, WPARAM /*wParam*/, LPARAM /*lParam*/) 105 | {/* 106 | if (Message == WM_MOVE) 107 | { 108 | ::MessageBox(NULL, "move", "", MB_OK); 109 | } 110 | */ 111 | return TRUE; 112 | } 113 | 114 | #ifdef UNICODE 115 | extern "C" __declspec(dllexport) BOOL isUnicode() 116 | { 117 | return TRUE; 118 | } 119 | #endif //UNICODE 120 | -------------------------------------------------------------------------------- /license.txt: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 2, June 1991 3 | 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. 5 | 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA 6 | 7 | Everyone is permitted to copy and distribute verbatim copies 8 | of this license document, but changing it is not allowed. 9 | 10 | Preamble 11 | The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. 12 | 13 | When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. 14 | 15 | To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. 16 | 17 | For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. 18 | 19 | We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. 20 | 21 | Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. 22 | 23 | Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. 24 | 25 | The precise terms and conditions for copying, distribution and modification follow. 26 | 27 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 28 | 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". 29 | 30 | Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 31 | 32 | 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. 33 | 34 | You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 35 | 36 | 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: 37 | 38 | 39 | a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. 40 | 41 | b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. 42 | 43 | c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) 44 | These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. 45 | Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. 46 | 47 | In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 48 | 49 | 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: 50 | 51 | a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, 52 | 53 | b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, 54 | 55 | c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) 56 | The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. 57 | If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 58 | 59 | 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 60 | 61 | 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 62 | 63 | 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 64 | 65 | 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. 66 | 67 | If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. 68 | 69 | It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. 70 | 71 | This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 72 | 73 | 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 74 | 75 | 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. 76 | 77 | Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 78 | 79 | 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. 80 | 81 | NO WARRANTY 82 | 83 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 84 | 85 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 86 | 87 | 88 | END OF TERMS AND CONDITIONS 89 | -------------------------------------------------------------------------------- /src/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 "PluginDefinition.h" 19 | #include "menuCmdID.h" 20 | 21 | // 22 | // The plugin data that Notepad++ needs 23 | // 24 | FuncItem funcItem[nbFunc]; 25 | 26 | // 27 | // The data of Notepad++ that you can use in your plugin commands 28 | // 29 | NppData nppData; 30 | 31 | // 32 | // cpnfig variable 33 | // 34 | BOOL bCopySelected = FALSE; 35 | // set flags according conf 36 | #define VIZMENUFLAGS (bCopySelected?SCFIND_WHOLEWORD:0) 37 | 38 | // inicializace fci pro zmenu checku v menu konfig (funkce prehazuje 1/0) 39 | unsigned miCopySelected; void doUpdateCopySelected() { bCopySelected = AlterMenuCheck(miCopySelected, '!'); } 40 | 41 | // current position and tab 42 | struct SelPos { 43 | size_t selBeg; 44 | size_t selEnd; 45 | int currentTabId; 46 | }; 47 | SelPos selPos; 48 | 49 | // 50 | // DEFINE part 51 | // 52 | #define SCDS_COPYRECTANGULAR 0x4 /* Mark the text as from a rectangular selection according to the Scintilla standard */ 53 | #define SCDS_COPYAPPEND 0x8 /* Reads the old clipboard (depends on flags) and appends the new text to it */ 54 | 55 | #define INT_CURRENTEDIT int currentEdit 56 | #define GET_CURRENTEDIT SendMessage(nppData._nppHandle, NPPM_GETCURRENTSCINTILLA, 0, (LPARAM)¤tEdit) 57 | #define GET_CURRENTTAB SendMessage(nppData._nppHandle, NPPM_GETCURRENTBUFFERID, 0, (LPARAM)¤tEdit) 58 | #define SENDMSGTOCED(whichEdit,mesg,wpm,lpm) SendMessage(((whichEdit)?nppData._scintillaSecondHandle:nppData._scintillaMainHandle),mesg,(WPARAM)(wpm),(LPARAM)(lpm)) 59 | 60 | const char eoltypes[3][4] = { ("\r\n"), ("\r"), ("\n") }; 61 | #ifndef NELEM 62 | #define NELEM(xyzzy) (sizeof(xyzzy)/sizeof(xyzzy[0])) 63 | #endif 64 | 65 | UINT cfColumnSelect; 66 | 67 | // 68 | // JD own functions 69 | // 70 | 71 | /// realloc safe procedure - msg box when error 72 | void * reallocsafe(void *bf, size_t ct) 73 | { 74 | void * bf2; 75 | if (bf == NULL) { 76 | bf2 = (void *)malloc(ct); 77 | } 78 | else { 79 | bf2 = (void *)realloc(bf, ct); 80 | } 81 | if (bf2 == NULL) { 82 | MessageBox(nppData._nppHandle, _T("Err reallocsafe !!!"), _T(PLUGIN_NAME), MB_OK | MB_ICONERROR); 83 | return (NULL); 84 | } 85 | else { 86 | return(bf2); 87 | } 88 | } 89 | 90 | #define mallocsafe(ct) reallocsafe(NULL,ct) 91 | 92 | /// Concatenate new strings with resize 93 | bool strcatX(char**(orig), const char* concatenateText) 94 | { 95 | size_t newLen = strlen(concatenateText); 96 | char * newArr = (char *)reallocsafe(*orig, strlen(*orig) + newLen + 1); 97 | if (newArr == NULL) { 98 | MessageBox(nppData._nppHandle, _T("Err strcatX !!!"), _T(PLUGIN_NAME), MB_OK | MB_ICONERROR); 99 | return false; 100 | } 101 | else { 102 | strcat(newArr, concatenateText); 103 | *orig = newArr; 104 | } 105 | return true; 106 | } 107 | 108 | 109 | //* =========================================== INIT BEGIN =========================================== */ 110 | 111 | // 112 | // Initialize your plugin data here 113 | // It will be called while plugin loading 114 | void pluginInit(HANDLE /*hModule*/) 115 | { 116 | cfColumnSelect = RegisterClipboardFormat(_T("MSDEVColumnSelect")); 117 | 118 | selPos.selBeg = 0; // Set 0 as current position on init to avoid auto copy selected text on N++ start 119 | selPos.selEnd = 0; 120 | selPos.currentTabId = 0; 121 | } 122 | 123 | // 124 | // Here you can do the clean up, save the parameters (if any) for the next session 125 | // 126 | void pluginCleanUp() 127 | { 128 | } 129 | 130 | // 131 | // Initialization of your plugin commands 132 | // You should fill your plugins commands here 133 | void commandMenuInit() 134 | { 135 | //--------------------------------------------// 136 | //-- STEP 3. CUSTOMIZE YOUR PLUGIN COMMANDS --// 137 | //--------------------------------------------// 138 | // with function : 139 | // setCommand(int index, // zero based number to indicate the order of command 140 | // TCHAR *commandName, // the command name that you want to see in plugin menu 141 | // PFUNCPLUGINCMD functionPointer, // the symbol of function (function pointer) associated with this command. The body should be defined below. See Step 4. 142 | // ShortcutKey *shortcut, // optional. Define a shortcut to trigger this command 143 | // bool check0nInit // optional. Make this menu item be checked visually 144 | // ); 145 | setCommand(0, TEXT("Auto copy selection to clipboard"), doUpdateCopySelected, NULL, bCopySelected != 0); 146 | setCommand(1, TEXT("About"), doAboutDlg, NULL, false); 147 | } 148 | 149 | // 150 | // Here you can do the clean up (especially for the shortcut) 151 | // 152 | void commandMenuCleanUp() 153 | { 154 | // Don't forget to deallocate your shortcut here 155 | IniSaveSettings(true); 156 | } 157 | 158 | 159 | // 160 | // This function help you to initialize your plugin commands 161 | // 162 | bool setCommand(size_t index, TCHAR *cmdName, PFUNCPLUGINCMD pFunc, ShortcutKey *sk, bool check0nInit) 163 | { 164 | if (index >= nbFunc) 165 | return false; 166 | 167 | if (!pFunc) 168 | return false; 169 | 170 | lstrcpy(funcItem[index]._itemName, cmdName); 171 | funcItem[index]._pFunc = pFunc; 172 | funcItem[index]._init2Check = check0nInit; 173 | funcItem[index]._pShKey = sk; 174 | 175 | return true; 176 | } 177 | 178 | //----------------------------------------------// 179 | //-- STEP 4. DEFINE YOUR ASSOCIATED FUNCTIONS --// 180 | //----------------------------------------------// 181 | 182 | 183 | //* ============= COPY selection part ============= */ 184 | 185 | /// insert text into clipboard 186 | void InsertTextToClipboard(const char * strInput, unsigned flags) 187 | { 188 | INT_CURRENTEDIT; 189 | GET_CURRENTEDIT; 190 | CString TextToClip = strInput; 191 | 192 | if (strInput != NULL) { 193 | // When not Codepage ANSI (codepage != CP_ACP), convert to widechar 194 | int intCodePage = (int)SENDMSGTOCED(currentEdit, SCI_GETCODEPAGE, 0, 0); 195 | if (intCodePage != CP_ACP) { 196 | wchar_t* bufWchar; 197 | int kolik = MultiByteToWideChar(CP_UTF8, 0, &strInput[0], -1, NULL, 0); 198 | bufWchar = new wchar_t[kolik]; 199 | MultiByteToWideChar(CP_UTF8, 0, &strInput[0], -1, &bufWchar[0], kolik); 200 | TextToClip = bufWchar; 201 | delete[] bufWchar; 202 | } 203 | 204 | if (OpenClipboard(NULL)) { 205 | EmptyClipboard(); 206 | 207 | HGLOBAL hClipboardData; 208 | size_t size = (TextToClip.GetLength() + 1) * sizeof(TCHAR); 209 | hClipboardData = GlobalAlloc(NULL, size); 210 | TCHAR* pchData = (TCHAR*)GlobalLock(hClipboardData); 211 | memcpy(pchData, LPCTSTR(TextToClip.GetString()), size); 212 | SetClipboardData(CF_UNICODETEXT, hClipboardData); 213 | if (flags&SCDS_COPYRECTANGULAR) { 214 | SetClipboardData(cfColumnSelect, 0); 215 | } 216 | GlobalUnlock(hClipboardData); 217 | CloseClipboard(); 218 | } 219 | } 220 | } 221 | 222 | /// Process selected text and copy if selection has changed 223 | void doCopySelection() 224 | { 225 | INT_CURRENTEDIT; 226 | GET_CURRENTEDIT; 227 | 228 | size_t p1 = (size_t)SENDMSGTOCED(currentEdit, SCI_GETSELECTIONSTART, 0, 0); 229 | size_t p2 = (size_t)SENDMSGTOCED(currentEdit, SCI_GETSELECTIONEND, 0, 0); 230 | 231 | if (selPos.currentTabId != (int)GET_CURRENTTAB) // JD 1.0.1 - not copying to clipboard when switching between tabs 232 | { 233 | selPos.selBeg = p1; 234 | selPos.selEnd = p2; 235 | } 236 | 237 | if((selPos.selBeg != p1 || selPos.selEnd != p2) && p2 > p1 && selPos.selEnd != 0) CopyRoutine(); 238 | selPos.selBeg = p1; 239 | selPos.selEnd = p2; 240 | selPos.currentTabId = (int)GET_CURRENTTAB; 241 | } 242 | 243 | /// Make Cupy/Cut with text 244 | void CopyRoutine() 245 | { 246 | INT_CURRENTEDIT; 247 | GET_CURRENTEDIT; 248 | 249 | unsigned flags; 250 | unsigned *lps = NULL, *lpe = NULL; 251 | char * charBuf = NULL; 252 | size_t buflen; 253 | bool isError = false; // to check whether an error appears 254 | 255 | unsigned lplen; 256 | long p1 = (long)SENDMSGTOCED(currentEdit, SCI_GETSELECTIONSTART, 0, 0); 257 | long p2 = (long)SENDMSGTOCED(currentEdit, SCI_GETSELECTIONEND, 0, 0); 258 | if (p1 < p2) { 259 | unsigned eoltype = (unsigned)SENDMSGTOCED(currentEdit, SCI_GETEOLMODE, 0, 0); 260 | int addEOL = 1; 261 | if (eoltype >= NELEM(eoltypes)) 262 | eoltype = NELEM(eoltypes) - 1; 263 | 264 | if (SENDMSGTOCED(currentEdit, SCI_SELECTIONISRECTANGLE, 0, 0)) { 265 | flags |= SCDS_COPYRECTANGULAR; 266 | addEOL = 0; 267 | } 268 | else { 269 | flags &= ~SCDS_COPYRECTANGULAR; 270 | } 271 | unsigned blockstart = (unsigned)SENDMSGTOCED(currentEdit, SCI_LINEFROMPOSITION, p1, 0); 272 | unsigned blocklines = (unsigned)SENDMSGTOCED(currentEdit, SCI_LINEFROMPOSITION, p2, 0) - blockstart + 1; 273 | unsigned ln; for (lplen = ln = 0; ln < blocklines; ln++) { 274 | { 275 | unsigned ls; if ((unsigned)INVALID_POSITION == (ls = (long)SENDMSGTOCED(currentEdit, SCI_GETLINESELSTARTPOSITION, (blockstart + ln), 0))) 276 | continue; 277 | unsigned le; if ((unsigned)INVALID_POSITION == (le = (long)SENDMSGTOCED(currentEdit, SCI_GETLINESELENDPOSITION, (blockstart + ln), 0))) 278 | continue; 279 | 280 | if (addEOL && ln + 1 < blocklines) { // If not RECT and not last line adding EOL 281 | // counting len of EOL 282 | le += (unsigned)SENDMSGTOCED(currentEdit, SCI_POSITIONFROMLINE, (blockstart + ln), 0) + (unsigned)SENDMSGTOCED(currentEdit, SCI_LINELENGTH, (blockstart + ln), 0) - le; 283 | } 284 | 285 | if (!lplen || lpe[lplen - 1] != ls) { 286 | lps = (unsigned *)reallocsafe(lps, sizeof(*lps) * (lplen + 1)); 287 | if (!lps) { 288 | //MessageBox(nppData._nppHandle, _T("Prusvih lps !!!"), _T(PLUGIN_NAME), MB_OK | MB_ICONERROR); 289 | isError = true; 290 | break; 291 | } 292 | 293 | lpe = (unsigned *)reallocsafe(lpe, sizeof(*lpe) * (lplen + 1)); 294 | if (!lpe) { 295 | //MessageBox(nppData._nppHandle, _T("Prusvih lpe !!!"), _T(PLUGIN_NAME), MB_OK | MB_ICONERROR); 296 | isError = true; 297 | break; 298 | } 299 | 300 | lps[lplen] = ls; 301 | lpe[lplen] = le; 302 | lplen++; 303 | } 304 | else { 305 | lpe[lplen - 1] = le; 306 | } 307 | } 308 | } 309 | 310 | if (!isError) { 311 | for (buflen = 0, ln = 0; ln < lplen; ln++) { 312 | struct Sci_TextRange tr; 313 | tr.chrg.cpMin = lps[ln]; 314 | tr.chrg.cpMax = lpe[ln]; 315 | 316 | charBuf = (char *)reallocsafe(charBuf, buflen + tr.chrg.cpMax - tr.chrg.cpMin + 1); 317 | if (!charBuf) { 318 | //MessageBox(nppData._nppHandle, _T("Prusvih buf !!!"), _T(PLUGIN_NAME), MB_OK | MB_ICONERROR); 319 | isError = true; 320 | break; 321 | } 322 | 323 | tr.lpstrText = charBuf + buflen; 324 | buflen += (long)SENDMSGTOCED(currentEdit, SCI_GETTEXTRANGE, 0, &tr); 325 | 326 | if (flags&SCDS_COPYRECTANGULAR && ln + 1 < lplen) { // for RECT adding EOL 327 | if (strcatX(&charBuf, eoltypes[eoltype])) { 328 | buflen += strlen(eoltypes[eoltype]); 329 | } 330 | else { 331 | //MessageBox(nppData._nppHandle, _T("Prusvih RECT EOL !!!"), _T(PLUGIN_NAME), MB_OK | MB_ICONERROR); 332 | isError = true; 333 | break; 334 | } 335 | } 336 | } 337 | 338 | InsertTextToClipboard(charBuf, flags | (SENDMSGTOCED(currentEdit, SCI_SELECTIONISRECTANGLE, 0, 0) ? SCDS_COPYRECTANGULAR : 0)); 339 | } 340 | 341 | delete[] charBuf; 342 | delete[] lps; 343 | delete[] lpe; 344 | 345 | } 346 | else { 347 | //MessageBox(nppData._nppHandle, _T("Nothing is selected"), _T(PLUGIN_NAME), MB_OK | MB_ICONINFORMATION); 348 | } 349 | } 350 | 351 | 352 | //* ============= INI config part ============= */ 353 | 354 | unsigned FindMenuItem(PFUNCPLUGINCMD _pFunc) 355 | { 356 | unsigned itemno, items = NELEM(funcItem); 357 | for (itemno = 0; itemno < items; itemno++) { 358 | if (_pFunc == funcItem[itemno]._pFunc) { 359 | return(itemno); 360 | } 361 | } 362 | return(0); 363 | } 364 | 365 | void IniSaveSettings(bool save) 366 | { 367 | const TCHAR sectionSelect[] = TEXT("SelectToClipboard"); 368 | const TCHAR keyCopySelected[] = TEXT("CopySelected"); 369 | const TCHAR configFileName[] = TEXT("SelectToClipboard.ini"); 370 | TCHAR iniFilePath[MAX_PATH]; 371 | 372 | // initialize Mmenu Item holder 373 | miCopySelected = FindMenuItem(doUpdateCopySelected); 374 | 375 | // get path of plugin configuration 376 | SendMessage(nppData._nppHandle, NPPM_GETPLUGINSCONFIGDIR, MAX_PATH, (LPARAM)iniFilePath); 377 | 378 | // if config path doesn't exist, we create it 379 | if (PathFileExists(iniFilePath) == FALSE) { 380 | CreateDirectory(iniFilePath, NULL); 381 | } 382 | 383 | PathAppend(iniFilePath, configFileName); 384 | 385 | if (!save) { 386 | bCopySelected = AlterMenuCheck(miCopySelected, (GetPrivateProfileInt(sectionSelect, keyCopySelected, 0, iniFilePath) != 0) ? '1' : '0'); 387 | 388 | VIZMENUFLAGS; 389 | } 390 | else { 391 | WritePrivateProfileString(sectionSelect, keyCopySelected, bCopySelected ? TEXT("1") : TEXT("0"), iniFilePath); 392 | } 393 | } 394 | 395 | /// Check settings menu item 396 | bool AlterMenuCheck(int itemno, char action) 397 | { 398 | switch (action) 399 | { 400 | case '1': // set 401 | funcItem[itemno]._init2Check = TRUE; 402 | break; 403 | case '0': // clear 404 | funcItem[itemno]._init2Check = FALSE; 405 | break; 406 | case '!': // invert 407 | funcItem[itemno]._init2Check = !funcItem[itemno]._init2Check; 408 | break; 409 | case '-': // change nothing but apply the current check value 410 | break; 411 | } 412 | CheckMenuItem(GetMenu(nppData._nppHandle), funcItem[itemno]._cmdID, MF_BYCOMMAND | ((funcItem[itemno]._init2Check) ? MF_CHECKED : MF_UNCHECKED)); 413 | 414 | return(funcItem[itemno]._init2Check); 415 | } 416 | 417 | 418 | //* ============= About dialog ============= */ 419 | 420 | void doAboutDlg() 421 | { 422 | CString aboutMsg = _T("Version: "); 423 | aboutMsg += _T(PLUGIN_VERSION); 424 | aboutMsg += _T("\n\nLicense: GPL\n\n"); 425 | aboutMsg += _T("Author: Jakub Dvorak \n"); 426 | MessageBox(nppData._nppHandle, aboutMsg, _T(PLUGIN_NAME), MB_OK); 427 | } 428 | -------------------------------------------------------------------------------- /vs.proj/SelectToClipboard.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | ARM64 7 | 8 | 9 | Debug 10 | Win32 11 | 12 | 13 | Debug 14 | x64 15 | 16 | 17 | Release 18 | ARM64 19 | 20 | 21 | Release 22 | Win32 23 | 24 | 25 | Release 26 | x64 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | {F99262E7-FBE7-498F-8E7F-CD3EFFB456A8} 48 | Win32Proj 49 | SelectToClipboard 50 | SelectToClipboard 51 | 10.0.18362.0 52 | 53 | 54 | 55 | DynamicLibrary 56 | true 57 | v141 58 | Unicode 59 | 60 | 61 | DynamicLibrary 62 | true 63 | v141 64 | Unicode 65 | 66 | 67 | DynamicLibrary 68 | true 69 | v141 70 | Unicode 71 | 72 | 73 | DynamicLibrary 74 | false 75 | v141 76 | true 77 | Unicode 78 | 79 | 80 | DynamicLibrary 81 | false 82 | v141 83 | true 84 | Unicode 85 | 86 | 87 | DynamicLibrary 88 | false 89 | v141 90 | true 91 | Unicode 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | true 117 | 118 | 119 | true 120 | 121 | 122 | true 123 | 124 | 125 | false 126 | ..\bin\ 127 | 128 | 129 | false 130 | ..\bin64\ 131 | 132 | 133 | false 134 | ..\arm64\ 135 | 136 | 137 | 138 | Level4 139 | Disabled 140 | WIN32;_DEBUG;_WINDOWS;_USRDLL;NPPPLUGINTEMPLATE_EXPORTS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_NON_CONFORMING_SWPRINTFS=1;%(PreprocessorDefinitions) 141 | 142 | 143 | true 144 | MultiThreadedDebug 145 | 146 | 147 | Windows 148 | true 149 | shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) 150 | 151 | 152 | 153 | 154 | Level4 155 | Disabled 156 | WIN32;_DEBUG;_WINDOWS;_USRDLL;NPPPLUGINTEMPLATE_EXPORTS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_NON_CONFORMING_SWPRINTFS=1;%(PreprocessorDefinitions) 157 | true 158 | Speed 159 | MultiThreadedDebug 160 | 161 | 162 | Windows 163 | true 164 | shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) 165 | 166 | 167 | 168 | 169 | Level4 170 | Disabled 171 | WIN32;_DEBUG;_WINDOWS;_USRDLL;NPPPLUGINTEMPLATE_EXPORTS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_NON_CONFORMING_SWPRINTFS=1;%(PreprocessorDefinitions) 172 | true 173 | Speed 174 | MultiThreadedDebug 175 | 176 | 177 | Windows 178 | true 179 | shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) 180 | 181 | 182 | 183 | 184 | Level4 185 | MaxSpeed 186 | true 187 | true 188 | WIN32;NDEBUG;_WINDOWS;_USRDLL;NPPPLUGINTEMPLATE_EXPORTS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_NON_CONFORMING_SWPRINTFS=1;%(PreprocessorDefinitions) 189 | 190 | 191 | true 192 | MultiThreaded 193 | 194 | 195 | Windows 196 | false 197 | true 198 | true 199 | shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) 200 | $(TargetName).lib 201 | 202 | 203 | copy ..\license.txt ..\bin\license.txt 204 | 205 | 206 | 207 | 208 | Level4 209 | MaxSpeed 210 | true 211 | true 212 | WIN32;NDEBUG;_WINDOWS;_USRDLL;NPPPLUGINTEMPLATE_EXPORTS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_NON_CONFORMING_SWPRINTFS=1;%(PreprocessorDefinitions) 213 | true 214 | MultiThreaded 215 | 216 | 217 | Windows 218 | false 219 | true 220 | true 221 | shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) 222 | $(TargetName).lib 223 | 224 | 225 | copy ..\license.txt ..\bin64\license.txt 226 | 227 | 228 | 229 | 230 | Level4 231 | MaxSpeed 232 | true 233 | true 234 | WIN32;NDEBUG;_WINDOWS;_USRDLL;NPPPLUGINTEMPLATE_EXPORTS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_NON_CONFORMING_SWPRINTFS=1;%(PreprocessorDefinitions) 235 | true 236 | MultiThreaded 237 | 238 | 239 | Windows 240 | false 241 | true 242 | true 243 | shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) 244 | $(TargetName).lib 245 | 246 | 247 | copy ..\license.txt ..\arm64\license.txt 248 | 249 | 250 | 251 | 252 | 253 | -------------------------------------------------------------------------------- /src/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 | -------------------------------------------------------------------------------- /src/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 | -------------------------------------------------------------------------------- /src/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 | // Include header that defines basic numeric types. 30 | #include 31 | 32 | // Define uptr_t, an unsigned integer type large enough to hold a pointer. 33 | typedef uintptr_t uptr_t; 34 | // Define sptr_t, a signed integer large enough to hold a pointer. 35 | typedef intptr_t sptr_t; 36 | 37 | #include "Sci_Position.h" 38 | 39 | typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam, sptr_t lParam); 40 | 41 | #ifndef SCI_DISABLE_AUTOGENERATED 42 | 43 | /* ++Autogenerated -- start of section automatically generated from Scintilla.iface */ 44 | #define INVALID_POSITION -1 45 | #define SCI_START 2000 46 | #define SCI_OPTIONAL_START 3000 47 | #define SCI_LEXER_START 4000 48 | #define SCI_ADDTEXT 2001 49 | #define SCI_ADDSTYLEDTEXT 2002 50 | #define SCI_INSERTTEXT 2003 51 | #define SCI_CHANGEINSERTION 2672 52 | #define SCI_CLEARALL 2004 53 | #define SCI_DELETERANGE 2645 54 | #define SCI_CLEARDOCUMENTSTYLE 2005 55 | #define SCI_GETLENGTH 2006 56 | #define SCI_GETCHARAT 2007 57 | #define SCI_GETCURRENTPOS 2008 58 | #define SCI_GETANCHOR 2009 59 | #define SCI_GETSTYLEAT 2010 60 | #define SCI_REDO 2011 61 | #define SCI_SETUNDOCOLLECTION 2012 62 | #define SCI_SELECTALL 2013 63 | #define SCI_SETSAVEPOINT 2014 64 | #define SCI_GETSTYLEDTEXT 2015 65 | #define SCI_CANREDO 2016 66 | #define SCI_MARKERLINEFROMHANDLE 2017 67 | #define SCI_MARKERDELETEHANDLE 2018 68 | #define SCI_MARKERHANDLEFROMLINE 2732 69 | #define SCI_MARKERNUMBERFROMLINE 2733 70 | #define SCI_GETUNDOCOLLECTION 2019 71 | #define SCWS_INVISIBLE 0 72 | #define SCWS_VISIBLEALWAYS 1 73 | #define SCWS_VISIBLEAFTERINDENT 2 74 | #define SCWS_VISIBLEONLYININDENT 3 75 | #define SCI_GETVIEWWS 2020 76 | #define SCI_SETVIEWWS 2021 77 | #define SCTD_LONGARROW 0 78 | #define SCTD_STRIKEOUT 1 79 | #define SCI_GETTABDRAWMODE 2698 80 | #define SCI_SETTABDRAWMODE 2699 81 | #define SCI_POSITIONFROMPOINT 2022 82 | #define SCI_POSITIONFROMPOINTCLOSE 2023 83 | #define SCI_GOTOLINE 2024 84 | #define SCI_GOTOPOS 2025 85 | #define SCI_SETANCHOR 2026 86 | #define SCI_GETCURLINE 2027 87 | #define SCI_GETENDSTYLED 2028 88 | #define SC_EOL_CRLF 0 89 | #define SC_EOL_CR 1 90 | #define SC_EOL_LF 2 91 | #define SCI_CONVERTEOLS 2029 92 | #define SCI_GETEOLMODE 2030 93 | #define SCI_SETEOLMODE 2031 94 | #define SCI_STARTSTYLING 2032 95 | #define SCI_SETSTYLING 2033 96 | #define SCI_GETBUFFEREDDRAW 2034 97 | #define SCI_SETBUFFEREDDRAW 2035 98 | #define SCI_SETTABWIDTH 2036 99 | #define SCI_GETTABWIDTH 2121 100 | #define SCI_SETTABMINIMUMWIDTH 2724 101 | #define SCI_GETTABMINIMUMWIDTH 2725 102 | #define SCI_CLEARTABSTOPS 2675 103 | #define SCI_ADDTABSTOP 2676 104 | #define SCI_GETNEXTTABSTOP 2677 105 | #define SC_CP_UTF8 65001 106 | #define SCI_SETCODEPAGE 2037 107 | #define SC_IME_WINDOWED 0 108 | #define SC_IME_INLINE 1 109 | #define SCI_GETIMEINTERACTION 2678 110 | #define SCI_SETIMEINTERACTION 2679 111 | #define SC_ALPHA_TRANSPARENT 0 112 | #define SC_ALPHA_OPAQUE 255 113 | #define SC_ALPHA_NOALPHA 256 114 | #define SC_CURSORNORMAL -1 115 | #define SC_CURSORARROW 2 116 | #define SC_CURSORWAIT 4 117 | #define SC_CURSORREVERSEARROW 7 118 | #define MARKER_MAX 31 119 | #define SC_MARK_CIRCLE 0 120 | #define SC_MARK_ROUNDRECT 1 121 | #define SC_MARK_ARROW 2 122 | #define SC_MARK_SMALLRECT 3 123 | #define SC_MARK_SHORTARROW 4 124 | #define SC_MARK_EMPTY 5 125 | #define SC_MARK_ARROWDOWN 6 126 | #define SC_MARK_MINUS 7 127 | #define SC_MARK_PLUS 8 128 | #define SC_MARK_VLINE 9 129 | #define SC_MARK_LCORNER 10 130 | #define SC_MARK_TCORNER 11 131 | #define SC_MARK_BOXPLUS 12 132 | #define SC_MARK_BOXPLUSCONNECTED 13 133 | #define SC_MARK_BOXMINUS 14 134 | #define SC_MARK_BOXMINUSCONNECTED 15 135 | #define SC_MARK_LCORNERCURVE 16 136 | #define SC_MARK_TCORNERCURVE 17 137 | #define SC_MARK_CIRCLEPLUS 18 138 | #define SC_MARK_CIRCLEPLUSCONNECTED 19 139 | #define SC_MARK_CIRCLEMINUS 20 140 | #define SC_MARK_CIRCLEMINUSCONNECTED 21 141 | #define SC_MARK_BACKGROUND 22 142 | #define SC_MARK_DOTDOTDOT 23 143 | #define SC_MARK_ARROWS 24 144 | #define SC_MARK_PIXMAP 25 145 | #define SC_MARK_FULLRECT 26 146 | #define SC_MARK_LEFTRECT 27 147 | #define SC_MARK_AVAILABLE 28 148 | #define SC_MARK_UNDERLINE 29 149 | #define SC_MARK_RGBAIMAGE 30 150 | #define SC_MARK_BOOKMARK 31 151 | #define SC_MARK_VERTICALBOOKMARK 32 152 | #define SC_MARK_CHARACTER 10000 153 | #define SC_MARKNUM_FOLDEREND 25 154 | #define SC_MARKNUM_FOLDEROPENMID 26 155 | #define SC_MARKNUM_FOLDERMIDTAIL 27 156 | #define SC_MARKNUM_FOLDERTAIL 28 157 | #define SC_MARKNUM_FOLDERSUB 29 158 | #define SC_MARKNUM_FOLDER 30 159 | #define SC_MARKNUM_FOLDEROPEN 31 160 | #define SC_MASK_FOLDERS 0xFE000000 161 | #define SCI_MARKERDEFINE 2040 162 | #define SCI_MARKERSETFORE 2041 163 | #define SCI_MARKERSETBACK 2042 164 | #define SCI_MARKERSETBACKSELECTED 2292 165 | #define SCI_MARKERENABLEHIGHLIGHT 2293 166 | #define SCI_MARKERADD 2043 167 | #define SCI_MARKERDELETE 2044 168 | #define SCI_MARKERDELETEALL 2045 169 | #define SCI_MARKERGET 2046 170 | #define SCI_MARKERNEXT 2047 171 | #define SCI_MARKERPREVIOUS 2048 172 | #define SCI_MARKERDEFINEPIXMAP 2049 173 | #define SCI_MARKERADDSET 2466 174 | #define SCI_MARKERSETALPHA 2476 175 | #define SC_MAX_MARGIN 4 176 | #define SC_MARGIN_SYMBOL 0 177 | #define SC_MARGIN_NUMBER 1 178 | #define SC_MARGIN_BACK 2 179 | #define SC_MARGIN_FORE 3 180 | #define SC_MARGIN_TEXT 4 181 | #define SC_MARGIN_RTEXT 5 182 | #define SC_MARGIN_COLOUR 6 183 | #define SCI_SETMARGINTYPEN 2240 184 | #define SCI_GETMARGINTYPEN 2241 185 | #define SCI_SETMARGINWIDTHN 2242 186 | #define SCI_GETMARGINWIDTHN 2243 187 | #define SCI_SETMARGINMASKN 2244 188 | #define SCI_GETMARGINMASKN 2245 189 | #define SCI_SETMARGINSENSITIVEN 2246 190 | #define SCI_GETMARGINSENSITIVEN 2247 191 | #define SCI_SETMARGINCURSORN 2248 192 | #define SCI_GETMARGINCURSORN 2249 193 | #define SCI_SETMARGINBACKN 2250 194 | #define SCI_GETMARGINBACKN 2251 195 | #define SCI_SETMARGINS 2252 196 | #define SCI_GETMARGINS 2253 197 | #define STYLE_DEFAULT 32 198 | #define STYLE_LINENUMBER 33 199 | #define STYLE_BRACELIGHT 34 200 | #define STYLE_BRACEBAD 35 201 | #define STYLE_CONTROLCHAR 36 202 | #define STYLE_INDENTGUIDE 37 203 | #define STYLE_CALLTIP 38 204 | #define STYLE_FOLDDISPLAYTEXT 39 205 | #define STYLE_LASTPREDEFINED 39 206 | #define STYLE_MAX 255 207 | #define SC_CHARSET_ANSI 0 208 | #define SC_CHARSET_DEFAULT 1 209 | #define SC_CHARSET_BALTIC 186 210 | #define SC_CHARSET_CHINESEBIG5 136 211 | #define SC_CHARSET_EASTEUROPE 238 212 | #define SC_CHARSET_GB2312 134 213 | #define SC_CHARSET_GREEK 161 214 | #define SC_CHARSET_HANGUL 129 215 | #define SC_CHARSET_MAC 77 216 | #define SC_CHARSET_OEM 255 217 | #define SC_CHARSET_RUSSIAN 204 218 | #define SC_CHARSET_OEM866 866 219 | #define SC_CHARSET_CYRILLIC 1251 220 | #define SC_CHARSET_SHIFTJIS 128 221 | #define SC_CHARSET_SYMBOL 2 222 | #define SC_CHARSET_TURKISH 162 223 | #define SC_CHARSET_JOHAB 130 224 | #define SC_CHARSET_HEBREW 177 225 | #define SC_CHARSET_ARABIC 178 226 | #define SC_CHARSET_VIETNAMESE 163 227 | #define SC_CHARSET_THAI 222 228 | #define SC_CHARSET_8859_15 1000 229 | #define SCI_STYLECLEARALL 2050 230 | #define SCI_STYLESETFORE 2051 231 | #define SCI_STYLESETBACK 2052 232 | #define SCI_STYLESETBOLD 2053 233 | #define SCI_STYLESETITALIC 2054 234 | #define SCI_STYLESETSIZE 2055 235 | #define SCI_STYLESETFONT 2056 236 | #define SCI_STYLESETEOLFILLED 2057 237 | #define SCI_STYLERESETDEFAULT 2058 238 | #define SCI_STYLESETUNDERLINE 2059 239 | #define SC_CASE_MIXED 0 240 | #define SC_CASE_UPPER 1 241 | #define SC_CASE_LOWER 2 242 | #define SC_CASE_CAMEL 3 243 | #define SCI_STYLEGETFORE 2481 244 | #define SCI_STYLEGETBACK 2482 245 | #define SCI_STYLEGETBOLD 2483 246 | #define SCI_STYLEGETITALIC 2484 247 | #define SCI_STYLEGETSIZE 2485 248 | #define SCI_STYLEGETFONT 2486 249 | #define SCI_STYLEGETEOLFILLED 2487 250 | #define SCI_STYLEGETUNDERLINE 2488 251 | #define SCI_STYLEGETCASE 2489 252 | #define SCI_STYLEGETCHARACTERSET 2490 253 | #define SCI_STYLEGETVISIBLE 2491 254 | #define SCI_STYLEGETCHANGEABLE 2492 255 | #define SCI_STYLEGETHOTSPOT 2493 256 | #define SCI_STYLESETCASE 2060 257 | #define SC_FONT_SIZE_MULTIPLIER 100 258 | #define SCI_STYLESETSIZEFRACTIONAL 2061 259 | #define SCI_STYLEGETSIZEFRACTIONAL 2062 260 | #define SC_WEIGHT_NORMAL 400 261 | #define SC_WEIGHT_SEMIBOLD 600 262 | #define SC_WEIGHT_BOLD 700 263 | #define SCI_STYLESETWEIGHT 2063 264 | #define SCI_STYLEGETWEIGHT 2064 265 | #define SCI_STYLESETCHARACTERSET 2066 266 | #define SCI_STYLESETHOTSPOT 2409 267 | #define SCI_SETSELFORE 2067 268 | #define SCI_SETSELBACK 2068 269 | #define SCI_GETSELALPHA 2477 270 | #define SCI_SETSELALPHA 2478 271 | #define SCI_GETSELEOLFILLED 2479 272 | #define SCI_SETSELEOLFILLED 2480 273 | #define SCI_SETCARETFORE 2069 274 | #define SCI_ASSIGNCMDKEY 2070 275 | #define SCI_CLEARCMDKEY 2071 276 | #define SCI_CLEARALLCMDKEYS 2072 277 | #define SCI_SETSTYLINGEX 2073 278 | #define SCI_STYLESETVISIBLE 2074 279 | #define SCI_GETCARETPERIOD 2075 280 | #define SCI_SETCARETPERIOD 2076 281 | #define SCI_SETWORDCHARS 2077 282 | #define SCI_GETWORDCHARS 2646 283 | #define SCI_SETCHARACTERCATEGORYOPTIMIZATION 2720 284 | #define SCI_GETCHARACTERCATEGORYOPTIMIZATION 2721 285 | #define SCI_BEGINUNDOACTION 2078 286 | #define SCI_ENDUNDOACTION 2079 287 | #define INDIC_PLAIN 0 288 | #define INDIC_SQUIGGLE 1 289 | #define INDIC_TT 2 290 | #define INDIC_DIAGONAL 3 291 | #define INDIC_STRIKE 4 292 | #define INDIC_HIDDEN 5 293 | #define INDIC_BOX 6 294 | #define INDIC_ROUNDBOX 7 295 | #define INDIC_STRAIGHTBOX 8 296 | #define INDIC_DASH 9 297 | #define INDIC_DOTS 10 298 | #define INDIC_SQUIGGLELOW 11 299 | #define INDIC_DOTBOX 12 300 | #define INDIC_SQUIGGLEPIXMAP 13 301 | #define INDIC_COMPOSITIONTHICK 14 302 | #define INDIC_COMPOSITIONTHIN 15 303 | #define INDIC_FULLBOX 16 304 | #define INDIC_TEXTFORE 17 305 | #define INDIC_POINT 18 306 | #define INDIC_POINTCHARACTER 19 307 | #define INDIC_GRADIENT 20 308 | #define INDIC_GRADIENTCENTRE 21 309 | #define INDIC_EXPLORERLINK 22 310 | #define INDIC_CONTAINER 8 311 | #define INDIC_IME 32 312 | #define INDIC_IME_MAX 35 313 | #define INDIC_MAX 35 314 | #define INDICATOR_CONTAINER 8 315 | #define INDICATOR_IME 32 316 | #define INDICATOR_IME_MAX 35 317 | #define INDICATOR_MAX 35 318 | #define SCI_INDICSETSTYLE 2080 319 | #define SCI_INDICGETSTYLE 2081 320 | #define SCI_INDICSETFORE 2082 321 | #define SCI_INDICGETFORE 2083 322 | #define SCI_INDICSETUNDER 2510 323 | #define SCI_INDICGETUNDER 2511 324 | #define SCI_INDICSETHOVERSTYLE 2680 325 | #define SCI_INDICGETHOVERSTYLE 2681 326 | #define SCI_INDICSETHOVERFORE 2682 327 | #define SCI_INDICGETHOVERFORE 2683 328 | #define SC_INDICVALUEBIT 0x1000000 329 | #define SC_INDICVALUEMASK 0xFFFFFF 330 | #define SC_INDICFLAG_VALUEFORE 1 331 | #define SCI_INDICSETFLAGS 2684 332 | #define SCI_INDICGETFLAGS 2685 333 | #define SCI_SETWHITESPACEFORE 2084 334 | #define SCI_SETWHITESPACEBACK 2085 335 | #define SCI_SETWHITESPACESIZE 2086 336 | #define SCI_GETWHITESPACESIZE 2087 337 | #define SCI_SETLINESTATE 2092 338 | #define SCI_GETLINESTATE 2093 339 | #define SCI_GETMAXLINESTATE 2094 340 | #define SCI_GETCARETLINEVISIBLE 2095 341 | #define SCI_SETCARETLINEVISIBLE 2096 342 | #define SCI_GETCARETLINEBACK 2097 343 | #define SCI_SETCARETLINEBACK 2098 344 | #define SCI_GETCARETLINEFRAME 2704 345 | #define SCI_SETCARETLINEFRAME 2705 346 | #define SCI_STYLESETCHANGEABLE 2099 347 | #define SCI_AUTOCSHOW 2100 348 | #define SCI_AUTOCCANCEL 2101 349 | #define SCI_AUTOCACTIVE 2102 350 | #define SCI_AUTOCPOSSTART 2103 351 | #define SCI_AUTOCCOMPLETE 2104 352 | #define SCI_AUTOCSTOPS 2105 353 | #define SCI_AUTOCSETSEPARATOR 2106 354 | #define SCI_AUTOCGETSEPARATOR 2107 355 | #define SCI_AUTOCSELECT 2108 356 | #define SCI_AUTOCSETCANCELATSTART 2110 357 | #define SCI_AUTOCGETCANCELATSTART 2111 358 | #define SCI_AUTOCSETFILLUPS 2112 359 | #define SCI_AUTOCSETCHOOSESINGLE 2113 360 | #define SCI_AUTOCGETCHOOSESINGLE 2114 361 | #define SCI_AUTOCSETIGNORECASE 2115 362 | #define SCI_AUTOCGETIGNORECASE 2116 363 | #define SCI_USERLISTSHOW 2117 364 | #define SCI_AUTOCSETAUTOHIDE 2118 365 | #define SCI_AUTOCGETAUTOHIDE 2119 366 | #define SCI_AUTOCSETDROPRESTOFWORD 2270 367 | #define SCI_AUTOCGETDROPRESTOFWORD 2271 368 | #define SCI_REGISTERIMAGE 2405 369 | #define SCI_CLEARREGISTEREDIMAGES 2408 370 | #define SCI_AUTOCGETTYPESEPARATOR 2285 371 | #define SCI_AUTOCSETTYPESEPARATOR 2286 372 | #define SCI_AUTOCSETMAXWIDTH 2208 373 | #define SCI_AUTOCGETMAXWIDTH 2209 374 | #define SCI_AUTOCSETMAXHEIGHT 2210 375 | #define SCI_AUTOCGETMAXHEIGHT 2211 376 | #define SCI_SETINDENT 2122 377 | #define SCI_GETINDENT 2123 378 | #define SCI_SETUSETABS 2124 379 | #define SCI_GETUSETABS 2125 380 | #define SCI_SETLINEINDENTATION 2126 381 | #define SCI_GETLINEINDENTATION 2127 382 | #define SCI_GETLINEINDENTPOSITION 2128 383 | #define SCI_GETCOLUMN 2129 384 | #define SCI_COUNTCHARACTERS 2633 385 | #define SCI_COUNTCODEUNITS 2715 386 | #define SCI_SETHSCROLLBAR 2130 387 | #define SCI_GETHSCROLLBAR 2131 388 | #define SC_IV_NONE 0 389 | #define SC_IV_REAL 1 390 | #define SC_IV_LOOKFORWARD 2 391 | #define SC_IV_LOOKBOTH 3 392 | #define SCI_SETINDENTATIONGUIDES 2132 393 | #define SCI_GETINDENTATIONGUIDES 2133 394 | #define SCI_SETHIGHLIGHTGUIDE 2134 395 | #define SCI_GETHIGHLIGHTGUIDE 2135 396 | #define SCI_GETLINEENDPOSITION 2136 397 | #define SCI_GETCODEPAGE 2137 398 | #define SCI_GETCARETFORE 2138 399 | #define SCI_GETREADONLY 2140 400 | #define SCI_SETCURRENTPOS 2141 401 | #define SCI_SETSELECTIONSTART 2142 402 | #define SCI_GETSELECTIONSTART 2143 403 | #define SCI_SETSELECTIONEND 2144 404 | #define SCI_GETSELECTIONEND 2145 405 | #define SCI_SETEMPTYSELECTION 2556 406 | #define SCI_SETPRINTMAGNIFICATION 2146 407 | #define SCI_GETPRINTMAGNIFICATION 2147 408 | #define SC_PRINT_NORMAL 0 409 | #define SC_PRINT_INVERTLIGHT 1 410 | #define SC_PRINT_BLACKONWHITE 2 411 | #define SC_PRINT_COLOURONWHITE 3 412 | #define SC_PRINT_COLOURONWHITEDEFAULTBG 4 413 | #define SC_PRINT_SCREENCOLOURS 5 414 | #define SCI_SETPRINTCOLOURMODE 2148 415 | #define SCI_GETPRINTCOLOURMODE 2149 416 | #define SCFIND_NONE 0x0 417 | #define SCFIND_WHOLEWORD 0x2 418 | #define SCFIND_MATCHCASE 0x4 419 | #define SCFIND_WORDSTART 0x00100000 420 | #define SCFIND_REGEXP 0x00200000 421 | #define SCFIND_POSIX 0x00400000 422 | #define SCFIND_CXX11REGEX 0x00800000 423 | #define SCI_FINDTEXT 2150 424 | #define SCI_FORMATRANGE 2151 425 | #define SCI_GETFIRSTVISIBLELINE 2152 426 | #define SCI_GETLINE 2153 427 | #define SCI_GETLINECOUNT 2154 428 | #define SCI_SETMARGINLEFT 2155 429 | #define SCI_GETMARGINLEFT 2156 430 | #define SCI_SETMARGINRIGHT 2157 431 | #define SCI_GETMARGINRIGHT 2158 432 | #define SCI_GETMODIFY 2159 433 | #define SCI_SETSEL 2160 434 | #define SCI_GETSELTEXT 2161 435 | #define SCI_GETTEXTRANGE 2162 436 | #define SCI_HIDESELECTION 2163 437 | #define SCI_POINTXFROMPOSITION 2164 438 | #define SCI_POINTYFROMPOSITION 2165 439 | #define SCI_LINEFROMPOSITION 2166 440 | #define SCI_POSITIONFROMLINE 2167 441 | #define SCI_LINESCROLL 2168 442 | #define SCI_SCROLLCARET 2169 443 | #define SCI_SCROLLRANGE 2569 444 | #define SCI_REPLACESEL 2170 445 | #define SCI_SETREADONLY 2171 446 | #define SCI_NULL 2172 447 | #define SCI_CANPASTE 2173 448 | #define SCI_CANUNDO 2174 449 | #define SCI_EMPTYUNDOBUFFER 2175 450 | #define SCI_UNDO 2176 451 | #define SCI_CUT 2177 452 | #define SCI_COPY 2178 453 | #define SCI_PASTE 2179 454 | #define SCI_CLEAR 2180 455 | #define SCI_SETTEXT 2181 456 | #define SCI_GETTEXT 2182 457 | #define SCI_GETTEXTLENGTH 2183 458 | #define SCI_GETDIRECTFUNCTION 2184 459 | #define SCI_GETDIRECTPOINTER 2185 460 | #define SCI_SETOVERTYPE 2186 461 | #define SCI_GETOVERTYPE 2187 462 | #define SCI_SETCARETWIDTH 2188 463 | #define SCI_GETCARETWIDTH 2189 464 | #define SCI_SETTARGETSTART 2190 465 | #define SCI_GETTARGETSTART 2191 466 | #define SCI_SETTARGETSTARTVIRTUALSPACE 2728 467 | #define SCI_GETTARGETSTARTVIRTUALSPACE 2729 468 | #define SCI_SETTARGETEND 2192 469 | #define SCI_GETTARGETEND 2193 470 | #define SCI_SETTARGETENDVIRTUALSPACE 2730 471 | #define SCI_GETTARGETENDVIRTUALSPACE 2731 472 | #define SCI_SETTARGETRANGE 2686 473 | #define SCI_GETTARGETTEXT 2687 474 | #define SCI_TARGETFROMSELECTION 2287 475 | #define SCI_TARGETWHOLEDOCUMENT 2690 476 | #define SCI_REPLACETARGET 2194 477 | #define SCI_REPLACETARGETRE 2195 478 | #define SCI_SEARCHINTARGET 2197 479 | #define SCI_SETSEARCHFLAGS 2198 480 | #define SCI_GETSEARCHFLAGS 2199 481 | #define SCI_CALLTIPSHOW 2200 482 | #define SCI_CALLTIPCANCEL 2201 483 | #define SCI_CALLTIPACTIVE 2202 484 | #define SCI_CALLTIPPOSSTART 2203 485 | #define SCI_CALLTIPSETPOSSTART 2214 486 | #define SCI_CALLTIPSETHLT 2204 487 | #define SCI_CALLTIPSETBACK 2205 488 | #define SCI_CALLTIPSETFORE 2206 489 | #define SCI_CALLTIPSETFOREHLT 2207 490 | #define SCI_CALLTIPUSESTYLE 2212 491 | #define SCI_CALLTIPSETPOSITION 2213 492 | #define SCI_VISIBLEFROMDOCLINE 2220 493 | #define SCI_DOCLINEFROMVISIBLE 2221 494 | #define SCI_WRAPCOUNT 2235 495 | #define SC_FOLDLEVELBASE 0x400 496 | #define SC_FOLDLEVELWHITEFLAG 0x1000 497 | #define SC_FOLDLEVELHEADERFLAG 0x2000 498 | #define SC_FOLDLEVELNUMBERMASK 0x0FFF 499 | #define SCI_SETFOLDLEVEL 2222 500 | #define SCI_GETFOLDLEVEL 2223 501 | #define SCI_GETLASTCHILD 2224 502 | #define SCI_GETFOLDPARENT 2225 503 | #define SCI_SHOWLINES 2226 504 | #define SCI_HIDELINES 2227 505 | #define SCI_GETLINEVISIBLE 2228 506 | #define SCI_GETALLLINESVISIBLE 2236 507 | #define SCI_SETFOLDEXPANDED 2229 508 | #define SCI_GETFOLDEXPANDED 2230 509 | #define SCI_TOGGLEFOLD 2231 510 | #define SCI_TOGGLEFOLDSHOWTEXT 2700 511 | #define SC_FOLDDISPLAYTEXT_HIDDEN 0 512 | #define SC_FOLDDISPLAYTEXT_STANDARD 1 513 | #define SC_FOLDDISPLAYTEXT_BOXED 2 514 | #define SCI_FOLDDISPLAYTEXTSETSTYLE 2701 515 | #define SCI_FOLDDISPLAYTEXTGETSTYLE 2707 516 | #define SCI_SETDEFAULTFOLDDISPLAYTEXT 2722 517 | #define SCI_GETDEFAULTFOLDDISPLAYTEXT 2723 518 | #define SC_FOLDACTION_CONTRACT 0 519 | #define SC_FOLDACTION_EXPAND 1 520 | #define SC_FOLDACTION_TOGGLE 2 521 | #define SCI_FOLDLINE 2237 522 | #define SCI_FOLDCHILDREN 2238 523 | #define SCI_EXPANDCHILDREN 2239 524 | #define SCI_FOLDALL 2662 525 | #define SCI_ENSUREVISIBLE 2232 526 | #define SC_AUTOMATICFOLD_SHOW 0x0001 527 | #define SC_AUTOMATICFOLD_CLICK 0x0002 528 | #define SC_AUTOMATICFOLD_CHANGE 0x0004 529 | #define SCI_SETAUTOMATICFOLD 2663 530 | #define SCI_GETAUTOMATICFOLD 2664 531 | #define SC_FOLDFLAG_LINEBEFORE_EXPANDED 0x0002 532 | #define SC_FOLDFLAG_LINEBEFORE_CONTRACTED 0x0004 533 | #define SC_FOLDFLAG_LINEAFTER_EXPANDED 0x0008 534 | #define SC_FOLDFLAG_LINEAFTER_CONTRACTED 0x0010 535 | #define SC_FOLDFLAG_LEVELNUMBERS 0x0040 536 | #define SC_FOLDFLAG_LINESTATE 0x0080 537 | #define SCI_SETFOLDFLAGS 2233 538 | #define SCI_ENSUREVISIBLEENFORCEPOLICY 2234 539 | #define SCI_SETTABINDENTS 2260 540 | #define SCI_GETTABINDENTS 2261 541 | #define SCI_SETBACKSPACEUNINDENTS 2262 542 | #define SCI_GETBACKSPACEUNINDENTS 2263 543 | #define SC_TIME_FOREVER 10000000 544 | #define SCI_SETMOUSEDWELLTIME 2264 545 | #define SCI_GETMOUSEDWELLTIME 2265 546 | #define SCI_WORDSTARTPOSITION 2266 547 | #define SCI_WORDENDPOSITION 2267 548 | #define SCI_ISRANGEWORD 2691 549 | #define SC_IDLESTYLING_NONE 0 550 | #define SC_IDLESTYLING_TOVISIBLE 1 551 | #define SC_IDLESTYLING_AFTERVISIBLE 2 552 | #define SC_IDLESTYLING_ALL 3 553 | #define SCI_SETIDLESTYLING 2692 554 | #define SCI_GETIDLESTYLING 2693 555 | #define SC_WRAP_NONE 0 556 | #define SC_WRAP_WORD 1 557 | #define SC_WRAP_CHAR 2 558 | #define SC_WRAP_WHITESPACE 3 559 | #define SCI_SETWRAPMODE 2268 560 | #define SCI_GETWRAPMODE 2269 561 | #define SC_WRAPVISUALFLAG_NONE 0x0000 562 | #define SC_WRAPVISUALFLAG_END 0x0001 563 | #define SC_WRAPVISUALFLAG_START 0x0002 564 | #define SC_WRAPVISUALFLAG_MARGIN 0x0004 565 | #define SCI_SETWRAPVISUALFLAGS 2460 566 | #define SCI_GETWRAPVISUALFLAGS 2461 567 | #define SC_WRAPVISUALFLAGLOC_DEFAULT 0x0000 568 | #define SC_WRAPVISUALFLAGLOC_END_BY_TEXT 0x0001 569 | #define SC_WRAPVISUALFLAGLOC_START_BY_TEXT 0x0002 570 | #define SCI_SETWRAPVISUALFLAGSLOCATION 2462 571 | #define SCI_GETWRAPVISUALFLAGSLOCATION 2463 572 | #define SCI_SETWRAPSTARTINDENT 2464 573 | #define SCI_GETWRAPSTARTINDENT 2465 574 | #define SC_WRAPINDENT_FIXED 0 575 | #define SC_WRAPINDENT_SAME 1 576 | #define SC_WRAPINDENT_INDENT 2 577 | #define SC_WRAPINDENT_DEEPINDENT 3 578 | #define SCI_SETWRAPINDENTMODE 2472 579 | #define SCI_GETWRAPINDENTMODE 2473 580 | #define SC_CACHE_NONE 0 581 | #define SC_CACHE_CARET 1 582 | #define SC_CACHE_PAGE 2 583 | #define SC_CACHE_DOCUMENT 3 584 | #define SCI_SETLAYOUTCACHE 2272 585 | #define SCI_GETLAYOUTCACHE 2273 586 | #define SCI_SETSCROLLWIDTH 2274 587 | #define SCI_GETSCROLLWIDTH 2275 588 | #define SCI_SETSCROLLWIDTHTRACKING 2516 589 | #define SCI_GETSCROLLWIDTHTRACKING 2517 590 | #define SCI_TEXTWIDTH 2276 591 | #define SCI_SETENDATLASTLINE 2277 592 | #define SCI_GETENDATLASTLINE 2278 593 | #define SCI_TEXTHEIGHT 2279 594 | #define SCI_SETVSCROLLBAR 2280 595 | #define SCI_GETVSCROLLBAR 2281 596 | #define SCI_APPENDTEXT 2282 597 | #define SC_PHASES_ONE 0 598 | #define SC_PHASES_TWO 1 599 | #define SC_PHASES_MULTIPLE 2 600 | #define SCI_GETPHASESDRAW 2673 601 | #define SCI_SETPHASESDRAW 2674 602 | #define SC_EFF_QUALITY_MASK 0xF 603 | #define SC_EFF_QUALITY_DEFAULT 0 604 | #define SC_EFF_QUALITY_NON_ANTIALIASED 1 605 | #define SC_EFF_QUALITY_ANTIALIASED 2 606 | #define SC_EFF_QUALITY_LCD_OPTIMIZED 3 607 | #define SCI_SETFONTQUALITY 2611 608 | #define SCI_GETFONTQUALITY 2612 609 | #define SCI_SETFIRSTVISIBLELINE 2613 610 | #define SC_MULTIPASTE_ONCE 0 611 | #define SC_MULTIPASTE_EACH 1 612 | #define SCI_SETMULTIPASTE 2614 613 | #define SCI_GETMULTIPASTE 2615 614 | #define SCI_GETTAG 2616 615 | #define SCI_LINESJOIN 2288 616 | #define SCI_LINESSPLIT 2289 617 | #define SCI_SETFOLDMARGINCOLOUR 2290 618 | #define SCI_SETFOLDMARGINHICOLOUR 2291 619 | #define SC_ACCESSIBILITY_DISABLED 0 620 | #define SC_ACCESSIBILITY_ENABLED 1 621 | #define SCI_SETACCESSIBILITY 2702 622 | #define SCI_GETACCESSIBILITY 2703 623 | #define SCI_LINEDOWN 2300 624 | #define SCI_LINEDOWNEXTEND 2301 625 | #define SCI_LINEUP 2302 626 | #define SCI_LINEUPEXTEND 2303 627 | #define SCI_CHARLEFT 2304 628 | #define SCI_CHARLEFTEXTEND 2305 629 | #define SCI_CHARRIGHT 2306 630 | #define SCI_CHARRIGHTEXTEND 2307 631 | #define SCI_WORDLEFT 2308 632 | #define SCI_WORDLEFTEXTEND 2309 633 | #define SCI_WORDRIGHT 2310 634 | #define SCI_WORDRIGHTEXTEND 2311 635 | #define SCI_HOME 2312 636 | #define SCI_HOMEEXTEND 2313 637 | #define SCI_LINEEND 2314 638 | #define SCI_LINEENDEXTEND 2315 639 | #define SCI_DOCUMENTSTART 2316 640 | #define SCI_DOCUMENTSTARTEXTEND 2317 641 | #define SCI_DOCUMENTEND 2318 642 | #define SCI_DOCUMENTENDEXTEND 2319 643 | #define SCI_PAGEUP 2320 644 | #define SCI_PAGEUPEXTEND 2321 645 | #define SCI_PAGEDOWN 2322 646 | #define SCI_PAGEDOWNEXTEND 2323 647 | #define SCI_EDITTOGGLEOVERTYPE 2324 648 | #define SCI_CANCEL 2325 649 | #define SCI_DELETEBACK 2326 650 | #define SCI_TAB 2327 651 | #define SCI_BACKTAB 2328 652 | #define SCI_NEWLINE 2329 653 | #define SCI_FORMFEED 2330 654 | #define SCI_VCHOME 2331 655 | #define SCI_VCHOMEEXTEND 2332 656 | #define SCI_ZOOMIN 2333 657 | #define SCI_ZOOMOUT 2334 658 | #define SCI_DELWORDLEFT 2335 659 | #define SCI_DELWORDRIGHT 2336 660 | #define SCI_DELWORDRIGHTEND 2518 661 | #define SCI_LINECUT 2337 662 | #define SCI_LINEDELETE 2338 663 | #define SCI_LINETRANSPOSE 2339 664 | #define SCI_LINEREVERSE 2354 665 | #define SCI_LINEDUPLICATE 2404 666 | #define SCI_LOWERCASE 2340 667 | #define SCI_UPPERCASE 2341 668 | #define SCI_LINESCROLLDOWN 2342 669 | #define SCI_LINESCROLLUP 2343 670 | #define SCI_DELETEBACKNOTLINE 2344 671 | #define SCI_HOMEDISPLAY 2345 672 | #define SCI_HOMEDISPLAYEXTEND 2346 673 | #define SCI_LINEENDDISPLAY 2347 674 | #define SCI_LINEENDDISPLAYEXTEND 2348 675 | #define SCI_HOMEWRAP 2349 676 | #define SCI_HOMEWRAPEXTEND 2450 677 | #define SCI_LINEENDWRAP 2451 678 | #define SCI_LINEENDWRAPEXTEND 2452 679 | #define SCI_VCHOMEWRAP 2453 680 | #define SCI_VCHOMEWRAPEXTEND 2454 681 | #define SCI_LINECOPY 2455 682 | #define SCI_MOVECARETINSIDEVIEW 2401 683 | #define SCI_LINELENGTH 2350 684 | #define SCI_BRACEHIGHLIGHT 2351 685 | #define SCI_BRACEHIGHLIGHTINDICATOR 2498 686 | #define SCI_BRACEBADLIGHT 2352 687 | #define SCI_BRACEBADLIGHTINDICATOR 2499 688 | #define SCI_BRACEMATCH 2353 689 | #define SCI_BRACEMATCHNEXT 2369 690 | #define SCI_GETVIEWEOL 2355 691 | #define SCI_SETVIEWEOL 2356 692 | #define SCI_GETDOCPOINTER 2357 693 | #define SCI_SETDOCPOINTER 2358 694 | #define SCI_SETMODEVENTMASK 2359 695 | #define EDGE_NONE 0 696 | #define EDGE_LINE 1 697 | #define EDGE_BACKGROUND 2 698 | #define EDGE_MULTILINE 3 699 | #define SCI_GETEDGECOLUMN 2360 700 | #define SCI_SETEDGECOLUMN 2361 701 | #define SCI_GETEDGEMODE 2362 702 | #define SCI_SETEDGEMODE 2363 703 | #define SCI_GETEDGECOLOUR 2364 704 | #define SCI_SETEDGECOLOUR 2365 705 | #define SCI_MULTIEDGEADDLINE 2694 706 | #define SCI_MULTIEDGECLEARALL 2695 707 | #define SCI_GETMULTIEDGECOLUMN 2749 708 | #define SCI_SEARCHANCHOR 2366 709 | #define SCI_SEARCHNEXT 2367 710 | #define SCI_SEARCHPREV 2368 711 | #define SCI_LINESONSCREEN 2370 712 | #define SC_POPUP_NEVER 0 713 | #define SC_POPUP_ALL 1 714 | #define SC_POPUP_TEXT 2 715 | #define SCI_USEPOPUP 2371 716 | #define SCI_SELECTIONISRECTANGLE 2372 717 | #define SCI_SETZOOM 2373 718 | #define SCI_GETZOOM 2374 719 | #define SC_DOCUMENTOPTION_DEFAULT 0 720 | #define SC_DOCUMENTOPTION_STYLES_NONE 0x1 721 | #define SC_DOCUMENTOPTION_TEXT_LARGE 0x100 722 | #define SCI_CREATEDOCUMENT 2375 723 | #define SCI_ADDREFDOCUMENT 2376 724 | #define SCI_RELEASEDOCUMENT 2377 725 | #define SCI_GETDOCUMENTOPTIONS 2379 726 | #define SCI_GETMODEVENTMASK 2378 727 | #define SCI_SETCOMMANDEVENTS 2717 728 | #define SCI_GETCOMMANDEVENTS 2718 729 | #define SCI_SETFOCUS 2380 730 | #define SCI_GETFOCUS 2381 731 | #define SC_STATUS_OK 0 732 | #define SC_STATUS_FAILURE 1 733 | #define SC_STATUS_BADALLOC 2 734 | #define SC_STATUS_WARN_START 1000 735 | #define SC_STATUS_WARN_REGEX 1001 736 | #define SCI_SETSTATUS 2382 737 | #define SCI_GETSTATUS 2383 738 | #define SCI_SETMOUSEDOWNCAPTURES 2384 739 | #define SCI_GETMOUSEDOWNCAPTURES 2385 740 | #define SCI_SETMOUSEWHEELCAPTURES 2696 741 | #define SCI_GETMOUSEWHEELCAPTURES 2697 742 | #define SCI_SETCURSOR 2386 743 | #define SCI_GETCURSOR 2387 744 | #define SCI_SETCONTROLCHARSYMBOL 2388 745 | #define SCI_GETCONTROLCHARSYMBOL 2389 746 | #define SCI_WORDPARTLEFT 2390 747 | #define SCI_WORDPARTLEFTEXTEND 2391 748 | #define SCI_WORDPARTRIGHT 2392 749 | #define SCI_WORDPARTRIGHTEXTEND 2393 750 | #define VISIBLE_SLOP 0x01 751 | #define VISIBLE_STRICT 0x04 752 | #define SCI_SETVISIBLEPOLICY 2394 753 | #define SCI_DELLINELEFT 2395 754 | #define SCI_DELLINERIGHT 2396 755 | #define SCI_SETXOFFSET 2397 756 | #define SCI_GETXOFFSET 2398 757 | #define SCI_CHOOSECARETX 2399 758 | #define SCI_GRABFOCUS 2400 759 | #define CARET_SLOP 0x01 760 | #define CARET_STRICT 0x04 761 | #define CARET_JUMPS 0x10 762 | #define CARET_EVEN 0x08 763 | #define SCI_SETXCARETPOLICY 2402 764 | #define SCI_SETYCARETPOLICY 2403 765 | #define SCI_SETPRINTWRAPMODE 2406 766 | #define SCI_GETPRINTWRAPMODE 2407 767 | #define SCI_SETHOTSPOTACTIVEFORE 2410 768 | #define SCI_GETHOTSPOTACTIVEFORE 2494 769 | #define SCI_SETHOTSPOTACTIVEBACK 2411 770 | #define SCI_GETHOTSPOTACTIVEBACK 2495 771 | #define SCI_SETHOTSPOTACTIVEUNDERLINE 2412 772 | #define SCI_GETHOTSPOTACTIVEUNDERLINE 2496 773 | #define SCI_SETHOTSPOTSINGLELINE 2421 774 | #define SCI_GETHOTSPOTSINGLELINE 2497 775 | #define SCI_PARADOWN 2413 776 | #define SCI_PARADOWNEXTEND 2414 777 | #define SCI_PARAUP 2415 778 | #define SCI_PARAUPEXTEND 2416 779 | #define SCI_POSITIONBEFORE 2417 780 | #define SCI_POSITIONAFTER 2418 781 | #define SCI_POSITIONRELATIVE 2670 782 | #define SCI_POSITIONRELATIVECODEUNITS 2716 783 | #define SCI_COPYRANGE 2419 784 | #define SCI_COPYTEXT 2420 785 | #define SC_SEL_STREAM 0 786 | #define SC_SEL_RECTANGLE 1 787 | #define SC_SEL_LINES 2 788 | #define SC_SEL_THIN 3 789 | #define SCI_SETSELECTIONMODE 2422 790 | #define SCI_GETSELECTIONMODE 2423 791 | #define SCI_GETMOVEEXTENDSSELECTION 2706 792 | #define SCI_GETLINESELSTARTPOSITION 2424 793 | #define SCI_GETLINESELENDPOSITION 2425 794 | #define SCI_LINEDOWNRECTEXTEND 2426 795 | #define SCI_LINEUPRECTEXTEND 2427 796 | #define SCI_CHARLEFTRECTEXTEND 2428 797 | #define SCI_CHARRIGHTRECTEXTEND 2429 798 | #define SCI_HOMERECTEXTEND 2430 799 | #define SCI_VCHOMERECTEXTEND 2431 800 | #define SCI_LINEENDRECTEXTEND 2432 801 | #define SCI_PAGEUPRECTEXTEND 2433 802 | #define SCI_PAGEDOWNRECTEXTEND 2434 803 | #define SCI_STUTTEREDPAGEUP 2435 804 | #define SCI_STUTTEREDPAGEUPEXTEND 2436 805 | #define SCI_STUTTEREDPAGEDOWN 2437 806 | #define SCI_STUTTEREDPAGEDOWNEXTEND 2438 807 | #define SCI_WORDLEFTEND 2439 808 | #define SCI_WORDLEFTENDEXTEND 2440 809 | #define SCI_WORDRIGHTEND 2441 810 | #define SCI_WORDRIGHTENDEXTEND 2442 811 | #define SCI_SETWHITESPACECHARS 2443 812 | #define SCI_GETWHITESPACECHARS 2647 813 | #define SCI_SETPUNCTUATIONCHARS 2648 814 | #define SCI_GETPUNCTUATIONCHARS 2649 815 | #define SCI_SETCHARSDEFAULT 2444 816 | #define SCI_AUTOCGETCURRENT 2445 817 | #define SCI_AUTOCGETCURRENTTEXT 2610 818 | #define SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE 0 819 | #define SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE 1 820 | #define SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR 2634 821 | #define SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR 2635 822 | #define SC_MULTIAUTOC_ONCE 0 823 | #define SC_MULTIAUTOC_EACH 1 824 | #define SCI_AUTOCSETMULTI 2636 825 | #define SCI_AUTOCGETMULTI 2637 826 | #define SC_ORDER_PRESORTED 0 827 | #define SC_ORDER_PERFORMSORT 1 828 | #define SC_ORDER_CUSTOM 2 829 | #define SCI_AUTOCSETORDER 2660 830 | #define SCI_AUTOCGETORDER 2661 831 | #define SCI_ALLOCATE 2446 832 | #define SCI_TARGETASUTF8 2447 833 | #define SCI_SETLENGTHFORENCODE 2448 834 | #define SCI_ENCODEDFROMUTF8 2449 835 | #define SCI_FINDCOLUMN 2456 836 | #define SC_CARETSTICKY_OFF 0 837 | #define SC_CARETSTICKY_ON 1 838 | #define SC_CARETSTICKY_WHITESPACE 2 839 | #define SCI_GETCARETSTICKY 2457 840 | #define SCI_SETCARETSTICKY 2458 841 | #define SCI_TOGGLECARETSTICKY 2459 842 | #define SCI_SETPASTECONVERTENDINGS 2467 843 | #define SCI_GETPASTECONVERTENDINGS 2468 844 | #define SCI_SELECTIONDUPLICATE 2469 845 | #define SCI_SETCARETLINEBACKALPHA 2470 846 | #define SCI_GETCARETLINEBACKALPHA 2471 847 | #define CARETSTYLE_INVISIBLE 0 848 | #define CARETSTYLE_LINE 1 849 | #define CARETSTYLE_BLOCK 2 850 | #define CARETSTYLE_OVERSTRIKE_BAR 0 851 | #define CARETSTYLE_OVERSTRIKE_BLOCK 0x10 852 | #define CARETSTYLE_INS_MASK 0xF 853 | #define CARETSTYLE_BLOCK_AFTER 0x100 854 | #define SCI_SETCARETSTYLE 2512 855 | #define SCI_GETCARETSTYLE 2513 856 | #define SCI_SETINDICATORCURRENT 2500 857 | #define SCI_GETINDICATORCURRENT 2501 858 | #define SCI_SETINDICATORVALUE 2502 859 | #define SCI_GETINDICATORVALUE 2503 860 | #define SCI_INDICATORFILLRANGE 2504 861 | #define SCI_INDICATORCLEARRANGE 2505 862 | #define SCI_INDICATORALLONFOR 2506 863 | #define SCI_INDICATORVALUEAT 2507 864 | #define SCI_INDICATORSTART 2508 865 | #define SCI_INDICATOREND 2509 866 | #define SCI_SETPOSITIONCACHE 2514 867 | #define SCI_GETPOSITIONCACHE 2515 868 | #define SCI_COPYALLOWLINE 2519 869 | #define SCI_GETCHARACTERPOINTER 2520 870 | #define SCI_GETRANGEPOINTER 2643 871 | #define SCI_GETGAPPOSITION 2644 872 | #define SCI_INDICSETALPHA 2523 873 | #define SCI_INDICGETALPHA 2524 874 | #define SCI_INDICSETOUTLINEALPHA 2558 875 | #define SCI_INDICGETOUTLINEALPHA 2559 876 | #define SCI_SETEXTRAASCENT 2525 877 | #define SCI_GETEXTRAASCENT 2526 878 | #define SCI_SETEXTRADESCENT 2527 879 | #define SCI_GETEXTRADESCENT 2528 880 | #define SCI_MARKERSYMBOLDEFINED 2529 881 | #define SCI_MARGINSETTEXT 2530 882 | #define SCI_MARGINGETTEXT 2531 883 | #define SCI_MARGINSETSTYLE 2532 884 | #define SCI_MARGINGETSTYLE 2533 885 | #define SCI_MARGINSETSTYLES 2534 886 | #define SCI_MARGINGETSTYLES 2535 887 | #define SCI_MARGINTEXTCLEARALL 2536 888 | #define SCI_MARGINSETSTYLEOFFSET 2537 889 | #define SCI_MARGINGETSTYLEOFFSET 2538 890 | #define SC_MARGINOPTION_NONE 0 891 | #define SC_MARGINOPTION_SUBLINESELECT 1 892 | #define SCI_SETMARGINOPTIONS 2539 893 | #define SCI_GETMARGINOPTIONS 2557 894 | #define SCI_ANNOTATIONSETTEXT 2540 895 | #define SCI_ANNOTATIONGETTEXT 2541 896 | #define SCI_ANNOTATIONSETSTYLE 2542 897 | #define SCI_ANNOTATIONGETSTYLE 2543 898 | #define SCI_ANNOTATIONSETSTYLES 2544 899 | #define SCI_ANNOTATIONGETSTYLES 2545 900 | #define SCI_ANNOTATIONGETLINES 2546 901 | #define SCI_ANNOTATIONCLEARALL 2547 902 | #define ANNOTATION_HIDDEN 0 903 | #define ANNOTATION_STANDARD 1 904 | #define ANNOTATION_BOXED 2 905 | #define ANNOTATION_INDENTED 3 906 | #define SCI_ANNOTATIONSETVISIBLE 2548 907 | #define SCI_ANNOTATIONGETVISIBLE 2549 908 | #define SCI_ANNOTATIONSETSTYLEOFFSET 2550 909 | #define SCI_ANNOTATIONGETSTYLEOFFSET 2551 910 | #define SCI_RELEASEALLEXTENDEDSTYLES 2552 911 | #define SCI_ALLOCATEEXTENDEDSTYLES 2553 912 | #define UNDO_NONE 0 913 | #define UNDO_MAY_COALESCE 1 914 | #define SCI_ADDUNDOACTION 2560 915 | #define SCI_CHARPOSITIONFROMPOINT 2561 916 | #define SCI_CHARPOSITIONFROMPOINTCLOSE 2562 917 | #define SCI_SETMOUSESELECTIONRECTANGULARSWITCH 2668 918 | #define SCI_GETMOUSESELECTIONRECTANGULARSWITCH 2669 919 | #define SCI_SETMULTIPLESELECTION 2563 920 | #define SCI_GETMULTIPLESELECTION 2564 921 | #define SCI_SETADDITIONALSELECTIONTYPING 2565 922 | #define SCI_GETADDITIONALSELECTIONTYPING 2566 923 | #define SCI_SETADDITIONALCARETSBLINK 2567 924 | #define SCI_GETADDITIONALCARETSBLINK 2568 925 | #define SCI_SETADDITIONALCARETSVISIBLE 2608 926 | #define SCI_GETADDITIONALCARETSVISIBLE 2609 927 | #define SCI_GETSELECTIONS 2570 928 | #define SCI_GETSELECTIONEMPTY 2650 929 | #define SCI_CLEARSELECTIONS 2571 930 | #define SCI_SETSELECTION 2572 931 | #define SCI_ADDSELECTION 2573 932 | #define SCI_DROPSELECTIONN 2671 933 | #define SCI_SETMAINSELECTION 2574 934 | #define SCI_GETMAINSELECTION 2575 935 | #define SCI_SETSELECTIONNCARET 2576 936 | #define SCI_GETSELECTIONNCARET 2577 937 | #define SCI_SETSELECTIONNANCHOR 2578 938 | #define SCI_GETSELECTIONNANCHOR 2579 939 | #define SCI_SETSELECTIONNCARETVIRTUALSPACE 2580 940 | #define SCI_GETSELECTIONNCARETVIRTUALSPACE 2581 941 | #define SCI_SETSELECTIONNANCHORVIRTUALSPACE 2582 942 | #define SCI_GETSELECTIONNANCHORVIRTUALSPACE 2583 943 | #define SCI_SETSELECTIONNSTART 2584 944 | #define SCI_GETSELECTIONNSTART 2585 945 | #define SCI_GETSELECTIONNSTARTVIRTUALSPACE 2726 946 | #define SCI_SETSELECTIONNEND 2586 947 | #define SCI_GETSELECTIONNENDVIRTUALSPACE 2727 948 | #define SCI_GETSELECTIONNEND 2587 949 | #define SCI_SETRECTANGULARSELECTIONCARET 2588 950 | #define SCI_GETRECTANGULARSELECTIONCARET 2589 951 | #define SCI_SETRECTANGULARSELECTIONANCHOR 2590 952 | #define SCI_GETRECTANGULARSELECTIONANCHOR 2591 953 | #define SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE 2592 954 | #define SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE 2593 955 | #define SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE 2594 956 | #define SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE 2595 957 | #define SCVS_NONE 0 958 | #define SCVS_RECTANGULARSELECTION 1 959 | #define SCVS_USERACCESSIBLE 2 960 | #define SCVS_NOWRAPLINESTART 4 961 | #define SCI_SETVIRTUALSPACEOPTIONS 2596 962 | #define SCI_GETVIRTUALSPACEOPTIONS 2597 963 | #define SCI_SETRECTANGULARSELECTIONMODIFIER 2598 964 | #define SCI_GETRECTANGULARSELECTIONMODIFIER 2599 965 | #define SCI_SETADDITIONALSELFORE 2600 966 | #define SCI_SETADDITIONALSELBACK 2601 967 | #define SCI_SETADDITIONALSELALPHA 2602 968 | #define SCI_GETADDITIONALSELALPHA 2603 969 | #define SCI_SETADDITIONALCARETFORE 2604 970 | #define SCI_GETADDITIONALCARETFORE 2605 971 | #define SCI_ROTATESELECTION 2606 972 | #define SCI_SWAPMAINANCHORCARET 2607 973 | #define SCI_MULTIPLESELECTADDNEXT 2688 974 | #define SCI_MULTIPLESELECTADDEACH 2689 975 | #define SCI_CHANGELEXERSTATE 2617 976 | #define SCI_CONTRACTEDFOLDNEXT 2618 977 | #define SCI_VERTICALCENTRECARET 2619 978 | #define SCI_MOVESELECTEDLINESUP 2620 979 | #define SCI_MOVESELECTEDLINESDOWN 2621 980 | #define SCI_SETIDENTIFIER 2622 981 | #define SCI_GETIDENTIFIER 2623 982 | #define SCI_RGBAIMAGESETWIDTH 2624 983 | #define SCI_RGBAIMAGESETHEIGHT 2625 984 | #define SCI_RGBAIMAGESETSCALE 2651 985 | #define SCI_MARKERDEFINERGBAIMAGE 2626 986 | #define SCI_REGISTERRGBAIMAGE 2627 987 | #define SCI_SCROLLTOSTART 2628 988 | #define SCI_SCROLLTOEND 2629 989 | #define SC_TECHNOLOGY_DEFAULT 0 990 | #define SC_TECHNOLOGY_DIRECTWRITE 1 991 | #define SC_TECHNOLOGY_DIRECTWRITERETAIN 2 992 | #define SC_TECHNOLOGY_DIRECTWRITEDC 3 993 | #define SCI_SETTECHNOLOGY 2630 994 | #define SCI_GETTECHNOLOGY 2631 995 | #define SCI_CREATELOADER 2632 996 | #define SCI_FINDINDICATORSHOW 2640 997 | #define SCI_FINDINDICATORFLASH 2641 998 | #define SCI_FINDINDICATORHIDE 2642 999 | #define SCI_VCHOMEDISPLAY 2652 1000 | #define SCI_VCHOMEDISPLAYEXTEND 2653 1001 | #define SCI_GETCARETLINEVISIBLEALWAYS 2654 1002 | #define SCI_SETCARETLINEVISIBLEALWAYS 2655 1003 | #define SC_LINE_END_TYPE_DEFAULT 0 1004 | #define SC_LINE_END_TYPE_UNICODE 1 1005 | #define SCI_SETLINEENDTYPESALLOWED 2656 1006 | #define SCI_GETLINEENDTYPESALLOWED 2657 1007 | #define SCI_GETLINEENDTYPESACTIVE 2658 1008 | #define SCI_SETREPRESENTATION 2665 1009 | #define SCI_GETREPRESENTATION 2666 1010 | #define SCI_CLEARREPRESENTATION 2667 1011 | #define SCI_EOLANNOTATIONSETTEXT 2740 1012 | #define SCI_EOLANNOTATIONGETTEXT 2741 1013 | #define SCI_EOLANNOTATIONSETSTYLE 2742 1014 | #define SCI_EOLANNOTATIONGETSTYLE 2743 1015 | #define SCI_EOLANNOTATIONCLEARALL 2744 1016 | #define EOLANNOTATION_HIDDEN 0 1017 | #define EOLANNOTATION_STANDARD 1 1018 | #define EOLANNOTATION_BOXED 2 1019 | #define SCI_EOLANNOTATIONSETVISIBLE 2745 1020 | #define SCI_EOLANNOTATIONGETVISIBLE 2746 1021 | #define SCI_EOLANNOTATIONSETSTYLEOFFSET 2747 1022 | #define SCI_EOLANNOTATIONGETSTYLEOFFSET 2748 1023 | #define SCI_STARTRECORD 3001 1024 | #define SCI_STOPRECORD 3002 1025 | #define SCI_SETLEXER 4001 1026 | #define SCI_GETLEXER 4002 1027 | #define SCI_COLOURISE 4003 1028 | #define SCI_SETPROPERTY 4004 1029 | // #define KEYWORDSET_MAX 8 1030 | #define KEYWORDSET_MAX 30 1031 | #define SCI_SETKEYWORDS 4005 1032 | #define SCI_SETLEXERLANGUAGE 4006 1033 | #define SCI_LOADLEXERLIBRARY 4007 1034 | #define SCI_GETPROPERTY 4008 1035 | #define SCI_GETPROPERTYEXPANDED 4009 1036 | #define SCI_GETPROPERTYINT 4010 1037 | #define SCI_GETLEXERLANGUAGE 4012 1038 | #define SCI_PRIVATELEXERCALL 4013 1039 | #define SCI_PROPERTYNAMES 4014 1040 | #define SC_TYPE_BOOLEAN 0 1041 | #define SC_TYPE_INTEGER 1 1042 | #define SC_TYPE_STRING 2 1043 | #define SCI_PROPERTYTYPE 4015 1044 | #define SCI_DESCRIBEPROPERTY 4016 1045 | #define SCI_DESCRIBEKEYWORDSETS 4017 1046 | #define SCI_GETLINEENDTYPESSUPPORTED 4018 1047 | #define SCI_ALLOCATESUBSTYLES 4020 1048 | #define SCI_GETSUBSTYLESSTART 4021 1049 | #define SCI_GETSUBSTYLESLENGTH 4022 1050 | #define SCI_GETSTYLEFROMSUBSTYLE 4027 1051 | #define SCI_GETPRIMARYSTYLEFROMSTYLE 4028 1052 | #define SCI_FREESUBSTYLES 4023 1053 | #define SCI_SETIDENTIFIERS 4024 1054 | #define SCI_DISTANCETOSECONDARYSTYLES 4025 1055 | #define SCI_GETSUBSTYLEBASES 4026 1056 | #define SCI_GETNAMEDSTYLES 4029 1057 | #define SCI_NAMEOFSTYLE 4030 1058 | #define SCI_TAGSOFSTYLE 4031 1059 | #define SCI_DESCRIPTIONOFSTYLE 4032 1060 | #define SCI_SETILEXER 4033 1061 | #define SC_MOD_NONE 0x0 1062 | #define SC_MOD_INSERTTEXT 0x1 1063 | #define SC_MOD_DELETETEXT 0x2 1064 | #define SC_MOD_CHANGESTYLE 0x4 1065 | #define SC_MOD_CHANGEFOLD 0x8 1066 | #define SC_PERFORMED_USER 0x10 1067 | #define SC_PERFORMED_UNDO 0x20 1068 | #define SC_PERFORMED_REDO 0x40 1069 | #define SC_MULTISTEPUNDOREDO 0x80 1070 | #define SC_LASTSTEPINUNDOREDO 0x100 1071 | #define SC_MOD_CHANGEMARKER 0x200 1072 | #define SC_MOD_BEFOREINSERT 0x400 1073 | #define SC_MOD_BEFOREDELETE 0x800 1074 | #define SC_MULTILINEUNDOREDO 0x1000 1075 | #define SC_STARTACTION 0x2000 1076 | #define SC_MOD_CHANGEINDICATOR 0x4000 1077 | #define SC_MOD_CHANGELINESTATE 0x8000 1078 | #define SC_MOD_CHANGEMARGIN 0x10000 1079 | #define SC_MOD_CHANGEANNOTATION 0x20000 1080 | #define SC_MOD_CONTAINER 0x40000 1081 | #define SC_MOD_LEXERSTATE 0x80000 1082 | #define SC_MOD_INSERTCHECK 0x100000 1083 | #define SC_MOD_CHANGETABSTOPS 0x200000 1084 | #define SC_MOD_CHANGEEOLANNOTATION 0x400000 1085 | #define SC_MODEVENTMASKALL 0x7FFFFF 1086 | #define SC_SEARCHRESULT_LINEBUFFERMAXLENGTH 2048 1087 | #define SC_UPDATE_CONTENT 0x1 1088 | #define SC_UPDATE_SELECTION 0x2 1089 | #define SC_UPDATE_V_SCROLL 0x4 1090 | #define SC_UPDATE_H_SCROLL 0x8 1091 | #define SCEN_CHANGE 768 1092 | #define SCEN_SETFOCUS 512 1093 | #define SCEN_KILLFOCUS 256 1094 | #define SCK_DOWN 300 1095 | #define SCK_UP 301 1096 | #define SCK_LEFT 302 1097 | #define SCK_RIGHT 303 1098 | #define SCK_HOME 304 1099 | #define SCK_END 305 1100 | #define SCK_PRIOR 306 1101 | #define SCK_NEXT 307 1102 | #define SCK_DELETE 308 1103 | #define SCK_INSERT 309 1104 | #define SCK_ESCAPE 7 1105 | #define SCK_BACK 8 1106 | #define SCK_TAB 9 1107 | #define SCK_RETURN 13 1108 | #define SCK_ADD 310 1109 | #define SCK_SUBTRACT 311 1110 | #define SCK_DIVIDE 312 1111 | #define SCK_WIN 313 1112 | #define SCK_RWIN 314 1113 | #define SCK_MENU 315 1114 | #define SCMOD_NORM 0 1115 | #define SCMOD_SHIFT 1 1116 | #define SCMOD_CTRL 2 1117 | #define SCMOD_ALT 4 1118 | #define SCMOD_SUPER 8 1119 | #define SCMOD_META 16 1120 | #define SC_AC_FILLUP 1 1121 | #define SC_AC_DOUBLECLICK 2 1122 | #define SC_AC_TAB 3 1123 | #define SC_AC_NEWLINE 4 1124 | #define SC_AC_COMMAND 5 1125 | #define SC_CHARACTERSOURCE_DIRECT_INPUT 0 1126 | #define SC_CHARACTERSOURCE_TENTATIVE_INPUT 1 1127 | #define SC_CHARACTERSOURCE_IME_RESULT 2 1128 | #define SCN_STYLENEEDED 2000 1129 | #define SCN_CHARADDED 2001 1130 | #define SCN_SAVEPOINTREACHED 2002 1131 | #define SCN_SAVEPOINTLEFT 2003 1132 | #define SCN_MODIFYATTEMPTRO 2004 1133 | #define SCN_KEY 2005 1134 | #define SCN_DOUBLECLICK 2006 1135 | #define SCN_UPDATEUI 2007 1136 | #define SCN_MODIFIED 2008 1137 | #define SCN_MACRORECORD 2009 1138 | #define SCN_MARGINCLICK 2010 1139 | #define SCN_NEEDSHOWN 2011 1140 | #define SCN_PAINTED 2013 1141 | #define SCN_USERLISTSELECTION 2014 1142 | #define SCN_URIDROPPED 2015 1143 | #define SCN_DWELLSTART 2016 1144 | #define SCN_DWELLEND 2017 1145 | #define SCN_ZOOM 2018 1146 | #define SCN_HOTSPOTCLICK 2019 1147 | #define SCN_HOTSPOTDOUBLECLICK 2020 1148 | #define SCN_CALLTIPCLICK 2021 1149 | #define SCN_AUTOCSELECTION 2022 1150 | #define SCN_INDICATORCLICK 2023 1151 | #define SCN_INDICATORRELEASE 2024 1152 | #define SCN_AUTOCCANCELLED 2025 1153 | #define SCN_AUTOCCHARDELETED 2026 1154 | #define SCN_HOTSPOTRELEASECLICK 2027 1155 | #define SCN_FOCUSIN 2028 1156 | #define SCN_FOCUSOUT 2029 1157 | #define SCN_AUTOCCOMPLETED 2030 1158 | #define SCN_MARGINRIGHTCLICK 2031 1159 | #define SCN_AUTOCSELECTIONCHANGE 2032 1160 | #ifndef SCI_DISABLE_PROVISIONAL 1161 | #define SC_BIDIRECTIONAL_DISABLED 0 1162 | #define SC_BIDIRECTIONAL_L2R 1 1163 | #define SC_BIDIRECTIONAL_R2L 2 1164 | #define SCI_GETBIDIRECTIONAL 2708 1165 | #define SCI_SETBIDIRECTIONAL 2709 1166 | #define SC_LINECHARACTERINDEX_NONE 0 1167 | #define SC_LINECHARACTERINDEX_UTF32 1 1168 | #define SC_LINECHARACTERINDEX_UTF16 2 1169 | #define SCI_GETLINECHARACTERINDEX 2710 1170 | #define SCI_ALLOCATELINECHARACTERINDEX 2711 1171 | #define SCI_RELEASELINECHARACTERINDEX 2712 1172 | #define SCI_LINEFROMINDEXPOSITION 2713 1173 | #define SCI_INDEXPOSITIONFROMLINE 2714 1174 | #endif 1175 | 1176 | #define SCI_GETBOOSTREGEXERRMSG 5000 1177 | 1178 | #define SCN_SCROLLED 2080 1179 | #define SCN_FOLDINGSTATECHANGED 2081 1180 | 1181 | /* --Autogenerated -- end of section automatically generated from Scintilla.iface */ 1182 | 1183 | #endif 1184 | 1185 | /* These structures are defined to be exactly the same shape as the Win32 1186 | * CHARRANGE, TEXTRANGE, FINDTEXTEX, FORMATRANGE, and NMHDR structs. 1187 | * So older code that treats Scintilla as a RichEdit will work. */ 1188 | 1189 | struct Sci_CharacterRange { 1190 | Sci_PositionCR cpMin; 1191 | Sci_PositionCR cpMax; 1192 | }; 1193 | 1194 | struct Sci_TextRange { 1195 | struct Sci_CharacterRange chrg; 1196 | char *lpstrText; 1197 | }; 1198 | 1199 | struct Sci_TextToFind { 1200 | struct Sci_CharacterRange chrg; 1201 | const char *lpstrText; 1202 | struct Sci_CharacterRange chrgText; 1203 | }; 1204 | 1205 | typedef void *Sci_SurfaceID; 1206 | 1207 | struct Sci_Rectangle { 1208 | int left; 1209 | int top; 1210 | int right; 1211 | int bottom; 1212 | }; 1213 | 1214 | /* This structure is used in printing and requires some of the graphics types 1215 | * from Platform.h. Not needed by most client code. */ 1216 | 1217 | struct Sci_RangeToFormat { 1218 | Sci_SurfaceID hdc; 1219 | Sci_SurfaceID hdcTarget; 1220 | struct Sci_Rectangle rc; 1221 | struct Sci_Rectangle rcPage; 1222 | struct Sci_CharacterRange chrg; 1223 | }; 1224 | 1225 | #ifndef __cplusplus 1226 | /* For the GTK+ platform, g-ir-scanner needs to have these typedefs. This 1227 | * is not required in C++ code and actually seems to break ScintillaEditPy */ 1228 | typedef struct Sci_NotifyHeader Sci_NotifyHeader; 1229 | typedef struct SCNotification SCNotification; 1230 | #endif 1231 | 1232 | struct Sci_NotifyHeader { 1233 | /* Compatible with Windows NMHDR. 1234 | * hwndFrom is really an environment specific window handle or pointer 1235 | * but most clients of Scintilla.h do not have this type visible. */ 1236 | void *hwndFrom; 1237 | uptr_t idFrom; 1238 | unsigned int code; 1239 | }; 1240 | 1241 | struct SCNotification { 1242 | Sci_NotifyHeader nmhdr; 1243 | Sci_Position position; 1244 | /* SCN_STYLENEEDED, SCN_DOUBLECLICK, SCN_MODIFIED, SCN_MARGINCLICK, */ 1245 | /* SCN_NEEDSHOWN, SCN_DWELLSTART, SCN_DWELLEND, SCN_CALLTIPCLICK, */ 1246 | /* SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, SCN_HOTSPOTRELEASECLICK, */ 1247 | /* SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */ 1248 | /* SCN_USERLISTSELECTION, SCN_AUTOCSELECTION */ 1249 | 1250 | int ch; 1251 | /* SCN_CHARADDED, SCN_KEY, SCN_AUTOCCOMPLETED, SCN_AUTOCSELECTION, */ 1252 | /* SCN_USERLISTSELECTION */ 1253 | int modifiers; 1254 | /* SCN_KEY, SCN_DOUBLECLICK, SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, */ 1255 | /* SCN_HOTSPOTRELEASECLICK, SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */ 1256 | 1257 | int modificationType; /* SCN_MODIFIED */ 1258 | const char *text; 1259 | /* SCN_MODIFIED, SCN_USERLISTSELECTION, SCN_AUTOCSELECTION, SCN_URIDROPPED */ 1260 | 1261 | Sci_Position length; /* SCN_MODIFIED */ 1262 | Sci_Position linesAdded; /* SCN_MODIFIED */ 1263 | int message; /* SCN_MACRORECORD */ 1264 | uptr_t wParam; /* SCN_MACRORECORD */ 1265 | sptr_t lParam; /* SCN_MACRORECORD */ 1266 | Sci_Position line; /* SCN_MODIFIED */ 1267 | int foldLevelNow; /* SCN_MODIFIED */ 1268 | int foldLevelPrev; /* SCN_MODIFIED */ 1269 | int margin; /* SCN_MARGINCLICK */ 1270 | int listType; /* SCN_USERLISTSELECTION */ 1271 | int x; /* SCN_DWELLSTART, SCN_DWELLEND */ 1272 | int y; /* SCN_DWELLSTART, SCN_DWELLEND */ 1273 | int token; /* SCN_MODIFIED with SC_MOD_CONTAINER */ 1274 | Sci_Position annotationLinesAdded; /* SCN_MODIFIED with SC_MOD_CHANGEANNOTATION */ 1275 | int updated; /* SCN_UPDATEUI */ 1276 | int listCompletionMethod; 1277 | /* SCN_AUTOCSELECTION, SCN_AUTOCCOMPLETED, SCN_USERLISTSELECTION, */ 1278 | int characterSource; /* SCN_CHARADDED */ 1279 | }; 1280 | 1281 | struct SearchResultMarking { 1282 | intptr_t _start; 1283 | intptr_t _end; 1284 | }; 1285 | 1286 | struct SearchResultMarkings { 1287 | intptr_t _length; 1288 | SearchResultMarking *_markings; 1289 | }; 1290 | 1291 | #ifdef INCLUDE_DEPRECATED_FEATURES 1292 | 1293 | #define SCI_SETKEYSUNICODE 2521 1294 | #define SCI_GETKEYSUNICODE 2522 1295 | 1296 | #define SCI_GETTWOPHASEDRAW 2283 1297 | #define SCI_SETTWOPHASEDRAW 2284 1298 | 1299 | #define CharacterRange Sci_CharacterRange 1300 | #define TextRange Sci_TextRange 1301 | #define TextToFind Sci_TextToFind 1302 | #define RangeToFormat Sci_RangeToFormat 1303 | #define NotifyHeader Sci_NotifyHeader 1304 | 1305 | #define SCI_SETSTYLEBITS 2090 1306 | #define SCI_GETSTYLEBITS 2091 1307 | #define SCI_GETSTYLEBITSNEEDED 4011 1308 | 1309 | #define INDIC0_MASK 0x20 1310 | #define INDIC1_MASK 0x40 1311 | #define INDIC2_MASK 0x80 1312 | #define INDICS_MASK 0xE0 1313 | 1314 | #endif 1315 | 1316 | #endif 1317 | --------------------------------------------------------------------------------