2025-11-16 15:47:31 +11:00
|
|
|
* My doom config
|
|
|
|
|
** Appearance settings
|
|
|
|
|
#+begin_src emacs-lisp
|
|
|
|
|
(setq doom-font (font-spec :family "Maple Mono" :size 20))
|
|
|
|
|
(add-to-list 'default-frame-alist '(height . 53))
|
|
|
|
|
(add-to-list 'default-frame-alist '(width . 120))
|
|
|
|
|
(setq doom-theme 'doom-one)
|
|
|
|
|
(setq display-line-numbers-type 'relative)
|
|
|
|
|
(setq org-directory "~/org/")
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
** Plugins
|
|
|
|
|
*** Yasnippet
|
|
|
|
|
This enables the feature of auto-expanding snippets when matching the pattern
|
|
|
|
|
#+begin_src emacs-lisp
|
|
|
|
|
(after! yasnippet
|
|
|
|
|
(defun my-yas-try-expanding-auto-snippets ()
|
|
|
|
|
(when yas-minor-mode
|
|
|
|
|
(let ((yas-buffer-local-condition ''(require-snippet-condition . auto)))
|
|
|
|
|
(yas-expand))))
|
|
|
|
|
(add-hook 'post-command-hook #'my-yas-try-expanding-auto-snippets))
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
*** Eat
|
|
|
|
|
#+begin_src emacs-lisp :tangle packages.el
|
|
|
|
|
(package! eat
|
|
|
|
|
:recipe (:type git
|
|
|
|
|
:host codeberg
|
|
|
|
|
:repo "akib/emacs-eat"
|
|
|
|
|
:files ("*.el" ("term" "term/*.el") "*.texi"
|
|
|
|
|
"*.ti" ("terminfo/e" "terminfo/e/*")
|
|
|
|
|
("terminfo/65" "terminfo/65/*")
|
|
|
|
|
("integration" "integration/*")
|
|
|
|
|
(:exclude ".dir-locals.el" "*-tests.el"))))
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
Fix the issue that backspace doesn't work on mac
|
|
|
|
|
#+begin_src emacs-lisp
|
|
|
|
|
(after! eat
|
|
|
|
|
(when (eq system-type 'darwin)
|
|
|
|
|
(define-key eat-semi-char-mode-map (kbd "C-h") #'eat-self-input)
|
|
|
|
|
(define-key eat-semi-char-mode-map (kbd "<backspace>") (kbd "C-h"))))
|
|
|
|
|
#+end_src
|
2025-11-16 16:19:37 +11:00
|
|
|
|
|
|
|
|
*** Copilot
|
|
|
|
|
#+begin_src emacs-lisp :tangle packages.el
|
|
|
|
|
(package! copilot
|
|
|
|
|
:recipe (:host github :repo "copilot-emacs/copilot.el" :files ("*.el")))
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
Configuration
|
|
|
|
|
#+begin_src emacs-lisp
|
|
|
|
|
;; accept completion from copilot and fallback to company
|
|
|
|
|
(use-package! copilot
|
|
|
|
|
:hook (prog-mode . copilot-mode)
|
|
|
|
|
:bind (:map copilot-completion-map
|
|
|
|
|
("<tab>" . 'copilot-accept-completion)
|
|
|
|
|
("TAB" . 'copilot-accept-completion)
|
|
|
|
|
("C-TAB" . 'copilot-accept-completion-by-word)
|
|
|
|
|
("C-<tab>" . 'copilot-accept-completion-by-word)
|
|
|
|
|
("C-n" . 'copilot-next-completion)
|
|
|
|
|
("C-p" . 'copilot-previous-completion))
|
|
|
|
|
|
|
|
|
|
:config
|
|
|
|
|
(add-to-list 'copilot-indentation-alist '(prog-mode 2))
|
|
|
|
|
(add-to-list 'copilot-indentation-alist '(org-mode 2))
|
|
|
|
|
(add-to-list 'copilot-indentation-alist '(text-mode 2))
|
|
|
|
|
(add-to-list 'copilot-indentation-alist '(clojure-mode 2))
|
|
|
|
|
(add-to-list 'copilot-indentation-alist '(emacs-lisp-mode 2)))
|
|
|
|
|
#+end_src
|