]> git.eshelyaron.com Git - dotfiles.git/commitdiff
Update Emacs config
authorEshel Yaron <me@eshelyaron.com>
Sun, 5 Nov 2023 18:28:45 +0000 (19:28 +0100)
committerEshel Yaron <me@eshelyaron.com>
Sun, 5 Nov 2023 18:28:45 +0000 (19:28 +0100)
.emacs.d/init.el
.emacs.d/theme/esy-theme.el

index 6da995da47f729e732a6bdbb13e667b3d800bb33..ccad8caa054e658a6afc99e6db48a547ffd6dc8d 100644 (file)
@@ -65,7 +65,7 @@
 
 ;;; Set up Elpaca
 
-(defvar elpaca-installer-version 0.5)
+(defvar elpaca-installer-version 0.6)
 (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))
 
 ;;; Install packages
 
-(unless (eq system-type 'android)
-  (elpaca org-transclusion)
-  (elpaca (sweeprolog
-           :repo "~/checkouts/sweep/"
-           :files ("*.org" "*.texi" "sweep.pl"
-                   "sweeprolog-pce-theme.el" "sweeprolog.el"))))
+(elpaca org-transclusion)
+(elpaca (sweeprolog
+         :files ("*.org" "*.texi" "sweep.pl"
+                 "sweeprolog-pce-theme.el" "sweeprolog.el")))
 (elpaca avy)
 (elpaca (bbdb
          :repo "https://git.savannah.nongnu.org/git/bbdb.git"
                      ("emacs" "--batch" "-l" "ox-texinfo" "README.org"
                       "--eval" "(setq org-babel-confirm-evaluate-answer-no t)"
                       "-f" "org-texinfo-export-to-texinfo"))))
-(elpaca (completion-preview :repo "git://git.eshelyaron.com/completion-preview.git"))
 (elpaca debbugs)
 (elpaca (devdocs
          :pre-build (("emacs" "--batch" "-l" "ox-texinfo" "README.org"
          :pre-build (("emacs" "--batch" "-l" "ox-texinfo" "README.org"
                       "--eval" "(setq org-babel-confirm-evaluate-answer-no t)"
                       "-f" "org-texinfo-export-to-texinfo"))))
-(elpaca (openai
-         :repo "https://git.sr.ht/~eshel/openai.el"))
+(elpaca (openai :repo "https://git.sr.ht/~eshel/openai.el"))
 (elpaca package-lint)
 (elpaca paredit)
 (elpaca rainbow-delimiters)
                       "-f" "org-texinfo-export-to-texinfo")
                      ("mv" "README.texi"  "pdf-tools.texi"))))
 (elpaca ob-prolog)
+;; (elpaca (completion-preview :repo "git://git.eshelyaron.com/completion-preview.git"))
 
 (elpaca-wait)
 
   "v" #'elpaca-visit
   "d" #'elpaca-delete
   "l" #'elpaca-log
-  "i" #'elpaca-info)
+  "i" #'elpaca-info
+  "t" #'elpaca-try)
 
 (defalias 'esy/elpaca-prefix-map esy/elpaca-prefix-map)
 
 %i"
                           :prepend t
                           :empty-lines 1
-                          :immediate-finish t))
+                          :immediate-finish t)
+                         ("h" "Homework" entry
+                          (file+headline "~/org/inbox.org" "Tasks")
+                          "** TODO [#B] %^{Task}    :studies:
+DEADLINE: %(format-time-string \"<%Y-%m-%d %H:%M>\" (org-read-date t t))
+:PROPERTIES:
+:CreatedAt: %u
+:CapturedAt: %a
+:CapturedAs: Homework
+:END:"
+                          :prepend t
+                          :empty-lines 1))
  ;; point Org to file agenda file
  org-agenda-files '("~/org/inbox.org")
  org-default-notes-file "~/org/inbox.org"
  ;; completion-auto-help 'visible
  completions-max-height 16
  completion-auto-wrap t
+ completion-at-point-functions '(esy/file-capf)
  corfu-cycle t
  corfu-indexed-start     1
  shell-kill-buffer-on-exit t
@@ -858,6 +868,7 @@ Interactively, POINT is point and KILL is the prefix argument."
 ;;; Extend other standard hooks
 
 (add-hook 'text-mode-hook #'flyspell-mode)
+(add-hook 'text-mode-hook #'completion-preview-mode)
 
 ;;; Bind some keys
 
