Skip to content

Commit 6129b41

Browse files
committed
🔥 (init.el) Update config
✨ (init.el) Add new auto-mode config ✨ (init.el) Change incriment and decriment logic to grugru from own makeing ✨ (init.el) Add new keymap assign comment-dwin out to C-; ✨ (init.el) Add new keymap assign neotree-enter out to RET 💄 (init.el) Format style 🔥 (init.el) Remove comment ✨ (init.el) Update cape config for git-commit-mode
1 parent 7ec95e0 commit 6129b41

File tree

1 file changed

+93
-85
lines changed

1 file changed

+93
-85
lines changed

emacs.d/init.el

Lines changed: 93 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,10 @@
126126
(add-to-list 'auto-mode-alist '("\\.tsx\\'" . tsx-ts-mode))
127127
(add-to-list 'auto-mode-alist '("\\.rust\\'" . rust-ts-mode))
128128
(add-to-list 'auto-mode-alist '("\\.typ\\'" . typst-ts-mode))
129+
(add-to-list 'auto-mode-alist '("\\.dat$" . ledger-mode))
130+
(add-to-list 'auto-mode-alist '("\\.yaml" . yaml-ts-mode))
131+
(add-to-list 'auto-mode-alist '("\\.yml" . yaml-ts-mode))
132+
(add-to-list 'auto-mode-alist '("templates" . lisp-data-mode))
129133
(add-to-list 'auto-mode-alist '("Dockerfile" . dockerfile-ts-mode))
130134

131135
(setq treesit-font-lock-level 4))
@@ -158,48 +162,44 @@
158162
'(("d" "Diary" plain (file diary-file-path)
159163
"** 今日やったこと\n\n** 明日以降やりたいこと")
160164
("m" "Memo" plain (file memo-file-path) "")
161-
162-
;; ("t" "Todo" entry (file+headline "/home/coma/.ghq/github.com/Comamoca/org/todo.org" "INBOX")
163-
;; "* TODO %?\n")
164165
))
165166

166167
(setq diary-path (concat org-directory "/diary"))
167168

168169
(setq org-publish-use-timestamps-flag nil)
169170
(setq org-publish-project-alist
170-
'(("Diary"
171-
:base-directory "~/.ghq/github.com/Comamoca/org/diary"
172-
:base-extension "org"
173-
:recursive t
174-
:publishing-directory "~/.ghq/github.com/Comamoca/org/dist"
175-
:publishing-function org-html-publish-to-html
176-
:include ("index.org")
177-
:exclude ())
171+
'(("Diary"
172+
:base-directory "~/.ghq/github.com/Comamoca/org/diary"
173+
:base-extension "org"
174+
:recursive t
175+
:publishing-directory "~/.ghq/github.com/Comamoca/org/dist"
176+
:publishing-function org-html-publish-to-html
177+
:include ("index.org")
178+
:exclude ())
178179

179-
("Note"
180-
:base-directory "~/.ghq/github.com/Comamoca/org/note"
181-
:base-extension "org"
182-
:recursive t
183-
:publishing-directory "~/.ghq/github.com/Comamoca/org/note/dist"
184-
:publishing-function org-html-publish-to-html
185-
:auto-sitemap t
186-
:include ("index.org")
187-
:exclude ()
188-
:html-head "<link rel=\"stylesheet\" href=\"https://unpkg.com/mvp.css\">")))
189-
190-
;; org-babel
191-
(setq org-confirm-babel-evaluate nil)
192-
(setq python-shell-interpreter "python3")
180+
("Note"
181+
:base-directory "~/.ghq/github.com/Comamoca/org/note"
182+
:base-extension "org"
183+
:recursive t
184+
:publishing-directory "~/.ghq/github.com/Comamoca/org/note/dist"
185+
:publishing-function org-html-publish-to-html
186+
:auto-sitemap t
187+
:include ("index.org")
188+
:exclude ()
189+
:html-head "<link rel=\"stylesheet\" href=\"https://unpkg.com/mvp.css\">")))
190+
191+
;; org-babel
192+
(setq org-confirm-babel-evaluate nil)
193+
(setq python-shell-interpreter "python3")
193194
(org-babel-do-load-languages
194195
'org-babel-load-languages
195-
'(
196-
(C . t)
196+
'((C . t)
197197
(shell . t)
198198
(python . t)
199199
(clojure . t)
200200
(hy . t)
201201
(ruby . t)
202-
)))
202+
(ledger . t))))
203203

