io.styles: only allow character styles to inherit.
parent
e16fb922c8
commit
a688aff7af
|
@ -1,10 +1,9 @@
|
||||||
! Copyright (C) 2005, 2009 Slava Pestov.
|
! Copyright (C) 2005, 2009 Slava Pestov.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: accessors assocs colors colors.constants delegate
|
USING: accessors assocs colors delegate delegate.protocols
|
||||||
delegate.protocols destructors fry hashtables io
|
destructors hashtables io io.streams.plain io.streams.string
|
||||||
io.streams.plain io.streams.string kernel make math.order
|
kernel make namespaces present sequences sets splitting strings
|
||||||
namespaces present sequences splitting strings strings.tables
|
strings.tables summary ;
|
||||||
summary ;
|
|
||||||
IN: io.styles
|
IN: io.styles
|
||||||
|
|
||||||
GENERIC: stream-format ( str style stream -- )
|
GENERIC: stream-format ( str style stream -- )
|
||||||
|
@ -62,8 +61,10 @@ C: <ignore-close-stream> ignore-close-stream
|
||||||
TUPLE: style-stream < filter-writer style ;
|
TUPLE: style-stream < filter-writer style ;
|
||||||
INSTANCE: style-stream output-stream
|
INSTANCE: style-stream output-stream
|
||||||
|
|
||||||
|
DEFER: inherit-style
|
||||||
|
|
||||||
: do-nested-style ( style style-stream -- style stream )
|
: do-nested-style ( style style-stream -- style stream )
|
||||||
[ style>> swap assoc-union ] [ stream>> ] bi ; inline
|
[ style>> inherit-style ] [ stream>> ] bi ; inline
|
||||||
|
|
||||||
C: <style-stream> style-stream
|
C: <style-stream> style-stream
|
||||||
|
|
||||||
|
@ -144,6 +145,18 @@ CONSTANT: standard-table-style
|
||||||
{ table-border T{ rgba f 0.8 0.8 0.8 1.0 } }
|
{ table-border T{ rgba f 0.8 0.8 0.8 1.0 } }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<PRIVATE
|
||||||
|
|
||||||
|
: inherit? ( format -- ? )
|
||||||
|
HS{
|
||||||
|
foreground background font-name font-size font-style
|
||||||
|
} in? ;
|
||||||
|
|
||||||
|
PRIVATE>
|
||||||
|
|
||||||
|
: inherit-style ( child parent -- child' )
|
||||||
|
[ drop inherit? ] assoc-filter swap assoc-union! ;
|
||||||
|
|
||||||
! Input history
|
! Input history
|
||||||
TUPLE: input string ;
|
TUPLE: input string ;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue