add debugging, fix c-t menu
This commit is contained in:
217
.emacs.d/init.el
217
.emacs.d/init.el
@@ -38,6 +38,9 @@
|
||||
;; Search
|
||||
(require 'xah-find)
|
||||
|
||||
;; Debugging
|
||||
(require 'dape)
|
||||
|
||||
;;; ============================================================================
|
||||
;;; MODE ASSOCIATIONS
|
||||
;;; ============================================================================
|
||||
@@ -99,38 +102,84 @@
|
||||
(advice-add 'y-or-n-p :around #'my-auto-confirm-modified-buffer)
|
||||
|
||||
(defun my-lsp-find-workspace-symbol ()
|
||||
"Interactively search for symbols in workspace using LSP."
|
||||
"Interactively search for symbols in workspace using LSP.
|
||||
Start typing to search - LSP provides fuzzy matching."
|
||||
(interactive)
|
||||
(if (eglot-managed-p)
|
||||
(let* ((server (eglot-current-server))
|
||||
(root (project-root (project-current)))
|
||||
(query (read-string "Symbol query: "))
|
||||
(resp (jsonrpc-request server :workspace/symbol `(:query ,query)))
|
||||
(items (append resp nil))
|
||||
(candidates
|
||||
(delq nil
|
||||
(mapcar (lambda (item)
|
||||
(condition-case nil
|
||||
(let* ((name (plist-get item :name))
|
||||
(loc (plist-get item :location))
|
||||
(uri (plist-get loc :uri))
|
||||
(range (plist-get loc :range))
|
||||
(start (plist-get range :start))
|
||||
(line (1+ (plist-get start :line)))
|
||||
(file (eglot-uri-to-path uri))
|
||||
(rel-path (file-relative-name file root)))
|
||||
(propertize (format "%s %s:%d" name rel-path line)
|
||||
'file file
|
||||
'line line))
|
||||
(error nil)))
|
||||
items)))
|
||||
(candidate (completing-read "Symbol: " candidates nil t)))
|
||||
(when (and candidate (get-text-property 0 'file candidate))
|
||||
(find-file (get-text-property 0 'file candidate))
|
||||
(all-candidates '())
|
||||
(completion-styles '(orderless basic))
|
||||
(completion-ignore-case t)
|
||||
(collection
|
||||
(lambda (string pred action)
|
||||
(when (and (> (length string) 0) (not (eq action 'metadata)))
|
||||
(let* ((resp (jsonrpc-request server :workspace/symbol `(:query ,string)))
|
||||
(items (append resp nil)))
|
||||
(dolist (item items)
|
||||
(condition-case nil
|
||||
(let* ((name (plist-get item :name))
|
||||
(loc (plist-get item :location))
|
||||
(uri (plist-get loc :uri))
|
||||
(range (plist-get loc :range))
|
||||
(start (plist-get range :start))
|
||||
(line (plist-get start :line))
|
||||
(char (plist-get start :character))
|
||||
(file (eglot-uri-to-path uri))
|
||||
(rel-path (file-relative-name file root))
|
||||
(display (format "%s %s:%d" name rel-path (1+ line))))
|
||||
(unless (seq-find (lambda (c) (string= (car c) display)) all-candidates)
|
||||
(push (list display file line char) all-candidates)))
|
||||
(error nil)))))
|
||||
;; Sort by symbol name length (shorter first)
|
||||
(let ((strings (mapcar #'car
|
||||
(sort (copy-sequence all-candidates)
|
||||
(lambda (a b)
|
||||
(< (length (car (split-string (car a) " ")))
|
||||
(length (car (split-string (car b) " ")))))))))
|
||||
(complete-with-action action strings string pred))))
|
||||
(selection (completing-read "Symbol (type to search): " collection nil t)))
|
||||
(when-let ((match (seq-find (lambda (c) (string= (car c) selection)) all-candidates)))
|
||||
(find-file (nth 1 match))
|
||||
(goto-char (point-min))
|
||||
(forward-line (1- (get-text-property 0 'line candidate)))))
|
||||
(forward-line (nth 2 match))
|
||||
(forward-char (or (nth 3 match) 0))))
|
||||
(call-interactively 'xref-find-apropos)))
|
||||
|
||||
;;; ============================================================================
|
||||
;;; DAPE (DEBUGGING)
|
||||
;;; ============================================================================
|
||||
|
||||
;; Go debugging with dlv (requires: go install github.com/go-delve/delve/cmd/dlv@latest)
|
||||
;; Use M-x dape or F5 to start debugging, select "dlv" configuration
|
||||
|
||||
;; Show inlay hints for variable values while debugging
|
||||
(setq dape-inlay-hints t)
|
||||
|
||||
;; Save buffers before starting debug session
|
||||
(add-hook 'dape-start-hook (lambda () (save-some-buffers t t)))
|
||||
|
||||
;; Kill debug session before quitting Emacs
|
||||
(add-hook 'kill-emacs-hook
|
||||
(lambda ()
|
||||
(ignore-errors (dape-quit))
|
||||
;; Also kill any lingering dlv processes
|
||||
(dolist (proc (process-list))
|
||||
(when (and (process-live-p proc)
|
||||
(string-match-p "\\(dape\\|dlv\\)" (process-name proc)))
|
||||
(ignore-errors
|
||||
(let ((pid (process-id proc)))
|
||||
(when pid (my-kill-process-tree pid)))
|
||||
(delete-process proc))))))
|
||||
|
||||
(defun my-dape-start-or-continue ()
|
||||
"Start debugging or continue if already in a debug session.
|
||||
If stopped at a breakpoint, continue. Otherwise start a new debug session."
|
||||
(interactive)
|
||||
(if-let ((conn (dape--live-connection 'stopped t)))
|
||||
(dape-continue conn)
|
||||
(call-interactively #'dape)))
|
||||
|
||||
;;; ============================================================================
|
||||
;;; FLYMAKE & DIAGNOSTICS
|
||||
;;; ============================================================================
|
||||
@@ -258,6 +307,7 @@
|
||||
(global-auto-revert-mode t)
|
||||
(global-so-long-mode 1)
|
||||
(global-hl-line-mode -1)
|
||||
(setq enable-local-variables :all) ; trust .dir-locals.el files
|
||||
|
||||
;; display
|
||||
(setq-default truncate-lines 1)
|
||||
@@ -275,7 +325,6 @@
|
||||
(setq-default require-final-newline t)
|
||||
(setq ediff-split-window-function 'split-window-horizontally)
|
||||
(setq dired-dnd-protocol-alist nil)
|
||||
(setq custom-file "~/.emacs.d/custom.el")
|
||||
|
||||
;; mouse - disable right-click context menu
|
||||
(global-set-key [mouse-3] 'ignore)
|
||||
@@ -317,20 +366,19 @@
|
||||
(progn
|
||||
(set-window-buffer window buffer)
|
||||
window)
|
||||
(let ((new-window (display-buffer-at-bottom buffer alist)))
|
||||
(when new-window
|
||||
(with-selected-window new-window
|
||||
(set-window-parameter new-window 'window-height 0.25)))
|
||||
new-window))))
|
||||
(display-buffer-in-side-window buffer
|
||||
'((side . bottom)
|
||||
(slot . 1)
|
||||
(window-height . 0.25))))))
|
||||
|
||||
(add-to-list 'display-buffer-alist
|
||||
'("\\*compilation\\*" (my-display-in-bottom-panel) (window-height . 0.25)))
|
||||
'("\\*compilation\\*" (my-display-in-bottom-panel) (side . bottom) (slot . 1) (window-height . 0.25)))
|
||||
(add-to-list 'display-buffer-alist
|
||||
'("\\*xref\\*" (my-display-in-bottom-panel) (window-height . 0.25)))
|
||||
'("\\*xref\\*" (my-display-in-bottom-panel) (side . bottom) (slot . 1) (window-height . 0.25)))
|
||||
(add-to-list 'display-buffer-alist
|
||||
'("\\*Flymake diagnostics.*\\*" (my-display-in-bottom-panel) (window-height . 0.25)))
|
||||
'("\\*Flymake diagnostics.*\\*" (my-display-in-bottom-panel) (side . bottom) (slot . 1) (window-height . 0.25)))
|
||||
(add-to-list 'display-buffer-alist
|
||||
'("\\*grep\\*" (my-display-in-bottom-panel) (window-height . 0.25)))
|
||||
'("\\*grep\\*" (my-display-in-bottom-panel) (side . bottom) (slot . 1) (window-height . 0.25)))
|
||||
|
||||
(defun my-bottom-panel-toggle ()
|
||||
"Toggle the bottom panel. Close if visible, open if hidden."
|
||||
@@ -433,7 +481,7 @@
|
||||
(global-set-key (kbd "C-<next>") 'next-multiframe-window)
|
||||
(global-set-key (kbd "C-1") 'my-select-left-pane)
|
||||
(global-set-key (kbd "C-2") 'my-select-right-pane)
|
||||
(global-set-key (kbd "<f11>") 'toggle-frame-maximized)
|
||||
(global-set-key (kbd "M-<f11>") 'toggle-frame-maximized)
|
||||
|
||||
;; --- Selection & Editing ---
|
||||
(global-set-key (kbd "C-a") 'mark-whole-buffer)
|
||||
@@ -454,7 +502,7 @@
|
||||
(global-set-key (kbd "<end>") 'move-end-of-line)
|
||||
(global-set-key (kbd "M-p") 'backward-paragraph)
|
||||
(global-set-key (kbd "M-n") 'forward-paragraph)
|
||||
(global-set-key [f8] 'goto-line)
|
||||
(global-set-key (kbd "C-S-g") 'goto-line)
|
||||
(when (eq system-type 'darwin)
|
||||
(global-set-key (kbd "C-<left>") 'my-smart-home)
|
||||
(global-set-key (kbd "C-<right>") 'move-end-of-line))
|
||||
@@ -472,7 +520,8 @@
|
||||
|
||||
;; --- Code Navigation (xref/LSP) ---
|
||||
(global-set-key (kbd "<f12>") 'my-xref-find-definitions-same-pane)
|
||||
(global-set-key (kbd "C-<f12>") 'xref-find-references)
|
||||
(global-set-key (kbd "C-<f12>") 'my-xref-find-definitions-right-pane)
|
||||
(global-set-key (kbd "C-S-<f12>") 'xref-find-references)
|
||||
(global-set-key (kbd "C-{") 'xref-go-back)
|
||||
(global-set-key (kbd "C-}") 'xref-go-forward)
|
||||
(global-set-key (kbd "<mouse-3>") 'xref-go-back)
|
||||
@@ -488,8 +537,21 @@
|
||||
|
||||
;; --- Compilation & Build ---
|
||||
(global-set-key (kbd "<f1>") 'my-bottom-panel-toggle)
|
||||
(global-set-key (kbd "<f5>") 'my-compile-last)
|
||||
(global-set-key (kbd "<C-S-f5>") 'my-compile-custom)
|
||||
(global-set-key (kbd "<f4>") 'next-error)
|
||||
(global-set-key (kbd "S-<f4>") 'previous-error)
|
||||
(global-set-key (kbd "C-b") 'my-compile-last)
|
||||
(global-set-key (kbd "C-S-b") 'my-compile-custom)
|
||||
|
||||
;; --- Debugging (dape, VS Code-style) ---
|
||||
(global-set-key (kbd "<f5>") 'my-dape-start-or-continue)
|
||||
(global-set-key (kbd "S-<f5>") 'dape-quit)
|
||||
(global-set-key (kbd "C-S-<f5>") 'dape-restart)
|
||||
(global-set-key (kbd "<f9>") 'dape-breakpoint-toggle)
|
||||
(global-set-key (kbd "<f10>") 'dape-next)
|
||||
(global-set-key (kbd "<f11>") 'dape-step-in)
|
||||
(global-set-key (kbd "S-<f11>") 'dape-step-out)
|
||||
(global-set-key (kbd "S-<f9>") 'dape-breakpoint-remove-all)
|
||||
(global-set-key (kbd "C-<f5>") 'dape-continue)
|
||||
|
||||
;; --- External Tools ---
|
||||
(global-set-key (kbd "<f6>") 'my-file-manager-command)
|
||||
@@ -499,10 +561,6 @@
|
||||
(global-set-key (kbd "<f7>") 'project-switch-project)
|
||||
(global-set-key (kbd "C-S-p") 'execute-extended-command)
|
||||
|
||||
;; --- Bookmarks ---
|
||||
(global-set-key (kbd "<f9>") 'bookmark-jump)
|
||||
(global-set-key (kbd "<f10>") 'bookmark-set)
|
||||
|
||||
;; --- Themes ---
|
||||
(global-set-key (kbd "<f3>") 'my-select-theme)
|
||||
|
||||
@@ -531,11 +589,14 @@
|
||||
(global-set-key (kbd "M-<delete>") 'my-delete-word)
|
||||
(global-set-key (kbd "C-<backspace>") 'my-backward-delete-word)
|
||||
|
||||
;; --- Macros ---
|
||||
(global-set-key (kbd "C-S-r") 'my-toggle-macro-recording)
|
||||
(global-set-key (kbd "C-M-r") 'my-call-macro)
|
||||
|
||||
;; --- Misc ---
|
||||
(global-set-key (kbd "C-e") 'my-copy-path-with-line)
|
||||
(global-set-key (kbd "C-e") 'my-select-inside-parens)
|
||||
(global-set-key (kbd "C-y") 'my-copy-path-with-line)
|
||||
(global-set-key (kbd "C-!") 'my-insert-shell-command-output)
|
||||
(global-set-key (kbd "C-<f4>") 'my-toggle-macro-recording)
|
||||
(global-set-key (kbd "<f4>") 'my-call-macro)
|
||||
|
||||
;; --- Minibuffer Keybindings ---
|
||||
(define-key minibuffer-local-filename-completion-map (kbd "C-2") 'my-find-file-right-pane)
|
||||
@@ -598,11 +659,12 @@
|
||||
(move-beginning-of-line 1))))
|
||||
|
||||
(defun my-get-top-windows ()
|
||||
"Get windows in the top portion of the frame (not bottom compilation)."
|
||||
"Get windows in the top portion of the frame (not bottom compilation or dape)."
|
||||
(let ((windows '()))
|
||||
(walk-windows
|
||||
(lambda (w)
|
||||
(when (window-at-side-p w 'top)
|
||||
(when (and (window-at-side-p w 'top)
|
||||
(not (string-prefix-p "*dape-" (buffer-name (window-buffer w)))))
|
||||
(push w windows))))
|
||||
(sort windows (lambda (a b) (< (car (window-edges a)) (car (window-edges b)))))))
|
||||
|
||||
@@ -638,6 +700,22 @@ Falls back to dumb-jump if xref fails."
|
||||
(dumb-jump-go)))
|
||||
(error (dumb-jump-go))))))
|
||||
|
||||
(defun my-xref-find-definitions-right-pane ()
|
||||
"Find definition and show it in a new pane split to the right.
|
||||
Falls back to dumb-jump if xref fails."
|
||||
(interactive)
|
||||
(let ((identifier (thing-at-point 'symbol t)))
|
||||
(if (null identifier)
|
||||
(message "No symbol at point")
|
||||
(split-window-right)
|
||||
(other-window 1)
|
||||
(condition-case nil
|
||||
(let ((xrefs (xref-backend-definitions (xref-find-backend) identifier)))
|
||||
(if xrefs
|
||||
(xref-find-definitions identifier)
|
||||
(dumb-jump-go)))
|
||||
(error (dumb-jump-go))))))
|
||||
|
||||
(defun my-xref-find-definitions-at-click (event)
|
||||
"Find definition of the symbol clicked on."
|
||||
(interactive "e")
|
||||
@@ -867,6 +945,20 @@ Respects search settings: regexp, whole-word, case-sensitivity."
|
||||
(set-mark (point))
|
||||
(forward-line 1)))
|
||||
|
||||
(defun my-select-inside-parens ()
|
||||
"Select the contents inside the nearest enclosing parentheses, brackets, or braces."
|
||||
(interactive)
|
||||
(let ((start nil) (end nil))
|
||||
(save-excursion
|
||||
(ignore-errors
|
||||
(up-list -1 t t) ; go backward, escape strings, no syntax crossing
|
||||
(setq start (1+ (point)))
|
||||
(forward-sexp 1)
|
||||
(setq end (1- (point)))))
|
||||
(when (and start end)
|
||||
(goto-char start)
|
||||
(set-mark end))))
|
||||
|
||||
(defun my-toggle-comment ()
|
||||
"Toggle comment on line or region without moving point."
|
||||
(interactive)
|
||||
@@ -1002,6 +1094,7 @@ Does not copy to kill ring."
|
||||
(defun my-compile-custom ()
|
||||
"Run a custom compile command in the project root."
|
||||
(interactive)
|
||||
(save-some-buffers t t)
|
||||
(let* ((default-directory (project-root (project-current t)))
|
||||
(saved (my-compile-get-saved-command))
|
||||
(cmd (read-string "Command: " saved)))
|
||||
@@ -1011,6 +1104,7 @@ Does not copy to kill ring."
|
||||
(defun my-compile-last ()
|
||||
"Run last compile command, or prompt for one if none has been run."
|
||||
(interactive)
|
||||
(save-some-buffers t t)
|
||||
(let* ((default-directory (project-root (project-current t)))
|
||||
(cmd (my-compile-get-saved-command)))
|
||||
(if cmd
|
||||
@@ -1228,9 +1322,9 @@ Does not copy to kill ring."
|
||||
(if defining-kbd-macro
|
||||
(progn
|
||||
(kmacro-end-macro nil)
|
||||
(message "Macro recorded. Press F4 to replay."))
|
||||
(message "Macro recorded. Press C-M-r to replay."))
|
||||
(kmacro-start-macro nil)
|
||||
(message "Recording macro... Press C-<f4> to stop.")))
|
||||
(message "Recording macro... Press C-S-r to stop.")))
|
||||
|
||||
(defun my-call-macro ()
|
||||
"Call last macro. If region is active, run macro N times where N is number of selected lines.
|
||||
@@ -1280,6 +1374,27 @@ Use in `isearch-mode-end-hook'."
|
||||
|
||||
;; (set-face-attribute 'default nil :font "Consolas-15")
|
||||
|
||||
;; Disable current theme before loading to prevent stacking on config reload
|
||||
(when my-current-theme
|
||||
(disable-theme my-current-theme))
|
||||
(setq my-current-theme 'bedroom)
|
||||
(load-theme 'bedroom t)
|
||||
|
||||
;;; ============================================================================
|
||||
;;; CUSTOM
|
||||
;;; ============================================================================
|
||||
|
||||
(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.
|
||||
'(safe-local-variable-directories '("/Users/mta/projects/cdrateline.com_2.0/")))
|
||||
(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.
|
||||
)
|
||||
|
||||
;;; init.el ends here
|
||||
|
||||
5858
.emacs.d/lisp/dape.el
Normal file
5858
.emacs.d/lisp/dape.el
Normal file
File diff suppressed because it is too large
Load Diff
512
.emacs.d/themes/acme-theme.el
Normal file
512
.emacs.d/themes/acme-theme.el
Normal file
@@ -0,0 +1,512 @@
|
||||
;;; acme-theme.el --- A color theme based on Acme & Sam from Plan 9 -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2020 Ian Yi-En Pan
|
||||
|
||||
;; Author: Ian Y.E. Pan
|
||||
;; URL: https://github.com/ianpan870102/acme-emacs-theme
|
||||
;; Version: 1.0.0
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
;; A color theme for Emacs based on Acme & Sam from Plan 9
|
||||
|
||||
;;; Credits:
|
||||
;; This theme was modified from John Louis Del Rosario's plan9-theme.el
|
||||
|
||||
;;; Code:
|
||||
|
||||
(defgroup acme-theme nil
|
||||
"Options for acme theme."
|
||||
:group 'faces)
|
||||
|
||||
(defcustom acme-theme-black-fg nil
|
||||
"If non-nil, foreground will be pure black instead of the default dark grey."
|
||||
:group 'acme-theme
|
||||
:type 'boolean)
|
||||
|
||||
(deftheme acme "A color theme based on Acme & Sam")
|
||||
|
||||
;;; Color palette
|
||||
|
||||
(let ((class '((class color) (min-colors 89)))
|
||||
(bg "#FFFFE8") ; default bg
|
||||
(bg-alt "#EFEFD8")
|
||||
(bg-dark "#E5E5D0")
|
||||
(fg (if acme-theme-black-fg "#000000" "#444444")) ; default fg
|
||||
(fg-alt "#B8B09A")
|
||||
(fg-dark "#988D6D")
|
||||
(fg-light "#CCCCB7")
|
||||
(highlight "#E8EB98")
|
||||
(highlight-alt "#E8EBC8")
|
||||
|
||||
;; Standardized palette
|
||||
(acme-cyan "#007777")
|
||||
(acme-cyan-light "#A8EFEB")
|
||||
(acme-red "#880000")
|
||||
(acme-red-light "#F8E8E8")
|
||||
(acme-yellow "#888838")
|
||||
(acme-yellow-light "#F8FCE8")
|
||||
(acme-green "#005500")
|
||||
(acme-green-alt "#006600")
|
||||
(acme-green-light "#E8FCE8")
|
||||
(acme-blue "#1054AF")
|
||||
(acme-blue-light "#E1FAFF")
|
||||
(acme-purple "#555599")
|
||||
(acme-purple-light "#FFEAFF"))
|
||||
|
||||
;;; Theme Faces
|
||||
(custom-theme-set-faces
|
||||
'acme
|
||||
|
||||
;;;; Built-in
|
||||
|
||||
;;;;; basic coloring
|
||||
`(button ((t (:underline t))))
|
||||
`(link ((t (:foreground "#0066cc":weight normal))))
|
||||
`(highlight ((t (:inherit link :underline t)))) ; link hover
|
||||
`(link-visited ((t (:foreground ,acme-purple :underline t :weight normal))))
|
||||
`(default ((t (:foreground ,fg :background ,bg))))
|
||||
`(cursor ((t (:foreground ,bg :background ,fg))))
|
||||
`(escape-glyph ((t (:foreground ,acme-cyan-light :bold nil))))
|
||||
`(fringe ((t (:foreground ,fg :background ,bg))))
|
||||
`(line-number ((t (:foreground ,fg :background ,bg-alt))))
|
||||
`(line-number-current-line ((t (:foreground ,fg :background ,bg-alt))))
|
||||
`(header-line ((t (:foreground ,fg :background ,acme-blue-light :box t))))
|
||||
`(success ((t (:foreground ,acme-green :weight normal))))
|
||||
`(warning ((t (:foreground ,acme-red :weight normal))))
|
||||
`(error ((t (:foreground ,acme-red :bold t))))
|
||||
|
||||
;;;;; compilation
|
||||
`(compilation-column-face ((t (:foreground ,acme-yellow :background ,acme-yellow-light))))
|
||||
`(compilation-column-number ((t (:foreground ,acme-yellow :background ,acme-yellow-light))))
|
||||
`(compilation-error-face ((t (:foreground ,acme-red :weight normal :underline t))))
|
||||
`(compilation-face ((t (:foreground ,fg))))
|
||||
`(compilation-info-face ((t (:foreground ,acme-blue))))
|
||||
`(compilation-info ((t (:foreground ,acme-blue :underline t))))
|
||||
`(compilation-line-face ((t (:foreground ,acme-purple))))
|
||||
`(compilation-line-number ((t (:foreground ,acme-yellow :background ,acme-yellow-light))))
|
||||
`(compilation-message-face ((t (:foreground ,acme-blue))))
|
||||
`(compilation-warning-face ((t (:foreground ,acme-yellow :weight normal :underline t))))
|
||||
`(compilation-mode-line-exit ((t (:foreground ,acme-cyan :weight normal))))
|
||||
`(compilation-mode-line-fail ((t (:foreground ,acme-red :weight normal))))
|
||||
`(compilation-mode-line-run ((t (:foreground ,acme-purple :weight normal))))
|
||||
|
||||
;;;;; grep
|
||||
`(grep-context-face ((t (:foreground ,fg-alt))))
|
||||
`(grep-error-face ((t (:foreground ,acme-red :weight normal :underline t))))
|
||||
`(grep-hit-face ((t (:foreground ,acme-purple :weight normal))))
|
||||
`(grep-match-face ((t (:foreground ,acme-cyan :weight normal))))
|
||||
`(match ((t (:background ,acme-cyan :foreground ,acme-cyan-light))))
|
||||
|
||||
;;;;; ag
|
||||
`(ag-hit-face ((t (:foreground ,acme-green :weight normal))))
|
||||
`(ag-match-face ((t (:foreground ,acme-cyan :background ,acme-cyan-light :weight normal))))
|
||||
|
||||
;;;;; isearch
|
||||
`(isearch ((t (:foreground ,fg :weight normal :background ,acme-cyan-light))))
|
||||
`(isearch-fail ((t (:foreground ,fg :weight normal :background ,acme-red))))
|
||||
`(lazy-highlight ((t (:foreground ,fg :weight normal :background ,acme-blue-light))))
|
||||
|
||||
`(menu ((t (:foreground ,bg :background ,fg))))
|
||||
`(minibuffer-prompt ((t (:foreground ,fg :weight normal))))
|
||||
`(region ((,class (:foreground ,fg :background ,highlight :extend nil))))
|
||||
`(secondary-selection ((t (:background ,acme-green-light))))
|
||||
`(trailing-whitespace ((t (:background ,acme-red-light))))
|
||||
`(vertical-border ((t (:foreground ,acme-cyan))))
|
||||
|
||||
;;;;; font lock
|
||||
`(font-lock-builtin-face ((t (:foreground ,fg :weight normal))))
|
||||
`(font-lock-function-name-face ((t (:foreground ,fg :weight normal))))
|
||||
`(font-lock-string-face ((t (:foreground ,acme-red))))
|
||||
`(font-lock-keyword-face ((t (:foreground ,acme-blue :weight bold)))) ; if, else, for, while, return...
|
||||
`(font-lock-type-face ((t (:foreground ,fg :weight bold)))) ; int, float, string, void...
|
||||
`(font-lock-constant-face ((t (:foreground ,fg :weight bold)))) ; NULL, nullptr, true, false...
|
||||
`(font-lock-variable-name-face ((t (:foreground ,fg :weight normal))))
|
||||
`(font-lock-comment-face ((t (:foreground ,acme-green :italic nil))))
|
||||
`(font-lock-comment-delimiter-face ((t (:foreground ,acme-green :italic nil))))
|
||||
`(font-lock-doc-face ((t (:foreground ,acme-yellow :italic nil))))
|
||||
`(font-lock-negation-char-face ((t (:foreground ,acme-red :weight normal))))
|
||||
`(font-lock-preprocessor-face ((t (:foreground ,acme-red :weight normal))))
|
||||
`(font-lock-regexp-grouping-construct ((t (:foreground ,acme-purple :weight normal))))
|
||||
`(font-lock-regexp-grouping-backslash ((t (:foreground ,acme-purple :weight normal))))
|
||||
`(font-lock-warning-face ((t (:foreground ,acme-red :weight normal))))
|
||||
|
||||
;;;;; table
|
||||
`(table-cell ((t (:background ,bg-alt))))
|
||||
|
||||
;;;;; ledger
|
||||
`(ledger-font-directive-face ((t (:foreground ,acme-cyan))))
|
||||
`(ledger-font-periodic-xact-face ((t (:inherit ledger-font-directive-face))))
|
||||
`(ledger-font-posting-account-face ((t (:foreground ,acme-blue))))
|
||||
`(ledger-font-posting-amount-face ((t (:foreground ,acme-red))))
|
||||
`(ledger-font-posting-date-face ((t (:foreground ,acme-red :weight normal))))
|
||||
`(ledger-font-payee-uncleared-face ((t (:foreground ,acme-purple))))
|
||||
`(ledger-font-payee-cleared-face ((t (:foreground ,fg))))
|
||||
`(ledger-font-payee-pending-face ((t (:foreground ,acme-yellow))))
|
||||
`(ledger-font-xact-highlight-face ((t (:background ,bg-alt))))
|
||||
|
||||
;;;; Third-party
|
||||
|
||||
|
||||
;;;;; anzu
|
||||
`(anzu-mode-line ((t (:foreground ,acme-yellow :background ,acme-yellow-light :weight normal))))
|
||||
|
||||
;;;;; clojure-mode
|
||||
`(clojure-interop-method-face ((t (:inherit font-lock-function-name-face))))
|
||||
|
||||
;;;;; clojure-test-mode
|
||||
`(clojure-test-failure-face ((t (:foreground ,acme-red :weight normal :underline t))))
|
||||
`(clojure-test-error-face ((t (:foreground ,acme-red :weight normal :underline t))))
|
||||
`(clojure-test-success-face ((t (:foreground ,acme-green :weight normal :underline t))))
|
||||
|
||||
;;;;; diff
|
||||
`(diff-added ((,class (:foreground ,fg :background ,acme-green-light))
|
||||
(t (:foreground ,fg :background ,acme-green-light))))
|
||||
`(diff-changed ((t (:foreground ,acme-yellow))))
|
||||
`(diff-context ((t (:foreground ,fg))))
|
||||
`(diff-removed ((,class (:foreground ,fg :background ,acme-red-light))
|
||||
(t (:foreground ,fg :background ,acme-red-light))))
|
||||
`(diff-refine-added ((t :inherit diff-added :background ,acme-green-light :weight bold :underline t)))
|
||||
`(diff-refine-change ((t :inherit diff-changed :weight normal)))
|
||||
`(diff-refine-removed ((t :inherit diff-removed :background ,acme-red-light :weight bold :underline t)))
|
||||
`(diff-header ((,class (:foreground ,fg :weight normal))
|
||||
(t (:foreground ,acme-purple-light :weight normal))))
|
||||
`(diff-file-header ((,class (:foreground ,fg :background ,acme-cyan-light :weight normal))
|
||||
(t (:foreground ,fg :background ,acme-cyan-light :weight normal))))
|
||||
`(diff-hunk-header ((,class (:foreground ,acme-green :weight normal))
|
||||
(t (:foreground ,acme-green :weight normal))))
|
||||
;;;;; dired/dired+/dired-subtree
|
||||
`(dired-directory ((t (:foreground ,acme-blue :weight bold))))
|
||||
`(diredp-display-msg ((t (:foreground ,acme-blue))))
|
||||
`(diredp-compressed-file-suffix ((t (:foreground ,acme-purple))))
|
||||
`(diredp-date-time ((t (:foreground ,acme-green))))
|
||||
`(diredp-deletion ((t (:foreground ,acme-red))))
|
||||
`(diredp-deletion-file-name ((t (:foreground ,acme-red))))
|
||||
`(diredp-dir-heading ((t (:foreground ,acme-blue :background ,acme-blue-light :weight bold))))
|
||||
`(diredp-dir-priv ((t (:foreground ,acme-blue))))
|
||||
`(diredp-exec-priv ((t (:foreground ,acme-yellow))))
|
||||
`(diredp-executable-tag ((t (:foreground ,acme-yellow))))
|
||||
`(diredp-file-name ((t (:foreground ,fg))))
|
||||
`(diredp-file-suffix ((t (:foreground ,acme-yellow))))
|
||||
`(diredp-flag-mark ((t (:foreground ,acme-cyan))))
|
||||
`(diredp-flag-mark-line ((t (:foreground ,acme-cyan))))
|
||||
`(diredp-ignored-file-name ((t (:foreground ,fg-light))))
|
||||
`(diredp-link-priv ((t (:foreground ,acme-purple))))
|
||||
`(diredp-mode-line-flagged ((t (:foreground ,acme-yellow))))
|
||||
`(diredp-mode-line-marked ((t (:foreground ,acme-yellow))))
|
||||
`(diredp-no-priv ((t (:foreground ,fg))))
|
||||
`(diredp-number ((t (:foreground ,acme-blue))))
|
||||
`(diredp-other-priv ((t (:foreground ,fg))))
|
||||
`(diredp-rare-priv ((t (:foreground ,fg))))
|
||||
`(diredp-read-priv ((t (:foreground ,fg))))
|
||||
`(diredp-symlink ((t (:foreground ,fg :background ,acme-blue-light))))
|
||||
`(diredp-write-priv ((t (:foreground ,fg))))
|
||||
`(diredp-dir-name ((t (:foreground ,acme-blue :weight bold))))
|
||||
`(dired-subtree-depth-1-face ((t (:background ,bg))))
|
||||
`(dired-subtree-depth-2-face ((t (:background ,bg))))
|
||||
`(dired-subtree-depth-3-face ((t (:background ,bg))))
|
||||
|
||||
;;;;; elfeed
|
||||
`(elfeed-search-date-face ((t (:foreground ,acme-blue))))
|
||||
`(elfeed-search-title-face ((t (:foreground ,fg))))
|
||||
`(elfeed-search-unread-title-face ((t (:foreground ,fg))))
|
||||
`(elfeed-search-feed-face ((t (:foreground ,acme-green))))
|
||||
`(elfeed-search-tag-face ((t (:foreground ,acme-red))))
|
||||
`(elfeed-search-unread-count-face ((t (:foreground ,fg))))
|
||||
|
||||
;;;;; erc
|
||||
`(erc-default-face ((t (:foreground ,fg))))
|
||||
`(erc-header-line ((t (:inherit header-line))))
|
||||
`(erc-action-face ((t (:inherit erc-default-face))))
|
||||
`(erc-bold-face ((t (:inherit erc-default-face :weight normal))))
|
||||
`(erc-underline-face ((t (:underline t))))
|
||||
`(erc-error-face ((t (:inherit font-lock-warning-face))))
|
||||
`(erc-prompt-face ((t (:foreground ,acme-green :background ,acme-green-light :weight normal))))
|
||||
`(erc-timestamp-face ((t (:foreground ,acme-green :background ,acme-green-light))))
|
||||
`(erc-direct-msg-face ((t (:inherit erc-default))))
|
||||
`(erc-notice-face ((t (:foreground ,fg-light))))
|
||||
`(erc-highlight-face ((t (:background ,highlight))))
|
||||
`(erc-input-face ((t (:foreground ,fg :background ,bg-alt))))
|
||||
`(erc-current-nick-face ((t (:foreground ,fg :background ,acme-cyan-light :weight normal
|
||||
:box (:line-width 1 :style released-button)))))
|
||||
`(erc-nick-default-face ((t (:weight normal :background ,bg-alt))))
|
||||
`(erc-my-nick-face ((t (:foreground ,fg :background ,acme-cyan-light :weight normal
|
||||
:box (:line-width 1 :style released-button)))))
|
||||
`(erc-nick-msg-face ((t (:inherit erc-default))))
|
||||
`(erc-fool-face ((t (:inherit erc-default))))
|
||||
`(erc-pal-face ((t (:foreground ,acme-purple :weight normal))))
|
||||
`(erc-dangerous-host-face ((t (:inherit font-lock-warning-face))))
|
||||
`(erc-keyword-face ((t (:foreground ,acme-yellow :weight normal))))
|
||||
|
||||
;;;;; evil
|
||||
`(evil-search-highlight-persist-highlight-face ((t (:inherit lazy-highlight))))
|
||||
|
||||
;;;;; flx
|
||||
`(flx-highlight-face ((t (:foreground ,acme-yellow :background ,acme-green-light
|
||||
:weight normal :underline t))))
|
||||
|
||||
;;;;; company
|
||||
`(company-tooltip ((t (:background ,acme-blue-light))))
|
||||
`(company-tooltip-selection ((t (:background ,acme-cyan-light))))
|
||||
`(company-tooltip-common ((t (:foreground ,acme-blue :bold t))))
|
||||
`(company-tooltip-annotation ((t (:foreground ,acme-yellow :italic t)))) ; parameter hints etc.
|
||||
`(company-scrollbar-fg ((t (:background ,acme-cyan))))
|
||||
`(company-scrollbar-bg ((t (:background ,acme-cyan-light))))
|
||||
`(company-preview-common ((t (:foreground ,fg :background ,acme-cyan-light))))
|
||||
|
||||
;;;;; highlight-symbol
|
||||
`(highlight-symbol-face ((t (:background ,bg-alt))))
|
||||
|
||||
;;;;; highlight-numbers
|
||||
`(highlight-numbers-number ((t (:foreground ,acme-blue))))
|
||||
|
||||
;;;;; highlight-operators
|
||||
`(highlight-operators-face ((t (:foreground ,fg))))
|
||||
|
||||
;;;;; hl-todo
|
||||
`(hl-todo ((t (:inverse-video t))))
|
||||
|
||||
;;;;; hl-line-mode
|
||||
`(hl-line ((,class (:background ,bg-alt))))
|
||||
|
||||
;;;;; hl-sexp
|
||||
`(hl-sexp-face ((,class (:background ,bg-alt))))
|
||||
|
||||
;;;;; ido-mode
|
||||
`(ido-first-match ((t (:foreground ,fg :weight normal))))
|
||||
`(ido-only-match ((t (:foreground ,fg :weight normal))))
|
||||
`(ido-subdir ((t (:foreground ,acme-blue))))
|
||||
`(ido-indicator ((t (:foreground ,acme-yellow))))
|
||||
|
||||
;;;;; ido-vertical
|
||||
`(ido-vertical-first-match-face ((t (:foreground ,fg :background ,acme-cyan-light :weight normal))))
|
||||
`(ido-vertical-only-match-face ((t (:foreground ,acme-red :background ,acme-red-light :weight normal))))
|
||||
`(ido-vertical-match-face ((t (:foreground ,fg :background ,acme-green-light
|
||||
:weight normal :underline t))))
|
||||
|
||||
;;;;; indent-guide
|
||||
`(indent-guide-face ((t (:foreground ,highlight))))
|
||||
|
||||
;;;;; ivy
|
||||
`(ivy-current-match ((t (:background ,acme-blue-light :underline t :extend t))))
|
||||
`(ivy-minibuffer-match-face-1 ((t (:background ,bg-alt))))
|
||||
`(ivy-minibuffer-match-face-2 ((t (:background ,acme-cyan-light))))
|
||||
`(ivy-minibuffer-match-face-3 ((t (:background ,acme-purple-light))))
|
||||
`(ivy-minibuffer-match-face-3 ((t (:background ,acme-blue-light))))
|
||||
|
||||
;;;;; js2-mode
|
||||
`(js2-warning ((t (:underline ,acme-yellow))))
|
||||
`(js2-error ((t (:foreground ,acme-red :weight normal))))
|
||||
`(js2-jsdoc-tag ((t (:foreground ,acme-purple))))
|
||||
`(js2-jsdoc-type ((t (:foreground ,acme-blue))))
|
||||
`(js2-jsdoc-value ((t (:foreground ,acme-cyan))))
|
||||
`(js2-function-param ((t (:foreground ,fg))))
|
||||
`(js2-external-variable ((t (:foreground ,acme-cyan))))
|
||||
|
||||
;;;;; linum-mode
|
||||
`(linum ((t (:foreground ,fg-light))))
|
||||
|
||||
;;;;; lsp-mode
|
||||
`(lsp-face-highlight-textual ((t (:background ,bg-dark))))
|
||||
`(lsp-face-highlight-read ((t (:background ,acme-purple-light))))
|
||||
`(lsp-face-highlight-write ((t (:background ,acme-green-light))))
|
||||
|
||||
;;;;; magit
|
||||
`(magit-section-heading ((t (:foreground ,acme-cyan :background ,acme-blue-light
|
||||
:weight normal :underline t))))
|
||||
`(magit-section-highlight ((t (:background ,bg-alt))))
|
||||
`(magit-section-heading-selection ((t (:background ,highlight))))
|
||||
`(magit-filename ((t (:foreground ,fg))))
|
||||
`(magit-hash ((t (:foreground ,acme-yellow :weight normal))))
|
||||
`(magit-tag ((t (:foreground ,acme-purple :weight normal))))
|
||||
`(magit-refname ((t (:foreground ,acme-purple :weight normal))))
|
||||
`(magit-head ((t (:foreground ,acme-green :weight normal))))
|
||||
`(magit-branch-local ((t (:foreground ,acme-blue :background ,acme-blue-light
|
||||
:weight normal))))
|
||||
`(magit-branch-remote ((t (:foreground ,acme-green :background ,acme-green-light
|
||||
:weight normal))))
|
||||
`(magit-branch-current ((t (:foreground ,acme-cyan :background ,acme-cyan-light
|
||||
:weight normal
|
||||
:box (:line-width 1 :color ,acme-cyan)))))
|
||||
`(magit-diff-file-heading ((t (:foreground ,fg :weight normal))))
|
||||
`(magit-diff-file-heading-highlight ((t (:background ,bg-alt))))
|
||||
`(magit-diff-file-heading-selection ((t (:foreground ,acme-red :background ,highlight))))
|
||||
`(magit-diff-hunk-heading ((t (:foreground ,acme-blue :background ,acme-blue-light :weight normal :underline t))))
|
||||
`(magit-diff-hunk-heading-highlight ((t (:background ,acme-cyan-light))))
|
||||
`(magit-diff-added ((t (:foreground ,acme-green :background ,acme-green-light))))
|
||||
`(magit-diff-removed ((t (:foreground ,acme-red :background ,acme-red-light))))
|
||||
`(magit-diff-context ((t (:foreground ,fg-dark :background nil))))
|
||||
`(magit-diff-added-highlight ((t (:foreground ,acme-green :background ,acme-green-light))))
|
||||
`(magit-diff-removed-highlight ((t (:foreground ,acme-red :background ,acme-red-light))))
|
||||
`(magit-diff-context-highlight ((t (:foreground ,fg-dark :background ,bg-alt))))
|
||||
`(magit-diffstat-added ((t (:foreground ,acme-green :background ,acme-green-light :weight normal))))
|
||||
`(magit-diffstat-removed ((t (:foreground ,acme-red :background ,acme-red-light :weight normal))))
|
||||
`(magit-log-author ((t (:foreground ,acme-blue :weight normal))))
|
||||
`(magit-log-date ((t (:foreground ,acme-purple :weight normal))))
|
||||
`(magit-log-graph ((t (:foreground ,acme-red :weight normal))))
|
||||
`(magit-blame-heading ((t (:foreground ,fg-dark :background ,bg-alt))))
|
||||
|
||||
;;;;; paren-face
|
||||
`(parenthesis ((t (:foreground "#CCCCB7"))))
|
||||
|
||||
;;;;; project-explorer
|
||||
`(pe/file-face ((t (:foreground ,fg))))
|
||||
`(pe/directory-face ((t (:foreground ,acme-blue :weight normal))))
|
||||
|
||||
;;;;; rainbow-delimiters
|
||||
`(rainbow-delimiters-depth-1-face ((t (:foreground ,acme-green))))
|
||||
`(rainbow-delimiters-depth-2-face ((t (:foreground ,acme-blue))))
|
||||
`(rainbow-delimiters-depth-3-face ((t (:foreground ,acme-red))))
|
||||
|
||||
;;;;; show-paren
|
||||
`(show-paren-mismatch ((t (:foreground ,acme-yellow :background ,acme-red :weight normal))))
|
||||
`(show-paren-match ((t (:foreground ,fg :background ,acme-cyan-light :weight normal))))
|
||||
|
||||
;;;;; mode-line/sml-mode-line
|
||||
`(mode-line ((,class (:foreground ,fg :background ,acme-blue-light :box t))))
|
||||
`(mode-line-inactive ((t (:foreground ,fg :background ,bg-dark :box t))))
|
||||
`(mode-line-buffer-id ((t (:foreground ,fg :weight bold)))) ; associated buffer/file name
|
||||
`(sml/global ((t (:foreground ,fg))))
|
||||
`(sml/modes ((t (:foreground ,acme-green :background ,acme-green-light))))
|
||||
`(sml/filename ((t (:foreground ,acme-red))))
|
||||
`(sml/folder ((t (:foreground ,fg))))
|
||||
`(sml/prefix ((t (:foreground ,fg))))
|
||||
`(sml/read-only ((t (:foreground ,fg))))
|
||||
`(sml/modified ((t (:foreground ,acme-red :weight normal))))
|
||||
`(sml/outside-modified ((t (:background ,acme-red :foreground ,acme-red-light :weight normal))))
|
||||
`(sml/line-number ((t (:foreground ,fg :weight normal))))
|
||||
`(sml/col-number ((t (:foreground ,fg :weight normal))))
|
||||
`(sml/vc ((t (:foreground ,fg :weight normal))))
|
||||
`(sml/vc-edited ((t (:foreground ,acme-red :weight normal))))
|
||||
`(sml/git ((t (:foreground ,fg :weight normal))))
|
||||
|
||||
;;;;; sh
|
||||
`(sh-heredoc-face ((t (:foreground ,acme-purple))))
|
||||
|
||||
;;;;; web-mode
|
||||
`(web-mode-builtin-face ((t (:inherit ,font-lock-builtin-face))))
|
||||
`(web-mode-comment-face ((t (:inherit ,font-lock-comment-face))))
|
||||
`(web-mode-constant-face ((t (:inherit ,font-lock-constant-face))))
|
||||
`(web-mode-doctype-face ((t (:inherit ,font-lock-comment-face))))
|
||||
`(web-mode-folded-face ((t (:underline t))))
|
||||
`(web-mode-function-name-face ((t (:foreground ,fg :weight normal))))
|
||||
`(web-mode-html-attr-name-face ((t (:foreground ,fg))))
|
||||
`(web-mode-html-attr-value-face ((t (:inherit ,font-lock-string-face))))
|
||||
`(web-mode-html-tag-face ((t (:foreground ,acme-blue))))
|
||||
`(web-mode-keyword-face ((t (:inherit ,font-lock-keyword-face))))
|
||||
`(web-mode-preprocessor-face ((t (:inherit ,font-lock-preprocessor-face))))
|
||||
`(web-mode-string-face ((t (:inherit ,font-lock-string-face))))
|
||||
`(web-mode-type-face ((t (:inherit ,font-lock-type-face))))
|
||||
`(web-mode-variable-name-face ((t (:inherit ,font-lock-variable-name-face))))
|
||||
`(web-mode-server-background-face ((t (:background ,acme-green-light))))
|
||||
`(web-mode-server-comment-face ((t (:inherit web-mode-comment-face))))
|
||||
`(web-mode-server-string-face ((t (:foreground ,acme-red))))
|
||||
`(web-mode-symbol-face ((t (:inherit font-lock-constant-face))))
|
||||
`(web-mode-warning-face ((t (:inherit font-lock-warning-face))))
|
||||
`(web-mode-whitespaces-face ((t (:background ,acme-red-light))))
|
||||
`(web-mode-block-face ((t (:background ,acme-green-light))))
|
||||
`(web-mode-current-element-highlight-face ((t (:foreground ,fg :background ,acme-blue-light))))
|
||||
`(web-mode-json-key-face ((,class (:inherit font-lock-string-face))))
|
||||
`(web-mode-json-context-face ((,class (:inherit font-lock-string-face :bold t))))
|
||||
|
||||
;;;;; which-func-mode
|
||||
`(which-func ((t (:foreground ,acme-purple :background ,acme-purple-light))))
|
||||
|
||||
;;;;; yascroll
|
||||
`(yascroll:thumb-text-area ((t (:background ,highlight))))
|
||||
`(yascroll:thumb-fringe ((t (:background ,bg :foreground ,bg
|
||||
:box (:line-width 1 :style released-button)))))
|
||||
|
||||
;;;;; Org
|
||||
`(org-level-1 ((t (:background ,acme-blue-light :foreground ,acme-blue :weight bold :overline t))))
|
||||
`(org-level-2 ((t (:background ,acme-blue-light :foreground ,acme-cyan :weight bold :overline t))))
|
||||
`(org-level-3 ((t (:background ,acme-blue-light :foreground ,acme-blue :weight bold :overline t))))
|
||||
`(org-level-4 ((t (:background ,acme-blue-light :foreground ,acme-cyan))))
|
||||
`(org-level-5 ((t (:background ,acme-blue-light :foreground ,acme-blue))))
|
||||
`(org-level-6 ((t (:background ,acme-blue-light :foreground ,acme-cyan))))
|
||||
`(org-level-7 ((t (:background ,acme-blue-light :foreground ,acme-blue))))
|
||||
`(org-level-8 ((t (:background ,acme-blue-light :foreground ,acme-cyan))))
|
||||
`(org-document-title ((t (:height 1.2 :foreground ,acme-blue :weight bold :underline t)))) ; #TITLE
|
||||
`(org-meta-line ((t (:foreground ,acme-green))))
|
||||
`(org-document-info ((t (:foreground ,acme-cyan :weight normal))))
|
||||
`(org-document-info-keyword ((t (:foreground ,acme-cyan))))
|
||||
`(org-todo ((t (:foreground ,acme-yellow :background ,bg-alt :weight normal :box (:line-width 1 :style released-button)))))
|
||||
`(org-done ((t (:foreground ,acme-green :background ,acme-green-light :weight normal :box (:style released-button)))))
|
||||
`(org-date ((t (:foreground ,acme-purple))))
|
||||
`(org-table ((t (:foreground ,acme-purple))))
|
||||
`(org-formula ((t (:foreground ,acme-blue :background ,bg-alt))))
|
||||
`(org-code ((t (:foreground ,acme-red :background ,bg-alt))))
|
||||
`(org-verbatim ((t (:foreground ,fg :background ,bg-alt :underline t))))
|
||||
`(org-special-keyword ((t (:foreground ,acme-cyan))))
|
||||
`(org-agenda-date ((t (:foreground ,acme-cyan))))
|
||||
`(org-agenda-structure ((t (:foreground ,acme-purple))))
|
||||
`(org-block ((t (:foreground ,fg :background ,bg-alt :extend t))))
|
||||
`(org-block-background ((t (:background ,bg-alt :extend t))))
|
||||
`(org-block-begin-line ((t (:foreground ,fg-alt :background ,bg-dark :italic t :extend t))))
|
||||
`(org-block-end-line ((t (:foreground ,fg-alt :background ,bg-dark :italic t :extend t))))
|
||||
|
||||
;;;;; origami
|
||||
`(origami-fold-replacement-face ((t (:foreground ,acme-red :background ,acme-red-light
|
||||
:box (:line-width -1)))))
|
||||
|
||||
;;;;; git-gutter
|
||||
`(git-gutter:added ((t (:background ,acme-green-alt :foreground ,acme-green-alt :weight normal))))
|
||||
`(git-gutter:deleted ((t (:background ,acme-red :foreground ,acme-red :weight normal))))
|
||||
`(git-gutter:modified ((t (:background ,acme-yellow :foreground ,acme-yellow :weight normal))))
|
||||
`(git-gutter-fr:added ((t (:background ,acme-green-alt :foreground ,acme-green-alt :weight normal))))
|
||||
`(git-gutter-fr:deleted ((t (:background ,acme-red :foreground ,acme-red :weight normal))))
|
||||
`(git-gutter-fr:modified ((t (:background ,acme-yellow :foreground ,acme-yellow :weight normal))))
|
||||
|
||||
;;;;; diff-hl
|
||||
`(diff-hl-insert ((t (:background ,acme-green-alt :foreground ,acme-green-alt))))
|
||||
`(diff-hl-delete ((t (:background ,acme-red :foreground ,acme-red))))
|
||||
`(diff-hl-change ((t (:background ,acme-yellow :foreground ,acme-yellow))))
|
||||
|
||||
;;;;; mu4e, mail
|
||||
`(mu4e-header-highlight-face ((t (:background ,highlight))))
|
||||
`(mu4e-unread-face ((t (:foreground ,acme-blue :weight normal))))
|
||||
`(mu4e-flagged-face ((t (:foreground ,acme-red :background ,acme-red-light :weight normal))))
|
||||
`(mu4e-compose-separator-face ((t (:foreground ,acme-green))))
|
||||
`(mu4e-header-value-face ((t (:foreground ,fg))))
|
||||
`(message-header-name ((t (:foreground ,acme-purple :weight normal))))
|
||||
`(message-header-to ((t (:foreground ,acme-blue))))
|
||||
`(message-header-subject ((t (:foreground ,acme-blue))))
|
||||
`(message-header-other ((t (:foreground ,acme-blue))))
|
||||
`(message-cited-text ((t (:inherit font-lock-comment-face))))
|
||||
|
||||
;;;;; term-mode (vterm too)
|
||||
`(term ((,class (:foreground ,fg :background ,bg))))
|
||||
`(term-color-black ((,class (:foreground ,fg :background ,fg))))
|
||||
`(term-color-blue ((,class (:foreground ,acme-blue :background ,acme-blue))))
|
||||
`(term-color-red ((,class (:foreground ,acme-red :background ,acme-red))))
|
||||
`(term-color-green ((,class (:foreground ,acme-green :background ,acme-green))))
|
||||
`(term-color-yellow ((,class (:foreground ,acme-yellow :background ,acme-yellow))))
|
||||
`(term-color-magenta ((,class (:foreground ,acme-purple :background ,acme-purple))))
|
||||
`(term-color-cyan ((,class (:foreground ,acme-cyan :background ,acme-cyan))))
|
||||
`(term-color-white ((,class (:foreground ,fg :background ,fg))))
|
||||
|
||||
;;;;; fill-column-indicator
|
||||
`(fci-rule-color ((t (:foreground ,highlight-alt))))
|
||||
`(fill-column-indicator ((t (:foreground ,highlight-alt))))))
|
||||
|
||||
;;;###autoload
|
||||
(when (and (boundp 'custom-theme-load-path) load-file-name)
|
||||
(add-to-list 'custom-theme-load-path
|
||||
(file-name-as-directory (file-name-directory load-file-name))))
|
||||
|
||||
(provide-theme 'acme)
|
||||
(provide 'acme-theme)
|
||||
|
||||
;;; acme-theme.el ends here
|
||||
Reference in New Issue
Block a user