 
 (defconst memetalk-keywords
   (regexp-opt
-   '("license" "endlicense" "preamble" "code" "endcode" "class" "object"
-     "fields" "init" "fun" "super" "instance_method" "class_method"
-     "if" "elif" "else" "try" "end" "catch" "var" "primitive"
-     "return" "while") 'words))
+   '("class" "object" "fields" "init" "fun" "super"
+     "instance_method" "class_method" "if" "elif" "else" "try" "end" "catch"
+     "var" "primitive" "return" "while" "for"
+     "meme" "requires" "where") 'words))
 
 (defconst memetalk-constants
   (regexp-opt '("true" "false" "null") 'words))

    (`(:before . "{")
     (cond
      ((smie-rule-parent-p "while") (smie-rule-parent))
      ((smie-rule-parent-p "{") (smie-rule-parent))
      ((smie-rule-parent-p "var") (smie-rule-parent))
      ((smie-rule-parent-p "fun") (smie-rule-parent))

(defun memetalk-clear-current-buffer ()
  (memetalk-remove-overlays memetalk-current-buffer)
  (setq memetalk-current-buffer nil))

(defun memetalk-read-meme-config ()
  (with-temp-buffer