204204
;; (add-hook 'org-mode-hook (lambda ()
205205
;; (define-key 'evil-normal-state-map (kbd "M-v") #'org-paste-image)))
@@ -431,15 +431,10 @@
431431
;; Cursor moation
432432
(leaf avy)
433433

434-
;; Completin soruce
435-
(leaf cape
436-
:init
437-
(add-to-list 'completion-at-point-functions #'cape-elisp-block)
438-
(add-to-list 'completion-at-point-functions #'cape-dabbrev)
439-
(add-to-list 'completion-at-point-functions #'cape-file)
440-
(add-to-list 'completion-at-point-functions #'cape-history)
441-
(add-to-list 'completion-at-point-functions #'cape-keyword)
442-
(add-to-list 'completion-at-point-functions #'yasnippet-capf))
434+
;; Completion soruce
435+
(leaf cape :after corfu)
436+
437+
443438
;; (add-to-list 'completion-at-point-functions #'cape-line)
444439

445440

@@ -529,6 +524,7 @@
529524
(progn
530525
(evil-define-key 'normal neotree-mode-map (kbd "q") 'neotree-hide)
531526
(evil-define-key 'normal neotree-mode-map (kbd "l") 'neotree-enter)
527+
(evil-define-key 'normal neotree-mode-map (kbd "RET") 'neotree-enter)
532528
(evil-define-key 'normal neotree-mode-map (kbd "h") 'neotree-enter)
533529
(evil-define-key 'normal neotree-mode-map (kbd "g") 'neotree-refresh)
534530
(evil-define-key 'normal neotree-mode-map (kbd "j") 'neotree-next-line)
@@ -663,29 +659,32 @@
663659
(nyan-start-animation)))
664660

