-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplugin.h
6007 lines (5319 loc) · 234 KB
/
plugin.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/*
Copyright (c) 2019 Emurasoft, Inc.
Licensed under the MIT license. See LICENSE for details.
*/
// EmEditor Plug-In definition file
// v3.08 (6 Jan 2001) CCustomizeInfo::m_bIgnoreColorPrint, CCustomizeInfo::m_bNoFullPathIfNotActive added.
// v3.12 (16 Jan 2001) EEID_ALL_PROP added.
// CCustomizeInfo::m_abUrlChar is now BYTE, not bool. =2 means not permitted at end of URL.
// v3.13 (15 Mar 2001) EEID_NEW_PASTE_PREFIX, EEID_NEW_PASTE_PREFIX_RETURN, EEID_CUSTOMIZE_TRAY,
// EEID_INSERT_CR_LF, EEID_MRU_FONT1 added.
// CCustomizeInfo::m_bSaveOverwrite, CCustomizeInfo::m_bNoChangeCrLf,
// CCustomizeInfo::m_bShowSpace, CCustomizeInfo::m_bWordWrapMark added.
// EI_IS_PROPORTIONAL_FONT added.
// v3.14 (23 Apr 2001) CCustomizeInfo::m_bPrintSeparatingLines, CCustomizeInfo::m_bSameFontPrint,
// CCustomizeInfo::m_bHiliteCorresParen added.
// EEID_DELETE_RIGHT_WORD, EEID_NEXT_PAREN, EEID_SHIFT_NEXT_PAREN added.
// CHECK_FILE_CHANGED_EXCLUSIVE added.
// v3.15 (22 May 2001) CCustomizeInfo::m_bDetectUTF8, CCustomizeInfo::m_bDetectCharset,
// CCustomizeInfo::m_bDetectAll, CCustomizeInfo::m_bDeleteSpaceEnd,
// CCustomizeInfo::m_bSaveAsEntity, CCustomizeInfo::m_bShowControl added.
// Changed LOAD_FILE_INFO structure.
// CHARSET_OEM added.
// EEID_CHARSET_OEM, EEID_TRIM_RIGHT added.
// CODEPAGE_DETECT_UTF8, CODEPAGE_DETECT_CHARSET, CODEPAGE_DETECT_ALL added.
// v3.16 (21 Jun 2001) EEID_FILE_RELOAD_DETECT_ALL added.
// SMART_COLOR_ constants redefined.
// CColorInfo class redefined.
// CCustomizeInfo::m_nHiliteTag, m_nHiliteMultiComment removed.
// CCustomizeInfo::m_nSpecialSyntax, m_chEscape, m_bPasteAnsi, m_bQuoteType,
// m_szScriptBegin, m_szScriptEnd, m_szLineComment1, m_szLineComment2 added.
// v3.17 (25 Jul 2001) EEID_DELETE_LEFT_WORD, EEID_FILE_NEW_CONFIG,
// EEID_NEW_CONFIG_POPUP, EEID_FONT_POPUP added.
// CCustomizeInfo::m_bSaveAsNameEntity, m_chIndentBegin, m_bNewTemplate,
// m_chIndentEnd, m_chEndOfStatement added.
// v3.18 (29 Aug 2001) EEID_RELOAD_POPUP, EEID_DELETE_PANES added.
// MAX_RECENT_FILE defined.
// v3.19 (1 Oct 2001) EVENT_CHAR added.
// EEID_SHOW_PLUGINS_BAR added.
// SIGNATURE_PIB_LIST is superseded by SIGNATURE_PIB_LIST_2.
// v3.20 (21 Nov 2001) EP_GET_BITMAP, EP_GET_MASK added.
// v3.22 (2 Jan 2002) EEID_PRINT_PREVIEW, EEID_WINDOW_TOP, EEID_WINDOW_BOTTOM,
// EEID_WINDOW_RIGHT, EEID_WINDOW_LEFT, EEID_HOME_TEXT, EEID_SHIFT_HOME_TEXT,
// EEID_KEYBOARD_MAP added.
// v3.23 (31 Jan 2002) EEID_WINDOW_SPLIT_HORZ, EEID_WINDOW_SPLIT_VERT
// EEID_CONTEXT_MENU, EEID_DELETE_LEFT_LINE,
// EEID_INSERT_GRAVE, EEID_INSERT_ACUTE, EEID_INSERT_CIRCUMFLEX, EEID_INSERT_TILDE,
// EEID_INSERT_DIAERESIS, EEID_INSERT_RING_ABOVE, EEID_INSERT_LIGATURE, EEID_INSERT_CEDILLA,
// EEID_INSERT_STROKE, EEID_INSERT_INVERTED_QUESTION, EEID_INSERT_INVERTED_EXCLAMATION,
// EEID_INSERT_COPYRIGHT, EEID_INSERT_REGISTERED, EEID_INSERT_TRADEMARK, EEID_INSERT_EURO added.
// v3.24 (10 Feb 2002) EVENT_FILE_OPENED event added. EEID_WRAP_BY_PAPER added.
// v3.28 ( 1 Oct 2002) FLAG_FIND_REG_EXP and FLAG_FIND_CLOSE added.
// v3.29 ( 6 Nov 2002) EEID_SHOW_TOOLS_BAR, EEID_BOOKMARK_TOGGLE, EEID_BOOKMARK_NEXT, EEID_BOOKMARK_PREV,
// EEID_BOOKMARK_CLEAR, EEID_CUSTOMIZE_TOOLS, EEID_TOOL1 added.
// v3.31 (17 Dec 2002) EEID_RETRIEVE_FIND_TEXT, EEID_COPY_FILE_PATH, EEID_COPY_FILE_DIR, EEID_DUPLICATE_LINE,
// EEID_LOAD_WORKSPACE, EEID_SAVE_WORKSPACE, EEID_SAVE_WORKSPACE_EXIT_ALL, EEID_SAVE_WORKSPACE_QUIT_ALL,
// EEID_LOGICAL_HOME_TEXT, EEID_SHIFT_LOGICAL_HOME_TEXT, EEID_WINDOW_SPLIT_HORZ_FIX, EEID_WINDOW_SPLIT_VERT_FIX,
// EEID_SHOW_WINDOWS_BAR added.
// CCustomizeInfo::m_bShowScrollOnlyActive, CCustomizeInfo::m_bWrapPagePrint added.
// EI_GET_NEXT_BOOKMARK added.
// v3.32 (25 Jan 2003) CCustomizeInfo::m_nMaxFindHilite added. CColorInfo structure removed.
//
// v4.00 (18 Dec 2003) EE_SET_SEL_TYPE, EE_GET_STATUSA, EE_GET_STATUSW, EE_INSERT_FILEA, EE_INSERT_FILEW added.
// EE_INSERT_STRINGA, EE_INSERT_STRINGW extended to use lParam.
// EE_GET_VERSION extended to use wParam.
// Editor_GetVersionEx, VERSION_PRO, VERSION_STD added.
// EI_GET_HILITE_FIND, EI_SET_HILITE_FIND, EI_GET_APP_VERSIONA, EI_GET_APP_VERSIONW, EI_GET_READ_ONLY,
// EI_IS_WINDOW_COMBINED, EI_WINDOW_COMBINE added.
// EEID_SHOW_BAR_TITLE, EEID_LOCK_TOOLBARS, EEID_WINDOW_COMBINE, EEID_WINDOW_ALWAYS_TOP_ON, EEID_WINDOW_ALWAYS_TOP_OFF, EEID_MOVE_LAST_EDIT,
// EEID_MACRO_SAVE, EEID_MACRO_SELECT, EEID_MACRO_EDIT, EEID_MACRO_SELECT_THIS, EEID_CUSTOMIZE_MACRO, EEID_BOOKMARK_NEXT_WITHIN,
// EEID_BOOKMARK_PREV_WITHIN, EEID_BOOKMARK_SET, EEID_BOOKMARK_RESET, EEID_SPACE_TO_TAB, EEID_TABIFY, EEID_UNTABIFY, EEID_INDENT,
// EEID_UNINDENT, EEID_MACRO_HELP, EEID_MACRO_HELP_WORD, EEID_REPLACE_IN_FILES, EEID_QUIT_ALL, EEID_MACRO_RUN_OPTIONS, EEID_INSERT_CARON,
// EEID_VIEW_MARKS, EEID_EDIT_COMMENT, EEID_EDIT_UNCOMMENT, EEID_INCREASE_FONT_SIZE, EEID_DECREASE_FONT_SIZE added.
// v4.01 (27 Dec 2003) EI_IS_UNDO_COMBINED added.
// EEID_FIND_NEXT_UNICODE, EEID_FIND_PREV_UNICODE, EEID_ERASE_UNICODE_HILITE added.
// v4.02 (30 Jan 2004) EE_FIND_IN_FILES, EE_REPLACE_IN_FILES added.
// v4.03 (25 Feb 2004) EE_GET_ANCHOR_POS, EE_SET_ANCHOR_POS added. EE_SET_CARET_POS extended.
// v4.05 (30 Apr 2004) "cb" field of GET_LINE_INFO was changed to "cch" for clarity.
// v4.10 ( 1 Jan 2005) EEID_JOIN_LINES, EEID_SPLIT_LINES, EEID_IMPORT_EXPORT, EEID_CAPITALIZE, EEID_WINDOW_MOVE_NEXT, EEID_WINDOW_MOVE_PREV, EEID_CLOSE_ALL_OTHERS added.
// FLAG_CAPITALIZE flag added for EE_CONVERT message.
// v4.13 (15 Feb 2005) EEID_WINDOW_SPLIT_HORZ_TOGGLE, EEID_WINDOW_SPLIT_VERT_TOGGLE added.
// v5.00 (24 Nov 2005) EE_GET_REDRAW added.
// EVENT_CREATE_FRAME, EVENT_CLOSE_FRMAE, EVENT_DOC_SEL_CHANGED, EVENT_DOC_CLOSE events added.
// EEID_GROUP_CLOSE_ALL, EEID_GROUP_CLOSE_OTHERS, EEID_GROUP_CLOSE_LEFT, EEID_GROUP_CLOSE_RIGHT, EEID_NEW_GROUP, EEID_NEW_GROUP_MINIMIZE,
// EEID_NEW_GROUP_CASCADE, EEID_NEW_GROUP_HORZ, EEID_NEW_GROUP_VERT, EEID_MOVE_PREV_GROUP, EEID_MOVE_NEXT_GROUP,
// EEID_SORT_FILE_NAME, EEID_SORT_TYPE, EEID_SORT_MODIFIED, EEID_SORT_ZORDER, EEID_SORT_ASCENDING, EEID_SORT_DESCENDING,
// EEID_AUTO_SORT, EEID_RESTORE_POS,
// EEID_CUSTOMIZE_FILE, EEID_CUSTOMIZE_SEARCH, EEID_CUSTOMIZE_HISTORY, EEID_CUSTOMIZE_WINDOW, EEID_CUSTOMIZE_TAB,
// EEID_CUSTOMIZE_STATUS, EEID_CUSTOMIZE_ADVANCED, EEID_WINDOW_COMBINE_ON, EEID_WINDOW_COMBINE_OFF added.
// EE_SAVE_FILEA, EE_SAVE_FILEW, EE_GET_MODIFIED, EE_GET_CONFIGA, EE_GET_CONFIGW, EE_SET_CONFIGA, EE_SET_CONFIGW, EE_INFO extended to use HIWORD(wParam) = iDoc.
// Editor_DocSaveFileA, Editor_DocSaveFileW, Editor_DocGetModified, Editor_DocGetConfigA, Editor_DocGetConfigW
// Editor_DocSetConfigA, Editor_DocSetConfigW, Editor_DocInfo macros added.
// EI_GET_DOC_COUNT, EI_INDEX_TO_DOC, EI_DOC_TO_INDEX, EI_ZORDER_TO_DOC, EI_DOC_TO_ZORDER, EI_GET_ACTIVE_INDEX, EI_SET_ACTIVE_INDEX,
// EI_GET_FULL_TITLEA, EI_GET_FULL_TITLEW, EI_GET_SHORT_TITLEA, EI_GET_SHORT_TITLEW, EI_GET_SAVE_AS_TITLEA, EI_GET_SAVE_AS_TITLEW,
// EI_MOVE_ORDER, EI_CLOSE_DOC, EI_SAVE_DOC added for EE_INFO commands.
// HEEDOC (handle to document) type defined.
// Type changes for x64 (EE_GET_SEL_TEXTA, EE_GET_SEL_TEXTW, EE_GET_LINES, EE_GET_LINEA, EE_GET_LINEW, EE_GET_CARET_POS
// EE_DEV_TO_VIEW, EE_GET_PAGE_SIZE, EE_GET_SCROLL_POS, EE_LINE_FROM_CHAR, EE_LINE_INDEX, EE_LOGICAL_TO_SERIAL, EE_LOGICAL_TO_VIEW,
// EE_SERIAL_TO_LOGICAL, EE_SET_CARET_POS, EE_SET_SCROLL_POS, EE_VIEW_TO_DEV, EE_VIEW_TO_LOGICAL, EE_GET_SEL_START,
// EE_GET_SEL_END, EE_SET_SEL_LENGTH, EE_SET_SEL_VIEW, EE_GET_MARGIN, EE_GET_STATUSA, EE_GET_STATUSW, EE_GET_ANCHOR_POS,
// EE_SET_ANCHOR_POS messages,
// GET_LINE_INFO, GREP_INFOW, GREP_INFOA, LOAD_FILE_INFO, LOAD_FILE_INFO_EX structures
// EE_DO_IDLE message (Editor_DoIdle) added.
// EE_GET_SEL_TYPE, EE_SET_SEL_TYPE, EE_SET_SCROLL_POS expanded to use wParam.
// EP_GET_INFO added for plugin message.
// v6.00 (7 Jun 2006) EEID_ACTIVE_PANE, EEID_OUTLINE_COLLAPSE_ALL, EEID_OUTLINE_EXPAND_ALL, EEID_OUTLINE_TOGGLE_LINE,
// EEID_OUTLINE_COLLAPSE_LINE, EEID_OUTLINE_EXPAND_LINE, EEID_OUTLINE_NEXT_NODE, EEID_OUTLINE_PREV_NODE,
// EEID_SHIFT_NEXT_NODE, EEID_SHIFT_PREV_NODE, EEID_RESTORE_DELETED, EEID_VIEW_OUTPUT command added.
// EE_CUSTOM_BAR_OPEN, EE_CUSTOM_BAR_CLOSE, EE_MATCH_REGEX, EE_FIND_REGEX, EE_GET_OUTLINE_LEVEL, EE_SET_OUTLINE_LEVEL,
// EE_SHOW_OUTLINE, EE_ENUM_CONFIG messages added.
// EVENT_IDLE, EVENT_CUSTOM_BAR_CLOSED, EVENT_CUSTOM_BAR_CLOSING events added.
// EP_PRE_TRANSLATE_MSG added for plugin message.
//
// v7.00 (18 Dec 2007) m_nKanjiRead renamed to m_nEncodingRead, m_nEncodeNew renamed to m_nEncodingNew, m_nEncodeWrite renamed to m_nEncodingWrite
// EE_TOOLBAR_OPEN, EE_TOOLBAR_CLOSE, EE_TOOLBAR_SHOW, EE_HELP, EE_REG_SET_VALUE, EE_REG_QUERY_VALUE, EE_QUERY_STRING,
// EE_KEYBOARD_PROP, EE_GET_ACCEL_ARRAY, EE_OUTPUT_STRING, EE_OUTPUT_DIR, EE_ENUM_HIGHLIGHT messages added.
// Editor_ToolbarOpen, Editor_ToolbarClose, Editor_ToolbarShow, Editor_Help, Editor_RegSetValue, Editor_RegQueryValue, Editor_QueryString,
// Editor_KeyboardProp, Editor_GetAccelArray, Editor_OutputString, Editor_OutputDir, Editor_EnumHighlight inline functions added.
// TOOLBAR_INFO, REG_SET_VALUE_INFO, REG_QUERY_VALUE_INFO structures added.
// EVENT_TOOLBAR_CLOSED, EVENT_TOOLBAR_SHOW events added.
// m_bVirtualSpace member added to CCustomizeInfo.
// EI_GET_CURRENT_FOLDER, EI_IS_LARGE_DOC flag added.
// EE_GET_LINES, EE_GETLINEW, EE_GETLINEA (GET_LINE_INFO structure) supports iDoc parameter.
// Editor_DocGetLines inline functions added.
// v7.00.4 (6 Mar 2008) POS_SCROLL_ALWAYS flag added.
//
// v8.00 (16 Aug 2008) EI_USE_INI, EI_GET_LANGUAGE flags added.
// m_bShowIndentGuides, m_bDottedLine members added to CCustomizeInfo.
// EE_GET_DROPPED_FILE message added.
// EP_USE_DROPPED_FILES message to plug-ins added.
// EVENT_SAVING, EVENT_DROPPED events added.
//
// v9.00 (11 Oct 2009) EE_CLIP_HISTORY, EE_EDIT_TEMP, EE_GET_ATTR, EE_GET_OUTPUT_STRING, EE_RUN_MACRO messages added.
// ATTR_INFO, CLIP_INFO, RUN_MACRO_INFO, TEMP_INFO structures added.
// Editor_ActivateTemp, Editor_CloseTemp, Editor_EditTemp, Editor_GetAttr, Editor_GetClip, Editor_GetClipPos, Editor_GetOutputString, Editor_InsertClip, Editor_RunMacro, Editor_SaveTemp, Editor_RemoveClip, Editor_RotateClip inline functions.
// EP_DISABLE_AUTO_COMPLETE message to plug-ins added.
// EVENT_HISTORY, EVENT_TEMP_SAVING events added.
// FIND_REGEX_INFO structure was extended with members for the replace expression.
// EI_COMBINE_HISTORY, EI_GET_BAR_TEXT_COLOR, EI_GET_BAR_BACK_COLOR, EI_GET_RETURN_TYPE flags added.
//
// v9.01 (14 Oct 2009) EEID_CHECK_UPDATES, EEID_CUSTOMIZE_UPDATE_CHECKER added.
//
// v10.00 (30 Jun 2010) EE_GET_WORD message added.
// Editor_GetWord inline function added.
// EI_GET_ACTIVE_DOC, EI_SET_ACTIVE_DOC, EI_GET_SYNC_SESSION, and EI_GET_LOC_DLL_INSTANCE flags added.
// byteCrLf field and FLAG_GET_CRLF_BYTE flag was added to the GET_LINE_INFO structure.
// New commands (from EEID_SAVE_UTF16LE_SIGN through EEID_NUMBERING) added.
// v11.00 (13 Aug 2011) CCustomizeInfo::m_bHighlightCharRef
// New commands (from EEID_SHOW_FIND_BAR through EEID_CLOSE_FIND_BAR and EEID_RECENT_CLOSED_FILE1) added.
// v12.00 (30 Aug 2012) EI_GET_RES_DLL_INSTANCE added.
// New commands (from EEID_BOOKMARK_INVERT through EEID_SHIFT_NEXT_TAG) added.
// v13.00 ( 7 Jun 2013) EE_GET_MULTI_SEL and EE_SET_OUTLINE_ARRAY messages added.
// OUTLINE_ARRAY_INFO structure added.
// EI_GET_CMD_LIST_SIZE flag was added to the EE_INFO message.
// CCustomizeInfo::m_bPromptRename added.
// EVENT_LANGUAGE was renamed to EVENT_UI_CHANGED.
// New commands (from EEID_SELECT_ALL_OCCURRENCES through EEID_BOOKMARK_COPY) added.
// v14.00 ( 9 Dec 2013) New commands (from EEID_DECODE_PERCENT through EEID_MOVE_LINE_DOWN) added.
// New flags for Find/Replace in Files: FLAG_FIND_OUTPUT_DISPLAY and FLAG_GREP_NO_CLOSE were added.
// v14.1 (18 Dec 2013) SMART_COLOR_BOOKMARK and MAX_SMART_COLOR_V12 added.
// MAX_SMART_COLOR changed from 59 to 60.
// CCustomizeInfo::m_bInitialFolder, m_szNewLineComment1, m_szNewLineComment2, and m_szInitialFolder were added.
// EEID_RESET_ALL was added.
// v14.2 (28 Dec 2013) EEID_INSERT_MACRON, EEID_ADD_REMOVE_GUIDE, and EEID_VIEW_USER_DEFINED_GUIDES were added.
// CCustomizeInfo::m_bShowUserDefinedGuides was added.
// v14.4 ( 6 May 2014) EE_GET_COLOR message (Editor_GetColor inline function) was added.
// GET_COLOR_INFO structure was added.
// EI_GET_DISCARD_UNDO and EI_SET_DISCARD_UNDO commands were added to the EE_INFO message.
// LONG_PTR_MIN and LONG_PTR_MAX contants were defined. EE_VIEW_TO_DEV message might return these values.
// v14.5 (18 Jun 2014) EEID_OUTLINE_SYNC_BAR_TO_GUIDE added.
// v14.6 (21 Oct 2014) EI_GET_HEADING_LINES, EI_SET_HEADING_LINES, EI_GET_NARROWING_TOP, EI_SET_NARROWING_TOP, EI_GET_NARROWING_BOTTOM, EI_SET_NARROWING_BOTTOM were added to the EE_INFO message.
// FLAG_FIND_SEL_ONLY, FLAG_FIND_EXTRACT, FLAG_FIND_FILTER, FLAG_FIND_UPDATE_MARKER were added.
// m_bPreferUtf8, m_byteDetectSV were added to the CCustomizeInfo class.
// EEID_HEADING_TOGGLE ... ID_FILTERBAR_LIMIT, EEID_SV_MODE, EEID_CONVERT_TO_SV, EEID_CUSTOMIZE_SV commands were added.
// v14.7 EEID_FILTERBAR_NEGATIVE ... EEID_SORT_LENGTH_D added.
// FLAG_FIND_NEGATIVE added.
// GET_CELL_INFO structure added.
// EE_GET_CELL message and Editor_GetCell inline function added.
// EE_FILTER message and Editor_Filter inline fuction and FILTER_INFO structure added.
// v14.8 EE_JOIN message and Editor_Join inline function and JOIN_INFO structure added.
// FLAG_FIND_REMOVE_LAST flag added.
// EEID_DELETE_DUPLICATE_ADVANCED ... EEID_JOIN_CSV added.
// v14.9 EEID_REMOVE_EMBEDDED_NL, EEID_FINDBAR_EMBEDDED_NL added.
// v15.0 The xBegin and xEnd fields and the FLAG_FIND_LOGICAL_OR flag were added to the FILTER_INFO structure.
// The xBegin and xEnd parameters and the FLAG_FIND_LOGICAL_OR flag were added to the Editor_Filter inline function.
// EEID_WORKSPACE_OPEN, EEID_WORKSPACE_SAVE_AS, EEID_WORKSPACE_SAVE_CURRENT, EEID_FILTERBAR_BOOKMARK, EEID_FILTERBAR_EXTRACT, and EEID_WORKSPACE_RECENT_FILE1 commands were added.
// v15.1 EEID_EXTRACT_COLUMNS and EEID_SELECT_COLUMN_WITH_HEADINGS added.
// v15.2 EEID_HELP_INTERNET and EEID_HELP_LOCAL added.
// EI_GET_CSV flag was added to the EE_INFO message.
// v15.3 EEID_SAVE_CLOSE_DESKTOP through EEID_SAVE_WORKSPACE_QUIT_DESKTOP added.
// v15.4 EI_GET_PRINT_PAGES added.
// v15.8 EI_GET_CELL_MODE and EI_SET_CELL_MODE added.
// v15.9 The FIND_REGEX_INFO_EX structure was extended. The BACK_REF structure was added.
// v16.0 The EE_GET_FILTER message, the Editor_GetFilter inline function, and the FILTER_INFO_EX structure were added.
// v16.1 EEID_SHOW_CELL_BAR, EEID_CELL_BAR_OPTIONS, EEID_CELL_BAR_AUTO_SHOW, EEID_CELL_BAR_AUTO_FOCUS, and EEID_CELL_BAR_AUTO_HEIGHT added.
// v16.3 EI_GET_DPI_OPTIONS and EI_SET_DPI_OPTIONS flags were added to the EE_INFO message.
// m_byteMinimapAspectPercent and m_byteMinimapZoomPercent were added to CCustomizeInfo.
// SCROLL_FLAG_MINIMAP and SCROLL_FLAG_SHOW_ENTIRE flags were added for the m_byteScrollFlags member of CCustomizeInfo.
// EEID_FILTER_OUT_WORD through EEID_MINIMAP_ENTIRE_MAP were added.
// v16.4 EE_MANAGE_DUPLICATES, EE_SORT messages were added.
// Editor_ManageDuplicates and Editor_Sort inline functions were added.
// MANAGE_DUPLICATES_INFO, COLUMN_INFO, and SORT_INFO structures were added.
// EEID_AUTO_COPY command was added.
// v16.6 EEID_CUSTOMIZE_FORMAT command was added.
// v16.7 EE_SET_CELL, EE_SET_COLUMN messages, Editor_SetCell, Editor_SetColumn inline functions, COLUMN_STRUCT structure were added.
// v16.8 EE_GET_COLUMN messages, and Editor_GetColumn inline functions were added
// v16.9 EE_SHOW_TIP and EE_GET_ACTIVE_STRING messages were added
// Editor_ShowTip and Editor_GetActiveString inline functions were added
// TIP_INFO and ACTIVE_STRING_INFO structures were added
// EEID_FILTER_COLUMN and EEID_CUSTOMIZE_ACTIVE_STRING commands were added
// v17.0 EI_GET_REGISTERED_NAME added.
// EEID_DELETE_OLD_SETTINGS added.
// v17.1 EEID_HEADER_TOGGLE, EEID_HEADER_NUM, EEID_HEADER_ALPHA, and EEID_HEADER_ZERO_BASE were added.
// v17.2 EI_VALIDATE_CSV, EI_GET_CLIENT_RECT_NO_BARS were added.
// EEID_SCROLL_MARKS_TOGGLE through EEID_MAKE_COLUMNS_SAME commands were added.
// v17.3 EEID_MOVE_COLUMN_RIGHT and EEID_MOVE_COLUMN_LEFT commands were added.
// v17.4 Added FLAG_FIND_BOL, FLAG_FIND_EOL, and FLAG_FIND_LOOKAROUND constants.
// v17.5 Added EE_AUTOFILL message, Editor_AutoFill inline function, AUTOFILL_INFO structure.
// v17.6 MANAGE_DUPLICATES_IGNORE_EMPTY_CELLS, SORT_UNQUOTE_CELLS flags added.
// v17.7 EE_COMPARE message, Editor_Compare inline function, COMPARE_INFO structure added.
// EEID_CUSTOMIZE_RENDERING and EEID_COMPARE_GENERATE_REPORT added.
// v17.8 LFI_USE_TEMP_FILE and LFI_DONT_USE_TEMP_FILE added.
// SMART_COLOR_OPEN_FILTER added.
// v18.1 nLimit field added to the GREP_INFO_EX structure.
// v18.4 Added EEID_CLEAR_SAVED_MARKERS, EEID_CUSTOMIZE_OPTIMIZATION, EEID_FILTER_OUT_COLUMN, EEID_FILTERBAR_NUMBER_RANGE, EEID_FINDBAR_NUMBER_RANGE, EEID_SEL_TRIM_LEFT, EEID_SEL_TRIM_RIGHT
// v18.5 Added EEID_RIGHT_EDGE through EEID_BOX_EXTEND_DOWN
// v18.6 Added EEID_REMOVE_EMPTY_LINES through EEID_FILTERBAR_WHOLE_STRING
// v18.7 Added EEID_CLEAR_CONTENTS.
// v18.8 Added FLAG_JAPANESE_YEN and FLAG_KOREAN_WON flags to the EE_CONVERT message and Editor_Convert inline function.
// v18.9 Added EEID_SORT_IPV4_A to EEID_SORT_IPV6_D.
// Added the SORT_IPV4 and SORT_IPV6 flags to the SORT_INFO structure and Editor_Sort inline function.
// v19.0 Added SORT_REVERSE, SORT_INSPECT_NOT_SEL_ONLY and MANAGE_DUPLIDATES_INSPECT_SEL_ONLY.
// Added EEID_TOGGLE_VALIDATION_BAR, EEID_SORT_REVERSE, EEID_PROPERTY_VALIDATION, EEID_CUSTOMIZE_VALIDATION
// v19.1 Added the EE_GET_UNICODE_NAME message, Editor_GetUnicodeName inline function, and UNICODE_NAME_INFO structure.
// Added the EE_NUMBERING message, Editor_Numbering inline function, and NUMBERING_INFO structure.
// Added the EI_GET_CHAR_TYPE command to the EE_INFO message.
// Added the FLAG_CONVERT_CUSTOM, FLAG_RIGHT_SINGLE_QUOTATION, and FLAG_RIGHT_DOUBLE_QUOTATION flags and szChars parameter to the EE_CONVERT message and Editor_Convert inline function.
// v19.2 Added the EEID_VIEW_ALL_MARKS coommand.
// v19.7 Added the EDIT_COLUMN_INFO structure, EE_EDIT_COLUMN message, Editor_EditColumn inline function
// v19.8 Added the EE_CONVERT_CSV message, Editor_ConvertCsv inline function, CONVERT_CSV_INFO structure.
// v19.9 Added the EE_SPLIT_COLUMN message, Editor_SplitColumn inline function, SPLIT_COLUMN_INFO structure.
// v20.0 Added JOIN_FLAG_CONTAIN, JOIN_FLAG_START_WITH, JOIN_FLAG_END_WITH, JOIN_FLAG_MATCH_SPLIT_BOTH, JOIN_FLAG_MATCH_SPLIT_ONE, and JOIN_FLAG_SWAP flags to the JOIN_INFO structure and Editor_Join inline function.
// Added MANAGE_DUPLICATES_COMBINE flag, revised Editor_ManageDuplicates inline function, MANAGE_DUPLICATES_INFO structure.
// Revised SPLIT_COLUMN_INFO, Editor_SplitColumn.
// Added the BATCH_GREP_INFO structure and the Editor_BatchFindInFiles and Editor_BatchReplaceInFiles inline functions.
// v20.1 Added the CI_MOVE_CLIP action to the CLIP_INFO structure.
// Added the FLAG_FILTER_BEGIN and FLAG_FILTER_END flags to the FILTER_INFO_EX structure.
// Added the EI_FILE_POS_TO_LOGICAL, EI_LOGICAL_TO_FILE_POS, EI_CELL_TO_LOGICAL, and EI_LOGICAL_TO_CELL commands to the EE_INFO message.
// v20.2 Added cbSize and ptCaret fields to SEL_INFO structure.
// Added EE_SET_MULTI_SEL message, Editor_SetMultiSel inline function.
// v20.3 Removed m_bHighlightCharRef.
// v20.4 Added EEID_TOGGLE_NOTIFICATIONS, EEID_REMOVE_EMPTY_COLUMNS, EEID_CLEAR_UNDO_REDO_HISTORY, EEID_FIND_EMPTY_OR_SHORTEST, EEID_CUSTOMIZE_NOTIFICATIONS, EEID_CUSTOMIZE_UPDATE,
// Added FLAG_FIND_MATCHED_EX
// v20.5 Added EI_IS_VERY_DARK, EI_WM_INITDIALOG, EI_WM_CTLCOLOR, EI_WM_THEMECHANGED, EI_INIT_LISTVIEW
// v20.6 Added EE_QUERY_STRING_EX message, Editor_QueryStringEx inline function, QUERY_STRING_INFO structure.
// Added STRING_BUF structure, EI_GET_FILE_NAME_EX command.
// Added EEID_INVERT_SELECTION, EEID_CUSTOMIZE_URI_SCHEMES
// Added hr field to GREP_INFO_EX, BATCH_GREP_INFO structures.
// Added E_WRONG_NUM_FORMAT, E_REGEX_UNKNOWN.
// v20.7 Added EEID_CUSTOMIZE_CLIPBOARD, EEID_MACRO_STOP, EEID_CSV_HIDE_QUOTES command.
// Added EI_GET_VIEW_FONT, EI_GET_HIDE_QUOTES, EI_SET_HIDE_QUOTES
// v20.9 Added EI_GET_SYNC
// Added EP_SYNC_NOW
// Added EEID_TOOLBAR1, EEID_ALL_BASIC_TOOLBARS, EEID_ALL_SPECIAL_TOOLBARS, EEID_FINDBAR_FIND_DLG
// v21.0 Added EEID_PASTE_HTML, EEID_MAIN_MENU, EEID_CUSTOMIZE_LAYOUTS, EEID_LAYOUT1 command.
// Added COLUMN_DELETE, COLUMN_SELECT, COLUMN_SELECT_NO_HEADINGS flags.
// MAX_FILTER_BUF was changed from 10001 to 50001
// v21.2 Added EEID_CUSTOMIZE_CSV_OPTIONS, EEID_REPEAT_STEPS command.
// v21.3 Added EEID_CSV_NEXT_CELL, EEID_CSV_PREV_CELL, EEID_CSV_UP, EEID_CSV_DOWN command
// v21.4 Added EE_PIVOT_TABLE, EE_UNPIVOT messages, PIVOT_TABLE_INFO, UNPIVOT_INFO structures, Editor_PivotTable, Editor_Unpivot inline functions.
// Added EEID_PIVOT_TABLE, EEID_TRANSPOSE, EEID_UNPIVOT commands
// Added EI_GET_SPLIT
// Added FLAG_MAKE_LOWER_L, FLAG_MAKE_UPPER_L, FLAG_CAPITALIZE_L, FLAG_TRIM_RIGHT, FLAG_TRIM_LEFT
// v21.5 Added CCustomizeInfo::m_bEnsureFinalNL
// Added EEID_PROPERTY_CHAR_CHECK
// Added SMART_COLOR_INVALID_CHAR
// Added EI_GET_SUM
// v21.6 Added EI_SET_FILE_NAMEW
// Added FLAG_FIND_LINK_FILE
// Added EEID_FILTERBAR_EXTRACT_MATCHES
// v21.7 Added LFI_DONT_ADD_RECENT
// Added COMPARE_SPLIT_VERT, COMPARE_TILE_SPLIT_MASK
// v21.8 Added EE_INFO_EX message, INFO_EX_DATA structure, Editor_DocInfoEx inline function
// Added EI_GET_CONFIG, EI_SET_CONFIG, EI_SAVE_FILE, EI_INDEX_TO_DOC_REAL, EI_DOC_TO_INDEX_REAL, EI_GET_TITLE, EI_SET_TITLE
// Added alternative forms of Editor_DocGetModified, Editor_DocGetLines, Editor_GetLineW inline functions
// Added hDoc field to GET_LINE_INFO structure
// Added optional FLAG_REAL_DOC_INDEX parameter to EI_GET_DOC_COUNT, EI_GET_ACTIVE_INDEX
// Added EEID_SPLIT_VIEW_DIRECT, EEID_FILTERBAR_EXTRACT_OPTIONS
// Added COMPARE_SPLIT_VIEW_ONLY
// Added nVisibleLinesAbove and nVisibleLinesBelow fields to FILTER_INFO_EX structure
// v21.9 Added EEID_HIDE_COLUMN, EEID_UNHIDE_COLUMN, EEID_COMPARE_PREV_CHAR, EEID_COMPARE_NEXT_CHAR, EEID_ROW_HEADING_RESET, EEID_ROW_HEADING_1, EEID_ROW_HEADING_2, EEID_ROW_HEADING_3, EEID_ROW_HEADING_4, EEID_ALIGN_LEFT, EEID_ALIGN_CENTER, EEID_ALIGN_RIGHT
// Added EE_EXTRACT_FREQUENT message, EXTRACT_FREQUENT_INFO structure, Editor_ExtractFrequent inline function
// v22.0 Added FLAG_FIND_FUZZY
// Added EEID_FILTERBAR_FUZZY, EEID_FINDBAR_FUZZY
// v22.1 Added EEID_SORT_SEL, EEID_SORT_COLUMNS, EEID_MANAGE_COLUMNS
// Added EE_CONVERT_EX, EE_REARRANGE_COLUMNS messages, CONVERT_INFO, REARRANGE_COLUMNS_INFO structures, Editor_RearrangeColumns inline function
//
#pragma once
#ifdef __cplusplus
#define EE_STRICT // uses inline functions instead of macros
#endif
#ifndef _ASSERT
#define _ASSERT(expr) ((void)0)
#endif
#define MAX_LONG_PATH 32768
#define E_DOCUMENT_1_NOT_FOUND _HRESULT_TYPEDEF_(0xa0000001L)
#define E_DOCUMENT_2_NOT_FOUND _HRESULT_TYPEDEF_(0xa0000002L)
#define E_COLUMN_1_NOT_FOUND _HRESULT_TYPEDEF_(0xa0000003L)
#define E_COLUMN_2_NOT_FOUND _HRESULT_TYPEDEF_(0xa0000004L)
#define E_SELECT_SYNTAX _HRESULT_TYPEDEF_(0xa0000005L)
#define E_SELECT_DOCUMENT_NOT_FOUND _HRESULT_TYPEDEF_(0xa0000006L)
#define E_SELECT_COLUMN_NOT_FOUND _HRESULT_TYPEDEF_(0xa0000007L)
#define E_DIFFERENT_CSV_MODE _HRESULT_TYPEDEF_(0xa0000008L)
#define E_NOT_MDI _HRESULT_TYPEDEF_(0xa0000009L)
#define E_WRITE_TEMP_FILE _HRESULT_TYPEDEF_(0xa000000aL)
#define E_BASE64_LENGTH _HRESULT_TYPEDEF_(0xa000000bL)
#define E_BASE64_BINARY _HRESULT_TYPEDEF_(0xa000000cL)
#define E_ABORT_NEED_UNDO _HRESULT_TYPEDEF_(0xa0000010L)
#define E_CANNOT_FIND_PLUGIN _HRESULT_TYPEDEF_(0xa0000011L)
#define E_NO_SELECTION _HRESULT_TYPEDEF_(0xa0000012L)
#define E_CELL_INCLUDES_DELIMITER _HRESULT_TYPEDEF_(0xa0000013L)
#define E_INCONSISTENT_NUM_OF_CELLS _HRESULT_TYPEDEF_(0xa0000014L)
#define E_DIFF _HRESULT_TYPEDEF_(0xa0000015L) // used internally
#define E_SEL_CONTAINS_NEWLINE _HRESULT_TYPEDEF_(0xa0000016L) // used internally
#define E_SEL_SAME_LINE _HRESULT_TYPEDEF_(0xa0000017L) // used internally
#define E_FILTER_NOT_SUPPORTED _HRESULT_TYPEDEF_(0xa0000018L)
#define E_SEL_CONTAINS_READONLY _HRESULT_TYPEDEF_(0xa0000019L)
#define E_EMPTY_MULTI_SEL _HRESULT_TYPEDEF_(0xa0000020L)
#define E_FAILED_TO_OPEN _HRESULT_TYPEDEF_(0xa0000021L)
#define E_MULTI_BYTE_TO_WIDE_CHAR _HRESULT_TYPEDEF_(0xa0000022L)
#define E_WIDE_CHAR_TO_MULTI_BYTE _HRESULT_TYPEDEF_(0xa0000023L)
#define E_FAILED_TO_MAP_VIEW _HRESULT_TYPEDEF_(0xa0000024L)
#define E_GREP_LARGER_THAN_2G _HRESULT_TYPEDEF_(0xa0000025L)
#define E_BACKUP_COPY _HRESULT_TYPEDEF_(0xa0000026L)
#define E_DISCARD_UNDO _HRESULT_TYPEDEF_(0xa0000027L) // used internally
#define E_SEL_TOO_LONG _HRESULT_TYPEDEF_(0xa0000028L) // used internally
#define E_TOO_MANY_FILES _HRESULT_TYPEDEF_(0xa0000030L)
#define E_AOTHER_THREAD_REACHED_MAX _HRESULT_TYPEDEF_(0xa0000031L) // used internally
#define E_DIFF_CRLF _HRESULT_TYPEDEF_(0xa0000032L) // used internally
#define E_RETRY _HRESULT_TYPEDEF_(0xa0000033L) // used internally
#define E_WRAP_CANCEL _HRESULT_TYPEDEF_(0xa0000034L) // used internally
#define E_TOO_MANY_LINES _HRESULT_TYPEDEF_(0xa0000035L) // used internally
#define E_DECIMAL_NUMBER _HRESULT_TYPEDEF_(0xa0000036L) // used internally
#define E_LONG_UNC_PATH _HRESULT_TYPEDEF_(0xa0000037L) // used internally
#define E_INSERT_COLUMN_REQUIREMENT _HRESULT_TYPEDEF_(0xa0000038L)
#define E_WRONG_NUM_FORMAT _HRESULT_TYPEDEF_(0xa0000039L)
#define E_REGEX_UNKNOWN _HRESULT_TYPEDEF_(0xa0000040L)
#define E_NOT_SUPPORTED_SEARCH _HRESULT_TYPEDEF_(0xa0000041L)
#define E_NOT_KEEP_OPEN _HRESULT_TYPEDEF_(0xa0000042L)
#define E_EMPTY_FIND _HRESULT_TYPEDEF_(0xa0000043L)
#define E_INCONSISTENT_COLUMNS _HRESULT_TYPEDEF_(0xa0000044L)
#define E_V8_CASE_INSENSITIVE _HRESULT_TYPEDEF_(0xa0000045L)
#define E_V8_NESTING_ERROR _HRESULT_TYPEDEF_(0xa0000046L)
#define S_MATCHED _HRESULT_TYPEDEF_(0x20000001L)
#define S_MATCHED_IGNORED _HRESULT_TYPEDEF_(0x20000002L)
#define S_DIFF _HRESULT_TYPEDEF_(0x20000003L)
#define S_BINARY_FILE _HRESULT_TYPEDEF_(0x20000004L)
#define S_SKIPPED_IGNORED _HRESULT_TYPEDEF_(0x20000005L)
#define S_OPEN_DOCUMENTS_ROUNDED _HRESULT_TYPEDEF_(0x20000006L) // used internally
#define S_FOUND_REACHED_MAX _HRESULT_TYPEDEF_(0x20000007L) // used internally
#define S_DECIMAL_NUMBER _HRESULT_TYPEDEF_(0x20000008L) // used internally
#define S_UTF8_DETECTED _HRESULT_TYPEDEF_(0x20000009L) // used internally
#define S_EDIT_TEMP _HRESULT_TYPEDEF_(0x2000000AL)
#define S_ASYNC _HRESULT_TYPEDEF_(0x2000000BL) // used internally
#define S_UNSUPPORTED_ENCODING _HRESULT_TYPEDEF_(0x2000000CL) // used internally
#define S_MATCH_REGEX _HRESULT_TYPEDEF_(0x2000000DL) // used internally
#define S_MATCH_NUM_RANGE _HRESULT_TYPEDEF_(0x2000000EL) // used internally
#define S_SEARCH_INVALID_ENCODING _HRESULT_TYPEDEF_(0x2000000FL) // used internally
#define S_CONTINUE _HRESULT_TYPEDEF_(0x20000010L) // used internally
#define S_MIXED_PATH _HRESULT_TYPEDEF_(0x20000011L) // used internally
#define DEFAULT_DPI 96
#ifndef CLR_NONE
#define CLR_NONE 0xFFFFFFFFL
#endif
#define REG_VERSION_21_5 29
#define REG_VERSION_20_3 28
#define REG_VERSION_19_6 27
#define REG_VERSION_19_0 26
#define REG_VERSION_18_7 25
#define REG_VERSION_18_6 24
#define REG_VERSION_18_1 23
#define REG_VERSION_18_0 22
#define REG_VERSION_17_0_2 21
#define REG_VERSION_17_0 20
#define REG_VERSION_17_0_B1 19
#define REG_VERSION_16_9 18
#define REG_VERSION_16_3 17
#define REG_VERSION_14_6 16
#define REG_VERSION_14_3 15
#define REG_VERSION_14 14
#define REG_VERSION_13 13
#define REG_VERSION_10 10
#define REG_VERSION_3 3 // v3
#define REG_VERSION REG_VERSION_21_5
#define UPDATE_TREE_NONE 0
#define UPDATE_OUTLINE 1
#define UPDATE_TREE_SEL 2
#define UPDATE_TREE_LINE_STRING 3
#define UPDATE_TREE_ALL 4
#define INDENT_BRACES 0
#define INDENT_SPACES 1
#define INDENT_CUSTOM 2
#define INDENT_BRACKETS 3
#define INDENT_CUSTOM_BEGIN_END 4
#define INDENT_TABS 5
#define INDENT_BITS_MASK 7
#define WORK_OUTLINE_ALL 1
#define WORK_TREE_SEL 2
#define MAX_HIGHLIGHT_COLOR (10 + 5) // SMART_COLOR_COMPARE_CHANGE ... SMART_COLOR_COMPARE_BLANK added
#define RETURN_METHOD_BOTH 0
#define RETURN_METHOD_CR_ONLY 1
#define RETURN_METHOD_LF_ONLY 2
#define WRAP_NONE 0
#define WRAP_BY_CHAR 1
#define WRAP_BY_WINDOW 2
#define WRAP_BY_PAPER 3
#define MAX_WRAP_MODE 4
#define MIN_MARGIN 10
#define MAX_MARGIN 0x7fff // inclusive
#define MIN_LINE_SPACE (-2)
#define MAX_LINE_SPACE 30 // inclusive
#define MIN_CHAR_SPACE 0
#define MAX_CHAR_SPACE 30 // inclusive
#define MIN_FIND_HILITE 0
#define MAX_FIND_HILITE 30 // inclusive
#define SPECIAL_SYNTAX_NONE 0
#define SPECIAL_SYNTAX_HTML 1
#define SPECIAL_SYNTAX_HTML_EMBEDDED 2
#define MAX_SPECIAL_SYNTAX 3
#define MAX_FIND_HISTORY 64
#define DEF_FIND_HISTORY 32
#define MIN_FIND_HISTORY 1
#define MIN_RECENT_FILE 0
#define MAX_RECENT_FILE 64
#define MIN_RECENT_POPUP 1
#define MAX_RECENT_POPUP MAX_RECENT_FILE
#define DEF_RECENT_FILE 16
#define DEF_RECENT_POPUP 8
#define MAX_RECENT_UNDO 64
#define DEF_RECENT_UNDO 8
#define DEFAULT_COLOR (ULONG_MAX-1)
#define TRANSPARENT_COLOR (ULONG_MAX-2)
#define NOT_USED_COLOR TRANSPARENT_COLOR
#define SIGNATURE_FACE_LIST 0x00FF0000
#define SIGNATURE_HILITE_LIST 0x00FF0100
#define SIGNATURE_FIND_LIST 0x00FF0200
#define SIGNATURE_PIK_LIST 0x00FF0300
#define SIGNATURE_PIB_LIST_2 0x00FF0401
#define SIGNATURE_PIB_LIST_3 0x00FF0402
#define SIGNATURE_ASSOCIATE_LIST 0x00FF0500
#define SIGNATURE_NEW_ASSOCIATE_LIST 0x00FF0501
#define SIGNATURE_CODEPAGE_LIST_2 0x00FF0601
#define SIGNATURE_MENU_LIST 0x00FF0700
#define SIGNATURE_MENU_LIST_2 0x00FF0701
#define SIGNATURE_TOOL_LIST 0x00FF0800
#define SIGNATURE_TOOL_LIST_2 0x00FF0801
#define SIGNATURE_TOOL_LIST_3 0x00FF0802
#define SIGNATURE_PIK_T_LIST 0x00FF0900
#define SIGNATURE_WORKSPACE_LISTW 0x00FF0A00
#define SIGNATURE_WORKSPACE_LISTA 0x00FF0A01
#define SIGNATURE_WORKSPACE_LISTW_2 0x00FF0A02
#define SIGNATURE_WORKSPACE_LISTA_2 0x00FF0A03
#define SIGNATURE_WORKSPACE_LISTW_3 0x00FF0A06
#define SIGNATURE_WORKSPACE_LISTA_3 0x00FF0A07
#define SIGNATURE_WORKSPACE_LISTW_4 0x00FF0A08 // new v9
#define SIGNATURE_WORKSPACE_LISTW_5 0x00FF0A09 // new v10
#define SIGNATURE_WORKSPACE_LISTW_6 0x00FF0A0A // new v13
#define SIGNATURE_WORKSPACE_LISTW_7 0x00FF0A0B // new v14.4
#define SIGNATURE_WORKSPACE_LISTW_8 0x00FF0A0C // new v15.5
#define SIGNATURE_WORKSPACE_LISTW_9 0x00FF0A0D // new v16.0
/// if you need to add SIGNATURE_WORKSPACE_LISTW_x, remember to edit MyCmdLine.cpp ("wst.") !!
#define SIGNATURE_WORKSPACE_LIST SIGNATURE_WORKSPACE_LISTW_9
#define SIGNATURE_PIK_M_LIST 0x00FF0B00
#define SIGNATURE_MACRO_LANG_LIST 0x00FF0C00
#define SIGNATURE_THEME_LIST 0x00FF0D00
#define SIGNATURE_THEME_LIST_2 0x00FF0D01
#define SIGNATURE_PAIR_LIST 0x00FF0E00
#define SIGNATURE_PAIR_LIST_2 0x00FF0E01
#define SIGNATURE_PAIR_LIST_3 0x00FF0E02
#define SIGNATURE_MARKER_LIST 0x00FF0F00
#define SIGNATURE_MARKER_LIST_2 0x00FF0F01
#define SIGNATURE_GUIDE_LIST 0x00ff1000
#define SIGNATURE_SV_LIST 0x00FF1100
#define SIGNATURE_SV_LIST_2 0x00FF1101
#define SIGNATURE_FILTER_LIST 0x00ff1200
#define SIGNATURE_FILTER_LIST_2 0x00ff1201
#define SIGNATURE_COLOR_VAR_LIST 0x00ff1300
#define SIGNATURE_COLOR_VAR_LIST_2 0x00ff1301
#define MAX_CODEPAGE_NAME 80
#define CHARSET_DEFAULT 0
#define CHARSET_ARABIC 1
#define CHARSET_BALTIC 2
#define CHARSET_CENTRAL_EUROPE 3
#define CHARSET_CHINESE_SIMPLIFIED 4
#define CHARSET_CHINESE_TRADITIONAL 5
#define CHARSET_CYRILLIC 6
#define CHARSET_GREEK 7
#define CHARSET_HEBREW 8
#define CHARSET_JAPANESE 9
#define CHARSET_KOREAN 10
#define CHARSET_THAI 11
#define CHARSET_TURKISH 12
#define CHARSET_VIETNAMESE 13
#define CHARSET_WESTERN_EUROPE 14
#define CHARSET_OEM 15
#define CHARSET_RESERVED_4 16
#define CHARSET_RESERVED_3 17
#define CHARSET_RESERVED_2 18
#define CHARSET_RESERVED_1 19
#define MAX_CHARSET 20
#define MAX_USED_CHARSET 16
#define CODEPAGE_ANSI 65536
#define CODEPAGE_UNICODE 65537
#define CODEPAGE_UTF16LE CODEPAGE_UNICODE
#define CODEPAGE_UNICODE_BIGENDIAN 65538
#define CODEPAGE_UTF16BE CODEPAGE_UNICODE_BIGENDIAN
#define CODEPAGE_BINARY 65539 // v8
#define CODEPAGE_HEX 65540 // v8
#define CODEPAGE_UTF8 65001
#define CODEPAGE_UTF7 65000
#define CODEPAGE_ANSI_FIRST 4
#define CODEPAGE_ANSI_LAST 64999
#define CODEPAGE_932 932 // Japanese Shift-JIS
#define CODEPAGE_JIS 65616 // obsolete, Japanese JIS, use 50220 instead
#define CODEPAGE_EUC 65617 // obsolete, Japanese EUC, use 51932 instead.
#define CODEPAGE_DETECT_UNICODE 0x00020000
#define CODEPAGE_DETECT_UTF8 0x00040000 // v3.15
#define CODEPAGE_DETECT_CHARSET 0x00080000 // v3.15
#define CODEPAGE_DETECT_ALL 0x00100000 // v3.15
#define CODEPAGE_DETECT_FLAGS (CODEPAGE_DETECT_UNICODE | CODEPAGE_DETECT_UTF8 | CODEPAGE_DETECT_CHARSET | CODEPAGE_DETECT_ALL)
#define CODEPAGE_MASK 0x0001ffff
#define CODEPAGE_AUTO_SJIS_JIS 66049 // obsolete
#define CODEPAGE_AUTO_SJIS_JIS_EUC 66050 // obsolete, use 50932 instead.
#define CODEPAGE_UNKNOWN 66304 // internal use only
#define CODEPAGE_MAYBE_EUC 66305 // internal use only
#define CODEPAGE_CONFIG 66307 // internal use only
#define CODEPAGE_SAME_AS_DOC 66308 // internal use only
#define CODEPAGE_MORE 66309 // internal use only
#ifdef _WIN64
#ifdef _DEBUG
#define MAX_UNDO_COUNT 0x01000000
#else
#define MAX_UNDO_COUNT 0x08000000
#endif
#else
#define MAX_UNDO_COUNT 0x00100000 // 0x00800000
#endif
#define MIN_UNDO_COUNT 0x100
#define MAX_PLUG_IN_NAME MAX_PATH
#define MAX_FILE_FILTER_LENGTH 256
#define MAX_FILTER_BUF 50001 // including NULL character, increased from 10001 on v21.1
#define MAX_CONFIG_NAME 260
#define MAX_DEF_CONFIG_NAME 32
#define MAX_ASSOCIATE_LENGTH 16
#define MAX_THEME_NAME 32
#define MAX_HEADER 116 // was 128 before v3.16
#define MAX_FOOTER 116 // was 128 before v3.16
#define MAX_KINSOKU_BEGIN 128
#define MAX_KINSOKU_END 128
#define MAX_MULTI_COMMENT_BEGIN 16
#define MAX_MULTI_COMMENT_END 16
#define MAX_LINE_COMMENT 4 // v3.16
#define MAX_NEW_LINE_COMMENT 16 // v14.1
#define MAX_SCRIPT_BEGIN 8 // v3.16
#define MAX_SCRIPT_END 8 // v3.16
#define MAX_PREFIX_LENGTH 80
#define MAX_FILE_FILTER 128
#define MAX_DEF_EXT 128
#define MAX_PREFIX_LIST 40
#define SMART_COLOR_NONE ((BYTE)(-1))
#define SMART_COLOR_NORMAL 0
#define SMART_COLOR_SEL 1
#define SMART_COLOR_CURLINE 2
#define SMART_COLOR_QUOTE 3
#define SMART_COLOR_FIND 4
#define SMART_COLOR_LINK_URL 5
#define SMART_COLOR_LINK_ID 6
#define SMART_COLOR_LINK_TAG 7
#define SMART_COLOR_SINGLE_QUOTES 8
#define SMART_COLOR_DOUBLE_QUOTES 9
#define SMART_COLOR_COMMENT 10
#define SMART_COLOR_SCRIPT 11
#define SMART_COLOR_BRACES 12
#define SMART_COLOR_IN_TAG 13
#define SMART_COLOR_HILITE_1 14
#define SMART_COLOR_HILITE_2 15
#define SMART_COLOR_HILITE_3 16
#define SMART_COLOR_HILITE_4 17
#define SMART_COLOR_HILITE_5 18
#define SMART_COLOR_HILITE_6 19
#define SMART_COLOR_HILITE_7 20
#define SMART_COLOR_HILITE_8 21
#define SMART_COLOR_HILITE_9 22
#define SMART_COLOR_HILITE_10 23
#define SMART_COLOR_RETURN 24
#define SMART_COLOR_LINE 25
#define SMART_COLOR_PAGE_LINE 26
#define SMART_COLOR_LINE_NUMBER 27
#define SMART_COLOR_RULER 28
#define SMART_COLOR_OUTSIDE 29
#define SMART_COLOR_COMPARE_CHANGE 30
#define SMART_COLOR_COMPARE_CHAR 31
#define SMART_COLOR_COMPARE_ADDED 32
#define SMART_COLOR_COMPARE_DELETED 33
#define SMART_COLOR_COMPARE_BLANK 34
#define SMART_COLOR_SPELL 35
#define SMART_COLOR_UNICODE 36
#define SMART_COLOR_VERTICAL_SEL 37
#define SMART_COLOR_HEX_SEL 38
#define SMART_COLOR_INDENT_GUIDES 39
#define SMART_COLOR_HORZ_GRID 40
#define SMART_COLOR_OUTLINE 41
#define SMART_COLOR_LINE_NUMBER_LINES 42
#define SMART_COLOR_RULER_LINES 43
#define SMART_COLOR_VERTICAL_SEPARATOR 44
#define SMART_COLOR_HTML_CHAR_REF 45
#define SMART_COLOR_UCN 46
#define SMART_COLOR_AUTO_MARKER 47
#define SMART_COLOR_MARKER_1 48
#define SMART_COLOR_MARKER_2 49
#define SMART_COLOR_MARKER_3 50
#define SMART_COLOR_MARKER_4 51
#define SMART_COLOR_MARKER_5 52
#define SMART_COLOR_MARKER_6 53
#define SMART_COLOR_MARKER_7 54
#define SMART_COLOR_MARKER_8 55
#define SMART_COLOR_MARKER_9 56
#define SMART_COLOR_MARKER_10 57
#define SMART_COLOR_MATCHING_TAG 58
#define SMART_COLOR_BOOKMARK 59
#define SMART_COLOR_USER_DEFINED_GUIDES 60
#define SMART_COLOR_INDICATOR_MODIFIED 61
#define SMART_COLOR_INDICATOR_SAVED 62
#define SMART_COLOR_INDICATOR_BOOKMARK 63
#define SMART_COLOR_MARKER_MODIFIED 64
#define SMART_COLOR_MARKER_SAVED 65
#define SMART_COLOR_MARKER_BOOKMARK 66
#define SMART_COLOR_MARKER_FOUND 67
#define SMART_COLOR_MARKER_CURSOR 68
#define SMART_COLOR_MARKER_COMPARE_CHANGE 69
#define SMART_COLOR_MARKER_COMPARE_ADDED 70
#define SMART_COLOR_MARKER_COMPARE_DELETED 71
#define SMART_COLOR_HEADINGS 72
#define SMART_COLOR_SEARCH_SEL 73
#define SMART_COLOR_FILTER 74
#define SMART_COLOR_LINK_URL_VISITED 75
#define SMART_COLOR_LINK_ID_VISITED 76
#define SMART_COLOR_LINK_TAG_VISITED 77
#define SMART_COLOR_CELL_TEXT 78
#define SMART_COLOR_CELL_BORDER 79
#define SMART_COLOR_FILTER_SEPARATOR 80
#define SMART_COLOR_MINIMAP_BACKGROUND 81
#define SMART_COLOR_MINIMAP_VIEW 82
#define SMART_COLOR_LINK_IPV4 83
#define SMART_COLOR_LINK_IPV4_VISITED 84
#define SMART_COLOR_LINK_IPV6 85
#define SMART_COLOR_LINK_IPV6_VISITED 86
#define SMART_COLOR_HEX_COLOR 87
#define SMART_COLOR_RGB_COLOR 88
#define SMART_COLOR_LINE_NUMBER_HOVERED 89
#define SMART_COLOR_RULER_HOVERED 90
#define SMART_COLOR_LINE_NUMBER_SEL 91
#define SMART_COLOR_RULER_SEL 92
#define SMART_COLOR_LINE_NUMBER_CURR 93
#define SMART_COLOR_RULER_CURR 94
#define SMART_COLOR_OPEN_FILTER 95 // v17.8
#define SMART_COLOR_MULTI_SELECTION 96 // v18.6
#define SMART_COLOR_VALIDATOR_ERROR 97 // v19.0
#define SMART_COLOR_VALIDATOR_WARNING 98 // v19.0
#define SMART_COLOR_VALIDATOR_MESSAGE 99 // v19.0
#define SMART_COLOR_EVEN_LINES 100 // v20.8
#define SMART_COLOR_INVALID_CHAR 101 // v21.5
#define SMART_COLOR_FUZZY_MATCH 102 // v22.0
#define MAX_SMART_COLOR 103
#define SMART_COLOR_INVALID MAX_SMART_COLOR
#define MAX_SMART_COLOR_V15_8 80
#define MAX_SMART_COLOR_V15_4 78
#define MAX_SMART_COLOR_V14_6 75
#define MAX_SMART_COLOR_V14_3 72
#define MAX_SMART_COLOR_V14_2 61
#define MAX_SMART_COLOR_V14 60
#define MAX_SMART_COLOR_V12 59
#define MAX_SMART_COLOR_V11 58
#define MAX_SMART_COLOR_V10 44
#define MAX_SMART_COLOR_V9 30
#define MAX_SMART_COLOR_FIND (MAX_SMART_COLOR + (MAX_FIND_HILITE + 1))
#define MAX_MARKER_COLOR 10
#define SMART_COLOR_FONT_NORMAL 0
#define SMART_COLOR_FONT_UNDERLINE 1
#define SMART_COLOR_FONT_BOLD 2
#define SMART_COLOR_FONT_ITALIC 3
#define SMART_COLOR_FONT_WIGGLY 4
#define SMART_COLOR_FONT_DOTTED 5
#define SMART_COLOR_FONT_THICK_LINE 6
#define SMART_COLOR_FONT_NOT_USED SMART_COLOR_FONT_NORMAL
#define QUOTE_NONE 0
#define QUOTE_SINGLE 1
#define QUOTE_DOUBLE 2
#define QUOTE_BOTH 3
#define QUOTE_CONTINUE 4
// v6
#define CUSTOM_BAR_LEFT 0
#define CUSTOM_BAR_TOP 1
#define CUSTOM_BAR_RIGHT 2
#define CUSTOM_BAR_BOTTOM 3
#define MAX_CUSTOM_BAR 4
// v7
#define EEREG_COMMON (0x7fffff00) // HKEY_CURRENT_USER\Software\EmSoft\EmEditor v3\Common or eeCommon.ini\[Common]
#define EEREG_REGIST (0x7fffff01) // HKEY_CURRENT_USER\Software\EmSoft\Regist or eeCommon.ini\[Regist]
#define EEREG_MACROS (0x7fffff02) // HKEY_CURRENT_USER\Software\EmSoft\EmEditor v3\Macros or eeCommon.ini\[Macros]
#define EEREG_PLUGINS (0x7fffff03) // HKEY_CURRENT_USER\Software\EmSoft\EmEditor v3\PlugIns or eeCommon.ini\[PlugIns]
#define EEREG_RECENT_FILE_LIST (0x7fffff04) // HKEY_CURRENT_USER\Software\EmSoft\EmEditor v3\Recent File List or eeCommon.ini\[Recent File List]
#define EEREG_RECENT_FOLDER_LIST (0x7fffff05) // HKEY_CURRENT_USER\Software\EmSoft\EmEditor v3\Recent Folder List or eeCommon.ini\[Recent Folder List]
#define EEREG_RECENT_FONT_LIST (0x7fffff06) // HKEY_CURRENT_USER\Software\EmSoft\EmEditor v3\Recent Font List or eeCommon.ini\[Recent Font List]
#define EEREG_RECENT_INSERT_LIST (0x7fffff07) // HKEY_CURRENT_USER\Software\EmSoft\EmEditor v3\Recent Insert List or eeCommon.ini\[Recent Insert List]
//#define EEREG_AUTOSAVE (0x7fffff08) // HKEY_CURRENT_USER\Software\EmSoft\EmEditor v3\AutoSave or eeCommon.ini\[AutoSave]
#define EEREG_LM_COMMON (0x7fffff11) // HKEY_LOCAL_MACHINE\SOFTWARE\EmSoft\EmEditor v3\Common or eeLM.ini\[Common]
#define EEREG_LM_REGIST (0x7fffff12) // HKEY_LOCAL_MACHINE\SOFTWARE\EmSoft\Regist or eeLM.ini\[Regist]
#define EEREG_CONFIG (0x7fffff20) // HKEY_CURRENT_USER\Software\EmSoft\EmEditor v3\Config\(pszConfig) or eeConfig.ini\[(pszConfig)]
#define EEREG_EMEDITORPLUGIN (0x7fffff30) // HKEY_CURRENT_USER\Software\EmSoft\EmEditorPlugIns or eePlugins.ini\[(pszConfig)]
#define EEREG_EMEDITORUSERS (0x7fffff31) // HKEY_CURRENT_USER\Software\EmSoft\EmEditorUsers or eeUsers.ini\[(pszConfig)]
#define IS_EEREG_COMMON(x) ((DWORD)x >= EEREG_COMMON && (DWORD)x < EEREG_LM_COMMON)
#define IS_EEREG_LM(x) ((DWORD)x >= EEREG_LM_COMMON && (DWORD)x < EEREG_CONFIG)
#define EE_REG_VARIABLE_SIZE 1
// events
#define EVENT_SEL_CHANGED 0x00000010
#define EVENT_CARET_MOVED 0x00000020
#define EVENT_MODIFIED 0x00000040
#define EVENT_SCROLL 0x00000080
#define EVENT_CONFIG_CHANGED 0x00000100
#define EVENT_CHANGE 0x00000200
#define EVENT_CREATE 0x00000400
#define EVENT_CLOSE 0x00000800
#define EVENT_KILL_FOCUS 0x00001000
#define EVENT_SET_FOCUS 0x00002000
#define EVENT_CHAR 0x00004000
#define EVENT_FILE_OPENED 0x00008000
// new events for v5
#define EVENT_CREATE_FRAME 0x00010000
#define EVENT_CLOSE_FRAME 0x00020000
#define EVENT_DOC_SEL_CHANGED 0x00040000
#define EVENT_TAB_MOVED 0x00080000
#define EVENT_DOC_CLOSE 0x00100000
// new events for v6
#define EVENT_IDLE 0x00200000
#define EVENT_CUSTOM_BAR_CLOSED 0x00400000
#define EVENT_CUSTOM_BAR_CLOSING 0x00800000
// new events for v7
#define EVENT_TOOLBAR_CLOSED 0x01000000
#define EVENT_TOOLBAR_SHOW 0x02000000
// new events for v8
#define EVENT_SAVING 0x04000000
#define EVENT_DROPPED 0x08000000
#define EVENT_UI_CHANGED 0x10000000 // was EVENT_LANGUAGE before v13
// flags for EVENT_UI_CHANGED
#define UI_CHANGED_LANGUAGE 0x00000001
#define UI_CHANGED_TOOLBARS 0x00000002
#define UI_CHANGED_DPI 0x00000003
// new events for v9
#define EVENT_HISTORY 0x20000000
#define EVENT_TEMP_SAVING 0x40000000
#define CHAR_NULL 0
#define CHAR_SPACE 1
#define CHAR_MARK 2
#define CHAR_ALPHANUMERIC 3
#define CHAR_KANA 4
#define CHAR_KANA_MARK 5
#define CHAR_DB_SPACE 6
#define CHAR_DB_MARK 7
#define CHAR_DB_ALPHANUMERIC 8
#define CHAR_DB_HIRA 9
#define CHAR_DB_KATA 10
#define CHAR_DB_KANJI 11
#define CHAR_DB_KANA_MARK 12
#define CHAR_SECOND_DB 13
#define CHAR_HANGUL 14
#define CHAR_DB_HANGUL 15
typedef void *HEEDOC;
// EE_LOAD_FILE
typedef struct _LOAD_FILE_INFO {
size_t cbSize; // sizeof( LOAD_FILE_INFO )
UINT nCP;
BOOL bDetectUnicode;
BOOL bDetectAll;
BOOL bDetectCharset;
BOOL bDetectUTF8;
} LOAD_FILE_INFO;
// EE_LOAD_FILE_EX
typedef struct _LOAD_FILE_INFO_EX {
size_t cbSize; // sizeof( LOAD_FILE_INFO_EX )
UINT nCP;
BOOL bDetectUnicode;
BOOL bDetectAll;
BOOL bDetectCharset;
BOOL bDetectUTF8;
UINT nFlags;
} LOAD_FILE_INFO_EX;
// EE_LOAD_FILE_EX_V2
typedef struct _LOAD_FILE_INFO_EX_V2 {
size_t cbSize; // sizeof( LOAD_FILE_INFO_EX_V2 )
UINT nCP;
BOOL bDetectUnicode;
BOOL bDetectAll;
BOOL bDetectCharset;
BOOL bDetectUTF8;
UINT nFlags;
INT_PTR xCursor;
INT_PTR yCursor;
} LOAD_FILE_INFO_EX_V2;
#define LFI_ALLOW_NEW_WINDOW 1
#define LFI_ALLOW_ASYNC_OPEN 2
#define LFI_USE_TEMP_FILE 4
#define LFI_DONT_USE_TEMP_FILE 8
#define LFI_DONT_ADD_RECENT 0x0010
constexpr BYTE FLAG_CR_AND_LF = 0;
constexpr BYTE FLAG_CR_ONLY = 1;
constexpr BYTE FLAG_LF_ONLY = 2;
constexpr BYTE FLAG_COL_CONT = ( FLAG_CR_ONLY | FLAG_LF_ONLY );
constexpr BYTE FLAG_CRLF_PART = ( FLAG_CR_ONLY | FLAG_LF_ONLY );
constexpr BYTE FLAG_END_OF_FILE = 8;
constexpr BYTE FLAG_NEWLINE_MIXED = 0xff;
constexpr BYTE FLAG_ABORT = 0xfe;
constexpr BYTE FLAG_FOUND_NULL = 0xfd;
constexpr BYTE CRLF_USE_DEST = 0xff;
constexpr BYTE CRLF_EMBEDDED_NL = 0xfe;
typedef struct _GET_LINE_INFO {
UINT_PTR cch; // in
UINT flags; // in
UINT_PTR yLine; // in
BYTE byteCrLf; // out (valid only when flags contains FLAG_GET_CRLF_BYTE)
HEEDOC hDoc; // in (v21.8)
} GET_LINE_INFO;
typedef struct _GREP_INFOW {
size_t cbSize; // sizeof( GREP_INFOW )
UINT nCP;
UINT nFlags;
LPCWSTR pszFind;
LPCWSTR pszReplace;
LPCWSTR pszPath;
LPCWSTR pszBackupPath;
LPCWSTR pszFilesToIgnore;
} GREP_INFOW;
typedef struct _GREP_INFO_EX_OLD {
size_t cbSize; // sizeof( GREP_INFO_EX )
UINT nCP;
UINT64 nFlags;
LPCWSTR pszFind;
LPCWSTR pszReplace;
LPCWSTR pszPath;
LPCWSTR pszBackupPath;
LPCWSTR pszFilesToIgnore;
} GREP_INFO_EX_OLD;
typedef struct _GREP_INFO_EX_V1 {
size_t cbSize; // sizeof( GREP_INFO_EX )
UINT nCP;
UINT64 nFlags;
LPCWSTR pszFind;
LPCWSTR pszReplace;
LPCWSTR pszPath;
LPCWSTR pszBackupPath;
LPCWSTR pszFilesToIgnore;
UINT nLimit;
} GREP_INFO_EX_V1;
typedef struct _GREP_INFO_EX_V2 {
size_t cbSize; // sizeof( GREP_INFO_EX )
UINT nCP;
UINT64 nFlags;
LPCWSTR pszFind;
LPCWSTR pszReplace;
LPCWSTR pszPath;
LPCWSTR pszBackupPath;
LPCWSTR pszFilesToIgnore;
UINT nLimit;
UINT64 nTotalCount; // new v20.0
} GREP_INFO_EX_V2;
typedef struct _GREP_INFO_EX {
size_t cbSize; // sizeof( GREP_INFO_EX )
UINT nCP;
UINT64 nFlags;
LPCWSTR pszFind;
LPCWSTR pszReplace;
LPCWSTR pszPath;
LPCWSTR pszBackupPath;
LPCWSTR pszFilesToIgnore;
UINT nLimit;
UINT64 nTotalCount; // new v20.0
HRESULT hr;
} GREP_INFO_EX;
typedef struct _BATCH_GREP_INFO_V2 {
UINT cbSize; // sizeof( BATCH_GREP_INFO )
UINT nBatchCount;
UINT64 nBatchFlags;
UINT64 nTotalCount;
LPCWSTR pszPath;
LPCWSTR pszBackupPath;
LPCWSTR pszFilesToIgnore;
UINT nCP;
UINT nLimit;
} BATCH_GREP_INFO_V2;
typedef struct _BATCH_GREP_INFO {
UINT cbSize; // sizeof( BATCH_GREP_INFO )
UINT nBatchCount;
UINT64 nBatchFlags;
UINT64 nTotalCount;
LPCWSTR pszPath;
LPCWSTR pszBackupPath;
LPCWSTR pszFilesToIgnore;
UINT nCP;
UINT nLimit;
HRESULT hr;
} BATCH_GREP_INFO;
typedef struct _GREP_INFOA {
size_t cbSize; // sizeof( GREP_INFOA )
UINT nCP;
UINT nFlags;
LPCSTR pszFind;
LPCSTR pszReplace;
LPCSTR pszPath;
LPCSTR pszBackupPath;
LPCSTR pszFilesToIgnore;
} GREP_INFOA;
typedef struct _MATCH_REGEX_INFO {
size_t cbSize; // sizeof( MATCH_REGEX_INFO )
UINT nFlags;
LPCWSTR pszRegex;
LPCWSTR pszText;
LPCWSTR pszReplace; // new v9
LPWSTR pszResult; // new v9
UINT cchResult; // new v9
} MATCH_REGEX_INFO;
typedef struct _MATCH_REGEX_INFO_EX {
size_t cbSize; // sizeof( MATCH_REGEX_INFO_EX )
UINT64 nFlags;