V2 Emacs config now kept as it's own repository.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

52 lines
1.3 KiB

;; Default mode definitions.
;; Flycheck is enabled globally.
(use-package flycheck
:ensure t
:hook ((after-init . global-flycheck-mode)))
(use-package projectile
:ensure t
:bind-keymap
("C-c p" . projectile-command-map))
(use-package lsp-mode
:ensure t
:hook ((python-mode . lsp-deferred)
(ruby-mode . lsp-deferred)
(c-mode . lsp-deferred)
(c++-mode . lsp-deferred)))
(use-package lsp-ui
:ensure t
:after lsp
:hook ((lsp-mode . lsp-ui-mode))
:config
(setq lsp-ui-doc-enable t)
(setq lsp-ui-doc-show-with-cursor t)
(setq lsp-ui-doc-show-with-mouse t))
;; Way better syntax highlighting for many languages
;; Emacs 29 supports this natively.
(if (version<= emacs-version "29")
(progn
(use-package tree-sitter
:ensure t
:init
(global-tree-sitter-mode)
:hook ((tree-sitter-after-on . tree-sitter-hl-mode)))
(use-package tree-sitter-langs
:ensure t))
)
;; Company is enabled globally.
(use-package company
:ensure t
:hook ((after-init . global-company-mode))
:config ;; backend setting must be done only after load.
(push 'company-files company-backends)
(push 'company-keywords company-backends)
(push 'company-capf company-backends))
(with-eval-after-load 'magit-mode
(add-hook 'after-save-hook 'magit-after-save-refresh-status t))