! ! TPUINI.TPU - TPU start up procedure. ! ! Modifications: ! ! V1.000 Geoff Bryant September 2, 1986. ! Define initial commands. ! 1) Start with a "SET WRAP/INDENT 70" ! 2) Define GOLD A to change the wrap used by "SET WRAP/INDENT" ! 3) Define CTRL A to change the indent used by "SET WRAP/INDENT" ! 4) Define TAB key to do 5 spaces ! ! V1.001 Geoff Bryant September 2, 1986 ! Replace the FILL command. ! ! V1.002 Geoff Bryant September 10, 1986 ! Add wrapping for period, comma, etc. ! ! ! Procedure to set the indent of a SET WRAP/INDENT. ! procedure wgb$adjust_indent wgb$x_indent := current_column - 1; message(fao("Indent set to column !SL.",wgb$x_indent+1)); endprocedure ! ! Procedure to set the wrap of a SET WRAP/INDENT. ! procedure wgb$adjust_wrap wgb$x_wrap := current_column - 1; edt$x_wrap_position := wgb$x_wrap; message(fao("Wrap set to column !SL.",wgb$x_wrap)); endprocedure ! ! Procedure to do a wrap and indent ! procedure wgb$wrap_and_indent(wrap_char) local word_size; if current_column > wgb$x_wrap then word_size := edt$beg_word; split_line; copy_text(substr(wgb$x_spaces,1,wgb$x_indent)); move_horizontal(word_size); endif; copy_text(wrap_char); endprocedure ! ! Define tab to do wgb$x_tab_size spaces instead of 8. ! procedure wgb$tab local nsp; if wgb$x_tab_size = 8 then copy_text(ascii(9)); else nsp := current_column - (current_column/wgb$x_tab_size)*wgb$x_tab_size; nsp := wgb$x_tab_size - nsp; copy_text(substr(wgb$x_spaces,1,nsp)); endif; endprocedure ! ! Do a FILL. ! procedure wgb$fill local word_sep; word_sep := ' '; edt$select_range; if edt$x_select_range = 0 then message("Select not active."); return; endif; fill(edt$x_select_range,word_sep,wgb$x_indent+1,wgb$x_wrap); edt$x_select_range := 0; endprocedure ! ! Do the initialization commands: ! wgb$x_indent := 0; wgb$x_wrap := 75; edt$x_wrap_position := 75; wgb$x_tab_size := 8; define_key('wgb$tab',tab_key); define_key('wgb$wrap_and_indent(" ")',key_name(' ')); define_key('wgb$wrap_and_indent(".")',key_name('.')); define_key('wgb$wrap_and_indent(",")',key_name(',')); define_key('wgb$wrap_and_indent("?")',key_name('?')); define_key('wgb$wrap_and_indent("!")',key_name('!')); define_key('wgb$wrap_and_indent(";")',key_name(';')); define_key('wgb$wrap_and_indent(":")',key_name(':')); define_key('wgb$adjust_indent',ctrl_a_key); define_key('wgb$adjust_wrap',key_name("A",shift_key)); define_key('wgb$fill',key_name(kp8,shift_key));