From da8b5653c6648f0a657a5fc8bbe9864a6374e579 Mon Sep 17 00:00:00 2001 From: Maciej Szlosarczyk Date: Sun, 7 Mar 2021 15:40:27 +0200 Subject: [PATCH] Add gleam lang support --- init.el | 1 + lang/gleam.el | 18 ++++++++++++++ pkg/deft.el | 8 +++++- pkg/hydra.el | 47 +++++++++++++++++++++++++++--------- straight/versions/default.el | 1 + 5 files changed, 62 insertions(+), 13 deletions(-) create mode 100644 lang/gleam.el diff --git a/init.el b/init.el index b912c56..a416d43 100644 --- a/init.el +++ b/init.el @@ -56,6 +56,7 @@ (require 'icejam-lang-javascript "$HOME/.emacs.d/lang/javascript.el") (require 'icejam-lang-elixir "$HOME/.emacs.d/lang/elixir.el") (require 'icejam-lang-erlang "$HOME/.emacs.d/lang/erlang.el") +(require 'icejam-lang-gleam "$HOME/.emacs.d/lang/gleam.el") (require 'icejam-lang-fsharp "$HOME/.emacs.d/lang/fsharp.el") (require 'icejam-lang-sh "$HOME/.emacs.d/lang/sh.el") (require 'icejam-lang-rust "$HOME/.emacs.d/lang/rust.el") diff --git a/lang/gleam.el b/lang/gleam.el new file mode 100644 index 0000000..49701c6 --- /dev/null +++ b/lang/gleam.el @@ -0,0 +1,18 @@ +;;; gleam.el --- summary + +;; Author: Maciej Szlosarczyk +;; Maintainer: Maciej Szlosarczyk +;; Version: 0.1-snapshot + +;;; Commentary: + +;; Gleam language support + +;;; Code: + +(use-package gleam-mode + :straight `(gleam-mode :type git :host github :repo "gleam-lang/gleam-mode") + :mode "\\.gleam\\'") + +(provide 'icejam-lang-gleam) +;;; gleam.el ends here diff --git a/pkg/deft.el b/pkg/deft.el index 5465ad3..0c35ecd 100644 --- a/pkg/deft.el +++ b/pkg/deft.el @@ -4,6 +4,7 @@ ;;; Code: (require 'icejam-pkg-keys-mode "$HOME/.emacs.d/pkg/keys-mode.el") +(require 'icejam-pkg-hydra "$HOME/.emacs.d/pkg/hydra.el") (use-package deft :straight t @@ -13,7 +14,12 @@ deft-default-extension "md" deft-auto-save-interval 30.0)) -(define-key icejam-keys-mode-map (kbd "C-c d d") 'deft) +(defhydra +hydra-deft-menu (:color teal) + "Start Deft" + ("d" deft "Deft") + ("q" cancel "quit")) + +(define-key icejam-keys-mode-map (kbd "C-c d") '+hydra-deft-menu/body) (provide 'icejam-pkg-deft) ;;; deft.el ends here diff --git a/pkg/hydra.el b/pkg/hydra.el index f3a927c..201c491 100644 --- a/pkg/hydra.el +++ b/pkg/hydra.el @@ -14,7 +14,7 @@ :straight t :defer t :config - (defhydra hydra-file-switcher-menu (:color teal :hint nil) + (defhydra +hydra-file-switcher-menu (:color teal :hint nil) " ^ General actions ^^^^^^^^-------------------------------------------------------------------------------------------- @@ -57,7 +57,7 @@ ("C" magit-checkout) ("M" magit-blame)) - (defhydra hydra-programming-menu (:color teal :hint nil) + (defhydra +hydra-programming-menu (:color teal :hint nil) " ^ Code actions ^^^^^^^^-------------------------------------------------------------------------------------------- @@ -78,7 +78,7 @@ Find: _s_: Swiper _u_: Undo tree ("y" company-yasnippet) ("m" company-complete)) - (defhydra hydra-window-menu (:color teal :hint nil) + (defhydra +hydra-window-menu (:color teal :hint nil) " ^ Buffer actions ^^^^^^^^-------------------------------------------------------------------------------------------- @@ -98,7 +98,7 @@ Split: _h_: Horizontally _v_: Vertically ("" windmove-up) ("" windmove-down)) - (defhydra hydra-language-context-menu (:color teal :hint nil) + (defhydra +hydra-language-context-menu (:color teal :hint nil) " ^ Language-specific actions ^^^^^^^^-------------------------------------------------------------------------------------------- @@ -114,19 +114,42 @@ Other: _m_: iMenu ("f" lsp-format-buffer) ("m" lsp-ui-imenu)) - (defhydra hydra-move-menu (:color teal) + (defhydra +hydra-move-menu (:color teal) "Buffer history" - ("" previous-buffer "Previous buffer") - ("" next-buffer "Next buffer") ("[" previous-buffer "Previous buffer") ("]" next-buffer "Next buffer") ("q" cancel "quit")) - :bind ("C-c p" . hydra-file-switcher-menu/body) - ("C-c c" . hydra-programming-menu/body) - ("C-c w" . hydra-window-menu/body) - ("C-c s" . hydra-move-menu/body) - ("C-c l" . hydra-language-context-menu/body)) + (defhydra +hydra-bufmove (:color teal :hint nil) + " +^ Move current buffer +^^^^^^^^-------------------------------------------------------------------------------------------- +^ _{_: Up +^_[_: Left _]_: Right +^ _{_: Down +^^ +" + ("[" buf-move-left) + ("]" buf-move-right) + ("{" buf-move-up) + ("}" buf-move-down) + ("q" cancel "quit")) + + (defhydra +hydra-font-menu (:color teal) + "Buffer history" + ("i" (text-scale-increase 1) "Bigger font in this buffer") + ("d" (text-scale-decrease 1) "Smaller font in this buffer") + ("r" (text-scale-adjust 0) "Reset font in this buffer") + ("R" set-font-to-screen "Reload font to screen") + ("q" cancel "quit")) + + :bind ("C-c p" . +hydra-file-switcher-menu/body) + ("C-c c" . +hydra-programming-menu/body) + ("C-c w" . +hydra-window-menu/body) + ("C-c s" . +hydra-move-menu/body) + ("C-c f" . +hydra-font-menu/body) + ("C-c m" . +hydra-bufmove/body) + ("C-c l" . +hydra-language-context-menu/body)) (provide 'icejam-pkg-hydra) ;;; hydra.el ends here diff --git a/straight/versions/default.el b/straight/versions/default.el index a314715..2daa0ea 100644 --- a/straight/versions/default.el +++ b/straight/versions/default.el @@ -41,6 +41,7 @@ ("flycheck" . "01396a5eff9fa494285e0d3139838231c05e3948") ("flycheck-rust" . "a139cd53c5062697e9ed94ad80b803c37d999600") ("git-modes" . "14adca24eb6b0b4e311ad144c5d41972c6b044b2") + ("gleam-mode" . "60c0102e9a905027eb88600fef7d60bd3fbdaab1") ("gnu-elpa-mirror" . "be9f76827527f058e83818ab53c29393ccd99315") ("groovy-emacs-modes" . "26da902d1158c0312628d57578109be54eca2415") ("haskell-mode" . "20f72ccc17c8233dbb7c94ebf52a2a59e7d97730")