From: Jose A. Ortega Ruiz Date: Thu, 18 Dec 2008 23:24:23 +0000 (+0100) Subject: Conflict resolution X-Git-Tag: 0.94~1877^2~309 X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=commitdiff_plain;h=ad87aa736dbb7347e4b1ee85e673701138ef4e53;hp=-c Conflict resolution --- ad87aa736dbb7347e4b1ee85e673701138ef4e53 diff --combined extra/fuel/fuel.factor index 8e7122fee3,58efe2d8ce..a3fa95a6b1 --- a/extra/fuel/fuel.factor +++ b/extra/fuel/fuel.factor @@@ -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 @@@ -119,13 -120,14 +119,13 @@@ : (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 @@@ -158,10 -160,6 +158,10 @@@ : 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 @@@ -170,23 -168,12 +170,23 @@@ : 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 ; @@@ -198,13 -185,12 +198,13 @@@ : (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