mirror of
https://codeberg.org/frosty/init.el.git
synced 2024-09-19 03:36:40 -04:00
more organization
This commit is contained in:
parent
f11c94e725
commit
41ec997a68
215
README.org
215
README.org
|
@ -56,22 +56,21 @@
|
|||
:config (mode-line-bell-mode))
|
||||
#+END_SRC
|
||||
|
||||
* Input and Text Manipulation
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
|
||||
;;; Buffer input and interaction
|
||||
|
||||
;; Better mouse scrolling
|
||||
(setq mouse-wheel-progressive-speed nil)
|
||||
|
||||
;; Use short yes/no answers
|
||||
(setq-default use-short-answers t)
|
||||
|
||||
;; Auto-pair parenthesis
|
||||
(electric-pair-mode 1)
|
||||
|
||||
;; VIM emulation
|
||||
(unless (package-installed-p 'evil)
|
||||
(package-install 'evil))
|
||||
;; Automatically trim trailing whitespace on save
|
||||
(add-hook 'before-save-hook 'delete-trailing-whitespace)
|
||||
|
||||
;;; VIM emulation
|
||||
(use-package evil
|
||||
:ensure t
|
||||
:init
|
||||
(setq
|
||||
;; Scroll up with C-u
|
||||
evil-want-C-u-scroll t
|
||||
|
@ -81,151 +80,137 @@
|
|||
evil-split-window-below t
|
||||
;; Create vsplit windows to the right
|
||||
evil-vsplit-window-right t)
|
||||
(require 'evil)
|
||||
(evil-mode 1)
|
||||
:config (evil-mode))
|
||||
|
||||
;; Automatically trim trailing whitespace on save
|
||||
(add-hook 'before-save-hook 'delete-trailing-whitespace)
|
||||
;; Org extension for Evil
|
||||
(use-package evil-org
|
||||
:ensure t
|
||||
:after org
|
||||
:hook (org-mode . evil-org-mode))
|
||||
#+END_SRC
|
||||
|
||||
;;; General interface
|
||||
|
||||
;; Completion UI
|
||||
(unless (package-installed-p 'vertico)
|
||||
(package-install 'vertico))
|
||||
(require 'vertico)
|
||||
(vertico-mode 1)
|
||||
* General Interface Improvements
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
;; Use short yes/no answers
|
||||
(setq-default use-short-answers t)
|
||||
|
||||
;;; Completion UI
|
||||
(use-package vertico
|
||||
:ensure t
|
||||
:config
|
||||
(vertico-mode)
|
||||
;; Improve directory navigation
|
||||
(define-key vertico-map (kbd "RET") #'vertico-directory-enter)
|
||||
(define-key vertico-map (kbd "DEL") #'vertico-directory-delete-word)
|
||||
(define-key vertico-map (kbd "M-d") #'vertico-directory-delete-char)
|
||||
(define-key vertico-map (kbd "M-d") #'vertico-directory-delete-char))
|
||||
|
||||
;;; Completion style
|
||||
(use-package orderless
|
||||
:ensure t
|
||||
:config
|
||||
(setq completion-styles '(orderless basic)
|
||||
completion-category-overrides '((file (styles basic partial-completion)))))
|
||||
|
||||
;;; Extended completion utilities
|
||||
(unless (package-installed-p 'consult)
|
||||
(package-install 'consult))
|
||||
(use-package consult
|
||||
:ensure t
|
||||
:config
|
||||
(global-set-key [rebind switch-to-buffer] #'consult-buffer)
|
||||
(global-set-key (kbd "C-c j") #'consult-line)
|
||||
(global-set-key (kbd "C-c i") #'consult-imenu)
|
||||
(global-set-key (kbd "C-c i") #'consult-imenu))
|
||||
|
||||
;; Completion options
|
||||
(setq read-buffer-completion-ignore-case t
|
||||
read-file-name-completion-ignore-case t
|
||||
completion-ignore-case t)
|
||||
#+END_SRC
|
||||
|
||||
;;; LSP Support
|
||||
(unless (package-installed-p 'eglot)
|
||||
(package-install 'eglot))
|
||||
|
||||
* Programming Extensions
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
;;; LSP support
|
||||
(use-package eglot
|
||||
:ensure t
|
||||
;; Enable LSP support by default in programming buffers
|
||||
(add-hook 'prog-mode-hook #'eglot-ensure)
|
||||
|
||||
:hook (prog-mode-hook . eglot-ensure)
|
||||
:config
|
||||
;; Create a memorable alias for `eglot-ensure'.
|
||||
(defalias 'start-lsp-server #'eglot)
|
||||
|
||||
;; Completion style
|
||||
(unless (package-installed-p 'orderless)
|
||||
(package-install 'orderless))
|
||||
(require 'orderless)
|
||||
(setq completion-styles '(orderless basic)
|
||||
completion-category-overrides '((file (styles basic partial-completion))))
|
||||
|
||||
;; Persist history over restarts
|
||||
(require 'savehist)
|
||||
(savehist-mode 1)
|
||||
|
||||
|
||||
;;; Inline static analysis
|
||||
|
||||
;; Enabled inline static analysis
|
||||
(add-hook 'prog-mode-hook #'flymake-mode)
|
||||
(defalias 'start-lsp-server #'eglot))
|
||||
|
||||
;;; Static analysis
|
||||
(use-package flymake
|
||||
:hook (prog-mode-hook . flymake-mode)
|
||||
:config
|
||||
;; Display messages when idle, without prompting
|
||||
(setq help-at-pt-display-when-idle t)
|
||||
|
||||
;; Message navigation bindings
|
||||
(with-eval-after-load 'flymake
|
||||
(define-key flymake-mode-map (kbd "C-c n") #'flymake-goto-next-error)
|
||||
(define-key flymake-mode-map (kbd "C-c p") #'flymake-goto-prev-error))
|
||||
|
||||
;;; Pop-up completion
|
||||
(unless (package-installed-p 'corfu)
|
||||
(package-install 'corfu))
|
||||
|
||||
(use-package corfu
|
||||
:ensure t
|
||||
;; Enable autocompletion by default in programming buffers
|
||||
(add-hook 'prog-mode-hook #'corfu-mode)
|
||||
|
||||
;; Enable automatic completion.
|
||||
(setq corfu-auto t)
|
||||
|
||||
|
||||
:hook (prog-mode-hook . corfu-mode)
|
||||
;; Enable automatic completion
|
||||
:init (setq corfu-auto t))
|
||||
|
||||
;;; Git client
|
||||
(unless (package-installed-p 'magit)
|
||||
(package-install 'magit))
|
||||
|
||||
(use-package magit
|
||||
:ensure t
|
||||
:config
|
||||
;; Bind the `magit-status' command to a convenient key.
|
||||
(global-set-key (kbd "C-c g") #'magit-status)
|
||||
|
||||
;;; Indication of local VCS changes
|
||||
(unless (package-installed-p 'diff-hl)
|
||||
(package-install 'diff-hl))
|
||||
(global-set-key (kbd "C-c g") #'magit-status))
|
||||
|
||||
;;; Diff indication
|
||||
(use-package diff-hl
|
||||
:ensure t
|
||||
;; Enable `diff-hl' support by default in programming buffers
|
||||
(add-hook 'prog-mode-hook #'diff-hl-mode)
|
||||
|
||||
|
||||
|
||||
;;; Go Support
|
||||
(unless (package-installed-p 'go-mode)
|
||||
(package-install 'go-mode))
|
||||
|
||||
;;; JSON Support
|
||||
(unless (package-installed-p 'json-mode)
|
||||
(package-install 'json-mode))
|
||||
|
||||
;;; Lua Support
|
||||
(unless (package-installed-p 'lua-mode)
|
||||
(package-install 'lua-mode))
|
||||
|
||||
;;; Rust Support
|
||||
(unless (package-installed-p 'rust-mode)
|
||||
(package-install 'rust-mode))
|
||||
|
||||
;;; YAML Support
|
||||
(unless (package-installed-p 'yaml-mode)
|
||||
(package-install 'yaml-mode))
|
||||
|
||||
;;; Markdown support
|
||||
(unless (package-installed-p 'markdown-mode)
|
||||
(package-install 'markdown-mode))
|
||||
|
||||
|
||||
|
||||
:hook (prog-mode-hook . diff-hl-mode))
|
||||
|
||||
;;; Extra language modes
|
||||
(use-package go-mode
|
||||
:ensure t)
|
||||
(use-package json-mode
|
||||
:ensure t)
|
||||
(use-package lua-mode
|
||||
:ensure t)
|
||||
(use-package rust-mode
|
||||
:ensure t)
|
||||
(use-package yaml-mode
|
||||
:ensure t)
|
||||
(use-package markdown-mode
|
||||
:ensure t)
|
||||
|
||||
;;; EditorConfig support
|
||||
(unless (package-installed-p 'editorconfig)
|
||||
(package-install 'editorconfig))
|
||||
(use-package editorconfig
|
||||
:ensure t
|
||||
:config (editorconfig-mode))
|
||||
|
||||
;; Enable EditorConfig
|
||||
(editorconfig-mode t)
|
||||
|
||||
;;; In-Emacs Terminal Emulation
|
||||
(unless (package-installed-p 'eat)
|
||||
(package-install 'eat))
|
||||
|
||||
;; Close the terminal buffer when the shell terminates.
|
||||
(setq eat-kill-buffer-on-exit t)
|
||||
|
||||
;; Enable mouse-support.
|
||||
(setq eat-enable-mouse t)
|
||||
;;; Terminal emulator
|
||||
(use-package eat
|
||||
:ensure t
|
||||
:config
|
||||
(setq
|
||||
;; Close the terminal buffer when the shell terminates
|
||||
eat-kill-buffer-on-exit t
|
||||
;; Enable mouse support
|
||||
eat-enable-mouse t))
|
||||
|
||||
;;; Jump to arbitrary positions
|
||||
(unless (package-installed-p 'avy)
|
||||
(package-install 'avy))
|
||||
(global-set-key (kbd "C-c z") #'avy-goto-word-1)
|
||||
(use-package avy
|
||||
:ensure t
|
||||
:config
|
||||
(global-set-key (kbd "C-c z") #'avy-goto-word-1))
|
||||
#+END_SRC
|
||||
|
||||
;; Store automatic customisation options elsewhere
|
||||
* Etcetera
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
;; Store automatic customization options elsewhere
|
||||
(setq custom-file (locate-user-emacs-file "custom.el"))
|
||||
(when (file-exists-p custom-file)
|
||||
(load custom-file))
|
||||
|
||||
;; Persist history over restarts
|
||||
(use-package savehist
|
||||
:config (savehist-mode))
|
||||
#+END_SRC
|
||||
|
|
Loading…
Reference in a new issue