doomemacs/modules/lang/dart/config.el
Henrik Lissner 0d363045c5
tweak(dart): open flutter output in popup
Close: #8015
Co-authored-by: AlessandroW <AlessandroW@users.noreply.github.com>
2024-08-22 12:32:14 -04:00

72 lines
1.7 KiB
EmacsLisp

;;; lang/dart/config.el -*- lexical-binding: t; -*-
(use-package! dart-mode
:hook (dart-mode . rainbow-delimiters-mode)
:config
(when (modulep! +lsp)
(add-hook 'dart-mode-local-vars-hook #'lsp! 'append))
(set-ligatures! '(dart-mode)
;; Functional
:def "Function"
:lambda "() =>"
;; Types
:null "null"
:true "true" :false "false"
:int "int" :float "double"
:str "String"
:bool "bool"
:list "List"
;; Flow
:not "!"
:in "in"
:and "&&" :or "||"
:for "for"
:return "return"
;; Other
:yield "yield"))
(use-package! flutter
:when (modulep! +flutter)
:defer t
:init
(map! :after dart-mode
:map dart-mode-map
:localleader
(:prefix ("f" . "flutter")
"f" #'flutter-run
"q" #'flutter-quit
"r" #'flutter-hot-reload
"R" #'flutter-hot-restart))
:config
(set-popup-rule! (concat "^" (regexp-quote flutter-buffer-name))
:ttl 0 :quit t))
(use-package! lsp-dart
:when (modulep! +lsp)
:defer t
:config
(map! :map dart-mode-map
(:localleader
(:prefix ("t" . "test")
"t" #'lsp-dart-run-test-at-point
"a" #'lsp-dart-run-all-tests
"f" #'lsp-dart-run-test-file
"l" #'lsp-dart-run-last-test
"v" #'lsp-dart-visit-last-test))))
(use-package! hover
:when (modulep! +flutter)
:defer t
:config
(map! :map dart-mode-map
(:localleader
(:prefix ("h" . "hover")
"c" #'hover-clear-buffer
"r" #'hover-run-or-hot-reload
"R" #'hover-run-or-hot-restart
"p" #'hover-take-screenshot
"k" #'hover-kill)))
(set-popup-rule! "\\*Hover\\*" :quit nil))