                                          :args [["color red" "color blue" "color green" "color white"]]
                                          :help "`set` appearance. E.g `set color red`."}
                                   "touch" {:mod #{:x}
-                                          :type :file
-                                          :fn touch-cmd
-                                          :args [:alpha]
-                                          :help "`touch` creates an empty file."}}}
+                                           :type :file
+                                           :fn touch-cmd
+                                           :args [:alpha]
+                                           :help "`touch` creates an empty file."}
+                                  "cat" {:mod #{:x}
+                                         :type :file
+                                         :fn cat-cmd
+                                         :args [:file]
+                                         :help "`cat` shows the contents of a file"}}}
                    "usr" {:mod #{:r :w}
                           :type :dir
                           :files {}}}}


(defn args-trie [args-spec]
  (cond
    ;; Looking for a valid directory in the current working directory
    (= :dir args-spec)
    (let [everything (seq (:files (cwd)))

    (= :cmd args-spec)
    (trie/build (keys (command-map)))
    ;; Any characters a-z
    (= :alpha args-spec)
    (alpha-trie 0)
    ;; Pre-specified parameters
    :default
