Skip to content

Latest commit

 

History

History
67 lines (51 loc) · 3.78 KB

README.md

File metadata and controls

67 lines (51 loc) · 3.78 KB

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.