From 9ab4053e4602eabe25feab47073ff9f6044a55e6 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Mon, 23 Jul 2012 17:46:27 -0700 Subject: [PATCH] io.streams.256color: adding a "256color-terminal?" word and minor cleanup. --- extra/io/streams/256color/256color.factor | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/extra/io/streams/256color/256color.factor b/extra/io/streams/256color/256color.factor index 6e030d2f8c..b58fcda1be 100644 --- a/extra/io/streams/256color/256color.factor +++ b/extra/io/streams/256color/256color.factor @@ -1,10 +1,10 @@ ! Copyright (C) 2012 John Benediktsson ! See http://factorcode.org/license.txt for BSD license -USING: accessors arrays assocs destructors formatting fry io -io.streams.string io.styles kernel locals math math.functions -math.ranges math.vectors namespaces sequences sequences.extras -strings strings.tables ; +USING: accessors arrays assocs destructors environment +formatting fry io io.streams.string io.styles kernel locals +math math.functions math.ranges math.vectors namespaces +sequences sequences.extras strings strings.tables ; IN: io.streams.256color @@ -79,7 +79,7 @@ M: 256color stream-format [ [ foreground swap at [ color>foreground ] [ "" ] if* ] [ background swap at [ color>background ] [ "" ] if* ] - bi append "\u00001b[0m" surround + bi append [ "\u00001b[0m" surround ] unless-empty ] dip stream>> stream-write ; M: 256color make-span-stream @@ -104,5 +104,8 @@ M: 256color dispose drop ; PRIVATE> +: 256color-terminal? ( -- ? ) + "TERM" os-env "-256color" tail? ; + : with-256color ( quot -- ) output-stream get <256color> swap with-output-stream* ; inline