From 4388b5cad5a53e899b82b442c314d9409b9e08b0 Mon Sep 17 00:00:00 2001 From: JaeYoo-Im Date: Wed, 4 Sep 2024 17:25:57 +0900 Subject: [PATCH] emacs : move to straight done. --- .config/emacs/init.el | 39 +++++------- .config/emacs/lisp/init-c.el | 6 +- .config/emacs/lisp/init-copilot.el | 7 ++- .config/emacs/lisp/init-ctags.el | 3 + .config/emacs/lisp/init-debug.el | 3 + .config/emacs/lisp/init-dict.el | 45 -------------- .config/emacs/lisp/init-eglot.el | 13 ---- .config/emacs/lisp/init-elisp.el | 13 +++- .config/emacs/lisp/init-extra.el | 10 ++- .config/emacs/lisp/init-flycheck.el | 96 ++++++++++++++++------------- .config/emacs/lisp/init-latex.el | 2 + .config/emacs/lisp/init-org.el | 1 - .config/emacs/lisp/init-prog.el | 84 +++++++++++++------------ .config/emacs/lisp/init-python.el | 14 +++-- .config/emacs/lisp/init-ruby.el | 23 ++++++- .config/emacs/lisp/init-rust.el | 3 +- .config/emacs/lisp/init-shell.el | 7 --- .config/emacs/lisp/init-verilog.el | 5 +- 18 files changed, 185 insertions(+), 189 deletions(-) delete mode 100644 .config/emacs/lisp/init-dict.el delete mode 100644 .config/emacs/lisp/init-eglot.el delete mode 100644 .config/emacs/lisp/init-shell.el diff --git a/.config/emacs/init.el b/.config/emacs/init.el index 6fb8e1a..5a4cf3a 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -84,9 +84,6 @@ Otherwise the startup will be very slow. " (require 'init-org) (require 'init-reader) -;; -;; (require 'init-dict) ;; will be removed - ;; docker (when ON-LINUX (require 'init-docker)) @@ -95,26 +92,24 @@ Otherwise the startup will be very slow. " ;; Programming (require 'init-vcs) -;;(require 'init-flycheck) -;;(require 'init-eglot) -;;(require 'init-ctags) -;;(require 'init-prog) -;; -;;(require 'init-elisp) -;;(require 'init-c) +(require 'init-flycheck) +(require 'init-ctags) +(require 'init-prog) + +(require 'init-elisp) +(require 'init-c) (require 'init-rust) -;;(require 'init-python) -;;(require 'init-ruby) -;;(require 'init-shell) -;; -;;(require 'init-latex) -;;(require 'init-verilog) -;; -;;(require 'init-debug) -;; -;;(require 'init-extra) +(require 'init-python) +(require 'init-ruby) + +(require 'init-latex) +(require 'init-verilog) + +(require 'init-debug) + +(require 'init-extra) (require 'init-chatgpt) -;; -;;(require 'init-copilot) + +(require 'init-copilot) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; init.el ends here diff --git a/.config/emacs/lisp/init-c.el b/.config/emacs/lisp/init-c.el index 38badb9..1f380fc 100644 --- a/.config/emacs/lisp/init-c.el +++ b/.config/emacs/lisp/init-c.el @@ -39,9 +39,9 @@ ("" . compile)) :init (setq-default c-basic-offset 4)) -(use-package c-ts-mode - :ensure nil - :init (setq c-ts-mode-indent-offset 4)) +;; (use-package c-ts-mode +;; :ensure nil +;; :init (setq c-ts-mode-indent-offset 4)) (provide 'init-c) diff --git a/.config/emacs/lisp/init-copilot.el b/.config/emacs/lisp/init-copilot.el index 74dfabe..34f9c7b 100644 --- a/.config/emacs/lisp/init-copilot.el +++ b/.config/emacs/lisp/init-copilot.el @@ -1,8 +1,9 @@ ;; init-copilot.el -*- lexical-binding: t -*- -(add-to-list 'load-path "~/.config/emacs/copilot.el") -(require 'copilot) -(add-hook 'prog-mode-hook 'copilot-mode) +(use-package copilot + :straight (:host github :repo "copilot-emacs/copilot.el" :files ("*.el")) + :ensure t) + ;; :hook (prog-mode . copilot-mode)) (provide 'init-copilot) ;;; init-copilot.el ends here diff --git a/.config/emacs/lisp/init-ctags.el b/.config/emacs/lisp/init-ctags.el index dd299e2..f78d01a 100644 --- a/.config/emacs/lisp/init-ctags.el +++ b/.config/emacs/lisp/init-ctags.el @@ -5,6 +5,9 @@ ;; Ctags IDE on the True Editor ;; @see https://github.com/universal-ctags/citre#quick-start (use-package citre + :straight t + :ensure t + :defer t :diminish :commands citre-jump-back :functions xref-go-back diff --git a/.config/emacs/lisp/init-debug.el b/.config/emacs/lisp/init-debug.el index d6e39ba..9f8f912 100644 --- a/.config/emacs/lisp/init-debug.el +++ b/.config/emacs/lisp/init-debug.el @@ -28,6 +28,9 @@ ;; (dap-auto-configure-mode +1))) (use-package dap-mode + :straight t + :ensure t + :defer t :config ;; Enabling only some features (setq dap-auto-configure-features '(sessions locals controls tooltip)) diff --git a/.config/emacs/lisp/init-dict.el b/.config/emacs/lisp/init-dict.el deleted file mode 100644 index eb758af..0000000 --- a/.config/emacs/lisp/init-dict.el +++ /dev/null @@ -1,45 +0,0 @@ -;;; init-dict.el -*- lexical-binding: t -*- -(require 'init-const) -(use-package go-translate - :init (setq gts-translate-list '(("en" "ko") ("ko" "en"))) - :config - ;; config the default translator, it will be used by command gts-do-translate - (setq gts-default-translator - (gts-translator - :picker ; used to pick source text, from, to. choose one. - - ;;(gts-noprompt-picker) - ;;(gts-noprompt-picker :texter (gts-whole-buffer-texter)) - (gts-prompt-picker) - ;;(gts-prompt-picker :single t) - ;;(gts-prompt-picker :texter (gts-current-or-selection-texter) :single t) - - :engines ; engines, one or more. Provide a parser to give different output. - - (list - (gts-bing-engine) - (gts-google-engine) - ;;(gts-google-rpc-engine) - ;;(gts-deepl-engine :auth-key [YOUR_AUTH_KEY] :pro nil) - ;;(gts-google-engine :parser (gts-google-summary-parser)) - ;;(gts-google-engine :parser (gts-google-parser)) - ;;(gts-google-rpc-engine :parser (gts-google-rpc-summary-parser) :url "https://translate.google.com") - ;;(gts-google-rpc-engine :parser (gts-google-rpc-parser) :url "https://translate.google.com") - ) - - :render ; render, only one, used to consumer the output result. Install posframe yourself when use gts-posframe-xxx - - (gts-buffer-render) - ;;(gts-posframe-pop-render) - ;;(gts-posframe-pop-render :backcolor "#333333" :forecolor "#ffffff") - ;;(gts-posframe-pin-render) - ;;(gts-posframe-pin-render :position (cons 1200 20)) - ;;(gts-posframe-pin-render :width 80 :height 25 :position (cons 1000 20) :forecolor "#ffffff" :backcolor "#111111") - ;;(gts-kill-ring-render) - - :splitter ; optional, used to split text into several parts, and the translation result will be a list. - - (gts-paragraph-splitter)))) - -(provide 'init-dict) -;;; init-dict.el ends here diff --git a/.config/emacs/lisp/init-eglot.el b/.config/emacs/lisp/init-eglot.el deleted file mode 100644 index e979853..0000000 --- a/.config/emacs/lisp/init-eglot.el +++ /dev/null @@ -1,13 +0,0 @@ -;;; init-eglot.el -*- lexical-binding: t -*- -;;(use-package eglot -;; :hook -;; ((prog-mode . (lambda () -;; (unless (derived-mode-p -;; 'emacs-lisp-mode -;; 'lisp-mode -;; 'makefile-mode -;; 'snippet-mode) -;; (eglot-ensure)))) -;; ((markdown-mode yaml-mode yaml-ts-mode) . eglot-ensure))) -(provide 'init-eglot) -;;; init-eglot.el ends here diff --git a/.config/emacs/lisp/init-elisp.el b/.config/emacs/lisp/init-elisp.el index 638a4b1..30e1911 100644 --- a/.config/emacs/lisp/init-elisp.el +++ b/.config/emacs/lisp/init-elisp.el @@ -18,9 +18,6 @@ (when (boundp 'elisp-flymake-byte-compile-load-path) (add-to-list 'elisp-flymake-byte-compile-load-path load-path)) - ;; Syntax highlighting of known Elisp symbols - (use-package highlight-defined - :hook ((emacs-lisp-mode inferior-emacs-lisp-mode) . highlight-defined-mode)) (with-no-warnings ;; Align indent keywords @@ -183,6 +180,13 @@ Lisp function does not specify a special indentation." (revert-buffer nil t))))))) (bind-key "r" #'remove-hook-at-point help-mode-map))) +;; Syntax highlighting of known Elisp symbols +(use-package highlight-defined + :straight t + :ensure t + :defer t + :hook ((emacs-lisp-mode inferior-emacs-lisp-mode) . highlight-defined-mode)) + ;; Show function arglist or variable docstring ;; `global-eldoc-mode' is enabled by default. (use-package eldoc @@ -191,6 +195,9 @@ Lisp function does not specify a special indentation." ;; A better *Help* buffer (use-package helpful + :straight t + :ensure t + :defer t :bind (([remap describe-function] . helpful-callable) ([remap describe-command] . helpful-command) ([remap describe-variable] . helpful-variable) diff --git a/.config/emacs/lisp/init-extra.el b/.config/emacs/lisp/init-extra.el index 91f3775..8663c0c 100644 --- a/.config/emacs/lisp/init-extra.el +++ b/.config/emacs/lisp/init-extra.el @@ -1,6 +1,12 @@ ;; init-extra.el -*- lexical-binding: t -*- -(use-package gnuplot) -(use-package graphviz-dot-mode) +(use-package gnuplot + :straight t + :ensure t + :defer t) +(use-package graphviz-dot-mode + :straight t + :ensure t + :defer t) (provide 'init-extra) ;;; init-extra.el ends here diff --git a/.config/emacs/lisp/init-flycheck.el b/.config/emacs/lisp/init-flycheck.el index 3859051..e5c54b7 100644 --- a/.config/emacs/lisp/init-flycheck.el +++ b/.config/emacs/lisp/init-flycheck.el @@ -3,6 +3,9 @@ (require 'init-funcs) (use-package flycheck + :straight t + :ensure t + :defer t :diminish :autoload flycheck-redefine-standard-error-levels :hook (after-init . global-flycheck-mode) @@ -20,51 +23,56 @@ (when (fboundp 'define-fringe-bitmap) (define-fringe-bitmap 'flycheck-fringe-bitmap-arrow [16 48 112 240 112 48 16] nil nil 'center)) - (flycheck-redefine-standard-error-levels "⏴" 'flycheck-fringe-bitmap-arrow) - - ;; Display Flycheck errors - (if (childframe-workable-p) - (use-package flycheck-posframe - :custom-face - (flycheck-posframe-face ((t (:foreground ,(face-foreground 'success))))) - (flycheck-posframe-info-face ((t (:foreground ,(face-foreground 'success))))) - (flycheck-posframe-background-face ((t (:inherit tooltip)))) - (flycheck-posframe-border-face ((t (:inherit posframe-border)))) - :hook (flycheck-mode . flycheck-posframe-mode) - :init - (setq flycheck-posframe-border-width 1) - (add-hook 'flycheck-posframe-inhibit-functions - (lambda (&rest _) (bound-and-true-p company-backend))) - :config - (with-no-warnings - ;; FIXME: Prettify the child frame. - ;; @see https://github.com/alexmurray/flycheck-posframe/issues/28 - (defun my-flycheck-posframe-show-posframe (errors) - "Display ERRORS, using posframe.el library." - (posframe-hide flycheck-posframe-buffer) - (when (and errors - (not (run-hook-with-args-until-success 'flycheck-posframe-inhibit-functions))) - (let ((poshandler (intern (format "posframe-poshandler-%s" flycheck-posframe-position)))) - (unless (functionp poshandler) - (setq poshandler nil)) - (flycheck-posframe-check-position) - (posframe-show - flycheck-posframe-buffer - :string (flycheck-posframe-format-errors errors) - :background-color (face-background 'flycheck-posframe-background-face nil t) - :position (point) - :left-fringe 4 - :right-fringe 4 - :max-width (round (* (frame-width) 0.62)) - :max-height (round (* (frame-height) 0.62)) - :internal-border-width flycheck-posframe-border-width - :internal-border-color (face-background 'flycheck-posframe-border-face nil t) - :poshandler poshandler - :hidehandler #'flycheck-posframe-hidehandler)))) - (advice-add #'flycheck-posframe-show-posframe :override #'my-flycheck-posframe-show-posframe))) - (use-package flycheck-popup-tip - :hook (flycheck-mode . flycheck-popup-tip-mode)))) + (flycheck-redefine-standard-error-levels "⏴" 'flycheck-fringe-bitmap-arrow)) +;; Display Flycheck errors +(if (childframe-workable-p) + (use-package flycheck-posframe + :straight t + :ensure t + :defer t + :custom-face + (flycheck-posframe-face ((t (:foreground ,(face-foreground 'success))))) + (flycheck-posframe-info-face ((t (:foreground ,(face-foreground 'success))))) + (flycheck-posframe-background-face ((t (:inherit tooltip)))) + (flycheck-posframe-border-face ((t (:inherit posframe-border)))) + :hook (flycheck-mode . flycheck-posframe-mode) + :init + (setq flycheck-posframe-border-width 1) + (add-hook 'flycheck-posframe-inhibit-functions + (lambda (&rest _) (bound-and-true-p company-backend))) + :config + (with-no-warnings + ;; FIXME: Prettify the child frame. + ;; @see https://github.com/alexmurray/flycheck-posframe/issues/28 + (defun my-flycheck-posframe-show-posframe (errors) + "Display ERRORS, using posframe.el library." + (posframe-hide flycheck-posframe-buffer) + (when (and errors + (not (run-hook-with-args-until-success 'flycheck-posframe-inhibit-functions))) + (let ((poshandler (intern (format "posframe-poshandler-%s" flycheck-posframe-position)))) + (unless (functionp poshandler) + (setq poshandler nil)) + (flycheck-posframe-check-position) + (posframe-show + flycheck-posframe-buffer + :string (flycheck-posframe-format-errors errors) + :background-color (face-background 'flycheck-posframe-background-face nil t) + :position (point) + :left-fringe 4 + :right-fringe 4 + :max-width (round (* (frame-width) 0.62)) + :max-height (round (* (frame-height) 0.62)) + :internal-border-width flycheck-posframe-border-width + :internal-border-color (face-background 'flycheck-posframe-border-face nil t) + :poshandler poshandler + :hidehandler #'flycheck-posframe-hidehandler)))) + (advice-add #'flycheck-posframe-show-posframe :override #'my-flycheck-posframe-show-posframe))) + (use-package flycheck-popup-tip + :straight t + :ensure t + :defer t + :hook (flycheck-mode . flycheck-popup-tip-mode))) (provide 'init-flycheck) ;;; init-flycheck.el ends here diff --git a/.config/emacs/lisp/init-latex.el b/.config/emacs/lisp/init-latex.el index 04dec4f..4ae5615 100644 --- a/.config/emacs/lisp/init-latex.el +++ b/.config/emacs/lisp/init-latex.el @@ -1,5 +1,7 @@ ;;; init-latex.el -*- lexical-binding: t -*- (use-package auctex + :straight t + :ensure t :defer t :custom (TeX-auto-save t) diff --git a/.config/emacs/lisp/init-org.el b/.config/emacs/lisp/init-org.el index 5e23d91..678252b 100644 --- a/.config/emacs/lisp/init-org.el +++ b/.config/emacs/lisp/init-org.el @@ -155,7 +155,6 @@ prepended to the element after the #+HEADER: tag." '((emacs-lisp . t) (python . t) (ruby . t) - (rust . t) (C . t) (shell . t)) "Alist of org ob languages.") diff --git a/.config/emacs/lisp/init-prog.el b/.config/emacs/lisp/init-prog.el index a8d7b60..a0d3b28 100644 --- a/.config/emacs/lisp/init-prog.el +++ b/.config/emacs/lisp/init-prog.el @@ -10,7 +10,7 @@ ;; Search tool (use-package grep - :ensure nil + :ensure nil ; built-in :autoload grep-apply-setting :config (cond @@ -35,7 +35,7 @@ ;;;; Cross-referencing commands (use-package xref - :ensure nil + :ensure nil ; built-in :config (with-no-warnings ;; Use faster search tool @@ -53,6 +53,9 @@ ;;;; Jump to definition (use-package dumb-jump + :straight t + :ensure t + :defer t :pretty-hydra ((:title (pretty-hydra-title "Dump Jump" 'faicon "nf-fa-anchor") :color blue :quit-key ("q" "C-g")) @@ -77,17 +80,26 @@ dumb-jump-selector 'ivy)) ;; Code styles -(use-package editorconfig - :diminish - :hook (after-init . editorconfig-mode)) +;; (use-package editorconfig +;; :straight t +;; :ensure t +;; :defer t +;; :diminish +;; :hook (after-init . editorconfig-mode)) ;; Run commands quickly (use-package quickrun + :straight t + :ensure t + :defer t :bind (("C-" . quickrun) ("C-c X" . quickrun))) ;; Browse devdocs.io documents using EWW (use-package devdocs + :straight t + :ensure t + :defer t :autoload (devdocs--installed-docs devdocs--available-docs) :bind (:map prog-mode-map ("M-" . devdocs-dwim) @@ -140,45 +152,41 @@ Install the doc if it's not installed." (devdocs-lookup nil (thing-at-point 'symbol t)))) ;;;; Misc. programming modes -(use-package csv-mode) -(use-package csharp-mode) -;;(use-package cask-mode) -(use-package cmake-mode) -;;(use-package dart-mode) -;;(use-package groovy-mode) -;;(use-package julia-mode) -(use-package lua-mode) -;;(use-package mermaid-mode) -;;(use-package plantuml-mode) -(use-package rmsbolt) ; A compiler output viewer -;;(use-package scala-mode) -;;(use-package swift-mode) -;;(use-package v-mode) -;;(use-package vimrc-mode) +(use-package csv-mode + :straight t + :ensure t + :defer t) +(use-package csharp-mode + :straight t + :ensure t + :defer t) +(use-package cmake-mode + :straight t + :ensure t + :defer t) +(use-package lua-mode + :straight t + :ensure t + :defer t) -;;(use-package protobuf-mode -;; :hook (protobuf-mode . (lambda () -;; (setq imenu-generic-expression -;; '((nil "^[[:space:]]*\\(message\\|service\\|enum\\)[[:space:]]+\\([[:alnum:]]+\\)" 2)))))) - -;;(use-package nxml-mode -;; :ensure nil -;; :mode (("\\.xaml$" . xml-mode))) - -;; Batch Mode eXtras +;; Windows Batch Mode eXtras (use-package bmx-mode + :straight t + :ensure t + :defer t :after company :diminish :hook (after-init . bmx-mode-setup-defaults)) -;; Fish shell -(use-package fish-mode - :hook (fish-mode . (lambda () - (add-hook 'before-save-hook - #'fish_indent-before-save)))) - -(use-package pkgbuild-mode) -(use-package systemd) +; arch PKGBUILD +(use-package pkgbuild-mode + :straight t + :ensure t + :defer t) +(use-package systemd + :straight t + :ensure t + :defer t) (provide 'init-prog) diff --git a/.config/emacs/lisp/init-python.el b/.config/emacs/lisp/init-python.el index e7cdffc..90fa762 100644 --- a/.config/emacs/lisp/init-python.el +++ b/.config/emacs/lisp/init-python.el @@ -49,13 +49,19 @@ ;; Env vars (with-eval-after-load 'exec-path-from-shell - (exec-path-from-shell-copy-env "PYTHONPATH")) + (exec-path-from-shell-copy-env "PYTHONPATH"))) - ;; Live Coding in Python - (use-package live-py-mode)) +;; Live Coding in Python +(use-package live-py-mode + :straight t + :ensure t + :defer t) (when ON-LINUX - (use-package jupyter)) + (use-package jupyter + :straight t + :ensure t + :defer t)) (provide 'init-python) diff --git a/.config/emacs/lisp/init-ruby.el b/.config/emacs/lisp/init-ruby.el index 5e29df3..ef8f179 100644 --- a/.config/emacs/lisp/init-ruby.el +++ b/.config/emacs/lisp/init-ruby.el @@ -32,33 +32,54 @@ ;; Integrate rbenv (use-package rbenv + :straight t + :ensure t + :defer t :hook (after-init . global-rbenv-mode) :init (setq rbenv-show-active-ruby-in-modeline nil)) ;; YAML mode -(use-package yaml-mode) +(use-package yaml-mode + :straight t + :ensure t + :defer t) ;; Run a Ruby process in a buffer (use-package inf-ruby + :straight t + :ensure t + :defer t :hook ((ruby-mode . inf-ruby-minor-mode) (compilation-filter . inf-ruby-auto-enter))) ;; Ruby YARD comments (use-package yard-mode + :straight t + :ensure t + :defer t :diminish :hook (ruby-mode . yard-mode)) ;; Ruby refactoring helpers (use-package ruby-refactor + :straight t + :ensure t + :defer t :diminish :hook (ruby-mode . ruby-refactor-mode-launch)) ;; Yet Another RI interface for Emacs (use-package yari + :straight t + :ensure t + :defer t :bind (:map ruby-mode-map ([f1] . yari))) ;; RSpec (use-package rspec-mode + :straight t + :ensure t + :defer t :diminish :autoload rspec-install-snippets :hook (dired-mode . rspec-dired-mode) diff --git a/.config/emacs/lisp/init-rust.el b/.config/emacs/lisp/init-rust.el index 185f82d..3b05a41 100644 --- a/.config/emacs/lisp/init-rust.el +++ b/.config/emacs/lisp/init-rust.el @@ -54,8 +54,7 @@ ; org-babel integration ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (use-package ob-rust :straight t - :ensure t - :defer t) + :ensure t) (provide 'init-rust) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/.config/emacs/lisp/init-shell.el b/.config/emacs/lisp/init-shell.el deleted file mode 100644 index d6d08e3..0000000 --- a/.config/emacs/lisp/init-shell.el +++ /dev/null @@ -1,7 +0,0 @@ -;;; init-eshell.el -*- lexical-binding: t -*- -;; Emacs command shell - -(use-package nushell-mode) - -(provide 'init-shell) -;;; init-eshell.el ends here diff --git a/.config/emacs/lisp/init-verilog.el b/.config/emacs/lisp/init-verilog.el index f80b26f..34fc61b 100644 --- a/.config/emacs/lisp/init-verilog.el +++ b/.config/emacs/lisp/init-verilog.el @@ -1,7 +1,7 @@ ;; init-verilog.el -*- lexical-binding: t -*- (use-package verilog-mode - :ensure nil + :ensure nil ; built-in :init (setq verilog-indent-level 4) (setq verilog-indent-level-module 0) @@ -13,6 +13,9 @@ (setq verilog-case-indent 4) (setq verilog-auto-newline nil)) (use-package verilog-ext + :straight t + :ensure t + :defer t :hook ((verilog-mode . verilog-ext-mode)) :init ;; Can also be set through `M-x RET customize-group RET verilog-ext':