change dump
This commit is contained in:
parent
fc0655dc04
commit
ad09b481ac
109
init.el
109
init.el
|
@ -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))
|
||||
|
||||
|
|
Loading…
Reference in a new issue