@@ -894,7 +905,7 @@ Interactively, POINT is point and KILL is the prefix argument."
 (keymap-global-set "M-#" #'dictionary-search)
 (keymap-global-set "M-o" #'previous-buffer)
 (keymap-global-set "M-O" #'next-buffer)
-(keymap-global-set "C-," #'backward-delete-char)
+(keymap-global-set "C-," #'delete-backward-char)
 (keymap-global-set "C-." #'embark-act)
 (keymap-global-set "C-;" #'avy-goto-char-timer)
 (keymap-global-set "C-s-f" #'toggle-frame-fullscreen)
@@ -1133,9 +1144,7 @@ as the initial input for completion, and return that directory."
     (when bs
       (let* ((start (car bs))
              (end   (cdr bs)))
-        `(,start ,end completion--file-name-table . (:exclusive no))))))
-
-(add-to-list 'completion-at-point-functions #'esy/file-capf)
+        `(,start ,end completion-file-name-table :exclusive no)))))
 
 ;;; Configure highlighting of the current line via `lin'
 
@@ -1146,12 +1155,6 @@ as the initial input for completion, and return that directory."
 
 ;;; Configure `completion-in-region' UI with `corfu'
 
-(let ((original-completion-in-region-function completion-in-region-function))
-  (defun esy/setup-corfu (&rest args)
-    (setq completion-in-region-function original-completion-in-region-function)
-    (global-corfu-mode)
-    (apply #'completion-in-region args)))
-(setq completion-in-region-function #'esy/setup-corfu)
 (with-eval-after-load 'corfu
   (defun esy/margin-formatter (metadata)
     "Format METADATA for `corfu-margin-formatters'."
@@ -1183,6 +1186,7 @@ as the initial input for completion, and return that directory."
                 transient-mark-mode
                 winner-mode
                 completions-auto-update-mode
+                global-corfu-mode
                 ))
   (funcall mode))
 
@@ -1343,16 +1347,9 @@ as the initial input for completion, and return that directory."
       (esy/add-feed url keywords)))
 
   (setq
-   ;; don't use bold face for unread Elfeed entries
-   elfeed-search-face-alist '((unread default))
    ;; read feeds list from a separate file
    elfeed-feeds (esy/feeds)))
 
-(with-eval-after-load 'elfeed-search
-  (set-face-attribute 'elfeed-search-title-face nil
-                      :foreground "grey50"
-                      :inherit nil))
-
 ;;; Disable some minor-mode mode-line lighters
 
 (dolist (mm '((whitespace-cleanup-mode . whitespace-cleanup-mode)
@@ -1382,5 +1379,10 @@ as the initial input for completion, and return that directory."
 (with-eval-after-load 'elisp-mode
   (setq elisp-flymake-byte-compile-load-path (cons "./" load-path)))
 
+(dolist (mm '((go-ts-mode         . go-ts-mode-hook)
+              (typescript-ts-mode . typescript-ts-mode-hook)
+              (python             . python-base-mode-hook)))
+  (with-eval-after-load (car mm) (add-hook (cdr mm) #'eglot-ensure)))
+
 (provide 'init)
 ;;; init.el ends here
index 1314be466b88a3710bb91e4323600c5da3e9e6fd..b5d4da4711bb65c2012f550f09bf0d8bcbdedcf8 100644 (file)
  '(fill-column-indicator ((t :foreground "orange" :weight light)))
  '(vertical-border ((t :foreground "grey")))
  '(minibuffer-prompt ((t :weight bold :slant italic :foreground "red")))
+ '(italic ((t :slant italic)))
  '(cursor ((t :background "salmon")))
  '(font-lock-doc-face ((t :inherit font-lock-string-face :slant italic)))
- '(elisp-shorthand-font-lock-face ((t :inherit font-lock-keyword-face :slant italic))))
+ '(elisp-shorthand-font-lock-face ((t :inherit font-lock-keyword-face :slant italic)))
+ '(elfeed-search-title-face ((t :inherit shadow))))
 
 (custom-theme-set-variables
  'esy
@@ -50,7 +52,8 @@
      (4 "|%c")
      " "
      (-3 "%p")
-     "/%I ")))
+     "/%I "))
+ '(elfeed-search-face-alist '((unread default))))
 
 (provide-theme 'esy)
 ;;; esy-theme.el ends here