ui.tools.inspector: string inspection shows characters.
							parent
							
								
									1e2bb358c2
								
							
						
					
					
						commit
						d9df9fc3cc
					
				|  | @ -1,13 +1,14 @@ | ||||||
| ! Copyright (C) 2006, 2009 Slava Pestov. | ! Copyright (C) 2006, 2009 Slava Pestov. | ||||||
| ! See http://factorcode.org/license.txt for BSD license. | ! See http://factorcode.org/license.txt for BSD license. | ||||||
| USING: accessors arrays assocs classes combinators fonts fry | USING: accessors arrays assocs classes combinators fonts | ||||||
| hashtables inspector io io.styles kernel math.vectors mirrors | formatting fry hashtables inspector io io.styles kernel math | ||||||
| models models.arrow namespaces prettyprint sequences sorting ui | math.parser math.vectors mirrors models models.arrow namespaces | ||||||
| ui.commands ui.gadgets ui.gadgets.labeled ui.gadgets.panes | prettyprint sequences sorting strings ui ui.commands ui.gadgets | ||||||
| ui.gadgets.scrollers ui.gadgets.status-bar ui.gadgets.tables | ui.gadgets.labeled ui.gadgets.panes ui.gadgets.scrollers | ||||||
|  | ui.gadgets.status-bar ui.gadgets.tables | ||||||
| ui.gadgets.tables.private ui.gadgets.toolbar ui.gadgets.tracks | ui.gadgets.tables.private ui.gadgets.toolbar ui.gadgets.tracks | ||||||
| ui.gestures ui.operations ui.theme ui.tools.browser | ui.gestures ui.operations ui.theme ui.tools.browser | ||||||
| ui.tools.common ui.tools.inspector.slots ; | ui.tools.common ui.tools.inspector.slots unicode ; | ||||||
| 
 | 
 | ||||||
| IN: ui.tools.inspector | IN: ui.tools.inspector | ||||||
| 
 | 
 | ||||||
|  | @ -68,6 +69,28 @@ GENERIC: make-slot-descriptions ( obj -- seq ) | ||||||
| M: object make-slot-descriptions | M: object make-slot-descriptions | ||||||
|     make-mirror [ <slot-description> ] { } assoc>map ; |     make-mirror [ <slot-description> ] { } assoc>map ; | ||||||
| 
 | 
 | ||||||
|  | M: string make-slot-descriptions | ||||||
|  |     [ | ||||||
|  |         swap [ dup number>string ] dip dup | ||||||
|  |         dup printable? [ 1string ] [ | ||||||
|  |             dup 0xff <= [ | ||||||
|  |                 H{ | ||||||
|  |                     { CHAR: \a "\\a" } | ||||||
|  |                     { CHAR: \b "\\b" } | ||||||
|  |                     { CHAR: \e "\\e" } | ||||||
|  |                     { CHAR: \f "\\f" } | ||||||
|  |                     { CHAR: \n "\\n" } | ||||||
|  |                     { CHAR: \r "\\r" } | ||||||
|  |                     { CHAR: \t "\\t" } | ||||||
|  |                     { CHAR: \v "\\v" } | ||||||
|  |                     { CHAR: \0 "\\0" } | ||||||
|  |                 } ?at [ "\\x%02x" sprintf ] unless | ||||||
|  |             ] [ | ||||||
|  |                 "\\u{%x}" sprintf | ||||||
|  |             ] if | ||||||
|  |         ] if slot-description boa | ||||||
|  |     ] map-index ; | ||||||
|  | 
 | ||||||
| M: hashtable make-slot-descriptions | M: hashtable make-slot-descriptions | ||||||
|     call-next-method [ key-string>> ] sort-with ; |     call-next-method [ key-string>> ] sort-with ; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue