change dump

This commit is contained in:
outfoxxed 2025-03-01 00:21:40 -08:00
parent fc0655dc04
commit ad09b481ac
Signed by: outfoxxed
GPG key ID: 4C88A185FB89301E

109
init.el
View file

@ -10,7 +10,7 @@
;; Hide scroll bar
(toggle-scroll-bar -1)
;; Use JBMono
(set-frame-font "-JB-JetBrainsMonoNL Nerd Font-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1" nil t))
(set-frame-font "-JB-JetBrainsMonoNL Nerd Font-normal-normal-normal-*-14-*-*-*-m-0-iso10646-1" nil t))
(apply-appearance-first-frame)
(apply-appearance-per-frame)
@ -47,24 +47,42 @@
mouse-wheel-follow-mouse +1
scroll-step 1) ;; C-n C-p scroll step
;; Fix (?) mouse focus getting stuck in a single frame = https://stackoverflow.com/questions/1139124/emacs-mouse-focus-stuck-in-one-frame
(setq focus-follows-mouse t
mouse-autoselect-window t)
;; Disable annoying bell sound
(setq ring-bell-function 'ignore)
;; Highlight matching parens faster
(setq show-paren-delay 0)
(setq tab-width 2)
;; Indentation
(setq-default tab-width 2)
(defun disable-tabs ()
(setq tab-width 2)
(indent-tabs-mode -1))
(defun enable-tabs ()
(setq tab-width 2)
(indent-tabs-mode +1))
(indent-tabs-mode t))
(setq tab-always-indent nil) ;; tab key inserts tabs after hitting indent point
;; display mismatched whitespace at the beginning or end of lines
(add-hook 'after-change-major-mode-hook
(lambda ()
(if (derived-mode-p 'prog-mode)
(progn
(if (eq indent-tabs-mode t)
(setq whitespace-style '(face indentation::tab trailing missing-newline-at-eof))
(setq whitespace-style '(face indentation::space trailing missing-newline-at-eof)))
(whitespace-mode t)))))
(add-hook 'prog-mode-hook 'enable-tabs)
(add-hook 'lisp-mode-hook 'disable-tabs)
(add-hook 'emacs-lisp-mode-hook 'disable-tabs)
(add-hook 'nxml-mode-hook 'enable-tabs)
(setq nxml-child-indent 2
nxml-attribute-indent 4)
(let ((savedir (concat (file-name-as-directory (getenv "XDG_DATA_HOME")) "emacs/autosave/")))
(make-directory savedir t)
(setq backup-directory-alist `(("." . ,savedir)))
@ -95,6 +113,11 @@
(setq-local interprogram-paste-function nil)))
(evil-mode +1))
(use-package evil-collection
:after evil
:config
(evil-collection-init '(magit ibuffer)))
(use-package better-jumper
:after evil
:config
@ -107,18 +130,14 @@
(define-key evil-normal-state-map (kbd "SPC j") #'better-jumper-set-jump)
(better-jumper-mode))
(use-package evil-collection
:after evil
:config
(evil-collection-init '(magit ibuffer)))
(use-package crux)
;; Avy (jump to char)
(use-package avy
:bind (("C-;" . avy-goto-char)
("C-:" . avy-goto-word-1)
("M-g g" . avy-goto-line)))
:bind
(("C-;" . avy-goto-char)
("C-:" . avy-goto-word-1)
("M-g g" . avy-goto-line)))
(use-package undo-tree
:after evil
@ -130,7 +149,10 @@
(global-undo-tree-mode))
;; Magit (git frontend)
(use-package magit)
(use-package magit
:config
(setq magit-diff-refine-hunk t
magit-diff-refine-ignore-whitespace t))
;; Rainbow-Mode (show hex strings in color)
(use-package rainbow-mode)
@ -140,7 +162,10 @@
:config
(keymap-set vertico-map "M-j" #'vertico-next)
(keymap-set vertico-map "M-k" #'vertico-previous)
(keymap-set vertico-map "C-j" #'vertico-next)
(keymap-set vertico-map "C-k" #'vertico-previous)
(keymap-set vertico-map "M-`" #'vertico-exit)
(keymap-set vertico-map "M-ESC" #'vertico-exit)
(vertico-mode))
(use-package vertico-indexed
@ -257,6 +282,7 @@
(define-key company-active-map (kbd "<return>") nil)
(define-key company-active-map (kbd "RET") nil)
(define-key company-active-map (kbd "M-`") #'company-complete-selection)
(define-key company-active-map (kbd "M-ESC") #'company-complete-selection)
(define-key company-active-map (kbd "M-n") #'company-select-next)
(define-key company-active-map (kbd "M-p") #'company-select-previous)
(define-key company-active-map (kbd "M-j") #'company-select-next)
@ -306,7 +332,10 @@
(use-package lsp-treemacs
:after (lsp-mode treemacs))
;; Java lsp
(use-package kotlin-mode
:after lsp-mode
:hook (kotlin-mode . lsp-deferred))
(use-package lsp-java
:after lsp-mode
:hook (java-ts-mode . lsp-deferred)
@ -318,6 +347,13 @@
"-configuration" (concat (file-name-as-directory (getenv "XDG_CACHE_HOME")) "jdtls")
"-data" "../.jdtls")))
(setq lsp-glsl-executable '("glslls" "--stdin" "--target-env" "opengl"))
(use-package groovy-mode)
;; Nasm support
(use-package nasm-mode)
;; Nix support
(use-package nix-mode
:mode "\\.nix\\'"
@ -325,24 +361,63 @@
;; QML Support
(setq qml-ts-mode-indent-offset 2)
;; Haskell
(use-package haskell-ts-mode
:hook (haskell-ts-mode . disable-tabs))
;; Zig
(use-package zig-ts-mode
:mode (("\\.zig\\'" . zig-ts-mode)
("\\.zon\\'" . zig-ts-mode))
:hook ((zig-ts-mode . lsp-deferred)
(zig-ts-mode . disable-tabs)
(zig-ts-mode . (lambda () (setq-local tab-width 4)))))
(use-package qml-ts-mode
:after lsp-mode
:config
(add-hook 'qml-ts-mode-hook
(lambda () (setq-local electric-indent-chars '(?\n ?\( ?\) ?{ ?} ?\[ ?\] ?\; ?,)))))
(add-to-list 'lsp-language-id-configuration '(qml-ts-mode . "qml-ts"))
(lsp-register-client
(make-lsp-client :new-connection (lsp-stdio-connection '("qmlls" "-E"))
:activation-fn (lsp-activate-on "qml-ts")
:server-id 'qmlls))
(add-hook 'qml-ts-mode-hook (lambda ()
(setq-local electric-indent-chars '(?\n ?\( ?\) ?{ ?} ?\[ ?\] ?\; ?,))
(lsp-deferred))))
;; Astro support
;;(use-package astro-ts-mode
;;:after lsp-mode
;;:config
;;(add-to-list 'lsp-language-id-configuration '(astro-ts-mode . "astro-ts"))
;;(lsp-register-client
;;(make-lsp-client :new-connection (lsp-stdio-connection "astro-ls")
;;:activation-fn (lsp-activate-on "astro-ts")
;;:server-id 'astro-ls)))
(add-to-list 'auto-mode-alist '("\\.rs\\'" . rust-ts-mode))
(add-to-list 'auto-mode-alist '("\\.hs\\'" . haskell-ts-mode))
(add-to-list 'auto-mode-alist '("\\.ts\\'" . typescript-ts-mode))
(add-to-list 'auto-mode-alist '("\\.tsx\\'" . typescript-ts-mode))
(add-to-list 'auto-mode-alist '("\\.astro\\'" . astro-ts-mode))
(add-to-list 'auto-mode-alist '("\\.toml\\'" . toml-ts-mode))
(add-to-list 'auto-mode-alist '("\\.yaml\\'" . yaml-ts-mode))
(add-to-list 'auto-mode-alist '("\\.yml\\'" . yaml-ts-mode))
(add-hook 'rust-ts-mode-hook #'lsp-deferred)
(add-hook 'c++-ts-mode-hook #'lsp-deferred)
(add-hook 'typescript-ts-mode-hook #'lsp-deferred)
(add-hook 'astro-ts-mode-hook #'lsp-deferred)
(add-hook 'glsl-mode-hook #'lsp-deferred)
(add-hook 'haskell-ts-mode-hook #'lsp-deferred)
(add-hook 'zig-ts-mode-hook #'lsp-deferred)
;; Fix indent
(add-hook 'rust-ts-mode-hook
(lambda () (setq-local electric-indent-chars '(?\n ?\( ?\) ?{ ?} ?\[ ?\] ?\; ?,))))
(add-hook 'yaml-ts-mode #'disable-tabs)
(setq gc-cons-threshold (* 1024 1024 100)
read-process-output-max (* 1024 1024))