AutoCompleete.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369
  1. using FastColoredTextBoxNS;
  2. using System.Collections.Generic;
  3. using System.Text.RegularExpressions;
  4. namespace MPE
  5. {
  6. static class AutoCompleete
  7. {
  8. static AutocompleteMenu popupMenu;
  9. public static void setTimer(int ms) { if (popupMenu != null) popupMenu.AppearInterval = ms; }
  10. public static void Init(FastColoredTextBox field)
  11. {
  12. popupMenu = new AutocompleteMenu(field) { AllowTabKey = true, MinimumSize = new System.Drawing.Size(300, 0), AppearInterval = 1, MinFragmentLength = 1, SearchPattern = @"\w" };
  13. List<AutocompleteItem> items = new List<AutocompleteItem>();
  14. foreach (var item in declarationSnippets)
  15. items.Add(new DeclarationSnippet(item));
  16. popupMenu.Items.SetAutocompleteItems(items);//set as autocomplete source
  17. }
  18. class DeclarationSnippet : SnippetAutocompleteItem
  19. {// This item appears when any part of snippet text is typed
  20. public DeclarationSnippet(string snippet) : base(snippet) { }
  21. public override CompareResult Compare(string fragmentText) => Regex.IsMatch(Text, "\\b" + Regex.Escape(fragmentText), RegexOptions.IgnoreCase) ? CompareResult.Visible : CompareResult.Hidden;
  22. }
  23. static readonly string[] declarationSnippets = {
  24. "$GLOBAL_LOGIN^",
  25. "$GLOBAL_EMAIL^",
  26. "$GLOBAL_PASS^",
  27. "$GLOBAL_NAME^",
  28. "$GLOBAL_WMID^",
  29. "$GLOBAL_WMR^",
  30. "$GLOBAL_WMZ^",
  31. "$GLOBAL_PAYPAL^",
  32. "$GLOBAL_PAYEER^",
  33. "$GLOBAL_PERFECT_MONEY^",
  34. "$GLOBAL_BITCOIN_WALLET^",
  35. "$GLOBAL_BCH_WALLET^",
  36. "$GLOBAL_DASH_WALLET^",
  37. "$GLOBAL_DOGECOIN_WALLET^",
  38. "$GLOBAL_ETHEREUM_WALLET^",
  39. "$GLOBAL_LITECOIN_WALLET^",
  40. "$GLOBAL_RUCAPTCHA_KEY^",
  41. "$_GLOBAL_1^",
  42. "$_GLOBAL_2^",
  43. "$GLOBAL_CAPMONSTER_IP^",
  44. "$GLOBAL_CAPMONSTER_KEY^",
  45. "$SIZE_BUFFER^",
  46. "$MODEL_NAME^",
  47. "[CLEAR_BUFFER]^",
  48. "$captcha^",
  49. "$bool^",
  50. "$WORK_TIME^",
  51. "$result^",
  52. "$REQUEST_DATA^",
  53. "$resultencode^",
  54. "$resultdecode^",
  55. "$count^",
  56. "$_GLOBAL_SERVER_PORT^",
  57. "$_TEMPLATE_ID^",
  58. "HTTP^",
  59. "HTTPS^",
  60. "REPORT^",
  61. "CONNECT^",
  62. "NUMBER^",
  63. "CHAR^",
  64. "UPPER_CHAR^",
  65. "ERROR_EXIT^",
  66. "ERROR_REPEAT^",
  67. "ERROR_CONTINUE^",
  68. "UNLOCK^",
  69. "[DISPLAY][^]",
  70. "[LOG_DISPLAY][^]",
  71. "[DISPLAY_BUFFER]^",
  72. "[DISPLAY_REQUEST]^",
  73. "[PARSE][^][]",
  74. "[REG_PARSE][^]",
  75. "[TO_BASE64][^]",
  76. "[FIND_TEXT][^]",
  77. "[FROM_BASE64][^]",
  78. "[URL_ENCODE][^]",
  79. "[URL_DECODE][^]",
  80. "[HASH][^][]",
  81. "[GET][^]",
  82. "$gen_pass^",
  83. "[GEN_PASSWORD][^][]",
  84. "[ADD_IN_BUFFER][^][]",
  85. "[SPLIT_STR][^][]",
  86. "[GET_CHAR][^][]",
  87. "[UPP_LOW_STR][^][]",
  88. "[STR_REPLACE][^][]",
  89. "[COMPARE_WITH_BUFFER][^]",
  90. "[RAND][^][]",
  91. "[STR_LEN][^]",
  92. "[SORT_BUFFER]^",
  93. "[TRIMMED][^]",
  94. "[CLEAR_REQUEST]^",
  95. "[STR_TO_UTF8][^]",
  96. "[OPERATIONS_WITH_BUFFERS][^]",
  97. "[IF][^]\n\n[ENDIF]",
  98. "[IF][^]\n\n[ELSE]\n\n[ENDIF]",
  99. "[VAR][^][]",
  100. "[INCLUDE][^]",
  101. "[IF][^]",
  102. "$IT^",
  103. "[IS_NUMERIC][^]",
  104. "[ELSE]^",
  105. "[ENDIF]^",
  106. "[BREAK_POINT][^]",
  107. "[GO_TO_BREAK_POINT][^]",
  108. "[PLAY_SOUND][^]",
  109. "[EXIT_TASK]^",
  110. "[REPEAT_TASK]^",
  111. "[VERSION][1][VPATH^]",
  112. "[SLEEP][^]",
  113. "[SET_MODEL_SETTINGS][^]",
  114. "[SET_INCOM][^]",
  115. "[CBROWSER_COMMAND][^][][]",
  116. "SecsSinceEpoch^",
  117. "[EVALUATE_JS][JS]\n^\n[/JS]",
  118. "[EVALUATE_JS][^]",
  119. "[JS]^",
  120. "^[/JS]",
  121. "[USE_BUFFER][^]",
  122. "[CLEAR_TEMPLATE_MEMORY]^",
  123. "[EXEC_SQL][^][]",
  124. "[MUTEX][1^][]",
  125. "[MATH][^]",
  126. "MAX_BUFFER_SIZE^",
  127. "MAX_BREAK_POINT_CYCLE^",
  128. "[STATIONARY_CBROWSER_COMMAND][^][]",
  129. "[GDATE][^]",
  130. "[WRITE_IN_FILE][^][]",
  131. "[ADD_TO_FILE][^][]",
  132. "[READ_FILE_ALL][^]",
  133. "[READ_FILE_LINE][^]",
  134. "[WRITE_BUFFER_IN_FILE][^]",
  135. "[SAVE_CLEAR_REQUEST][^]",
  136. "[DELETE_FILE][^]",
  137. "[COPY_FILE][^][]",
  138. "[RENAME_FILE][^][]",
  139. "[MOVE_FILE][^][]",
  140. "[FILE_EXISTS][^]",
  141. "[CREATE_DIR][^]",
  142. "[DELETE_DIR][^]",
  143. "[COPY_DIR][^][]",
  144. "[RENAME_DIR][^][]",
  145. "[FOLDER_EXISTS][^]",
  146. "[FROM_BASE64_TO_FILE][^][]",
  147. "[FROM_FILE_TO_BASE64][^]",
  148. "[READ_BINARY_LINE_FILE][^][]",
  149. "[CREATE_BINARY_LINE_FILE][^]",
  150. "[FIND_IN_BINARY_LINE_FILE][^][]",
  151. "[COUNT_LINE_IN_BINARI_FILE][^]",
  152. "[OPEN_URL_IN_LOCAL_BROWSER][^]",
  153. "[RUN_FILE][^]",
  154. "[LOAD_CAPTCHA][^]",
  155. "[SAVE_CAPTCHA]^",
  156. "[CONVERT_IMG][^][]",
  157. "[GET_IMAGE_FROM_ARRAY_IMG][^]",
  158. "[DELL_IMAGE_FORM_ARRAY_IMG][^]",
  159. "[SET_IMAGE_TO_ARRAY_IMG][^]",
  160. "[ARRAY_TO_IMAGE][^]",
  161. "[SPLIT_BLACK_END]^",
  162. "[SPLIT_CIRCUIT]^",
  163. "[SPLIT_WIDTH][^]",
  164. "[SPLIT_SHADES]^",
  165. "[SPLIT_CIRCUIT_EX][^]",
  166. "[SPLIT_SHADES_EX][0^]",
  167. "[SET_SPLIT_EX_FILTER][^][]",
  168. "[DISPLAY_IMG]^",
  169. "[DISPLAY_ARRAY_IMG]^",
  170. "$IMG_ARRAY_COUNT^",
  171. "[COMPARE_IMAGES][^][]",
  172. "[GET_IMAGE_INFO][^]",
  173. "[ENTER_CAPTCHA][^]",
  174. "[CLEAR_TRANSPARENT]^",
  175. "[COLOR_TRESHOLD][128^]",
  176. "[CLEAR_INTERFERENCE][^]",
  177. "[CHANGE_COLOR_IF_NOT_THIS_COLOR][^][]",
  178. "[CLEAR_GRADIENT]^",
  179. "[CLEAR_LINES][^]",
  180. "[APPLY_NEGATIVE]^",
  181. "[SEAL_MICROCRACKS][^]",
  182. "[RGB_COLOR_TRESHOLD][^][]",
  183. "[CHANGE_COLOR_ON_COLOR][^][]",
  184. "[FIND_PIXEL][^]",
  185. "[ONE_OF_RGB_TO_BLACK]^",
  186. "[ALIGN_IMG][^]",
  187. "[ALIGN_IMG_ARRAY][^]",
  188. "[CROP][^][]",
  189. "[CROP_ALL_SIDE]^",
  190. "[COPY_IMAGE][^]",
  191. "[CUT_GRID][4:5^]",
  192. "[COMPRESS_SHADES][^]",
  193. "[START_MAKE_MODEL]^",
  194. "[END_MAKE_MODEL]^",
  195. "[COMPLETE_MAKE_MODEL][$MODEL_NAME^]",
  196. "[FIND_ARRAY_IMG_IN_MODEL_LIST][^]",
  197. "[RUCAPTCHA][^][]",
  198. "[CAPTCHA_PROEVOLITION][^]",
  199. "[TESSERACT][$MODEL_NAME_captcha.png^]",
  200. "[ABBYY_READER][^]",
  201. "[LOCAL_QUEUE_POP]^",
  202. "[LOCAL_QUEUE_PUSH][^]",
  203. "[LOCAL_QUEUE_CLEAR]^",
  204. "[LOCAL_QUEUE_SIZE]^",
  205. "[LOCAL_QUEUE_PUSH_BUFFER]^",
  206. "[GLOBAL_QUEUE_POP]^",
  207. "[GLOBAL_QUEUE_PUSH][^]",
  208. "[GLOBAL_QUEUE_CLEAR]^",
  209. "[GLOBAL_QUEUE_SIZE]^",
  210. "[GLOBAL_QUEUE_PUSH_BUFFER]^",
  211. "[LOAD_COOKIE]^",
  212. "[LOGICAL_READER]^",
  213. "[FIND_IMG_LIST_ON_IMG][^][]",
  214. "RECAPTCHA_RESPONSE^",
  215. "[RECAPTCHA_READER][^]",
  216. "[XEVIL][^][]",
  217. "[POST][^][]",
  218. "[PUT][^][]",
  219. "[POST_MULTIPART][^][][]",
  220. "[PASS_CLOUDFLARE][^]",
  221. "[AJAX_GET][^]",
  222. "[AJAX_POST][^][]",
  223. "[AJAX_PUT][^][]",
  224. "[SET_USER_AGENT][^]",
  225. "[SET_REFERER][^]",
  226. "[SET_HOST][^][]",
  227. "[COOKIE_TO_BUFFER][^]",
  228. "[SET_TIMEOUT][^]",
  229. "[REQUEST_TO_UTF]^",
  230. "[SET_COOKIE][^][]",
  231. "[CLEAR_ALL_COOKIES]^",
  232. "[COPY_COOKIE][^][]",
  233. "[SAVE_COOKIE]^",
  234. "[ADD_HEADER][^][]",
  235. "[ADD_TEMPORARY_HEADER][^][]",
  236. "[DELL_ADDED_HEADER][^]",
  237. "[CLEAR_ADDED_HEADERS]^",
  238. "[SET_KEEP_ALIVE][^][]",
  239. "[USE_PROXY][^][]",
  240. "[DELL_PROXY]^",
  241. "[SET_PHP_GATE][^]",
  242. "[UNSET_PHP_GATE]^",
  243. "[TOR_NEW_IDENTITY][^]",
  244. "[ON_OFF_PROXY][^]",
  245. "[IMAP_COMMAND][^][][]",
  246. "WRITE_WORK_LOG_IN_FILE^",
  247. "RED^",
  248. "BLUE^",
  249. "GREEN^",
  250. "FILTER_MAX_WIDTH^",
  251. "FILTER_MAX_HEIGHT^",
  252. "FILTER_MIN_WIDTH^",
  253. "FILTER_MIN_HEIGHT^",
  254. "SET_FIXED_WIDTH^",
  255. "VERTICAL^",
  256. "HORISONTAL^",
  257. "[TO_FIXED][^][]",
  258. "TOP^",
  259. "DOWN^",
  260. "LEFT^",
  261. "RIGHT^",
  262. "READ_UNSEEN_LETTER^",
  263. "SPECIAL_CHAR^",
  264. "SOCKS5^",
  265. "SET_NULL^",
  266. "$TIME^",
  267. "$DATE^",
  268. "AUTO_REDIRECT^",
  269. "LOCK^",
  270. "START_BROWSER^",
  271. "SHOW_NORMAL^",
  272. "SHOW_MINIMAZE^",
  273. "CLOSE_WINDOW^",
  274. "OPEN_URL^",
  275. "WAIT_LOAD^",
  276. "GET_URL^",
  277. "EVAL_JS^",
  278. "MOUSE_EMULATION^",
  279. "SCREEN_SHOT^",
  280. "LBUTTON_CLICK^",
  281. "RBUTTON_CLICK^",
  282. "MOUSE_WHEEL^",
  283. "LBUTTON_PRESS^",
  284. "LBUTTON_RELEASE^",
  285. "MOUSE_MOVE^",
  286. "IS_LOAD^",
  287. "SET_PROXY^",
  288. "SET_WINDOW_SIZE^",
  289. "SET_POSITION^",
  290. "SET_USERAGENT^",
  291. "ACTION^",
  292. "START^",
  293. "TABS^",
  294. "LOAD^",
  295. "URL^",
  296. "JS^",
  297. "SCRIPT^",
  298. "GET_COOKIES^",
  299. "url^",
  300. "domain^",
  301. "name^",
  302. "INFO^",
  303. "DELL_PROXY^",
  304. "CHECK^",
  305. "CLOSE^",
  306. "standart^",
  307. "invisible^",
  308. "IP^",
  309. "HOST^",
  310. "TYPE^",
  311. "USER^",
  312. "[PARSE_JSON][^][]",
  313. "PASS^",
  314. "SAIT^",
  315. "KEY^",
  316. "RECAPTCHA^",
  317. "[COPY_TO_CLIPBOARD][^]",
  318. "[DELETE][^]",
  319. "[STR_MID][^][]",
  320. "[FLOOR][^][]",
  321. "$current_path^",
  322. /*Функции для браузере OpenMBFR*/
  323. "https^",
  324. "socks5^",
  325. "TOR^",
  326. "DEL_TOR^",
  327. "IS_JS^",
  328. "ENABLE_JS^",
  329. "DISABLE_JS^",
  330. "SCROLL_Y^",
  331. "SCROLL_TO_Y^",
  332. "SCROLL_Y_POSITION^",
  333. "SCROLL_Y_MAX^",
  334. "SCROLL_X^",
  335. "SCROLL_TO_X^",
  336. "SCROLL_X_POSITION^",
  337. "SCROLL_X_MAX^",
  338. "TOPMOST^",
  339. "WINDOW_MAXIMIZED^",
  340. "ENABLE_ACCELERATION^",
  341. "DISABLE_ACCELERATION^",
  342. "DELETE_ALL_COOKIES^",
  343. "SET_CACHE_DIR^",
  344. "SET_COOKIE_DIR^",
  345. "SET_OWN_CACHE_DIR^",
  346. "SET_OWN_COOKIE_DIR^",
  347. "SET_WINDOW_TITLE^",
  348. "SAVE_COOKIES^",
  349. "SAVE_COOKIES_TO_PATH^",
  350. };
  351. }
  352. }