This repository has been archived on 2024-03-23. You can view files and clone it, but cannot push or open issues or pull requests.
dianciemacs/lisp/languages.el

68 lines
1.8 KiB
EmacsLisp
Raw Normal View History

;;; lisp/languages.el --- Support for programming languages -*- lexical-binding: t; -*-
;;; Commentary:
;;
;; Trivial changes done by almost everyone - no editor supports every language by default.
;; You will probably be adding on to the stuff in this file - in the `user/' directory, of course.
;;
;;; Code:
2022-11-13 18:41:10 +00:00
;; This file contains configuration for languages
2022-12-06 18:46:27 +00:00
;; justfile
(use-package just-mode)
2022-11-13 18:41:10 +00:00
;; Markdown
(use-package markdown-mode)
2022-11-14 21:24:46 +00:00
;; Diagnostics
;; (use-package flycheck-rust
;; :after flycheck
;; :init
;; (add-hook 'flycheck-mode-hook #'flycheck-rust-setup)) ; Enable flycheck-rust where flycheck is enabled. If not a rust file, does nothing.
2022-11-20 18:10:03 +00:00
;; (use-package flycheck-inline
;; :after flycheck
;; :hook
;; (flycheck-mode . flycheck-inline-mode)) ; Enable flycheck-inline where flycheck is enabled
2022-11-20 18:10:03 +00:00
;; (use-package flycheck
;; :hook prog-mode
;; :init
;; (with-eval-after-load 'flycheck
;; (push 'rustic-clippy flycheck-checkers))) ; Use clippy for Rust
2022-11-13 18:41:10 +00:00
;; eglot - Language Server Protocol ingegration
(use-package eglot)
;; Go
(use-package go-mode
:config
2022-11-20 18:10:03 +00:00
(add-hook 'before-save-hook 'gofmt-before-save)) ; Format on save
2022-11-13 18:41:10 +00:00
2023-07-22 21:32:51 +01:00
;; 4-space wide Go indentation
(add-hook 'go-mode-hook
(lambda ()
(add-hook 'before-save-hook 'gofmt-before-save)
(setq tab-width 4)
(setq indent-tabs-mode 1)))
2022-11-15 22:02:39 +00:00
;; Rust
(use-package rust-mode
:config
(add-hook 'rust-mode-hook
(lambda () (prettify-symbols-mode))) ; Prettify code automatically
(add-hook 'rust-mode-hook 'eglot-ensure) ; Enable eglot compatibility
2022-11-15 22:02:39 +00:00
:custom
(rust-format-on-save t)) ; Format on save
2022-11-15 22:02:39 +00:00
;; Disable flymake for eglot - in favour of flycheck
;; (add-hook 'eglot--managed-mode-hook (lambda () (flymake-mode -1)))
2022-11-15 22:02:39 +00:00
;; Lua
(use-package lua-mode)
;; Autobrackets
2022-11-13 18:41:10 +00:00
(add-hook 'prog-mode-hook 'electric-pair-mode)
;;; languages.el ends here