 (defun snails-update-callback (backend-name input-ticker candidates)
   (when (and (equal input-ticker snails-input-ticker)
              candidates)
-    (let* ((backend-names (mapcar (lambda (b) (eval (cdr (assoc "name" (eval b))))) snails-backends))
+    (let* ((backend-names (snails-get-backend-names))
            (backend-index (cl-position backend-name backend-names)))
       (when backend-index
         (setq snails-candiate-list (snails-update-list-by-index snails-candiate-list backend-index candidates))

(defcustom snails-mode-hook '()
  "snails mode hook."
  :type 'hook
  :group 'snails)

(defface snails-face-backend-name
  '((t (:foreground "Gold" :bold t :height 3)))
  "Face backend name"
  :group 'snails)

(defvar snails-mode-map

      (set-frame-parameter nil 'undecorated t)
      (split-window (selected-window) (nth 3 (window-edges (selected-window))) nil t)
      (switch-to-buffer snails-input-buffer)
      (set-window-margins (selected-window) 1 1)
      (other-window 1)
      (switch-to-buffer snails-content-buffer)
      (set-window-margins (selected-window) 1 1)
      (other-window 1)


      (add-hook 'after-change-functions 'snails-monitor-input nil t)
      )
