]> gitweb.factorcode.org Git - factor.git/blob - basis/webbrowser/webbrowser.factor
interpolate: split out format into a hook
[factor.git] / basis / webbrowser / webbrowser.factor
1 ! Copyright (C) 2011 John Benediktsson
2 ! See http://factorcode.org/license.txt for BSD license
3 USING: accessors command-line io.pathnames kernel namespaces
4 sequences strings system ui.operations urls vocabs ;
5 IN: webbrowser
6
7 HOOK: open-item os ( item -- )
8
9 "webbrowser." os name>> append require
10
11 : open-url ( url -- )
12     >url open-item ;
13
14 PREDICATE: url-string < string >url protocol>> >boolean ;
15
16 [ pathname? ] \ open-item H{ } define-operation
17 [ [ url? ] [ url-string? ] bi or ] \ open-url H{ } define-operation
18
19 : webbrowser-main ( -- )
20     command-line get [ open-url ] each ;
21
22 MAIN: webbrowser-main