2 changed files with 21 additions and 0 deletions
@ -0,0 +1,19 @@
@@ -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