home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / MSGDP206.SZH / EDITMAIL.H < prev    next >
Text File  |  1990-09-20  |  6KB  |  138 lines

  1. /* PUBLIC DOMAIN */
  2.  
  3. #define NOSPELL
  4.  
  5. static void _near _pascal rundos(void);
  6. static void _near _pascal backspace(void);
  7. static void _near _pascal rotate(void);
  8. static void _near _pascal delete_character(void);
  9. static void _near _pascal delword(void);
  10. static void _near _pascal go_left(void);
  11. static void _near _pascal go_right(void);
  12. static void _near _pascal go_word_right(void);
  13. static void _near _pascal go_word_left(void);
  14. static void _near _pascal newline(void);
  15. static void _near _pascal go_up(void);
  16. static void _near _pascal go_down(void);
  17. static void _near _pascal go_pgup(void);
  18. static void _near _pascal go_pgdown(void);
  19. static void _near _pascal delete_line(void);
  20. static void _near _pascal go_eol(void);
  21. static void _near _pascal cut(void);
  22. static void _near _pascal paste(void);
  23. static void _near _pascal anchor(void);
  24. static void _near _pascal quit(void);
  25. static void _near _pascal die(void);
  26. static void _near _pascal imptxt(void);
  27. static void _near _pascal outtext(void);
  28. static void _near _pascal shellos(void);
  29. static void _near _pascal go_bol(void);
  30. static void _near _pascal toggle_ins(void);
  31. static void _near _pascal tabit(void);
  32. static void _near _pascal go_tos(void);
  33. static void _near _pascal go_bos(void);
  34. static void _near _pascal go_bom(void);
  35. static void _near _pascal go_tom(void);
  36. static void _near _pascal nada(void);
  37. static void _near _pascal killeol(void);
  38.  
  39. #ifndef NOSPELL
  40. #include "spell.h"
  41. #endif
  42.  
  43. /* table of normal keystrokes */
  44.  
  45. void (_near _pascal *editckeys[256])(void) =
  46. {
  47. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /*  0 */
  48. backspace,tabit,NULL,    NULL,    NULL,    newline,NULL,    NULL, /*  8 */
  49. NULL,    NULL,    NULL,    NULL,    delword,NULL,    NULL,    NULL, /* 10 */
  50. NULL,    NULL,    NULL,    die,    NULL,    NULL,    NULL,    NULL, /* 18 */
  51. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 20 */
  52. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 28 */
  53. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 30 */
  54. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 38 */
  55. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 40 */
  56. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 48 */
  57. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 50 */
  58. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 58 */
  59. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 60 */
  60. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 68 */
  61. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 70 */
  62. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    backspace, /* 78 */
  63. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 80 */
  64. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 88 */
  65. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 90 */
  66. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 98 */
  67. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* A0 */
  68. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* A8 */
  69. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* B0 */
  70. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* B8 */
  71. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* C0 */
  72. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* C8 */
  73. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* D0 */
  74. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* D8 */
  75. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* E0 */
  76. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* E8 */
  77. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* F0 */
  78. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL  /* F8 */
  79. };
  80.  
  81. /* table of extended keystrokes */
  82.  
  83. void (_near _pascal *editakeys[256])(void) =
  84. {
  85. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /*  0 */
  86. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /*  8 */
  87. NULL,   outtext,NULL,   rotate, NULL,   NULL,   NULL,   imptxt,/* 10 */
  88. shellos,paste,    NULL,    NULL,    NULL,    NULL,    anchor, quit, /* 18 */
  89. delete_line,NULL,NULL,    NULL,    NULL,    killeol,NULL,    NULL, /* 20 */
  90. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    cut,    NULL, /* 28 */
  91. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 30 */
  92. NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL, /* 38 */
  93. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    go_bol, /* 40 */
  94. go_up,    go_pgup,NULL,    go_left,NULL,    go_right,NULL,    go_eol, /* 48 */
  95. go_down,go_pgdown,toggle_ins,delete_character,NULL,NULL,NULL,NULL, /* 50 */
  96. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 58 */
  97. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 60 */
  98. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 68 */
  99. NULL,NULL,NULL,go_word_left,go_word_right,go_bom,go_bos, go_tom,/* 70 */
  100. rundos, NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL, /* 78 */
  101. NULL,    NULL,    NULL,    NULL,    go_tos, NULL,    NULL,    NULL, /* 80 */
  102. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 88 */
  103. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 90 */
  104. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 98 */
  105. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* A0 */
  106. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* A8 */
  107. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* B0 */
  108. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* B8 */
  109. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* C0 */
  110. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* C8 */
  111. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* D0 */
  112. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* D8 */
  113. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* E0 */
  114. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* E8 */
  115. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* F0 */
  116. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL  /* F8 */
  117. };
  118.  
  119. const struct _command editcmds[] = {
  120.     {"backspace",backspace},    {"deleol",killeol},
  121.     {"left",go_left},        {"right",go_right},
  122.     {"wordright",go_word_right},    {"wordleft",go_word_left},
  123.     {"newline",newline},        {"up",go_up},
  124.     {"down",go_down},        {"pgup",go_pgup},
  125.     {"pgdn",go_pgdown},        {"delline",delete_line},
  126.     {"goeol",go_eol},        {"cut",cut},
  127.     {"anchor",anchor},        {"paste",paste},
  128.     {"quit",quit},            {"abort",die},
  129.     {"import",imptxt},        {"export",outtext},
  130.     {"shell",shellos},        {"gobol",go_bol},
  131.     {"insert",toggle_ins},
  132.     {"tab",tabit},                  {"null",nada},
  133.     {"top",go_tos},         {"bottom",go_bos},
  134.     {"first",go_tom},        {"last",go_bom},
  135.     {"del",delete_character},    {"killword",delword},
  136.     {NULL,NULL}
  137. };
  138.