summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--custom/jao-custom-programming.el120
1 files changed, 77 insertions, 43 deletions
diff --git a/custom/jao-custom-programming.el b/custom/jao-custom-programming.el
index 61e51ea..ed62b32 100644
--- a/custom/jao-custom-programming.el
+++ b/custom/jao-custom-programming.el
@@ -1,6 +1,6 @@
;; -*- lexical-binding: t -*-
-;;; Programming
+;;; Tools
;;;; automatic modes
(add-to-list 'auto-mode-alist '("\\.mix\\'" . hexl-mode))
(add-to-list 'auto-mode-alist '("\\.m4\\'" . m4-mode))
@@ -33,6 +33,8 @@
;;;; eglot
(use-package eglot
+ :config
+ (add-hook 'eglot--managed-mode-hook (lambda () (flymake-mode -1)))
:bind (:map eglot-mode-map (("C-h ." . jao-eldoc-toggle))))
;;;; paredit and parens
@@ -58,45 +60,6 @@
(setq ediff-window-setup-function 'ediff-setup-windows-plain)
(setq ediff-keep-variants nil)
-;;;; compilation
-;;;;; compilation mode options
-(require 'compile)
-(setq compilation-scroll-output t)
-(setq compilation-error-regexp-alist
- (remove 'omake compilation-error-regexp-alist))
-;; (add-hook 'compilation-mode-hook #'visual-line-mode)
-
-;;;;; mode line (no "Compiling"!)
-(require 'compile)
-(diminish 'compilation-minor-mode " ‡")
-(when (< emacs-major-version 27)
- (setcdr (assq 'compilation-in-progress minor-mode-alist) '(" ‡")))
-(when (> emacs-major-version 26)
- (setcdr (assq 'compilation-in-progress mode-line-modes) '("‡ ")))
-
-;;;;; colorizing compilation buffer
-(setq compilation-message-face 'default)
-(require 'ansi-color)
-(defun endless/colorize-compilation ()
- "Colorize from `compilation-filter-start' to `point'."
- (let ((inhibit-read-only t))
- (ansi-color-apply-on-region
- compilation-filter-start (point))))
-
-(add-hook 'compilation-filter-hook #'endless/colorize-compilation)
-
-;;;;; compilation commands
-(use-package jao-compilation
- :commands jao-compilation-setup
- :bind (("C-c C" . compile)
- ("C-c c" . jao-compile)))
-(jao-compilation-setup)
-
-;;;;; next error
-(setq next-error-find-buffer-function
- #'next-error-buffer-on-selected-frame
- next-error-verbose t)
-
;;;; flymake
(use-package flymake
:ensure t
@@ -114,9 +77,6 @@
:bind (:map flymake-mode-map (("M-m" . jao-transient-flymake))))
-;;;; workarounds
-(setq c-type-finder-time-slot nil)
-
;;;; outline minor mode
(use-package outline
:init (setq outline-minor-mode-use-buttons nil
@@ -161,6 +121,61 @@
(add-hook 'find-function-after-hook #'jao-outline-minor-expand-all)
+
+
+;;; Build tools
+;;;; compilation
+;;;;; compilation mode options
+(require 'compile)
+(setq compilation-scroll-output t)
+(setq compilation-error-regexp-alist
+ (remove 'omake compilation-error-regexp-alist))
+;; (add-hook 'compilation-mode-hook #'visual-line-mode)
+
+;;;;; mode line (no "Compiling"!)
+(require 'compile)
+(diminish 'compilation-minor-mode " ‡")
+(when (< emacs-major-version 27)
+ (setcdr (assq 'compilation-in-progress minor-mode-alist) '(" ‡")))
+(when (> emacs-major-version 26)
+ (setcdr (assq 'compilation-in-progress mode-line-modes) '("‡ ")))
+
+;;;;; colorizing compilation buffer
+(setq compilation-message-face 'default)
+(require 'ansi-color)
+(defun endless/colorize-compilation ()
+ "Colorize from `compilation-filter-start' to `point'."
+ (let ((inhibit-read-only t))
+ (ansi-color-apply-on-region
+ compilation-filter-start (point))))
+
+(add-hook 'compilation-filter-hook #'endless/colorize-compilation)
+
+;;;;; compilation commands
+(use-package jao-compilation
+ :commands jao-compilation-setup
+ :bind (("C-c C" . compile)
+ ("C-c c" . jao-compile)))
+(jao-compilation-setup)
+
+;;;;; next error
+(setq next-error-find-buffer-function
+ #'next-error-buffer-on-selected-frame
+ next-error-verbose t)
+
+
+;;;; cmake
+(use-package cmake-mode :ensure t)
+
+(use-package eldoc-cmake
+ :ensure t
+ :after cmake-mode
+ :hook ((cmake-mode . eldoc-cmake-enable)))
+
+(use-package project-cmake :ensure t)
+
+
+
;;; Programming languages
;;;; Elisp
(add-hook 'emacs-lisp-mode-hook #'jao-outline-minor-mode)
@@ -236,6 +251,25 @@
("M-," . pop-tag-mark)
("C-c <" . lc-show-package-summary))))
+;;;; Rust
+
+(use-package rust-mode
+ :ensure t
+ :init
+ (setq rust-mode-treesitter-derive t))
+
+(use-package rustic
+ :ensure t
+ :after (rust-mode)
+ :config
+ (setq rustic-format-on-save nil
+ rustic-lsp-client 'eglot)
+ :custom
+ (rustic-cargo-use-last-stored-arguments t)
+ (rustic-analyzer-command '("rustup" "run" "stable" "rust-analyzer")))
+
+
+
;;;; Clojure
(use-package clojure-mode
:ensure t