Advertisement
AZJIO

UDF Notepad++

Aug 8th, 2011
910
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 21.79 KB | None | 0 0
  1. #cs ----------------------------------------------------------------------------
  2. AutoIt Version: 3.3.6.1
  3.  
  4.  
  5. #Include <nppUDF.au3>
  6. #ce ----------------------------------------------------------------------------
  7. #Region    ;************ Includes ************
  8. #include-once
  9. #include <WindowsConstants.au3>
  10. #include <SendMessage.au3>
  11. ;~ #Include <Array.au3>;~~~
  12. #EndRegion ;************ Includes ************
  13.  
  14. #Region ###
  15. ; this file is part of notepad++
  16. ; Copyright (C)2003 Don HO <donho@altern.org>
  17. ;
  18. ; This program is free software; you can redistribute it and/or
  19. ; modify it under the terms of the GNU General Public License
  20. ; as published by the Free Software Foundation; either
  21. ; version 2 of the License, or (at your option) any later version.
  22. ;
  23. ; This program is distributed in the hope that it will be useful,
  24. ; but WITHOUT ANY WARRANTY; without even the implied warranty of
  25. ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  26. ; GNU General Public License for more details.
  27. ;
  28. ; You should have received a copy of the GNU General Public License
  29. ; along with this program; if not, write to the Free Software
  30. ; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  31.  
  32. ; #ifndef MENUCMDID_H
  33. ; $MENUCMDID_H
  34. Global Const $NPPM_GETCURRENTLINE = 4024 + 8
  35. Global Const $NPPM_MENUCOMMAND = 2024 + 48
  36. $IDM=40000
  37.  
  38. Global Const $IDM_FILE=($IDM + 1000)
  39. Global Const $IDM_FILE_NEW=($IDM_FILE + 1)
  40. Global Const $IDM_FILE_OPEN=($IDM_FILE + 2)
  41. Global Const $IDM_FILE_CLOSE=($IDM_FILE + 3)
  42. Global Const $IDM_FILE_CLOSEALL=($IDM_FILE + 4)
  43. Global Const $IDM_FILE_CLOSEALL_BUT_CURRENT=($IDM_FILE + 5)
  44. Global Const $IDM_FILE_SAVE=($IDM_FILE + 6)
  45. Global Const $IDM_FILE_SAVEALL=($IDM_FILE + 7)
  46. Global Const $IDM_FILE_SAVEAS=($IDM_FILE + 8)
  47. Global Const $IDM_FILE_ASIAN_LANG=($IDM_FILE + 9)
  48. Global Const $IDM_FILE_PRINT=($IDM_FILE + 10)
  49. Global Const $IDM_FILE_PRINTNOW=1001
  50. Global Const $IDM_FILE_EXIT=($IDM_FILE + 11)
  51. Global Const $IDM_FILE_LOADSESSION=($IDM_FILE + 12)
  52. Global Const $IDM_FILE_SAVESESSION=($IDM_FILE + 13)
  53. Global Const $IDM_FILE_RELOAD=($IDM_FILE + 14)
  54. Global Const $IDM_FILE_SAVECOPYAS=($IDM_FILE + 15)
  55. Global Const $IDM_FILE_DELETE=($IDM_FILE + 16)
  56. Global Const $IDM_FILE_RENAME=($IDM_FILE + 17)
  57.  
  58.  ; A mettre а jour si on ajoute nouveau menu item dans le menu "File"
  59.     ; $IDM_FILEMENU_LASTONE IDM_FILE_RENAME
  60.  
  61. Global Const $IDM_EDIT=($IDM + 2000)
  62. Global Const $IDM_EDIT_CUT=($IDM_EDIT + 1)
  63. Global Const $IDM_EDIT_COPY=($IDM_EDIT + 2)
  64. Global Const $IDM_EDIT_UNDO=($IDM_EDIT + 3)
  65. Global Const $IDM_EDIT_REDO=($IDM_EDIT + 4)
  66. Global Const $IDM_EDIT_PASTE=($IDM_EDIT + 5)
  67. Global Const $IDM_EDIT_DELETE=($IDM_EDIT + 6)
  68. Global Const $IDM_EDIT_SELECTALL=($IDM_EDIT + 7)
  69.  
  70. Global Const $IDM_EDIT_INS_TAB=($IDM_EDIT + 8)
  71. Global Const $IDM_EDIT_RMV_TAB=($IDM_EDIT + 9)
  72. Global Const $IDM_EDIT_DUP_LINE=($IDM_EDIT + 10)
  73. Global Const $IDM_EDIT_TRANSPOSE_LINE=($IDM_EDIT + 11)
  74. Global Const $IDM_EDIT_SPLIT_LINES=($IDM_EDIT + 12)
  75. Global Const $IDM_EDIT_JOIN_LINES=($IDM_EDIT + 13)
  76. Global Const $IDM_EDIT_LINE_UP=($IDM_EDIT + 14)
  77. Global Const $IDM_EDIT_LINE_DOWN=($IDM_EDIT + 15)
  78. Global Const $IDM_EDIT_UPPERCASE=($IDM_EDIT + 16)
  79. Global Const $IDM_EDIT_LOWERCASE=($IDM_EDIT + 17)
  80.  
  81. Global Const $IDM_EDIT_BLOCK_COMMENT=($IDM_EDIT + 22)
  82. Global Const $IDM_EDIT_STREAM_COMMENT=($IDM_EDIT + 23)
  83. Global Const $IDM_EDIT_TRIMTRAILING=($IDM_EDIT + 24)
  84.  
  85. Global Const $IDM_EDIT_RTL=($IDM_EDIT+26)
  86. Global Const $IDM_EDIT_LTR=($IDM_EDIT+27)
  87. Global Const $IDM_EDIT_SETREADONLY=($IDM_EDIT+28)
  88. Global Const $IDM_EDIT_FULLPATHTOCLIP=($IDM_EDIT+29)
  89. Global Const $IDM_EDIT_FILENAMETOCLIP=($IDM_EDIT+30)
  90. Global Const $IDM_EDIT_CURRENTDIRTOCLIP=($IDM_EDIT+31)
  91.  
  92. Global Const $IDM_EDIT_CLEARREADONLY=($IDM_EDIT+33)
  93. Global Const $IDM_EDIT_COLUMNMODE=($IDM_EDIT+34)
  94. Global Const $IDM_EDIT_BLOCK_COMMENT_SET=($IDM_EDIT+35)
  95. Global Const $IDM_EDIT_BLOCK_UNCOMMENT=($IDM_EDIT+36)
  96.  
  97. Global Const $IDM_EDIT_AUTOCOMPLETE=(50000+0)
  98. Global Const $IDM_EDIT_AUTOCOMPLETE_CURRENTFILE=(50000+1)
  99. Global Const $IDM_EDIT_FUNCCALLTIP=(50000+2)
  100.  
  101. ; Belong to MENU FILE
  102. Global Const $IDM_OPEN_ALL_RECENT_FILE=($IDM_EDIT + 40)
  103. Global Const $IDM_CLEAN_RECENT_FILE_LIST=($IDM_EDIT + 41)
  104.  
  105. Global Const $IDM_SEARCH=($IDM + 3000)
  106.  
  107. Global Const $IDM_SEARCH_FIND=($IDM_SEARCH + 1)
  108. Global Const $IDM_SEARCH_FINDNEXT=($IDM_SEARCH + 2)
  109. Global Const $IDM_SEARCH_REPLACE=($IDM_SEARCH + 3)
  110. Global Const $IDM_SEARCH_GOTOLINE=($IDM_SEARCH + 4)
  111. Global Const $IDM_SEARCH_TOGGLE_BOOKMARK=($IDM_SEARCH + 5)
  112. Global Const $IDM_SEARCH_NEXT_BOOKMARK=($IDM_SEARCH + 6)
  113. Global Const $IDM_SEARCH_PREV_BOOKMARK=($IDM_SEARCH + 7)
  114. Global Const $IDM_SEARCH_CLEAR_BOOKMARKS=($IDM_SEARCH + 8)
  115. Global Const $IDM_SEARCH_GOTOMATCHINGBRACE=($IDM_SEARCH + 9)
  116. Global Const $IDM_SEARCH_FINDPREV=($IDM_SEARCH + 10)
  117. Global Const $IDM_SEARCH_FINDINCREMENT=($IDM_SEARCH + 11)
  118. Global Const $IDM_SEARCH_FINDINFILES=($IDM_SEARCH + 13)
  119. Global Const $IDM_SEARCH_VOLATILE_FINDNEXT=($IDM_SEARCH + 14)
  120. Global Const $IDM_SEARCH_VOLATILE_FINDPREV=($IDM_SEARCH + 15)
  121. Global Const $IDM_SEARCH_CUTMARKEDLINES=($IDM_SEARCH + 18)
  122. Global Const $IDM_SEARCH_COPYMARKEDLINES=($IDM_SEARCH + 19)
  123. Global Const $IDM_SEARCH_PASTEMARKEDLINES=($IDM_SEARCH + 20)
  124. Global Const $IDM_SEARCH_DELETEMARKEDLINES=($IDM_SEARCH + 21)
  125. Global Const $IDM_SEARCH_MARKALLEXT1=($IDM_SEARCH + 22)
  126. Global Const $IDM_SEARCH_UNMARKALLEXT1=($IDM_SEARCH + 23)
  127. Global Const $IDM_SEARCH_MARKALLEXT2=($IDM_SEARCH + 24)
  128. Global Const $IDM_SEARCH_UNMARKALLEXT2=($IDM_SEARCH + 25)
  129. Global Const $IDM_SEARCH_MARKALLEXT3=($IDM_SEARCH + 26)
  130. Global Const $IDM_SEARCH_UNMARKALLEXT3=($IDM_SEARCH + 27)
  131. Global Const $IDM_SEARCH_MARKALLEXT4=($IDM_SEARCH + 28)
  132. Global Const $IDM_SEARCH_UNMARKALLEXT4=($IDM_SEARCH + 29)
  133. Global Const $IDM_SEARCH_MARKALLEXT5=($IDM_SEARCH + 30)
  134. Global Const $IDM_SEARCH_UNMARKALLEXT5=($IDM_SEARCH + 31)
  135. Global Const $IDM_SEARCH_CLEARALLMARKS=($IDM_SEARCH + 32)
  136.  
  137. Global Const $IDM_VIEW=($IDM + 4000)
  138. ; $IDM_VIEW_TOOLBAR_HIDE            =($IDM_VIEW + 1)
  139. Global Const $IDM_VIEW_TOOLBAR_REDUCE=($IDM_VIEW + 2)
  140. Global Const $IDM_VIEW_TOOLBAR_ENLARGE=($IDM_VIEW + 3)
  141. Global Const $IDM_VIEW_TOOLBAR_STANDARD=($IDM_VIEW + 4)
  142. Global Const $IDM_VIEW_REDUCETABBAR=($IDM_VIEW + 5)
  143. Global Const $IDM_VIEW_LOCKTABBAR=($IDM_VIEW + 6)
  144. Global Const $IDM_VIEW_DRAWTABBAR_TOPBAR=($IDM_VIEW + 7)
  145. Global Const $IDM_VIEW_DRAWTABBAR_INACIVETAB=($IDM_VIEW + 8)
  146. Global Const $IDM_VIEW_POSTIT=($IDM_VIEW + 9)
  147. Global Const $IDM_VIEW_TOGGLE_FOLDALL=($IDM_VIEW + 10)
  148. Global Const $IDM_VIEW_USER_DLG=($IDM_VIEW + 11)
  149. Global Const $IDM_VIEW_LINENUMBER=($IDM_VIEW + 12)
  150. Global Const $IDM_VIEW_SYMBOLMARGIN=($IDM_VIEW + 13)
  151. Global Const $IDM_VIEW_FOLDERMAGIN=($IDM_VIEW + 14)
  152. Global Const $IDM_VIEW_FOLDERMAGIN_SIMPLE=($IDM_VIEW + 15)
  153. Global Const $IDM_VIEW_FOLDERMAGIN_ARROW=($IDM_VIEW + 16)
  154. Global Const $IDM_VIEW_FOLDERMAGIN_CIRCLE=($IDM_VIEW + 17)
  155. Global Const $IDM_VIEW_FOLDERMAGIN_BOX=($IDM_VIEW + 18)
  156. Global Const $IDM_VIEW_ALL_CHARACTERS=($IDM_VIEW + 19)
  157. Global Const $IDM_VIEW_INDENT_GUIDE=($IDM_VIEW + 20)
  158. Global Const $IDM_VIEW_CURLINE_HILITING=($IDM_VIEW + 21)
  159. Global Const $IDM_VIEW_WRAP=($IDM_VIEW + 22)
  160. Global Const $IDM_VIEW_ZOOMIN=($IDM_VIEW + 23)
  161. Global Const $IDM_VIEW_ZOOMOUT=($IDM_VIEW + 24)
  162. Global Const $IDM_VIEW_TAB_SPACE=($IDM_VIEW + 25)
  163. Global Const $IDM_VIEW_EOL=($IDM_VIEW + 26)
  164. Global Const $IDM_VIEW_EDGELINE=($IDM_VIEW + 27)
  165. Global Const $IDM_VIEW_EDGEBACKGROUND=($IDM_VIEW + 28)
  166. Global Const $IDM_VIEW_TOGGLE_UNFOLDALL=($IDM_VIEW + 29)
  167. Global Const $IDM_VIEW_FOLD_CURRENT=($IDM_VIEW + 30)
  168. Global Const $IDM_VIEW_UNFOLD_CURRENT=($IDM_VIEW + 31)
  169. Global Const $IDM_VIEW_FULLSCREENTOGGLE=($IDM_VIEW + 32)
  170. Global Const $IDM_VIEW_ZOOMRESTORE=($IDM_VIEW + 33)
  171. Global Const $IDM_VIEW_ALWAYSONTOP=($IDM_VIEW + 34)
  172. Global Const $IDM_VIEW_SYNSCROLLV=($IDM_VIEW + 35)
  173. Global Const $IDM_VIEW_SYNSCROLLH=($IDM_VIEW + 36)
  174. Global Const $IDM_VIEW_EDGENONE=($IDM_VIEW + 37)
  175. Global Const $IDM_VIEW_DRAWTABBAR_CLOSEBOTTUN=($IDM_VIEW + 38)
  176. Global Const $IDM_VIEW_DRAWTABBAR_DBCLK2CLOSE=($IDM_VIEW + 39)
  177. Global Const $IDM_VIEW_REFRESHTABAR=($IDM_VIEW + 40)
  178. Global Const $IDM_VIEW_WRAP_SYMBOL=($IDM_VIEW + 41)
  179. Global Const $IDM_VIEW_HIDELINES=($IDM_VIEW + 42)
  180. Global Const $IDM_VIEW_DRAWTABBAR_VERTICAL=($IDM_VIEW + 43)
  181. Global Const $IDM_VIEW_DRAWTABBAR_MULTILINE=($IDM_VIEW + 44)
  182. Global Const $IDM_VIEW_DOCCHANGEMARGIN=($IDM_VIEW + 45)
  183.  
  184.  
  185. Global Const $IDM_VIEW_FOLD=($IDM_VIEW + 50)
  186. Global Const $IDM_VIEW_FOLD_1=($IDM_VIEW_FOLD + 1)
  187. Global Const $IDM_VIEW_FOLD_2=($IDM_VIEW_FOLD + 2)
  188. Global Const $IDM_VIEW_FOLD_3=($IDM_VIEW_FOLD + 3)
  189. Global Const $IDM_VIEW_FOLD_4=($IDM_VIEW_FOLD + 4)
  190. Global Const $IDM_VIEW_FOLD_5=($IDM_VIEW_FOLD + 5)
  191. Global Const $IDM_VIEW_FOLD_6=($IDM_VIEW_FOLD + 6)
  192. Global Const $IDM_VIEW_FOLD_7=($IDM_VIEW_FOLD + 7)
  193. Global Const $IDM_VIEW_FOLD_8=($IDM_VIEW_FOLD + 8)
  194.  
  195. Global Const $IDM_VIEW_UNFOLD=($IDM_VIEW + 60)
  196. Global Const $IDM_VIEW_UNFOLD_1=($IDM_VIEW_UNFOLD + 1)
  197. Global Const $IDM_VIEW_UNFOLD_2=($IDM_VIEW_UNFOLD + 2)
  198. Global Const $IDM_VIEW_UNFOLD_3=($IDM_VIEW_UNFOLD + 3)
  199. Global Const $IDM_VIEW_UNFOLD_4=($IDM_VIEW_UNFOLD + 4)
  200. Global Const $IDM_VIEW_UNFOLD_5=($IDM_VIEW_UNFOLD + 5)
  201. Global Const $IDM_VIEW_UNFOLD_6=($IDM_VIEW_UNFOLD + 6)
  202. Global Const $IDM_VIEW_UNFOLD_7=($IDM_VIEW_UNFOLD + 7)
  203. Global Const $IDM_VIEW_UNFOLD_8=($IDM_VIEW_UNFOLD + 8)
  204.  
  205.  
  206. Global Const $IDM_VIEW_GOTO_ANOTHER_VIEW=10001
  207. Global Const $IDM_VIEW_CLONE_TO_ANOTHER_VIEW=10002
  208. Global Const $IDM_VIEW_GOTO_NEW_INSTANCE=10003
  209. Global Const $IDM_VIEW_LOAD_IN_NEW_INSTANCE=10004
  210.  
  211. Global Const $IDM_VIEW_SWITCHTO_OTHER_VIEW=($IDM_VIEW + 72)
  212.  
  213.  
  214. Global Const $IDM_FORMAT=($IDM + 5000)
  215. Global Const $IDM_FORMAT_TODOS=($IDM_FORMAT + 1)
  216. Global Const $IDM_FORMAT_TOUNIX=($IDM_FORMAT + 2)
  217. Global Const $IDM_FORMAT_TOMAC=($IDM_FORMAT + 3)
  218. Global Const $IDM_FORMAT_ANSI=($IDM_FORMAT + 4)
  219. Global Const $IDM_FORMAT_UTF_8=($IDM_FORMAT + 5)
  220. Global Const $IDM_FORMAT_UCS_2BE=($IDM_FORMAT + 6)
  221. Global Const $IDM_FORMAT_UCS_2LE=($IDM_FORMAT + 7)
  222. Global Const $IDM_FORMAT_AS_UTF_8=($IDM_FORMAT + 8)
  223. Global Const $IDM_FORMAT_CONV2_ANSI=($IDM_FORMAT + 9)
  224. Global Const $IDM_FORMAT_CONV2_AS_UTF_8=($IDM_FORMAT + 10)
  225. Global Const $IDM_FORMAT_CONV2_UTF_8=($IDM_FORMAT + 11)
  226. Global Const $IDM_FORMAT_CONV2_UCS_2BE=($IDM_FORMAT + 12)
  227. Global Const $IDM_FORMAT_CONV2_UCS_2LE=($IDM_FORMAT + 13)
  228.  
  229. Global Const $IDM_LANG=($IDM + 6000)
  230. Global Const $IDM_LANGSTYLE_CONFIG_DLG=($IDM_LANG + 1)
  231. Global Const $IDM_LANG_C=($IDM_LANG + 2)
  232. Global Const $IDM_LANG_CPP=($IDM_LANG + 3)
  233. Global Const $IDM_LANG_JAVA=($IDM_LANG + 4)
  234. Global Const $IDM_LANG_HTML=($IDM_LANG + 5)
  235. Global Const $IDM_LANG_XML=($IDM_LANG + 6)
  236. Global Const $IDM_LANG_JS=($IDM_LANG + 7)
  237. Global Const $IDM_LANG_PHP=($IDM_LANG + 8)
  238. Global Const $IDM_LANG_ASP=($IDM_LANG + 9)
  239. Global Const $IDM_LANG_CSS=($IDM_LANG + 10)
  240. Global Const $IDM_LANG_PASCAL=($IDM_LANG + 11)
  241. Global Const $IDM_LANG_PYTHON=($IDM_LANG + 12)
  242. Global Const $IDM_LANG_PERL=($IDM_LANG + 13)
  243. Global Const $IDM_LANG_OBJC=($IDM_LANG + 14)
  244. Global Const $IDM_LANG_ASCII=($IDM_LANG + 15)
  245. Global Const $IDM_LANG_TEXT=($IDM_LANG + 16)
  246. Global Const $IDM_LANG_RC=($IDM_LANG + 17)
  247. Global Const $IDM_LANG_MAKEFILE=($IDM_LANG + 18)
  248. Global Const $IDM_LANG_INI=($IDM_LANG + 19)
  249. Global Const $IDM_LANG_SQL=($IDM_LANG + 20)
  250. Global Const $IDM_LANG_VB=($IDM_LANG + 21)
  251. Global Const $IDM_LANG_BATCH=($IDM_LANG + 22)
  252. Global Const $IDM_LANG_CS=($IDM_LANG + 23)
  253. Global Const $IDM_LANG_LUA=($IDM_LANG + 24)
  254. Global Const $IDM_LANG_TEX=($IDM_LANG + 25)
  255. Global Const $IDM_LANG_FORTRAN=($IDM_LANG + 26)
  256. Global Const $IDM_LANG_SH=($IDM_LANG + 27)
  257. Global Const $IDM_LANG_FLASH=($IDM_LANG + 28)
  258. Global Const $IDM_LANG_NSIS=($IDM_LANG + 29)
  259. Global Const $IDM_LANG_TCL=($IDM_LANG + 30)
  260. Global Const $IDM_LANG_LISP=($IDM_LANG + 31)
  261. Global Const $IDM_LANG_SCHEME=($IDM_LANG + 32)
  262. Global Const $IDM_LANG_ASM=($IDM_LANG + 33)
  263. Global Const $IDM_LANG_DIFF=($IDM_LANG + 34)
  264. Global Const $IDM_LANG_PROPS=($IDM_LANG + 35)
  265. Global Const $IDM_LANG_PS=($IDM_LANG + 36)
  266. Global Const $IDM_LANG_RUBY=($IDM_LANG + 37)
  267. Global Const $IDM_LANG_SMALLTALK=($IDM_LANG + 38)
  268. Global Const $IDM_LANG_VHDL=($IDM_LANG + 39)
  269. Global Const $IDM_LANG_CAML=($IDM_LANG + 40)
  270. Global Const $IDM_LANG_KIX=($IDM_LANG + 41)
  271. Global Const $IDM_LANG_ADA=($IDM_LANG + 42)
  272. Global Const $IDM_LANG_VERILOG=($IDM_LANG + 43)
  273. Global Const $IDM_LANG_AU3=($IDM_LANG + 44)
  274. Global Const $IDM_LANG_MATLAB=($IDM_LANG + 45)
  275. Global Const $IDM_LANG_HASKELL=($IDM_LANG + 46)
  276. Global Const $IDM_LANG_INNO=($IDM_LANG + 47)
  277. Global Const $IDM_LANG_CMAKE=($IDM_LANG + 48)
  278. Global Const $IDM_LANG_YAML=($IDM_LANG + 49)
  279.  
  280. Global Const $IDM_LANG_EXTERNAL=($IDM_LANG + 50)
  281. Global Const $IDM_LANG_EXTERNAL_LIMIT=($IDM_LANG + 79)
  282.  
  283. Global Const $IDM_LANG_USER=($IDM_LANG + 80)     ; 46080
  284. Global Const $IDM_LANG_USER_LIMIT=($IDM_LANG + 110)  ; 46110
  285.  
  286.  
  287. Global Const $IDM_ABOUT=($IDM  + 7000)
  288. Global Const $IDM_HOMESWEETHOME=($IDM_ABOUT  + 1)
  289. Global Const $IDM_PROJECTPAGE=($IDM_ABOUT  + 2)
  290. Global Const $IDM_ONLINEHELP=($IDM_ABOUT  + 3)
  291. Global Const $IDM_FORUM=($IDM_ABOUT  + 4)
  292. Global Const $IDM_PLUGINSHOME=($IDM_ABOUT  + 5)
  293. Global Const $IDM_UPDATE_NPP=($IDM_ABOUT  + 6)
  294. Global Const $IDM_WIKIFAQ=($IDM_ABOUT  + 7)
  295. Global Const $IDM_HELP=($IDM_ABOUT  + 8)
  296.  
  297.  
  298. Global Const $IDM_SETTING=($IDM + 8000)
  299. Global Const $IDM_SETTING_TAB_SIZE=($IDM_SETTING + 1)
  300. Global Const $IDM_SETTING_TAB_REPLCESPACE=($IDM_SETTING + 2)
  301. Global Const $IDM_SETTING_HISTORY_SIZE=($IDM_SETTING + 3)
  302. Global Const $IDM_SETTING_EDGE_SIZE=($IDM_SETTING + 4)
  303. Global Const $IDM_SETTING_IMPORTPLUGIN=($IDM_SETTING + 5)
  304. Global Const $IDM_SETTING_IMPORTSTYLETHEMS=($IDM_SETTING + 6)
  305.  
  306. Global Const $IDM_SETTING_TRAYICON=($IDM_SETTING + 8)
  307. Global Const $IDM_SETTING_SHORTCUT_MAPPER=($IDM_SETTING + 9)
  308. Global Const $IDM_SETTING_REMEMBER_LAST_SESSION=($IDM_SETTING + 10)
  309. Global Const $IDM_SETTING_PREFERECE=($IDM_SETTING + 11)
  310.  
  311. Global Const $IDM_SETTING_AUTOCNBCHAR=($IDM_SETTING + 15)
  312.  
  313. ; Menu macro
  314. Global Const $IDM_MACRO_STARTRECORDINGMACRO=($IDM_EDIT + 18)
  315. Global Const $IDM_MACRO_STOPRECORDINGMACRO=($IDM_EDIT + 19)
  316. Global Const $IDM_MACRO_PLAYBACKRECORDEDMACRO=($IDM_EDIT + 21)
  317. Global Const $IDM_MACRO_SAVECURRENTMACRO=($IDM_EDIT + 25)
  318. Global Const $IDM_MACRO_RUNMULTIMACRODLG=($IDM_EDIT+32)
  319.  
  320. Global Const $IDM_EXECUTE=($IDM + 9000)
  321.  
  322. ; #endif ; MENUCMDID_H
  323.  
  324.  
  325.  
  326. ; $WM_USER = 1024
  327.         $RUNCOMMAND_USER = ($WM_USER + 3000);
  328.  
  329.         ; VAR_NOT_RECOGNIZED = 0;
  330.         $FULL_CURRENT_PATH = 1;
  331.         ; CURRENT_DIRECTORY = 2;
  332.         ; FILE_NAME = 3;
  333.         ; NAME_PART = 4;
  334.         ; EXT_PART = 5;
  335.         ; CURRENT_WORD = 6;
  336.         ; NPP_DIRECTORY = 7;
  337.  
  338.         $NPPM_GETFULLCURRENTPATH = ($RUNCOMMAND_USER + $FULL_CURRENT_PATH);
  339.         ; NPPM_GETCURRENTDIRECTORY = (RUNCOMMAND_USER + CURRENT_DIRECTORY);
  340.         ; NPPM_GETFILENAME = (RUNCOMMAND_USER + FILE_NAME);
  341.         ; NPPM_GETNAMEPART = (RUNCOMMAND_USER + NAME_PART);
  342.         ; NPPM_GETEXTPART = (RUNCOMMAND_USER + EXT_PART);
  343.         ; NPPM_GETCURRENTWORD = (RUNCOMMAND_USER + CURRENT_WORD);
  344.         ; NPPM_GETNPPDIRECTORY = (RUNCOMMAND_USER + NPP_DIRECTORY);
  345.  
  346.  
  347. #EndRegion ###
  348.  
  349. Func _npp_command($command)
  350.     Return _SendMessage(WinGetHandle('[CLASS:Notepad++]'), $NPPM_MENUCOMMAND, 0, $command)
  351.     ; Return _SendMessage(WinGetHandle('[CLASS:Notepad++]'), $NPPM_GETCURRENTLINE, 0, 0)
  352. EndFunc
  353.  
  354. Func _npp_GetText($flag = 2);$flag=0 - current word, $flag=1 - current line, $flag=2 - all text
  355.     Local $HndCtrl_Cur, $s_Text, $wparam, $lparam, $aSel[2]
  356.     $HndCtrl_Cur = ControlGetHandle('[CLASS:Notepad++]', "", "[CLASSNN:Scintilla" & _npp_GetCtrlInstance() & "]")
  357.     If Not $HndCtrl_Cur Then Return 0
  358.     $s_Text = ControlGetText("[CLASS:Notepad++]", '', "[CLASSNN:Scintilla" & _npp_GetCtrlInstance() & "]")
  359.     $s_Text = BinaryToString(StringToBinary($s_Text, 2), 1)
  360.     If $s_Text Then
  361.         If $flag = 2 Then
  362.             Return $s_Text
  363.         Else
  364.             $wparam = DllStructCreate("uint Start")
  365.             $lparam = DllStructCreate("uint End")
  366.             _SendMessage($HndCtrl_Cur, 0xB0, DllStructGetPtr($wparam), DllStructGetPtr($lparam), 0, "ptr", "ptr");$EM_GETSEL=0xB0
  367.             $aSel[0] = DllStructGetData($wparam, "Start")
  368.             $aSel[1] = DllStructGetData($lparam, "End")
  369.             If $flag = 0 And $aSel[1] > $aSel[0] Then
  370.                 Return StringMid($s_Text, $aSel[0]+1, $aSel[1] - $aSel[0])
  371.             EndIf
  372.             Local $pattern = '[\r\n]'
  373.             If $flag = 0 Then $pattern = '(?i)[^a-zа-я0-9_@#$]'
  374.             Local $sRet = '', $i, $char, $startPos = $aSel[1]
  375.             For $i = $startPos+1 To StringLen($s_Text)
  376.                 $char = StringMid($s_Text, $i, 1)
  377.                 If StringRegExp($char, $pattern) Then
  378.                     ExitLoop
  379.                 Else
  380.                     $sRet &= $char
  381.                     $aSel[1] += 1
  382.                 EndIf
  383.             Next
  384.             For $i = $startPos To 1 Step -1
  385.                 $char = StringMid($s_Text, $i, 1)
  386.                 If StringRegExp($char, $pattern) Then
  387.                     ExitLoop
  388.                 Else
  389.                     $sRet = $char & $sRet
  390.                     $aSel[0] -= 1
  391.                 EndIf
  392.             Next
  393.             If $flag = 0 And $aSel[1] > $aSel[0] Then
  394.                 _SendMessage($HndCtrl_Cur, 0xB1, $aSel[0], $aSel[1]);$EM_SETSEL=0xB1
  395.             EndIf
  396.             Return $sRet
  397.         EndIf
  398.     EndIf
  399.     Return ''
  400. EndFunc
  401.  
  402. Func _npp_SetText($s_Text, $flag = 2);$flag=0 - insert to end, $flag=1 - insert to current pos, $flag=2 - overwrite all text
  403.     Local $HndCtrl_Cur = ControlGetHandle('[CLASS:Notepad++]', "", "[CLASSNN:Scintilla" & _npp_GetCtrlInstance() & "]")
  404.     If Not $HndCtrl_Cur Then Return 0
  405.     If $s_Text Then
  406.         $s_Text = StringToBinary($s_Text, 1)
  407.         $s_Text &= StringRight('0000', Mod(StringLen($s_Text), 4) + 2)
  408.         $s_Text = BinaryToString($s_Text, 2)
  409.     EndIf
  410.     If $flag < 2 Then
  411.         If Not $flag Then
  412.             Local $iLength = _SendMessage($HndCtrl_Cur, 0x000E);$__EDITCONSTANT_WM_GETTEXTLENGTH=0x000E
  413.             _SendMessage($HndCtrl_Cur, 0xB1, $iLength, $iLength);$EM_SETSEL=0xB1
  414.         EndIf
  415.         _SendMessage($HndCtrl_Cur, 0xC2, True, $s_Text, 0, "wparam", "wstr");$EM_REPLACESEL=0xC2
  416.     Else
  417.         ControlSetText('[CLASS:Notepad++]', "", "[CLASSNN:Scintilla" & _npp_GetCtrlInstance() & "]", $s_Text)
  418.     EndIf
  419.     Return 1
  420. EndFunc
  421.  
  422. Func _npp_FULL_CURRENT_PATH()
  423.     Local $bak, $ret
  424.     $bak = ClipGet()
  425.     Sleep(100)
  426.     ClipPut('')
  427.     _npp_command($IDM_EDIT_FULLPATHTOCLIP)
  428.     Sleep(50)
  429.     $ret = ClipGet()
  430.     Sleep(50)
  431.     ClipPut($bak)
  432.     Return $ret
  433. EndFunc
  434.  
  435. Func _npp_GetCtrlInstance()
  436.     Local $HndCtrl_1 = ControlGetHandle('[CLASS:Notepad++]', "", "[CLASSNN:Scintilla1]")
  437.     Local $HndCtrl_2 = ControlGetHandle('[CLASS:Notepad++]', "", "[CLASSNN:Scintilla2]")
  438.     If Not $HndCtrl_1 Then Return ''
  439.     Local $state1 = BitAnd(WinGetState($HndCtrl_1), 2)
  440.     Local $state2 = BitAnd(WinGetState($HndCtrl_2), 2)
  441.     If Not $state2 Then
  442.         Return 1
  443.     ElseIf Not $state1 Then
  444.         Return 2
  445.     ElseIf $state1 And $state2 Then
  446.         Local $size1 = WinGetPos($HndCtrl_1)
  447.         Local $size2 = WinGetPos($HndCtrl_2)
  448.         If IsArray($size1) And IsArray($size2) Then
  449.             If $size1[1] < $size2[1] Then
  450.                 Return 1
  451.             Else
  452.                 Return 2
  453.             EndIf
  454.         EndIf
  455.     EndIf
  456.     Return ''
  457. EndFunc
  458.  
  459. ; $Hnd_Cur = WinWait("[CLASS:Notepad++]")
  460. ; $NPPM_SAVECURRENTFILE = 2024 + 38
  461. ; $NPPM_SAVEALLFILES = 2024 + 39
  462. ; $NPPM_GETCURRENTLINE = 4024 + 8
  463. ; $NPPM_GETCURRENTCOLUMN = 4024 + 9
  464. ; _SendMessage($Hnd_Cur, $NPPM_SAVECURRENTFILE, 0, 0)
  465. ; $curLine = _SendMessage($Hnd_Cur, $NPPM_GETCURRENTLINE, 0, 0); 0-based
  466. ; $curColumn = _SendMessage($Hnd_Cur, $NPPM_GETCURRENTCOLUMN, 0, 0); 0-based
  467.  
  468.  
  469. ; ConsoleWrite('->' & _npp_FULL_CURRENT_PATH() & @CRLF)
  470. ; _SendMessage($Hnd_Cur, $NPPM_MENUCOMMAND, 0, $IDM_FILE_NEW)
  471. ; DllCall("user32.dll", 'ptr', "SendMessageW", "hwnd", $Hnd_Cur, "uint", $NPPM_MENUCOMMAND, 'int', 0, 'int', $IDM_FILE_NEW)
  472.  
  473. Func _npp_GetCurPos();0-based
  474.     Local $HndCtrl_Cur, $aSel[2], $ar, $s_Text, $wparam, $lparam
  475.     Dim $ar[2]
  476.     $HndCtrl_Cur = ControlGetHandle('[CLASS:Notepad++]', "", "[CLASSNN:Scintilla" & _npp_GetCtrlInstance() & "]")
  477.     If Not $HndCtrl_Cur Then Return SetError(1, 0, $ar)
  478.     $s_Text = ControlGetText("[CLASS:Notepad++]", '', "[CLASSNN:Scintilla" & _npp_GetCtrlInstance() & "]")
  479.     $s_Text = BinaryToString(StringToBinary($s_Text, 2), 1)
  480.     If $s_Text Then
  481.         Local $NPPM_GETCURRENTLINE = 4024 + 8
  482.         $ar[0] = _SendMessage(WinGetHandle('[CLASS:Notepad++]'), $NPPM_GETCURRENTLINE, 0, 0); 0-based
  483.         $wparam = DllStructCreate("uint Start")
  484.         $lparam = DllStructCreate("uint End")
  485.         _SendMessage($HndCtrl_Cur, 0xB0, DllStructGetPtr($wparam), DllStructGetPtr($lparam), 0, "ptr", "ptr");$EM_GETSEL=0xB0
  486.         $aSel[0] = DllStructGetData($wparam, "Start")
  487.         $aSel[1] = DllStructGetData($lparam, "End")
  488.         $s_Text = StringLeft($s_Text, $aSel[1])
  489.         $aSel = StringRegExp($s_Text, '([^\r\n]*)($|\r\n|\r|\n)', 3)
  490.         If IsArray($aSel) Then
  491.             $ar[1] = StringLen($aSel[2 * $ar[0]]); 0-based
  492.         EndIf
  493.     EndIf
  494. ;   $ar[1] = _SendMessage($Hnd_Cur, $NPPM_GETCURRENTCOLUMN, 0, 0); 0-based
  495.     Return $ar
  496. EndFunc
  497.  
  498. Func _npp_SetCurPos($iLine = -1, $iPos = 0);0-based
  499.     Local $HndCtrl_Cur, $str, $i, $iLength, $i_Line, $strLine
  500.     $HndCtrl_Cur = ControlGetHandle('[CLASS:Notepad++]', "", "[CLASSNN:Scintilla" & _npp_GetCtrlInstance() & "]")
  501.     If Not $HndCtrl_Cur Then Return 0
  502.     If $iLine < 0 Or $iPos < 0 Then
  503.         $iLength = _SendMessage($HndCtrl_Cur, 0x000E);$__EDITCONSTANT_WM_GETTEXTLENGTH=0x000E
  504.         _SendMessage($HndCtrl_Cur, 0xB1, $iLength, $iLength);$EM_SETSEL=0xB1
  505.     Else
  506.         $str = _npp_GetText()
  507.         If $str Then
  508.             $aStr = StringRegExp($str, '([^\r\n]*)($|\r\n|\r|\n)', 3)
  509.             If IsArray($aStr) Then
  510.                 $i_Line = 0
  511.                 $strLine = ''
  512.                 For $i = 0 To UBound($aStr) -1
  513.                     If StringRegExp($aStr[$i], '[\r\n]+') Then
  514.                         $i_Line += 1
  515.                         $iLength += StringLen($aStr[$i])
  516.                     Else
  517.                         If $i_Line >= $iLine Then
  518.                             $strLine = $aStr[$i]
  519.                             ExitLoop
  520.                         Else
  521.                             $iLength += StringLen($aStr[$i])
  522.                         EndIf
  523.                     EndIf
  524.                 Next
  525.                 $i = StringLen($strLine)
  526.                 If $iPos + 1 > $i Then
  527.                     If $i Then
  528.                         $iLength += $i
  529.                     EndIf
  530.                 Else
  531.                     $iLength += $iPos
  532.                 EndIf
  533.                 _SendMessage($HndCtrl_Cur, 0xB1, $iLength, $iLength);$EM_SETSEL=0xB1
  534.             Else
  535.                 $i = StringLen($str)
  536.                 If $iPos + 1 > $i Then
  537.                     If $i Then
  538.                         $iLength += $i
  539.                     EndIf
  540.                 Else
  541.                     $iLength += $iPos
  542.                 EndIf
  543.                 _SendMessage($HndCtrl_Cur, 0xB1, $iLength, $iLength);$EM_SETSEL=0xB1
  544.             EndIf
  545.         EndIf
  546.     EndIf
  547. EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement