ruby_learner 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (188) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.rspec +3 -0
  4. data/.travis.yml +5 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +6 -0
  7. data/Gemfile.lock +58 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +65 -0
  10. data/Rakefile +6 -0
  11. data/bin/console +14 -0
  12. data/bin/new_terminal +25 -0
  13. data/bin/setup +8 -0
  14. data/docs/happy_ruby/RussOlsen_EloquentRuby_c1.pdf +0 -0
  15. data/docs/happy_ruby/RussOlsen_EloquentRuby_c5.pdf +0 -0
  16. data/docs/happy_ruby/TanoshiiRuby_v3_c23.pdf +0 -0
  17. data/docs/happy_ruby/TanoshiiRuby_v5_c1.pdf +0 -0
  18. data/docs/happy_ruby/TanoshiiRuby_v5_c2-3.pdf +0 -0
  19. data/docs/happy_ruby/c2.ipynb +479 -0
  20. data/docs/happy_ruby/c3_4.ipynb +237 -0
  21. data/docs/seminar/8-1.org +18 -0
  22. data/exe/ruby_learner +5 -0
  23. data/lib/ruby_learner/h.rb +14 -0
  24. data/lib/ruby_learner/methods.rb +131 -0
  25. data/lib/ruby_learner/random_h.rb +16 -0
  26. data/lib/ruby_learner/ruby_learner.rb +43 -0
  27. data/lib/ruby_learner/sequential_h.rb +15 -0
  28. data/lib/ruby_learner/typing_practice.rb +21 -0
  29. data/lib/ruby_learner/version.rb +3 -0
  30. data/questions/random_check/.rspec +1 -0
  31. data/questions/random_check/random_h.rb +16 -0
  32. data/questions/random_check/section_1/.rspec +1 -0
  33. data/questions/random_check/section_1/lib/answer.rb +15 -0
  34. data/questions/random_check/section_1/lib/sentence.org +9 -0
  35. data/questions/random_check/section_1/lib/workplace.rb +5 -0
  36. data/questions/random_check/section_1/spec/spec_helper.rb +100 -0
  37. data/questions/random_check/section_1/spec/workplace_spec.rb +10 -0
  38. data/questions/random_check/section_2/.rspec +1 -0
  39. data/questions/random_check/section_2/lib/answer.rb +17 -0
  40. data/questions/random_check/section_2/lib/sentence.org +12 -0
  41. data/questions/random_check/section_2/lib/workplace.rb +5 -0
  42. data/questions/random_check/section_2/spec/.rspec +1 -0
  43. data/questions/random_check/section_2/spec/spec_helper.rb +100 -0
  44. data/questions/random_check/section_2/spec/workplace_spec.rb +11 -0
  45. data/questions/sequential_check/section_1/part_1/lib/answer.rb +9 -0
  46. data/questions/sequential_check/section_1/part_1/lib/sentence.org +9 -0
  47. data/questions/sequential_check/section_1/part_1/lib/workplace.rb +5 -0
  48. data/questions/sequential_check/section_1/part_1/spec/spec_helper.rb +100 -0
  49. data/questions/sequential_check/section_1/part_1/spec/workplace_spec.rb +10 -0
  50. data/questions/sequential_check/section_1/part_2/lib/answer.rb +16 -0
  51. data/questions/sequential_check/section_1/part_2/lib/sentence.org +12 -0
  52. data/questions/sequential_check/section_1/part_2/lib/workplace.rb +5 -0
  53. data/questions/sequential_check/section_1/part_2/spec/.rspec +1 -0
  54. data/questions/sequential_check/section_1/part_2/spec/spec_helper.rb +100 -0
  55. data/questions/sequential_check/section_1/part_2/spec/workplace_spec.rb +11 -0
  56. data/ruby_learner.gemspec +41 -0
  57. data/takahashi/docs/README.org +139 -0
  58. data/takahashi/docs/drill.html +875 -0
  59. data/takahashi/docs/drill.html~ +877 -0
  60. data/takahashi/docs/drill.org +446 -0
  61. data/takahashi/docs/ruby_for_beginner.html +2642 -0
  62. data/takahashi/docs/ruby_for_beginner.org +1430 -0
  63. data/takahashi/sample_prog/answer/10_1.rb +5 -0
  64. data/takahashi/sample_prog/answer/11_1.rb +5 -0
  65. data/takahashi/sample_prog/answer/11_2.rb +4 -0
  66. data/takahashi/sample_prog/answer/1_1.rb +1 -0
  67. data/takahashi/sample_prog/answer/1_2.rb +1 -0
  68. data/takahashi/sample_prog/answer/1_3.rb +1 -0
  69. data/takahashi/sample_prog/answer/2_1.rb +5 -0
  70. data/takahashi/sample_prog/answer/2_2.rb +12 -0
  71. data/takahashi/sample_prog/answer/3_1.rb +10 -0
  72. data/takahashi/sample_prog/answer/4_1.rb +7 -0
  73. data/takahashi/sample_prog/answer/5_1.rb +6 -0
  74. data/takahashi/sample_prog/answer/5_2.rb +3 -0
  75. data/takahashi/sample_prog/answer/6_1.rb +3 -0
  76. data/takahashi/sample_prog/answer/6_2.rb +5 -0
  77. data/takahashi/sample_prog/answer/6_3.rb +5 -0
  78. data/takahashi/sample_prog/answer/6_4.rb +7 -0
  79. data/takahashi/sample_prog/answer/7_1.rb +3 -0
  80. data/takahashi/sample_prog/answer/7_2.rb +8 -0
  81. data/takahashi/sample_prog/answer/9_1.rb +3 -0
  82. data/takahashi/sample_prog/answer/9_2.rb +5 -0
  83. data/takahashi/sample_prog/answer/9_3.rb +10 -0
  84. data/takahashi/sample_prog/answer/hello.rb +3 -0
  85. data/workshop/.rspec +1 -0
  86. data/workshop/emacs.d/ac-comphist.dat +50 -0
  87. data/workshop/emacs.d/cp5022x.el +156 -0
  88. data/workshop/emacs.d/elpa/archives/gnu/archive-contents +1240 -0
  89. data/workshop/emacs.d/elpa/archives/melpa/archive-contents +2 -0
  90. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete-autoloads.el +65 -0
  91. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete-config.el +551 -0
  92. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete-config.elc +0 -0
  93. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete-pkg.el +6 -0
  94. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete.el +2164 -0
  95. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/auto-complete.elc +0 -0
  96. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/ada-mode +72 -0
  97. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/c++-mode +99 -0
  98. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/c-mode +55 -0
  99. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/caml-mode +231 -0
  100. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/clojure-mode +580 -0
  101. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/clojurescript-mode +475 -0
  102. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/coq-mode +278 -0
  103. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/css-mode +874 -0
  104. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/erlang-mode +216 -0
  105. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/ess-julia-mode +37 -0
  106. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/go-mode +25 -0
  107. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/haskell-mode +679 -0
  108. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/java-mode +53 -0
  109. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/js-mode +148 -0
  110. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/julia-mode +37 -0
  111. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/lua-mode +21 -0
  112. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/nim-mode +70 -0
  113. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/objc-mode +161 -0
  114. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/octave-mode +46 -0
  115. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/php-mode +6144 -0
  116. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/python-mode +379 -0
  117. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/qml-mode +183 -0
  118. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/ruby-mode +181 -0
  119. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/scala-mode +1347 -0
  120. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/scheme-mode +216 -0
  121. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/sclang-mode +1481 -0
  122. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/sh-mode +182 -0
  123. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/swift-mode +87 -0
  124. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/tcl-mode +172 -0
  125. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/ts-mode +797 -0
  126. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/tuareg-mode +231 -0
  127. data/workshop/emacs.d/elpa/auto-complete-20170124.1845/dict/verilog-mode +313 -0
  128. data/workshop/emacs.d/elpa/better-defaults-20170613.2104/better-defaults-autoloads.el +16 -0
  129. data/workshop/emacs.d/elpa/better-defaults-20170613.2104/better-defaults-pkg.el +2 -0
  130. data/workshop/emacs.d/elpa/better-defaults-20170613.2104/better-defaults.el +90 -0
  131. data/workshop/emacs.d/elpa/better-defaults-20170613.2104/better-defaults.elc +0 -0
  132. data/workshop/emacs.d/elpa/haml-mode-20170923.2153/haml-mode-autoloads.el +26 -0
  133. data/workshop/emacs.d/elpa/haml-mode-20170923.2153/haml-mode-pkg.el +2 -0
  134. data/workshop/emacs.d/elpa/haml-mode-20170923.2153/haml-mode.el +877 -0
  135. data/workshop/emacs.d/elpa/haml-mode-20170923.2153/haml-mode.elc +0 -0
  136. data/workshop/emacs.d/elpa/haml-mode-readme.txt +8 -0
  137. data/workshop/emacs.d/elpa/material-theme-20171123.1040/material-light-theme.el +918 -0
  138. data/workshop/emacs.d/elpa/material-theme-20171123.1040/material-light-theme.elc +0 -0
  139. data/workshop/emacs.d/elpa/material-theme-20171123.1040/material-theme-autoloads.el +32 -0
  140. data/workshop/emacs.d/elpa/material-theme-20171123.1040/material-theme-pkg.el +8 -0
  141. data/workshop/emacs.d/elpa/material-theme-20171123.1040/material-theme.el +912 -0
  142. data/workshop/emacs.d/elpa/material-theme-20171123.1040/material-theme.elc +0 -0
  143. data/workshop/emacs.d/elpa/ox-bibtex-chinese-readme.txt +21 -0
  144. data/workshop/emacs.d/elpa/popup-20160709.729/popup-autoloads.el +15 -0
  145. data/workshop/emacs.d/elpa/popup-20160709.729/popup-pkg.el +2 -0
  146. data/workshop/emacs.d/elpa/popup-20160709.729/popup.el +1432 -0
  147. data/workshop/emacs.d/elpa/popup-20160709.729/popup.elc +0 -0
  148. data/workshop/emacs.d/elpa/yaml-mode-20180212.1556/yaml-mode-autoloads.el +33 -0
  149. data/workshop/emacs.d/elpa/yaml-mode-20180212.1556/yaml-mode-pkg.el +2 -0
  150. data/workshop/emacs.d/elpa/yaml-mode-20180212.1556/yaml-mode.el +470 -0
  151. data/workshop/emacs.d/elpa/yaml-mode-20180212.1556/yaml-mode.elc +0 -0
  152. data/workshop/emacs.d/elpa/yaml-mode-readme.txt +25 -0
  153. data/workshop/emacs.d/haml-mode-master/.gitignore +1 -0
  154. data/workshop/emacs.d/haml-mode-master/.mailmap +2 -0
  155. data/workshop/emacs.d/haml-mode-master/MIT-LICENSE +20 -0
  156. data/workshop/emacs.d/haml-mode-master/README.md +47 -0
  157. data/workshop/emacs.d/haml-mode-master/haml-mode.el +887 -0
  158. data/workshop/emacs.d/iceberg_theme.el +202 -0
  159. data/workshop/emacs.d/init-open-recentf.el +133 -0
  160. data/workshop/emacs.d/init.el +229 -0
  161. data/workshop/emacs.d/inits/line-num.el +264 -0
  162. data/workshop/emacs.d/install-elisp.el +366 -0
  163. data/workshop/emacs.d/markdown-mode/markdown-mode.el +5978 -0
  164. data/workshop/emacs.d/notes +12 -0
  165. data/workshop/emacs.d/processing-mode/processing-mode.el +275 -0
  166. data/workshop/emacs.d/recentf +31 -0
  167. data/workshop/emacs.d/ruby-mode/inf-ruby.el +416 -0
  168. data/workshop/emacs.d/ruby-mode/rdoc-mode.el +130 -0
  169. data/workshop/emacs.d/ruby-mode/ruby-electric.el +205 -0
  170. data/workshop/emacs.d/ruby-mode/ruby-mode.el +1496 -0
  171. data/workshop/emacs.d/ruby-mode/ruby-style.el +78 -0
  172. data/workshop/emacs.d/ruby-mode/rubydb2x.el +104 -0
  173. data/workshop/emacs.d/ruby-mode/rubydb3x.el +115 -0
  174. data/workshop/emacs.d/ruby_learner_init.el +244 -0
  175. data/workshop/emacs.d/themes/dracula-theme.el +431 -0
  176. data/workshop/emacs.d/themes/iceberg-theme.el +205 -0
  177. data/workshop/emacs.d/themes/my-misterioso-theme.el +109 -0
  178. data/workshop/emacs.d/themes/my-wombat-theme.el +121 -0
  179. data/workshop/emacs.d/wiki-mode/wiki.el +976 -0
  180. data/workshop/emacs_help.org +34 -0
  181. data/workshop/lib/answer.rb +1 -0
  182. data/workshop/lib/sentence.org +1 -0
  183. data/workshop/lib/workplace.rb +1 -0
  184. data/workshop/restore/empty.rb +0 -0
  185. data/workshop/spec/spec_helper.rb +100 -0
  186. data/workshop/spec/workplace_spec.rb +1 -0
  187. data/workshop/training_data.txt +3 -0
  188. metadata +343 -0
