From 4657b2251d0a57e1059183807738d19b85ea9ea9 Mon Sep 17 00:00:00 2001 From: Laura Date: Mon, 16 Jan 2023 19:03:20 +0100 Subject: List command with associated dir structure change. --- README.md | 8 ++++++-- miaowe.hs | 4 +++- nya.sh | 3 ++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index fa96d64..24508a3 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,11 @@ To build: The resulting executable will be called "miaowe". -Miaowe includes no networking code of its own, but assumes stdin and stdout will be connected to an IRC server. A zsh script, nya.sh, is included to help with this. Users of other shells may need to adjust the script to work with their shell. NickServ login credentials are placed in a file called "conn", on the first line and separated by a space. Image files are read from the working directory. +Miaowe includes no networking code of its own, but assumes stdin and stdout will be connected to an IRC server. A zsh script, nya.sh, is included to help with this. Users of other shells may need to adjust the script to work with their shell. NickServ login credentials are placed in a file called "conn" (in the parent of miaowe's PWD), on the first line and separated by a space. Image files are read from the working directory. If nya.sh is used, image_directory becomes miaowe's PWD. + +Available commands: +* List -- lists all files in PWD +* Quit -- quits To run: @@ -18,4 +22,4 @@ To run: or: - ./nya.sh + ./nya.sh diff --git a/miaowe.hs b/miaowe.hs index 3778e23..6ee36c2 100644 --- a/miaowe.hs +++ b/miaowe.hs @@ -184,6 +184,8 @@ processCommand :: IrcChannel -> MircString -> IO () processCommand channel command | length (words command) < 5 = sendToChannel channel "You need to specify a command." | (words command)!!4 == "Quit" = exitSuccess + | (words command)!!4 == "List" = listDirectory "." + >>= sendToChannel channel . intercalate "\n" | otherwise = (if isInfixOf "/" ((words command)!!4) then sendToChannel channel @@ -201,7 +203,7 @@ mainLoop channel = waitForCommand main :: IO () main = - openFile "conf" ReadMode + openFile "../conf" ReadMode >>= (\handle -> hGetLine handle >>= putStr . ircConnect diff --git a/nya.sh b/nya.sh index dcaa785..9667f3c 100755 --- a/nya.sh +++ b/nya.sh @@ -15,8 +15,9 @@ # See the License for the specific language governing permissions and # limitations under the License. +binary=$( readlink -f miaowe ) # To debug, uncomment and move >&p to end of line. coproc nc irc.libera.chat 6667 # |tee /dev/stderr -./miaowe $1 <&p >&p # |tee /dev/stderr +(cd $2 && exec $binary $1) <&p >&p # |tee /dev/stderr pkill nc -- cgit v1.2.3