home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 531.lha / Less_v1.4Z / src.LZH / src / help.c < prev    next >
C/C++ Source or Header  |  1991-07-03  |  4KB  |  113 lines

  1. #ifdef AMIGA
  2. /* Compile with -HPreHeader.q to get "less.h"! */
  3. #else
  4. #include "less.h"
  5. #endif
  6.  
  7.  
  8. extern char editor[];
  9.  
  10. /* Prototypes for functions defined in help.c */
  11.  
  12. static void help0 __PROTO((void));
  13. static void help1 __PROTO((void));
  14.  
  15.  
  16. /*
  17.  * Display some help.
  18.  * Help is in two pages.
  19.  */
  20. #ifdef __STDC__
  21. static void help0 (void)
  22. #else
  23.         static void
  24. help0()
  25. #endif
  26. {
  27.         ttputs("f,SPACE,^V  *Forward one screen.\n");
  28.         ttputs("b,B         *Backward one screen.\n");
  29.         ttputs("e,j,^N,CR   *Forward N lines, default 1.\n");
  30.         ttputs("y,k,^P,BS   *Backward N lines, default 1.\n");
  31.         ttputs("d           *Forward N lines,  \\ default half screen or\n");
  32.         ttputs("u           *Backward N lines, / last N to d or u command.\n");
  33.         ttputs("r            Repaint screen.\n");
  34.         ttputs("g, <        *Go to line N, default 1.\n");
  35.         ttputs("G, >        *Like g, but default is last line in file.\n");
  36.         ttputs("=            Show current file name\n");
  37.         ttputs("/pattern    *Search forward for N-th occurence of pattern.\n");
  38.         ttputs("?pattern    *Search backward for N-th occurence of pattern.\n");
  39.         ttputs("n           *Repeat previous search (for N-th occurence).\n");
  40.         ttputs("q,Q          Exit.\n");
  41. }
  42.  
  43. #ifdef __STDC__
  44. static void help1 (void)
  45. #else
  46.         static void
  47. help1()
  48. #endif
  49. {
  50.         char message[100];
  51.         extern char all_options[];
  52.  
  53.         ttputs("R            Repaint screen, discarding buffered input.\n");
  54.         ttputs("p, %        *Position to N percent into the file.\n");
  55.         ttputs("m<letter>    Mark the current position with <letter>.\n");
  56.         ttputs("'<letter>    Return to a previously marked position.\n");
  57.         ttputs("''           Return to previous position.\n");
  58.         sprintf(message,
  59.            "-X           Toggle a flag (one of \"%s\").\n",  all_options);
  60.         ttputs(message);
  61.         ttputs("E [file]     Examine a new file.\n");
  62.         ttputs("N           *Examine the next file (from the command line).\n");
  63.         ttputs("P           *Examine the previous file (from command line).\n");
  64.         ttputs("V            Print version number.\n");
  65. #if SHELL_ESCAPE
  66.         ttputs("!command     Passes the command to a CLI to be executed.\n");
  67. #endif
  68. #if EDITOR
  69.         sprintf(message,
  70.              "v            Edit the current file (default editor:%s).\n",
  71.                                 editor);
  72.         ttputs(message);
  73. #endif
  74.         ttputs("Cursor Keys *Up/Down: by pages; Left/Right: by lines.\n");
  75.         ttputs("Shft Crsr   *Up/Down: by pages; Left/Right: by half-pages.\n");
  76.         ttputs("Help Key    *This screen.\n");
  77.         error("");
  78. }
  79.  
  80. #ifdef __STDC__
  81. void help (void)
  82. #else
  83.         public void
  84. help()
  85. #endif
  86. {
  87.         extern int sc_height, sc_width;
  88.         register int i;
  89.  
  90.         for (i = 0;  i < 2;  i++)
  91.         {
  92.                 clear();
  93.                 so_enter();
  94.                 ttputs("Amiga LESS 1.4Z            \n");
  95.                 ttputs("R. Zarling rayz@csustan.EDU");
  96.                 so_exit();
  97.  
  98.                 ttputs("\n\nCommands marked with * may be preceeded by a number, N.\n\n");
  99.  
  100.                 switch (i)
  101.                 {
  102.                 case 0:         help0();
  103.                                 if ( sc_height < 35 || sc_width < 60 )
  104.                                 {
  105.                                     error("More help...");
  106.                                     break;
  107.                                 }
  108.                                 /* else vvv fall through vvv */
  109.                 case 1:         help1(); return;
  110.                 }
  111.         }
  112. }
  113.