Not logged in
564a3562be 2010-06-02 charlesch: ( RxE :: Extensions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ )
30f94ae870 2010-06-02 charlesch: (                                                             )
30f94ae870 2010-06-02 charlesch: ( Key    Description                                          )
30f94ae870 2010-06-02 charlesch: ( ---    ---------------------------------------------------  )
a3e8421a4a 2010-06-05      luke: (  b     Pull blank line up to current line                   )
a3e8421a4a 2010-06-05      luke: (  B     Shove blank line to the last non-blank line          )
30f94ae870 2010-06-02 charlesch: (  y     Move the current line into the yank buffer           )
30f94ae870 2010-06-02 charlesch: (  Y     Copy the yank buffer contents to the current line    )
564a3562be 2010-06-02 charlesch: ( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ )
564a3562be 2010-06-02 charlesch: &rxe::keys open
564a3562be 2010-06-02 charlesch: &rxe::core open
564a3562be 2010-06-02 charlesch: 
564a3562be 2010-06-02 charlesch: {
30f94ae870 2010-06-02 charlesch:   : isBlank? ( -f )
30f94ae870 2010-06-02 charlesch:     @line (line) 64 for @+ 32 !if drop 0 ;then next drop -1 ;
30f94ae870 2010-06-02 charlesch:   : toBlank  ( -  )
30f94ae870 2010-06-02 charlesch:     repeat line ++ isBlank? if; again ;
564a3562be 2010-06-02 charlesch:   : swaplines
564a3562be 2010-06-02 charlesch:     @line dup 1- (line) swap (line) 2dup here 64 copy
564a3562be 2010-06-02 charlesch:     swap 64 copy here swap 64 copy ;
564a3562be 2010-06-02 charlesch:   : pullspace
30f94ae870 2010-06-02 charlesch:     @line toBlank repeat @line over =if drop line ++ bounds ;then
564a3562be 2010-06-02 charlesch:     swaplines line -- again ;
564a3562be 2010-06-02 charlesch:   : shovespace
564a3562be 2010-06-02 charlesch:     line -- bounds
564a3562be 2010-06-02 charlesch:     @line repeat
a3e8421a4a 2010-06-05      luke:     line ++ isBlank? swaplines if !line ;then
a3e8421a4a 2010-06-05      luke:     again ;
564a3562be 2010-06-02 charlesch: 
30f94ae870 2010-06-02 charlesch:   : $$b pullspace  ; &rxe::keys >vocab
564a3562be 2010-06-02 charlesch:   : $$B shovespace ; &rxe::keys >vocab
30f94ae870 2010-06-02 charlesch: }
30f94ae870 2010-06-02 charlesch: 
30f94ae870 2010-06-02 charlesch: {
30f94ae870 2010-06-02 charlesch:   create yib 64 allot
30f94ae870 2010-06-02 charlesch:   : this   ( -a ) @line (line) ;
30f94ae870 2010-06-02 charlesch:   : delete ( -  ) this 64 for 32 swap !+ next drop ;
30f94ae870 2010-06-02 charlesch:   : $$y    ( -  ) this yib 64 copy delete ;  &rxe::keys >vocab
30f94ae870 2010-06-02 charlesch:   : $$Y    ( -  ) yib this 64 copy ;         &rxe::keys >vocab
564a3562be 2010-06-02 charlesch: }
564a3562be 2010-06-02 charlesch: 
564a3562be 2010-06-02 charlesch: &rxe::core shut
564a3562be 2010-06-02 charlesch: &rxe::keys shut