       ("[{}]"
        (0 'fstar-braces-face append))
       (,fstar-syntax-id-with-subscript
-       ;; (1 '(face fstar-subscript-underscore-face invisible 'fstar-subscripts) prepend)
        (1 '(face fstar-subscript-face display (raise -0.3)) append)))))
 
 (defconst fstar--scratchpad-name " *%s-scratchpad*")

      ,@fstar-syntax-additional)
     nil nil))
  (font-lock-set-defaults)
  (remove-from-invisibility-spec nil) ;; Make sure invisibility spec is a list
  (add-to-list 'font-lock-extra-managed-props 'display)
  (add-to-list 'font-lock-extra-managed-props 'invisible)
  (font-lock-mode))

(defun fstar-teardown-font-lock ()
  "Disable F*-related font-locking."
  (remove-from-invisibility-spec 'fstar-subscripts)
  (when (buffer-live-p fstar--scratchpad)
    (kill-buffer fstar--scratchpad)))


(defface fstar-decreases-face
  '((t :italic t))
  "Face used to highlight decreases clauses."
  :group 'fstar)

(defface fstar-subscript-face
