editcmddef.h 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. /** \file
  2. * \brief Header: editor constants
  3. */
  4. #ifndef MC_EDIT_CMD_DEF_H
  5. #define MC_EDIT_CMD_DEF_H
  6. /** \todo In the distant future, keyboards will be invented with a
  7. * separate key for each one of these commands *sigh*
  8. */
  9. /* special commands */
  10. #define CK_Insert_Char -1
  11. #define CK_Ignore_Key 0
  12. /* cursor movements */
  13. #define CK_BackSpace 1
  14. #define CK_Delete 2
  15. #define CK_Enter 3
  16. #define CK_Page_Up 4
  17. #define CK_Page_Down 5
  18. #define CK_Left 6
  19. #define CK_Right 7
  20. #define CK_Word_Left 8
  21. #define CK_Word_Right 9
  22. #define CK_Up 10
  23. #define CK_Down 11
  24. #define CK_Home 12
  25. #define CK_End 13
  26. #define CK_Tab 14
  27. #define CK_Undo 15
  28. #define CK_Beginning_Of_Text 16
  29. #define CK_End_Of_Text 17
  30. #define CK_Scroll_Up 18
  31. #define CK_Scroll_Down 19
  32. #define CK_Return 20
  33. #define CK_Begin_Page 21
  34. #define CK_End_Page 22
  35. #define CK_Delete_Word_Left 23
  36. #define CK_Delete_Word_Right 24
  37. #define CK_Paragraph_Up 25
  38. #define CK_Paragraph_Down 26
  39. /* file commands */
  40. #define CK_Save 101
  41. #define CK_Load 102
  42. #define CK_New 103
  43. #define CK_Save_As 104
  44. #define CK_Load_Prev_File 111
  45. #define CK_Load_Next_File 112
  46. #define CK_Load_Syntax_File 121
  47. #define CK_Load_Menu_File 122
  48. /* block commands */
  49. #define CK_Mark 201
  50. #define CK_Copy 202
  51. #define CK_Move 203
  52. #define CK_Remove 204
  53. #define CK_Unmark 206
  54. #define CK_Save_Block 207
  55. #define CK_Column_Mark 208
  56. /* search and replace */
  57. #define CK_Find 301
  58. #define CK_Find_Again 302
  59. #define CK_Replace 303
  60. #define CK_Replace_Again 304
  61. #define CK_Complete_Word 305
  62. /* debugger commands */
  63. #define CK_Debug_Start 350
  64. #define CK_Debug_Stop 351
  65. #define CK_Debug_Toggle_Break 352
  66. #define CK_Debug_Clear 353
  67. #define CK_Debug_Next 354
  68. #define CK_Debug_Step 355
  69. #define CK_Debug_Back_Trace 356
  70. #define CK_Debug_Continue 357
  71. #define CK_Debug_Enter_Command 358
  72. #define CK_Debug_Until_Curser 359
  73. /* misc */
  74. #define CK_Insert_File 401
  75. #define CK_Exit 402
  76. #define CK_Toggle_Insert 403
  77. #define CK_Help 404
  78. #define CK_Date 405
  79. #define CK_Refresh 406
  80. #define CK_Goto 407
  81. #define CK_Delete_Line 408
  82. #define CK_Delete_To_Line_End 409
  83. #define CK_Delete_To_Line_Begin 410
  84. #define CK_Man_Page 411
  85. #define CK_Sort 412
  86. #define CK_Mail 413
  87. #define CK_Cancel 414
  88. #define CK_Complete 415
  89. #define CK_Paragraph_Format 416
  90. #define CK_Util 417
  91. #define CK_Type_Load_Python 418
  92. #define CK_Find_File 419
  93. #define CK_Ctags 420
  94. #define CK_Match_Bracket 421
  95. #define CK_Terminal 422
  96. #define CK_Terminal_App 423
  97. #define CK_ExtCmd 424
  98. #define CK_User_Menu 425
  99. #define CK_Find_Definition 426
  100. /* application control */
  101. #define CK_Save_Desktop 451
  102. #define CK_New_Window 452
  103. #define CK_Cycle 453
  104. #define CK_Menu 454
  105. #define CK_Save_And_Quit 455
  106. #define CK_Run_Another 456
  107. #define CK_Check_Save_And_Quit 457
  108. #define CK_Maximize 458
  109. #define CK_Toggle_Tab_TWS 470
  110. #define CK_Toggle_Syntax 480
  111. #define CK_Toggle_Line_State 490
  112. /* macro */
  113. #define CK_Begin_Record_Macro 501
  114. #define CK_End_Record_Macro 502
  115. #define CK_Delete_Macro 503
  116. /* book mark */
  117. #define CK_Toggle_Bookmark 550
  118. #define CK_Flush_Bookmarks 551
  119. #define CK_Next_Bookmark 552
  120. #define CK_Prev_Bookmark 553
  121. /* highlight commands */
  122. #define CK_Page_Up_Highlight 604
  123. #define CK_Page_Down_Highlight 605
  124. #define CK_Left_Highlight 606
  125. #define CK_Right_Highlight 607
  126. #define CK_Word_Left_Highlight 608
  127. #define CK_Word_Right_Highlight 609
  128. #define CK_Up_Highlight 610
  129. #define CK_Down_Highlight 611
  130. #define CK_Home_Highlight 612
  131. #define CK_End_Highlight 613
  132. #define CK_Beginning_Of_Text_Highlight 614
  133. #define CK_End_Of_Text_Highlight 615
  134. #define CK_Begin_Page_Highlight 616
  135. #define CK_End_Page_Highlight 617
  136. #define CK_Scroll_Up_Highlight 618
  137. #define CK_Scroll_Down_Highlight 619
  138. #define CK_Paragraph_Up_Highlight 620
  139. #define CK_Paragraph_Down_Highlight 621
  140. /* alt highlight commands */
  141. #define CK_Page_Up_Alt_Highlight 654
  142. #define CK_Page_Down_Alt_Highlight 655
  143. #define CK_Left_Alt_Highlight 656
  144. #define CK_Right_Alt_Highlight 657
  145. #define CK_Word_Left_Alt_Highlight 658
  146. #define CK_Word_Right_Alt_Highlight 659
  147. #define CK_Up_Alt_Highlight 660
  148. #define CK_Down_Alt_Highlight 661
  149. #define CK_Home_Alt_Highlight 662
  150. #define CK_End_Alt_Highlight 663
  151. #define CK_Beginning_Of_Text_Alt_Highlight 664
  152. #define CK_End_Of_Text_Alt_Highlight 665
  153. #define CK_Begin_Page_Alt_Highlight 666
  154. #define CK_End_Page_Alt_Highlight 667
  155. #define CK_Scroll_Up_Alt_Highlight 668
  156. #define CK_Scroll_Down_Alt_Highlight 669
  157. #define CK_Paragraph_Up_Alt_Highlight 670
  158. #define CK_Paragraph_Down_Alt_Highlight 671
  159. /* X clipboard operations */
  160. #define CK_XStore 701
  161. #define CK_XCut 702
  162. #define CK_XPaste 703
  163. #define CK_Selection_History 704
  164. #define CK_Shell 801
  165. /* C-x or similar */
  166. #define CK_Ext_Mode 820
  167. #define CK_Select_Codepage 850
  168. #define CK_Insert_Literal 851
  169. #define CK_Execute_Macro 852
  170. #define CK_Begin_End_Macro 853
  171. /*
  172. Process a block through a shell command: CK_Pipe_Block(i) executes shell_cmd[i].
  173. shell_cmd[i] must process the file ~/cooledit.block and output ~/cooledit.block
  174. which is then inserted into the text in place of the original block. shell_cmd[i] must
  175. also produce a file homedir/cooledit.error . If this file is not empty an error will
  176. have been assumed to have occured, and the block will not be replaced.
  177. TODO: bring up a viewer to display the error message instead of inserting
  178. it into the text, which is annoying.
  179. */
  180. #define CK_Pipe_Block(i) (1000+(i))
  181. #define SHELL_COMMANDS_i {"/edit.indent.rc", "/edit.spell.rc", /* and so on */ 0 }
  182. #define CK_Macro(i) (2000+(i))
  183. #define CK_Last_Macro CK_Macro(0x7FFF)
  184. #else
  185. #define CK_User_Command(i) ((i) | (1 << 16))
  186. #define IS_USER_COMMAND(i) ((i) & (1 << 16))
  187. #define CK_Macro(i) ((i) | (1 << 17))
  188. #define IS_MACRO_COMMAND(i) ((i) & (1 << 17))
  189. #endif