init-prog.el (2372B)
1 ;;; init-prog.el --- programming -*- lexical-binding: t -*- 2 3 ;;; Commentary: 4 ;; I don't really do any programming. 5 6 ;;; Code: 7 8 ;; comint 9 (my-use-package comint 10 :straight nil 11 :config 12 (setq comint-prompt-read-only t)) 13 14 ;; hideshow 15 (my-use-package hideshow 16 :straight nil 17 :hook 18 (prog-mode . hs-minor-mode)) 19 20 ;; xref 21 (my-use-package xref 22 :straight nil 23 :autoload xref-show-definitions-completing-read 24 :init 25 (when (executable-find "rg") 26 (setq xref-search-program 'ripgrep))) 27 28 ;; eldoc-mouse 29 (my-use-package eldoc-mouse 30 :delight) 31 32 ;; eglot 33 (my-use-package eglot 34 :config 35 (setq eglot-send-changes-idle-time 0.25)) 36 37 ;; consult-eglot 38 (my-use-package consult-eglot 39 :init 40 (defun my-consult-eglot-hack (fun) 41 (let ((consult-async-split-styles-alist 42 '((none :function consult--split-none) 43 (comma :separator ?, :function consult--split-separator) 44 (semicolon :separator ?\; :function consult--split-separator) 45 (perl :initial nil :function consult--split-perl)))) 46 (call-interactively fun))) 47 (advice-add #'consult-eglot-symbols :around #'my-consult-eglot-hack)) 48 49 ;; syntax checking 50 (my-use-package flycheck 51 :hook 52 (prog-mode . flycheck-mode) 53 :config 54 (global-flycheck-eglot-mode)) 55 56 (my-use-package consult-flycheck) 57 58 (my-use-package flycheck-guile 59 :hook 60 (scheme-mode . (lambda () (require 'flycheck-guile)))) 61 62 ;; scheme 63 (my-use-package geiser 64 :config 65 (setq geiser-default-implementation 'guile)) 66 67 (my-use-package geiser-guile) 68 69 ;; common-lisp 70 (my-use-package sly 71 :config 72 (setq sly-lisp-implementations nil)) 73 74 ;; markdown 75 (my-use-package markdown-mode 76 :hook 77 (markdown-mode . visual-line-mode) 78 :init 79 (defun markdown-cycle-parent-subtree() 80 "Cycle parent markdown subtree." 81 (interactive) 82 (if (markdown-on-heading-p) 83 (progn 84 (markdown-up-heading 1) 85 (markdown-cycle)) 86 (markdown-back-to-heading) 87 (markdown-cycle))) 88 :config 89 (setq markdown-command "multimarkdown" 90 markdown-fontify-code-blocks-natively t)) 91 92 (my-use-package edit-indirect) 93 94 ;; caddy 95 (my-use-package caddyfile-mode 96 :mode "Caddyfile\\'" "caddy\\.conf\\'") 97 98 ;; some modes 99 (add-to-list 'auto-mode-alist '("\\.service\\'" . conf-unix-mode)) 100 (add-to-list 'auto-mode-alist '("\\.timer\\'" . conf-unix-mode)) 101 102 (provide 'init-prog) 103 ;;; init-prog.el ends here