dotfiles-emacs/.emacs.d/config/dev.el
finga 941b156a55 c, dev: Extract C config into separate file
Move configuration regarding C into its own file.
2023-11-15 11:45:22 +01:00

59 lines
2.4 KiB
EmacsLisp

;; magit
(use-package magit
:ensure t
:init
;; (taken from :open https://r0tty.org/git/dotfiles/emacs/tree/.emacs.d/config/development.el)
(defun vcsh (repo)
"Invoke magit on a vcsh repo. This requires an appropriate entry in `tramp-methods'."
(interactive (let ((repos (delq nil
(mapcar #'(lambda (name)
(if (string-match ".git$" name)
(substring name 0 -4)
nil))
(directory-files "~/.config/vcsh/repo.d")))))
(list (completing-read "Repository: " repos nil t))))
(magit-status-internal (format "/vcsh:%s:" repo)))
:config
;; Turn on flyspell when writing commit messages
(add-hook 'git-commit-setup-hook 'git-commit-turn-on-flyspell))
;; use ripgrep in emacs
(use-package deadgrep
:ensure t
:bind ("M-s d" . deadgrep))
;; rust
(use-package cargo :ensure t)
(use-package cargo-mode :ensure t)
(use-package rust-mode :ensure t)
(use-package flycheck-rust :ensure t)
;; start cargo
(add-hook 'rust-mode-hook 'cargo-minor-mode)
;; format code when saving
(setq rust-format-on-save t)
;; yaml
(use-package yaml-mode :ensure t)
(use-package flycheck-yamllint :ensure t)
;; paredit
(use-package paredit :ensure t)
(autoload 'enable-paredit-mode "paredit" "Turn on pseudo-structural editing of Lisp code." t)
(add-hook 'emacs-lisp-mode-hook #'enable-paredit-mode)
(add-hook 'eval-expression-minibuffer-setup-hook #'enable-paredit-mode)
(add-hook 'ielm-mode-hook #'enable-paredit-mode)
(add-hook 'lisp-mode-hook #'enable-paredit-mode)
(add-hook 'lisp-interaction-mode-hook #'enable-paredit-mode)
(add-hook 'scheme-mode-hook #'enable-paredit-mode)
;; Hack to show only files known to git inside dired; needs the
;; `git-find' shell script shim (taken from :open https://r0tty.org/git/dotfiles/emacs/tree/.emacs.d/config/development.el)
(defun git-dired (dir)
(interactive (list (read-directory-name "Find files in directory: " nil "" t)))
(let ((find-program "git-find"))
(find-dired dir "")))
;; enable flyspell checks for comments in code
(add-hook 'prog-mode-hook #'flyspell-prog-mode)