2 changed files with 21 additions and 0 deletions
@ -0,0 +1,19 @@ |
|||||||
|
{-# LANGUAGE NoImplicitPrelude #-} |
||||||
|
{-# LANGUAGE OverloadedStrings #-} |
||||||
|
|
||||||
|
import Prelude (IO, String, (.), (==), mapM_, putStrLn) |
||||||
|
import Control.Monad ((>>=)) |
||||||
|
import System.Environment (getArgs) |
||||||
|
import Data.Text (Text, breakOnEnd, dropWhileEnd, pack, unpack) |
||||||
|
|
||||||
|
dropFilename :: (Text, Text) -> Text |
||||||
|
dropFilename ("", "") = "." |
||||||
|
dropFilename ("", file) = file |
||||||
|
dropFilename (dir, _file) = dropWhileEnd (== '/') dir |
||||||
|
|
||||||
|
dirname :: String -> String |
||||||
|
dirname = unpack . dropFilename . breakOnEnd "/" . pack |
||||||
|
|
||||||
|
main :: IO () |
||||||
|
main = getArgs >>= mapM_ (putStrLn . dirname) |
||||||
|
|
Loading…
Reference in new issue