init.el
changeset 112 c4c346aa93ab
parent 111 025f0680d73a
child 113 79c72453f70d
equal deleted inserted replaced
111:025f0680d73a 112:c4c346aa93ab
    67 
    67 
    68 ;;;; Packages ;;;;
    68 ;;;; Packages ;;;;
    69 (require 'package-require)
    69 (require 'package-require)
    70 (package-require '(rg company exec-path-from-shell expand-region vertico
    70 (package-require '(rg company exec-path-from-shell expand-region vertico
    71  orderless consult marginalia magit forge magit-todos markdown-mode hgignore-mode move-text paredit
    71  orderless consult marginalia magit forge magit-todos markdown-mode hgignore-mode move-text paredit
    72  rainbow-delimiters json-mode json-reformat flycheck treesit-auto ibuffer-project
    72  rainbow-delimiters json-mode json-reformat flycheck treesit-auto ibuffer-project jinx
    73  solarized-theme terraform-mode visual-regexp yasnippet yaml-mode
    73  solarized-theme terraform-mode visual-regexp yasnippet yaml-mode
    74  emmet-mode))
    74  emmet-mode))
    75 
    75 
    76 
    76 
    77 ;;; custom requires
    77 ;;; custom requires
    78 (require 'c-init)
    78 (require 'c-init)
    79 (require 'ansible-init)
    79 (require 'ansible-init)
    80 
    80 
    81 
    81 
       
    82 ;;; jinx spellcheck setup
       
    83 (with-eval-after-load 'jinx
       
    84   (unless (executable-find "enchant-2")
       
    85     (display-warning
       
    86      'jinx
       
    87      (concat "Enchant library not found. Jinx spell-checking requires enchant.\n\n"
       
    88              "To install:\n"
       
    89              (if (eq system-type 'darwin)
       
    90                  "  macOS: brew install enchant\n"
       
    91                "  Ubuntu/Debian: sudo apt install libenchant-2-dev\n")
       
    92              "\nAfter installation, restart Emacs.")
       
    93      :warning)))
       
    94 
       
    95 
    82 ;;; text-mode
    96 ;;; text-mode
    83 (add-hook 'fundamental-mode-hook 'flyspell-mode)      ; spellcheck text
    97 (add-hook 'fundamental-mode-hook 'jinx-mode)          ; spellcheck text
    84 (add-hook 'fundamental-mode-hook 'turn-on-auto-fill)  ; autofill text
    98 (add-hook 'fundamental-mode-hook 'turn-on-auto-fill)  ; autofill text
    85 
    99 
    86 
   100 
    87 ;;; whitespace-mode
   101 ;;; whitespace-mode
    88 (global-whitespace-mode t)                            ; show whitespace
   102 (global-whitespace-mode t)                            ; show whitespace
   192 (setq-default yas-prompt-functions '(yas-completing-read yas-dropdown-prompt)) ; use completing-read for multiple snippets
   206 (setq-default yas-prompt-functions '(yas-completing-read yas-dropdown-prompt)) ; use completing-read for multiple snippets
   193 (yas-global-mode t)
   207 (yas-global-mode t)
   194 
   208 
   195 
   209 
   196 ;;; markdown-mode
   210 ;;; markdown-mode
   197 (add-hook 'markdown-mode-hook 'flyspell-mode)
   211 (add-hook 'markdown-mode-hook 'jinx-mode)
   198 (setq-default markdown-command "pandoc -f gfm")
   212 (setq-default markdown-command "pandoc -f gfm")
   199 
   213 
   200 
   214 
   201 ;;; treesit-auto (automatically use tree-sitter modes and install grammars)
   215 ;;; treesit-auto (automatically use tree-sitter modes and install grammars)
   202 (with-eval-after-load 'treesit-auto
   216 (with-eval-after-load 'treesit-auto