aboutsummaryrefslogtreecommitdiffstats
path: root/l/src/config.lisp
diff options
context:
space:
mode:
authorTeddy Wing2021-02-03 00:23:16 +0100
committerTeddy Wing2021-02-03 00:23:16 +0100
commit8e11ddad215279411560838917220301e13148fd (patch)
tree28130f31dfd696c03c1c7f305d8e8cec1c2df28b /l/src/config.lisp
parent75b5d75523d36336af810207c3363044020bba17 (diff)
downloadextreload-8e11ddad215279411560838917220301e13148fd.tar.bz2
main: Move option parsing code to new function `parse-options`
Make a new function `parse-options` that parses the command line options and returns a `config` object. We'll use that object instead of `options` in `main`. Cleans up the `main` function a bit. Currently, we just print the `config` object to ensure we're storing the proper values. Followed Practical Common Lisp's example to implement `print-object` so we can see the contents of its slots: http://www.gigamonkeys.com/book/practical-a-spam-filter.html#the-heart-of-a-spam-filter Still need to implement error checking for a missing `--socket-url` option.
Diffstat (limited to 'l/src/config.lisp')
-rw-r--r--l/src/config.lisp6
1 files changed, 6 insertions, 0 deletions
diff --git a/l/src/config.lisp b/l/src/config.lisp
index 86b77d3..6b31dac 100644
--- a/l/src/config.lisp
+++ b/l/src/config.lisp
@@ -14,3 +14,9 @@
:initform nil
:reader reload-current-tab
:documentation "True if the current tab should be reloaded")))
+
+(defmethod print-object ((object config) stream)
+ (print-unreadable-object (object stream :type t)
+ (with-slots (socket-url extension-ids reload-current-tab) object
+ (format stream ":socket-url ~s :extension-ids ~s :reload-current-tab ~s"
+ socket-url extension-ids reload-current-tab))))