diff options
author | Christophe Grand <christophe@cgrand.net> | 2009-01-07 19:59:46 +0000 |
---|---|---|
committer | Christophe Grand <christophe@cgrand.net> | 2009-01-07 19:59:46 +0000 |
commit | 64f7ec7003a315eeea5ce43c3d13207bd6256d05 (patch) | |
tree | dfeb7c4d2bd1f63ca0949ae94166e831fb5da114 /src/clojure/contrib/javadoc/browse.clj | |
parent | a6a68b5f63286f0bec4684ca3cb189446b9836d3 (diff) |
Added a 3rd option to browse-url. Now, before defaulting to swing, will try to open the url using an external command if any is configured.
This command is currently defined only for Mac OS X.
Diffstat (limited to 'src/clojure/contrib/javadoc/browse.clj')
-rw-r--r-- | src/clojure/contrib/javadoc/browse.clj | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/clojure/contrib/javadoc/browse.clj b/src/clojure/contrib/javadoc/browse.clj index f6b1d349..690a6bf8 100644 --- a/src/clojure/contrib/javadoc/browse.clj +++ b/src/clojure/contrib/javadoc/browse.clj @@ -10,7 +10,14 @@ ; You must not remove this notice, or any other, from this software.
(ns clojure.contrib.javadoc.browse
- (:import (java.net URI)))
+ (:require [clojure.contrib.shell-out :as sh])
+ (:import (java.net URI)))
+
+(defn- macosx? []
+ (-> "os.name" System/getProperty .toLowerCase
+ (.startsWith "mac os x")))
+
+(def *open-url-script* (when (macosx?) "/usr/bin/open"))
(defn open-url-in-browser
"Opens url (a string) in the default system web browser. May not
@@ -45,4 +52,4 @@ (.show))))
(defn browse-url [url]
- (or (open-url-in-browser url) (open-url-in-swing url)))
+ (or (open-url-in-browser url) (when *open-url-script* (sh/sh *open-url-script* (str url)) true) (open-url-in-swing url)))
|