anchor.diff:  (defparameter *lightning-path-file* (to-list "/home/grant/Ramdisk/.lightningpath"))
   (defparameter *current-directory* (pwd))
   
  -(defun write-text (x y text fg-bg)
  +(defun ls ()
  +  "takes an optional path as a *list* and returns a list of list of characters that correspond to a directory listing"
  +  (butlast (split-sequence:split-sequence #\newline (to-list (trivial-shell:shell-command (concatenate 'string "ls \"" (to-string *current-directory*) "\""))))))
  +
  +(defmethod cd ((path list))
  +  "modifies a special variable that corresponds to the current path"
  +  (setf *current-directory* (append *current-directory* (list #\/) path)))
  +
  +(defmethod write-text ((x integer) (y integer) (text list) &optional (fg-bg '(0 . 0)))
     "execute a series of change-cell's in a sequential manner such as to write a line of text"
  -  (dotimes (i (length (coerce 'list text)))
  -    (tb-change-cell (+ x i) y (char-code (nth i (coerce 'list text))) (car fg-bg) (cdr fg-bg))))
  +  (dotimes (i (length text))
  +    (tb-change-cell (+ x i) y (char-code (nth i (to-list text))) (car fg-bg) (cdr fg-bg))))
   
   (defun get-char-range ()
     "get a string of the characters that are valid to enter in search mode"
  
positive.code: 	  (nconc chars (list (code-char i)))))
      chars))
  
  (defun filename-clean (filename)
    "convert a raw filename to a simplified one that can be searched for"
    (let ((acceptable-chars (get-char-range)))
      (remove-if-not (lambda (item) (member item acceptable-chars)) (to-list (string-downcase (to-string filename))))))
  
  (defun select-files-in-search-buffer (files search-buffer)
    "return a list of selected files by comparing simplified filenames with the search buffer"
    (remove-if-not (lambda (file) (equal search-buffer (subseq (filename-clean file) 0 (length search-buffer)))) files))
  
  (defun get-file-colors (mode selected-files selected this-file file-list)
    (cond
      ((and (eq mode 'search) (member this-file selected-files) *show-deselected-files*)
       (cons (tb-const "TB_BLACK") (tb-const "TB_WHITE")))
      ((and (eq mode 'normal) (eq this-file (nth selected file-list)))
       (cons (tb-const "TB_BLACK") (tb-const "TB_WHITE")))
      (t
       (cons (tb-const "TB_WHITE") 0))))
  
  (defun show-this-file-p (this-file selected-files)
    (or *show-deselected-files* (member this-file selected-files :test #'equal) (null selected-files)))
  
negative.code:   "takes a path as a *list* and determines whether the path identifies a file"
    (plusp (length (trivial-shell:shell-command (concatenate 'string "if [ -f " (to-string path) " ]; then echo 1; fi")))))
  
  (defun pwd ()
    "returns a list of characters of the current working directory"
    (butlast (to-list (trivial-shell:shell-command "pwd"))))
  
  (defparameter *show-deselected-files* nil)
  (defparameter *default-mode* 'search)
  