``` __ .----.---.-.-----.----.---.-.| | | _| _ |__ --| __| _ || | |__| |___._|_____|____|___._||__| ``` [![Build Status](https://travis-ci.org/soli/rascal.png)](https://travis-ci.org/soli/rascal) rascal is a command-line client for [reddit](http://www.reddit.com/). It should work on any platform where Haskell runs (Linux, Mac OSX and Windows through MinGW), and aims at making available the whole reddit API (we're not there yet…). It sports colors, that should soon become configurable, and might not work under Windows (based on ANSI escape sequences, through [ansi-terminal](https://github.com/batterseapower/ansi-terminal)). By default it will open [/r/haskell](http://www.reddit.com/r/haskell/new) sorted by "new", but you can provide another subreddit as argument on the command line ``` $ rascal python ``` It is also possible to define the default subreddit and the default sort option in an INI-style configuration file named `.rascalrc` in your HOME directory. For instance, it might contain the following (case-sensitive!): ``` subreddit: programming linkSort = controversial commentSort: new pageComments = True ``` Here is what rascal looks like when started, and when a _self_ link (marked with a '♦') is chosen (`N` was pressed in this case). Non-self links and links detected in posts will be opened in your default browser. ![screenshot](https://github.com/soli/rascal/raw/master/screenshot.png) Comments are shown threaded, with the order defined in the configuration file (defaulting to `new`), and one page at a time if `pageComments` is true (default). Comments, like posts, are formatted to avoid cutting words when possible. ![threads](https://github.com/soli/rascal/raw/master/threads.png) ### Notes In case you wonder, my iTerm2 is using the dark [solarized](https://github.com/altercation/solarized) color scheme. The ASCII title was generated with `figlet -f chunky`. And the name comes from my own pronunciation of `/r/haskell`. ### Planned Features * Configuration for colors * OAuth2 login to reddit (subscribed/saved/etc.) * more tests ## Disclaimer Please note that rascal is my first Haskell project. As such, it is as much a fun experiment for me to discover the ecosystem and the idioms, than a really useful project. TL;DR: YMMV.