From c25ad8aede70f128e27a62f038da42647393439e Mon Sep 17 00:00:00 2001 From: JackJ30 Date: Sun, 10 Nov 2024 16:51:14 -0500 Subject: started new basic config --- .config/emacs/Emacs.org | 514 ------------------------------------------------ .config/emacs/init.el | 439 ++++------------------------------------- .config/emacs/old.org | 514 ++++++++++++++++++++++++++++++++++++++++++++++++ .config/mpd/mpd.pid | 2 +- 4 files changed, 556 insertions(+), 913 deletions(-) delete mode 100644 .config/emacs/Emacs.org create mode 100644 .config/emacs/old.org (limited to '.config') diff --git a/.config/emacs/Emacs.org b/.config/emacs/Emacs.org deleted file mode 100644 index 5e2353b..0000000 --- a/.config/emacs/Emacs.org +++ /dev/null @@ -1,514 +0,0 @@ -#+TITLE: Emacs.org config -#+PROPERTY: header-args: :tangle "./init.el" :mkdirp yes -#+STARTUP: fold -* UI - -#+begin_src emacs-lisp - (setq make-backup-files nil - create-lockfiles nil - erc-join-buffer 'window - confirm-kill-processes nil) - - (setq inhibit-startup-message t - backup-inhibited t) - - (scroll-bar-mode -1) - (tool-bar-mode -1) - (tooltip-mode -1) - (menu-bar-mode -1) - - (setq scroll-up-aggressively nil - scroll-down-aggressively nil - scroll-conservatively 101 - display-line-numbers-type 'relative) - - (setq scroll-step 1) - (setq scroll-margin 8) - - (column-number-mode +1) - (global-display-line-numbers-mode t) - (setq-default fill-column 80) - - (electric-pair-mode +1) - - (dolist (mode '(org-mode-hook - term-mode-hook - vterm-mode-hook - shell-mode-hook - eshell-mode-hook - mu4e-main-mode-hook - mu4e-headers-mode-hook)) - (add-hook mode (lambda () (display-line-numbers-mode 0)))) - - (set-frame-parameter (selected-frame) 'alpha '(90 . 90)) - (add-to-list 'default-frame-alist '(alpha . (90 . 90))) - - (set-face-attribute 'default nil - :font "DejaVu Sans Mono" - :family "Monospace" - :height 97) - (set-face-attribute 'variable-pitch nil - :font "DejaVu Sans" - :height 97) - (set-face-attribute 'fixed-pitch nil - :font "DejaVu Sans Mono" - :family "Monospace" - :height 97) - -#+end_src - -* packages - -#+begin_src emacs-lisp - (defvar elpaca-installer-version 0.7) - (defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory)) - (defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory)) - (defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory)) - (defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git" - :ref nil :depth 1 - :files (:defaults "elpaca-test.el" (:exclude "extensions")) - :build (:not elpaca--activate-package))) - (let* ((repo (expand-file-name "elpaca/" elpaca-repos-directory)) - (build (expand-file-name "elpaca/" elpaca-builds-directory)) - (order (cdr elpaca-order)) - (default-directory repo)) - (add-to-list 'load-path (if (file-exists-p build) build repo)) - (unless (file-exists-p repo) - (make-directory repo t) - (when (< emacs-major-version 28) (require 'subr-x)) - (condition-case-unless-debug err - (if-let ((buffer (pop-to-buffer-same-window "*elpaca-bootstrap*")) - ((zerop (apply #'call-process `("git" nil ,buffer t "clone" - ,@(when-let ((depth (plist-get order :depth))) - (list (format "--depth=%d" depth) "--no-single-branch")) - ,(plist-get order :repo) ,repo)))) - ((zerop (call-process "git" nil buffer t "checkout" - (or (plist-get order :ref) "--")))) - (emacs (concat invocation-directory invocation-name)) - ((zerop (call-process emacs nil buffer nil "-Q" "-L" "." "--batch" - "--eval" "(byte-recompile-directory \".\" 0 'force)"))) - ((require 'elpaca)) - ((elpaca-generate-autoloads "elpaca" repo))) - (progn (message "%s" (buffer-string)) (kill-buffer buffer)) - (error "%s" (with-current-buffer buffer (buffer-string)))) - ((error) (warn "%s" err) (delete-directory repo 'recursive)))) - (unless (require 'elpaca-autoloads nil t) - (require 'elpaca) - (elpaca-generate-autoloads "elpaca" repo) - (load "./elpaca-autoloads"))) - (add-hook 'after-init-hook #'elpaca-process-queues) - (elpaca `(,@elpaca-order)) - - (elpaca elpaca-use-package - ;; Enable use-package :ensure support for Elpaca. - (elpaca-use-package-mode) - (setq elpaca-use-package-by-default t)) - - (elpaca-wait) - - (use-package diminish) - (elpaca-wait) - - (diminish 'abbrev-mode) - (auto-revert-mode 1) - (diminish 'auto-revert-mode) - (diminish 'eldoc-mode) - (diminish 'isearch-mode) - (diminish 'abbrev-mode) - - (recentf-mode 1) - - (use-package no-littering - :config - (add-to-list 'recentf-exclude - (recentf-expand-file-name no-littering-var-directory)) - (add-to-list 'recentf-exclude - (recentf-expand-file-name no-littering-etc-directory)) - (setq custom-file (no-littering-expand-etc-file-name "custom.el"))) - - (use-package gcmh - :diminish gcmh-mode - :init - (gcmh-mode 1)) - - (use-package which-key - :init (which-key-mode) - :diminish which-key-mode - :config - (setq which-key-idle-delay 3)) - - (use-package vertico - :ensure (vertico :files (:defaults "extensions/*")) - :diminish vertico-mode - :bind (:map vertico-map - ("C-n" . vertico-next) - ("C-p" . vertico-previous)) - :init - (vertico-mode 1) - ;; (vertico-flat-mode 1) - (setq vertico-count 15)) - - (use-package vertico-directory - :after vertico - :ensure nil - ;; More convenient directory navigation commands - :bind (:map vertico-map - ("RET" . vertico-directory-enter) - ("DEL" . vertico-directory-delete-char) - ("M-DEL" . vertico-directory-delete-word)) - ;; Tidy shadowed file names - :hook (rfn-eshadow-update-overlay . vertico-directory-tidy)) - - (use-package savehist - :ensure nil - :diminish savehist-mode - :init - (savehist-mode 1)) - - (use-package marginalia - :diminish marginalia-mode - :after vertico - :custom - (marginalia-annotators '(marginalia-annotators-heavy marginalia-annotators-light nil)) - :config - (marginalia-mode)) - - (use-package consult - :config - (setq completion-in-region-function - (lambda (&rest args) - (apply (if vertico-mode - #'consult-completion-in-region - #'completion--in-region) - args))) - (consult-customize consult-buffer :preview-key "M-.")) - - (use-package orderless - :config - (setq completion-styles '(orderless) - completion-category-defaults nil - completion-category-overrides '((file (styles . (partial-completion)))))) - - (use-package doom-themes - :config - (setq doom-themes-enable-bold t - doom-themes-enable-italic t) - (load-theme 'doom-vibrant t) - (doom-themes-org-config)) - - (use-package embark - :bind - (("C-." . embark-act) - ("C-;" . embark-dwim)) - :init - (setq prefix-help-command #'embark-prefix-help-command) - :config - (setq embark--minimal-indicator-overlay nil) - (setq embark-indicators (delq 'embark-mixed-indicator embark-indicators)) - (add-to-list 'embark-indicators #'embark-minimal-indicator)) - - (use-package embark-consult - :config - (define-key embark-file-map (kbd "S") 'sudo-find-file)) - - (use-package nerd-icons) - (use-package all-the-icons) - - (use-package flyspell - :ensure nil - ;; :diminish flyspell-mode - ) - - (use-package flyspell-correct - :after flyspell) - - (use-package consult-flyspell - :ensure (consult-flyspell :host gitlab :repo "OlMon/consult-flyspell" :branch "master") - :config - ;; default settings - (setq consult-flyspell-select-function (lambda () (flyspell-correct-at-point) (consult-flyspell)) - consult-flyspell-set-point-after-word t - consult-flyspell-always-check-buffer nil)) - - (use-package rainbow-delimiters - :diminish rainbow-delimiters-mode - :hook (prog-mode . rainbow-delimiters-mode)) - - (use-package emojify - :hook (after-init . global-emojify-mode) - :config - (add-hook 'prog-mode-hook #'(lambda () (emojify-mode -1)))) - - (use-package helpful - :bind - ([remap describe-command] . helpful-command) - ([remap describe-function] . helpful-callable) - ([remap describe-variable] . helpful-variable) - ([remap describe-key] . helpful-key)) - - (use-package writeroom-mode - :diminish) - - (use-package undo-tree - :diminish undo-tree-mode - :config - (global-undo-tree-mode) - (add-hook 'authinfo-mode-hook #'(lambda () (setq-local undo-tree-auto-save-history nil))) - (defvar --undo-history-directory (concat user-emacs-directory "undotreefiles/") - "Directory to save undo history files.") - (unless (file-exists-p --undo-history-directory) - (make-directory --undo-history-directory t)) - ;; stop littering with *.~undo-tree~ files everywhere - (setq undo-tree-history-directory-alist `(("." . ,--undo-history-directory)))) - - (use-package avy) - (use-package move-text) - - (use-package org - :diminish org-mode - :config - (setq org-ellipsis " ▾") - (add-hook 'org-mode-hook '(lambda () (whitespace-mode -1))) - - (setq org-format-latex-options (plist-put org-format-latex-options :scale 1.5)) - (add-to-list 'org-structure-template-alist '("sh" . "src shell")) - (add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp")) - (add-to-list 'org-structure-template-alist '("py" . "src python")) - (add-to-list 'org-structure-template-alist '("cpp" . "src c++")) - (setq org-agenda-prefix-format '((agenda . " %i %-12:c%?-12t% s%:T ") - (todo . " %i %-12:c") - (tags . " %i %-12:c%:T ") - (search . " %i %-12:c%:T "))) - (setq org-agenda-hide-tags-regexp ".*") - (setq org-babel-default-header-args:emacs-lisp '((:lexical . "no") (:tangle . "./init.el"))) - - (org-babel-do-load-languages - 'org-babel-load-languages - '((emacs-lisp . t) - (python . t)))) - - (use-package org-superstar - :diminish org-superstar-mode - :after org - :config - (add-hook 'org-mode-hook (lambda () (org-superstar-mode 1))) - (setq org-hide-leading-stars t) - (require 'org-tempo)) - - (defun org-babel-tangle-config () - (when (string-equal (buffer-file-name) (expand-file-name "~/.dotfiles/.config/emacs/Emacs.org")) - ;; Dynamic scoping to the rescuennnn - (let ((org-confirm-babel-evaluate nil)) - (org-babel-tangle)))) - - (add-hook 'org-mode-hook (lambda () (add-hook 'after-save-hook #'org-babel-tangle-config))) - - (use-package ace-window - :config - (setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l) - aw-scope 'frame)) - (elpaca-wait) - -#+end_src - -* Tree-sitter - -tree-sitter used for very detailed syntax highlighting - -#+begin_src emacs-lisp - (use-package tree-sitter - :diminish tree-sitter-mode - :config - (global-tree-sitter-mode 1)) - (use-package tree-sitter-langs) -#+end_src - -* Higlight-quoted - -elisp ' highlighting - -#+begin_src emacs-lisp - (use-package highlight-quoted - :diminish highlight-quoted-mode - :hook (emacs-lisp-mode . highlight-quoted-mode)) -#+end_src - -* Magit - -best git frontend ever - -#+begin_src emacs-lisp - (use-package transient) - (use-package magit - :bind (("C-x g" . magit-status)) - :custom - (magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1)) -#+end_src - -* Keybinds - -#+begin_src emacs-lisp - (global-unset-key (kbd "C-z")) - (global-set-key (kbd "") #'keyboard-escape-quit) - (global-set-key (kbd "C-/") #'undo-tree-undo) - (global-set-key (kbd "M-/") #'undo-tree-redo) - (global-set-key (kbd "C-c v") #'avy-goto-char-timer) - (global-set-key (kbd "M-p") #'move-text-up) - (global-set-key (kbd "M-n") #'move-text-down) - - (defun next-word (p) - "Move point to the beginning of the next word, past any spaces" - (interactive "d") - (forward-word) - (forward-word) - (backward-word)) - (global-set-key "\M-f" 'next-word) - - (use-package expand-region) - (global-set-key (kbd "C-=") 'er/expand-region) - - -#+end_src - -* Development - -#+begin_src emacs-lisp - (use-package lsp-mode - :init - (setq lsp-keymap-prefix "C-c l" - lsp-headerline-breadcrumb-enable nil - lsp-headerline-breadcrumb-icons-enable nil - lsp-keep-workspace-alive nil - lsp-enable-snippet nil - lsp-lens-enable nil) - :hook (;; replace XXX-mode with concrete major-mode(e. g. python-mode) - (c-mode . lsp) - (c++-mode . lsp) - (python-mode . lsp-deferred) - (csharp-mode . lsp) - ;; if you want which-key integration - (lsp-mode . lsp-enable-which-key-integration)) - :commands lsp) - - - (use-package consult-lsp - :after lsp) - - (defun my-c-mode-common-hook () - ;; my customizations for all of c-mode, c++-mode, objc-mode, java-mode - (c-set-offset 'substatement-open 0) - ;; other customizations can go here - - (setq c++-tab-always-indent t) - (setq c-basic-offset 4) ;; Default is 2 - (setq c-indent-level 4) ;; Default is 2 - - (setq tab-stop-list '(4 8 12 16 20 24 28 32 36 40 44 48 52 56 60)) - (setq tab-width 4) - (setq indent-tabs-mode t) ; use spaces only if nil - ) - - (add-hook 'c-mode-common-hook 'my-c-mode-common-hook) - - (use-package lsp-ui - :after lsp - :diminish lsp-lens-mode - :config - (setq lsp-ui-sideline-update-mode 'point) - (setq lsp-ui-sideline-show-diagnostics t) - (setq lsp-ui-sideline-ignore-duplicate t)) - - (use-package hydra) - - (use-package lsp-treemacs - :ensure t - :commands lsp-treemacs-errors-list) - - ;; company - (use-package company - :ensure t - :diminish - :config - (setq company-show-numbers t - company-minimum-prefix-length 1 - company-idle-delay 0.2 - company-backends - '((company-files - company-keywords - company-capf - company-yasnippet) - (company-abbrev company-dabbrev))) - (global-company-mode +1)) - - (use-package clang-format) - (use-package clang-format+) - - - (use-package company-box - :ensure t - :diminish - :after company - :hook (company-mode . company-box-mode)) - - ;; flycheck - (use-package flycheck - :diminish flycheck-mode - :config - (setq flycheck-error-message-buffer " *Flycheck error messages*") - (setq-default flycheck-emacs-lisp-load-path 'inherit) - (global-flycheck-mode 1)) - - (use-package flycheck-pos-tip - :ensure t - :after flycheck - :config - (flycheck-pos-tip-mode)) - - (use-package ccls - :ensure t - :config - :hook ((c-mode c++-mode objc-mode cuda-mode) . - (lambda () (require 'ccls) (lsp))) - (setq ccls-executable "/usr/local/bin/ccls") - (setq ccls-initialization-options - '(:index (:comments 2) :completion (:detailedLabel t)))) - - (use-package srefactor - :ensure t - :config - (semantic-mode 1) - (define-key c-mode-map (kbd "M-RET") 'srefactor-refactor-at-point) - (define-key c++-mode-map (kbd "M-RET") 'srefactor-refactor-at-point)) - -(use-package tagedit) - -#+end_src - -** multiple cursors - -#+begin_src emacs-lisp - (use-package multiple-cursors - :bind (:map global-map - ("C->" . 'mc/mark-next-like-this) - ("C-<" . 'mc/mark-previous-like-this) - ("C-c C->" . 'mc/mark-all-like-this) - :map mc/keymap - ("" . nil))) -#+end_src - -* Dired -#+begin_src emacs-lisp - (use-package dired - :ensure nil - :ensure nil - :commands (dired dired-jump) - :bind (:map dired-mode-map ("SPC" . dired-single-buffer)) - :config - (setq dired-dwim-target t) - (evil-collection-define-key 'normal 'dired-mode-map - "h" 'dired-single-up-directory - "l" 'dired-single-buffer)) - - (use-package dired-single - :commands (dired dired-jump)) -#+end_src diff --git a/.config/emacs/init.el b/.config/emacs/init.el index d7cf989..58916ca 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -1,3 +1,23 @@ +;; package setup +(require 'package) + +(setq package-archives '(("melpa" . "https://melpa.org/packages/") + ("org" . "https://orgmode.org/elpa/") + ("elpa" . "https://elpa.gnu.org/packages/"))) + +(package-initialize) +(unless package-archive-contents + (package-refresh-contents)) + +;; Initialize use-package on non-Linux platforms +(unless (package-installed-p 'use-package) + (package-install 'use-package)) + +(require 'use-package) +(setq use-package-always-ensure t) + +;; interface + (setq make-backup-files nil create-lockfiles nil erc-join-buffer 'window @@ -49,134 +69,10 @@ :family "Monospace" :height 97) -(defvar elpaca-installer-version 0.7) -(defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory)) -(defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory)) -(defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory)) -(defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git" - :ref nil :depth 1 - :files (:defaults "elpaca-test.el" (:exclude "extensions")) - :build (:not elpaca--activate-package))) -(let* ((repo (expand-file-name "elpaca/" elpaca-repos-directory)) - (build (expand-file-name "elpaca/" elpaca-builds-directory)) - (order (cdr elpaca-order)) - (default-directory repo)) - (add-to-list 'load-path (if (file-exists-p build) build repo)) - (unless (file-exists-p repo) - (make-directory repo t) - (when (< emacs-major-version 28) (require 'subr-x)) - (condition-case-unless-debug err - (if-let ((buffer (pop-to-buffer-same-window "*elpaca-bootstrap*")) - ((zerop (apply #'call-process `("git" nil ,buffer t "clone" - ,@(when-let ((depth (plist-get order :depth))) - (list (format "--depth=%d" depth) "--no-single-branch")) - ,(plist-get order :repo) ,repo)))) - ((zerop (call-process "git" nil buffer t "checkout" - (or (plist-get order :ref) "--")))) - (emacs (concat invocation-directory invocation-name)) - ((zerop (call-process emacs nil buffer nil "-Q" "-L" "." "--batch" - "--eval" "(byte-recompile-directory \".\" 0 'force)"))) - ((require 'elpaca)) - ((elpaca-generate-autoloads "elpaca" repo))) - (progn (message "%s" (buffer-string)) (kill-buffer buffer)) - (error "%s" (with-current-buffer buffer (buffer-string)))) - ((error) (warn "%s" err) (delete-directory repo 'recursive)))) - (unless (require 'elpaca-autoloads nil t) - (require 'elpaca) - (elpaca-generate-autoloads "elpaca" repo) - (load "./elpaca-autoloads"))) -(add-hook 'after-init-hook #'elpaca-process-queues) -(elpaca `(,@elpaca-order)) - -(elpaca elpaca-use-package - ;; Enable use-package :ensure support for Elpaca. - (elpaca-use-package-mode) - (setq elpaca-use-package-by-default t)) - -(elpaca-wait) - -(use-package diminish) -(elpaca-wait) - -(diminish 'abbrev-mode) -(auto-revert-mode 1) -(diminish 'auto-revert-mode) -(diminish 'eldoc-mode) -(diminish 'isearch-mode) -(diminish 'abbrev-mode) - -(recentf-mode 1) - -(use-package no-littering - :config - (add-to-list 'recentf-exclude - (recentf-expand-file-name no-littering-var-directory)) - (add-to-list 'recentf-exclude - (recentf-expand-file-name no-littering-etc-directory)) - (setq custom-file (no-littering-expand-etc-file-name "custom.el"))) - -(use-package gcmh - :diminish gcmh-mode - :init - (gcmh-mode 1)) - -(use-package which-key - :init (which-key-mode) - :diminish which-key-mode - :config - (setq which-key-idle-delay 3)) - -(use-package vertico - :ensure (vertico :files (:defaults "extensions/*")) - :diminish vertico-mode - :bind (:map vertico-map - ("C-n" . vertico-next) - ("C-p" . vertico-previous)) - :init - (vertico-mode 1) - ;; (vertico-flat-mode 1) - (setq vertico-count 15)) - -(use-package vertico-directory - :after vertico - :ensure nil - ;; More convenient directory navigation commands - :bind (:map vertico-map - ("RET" . vertico-directory-enter) - ("DEL" . vertico-directory-delete-char) - ("M-DEL" . vertico-directory-delete-word)) - ;; Tidy shadowed file names - :hook (rfn-eshadow-update-overlay . vertico-directory-tidy)) - -(use-package savehist - :ensure nil - :diminish savehist-mode - :init - (savehist-mode 1)) - -(use-package marginalia - :diminish marginalia-mode - :after vertico - :custom - (marginalia-annotators '(marginalia-annotators-heavy marginalia-annotators-light nil)) - :config - (marginalia-mode)) - -(use-package consult - :config - (setq completion-in-region-function - (lambda (&rest args) - (apply (if vertico-mode - #'consult-completion-in-region - #'completion--in-region) - args))) - (consult-customize consult-buffer :preview-key "M-.")) - -(use-package orderless - :config - (setq completion-styles '(orderless) - completion-category-defaults nil - completion-category-overrides '((file (styles . (partial-completion)))))) +(use-package doom-modeline + :ensure t + :init (doom-modeline-mode 1) + :custom ((doom-modeline-height 15))) (use-package doom-themes :config @@ -185,281 +81,28 @@ (load-theme 'doom-vibrant t) (doom-themes-org-config)) -(use-package embark - :bind - (("C-." . embark-act) - ("C-;" . embark-dwim)) - :init - (setq prefix-help-command #'embark-prefix-help-command) - :config - (setq embark--minimal-indicator-overlay nil) - (setq embark-indicators (delq 'embark-mixed-indicator embark-indicators)) - (add-to-list 'embark-indicators #'embark-minimal-indicator)) - -(use-package embark-consult - :config - (define-key embark-file-map (kbd "S") 'sudo-find-file)) - -(use-package nerd-icons) -(use-package all-the-icons) - -(use-package flyspell - :ensure nil - ;; :diminish flyspell-mode - ) - -(use-package flyspell-correct - :after flyspell) - -(use-package consult-flyspell - :ensure (consult-flyspell :host gitlab :repo "OlMon/consult-flyspell" :branch "master") - :config - ;; default settings - (setq consult-flyspell-select-function (lambda () (flyspell-correct-at-point) (consult-flyspell)) - consult-flyspell-set-point-after-word t - consult-flyspell-always-check-buffer nil)) - -(use-package rainbow-delimiters - :diminish rainbow-delimiters-mode - :hook (prog-mode . rainbow-delimiters-mode)) - -(use-package emojify - :hook (after-init . global-emojify-mode) - :config - (add-hook 'prog-mode-hook #'(lambda () (emojify-mode -1)))) - -(use-package helpful - :bind - ([remap describe-command] . helpful-command) - ([remap describe-function] . helpful-callable) - ([remap describe-variable] . helpful-variable) - ([remap describe-key] . helpful-key)) - -(use-package writeroom-mode - :diminish) - -(use-package undo-tree - :diminish undo-tree-mode - :config - (global-undo-tree-mode) - (add-hook 'authinfo-mode-hook #'(lambda () (setq-local undo-tree-auto-save-history nil))) - (defvar --undo-history-directory (concat user-emacs-directory "undotreefiles/") - "Directory to save undo history files.") - (unless (file-exists-p --undo-history-directory) - (make-directory --undo-history-directory t)) - ;; stop littering with *.~undo-tree~ files everywhere - (setq undo-tree-history-directory-alist `(("." . ,--undo-history-directory)))) - -(use-package avy) -(use-package move-text) - -(use-package org - :diminish org-mode - :config - (setq org-ellipsis " ▾") - (add-hook 'org-mode-hook '(lambda () (whitespace-mode -1))) - - (setq org-format-latex-options (plist-put org-format-latex-options :scale 1.5)) - (add-to-list 'org-structure-template-alist '("sh" . "src shell")) - (add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp")) - (add-to-list 'org-structure-template-alist '("py" . "src python")) - (add-to-list 'org-structure-template-alist '("cpp" . "src c++")) - (setq org-agenda-prefix-format '((agenda . " %i %-12:c%?-12t% s%:T ") - (todo . " %i %-12:c") - (tags . " %i %-12:c%:T ") - (search . " %i %-12:c%:T "))) - (setq org-agenda-hide-tags-regexp ".*") - (setq org-babel-default-header-args:emacs-lisp '((:lexical . "no") (:tangle . "./init.el"))) - - (org-babel-do-load-languages - 'org-babel-load-languages - '((emacs-lisp . t) - (python . t)))) - -(use-package org-superstar - :diminish org-superstar-mode - :after org - :config - (add-hook 'org-mode-hook (lambda () (org-superstar-mode 1))) - (setq org-hide-leading-stars t) - (require 'org-tempo)) - -(defun org-babel-tangle-config () - (when (string-equal (buffer-file-name) (expand-file-name "~/.dotfiles/.config/emacs/Emacs.org")) - ;; Dynamic scoping to the rescuennnn - (let ((org-confirm-babel-evaluate nil)) - (org-babel-tangle)))) - -(add-hook 'org-mode-hook (lambda () (add-hook 'after-save-hook #'org-babel-tangle-config))) - -(use-package ace-window - :config - (setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l) - aw-scope 'frame)) -(elpaca-wait) - -(use-package tree-sitter - :diminish tree-sitter-mode - :config - (global-tree-sitter-mode 1)) -(use-package tree-sitter-langs) - -(use-package highlight-quoted - :diminish highlight-quoted-mode - :hook (emacs-lisp-mode . highlight-quoted-mode)) - +(custom-set-variables + ;; custom-set-variables was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + '(package-selected-packages '(magit doom-themes ivy doom-modeline command-log-mode))) +(custom-set-faces + ;; custom-set-faces was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + ) + +;; development +;; - magit (use-package transient) (use-package magit :bind (("C-x g" . magit-status)) :custom (magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1)) +;; keybinds + (global-unset-key (kbd "C-z")) (global-set-key (kbd "") #'keyboard-escape-quit) -(global-set-key (kbd "C-/") #'undo-tree-undo) -(global-set-key (kbd "M-/") #'undo-tree-redo) -(global-set-key (kbd "C-c v") #'avy-goto-char-timer) -(global-set-key (kbd "M-p") #'move-text-up) -(global-set-key (kbd "M-n") #'move-text-down) - -(defun next-word (p) - "Move point to the beginning of the next word, past any spaces" - (interactive "d") - (forward-word) - (forward-word) - (backward-word)) -(global-set-key "\M-f" 'next-word) - -(use-package expand-region) -(global-set-key (kbd "C-=") 'er/expand-region) - -(use-package lsp-mode - :init - (setq lsp-keymap-prefix "C-c l" - lsp-headerline-breadcrumb-enable nil - lsp-headerline-breadcrumb-icons-enable nil - lsp-keep-workspace-alive nil - lsp-enable-snippet nil - lsp-lens-enable nil) - :hook (;; replace XXX-mode with concrete major-mode(e. g. python-mode) - (c-mode . lsp) - (c++-mode . lsp) - (python-mode . lsp-deferred) - (csharp-mode . lsp) - ;; if you want which-key integration - (lsp-mode . lsp-enable-which-key-integration)) - :commands lsp) - - - (use-package consult-lsp - :after lsp) - - (defun my-c-mode-common-hook () - ;; my customizations for all of c-mode, c++-mode, objc-mode, java-mode - (c-set-offset 'substatement-open 0) - ;; other customizations can go here - - (setq c++-tab-always-indent t) - (setq c-basic-offset 4) ;; Default is 2 - (setq c-indent-level 4) ;; Default is 2 - - (setq tab-stop-list '(4 8 12 16 20 24 28 32 36 40 44 48 52 56 60)) - (setq tab-width 4) - (setq indent-tabs-mode t) ; use spaces only if nil - ) - - (add-hook 'c-mode-common-hook 'my-c-mode-common-hook) - - (use-package lsp-ui - :after lsp - :diminish lsp-lens-mode - :config - (setq lsp-ui-sideline-update-mode 'point) - (setq lsp-ui-sideline-show-diagnostics t) - (setq lsp-ui-sideline-ignore-duplicate t)) - - (use-package hydra) - - (use-package lsp-treemacs - :ensure t - :commands lsp-treemacs-errors-list) - - ;; company - (use-package company - :ensure t - :diminish - :config - (setq company-show-numbers t - company-minimum-prefix-length 1 - company-idle-delay 0.2 - company-backends - '((company-files - company-keywords - company-capf - company-yasnippet) - (company-abbrev company-dabbrev))) - (global-company-mode +1)) - - (use-package clang-format) - (use-package clang-format+) - - - (use-package company-box - :ensure t - :diminish - :after company - :hook (company-mode . company-box-mode)) - - ;; flycheck - (use-package flycheck - :diminish flycheck-mode - :config - (setq flycheck-error-message-buffer " *Flycheck error messages*") - (setq-default flycheck-emacs-lisp-load-path 'inherit) - (global-flycheck-mode 1)) - - (use-package flycheck-pos-tip - :ensure t - :after flycheck - :config - (flycheck-pos-tip-mode)) - - (use-package ccls - :ensure t - :config - :hook ((c-mode c++-mode objc-mode cuda-mode) . - (lambda () (require 'ccls) (lsp))) - (setq ccls-executable "/usr/local/bin/ccls") - (setq ccls-initialization-options - '(:index (:comments 2) :completion (:detailedLabel t)))) - - (use-package srefactor - :ensure t - :config - (semantic-mode 1) - (define-key c-mode-map (kbd "M-RET") 'srefactor-refactor-at-point) - (define-key c++-mode-map (kbd "M-RET") 'srefactor-refactor-at-point)) - -(use-package tagedit) - -(use-package multiple-cursors - :bind (:map global-map - ("C->" . 'mc/mark-next-like-this) - ("C-<" . 'mc/mark-previous-like-this) - ("C-c C->" . 'mc/mark-all-like-this) - :map mc/keymap - ("" . nil))) - -(use-package dired - :ensure nil - :ensure nil - :commands (dired dired-jump) - :bind (:map dired-mode-map ("SPC" . dired-single-buffer)) - :config - (setq dired-dwim-target t) - (evil-collection-define-key 'normal 'dired-mode-map - "h" 'dired-single-up-directory - "l" 'dired-single-buffer)) - -(use-package dired-single - :commands (dired dired-jump)) diff --git a/.config/emacs/old.org b/.config/emacs/old.org new file mode 100644 index 0000000..5e2353b --- /dev/null +++ b/.config/emacs/old.org @@ -0,0 +1,514 @@ +#+TITLE: Emacs.org config +#+PROPERTY: header-args: :tangle "./init.el" :mkdirp yes +#+STARTUP: fold +* UI + +#+begin_src emacs-lisp + (setq make-backup-files nil + create-lockfiles nil + erc-join-buffer 'window + confirm-kill-processes nil) + + (setq inhibit-startup-message t + backup-inhibited t) + + (scroll-bar-mode -1) + (tool-bar-mode -1) + (tooltip-mode -1) + (menu-bar-mode -1) + + (setq scroll-up-aggressively nil + scroll-down-aggressively nil + scroll-conservatively 101 + display-line-numbers-type 'relative) + + (setq scroll-step 1) + (setq scroll-margin 8) + + (column-number-mode +1) + (global-display-line-numbers-mode t) + (setq-default fill-column 80) + + (electric-pair-mode +1) + + (dolist (mode '(org-mode-hook + term-mode-hook + vterm-mode-hook + shell-mode-hook + eshell-mode-hook + mu4e-main-mode-hook + mu4e-headers-mode-hook)) + (add-hook mode (lambda () (display-line-numbers-mode 0)))) + + (set-frame-parameter (selected-frame) 'alpha '(90 . 90)) + (add-to-list 'default-frame-alist '(alpha . (90 . 90))) + + (set-face-attribute 'default nil + :font "DejaVu Sans Mono" + :family "Monospace" + :height 97) + (set-face-attribute 'variable-pitch nil + :font "DejaVu Sans" + :height 97) + (set-face-attribute 'fixed-pitch nil + :font "DejaVu Sans Mono" + :family "Monospace" + :height 97) + +#+end_src + +* packages + +#+begin_src emacs-lisp + (defvar elpaca-installer-version 0.7) + (defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory)) + (defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory)) + (defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory)) + (defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git" + :ref nil :depth 1 + :files (:defaults "elpaca-test.el" (:exclude "extensions")) + :build (:not elpaca--activate-package))) + (let* ((repo (expand-file-name "elpaca/" elpaca-repos-directory)) + (build (expand-file-name "elpaca/" elpaca-builds-directory)) + (order (cdr elpaca-order)) + (default-directory repo)) + (add-to-list 'load-path (if (file-exists-p build) build repo)) + (unless (file-exists-p repo) + (make-directory repo t) + (when (< emacs-major-version 28) (require 'subr-x)) + (condition-case-unless-debug err + (if-let ((buffer (pop-to-buffer-same-window "*elpaca-bootstrap*")) + ((zerop (apply #'call-process `("git" nil ,buffer t "clone" + ,@(when-let ((depth (plist-get order :depth))) + (list (format "--depth=%d" depth) "--no-single-branch")) + ,(plist-get order :repo) ,repo)))) + ((zerop (call-process "git" nil buffer t "checkout" + (or (plist-get order :ref) "--")))) + (emacs (concat invocation-directory invocation-name)) + ((zerop (call-process emacs nil buffer nil "-Q" "-L" "." "--batch" + "--eval" "(byte-recompile-directory \".\" 0 'force)"))) + ((require 'elpaca)) + ((elpaca-generate-autoloads "elpaca" repo))) + (progn (message "%s" (buffer-string)) (kill-buffer buffer)) + (error "%s" (with-current-buffer buffer (buffer-string)))) + ((error) (warn "%s" err) (delete-directory repo 'recursive)))) + (unless (require 'elpaca-autoloads nil t) + (require 'elpaca) + (elpaca-generate-autoloads "elpaca" repo) + (load "./elpaca-autoloads"))) + (add-hook 'after-init-hook #'elpaca-process-queues) + (elpaca `(,@elpaca-order)) + + (elpaca elpaca-use-package + ;; Enable use-package :ensure support for Elpaca. + (elpaca-use-package-mode) + (setq elpaca-use-package-by-default t)) + + (elpaca-wait) + + (use-package diminish) + (elpaca-wait) + + (diminish 'abbrev-mode) + (auto-revert-mode 1) + (diminish 'auto-revert-mode) + (diminish 'eldoc-mode) + (diminish 'isearch-mode) + (diminish 'abbrev-mode) + + (recentf-mode 1) + + (use-package no-littering + :config + (add-to-list 'recentf-exclude + (recentf-expand-file-name no-littering-var-directory)) + (add-to-list 'recentf-exclude + (recentf-expand-file-name no-littering-etc-directory)) + (setq custom-file (no-littering-expand-etc-file-name "custom.el"))) + + (use-package gcmh + :diminish gcmh-mode + :init + (gcmh-mode 1)) + + (use-package which-key + :init (which-key-mode) + :diminish which-key-mode + :config + (setq which-key-idle-delay 3)) + + (use-package vertico + :ensure (vertico :files (:defaults "extensions/*")) + :diminish vertico-mode + :bind (:map vertico-map + ("C-n" . vertico-next) + ("C-p" . vertico-previous)) + :init + (vertico-mode 1) + ;; (vertico-flat-mode 1) + (setq vertico-count 15)) + + (use-package vertico-directory + :after vertico + :ensure nil + ;; More convenient directory navigation commands + :bind (:map vertico-map + ("RET" . vertico-directory-enter) + ("DEL" . vertico-directory-delete-char) + ("M-DEL" . vertico-directory-delete-word)) + ;; Tidy shadowed file names + :hook (rfn-eshadow-update-overlay . vertico-directory-tidy)) + + (use-package savehist + :ensure nil + :diminish savehist-mode + :init + (savehist-mode 1)) + + (use-package marginalia + :diminish marginalia-mode + :after vertico + :custom + (marginalia-annotators '(marginalia-annotators-heavy marginalia-annotators-light nil)) + :config + (marginalia-mode)) + + (use-package consult + :config + (setq completion-in-region-function + (lambda (&rest args) + (apply (if vertico-mode + #'consult-completion-in-region + #'completion--in-region) + args))) + (consult-customize consult-buffer :preview-key "M-.")) + + (use-package orderless + :config + (setq completion-styles '(orderless) + completion-category-defaults nil + completion-category-overrides '((file (styles . (partial-completion)))))) + + (use-package doom-themes + :config + (setq doom-themes-enable-bold t + doom-themes-enable-italic t) + (load-theme 'doom-vibrant t) + (doom-themes-org-config)) + + (use-package embark + :bind + (("C-." . embark-act) + ("C-;" . embark-dwim)) + :init + (setq prefix-help-command #'embark-prefix-help-command) + :config + (setq embark--minimal-indicator-overlay nil) + (setq embark-indicators (delq 'embark-mixed-indicator embark-indicators)) + (add-to-list 'embark-indicators #'embark-minimal-indicator)) + + (use-package embark-consult + :config + (define-key embark-file-map (kbd "S") 'sudo-find-file)) + + (use-package nerd-icons) + (use-package all-the-icons) + + (use-package flyspell + :ensure nil + ;; :diminish flyspell-mode + ) + + (use-package flyspell-correct + :after flyspell) + + (use-package consult-flyspell + :ensure (consult-flyspell :host gitlab :repo "OlMon/consult-flyspell" :branch "master") + :config + ;; default settings + (setq consult-flyspell-select-function (lambda () (flyspell-correct-at-point) (consult-flyspell)) + consult-flyspell-set-point-after-word t + consult-flyspell-always-check-buffer nil)) + + (use-package rainbow-delimiters + :diminish rainbow-delimiters-mode + :hook (prog-mode . rainbow-delimiters-mode)) + + (use-package emojify + :hook (after-init . global-emojify-mode) + :config + (add-hook 'prog-mode-hook #'(lambda () (emojify-mode -1)))) + + (use-package helpful + :bind + ([remap describe-command] . helpful-command) + ([remap describe-function] . helpful-callable) + ([remap describe-variable] . helpful-variable) + ([remap describe-key] . helpful-key)) + + (use-package writeroom-mode + :diminish) + + (use-package undo-tree + :diminish undo-tree-mode + :config + (global-undo-tree-mode) + (add-hook 'authinfo-mode-hook #'(lambda () (setq-local undo-tree-auto-save-history nil))) + (defvar --undo-history-directory (concat user-emacs-directory "undotreefiles/") + "Directory to save undo history files.") + (unless (file-exists-p --undo-history-directory) + (make-directory --undo-history-directory t)) + ;; stop littering with *.~undo-tree~ files everywhere + (setq undo-tree-history-directory-alist `(("." . ,--undo-history-directory)))) + + (use-package avy) + (use-package move-text) + + (use-package org + :diminish org-mode + :config + (setq org-ellipsis " ▾") + (add-hook 'org-mode-hook '(lambda () (whitespace-mode -1))) + + (setq org-format-latex-options (plist-put org-format-latex-options :scale 1.5)) + (add-to-list 'org-structure-template-alist '("sh" . "src shell")) + (add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp")) + (add-to-list 'org-structure-template-alist '("py" . "src python")) + (add-to-list 'org-structure-template-alist '("cpp" . "src c++")) + (setq org-agenda-prefix-format '((agenda . " %i %-12:c%?-12t% s%:T ") + (todo . " %i %-12:c") + (tags . " %i %-12:c%:T ") + (search . " %i %-12:c%:T "))) + (setq org-agenda-hide-tags-regexp ".*") + (setq org-babel-default-header-args:emacs-lisp '((:lexical . "no") (:tangle . "./init.el"))) + + (org-babel-do-load-languages + 'org-babel-load-languages + '((emacs-lisp . t) + (python . t)))) + + (use-package org-superstar + :diminish org-superstar-mode + :after org + :config + (add-hook 'org-mode-hook (lambda () (org-superstar-mode 1))) + (setq org-hide-leading-stars t) + (require 'org-tempo)) + + (defun org-babel-tangle-config () + (when (string-equal (buffer-file-name) (expand-file-name "~/.dotfiles/.config/emacs/Emacs.org")) + ;; Dynamic scoping to the rescuennnn + (let ((org-confirm-babel-evaluate nil)) + (org-babel-tangle)))) + + (add-hook 'org-mode-hook (lambda () (add-hook 'after-save-hook #'org-babel-tangle-config))) + + (use-package ace-window + :config + (setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l) + aw-scope 'frame)) + (elpaca-wait) + +#+end_src + +* Tree-sitter + +tree-sitter used for very detailed syntax highlighting + +#+begin_src emacs-lisp + (use-package tree-sitter + :diminish tree-sitter-mode + :config + (global-tree-sitter-mode 1)) + (use-package tree-sitter-langs) +#+end_src + +* Higlight-quoted + +elisp ' highlighting + +#+begin_src emacs-lisp + (use-package highlight-quoted + :diminish highlight-quoted-mode + :hook (emacs-lisp-mode . highlight-quoted-mode)) +#+end_src + +* Magit + +best git frontend ever + +#+begin_src emacs-lisp + (use-package transient) + (use-package magit + :bind (("C-x g" . magit-status)) + :custom + (magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1)) +#+end_src + +* Keybinds + +#+begin_src emacs-lisp + (global-unset-key (kbd "C-z")) + (global-set-key (kbd "") #'keyboard-escape-quit) + (global-set-key (kbd "C-/") #'undo-tree-undo) + (global-set-key (kbd "M-/") #'undo-tree-redo) + (global-set-key (kbd "C-c v") #'avy-goto-char-timer) + (global-set-key (kbd "M-p") #'move-text-up) + (global-set-key (kbd "M-n") #'move-text-down) + + (defun next-word (p) + "Move point to the beginning of the next word, past any spaces" + (interactive "d") + (forward-word) + (forward-word) + (backward-word)) + (global-set-key "\M-f" 'next-word) + + (use-package expand-region) + (global-set-key (kbd "C-=") 'er/expand-region) + + +#+end_src + +* Development + +#+begin_src emacs-lisp + (use-package lsp-mode + :init + (setq lsp-keymap-prefix "C-c l" + lsp-headerline-breadcrumb-enable nil + lsp-headerline-breadcrumb-icons-enable nil + lsp-keep-workspace-alive nil + lsp-enable-snippet nil + lsp-lens-enable nil) + :hook (;; replace XXX-mode with concrete major-mode(e. g. python-mode) + (c-mode . lsp) + (c++-mode . lsp) + (python-mode . lsp-deferred) + (csharp-mode . lsp) + ;; if you want which-key integration + (lsp-mode . lsp-enable-which-key-integration)) + :commands lsp) + + + (use-package consult-lsp + :after lsp) + + (defun my-c-mode-common-hook () + ;; my customizations for all of c-mode, c++-mode, objc-mode, java-mode + (c-set-offset 'substatement-open 0) + ;; other customizations can go here + + (setq c++-tab-always-indent t) + (setq c-basic-offset 4) ;; Default is 2 + (setq c-indent-level 4) ;; Default is 2 + + (setq tab-stop-list '(4 8 12 16 20 24 28 32 36 40 44 48 52 56 60)) + (setq tab-width 4) + (setq indent-tabs-mode t) ; use spaces only if nil + ) + + (add-hook 'c-mode-common-hook 'my-c-mode-common-hook) + + (use-package lsp-ui + :after lsp + :diminish lsp-lens-mode + :config + (setq lsp-ui-sideline-update-mode 'point) + (setq lsp-ui-sideline-show-diagnostics t) + (setq lsp-ui-sideline-ignore-duplicate t)) + + (use-package hydra) + + (use-package lsp-treemacs + :ensure t + :commands lsp-treemacs-errors-list) + + ;; company + (use-package company + :ensure t + :diminish + :config + (setq company-show-numbers t + company-minimum-prefix-length 1 + company-idle-delay 0.2 + company-backends + '((company-files + company-keywords + company-capf + company-yasnippet) + (company-abbrev company-dabbrev))) + (global-company-mode +1)) + + (use-package clang-format) + (use-package clang-format+) + + + (use-package company-box + :ensure t + :diminish + :after company + :hook (company-mode . company-box-mode)) + + ;; flycheck + (use-package flycheck + :diminish flycheck-mode + :config + (setq flycheck-error-message-buffer " *Flycheck error messages*") + (setq-default flycheck-emacs-lisp-load-path 'inherit) + (global-flycheck-mode 1)) + + (use-package flycheck-pos-tip + :ensure t + :after flycheck + :config + (flycheck-pos-tip-mode)) + + (use-package ccls + :ensure t + :config + :hook ((c-mode c++-mode objc-mode cuda-mode) . + (lambda () (require 'ccls) (lsp))) + (setq ccls-executable "/usr/local/bin/ccls") + (setq ccls-initialization-options + '(:index (:comments 2) :completion (:detailedLabel t)))) + + (use-package srefactor + :ensure t + :config + (semantic-mode 1) + (define-key c-mode-map (kbd "M-RET") 'srefactor-refactor-at-point) + (define-key c++-mode-map (kbd "M-RET") 'srefactor-refactor-at-point)) + +(use-package tagedit) + +#+end_src + +** multiple cursors + +#+begin_src emacs-lisp + (use-package multiple-cursors + :bind (:map global-map + ("C->" . 'mc/mark-next-like-this) + ("C-<" . 'mc/mark-previous-like-this) + ("C-c C->" . 'mc/mark-all-like-this) + :map mc/keymap + ("" . nil))) +#+end_src + +* Dired +#+begin_src emacs-lisp + (use-package dired + :ensure nil + :ensure nil + :commands (dired dired-jump) + :bind (:map dired-mode-map ("SPC" . dired-single-buffer)) + :config + (setq dired-dwim-target t) + (evil-collection-define-key 'normal 'dired-mode-map + "h" 'dired-single-up-directory + "l" 'dired-single-buffer)) + + (use-package dired-single + :commands (dired dired-jump)) +#+end_src diff --git a/.config/mpd/mpd.pid b/.config/mpd/mpd.pid index ea29ccd..74d3d60 100644 --- a/.config/mpd/mpd.pid +++ b/.config/mpd/mpd.pid @@ -1 +1 @@ -1362 +1374 -- cgit v1.2.3 From 9735cd444aa96d43c99e77165d09ee0ae114579c Mon Sep 17 00:00:00 2001 From: JackJ30 Date: Mon, 11 Nov 2024 02:45:59 -0500 Subject: much better config --- .config/emacs/TODO.org | 5 ++ .config/emacs/init.el | 189 ++++++++++++++++++++++++++++++++++++++++++++----- .config/emacs/old.org | 86 +++++++++++----------- 3 files changed, 220 insertions(+), 60 deletions(-) create mode 100644 .config/emacs/TODO.org (limited to '.config') diff --git a/.config/emacs/TODO.org b/.config/emacs/TODO.org new file mode 100644 index 0000000..284e80d --- /dev/null +++ b/.config/emacs/TODO.org @@ -0,0 +1,5 @@ +- [ ] Go through old.org +- [ ] go through emacs from scratch +- [ ] better search +- [ ] Org tangling +- [ ] project management diff --git a/.config/emacs/init.el b/.config/emacs/init.el index 58916ca..ca7ab1b 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -1,22 +1,51 @@ ;; package setup -(require 'package) +(defvar elpaca-installer-version 0.7) +(defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory)) +(defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory)) +(defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory)) +(defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git" + :ref nil :depth 1 + :files (:defaults "elpaca-test.el" (:exclude "extensions")) + :build (:not elpaca--activate-package))) +(let* ((repo (expand-file-name "elpaca/" elpaca-repos-directory)) + (build (expand-file-name "elpaca/" elpaca-builds-directory)) + (order (cdr elpaca-order)) + (default-directory repo)) + (add-to-list 'load-path (if (file-exists-p build) build repo)) + (unless (file-exists-p repo) + (make-directory repo t) + (when (< emacs-major-version 28) (require 'subr-x)) + (condition-case-unless-debug err + (if-let ((buffer (pop-to-buffer-same-window "*elpaca-bootstrap*")) + ((zerop (apply #'call-process `("git" nil ,buffer t "clone" + ,@(when-let ((depth (plist-get order :depth))) + (list (format "--depth=%d" depth) "--no-single-branch")) + ,(plist-get order :repo) ,repo)))) + ((zerop (call-process "git" nil buffer t "checkout" + (or (plist-get order :ref) "--")))) + (emacs (concat invocation-directory invocation-name)) + ((zerop (call-process emacs nil buffer nil "-Q" "-L" "." "--batch" + "--eval" "(byte-recompile-directory \".\" 0 'force)"))) + ((require 'elpaca)) + ((elpaca-generate-autoloads "elpaca" repo))) + (progn (message "%s" (buffer-string)) (kill-buffer buffer)) + (error "%s" (with-current-buffer buffer (buffer-string)))) + ((error) (warn "%s" err) (delete-directory repo 'recursive)))) + (unless (require 'elpaca-autoloads nil t) + (require 'elpaca) + (elpaca-generate-autoloads "elpaca" repo) + (load "./elpaca-autoloads"))) +(add-hook 'after-init-hook #'elpaca-process-queues) +(elpaca `(,@elpaca-order)) -(setq package-archives '(("melpa" . "https://melpa.org/packages/") - ("org" . "https://orgmode.org/elpa/") - ("elpa" . "https://elpa.gnu.org/packages/"))) +(elpaca elpaca-use-package + ;; Enable use-package :ensure support for Elpaca. + (elpaca-use-package-mode) + (setq elpaca-use-package-by-default t)) -(package-initialize) -(unless package-archive-contents - (package-refresh-contents)) +(elpaca-wait) -;; Initialize use-package on non-Linux platforms -(unless (package-installed-p 'use-package) - (package-install 'use-package)) - -(require 'use-package) -(setq use-package-always-ensure t) - -;; interface +;; basic interface (setq make-backup-files nil create-lockfiles nil @@ -34,7 +63,7 @@ (setq scroll-up-aggressively nil scroll-down-aggressively nil scroll-conservatively 101 - display-line-numbers-type 'relative) + display-line-numbers-type t) (setq scroll-step 1) (setq scroll-margin 8) @@ -78,7 +107,7 @@ :config (setq doom-themes-enable-bold t doom-themes-enable-italic t) - (load-theme 'doom-vibrant t) + (load-theme 'doom-snazzy t) (doom-themes-org-config)) (custom-set-variables @@ -94,6 +123,129 @@ ;; If there is more than one, they won't work right. ) +;; misc changes +(use-package diminish) + +(diminish 'abbrev-mode) +(auto-revert-mode 1) +(diminish 'auto-revert-mode) +(diminish 'eldoc-mode) +(diminish 'isearch-mode) +(diminish 'abbrev-mode) + +;; interface packages +;; - vertico and completion +(use-package vertico + :ensure (vertico :files (:defaults "extensions/*")) + :diminish vertico-mode + :bind (:map vertico-map + ("C-n" . vertico-next) + ("C-p" . vertico-previous)) + :init + (vertico-mode 1) + ;; (vertico-flat-mode 1) + (setq vertico-count 15)) + +(use-package vertico-directory + :after vertico + :ensure nil + ;; More convenient directory navigation commands + :bind (:map vertico-map + ("RET" . vertico-directory-enter) + ("DEL" . vertico-directory-delete-char) + ("M-DEL" . vertico-directory-delete-word)) + ;; Tidy shadowed file names + :hook (rfn-eshadow-update-overlay . vertico-directory-tidy)) + +(use-package which-key + :init (which-key-mode) + :diminish which-key-mode + :config + (setq which-key-idle-delay 3)) + +(use-package marginalia + :diminish marginalia-mode + :after vertico + :custom + (marginalia-annotators '(marginalia-annotators-heavy marginalia-annotators-light nil)) + :config + (marginalia-mode)) + +(use-package consult + :config + (setq completion-in-region-function + (lambda (&rest args) + (apply (if vertico-mode + #'consult-completion-in-region + #'completion--in-region) + args))) + (consult-customize consult-buffer :preview-key "M-.")) + +(use-package orderless + :config + (setq completion-styles '(orderless) + completion-category-defaults nil + completion-category-overrides '((file (styles . (partial-completion)))))) + +;; - icons +(use-package nerd-icons) +(use-package all-the-icons) + +(use-package all-the-icons-dired + :hook (dired-mode . all-the-icons-dired-mode)) + +;; text editing packages +(use-package rainbow-delimiters + :diminish rainbow-delimiters-mode + :hook (prog-mode . rainbow-delimiters-mode)) + +;; directory changes and packages +(recentf-mode 1) + +(use-package no-littering + :config + (add-to-list 'recentf-exclude + (recentf-expand-file-name no-littering-var-directory)) + (add-to-list 'recentf-exclude + (recentf-expand-file-name no-littering-etc-directory)) + (setq custom-file (no-littering-expand-etc-file-name "custom.el"))) + +(use-package gcmh + :diminish gcmh-mode + :init + (gcmh-mode 1)) + +(use-package savehist + :ensure nil + :diminish savehist-mode + :init + (savehist-mode 1)) + +;; - dired + +(setf dired-kill-when-opening-new-dired-buffer t) + +(use-package dired-open + :config + ;; Doesn't work as expected! + (add-to-list 'dired-open-functions #'dired-open-xdg t) + +;; - embark +(use-package embark + :bind + (("C-." . embark-act) + ("C-;" . embark-dwim)) + :init + (setq prefix-help-command #'embark-prefix-help-command) + :config + (setq embark--minimal-indicator-overlay nil) + (setq embark-indicators (delq 'embark-mixed-indicator embark-indicators)) + (add-to-list 'embark-indicators #'embark-minimal-indicator)) + +(use-package embark-consult + :config + (define-key embark-file-map (kbd "S") 'sudo-find-file)) + ;; development ;; - magit (use-package transient) @@ -102,6 +254,9 @@ :custom (magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1)) +;; - projectile + + ;; keybinds (global-unset-key (kbd "C-z")) diff --git a/.config/emacs/old.org b/.config/emacs/old.org index 5e2353b..4292102 100644 --- a/.config/emacs/old.org +++ b/.config/emacs/old.org @@ -65,33 +65,33 @@ (defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory)) (defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory)) (defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git" - :ref nil :depth 1 - :files (:defaults "elpaca-test.el" (:exclude "extensions")) - :build (:not elpaca--activate-package))) + :ref nil :depth 1 + :files (:defaults "elpaca-test.el" (:exclude "extensions")) + :build (:not elpaca--activate-package))) (let* ((repo (expand-file-name "elpaca/" elpaca-repos-directory)) - (build (expand-file-name "elpaca/" elpaca-builds-directory)) - (order (cdr elpaca-order)) - (default-directory repo)) + (build (expand-file-name "elpaca/" elpaca-builds-directory)) + (order (cdr elpaca-order)) + (default-directory repo)) (add-to-list 'load-path (if (file-exists-p build) build repo)) (unless (file-exists-p repo) (make-directory repo t) (when (< emacs-major-version 28) (require 'subr-x)) (condition-case-unless-debug err - (if-let ((buffer (pop-to-buffer-same-window "*elpaca-bootstrap*")) - ((zerop (apply #'call-process `("git" nil ,buffer t "clone" - ,@(when-let ((depth (plist-get order :depth))) - (list (format "--depth=%d" depth) "--no-single-branch")) - ,(plist-get order :repo) ,repo)))) - ((zerop (call-process "git" nil buffer t "checkout" - (or (plist-get order :ref) "--")))) - (emacs (concat invocation-directory invocation-name)) - ((zerop (call-process emacs nil buffer nil "-Q" "-L" "." "--batch" - "--eval" "(byte-recompile-directory \".\" 0 'force)"))) - ((require 'elpaca)) - ((elpaca-generate-autoloads "elpaca" repo))) - (progn (message "%s" (buffer-string)) (kill-buffer buffer)) - (error "%s" (with-current-buffer buffer (buffer-string)))) - ((error) (warn "%s" err) (delete-directory repo 'recursive)))) + (if-let ((buffer (pop-to-buffer-same-window "*elpaca-bootstrap*")) + ((zerop (apply #'call-process `("git" nil ,buffer t "clone" + ,@(when-let ((depth (plist-get order :depth))) + (list (format "--depth=%d" depth) "--no-single-branch")) + ,(plist-get order :repo) ,repo)))) + ((zerop (call-process "git" nil buffer t "checkout" + (or (plist-get order :ref) "--")))) + (emacs (concat invocation-directory invocation-name)) + ((zerop (call-process emacs nil buffer nil "-Q" "-L" "." "--batch" + "--eval" "(byte-recompile-directory \".\" 0 'force)"))) + ((require 'elpaca)) + ((elpaca-generate-autoloads "elpaca" repo))) + (progn (message "%s" (buffer-string)) (kill-buffer buffer)) + (error "%s" (with-current-buffer buffer (buffer-string)))) + ((error) (warn "%s" err) (delete-directory repo 'recursive)))) (unless (require 'elpaca-autoloads nil t) (require 'elpaca) (elpaca-generate-autoloads "elpaca" repo) @@ -121,9 +121,9 @@ (use-package no-littering :config (add-to-list 'recentf-exclude - (recentf-expand-file-name no-littering-var-directory)) + (recentf-expand-file-name no-littering-var-directory)) (add-to-list 'recentf-exclude - (recentf-expand-file-name no-littering-etc-directory)) + (recentf-expand-file-name no-littering-etc-directory)) (setq custom-file (no-littering-expand-etc-file-name "custom.el"))) (use-package gcmh @@ -141,8 +141,8 @@ :ensure (vertico :files (:defaults "extensions/*")) :diminish vertico-mode :bind (:map vertico-map - ("C-n" . vertico-next) - ("C-p" . vertico-previous)) + ("C-n" . vertico-next) + ("C-p" . vertico-previous)) :init (vertico-mode 1) ;; (vertico-flat-mode 1) @@ -153,9 +153,9 @@ :ensure nil ;; More convenient directory navigation commands :bind (:map vertico-map - ("RET" . vertico-directory-enter) - ("DEL" . vertico-directory-delete-char) - ("M-DEL" . vertico-directory-delete-word)) + ("RET" . vertico-directory-enter) + ("DEL" . vertico-directory-delete-char) + ("M-DEL" . vertico-directory-delete-word)) ;; Tidy shadowed file names :hook (rfn-eshadow-update-overlay . vertico-directory-tidy)) @@ -176,23 +176,23 @@ (use-package consult :config (setq completion-in-region-function - (lambda (&rest args) - (apply (if vertico-mode - #'consult-completion-in-region - #'completion--in-region) - args))) + (lambda (&rest args) + (apply (if vertico-mode + #'consult-completion-in-region + #'completion--in-region) + args))) (consult-customize consult-buffer :preview-key "M-.")) (use-package orderless :config (setq completion-styles '(orderless) - completion-category-defaults nil - completion-category-overrides '((file (styles . (partial-completion)))))) + completion-category-defaults nil + completion-category-overrides '((file (styles . (partial-completion)))))) (use-package doom-themes :config (setq doom-themes-enable-bold t - doom-themes-enable-italic t) + doom-themes-enable-italic t) (load-theme 'doom-vibrant t) (doom-themes-org-config)) @@ -227,8 +227,8 @@ :config ;; default settings (setq consult-flyspell-select-function (lambda () (flyspell-correct-at-point) (consult-flyspell)) - consult-flyspell-set-point-after-word t - consult-flyspell-always-check-buffer nil)) + consult-flyspell-set-point-after-word t + consult-flyspell-always-check-buffer nil)) (use-package rainbow-delimiters :diminish rainbow-delimiters-mode @@ -276,9 +276,9 @@ (add-to-list 'org-structure-template-alist '("py" . "src python")) (add-to-list 'org-structure-template-alist '("cpp" . "src c++")) (setq org-agenda-prefix-format '((agenda . " %i %-12:c%?-12t% s%:T ") - (todo . " %i %-12:c") - (tags . " %i %-12:c%:T ") - (search . " %i %-12:c%:T "))) + (todo . " %i %-12:c") + (tags . " %i %-12:c%:T ") + (search . " %i %-12:c%:T "))) (setq org-agenda-hide-tags-regexp ".*") (setq org-babel-default-header-args:emacs-lisp '((:lexical . "no") (:tangle . "./init.el"))) @@ -299,14 +299,14 @@ (when (string-equal (buffer-file-name) (expand-file-name "~/.dotfiles/.config/emacs/Emacs.org")) ;; Dynamic scoping to the rescuennnn (let ((org-confirm-babel-evaluate nil)) - (org-babel-tangle)))) + (org-babel-tangle)))) (add-hook 'org-mode-hook (lambda () (add-hook 'after-save-hook #'org-babel-tangle-config))) (use-package ace-window :config (setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l) - aw-scope 'frame)) + aw-scope 'frame)) (elpaca-wait) #+end_src -- cgit v1.2.3 From 5cc6cf651a034319b40455501b87be169dc133aa Mon Sep 17 00:00:00 2001 From: JackJ30 Date: Mon, 11 Nov 2024 03:55:28 -0500 Subject: development improvements --- .config/emacs/TODO.org | 7 ++-- .config/emacs/init.el | 101 +++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 102 insertions(+), 6 deletions(-) (limited to '.config') diff --git a/.config/emacs/TODO.org b/.config/emacs/TODO.org index 284e80d..9759952 100644 --- a/.config/emacs/TODO.org +++ b/.config/emacs/TODO.org @@ -1,5 +1,6 @@ -- [ ] Go through old.org -- [ ] go through emacs from scratch +- [ ] development - [ ] better search -- [ ] Org tangling - [ ] project management +- [ ] Org tangling +- [ ] splash screen +- [ ] dap mode diff --git a/.config/emacs/init.el b/.config/emacs/init.el index ca7ab1b..ccf3422 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -133,6 +133,13 @@ (diminish 'isearch-mode) (diminish 'abbrev-mode) +(use-package helpful + :bind + ([remap describe-command] . helpful-command) + ([remap describe-function] . helpful-callable) + ([remap describe-variable] . helpful-variable) + ([remap describe-key] . helpful-key)) + ;; interface packages ;; - vertico and completion (use-package vertico @@ -194,12 +201,42 @@ (use-package all-the-icons-dired :hook (dired-mode . all-the-icons-dired-mode)) +(use-package emojify + :hook (after-init . global-emojify-mode) + :config + (add-hook 'prog-mode-hook #'(lambda () (emojify-mode -1)))) + ;; text editing packages (use-package rainbow-delimiters :diminish rainbow-delimiters-mode :hook (prog-mode . rainbow-delimiters-mode)) +(use-package highlight-quoted + :diminish highlight-quoted-mode + :hook (emacs-lisp-mode . highlight-quoted-mode)) + +;; - flyspell +(use-package flyspell + :ensure nil + ;; :diminish flyspell-mode + ) + +(use-package flyspell-correct + :after flyspell) + +(use-package consult-flyspell + :ensure (consult-flyspell :host gitlab :repo "OlMon/consult-flyspell" :branch "master") + :config + ;; default settings + (setq consult-flyspell-select-function (lambda () (flyspell-correct-at-point) (consult-flyspell)) + consult-flyspell-set-point-after-word t + consult-flyspell-always-check-buffer nil)) + +(add-hook 'text-mode-hook 'flyspell-mode) +(add-hook 'prog-mode-hook 'flyspell-prog-mode) + ;; directory changes and packages + (recentf-mode 1) (use-package no-littering @@ -225,10 +262,20 @@ (setf dired-kill-when-opening-new-dired-buffer t) -(use-package dired-open +;; -- undo tree +(use-package undo-tree + :diminish undo-tree-mode :config - ;; Doesn't work as expected! - (add-to-list 'dired-open-functions #'dired-open-xdg t) + (global-undo-tree-mode) + (add-hook 'authinfo-mode-hook #'(lambda () (setq-local undo-tree-auto-save-history nil))) + (defvar --undo-history-directory (concat user-emacs-directory "undotreefiles/") + "Directory to save undo history files.") + (unless (file-exists-p --undo-history-directory) + (make-directory --undo-history-directory t)) + ;; stop littering with *.~undo-tree~ files everywhere + (setq undo-tree-history-directory-alist `(("." . ,--undo-history-directory)))) +(global-set-key (kbd "C-/") #'undo-tree-undo) +(global-set-key (kbd "M-/") #'undo-tree-redo) ;; - embark (use-package embark @@ -256,8 +303,56 @@ ;; - projectile +;; - tree sitter +(use-package tree-sitter + :diminish tree-sitter-mode + :config + (global-tree-sitter-mode 1)) +(use-package tree-sitter-langs) + +;; - LSP mode + +(use-package lsp-mode + :commands (lsp lsp-deferred) + :init + (setq lsp-keymap-prefix "C-c l" + lsp-headerline-breadcrumb-enable t + lsp-headerline-breadcrumb-icons-enable t + lsp-headerline-breadcrumb-segments '(path-up-to-project file symbols)) + (lsp-headerline-breadcrumb-mode) + :config + (lsp-enable-which-key-integration t)) + +(use-package lsp-ui + :hook (lsp-mode . lsp-ui-mode)) +(setq lsp-ui-doc-position 'bottom) + +(use-package consult-lsp + :after lsp) + +(use-package lsp-treemacs + :after lsp) + +;; - misc +(use-package evil-nerd-commenter + :bind ("M-;" . evilnc-comment-or-uncomment-lines)) ;; keybinds (global-unset-key (kbd "C-z")) (global-set-key (kbd "") #'keyboard-escape-quit) + +(use-package move-text) +(global-set-key (kbd "M-p") #'move-text-up) +(global-set-key (kbd "M-n") #'move-text-down) + +(use-package expand-region) +(global-set-key (kbd "C-=") 'er/expand-region) + +(use-package multiple-cursors + :bind (:map global-map + ("C->" . 'mc/mark-next-like-this) + ("C-<" . 'mc/mark-previous-like-this) + ("C-c C->" . 'mc/mark-all-like-this) + :map mc/keymap + ("" . nil))) -- cgit v1.2.3 From bba1c74acff827d6b5db680f1dddeba0c1a9113f Mon Sep 17 00:00:00 2001 From: JackJ30 Date: Mon, 11 Nov 2024 13:42:41 -0500 Subject: did things --- .config/emacs/TODO.org | 4 +++- .config/emacs/init.el | 2 +- .config/mpd/mpd.pid | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) (limited to '.config') diff --git a/.config/emacs/TODO.org b/.config/emacs/TODO.org index 9759952..532a4e8 100644 --- a/.config/emacs/TODO.org +++ b/.config/emacs/TODO.org @@ -1,4 +1,6 @@ -- [ ] development +- [ ] development (lsp for elisp, c++, typescript, html tags) +- [ ] corfu completion +- [ ] lsp peeking, finding definitions, all that bs - [ ] better search - [ ] project management - [ ] Org tangling diff --git a/.config/emacs/init.el b/.config/emacs/init.el index ccf3422..0df35cf 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -168,7 +168,7 @@ :init (which-key-mode) :diminish which-key-mode :config - (setq which-key-idle-delay 3)) + (setq which-key-idle-delay 0.2)) (use-package marginalia :diminish marginalia-mode diff --git a/.config/mpd/mpd.pid b/.config/mpd/mpd.pid index 74d3d60..8381dd2 100644 --- a/.config/mpd/mpd.pid +++ b/.config/mpd/mpd.pid @@ -1 +1 @@ -1374 +1311 -- cgit v1.2.3 From 7bbffcfb1c38c527ec18be479beea9ecc666410b Mon Sep 17 00:00:00 2001 From: JackJ30 Date: Tue, 12 Nov 2024 14:52:57 -0500 Subject: completion and lsp improvements --- .config/emacs/TODO.org | 7 +++-- .config/emacs/init.el | 73 +++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 75 insertions(+), 5 deletions(-) (limited to '.config') diff --git a/.config/emacs/TODO.org b/.config/emacs/TODO.org index 532a4e8..9b067f4 100644 --- a/.config/emacs/TODO.org +++ b/.config/emacs/TODO.org @@ -1,5 +1,8 @@ -- [ ] development (lsp for elisp, c++, typescript, html tags) -- [ ] corfu completion +- [x] development lsps +- [x] bettter configure corfu +- [ ] configure flycheck + argument completion + snippets +- [ ] C-c macros for development +- [ ] JS lsp setup - [ ] lsp peeking, finding definitions, all that bs - [ ] better search - [ ] project management diff --git a/.config/emacs/init.el b/.config/emacs/init.el index 0df35cf..a850132 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -6,7 +6,7 @@ (defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git" :ref nil :depth 1 :files (:defaults "elpaca-test.el" (:exclude "extensions")) - :build (:not elpaca--activate-package))) + :build (:not elpaca--activate-package))) (let* ((repo (expand-file-name "elpaca/" elpaca-repos-directory)) (build (expand-file-name "elpaca/" elpaca-builds-directory)) (order (cdr elpaca-order)) @@ -318,21 +318,88 @@ (setq lsp-keymap-prefix "C-c l" lsp-headerline-breadcrumb-enable t lsp-headerline-breadcrumb-icons-enable t - lsp-headerline-breadcrumb-segments '(path-up-to-project file symbols)) + lsp-headerline-breadcrumb-segments '(path-up-to-project file symbols) + lsp-lens-enable nil) (lsp-headerline-breadcrumb-mode) :config - (lsp-enable-which-key-integration t)) + (lsp-enable-which-key-integration t) + :hook ( + (c-mode . lsp) + (c++-mode . lsp) + (python-mode . lsp) + (csharp-mode . lsp) + ) + :custom + (lsp-completion-provider :none) ; corfu + ) (use-package lsp-ui :hook (lsp-mode . lsp-ui-mode)) (setq lsp-ui-doc-position 'bottom) +;; - - hooks +(defun my-c-mode-common-hook () + ;; my customizations for all of c-mode, c++-mode, objc-mode, java-mode + (c-set-offset 'substatement-open 0) + ;; other customizations can go here + + (setq c++-tab-always-indent t) + (setq c-basic-offset 4) ;; Default is 2 + (setq c-indent-level 4) ;; Default is 2 + + (setq tab-stop-list '(4 8 12 16 20 24 28 32 36 40 44 48 52 56 60)) + (setq tab-width 4) + (setq indent-tabs-mode t)) +(add-hook 'c-mode-common-hook 'my-c-mode-common-hook) + +;; - - additional packages + (use-package consult-lsp :after lsp) (use-package lsp-treemacs :after lsp) +;; - completion +(use-package corfu + :ensure t + :custom + (corfu-cycle t) + (corfu-auto t) + (corfu-auto-prefix 2) + (corfu-auto-delay 0) + (corfu-popupinfo-delay '(0.3 . 0.1)) + (corfu-preview-current 'insert) + (corfu-preselect 'first) + (corfu-on-exact-match nil) + :bind (:map corfu-map + ("C-g" . corfu-quit)) + :init + (global-corfu-mode) + (corfu-history-mode) + (corfu-popupinfo-mode)) + +(use-package cape + ;; Bind prefix keymap providing all Cape commands under a mnemonic key. + ;; Press C-c p ? to for help. + :bind ("C-c p" . cape-prefix-map) ;; Alternative keys: M-p, M-+, ... + ;; Alternatively bind Cape commands individually. + ;; :bind (("C-c p d" . cape-dabbrev) + ;; ("C-c p h" . cape-history) + ;; ("C-c p f" . cape-file) + ;; ...) + :init + ;; Add to the global default value of `completion-at-point-functions' which is + ;; used by `completion-at-point'. The order of the functions matters, the + ;; first function returning a result wins. Note that the list of buffer-local + ;; completion functions takes precedence over the global list. + (add-hook 'completion-at-point-functions #'cape-dabbrev) + (add-hook 'completion-at-point-functions #'cape-file) + (add-hook 'completion-at-point-functions #'cape-elisp-block) + ;; (add-hook 'completion-at-point-functions #'cape-history) + ;; ... + ) + ;; - misc (use-package evil-nerd-commenter :bind ("M-;" . evilnc-comment-or-uncomment-lines)) -- cgit v1.2.3 From 085dfd265a90538e7a4ddaba5e93c625b24fc80e Mon Sep 17 00:00:00 2001 From: JackJ30 Date: Thu, 14 Nov 2024 00:20:50 -0500 Subject: more emacs work --- .config/emacs/TODO.org | 5 +++-- .config/emacs/init.el | 12 ++++++------ .config/hypr/style.conf | 8 ++++---- .config/mpd/mpd.pid | 2 +- README.md | 5 ++--- 5 files changed, 16 insertions(+), 16 deletions(-) (limited to '.config') diff --git a/.config/emacs/TODO.org b/.config/emacs/TODO.org index 9b067f4..018749f 100644 --- a/.config/emacs/TODO.org +++ b/.config/emacs/TODO.org @@ -1,9 +1,10 @@ - [x] development lsps - [x] bettter configure corfu - [ ] configure flycheck + argument completion + snippets -- [ ] C-c macros for development -- [ ] JS lsp setup +- [ ] JS lsp setup + lsp improvements +- [ ] C-c macros for development and consult - [ ] lsp peeking, finding definitions, all that bs +- [ ] no corfu in org mode holy shit - [ ] better search - [ ] project management - [ ] Org tangling diff --git a/.config/emacs/init.el b/.config/emacs/init.el index a850132..651ddea 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -168,7 +168,7 @@ :init (which-key-mode) :diminish which-key-mode :config - (setq which-key-idle-delay 0.2)) + (setq which-key-idle-delay 0.5)) (use-package marginalia :diminish marginalia-mode @@ -261,6 +261,7 @@ ;; - dired (setf dired-kill-when-opening-new-dired-buffer t) +(setq dired-dwim-target t) ;; -- undo tree (use-package undo-tree @@ -317,7 +318,6 @@ :init (setq lsp-keymap-prefix "C-c l" lsp-headerline-breadcrumb-enable t - lsp-headerline-breadcrumb-icons-enable t lsp-headerline-breadcrumb-segments '(path-up-to-project file symbols) lsp-lens-enable nil) (lsp-headerline-breadcrumb-mode) @@ -325,8 +325,8 @@ (lsp-enable-which-key-integration t) :hook ( (c-mode . lsp) - (c++-mode . lsp) - (python-mode . lsp) + (c++-mode . lsp-deferred) + (python-mode . lsp-deferred) (csharp-mode . lsp) ) :custom @@ -367,8 +367,8 @@ (corfu-cycle t) (corfu-auto t) (corfu-auto-prefix 2) - (corfu-auto-delay 0) - (corfu-popupinfo-delay '(0.3 . 0.1)) + (corfu-auto-delay 0.2) + (corfu-popupinfo-delay '(0.3 . 0.2)) (corfu-preview-current 'insert) (corfu-preselect 'first) (corfu-on-exact-match nil) diff --git a/.config/hypr/style.conf b/.config/hypr/style.conf index db0c6de..9c00a5f 100644 --- a/.config/hypr/style.conf +++ b/.config/hypr/style.conf @@ -18,10 +18,10 @@ decoration { passes = 3 } - drop_shadow = no - shadow_range = 4 - shadow_render_power = 3 - col.shadow = rgba(1a1a1aee) + # drop_shadow = no + # shadow_range = 4 + # shadow_render_power = 3 + # col.shadow = rgba(1a1a1aee) } animations { diff --git a/.config/mpd/mpd.pid b/.config/mpd/mpd.pid index 8381dd2..80b6d67 100644 --- a/.config/mpd/mpd.pid +++ b/.config/mpd/mpd.pid @@ -1 +1 @@ -1311 +1394 diff --git a/README.md b/README.md index 3c9c9c3..cad60fd 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,7 @@ Dependencies: - Hyprpaper - Hyprlock - Hypridle -- Nemo -- Kitty +- Alacritty - Brightnessctl -- Calcurse - Pipewire +- Emacs lsp booster -- cgit v1.2.3 From 408948d7a9fed6c1436f2a21cb9806c742190116 Mon Sep 17 00:00:00 2001 From: JackJ30 Date: Fri, 15 Nov 2024 15:49:14 -0500 Subject: lsp booster --- .config/emacs/init.el | 85 ++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 63 insertions(+), 22 deletions(-) (limited to '.config') diff --git a/.config/emacs/init.el b/.config/emacs/init.el index 651ddea..a805948 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -1,3 +1,5 @@ +(setq gc-cons-threshold 200000000) + ;; package setup (defvar elpaca-installer-version 0.7) (defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory)) @@ -43,6 +45,10 @@ (elpaca-use-package-mode) (setq elpaca-use-package-by-default t)) +(unless (package-installed-p 'vc-use-package) + (package-vc-install "https://github.com/slotThe/vc-use-package")) +(require 'vc-use-package) + (elpaca-wait) ;; basic interface @@ -107,9 +113,14 @@ :config (setq doom-themes-enable-bold t doom-themes-enable-italic t) - (load-theme 'doom-snazzy t) + ;(load-theme 'doom-snazzy t) (doom-themes-org-config)) +(use-package miasma-theme + :vc (:fetcher github :repo daut/miasma-theme.el) + :config + (load-theme 'miasma t)) + (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. @@ -215,25 +226,27 @@ :diminish highlight-quoted-mode :hook (emacs-lisp-mode . highlight-quoted-mode)) -;; - flyspell -(use-package flyspell - :ensure nil - ;; :diminish flyspell-mode - ) +;; - flyspell ( still working on perfect config ) +;; (use-package flyspell +;; :ensure nil +;; ;; :diminish flyspell-mode +;; ) -(use-package flyspell-correct - :after flyspell) +;; (setq flyspell-prog-text-faces '(font-lock-doc-face)) -(use-package consult-flyspell - :ensure (consult-flyspell :host gitlab :repo "OlMon/consult-flyspell" :branch "master") - :config - ;; default settings - (setq consult-flyspell-select-function (lambda () (flyspell-correct-at-point) (consult-flyspell)) - consult-flyspell-set-point-after-word t - consult-flyspell-always-check-buffer nil)) +;; (use-package flyspell-correct +;; :after flyspell) + +;; (use-package consult-flyspell +;; :ensure (consult-flyspell :host gitlab :repo "OlMon/consult-flyspell" :branch "master") +;; :config +;; ;; default settings +;; (setq consult-flyspell-select-function (lambda () (flyspell-correct-at-point) (consult-flyspell)) +;; consult-flyspell-set-point-after-word t +;; consult-flyspell-always-check-buffer nil)) -(add-hook 'text-mode-hook 'flyspell-mode) -(add-hook 'prog-mode-hook 'flyspell-prog-mode) +;; (add-hook 'text-mode-hook 'flyspell-mode) +;; (add-hook 'prog-mode-hook 'flyspell-prog-mode) ;; directory changes and packages @@ -247,11 +260,6 @@ (recentf-expand-file-name no-littering-etc-directory)) (setq custom-file (no-littering-expand-etc-file-name "custom.el"))) -(use-package gcmh - :diminish gcmh-mode - :init - (gcmh-mode 1)) - (use-package savehist :ensure nil :diminish savehist-mode @@ -337,6 +345,38 @@ :hook (lsp-mode . lsp-ui-mode)) (setq lsp-ui-doc-position 'bottom) +;; - - lsp booster +(defun lsp-booster--advice-json-parse (old-fn &rest args) + "Try to parse bytecode instead of json." + (or + (when (equal (following-char) ?#) + (let ((bytecode (read (current-buffer)))) + (when (byte-code-function-p bytecode) + (funcall bytecode)))) + (apply old-fn args))) +(advice-add (if (progn (require 'json) + (fboundp 'json-parse-buffer)) + 'json-parse-buffer + 'json-read) + :around + #'lsp-booster--advice-json-parse) + +(defun lsp-booster--advice-final-command (old-fn cmd &optional test?) + "Prepend emacs-lsp-booster command to lsp CMD." + (let ((orig-result (funcall old-fn cmd test?))) + (if (and (not test?) ;; for check lsp-server-present? + (not (file-remote-p default-directory)) ;; see lsp-resolve-final-command, it would add extra shell wrapper + lsp-use-plists + (not (functionp 'json-rpc-connection)) ;; native json-rpc + (executable-find "emacs-lsp-booster")) + (progn + (when-let ((command-from-exec-path (executable-find (car orig-result)))) ;; resolve command from exec-path (in case not found in $PATH) + (setcar orig-result command-from-exec-path)) + (message "Using emacs-lsp-booster for %s!" orig-result) + (cons "emacs-lsp-booster" orig-result)) + orig-result))) +(advice-add 'lsp-resolve-final-command :around #'lsp-booster--advice-final-command) + ;; - - hooks (defun my-c-mode-common-hook () ;; my customizations for all of c-mode, c++-mode, objc-mode, java-mode @@ -408,6 +448,7 @@ (global-unset-key (kbd "C-z")) (global-set-key (kbd "") #'keyboard-escape-quit) +(global-set-key (kbd "C-c f") #'consult-line) (use-package move-text) (global-set-key (kbd "M-p") #'move-text-up) -- cgit v1.2.3 From 3e9225bc1eec17bf7a3114c8cc1ed72ad67a9d23 Mon Sep 17 00:00:00 2001 From: JackJ30 Date: Sat, 16 Nov 2024 23:17:28 -0500 Subject: actual lsp booster and yasnippet --- .config/emacs/.gitignore | 15 --------------- .config/emacs/early-init.el | 1 + .config/emacs/init.el | 29 ++++++++--------------------- .gitignore | 3 +++ 4 files changed, 12 insertions(+), 36 deletions(-) delete mode 100644 .config/emacs/.gitignore create mode 100644 .config/emacs/early-init.el (limited to '.config') diff --git a/.config/emacs/.gitignore b/.config/emacs/.gitignore deleted file mode 100644 index c188f7b..0000000 --- a/.config/emacs/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -/straight/ -/elpaca/ -/transient/ -/projectile-bookmarks.eld -/persp-confs/ -/history -/games/ -/eshell/ -/eln-cache/ -/auto-save-list/ -/.lsp-session-v1 -/.local/ -/.cache/ -/var/ -/etc/ \ No newline at end of file diff --git a/.config/emacs/early-init.el b/.config/emacs/early-init.el new file mode 100644 index 0000000..25a0d1f --- /dev/null +++ b/.config/emacs/early-init.el @@ -0,0 +1 @@ +(setenv "LSP_USE_PLISTS" "true") diff --git a/.config/emacs/init.el b/.config/emacs/init.el index a805948..d58035d 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -121,28 +121,10 @@ :config (load-theme 'miasma t)) -(custom-set-variables - ;; custom-set-variables was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(package-selected-packages '(magit doom-themes ivy doom-modeline command-log-mode))) -(custom-set-faces - ;; custom-set-faces was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - ) - ;; misc changes (use-package diminish) -(diminish 'abbrev-mode) (auto-revert-mode 1) -(diminish 'auto-revert-mode) -(diminish 'eldoc-mode) -(diminish 'isearch-mode) -(diminish 'abbrev-mode) (use-package helpful :bind @@ -319,16 +301,21 @@ (global-tree-sitter-mode 1)) (use-package tree-sitter-langs) +;; - snippet +(use-package yasnippet + :config + (yas-global-mode 1)) + ;; - LSP mode (use-package lsp-mode :commands (lsp lsp-deferred) :init (setq lsp-keymap-prefix "C-c l" - lsp-headerline-breadcrumb-enable t - lsp-headerline-breadcrumb-segments '(path-up-to-project file symbols) + lsp-headerline-breadcrumb-enable f + ;lsp-headerline-breadcrumb-segments '(path-up-to-project file symbols) lsp-lens-enable nil) - (lsp-headerline-breadcrumb-mode) + ;(lsp-headerline-breadcrumb-mode) :config (lsp-enable-which-key-integration t) :hook ( diff --git a/.gitignore b/.gitignore index 42623f0..0227e2c 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,6 @@ /.config/emacs/undotreefiles/ /.config/emacs/elpa/ .config/emacs/init.el +/.config/emacs/elpaca/ +/.config/emacs/transient/ +/.config/emacs/var/ -- cgit v1.2.3 From d046a273c7a0e1f4f000fd417393c6babafb0541 Mon Sep 17 00:00:00 2001 From: JackJ30 Date: Sun, 17 Nov 2024 13:37:21 -0500 Subject: flycheck --- .config/emacs/TODO.org | 5 ++++- .config/emacs/init.el | 20 +++++++++++++++++--- .config/mpd/mpd.pid | 2 +- 3 files changed, 22 insertions(+), 5 deletions(-) (limited to '.config') diff --git a/.config/emacs/TODO.org b/.config/emacs/TODO.org index 018749f..234b248 100644 --- a/.config/emacs/TODO.org +++ b/.config/emacs/TODO.org @@ -1,12 +1,15 @@ - [x] development lsps - [x] bettter configure corfu +- [x] speed up lsp - [ ] configure flycheck + argument completion + snippets -- [ ] JS lsp setup + lsp improvements +- [ ] JS lsp setup - [ ] C-c macros for development and consult - [ ] lsp peeking, finding definitions, all that bs +- [ ] grab shit from other lsp config - [ ] no corfu in org mode holy shit - [ ] better search - [ ] project management +- [ ] ido - [ ] Org tangling - [ ] splash screen - [ ] dap mode diff --git a/.config/emacs/init.el b/.config/emacs/init.el index d58035d..654bdf5 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -312,10 +312,10 @@ :commands (lsp lsp-deferred) :init (setq lsp-keymap-prefix "C-c l" - lsp-headerline-breadcrumb-enable f - ;lsp-headerline-breadcrumb-segments '(path-up-to-project file symbols) + lsp-headerline-breadcrumb-enable t + lsp-headerline-breadcrumb-segments '(path-up-to-project file symbols) lsp-lens-enable nil) - ;(lsp-headerline-breadcrumb-mode) + (lsp-headerline-breadcrumb-mode) :config (lsp-enable-which-key-integration t) :hook ( @@ -364,6 +364,20 @@ orig-result))) (advice-add 'lsp-resolve-final-command :around #'lsp-booster--advice-final-command) +;; flycheck +(use-package flycheck + :diminish flycheck-mode + :config + (setq flycheck-error-message-buffer " *Flycheck error messages*") + (setq-default flycheck-emacs-lisp-load-path 'inherit) + (global-flycheck-mode 1)) + +(use-package flycheck-pos-tip + :ensure t + :after flycheck + :config + (flycheck-pos-tip-mode)) + ;; - - hooks (defun my-c-mode-common-hook () ;; my customizations for all of c-mode, c++-mode, objc-mode, java-mode diff --git a/.config/mpd/mpd.pid b/.config/mpd/mpd.pid index 80b6d67..f344618 100644 --- a/.config/mpd/mpd.pid +++ b/.config/mpd/mpd.pid @@ -1 +1 @@ -1394 +1711 -- cgit v1.2.3 From f550e3a9492916aff5ed16bac36990417bb77d73 Mon Sep 17 00:00:00 2001 From: JackJ30 Date: Mon, 18 Nov 2024 20:41:31 -0500 Subject: icons --- .config/emacs/TODO.org | 2 +- .config/emacs/init.el | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) (limited to '.config') diff --git a/.config/emacs/TODO.org b/.config/emacs/TODO.org index 234b248..da4be55 100644 --- a/.config/emacs/TODO.org +++ b/.config/emacs/TODO.org @@ -1,7 +1,7 @@ - [x] development lsps - [x] bettter configure corfu - [x] speed up lsp -- [ ] configure flycheck + argument completion + snippets +- [x] configure flycheck + argument completion + snippets - [ ] JS lsp setup - [ ] C-c macros for development and consult - [ ] lsp peeking, finding definitions, all that bs diff --git a/.config/emacs/init.el b/.config/emacs/init.el index 654bdf5..38b0b7b 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -107,19 +107,20 @@ (use-package doom-modeline :ensure t :init (doom-modeline-mode 1) - :custom ((doom-modeline-height 15))) + :custom ((doom-modeline-height 25))) (use-package doom-themes :config (setq doom-themes-enable-bold t doom-themes-enable-italic t) - ;(load-theme 'doom-snazzy t) + (load-theme 'doom-dracula t) (doom-themes-org-config)) (use-package miasma-theme :vc (:fetcher github :repo daut/miasma-theme.el) :config - (load-theme 'miasma t)) + ;(load-theme 'miasma t) + ) ;; misc changes (use-package diminish) @@ -409,7 +410,7 @@ (corfu-auto t) (corfu-auto-prefix 2) (corfu-auto-delay 0.2) - (corfu-popupinfo-delay '(0.3 . 0.2)) + (corfu-popupinfo-delay '(0.2 . 0.1)) (corfu-preview-current 'insert) (corfu-preselect 'first) (corfu-on-exact-match nil) @@ -420,6 +421,15 @@ (corfu-history-mode) (corfu-popupinfo-mode)) +(use-package kind-icon + :ensure t + :after corfu + ;:custom + ; (kind-icon-blend-background t) + ; (kind-icon-default-face 'corfu-default) ; only needed with blend-background + :config + (add-to-list 'corfu-margin-formatters #'kind-icon-margin-formatter)) + (use-package cape ;; Bind prefix keymap providing all Cape commands under a mnemonic key. ;; Press C-c p ? to for help. -- cgit v1.2.3 From dab65bce6e5c17098c1384147c53c0c20eff830b Mon Sep 17 00:00:00 2001 From: JackJ30 Date: Mon, 18 Nov 2024 21:15:31 -0500 Subject: treesitter and tsx modes --- .config/emacs/init.el | 70 ++++++++++++++++++++++++++++++++++++++++++++++++--- .gitignore | 2 ++ 2 files changed, 68 insertions(+), 4 deletions(-) (limited to '.config') diff --git a/.config/emacs/init.el b/.config/emacs/init.el index 38b0b7b..ff131f2 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -296,12 +296,71 @@ ;; - projectile ;; - tree sitter -(use-package tree-sitter - :diminish tree-sitter-mode - :config - (global-tree-sitter-mode 1)) +(use-package treesit + :elpaca nil + :mode (("\\.tsx\\'" . tsx-ts-mode) + ("\\.js\\'" . typescript-ts-mode) + ("\\.mjs\\'" . typescript-ts-mode) + ("\\.mts\\'" . typescript-ts-mode) + ("\\.cjs\\'" . typescript-ts-mode) + ("\\.ts\\'" . typescript-ts-mode) + ("\\.jsx\\'" . tsx-ts-mode) + ("\\.json\\'" . json-ts-mode) + ("\\.Dockerfile\\'" . dockerfile-ts-mode) + ("\\.prisma\\'" . prisma-ts-mode) + ;; More modes defined here... + ) + :preface + (defun os/setup-install-grammars () + "Install Tree-sitter grammars if they are absent." + (interactive) + (dolist (grammar + '((css . ("https://github.com/tree-sitter/tree-sitter-css" "v0.20.0")) + (bash "https://github.com/tree-sitter/tree-sitter-bash") + (html . ("https://github.com/tree-sitter/tree-sitter-html" "v0.20.1")) + (javascript . ("https://github.com/tree-sitter/tree-sitter-javascript" "v0.21.2" "src")) + (json . ("https://github.com/tree-sitter/tree-sitter-json" "v0.20.2")) + (python . ("https://github.com/tree-sitter/tree-sitter-python" "v0.20.4")) + (go "https://github.com/tree-sitter/tree-sitter-go" "v0.20.0") + (markdown "https://github.com/ikatyang/tree-sitter-markdown") + (make "https://github.com/alemuller/tree-sitter-make") + (elisp "https://github.com/Wilfred/tree-sitter-elisp") + (cmake "https://github.com/uyha/tree-sitter-cmake") + (c "https://github.com/tree-sitter/tree-sitter-c") + (cpp "https://github.com/tree-sitter/tree-sitter-cpp") + (toml "https://github.com/tree-sitter/tree-sitter-toml") + (tsx . ("https://github.com/tree-sitter/tree-sitter-typescript" "v0.20.3" "tsx/src")) + (typescript . ("https://github.com/tree-sitter/tree-sitter-typescript" "v0.20.3" "typescript/src")) + (yaml . ("https://github.com/ikatyang/tree-sitter-yaml" "v0.5.0")) + (prisma "https://github.com/victorhqc/tree-sitter-prisma"))) + (add-to-list 'treesit-language-source-alist grammar) + ;; Only install `grammar' if we don't already have it + ;; installed. However, if you want to *update* a grammar then + ;; this obviously prevents that from happening. + (unless (treesit-language-available-p (car grammar)) + (treesit-install-language-grammar (car grammar))))) + + ;; Optional, but recommended. Tree-sitter enabled major modes are + ;; distinct from their ordinary counterparts. + ;; + ;; You can remap major modes with `major-mode-remap-alist'. Note + ;; that this does *not* extend to hooks! Make sure you migrate them + ;; also + (dolist (mapping + '((css-mode . css-ts-mode) + (typescript-mode . typescript-ts-mode) + (js-mode . typescript-ts-mode) + (js2-mode . typescript-ts-mode) + (json-mode . json-ts-mode) + (js-json-mode . json-ts-mode))) + (add-to-list 'major-mode-remap-alist mapping)) + :config + (os/setup-install-grammars)) + (use-package tree-sitter-langs) +;; - combobulate + ;; - snippet (use-package yasnippet :config @@ -324,6 +383,9 @@ (c++-mode . lsp-deferred) (python-mode . lsp-deferred) (csharp-mode . lsp) + ((tsx-ts-mode + typescript-ts-mode + js-ts-mode) . lsp-deferred) ) :custom (lsp-completion-provider :none) ; corfu diff --git a/.gitignore b/.gitignore index 0227e2c..201730e 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ /.config/emacs/elpaca/ /.config/emacs/transient/ /.config/emacs/var/ +/.config/emacs/auto-save-list/ +/.config/emacs/tree-sitter/ -- cgit v1.2.3 From 381646866ecce2c61e1ac961917cd6b4359b544c Mon Sep 17 00:00:00 2001 From: JackJ30 Date: Wed, 27 Nov 2024 18:25:06 -0500 Subject: lsp idle delay --- .config/emacs/init.el | 5 ++++- .config/mpd/mpd.pid | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to '.config') diff --git a/.config/emacs/init.el b/.config/emacs/init.el index ff131f2..83d6bd1 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -364,7 +364,9 @@ ;; - snippet (use-package yasnippet :config - (yas-global-mode 1)) + (yas-global-mode 1) + :bind (("C-M-n" . yas-next-field ) + ("C-M-p" . yas-prev-field ))) ;; - LSP mode @@ -389,6 +391,7 @@ ) :custom (lsp-completion-provider :none) ; corfu + (lsp-idle-delay 0.5) ) (use-package lsp-ui diff --git a/.config/mpd/mpd.pid b/.config/mpd/mpd.pid index f344618..2538e3d 100644 --- a/.config/mpd/mpd.pid +++ b/.config/mpd/mpd.pid @@ -1 +1 @@ -1711 +1354 -- cgit v1.2.3 From 5c37fd060bba1970780fea54d4e56cdebb441db1 Mon Sep 17 00:00:00 2001 From: JackJ30 Date: Sun, 29 Dec 2024 01:28:28 -0500 Subject: cmake and c++ updates --- .config/emacs/init.el | 13 ++++++++++--- README.md | 7 +++++++ 2 files changed, 17 insertions(+), 3 deletions(-) (limited to '.config') diff --git a/.config/emacs/init.el b/.config/emacs/init.el index 83d6bd1..9f90669 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -391,7 +391,7 @@ ) :custom (lsp-completion-provider :none) ; corfu - (lsp-idle-delay 0.5) + (lsp-idle-delay 1.0) ) (use-package lsp-ui @@ -456,9 +456,16 @@ (setq tab-stop-list '(4 8 12 16 20 24 28 32 36 40 44 48 52 56 60)) (setq tab-width 4) - (setq indent-tabs-mode t)) + (setq indent-tabs-mode nil)) (add-hook 'c-mode-common-hook 'my-c-mode-common-hook) +(defun my-cmake-mode-setup () + "Switch to cmake-mode when opening a CMakeLists.txt file." + (when (string-match "CMakeLists\\.txt\\'" (buffer-name)) + (cmake-ts-mode))) + +(add-hook 'find-file-hook 'my-cmake-mode-setup) + ;; - - additional packages (use-package consult-lsp @@ -474,7 +481,7 @@ (corfu-cycle t) (corfu-auto t) (corfu-auto-prefix 2) - (corfu-auto-delay 0.2) + (corfu-auto-delay 0.4) (corfu-popupinfo-delay '(0.2 . 0.1)) (corfu-preview-current 'insert) (corfu-preselect 'first) diff --git a/README.md b/README.md index cad60fd..5f79acc 100644 --- a/README.md +++ b/README.md @@ -10,3 +10,10 @@ Dependencies: - Brightnessctl - Pipewire - Emacs lsp booster + +Possible Improvements: +- New lsp system (lsp-bridge, eglot) +- Learn better searching +- Built in debugging +- Built in git merging +- Code collapsing -- cgit v1.2.3