aboutsummaryrefslogtreecommitdiff
path: root/.emacs.d/lisp/init-lang.el
blob: fc99967647b66f1a59fd9c79426e3146221641cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
(use-package ledger-mode
  :mode (("\\.journal$" . ledger-mode))
  :config
  (setq ledger-default-date-format ledger-iso-date-format))

(use-package markdown-mode
  :ensure t
  :commands (markdown-mode gfm-mode)
  :mode (("README\\.md\\'" . gfm-mode)
	 ("\\.md\\'" . markdown-mode)
	 ("\\.markdown\\'" . markdown-mode))
  :init
  (evil-define-key 'normal markdown-mode-map
    (kbd "<RET>") 'markdown-follow-link-at-point)
  (setq markdown-command "multimarkdown"))

(use-package go-mode
  :ensure t
  :commands (go-mode)
  :mode (("\\.go$" . go-mode))
  :hook ((go-mode . (lambda () (setq tab-width 4)))))

(use-package lsp-mode
  :ensure t
  :commands (lsp lsp-deferred)
  :hook
  ((go-mode . lsp-deferred)
   (lsp-mode . lsp-enable-which-key-integration))
  :config
  (evil-define-key 'normal lsp-mode-map
    (kbd "gd") 'lsp-find-definition
    (kbd "gr") 'lsp-find-references)
  (add-to-list 'lsp-file-watch-ignored-directories "[/\\\\]\\.git\\'"))

(use-package dap-mode
  :defer
  :commands (dap-mode)
  :ensure t
  :hook
  ((lsp-mode . dap-mode))
  ((go-mode . (lambda () (require 'dap-go))))
  :config
  (dap-auto-configure-mode t)
  (setq dap-auto-configure-features '(sessions locals controls tooltip)))

(use-package magit
  :ensure t)

(provide 'init-lang)