diff --git a/.emacs.d/include/priime-edit.el b/.emacs.d/include/priime-edit.el index 79032d5..8320e18 100644 --- a/.emacs.d/include/priime-edit.el +++ b/.emacs.d/include/priime-edit.el @@ -27,6 +27,16 @@ (kill-line) (meow-insert)) +;; (flycheck-define-checker racket-review +;; "check racket source code using racket review" +;; :command ("raco" "review" source) +;; :error-patterns +;; ((error line-start (file-name) ":" line ":" column ":error:" (message) line-end) +;; (warning line-start (file-name) ":" line ":" column ":warning:" (message) line-end)) +;; :modes racket-mode) + +;;; Packages + (use-package meow :straight t :bind (("C-q" . meow-quit)) :custom @@ -117,8 +127,7 @@ (use-package flycheck :straight t :custom (flycheck-check-syntax-automatically '(save mode-enable)) - :init - (add-hook 'after-init-hook 'global-flycheck-mode)) + :hook (after-init . global-flycheck-mode)) (use-package paredit :straight t :bind (("M-" . #'backward-kill-sexp) ("M-k" . #'kill-sexp)) diff --git a/.emacs.d/include/priime-languages.el b/.emacs.d/include/priime-languages.el index dc0e013..691c698 100644 --- a/.emacs.d/include/priime-languages.el +++ b/.emacs.d/include/priime-languages.el @@ -16,10 +16,38 @@ (append (transient-args 'justl-help-popup) (list just-recipe))))) +(defun racket-repl-switch () + "Switch to the Racket REPL." + (interactive) + (racket-edit-switch-to-repl) + (unless (equal current-prefix-arg nil) + (delete-other-windows))) + +(defun racket-edit-switch () + "Switch to the corresponding racket buffer." + (interactive) + (racket-repl-switch-to-edit) + (unless (equal current-prefix-arg nil) + (delete-other-windows))) + +;;; Languages + (use-package racket-mode :straight t + :bind (:map racket-mode-map + ("C-c C-z" . racket-repl-switch) + :map racket-repl-mode-map + ("C-c C-k" . racket-repl-clear-leaving-last-prompt) + ("C-c C-z" . racket-edit-switch)) :hook ((racket-mode . racket-xp-mode) (racket-mode . paredit-mode))) +(use-package pollen-mode :straight t + :init + (setq auto-mode-alist + (append '(("\\.pp$" . racket-mode) + ("\\.pm$" . pollen-mode) + ("\\.pmd$" . pollen-mode)) + auto-mode-alist))) (use-package rust-mode :straight t :hook (rust-mode . eglot)) (use-package rustic :straight t) diff --git a/.emacs.d/include/racket.el b/.emacs.d/include/racket.el deleted file mode 100644 index e265e49..0000000 --- a/.emacs.d/include/racket.el +++ /dev/null @@ -1,62 +0,0 @@ -;;; racket.el --- Configuration for Racket. -;;; Commentary: -;; Configuration for Racket and Racket-based languages, including Pollen. -;;; Code: - -(require 'racket-mode) -(require 'racket-edit) - -(add-to-list 'load-path (expand-file-name "lisp/pollen-mode" user-emacs-directory)) -(autoload 'pollen-mode "pollen" "A major mode for the pollen preprocessor." t) - -(defun racket-repl-switch () - "Switch to the Racket REPL." - (interactive) - (racket-edit-switch-to-repl) - (unless (equal current-prefix-arg nil) - (delete-other-windows))) - -(defun racket-edit-switch () - "Switch to the corresponding racket buffer." - (interactive) - (racket-repl-switch-to-edit) - (unless (equal current-prefix-arg nil) - (delete-other-windows))) - -;; Recognize pollen filetypes -(setq auto-mode-alist (cons '("\\.pp$" . racket-mode) auto-mode-alist)) -(setq auto-mode-alist (cons '("\\.pm$" . pollen-mode) auto-mode-alist)) -(setq auto-mode-alist (cons '("\\.pmd$" . pollen-mode) auto-mode-alist)) - -;; raco review flycheck support -(flycheck-define-checker racket-review - "check racket source code using racket review" - :command ("raco" "review" source) - :error-patterns - ((error line-start (file-name) ":" line ":" column ":error:" (message) line-end) - (warning line-start (file-name) ":" line ":" column ":warning:" (message) line-end)) - :modes racket-mode) -(add-to-list 'flycheck-checkers 'racket-review) -(add-to-list 'flycheck-disabled-checkers 'racket) - -(defun configure-racket () - "Configure keybinds for racket buffers." - (keymap-local-set "C-c C-z" #'racket-repl-switch)) - -(add-hook 'racket-mode-hook #'configure-racket) - -(defun configure-racket-repl () - "Configure keybinds for the racket repl." - (keymap-local-set "C-c C-k" #'racket-repl-clear-leaving-last-prompt) - (keymap-local-set "C-c C-z" #'racket-edit-switch)) - -(add-hook 'racket-repl-mode-hook #'configure-racket-repl) - -(defun configure-scribble () - "Configure keybinds for scribble." - (keymap-local-set "C-c C-c" #'compile)) - -(add-hook 'scribble-mode-hook #'configure-scribble) - -(provide 'racket) -;;; racket.el ends here diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 3c1298e..548915c 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -35,7 +35,6 @@ ;; Legacy (when (equal (system-name) "framework") (load-library "mu4econfig")) -(load-library "racket") (load-library "latexconfig") (load-library "cppconfig") (load-library "gpgconfig")