Compare commits

...

10 Commits

Author SHA1 Message Date
Sravan Balaji
d71a35720f Remove org superstar configuration 2025-04-26 21:06:59 -04:00
Sravan Balaji
83c8819b26 Remove conflicting dap-mode / Dape keybindings 2025-04-26 14:44:42 -04:00
Sravan Balaji
dae83ddfea Enable direnv module 2025-01-04 20:33:32 -05:00
Sravan Balaji
8004d554b9 Enable editorconfig support 2025-01-02 09:37:23 -05:00
Sravan Balaji
0c8f9301c2 Disable tab to complete for company mode 2025-01-01 13:07:17 -05:00
Sravan Balaji
325b13ed8d Init.el Cleanup and Relative Line Mode
- Remove whitespace in init.el
- Use built-in lua and nix language support
  instead of external packages
- Enable relative line mode
2024-12-31 11:12:59 -05:00
Sravan Balaji
a3624d9371 Update external language support packages
- Remove pkgbuild (arch packages) mode
- Remove yuck (for EWW configs) mode
- Add portage modes
2024-12-31 10:20:46 -05:00
Sravan Balaji
424aeea906 Disable Format on Save, Enable Tree Sitter, add sxhkd mode
- Disable formatting on save
- Enable tree-sitter
- Add sxhkd mode package
2024-09-28 14:54:19 -04:00
Sravan Balaji
6b650eaba2 Update dracula pro themes 2024-07-13 08:32:07 -04:00
Sravan Balaji
580dd2dd60 Add latexmk flag to latex module 2024-05-13 07:14:34 -04:00
11 changed files with 4834 additions and 4248 deletions

View File

