editcmddef.h 4.7 KB

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