Compare commits
20 commits
Author | SHA1 | Date | |
---|---|---|---|
ecb3b93ed8 | |||
9439ad064d | |||
433e433775 | |||
ec2179069f | |||
5d969593c7 | |||
9e02bf9640 | |||
c286cde1b4 | |||
199052c31d | |||
96ab2661e1 | |||
de0dc1f729 | |||
db0995ea1f | |||
89abc90a68 | |||
652f639894 | |||
764d6e0724 | |||
7b191e0d04 | |||
ad563d4031 | |||
d0e5e85867 | |||
566ae9da48 | |||
5ca9de898c | |||
34d6ee874d |
|
@ -15,7 +15,7 @@
|
||||||
(k-time (garbage-collect))))))
|
(k-time (garbage-collect))))))
|
||||||
|
|
||||||
;; Set frame parameters early
|
;; Set frame parameters early
|
||||||
(setq default-frame-alist '((font . "JetbrainsMono Nerd Font-10.5")
|
(setq default-frame-alist '((font . "JetbrainsMono Nerd Font-11")
|
||||||
(tool-bar-lines . 0)
|
(tool-bar-lines . 0)
|
||||||
(menu-bar-lines . 0)
|
(menu-bar-lines . 0)
|
||||||
(vertical-scroll-bars . nil)))
|
(vertical-scroll-bars . nil)))
|
||||||
|
|
205
init.el
205
init.el
|
@ -53,26 +53,65 @@
|
||||||
(global-set-key (kbd "C-/") #'undo-fu-only-undo)
|
(global-set-key (kbd "C-/") #'undo-fu-only-undo)
|
||||||
(global-set-key (kbd "C-?") #'undo-fu-only-redo))
|
(global-set-key (kbd "C-?") #'undo-fu-only-redo))
|
||||||
|
|
||||||
(use-package devil
|
(use-package vundo)
|
||||||
|
|
||||||
|
(use-package god-mode
|
||||||
:demand t
|
:demand t
|
||||||
:bind
|
:bind
|
||||||
|
("<escape>" . god-mode-all)
|
||||||
|
("ESC ESC ESC" . god-mode-all)
|
||||||
("C-S-h" . help-command)
|
("C-S-h" . help-command)
|
||||||
("C-h" . my--devil-del)
|
("C-h" . my--god-del)
|
||||||
|
(:map god-local-mode-map
|
||||||
|
("i" . god-mode-all)
|
||||||
|
("<escape>" . my--god-c-g)
|
||||||
|
("ESC ESC ESC" . keyboard-escape-quit)
|
||||||
|
("z" . repeat)
|
||||||
|
("q" . my--god-c-q))
|
||||||
|
(:map minibuffer-local-map
|
||||||
|
("<escape>" . abort-minibuffers)
|
||||||
|
("ESC ESC ESC" . keyboard-escape-quit))
|
||||||
|
:custom
|
||||||
|
(god-exempt-major-modes nil)
|
||||||
|
(god-exempt-predicates (list #'god-exempt-mode-p))
|
||||||
|
(god-mode-enable-function-key-translations nil)
|
||||||
|
(god-mode-alist '((nil . "C-")
|
||||||
|
("g" . "M-")
|
||||||
|
("m" . "C-M-")))
|
||||||
:config
|
:config
|
||||||
|
(defun my--god-c-q ()
|
||||||
|
(interactive)
|
||||||
|
(let ((god-local-mode nil))
|
||||||
|
(if-let* ((buffer-read-only)
|
||||||
|
(ret (key-binding (read-kbd-macro "q")))
|
||||||
|
((not (or (eq ret #'self-insert-command) (and (boundp lispy-mode) lispy-mode)))))
|
||||||
|
(call-interactively ret)
|
||||||
|
(switch-to-prev-buffer))))
|
||||||
(cl-macrolet ((define-kmacro-wrapper (name key)
|
(cl-macrolet ((define-kmacro-wrapper (name key)
|
||||||
`(defun ,name ()
|
`(defun ,name ()
|
||||||
(interactive)
|
(interactive)
|
||||||
(call-interactively (key-binding (read-kbd-macro ,key))))))
|
(call-interactively (key-binding (read-kbd-macro ,key))))))
|
||||||
(define-kmacro-wrapper my--devil-del "DEL"))
|
(define-kmacro-wrapper my--god-del "DEL")
|
||||||
(add-to-list 'devil-repeatable-keys '("%k v"))
|
(define-kmacro-wrapper my--god-c-g "C-g"))
|
||||||
(add-to-list 'devil-repeatable-keys '("%k m v"))
|
(with-eval-after-load 'catppuccin-theme
|
||||||
(global-devil-mode))
|
(add-hook 'god-mode-enabled-hook
|
||||||
|
(lambda ()
|
||||||
|
(face-spec-set 'cursor `((t (:background ,(catppuccin-get-color 'rosewater)))))
|
||||||
|
(unless (display-graphic-p)
|
||||||
|
(send-string-to-terminal "\e[2 q"))))
|
||||||
|
(add-hook 'god-mode-disabled-hook
|
||||||
|
(lambda ()
|
||||||
|
(face-spec-set 'cursor `((t (:background ,(catppuccin-get-color 'mauve)))))
|
||||||
|
(unless (display-graphic-p)
|
||||||
|
;; Escape codes for hbar cursor in insert mode
|
||||||
|
(send-string-to-terminal "\e[4 q")))))
|
||||||
|
(god-mode))
|
||||||
|
|
||||||
(use-package multiple-cursors
|
(use-package multiple-cursors
|
||||||
:bind
|
:bind
|
||||||
("C-S-c" . mc/edit-lines)
|
("C-S-c" . mc/edit-lines)
|
||||||
("C->" . mc/mark-next-like-this)
|
("C->" . mc/mark-next-like-this)
|
||||||
("C-<" . mc/mark-prev-like-this)
|
("C-<" . mc/mark-previous-like-this)
|
||||||
("C-+" . mc/mark-all-like-this)
|
("C-+" . mc/mark-all-like-this)
|
||||||
("C-|" . mc/mark-pop)
|
("C-|" . mc/mark-pop)
|
||||||
("C-c c" . mc/mark-all-in-region)
|
("C-c c" . mc/mark-all-in-region)
|
||||||
|
@ -124,15 +163,10 @@
|
||||||
(use-package ace-window
|
(use-package ace-window
|
||||||
:bind ("C-c w" . ace-window)
|
:bind ("C-c w" . ace-window)
|
||||||
:custom
|
:custom
|
||||||
(aw-keys '(?a ?w ?e ?r ?g ?h ?j ?k ?l ?p))
|
|
||||||
(aw-dispatch-always t)
|
(aw-dispatch-always t)
|
||||||
(aw-scope 'frame)
|
(aw-scope 'frame)
|
||||||
|
(aw-keys '(?a ?w ?d ?f ?g ?h ?k ?l))
|
||||||
:config
|
:config
|
||||||
(dolist (c aw-dispatch-alist)
|
|
||||||
(cl-case (car c)
|
|
||||||
(?j (setcar c ?J))
|
|
||||||
(?v (setcar c ?s) (setcar (nthcdr 2 c) "Split Window"))
|
|
||||||
(?b (setcar c ?v) (setcar (nthcdr 2 c) "Vertical Split"))))
|
|
||||||
(with-eval-after-load 'catppuccin-theme
|
(with-eval-after-load 'catppuccin-theme
|
||||||
(face-spec-set 'aw-leading-char-face `((t (:foreground
|
(face-spec-set 'aw-leading-char-face `((t (:foreground
|
||||||
,(catppuccin-get-color 'crust)
|
,(catppuccin-get-color 'crust)
|
||||||
|
@ -208,11 +242,15 @@
|
||||||
:hook prog-mode sly-mrepl-mode racket-repl-mode)
|
:hook prog-mode sly-mrepl-mode racket-repl-mode)
|
||||||
|
|
||||||
(use-package highlight-indent-guides
|
(use-package highlight-indent-guides
|
||||||
:hook prog-mode
|
:hook (prog-mode . my-maybe-highlight-indent-guides)
|
||||||
:custom
|
:custom
|
||||||
(highlight-indent-guides-auto-enabled nil)
|
(highlight-indent-guides-auto-enabled nil)
|
||||||
(highlight-indent-guides-method 'character)
|
(highlight-indent-guides-method 'character)
|
||||||
(highlight-indent-guides-responsive 'stack))
|
:config
|
||||||
|
(defun my-maybe-highlight-indent-guides ()
|
||||||
|
(interactive)
|
||||||
|
(unless (> (count-lines (point-min) (point-max)) 10000)
|
||||||
|
(highlight-indent-guides-mode))))
|
||||||
|
|
||||||
(use-package which-key
|
(use-package which-key
|
||||||
:demand t
|
:demand t
|
||||||
|
@ -243,24 +281,34 @@
|
||||||
(c-ts-mode . eglot-ensure)
|
(c-ts-mode . eglot-ensure)
|
||||||
(c++-mode . eglot-ensure)
|
(c++-mode . eglot-ensure)
|
||||||
(c++-ts-mode . eglot-ensure)
|
(c++-ts-mode . eglot-ensure)
|
||||||
|
(haskell-mode . eglot-ensure)
|
||||||
(java-mode . eglot-ensure)
|
(java-mode . eglot-ensure)
|
||||||
(java-ts-mode . eglot-ensure)
|
(java-ts-mode . eglot-ensure)
|
||||||
(haskell-mode . eglot-ensure)
|
|
||||||
(lua-mode . eglot-ensure)
|
|
||||||
(nix-mode . eglot-ensure)
|
|
||||||
(js-mode . eglot-ensure)
|
(js-mode . eglot-ensure)
|
||||||
(js-ts-mode . eglot-ensure)
|
(js-ts-mode . eglot-ensure)
|
||||||
|
(lua-mode . eglot-ensure)
|
||||||
|
(nix-mode . eglot-ensure)
|
||||||
|
(python-mode . eglot-ensure)
|
||||||
|
(python-ts-mode . eglot-ensure)
|
||||||
|
(rust-ts-mode . eglot-ensure)
|
||||||
(typescript-ts-mode . eglot-ensure)
|
(typescript-ts-mode . eglot-ensure)
|
||||||
(tsx-ts-mode . eglot-ensure)
|
(tsx-ts-mode . eglot-ensure)
|
||||||
:custom
|
:custom
|
||||||
(eglot-events-buffer-size 0)
|
|
||||||
(eglot-autoshutdown t)
|
(eglot-autoshutdown t)
|
||||||
(eglot-confirm-server-initiated-edits nil)
|
|
||||||
:config
|
:config
|
||||||
(setq-default eglot-workspace-configuration
|
(setq-default eglot-workspace-configuration
|
||||||
'((haskell
|
'((haskell
|
||||||
(formattingProvider . "floskell")))))
|
(formattingProvider . "floskell")))))
|
||||||
|
|
||||||
|
(use-package eglot-booster
|
||||||
|
:ensure nil
|
||||||
|
:after eglot
|
||||||
|
:demand t
|
||||||
|
:custom
|
||||||
|
(eglot-booster-no-remote-boost t)
|
||||||
|
:config
|
||||||
|
(eglot-booster-mode))
|
||||||
|
|
||||||
(use-package eglot-java
|
(use-package eglot-java
|
||||||
:hook java-mode java-ts-mode)
|
:hook java-mode java-ts-mode)
|
||||||
|
|
||||||
|
@ -305,7 +353,6 @@
|
||||||
|
|
||||||
(use-package marginalia
|
(use-package marginalia
|
||||||
:demand t
|
:demand t
|
||||||
:after vertico
|
|
||||||
:bind (:map minibuffer-local-map ("M-a" . marginalia-cycle))
|
:bind (:map minibuffer-local-map ("M-a" . marginalia-cycle))
|
||||||
:config
|
:config
|
||||||
(marginalia-mode))
|
(marginalia-mode))
|
||||||
|
@ -336,19 +383,27 @@
|
||||||
|
|
||||||
(use-package cape)
|
(use-package cape)
|
||||||
|
|
||||||
(use-package all-the-icons
|
(use-package all-the-icons)
|
||||||
:demand t)
|
|
||||||
|
|
||||||
(use-package all-the-icons-completion
|
(use-package all-the-icons-completion
|
||||||
:after marginalia all-the-icons
|
:demand t
|
||||||
:hook (marginalia-mode . all-the-icons-completion-marginalia-setup)
|
:hook (marginalia-mode . all-the-icons-completion-marginalia-setup)
|
||||||
:init
|
:config
|
||||||
|
(require 'marginalia)
|
||||||
|
;; NOTE: https://github.com/iyefrat/all-the-icons-completion/pull/33
|
||||||
|
(add-hook 'all-the-icons-completion-mode-hook
|
||||||
|
(lambda ()
|
||||||
|
(if all-the-icons-completion-mode
|
||||||
|
(advice-add (compat-function completion-metadata-get)
|
||||||
|
:around
|
||||||
|
#'all-the-icons-completion-completion-metadata-get)
|
||||||
|
(advice-remove (compat-function completion-metadata-get)
|
||||||
|
#'all-the-icons-completion-completion-metadata-get))))
|
||||||
(all-the-icons-completion-mode))
|
(all-the-icons-completion-mode))
|
||||||
|
|
||||||
(use-package treemacs)
|
(use-package treemacs)
|
||||||
(use-package treemacs-all-the-icons
|
(use-package treemacs-all-the-icons
|
||||||
:demand t
|
|
||||||
:after treemacs
|
:after treemacs
|
||||||
|
:demand t
|
||||||
:config
|
:config
|
||||||
(treemacs-load-theme 'all-the-icons))
|
(treemacs-load-theme 'all-the-icons))
|
||||||
|
|
||||||
|
@ -356,6 +411,7 @@
|
||||||
:demand t
|
:demand t
|
||||||
:custom
|
:custom
|
||||||
(doom-modeline-continuous-word-count-modes '(markdown-mode gfm-mode org-mode))
|
(doom-modeline-continuous-word-count-modes '(markdown-mode gfm-mode org-mode))
|
||||||
|
(doom-modeline-enable-word-count t)
|
||||||
(doom-modeline-indent-info t)
|
(doom-modeline-indent-info t)
|
||||||
(doom-modeline-minor-modes t)
|
(doom-modeline-minor-modes t)
|
||||||
(doom-modeline-battery nil)
|
(doom-modeline-battery nil)
|
||||||
|
@ -368,8 +424,8 @@
|
||||||
(minions-mode))
|
(minions-mode))
|
||||||
|
|
||||||
(use-package dirvish
|
(use-package dirvish
|
||||||
:demand t
|
|
||||||
:after dired
|
:after dired
|
||||||
|
:demand t
|
||||||
:custom
|
:custom
|
||||||
(dired-auto-revert-buffer t)
|
(dired-auto-revert-buffer t)
|
||||||
(dirvish-attributes '(all-the-icons))
|
(dirvish-attributes '(all-the-icons))
|
||||||
|
@ -425,7 +481,6 @@
|
||||||
(org-mode . my-inhibit-hl-line-mode)
|
(org-mode . my-inhibit-hl-line-mode)
|
||||||
(org-mode . my-double-space-sentence)
|
(org-mode . my-double-space-sentence)
|
||||||
:custom
|
:custom
|
||||||
(org-startup-indented t)
|
|
||||||
(org-startup-with-inline-images t)
|
(org-startup-with-inline-images t)
|
||||||
(org-special-ctrl-a/e t)
|
(org-special-ctrl-a/e t)
|
||||||
(org-insert-heading-respect-content t)
|
(org-insert-heading-respect-content t)
|
||||||
|
@ -491,7 +546,9 @@
|
||||||
:hook org-modern-mode)
|
:hook org-modern-mode)
|
||||||
|
|
||||||
(use-package djvu)
|
(use-package djvu)
|
||||||
(use-package nov)
|
|
||||||
|
(use-package nov
|
||||||
|
:mode ("\\.epub\\'" . nov-mode))
|
||||||
|
|
||||||
(use-package org-pdftools
|
(use-package org-pdftools
|
||||||
:hook (org-mode . org-pdftools-setup-link))
|
:hook (org-mode . org-pdftools-setup-link))
|
||||||
|
@ -535,6 +592,7 @@
|
||||||
:hook (racket-mode . racket-xp-mode))
|
:hook (racket-mode . racket-xp-mode))
|
||||||
|
|
||||||
(use-package haskell-mode
|
(use-package haskell-mode
|
||||||
|
:hook (haskell-mode . interactive-haskell-mode)
|
||||||
:custom
|
:custom
|
||||||
(haskell-process-show-debug-tips nil))
|
(haskell-process-show-debug-tips nil))
|
||||||
|
|
||||||
|
@ -555,57 +613,16 @@
|
||||||
|
|
||||||
(use-package meson-mode)
|
(use-package meson-mode)
|
||||||
|
|
||||||
(use-package spell-fu
|
(use-package jinx
|
||||||
:hook
|
:hook text-mode)
|
||||||
text-mode
|
|
||||||
(org-mode . (lambda ()
|
|
||||||
(setq spell-fu-faces-exclude
|
|
||||||
'(org-block-begin-line
|
|
||||||
org-block-end-line
|
|
||||||
org-code
|
|
||||||
org-date
|
|
||||||
org-drawer org-document-info-keyword
|
|
||||||
org-ellipsis
|
|
||||||
org-link
|
|
||||||
org-meta-line
|
|
||||||
org-properties
|
|
||||||
org-properties-value
|
|
||||||
org-special-keyword
|
|
||||||
org-src
|
|
||||||
org-tag
|
|
||||||
org-verbatim)))))
|
|
||||||
|
|
||||||
(use-package minimap
|
(use-package minimap
|
||||||
:custom-face
|
:custom-face
|
||||||
(minimap-active-region-background ((t (:background unspecified :inherit hl-line))))
|
(minimap-active-region-background ((t (:background unspecified :inherit hl-line))))
|
||||||
:hook (minimap-sb-mode . turn-on-solaire-mode))
|
:hook (minimap-sb-mode . turn-on-solaire-mode))
|
||||||
|
|
||||||
(defun my-magit-spell-fu-check-range (pos-beg pos-end)
|
|
||||||
(spell-fu--overlays-remove pos-beg pos-end)
|
|
||||||
(with-syntax-table spell-fu-syntax-table
|
|
||||||
(save-match-data
|
|
||||||
(save-excursion
|
|
||||||
(goto-char (point-min))
|
|
||||||
(let ((check-end (-> (format "^%s -+ >8 -+$" comment-start)
|
|
||||||
(re-search-forward pos-end t)
|
|
||||||
(or pos-end)))
|
|
||||||
(comment-start-char (aref comment-start 0)))
|
|
||||||
(goto-char pos-beg)
|
|
||||||
(while (< (point) check-end)
|
|
||||||
(unless (= (char-after) comment-start-char)
|
|
||||||
(let ((pos-line-end (pos-eol)))
|
|
||||||
(while (re-search-forward spell-fu-word-regexp pos-line-end t)
|
|
||||||
(let ((word-beg (match-beginning 0))
|
|
||||||
(word-end (match-end 0)))
|
|
||||||
(spell-fu-check-word word-beg word-end (match-string-no-properties 0))))))
|
|
||||||
(forward-line)))))))
|
|
||||||
|
|
||||||
(use-package magit
|
(use-package magit
|
||||||
:hook (git-commit-setup . (lambda ()
|
:hook (git-commit-setup . git-commit-turn-on-auto-fill))
|
||||||
(git-commit-turn-on-auto-fill)
|
|
||||||
(spell-fu-mode)
|
|
||||||
(setq-local spell-fu-check-range #'my-magit-spell-fu-check-range)
|
|
||||||
(spell-fu--time-ensure t))))
|
|
||||||
|
|
||||||
(use-package forge
|
(use-package forge
|
||||||
:after magit
|
:after magit
|
||||||
|
@ -655,7 +672,7 @@
|
||||||
:sasl-password ,(if (functionp secret)
|
:sasl-password ,(if (functionp secret)
|
||||||
(funcall secret)
|
(funcall secret)
|
||||||
secret)
|
secret)
|
||||||
:channels ("#guix" "#nonguix" "#emacs" "#nixos"))))))
|
:channels ("#emacs" "#nixos" "#lisp" "#commonlisp"))))))
|
||||||
(add-hook 'lui-mode-hook
|
(add-hook 'lui-mode-hook
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(visual-line-mode)
|
(visual-line-mode)
|
||||||
|
@ -701,7 +718,7 @@
|
||||||
(use-package catppuccin-theme
|
(use-package catppuccin-theme
|
||||||
:demand t
|
:demand t
|
||||||
:custom-face
|
:custom-face
|
||||||
(line-number-current-line ((t (:inherit hl-line))))
|
(line-number-current-line ((t (:inherit (hl-line default)))))
|
||||||
:custom
|
:custom
|
||||||
(catppuccin-flavor 'mocha)
|
(catppuccin-flavor 'mocha)
|
||||||
(catppuccin-highlight-matches t)
|
(catppuccin-highlight-matches t)
|
||||||
|
@ -826,15 +843,29 @@
|
||||||
(org-msg-greeting-fmt "\nHi%s,\n\n"))
|
(org-msg-greeting-fmt "\nHi%s,\n\n"))
|
||||||
|
|
||||||
(use-package emacs-everywhere
|
(use-package emacs-everywhere
|
||||||
:ensure nil
|
|
||||||
:commands emacs-everywhere
|
|
||||||
:custom
|
:custom
|
||||||
(emacs-everywhere-frame-parameters '((name . "emacs-everywhere")
|
(emacs-everywhere-app-info-function
|
||||||
(alpha-background . 1.0)))
|
(lambda ()
|
||||||
|
(let* ((string-data (emacs-everywhere-call "hyprctl" "-j" "activewindow"))
|
||||||
|
(window-data (json-parse-string string-data
|
||||||
|
:object-type 'plist
|
||||||
|
:array-type 'list
|
||||||
|
:null-object nil
|
||||||
|
:false-object nil))
|
||||||
|
(window-id (plist-get window-data :address))
|
||||||
|
(app-id (plist-get window-data :class))
|
||||||
|
(window-title (plist-get window-data :title))
|
||||||
|
(window-geometry (append (plist-get window-data :at)
|
||||||
|
(plist-get window-data :size))))
|
||||||
|
(make-emacs-everywhere-app
|
||||||
|
:id window-id
|
||||||
|
:class app-id
|
||||||
|
:title window-title
|
||||||
|
:geometry window-geometry))))
|
||||||
|
(emacs-everywhere-window-focus-command '("hyprctl" "dispatch" "focuswindow" "address:%w"))
|
||||||
:config
|
:config
|
||||||
(setq emacs-everywhere-frame-parameters
|
(dolist (f '((alpha-background . 1.0) (width . 120) (height . 20)))
|
||||||
(append '((alpha-background . 1.0) (width . 120) (height . 20))
|
(add-to-list 'emacs-everywhere-frame-parameters f)))
|
||||||
emacs-everywhere-frame-parameters)))
|
|
||||||
|
|
||||||
(use-package prettify-symbols
|
(use-package prettify-symbols
|
||||||
:ensure nil
|
:ensure nil
|
||||||
|
@ -905,7 +936,7 @@
|
||||||
json-ts-mode-indent-offset 4
|
json-ts-mode-indent-offset 4
|
||||||
sgml-basic-offset 4
|
sgml-basic-offset 4
|
||||||
tab-width 4
|
tab-width 4
|
||||||
fill-column 80)
|
fill-column 78)
|
||||||
;; Because python-mode sets tab-width to 8 for some reason
|
;; Because python-mode sets tab-width to 8 for some reason
|
||||||
(add-hook 'python-mode-hook (lambda () (setq tab-width 4)))
|
(add-hook 'python-mode-hook (lambda () (setq tab-width 4)))
|
||||||
|
|
||||||
|
@ -974,15 +1005,15 @@
|
||||||
(cd "~/")))
|
(cd "~/")))
|
||||||
|
|
||||||
(defvar my-ac-previous-status t
|
(defvar my-ac-previous-status t
|
||||||
"Whether battery was not in use on last check.")
|
"Whether connected to AC during last check.")
|
||||||
|
|
||||||
(require 'battery)
|
(require 'battery)
|
||||||
(defun my-bat-check ()
|
(defun my-bat-check ()
|
||||||
"Check if battery status has changed.
|
"Check if battery status has changed.
|
||||||
Used to toggle `goggles-pulse', `pixel-scroll-precision-mode', and `nyan-mode'."
|
Used to toggle `goggles-pulse', `pixel-scroll-precision-mode', and `nyan-mode'."
|
||||||
(let ((ac-status (not (string=
|
(let ((ac-status (not (string=
|
||||||
(cdr (assq ?L (funcall battery-status-function)))
|
(cdr (assq ?B (funcall battery-status-function)))
|
||||||
"BAT"))))
|
"discharging"))))
|
||||||
(unless (eq ac-status my-ac-previous-status)
|
(unless (eq ac-status my-ac-previous-status)
|
||||||
(setq my-ac-previous-status ac-status)
|
(setq my-ac-previous-status ac-status)
|
||||||
(when (boundp 'goggles-pulse)
|
(when (boundp 'goggles-pulse)
|
||||||
|
|
Loading…
Reference in a new issue