home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / jed098-4.zip / JED / LIB / OS.SL < prev    next >
Text File  |  1997-02-01  |  3KB  |  119 lines

  1. % This file should not be byte-compiled.
  2. % It is loaded from site.sl and permits various flavors of jed to share the
  3. % same set of S-Lang files. It is written in RPN for efficiency.
  4. #ifdef MSWINDOWS XWINDOWS MOUSE
  5. . "mouse" evalfile pop
  6. #endif
  7.  
  8. #ifdef MSWINDOWS
  9. . 4 2 mouse_map_buttons           %  map Right to Middle
  10. . 2 4 mouse_map_buttons           %  map Middle to Right
  11. . 0 enable_top_status_line
  12. . "wmenu.sl" evalfile pop
  13. . simple_menu
  14. #endif
  15.  
  16. #ifdef XWINDOWS
  17. . "HOST" getenv =$1
  18. . $1 strlen { "XJed@" $1 strcat x_set_window_name } if
  19. . "skip_word"         "^[[c" setkey      %/* shift-right */
  20. . "bskip_word"        "^[[d" setkey      %/* shift-left */
  21. . "goto_top_of_window"    "^[[a" setkey      %/* shift-up */
  22. . "goto_bottom_of_window"    "^[[b" setkey      %/* shift-down */
  23. . "beg_of_line"        "\e[H" setkey        % Home
  24. . "eol_cmd"        "\e[[" setkey        % End
  25. #endif
  26.  
  27.  
  28. define goto_visible_eol ()
  29. {
  30. #ifdef HAS_LINE_ATTR
  31.    if (down_1 ())
  32.      {
  33.     if (is_line_hidden ())
  34.       skip_hidden_lines_forward (1);
  35.     go_left_1 ();
  36.      }
  37. #endif
  38.    eol ();
  39. }
  40.  
  41. define mark_to_visible_eol ()
  42. {
  43.    push_mark ();
  44.    goto_visible_eol ();
  45. }
  46.  
  47. define transpose_lines ()
  48. {
  49.    bol (); push_mark ();
  50. #ifdef HAS_LINE_ATTR
  51.    mark_to_visible_eol ();
  52.    bufsubstr ();               %  on stack
  53.    go_right_1 ();
  54.    del_region();
  55.    skip_hidden_lines_backward (1);
  56.    bol();
  57.    insert(());
  58.    newline();
  59.    skip_hidden_lines_forward (1);      %  goes to bol
  60. #else
  61.    line_as_string ();                  %  on stack
  62.    go_right_1 ();
  63.    del_region();
  64.    go_up_1 (); bol();
  65.    insert(());
  66.    newline();
  67.    go_down_1 ();                               %  goes to bol
  68. #endif
  69. }
  70.  
  71. #ifdef HAS_LINE_ATTR
  72. define set_selective_display ()
  73. {
  74.    variable c, arg = 1;
  75.    c = prefix_argument (-1);
  76.    
  77.    if (c <= 1) arg = 0;
  78.     
  79.    push_spot ();
  80.    bob ();
  81.    do
  82.      {
  83.     bol_skip_white ();
  84.     set_line_hidden (arg * (what_column () > c));
  85.      }
  86.    while (down_1 ());
  87.  
  88.    pop_spot ();
  89. }
  90. setkey ("set_selective_display", "^X$");
  91.  
  92. autoload ("folding_mode", "folding");
  93. add_completion ("folding_mode");
  94.  
  95. variable Fold_Mode_Ok = 0;
  96. define fold_mode ()
  97. {
  98.    if (Fold_Mode_Ok) folding_mode ();
  99. }
  100.  
  101. #endif
  102.  
  103. #ifdef HAS_BLOCAL_VAR
  104. define define_blocal_var (name, type, value)
  105. {
  106.    create_blocal_var (name, type);
  107.    set_blocal_var (value, name);
  108. }
  109. #endif
  110.  
  111. #ifdef HAS_DFA_SYNTAX
  112. set_highlight_cache_dir (extract_element(JED_LIBRARY, 0, ','));
  113. #else
  114. % dummy functions that enable jed to work in mixed environments
  115. define enable_highlight_cache (x, y);
  116. define define_highlight_rule (x,y,z);
  117. define build_highlight_table (x);
  118. #endif
  119.