1# gdris 2 3A toy [gopher][rfc1436] client written in [Idris2][idris web]. 4 5![GIF demonstrating gdris usage](https://gist.github.com/nmeum/b7e9986fff26ada4667c1887ff99ee3e/raw/f428c01ce5fd54c63adba482d63a8430a4abfbce/gdris.gif) 6 7## Building 8 9This software requires a working [idris2][idris2 github] installation.10So far, it has only been tested with `v0.3.0` which is the most recent11version at the time of writing. After installing idris2, compile this12software using the following command:1314 $ idris2 --build gdris.ipkg1516This will create an executable in `./build/exec/gdris`.1718## Usage1920The `gdris` program expects a `HOST` and `PORT` argument and starts an21interactive read–eval–print loop (REPL) afterwards. For example, to22connect to the `sdf.org` gopherhole start `gdris` as follows:2324 $ ./build/exec/gdris sdf.org 702526This will print a menu for the initial directory listing on `sdf.org`.27Each menu entry will have an associated numeric identifier. The `goto`28command can be used to retrieve a specific document or to navigate to a29subdirectory. The `goto` command expects a numeric menu entry identifier30as an argument. The currently available menu entries can be retrieved31using the `menu` command.3233## License3435This program is free software: you can redistribute it and/or modify it36under the terms of the GNU General Public License as published by the37Free Software Foundation, either version 3 of the License, or (at your38option) any later version.3940This program is distributed in the hope that it will be useful, but41WITHOUT ANY WARRANTY; without even the implied warranty of42MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General43Public License for more details.4445You should have received a copy of the GNU General Public License along46with this program. If not, see <http://www.gnu.org/licenses/>.4748[rfc1436]: https://tools.ietf.org/html/rfc143649[idris web]: https://idris-lang.org50[idris2 github]: https://github.com/idris-lang/Idris2