From b81703ed333872ad05dc0626a736fc2f92263db3 Mon Sep 17 00:00:00 2001 From: Andrew Wilcox Date: Thu, 16 Jun 2011 12:38:08 -0700 Subject: [PATCH] extension --- path.arc | 6 +++++- path.t | 21 +++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/path.arc b/path.arc index 82ad913..f62da4f 100644 --- a/path.arc +++ b/path.arc @@ -1,4 +1,4 @@ -(use arc cwd values) +(use arc cwd values re) (ail-code (racket-require (racket-prefix-in racket- scheme/path))) @@ -13,6 +13,10 @@ (aif (ar-fnil (racket-file-name-from-path path)) (racket-path->string it))) +(def extension (path) + (aand (filepart path) + (cadr (re-match "\\.([^\\.]+)$" it)))) + (def fullpath (path (o basedir cwd)) (racket-path->string (racket-simplify-path diff --git a/path.t b/path.t index af3e862..77941c3 100644 --- a/path.t +++ b/path.t @@ -31,6 +31,27 @@ nil > (filepart "foo") "foo" +> (extension "foo") +nil + +> (extension "foo.") +nil + +> (extension "foo.a") +"a" + +> (extension "foo.a.") +nil + +> (extension "foo.arc") +"arc" + +> (extension "/a/b/c/foo.bar/") +nil + +> (extension "/a/b/c/foo.bar") +"bar" + > (fullpath "/a/b/c/foo.bar") "/a/b/c/foo.bar"