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.
You can install from MELPA with package.el:
M-x package-install hover
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.
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 |
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.