@@ -0,0 +1,431 @@
1
+ ;;; dracula-theme.el --- Dracula Theme
2
+
3
+ ;; Copyright 2015-present, All rights reserved
4
+ ;;
5
+ ;; Code licensed under the MIT license
6
+
7
+ ;; Author: film42
8
+ ;; Version: 1.3.2
9
+ ;; Package-Requires: ((emacs "24"))
10
+ ;; URL: https://github.com/dracula/emacs
11
+
12
+ ;;; Commentary:
13
+
14
+ ;; A dark color theme available for a number of editors.
15
+
16
+ ;;; Code:
17
+
18
+ (deftheme dracula)
19
+
20
+ (let ((class '((class color) (min-colors 89)))
21
+ (fg1 "#f8f8f2")
22
+ (fg2 "#e2e2dc")
23
+ (fg3 "#ccccc7")
24
+ (fg4 "#b6b6b2")
25
+ (bg1 "#282a36")
26
+ (bg2 "#373844")
27
+ (bg3 "#464752")
28
+ (bg4 "#565761")
29
+ (bg5 "#44475a")
30
+ (key2 "#0189cc")
31
+ (key3 "#ff79c6")
32
+ (builtin "#ffb86c")
33
+ (keyword "#ff79c6")
34
+ (const "#8be9fd")
35
+ (comment "#7AA4D5")
36
+ (func "#50fa7b")
37
+ (str "#f1fa8c")
38
+ (type "#bd93f9")
39
+ (var "#f8f8f2")
40
+ (warning "#ffb86c")
41
+ (rainbow-1 "#f8f8f2")
42
+ (rainbow-2 "#8be9fd")
43
+ (rainbow-3 "#bd93f9")
44
+ (rainbow-4 "#ff79c6")
45
+ (rainbow-5 "#ffb86c")
46
+ (rainbow-6 "#50fa7b")
47
+ (rainbow-7 "#f1fa8c")
48
+ (rainbow-8 "#0189cc")
49
+ (rainbow-9 "#ff5555")
50
+ (eph-verbatim "#f1fa8c")
51
+ (eph-code "#ff79c6"))
52
+
53
+ (custom-theme-set-faces
54
+ 'dracula
55
+ ;; default
56
+ `(cursor ((,class (:background ,fg3))))
57
+ `(default ((((type nil)) (:background ,"000000" :foreground ,fg1))
58
+ (,class (:background ,bg1 :foreground ,fg1))))
59
+ `(default-italic ((,class (:italic t))))
60
+ `(ffap ((,class (:foreground ,fg4))))
61
+ `(fringe ((,class (:background ,bg1 :foreground ,fg4))))
62
+ `(highlight ((,class (:foreground ,fg3 :background ,bg3))))
63
+ `(hl-line ((,class (:background ,bg5))))
64
+ `(info-quoted-name ((,class (:foreground ,builtin))))
65
+ `(info-string ((,class (:foreground ,str))))
66
+ `(lazy-highlight ((,class (:foreground ,fg2 :background ,bg3))))
67
+ `(link ((,class (:foreground ,const :underline t))))
68
+ `(linum ((,class (:slant italic :foreground ,bg4 :background ,bg1))))
69
+ `(minibuffer-prompt ((,class (:bold t :foreground ,keyword))))
70
+ `(region ((,class (:background ,str :foreground ,bg1))))
71
+ `(show-paren-match-face ((,class (:background ,warning))))
72
+ `(trailing-whitespace ((,class :foreground nil :background ,warning)))
73
+ `(vertical-border ((,class (:foreground ,bg2))))
74
+ `(warning ((,class (:foreground ,warning))))
75
+ `(whitespace-trailing ((,class :inherit trailing-whitespace)))
76
+ ;; syntax
77
+ `(font-lock-builtin-face ((,class (:foreground ,builtin))))
78
+ `(font-lock-comment-face ((,class (:foreground ,comment))))
79
+ `(font-lock-constant-face ((,class (:foreground ,const))))
80
+ `(font-lock-doc-face ((,class (:foreground ,comment))))
81
+ `(font-lock-function-name-face ((,class (:foreground ,func :bold t))))
82
+ `(font-lock-keyword-face ((,class (:bold ,class :foreground ,keyword))))
83
+ `(font-lock-negation-char-face ((,class (:foreground ,const))))
84
+ `(font-lock-reference-face ((,class (:foreground ,const))))
85
+ `(font-lock-string-face ((,class (:foreground ,str))))
86
+ `(font-lock-type-face ((,class (:foreground ,type ))))
87
+ `(font-lock-variable-name-face ((,class (:foreground ,var))))
88
+ `(font-lock-warning-face ((,class (:foreground ,warning :background ,bg2))))
89
+ ;; auto-complete
90
+ `(ac-completion-face ((,class (:underline t :foreground ,keyword))))
91
+ ;; company
92
+ `(company-echo-common ((,class (:foreground ,bg1 :background ,fg1))))
93
+ `(company-preview ((,class (:background ,bg1 :foreground ,key2))))
94
+ `(company-preview-common ((,class (:foreground ,bg2 :foreground ,fg3))))
95
+ `(company-preview-search ((,class (:foreground ,type :background ,bg1))))
96
+ `(company-scrollbar-bg ((,class (:background ,bg3))))
97
+ `(company-scrollbar-fg ((,class (:foreground ,keyword))))
98
+ `(company-template-field ((,class (:inherit region))))
99
+ `(company-tooltip ((,class (:foreground ,fg2 :background ,bg1 :bold t))))
100
+ `(company-tooltip-annotation ((,class (:foreground ,const))))
101
+ `(company-tooltip-common ((,class ( :foreground ,fg3))))
102
+ `(company-tooltip-common-selection ((,class (:foreground ,str))))
103
+ `(company-tooltip-mouse ((,class (:inherit highlight))))
104
+ `(company-tooltip-selection ((,class (:background ,bg3 :foreground ,fg3))))
105
+ ;; diff-hl
106
+ `(diff-hl-change ((,class (:foreground ,rainbow-5 :background ,rainbow-5))))
107
+ `(diff-hl-delete ((,class (:foreground ,rainbow-9 :background ,rainbow-9))))
108
+ `(diff-hl-insert ((,class (:foreground ,rainbow-6 :background ,rainbow-6))))
109
+ ;; enh-ruby
110
+ `(enh-ruby-heredoc-delimiter-face ((,class (:foreground ,str))))
111
+ `(enh-ruby-op-face ((,class (:foreground ,keyword))))
112
+ `(enh-ruby-regexp-delimiter-face ((,class (:foreground ,str))))
113
+ `(enh-ruby-string-delimiter-face ((,class (:foreground ,str))))
114
+ ;; font-latex
115
+ `(font-latex-bold-face ((,class (:foreground ,type))))
116
+ `(font-latex-italic-face ((,class (:foreground ,key3 :italic t))))
117
+ `(font-latex-match-reference-keywords ((,class (:foreground ,const))))
118
+ `(font-latex-match-variable-keywords ((,class (:foreground ,var))))
119
+ `(font-latex-string-face ((,class (:foreground ,str))))
120
+ ;; gnus-group
121
+ `(gnus-group-mail-1 ((,class (:foreground ,keyword :bold t))))
122
+ `(gnus-group-mail-1-empty ((,class (:inherit gnus-group-mail-1 :bold nil))))
123
+ `(gnus-group-mail-2 ((,class (:foreground ,const :bold t))))
124
+ `(gnus-group-mail-2-empty ((,class (:inherit gnus-group-mail-2 :bold nil))))
125
+ `(gnus-group-mail-3 ((,class (:foreground ,comment :bold t))))
126
+ `(gnus-group-mail-3-empty ((,class (:inherit gnus-group-mail-3 :bold nil))))
127
+ `(gnus-group-mail-low ((,class (:foreground ,bg5 :bold t))))
128
+ `(gnus-group-mail-low-empty ((,class (:inherit gnus-group-mail-low :bold nil))))
129
+ `(gnus-group-news-1 ((,class (:foreground ,keyword :bold t))))
130
+ `(gnus-group-news-1-empty ((,class (:inherit gnus-group-news-1 :bold nil))))
131
+ `(gnus-group-news-2 ((,class (:foreground ,const :bold t))))
132
+ `(gnus-group-news-2-empty ((,class (:inherit gnus-group-news-2 :bold nil))))
133
+ `(gnus-group-news-3 ((,class (:foreground ,comment :bold t))))
134
+ `(gnus-group-news-3-empty ((,class (:inherit gnus-group-news-3 :bold nil))))
135
+ `(gnus-group-news-4 ((,class (:inherit gnus-group-news-low))))
136
+ `(gnus-group-news-4-empty ((,class (:inherit gnus-group-news-low-empty))))
137
+ `(gnus-group-news-5 ((,class (:inherit gnus-group-news-low))))
138
+ `(gnus-group-news-5-empty ((,class (:inherit gnus-group-news-low-empty))))
139
+ `(gnus-group-news-6 ((,class (:inherit gnus-group-news-low))))
140
+ `(gnus-group-news-6-empty ((,class (:inherit gnus-group-news-low-empty))))
141
+ `(gnus-group-news-low ((,class (:foreground ,bg5 :bold t))))
142
+ `(gnus-group-news-low-empty ((,class (:inherit gnus-group-news-low :bold nil))))
143
+ `(gnus-header-content ((,class (:foreground ,keyword))))
144
+ `(gnus-header-from ((,class (:foreground ,var))))
145
+ `(gnus-header-name ((,class (:foreground ,type))))
146
+ `(gnus-header-subject ((,class (:foreground ,func :bold t))))
147
+ `(gnus-summary-markup-face ((,class (:foreground ,const))))
148
+ `(gnus-summary-normal-ancient ((,class (:inherit gnus-summary-normal-read))))
149
+ `(gnus-summary-normal-read ((,class (:foreground ,bg5 :weight normal))))
150
+ `(gnus-summary-normal-ticked ((,class (:foreground ,keyword :weight light))))
151
+ `(gnus-summary-normal-unread ((,class (:foreground ,comment :weight normal))))
152
+ `(gnus-summary-selected ((,class (:inverse-video t))))
153
+ ;; helm
154
+ `(helm-bookmark-w3m ((,class (:foreground ,type))))
155
+ `(helm-buffer-not-saved ((,class (:foreground ,type :background ,bg1))))
156
+ `(helm-buffer-process ((,class (:foreground ,builtin :background ,bg1))))
157
+ `(helm-buffer-saved-out ((,class (:foreground ,fg1 :background ,bg1))))
158
+ `(helm-buffer-size ((,class (:foreground ,fg1 :background ,bg1))))
159
+ `(helm-candidate-number ((,class (:foreground ,bg1 :background ,fg1))))
160
+ `(helm-ff-directory ((,class (:foreground ,func :background ,bg1 :weight bold))))
161
+ `(helm-ff-executable ((,class (:foreground ,key2 :background ,bg1 :weight normal))))
162
+ `(helm-ff-file ((,class (:foreground ,fg1 :background ,bg1 :weight normal))))
163
+ `(helm-ff-invalid-symlink ((,class (:foreground ,key3 :background ,bg1 :weight bold))))
164
+ `(helm-ff-prefix ((,class (:foreground ,bg1 :background ,keyword :weight normal))))
165
+ `(helm-ff-symlink ((,class (:foreground ,keyword :background ,bg1 :weight bold))))
166
+ `(helm-grep-cmd-line ((,class (:foreground ,fg1 :background ,bg1))))
167
+ `(helm-grep-file ((,class (:foreground ,fg1 :background ,bg1))))
168
+ `(helm-grep-finish ((,class (:foreground ,fg2 :background ,bg1))))
169
+ `(helm-grep-lineno ((,class (:foreground ,fg1 :background ,bg1))))
170
+ `(helm-grep-match ((,class (:foreground nil :background nil :inherit helm-match))))
171
+ `(helm-grep-running ((,class (:foreground ,func :background ,bg1))))
172
+ `(helm-header ((,class (:foreground ,fg2 :background ,bg1 :underline nil :box nil))))
173
+ `(helm-moccur-buffer ((,class (:foreground ,func :background ,bg1))))
174
+ `(helm-selection ((,class (:background ,bg2 :underline nil))))
175
+ `(helm-selection-line ((,class (:background ,bg2))))
176
+ `(helm-separator ((,class (:foreground ,type :background ,bg1))))
177
+ `(helm-source-go-package-godoc-description ((,class (:foreground ,str))))
178
+ `(helm-source-header ((,class (:foreground ,keyword :background ,bg1 :underline nil :weight bold))))
179
+ `(helm-time-zone-current ((,class (:foreground ,builtin :background ,bg1))))
180
+ `(helm-time-zone-home ((,class (:foreground ,type :background ,bg1))))
181
+ `(helm-visible-mark ((,class (:foreground ,bg1 :background ,bg3))))
182
+ ;; icomplete
183
+ `(icompletep-determined ((,class :foreground ,builtin)))
184
+ ;; ido
185
+ `(ido-first-match ((,class (:foreground ,keyword :bold t))))
186
+ `(ido-only-match ((,class (:foreground ,warning))))
187
+ `(ido-subdir ((,class (:foreground ,builtin))))
188
+ ;; isearch
189
+ `(isearch ((,class (:bold t :foreground ,warning :background ,bg3))))
190
+ `(isearch-fail ((,class (:foreground ,bg1 :background ,warning))))
191
+ ;; jde-java
192
+ `(jde-java-font-lock-constant-face ((t (:foreground ,const))))
193
+ `(jde-java-font-lock-modifier-face ((t (:foreground ,key3))))
194
+ `(jde-java-font-lock-number-face ((t (:foreground ,var))))
195
+ `(jde-java-font-lock-package-face ((t (:foreground ,var))))
196
+ `(jde-java-font-lock-private-face ((t (:foreground ,keyword))))
197
+ `(jde-java-font-lock-public-face ((t (:foreground ,keyword))))
198
+ ;; js2-mode
199
+ `(js2-external-variable ((,class (:foreground ,type ))))
200
+ `(js2-function-param ((,class (:foreground ,const))))
201
+ `(js2-jsdoc-html-tag-delimiter ((,class (:foreground ,str))))
202
+ `(js2-jsdoc-html-tag-name ((,class (:foreground ,key2))))
203
+ `(js2-jsdoc-value ((,class (:foreground ,str))))
204
+ `(js2-private-function-call ((,class (:foreground ,const))))
205
+ `(js2-private-member ((,class (:foreground ,fg3))))
206
+ ;; js3-mode
207
+ `(js3-error-face ((,class (:underline ,warning))))
208
+ `(js3-external-variable-face ((,class (:foreground ,var))))
209
+ `(js3-function-param-face ((,class (:foreground ,key3))))
210
+ `(js3-instance-member-face ((,class (:foreground ,const))))
211
+ `(js3-jsdoc-tag-face ((,class (:foreground ,keyword))))
212
+ `(js3-warning-face ((,class (:underline ,keyword))))
213
+ ;; magit
214
+ `(magit-branch ((,class (:foreground ,const :weight bold))))
215
+ `(magit-diff-context-highlight ((,class (:background ,bg3 :foreground ,fg3))))
216
+ `(magit-diff-file-header ((,class (:foreground ,fg2 :background ,bg3))))
217
+ `(magit-diffstat-added ((,class (:foreground ,type))))
218
+ `(magit-diffstat-removed ((,class (:foreground ,var))))
219
+ `(magit-hash ((,class (:foreground ,fg2))))
220
+ `(magit-hunk-heading ((,class (:background ,bg3))))
221
+ `(magit-hunk-heading-highlight ((,class (:background ,bg3))))
222
+ `(magit-item-highlight ((,class :background ,bg3)))
223
+ `(magit-log-author ((,class (:foreground ,fg3))))
224
+ `(magit-process-ng ((,class (:foreground ,warning :weight bold))))
225
+ `(magit-process-ok ((,class (:foreground ,func :weight bold))))
226
+ `(magit-section-heading ((,class (:foreground ,keyword :weight bold))))
227
+ `(magit-section-highlight ((,class (:background ,bg2))))
228
+ ;; mode-line
229
+ `(mode-line ((,class (:foreground nil :background ,bg3 :box ,bg3))))
230
+ `(mode-line-inactive ((,class (:foreground ,fg1 :background ,bg1 :box ,bg1))))
231
+ ;; mu4e
232
+ `(mu4e-cited-1-face ((,class (:foreground ,fg2))))
233
+ `(mu4e-cited-7-face ((,class (:foreground ,fg3))))
234
+ `(mu4e-header-marks-face ((,class (:foreground ,type))))
235
+ `(mu4e-view-url-number-face ((,class (:foreground ,type))))
236
+ ;; org
237
+ `(org-agenda-date ((,class (:foreground ,rainbow-2 :underline nil))))
238
+ `(org-agenda-dimmed-todo-face ((,class (:foreground ,comment))))
239
+ `(org-agenda-done ((,class (:foreground ,rainbow-6))))
240
+ `(org-agenda-structure ((,class (:foreground ,rainbow-3))))
241
+ `(org-block ((,class (:foreground ,rainbow-5))))
242
+ `(org-code ((,class (:foreground ,rainbow-7))))
243
+ `(org-column ((,class (:background ,bg4))))
244
+ `(org-column-title ((,class (:inherit org-column :weight bold :underline t))))
245
+ `(org-date ((,class (:foreground ,rainbow-2 :underline t))))
246
+ `(org-document-info ((,class (:foreground ,rainbow-8))))
247
+ `(org-document-info-keyword ((,class (:foreground ,comment))))
248
+ `(org-document-title ((,class (:weight bold :foreground ,rainbow-5 :height 1.44))))
249
+ `(org-done ((,class (:foreground ,rainbow-6))))
250
+ `(org-ellipsis ((,class (:foreground ,comment))))
251
+ `(org-footnote ((,class (:foreground ,rainbow-8))))
252
+ `(org-formula ((,class (:foreground ,rainbow-4))))
253
+ `(org-headline-done ((,class (:foreground ,comment :bold nil :strike-through t))))
254
+ `(org-hide ((,class (:foreground ,bg1 :background ,bg1))))
255
+ `(org-level-1 ((,class (:inherit bold :foreground ,rainbow-4 :height 1.3))))
256
+ `(org-level-2 ((,class (:inherit bold :foreground ,rainbow-3 :height 1.1))))
257
+ `(org-level-3 ((,class (:bold nil :foreground ,rainbow-6 :height 1.0))))
258
+ `(org-level-4 ((,class (:bold nil :foreground ,rainbow-7))))
259
+ `(org-level-5 ((,class (:bold nil :foreground ,rainbow-2))))
260
+ `(org-level-6 ((,class (:bold nil :foreground ,rainbow-5))))
261
+ `(org-level-7 ((,class (:bold nil :foreground ,rainbow-8))))
262
+ `(org-level-8 ((,class (:bold nil :foreground ,rainbow-1))))
263
+ `(org-link ((,class (:foreground ,rainbow-2 :underline t))))
264
+ `(org-priority ((,class (:foreground ,rainbow-2))))
265
+ `(org-scheduled ((,class (:foreground ,rainbow-6))))
266
+ `(org-scheduled-previously ((,class (:foreground ,rainbow-7))))
267
+ `(org-scheduled-today ((,class (:foreground ,rainbow-6))))
268
+ `(org-sexp-date ((,class (:foreground ,fg4))))
269
+ `(org-special-keyword ((,class (:foreground ,rainbow-7))))
270
+ `(org-table ((,class (:foreground ,rainbow-3))))
271
+ `(org-tag ((,class (:foreground ,rainbow-4 :bold t :background ,bg2))))
272
+ `(org-todo ((,class (:foreground ,rainbow-5 :bold t :background ,bg2))))
273
+ `(org-upcoming-deadline ((,class (:foreground ,rainbow-7))))
274
+ `(org-warning ((,class (:weight bold :foreground ,rainbow-4))))
275
+ ;; outline
276
+ `(outline-1 ((,class (:foreground ,rainbow-6))))
277
+ `(outline-2 ((,class (:foreground ,rainbow-3))))
278
+ `(outline-3 ((,class (:foreground ,rainbow-2))))
279
+ `(outline-4 ((,class (:foreground ,rainbow-5))))
280
+ `(outline-5 ((,class (:foreground ,rainbow-5))))
281
+ `(outline-6 ((,class (:foreground ,rainbow-8))))
282
+ ;; powerline
283
+ `(powerline-evil-base-face ((t (:foreground ,bg2))))
284
+ `(powerline-evil-emacs-face ((,class (:inherit powerline-evil-base-face :background ,rainbow-7))))
285
+ `(powerline-evil-insert-face ((,class (:inherit powerline-evil-base-face :background ,rainbow-2))))
286
+ `(powerline-evil-motion-face ((,class (:inherit powerline-evil-base-face :background ,rainbow-3))))
287
+ `(powerline-evil-normal-face ((,class (:inherit powerline-evil-base-face :background ,rainbow-6))))
288
+ `(powerline-evil-operator-face ((,class (:inherit powerline-evil-base-face :background ,rainbow-4))))
289
+ `(powerline-evil-replace-face ((,class (:inherit powerline-evil-base-face :background "#ff5555"))))
290
+ `(powerline-evil-visual-face ((,class (:inherit powerline-evil-base-face :background ,rainbow-5))))
291
+ ;; rainbow-delimiters
292
+ `(rainbow-delimiters-depth-1-face ((,class :foreground ,rainbow-1)))
293
+ `(rainbow-delimiters-depth-2-face ((,class :foreground ,rainbow-2)))
294
+ `(rainbow-delimiters-depth-3-face ((,class :foreground ,rainbow-3)))
295
+ `(rainbow-delimiters-depth-4-face ((,class :foreground ,rainbow-4)))
296
+ `(rainbow-delimiters-depth-5-face ((,class :foreground ,rainbow-5)))
297
+ `(rainbow-delimiters-depth-6-face ((,class :foreground ,rainbow-6)))
298
+ `(rainbow-delimiters-depth-7-face ((,class :foreground ,rainbow-7)))
299
+ `(rainbow-delimiters-depth-8-face ((,class :foreground ,rainbow-8)))
300
+ `(rainbow-delimiters-unmatched-face ((,class :foreground ,warning)))
301
+ ;; rpm-spec
302
+ `(rpm-spec-dir-face ((,class (:foreground ,rainbow-6))))
303
+ `(rpm-spec-doc-face ((,class (:foreground ,rainbow-4))))
304
+ `(rpm-spec-ghost-face ((,class (:foreground ,rainbow-3))))
305
+ `(rpm-spec-macro-face ((,class (:foreground ,rainbow-7))))
306
+ `(rpm-spec-obsolete-tag-face ((,class (:inherit font-lock-warning-face))))
307
+ `(rpm-spec-package-face ((,class (:foreground ,rainbow-3))))
308
+ `(rpm-spec-section-face ((,class (:foreground ,rainbow-7))))
309
+ `(rpm-spec-tag-face ((,class (:foreground ,rainbow-2))))
310
+ `(rpm-spec-var-face ((,class (:foreground "#a0522d"))))
311
+ ;; slime
312
+ `(slime-repl-inputed-output-face ((,class (:foreground ,type))))
313
+ ;; spam
314
+ `(spam ((,class (:inherit gnus-summary-normal-read :foreground ,warning :strike-through t :slant oblique))))
315
+ ;; term
316
+ `(term ((,class (:foreground ,fg1 :background ,bg1))))
317
+ `(term-color-black ((,class (:foreground ,bg3 :background ,bg3))))
318
+ `(term-color-blue ((,class (:foreground ,func :background ,func))))
319
+ `(term-color-cyan ((,class (:foreground ,str :background ,str))))
320
+ `(term-color-green ((,class (:foreground ,type :background ,bg3))))
321
+ `(term-color-magenta ((,class (:foreground ,builtin :background ,builtin))))
322
+ `(term-color-red ((,class (:foreground ,keyword :background ,bg3))))
323
+ `(term-color-white ((,class (:foreground ,fg2 :background ,fg2))))
324
+ `(term-color-yellow ((,class (:foreground ,var :background ,var))))
325
+ ;; undo-tree
326
+ `(undo-tree-visualizer-current-face ((,class :foreground ,builtin)))
327
+ `(undo-tree-visualizer-default-face ((,class :foreground ,fg2)))
328
+ `(undo-tree-visualizer-register-face ((,class :foreground ,type)))
329
+ `(undo-tree-visualizer-unmodified-face ((,class :foreground ,var)))
330
+ ;; web-mode
331
+ `(web-mode-builtin-face ((,class (:inherit ,font-lock-builtin-face))))
332
+ `(web-mode-comment-face ((,class (:inherit ,font-lock-comment-face))))
333
+ `(web-mode-constant-face ((,class (:inherit ,font-lock-constant-face))))
334
+ `(web-mode-doctype-face ((,class (:inherit ,font-lock-comment-face))))
335
+ `(web-mode-function-name-face ((,class (:inherit ,font-lock-function-name-face))))
336
+ `(web-mode-html-attr-name-face ((,class (:foreground ,type))))
337
+ `(web-mode-html-attr-value-face ((,class (:foreground ,func))))
338
+ `(web-mode-html-tag-face ((,class (:foreground ,keyword :bold t))))
339
+ `(web-mode-keyword-face ((,class (:foreground ,keyword))))
340
+ `(web-mode-string-face ((,class (:foreground ,str))))
341
+ `(web-mode-type-face ((,class (:inherit ,font-lock-type-face))))
342
+ `(web-mode-warning-face ((,class (:inherit ,font-lock-warning-face))))
343
+ ;; which-func
344
+ `(which-func ((,class (:inherit ,font-lock-function-name-face))))
345
+ `(dired-directory ((,class (:foreground ,func :weight normal))))
346
+ `(dired-flagged ((,class (:foreground ,keyword))))
347
+ `(dired-header ((,class (:foreground ,fg3 :background ,bg1))))
348
+ `(dired-ignored ((,class (:inherit shadow))))
349
+ `(dired-mark ((,class (:foreground ,var :weight bold))))
350
+ `(dired-marked ((,class (:foreground ,builtin :weight bold))))
351
+ `(dired-perm-write ((,class (:foreground ,fg3 :underline t))))
352
+ `(dired-symlink ((,class (:foreground ,str :weight normal :slant italic))))
353
+ `(dired-warning ((,class (:foreground ,warning :underline t))))
354
+ `(diredp-compressed-file-name ((,class (:foreground ,fg3))))
355
+ `(diredp-compressed-file-suffix ((,class (:foreground ,fg4))))
356
+ `(diredp-date-time ((,class (:foreground ,var))))
357
+ `(diredp-deletion-file-name ((,class (:foreground ,keyword :background ,bg5))))
358
+ `(diredp-deletion ((,class (:foreground ,keyword :weight bold))))
359
+ `(diredp-dir-heading ((,class (:foreground ,fg2 :background ,bg4))))
360
+ `(diredp-dir-name ((,class (:inherit dired-directory))))
361
+ `(diredp-dir-priv ((,class (:inherit dired-directory))))
362
+ `(diredp-executable-tag ((,class (:foreground ,builtin))))
363
+ `(diredp-file-name ((,class (:foreground ,fg1))))
364
+ `(diredp-file-suffix ((,class (:foreground ,fg4))))
365
+ `(diredp-flag-mark-line ((,class (:foreground ,fg2 :slant italic :background ,bg5))))
366
+ `(diredp-flag-mark ((,class (:foreground ,fg2 :weight bold :background ,bg5))))
367
+ `(diredp-ignored-file-name ((,class (:foreground ,fg1))))
368
+ `(diredp-mode-line-flagged ((,class (:foreground ,warning))))
369
+ `(diredp-mode-line-marked ((,class (:foreground ,warning))))
370
+ `(diredp-no-priv ((,class (:foreground ,fg1))))
371
+ `(diredp-number ((,class (:foreground ,const))))
372
+ `(diredp-other-priv ((,class (:foreground ,builtin))))
373
+ `(diredp-rare-priv ((,class (:foreground ,builtin))))
374
+ `(diredp-read-priv ((,class (:foreground ,type))))
375
+ `(diredp-write-priv ((,class (:foreground ,keyword))))
376
+ `(diredp-exec-priv ((,class (:foreground ,str))))
377
+ `(diredp-symlink ((,class (:foreground ,warning))))
378
+ `(diredp-link-priv ((,class (:foreground ,warning))))
379
+ `(diredp-autofile-name ((,class (:foreground ,str))))
380
+ `(diredp-tagged-autofile-name ((,class (:foreground ,str))))
381
+ `(icicle-whitespace-highlight ((,class (:background ,var))))
382
+ `(icicle-special-candidate ((,class (:foreground ,fg2))))
383
+ `(icicle-extra-candidate ((,class (:foreground ,fg2))))
384
+ `(icicle-search-main-regexp-others ((,class (:foreground ,var))))
385
+ `(icicle-search-current-input ((,class (:foreground ,keyword))))
386
+ `(icicle-search-context-level-8 ((,class (:foreground ,warning))))
387
+ `(icicle-search-context-level-7 ((,class (:foreground ,warning))))
388
+ `(icicle-search-context-level-6 ((,class (:foreground ,warning))))
389
+ `(icicle-search-context-level-5 ((,class (:foreground ,warning))))
390
+ `(icicle-search-context-level-4 ((,class (:foreground ,warning))))
391
+ `(icicle-search-context-level-3 ((,class (:foreground ,warning))))
392
+ `(icicle-search-context-level-2 ((,class (:foreground ,warning))))
393
+ `(icicle-search-context-level-1 ((,class (:foreground ,warning))))
394
+ `(icicle-search-main-regexp-current ((,class (:foreground ,fg1))))
395
+ `(icicle-saved-candidate ((,class (:foreground ,fg1))))
396
+ `(icicle-proxy-candidate ((,class (:foreground ,fg1))))
397
+ `(icicle-mustmatch-completion ((,class (:foreground ,type))))
398
+ `(icicle-multi-command-completion ((,class (:foreground ,fg2 :background ,bg2))))
399
+ `(icicle-msg-emphasis ((,class (:foreground ,func))))
400
+ `(icicle-mode-line-help ((,class (:foreground ,fg4))))
401
+ `(icicle-match-highlight-minibuffer ((,class (:foreground ,builtin))))
402
+ `(icicle-match-highlight-Completions ((,class (:foreground ,func))))
403
+ `(icicle-key-complete-menu-local ((,class (:foreground ,fg1))))
404
+ `(icicle-key-complete-menu ((,class (:foreground ,fg1))))
405
+ `(icicle-input-completion-fail-lax ((,class (:foreground ,keyword))))
406
+ `(icicle-input-completion-fail ((,class (:foreground ,keyword))))
407
+ `(icicle-historical-candidate-other ((,class (:foreground ,fg1))))
408
+ `(icicle-historical-candidate ((,class (:foreground ,fg1))))
409
+ `(icicle-current-candidate-highlight ((,class (:foreground ,warning :background ,bg3))))
410
+ `(icicle-Completions-instruction-2 ((,class (:foreground ,fg4))))
411
+ `(icicle-Completions-instruction-1 ((,class (:foreground ,fg4))))
412
+ `(icicle-completion ((,class (:foreground ,var))))
413
+ `(icicle-complete-input ((,class (:foreground ,builtin))))
414
+ `(icicle-common-match-highlight-Completions ((,class (:foreground ,type))))
415
+ `(icicle-candidate-part ((,class (:foreground ,var))))
416
+ `(icicle-annotation ((,class (:foreground ,fg4))))
417
+ ))
418
+
419
+
420
+ ;;;###autoload
421
+ (when load-file-name
422
+ (add-to-list 'custom-theme-load-path
423
+ (file-name-as-directory (file-name-directory load-file-name))))
424
+
425
+ (provide-theme 'dracula)
426
+
427
+ ;; Local Variables:
428
+ ;; no-byte-compile: t
429
+ ;; End:
430
+
431
+ ;;; dracula-theme.el ends here
@@ -0,0 +1,205 @@
1
+ ;;; iceberg --- a dark blue theme
2
+ ;;; Commentary:
3
+ ;; _________________________________________
4
+ ;; \_ _/ ____| ____| ___ \ ____| ___ \ ___/
5
+ ;; | | |____| ____| ___ < ____| __ / |__ \
6
+ ;; /___\_____|_____|_____/_____|_| \_\_____/
7
+ ;;
8
+ ;; cool-headed perspective for your coding
9
+ ;;
10
+ ;;
11
+ ;; File: iceberg.el
12
+ ;; Colorscheme: cocopon <cocopon@me.com>
13
+ ;; Port: apnsngr <github.com/apnsngr>
14
+ ;; License: MIT
15
+ ;;
16
+ ;; Special thanks to Bozhidar Batsov (bbatsov). I used his zenburn Emacs theme
17
+ ;; as a guide for this theme.
18
+
19
+ ;;; Code:
20
+
21
+ (deftheme iceberg)
22
+
23
+ (let
24
+ ((class '((class color) (min-colors 89)))
25
+ (fg1 "#f8f8f2")
26
+ (bg1 "#282a36")
27
+ (background "#161822")
28
+ (current-line "#1E2132")
29
+ (selection "#282D43")
30
+ (foreground "#C7C9D1")
31
+ (comment "#6B7089")
32
+ (cursor "#C7C9D1")
33
+ (line-number-fg "#454D73")
34
+ (red "#E27878")
35
+ (orange "#E2A478")
36
+ (green "#B4BE82")
37
+ (cyan "#89B8C2")
38
+ (blue "#84A0C6")
39
+ (purple "#A093C7")
40
+ (black "#0E0F14"))
41
+
42
+ (custom-theme-set-faces
43
+ 'iceberg
44
+
45
+ ;; Built-in
46
+ `(default ((((type nil)) (:background ,"000000" :foreground ,fg1))
47
+ (,class (:background ,bg1 :foreground ,fg1))))
48
+ `(fringe ((t (:background , current-line))))
49
+ `(minibuffer-prompt ((t (:foreground ,blue))))
50
+ `(menu ((t (:foreground ,foreground :background ,background))))
51
+ `(mode-line
52
+ ((t (:background ,current-line
53
+ :foreground ,foreground
54
+ :box (:line-width -1 :style released-button)))))
55
+ `(mode-line-inactive
56
+ ((t (:background ,current-line :foreground ,foreground))))
57
+ `(mode-line-buffer-id ((t (:foreground ,cyan :weight bold))))
58
+ `(region ((t (:background ,selection))))
59
+ `(highlight ((t (:background ,selection))))
60
+ `(success ((t (:foreground ,green :weight bold))))
61
+ `(warning ((t (:foreground ,red :weight bold))))
62
+
63
+ ;; Font-lock
64
+ `(font-lock-builtin-face ((t (:foreground ,foreground :weight bold))))
65
+ `(font-lock-comment-face ((t (:foreground ,comment))))
66
+ `(font-lock-comment-delimiter-face ((t :foreground ,comment)))
67
+ `(font-lock-constant-face ((t (:foreground ,purple))))
68
+ `(font-lock-doc-face ((t (:foreground ,comment))))
69
+ `(font-lock-doc-string-face ((t (:foreground ,comment))))
70
+ `(font-lock-function-name-face ((t (:foreground ,orange))))
71
+ `(font-lock-keyword-face ((t (:foreground ,blue))))
72
+ `(font-lock-preprocessor-face ((t (:foreground ,green))))
73
+ `(font-lock-string-face ((t (:foreground ,cyan))))
74
+ `(font-lock-type-face ((t (:foreground ,cyan))))
75
+ `(font-lock-variable-name-face ((t (:foreground ,purple))))
76
+ `(font-lock-warning-face ((t (:foreground ,red))))
77
+
78
+ ;; Everything else (ordered by alphabetically)
79
+
80
+ ;; diff
81
+ `(diff-added ((,class (:foreground ,green :background nil))
82
+ (t (:foreground ,green :background nil))))
83
+ `(diff-changed ((t (:foreground ,orange))))
84
+ `(diff-removed ((,class (:foreground ,red :background nil))
85
+ (t (:foreground ,red :background nil))))
86
+ `(diff-refine-added ((t (:inherit diff-added :weight bold))))
87
+ `(diff-refine-change ((t (:inherit diff-changed :weight bold))))
88
+ `(diff-refine-removed ((t (:inherit diff-removed :weight bold))))
89
+ `(diff-header ((,class (:background ,current-line))
90
+ (t (:background ,foreground :foreground ,background))))
91
+ `(diff-file-header
92
+ ((,class (:background ,current-line :foreground ,foreground :bold t))
93
+ (t (:background ,foreground :foreground ,background :bold t))))
94
+
95
+ ;; diff-hl
96
+ `(diff-hl-change ((,class (:foreground ,orange :background ,current-line))))
97
+ `(diff-hl-delete ((,class (:foreground ,red :background ,current-line))))
98
+ `(diff-hl-insert ((,class (:foreground ,green :background ,current-line))))
99
+ `(diff-hl-unknown ((,class (:foreground ,cyan :background ,current-line))))
100
+
101
+ ;; flycheck
102
+ `(flycheck-error
103
+ ((((supports :underline (:style wave)))
104
+ (:underline (:style wave :color ,red) :inherit unspecified))
105
+ (t (:foreground ,red :weight bold :underline t))))
106
+ `(flycheck-warning
107
+ ((((supports :underline (:style wave)))
108
+ (:underline (:style wave :color ,orange) :inherit unspecified))
109
+ (t (:foreground ,orange :weight bold :underline t))))
110
+ `(flycheck-info
111
+ ((((supports :underline (:style wave)))
112
+ (:underline (:style wave :color ,blue) :inherit unspecified))
113
+ (t (:foreground ,blue :weight bold :underline t))))
114
+ `(flycheck-fringe-error ((t (:foreground ,red :weight bold))))
115
+ `(flycheck-fringe-warning ((t (:foreground ,orange :weight bold))))
116
+ `(flycheck-fringe-info ((t (:foreground ,blue :weight bold))))
117
+
118
+ ;; hl-line-mode
119
+ `(hl-line ((t (:background ,current-line))))
120
+
121
+ ;; ido-mode
122
+ `(do-first-match ((t (:foreground ,blue :weight bold))))
123
+ `(ido-only-match ((t (:foreground ,green :weight bold))))
124
+ `(ido-subdir ((t (:foreground ,cyan))))
125
+
126
+ ;; isearch
127
+ `(isearch ((t (:foreground ,foreground :weight bold
128
+ :background ,selection))))
129
+ `(isearch-fail ((t (:foreground ,foreground :background ,red))))
130
+ `(lazy-highlight ((t (:foreground ,foreground :weight bold
131
+ :background ,current-line))))
132
+
133
+ ;; linum-mode
134
+ `(linum ((t (:foreground ,line-number-fg :background ,current-line))))
135
+
136
+ ;; org-mode
137
+ `(org-agenda-date-today
138
+ ((t (:foreground ,foreground :slant italic :weight bold))) t)
139
+ `(org-agenda-structure
140
+ ((t (:inherit font-lock-comment-face))))
141
+ `(org-archived ((t (:foreground ,foreground :weight bold))))
142
+ `(org-checkbox ((t (:background ,background :foreground ,foreground
143
+ :box (:line-width 1 :style released-button)))))
144
+ `(org-date ((t (:foreground ,purple))))
145
+ `(org-deadline-announce ((t (:foreground ,red))))
146
+ `(org-done ((t (:foreground ,green))))
147
+ `(org-formula ((t (:foreground ,orange))))
148
+ `(org-headline-done ((t (:foreground ,green))))
149
+ `(org-hide ((t (:foreground ,comment))))
150
+ `(org-level-1 ((t (:foreground ,blue))))
151
+ `(org-level-2 ((t (:foreground ,purple))))
152
+ `(org-level-3 ((t (:foreground ,cyan))))
153
+ `(org-level-4 ((t (:foreground ,green))))
154
+ `(org-level-5 ((t (:foreground ,red))))
155
+ `(org-level-6 ((t (:foreground ,orange))))
156
+ `(org-level-7 ((t (:foreground ,comment))))
157
+ `(org-level-8 ((t (:foreground ,foreground))))
158
+ `(org-link ((t (:foreground ,cyan))))
159
+ `(org-scheduled ((t (:foreground ,green))))
160
+ `(org-scheduled-previously ((t (:foreground ,red))))
161
+ `(org-scheduled-today ((t (:foreground ,blue))))
162
+ `(org-sexp-date ((t (:foreground ,blue :underline t))))
163
+ `(org-special-keyword ((t (:inherit font-lock-comment-face))))
164
+ `(org-table ((t (:foreground ,blue))))
165
+ `(org-tag ((t (:bold t :weight bold))))
166
+ `(org-time-grid ((t (:foreground ,blue))))
167
+ `(org-todo ((t (:bold t :foreground ,cyan :weight bold))))
168
+ `(org-upcoming-deadline ((t (:inherit font-lock-keyword-face))))
169
+ `(org-warning ((t (:bold t :foreground ,orange :weight bold :underline nil))))
170
+ `(org-column ((t (:background ,current-line))))
171
+ `(org-column-title ((t (:background ,background :underline t :weight bold))))
172
+ `(org-mode-line-clock-overrun ((t (:foreground ,background :background ,red))))
173
+ `(org-footnote ((t (:foreground ,cyan :underline t))))
174
+
175
+ ;; rainbow-delimiters
176
+ `(rainbow-delimiters-depth-1-face ((t (:foreground ,purple))))
177
+ `(rainbow-delimiters-depth-2-face ((t (:foreground ,blue))))
178
+ `(rainbow-delimiters-depth-3-face ((t (:foreground ,cyan))))
179
+ `(rainbow-delimiters-depth-4-face ((t (:foreground ,green))))
180
+ `(rainbow-delimiters-depth-5-face ((t (:foreground ,orange))))
181
+ `(rainbow-delimiters-depth-6-face ((t (:foreground ,red))))
182
+ `(rainbow-delimiters-depth-7-face ((t (:foreground ,comment))))
183
+ `(rainbow-delimiters-depth-8-face ((t (:foreground ,line-number-fg))))
184
+ `(rainbow-delimiters-depth-9-face ((t (:foreground ,foreground))))
185
+
186
+ ;; show-paren-mode
187
+ `(show-paren-match ((t (:background ,blue :foreground ,current-line))))
188
+ `(show-paren-mismatch ((t (:background ,orange :foreground ,current-line))))
189
+
190
+ )
191
+
192
+ (custom-theme-set-variables
193
+ 'iceberg
194
+ ;; TODO ANSI colors
195
+ ))
196
+
197
+ ;;;###autoload
198
+ (and load-file-name
199
+ (boundp 'custom-theme-load-path)
200
+ (add-to-list 'custom-theme-load-path
201
+ (file-name-as-directory
202
+ (file-name-directory load-file-name))))
203
+
204
+ (provide-theme 'iceberg)
205
+ ;;; iceberg-theme.el ends here