diff options
Diffstat (limited to '.emacs.d/modules/thanos-tools.el')
-rw-r--r-- | .emacs.d/modules/thanos-tools.el | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/.emacs.d/modules/thanos-tools.el b/.emacs.d/modules/thanos-tools.el deleted file mode 100644 index 36bc511..0000000 --- a/.emacs.d/modules/thanos-tools.el +++ /dev/null @@ -1,176 +0,0 @@ -;;; thanos-tools.el --- Tools Configuration -*- lexical-binding: t; -*- - -;; Copyright (C) 2023 Thanos Apollo - -;; Author: Thanos Apollo <[email protected]> -;; Keywords: extensions - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see <https://www.gnu.org/licenses/>. - -;;; Commentary: -;; ╭━━━━┳╮╱╱╱╱╱╱╱╱╱╱╱╱╱╱╭━━━╮╱╱╱╱╱╭╮╭╮╱╱╱╱╱╱╱╱╭━━━╮ -;; ┃╭╮╭╮┃┃╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃╭━╮┃╱╱╱╱╱┃┃┃┃╱╱╱╱╱╱╱╱┃╭━━╯ -;; ╰╯┃┃╰┫╰━┳━━┳━╮╭━━┳━━╮┃┃╱┃┣━━┳━━┫┃┃┃╭━━╮╱╱╱╱┃╰━━┳╮╭┳━━┳━━┳━━╮ -;; ╱╱┃┃╱┃╭╮┃╭╮┃╭╮┫╭╮┃━━┫┃╰━╯┃╭╮┃╭╮┃┃┃┃┃╭╮┃╭━━╮┃╭━━┫╰╯┃╭╮┃╭━┫━━┫ -;; ╱╱┃┃╱┃┃┃┃╭╮┃┃┃┃╰╯┣━━┃┃╭━╮┃╰╯┃╰╯┃╰┫╰┫╰╯┃╰━━╯┃╰━━┫┃┃┃╭╮┃╰━╋━━┃ -;; ╱╱╰╯╱╰╯╰┻╯╰┻╯╰┻━━┻━━╯╰╯╱╰┫╭━┻━━┻━┻━┻━━╯╱╱╱╱╰━━━┻┻┻┻╯╰┻━━┻━━╯ -;; ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃┃ -;; ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╰╯ -;;; Code: -(require 'corfu) -(require 'orderless) -(require 'dabbrev) - -;; Find definitions -(global-set-key (kbd "M-.") 'xref-find-definitions) -(global-set-key (kbd "C-c L") 'display-line-numbers-mode) - -;; electric pair -(electric-pair-mode 1) - -;; auto insert templates -(auto-insert-mode 1) - -;; flycheck -(require 'flycheck) -(global-flycheck-mode) - -;; Tramp -(require 'tramp) -(setf tramp-default-method "ssh") - -;; sudo-edit -(require 'sudo-edit) -(setf sudo-edit-local-method "doas") ;; sudo is bloat - -;; Completions -(setf dabbrev-ignored-buffer-regexps '("\\.\\(?:pdf\\|jpe?g\\|png\\)\\'")) - -(setf completion-category-overrides '((file (style basic partial-completion))) - completion-styles '(orderless) - completion-cycle-threshold 2) - -;; Corfu -(global-corfu-mode) -(corfu-popupinfo-mode) - -(setf corfu-auto t - corfu-auto-delay 0.1 - corfu-auto-prefix 2 - corfu-cycle t - corfu-popupinfo-delay 0.3 - corfu-quit-at-boundary 'separator - corfu-quit-no-match t - corfu-preselect 'first - corfu-preview-current t - corfu-echo-mode t) - -(setf indent-tabs-mode nil) - -;; Register & Consult -(define-key global-map (kbd "C-x r d") 'bookmark-delete) -(define-key global-map (kbd "C-x r C-r") 'bookmark-rename) -(define-key global-map (kbd "C-x r .") 'consult-register) -(define-key global-map (kbd "C-x r s") 'consult-register-store) -(define-key global-map (kbd "C-x r b") 'consult-bookmark) - -(defvar-keymap thanos/search - :doc "Keymap for search commands." - "f" #'isearch-forward - "b" #'isearch-backward - "s" #'consult-line - "C-f" #'consult-find - "C-g" #'consult-grep - "C-i" #'consult-info - "C-l" #'consult-locate) - -(define-key global-map (kbd "C-s") thanos/search) -(define-key project-prefix-map (kbd "b") 'consult-project-buffer) -(define-key global-map (kbd "M-y") 'consult-yank-from-kill-ring) - -(setf xref-show-xrefs-function #'consult-xref - xref-show-definitions-function #'consult-xref) - -(setf register-preview-delay 0.5 - register-preview-function #'consult-register-format) - -(defun insert-brackets (&optional arg) - "Insert ARG brackets." - (interactive "P") - (insert-pair arg ?\[ ?\])) - -(global-set-key (kbd "C-x M-[") 'insert-brackets) - -;; Magit -(require 'magit) - -(defun project-magit () - "Run magit-status in the current project's root." - (interactive) - (magit-status (project-root (project-current t)))) - -(define-key project-prefix-map (kbd "g") 'project-magit) - -(setf magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1) - - -;; shell scripting -(define-auto-insert - '("\\.sh\\'" . "Bash skeleton") - '("Description:" - "#!/bin/bash\n\n")) - -(add-hook 'shell-script-mode #'auto-insert) - -;; Emacs lisp -(require 'flycheck) -(require 'rainbow-delimiters) - -(setf tab-always-indent 'complete) -(add-to-list 'completion-styles 'initials t) - -(add-hook 'emacs-lisp-mode-hook #'rainbow-delimiters-mode) -(setf flycheck-emacs-lisp-load-path 'inherit) - -(add-hook 'emacs-lisp-mode-hook 'prettify-symbols-mode) - -;; Disable checkdoc flycheck for org-src buffers -(add-hook 'org-src-mode-hook #'(lambda () - (flycheck-disable-checker 'emacs-lisp-checkdoc))) - -;; Common lisp -(setf inferior-lisp-program "sbcl") -(add-hook 'lisp-mode-hook #'rainbow-delimiters-mode) - -;; Scheme -(add-hook 'scheme-mode-hook #'rainbow-delimiters-mode) - -;; Python -(require 'python-mode) -(add-to-list 'auto-mode-alist '("\\.py\\'" . python-mode)) - -;; json -(require 'json-mode) -(add-to-list 'auto-mode-alist '("\\.json'" . json-mode)) - -;; Markdown -(require 'markdown-mode) -(add-hook 'markdown-mode-hook #'(lambda () (flyspell-mode))) -(setq markdown-header-scaling t - markdown-command "multimarkdown") - -(add-to-list 'auto-mode-alist '("\\.md\\'" . gfm-mode)) - -(provide 'thanos-tools) -;;; thanos-tools.el ends here |