summaryrefslogtreecommitdiff
path: root/emacs/coding-config.el
diff options
context:
space:
mode:
authorTCCQ <thomasmulmer02@gmail.com>2025-02-14 15:40:29 -0800
committerTCCQ <thomasmulmer02@gmail.com>2025-02-14 15:40:29 -0800
commit2576f016153baa11c6e62deeb329dd72f0aa89c8 (patch)
treeafd9e5c4cd42a67a4cacd82fc4f63622c1a26990 /emacs/coding-config.el
parent5b23587f638dde8faf821edd50d72cb988af5387 (diff)
emacs full rework from laptop
Diffstat (limited to 'emacs/coding-config.el')
-rw-r--r--emacs/coding-config.el364
1 files changed, 0 insertions, 364 deletions
diff --git a/emacs/coding-config.el b/emacs/coding-config.el
deleted file mode 100644
index e054b52..0000000
--- a/emacs/coding-config.el
+++ /dev/null
@@ -1,364 +0,0 @@
-;;; project-stuff --- Things I want for coding mostly
-
-;;; Commentary:
-
-;;; Just want to seperate the coding stuff from my other init stuff
-
-
-(add-hook 'xref-backend-functions 'gxref-xref-backend)
-
-;; don't forget that eglot exists
-;; (global-company-mode 1)
-;; (setq company-idle-delay 0.1)
-
-;; (require 'semantic/sb)
-;; (setq semantic-default-submodes
-;; '(global-semantic-idle-scheduler-mode
-;; semantic-db-minor-mode
-;; global-semantic-idle-summary-mode
-;; global-semantic-idle-completions-mode
-;; global-semantic-highlight-func-mode
-;; global-semantic-mru-bookmark-mode
-;; global-semantic-idle-local-symbol-highlight-mode)
-;; semantic-idle-scheduler-work-idle-time 5)
-;; (semantic-mode 1
-;; (global-ede-mode t)
-
-;; better commenting stuff
-(global-set-key (kbd "C-x C-;") 'comment-or-uncomment-region)
-(global-set-key (kbd "C-x ;") 'comment-line)
-(global-set-key (kbd "C-x :") 'comment-set-column) ;never gonna use but whatever
-
-(setq asm-comment-char ?#)
-
-(add-hook 'asm-mode-hook
- (lambda ()
- (add-hook 'after-save-hook
- (lambda ()
- (shell-command
- "find . -iregex '.*\\.[sS]' -exec etags -l none -r '/\\([a-zA-Z0-9\\-_]+\\):/\1/' {} +"))
- 0 t)))
-
-;; nice eglot binds
-(global-set-key (kbd "C-c f") 'eglot-code-action-quickfix)
-(global-set-key (kbd "C-c C-f") 'eglot-code-actions)
-
-;; deal white whitespace better
-(setq whitespace-style
- '(face trailing tabs missing-newline-at-eof indentation space-after-tab space-before-tab tab-mark))
-(setq fill-column 80)
-(global-hl-todo-mode 1)
-
-
-;; (require 'sr-speedbar "~/.emacs.d/sr-speedbar.el" nil)
-;; (defun speedbar-switch-and-setup ()
-;; "Switch in and out of the speedbar, opening as necessary."
-;; (interactive)
-;; (if (eq major-mode 'speedbar-mode)
-;; (select-window (previous-window))
-;; (let ((cur (current-buffer))
-;; (win (get-buffer-window "*SPEEDBAR*")))
-;; (if win
-;; (select-window win)
-;; (sr-speedbar-toggle)
-;; (select-window (get-buffer-window "*SPEEDBAR*")))
-;; (sr-speedbar-refresh)
-;; (speedbar-find-selected-file (buffer-file-name cur))
-;; (speedbar-expand-line))))
-
-;; (define-key speedbar-mode-map (kbd "q") 'sr-speedbar-toggle)
-;; (global-unset-key (kbd "M-i"))
-(global-set-key (kbd "M-i") 'imenu)
-
-(global-set-key (kbd "M-Z") 'suspend-frame)
-
-;; indent code when pasting, from
-;; https://trey-jackson.blogspot.com/2008/03/emacs-tip-15-indent-yanked-code.html
-
-;; automatically indenting yanked text if in programming-modes
-(defvar yank-indent-modes '(emacs-lisp-mode
- c-mode c++-mode
- tcl-mode sql-mode
- perl-mode cperl-mode
- java-mode jde-mode
- lisp-interaction-mode
- LaTeX-mode TeX-mode
- rust-mode
- rustic-mode)
- "Modes in which to indent regions that are yanked (or yank-popped).")
-
-(defun yank-advised-indent-function (beg end)
- "Do indentation, as long as the region isn't too large.
-BEG and END define the region."
- (indent-region beg end nil))
-
-(defadvice yank (after yank-indent activate)
- "If current mode is one of 'yank-indent-modes, indent yanked text (with prefix arg don't indent)."
- (if (and (not (ad-get-arg 0))
- (member major-mode yank-indent-modes))
- (let ((transient-mark-mode nil))
- (yank-advised-indent-function (region-beginning) (region-end)))))
-
-(defadvice yank-pop (after yank-pop-indent activate)
- "If current mode is one of 'yank-indent-modes, indent yanked text (with prefix arg don't indent)."
- (if (and (not (ad-get-arg 0))
- (member major-mode yank-indent-modes))
- (let ((transient-mark-mode nil))
- (yank-advised-indent-function (region-beginning) (region-end)))))
-
-(defadvice evil-paste-before (after yank-indent activate)
- "If current mode is one of 'yank-indent-modes, indent yanked text (with prefix arg don't indent)."
- (if (and (not (ad-get-arg 0))
- (member major-mode yank-indent-modes))
- (let ((transient-mark-mode nil))
- (yank-advised-indent-function (region-beginning) (region-end)))))
-
-(defadvice evil-paste-after (after yank-indent activate)
- "If current mode is one of 'yank-indent-modes, indent yanked text (with prefix arg don't indent)."
- (if (and (not (ad-get-arg 0))
- (member major-mode yank-indent-modes))
- (let ((transient-mark-mode nil))
- (yank-advised-indent-function (region-beginning) (region-end)))))
-
-
-;; make ibuffer play with projectile
-(require 'ibuffer)
-(add-hook 'ibuffer-hook
- (lambda ()
- (ibuffer-projectile-set-filter-groups)
- (unless (eq ibuffer-sorting-mode 'alphabetic)
- (ibuffer-do-sort-by-alphabetic))))
-
-;; make shells and whatnot slightly better
-(require 'comint)
-(setq comint-scroll-to-bottom-on-input t)
-(setq comint-scroll-to-bottom-on-output t)
-
-;; code folding
-
-(add-to-list 'load-path "~/.emacs.d/")
-;; (require 'ts-foldV)
-
-(autoload 'hide-lines "hide-lines" "Hide lines based on a regexp" t)
-(global-set-key (kbd "C-c /") 'hide-lines)
-
-;; region folding
-(autoload 'fold-this "fold-this" "arbitrary folding" t)
-(autoload 'fold-this-unfold-at-point "fold-this" "arbitrary folding" t)
-
-;; folding keybinds
-(defun fold-this-fold-forward (&optional arg)
- "Fold forward ARG number of sexps, defaulting to one."
- (interactive "p")
- (push-mark)
- (forward-sexp arg)
- (fold-this (mark) (point))
- (pop-mark))
-(defun fold-this-fold-backward (&optional arg)
- "Fold backward ARG number of sexps, defaulting to one."
- (interactive "p")
- (push-mark)
- (backward-sexp arg)
- (fold-this (point) (mark))
- (pop-mark))
-
-(define-prefix-command 'fold-map)
-(global-set-key (kbd "M-F") 'fold-map)
-
-(define-keymap :full nil
- :parent nil
- :suppress nil
- :keymap nil
- :name "fold-map"
- :prefix 'fold-map
- (kbd "c") 'fold-this
- (kbd "e") 'fold-this-unfold-at-point
- (kbd "t") 'hs-toggle-hiding
- (kbd "f") 'fold-this-fold-forward
- (kbd "b") 'fold-this-fold-backward
- (kbd "l") 'hs-hide-level)
-
-;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; ;;;;;;;;;;;;;;;; LaTeX ;;;;;;;;;;;;;;;;;
-;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; ##### Don't forget to configure
-;; ##### Okular to use emacs in
-;; ##### "Configuration/Configure Okular/Editor"
-;; ##### => Editor => Emacsclient. (you should see
-;; ##### emacsclient -a emacs --no-wait +%l %f
-;; ##### in the field "Command".
-
-(add-hook 'LaTeX-mode-hook 'turn-on-reftex)
-(setq reftex-plug-into-AUCTeX t)
-
-;; ##### Always ask for the master file
-;; ##### when creating a new TeX file.
-(setq-default TeX-master nil)
-
-;; ##### Enable synctex correlation. From Okular just press
-;; ##### Shift + Left click to go to the good line.
-(setq TeX-source-correlate-mode t
- TeX-source-correlate-start-server t)
-
-;; ### Set Okular as the default PDF viewer.
-(eval-after-load "tex"
- '(setcar (cdr (assoc 'output-pdf TeX-view-program-selection)) "Okular"))
-
-(add-hook 'tex-mode-hook (lambda ()
- (setq spell-fu-faces-exclude
- '(tex-math
- font-lock-builtin-face
- font-lock-keyword-face
- font-lock-function-name-face
- font-lock-variable-name-face
- font-latex-sedate-face))
- (outline-minor-mode 1)))
-
-(defun clean-prog-file (buffer)
- "Fixes whitespace in buffer"
- (save-excursion
- (with-current-buffer buffer
- (untabify (point-min) (point-max))
- (goto-char (point-min))
- (while (re-search-forward " +$" nil t)
- (replace-match "" nil nil)))))
-
-(add-hook 'prog-mode-hook (lambda ()
- (hs-minor-mode 1)
- ;; (flymake-mode 1)
- (spell-fu-mode 0)
- (superword-mode 1)
- (whitespace-mode 1)
- (display-fill-column-indicator-mode 1)
- (add-hook 'before-save-hook
- (lambda ()
- (if (not (eq major-mode 'makefile-gmake-mode))
- (clean-prog-file (current-buffer)))))))
-
-
-;; (add-hook 'haskell-mode-hook (lambda ()
-;; (evil-define-key 'normal local-map (kbd "M-.") 'haskell-jump-to-def)
-;; ))
-(setq haskell-tags-on-save t)
-(add-hook 'haskell-mode-hook (lambda ()
- (hindent 1)
- (interactive-haskell-mode 1)
- (eldoc-mode 1)))
-(setq haskell-process-type 'cabal-repl)
-;; (speedbar-add-supported-extension ".hs")
-(eval-after-load 'haskell-mode
- '(define-key haskell-mode-map (kbd "C-c C-o") 'haskell-compile))
-(eval-after-load 'haskell-cabal
- '(define-key haskell-cabal-mode-map (kbd "C-c C-o") 'haskell-compile))
-
-;; (use-package flymake-diagnostic-at-point
-;; :after flymake
-;; :config
-;; (setq flymake-diagnostic-at-point-timer-delay 1)
-;; (add-hook 'flymake-mode-hook #'flymake-diagnostic-at-point-mode))
-
-(use-package sideline
- :init
- (setq sideline-backends-skip-current-line t ; don't display on current line
- sideline-order-left 'down ; or 'up
- sideline-order-right 'up ; or 'down
- sideline-format-left "%s " ; format for left aligment
- sideline-format-right " %s" ; format for right aligment
- sideline-priority 100 ; overlays' priority
- sideline-display-backend-name t) ; display the backend name
- :hook ((flycheck-mode . sideline-mode) ; for `sideline-flycheck`
- (flymake-mode . sideline-mode)) ; for `sideline-flymake`
- :init
- (setq sideline-backends-right '(sideline-flymake)))
-
-
-;; eshell stuff
-(require 'eshell)
-(require 'esh-help)
-(setup-esh-help-eldoc)
-(add-hook 'eshell-mode-hook (lambda () (eldoc-mode 1)))
-(add-hook 'eshell-mode-hook 'eshell-fringe-status-mode)
-(require 'em-smart)
-(setq eshell-where-to-jump 'begin)
-(setq eshell-review-quick-commands 'not-even-short-output)
-(setq eshell-smart-space-goes-to-end t)
-(add-to-list 'eshell-modules-list 'eshell-smart)
-(eshell-vterm-mode 1)
-(setq eshell-visual-commands
- (append eshell-visual-commands
- '("ytfzf" "nmtui" "w3m")))
-
-(add-hook 'vterm-mode-hook (lambda ()
- (hl-line-mode 0)))
-(add-hook 'eshell-mode-hook (lambda ()
- (hl-line-mode 0)))
-
-(define-key vterm-mode-map (kbd "M-W") 'persp-switch-to-buffer)
-(define-key vterm-mode-map (kbd "M-k") 'persp-kill-buffer)
-(define-key vterm-mode-map (kbd "M-p") 'persp-key-map)
-
-(require 'evil)
-(evil-set-initial-state 'vterm-mode 'emacs)
-
-(define-key eshell-mode-map (kbd "M-o") 'other-window)
-(define-key eshell-mode-map (kbd "M-W") 'switch-buffer)
-(define-key eshell-mode-map (kbd "C-l") (lambda ()
- (interactive)
- (recenter-top-bottom 0)))
-
-;; compilation stuff
-(global-set-key (kbd "M-m") (lambda ()
- (interactive)
- (if flymake-mode
- (flymake-goto-next-error)
- (next-error))))
-(global-set-key (kbd "M-M") 'recompile)
-(setq compilation-always-kill t
- compilation-scroll-output t)
-;; Allow compilation buffer to be dedicated across frames
-(push '("\\*compilation\\*" . (nil (reusable-frames . t))) display-buffer-alist)
-
-
-;; better searching
-(setq counsel-grep-base-command
- "rg -i -M 120 --no-heading --line-number --color never '%s' %s")
-(global-set-key (kbd "C-s") 'counsel-grep-or-swiper)
-(global-set-key (kbd "C-S-s") 'isearch-forward)
-(define-key evil-normal-state-map (kbd "C-r") 'counsel-rg)
-
-(require 'persp-mode)
-;; (persp-mode 1)
-
-
-(with-eval-after-load "persp-mode"
- (defvar after-switch-to-buffer-functions nil)
- (defvar after-display-buffer-functions nil)
-
- (if (fboundp 'advice-add)
- ;;Modern way
- (progn
- (defun after-switch-to-buffer-adv (&rest r)
- (apply #'run-hook-with-args 'after-switch-to-buffer-functions r))
- (defun after-display-buffer-adv (&rest r)
- (apply #'run-hook-with-args 'after-display-buffer-functions r))
- (advice-add #'switch-to-buffer :after #'after-switch-to-buffer-adv)
- (advice-add #'display-buffer :after #'after-display-buffer-adv))
-
- (add-hook 'after-switch-to-buffer-functions
- #'(lambda (bn) (when (and persp-mode
- (not persp-temporarily-display-buffer))
- (persp-add-buffer bn)))))
-
- (setq persp-add-buffer-on-after-change-major-mode 'free
- persp-autokill-buffer-on-remove t
- persp-kill-foreign-buffer-behaviour 'dont-ask)
- (global-set-key (kbd "M-p") 'persp-key-map)
- (global-set-key (kbd "C-x b") #'persp-switch-to-buffer)
- (global-set-key (kbd "C-x B") #'switch-to-buffer)
- (global-set-key (kbd "C-x C-b") (lambda ()
- (interactive)
- (with-persp-buffer-list () (ibuffer))))
- (global-set-key (kbd "M-W") #'persp-switch-to-buffer)
- (global-set-key (kbd "C-x k") #'persp-kill-buffer))
-