home *** CD-ROM | disk | FTP | other *** search
- %%
- %% Tab routines for JED
- %%
-
-
- !if (is_defined("Tab_Stops"))
- {
- variable Tab_Stops;
- Tab_Stops = create_array('i', 20, 1);
-
- %% The following defines the tab stops to be 8 column:
- _for (0, 19, 1)
- { =$1;
- Tab_Stops[$1] = $1 * 8 + 1;
- }
- }
-
-
- define tab_to_tab_stop ()
- {
- variable c, goal, i;
- c = what_column ();
-
- _for (0, 19, 1)
- {
- =i;
- goal = Tab_Stops[i];
- if (goal > c) break;
- }
-
- insert_spaces (goal - c);
- }
-
- setkey ("tab_to_tab_stop", "^I");
-
- variable _Tabs_Buffer;
-
- $1 = "*TabsEdit*";
- !if (keymap_p($1))
- {
- make_keymap ($1);
- undefinekey ("^C", $1);
- definekey ("tabs_install_tab_stops", "^C^C", $1);
- }
-
- %% emacs like edit tab stops
- define edit_tab_stops ()
- {
- variable tbuf, i;
- _Tabs_Buffer = whatbuf();
- tbuf = "*TabsEdit*";
-
- sw2buf(tbuf); erase_buffer();
- TAB = 0;
-
- use_keymap(tbuf);
- _for (0, 19, 1)
- {
- =i;
- goto_column (Tab_Stops[i]);
- insert ("T");
- }
- newline ();
- _for (1, 13, 1)
- {
- =i;
- goto_column (10 * i);
- insert (string(i));
- }
- newline ();
-
- loop (13) insert ("1234567890");
-
- insert ("\nTo install changes, type control-c control-c.");
- bob ();
- set_buffer_modified_flag (0);
- set_overwrite (1);
- }
-
-
- define tabs_install_tab_stops ()
- {
- variable i;
- bob ();
- _for (0, 19, 1)
- { =i;
- skip_white ();
- if (eolp()) break;
- Tab_Stops[i] = what_column ();
- go_right(1);
- }
-
- _for (i, 19, 1) { =i; Tab_Stops[i] = 0;}
- set_buffer_modified_flag (0);
- delbuf (whatbuf ());
- sw2buf ( _Tabs_Buffer);
- }
-