@@ -8,6 +8,7 @@
- [[#git-ignore][Git Ignore]]
- [[#configuration-files][Configuration Files]]
- [[#initel][init.el]]
- [[#start-of-initel][Start of init.el]]
- [[#input][Input]]
- [[#completion][Completion]]
- [[#user-interface][User Interface]]
@@ -21,6 +22,7 @@
- [[#email][Email]]
- [[#apps][Apps]]
- [[#config][Config]]
- [[#end-of-initel][End of init.el]]
- [[#configel][config.el]]
- [[#user-configuration][User Configuration]]
- [[#user-interface-1][User Interface]]
@@ -65,235 +67,247 @@ This file controls which Doom modules are enabled and what order they load in. R
Alternatively, press =gd= (or =C-c c d=) on a module to browse its directory (for easy access to its source code).
*** Start of init.el
#+BEGIN_SRC emacs-lisp :tangle init.el
(doom!
#+END_SRC
*** Input
#+BEGIN_SRC emacs-lisp :tangle init.el
(doom! :input
;;bidi ; (tfel ot) thgir etirw uoy gnipleh
;;chinese
;;japanese
;;layout ; auie,ctsrnm is the superior home row
:input
;;bidi ; (tfel ot) thgir etirw uoy gnipleh
;;chinese
;;japanese
;;layout ; auie,ctsrnm is the superior home row
#+END_SRC
*** Completion
#+BEGIN_SRC emacs-lisp :tangle init.el
:completion
(company +tng) ; the ultimate code completion backend
;;helm ; the *other* search engine for love and life
;;ido ; the other *other* search engine...
;;ivy ; a search engine for love and life
vertico ; the search engine of the future
:completion
company ; the ultimate code completion backend
;;helm ; the *other* search engine for love and life
;;ido ; the other *other* search engine...
;;ivy ; a search engine for love and life
vertico ; the search engine of the future
#+END_SRC
*** User Interface
#+BEGIN_SRC emacs-lisp :tangle init.el
:ui
;;deft ; notational velocity for Emacs
doom ; what makes DOOM look the way it does
doom-dashboard ; a nifty splash screen for Emacs
doom-quit ; DOOM quit-message prompts when you quit Emacs
;;emoji ; 🙂
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
;;hydra
indent-guides ; highlighted indent columns
ligatures ; ligatures and symbols to make your code pretty again
;;minimap ; show a map of the code on the side
modeline ; snazzy, Atom-inspired modeline, plus API
nav-flash ; blink cursor line after big motions
;;neotree ; a project drawer, like NERDTree for vim
ophints ; highlight the region an operation acts on
(popup +defaults) ; tame sudden yet inevitable temporary windows
;;tabs ; a tab bar for Emacs
treemacs ; a project drawer, like neotree but cooler
;;unicode ; extended unicode support for various languages
vc-gutter ; vcs diff in the fringe
vi-tilde-fringe ; fringe tildes to mark beyond EOB
;;window-select ; visually switch windows
workspaces ; tab emulation, persistence & separate workspaces
;;zen ; distraction-free coding or writing
:ui
;;deft ; notational velocity for Emacs
doom ; what makes DOOM look the way it does
doom-dashboard ; a nifty splash screen for Emacs
doom-quit ; DOOM quit-message prompts when you quit Emacs
;;emoji ; 🙂
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
;;hydra
indent-guides ; highlighted indent columns
ligatures ; ligatures and symbols to make your code pretty again
;;minimap ; show a map of the code on the side
modeline ; snazzy, Atom-inspired modeline, plus API
nav-flash ; blink cursor line after big motions
;;neotree ; a project drawer, like NERDTree for vim
ophints ; highlight the region an operation acts on
(popup +defaults) ; tame sudden yet inevitable temporary windows
;;tabs ; a tab bar for Emacs
treemacs ; a project drawer, like neotree but cooler
;;unicode ; extended unicode support for various languages
vc-gutter ; vcs diff in the fringe
vi-tilde-fringe ; fringe tildes to mark beyond EOB
;;window-select ; visually switch windows
workspaces ; tab emulation, persistence & separate workspaces
;;zen ; distraction-free coding or writing
#+END_SRC
*** Editor
#+BEGIN_SRC emacs-lisp :tangle init.el
:editor
(evil +everywhere) ; come to the dark side, we have cookies
file-templates ; auto-snippets for empty files
fold ; (nigh) universal code folding
(format +onsave) ; automated prettiness
;;god ; run Emacs commands without modifier keys
;;lispy ; vim for lisp, for people who don't like vim
multiple-cursors ; editing in many places at once
;;objed ; text object editing for the innocent
;;parinfer ; turn lisp into python, sort of
;;rotate-text ; cycle region at point between text candidates
snippets ; my elves. They type so I don't have to
word-wrap ; soft wrapping with language-aware indent
:editor
(evil +everywhere) ; come to the dark side, we have cookies
file-templates ; auto-snippets for empty files
fold ; (nigh) universal code folding
format ; automated prettiness
;;god ; run Emacs commands without modifier keys
;;lispy ; vim for lisp, for people who don't like vim
multiple-cursors ; editing in many places at once
;;objed ; text object editing for the innocent
;;parinfer ; turn lisp into python, sort of
;;rotate-text ; cycle region at point between text candidates
snippets ; my elves. They type so I don't have to
word-wrap ; soft wrapping with language-aware indent
#+END_SRC
*** Emacs
#+BEGIN_SRC emacs-lisp :tangle init.el
:emacs
(dired +ranger +icons) ; making dired pretty [functional]
electric ; smarter, keyword-based electric-indent
(ibuffer +icons) ; interactive buffer management
(undo +tree) ; persistent, smarter undo for your inevitable mistakes
vc ; version-control and Emacs, sitting in a tree
:emacs
(dired +icons) ; making dired pretty [functional]
electric ; smarter, keyword-based electric-indent
(ibuffer +icons) ; interactive buffer management
(undo +tree) ; persistent, smarter undo for your inevitable mistakes
vc ; version-control and Emacs, sitting in a tree
#+END_SRC
*** Terminal
#+BEGIN_SRC emacs-lisp :tangle init.el
:term
eshell ; the elisp shell that works everywhere
;;shell ; simple shell REPL for Emacs
;;term ; basic terminal emulator for Emacs
vterm ; the best terminal emulation in Emacs
:term
eshell ; the elisp shell that works everywhere
;;shell ; simple shell REPL for Emacs
;;term ; basic terminal emulator for Emacs
vterm ; the best terminal emulation in Emacs
#+END_SRC
*** Checkers
#+BEGIN_SRC emacs-lisp :tangle init.el
:checkers
syntax ; tasing you for every semicolon you forget
(spell +flyspell +hunspell +everywhere) ; tasing you for misspelling mispelling
grammar ; tasing grammar mistake every you make
:checkers
syntax ; tasing you for every semicolon you forget
(spell +flyspell +hunspell +everywhere) ; tasing you for misspelling mispelling
grammar ; tasing grammar mistake every you make
#+END_SRC
*** Tools
#+BEGIN_SRC emacs-lisp :tangle init.el
:tools
;;ansible
;;biblio ; Writes a PhD for you (citation needed)
(debugger +lsp) ; FIXME stepping through code, to help you add bugs
;;direnv
(docker +lsp)
;;editorconfig ; let someone else argue about tabs vs spaces
ein ; tame Jupyter notebooks with emacs
(eval +overlay) ; run code, run (also, repls)
;;gist ; interacting with github gists
lookup ; navigate your code and its documentation
lsp ; M-x vscode
magit ; a git porcelain for Emacs
make ; run make tasks from Emacs
;;pass ; password manager for nerds
pdf ; pdf enhancements
;;prodigy ; FIXME managing external services & code builders
rgb ; creating color strings
;;taskrunner ; taskrunner for all your projects
;;terraform ; infrastructure as code
;;tmux ; an API for interacting with tmux
;;tree-sitter ; syntax and parsing, sitting in a tree...
upload ; map local to remote projects via ssh/ftp
:tools
;;ansible
;;biblio ; Writes a PhD for you (citation needed)
(debugger +lsp) ; FIXME stepping through code, to help you add bugs
direnv
(docker +lsp)
editorconfig ; let someone else argue about tabs vs spaces
ein ; tame Jupyter notebooks with emacs
(eval +overlay) ; run code, run (also, repls)
;;gist ; interacting with github gists
lookup ; navigate your code and its documentation
lsp ; M-x vscode
magit ; a git porcelain for Emacs
make ; run make tasks from Emacs
;;pass ; password manager for nerds
pdf ; pdf enhancements
;;prodigy ; FIXME managing external services & code builders
;;rgb ; creating color strings
;;taskrunner ; taskrunner for all your projects
;;terraform ; infrastructure as code
tmux ; an API for interacting with tmux
tree-sitter ; syntax and parsing, sitting in a tree...
upload ; map local to remote projects via ssh/ftp
#+END_SRC
*** OS
#+BEGIN_SRC emacs-lisp :tangle init.el
:os
(:if IS-MAC macos) ; improve compatibility with macOS
tty ; improve the terminal Emacs experience
:os
(:if IS-MAC macos) ; improve compatibility with macOS
tty ; improve the terminal Emacs experience
#+END_SRC
*** Languages
#+BEGIN_SRC emacs-lisp :tangle init.el
:lang
;;agda ; types of types of types of types...
;;beancount ; mind the GAAP
(cc +lsp) ; C > C++ == 1
;;clojure ; java with a lisp
;;common-lisp ; if you've seen one lisp, you've seen them all
;;coq ; proofs-as-programs
;;crystal ; ruby at the speed of c
;;csharp ; unity, .NET, and mono shenanigans
data ; config/data formats
;;(dart +flutter) ; paint ui and not much else
;;dhall
;;elixir ; erlang done right
;;elm ; care for a cup of TEA?
emacs-lisp ; drown in parentheses
;;erlang ; an elegant language for a more civilized age
;;ess ; emacs speaks statistics
;;factor
;;faust ; dsp, but you get to keep your soul
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
;;fsharp ; ML stands for Microsoft's Language
;;fstar ; (dependent) types and (monadic) effects and Z3
;;gdscript ; the language you waited for
;;(go +lsp) ; the hipster dialect
;;(graphql +lsp) ; Give queries a REST
(haskell +lsp) ; a language that's lazier than I am
;;hy ; readability of scheme w/ speed of python
;;idris ; a language you can depend on
(json +lsp) ; At least it ain't XML
;;(java +lsp) ; the poster child for carpal tunnel syndrome
(javascript +lsp) ; all(hope(abandon(ye(who(enter(here))))))
;;(julia +lsp) ; a better, faster MATLAB
;;kotlin ; a better, slicker Java(Script)
(latex +cdlatex +lsp) ; writing papers in Emacs has never been so fun
;;lean ; for folks with too much to prove
;;ledger ; be audit you can be
;;lua ; one-based indices? one-based indices
(markdown +grip) ; writing docs for people to ignore
;;nim ; python + lisp at the speed of c
;;nix ; I hereby declare "nix geht mehr!"
;;ocaml ; an objective camel
(org +dragndrop +jupyter +pretty) ; organize your plain life in plain text
;;php ; perl's insecure younger brother
;;plantuml ; diagrams for confusing people more
;;purescript ; javascript, but functional
(python +lsp) ; beautiful is better than ugly
;;qt ; the 'cutest' gui framework ever
;;racket ; a DSL for DSLs
;;raku ; the artist formerly known as perl6
;;rest ; Emacs as a REST client
;;rst ; ReST in peace
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;scala ; java, but good
;;(scheme +guile) ; a fully conniving family of lisps
(sh +fish +lsp) ; she sells {ba,z,fi}sh shells on the C xor
;;sml
;;solidity ; do you need a blockchain? No.
;;swift ; who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance.
(web +lsp) ; the tubes
(yaml +lsp) ; JSON, but readable
;;zig ; C, but simpler
:lang
;;agda ; types of types of types of types...
;;beancount ; mind the GAAP
(cc +lsp +tree-sitter) ; C > C++ == 1
;;clojure ; java with a lisp
;;common-lisp ; if you've seen one lisp, you've seen them all
;;coq ; proofs-as-programs
;;crystal ; ruby at the speed of c
;;csharp ; unity, .NET, and mono shenanigans
data ; config/data formats
;;(dart +flutter) ; paint ui and not much else
;;dhall
;;elixir ; erlang done right
;;elm ; care for a cup of TEA?
emacs-lisp ; drown in parentheses
;;erlang ; an elegant language for a more civilized age
;;ess ; emacs speaks statistics
;;factor
;;faust ; dsp, but you get to keep your soul
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
;;fsharp ; ML stands for Microsoft's Language
;;fstar ; (dependent) types and (monadic) effects and Z3
;;gdscript ; the language you waited for
;;(go +lsp) ; the hipster dialect
;;(graphql +lsp) ; Give queries a REST
(haskell +lsp +tree-sitter) ; a language that's lazier than I am
;;hy ; readability of scheme w/ speed of python
;;idris ; a language you can depend on
(json +lsp +tree-sitter) ; At least it ain't XML
;;(java +lsp) ; the poster child for carpal tunnel syndrome
(javascript +lsp +tree-sitter) ; all(hope(abandon(ye(who(enter(here))))))
;;(julia +lsp) ; a better, faster MATLAB
;;kotlin ; a better, slicker Java(Script)
(latex +cdlatex +latexmk +lsp) ; writing papers in Emacs has never been so fun
;;lean ; for folks with too much to prove
;;ledger ; be audit you can be
(lua +lsp +tree-sitter) ; one-based indices? one-based indices
(markdown +grip) ; writing docs for people to ignore
;;nim ; python + lisp at the speed of c
(nix +lsp +tree-sitter) ; I hereby declare "nix geht mehr!"
;;ocaml ; an objective camel
(org +dragndrop +jupyter +pretty) ; organize your plain life in plain text
;;php ; perl's insecure younger brother
;;plantuml ; diagrams for confusing people more
;;purescript ; javascript, but functional
(python +lsp +tree-sitter) ; beautiful is better than ugly
;;qt ; the 'cutest' gui framework ever
;;racket ; a DSL for DSLs
;;raku ; the artist formerly known as perl6
;;rest ; Emacs as a REST client
;;rst ; ReST in peace
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
(rust +lsp +tree-sitter) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;scala ; java, but good
;;(scheme +guile) ; a fully conniving family of lisps
(sh +fish +lsp +tree-sitter) ; she sells {ba,z,fi}sh shells on the C xor
;;sml
;;solidity ; do you need a blockchain? No.
;;swift ; who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance.
(web +lsp) ; the tubes
(yaml +lsp +tree-sitter) ; JSON, but readable
;;zig ; C, but simpler
#+END_SRC
*** Email
#+BEGIN_SRC emacs-lisp :tangle init.el
:email
;;(mu4e +org +gmail)
;;notmuch
;;(wanderlust +gmail)
:email
;;(mu4e +org +gmail)
;;notmuch
;;(wanderlust +gmail)
#+END_SRC
*** Apps
#+BEGIN_SRC emacs-lisp :tangle init.el
:app
;;calendar
;;emms
;;everywhere ; *leave* Emacs!? You must be joking
;;irc ; how neckbeards socialize
;;(rss +org) ; emacs as an RSS reader
;;twitter ; twitter client https://twitter.com/vnought
:app
;;calendar
;;emms
;;everywhere ; *leave* Emacs!? You must be joking
;;irc ; how neckbeards socialize
;;(rss +org) ; emacs as an RSS reader
;;twitter ; twitter client https://twitter.com/vnought
#+END_SRC
*** Config
#+BEGIN_SRC emacs-lisp :tangle init.el
:config
;;literate
(default +bindings +smartparens))
:config
;;literate
(default +bindings +smartparens)
#+END_SRC
*** End of init.el
#+BEGIN_SRC emacs-lisp :tangle init.el
)
#+END_SRC
** config.el
@@ -386,7 +400,7 @@ There are two ways to load a theme. Both assume the theme is installed and avail
This determines the style of line numbers in effect. If set to =nil=, line numbers are disabled. For relative line numbers, set this to =relative=.
#+BEGIN_SRC emacs-lisp :tangle config.el
(setq display-line-numbers-type t)
(setq display-line-numbers-type 'relative)
#+END_SRC
**** Tab Width
@@ -745,14 +759,6 @@ If you use =org= and don't want your org files in the default location below, ch
(org-colors-dracula))
#+END_SRC
**** Superstar
#+BEGIN_SRC emacs-lisp :tangle config.el
(setq org-superstar-headline-bullets-list '("" "" "" "" "" "" ""))
(setq org-superstar-item-bullet-alist '((?+ . ?➤) (?- . ?✦))) ; changes +/- symbols in item lists
(add-hook! org-mode (org-superstar-mode))
#+END_SRC
*** Markdown
#+BEGIN_SRC emacs-lisp :tangle config.el
@@ -807,41 +813,6 @@ Revert buffers when the underlying file has changed
*** Debugging
**** Keybindings
#+BEGIN_SRC emacs-lisp :tangle config.el
(map! :map dap-mode-map
:leader
:prefix ("d" . "dap")
;; basics
:desc "dap next" "n" #'dap-next
:desc "dap step in" "i" #'dap-step-in
:desc "dap step out" "o" #'dap-step-out
:desc "dap continue" "c" #'dap-continue
:desc "dap hydra" "h" #'dap-hydra
:desc "dap debug restart" "r" #'dap-debug-restart
:desc "dap debug" "s" #'dap-debug
;; debug
:prefix ("dd" . "Debug")
:desc "dap debug recent" "r" #'dap-debug-recent
:desc "dap debug last" "l" #'dap-debug-last
;; eval
:prefix ("de" . "Eval")
:desc "eval" "e" #'dap-eval
:desc "eval region" "r" #'dap-eval-region
:desc "eval thing at point" "s" #'dap-eval-thing-at-point
:desc "add expression" "a" #'dap-ui-expressions-add
:desc "remove expression" "d" #'dap-ui-expressions-remove
:prefix ("db" . "Breakpoint")
:desc "dap breakpoint toggle" "b" #'dap-breakpoint-toggle
:desc "dap breakpoint condition" "c" #'dap-breakpoint-condition
:desc "dap breakpoint hit count" "h" #'dap-breakpoint-hit-condition
:desc "dap breakpoint log message" "l" #'dap-breakpoint-log-message)
#+END_SRC
**** Python
#+BEGIN_SRC emacs-lisp :tangle config.el
@@ -935,17 +906,24 @@ Doom's packages are pinned to a specific commit and updated from release to rele
*** Packages
**** Org Auto Tangle
#+BEGIN_SRC emacs-lisp :tangle packages.el
(package! org-auto-tangle)
#+END_SRC
**** Language Syntax Highlighting
#+BEGIN_SRC emacs-lisp :tangle packages.el
(package! git-modes)
(package! vimrc-mode)
(package! prettier-js)
(package! rainbow-mode)
(package! systemd)
(package! pkgbuild-mode)
(package! lua-mode)
(package! just-mode)
(package! nix-mode)
(package! yuck-mode)
(package! sxhkd-mode
:recipe (:host github :repo "xFA25E/sxhkd-mode"))
(package! ebuild-mode)
(package! portage-modes
:recipe (:host github :repo "OpenSauce04/portage-modes"))
#+END_SRC

View File

@@ -19,7 +19,7 @@
(doom/set-frame-opacity 95)
(setq display-line-numbers-type t)
(setq display-line-numbers-type 'relative)
(setq-default tab-width 4)
@@ -158,10 +158,6 @@
;; Load our desired org-colors-* theme on startup
(org-colors-dracula))
(setq org-superstar-headline-bullets-list '("" "" "" "" "" "" ""))
(setq org-superstar-item-bullet-alist '((?+ . ?➤) (?- . ?✦))) ; changes +/- symbols in item lists
(add-hook! org-mode (org-superstar-mode))
(custom-set-faces
'(markdown-header-face ((t (:inherit font-lock-function-name-face :weight bold :family "variable-pitch"))))
'(markdown-header-face-1 ((t (:inherit markdown-header-face :height 1.8))))
@@ -184,37 +180,6 @@
(lambda () (rainbow-mode 1)))
(global-rainbow-mode 1)
(map! :map dap-mode-map
:leader
:prefix ("d" . "dap")
;; basics
:desc "dap next" "n" #'dap-next
:desc "dap step in" "i" #'dap-step-in
:desc "dap step out" "o" #'dap-step-out
:desc "dap continue" "c" #'dap-continue
:desc "dap hydra" "h" #'dap-hydra
:desc "dap debug restart" "r" #'dap-debug-restart
:desc "dap debug" "s" #'dap-debug
;; debug
:prefix ("dd" . "Debug")
:desc "dap debug recent" "r" #'dap-debug-recent
:desc "dap debug last" "l" #'dap-debug-last
;; eval
:prefix ("de" . "Eval")
:desc "eval" "e" #'dap-eval
:desc "eval region" "r" #'dap-eval-region
:desc "eval thing at point" "s" #'dap-eval-thing-at-point
:desc "add expression" "a" #'dap-ui-expressions-add
:desc "remove expression" "d" #'dap-ui-expressions-remove
:prefix ("db" . "Breakpoint")
:desc "dap breakpoint toggle" "b" #'dap-breakpoint-toggle
:desc "dap breakpoint condition" "c" #'dap-breakpoint-condition
:desc "dap breakpoint hit count" "h" #'dap-breakpoint-hit-condition
:desc "dap breakpoint log message" "l" #'dap-breakpoint-log-message)
(after! dap-mode
(setq dap-python-debugger 'debugpy))

336
init.el
View File

@@ -1,180 +1,184 @@
;;; init.el -*- lexical-binding: t; -*-
(doom! :input
;;bidi ; (tfel ot) thgir etirw uoy gnipleh
;;chinese
;;japanese
;;layout ; auie,ctsrnm is the superior home row
(doom!
:completion
(company +tng) ; the ultimate code completion backend
;;helm ; the *other* search engine for love and life
;;ido ; the other *other* search engine...
;;ivy ; a search engine for love and life
vertico ; the search engine of the future
:input
;;bidi ; (tfel ot) thgir etirw uoy gnipleh
;;chinese
;;japanese
;;layout ; auie,ctsrnm is the superior home row
:ui
;;deft ; notational velocity for Emacs
doom ; what makes DOOM look the way it does
doom-dashboard ; a nifty splash screen for Emacs
doom-quit ; DOOM quit-message prompts when you quit Emacs
;;emoji ; 🙂
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
;;hydra
indent-guides ; highlighted indent columns
ligatures ; ligatures and symbols to make your code pretty again
;;minimap ; show a map of the code on the side
modeline ; snazzy, Atom-inspired modeline, plus API
nav-flash ; blink cursor line after big motions
;;neotree ; a project drawer, like NERDTree for vim
ophints ; highlight the region an operation acts on
(popup +defaults) ; tame sudden yet inevitable temporary windows
;;tabs ; a tab bar for Emacs
treemacs ; a project drawer, like neotree but cooler
;;unicode ; extended unicode support for various languages
vc-gutter ; vcs diff in the fringe
vi-tilde-fringe ; fringe tildes to mark beyond EOB
;;window-select ; visually switch windows
workspaces ; tab emulation, persistence & separate workspaces
;;zen ; distraction-free coding or writing
:completion
company ; the ultimate code completion backend
;;helm ; the *other* search engine for love and life
;;ido ; the other *other* search engine...
;;ivy ; a search engine for love and life
vertico ; the search engine of the future
:editor
(evil +everywhere) ; come to the dark side, we have cookies
file-templates ; auto-snippets for empty files
fold ; (nigh) universal code folding
(format +onsave) ; automated prettiness
;;god ; run Emacs commands without modifier keys
;;lispy ; vim for lisp, for people who don't like vim
multiple-cursors ; editing in many places at once
;;objed ; text object editing for the innocent
;;parinfer ; turn lisp into python, sort of
;;rotate-text ; cycle region at point between text candidates
snippets ; my elves. They type so I don't have to
word-wrap ; soft wrapping with language-aware indent
:ui
;;deft ; notational velocity for Emacs
doom ; what makes DOOM look the way it does
doom-dashboard ; a nifty splash screen for Emacs
doom-quit ; DOOM quit-message prompts when you quit Emacs
;;emoji ; 🙂
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
;;hydra
indent-guides ; highlighted indent columns
ligatures ; ligatures and symbols to make your code pretty again
;;minimap ; show a map of the code on the side
modeline ; snazzy, Atom-inspired modeline, plus API
nav-flash ; blink cursor line after big motions
;;neotree ; a project drawer, like NERDTree for vim
ophints ; highlight the region an operation acts on
(popup +defaults) ; tame sudden yet inevitable temporary windows
;;tabs ; a tab bar for Emacs
treemacs ; a project drawer, like neotree but cooler
;;unicode ; extended unicode support for various languages
vc-gutter ; vcs diff in the fringe
vi-tilde-fringe ; fringe tildes to mark beyond EOB
;;window-select ; visually switch windows
workspaces ; tab emulation, persistence & separate workspaces
;;zen ; distraction-free coding or writing
:emacs
(dired +ranger +icons) ; making dired pretty [functional]
electric ; smarter, keyword-based electric-indent
(ibuffer +icons) ; interactive buffer management
(undo +tree) ; persistent, smarter undo for your inevitable mistakes
vc ; version-control and Emacs, sitting in a tree
:editor
(evil +everywhere) ; come to the dark side, we have cookies
file-templates ; auto-snippets for empty files
fold ; (nigh) universal code folding
format ; automated prettiness
;;god ; run Emacs commands without modifier keys
;;lispy ; vim for lisp, for people who don't like vim
multiple-cursors ; editing in many places at once
;;objed ; text object editing for the innocent
;;parinfer ; turn lisp into python, sort of
;;rotate-text ; cycle region at point between text candidates
snippets ; my elves. They type so I don't have to
word-wrap ; soft wrapping with language-aware indent
:term
eshell ; the elisp shell that works everywhere
;;shell ; simple shell REPL for Emacs
;;term ; basic terminal emulator for Emacs
vterm ; the best terminal emulation in Emacs
:emacs
(dired +icons) ; making dired pretty [functional]
electric ; smarter, keyword-based electric-indent
(ibuffer +icons) ; interactive buffer management
(undo +tree) ; persistent, smarter undo for your inevitable mistakes
vc ; version-control and Emacs, sitting in a tree
:checkers
syntax ; tasing you for every semicolon you forget
(spell +flyspell +hunspell +everywhere) ; tasing you for misspelling mispelling
grammar ; tasing grammar mistake every you make
:term
eshell ; the elisp shell that works everywhere
;;shell ; simple shell REPL for Emacs
;;term ; basic terminal emulator for Emacs
vterm ; the best terminal emulation in Emacs
:tools
;;ansible
;;biblio ; Writes a PhD for you (citation needed)
(debugger +lsp) ; FIXME stepping through code, to help you add bugs
;;direnv
(docker +lsp)
;;editorconfig ; let someone else argue about tabs vs spaces
ein ; tame Jupyter notebooks with emacs
(eval +overlay) ; run code, run (also, repls)
;;gist ; interacting with github gists
lookup ; navigate your code and its documentation
lsp ; M-x vscode
magit ; a git porcelain for Emacs
make ; run make tasks from Emacs
;;pass ; password manager for nerds
pdf ; pdf enhancements
;;prodigy ; FIXME managing external services & code builders
rgb ; creating color strings
;;taskrunner ; taskrunner for all your projects
;;terraform ; infrastructure as code
;;tmux ; an API for interacting with tmux
;;tree-sitter ; syntax and parsing, sitting in a tree...
upload ; map local to remote projects via ssh/ftp
:checkers
syntax ; tasing you for every semicolon you forget
(spell +flyspell +hunspell +everywhere) ; tasing you for misspelling mispelling
grammar ; tasing grammar mistake every you make
:os
(:if IS-MAC macos) ; improve compatibility with macOS
tty ; improve the terminal Emacs experience
:tools
;;ansible
;;biblio ; Writes a PhD for you (citation needed)
(debugger +lsp) ; FIXME stepping through code, to help you add bugs
direnv
(docker +lsp)
editorconfig ; let someone else argue about tabs vs spaces
ein ; tame Jupyter notebooks with emacs
(eval +overlay) ; run code, run (also, repls)
;;gist ; interacting with github gists
lookup ; navigate your code and its documentation
lsp ; M-x vscode
magit ; a git porcelain for Emacs
make ; run make tasks from Emacs
;;pass ; password manager for nerds
pdf ; pdf enhancements
;;prodigy ; FIXME managing external services & code builders
;;rgb ; creating color strings
;;taskrunner ; taskrunner for all your projects
;;terraform ; infrastructure as code
tmux ; an API for interacting with tmux
tree-sitter ; syntax and parsing, sitting in a tree...
upload ; map local to remote projects via ssh/ftp
:lang
;;agda ; types of types of types of types...
;;beancount ; mind the GAAP
(cc +lsp) ; C > C++ == 1
;;clojure ; java with a lisp
;;common-lisp ; if you've seen one lisp, you've seen them all
;;coq ; proofs-as-programs
;;crystal ; ruby at the speed of c
;;csharp ; unity, .NET, and mono shenanigans
data ; config/data formats
;;(dart +flutter) ; paint ui and not much else
;;dhall
;;elixir ; erlang done right
;;elm ; care for a cup of TEA?
emacs-lisp ; drown in parentheses
;;erlang ; an elegant language for a more civilized age
;;ess ; emacs speaks statistics
;;factor
;;faust ; dsp, but you get to keep your soul
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
;;fsharp ; ML stands for Microsoft's Language
;;fstar ; (dependent) types and (monadic) effects and Z3
;;gdscript ; the language you waited for
;;(go +lsp) ; the hipster dialect
;;(graphql +lsp) ; Give queries a REST
(haskell +lsp) ; a language that's lazier than I am
;;hy ; readability of scheme w/ speed of python
;;idris ; a language you can depend on
(json +lsp) ; At least it ain't XML
;;(java +lsp) ; the poster child for carpal tunnel syndrome
(javascript +lsp) ; all(hope(abandon(ye(who(enter(here))))))
;;(julia +lsp) ; a better, faster MATLAB
;;kotlin ; a better, slicker Java(Script)
(latex +cdlatex +lsp) ; writing papers in Emacs has never been so fun
;;lean ; for folks with too much to prove
;;ledger ; be audit you can be
;;lua ; one-based indices? one-based indices
(markdown +grip) ; writing docs for people to ignore
;;nim ; python + lisp at the speed of c
;;nix ; I hereby declare "nix geht mehr!"
;;ocaml ; an objective camel
(org +dragndrop +jupyter +pretty) ; organize your plain life in plain text
;;php ; perl's insecure younger brother
;;plantuml ; diagrams for confusing people more
;;purescript ; javascript, but functional
(python +lsp) ; beautiful is better than ugly
;;qt ; the 'cutest' gui framework ever
;;racket ; a DSL for DSLs
;;raku ; the artist formerly known as perl6
;;rest ; Emacs as a REST client
;;rst ; ReST in peace
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;scala ; java, but good
;;(scheme +guile) ; a fully conniving family of lisps
(sh +fish +lsp) ; she sells {ba,z,fi}sh shells on the C xor
;;sml
;;solidity ; do you need a blockchain? No.
;;swift ; who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance.
(web +lsp) ; the tubes
(yaml +lsp) ; JSON, but readable
;;zig ; C, but simpler
:os
(:if IS-MAC macos) ; improve compatibility with macOS
tty ; improve the terminal Emacs experience
:email
;;(mu4e +org +gmail)
;;notmuch
;;(wanderlust +gmail)
:lang
;;agda ; types of types of types of types...
;;beancount ; mind the GAAP
(cc +lsp +tree-sitter) ; C > C++ == 1
;;clojure ; java with a lisp
;;common-lisp ; if you've seen one lisp, you've seen them all
;;coq ; proofs-as-programs
;;crystal ; ruby at the speed of c
;;csharp ; unity, .NET, and mono shenanigans
data ; config/data formats
;;(dart +flutter) ; paint ui and not much else
;;dhall
;;elixir ; erlang done right
;;elm ; care for a cup of TEA?
emacs-lisp ; drown in parentheses
;;erlang ; an elegant language for a more civilized age
;;ess ; emacs speaks statistics
;;factor
;;faust ; dsp, but you get to keep your soul
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
;;fsharp ; ML stands for Microsoft's Language
;;fstar ; (dependent) types and (monadic) effects and Z3
;;gdscript ; the language you waited for
;;(go +lsp) ; the hipster dialect
;;(graphql +lsp) ; Give queries a REST
(haskell +lsp +tree-sitter) ; a language that's lazier than I am
;;hy ; readability of scheme w/ speed of python
;;idris ; a language you can depend on
(json +lsp +tree-sitter) ; At least it ain't XML
;;(java +lsp) ; the poster child for carpal tunnel syndrome
(javascript +lsp +tree-sitter) ; all(hope(abandon(ye(who(enter(here))))))
;;(julia +lsp) ; a better, faster MATLAB
;;kotlin ; a better, slicker Java(Script)
(latex +cdlatex +latexmk +lsp) ; writing papers in Emacs has never been so fun
;;lean ; for folks with too much to prove
;;ledger ; be audit you can be
(lua +lsp +tree-sitter) ; one-based indices? one-based indices
(markdown +grip) ; writing docs for people to ignore
;;nim ; python + lisp at the speed of c
(nix +lsp +tree-sitter) ; I hereby declare "nix geht mehr!"
;;ocaml ; an objective camel
(org +dragndrop +jupyter +pretty) ; organize your plain life in plain text
;;php ; perl's insecure younger brother
;;plantuml ; diagrams for confusing people more
;;purescript ; javascript, but functional
(python +lsp +tree-sitter) ; beautiful is better than ugly
;;qt ; the 'cutest' gui framework ever
;;racket ; a DSL for DSLs
;;raku ; the artist formerly known as perl6
;;rest ; Emacs as a REST client
;;rst ; ReST in peace
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
(rust +lsp +tree-sitter) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;scala ; java, but good
;;(scheme +guile) ; a fully conniving family of lisps
(sh +fish +lsp +tree-sitter) ; she sells {ba,z,fi}sh shells on the C xor
;;sml
;;solidity ; do you need a blockchain? No.
;;swift ; who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance.
(web +lsp) ; the tubes
(yaml +lsp +tree-sitter) ; JSON, but readable
;;zig ; C, but simpler
:app
;;calendar
;;emms
;;everywhere ; *leave* Emacs!? You must be joking
;;irc ; how neckbeards socialize
;;(rss +org) ; emacs as an RSS reader
;;twitter ; twitter client https://twitter.com/vnought
:email
;;(mu4e +org +gmail)
;;notmuch
;;(wanderlust +gmail)
:config
;;literate
(default +bindings +smartparens))
:app
;;calendar
;;emms
;;everywhere ; *leave* Emacs!? You must be joking
;;irc ; how neckbeards socialize
;;(rss +org) ; emacs as an RSS reader
;;twitter ; twitter client https://twitter.com/vnought
:config
;;literate
(default +bindings +smartparens)
)

View File

@@ -2,14 +2,15 @@
;;; $DOOMDIR/packages.el
(package! org-auto-tangle)
(package! git-modes)
(package! vimrc-mode)
(package! prettier-js)
(package! rainbow-mode)
(package! systemd)
(package! pkgbuild-mode)
(package! lua-mode)
(package! just-mode)
(package! nix-mode)
(package! yuck-mode)
(package! sxhkd-mode
:recipe (:host github :repo "xFA25E/sxhkd-mode"))
(package! ebuild-mode)
(package! portage-modes
:recipe (:host github :repo "OpenSauce04/portage-modes"))

View File

@@ -0,0 +1,638 @@
;;; dracula-pro-alucard-theme.el --- Dracula Pro
;; Copyright (C) 2020-Today Dracula Theme.
;; Author: Dracula Team
;; Version: 1.0.0
;; Package-Requires: ((emacs "24.3"))
;; URL: https://draculatheme.com/pro
;;; Commentary:
;; Dracula PRO is a color scheme and UI theme tailored for programming. Made for terminal emulators, code editors, and syntax highlighters.
;;; Code:
(require 'cl-lib)
(deftheme dracula-pro-alucard
"Dracula PRO - Alucard Variant")
;;;; Configuration options:
(defgroup dracula-pro-alucard nil
"Dracula theme options.
The theme has to be reloaded after changing anything in this group."
:group 'faces)
(defcustom dracula-pro-alucard-enlarge-headings t
"Use different font sizes for some headings and titles."
:type 'boolean
:group 'dracula-pro-alucard)
(defcustom dracula-pro-alucard-height-title-1 1.3
"Font size 100%."
:type 'number
:group 'dracula-pro-alucard)
(defcustom dracula-pro-alucard-height-title-2 1.1
"Font size 110%."
:type 'number
:group 'dracula-pro-alucard)
(defcustom dracula-pro-alucard-height-title-3 1.0
"Font size 130%."
:type 'number
:group 'dracula-pro-alucard)
(defcustom dracula-pro-alucard-height-doc-title 1.44
"Font size 144%."
:type 'number
:group 'dracula-pro-alucard)
(defcustom dracula-pro-alucard-alternate-mode-line-and-minibuffer nil
"Use less bold and pink in the minibuffer."
:type 'boolean
:group 'dracula-pro-alucard)
;;;; Theme definition:
;; Assigment form: VARIABLE COLOR [TTY-COLOR]
(let ((colors '(;; Upstream theme color
(dracula-pro-alucard-bg "#F5F5F5" "#F5F5F5" nil) ; Background
(dracula-pro-alucard-fg "#1F1F1F" "#1F1F1F" "brightwhite") ; Foreground
(dracula-pro-alucard-current "#CFCFDE" "#CFCFDE" "brightblack") ; Current-line/selection
(dracula-pro-alucard-comment "#635D97" "#635D97" "blue") ; Comment
(dracula-pro-alucard-cyan "#036A96" "#036A96" "brightcyan") ; Cyan
(dracula-pro-alucard-green "#14710A" "#14710A" "green") ; Green
(dracula-pro-alucard-orange "#A34D14" "#A34D14" "brightred") ; Orange
(dracula-pro-alucard-pink "#A3144D" "#A3144D" "magenta") ; Pink
(dracula-pro-alucard-purple "#644AC9" "#644AC9" "brightmagenta") ; Purple
(dracula-pro-alucard-red "#CB3A2A" "#CB3A2A" "red") ; Red
(dracula-pro-alucard-yellow "#846E15" "#846E15" "yellow") ; Yellow
;; Other colors
(dracula-pro-alucard-bg2 "#E5E5E5" "#E5E5E5" "brightblack")
(dracula-pro-alucard-bg3 "#D5D5D5" "#D5D5D5" "brightblack")
(dracula-pro-alucard-bg4 "#C5C5C5" "#C5C5C5" "brightblack")
(dracula-pro-alucard-fg2 "#2F2F2F" "#2F2F2F" "brightwhite")
(dracula-pro-alucard-fg3 "#3F3F3F" "#3F3F3F" "white")
(dracula-pro-alucard-fg4 "#4F4F4F" "#4F4F4F" "white")
(dracula-pro-alucard-alt-blue "#336699" "#336699" "brightblue")))
(faces '(;; default
(cursor :background ,dracula-pro-alucard-fg3)
(completions-first-difference :foreground ,dracula-pro-alucard-pink :weight bold)
(default :background ,dracula-pro-alucard-bg :foreground ,dracula-pro-alucard-fg)
(default-italic :slant italic)
(ffap :foreground ,dracula-pro-alucard-fg4)
(fringe :background ,dracula-pro-alucard-bg :foreground ,dracula-pro-alucard-fg4)
(highlight :foreground ,dracula-pro-alucard-fg3 :background ,dracula-pro-alucard-bg3)
(hl-line :background ,dracula-pro-alucard-current :extend t)
(info-quoted-name :foreground ,dracula-pro-alucard-orange)
(info-string :foreground ,dracula-pro-alucard-yellow)
(lazy-highlight :foreground ,dracula-pro-alucard-fg2 :background ,dracula-pro-alucard-bg2)
(link :foreground ,dracula-pro-alucard-cyan :underline t)
(linum :slant italic :foreground ,dracula-pro-alucard-bg4 :background ,dracula-pro-alucard-bg)
(line-number :slant italic :foreground ,dracula-pro-alucard-bg4 :background ,dracula-pro-alucard-bg)
(match :background ,dracula-pro-alucard-yellow :foreground ,dracula-pro-alucard-bg)
(minibuffer-prompt
,@(if dracula-pro-alucard-alternate-mode-line-and-minibuffer
(list :weight 'normal :foreground dracula-pro-alucard-fg)
(list :weight 'bold :foreground dracula-pro-alucard-pink)))
(read-multiple-choice-face :inherit completions-first-difference)
(region :inherit match :extend t)
(trailing-whitespace :foreground nil :background ,dracula-pro-alucard-orange)
(vertical-border :foreground ,dracula-pro-alucard-bg2)
(success :foreground ,dracula-pro-alucard-green)
(warning :foreground ,dracula-pro-alucard-orange)
(error :foreground ,dracula-pro-alucard-red)
(header-line :background ,dracula-pro-alucard-bg)
;; syntax
(font-lock-builtin-face :foreground ,dracula-pro-alucard-orange)
(font-lock-comment-face :foreground ,dracula-pro-alucard-comment)
(font-lock-comment-delimiter-face :foreground ,dracula-pro-alucard-comment)
(font-lock-constant-face :foreground ,dracula-pro-alucard-cyan)
(font-lock-doc-face :foreground ,dracula-pro-alucard-comment)
(font-lock-function-name-face :foreground ,dracula-pro-alucard-green :weight bold)
(font-lock-keyword-face :weight bold :foreground ,dracula-pro-alucard-pink)
(font-lock-negation-char-face :foreground ,dracula-pro-alucard-cyan)
(font-lock-preprocessor-face :foreground ,dracula-pro-alucard-orange)
(font-lock-reference-face :foreground ,dracula-pro-alucard-cyan)
(font-lock-regexp-grouping-backslash :foreground ,dracula-pro-alucard-cyan)
(font-lock-regexp-grouping-construct :foreground ,dracula-pro-alucard-purple)
(font-lock-string-face :foreground ,dracula-pro-alucard-yellow)
(font-lock-type-face :foreground ,dracula-pro-alucard-purple)
(font-lock-variable-name-face :foreground ,dracula-pro-alucard-fg
:weight bold)
(font-lock-warning-face :foreground ,dracula-pro-alucard-orange :background ,dracula-pro-alucard-bg2)
;; auto-complete
(ac-completion-face :underline t :foreground ,dracula-pro-alucard-pink)
;; company
(company-echo-common :foreground ,dracula-pro-alucard-bg :background ,dracula-pro-alucard-fg)
(company-preview :background ,dracula-pro-alucard-bg :foreground ,dracula-pro-alucard-alt-blue)
(company-preview-common :foreground ,dracula-pro-alucard-bg2 :foreground ,dracula-pro-alucard-fg3)
(company-preview-search :foreground ,dracula-pro-alucard-purple :background ,dracula-pro-alucard-bg)
(company-scrollbar-bg :background ,dracula-pro-alucard-bg3)
(company-scrollbar-fg :foreground ,dracula-pro-alucard-pink)
(company-template-field :inherit match)
(company-tooltip :foreground ,dracula-pro-alucard-fg2 :background ,dracula-pro-alucard-bg :weight bold)
(company-tooltip-annotation :foreground ,dracula-pro-alucard-cyan)
(company-tooltip-common :foreground ,dracula-pro-alucard-fg3)
(company-tooltip-common-selection :foreground ,dracula-pro-alucard-yellow)
(company-tooltip-mouse :inherit highlight)
(company-tooltip-selection :background ,dracula-pro-alucard-bg3 :foreground ,dracula-pro-alucard-fg3)
;; diff-hl
(diff-hl-change :foreground ,dracula-pro-alucard-orange :background ,dracula-pro-alucard-orange)
(diff-hl-delete :foreground ,dracula-pro-alucard-red :background ,dracula-pro-alucard-red)
(diff-hl-insert :foreground ,dracula-pro-alucard-green :background ,dracula-pro-alucard-green)
;; dired
(dired-directory :foreground ,dracula-pro-alucard-green :weight normal)
(dired-flagged :foreground ,dracula-pro-alucard-pink)
(dired-header :foreground ,dracula-pro-alucard-fg3 :background ,dracula-pro-alucard-bg)
(dired-ignored :inherit shadow)
(dired-mark :foreground ,dracula-pro-alucard-fg :weight bold)
(dired-marked :foreground ,dracula-pro-alucard-orange :weight bold)
(dired-perm-write :foreground ,dracula-pro-alucard-fg3 :underline t)
(dired-symlink :foreground ,dracula-pro-alucard-yellow :weight normal :slant italic)
(dired-warning :foreground ,dracula-pro-alucard-orange :underline t)
(diredp-compressed-file-name :foreground ,dracula-pro-alucard-fg3)
(diredp-compressed-file-suffix :foreground ,dracula-pro-alucard-fg4)
(diredp-date-time :foreground ,dracula-pro-alucard-fg)
(diredp-deletion-file-name :foreground ,dracula-pro-alucard-pink :background ,dracula-pro-alucard-current)
(diredp-deletion :foreground ,dracula-pro-alucard-pink :weight bold)
(diredp-dir-heading :foreground ,dracula-pro-alucard-fg2 :background ,dracula-pro-alucard-bg4)
(diredp-dir-name :inherit dired-directory)
(diredp-dir-priv :inherit dired-directory)
(diredp-executable-tag :foreground ,dracula-pro-alucard-orange)
(diredp-file-name :foreground ,dracula-pro-alucard-fg)
(diredp-file-suffix :foreground ,dracula-pro-alucard-fg4)
(diredp-flag-mark-line :foreground ,dracula-pro-alucard-fg2 :slant italic :background ,dracula-pro-alucard-current)
(diredp-flag-mark :foreground ,dracula-pro-alucard-fg2 :weight bold :background ,dracula-pro-alucard-current)
(diredp-ignored-file-name :foreground ,dracula-pro-alucard-fg)
(diredp-mode-line-flagged :foreground ,dracula-pro-alucard-orange)
(diredp-mode-line-marked :foreground ,dracula-pro-alucard-orange)
(diredp-no-priv :foreground ,dracula-pro-alucard-fg)
(diredp-number :foreground ,dracula-pro-alucard-cyan)
(diredp-other-priv :foreground ,dracula-pro-alucard-orange)
(diredp-rare-priv :foreground ,dracula-pro-alucard-orange)
(diredp-read-priv :foreground ,dracula-pro-alucard-purple)
(diredp-write-priv :foreground ,dracula-pro-alucard-pink)
(diredp-exec-priv :foreground ,dracula-pro-alucard-yellow)
(diredp-symlink :foreground ,dracula-pro-alucard-orange)
(diredp-link-priv :foreground ,dracula-pro-alucard-orange)
(diredp-autofile-name :foreground ,dracula-pro-alucard-yellow)
(diredp-tagged-autofile-name :foreground ,dracula-pro-alucard-yellow)
;; enh-ruby
(enh-ruby-heredoc-delimiter-face :foreground ,dracula-pro-alucard-yellow)
(enh-ruby-op-face :foreground ,dracula-pro-alucard-pink)
(enh-ruby-regexp-delimiter-face :foreground ,dracula-pro-alucard-yellow)
(enh-ruby-string-delimiter-face :foreground ,dracula-pro-alucard-yellow)
;; flyspell
(flyspell-duplicate :underline (:style wave :color ,dracula-pro-alucard-orange))
(flyspell-incorrect :underline (:style wave :color ,dracula-pro-alucard-red))
;; font-latex
(font-latex-bold-face :foreground ,dracula-pro-alucard-purple)
(font-latex-italic-face :foreground ,dracula-pro-alucard-pink :slant italic)
(font-latex-match-reference-keywords :foreground ,dracula-pro-alucard-cyan)
(font-latex-match-variable-keywords :foreground ,dracula-pro-alucard-fg)
(font-latex-string-face :foreground ,dracula-pro-alucard-yellow)
;; gnus-group
(gnus-group-mail-1 :foreground ,dracula-pro-alucard-pink :weight bold)
(gnus-group-mail-1-empty :inherit gnus-group-mail-1 :weight normal)
(gnus-group-mail-2 :foreground ,dracula-pro-alucard-cyan :weight bold)
(gnus-group-mail-2-empty :inherit gnus-group-mail-2 :weight normal)
(gnus-group-mail-3 :foreground ,dracula-pro-alucard-comment :weight bold)
(gnus-group-mail-3-empty :inherit gnus-group-mail-3 :weight normal)
(gnus-group-mail-low :foreground ,dracula-pro-alucard-current :weight bold)
(gnus-group-mail-low-empty :inherit gnus-group-mail-low :weight normal)
(gnus-group-news-1 :foreground ,dracula-pro-alucard-pink :weight bold)
(gnus-group-news-1-empty :inherit gnus-group-news-1 :weight normal)
(gnus-group-news-2 :foreground ,dracula-pro-alucard-cyan :weight bold)
(gnus-group-news-2-empty :inherit gnus-group-news-2 :weight normal)
(gnus-group-news-3 :foreground ,dracula-pro-alucard-comment :weight bold)
(gnus-group-news-3-empty :inherit gnus-group-news-3 :weight normal)
(gnus-group-news-4 :inherit gnus-group-news-low)
(gnus-group-news-4-empty :inherit gnus-group-news-low-empty)
(gnus-group-news-5 :inherit gnus-group-news-low)
(gnus-group-news-5-empty :inherit gnus-group-news-low-empty)
(gnus-group-news-6 :inherit gnus-group-news-low)
(gnus-group-news-6-empty :inherit gnus-group-news-low-empty)
(gnus-group-news-low :foreground ,dracula-pro-alucard-current :weight bold)
(gnus-group-news-low-empty :inherit gnus-group-news-low :weight normal)
(gnus-header-content :foreground ,dracula-pro-alucard-pink)
(gnus-header-from :foreground ,dracula-pro-alucard-fg)
(gnus-header-name :foreground ,dracula-pro-alucard-purple)
(gnus-header-subject :foreground ,dracula-pro-alucard-green :weight bold)
(gnus-summary-markup-face :foreground ,dracula-pro-alucard-cyan)
(gnus-summary-high-unread :foreground ,dracula-pro-alucard-pink :weight bold)
(gnus-summary-high-read :inherit gnus-summary-high-unread :weight normal)
(gnus-summary-high-ancient :inherit gnus-summary-high-read)
(gnus-summary-high-ticked :inherit gnus-summary-high-read :underline t)
(gnus-summary-normal-unread :foreground ,dracula-pro-alucard-alt-blue :weight bold)
(gnus-summary-normal-read :foreground ,dracula-pro-alucard-comment :weight normal)
(gnus-summary-normal-ancient :inherit gnus-summary-normal-read :weight light)
(gnus-summary-normal-ticked :foreground ,dracula-pro-alucard-pink :weight bold)
(gnus-summary-low-unread :foreground ,dracula-pro-alucard-comment :weight bold)
(gnus-summary-low-read :inherit gnus-summary-low-unread :weight normal)
(gnus-summary-low-ancient :inherit gnus-summary-low-read)
(gnus-summary-low-ticked :inherit gnus-summary-low-read :underline t)
(gnus-summary-selected :inverse-video t)
;; haskell-mode
(haskell-operator-face :foreground ,dracula-pro-alucard-pink)
(haskell-constructor-face :foreground ,dracula-pro-alucard-purple)
;; helm
(helm-bookmark-w3m :foreground ,dracula-pro-alucard-purple)
(helm-buffer-not-saved :foreground ,dracula-pro-alucard-purple :background ,dracula-pro-alucard-bg)
(helm-buffer-process :foreground ,dracula-pro-alucard-orange :background ,dracula-pro-alucard-bg)
(helm-buffer-saved-out :foreground ,dracula-pro-alucard-fg :background ,dracula-pro-alucard-bg)
(helm-buffer-size :foreground ,dracula-pro-alucard-fg :background ,dracula-pro-alucard-bg)
(helm-candidate-number :foreground ,dracula-pro-alucard-bg :background ,dracula-pro-alucard-fg)
(helm-ff-directory :foreground ,dracula-pro-alucard-green :background ,dracula-pro-alucard-bg :weight bold)
(helm-ff-dotted-directory :foreground ,dracula-pro-alucard-green :background ,dracula-pro-alucard-bg :weight normal)
(helm-ff-executable :foreground ,dracula-pro-alucard-alt-blue :background ,dracula-pro-alucard-bg :weight normal)
(helm-ff-file :foreground ,dracula-pro-alucard-fg :background ,dracula-pro-alucard-bg :weight normal)
(helm-ff-invalid-symlink :foreground ,dracula-pro-alucard-pink :background ,dracula-pro-alucard-bg :weight bold)
(helm-ff-prefix :foreground ,dracula-pro-alucard-bg :background ,dracula-pro-alucard-pink :weight normal)
(helm-ff-symlink :foreground ,dracula-pro-alucard-pink :background ,dracula-pro-alucard-bg :weight bold)
(helm-grep-cmd-line :foreground ,dracula-pro-alucard-fg :background ,dracula-pro-alucard-bg)
(helm-grep-file :foreground ,dracula-pro-alucard-fg :background ,dracula-pro-alucard-bg)
(helm-grep-finish :foreground ,dracula-pro-alucard-fg2 :background ,dracula-pro-alucard-bg)
(helm-grep-lineno :foreground ,dracula-pro-alucard-fg :background ,dracula-pro-alucard-bg)
(helm-grep-match :foreground nil :background nil :inherit helm-match)
(helm-grep-running :foreground ,dracula-pro-alucard-green :background ,dracula-pro-alucard-bg)
(helm-header :foreground ,dracula-pro-alucard-fg2 :background ,dracula-pro-alucard-bg :underline nil :box nil)
(helm-moccur-buffer :foreground ,dracula-pro-alucard-green :background ,dracula-pro-alucard-bg)
(helm-selection :background ,dracula-pro-alucard-bg2 :underline nil)
(helm-selection-line :background ,dracula-pro-alucard-bg2)
(helm-separator :foreground ,dracula-pro-alucard-purple :background ,dracula-pro-alucard-bg)
(helm-source-go-package-godoc-description :foreground ,dracula-pro-alucard-yellow)
(helm-source-header :foreground ,dracula-pro-alucard-pink :background ,dracula-pro-alucard-bg :underline nil :weight bold)
(helm-time-zone-current :foreground ,dracula-pro-alucard-orange :background ,dracula-pro-alucard-bg)
(helm-time-zone-home :foreground ,dracula-pro-alucard-purple :background ,dracula-pro-alucard-bg)
(helm-visible-mark :foreground ,dracula-pro-alucard-bg :background ,dracula-pro-alucard-bg3)
;; highlight-indentation minor mode
(highlight-indentation-face :background ,dracula-pro-alucard-bg2)
;; icicle
(icicle-whitespace-highlight :background ,dracula-pro-alucard-fg)
(icicle-special-candidate :foreground ,dracula-pro-alucard-fg2)
(icicle-extra-candidate :foreground ,dracula-pro-alucard-fg2)
(icicle-search-main-regexp-others :foreground ,dracula-pro-alucard-fg)
(icicle-search-current-input :foreground ,dracula-pro-alucard-pink)
(icicle-search-context-level-8 :foreground ,dracula-pro-alucard-orange)
(icicle-search-context-level-7 :foreground ,dracula-pro-alucard-orange)
(icicle-search-context-level-6 :foreground ,dracula-pro-alucard-orange)
(icicle-search-context-level-5 :foreground ,dracula-pro-alucard-orange)
(icicle-search-context-level-4 :foreground ,dracula-pro-alucard-orange)
(icicle-search-context-level-3 :foreground ,dracula-pro-alucard-orange)
(icicle-search-context-level-2 :foreground ,dracula-pro-alucard-orange)
(icicle-search-context-level-1 :foreground ,dracula-pro-alucard-orange)
(icicle-search-main-regexp-current :foreground ,dracula-pro-alucard-fg)
(icicle-saved-candidate :foreground ,dracula-pro-alucard-fg)
(icicle-proxy-candidate :foreground ,dracula-pro-alucard-fg)
(icicle-mustmatch-completion :foreground ,dracula-pro-alucard-purple)
(icicle-multi-command-completion :foreground ,dracula-pro-alucard-fg2 :background ,dracula-pro-alucard-bg2)
(icicle-msg-emphasis :foreground ,dracula-pro-alucard-green)
(icicle-mode-line-help :foreground ,dracula-pro-alucard-fg4)
(icicle-match-highlight-minibuffer :foreground ,dracula-pro-alucard-orange)
(icicle-match-highlight-Completions :foreground ,dracula-pro-alucard-green)
(icicle-key-complete-menu-local :foreground ,dracula-pro-alucard-fg)
(icicle-key-complete-menu :foreground ,dracula-pro-alucard-fg)
(icicle-input-completion-fail-lax :foreground ,dracula-pro-alucard-pink)
(icicle-input-completion-fail :foreground ,dracula-pro-alucard-pink)
(icicle-historical-candidate-other :foreground ,dracula-pro-alucard-fg)
(icicle-historical-candidate :foreground ,dracula-pro-alucard-fg)
(icicle-current-candidate-highlight :foreground ,dracula-pro-alucard-orange :background ,dracula-pro-alucard-bg3)
(icicle-Completions-instruction-2 :foreground ,dracula-pro-alucard-fg4)
(icicle-Completions-instruction-1 :foreground ,dracula-pro-alucard-fg4)
(icicle-completion :foreground ,dracula-pro-alucard-fg)
(icicle-complete-input :foreground ,dracula-pro-alucard-orange)
(icicle-common-match-highlight-Completions :foreground ,dracula-pro-alucard-purple)
(icicle-candidate-part :foreground ,dracula-pro-alucard-fg)
(icicle-annotation :foreground ,dracula-pro-alucard-fg4)
;; icomplete
(icompletep-determined :foreground ,dracula-pro-alucard-orange)
;; ido
(ido-first-match
,@(if dracula-pro-alucard-alternate-mode-line-and-minibuffer
(list :weight 'normal :foreground dracula-pro-alucard-green)
(list :weight 'bold :foreground dracula-pro-alucard-pink)))
(ido-only-match :foreground ,dracula-pro-alucard-orange)
(ido-subdir :foreground ,dracula-pro-alucard-yellow)
(ido-virtual :foreground ,dracula-pro-alucard-cyan)
(ido-incomplete-regexp :inherit font-lock-warning-face)
(ido-indicator :foreground ,dracula-pro-alucard-fg :background ,dracula-pro-alucard-pink)
;; isearch
(isearch :inherit match :weight bold)
(isearch-fail :foreground ,dracula-pro-alucard-bg :background ,dracula-pro-alucard-orange)
;; jde-java
(jde-java-font-lock-constant-face :foreground ,dracula-pro-alucard-cyan)
(jde-java-font-lock-modifier-face :foreground ,dracula-pro-alucard-pink)
(jde-java-font-lock-number-face :foreground ,dracula-pro-alucard-fg)
(jde-java-font-lock-package-face :foreground ,dracula-pro-alucard-fg)
(jde-java-font-lock-private-face :foreground ,dracula-pro-alucard-pink)
(jde-java-font-lock-public-face :foreground ,dracula-pro-alucard-pink)
;; js2-mode
(js2-external-variable :foreground ,dracula-pro-alucard-purple)
(js2-function-param :foreground ,dracula-pro-alucard-cyan)
(js2-jsdoc-html-tag-delimiter :foreground ,dracula-pro-alucard-yellow)
(js2-jsdoc-html-tag-name :foreground ,dracula-pro-alucard-alt-blue)
(js2-jsdoc-value :foreground ,dracula-pro-alucard-yellow)
(js2-private-function-call :foreground ,dracula-pro-alucard-cyan)
(js2-private-member :foreground ,dracula-pro-alucard-fg3)
;; js3-mode
(js3-error-face :underline ,dracula-pro-alucard-orange)
(js3-external-variable-face :foreground ,dracula-pro-alucard-fg)
(js3-function-param-face :foreground ,dracula-pro-alucard-pink)
(js3-instance-member-face :foreground ,dracula-pro-alucard-cyan)
(js3-jsdoc-tag-face :foreground ,dracula-pro-alucard-pink)
(js3-warning-face :underline ,dracula-pro-alucard-pink)
;; magit
(magit-branch-local :foreground ,dracula-pro-alucard-cyan)
(magit-branch-remote :foreground ,dracula-pro-alucard-green)
(magit-tag :foreground ,dracula-pro-alucard-orange)
(magit-section-heading :foreground ,dracula-pro-alucard-pink :weight bold)
(magit-section-highlight :background ,dracula-pro-alucard-bg3 :extend t)
(magit-diff-context-highlight :background ,dracula-pro-alucard-bg3
:foreground ,dracula-pro-alucard-fg3
:extend t)
(magit-diff-revision-summary :foreground ,dracula-pro-alucard-orange
:background ,dracula-pro-alucard-bg
:weight bold)
(magit-diff-revision-summary-highlight :foreground ,dracula-pro-alucard-orange
:background ,dracula-pro-alucard-bg3
:weight bold
:extend t)
;; the four following lines are just a patch of the
;; upstream color to add the extend keyword.
(magit-diff-added :background "#335533"
:foreground "#ddffdd"
:extend t)
(magit-diff-added-highlight :background "#336633"
:foreground "#cceecc"
:extend t)
(magit-diff-removed :background "#553333"
:foreground "#ffdddd"
:extend t)
(magit-diff-removed-highlight :background "#663333"
:foreground "#eecccc"
:extend t)
(magit-diff-file-heading :foreground ,dracula-pro-alucard-fg)
(magit-diff-file-heading-highlight :inherit magit-section-highlight)
(magit-diffstat-added :foreground ,dracula-pro-alucard-green)
(magit-diffstat-removed :foreground ,dracula-pro-alucard-red)
(magit-hash :foreground ,dracula-pro-alucard-fg2)
(magit-hunk-heading :background ,dracula-pro-alucard-bg3)
(magit-hunk-heading-highlight :background ,dracula-pro-alucard-bg3)
(magit-item-highlight :background ,dracula-pro-alucard-bg3)
(magit-log-author :foreground ,dracula-pro-alucard-fg3)
(magit-process-ng :foreground ,dracula-pro-alucard-orange :weight bold)
(magit-process-ok :foreground ,dracula-pro-alucard-green :weight bold)
;; markdown
(markdown-blockquote-face :foreground ,dracula-pro-alucard-orange)
(markdown-code-face :foreground ,dracula-pro-alucard-orange)
(markdown-footnote-face :foreground ,dracula-pro-alucard-alt-blue)
(markdown-header-face :weight normal)
(markdown-header-face-1
:inherit bold :foreground ,dracula-pro-alucard-pink
,@(when dracula-pro-alucard-enlarge-headings
(list :height dracula-pro-alucard-height-title-1)))
(markdown-header-face-2
:inherit bold :foreground ,dracula-pro-alucard-purple
,@(when dracula-pro-alucard-enlarge-headings
(list :height dracula-pro-alucard-height-title-2)))
(markdown-header-face-3
:foreground ,dracula-pro-alucard-green
,@(when dracula-pro-alucard-enlarge-headings
(list :height dracula-pro-alucard-height-title-3)))
(markdown-header-face-4 :foreground ,dracula-pro-alucard-yellow)
(markdown-header-face-5 :foreground ,dracula-pro-alucard-cyan)
(markdown-header-face-6 :foreground ,dracula-pro-alucard-orange)
(markdown-header-face-7 :foreground ,dracula-pro-alucard-alt-blue)
(markdown-header-face-8 :foreground ,dracula-pro-alucard-fg)
(markdown-inline-code-face :foreground ,dracula-pro-alucard-yellow)
(markdown-plain-url-face :inherit link)
(markdown-pre-face :foreground ,dracula-pro-alucard-orange)
(markdown-table-face :foreground ,dracula-pro-alucard-purple)
;; message
(message-mml :foreground ,dracula-pro-alucard-green :weight normal)
(message-header-xheader :foreground ,dracula-pro-alucard-cyan :weight normal)
;; mode-line
(mode-line :background ,dracula-pro-alucard-current
:box ,dracula-pro-alucard-current :inverse-video nil
,@(if dracula-pro-alucard-alternate-mode-line-and-minibuffer
(list :foreground dracula-pro-alucard-fg3)
(list :foreground nil)))
(mode-line-inactive
:inverse-video nil
,@(if dracula-pro-alucard-alternate-mode-line-and-minibuffer
(list :foreground dracula-pro-alucard-comment :background dracula-pro-alucard-bg
:box dracula-pro-alucard-bg)
(list :foreground dracula-pro-alucard-fg :background dracula-pro-alucard-bg2 :box dracula-pro-alucard-bg2)))
;; mu4e
(mu4e-unread-face :foreground ,dracula-pro-alucard-pink :weight normal)
(mu4e-view-url-number-face :foreground ,dracula-pro-alucard-purple)
(mu4e-highlight-face :background ,dracula-pro-alucard-bg
:foreground ,dracula-pro-alucard-yellow
:extend t)
(mu4e-header-highlight-face :background ,dracula-pro-alucard-current
:foreground ,dracula-pro-alucard-fg
:underline nil :weight bold
:extend t)
(mu4e-header-key-face :inherit message-mml)
(mu4e-header-marks-face :foreground ,dracula-pro-alucard-purple)
(mu4e-cited-1-face :foreground ,dracula-pro-alucard-purple)
(mu4e-cited-2-face :foreground ,dracula-pro-alucard-orange)
(mu4e-cited-3-face :foreground ,dracula-pro-alucard-comment)
(mu4e-cited-4-face :foreground ,dracula-pro-alucard-fg2)
(mu4e-cited-5-face :foreground ,dracula-pro-alucard-fg3)
;; org
(org-agenda-date :foreground ,dracula-pro-alucard-cyan :underline nil)
(org-agenda-dimmed-todo-face :foreground ,dracula-pro-alucard-comment)
(org-agenda-done :foreground ,dracula-pro-alucard-green)
(org-agenda-structure :foreground ,dracula-pro-alucard-purple)
(org-block :foreground ,dracula-pro-alucard-orange)
(org-code :foreground ,dracula-pro-alucard-yellow)
(org-column :background ,dracula-pro-alucard-bg4)
(org-column-title :inherit org-column :weight bold :underline t)
(org-date :foreground ,dracula-pro-alucard-cyan :underline t)
(org-document-info :foreground ,dracula-pro-alucard-alt-blue)
(org-document-info-keyword :foreground ,dracula-pro-alucard-comment)
(org-document-title :weight bold :foreground ,dracula-pro-alucard-orange
,@(when dracula-pro-alucard-enlarge-headings
(list :height dracula-pro-alucard-height-doc-title)))
(org-done :foreground ,dracula-pro-alucard-green)
(org-ellipsis :foreground ,dracula-pro-alucard-comment)
(org-footnote :foreground ,dracula-pro-alucard-alt-blue)
(org-formula :foreground ,dracula-pro-alucard-pink)
(org-headline-done :foreground ,dracula-pro-alucard-comment
:weight normal :strike-through t)
(org-hide :foreground ,dracula-pro-alucard-bg :background ,dracula-pro-alucard-bg)
(org-level-1 :inherit bold :foreground ,dracula-pro-alucard-pink
,@(when dracula-pro-alucard-enlarge-headings
(list :height dracula-pro-alucard-height-title-1)))
(org-level-2 :inherit bold :foreground ,dracula-pro-alucard-purple
,@(when dracula-pro-alucard-enlarge-headings
(list :height dracula-pro-alucard-height-title-2)))
(org-level-3 :weight normal :foreground ,dracula-pro-alucard-green
,@(when dracula-pro-alucard-enlarge-headings
(list :height dracula-pro-alucard-height-title-3)))
(org-level-4 :weight normal :foreground ,dracula-pro-alucard-yellow)
(org-level-5 :weight normal :foreground ,dracula-pro-alucard-cyan)
(org-level-6 :weight normal :foreground ,dracula-pro-alucard-orange)
(org-level-7 :weight normal :foreground ,dracula-pro-alucard-alt-blue)
(org-level-8 :weight normal :foreground ,dracula-pro-alucard-fg)
(org-link :foreground ,dracula-pro-alucard-cyan :underline t)
(org-priority :foreground ,dracula-pro-alucard-cyan)
(org-scheduled :foreground ,dracula-pro-alucard-green)
(org-scheduled-previously :foreground ,dracula-pro-alucard-yellow)
(org-scheduled-today :foreground ,dracula-pro-alucard-green)
(org-sexp-date :foreground ,dracula-pro-alucard-fg4)
(org-special-keyword :foreground ,dracula-pro-alucard-yellow)
(org-table :foreground ,dracula-pro-alucard-purple)
(org-tag :foreground ,dracula-pro-alucard-pink :weight bold :background ,dracula-pro-alucard-bg2)
(org-todo :foreground ,dracula-pro-alucard-orange :weight bold :background ,dracula-pro-alucard-bg2)
(org-upcoming-deadline :foreground ,dracula-pro-alucard-yellow)
(org-warning :weight bold :foreground ,dracula-pro-alucard-pink)
;; outline
(outline-1 :foreground ,dracula-pro-alucard-pink)
(outline-2 :foreground ,dracula-pro-alucard-purple)
(outline-3 :foreground ,dracula-pro-alucard-green)
(outline-4 :foreground ,dracula-pro-alucard-yellow)
(outline-5 :foreground ,dracula-pro-alucard-cyan)
(outline-6 :foreground ,dracula-pro-alucard-orange)
;; powerline
(powerline-evil-base-face :foreground ,dracula-pro-alucard-bg2)
(powerline-evil-emacs-face :inherit powerline-evil-base-face :background ,dracula-pro-alucard-yellow)
(powerline-evil-insert-face :inherit powerline-evil-base-face :background ,dracula-pro-alucard-cyan)
(powerline-evil-motion-face :inherit powerline-evil-base-face :background ,dracula-pro-alucard-purple)
(powerline-evil-normal-face :inherit powerline-evil-base-face :background ,dracula-pro-alucard-green)
(powerline-evil-operator-face :inherit powerline-evil-base-face :background ,dracula-pro-alucard-pink)
(powerline-evil-replace-face :inherit powerline-evil-base-face :background ,dracula-pro-alucard-red)
(powerline-evil-visual-face :inherit powerline-evil-base-face :background ,dracula-pro-alucard-orange)
;; rainbow-delimiters
(rainbow-delimiters-depth-1-face :foreground ,dracula-pro-alucard-fg)
(rainbow-delimiters-depth-2-face :foreground ,dracula-pro-alucard-cyan)
(rainbow-delimiters-depth-3-face :foreground ,dracula-pro-alucard-purple)
(rainbow-delimiters-depth-4-face :foreground ,dracula-pro-alucard-pink)
(rainbow-delimiters-depth-5-face :foreground ,dracula-pro-alucard-orange)
(rainbow-delimiters-depth-6-face :foreground ,dracula-pro-alucard-green)
(rainbow-delimiters-depth-7-face :foreground ,dracula-pro-alucard-yellow)
(rainbow-delimiters-depth-8-face :foreground ,dracula-pro-alucard-alt-blue)
(rainbow-delimiters-unmatched-face :foreground ,dracula-pro-alucard-orange)
;; rpm-spec
(rpm-spec-dir-face :foreground ,dracula-pro-alucard-green)
(rpm-spec-doc-face :foreground ,dracula-pro-alucard-pink)
(rpm-spec-ghost-face :foreground ,dracula-pro-alucard-purple)
(rpm-spec-macro-face :foreground ,dracula-pro-alucard-yellow)
(rpm-spec-obsolete-tag-face :inherit font-lock-warning-face)
(rpm-spec-package-face :foreground ,dracula-pro-alucard-purple)
(rpm-spec-section-face :foreground ,dracula-pro-alucard-yellow)
(rpm-spec-tag-face :foreground ,dracula-pro-alucard-cyan)
(rpm-spec-var-face :foreground ,dracula-pro-alucard-orange)
;; show-paren
(show-paren-match-face :background unspecified
:foreground ,dracula-pro-alucard-cyan
:weight bold)
(show-paren-match :background unspecified
:foreground ,dracula-pro-alucard-cyan
:weight bold)
(show-paren-match-expression :inherit match)
(show-paren-mismatch :inherit font-lock-warning-face)
;; slime
(slime-repl-inputed-output-face :foreground ,dracula-pro-alucard-purple)
;; spam
(spam :inherit gnus-summary-normal-read :foreground ,dracula-pro-alucard-orange
:strike-through t :slant oblique)
;; tab-bar & tab-line (since Emacs 27.1)
(tab-bar :foreground ,dracula-pro-alucard-purple :background ,dracula-pro-alucard-current
:inherit variable-pitch)
(tab-bar-tab :foreground ,dracula-pro-alucard-pink :background ,dracula-pro-alucard-bg
:box (:line-width 2 :color ,dracula-pro-alucard-bg :style nil))
(tab-bar-tab-inactive :foreground ,dracula-pro-alucard-purple :background ,dracula-pro-alucard-bg2
:box (:line-width 2 :color ,dracula-pro-alucard-bg2 :style nil))
(tab-line :foreground ,dracula-pro-alucard-purple :background ,dracula-pro-alucard-current
:height 0.9 :inherit variable-pitch)
(tab-line-tab :foreground ,dracula-pro-alucard-pink :background ,dracula-pro-alucard-bg
:box (:line-width 2 :color ,dracula-pro-alucard-bg :style nil))
(tab-line-tab-inactive :foreground ,dracula-pro-alucard-purple :background ,dracula-pro-alucard-bg2
:box (:line-width 2 :color ,dracula-pro-alucard-bg2 :style nil))
(tab-line-tab-current :inherit tab-line-tab)
(tab-line-close-highlight :foreground ,dracula-pro-alucard-red)
;; term
(term :foreground ,dracula-pro-alucard-fg :background ,dracula-pro-alucard-bg)
(term-color-black :foreground ,dracula-pro-alucard-bg :background ,dracula-pro-alucard-bg)
(term-color-blue :foreground ,dracula-pro-alucard-purple :background ,dracula-pro-alucard-purple)
(term-color-cyan :foreground ,dracula-pro-alucard-cyan :background ,dracula-pro-alucard-cyan)
(term-color-green :foreground ,dracula-pro-alucard-green :background ,dracula-pro-alucard-green)
(term-color-magenta :foreground ,dracula-pro-alucard-pink :background ,dracula-pro-alucard-pink)
(term-color-red :foreground ,dracula-pro-alucard-red :background ,dracula-pro-alucard-red)
(term-color-white :foreground ,dracula-pro-alucard-fg :background ,dracula-pro-alucard-fg)
(term-color-yellow :foreground ,dracula-pro-alucard-yellow :background ,dracula-pro-alucard-yellow)
;; undo-tree
(undo-tree-visualizer-current-face :foreground ,dracula-pro-alucard-orange)
(undo-tree-visualizer-default-face :foreground ,dracula-pro-alucard-fg2)
(undo-tree-visualizer-register-face :foreground ,dracula-pro-alucard-purple)
(undo-tree-visualizer-unmodified-face :foreground ,dracula-pro-alucard-fg)
;; web-mode
(web-mode-builtin-face :inherit ,font-lock-builtin-face)
(web-mode-comment-face :inherit ,font-lock-comment-face)
(web-mode-constant-face :inherit ,font-lock-constant-face)
(web-mode-doctype-face :inherit ,font-lock-comment-face)
(web-mode-function-name-face :inherit ,font-lock-function-name-face)
(web-mode-html-attr-name-face :foreground ,dracula-pro-alucard-purple)
(web-mode-html-attr-value-face :foreground ,dracula-pro-alucard-green)
(web-mode-html-tag-face :foreground ,dracula-pro-alucard-pink :weight bold)
(web-mode-keyword-face :foreground ,dracula-pro-alucard-pink)
(web-mode-string-face :foreground ,dracula-pro-alucard-yellow)
(web-mode-type-face :inherit ,font-lock-type-face)
(web-mode-warning-face :inherit ,font-lock-warning-face)
;; which-func
(which-func :inherit ,font-lock-function-name-face)
;; whitespace
(whitespace-big-indent :background ,dracula-pro-alucard-red :foreground ,dracula-pro-alucard-red)
(whitespace-empty :background ,dracula-pro-alucard-orange :foreground ,dracula-pro-alucard-red)
(whitespace-hspace :background ,dracula-pro-alucard-bg3 :foreground ,dracula-pro-alucard-comment)
(whitespace-indentation :background ,dracula-pro-alucard-orange :foreground ,dracula-pro-alucard-red)
(whitespace-line :background ,dracula-pro-alucard-bg :foreground ,dracula-pro-alucard-pink)
(whitespace-newline :foreground ,dracula-pro-alucard-comment)
(whitespace-space :background ,dracula-pro-alucard-bg :foreground ,dracula-pro-alucard-comment)
(whitespace-space-after-tab :background ,dracula-pro-alucard-orange :foreground ,dracula-pro-alucard-red)
(whitespace-space-before-tab :background ,dracula-pro-alucard-orange :foreground ,dracula-pro-alucard-red)
(whitespace-tab :background ,dracula-pro-alucard-bg2 :foreground ,dracula-pro-alucard-comment)
(whitespace-trailing :inherit trailing-whitespace)
;; yard-mode
(yard-tag-face :inherit ,font-lock-builtin-face)
(yard-directive-face :inherit ,font-lock-builtin-face))))
(apply #'custom-theme-set-faces
'dracula-pro-alucard
(let ((color-names (mapcar #'car colors))
(graphic-colors (mapcar #'cadr colors))
(term-colors (mapcar #'car (mapcar #'cddr colors)))
(tty-colors (mapcar #'car (mapcar #'last colors)))
(expand-for-kind (lambda (kind spec)
(cl-progv color-names kind
(eval `(backquote ,spec))))))
(cl-loop for (face . spec) in faces
collect `(,face
((((min-colors 16777216)) ; fully graphical envs
,(funcall expand-for-kind graphic-colors spec))
(((min-colors 256)) ; terminal withs 256 colors
,(funcall expand-for-kind term-colors spec))
(t ; should be only tty-like envs
,(funcall expand-for-kind tty-colors spec))))))))
;;;###autoload
(when load-file-name
(add-to-list 'custom-theme-load-path
(file-name-as-directory (file-name-directory load-file-name))))
(provide-theme 'dracula-pro-alucard)
;; Local Variables:
;; no-byte-compile: t
;; indent-tabs-mode: nil
;; End:
;;; dracula-pro-alucard-theme.el ends here