doomemacs/modules/lang/gdscript/config.el

48 lines
1.7 KiB
EmacsLisp
Raw Normal View History

2020-05-27 15:16:16 -06:00
;;; lang/gdscript/config.el -*- lexical-binding: t; -*-
(after! projectile
(add-to-list 'projectile-project-root-files "project.godot"))
2020-06-06 18:16:25 -04:00
;;
;;; Packages
2020-05-27 15:16:16 -06:00
(use-package! gdscript-mode
:defer t
:config
(set-lookup-handlers! 'gdscript-mode
:documentation '(gdscript-docs-browse-symbol-at-point :async t))
(set-formatter! 'gdformat '("gdformat" "-") :modes '(gdscript-mode))
;; eww is clumsy and slow. Best that `gdscript-docs-browse-symbol-at-point'
;; simply use the browser.
;; REVIEW: Maybe it's permissible if `gdscript-docs-local-path' is set?
(setq gdscript-docs-use-eww nil)
(when (modulep! +lsp)
(add-hook 'gdscript-mode-local-vars-hook #'lsp! 'append))
2020-05-27 15:16:16 -06:00
(map! :localleader
:map gdscript-mode-map
(:prefix ("r" . "run")
:desc "Open project in Godot" "e" #'gdscript-godot-open-project-in-editor
:desc "Run project" "p" #'gdscript-godot-run-project
:desc "Run debug" "d" #'gdscript-godot-run-project-debug
:desc "Run current scene" "s" #'gdscript-godot-run-current-scene)
(:prefix ("d" . "debug")
:desc "Toggle breakpoint" "d" #'gdscript-debug-toggle-breakpoint
:desc "Display breakpoint buffer" "b" #'gdscript-debug-display-breakpoint-buffer
:desc "Continue execution" "c" #'gdscript-debug-continue
:desc "Next" "n" #'gdscript-debug-next
:desc "Step" "s" #'gdscript-debug-step)
2020-05-27 15:16:16 -06:00
(:prefix ("h" . "help")
:desc "Browse online API" "b" #'gdscript-docs-browse-api
:desc "Browse API at point" "f" #'gdscript-docs-browse-symbol-at-point)
2020-05-27 15:16:16 -06:00
(:prefix ("f" . "format")
:desc "Format buffer" "b" #'gdscript-format-buffer
:desc "Format region" "r" #'gdscript-format-region)))