Skip to content

ericdallo/hover.el

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MELPA Actions Status Codacy Badge

hover.el

Emacs tool for running flutter mobile apps on desktop using hover.

If you want to run flutter on a emulator from Emacs, you should check flutter.el.

Installation

You can install from MELPA with package.el:

M-x package-install hover

Running

hover.el helps you run the hover binary interactively as an inferior process. It's designed to work together with dart-mode. For example you can bind hover-run-or-hot-reload to C-M-z in dart-mode. While editing your Dart code, just hit C-M-z to either run your app, or if it's already running, to hot-reload it.

Configuration

Variable Description Default value
hover-command-path Path to the hover executable command tries to use hover if exists in $PATH
hover-flutter-sdk-path Path to flutter sdk path to find flutter executable command tries to find flutter executable in $PATH
hover-hot-reload-on-save On buffer save, triggers hover hot-reload (if hover is running) nil
hover-screenshot-path If non-nil, save hover screenshot on specified folder. project root
hover-screenshot-prefix Prefix for file name on hover-take-screenshot. hover-
hover-observatory-uri Hover custom observatory-uri. http://127.0.0.1:50300
hover-clear-buffer-on-hot-restart Calls hover-clear-buffer after a hover-hot-restart nil

Example

The following example uses all available configurations above, you can customize as you wish.

;; Assuming usage with dart-mode
(use-package dart-mode
  :custom
  (dart-sdk-path (concat (getenv "HOME") "/flutter/bin/cache/dark-sdk/")
   dart-format-on-save t))

(use-package hover
  :after dart-mode
  :bind (:map hover-minor-mode-map
              ("C-M-z" . #'hover-run-or-hot-reload)
              ("C-M-x" . #'hover-run-or-hot-restart)
              ("C-M-p" . #'hover-take-screenshot'))
  :init
  (setq hover-flutter-sdk-path (concat (getenv "HOME") "/flutter") ; remove if `flutter` is already in $PATH
        hover-command-path (concat (getenv "GOPATH") "/bin/hover") ; remove if `hover` is already in $PATH
        hover-hot-reload-on-save t
        hover-screenshot-path (concat (getenv "HOME") "/Pictures")
        hover-screenshot-prefix "my-prefix-"
        hover-observatory-uri "http://my-custom-host:50300"
        hover-clear-buffer-on-hot-restart t)
  (hover-minor-mode 1))

Thanks to flutter.el which inspired this project.