|
@@ -9,22 +9,29 @@
|
|
|
(loop for line = (read-line fh nil)
|
|
|
while line
|
|
|
do (format out "~a~%" line)))))
|
|
|
- (clop:parse file-content)))
|
|
|
- (format T "~A: File not found" config-path))))
|
|
|
+ (clop:parse file-content))))))
|
|
|
|
|
|
-(defvar *config* (config-parse "/home/swatson/Repos/cl-pest/config.toml"))
|
|
|
+(defvar *config* NIL)
|
|
|
|
|
|
;; Colors
|
|
|
-(defvar *fg* (progn
|
|
|
- (if *config*
|
|
|
- (destructuring-bind (r g b) (subseq (assoc "fg" (cdr (assoc "colors" *config* :test #'equal)) :test #'equal) (- 4 3))
|
|
|
- (chlorophyll:create-rgb-color r g b))
|
|
|
- (chlorophyll:create-rgb-color 255 255 255))))
|
|
|
-(defvar *bg* (chlorophyll:create-rgb-color 0 0 0))
|
|
|
-(defvar *style* (chlorophyll:new-style
|
|
|
+(defvar *fg* NIL)
|
|
|
+(defvar *bg* NIL)
|
|
|
+(defvar *style* NIL)
|
|
|
+
|
|
|
+(defun reload-config ()
|
|
|
+ (setf *config* (config-parse "~/Repos/cl-pest/config.toml"))
|
|
|
+ (setf *fg* (if *config*
|
|
|
+ (destructuring-bind (r g b) (subseq (assoc "fg" (cdr (assoc "colors" *config* :test #'equal)) :test #'equal) (- 4 3))
|
|
|
+ (chlorophyll:create-rgb-color r g b))
|
|
|
+ (chlorophyll:create-rgb-color 255 255 255)))
|
|
|
+ (setf *bg* (if *config*
|
|
|
+ (destructuring-bind (r g b) (subseq (assoc "bg" (cdr (assoc "colors" *config* :test #'equal)) :test #'equal) (- 4 3))
|
|
|
+ (chlorophyll:create-rgb-color r g b))
|
|
|
+ (chlorophyll:create-rgb-color 0 0 0)))
|
|
|
+ (setf *style* (chlorophyll:new-style
|
|
|
:bold NIL
|
|
|
:foreground *fg*
|
|
|
- :background *bg*))
|
|
|
+ :background *bg*)))
|
|
|
|
|
|
;; Regex Scanners
|
|
|
;; TODO $HOME rendered as /home/user as opposed to ~
|
|
@@ -34,5 +41,5 @@
|
|
|
(ppcre:regex-replace *home-scan* (uiop:getenv "PWD") "~/"))
|
|
|
|
|
|
(defun main ()
|
|
|
- (setf *config* (config-parse "/home/swatson/Repos/cl-pest/config.toml"))
|
|
|
+ (reload-config)
|
|
|
(format T "~a λ " (chlorophyll:stylize *style* (pwd))))
|