   (with-current-buffer snails-content-buffer
     (erase-buffer)
 
+    (setq snails-select-line-number 0)
+    (setq snails-select-line-overlay (make-overlay (point) (point)))
+    (overlay-put snails-select-line-overlay 'face `(:background "#333" :foreground "#C6433B"))
+
     (let ((candiate-index 0)
           (backend-names (snails-get-backend-names))
           header-line-start

          (insert "\n"))
        (setq candiate-index (+ candiate-index 1)))

      (goto-char (point-min)))))

(defun snails-update-list-by-index (list n val)
  (nconc (subseq list 0 n)
         (cons val (nthcdr (1+ n) list))))

(provide 'snails)

;;; snails.el ends here


(defvar snails-parent-frame nil)

(defvar snails-select-line-overlay nil)

(defvar snails-select-line-number 0)

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

(defface snails-header-line-face
  '((t (:foreground "#3F90F7" :underline t :height 1.2)))
  "Face for header line"
  :group 'snails)

(defvar snails-mode-map
  (let ((map (make-sparse-keymap)))
    (define-key map (kbd "C-g") 'snails-quit)
    (define-key map (kbd "C-n") 'snails-select-next-item)
    (define-key map (kbd "C-p") 'snails-select-prev-item)
    map)
  "Keymap used by `snails-mode'.")

