diff --git a/extra/tools/uniq/authors.txt b/extra/tools/uniq/authors.txt new file mode 100644 index 0000000000..e091bb8164 --- /dev/null +++ b/extra/tools/uniq/authors.txt @@ -0,0 +1 @@ +John Benediktsson diff --git a/extra/tools/uniq/deploy.factor b/extra/tools/uniq/deploy.factor new file mode 100644 index 0000000000..62b2611652 --- /dev/null +++ b/extra/tools/uniq/deploy.factor @@ -0,0 +1,15 @@ +USING: tools.deploy.config ; +H{ + { deploy-name "uniq" } + { deploy-ui? f } + { deploy-c-types? f } + { deploy-console? t } + { deploy-unicode? f } + { "stop-after-last-window?" t } + { deploy-io 3 } + { deploy-reflection 6 } + { deploy-word-props? f } + { deploy-math? t } + { deploy-threads? t } + { deploy-word-defs? f } +} diff --git a/extra/tools/uniq/uniq.factor b/extra/tools/uniq/uniq.factor new file mode 100644 index 0000000000..f2c5cb6192 --- /dev/null +++ b/extra/tools/uniq/uniq.factor @@ -0,0 +1,28 @@ +! Copyright (C) 2011 John Benediktsson +! See http://factorcode.org/license.txt for BSD license + +USING: command-line io io.encodings.utf8 io.files kernel +namespaces sets sequences ; + +IN: tools.uniq + +: uniq-lines ( -- ) + f [ + 2dup = [ dup print ] unless nip + ] each-line drop ; + +: uniq-file ( path/f -- ) + [ + utf8 [ uniq-lines ] with-file-reader + ] [ + uniq-lines + ] if* ; + +: run-uniq ( -- ) + command-line get [ ?first ] [ ?second ] bi [ + utf8 [ uniq-file ] with-file-writer + ] [ + uniq-file + ] if* ; + +MAIN: run-uniq