665661
;; Snippets
666-
(leaf yasnippet
667-
:config
668-
(setq yas-snippet-dirs '("~/emacs.d/snippets/"))
669-
(setq yas-trigger-key nil)
670-
(yas-global-mode 1))
671-
672-
;; Snippet collections
673-
(leaf yasnippet-snippets)
674662

675-
;; Templates
676-
(leaf yatemplate)
677-
(leaf auto-insert
663+
(leaf tempel
678664
:config
679-
(setq auto-insert-directory "~/.emacs.d/templates/")
680-
(setq auto-insert-alist
681-
(append '(
682-
((expand-file-name "~/.ghq/github.com/Comamoca/blog/src/blog/.*\\-diary.md$") . "diary.md")
683-
) auto-insert-alist))
684-
:init
685-
(auto-insert 1))
686-
687-
;; Complation
688-
(leaf yasnippet-capf)
665+
(defun tempel-setup-capf ()
666+
(setq-local completion-at-point-functions
667+
(cons #'tempel-complete
668+
completion-at-point-functions)))
669+
670+
(add-hook 'conf-mode-hook 'tempel-setup-capf)
671+
(add-hook 'prog-mode-hook 'tempel-setup-capf)
672+
(add-hook 'text-mode-hook 'tempel-setup-capf)
673+
674+
(add-hook 'markdown-mode-hook (lambda ()
675+
(setq-local
676+
completion-at-point-functions
677+
#'tempel-complete
678+
)))
679+
680+
(add-hook 'git-commit-mode-hook (lambda ()
681+
(setup-gitmoji)
682+
(setq-local completion-at-point-functions
683+
(list (cape-capf-super
684+
#'tempel-complete
685+
#'gitmoji-completion))))))
686+
687+
(leaf tempel-collection)
689688

690689
;; HTTP Request
691690
(leaf request)
@@ -761,30 +760,40 @@
761760
(reformatter-define deno
762761
:program "deno" :args `("fmt" ,buffer-file-name)))
763762

764-
;; ================ My extentions ================
763+
(leaf ledger
764+
:config)
765765

766-
;; Incriment/Decriment like Vim
767-
(defun replace-at-point (callback)
768-
(interactive)
769-
(let ((word (thing-at-point 'word t))
770-
(word-at (bounds-of-thing-at-point 'word)))
766+
(leaf grugru
767+
:config
768+
;; ref: https://github.com/ROCKTAKEY/grugru/issues/44
769+
(defun +grugru--getter-number ()
770+
(if (string-match-p "^-?\\(?:[0-9]*[.]\\)?[0-9]+$" (thing-at-point 'word))
771+
(bounds-of-thing-at-point 'number)))
771772

772-
(delete-region (car word-at) (cdr word-at))
773-
(insert (funcall callback word))))
773+
(add-to-list 'grugru-getter-alist '(number . +grugru--getter-number))
774774

775-
(defun incr-point ()
776-
(interactive)
777-
(replace-at-point (lambda (word)
778-
(number-to-string (+ (string-to-number word) 1)))))
775+
(grugru-define-global
776+
'number
777+
(lambda (arg &optional rev)
778+
(let ((num (string-to-number arg)))
779+
(number-to-string (if rev (- num 1) (+ num 1))))))
780+
781+
(define-key evil-normal-state-map (kbd "C-a") 'grugru)
782+
(define-key evil-normal-state-map (kbd "C-x") 'grugru-backward)
783+
)
784+
785+
(leaf good-scroll
786+
:init
787+
(good-scroll-mode 1))
788+
789+
(leaf sublimity
790+
)
791+
792+
(leaf iscroll)
793+
794+
795+
;; ================ My extentions ================
779796

780-
(defun decr-point ()
781-
(interactive)
782-
(replace-at-point (lambda (word)
783-
(let* ((num (string-to-number word))
784-
(incr-num (- num 1)))
785-
(if (> 0 incr-num)
786-
word
787-
(number-to-string incr-num))))))
788797

789798
(defun nyan-region ()
790799
"選択範囲をにゃーんで置換する"
@@ -883,9 +892,6 @@
883892
;; Collect gitmoji when startup
884893
;; (add-hook 'emacs-startup-hook 'setup-gitmoji)
885894
;; Enable at git-commit-mode
886-
(add-hook 'git-commit-mode-hook (lambda ()
887-
(setup-gitmoji
888-
(setq-local completion-at-point-functions (list #'gitmoji-completion)))))
889895

890896
;; Display character count in modeline
891897
(defun update-buffer-char-count ()
@@ -916,9 +922,12 @@
916922
(interactive)
917923
(let* ((date (format-time-string "%Y-%m-%d"))
918924
(file-name (format "%s-diary.md" date))
919-
(path (concat (expand-file-name "src/blog/" blog-repo) file-name)))
925+
(path (concat (expand-file-name "src/blog/" blog-repo) file-name))
926+
(buf (find-file path)))
920927
;; (projectile-switch-project-by-name "blog")
921-
(find-file path)))
928+
929+
(if (= (buffer-size) 0)
930+
(tempel-insert 'diary))))
922931

923932
(defun new-blog-article ()
924933
"Open latest diary. This function call in `src/blog/` directory at blog repository."
@@ -1063,9 +1072,8 @@
10631072
(setq create-lockfiles nil)
10641073

10651074
;; Key mapping
1066-
(define-key evil-normal-state-map (kbd "C-a") 'incr-point)
1067-
(define-key evil-normal-state-map (kbd "C-x") 'decr-point)
10681075
(define-key global-map (kbd "C-x s") 'blackening-region)
1076+
(define-key global-map (kbd "C-;") 'comment-dwim)
10691077

10701078
;; Enable debug
10711079
;; (setq debug-on-error t)

0 commit comments

Comments
 (0)