       (`no-cache t)
       (`duplicates nil)
       (`match (get-text-property 0 'match arg))
-      (`annotation (get-text-property 0 'annot arg)))))
+      (`annotation (get-text-property 0 'annot arg))
+      (`pre-render (fstar-subp-company--pre-render arg (car rest)))
+      (`post-completion (fstar-subp-company--post-completion arg)))))
 
 (defun fstar-setup-company ()
   "Set up Company support."

      (and (looking-back "\\_<let open \\(?:\\s_\\|\\sw\\)*" (point-at-bol)) "let-open")
      "symbol"))

(defun fstar-subp-company-backend (command &optional arg &rest _)
  "Company backend for F*.
Candidates are provided by the F* subprocess.
COMMAND, ARG: see `company-backends'."
  (interactive '(interactive))
  ;; (fstar-log 'info "fstar-subp-company-backend: %S %S" command arg)
  (when (fstar--has-feature 'autocomplete)

               ("kind" . ,kind)))
    (format "#completions %s #" prefix)))

(defconst fstar-subp-company--snippet-re "\\${\\(.+?\\)}")

(defun fstar-subp-company--post-process-candidate (candidate)
  "Post-process and return CANDIDATE."
  candidate)
