]> gitweb.factorcode.org Git - factor.git/commitdiff
Conflict resolution
authorJose A. Ortega Ruiz <jao@gnu.org>
Thu, 18 Dec 2008 23:24:23 +0000 (00:24 +0100)
committerJose A. Ortega Ruiz <jao@gnu.org>
Thu, 18 Dec 2008 23:24:23 +0000 (00:24 +0100)
1  2 
extra/fuel/fuel.factor

diff --combined extra/fuel/fuel.factor
index 8e7122fee397ec41237b4e8eb02da0bdec1ff710,58efe2d8ce3c85d1a977b302f2f670e547e6f0d6..a3fa95a6b19f8577577366685203de32bc28396f
@@@ -6,14 -6,14 +6,14 @@@ combinators compiler.units continuation
  eval help io io.files io.pathnames io.streams.string kernel
  lexer listener listener.private make math memoize namespaces
  parser prettyprint prettyprint.config quotations sequences sets
- sorting source-files strings summary tools.vocabs vectors
- vocabs vocabs.loader ;
+ sorting source-files strings tools.vocabs vectors vocabs
+ vocabs.loader vocabs.parser ;
  
  IN: fuel
  
  ! Evaluation status:
  
 -TUPLE: fuel-status in use ds? restarts ;
 +TUPLE: fuel-status in use restarts ;
  
  SYMBOL: fuel-status-stack
  V{ } clone fuel-status-stack set-global
@@@ -37,7 -37,7 +37,7 @@@ t clone fuel-eval-res-flag set-globa
      f fuel-eval-res-flag set-global ; inline
  
  : push-fuel-status ( -- )
 -    in get use get clone display-stacks? get restarts get-global clone
 +    in get use get clone restarts get-global clone
      fuel-status boa
      fuel-status-stack get push ;
  
@@@ -46,6 -46,7 +46,6 @@@
          fuel-status-stack get pop {
              [ in>> in set ]
              [ use>> clone use set ]
 -            [ ds?>> display-stacks? swap [ on ] [ off ] if ]
              [
                  restarts>> fuel-eval-restartable? [ drop ] [
                      clone restarts set-global
@@@ -111,7 -112,7 +111,7 @@@ M: source-file fuel-pprint path>> fuel-
      error get
      fuel-eval-result get-global
      fuel-eval-output get-global
 -    3array fuel-pprint flush nl "EOT:" write ;
 +    3array fuel-pprint flush nl "<~FUEL~>" write nl flush ;
  
  : fuel-forget-error ( -- ) f error set-global ; inline
  : fuel-forget-result ( -- ) f fuel-eval-result set-global ; inline
  
  : (fuel-begin-eval) ( -- )
      push-fuel-status
 -    display-stacks? off
      fuel-forget-error
      fuel-forget-result
      fuel-forget-output ;
  
  : (fuel-end-eval) ( quot -- )
 -    with-string-writer fuel-eval-output set-global
 -    fuel-retort pop-fuel-status ; inline
 +    with-string-writer fuel-eval-output set-global fuel-retort
 +    pop-fuel-status ; inline
  
  : (fuel-eval) ( lines -- )
      [ [ parse-lines ] with-compilation-unit call ] curry
  
  : fuel-end-eval ( -- ) [ ] (fuel-end-eval) ; inline
  
 +: fuel-run-file ( path -- ) run-file ; inline
 +
 +! Edit locations
 +
  : fuel-get-edit-location ( defspec -- )
      where [
         first2 [ (normalize-path) ] dip 2array fuel-eval-set-result
  : fuel-get-vocab-location ( vocab -- )
      >vocab-link fuel-get-edit-location ; inline
  
 +! Completion support
 +
 +: fuel-filter-prefix ( seq prefix -- seq )
 +    [ drop-prefix nip length 0 = ] curry filter prune ; inline
 +
  : (fuel-get-vocabs) ( -- seq )
      all-vocabs-seq [ vocab-name ] map ; inline
  
  : fuel-get-vocabs ( -- )
      (fuel-get-vocabs) fuel-eval-set-result ; inline
  
 +: fuel-get-vocabs/prefix ( prefix -- )
 +    (fuel-get-vocabs) swap fuel-filter-prefix fuel-eval-set-result ; inline
 +
 +: fuel-vocab-summary ( name -- )
 +    >vocab-link summary fuel-eval-set-result ; inline
 +
  MEMO: (fuel-vocab-words) ( name -- seq )
      >vocab-link words [ name>> ] map ;
  
  
  : (fuel-get-words) ( prefix names/f -- seq )
      [ fuel-vocabs-words ] [ fuel-current-words ] if* natural-sort
 -    swap [ drop-prefix nip length 0 = ] curry filter ;
 +    swap fuel-filter-prefix ;
  
  : fuel-get-words ( prefix names -- )
      (fuel-get-words) fuel-eval-set-result ; inline
  
 -: fuel-run-file ( path -- ) run-file ; inline
 +
 +! -run=fuel support
  
  : fuel-startup ( -- ) "listener" run-file ; inline