change dump
This commit is contained in:
parent
fc0655dc04
commit
ad09b481ac
109
init.el
109
init.el
|
@ -10,7 +10,7 @@
|
||||||
;; Hide scroll bar
|
;; Hide scroll bar
|
||||||
(toggle-scroll-bar -1)
|
(toggle-scroll-bar -1)
|
||||||
;; Use JBMono
|
;; 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-first-frame)
|
||||||
(apply-appearance-per-frame)
|
(apply-appearance-per-frame)
|
||||||
|
@ -47,24 +47,42 @@
|
||||||
mouse-wheel-follow-mouse +1
|
mouse-wheel-follow-mouse +1
|
||||||
scroll-step 1) ;; C-n C-p scroll step
|
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
|
;; Disable annoying bell sound
|
||||||
(setq ring-bell-function 'ignore)
|
(setq ring-bell-function 'ignore)
|
||||||
|
|
||||||
;; Highlight matching parens faster
|
;; Highlight matching parens faster
|
||||||
(setq show-paren-delay 0)
|
(setq show-paren-delay 0)
|
||||||
|
|
||||||
(setq tab-width 2)
|
;; Indentation
|
||||||
|
(setq-default tab-width 2)
|
||||||
(defun disable-tabs ()
|
(defun disable-tabs ()
|
||||||
(setq tab-width 2)
|
|
||||||
(indent-tabs-mode -1))
|
(indent-tabs-mode -1))
|
||||||
(defun enable-tabs ()
|
(defun enable-tabs ()
|
||||||
(setq tab-width 2)
|
(indent-tabs-mode t))
|
||||||
(indent-tabs-mode +1))
|
(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 'prog-mode-hook 'enable-tabs)
|
||||||
(add-hook 'lisp-mode-hook 'disable-tabs)
|
(add-hook 'lisp-mode-hook 'disable-tabs)
|
||||||
(add-hook 'emacs-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/")))
|
(let ((savedir (concat (file-name-as-directory (getenv "XDG_DATA_HOME")) "emacs/autosave/")))
|
||||||
(make-directory savedir t)
|
(make-directory savedir t)
|
||||||
(setq backup-directory-alist `(("." . ,savedir)))
|
(setq backup-directory-alist `(("." . ,savedir)))
|
||||||
|
@ -95,6 +113,11 @@
|
||||||
(setq-local interprogram-paste-function nil)))
|
(setq-local interprogram-paste-function nil)))
|
||||||
(evil-mode +1))
|
(evil-mode +1))
|
||||||
|
|
||||||
|
(use-package evil-collection
|
||||||
|
:after evil
|
||||||
|
:config
|
||||||
|
(evil-collection-init '(magit ibuffer)))
|
||||||
|
|
||||||
(use-package better-jumper
|
(use-package better-jumper
|
||||||
:after evil
|
:after evil
|
||||||
:config
|
:config
|
||||||
|
@ -107,18 +130,14 @@
|
||||||
(define-key evil-normal-state-map (kbd "SPC j") #'better-jumper-set-jump)
|
(define-key evil-normal-state-map (kbd "SPC j") #'better-jumper-set-jump)
|
||||||
(better-jumper-mode))
|
(better-jumper-mode))
|
||||||
|
|
||||||
(use-package evil-collection
|
|
||||||
:after evil
|
|
||||||
:config
|
|
||||||
(evil-collection-init '(magit ibuffer)))
|
|
||||||
|
|
||||||
(use-package crux)
|
(use-package crux)
|
||||||
|
|
||||||
;; Avy (jump to char)
|
;; Avy (jump to char)
|
||||||
(use-package avy
|
(use-package avy
|
||||||
:bind (("C-;" . avy-goto-char)
|
:bind
|
||||||
("C-:" . avy-goto-word-1)
|
(("C-;" . avy-goto-char)
|
||||||
("M-g g" . avy-goto-line)))
|
("C-:" . avy-goto-word-1)
|
||||||
|
("M-g g" . avy-goto-line)))
|
||||||
|
|
||||||
(use-package undo-tree
|
(use-package undo-tree
|
||||||
:after evil
|
:after evil
|
||||||
|
@ -130,7 +149,10 @@
|
||||||
(global-undo-tree-mode))
|
(global-undo-tree-mode))
|
||||||
|
|
||||||
;; Magit (git frontend)
|
;; 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)
|
;; Rainbow-Mode (show hex strings in color)
|
||||||
(use-package rainbow-mode)
|
(use-package rainbow-mode)
|
||||||
|
@ -140,7 +162,10 @@
|
||||||
:config
|
:config
|
||||||
(keymap-set vertico-map "M-j" #'vertico-next)
|
(keymap-set vertico-map "M-j" #'vertico-next)
|
||||||
(keymap-set vertico-map "M-k" #'vertico-previous)
|
(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-`" #'vertico-exit)
|
||||||
|
(keymap-set vertico-map "M-ESC" #'vertico-exit)
|
||||||
(vertico-mode))
|
(vertico-mode))
|
||||||
|
|
||||||
(use-package vertico-indexed
|
(use-package vertico-indexed
|
||||||
|
@ -257,6 +282,7 @@
|
||||||
(define-key company-active-map (kbd "<return>") nil)
|
(define-key company-active-map (kbd "<return>") nil)
|
||||||
(define-key company-active-map (kbd "RET") 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-`") #'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-n") #'company-select-next)
|
||||||
(define-key company-active-map (kbd "M-p") #'company-select-previous)
|
(define-key company-active-map (kbd "M-p") #'company-select-previous)
|
||||||
(define-key company-active-map (kbd "M-j") #'company-select-next)
|
(define-key company-active-map (kbd "M-j") #'company-select-next)
|
||||||
|
@ -306,7 +332,10 @@
|
||||||
(use-package lsp-treemacs
|
(use-package lsp-treemacs
|
||||||
:after (lsp-mode treemacs))
|
:after (lsp-mode treemacs))
|
||||||
|
|
||||||
;; Java lsp
|
(use-package kotlin-mode
|
||||||
|
:after lsp-mode
|
||||||
|
:hook (kotlin-mode . lsp-deferred))
|
||||||
|
|
||||||
(use-package lsp-java
|
(use-package lsp-java
|
||||||
:after lsp-mode
|
:after lsp-mode
|
||||||
:hook (java-ts-mode . lsp-deferred)
|
:hook (java-ts-mode . lsp-deferred)
|
||||||
|
@ -318,6 +347,13 @@
|
||||||
"-configuration" (concat (file-name-as-directory (getenv "XDG_CACHE_HOME")) "jdtls")
|
"-configuration" (concat (file-name-as-directory (getenv "XDG_CACHE_HOME")) "jdtls")
|
||||||
"-data" "../.jdtls")))
|
"-data" "../.jdtls")))
|
||||||
|
|
||||||
|
(setq lsp-glsl-executable '("glslls" "--stdin" "--target-env" "opengl"))
|
||||||
|
|
||||||
|
(use-package groovy-mode)
|
||||||
|
|
||||||
|
;; Nasm support
|
||||||
|
(use-package nasm-mode)
|
||||||
|
|
||||||
;; Nix support
|
;; Nix support
|
||||||
(use-package nix-mode
|
(use-package nix-mode
|
||||||
:mode "\\.nix\\'"
|
:mode "\\.nix\\'"
|
||||||
|
@ -325,24 +361,63 @@
|
||||||
|
|
||||||
;; QML Support
|
;; QML Support
|
||||||
(setq qml-ts-mode-indent-offset 2)
|
(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
|
(use-package qml-ts-mode
|
||||||
|
:after lsp-mode
|
||||||
:config
|
:config
|
||||||
(add-hook 'qml-ts-mode-hook
|
(add-to-list 'lsp-language-id-configuration '(qml-ts-mode . "qml-ts"))
|
||||||
(lambda () (setq-local electric-indent-chars '(?\n ?\( ?\) ?{ ?} ?\[ ?\] ?\; ?,)))))
|
(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 '("\\.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 '("\\.ts\\'" . typescript-ts-mode))
|
||||||
(add-to-list 'auto-mode-alist '("\\.tsx\\'" . 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 '("\\.toml\\'" . toml-ts-mode))
|
||||||
(add-to-list 'auto-mode-alist '("\\.yaml\\'" . yaml-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 'rust-ts-mode-hook #'lsp-deferred)
|
||||||
(add-hook 'c++-ts-mode-hook #'lsp-deferred)
|
(add-hook 'c++-ts-mode-hook #'lsp-deferred)
|
||||||
(add-hook 'typescript-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
|
;; Fix indent
|
||||||
(add-hook 'rust-ts-mode-hook
|
(add-hook 'rust-ts-mode-hook
|
||||||
(lambda () (setq-local electric-indent-chars '(?\n ?\( ?\) ?{ ?} ?\[ ?\] ?\; ?,))))
|
(lambda () (setq-local electric-indent-chars '(?\n ?\( ?\) ?{ ?} ?\[ ?\] ?\; ?,))))
|
||||||
|
|
||||||
|
(add-hook 'yaml-ts-mode #'disable-tabs)
|
||||||
|
|
||||||
(setq gc-cons-threshold (* 1024 1024 100)
|
(setq gc-cons-threshold (* 1024 1024 100)
|
||||||
read-process-output-max (* 1024 1024))
|
read-process-output-max (* 1024 1024))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue