From da733711d47de1a34d591268d821a3687cbdbd07 Mon Sep 17 00:00:00 2001 From: ryuslash Date: Tue, 5 Oct 2010 11:29:37 +0200 Subject: fixed the screw-up, I hope --- .Xdefaults | 28 - .Xmodmap | 1 - .conkerorrc | 120 - .emacs | 272 + .emacs.d/autopair.el | 1036 ++ .emacs.d/batch-mode.el | 156 + .emacs.d/color-theme-gruber-darker.el | 101 + .emacs.d/color-theme-vibrant-ink.el | 18 + .emacs.d/color-theme-weirdness.el | 37 + .emacs.d/color-theme.el | 1668 +++ .emacs.d/csharp-mode.el | 1977 +++ .emacs.d/javascript.el | 707 + .emacs.d/rainbow-mode.el | 207 + .emacs.d/sqlplus.el | 5151 +++++++ .emacs.d/themes/color-theme-example.el | 22 + .emacs.d/themes/color-theme-library.el | 13539 +++++++++++++++++++ .emacs.d/vala-mode.el | 395 + .emacs.d/zenburn.el | 1179 -- .gitignore | 6 - README | 7 - dotawesome/.gitignore | 1 - dotawesome/rc.lua | 454 - dotawesome/themes/default/background.png | Bin 43786 -> 0 bytes dotawesome/themes/default/layouts/dwindle.png | Bin 967 -> 0 bytes dotawesome/themes/default/layouts/dwindlew.png | Bin 997 -> 0 bytes dotawesome/themes/default/layouts/fairh.png | Bin 194 -> 0 bytes dotawesome/themes/default/layouts/fairhw.png | Bin 194 -> 0 bytes dotawesome/themes/default/layouts/fairv.png | Bin 201 -> 0 bytes dotawesome/themes/default/layouts/fairvw.png | Bin 201 -> 0 bytes dotawesome/themes/default/layouts/floating.png | Bin 395 -> 0 bytes dotawesome/themes/default/layouts/floatingw.png | Bin 388 -> 0 bytes dotawesome/themes/default/layouts/fullscreen.png | Bin 202 -> 0 bytes dotawesome/themes/default/layouts/fullscreenw.png | Bin 202 -> 0 bytes dotawesome/themes/default/layouts/magnifier.png | Bin 209 -> 0 bytes dotawesome/themes/default/layouts/magnifierw.png | Bin 209 -> 0 bytes dotawesome/themes/default/layouts/max.png | Bin 313 -> 0 bytes dotawesome/themes/default/layouts/maxw.png | Bin 301 -> 0 bytes dotawesome/themes/default/layouts/spiral.png | Bin 1506 -> 0 bytes dotawesome/themes/default/layouts/spiralw.png | Bin 1527 -> 0 bytes dotawesome/themes/default/layouts/tile.png | Bin 174 -> 0 bytes dotawesome/themes/default/layouts/tilebottom.png | Bin 195 -> 0 bytes dotawesome/themes/default/layouts/tilebottomw.png | Bin 216 -> 0 bytes dotawesome/themes/default/layouts/tileleft.png | Bin 172 -> 0 bytes dotawesome/themes/default/layouts/tileleftw.png | Bin 170 -> 0 bytes dotawesome/themes/default/layouts/tiletop.png | Bin 195 -> 0 bytes dotawesome/themes/default/layouts/tiletopw.png | Bin 215 -> 0 bytes dotawesome/themes/default/layouts/tilew.png | Bin 168 -> 0 bytes dotawesome/themes/default/submenu.png | Bin 440 -> 0 bytes dotawesome/themes/default/taglist/squarefw.png | Bin 187 -> 0 bytes dotawesome/themes/default/taglist/squarew.png | Bin 193 -> 0 bytes dotawesome/themes/default/tasklist/floating.png | Bin 345 -> 0 bytes dotawesome/themes/default/tasklist/floatingw.png | Bin 334 -> 0 bytes dotawesome/themes/default/theme.lua | 99 - dotawesome/themes/default/titlebar/close_focus.png | Bin 666 -> 0 bytes .../themes/default/titlebar/close_normal.png | Bin 893 -> 0 bytes .../default/titlebar/floating_focus_active.png | Bin 598 -> 0 bytes .../default/titlebar/floating_focus_inactive.png | Bin 818 -> 0 bytes .../default/titlebar/floating_normal_active.png | Bin 799 -> 0 bytes .../default/titlebar/floating_normal_inactive.png | Bin 814 -> 0 bytes .../default/titlebar/maximized_focus_active.png | Bin 1013 -> 0 bytes .../default/titlebar/maximized_focus_inactive.png | Bin 1277 -> 0 bytes .../default/titlebar/maximized_normal_active.png | Bin 1208 -> 0 bytes .../default/titlebar/maximized_normal_inactive.png | Bin 1251 -> 0 bytes .../themes/default/titlebar/ontop_focus_active.png | Bin 774 -> 0 bytes .../default/titlebar/ontop_focus_inactive.png | Bin 1073 -> 0 bytes .../default/titlebar/ontop_normal_active.png | Bin 965 -> 0 bytes .../default/titlebar/ontop_normal_inactive.png | Bin 1073 -> 0 bytes .../default/titlebar/sticky_focus_active.png | Bin 833 -> 0 bytes .../default/titlebar/sticky_focus_inactive.png | Bin 836 -> 0 bytes .../default/titlebar/sticky_normal_active.png | Bin 967 -> 0 bytes .../default/titlebar/sticky_normal_inactive.png | Bin 872 -> 0 bytes dotawesome/themes/default/xmms2/next.png | Bin 290 -> 0 bytes dotawesome/themes/default/xmms2/pause.png | Bin 218 -> 0 bytes dotawesome/themes/default/xmms2/play.png | Bin 241 -> 0 bytes dotawesome/themes/default/xmms2/previous.png | Bin 289 -> 0 bytes dotawesome/themes/default/xmms2/stop.png | Bin 203 -> 0 bytes dotawesome/themes/test.png | Bin 755729 -> 0 bytes dotawesome/themes/vt/background.png | Bin 43786 -> 0 bytes dotawesome/themes/vt/layouts/fairh.png | Bin 194 -> 0 bytes dotawesome/themes/vt/layouts/fairhw.png | Bin 194 -> 0 bytes dotawesome/themes/vt/layouts/fairv.png | Bin 201 -> 0 bytes dotawesome/themes/vt/layouts/fairvw.png | Bin 201 -> 0 bytes dotawesome/themes/vt/layouts/floating.png | Bin 395 -> 0 bytes dotawesome/themes/vt/layouts/floatingw.png | Bin 388 -> 0 bytes dotawesome/themes/vt/layouts/fullscreen.png | Bin 202 -> 0 bytes dotawesome/themes/vt/layouts/fullscreenw.png | Bin 202 -> 0 bytes dotawesome/themes/vt/layouts/magnifier.png | Bin 209 -> 0 bytes dotawesome/themes/vt/layouts/magnifierw.png | Bin 209 -> 0 bytes dotawesome/themes/vt/layouts/max.png | Bin 313 -> 0 bytes dotawesome/themes/vt/layouts/maxw.png | Bin 301 -> 0 bytes dotawesome/themes/vt/layouts/tile.png | Bin 174 -> 0 bytes dotawesome/themes/vt/layouts/tilebottom.png | Bin 195 -> 0 bytes dotawesome/themes/vt/layouts/tilebottomw.png | Bin 216 -> 0 bytes dotawesome/themes/vt/layouts/tileleft.png | Bin 172 -> 0 bytes dotawesome/themes/vt/layouts/tileleftw.png | Bin 170 -> 0 bytes dotawesome/themes/vt/layouts/tiletop.png | Bin 195 -> 0 bytes dotawesome/themes/vt/layouts/tiletopw.png | Bin 215 -> 0 bytes dotawesome/themes/vt/layouts/tilew.png | Bin 168 -> 0 bytes dotawesome/themes/vt/submenu.png | Bin 440 -> 0 bytes dotawesome/themes/vt/taglist/squarefw.png | Bin 187 -> 0 bytes dotawesome/themes/vt/taglist/squarew.png | Bin 193 -> 0 bytes dotawesome/themes/vt/tasklist/floating.png | Bin 345 -> 0 bytes dotawesome/themes/vt/tasklist/floatingw.png | Bin 334 -> 0 bytes dotawesome/themes/vt/theme.lua | 98 - dotawesome/themes/vt/titlebar/close_focus.png | Bin 666 -> 0 bytes dotawesome/themes/vt/titlebar/close_normal.png | Bin 893 -> 0 bytes .../themes/vt/titlebar/floating_focus_active.png | Bin 598 -> 0 bytes .../themes/vt/titlebar/floating_focus_inactive.png | Bin 818 -> 0 bytes .../themes/vt/titlebar/floating_normal_active.png | Bin 799 -> 0 bytes .../vt/titlebar/floating_normal_inactive.png | Bin 814 -> 0 bytes .../themes/vt/titlebar/maximized_focus_active.png | Bin 1013 -> 0 bytes .../vt/titlebar/maximized_focus_inactive.png | Bin 1277 -> 0 bytes .../themes/vt/titlebar/maximized_normal_active.png | Bin 1208 -> 0 bytes .../vt/titlebar/maximized_normal_inactive.png | Bin 1251 -> 0 bytes .../themes/vt/titlebar/ontop_focus_active.png | Bin 774 -> 0 bytes .../themes/vt/titlebar/ontop_focus_inactive.png | Bin 1073 -> 0 bytes .../themes/vt/titlebar/ontop_normal_active.png | Bin 965 -> 0 bytes .../themes/vt/titlebar/ontop_normal_inactive.png | Bin 1073 -> 0 bytes .../themes/vt/titlebar/sticky_focus_active.png | Bin 833 -> 0 bytes .../themes/vt/titlebar/sticky_focus_inactive.png | Bin 836 -> 0 bytes .../themes/vt/titlebar/sticky_normal_active.png | Bin 967 -> 0 bytes .../themes/vt/titlebar/sticky_normal_inactive.png | Bin 872 -> 0 bytes dotawesome/themes/vt/xmms2/next.png | Bin 290 -> 0 bytes dotawesome/themes/vt/xmms2/pause.png | Bin 218 -> 0 bytes dotawesome/themes/vt/xmms2/play.png | Bin 241 -> 0 bytes dotawesome/themes/vt/xmms2/previous.png | Bin 289 -> 0 bytes dotawesome/themes/vt/xmms2/stop.png | Bin 203 -> 0 bytes dotemacs/.emacs | 272 - dotemacs/.emacs.d/autopair.el | 1036 -- dotemacs/.emacs.d/batch-mode.el | 156 - dotemacs/.emacs.d/color-theme-gruber-darker.el | 101 - dotemacs/.emacs.d/color-theme-vibrant-ink.el | 18 - dotemacs/.emacs.d/color-theme-weirdness.el | 37 - dotemacs/.emacs.d/color-theme.el | 1668 --- dotemacs/.emacs.d/csharp-mode.el | 1977 --- dotemacs/.emacs.d/javascript.el | 707 - dotemacs/.emacs.d/rainbow-mode.el | 207 - dotemacs/.emacs.d/sqlplus.el | 5151 ------- dotemacs/.emacs.d/themes/color-theme-example.el | 22 - dotemacs/.emacs.d/themes/color-theme-library.el | 13539 ------------------- dotemacs/.emacs.d/vala-mode.el | 395 - dotemacs/.gitignore | 1 - dotemacs/install.sh | 14 - install.bat | 7 - install.sh | 28 +- 145 files changed, 25287 insertions(+), 27328 deletions(-) delete mode 100644 .Xdefaults delete mode 100644 .Xmodmap delete mode 100644 .conkerorrc create mode 100644 .emacs create mode 100644 .emacs.d/autopair.el create mode 100644 .emacs.d/batch-mode.el create mode 100644 .emacs.d/color-theme-gruber-darker.el create mode 100644 .emacs.d/color-theme-vibrant-ink.el create mode 100644 .emacs.d/color-theme-weirdness.el create mode 100644 .emacs.d/color-theme.el create mode 100644 .emacs.d/csharp-mode.el create mode 100644 .emacs.d/javascript.el create mode 100644 .emacs.d/rainbow-mode.el create mode 100644 .emacs.d/sqlplus.el create mode 100644 .emacs.d/themes/color-theme-example.el create mode 100644 .emacs.d/themes/color-theme-library.el create mode 100644 .emacs.d/vala-mode.el delete mode 100644 .emacs.d/zenburn.el delete mode 100644 README delete mode 100644 dotawesome/.gitignore delete mode 100644 dotawesome/rc.lua delete mode 100644 dotawesome/themes/default/background.png delete mode 100644 dotawesome/themes/default/layouts/dwindle.png delete mode 100644 dotawesome/themes/default/layouts/dwindlew.png delete mode 100644 dotawesome/themes/default/layouts/fairh.png delete mode 100644 dotawesome/themes/default/layouts/fairhw.png delete mode 100644 dotawesome/themes/default/layouts/fairv.png delete mode 100644 dotawesome/themes/default/layouts/fairvw.png delete mode 100644 dotawesome/themes/default/layouts/floating.png delete mode 100644 dotawesome/themes/default/layouts/floatingw.png delete mode 100644 dotawesome/themes/default/layouts/fullscreen.png delete mode 100644 dotawesome/themes/default/layouts/fullscreenw.png delete mode 100644 dotawesome/themes/default/layouts/magnifier.png delete mode 100644 dotawesome/themes/default/layouts/magnifierw.png delete mode 100644 dotawesome/themes/default/layouts/max.png delete mode 100644 dotawesome/themes/default/layouts/maxw.png delete mode 100644 dotawesome/themes/default/layouts/spiral.png delete mode 100644 dotawesome/themes/default/layouts/spiralw.png delete mode 100644 dotawesome/themes/default/layouts/tile.png delete mode 100644 dotawesome/themes/default/layouts/tilebottom.png delete mode 100644 dotawesome/themes/default/layouts/tilebottomw.png delete mode 100644 dotawesome/themes/default/layouts/tileleft.png delete mode 100644 dotawesome/themes/default/layouts/tileleftw.png delete mode 100644 dotawesome/themes/default/layouts/tiletop.png delete mode 100644 dotawesome/themes/default/layouts/tiletopw.png delete mode 100644 dotawesome/themes/default/layouts/tilew.png delete mode 100644 dotawesome/themes/default/submenu.png delete mode 100644 dotawesome/themes/default/taglist/squarefw.png delete mode 100644 dotawesome/themes/default/taglist/squarew.png delete mode 100644 dotawesome/themes/default/tasklist/floating.png delete mode 100644 dotawesome/themes/default/tasklist/floatingw.png delete mode 100644 dotawesome/themes/default/theme.lua delete mode 100644 dotawesome/themes/default/titlebar/close_focus.png delete mode 100644 dotawesome/themes/default/titlebar/close_normal.png delete mode 100644 dotawesome/themes/default/titlebar/floating_focus_active.png delete mode 100644 dotawesome/themes/default/titlebar/floating_focus_inactive.png delete mode 100644 dotawesome/themes/default/titlebar/floating_normal_active.png delete mode 100644 dotawesome/themes/default/titlebar/floating_normal_inactive.png delete mode 100644 dotawesome/themes/default/titlebar/maximized_focus_active.png delete mode 100644 dotawesome/themes/default/titlebar/maximized_focus_inactive.png delete mode 100644 dotawesome/themes/default/titlebar/maximized_normal_active.png delete mode 100644 dotawesome/themes/default/titlebar/maximized_normal_inactive.png delete mode 100644 dotawesome/themes/default/titlebar/ontop_focus_active.png delete mode 100644 dotawesome/themes/default/titlebar/ontop_focus_inactive.png delete mode 100644 dotawesome/themes/default/titlebar/ontop_normal_active.png delete mode 100644 dotawesome/themes/default/titlebar/ontop_normal_inactive.png delete mode 100644 dotawesome/themes/default/titlebar/sticky_focus_active.png delete mode 100644 dotawesome/themes/default/titlebar/sticky_focus_inactive.png delete mode 100644 dotawesome/themes/default/titlebar/sticky_normal_active.png delete mode 100644 dotawesome/themes/default/titlebar/sticky_normal_inactive.png delete mode 100644 dotawesome/themes/default/xmms2/next.png delete mode 100644 dotawesome/themes/default/xmms2/pause.png delete mode 100644 dotawesome/themes/default/xmms2/play.png delete mode 100644 dotawesome/themes/default/xmms2/previous.png delete mode 100644 dotawesome/themes/default/xmms2/stop.png delete mode 100644 dotawesome/themes/test.png delete mode 100755 dotawesome/themes/vt/background.png delete mode 100755 dotawesome/themes/vt/layouts/fairh.png delete mode 100755 dotawesome/themes/vt/layouts/fairhw.png delete mode 100755 dotawesome/themes/vt/layouts/fairv.png delete mode 100755 dotawesome/themes/vt/layouts/fairvw.png delete mode 100755 dotawesome/themes/vt/layouts/floating.png delete mode 100755 dotawesome/themes/vt/layouts/floatingw.png delete mode 100755 dotawesome/themes/vt/layouts/fullscreen.png delete mode 100755 dotawesome/themes/vt/layouts/fullscreenw.png delete mode 100755 dotawesome/themes/vt/layouts/magnifier.png delete mode 100755 dotawesome/themes/vt/layouts/magnifierw.png delete mode 100755 dotawesome/themes/vt/layouts/max.png delete mode 100755 dotawesome/themes/vt/layouts/maxw.png delete mode 100755 dotawesome/themes/vt/layouts/tile.png delete mode 100755 dotawesome/themes/vt/layouts/tilebottom.png delete mode 100755 dotawesome/themes/vt/layouts/tilebottomw.png delete mode 100755 dotawesome/themes/vt/layouts/tileleft.png delete mode 100755 dotawesome/themes/vt/layouts/tileleftw.png delete mode 100755 dotawesome/themes/vt/layouts/tiletop.png delete mode 100755 dotawesome/themes/vt/layouts/tiletopw.png delete mode 100755 dotawesome/themes/vt/layouts/tilew.png delete mode 100755 dotawesome/themes/vt/submenu.png delete mode 100755 dotawesome/themes/vt/taglist/squarefw.png delete mode 100755 dotawesome/themes/vt/taglist/squarew.png delete mode 100755 dotawesome/themes/vt/tasklist/floating.png delete mode 100755 dotawesome/themes/vt/tasklist/floatingw.png delete mode 100755 dotawesome/themes/vt/theme.lua delete mode 100755 dotawesome/themes/vt/titlebar/close_focus.png delete mode 100755 dotawesome/themes/vt/titlebar/close_normal.png delete mode 100755 dotawesome/themes/vt/titlebar/floating_focus_active.png delete mode 100755 dotawesome/themes/vt/titlebar/floating_focus_inactive.png delete mode 100755 dotawesome/themes/vt/titlebar/floating_normal_active.png delete mode 100755 dotawesome/themes/vt/titlebar/floating_normal_inactive.png delete mode 100755 dotawesome/themes/vt/titlebar/maximized_focus_active.png delete mode 100755 dotawesome/themes/vt/titlebar/maximized_focus_inactive.png delete mode 100755 dotawesome/themes/vt/titlebar/maximized_normal_active.png delete mode 100755 dotawesome/themes/vt/titlebar/maximized_normal_inactive.png delete mode 100755 dotawesome/themes/vt/titlebar/ontop_focus_active.png delete mode 100755 dotawesome/themes/vt/titlebar/ontop_focus_inactive.png delete mode 100755 dotawesome/themes/vt/titlebar/ontop_normal_active.png delete mode 100755 dotawesome/themes/vt/titlebar/ontop_normal_inactive.png delete mode 100755 dotawesome/themes/vt/titlebar/sticky_focus_active.png delete mode 100755 dotawesome/themes/vt/titlebar/sticky_focus_inactive.png delete mode 100755 dotawesome/themes/vt/titlebar/sticky_normal_active.png delete mode 100755 dotawesome/themes/vt/titlebar/sticky_normal_inactive.png delete mode 100644 dotawesome/themes/vt/xmms2/next.png delete mode 100644 dotawesome/themes/vt/xmms2/pause.png delete mode 100644 dotawesome/themes/vt/xmms2/play.png delete mode 100644 dotawesome/themes/vt/xmms2/previous.png delete mode 100644 dotawesome/themes/vt/xmms2/stop.png delete mode 100644 dotemacs/.emacs delete mode 100644 dotemacs/.emacs.d/autopair.el delete mode 100644 dotemacs/.emacs.d/batch-mode.el delete mode 100644 dotemacs/.emacs.d/color-theme-gruber-darker.el delete mode 100644 dotemacs/.emacs.d/color-theme-vibrant-ink.el delete mode 100644 dotemacs/.emacs.d/color-theme-weirdness.el delete mode 100644 dotemacs/.emacs.d/color-theme.el delete mode 100644 dotemacs/.emacs.d/csharp-mode.el delete mode 100644 dotemacs/.emacs.d/javascript.el delete mode 100644 dotemacs/.emacs.d/rainbow-mode.el delete mode 100644 dotemacs/.emacs.d/sqlplus.el delete mode 100644 dotemacs/.emacs.d/themes/color-theme-example.el delete mode 100644 dotemacs/.emacs.d/themes/color-theme-library.el delete mode 100644 dotemacs/.emacs.d/vala-mode.el delete mode 100644 dotemacs/.gitignore delete mode 100644 dotemacs/install.sh delete mode 100644 install.bat mode change 100755 => 100644 install.sh diff --git a/.Xdefaults b/.Xdefaults deleted file mode 100644 index e1c317c..0000000 --- a/.Xdefaults +++ /dev/null @@ -1,28 +0,0 @@ -! General -urxvt*loginShell: true -urxvt*scrollBar: false -urxvt*secondaryScroll: true -urxvt*saveLines: 65535 -urxvt*cursorBlink: false -urxvt*urgentOnBell: true - -! Extensions -urxvt*perl-lib: /usr/lib/urxvt/perl/ -urxvt*perl-ext-common: default,matcher,searchable-scrollback -urxvt*urlLauncher: chromium-browser -urxvt*matcher.button: 1 -! - catch ugly URLs -!urxvt.cutchars: `()'*<>[]{|}" - -! Appearance -! - use a bitmap font -urxvt*font: -xos4-terminus-medium-*-*-*-14-*-*-*-*-*-*-* -urxvt*boldFont: -xos4-terminux-bold-*-*-*-14-*-*-*-*-*-*-* -! - cursor -urxvt*cursorColor: #DCDCCC -! - pseudo transparency -urxvt*shading: 20 -urxvt*transparent: true -! - color scheme -urxvt.background: #000000 -urxvt.foreground: #EBEBFF \ No newline at end of file diff --git a/.Xmodmap b/.Xmodmap deleted file mode 100644 index 9109241..0000000 --- a/.Xmodmap +++ /dev/null @@ -1 +0,0 @@ -pointer = 3 2 1 \ No newline at end of file diff --git a/.conkerorrc b/.conkerorrc deleted file mode 100644 index b9bd714..0000000 --- a/.conkerorrc +++ /dev/null @@ -1,120 +0,0 @@ -// -*- mode: javascript -*- -require("new-tabs.js"); -require("clicks-in-new-buffer.js"); - -// STYLE -/*let (sheet = get_home_directory()) { - sheet.append(".conkerorrc.d"); - sheet.append("stylesheets"); - sheet.append("tabs.css"); - register_user_stylesheet(make_uri(sheet)); -} -function test(window) -{ - //var test = window.getElementsByAttribute("id", "tab2-bar"); - //if (test.length > 0) - // window.removeChild(test); - //else - // window.minibuffer.message("no luck"); - var after = window.document.getElementById("minibuffer"); - var testtab = window.document.getElementById("tab2-bar"); - - window["minibuffer"].message("I'm different!"); - - window.tab_bar.destroy(); - delete window.tab_bar; - - window.tab_bar = testtab; - after.parentNode.insertBefore(testtab, after); -} - -add_hook("window_initialize_late_hook", test);*/ - -// VARIABLES -// Make middle mouse button open new tab in background -clicks_in_new_buffer_target = OPEN_NEW_BUFFER_BACKGROUND; - -// WEBJUMPS -define_webjump("delicious", - "http://delicious.com/search?p=%s&lc=0&context=userposts%7Cslashed%7C", - $alternative="http://delicious.com/slashed"); -define_webjump("gmail", - "https://mail.google.com/mail/#search/%s"); -define_webjump("greader", - "http://www.google.com/reader/view/#search/%s/", - $alternative="http://reader.google.com"); -define_webjump("github", - "http://github.com/search?q=%s", - $alternative="http://github.com/ryuslash/"); -define_webjump("archwiki", - "http://wiki.archlinux.org/index.php?search=%s"); -define_webjump("fedorawiki", - "https://fedoraproject.org/wiki/search=%s"); -define_webjump("metal-archives", - "http://www.metal-archives.com/search.php?string=%s&type=band"); - -// FUNCTIONS -interactive("delicious-post", - "bookmark the page via delicious", - function (I) { - check_buffer(I.buffer, content_buffer); - let posturl = 'https://api.del.icio.us/v1/posts/add?&url=' + - encodeURIComponent( - load_spec_uri_string( - load_spec(I.buffer.top_frame))) + - "&description=" + - encodeURIComponent( - yield I.minibuffer.read( - $prompt = "name (required): ", - $initial_value = I.buffer.title)) + - "&tags=" + - encodeURIComponent( - yield I.minibuffer.read( - $prompt = "tags (space delimited): ")) + - "&extended=" + - encodeURIComponent( - yield I.minibuffer.read( - $prompt = "extended description: ")) + - "&replace=no"; - - try { - var content = yield send_http_request( - load_spec({uri: posturl})); - I.window.minibuffer.message(content.responseText); - } catch (e) { } - }); - -interactive("delicious-post-link", - "bookmar the link via delicious", - function (I) { - bo = yield read_browser_object(I); - mylink = load_spec_uri_string( - load_spec(encodeURIComponent(bo))); - check_buffer(I.buffer, content_buffer); - let postlinkurl = "https://api.del.icio.us/v1/posts/add?&yrl=" + - mylink + - "&description=" + - encodeURIComponent( - yield I.minibuffer.read( - $prompt = "name (required): ", - $initial_value = bo.textContent)) + - "&tags=" + - encodeURIComponent( - yield I.minibuffer.read( - $prompt = "tags (space delimited): ")) + - "&extended=" + - encodeURIComponent( - yield I.minibuffer.read( - $prompt = "extended description: ")) + - "&replace=no"; - - try { - var content = yield send_http_request( - load_spec({uri: postlinkurl})); - I.window.minibuffer.message(content.responseText); - } catch (e) { } - }, $browser_object = browser_object_links); - -// KEYMAPPINGS -define_key(default_global_keymap, "p", "delicious-post"); -define_key(default_global_keymap, "P", "delicious-post-link"); \ No newline at end of file diff --git a/.emacs b/.emacs new file mode 100644 index 0000000..6622c01 --- /dev/null +++ b/.emacs @@ -0,0 +1,272 @@ +(add-to-list 'load-path "~/.emacs.d") + +;; Requires +(require 'paren) +(require 'uniquify) +(require 'autopair) +(require 'color-theme) +(require 'flymake) +(require 'org-install) +(require 'zenburn) + +;; Autoloads +(autoload 'vala-mode + "vala-mode.elc" "A Major mode for editing Vala files" t) +(autoload 'csharp-mode + "csharp-mode.elc" "A Major mode for editing C# files" t) +(autoload 'javascript-mode + "javascript.elc" "A Major mode for editing JavaScript files" t) +(autoload 'sqlplus-mode + "sqlplus,elc" "A Major mode for communicating with Oracle" t) +(autoload 'batch-mode + "batch-mode.elc" "A Major mode for editing Batch files" t) +(autoload 'rainbow-mode + "rainbow-mode.elc" "A Minor mode for showing colors inline" t) + +;; Functions +(defun what-face (pos) + "Find out which face the current position uses" + (interactive "d") + (let ((face (or (get-char-property (point) 'read-face-name) + (get-char-property (point) 'face)))) + (if face (message "Face: %s" face) (message "No face at %d" pos)))) + +(defun my-comp-finish-function (buf str) + (if (string-match "exited abnormally" str) + ;; there were errors + (message "compilation errors, press C-x ` to visit") + ;; no errors, make the compilation window go away in 0.5 seconds + (run-at-time 0.5 nil 'delete-windwos-on buf) + (message "NO COMPILATION ERRORS!"))) + +(defun bh/hide-other () + (interactive) + (save-excursion + (org-back-to-heading) + (org-shifttab) + (org-reveal) + (org-cycle))) + +(defun bh/go-to-scratch () + (interactive) + (switch-to-buffer "*scratch*") + (delete-other-windows)) + +(defun bh/untabify () + (interactive) + (untabify (point-min) (point-max))) + +(defun bh/killframe () + (interactive) + (unless (buffer-modified-p) + (kill-buffer (current-buffer))) + (delete-frame)) + +;; Platform specifics +(if (eq system-type 'gnu/linux) ; if we're running linux + (set-frame-font "-xos4-terminus-medium-*-*-*-14-*-*-*-*-*-*-*")) + +;; Variables +(setq + inhibit-startup-message t ; don't show welcom screen + require-final-newline t ; always append a newline to a file, if + ; it doesn't have one + font-lock-maximum-decoration t ; denotes my interest in maximum possible + ; fontification + uniquify-buffer-name-style 'reverse ; reverse uniquify file names + backup-directory-alist `((".*" . ,temporary-file-directory)) + ; backup file location + auto-save-file-name-transforms `((".*" ,temporary-file-directory t))) + ; autosave file location +(setq org-todo-keywords (quote ((sequence "TODO(t)" + "NEXT(n)" + "|" "Done(d!/!)") + (sequence "WAITING(w@/!)" + "SOMEDAY(s!)" + "|" "CANCELLED(c@/!)") + (sequence "QUOTE(q!)" + "QUOTED(Q!)" + "|" "APPROVED(A@)" + "EXPIRED(E@)" + "REJECTED(R@)") + (sequence "OPEN(O)" + "|" "CLOSED(C)")))) +(setq org-todo-keyword-faces + (quote (("TODO" :foreground "red" :weight bold) + ("NEXT" :foreground "blue" :weight bold) + ("DONE" :foreground "forest green" :weight bold) + ("WAITING" :foreground "yellow" :weight bold) + ("SOMEDAY" :foreground "goldenrod" :weight bold) + ("CANCELLED" :foreground "orangered" :weight bold) + ("QUOTE" :foreground "hotpink" :weight bold) + ("QUOTED" :foreground "indianred1" :weight bold) + ("APPROVED" :foreground "forest green" :weight bold) + ("EXPIRED" :foreground "olivedrab1" :weight bold) + ("REJECTED" :foreground "olivedrab" :weight bold) + ("OPEN" :foreground "magenta" :weight bold) + ("CLOSED" :foreground "forest green" :weight bold)))) +(setq org-use-fast-todo-selection t) +(setq org-todo-state-tags-triggers + (quote (("CANCELLED" + ("CANCELLED" . t)) + ("WAITING" + ("WAITING" . t)) + ("SOMEDAY" + ("WAITING" . t)) + (done + ("WAITING")) + ("TODO" + ("WAITING") + ("CANCELLED")) + ("NEXT" + ("WAITING")) + ("DONE" + ("WAITING") + ("CANCELED"))))) +(setq org-default-notes-file "~/prj/org/refile.org") +(setq org-capture-templates (quote (("t" "todo" entry (file "~/prj/org/refile.org") "* TODO %? +%U +%a" :clock-in t :clock-resume t) + ("n" "note" entry (file "~/prj/org/refile.org") "* %? +%U +%a +:CLOCK: +:END:" :clock-in t :clock-resume t)))) +(setq org-completion-use-ido t) ; Use IDO for target completion +(setq org-refile-targets (quote ((org-agenda-files :maxlevel . 5) (nil :maxlevel . 5)))) + ; Targets include this file and any file + ; and any file contributing to the agenda + ; - up to 5 levels deep +(setq org-refile-use-outline-path (quote file)) + ; Targets start with the file name - + ; allows creating level 1 tasks +(setq org-outline-path-complete-in-steps t) + ; Targets complete in steps so we start + ; with filename, TAB shows the next + ; level of targets etc +(setq org-refile-allow-creating-parent-nodes (quote confirm)) + ; Allow refile to create parent tasks + ; with confirmation +(setq org-agenda-custom-commands + (quote (("w" "Tasks waiting on something" tags "WAITING/!" + ((org-use-tag-inheritance nil) + (org-agenda-todo-ignore-scheduled nil) + (org-agenda-todo-ignore-deadlines nil) + (org-agenda-todo-ignore-with-date nil) + (org-agenda-overriding-header "Waiting Tasks"))) + ("r" "Refile New Notes and Tasks" tags "LEVEL=1+REFILE" + ((org-agenda-todo-ignore-with-date nil) + (org-agenda-todo-ignore-deadlines nil) + (org-agenda-todo-ignore-scheduled nil) + (org-agenda-overriding-header "Tasks to Refile"))) + ("N" "Notes" tags "NOTE" + ((org-agenda-overriding-header "Notes"))) + ("n" "Next" tags-todo "-WAITING-CANCELLED/!NEXT" + ((org-agenda-overriding-heaer "Next Tasks"))) + ("p" "Projects" tags-todo "LEVEL=2-REFILE|LEVEL=1+REFILE/!-DONE-CANCELLED" + (;(org-agenda-skip-function 'bh/skip-non-projects) + (org-agenda-overriding-header "Projects"))) + ("o" "other (Non-Project) tasks" tags-todo "LEVEL=2-REFILE|LEVEL=1+REFILE/!-DONE-CANCELLED" + (;(org-agenda-skip-function 'bh/skip-projects) + (org-agenda-overriding-header "Other Non-Project Tasks"))) + ("A" "Tasks to be Archived" tags "LEVEL=2-REFILE/DONE|CANCELLED" + ((org-agenda-overriding-header "Tasks to Archive"))) + ("h" "Habits" tags "STYLE=\"habit\"" + ((org-agenda-todo-ignore-with-date nil) + (org-agenda-todo-ignore-scheduled nil) + (org-agenda-todo-ignore-deadlines nil) + (org-agenda-overriding-header "Habits"))) + ("#" "Stuck Projects" tags-todo "LEVEL=2-REFILE|LEVEL=1+REFILE/!-DONE-CANCELLED" + ((org-agenda-skip-function 'bh/skip-non-stuck-projects) + (org-agenda-overriding-header "Stuck Projects"))) + ("c" "Select default clocking task" tags "LEVEL=2-REFILE" + ((org-agenda-skip-function + '(org-agenda-skip-subree-if 'notregexp "^\\*\\* Organization")) + (org-agenda-overriding-header "Set default clocking task with C-u C-u I")))))) +(setq-default indent-tabs-mode nil) ; spaces, no tabs + +(fset 'yes-or-no-p 'y-or-n-p) ; switch yes or no answers to y or n + ; answers + +;; Mode settings +( tool-bar-mode -1) ; no toolbar +( menu-bar-mode -1) ; no menu +( line-number-mode -1) ; don't show line numbers in splitter +( global-linum-mode t) ; show line numbers in gutter +( column-number-mode t) ; show column numbers in splitter +(global-font-lock-mode t) ; show syntax highlighting +( show-paren-mode t) ; show matching parens +( autopair-global-mode) ; enable autopair mode +(delete-selection-mode t) ; delete selection upon typing + +;; Keybindings +(global-set-key "\C-m" 'newline-and-indent) ; Automatically indent on newline +;;; Org Mode +(global-set-key "\C-cl" 'org-store-link) +(global-set-key "\C-ca" 'org-agenda) +(global-set-key "\C-cb" 'org-iswitchb) +(global-set-key (kbd "") 'org-agenda) +;(global-set-key (kbd "") 'bh/org-todo) +;(global-set-key (kbd "") 'bh/widen) +(global-set-key (kbd "") 'set-truncate-lines) +(global-set-key (kbd "") 'org-cycle-agenda-files) +;(global-set-key (kbd " b") 'bbdb) +(global-set-key (kbd " c") 'calendar) +(global-set-key (kbd " f") 'boxquote-insert-file) +;(global-set-key (kbd " g") 'gnus) +(global-set-key (kbd " h") 'bh/hide-other) +;(global-set-key (kbd " i") 'bh/org-info) +;(global-set-key (kbd " I") 'bh/clock-in) +;(global-set-key (kbd " O") 'bh/clock-out) +(global-set-key (kbd " r") 'boxquote-region) +(global-set-key (kbd " s") 'bh/go-to-scratch) +;(global-set-key (kbd " t") 'bh/insert-inactive-timestamp) +(global-set-key (kbd " u") 'bh/untabify) +(global-set-key (kbd " v") 'visible-mode) +;(global-set-key (kbd " SPC") 'bh/clock-in-last-task) +(global-set-key (kbd "C-") 'previous-buffer) +(global-set-key (kbd "C-x n r") 'narrow-to-region) +(global-set-key (kbd "C-") 'next-buffer) +(global-set-key (kbd "") 'org-clock-goto) +(global-set-key (kbd "C-") 'org-clock-in) +(global-set-key (kbd "C-s-") 'bh/save-then-publish) +(global-set-key (kbd "M-") 'org-resolve-clocks) +(global-set-key (kbd "C-M-r") 'org-capture) +(global-set-key (kbd "M-") 'bh/killframe) + +;; File associations +(add-to-list 'auto-mode-alist '("\\.vala$" . vala-mode)) +(add-to-list 'auto-mode-alist '("\\.vapi$" . vala-mode)) +(add-to-list 'auto-mode-alist '("\\.cs$" . csharp-mode)) +(add-to-list 'auto-mode-alist '("\\.bat$" . batch-mode)) + +(add-to-list 'file-coding-system-alist '("\\.vala$" . utf-8)) +(add-to-list 'file-coding-system-alist '("\\.vapi$" . utf-8)) + +(add-to-list 'compilation-finish-functions 'my-comp-finish-function) + +;; Color theme +;;(require 'color-theme-weirdness) +(color-theme-zenburn) + +;; Hooks +(add-hook 'find-file-hook 'flymake-find-file-hook) +(add-hook 'org-mode-hook + (lambda () + (flyspell-mode 1) + (auto-fill-mode 1))) +(add-hook 'css-mode-hook (lambda () + (rainbow-mode))) + +(custom-set-variables + ;; custom-set-variables was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + '(org-agenda-files (quote ("~/prj/org/tgn.org" "~/Documents/iACTOR/tasks.org" "~/prj/org/seiko.org" "~/prj/org/projects.org" "~/prj/org/refile.org" "~/prj/org/aethon.org")))) +(custom-set-faces + ;; custom-set-faces was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + ) diff --git a/.emacs.d/autopair.el b/.emacs.d/autopair.el new file mode 100644 index 0000000..31626f2 --- /dev/null +++ b/.emacs.d/autopair.el @@ -0,0 +1,1036 @@ +;;; autopair.el --- Automagically pair braces and quotes like TextMate + +;; Copyright (C) 2009,2010 Joao Tavora + +;; Author: Joao Tavora +;; Keywords: convenience, emulations +;; X-URL: http://autopair.googlecode.com +;; URL: http://autopair.googlecode.com +;; EmacsWiki: AutoPairs +;; Version: 0.4 +;; Revision: $Rev$ ($LastChangedDate$) + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: +;; +;; Another stab at making braces and quotes pair like in +;; TextMate: +;; +;; * Opening braces/quotes are autopaired; +;; * Closing braces/quotes are autoskipped; +;; * Backspacing an opening brace/quote autodeletes its adjacent pair. +;; * Newline between newly-opened brace pairs open an extra indented line. +;; +;; Autopair deduces from the current syntax table which characters to +;; pair, skip or delete. +;; +;;; Installation: +;; +;; (require 'autopair) +;; (autopair-global-mode) ;; to enable in all buffers +;; +;; To enable autopair in just some types of buffers, comment out the +;; `autopair-global-mode' and put autopair-mode in some major-mode +;; hook, like: +;; +;; (add-hook 'c-mode-common-hook #'(lambda () (autopair-mode))) +;; +;; Alternatively, do use `autopair-global-mode' and create +;; *exceptions* using the `autopair-dont-activate' local variable, +;; like: +;; +;; (add-hook 'c-mode-common-hook #'(lambda () (setq autopair-dont-activate t))) +;; +;;; Use: +;; +;; The extension works by rebinding the braces and quotes keys, but +;; can still be minimally intrusive, since the original binding is +;; always called as if autopair did not exist. +;; +;; The decision of which keys to actually rebind is taken at +;; minor-mode activation time, based on the current major mode's +;; syntax tables. To achieve this kind of behaviour, an emacs +;; variable `emulation-mode-map-alists' was used. +;; +;; If you set `autopair-pair-criteria' and `autopair-skip-criteria' to +;; 'help-balance (which, by the way, is the default), braces are not +;; autopaired/autoskiped in all situations; the decision to autopair +;; or autoskip a brace is taken according to the following table: +;; +;; +---------+------------+-----------+-------------------+ +;; | 1234567 | autopair? | autoskip? | notes | +;; +---------+------------+-----------+-------------------+ +;; | (()) | yyyyyyy | ---yy-- | balanced | +;; +---------+------------+-----------+-------------------+ +;; | (())) | ------y | ---yyy- | too many closings | +;; +---------+------------+-----------+-------------------+ +;; | ((()) | yyyyyyy | ------- | too many openings | +;; +---------+------------+-----------+-------------------+ +;; +;; The table is read like this: in a buffer with 7 characters laid out +;; like the first column, an "y" marks points where an opening brace +;; is autopaired and in which places would a closing brace be +;; autoskipped. +;; +;; Quote pairing tries to support similar "intelligence", but is less +;; deterministic. Some inside-string or inside-comment situations may +;; not always behave how you intend them to. +;; +;; The variable `autopair-autowrap' tells autopair to automatically +;; wrap the selection region with the delimiters you're trying to +;; insert. This is done conditionally based of syntaxes of the two +;; ends of the selection region. It is compatible with `cua-mode's +;; typing-deletes-selection behaviour. This feature is probably still +;; a little unstable, hence `autopair-autowrap' defaults to nil. +;; +;; If you find the paren-blinking annoying, turn `autopair-blink' to +;; nil. +;; +;; For lisp-programming you might also like `autopair-skip-whitespace'. +;; +;; For further customization have a look at `autopair-dont-pair', +;; `autopair-handle-action-fns' and `autopair-extra-pair'. +;; +;; `autopair-dont-pair' lets you define special cases of characters +;; you don't want paired. Its default value skips pairing +;; single-quote characters when inside a comment literal, even if the +;; language syntax tables does pair these characters. +;; +;; (defvar autopair-dont-pair `(:string (?') :comment (?')) +;; +;; As a further example, to also prevent the '{' (opening brace) +;; character from being autopaired in C++ comments use this in your +;; .emacs. +;; +;; (add-hook 'c++-mode-hook +;; #'(lambda () +;; (push ?{ +;; (getf autopair-dont-pair :comment)))) +;; +;; `autopair-handle-action-fns' lets you override/extend the actions +;; taken by autopair after it decides something must be paired,skipped +;; or deleted. To work with triple quoting in python mode, you can use +;; this for example: +;; +;; (add-hook 'python-mode-hook +;; #'(lambda () +;; (setq autopair-handle-action-fns +;; (list #'autopair-default-handle-action +;; #'autopair-python-triple-quote-action)))) +;; +;; It's also useful to deal with latex's mode use of the "paired +;; delimiter" syntax class. +;; +;; (add-hook 'latex-mode-hook +;; #'(lambda () +;; (set (make-local-variable 'autopair-handle-action-fns) +;; (list #'autopair-default-handle-action +;; #'autopair-latex-mode-paired-delimiter-action)))) +;; +;; `autopair-extra-pairs' lets you define extra pairing and skipping +;; behaviour for pairs not programmed into the syntax table. Watch +;; out, this is work-in-progress, a little unstable and does not help +;; balancing at all. To have '<' and '>' pair in c++-mode buffers, but +;; only in code, use: +;; +;; (add-hook 'c++-mode-hook +;; #'(lambda () +;; (push '(?< . ?>) +;; (getf autopair-extra-pairs :code)))) +;; +;; if you program in emacs-lisp you might also like the following to +;; pair backtick and quote +;; +;; (add-hook 'emacs-lisp-mode-hook +;; #'(lambda () +;; (push '(?` . ?') +;; (getf autopair-extra-pairs :comment)) +;; (push '(?` . ?') +;; (getf autopair-extra-pairs :string)))) +;; +;;; Bugs: +;; +;; * Quote pairing/skipping inside comments is not perfect... +;; +;; * See the last section on monkey-patching for the `defadvice' +;; tricks used to make `autopair-autowrap' work with `cua-mode' and +;; `delete-selection-mode'. +;; +;;; Credit: +;; +;; Thanks Ed Singleton for early testing. +;; +;;; Code: + +;; requires +(require 'cl) + +;; variables +(defvar autopair-pair-criteria 'help-balance + "How to decide whether to pair opening brackets or quotes. + +Set this to 'always to always pair, or 'help-balance to be more +criterious when pairing.") + +(defvar autopair-skip-criteria 'help-balance + "How to decide whether to skip closing brackets or quotes. + +Set this to 'always to always skip, or 'help-balance to be more +criterious when skipping.") + +(defvar autopair-emulation-alist nil + "A dinamic keymap for autopair set mostly from the current + syntax table.") + +(defvar autopair-dont-activate nil + "If non-nil `autopair-global-mode' does not activate in buffer") +(make-variable-buffer-local 'autopair-dont-activate) + +(defvar autopair-extra-pairs nil + "Extra pairs for which to use pairing. + +It's a Common-lisp-style even-numbered property list, each pair +of elements being of the form (TYPE , PAIRS). PAIRS is a mixed +list whose elements are cons cells, which look like cells look +like (OPENING . CLOSING). Autopair pairs these like +parenthesis. + +TYPE can be one of: + +:string : whereby PAIRS will be considered only when inside a + string literal + +:comment : whereby PAIRS will be considered only when inside a comment + +:code : whereby PAIRS will be considered only when outisde a + string and a comment. + +:everywhere : whereby PAIRS will be considered in all situations + +In Emacs-lisp, this might be useful + +(add-hook 'emacs-lisp-mode-hook + #'(lambda () + (setq autopair-extra-pairs `(:comment ((?`. ?')))))) + + +Note that this does *not* work for single characters, +e.x. characters you want to behave as quotes. See the +docs/source comments for more details.") + +(make-variable-buffer-local 'autopair-extra-pairs) + +(defvar autopair-dont-pair `(:string (?') :comment (?')) + "Characters for which to skip any pairing behaviour. + +This variable overrides `autopair-pair-criteria' and +`autopair-extra-pairs'. It does not + (currently) affect the skipping behaviour. + +It's a Common-lisp-style even-numbered property list, each pair +of elements being of the form (TYPE , CHARS). CHARS is a list of +characters and TYPE can be one of: + +:string : whereby characters in CHARS will not be autopaired when + inside a string literal + +:comment : whereby characters in CHARS will not be autopaired when + inside a comment + +:never : whereby characters in CHARS won't even have their + bindings replaced by autopair's. This particular option + should be used for troubleshooting and requires + `autopair-mode' to be restarted to have any effect.") +(make-variable-buffer-local 'autopair-dont-pair) + +(defvar autopair-action nil + "Autopair action decided on by last interactive autopair command, or nil. + +When autopair decides on an action this is a list whose first +three elements are (ACTION PAIR POS-BEFORE). + +ACTION is one of `opening', `insert-quote', `skip-quote', +`backspace', `newline' or `paired-delimiter'. PAIR is the pair of +the `last-input-event' character, if applicable. POS-BEFORE is +value of point before action command took place .") + + +(defvar autopair-wrap-action nil + "Autowrap action decided on by autopair, if any. + +When autopair decides on an action this is a list whose first +three elements are (ACTION PAIR POS-BEFORE REGION-BEFORE). + +ACTION can only be `wrap' currently. PAIR and POS-BEFORE +delimiter are as in `autopair-action'. REGION-BEFORE is a cons +cell with the bounds of the region before the command takes +place") + +(defvar autopair-handle-action-fns '() + "Autopair handlers to run *instead* of the default handler. + +Each element is a function taking three arguments (ACTION, PAIR +and POS-BEFORE), which are the three elements of the +`autopair-action' variable, which see. + +If non-nil, these functions are called *instead* of the single +function `autopair-default-handle-action', so use this variable +to specify special behaviour. To also run the default behaviour, +be sure to include `autopair-default-handle-action' in the +list, or call it from your handlers.") +(make-variable-buffer-local 'autopair-handle-action-fns) + +(defvar autopair-handle-wrap-action-fns '() + "Autopair wrap handlers to run *instead* of the default handler. + +Each element is a function taking four arguments (ACTION, PAIR, +POS-BEFORE and REGION-BEFORE), which are the three elements of the +`autopair-wrap-action' variable, which see. + +If non-nil, these functions are called *instead* of the single +function `autopair-default-handle-wrap-action', so use this +variable to specify special behaviour. To also run the default +behaviour, be sure to include `autopair-default-handle-wrap-action' in +the list, or call it in your handlers.") +(make-variable-buffer-local 'autopair-handle-wrap-action-fns) + +;; minor mode and global mode +;; +(define-globalized-minor-mode autopair-global-mode autopair-mode autopair-on) + +(defun autopair-on () (unless (or buffer-read-only autopair-dont-activate) (autopair-mode 1))) + +(define-minor-mode autopair-mode + "Automagically pair braces and quotes like in TextMate." + nil " pair" nil + (cond (autopair-mode + ;; Setup the dynamic emulation keymap + ;; + (let ((map (make-sparse-keymap))) + (define-key map [remap delete-backward-char] 'autopair-backspace) + (define-key map [remap backward-delete-char-untabify] 'autopair-backspace) + (define-key map (kbd "") 'autopair-backspace) + (define-key map [backspace] 'autopair-backspace) + (define-key map (kbd "DEL") 'autopair-backspace) + (define-key map (kbd "RET") 'autopair-newline) + (dotimes (char 256) ;; only searches the first 256 chars, + ;; TODO: is this enough/toomuch/stupid? + (unless (member char + (getf autopair-dont-pair :never)) + (let* ((syntax-entry (aref (syntax-table) char)) + (class (and syntax-entry + (syntax-class syntax-entry))) + (pair (and syntax-entry + (cdr syntax-entry)))) + (cond ((eq class (car (string-to-syntax "("))) + ;; syntax classes "opening parens" and "close parens" + (define-key map (string char) 'autopair-insert-opening) + (define-key map (string pair) 'autopair-skip-close-maybe)) + ((eq class (car (string-to-syntax "\""))) + ;; syntax class "string quote + (define-key map (string char) 'autopair-insert-or-skip-quote)) + ((eq class (car (string-to-syntax "$"))) + ;; syntax class "paired-delimiter" + ;; + ;; Apropos this class, see Issues 18, 25 and + ;; elisp info node "35.2.1 Table of Syntax + ;; Classes". The fact that it supresses + ;; syntatic properties in the delimited region + ;; dictates that deciding to autopair/autoskip + ;; can't really be as clean as the string + ;; delimiter. + ;; + ;; Apparently, only `TeX-mode' uses this, so + ;; the best is to bind this to + ;; `autopair-insert-or-skip-paired-delimiter' + ;; which defers any decision making to + ;; mode-specific post-command handler + ;; functions. + ;; + (define-key map (string char) 'autopair-insert-or-skip-paired-delimiter)))))) + ;; read `autopair-extra-pairs' + (dolist (pairs-list (remove-if-not #'listp autopair-extra-pairs)) + (dolist (pair pairs-list) + (define-key map (string (car pair)) 'autopair-extra-insert-opening) + (define-key map (string (cdr pair)) 'autopair-extra-skip-close-maybe))) + + (set (make-local-variable 'autopair-emulation-alist) (list (cons t map)))) + + (setq autopair-action nil) + (setq autopair-wrap-action nil) + (add-hook 'emulation-mode-map-alists 'autopair-emulation-alist 'append) + (add-hook 'post-command-hook 'autopair-post-command-handler 'append 'local)) + (t + (setq autopair-emulation-alist nil) + (remove-hook 'emulation-mode-map-alists 'autopair-emulation-alist) + (remove-hook 'post-command-hook 'autopair-post-command-handler 'local)))) + +;; helper functions +;; +(defun autopair-syntax-ppss () + "Calculate syntax info relevant to autopair. + +A list of four elements is returned: + +- SYNTAX-INFO is either the result `syntax-ppss' or the result of + calling `parse-partial-sexp' with the appropriate + bounds (previously calculated with `syntax-ppss'. + +- WHERE-SYM can be one of the symbols :string, :comment or :code. + +- QUICK-SYNTAX-INFO is always the result returned by `syntax-ppss'. + +- BOUNDS are the boudaries of the current string or comment if + we're currently inside one." + (let* ((quick-syntax-info (syntax-ppss)) + (string-or-comment-start (nth 8 quick-syntax-info))) + (cond (;; inside a string, recalculate + (nth 3 quick-syntax-info) + (list (parse-partial-sexp (1+ string-or-comment-start) (point)) + :string + quick-syntax-info + (cons string-or-comment-start + (condition-case nil + (scan-sexps string-or-comment-start 1) + (error nil))))) + ((nth 4 quick-syntax-info) + (list (parse-partial-sexp (1+ (nth 8 quick-syntax-info)) (point)) + :comment + quick-syntax-info)) + (t + (list quick-syntax-info + :code + quick-syntax-info))))) + +(defun autopair-find-pair (delim) + (when (and delim + (integerp delim)) + (let ((syntax-entry (aref (syntax-table) delim))) + (cond ((eq (syntax-class syntax-entry) (car (string-to-syntax "("))) + (cdr syntax-entry)) + ((or (eq (syntax-class syntax-entry) (car (string-to-syntax "\""))) + (eq (syntax-class syntax-entry) (car (string-to-syntax "$")))) + delim) + ((eq (syntax-class syntax-entry) (car (string-to-syntax ")"))) + (cdr syntax-entry)) + (autopair-extra-pairs + (some #'(lambda (pair-list) + (some #'(lambda (pair) + (cond ((eq (cdr pair) delim) (car pair)) + ((eq (car pair) delim) (cdr pair)))) + pair-list)) + (remove-if-not #'listp autopair-extra-pairs))))))) + +(defun autopair-calculate-wrap-action () + (when (region-active-p) + (save-excursion + (let* ((region-before (cons (region-beginning) + (region-end))) + (point-before (point)) + (start-syntax (syntax-ppss (car region-before))) + (end-syntax (syntax-ppss (cdr region-before)))) + (when (and (eq (nth 0 start-syntax) (nth 0 end-syntax)) + (eq (nth 3 start-syntax) (nth 3 end-syntax))) + (list 'wrap (or (second autopair-action) + (autopair-find-pair last-input-event)) + point-before + region-before)))))) + +(defun autopair-fallback (&optional fallback-keys) + (let* ((autopair-emulation-alist nil) + (beyond-cua (let ((cua--keymap-alist nil)) + (or (key-binding (this-single-command-keys)) + (key-binding fallback-keys)))) + (beyond-autopair (or (key-binding (this-single-command-keys)) + (key-binding fallback-keys)))) + (when autopair-autowrap + (setq autopair-wrap-action (autopair-calculate-wrap-action))) + + (setq this-original-command beyond-cua) + ;; defer to "paredit-mode" if that is installed and running + (when (and (featurep 'paredit) + (string-match "paredit" (symbol-name beyond-cua))) + (setq autopair-action nil)) + (let ((cua-delete-selection (not autopair-autowrap)) + (blink-matching-paren (not autopair-action))) + (call-interactively beyond-autopair)))) + +(defvar autopair-autowrap nil + "If non-nil autopair attempts to wrap the selected region. + +This is also done in an optimistic \"try-to-balance\" fashion.") + +(defvar autopair-skip-whitespace nil + "If non-nil also skip over whitespace when skipping closing delimiters. + +This will be most useful in lisp-like languages where you want +lots of )))))....") + +(defvar autopair-blink (if (boundp 'blink-matching-paren) + blink-matching-paren + t) + "If non-nil autopair blinks matching delimiters.") + +(defvar autopair-blink-delay 0.1 + "Autopair's blink-the-delimiter delay.") + +(defun autopair-document-bindings (&optional fallback-keys) + (concat + "Works by scheduling possible autopair behaviour, then calls +original command as if autopair didn't exist" + (when (eq this-command 'describe-key) + (let* ((autopair-emulation-alist nil) + (command (or (key-binding (this-single-command-keys)) + (key-binding fallback-keys)))) + (when command + (format ", which in this case is `%s'" command)))) + ".")) + +(defun autopair-escaped-p (syntax-info) + (nth 5 syntax-info)) + +(defun autopair-exception-p (where-sym exception-where-sym blacklist &optional fn) + (and (or (eq exception-where-sym :everywhere) + (eq exception-where-sym where-sym)) + (member last-input-event + (if fn + (mapcar fn (getf blacklist exception-where-sym)) + (getf blacklist exception-where-sym))))) + +(defun autopair-up-list (syntax-info &optional closing) + "Try to uplist as much as possible, moving point. + +Return nil if something prevented uplisting. + +Otherwise return a cons of char positions of the starting +delimiter and end delimiters of the last list we just came out +of. If we aren't inside any lists return a cons of current point. + +If inside nested lists of mixed parethesis types, finding a +matching parenthesis of a mixed-type is considered OK (non-nil is +returned) and uplisting stops there." + (condition-case nil + (let ((howmany (car syntax-info)) + (retval (cons (point) + (point)))) + (while (and (> howmany 0) + (condition-case err + (progn + (scan-sexps (point) (- (point-max))) + (error err)) + (error (let ((opening (and closing + (autopair-find-pair closing)))) + (setq retval (cons (fourth err) + (point))) + (or (not opening) + (eq opening (char-after (fourth err)))))))) + (goto-char (scan-lists (point) 1 1)) + (decf howmany)) + retval) + (error nil))) + +;; interactive commands and their associated predicates +;; +(defun autopair-insert-or-skip-quote () + (interactive) + (let* ((syntax-triplet (autopair-syntax-ppss)) + (syntax-info (first syntax-triplet)) + (where-sym (second syntax-triplet)) + (orig-info (third syntax-triplet)) + ;; inside-string may the quote character itself or t if this + ;; is a "generically terminated string" + (inside-string (and (eq where-sym :string) + (fourth orig-info))) + (escaped-p (autopair-escaped-p syntax-info)) + + ) + (cond (;; decides whether to skip the quote... + ;; + (and (not escaped-p) + (eq last-input-event (char-after (point))) + (or + ;; ... if we're already inside a string and the + ;; string starts with the character just inserted, + ;; or it's a generically terminated string + (and inside-string + (or (eq inside-string t) + (eq last-input-event inside-string))) + ;; ... if we're in a comment and ending a string + ;; (the inside-string criteria does not work + ;; here...) + (and (eq where-sym :comment) + (condition-case nil + (eq last-input-event (char-after (scan-sexps (1+ (point)) -1))) + (error nil))))) + (setq autopair-action (list 'skip-quote last-input-event (point)))) + (;; decides whether to pair, i.e do *not* pair the quote if... + ;; + (not + (or + escaped-p + ;; ... inside a generic string + (eq inside-string t) + ;; ... inside an unterminated string started by this char + (autopair-in-unterminated-string-p syntax-triplet) + ;; ... uplisting forward causes an error which leaves us + ;; inside an unterminated string started by this char + (condition-case err + (progn (save-excursion (up-list)) nil) + (error + (autopair-in-unterminated-string-p (save-excursion + (goto-char (fourth err)) + (autopair-syntax-ppss))))) + (autopair-in-unterminated-string-p (save-excursion + (goto-char (point-max)) + (autopair-syntax-ppss))) + ;; ... comment-disable or string-disable are true here. + ;; The latter is only useful if we're in a string + ;; terminated by a character other than + ;; `last-input-event'. + (some #'(lambda (sym) + (autopair-exception-p where-sym sym autopair-dont-pair)) + '(:comment :string)))) + (setq autopair-action (list 'insert-quote last-input-event (point))))) + (autopair-fallback))) + + (put 'autopair-insert-or-skip-quote 'function-documentation + '(concat "Insert or possibly skip over a quoting character.\n\n" + (autopair-document-bindings))) + +(defun autopair-in-unterminated-string-p (autopair-triplet) + (and (eq last-input-event (fourth (third autopair-triplet))) + (condition-case nil (progn (scan-sexps (ninth (third autopair-triplet)) 1) nil) (error t)))) + + +(defun autopair-insert-opening () + (interactive) + (when (autopair-pair-p) + (setq autopair-action (list 'opening (autopair-find-pair last-input-event) (point)))) + (autopair-fallback)) +(put 'autopair-insert-opening 'function-documentation + '(concat "Insert opening delimiter and possibly automatically close it.\n\n" + (autopair-document-bindings))) + +(defun autopair-skip-close-maybe () + (interactive) + (when (autopair-skip-p) + (setq autopair-action (list 'closing (autopair-find-pair last-input-event) (point)))) + (autopair-fallback)) +(put 'autopair-skip-close-maybe 'function-documentation + '(concat "Insert or possibly skip over a closing delimiter.\n\n" + (autopair-document-bindings))) + +(defun autopair-backspace () + (interactive) + (when (char-before) + (setq autopair-action (list 'backspace (autopair-find-pair (char-before)) (point)))) + (autopair-fallback (kbd "DEL"))) +(put 'autopair-backspace 'function-documentation + '(concat "Possibly delete a pair of paired delimiters.\n\n" + (autopair-document-bindings (kbd "DEL")))) + +(defun autopair-newline () + (interactive) + (let ((pair (autopair-find-pair (char-before)))) + (when (eq (char-after) pair) + (setq autopair-action (list 'newline pair (point)))) + (autopair-fallback (kbd "RET")))) +(put 'autopair-newline 'function-documentation + '(concat "Possibly insert two newlines and place point after the first, indented.\n\n" + (autopair-document-bindings (kbd "RET")))) + +(defun autopair-skip-p () + (interactive) + (let* ((syntax-triplet (autopair-syntax-ppss)) + (syntax-info (first syntax-triplet)) + (orig-point (point))) + (cond ((eq autopair-skip-criteria 'help-balance) + (save-excursion + (let ((pos-pair (autopair-up-list syntax-info last-input-event))) + ;; if `autopair-up-list' returned something valid, we + ;; probably want to skip but only if on of the following is true. + ;; + ;; 1. it returned a cons of equal values (we're not inside any list + ;; + ;; 2. up-listing stopped at a list that contains our original point + ;; + ;; 3. up-listing stopped at a list that does not + ;; contain out original point but its starting + ;; delimiter matches the one we expect. + (and pos-pair + (or (eq (car pos-pair) (cdr pos-pair)) + (< orig-point (cdr pos-pair)) + (eq (char-after (car pos-pair)) + (autopair-find-pair last-input-event))))))) + ((eq autopair-skip-criteria 'need-opening) + (save-excursion + (condition-case err + (progn + (backward-list) + t) + (error nil)))) + (t + t)))) + +(defun autopair-pair-p () + (let* ((syntax-triplet (autopair-syntax-ppss)) + (syntax-info (first syntax-triplet)) + (where-sym (second syntax-triplet)) + (orig-point (point))) + (and (not (some #'(lambda (sym) + (autopair-exception-p where-sym sym autopair-dont-pair)) + '(:string :comment :code :everywhere))) + (cond ((eq autopair-pair-criteria 'help-balance) + (and (not (autopair-escaped-p syntax-info)) + (save-excursion + (let ((pos-pair (autopair-up-list syntax-info)) + (prev-point (point-max)) + (expected-closing (autopair-find-pair last-input-event))) + (condition-case err + (progn + (while (not (eq prev-point (point))) + (setq prev-point (point)) + (forward-sexp)) + t) + (error + ;; if `forward-sexp' (called byp + ;; `autopair-forward') returned an error. + ;; typically we don't want to autopair, + ;; unless one of the following occurs: + ;; + (cond (;; 1. The error is *not* of type "containing + ;; expression ends prematurely", which means + ;; we're in the "too-many-openings" situation + ;; and thus want to autopair. + (not (string-match "prematurely" (second err))) + t) + (;; 2. We stopped at a closing parenthesis. Do + ;; autopair if we're in a mixed parens situation, + ;; i.e. the last list jumped over was started by + ;; the paren we're trying to match + ;; (`last-input-event') and ended by a different + ;; parens, or the closing paren we stopped at is + ;; also different from the expected. The second + ;; `scan-lists' places point at the closing of the + ;; last list we forwarded over. + ;; + (condition-case err + (prog1 + (eq (char-after (scan-lists (point) -1 0)) + last-input-event) + (goto-char (scan-lists (point) -1 -1))) + (error t)) + + (or + ;; mixed () ] for input (, yes autopair + (not (eq expected-closing (char-after (third err)))) + ;; mixed (] ) for input (, yes autopair + (not (eq expected-closing (char-after (point)))) + ;; ()) for input (, not mixed + ;; hence no autopair + )) + (t + nil)) + ;; (eq (fourth err) (point-max)) + )))))) + ((eq autopair-pair-criteria 'always) + t) + (t + (not (autopair-escaped-p))))))) + +;; post-command-hook stuff +;; +(defun autopair-post-command-handler () + "Performs pairing and wrapping based on `autopair-action' and +`autopair-wrap-action'. " + (when (and autopair-wrap-action + (notany #'null autopair-wrap-action)) + + (if autopair-handle-wrap-action-fns + (condition-case err + (mapc #'(lambda (fn) + (apply fn autopair-wrap-action)) + autopair-handle-wrap-action-fns) + (error (progn + (message "[autopair] error running custom `autopair-handle-wrap-action-fns', switching autopair off") + (autopair-mode -1)))) + (apply #'autopair-default-handle-wrap-action autopair-wrap-action)) + (setq autopair-wrap-action nil)) + + (when (and autopair-action + (notany #'null autopair-action)) + (if autopair-handle-action-fns + (condition-case err + (mapc #'(lambda (fn) + (funcall fn (first autopair-action) (second autopair-action) (third autopair-action))) + autopair-handle-action-fns) + (error (progn + (message "[autopair] error running custom `autopair-handle-action-fns', switching autopair off") + (autopair-mode -1)))) + (apply #'autopair-default-handle-action autopair-action)) + (setq autopair-action nil))) + +(defun autopair-blink-matching-open () + (let ((blink-matching-paren autopair-blink) + (show-paren-mode nil) + (blink-matching-delay autopair-blink-delay)) + (blink-matching-open))) + +(defun autopair-blink (&optional pos) + (when autopair-blink + (if pos + (save-excursion + (goto-char pos) + (sit-for autopair-blink-delay)) + (sit-for autopair-blink-delay)))) + +(defun autopair-default-handle-action (action pair pos-before) + ;;(message "action is %s" action) + (cond (;; automatically insert closing delimiter + (and (eq 'opening action) + (not (eq pair (char-before)))) + (insert pair) + (autopair-blink) + (backward-char 1)) + (;; automatically insert closing quote delimiter + (eq 'insert-quote action) + (insert pair) + (autopair-blink) + (backward-char 1)) + (;; automatically skip oper closer quote delimiter + (and (eq 'skip-quote action) + (eq pair (char-after (point)))) + (delete-char 1) + (autopair-blink-matching-open)) + (;; skip over newly-inserted-but-existing closing delimiter + ;; (normal case) + (eq 'closing action) + (let ((skipped 0)) + (when autopair-skip-whitespace + (setq skipped (save-excursion (skip-chars-forward "\s\n\t")))) + (when (eq last-input-event (char-after (+ (point) skipped))) + (unless (zerop skipped) (autopair-blink (+ (point) skipped))) + (delete-char (1+ skipped)) + (autopair-blink-matching-open)))) + (;; autodelete closing delimiter + (and (eq 'backspace action) + (eq pair (char-after (point)))) + (delete-char 1)) + (;; opens an extra line after point, then indents + (and (eq 'newline action) + (eq pair (char-after (point)))) + (save-excursion + (newline-and-indent)) + (indent-according-to-mode) + (when (or (and (boundp 'global-hl-line-mode) + global-hl-line-mode) + (and (boundp 'hl-line-mode) + hl-line-mode)) + (hl-line-unhighlight) (hl-line-highlight))))) + +(defun autopair-default-handle-wrap-action (action pair pos-before region-before) + "Default handler for the wrapping action in `autopair-wrap'" + (when (eq 'wrap action) + (let ((reverse-selected (= (car region-before) pos-before))) + (cond + ((eq 'opening (first autopair-action)) + ;; (message "wrap-opening!") + (cond (reverse-selected + (goto-char (1+ (cdr region-before))) + (insert pair) + (autopair-blink) + (goto-char (1+ (car region-before)))) + (t + (delete-backward-char 1) + (insert pair) + (goto-char (car region-before)) + (insert last-input-event))) + (setq autopair-action nil) ) + (;; wraps + (eq 'closing (first autopair-action)) + ;; (message "wrap-closing!") + (cond (reverse-selected + (delete-backward-char 1) + (insert pair) + (goto-char (1+ (cdr region-before))) + (insert last-input-event)) + (t + (goto-char (car region-before)) + (insert pair) + (autopair-blink) + (goto-char (+ 2 (cdr region-before))))) + (setq autopair-action nil)) + ((eq 'insert-quote (first autopair-action)) + (cond (reverse-selected + (goto-char (1+ (cdr region-before))) + (insert pair) + (autopair-blink)) + (t + (goto-char (car region-before)) + (insert last-input-event) + (autopair-blink))) + (setq autopair-action nil)) + (reverse-selected + (delete-backward-char 1) + (goto-char (cdr region-before)) + (insert last-input-event)))))) + + +;; example python triple quote helper +;; +(defun autopair-python-triple-quote-action (action pair pos-before) + (cond ((and (eq 'insert-quote action) + (>= (point) 3) + (string= (buffer-substring (- (point) 3) + (point)) + (make-string 3 pair))) + (save-excursion (insert (make-string 2 pair)))) + ((and (eq 'backspace action) + (>= (point) 2) + (<= (point) (- (point-max) 2)) + (string= (buffer-substring (- (point) 2) + (+ (point) 2)) + (make-string 4 pair))) + (delete-region (- (point) 2) + (+ (point) 2))) + ((and (eq 'skip-quote action) + (<= (point) (- (point-max) 2)) + (string= (buffer-substring (point) + (+ (point) 2)) + (make-string 2 pair))) + (forward-char 2)) + (t + t))) + +;; example latex paired-delimiter helper +;; +(defun autopair-latex-mode-paired-delimiter-action (action pair pos-before) + "Pair or skip latex's \"paired delimiter\" syntax in math mode." + (when (eq action 'paired-delimiter) + (when (eq (char-before) pair) + (if (and (eq (get-text-property pos-before 'face) 'tex-math) + (eq (char-after) pair)) + (cond ((and (eq (char-after) pair) + (eq (char-after (1+ (point))) pair)) + ;; double skip + (delete-char 1) + (forward-char)) + ((eq (char-before pos-before) pair) + ;; doube insert + (insert pair) + (backward-char)) + (t + ;; simple skip + (delete-char 1))) + (insert pair) + (backward-char))))) + +;; Commands and predicates for the autopair-extra* feature +;; + +(defun autopair-extra-insert-opening () + (interactive) + (when (autopair-extra-pair-p) + (setq autopair-action (list 'opening (autopair-find-pair last-input-event) (point)))) + (autopair-fallback)) +(put 'autopair-extra-insert-opening 'function-documentation + '(concat "Insert (an extra) opening delimiter and possibly automatically close it.\n\n" + (autopair-document-bindings))) + +(defun autopair-extra-skip-close-maybe () + (interactive) + (when (autopair-extra-skip-p) + (setq autopair-action (list 'closing last-input-event (point)))) + (autopair-fallback)) +(put 'autopair-extra-skip-close-maybe 'function-documentation + '(concat "Insert or possibly skip over a (and extra) closing delimiter.\n\n" + (autopair-document-bindings))) + +(defun autopair-extra-pair-p () + (let* ((syntax-triplet (autopair-syntax-ppss)) + (syntax-info (first syntax-triplet)) + (where-sym (second syntax-triplet))) + (some #'(lambda (sym) + (autopair-exception-p where-sym sym autopair-extra-pairs #'car)) + '(:everywhere :comment :string :code)))) + +(defun autopair-extra-skip-p () + (let* ((syntax-triplet (autopair-syntax-ppss)) + (syntax-info (first syntax-triplet)) + (where-sym (second syntax-triplet)) + (orig-point (point))) + (and (eq (char-after (point)) last-input-event) + (some #'(lambda (sym) + (autopair-exception-p where-sym sym autopair-extra-pairs #'cdr)) + '(:comment :string :code :everywhere)) + (save-excursion + (condition-case err + (backward-sexp (point-max)) + (error + (goto-char (third err)))) + (search-forward (make-string 1 (autopair-find-pair last-input-event)) + orig-point + 'noerror))))) + +;; Commands and tex-mode specific handler functions for the "paired +;; delimiter" syntax class. +;; +(defun autopair-insert-or-skip-paired-delimiter () + " insert or skip a character paired delimiter" + (interactive) + (setq autopair-action (list 'paired-delimiter last-input-event (point))) + (autopair-fallback)) + +(put 'autopair-insert-or-skip-paired-delimiter 'function-documentation + '(concat "Insert or possibly skip over a character with a syntax-class of \"paired delimiter\"." + (autopair-document-bindings))) + + + +;; monkey-patching: Compatibility with delete-selection-mode and cua-mode +;; +;; Ideally one would be able to use functions as the value of the +;; 'delete-selection properties of the autopair commands. The function +;; would return non-nil when no wrapping should/could be performed. +;; +;; Until then use some `defadvice' i.e. monkey-patching +;; +(put 'autopair-insert-opening 'delete-selection t) +(put 'autopair-skip-close-maybe 'delete-selection t) +(put 'autopair-insert-or-skip-quote 'delete-selection t) +(put 'autopair-extra-insert-opening 'delete-selection t) +(put 'autopair-extra-skip-close-maybe 'delete-selection t) +(put 'autopair-backspace 'delete-selection 'supersede) +(put 'autopair-newline 'delete-selection t) + +(defun autopair-should-autowrap () + (let ((name (symbol-name this-command))) + (and autopair-mode + (not (eq this-command 'autopair-backspace)) + (string-match "^autopair" (symbol-name this-command)) + (autopair-calculate-wrap-action)))) + +(defadvice cua--pre-command-handler-1 (around autopair-override activate) + "Don't actually do anything if autopair is about to autowrap. " + (unless (autopair-should-autowrap) ad-do-it)) + +(defadvice delete-selection-pre-hook (around autopair-override activate) + "Don't actually do anything if autopair is about to autowrap. " + (unless (autopair-should-autowrap) ad-do-it)) + + +(provide 'autopair) +;;; autopair.el ends here +;; diff --git a/.emacs.d/batch-mode.el b/.emacs.d/batch-mode.el new file mode 100644 index 0000000..dcc156a --- /dev/null +++ b/.emacs.d/batch-mode.el @@ -0,0 +1,156 @@ +;;; batch-mode.el --- major mode for editing ESRI batch scrips +;;; Copyright (C) 2002, Agnar Renolen +;;; Modified (c) 2009, Matthew Fidler +;;; Fixed indents (and labels) + +;; batch-mode.el is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program; if not, write to the Free Software +;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +;; This is version 1.0 of 21 August 2002. + +;;; Comentary: + +;; The batch-mode provides syntax hilighting and auto-indentation for +;; DOS batch files (.bat). and auto-idendation. + +;; Agnar Renolen, + +;;; Code: + +(defgroup batch nil + "Major mode for editing batch code" + :prefix "batch-" + :group 'languages) + +; (defvar batch-mode-hook nil +; "Hooks called when batch mode fires up." +; :type 'hook +; :group 'batch) + +(defvar batch-mode-map nil + "Keymap used with batch code") + +(defcustom batch-indent-level 4 + "Amount by which batch subexpressions are indented." + :type 'integer + :group 'batch) + +(defvar batch-font-lock-keywords + (eval-when-compile + (list + ; since we can't specify batch comments through the syntax table, + ; we have to specify it here, and override whatever is highlighted + '( "^[ \t]*rem\\>.*" (0 font-lock-comment-face t)) + + ; since the argument to the echo command is a string, we format it + ; as a string + '( "\\[ \t]*\\(.*\\)" (1 font-lock-string-face t)) + + ; the argument of the goto statement is a label + '( "\\[ \t]*\\([a-zA-Z0-9_]+\\)" (1 + font-lock-constant-face)) + + ; the keywords of batch (which are not built-in commands) + (concat "\\<\\(cmdextversion\\|" + "d\\(efined\\|isableextensions\\|o\\)\\|" + "e\\(lse\\|n\\(ableextensions\\|dlocal\\)" + "\\|qu\\|rrorlevel\\|xist\\)\\|for\\|" + "goto\\|i[fn]\\|n\\(eq\\|ot\\)\\|setlocal\\)\\>") + + ; built-in DOS commands + (cons (concat "\\<\\(a\\(ssoc\\|t\\(\\|trib\\)\\)\\|break\\|" + "c\\(a\\(cls\\|ll\\)\\|d\\|h\\(cp\\|dir\\|k\\(" + "dsk\\|ntfs\\)\\)\\|ls\\|md\\|o\\(lor\\|mp\\(\\|act\\)" + "\\|nvert\\|py\\)\\)\\|d\\(ate\\|el\\|i\\(" + "r\\|skco\\(mp\\|py\\)\\)\\|oskey\\)\\|" + "e\\(cho\\|rase\\|xit\\)\\|" + "f\\(c\\|ind\\(\\|str\\)\\|for\\(\\|mot\\)\\|type\\)\\|" + "graftabl\\|help\\|label\\|" + "m\\(d\\|mkdir\\|o[dvr]e\\)\\|p\\(a\\(th\\|use\\)" + "\\|opd\\|r\\(int\\|opmt\\)\\|ushd\\)\\|" + "r\\(d\\|e\\(cover\\|n\\(\\|ame\\)\\|place\\)\\|mdir\\)\\|" + "s\\(et\\|hift\\|ort\\|tart\\|ubst\\)\\|" + "t\\(i\\(me\\|tle\\)\\|ree\\|ype\\)\\|" + "v\\(er\\(\\|ify\\)\\|ol\\)\\|xcopy\\)\\>") + 'font-lock-builtin-face) + + ; variables are embeded in percent chars + '( "%[a-zA-Z0-9_]+%?" . font-lock-variable-name-face) + ; labels are formatted as constants + '( ":[a-zA-Z0-9_]+" . font-lock-constant-face) + + ; command line switches are hilighted as type-face + '( "[-/][a-zA-Z0-9_]+" . font-lock-type-face) + + ; variables set should also be hilighted with variable-name-face + '( "\\[ \t]*\\([a-zA-Z0-9_]+\\)" (1 font-lock-variable-name-face)) + ))) + + +;;;###autoload +(defun batch-mode () + "Major mode for editing batch scripts." + (interactive) + (kill-all-local-variables) + (setq major-mode 'batch-mode) + (setq mode-name "Avenue") + (set (make-local-variable 'indent-line-function) 'batch-indent-line) + (set (make-local-variable 'comment-start) "rem") + (set (make-local-variable 'comment-start-skip) "rem[ \t]*") + (set (make-local-variable 'font-lock-defaults) + '(batch-font-lock-keywords nil t nil)) + (run-hooks 'batch-mode-hook)) + +(defun batch-indent-line () + "Indent current line as batch script" + (let ((indent (batch-calculate-indent)) + beg shift-amt + (old-pos (- (point-max) (point)))) + (beginning-of-line) + (setq beg (point)) + (skip-chars-forward " \t") + (if (looking-at ")") + (setq indent (max (- indent batch-indent-level)))) + (message "prev indent: %d" indent) + (setq shift-amt (- indent (current-column))) + (if (not (zerop shift-amt)) + (progn + (delete-region beg (point)) + ; ArcView replaces tabs with single spaces, so we only insert + ; spaces to make indentation correct in ArcView. + (insert-char ? indent) + (if (> (- (point-max) old-pos) (point)) + (goto-char (- (point-max) old-pos))))) + shift-amt)) + +(defun batch-calculate-indent () + "Return appropriate indentation for the current line as batch code." + (save-excursion + (beginning-of-line) + (current-indentation) + (if (bobp) + 0 + (if (re-search-backward "^[ \t]*[^ \t\n\r]" nil t) + (if (looking-at "[ \t]*\\()[ \t]*else\\|for\\|if\\)\\>[^(\n]*([^)\n]*") + (+ (current-indentation) batch-indent-level) + (if (looking-at "[ \t]*[^(]*)[ \t]*") + (- (current-indentation) batch-indent-level) + (current-indentation))) + 0)))) + +(add-to-list 'auto-mode-alist '("\\.bat\\'" . batch-mode)) + +(provide 'batch-mode) + +;;; batch-mode.el ends here diff --git a/.emacs.d/color-theme-gruber-darker.el b/.emacs.d/color-theme-gruber-darker.el new file mode 100644 index 0000000..5ee82a2 --- /dev/null +++ b/.emacs.d/color-theme-gruber-darker.el @@ -0,0 +1,101 @@ +;; color-theme-gruber-dark.el +;; Revision 1 +;; +;; Copyright (C) 2009-2010 Jason R. Blevins +;; +;; Permission is hereby granted, free of charge, to any person +;; obtaining a copy of this software and associated documentation +;; files (the "Software"), to deal in the Software without +;; restriction, including without limitation the rights to use, +;; copy, modify, merge, publish, distribute, sublicense, and/or sell +;; copies of the Software, and to permit persons to whom the +;; Software is furnished to do so, subject to the following +;; conditions: +;; +;; The above copyright notice and this permission notice shall be +;; included in all copies or substantial portions of the Software. +;; +;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +;; OTHER DEALINGS IN THE SOFTWARE. + +(require 'color-theme) + +(defun color-theme-gruber-darker () + "Gruber Darker color theme for Emacs by Jason Blevins. +A darker variant of the Gruber Dark theme for BBEdit +by John Gruber." + (interactive) + (color-theme-install + '(color-theme-gruber-darker + ((foreground-color . "#e4e4ef") + (background-color . "#181818") + (background-mode . dark) + (cursor-color . "#ffdd33") + (mouse-color . "#ffdd33")) + + ;; Standard font lock faces + (default ((t (nil)))) + (font-lock-comment-face ((t (:foreground "#cc8c3c")))) + (font-lock-comment-delimiter-face ((t (:foreground "#cc8c3c")))) + (font-lock-doc-face ((t (:foreground "#73c936")))) + (font-lock-doc-string-face ((t (:foreground "#73c936")))) + (font-lock-string-face ((t (:foreground "#73c936")))) + (font-lock-keyword-face ((t (:foreground "#ffdd33")))) + (font-lock-builtin-face ((t (:foreground "#ffdd33")))) + (font-lock-function-name-face ((t (:foreground "#96a6c8")))) + (font-lock-variable-name-face ((t (:foreground "#f4f4ff")))) + (font-lock-preprocessor-face ((t (:foreground "#95a99f")))) + (font-lock-constant-face ((t (:foreground "#95a99f")))) + (font-lock-type-face ((t (:foreground "#95a99f")))) + (font-lock-warning-face ((t (:foreground "#f43841")))) + (font-lock-reference-face ((t (:foreground "#95a99f")))) + (trailing-whitespace ((t (:foreground "#000" :background "#f43841")))) + (link ((t (:foreground "#96A6C8" :underline t)))) + + ;; Search + (isearch ((t (:foreground "#000" :background "#f5f5f5")))) + (isearch-lazy-highlight-face ((t (:foreground "#f4f4ff" :background "#5f627f")))) + (isearch-fail ((t (:foreground "#000" :background "#f43841")))) + + ;; User interface + (fringe ((t (:background "#111" :foreground "#444")))) + (border ((t (:background "#111" :foreground "#444")))) + (mode-line ((t (:background "#453d41" :foreground "#fff")))) + (mode-line-buffer-id ((t (:background "#453d41" :foreground "#fff")))) + (mode-line-inactive ((t (:background "#453d41" :foreground "#999")))) + (minibuffer-prompt ((t (:foreground "#96A6C8")))) + (region ((t (:background "#484848")))) + (secondary-selection ((t (:background "#484951" :foreground "#F4F4FF")))) + (tooltip ((t (:background "#52494e" :foreground "#fff")))) + + ;; Parenthesis matching + (show-paren-match-face ((t (:background "#52494e" :foreground "#f4f4ff")))) + (show-paren-mismatch-face ((t (:foreground "#f4f4ff" :background "#c73c3f")))) + ;; Line highlighting + (highlight ((t (:background "#282828" :foreground nil)))) + (highlight-current-line-face ((t (:background "#282828" :foreground nil)))) + + ;; Calendar + (holiday-face ((t (:foreground "#f43841")))) + + ;; Info + (info-xref ((t (:foreground "#96a6c8")))) + (info-visited ((t (:foreground "#9e95c7")))) + + ;; AUCTeX + (font-latex-sectioning-5-face ((t (:foreground "#96a6c8" :bold t)))) + (font-latex-bold-face ((t (:foreground "#95a99f" :bold t)))) + (font-latex-italic-face ((t (:foreground "#95a99f" :italic t)))) + (font-latex-math-face ((t (:foreground "#73c936")))) + (font-latex-string-face ((t (:foreground "#73c936")))) + (font-latex-warning-face ((t (:foreground "#f43841")))) + (font-latex-slide-title-face ((t (:foreground "#96a6c8")))) + ))) + +(provide 'color-theme-gruber-darker) diff --git a/.emacs.d/color-theme-vibrant-ink.el b/.emacs.d/color-theme-vibrant-ink.el new file mode 100644 index 0000000..dee8c6a --- /dev/null +++ b/.emacs.d/color-theme-vibrant-ink.el @@ -0,0 +1,18 @@ +(require 'color-theme) + +;; vibrant-ink color theme +(defun color-theme-vibrant-ink () + (interactive) + (color-theme-install + '(color-theme-ryrobes + ((background-color . "#000000") + (background-mode . dark) + (border-color . "#000000") + (cursor-color . "#FFFFFF") + (foreground-color . "#FFFFFF") + (mouse-color . "#FFFFFF")) + (font-lock-comment-face ((t (:foreground "#9933CC" :italic t)))) + (font-lock-keyword-face ((t (:foreground "#FF6600")))) + (font-lock-type-face ((t (:foreground "#FFCC00")))) + (font-lock-string-face ((t (:foreground "#66FF00"))))))) +(provide 'color-theme-vibrant-ink) diff --git a/.emacs.d/color-theme-weirdness.el b/.emacs.d/color-theme-weirdness.el new file mode 100644 index 0000000..a97cefc --- /dev/null +++ b/.emacs.d/color-theme-weirdness.el @@ -0,0 +1,37 @@ +(require 'color-theme) + +;; weirdness color-theme +(defun color-theme-weirdness () + (interactive) + (color-theme-install + '(color-theme-weirdness + ((background-color . "#000000") + (background-mode . dark) + (border-color . "#000000") + (cursor-color . "#FFFFFF") + (foreground-color . "#FFFFFF") + (mouse-color . "#000000")) + (org-level-1 ((t (:foreground "#5BFD5B" :weight normal)))) + (org-level-2 ((t (:foreground "#379A37" :weight normal)))) + (org-level-3 ((t (:foreground "#757575" :weight normal)))) + (org-level-4 ((t (:foreground "#778899" :weight normal)))) + (org-level-5 ((t (:foreground "#9898FF" :weight normal)))) + (org-level-6 ((t (:foreground "#0000B0" :weight normal)))) + (org-level-7 ((t (:foreground "#740091" :weight normal)))) + (org-level-8 ((t (:foreground "#B275C1" :weight normal)))) + (fringe ((t (:background "#000000")))) + (mode-line ((t (:foreground "#B3B3B3" :background "#43527A" :background "#000000" :box nil)))) + (region ((t (:background "#3D3D3D")))) + (minibuffer-prompt ((t (:foreground "#72F3FF" :bold t)))) + (flymake-warnline ((t (:background "#000060")))) + (flymake-errline ((t (:background "#600000")))) + (font-lock-builtin-face ((t (:foreground "#C436C4")))) + (font-lock-comment-face ((t (:foreground "#00AC00" :background "#004000" :bold t :box (:line-width 1 :color "#006000" :style nil))))) + (font-lock-comment-delimiter-face ((t (:inherit 'font-lock-comment-face)))) + (font-lock-function-name-face ((t (:foreground "#0FFF28")))) + (font-lock-keyword-face ((t (:foreground "#4E61BB" :bold t)))) + (font-lock-string-face ((t (:foreground "#E00900")))) + (font-lock-type-face ((t (:foreground "#8522DD")))) + (font-lock-variable-name-face ((t (:foreground "#18EFF2")))) + (font-lock-warning-face ((t (:foreground "#FF0000" :bold t))))))) +(provide 'color-theme-weirdness) diff --git a/.emacs.d/color-theme.el b/.emacs.d/color-theme.el new file mode 100644 index 0000000..c92c1a5 --- /dev/null +++ b/.emacs.d/color-theme.el @@ -0,0 +1,1668 @@ +;;; color-theme.el --- install color themes + +;; Copyright (C) 1999, 2000 Jonadab the Unsightly One +;; Copyright (C) 2000, 2001, 2002, 2003 Alex Schroeder +;; Copyright (C) 2003, 2004, 2005, 2006 Xavier Maillard + +;; Version: 6.6.0 +;; Keywords: faces +;; Author: Jonadab the Unsightly One +;; Maintainer: Xavier Maillard +;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?ColorTheme + +;; This file is not (YET) part of GNU Emacs. + +;; This is free software; you can redistribute it and/or modify it under +;; the terms of the GNU General Public License as published by the Free +;; Software Foundation; either version 2, or (at your option) any later +;; version. +;; +;; This is distributed in the hope that it will be useful, but WITHOUT +;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +;; for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, +;; MA 02111-1307, USA. + +;;; Commentary: + +;; Please read README and BUGS files for any relevant help. +;; Contributors (not themers) should also read HACKING file. + +;;; Thanks + +;; Deepak Goel +;; S. Pokrovsky for ideas and discussion. +;; Gordon Messmer for ideas and discussion. +;; Sriram Karra for the color-theme-submit stuff. +;; Olgierd `Kingsajz' Ziolko for the spec-filter idea. +;; Brian Palmer for color-theme-library ideas and code +;; All the users that contributed their color themes. + + + +;;; Code: +(eval-when-compile + (require 'easymenu) + (require 'reporter) + (require 'sendmail)) + +(require 'cl); set-difference is a function... + +;; for custom-face-attributes-get or face-custom-attributes-get +(require 'cus-face) +(require 'wid-edit); for widget-apply stuff in cus-face.el + +(defconst color-theme-maintainer-address "zedek@gnu.org" + "Address used by `submit-color-theme'.") + +;; Emacs / XEmacs compatibility and workaround layer + +(cond ((and (facep 'tool-bar) + (not (facep 'toolbar))) + (put 'toolbar 'face-alias 'tool-bar)) + ((and (facep 'toolbar) + (not (facep 'tool-bar))) + (put 'tool-bar 'face-alias 'toolbar))) + +(defvar color-theme-xemacs-p (and (featurep 'xemacs) + (string-match "XEmacs" emacs-version)) + "Non-nil if running XEmacs.") + +;; Add this since it appears to miss in emacs-2x +(or (fboundp 'replace-in-string) + (defun replace-in-string (target old new) + (replace-regexp-in-string old new target))) + +;; face-attr-construct has a problem in Emacs 20.7 and older when +;; dealing with inverse-video faces. Here is a short test to check +;; wether you are affected. + +;; (set-background-color "wheat") +;; (set-foreground-color "black") +;; (setq a (make-face 'a-face)) +;; (face-spec-set a '((t (:background "white" :foreground "black" :inverse-video t)))) +;; (face-attr-construct a) +;; => (:background "black" :inverse-video t) + +;; The expected response is the original specification: +;; => (:background "white" :foreground "black" :inverse-video t) + +;; That's why we depend on cus-face.el functionality. + +(cond ((fboundp 'custom-face-attributes-get) + (defun color-theme-face-attr-construct (face frame) + (if (atom face) + (custom-face-attributes-get face frame) + (if (and (consp face) (eq (car face) 'quote)) + (custom-face-attributes-get (cadr face) frame) + (custom-face-attributes-get (car face) frame))))) + ((fboundp 'face-custom-attributes-get) + (defalias 'color-theme-face-attr-construct + 'face-custom-attributes-get)) + (t + (defun color-theme-face-attr-construct (&rest ignore) + (error "Unable to construct face attributes")))) + +(defun color-theme-alist (plist) + "Transform PLIST into an alist if it is a plist and return it. +If the first element of PLIST is a cons cell, we just return PLIST, +assuming PLIST to be an alist. If the first element of plist is not a +symbol, this is an error: We cannot distinguish a plist from an ordinary +list, but a list that doesn't start with a symbol is certainly no plist +and no alist. + +This is used to make sure `default-frame-alist' really is an alist and not +a plist. In XEmacs, the alist is deprecated; a plist is used instead." + (cond ((consp (car plist)) + plist) + ((not (symbolp (car plist))) + (error "Wrong type argument: plist, %S" plist)) + ((featurep 'xemacs) + (plist-to-alist plist)))); XEmacs only + +;; Customization + +(defgroup color-theme nil + "Color Themes for Emacs. +A color theme consists of frame parameter settings, variable settings, +and face definitions." + :version "20.6" + :group 'faces) + +(defcustom color-theme-legal-frame-parameters "\\(color\\|mode\\)$" + "Regexp that matches frame parameter names. +Only frame parameter names that match this regexp can be changed as part +of a color theme." + :type '(choice (const :tag "Colors only" "\\(color\\|mode\\)$") + (const :tag "Colors, fonts, and size" + "\\(color\\|mode\\|font\\|height\\|width\\)$") + (regexp :tag "Custom regexp")) + :group 'color-theme + :link '(info-link "(elisp)Window Frame Parameters")) + +(defcustom color-theme-legal-variables "\\(color\\|face\\)$" + "Regexp that matches variable names. +Only variables that match this regexp can be changed as part of a color +theme. In addition to matching this name, the variables have to be user +variables (see function `user-variable-p')." + :type 'regexp + :group 'color-theme) + +(defcustom color-theme-illegal-faces "^w3-" + "Regexp that matches face names forbidden in themes. +The default setting \"^w3-\" excludes w3 faces since these +are created dynamically." + :type 'regexp + :group 'color-theme + :link '(info-link "(elisp)Faces for Font Lock") + :link '(info-link "(elisp)Standard Faces")) + +(defcustom color-theme-illegal-default-attributes '(:family :height :width) + "A list of face properties to be ignored when installing faces. +This prevents Emacs from doing terrible things to your display just because +a theme author likes weird fonts." + :type '(repeat symbol) + :group 'color-theme) + +(defcustom color-theme-is-global t + "*Determines wether a color theme is installed on all frames or not. +If non-nil, color themes will be installed for all frames. +If nil, color themes will be installed for the selected frame only. + +A possible use for this variable is dynamic binding. Here is a larger +example to put in your ~/.emacs; it will make the Blue Sea color theme +the default used for the first frame, and it will create two additional +frames with different color themes. + +setup: + \(require 'color-theme) + ;; set default color theme + \(color-theme-blue-sea) + ;; create some frames with different color themes + \(let ((color-theme-is-global nil)) + \(select-frame (make-frame)) + \(color-theme-gnome2) + \(select-frame (make-frame)) + \(color-theme-standard)) + +Please note that using XEmacs and and a nil value for +color-theme-is-global will ignore any variable settings for the color +theme, since XEmacs doesn't have frame-local variable bindings. + +Also note that using Emacs and a non-nil value for color-theme-is-global +will install a new color theme for all frames. Using XEmacs and a +non-nil value for color-theme-is-global will install a new color theme +only on those frames that are not using a local color theme." + :type 'boolean + :group 'color-theme) + +(defcustom color-theme-is-cumulative t + "*Determines wether new color themes are installed on top of each other. +If non-nil, installing a color theme will undo all settings made by +previous color themes." + :type 'boolean + :group 'color-theme) + +(defcustom color-theme-directory nil + "Directory where we can find additionnal themes (personnal). +Note that there is at least one directory shipped with the official +color-theme distribution where all contributed themes are located. +This official selection can't be changed with that variable. +However, you still can decide to turn it on or off and thus, +not be shown with all themes but yours." + :type '(repeat string) + :group 'color-theme) + +(defcustom color-theme-libraries (directory-files + (concat + (file-name-directory (locate-library "color-theme")) + "/themes") t "^color-theme") + "A list of files, which will be loaded in color-theme-initialize depending +on `color-theme-load-all-themes' value. +This allows a user to prune the default color-themes (which can take a while +to load)." + :type '(repeat string) + :group 'color-theme) + +(defcustom color-theme-load-all-themes t + "When t, load all color-theme theme files +as presented by `color-theme-libraries'. Else +do not load any of this themes." + :type 'boolean + :group 'color-theme) + +(defcustom color-theme-mode-hook nil + "Hook for color-theme-mode." + :type 'hook + :group 'color-theme) + +(defvar color-theme-mode-map + (let ((map (make-sparse-keymap))) + (define-key map (kbd "RET") 'color-theme-install-at-point) + (define-key map (kbd "c") 'list-colors-display) + (define-key map (kbd "d") 'color-theme-describe) + (define-key map (kbd "f") 'list-faces-display) + (define-key map (kbd "i") 'color-theme-install-at-point) + (define-key map (kbd "l") 'color-theme-install-at-point-for-current-frame) + (define-key map (kbd "p") 'color-theme-print) + (define-key map (kbd "q") 'bury-buffer) + (define-key map (kbd "?") 'color-theme-describe) + (if color-theme-xemacs-p + (define-key map (kbd "") 'color-theme-install-at-mouse) + (define-key map (kbd "") 'color-theme-install-at-mouse)) + map) + "Mode map used for the buffer created by `color-theme-select'.") + +(defvar color-theme-initialized nil + "Internal variable determining whether color-theme-initialize has been invoked yet") + +(defvar color-theme-buffer-name "*Color Theme Selection*" + "Name of the color theme selection buffer.") + +(defvar color-theme-original-frame-alist nil + "nil until one of the color themes has been installed.") + +(defvar color-theme-history nil + "List of color-themes called, in reverse order") + +(defcustom color-theme-history-max-length nil + "Max length of history to maintain. +Two other values are acceptable: t means no limit, and +nil means that no history is maintained." + :type '(choice (const :tag "No history" nil) + (const :tag "Unlimited length" t) + integer) + :group 'color-theme) + +(defvar color-theme-counter 0 + "Counter for every addition to `color-theme-history'. +This counts how many themes were installed, regardless +of `color-theme-history-max-length'.") + +(defvar color-theme-entry-path (cond + ;; Emacs 22.x and later + ((lookup-key global-map [menu-bar tools]) + '("tools")) + ;; XEmacs + ((featurep 'xemacs) + (setq tool-entry '("Tools"))) + ;; Emacs < 22 + (t + '("Tools"))) + "Menu tool entry path.") + +(defun color-theme-add-to-history (name) + "Add color-theme NAME to `color-theme-history'." + (setq color-theme-history + (cons (list name color-theme-is-cumulative) + color-theme-history) + color-theme-counter (+ 1 color-theme-counter)) + ;; Truncate the list if necessary. + (when (and (integerp color-theme-history-max-length) + (>= (length color-theme-history) + color-theme-history-max-length)) + (setcdr (nthcdr (1- color-theme-history-max-length) + color-theme-history) + nil))) + +;; (let ((l '(1 2 3 4 5))) +;; (setcdr (nthcdr 2 l) nil) +;; l) + + + +;; List of color themes used to create the *Color Theme Selection* +;; buffer. + +(defvar color-themes + '((color-theme-aalto-dark "Aalto Dark" "Jari Aalto ") + (color-theme-aalto-light "Aalto Light" "Jari Aalto ") + (color-theme-aliceblue "Alice Blue" "Girish Bharadwaj ") + (color-theme-andreas "Andreas" "Andreas Busch ") + (color-theme-arjen "Arjen" "Arjen Wiersma ") + (color-theme-beige-diff "Beige Diff" "Alex Schroeder " t) + (color-theme-bharadwaj "Bharadwaj" "Girish Bharadwaj ") + (color-theme-bharadwaj-slate "Bharadwaj Slate" "Girish Bharadwaj ") + (color-theme-billw "Billw" "Bill White ") + (color-theme-black-on-gray "BlackOnGray" "Sudhir Bhojwani ") + (color-theme-blippblopp "Blipp Blopp" "Thomas Sicheritz-Ponten") + (color-theme-simple-1 "Black" "Jonadab ") + (color-theme-blue-erc "Blue ERC" "Alex Schroeder " t) + (color-theme-blue-gnus "Blue Gnus" "Alex Schroeder " t) + (color-theme-blue-mood "Blue Mood" "Nelson Loyola ") + (color-theme-blue-sea "Blue Sea" "Alex Schroeder ") + (color-theme-calm-forest "Calm Forest" "Artur Hefczyc ") + (color-theme-charcoal-black "Charcoal Black" "Lars Chr. Hausmann ") + (color-theme-goldenrod "Cheap Goldenrod" "Alex Schroeder ") + (color-theme-clarity "Clarity and Beauty" "Richard Wellum ") + (color-theme-classic "Classic" "Frederic Giroud ") + (color-theme-comidia "Comidia" "Marcelo Dias de Toledo ") + (color-theme-jsc-dark "Cooper Dark" "John S Cooper ") + (color-theme-jsc-light "Cooper Light" "John S Cooper ") + (color-theme-jsc-light2 "Cooper Light 2" "John S Cooper ") + (color-theme-dark-blue "Dark Blue" "Chris McMahan ") + (color-theme-dark-blue2 "Dark Blue 2" "Chris McMahan ") + (color-theme-dark-green "Dark Green" "eddy_woody@hotmail.com") + (color-theme-dark-laptop "Dark Laptop" "Laurent Michel ") + (color-theme-deep-blue "Deep Blue" "Tomas Cerha ") + (color-theme-digital-ofs1 "Digital OFS1" "Gareth Owen ") + (color-theme-euphoria "Euphoria" "oGLOWo@oGLOWo.cjb.net") + (color-theme-feng-shui "Feng Shui" "Walter Higgins ") + (color-theme-fischmeister "Fischmeister" + "Sebastian Fischmeister ") + (color-theme-gnome "Gnome" "Jonadab ") + (color-theme-gnome2 "Gnome 2" "Alex Schroeder ") + (color-theme-gray1 "Gray1" "Paul Pulli ") + (color-theme-gray30 "Gray30" "Girish Bharadwaj ") + (color-theme-kingsajz "Green Kingsajz" "Olgierd `Kingsajz' Ziolko ") + (color-theme-greiner "Greiner" "Kevin Greiner ") + (color-theme-gtk-ide "GTK IDE" "Gordon Messmer ") + (color-theme-high-contrast "High Contrast" "Alex Schroeder ") + (color-theme-hober "Hober" "Edward O'Connor ") + (color-theme-infodoc "Infodoc" "Frederic Giroud ") + (color-theme-jb-simple "JB Simple" "jeff@dvns.com") + (color-theme-jedit-grey "Jedit Grey" "Gordon Messmer ") + (color-theme-jonadabian "Jonadab" "Jonadab ") + (color-theme-jonadabian-slate "Jonadabian Slate" "Jonadab ") + (color-theme-katester "Katester" "Higgins_Walter@emc.com") + (color-theme-late-night "Late Night" "Alex Schroeder ") + (color-theme-lawrence "Lawrence" "lawrence mitchell ") + (color-theme-lethe "Lethe" "Ivica Loncar ") + (color-theme-ld-dark "Linh Dang Dark" "Linh Dang ") + (color-theme-marine "Marine" "Girish Bharadwaj ") + (color-theme-matrix "Matrix" "Walter Higgins ") + (color-theme-marquardt "Marquardt" "Colin Marquardt ") + (color-theme-midnight "Midnight" "Gordon Messmer ") + (color-theme-mistyday "Misty Day" "Hari Kumar ") + (color-theme-montz "Montz" "Brady Montz ") + (color-theme-oswald "Oswald" "Tom Oswald ") + (color-theme-parus "Parus" "Jon K Hellan ") + (color-theme-pierson "Pierson" "Dan L. Pierson ") + (color-theme-ramangalahy "Ramangalahy" "Solofo Ramangalahy ") + (color-theme-raspopovic "Raspopovic" "Pedja Raspopovic ") + (color-theme-renegade "Renegade" "Dave Benjamin ") + (color-theme-resolve "Resolve" "Damien Elmes ") + (color-theme-retro-green "Retro Green" "Alex Schroeder ") + (color-theme-retro-orange "Retro Orange" "Alex Schroeder ") + (color-theme-robin-hood "Robin Hood" "Alex Schroeder ") + (color-theme-rotor "Rotor" "Jinwei Shen ") + (color-theme-ryerson "Ryerson" "Luis Fernandes ") + (color-theme-salmon-diff "Salmon Diff" "Alex Schroeder " t) + (color-theme-salmon-font-lock "Salmon Font-Lock" "Alex Schroeder " t) + (color-theme-scintilla "Scintilla" "Gordon Messmer ") + (color-theme-shaman "Shaman" "shaman@interdon.net") + (color-theme-sitaramv-nt "Sitaram NT" + "Sitaram Venkatraman ") + (color-theme-sitaramv-solaris "Sitaram Solaris" + "Sitaram Venkatraman ") + (color-theme-snow "Snow" "Nicolas Rist ") + (color-theme-snowish "Snowish" "Girish Bharadwaj ") + (color-theme-standard-ediff "Standard Ediff" "Emacs Team, added by Alex Schroeder " t) + (color-theme-standard "Standard Emacs 20" "Emacs Team, added by Alex Schroeder ") + (color-theme-emacs-21 "Standard Emacs 21" "Emacs Team, added by Alex Schroeder ") + (color-theme-emacs-nw "Standard Emacs 21 No Window" "Emacs Team, added by D. Goel ") + (color-theme-xemacs "Standard XEmacs" "XEmacs Team, added by Alex Schroeder ") + (color-theme-subtle-blue "Subtle Blue" "Chris McMahan ") + (color-theme-subtle-hacker "Subtle Hacker" "Colin Walters ") + (color-theme-taming-mr-arneson "Taming Mr Arneson" "Erik Arneson ") + (color-theme-taylor "Taylor" "Art Taylor ") + (color-theme-tty-dark "TTY Dark" "O Polite ") + (color-theme-vim-colors "Vim Colors" "Michael Soulier ") + (color-theme-whateveryouwant "Whateveryouwant" "Fabien Penso , color by Scott Jaderholm ") + (color-theme-wheat "Wheat" "Alex Schroeder ") + (color-theme-pok-wob "White On Black" "S. Pokrovsky ") + (color-theme-pok-wog "White On Grey" "S. Pokrovsky ") + (color-theme-word-perfect "WordPerfect" "Thomas Gehrlein ") + (color-theme-xp "XP" "Girish Bharadwaj ")) + "List of color themes. + +Each THEME is itself a three element list (FUNC NAME MAINTAINER &optional LIBRARY). + +FUNC is a color theme function which does the setup. The function +FUNC may call `color-theme-install'. The color theme function may be +interactive. + +NAME is the name of the theme and MAINTAINER is the name and/or email of +the maintainer of the theme. + +If LIBRARY is non-nil, the color theme will be considered a library and +may not be shown in the default menu. + +If you defined your own color theme and want to add it to this list, +use something like this: + + (add-to-list 'color-themes '(color-theme-gnome2 \"Gnome2\" \"Alex\"))") + +;;; Functions + +(defun color-theme-backup-original-values () + "Back up the original `default-frame-alist'. +The values are stored in `color-theme-original-frame-alist' on +startup." + (if (null color-theme-original-frame-alist) + (setq color-theme-original-frame-alist + (color-theme-filter (frame-parameters (selected-frame)) + color-theme-legal-frame-parameters)))) +(add-hook 'after-init-hook 'color-theme-backup-original-values) + +;;;###autoload +(defun color-theme-select (&optional arg) + "Displays a special buffer for selecting and installing a color theme. +With optional prefix ARG, this buffer will include color theme libraries +as well. A color theme library is in itself not complete, it must be +used as part of another color theme to be useful. Thus, color theme +libraries are mainly useful for color theme authors." + (interactive "P") + (unless color-theme-initialized (color-theme-initialize)) + (switch-to-buffer (get-buffer-create color-theme-buffer-name)) + (setq buffer-read-only nil) + (erase-buffer) + ;; recreate the snapshot if necessary + (when (or (not (assq 'color-theme-snapshot color-themes)) + (not (commandp 'color-theme-snapshot))) + (fset 'color-theme-snapshot (color-theme-make-snapshot)) + (setq color-themes (delq (assq 'color-theme-snapshot color-themes) + color-themes) + color-themes (delq (assq 'bury-buffer color-themes) + color-themes) + color-themes (append '((color-theme-snapshot + "[Reset]" "Undo changes, if possible.") + (bury-buffer + "[Quit]" "Bury this buffer.")) + color-themes))) + (dolist (theme color-themes) + (let ((func (nth 0 theme)) + (name (nth 1 theme)) + (author (nth 2 theme)) + (library (nth 3 theme)) + (desc)) + (when (or (not library) arg) + (setq desc (format "%-23s %s" + (if library (concat name " [lib]") name) + author)) + (put-text-property 0 (length desc) 'color-theme func desc) + (put-text-property 0 (length name) 'face 'bold desc) + (put-text-property 0 (length name) 'mouse-face 'highlight desc) + (insert desc) + (newline)))) + (goto-char (point-min)) + (setq buffer-read-only t) + (set-buffer-modified-p nil) + (color-theme-mode)) + +(when (require 'easymenu) + (easy-menu-add-item nil color-theme-entry-path "--") + (easy-menu-add-item nil color-theme-entry-path + ["Color Themes" color-theme-select t])) + +(defun color-theme-mode () + "Major mode to select and install color themes. + +Use \\[color-theme-install-at-point] to install a color theme on all frames. +Use \\[color-theme-install-at-point-for-current-frame] to install a color theme for the current frame only. + +The changes are applied on top of your current setup. This is a +feature. + +Some of the themes should be considered extensions to the standard color +theme: they modify only a limited number of faces and variables. To +verify the final look of a color theme, install the standard color +theme, then install the other color theme. This is a feature. It allows +you to mix several color themes. + +Use \\[color-theme-describe] to read more about the color theme function at point. +If you want to install the color theme permanently, put the call to the +color theme function into your ~/.emacs: + + \(require 'color-theme) + \(color-theme-gnome2) + +If you worry about the size of color-theme.el: You are right. Use +\\[color-theme-print] to print the current color theme and save the resulting buffer +as ~/.emacs-color-theme. Now you can install only this specific color +theme in your .emacs: + + \(load-file \"~/.emacs-color-theme\") + \(my-color-theme) + +The Emacs menu is not affected by color themes within Emacs. Depending +on the toolkit you used to compile Emacs, you might have to set specific +X ressources. See the info manual for more information. Here is an +example ~/.Xdefaults fragment: + + emacs*Background: DarkSlateGray + emacs*Foreground: wheat + +\\{color-theme-mode-map} + +The color themes are listed in `color-themes', which see." + (kill-all-local-variables) + (setq major-mode 'color-theme-mode) + (setq mode-name "Color Themes") + (use-local-map color-theme-mode-map) + (when (functionp 'goto-address); Emacs + (goto-address)) + (run-hooks 'color-theme-mode-hook)) + +;;; Commands in Color Theme Selection mode + +;;;###autoload +(defun color-theme-describe () + "Describe color theme listed at point. +This shows the documentation of the value of text-property color-theme +at point. The text-property color-theme should be a color theme +function. See `color-themes'." + (interactive) + (describe-function (get-text-property (point) 'color-theme))) + +;;;###autoload +(defun color-theme-install-at-mouse (event) + "Install color theme clicked upon using the mouse. +First argument EVENT is used to set point. Then +`color-theme-install-at-point' is called." + (interactive "e") + (save-excursion + (mouse-set-point event) + (color-theme-install-at-point))) + +;;;autoload +(defun color-theme-install-at-point () + "Install color theme at point. +This calls the value of the text-property `color-theme' at point. +The text-property `color-theme' should be a color theme function. +See `color-themes'." + (interactive) + (let ((func (get-text-property (point) 'color-theme))) + ;; install theme + (if func + (funcall func)) + ;; If goto-address is being used, remove all overlays in the current + ;; buffer and run it again. The face used for the mail addresses in + ;; the the color theme selection buffer is based on the variable + ;; goto-address-mail-face. Changes in that variable will not affect + ;; existing overlays, however, thereby confusing users. + (when (functionp 'goto-address); Emacs + (dolist (o (overlays-in (point-min) (point-max))) + (delete-overlay o)) + (goto-address)))) + +;;;###autoload +(defun color-theme-install-at-point-for-current-frame () + "Install color theme at point for current frame only. +Binds `color-theme-is-global' to nil and calls +`color-theme-install-at-point'." + (interactive) + (let ((color-theme-is-global nil)) + (color-theme-install-at-point))) + + + +;; Taking a snapshot of the current color theme and pretty printing it. + +(defun color-theme-filter (old-list regexp &optional exclude) + "Filter OLD-LIST. +The resulting list will be newly allocated and contains only elements +with names matching REGEXP. OLD-LIST may be a list or an alist. If you +want to filter a plist, use `color-theme-alist' to convert your plist to +an alist, first. + +If the optional argument EXCLUDE is non-nil, then the sense is +reversed: only non-matching elements will be retained." + (let (elem new-list) + (dolist (elem old-list) + (setq name (symbol-name (if (listp elem) (car elem) elem))) + (when (or (and (not exclude) + (string-match regexp name)) + (and exclude + (not (string-match regexp name)))) + ;; Now make sure that if elem is a cons cell, and the cdr of + ;; that cons cell is a string, then we need a *new* string in + ;; the new list. Having a new cons cell is of no use because + ;; modify-frame-parameters will modify this string, thus + ;; modifying our color theme functions! + (when (and (consp elem) + (stringp (cdr elem))) + (setq elem (cons (car elem) + (copy-sequence (cdr elem))))) + ;; Now store elem + (setq new-list (cons elem new-list)))) + new-list)) + +(defun color-theme-spec-filter (spec) + "Filter the attributes in SPEC. +This makes sure that SPEC has the form ((t (PLIST ...))). +Only properties not in `color-theme-illegal-default-attributes' +are included in the SPEC returned." + (let ((props (cadar spec)) + result prop val) + (while props + (setq prop (nth 0 props) + val (nth 1 props) + props (nthcdr 2 props)) + (unless (memq prop color-theme-illegal-default-attributes) + (setq result (cons val (cons prop result))))) + `((t ,(nreverse result))))) + +;; (color-theme-spec-filter '((t (:background "blue3")))) +;; (color-theme-spec-filter '((t (:stipple nil :background "Black" :foreground "SteelBlue" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width semi-condensed :family "misc-fixed")))) + +(defun color-theme-plist-delete (plist prop) + "Delete property PROP from property list PLIST by side effect. +This modifies PLIST." + ;; deal with prop at the start + (while (eq (car plist) prop) + (setq plist (cddr plist))) + ;; deal with empty plist + (when plist + (let ((lastcell (cdr plist)) + (l (cddr plist))) + (while l + (if (eq (car l) prop) + (progn + (setq l (cddr l)) + (setcdr lastcell l)) + (setq lastcell (cdr l) + l (cddr l)))))) + plist) + +;; (color-theme-plist-delete '(a b c d e f g h) 'a) +;; (color-theme-plist-delete '(a b c d e f g h) 'b) +;; (color-theme-plist-delete '(a b c d e f g h) 'c) +;; (color-theme-plist-delete '(a b c d e f g h) 'g) +;; (color-theme-plist-delete '(a b c d c d e f g h) 'c) +;; (color-theme-plist-delete '(a b c d e f c d g h) 'c) + +(if (or (featurep 'xemacs) + (< emacs-major-version 21)) + (defalias 'color-theme-spec-compat 'identity) + (defun color-theme-spec-compat (spec) + "Filter the attributes in SPEC such that is is never invalid. +Example: Eventhough :bold works in Emacs, it is not recognized by +`customize-face' -- and then the face is uncustomizable. This +function replaces a :bold attribute with the corresponding :weight +attribute, if there is no :weight, or deletes it. This undoes the +doings of `color-theme-spec-canonical-font', more or less." + (let ((props (cadar spec))) + (when (plist-member props :bold) + (setq props (color-theme-plist-delete props :bold)) + (unless (plist-member props :weight) + (setq props (plist-put props :weight 'bold)))) + (when (plist-member props :italic) + (setq props (color-theme-plist-delete props :italic)) + (unless (plist-member props :slant) + (setq props (plist-put props :slant 'italic)))) + `((t ,props))))) + +;; (color-theme-spec-compat '((t (:foreground "blue" :bold t)))) +;; (color-theme-spec-compat '((t (:bold t :foreground "blue" :weight extra-bold)))) +;; (color-theme-spec-compat '((t (:italic t :foreground "blue")))) +;; (color-theme-spec-compat '((t (:slant oblique :italic t :foreground "blue")))) + +(defun color-theme-spec-canonical-font (atts) + "Add :bold and :italic attributes if necessary." + ;; add these to the front of atts -- this will keept the old value for + ;; customize-face in Emacs 21. + (when (and (memq (plist-get atts :weight) + '(ultra-bold extra-bold bold semi-bold)) + (not (plist-get atts :bold))) + (setq atts (cons :bold (cons t atts)))) + (when (and (not (memq (plist-get atts :slant) + '(normal nil))) + (not (plist-get atts :italic))) + (setq atts (cons :italic (cons t atts)))) + atts) +;; (color-theme-spec-canonical-font (color-theme-face-attr-construct 'bold (selected-frame))) +;; (defface foo '((t (:weight extra-bold))) "foo") +;; (color-theme-spec-canonical-font (color-theme-face-attr-construct 'foo (selected-frame))) +;; (face-spec-set 'foo '((t (:weight extra-bold))) nil) +;; (face-spec-set 'foo '((t (:bold t))) nil) +;; (face-spec-set 'foo '((t (:bold t :weight extra-bold))) nil) + +;; Handle :height according to NEWS file for Emacs 21 +(defun color-theme-spec-resolve-height (old new) + "Return the new height given OLD and NEW height. +OLD is the current setting, NEW is the setting inherited from." + (cond ((not old) + new) + ((integerp old) + old) + ((and (floatp old) + (integerp new)) + (round (* old new))) + ((and (floatp old) + (floatp new)) + (* old new)) + ((and (functionp old) + (integerp new)) + (round (funcall old new))) + ((and (functionp old) + (float new)) + `(lambda (f) (* (funcall ,old f) ,new))) + ((and (functionp old) + (functionp new)) + `(lambda (f) (* (funcall ,old (funcall ,new f))))) + (t + (error "Illegal :height attributes: %S or %S" old new)))) +;; (color-theme-spec-resolve-height 12 1.2) +;; (color-theme-spec-resolve-height 1.2 1.2) +;; (color-theme-spec-resolve-height 1.2 12) +;; (color-theme-spec-resolve-height 1.2 'foo) +;; (color-theme-spec-resolve-height (lambda (f) (* 2 f)) 5) +;; (color-theme-spec-resolve-height (lambda (f) (* 2 f)) 2.0) +;; the following lambda is the result from the above calculation +;; (color-theme-spec-resolve-height (lambda (f) (* (funcall (lambda (f) (* 2 f)) f) 2.0)) 5) + +(defun color-theme-spec-resolve-inheritance (atts) + "Resolve all occurences of the :inherit attribute." + (let ((face (plist-get atts :inherit))) + ;; From the Emacs 21 NEWS file: "Attributes from inherited faces are + ;; merged into the face like an underlying face would be." -- + ;; therefore properties of the inherited face only add missing + ;; attributes. + (when face + ;; remove :inherit face from atts -- this assumes only one + ;; :inherit attribute. + (setq atts (delq ':inherit (delq face atts))) + (let ((more-atts (color-theme-spec-resolve-inheritance + (color-theme-face-attr-construct + face (selected-frame)))) + att val) + (while more-atts + (setq att (car more-atts) + val (cadr more-atts) + more-atts (cddr more-atts)) + ;; Color-theme assumes that no value is ever 'unspecified. + (cond ((eq att ':height); cumulative effect! + (setq atts (plist-put atts + ':height + (color-theme-spec-resolve-height + (plist-get atts att) + val)))) + ;; Default: Only put if it has not been specified before. + ((not (plist-get atts att)) + (setq atts (cons att (cons val atts)))) + +)))) + atts)) +;; (color-theme-spec-resolve-inheritance '(:bold t)) +;; (color-theme-spec-resolve-inheritance '(:bold t :foreground "blue")) +;; (color-theme-face-attr-construct 'font-lock-comment-face (selected-frame)) +;; (color-theme-spec-resolve-inheritance '(:bold t :inherit font-lock-comment-face)) +;; (color-theme-spec-resolve-inheritance '(:bold t :foreground "red" :inherit font-lock-comment-face)) +;; (color-theme-face-attr-construct 'Info-title-2-face (selected-frame)) +;; (color-theme-face-attr-construct 'Info-title-3-face (selected-frame)) +;; (color-theme-face-attr-construct 'Info-title-4-face (selected-frame)) +;; (color-theme-spec-resolve-inheritance '(:inherit Info-title-2-face)) + +;; The :inverse-video attribute causes Emacs to swap foreground and +;; background colors, XEmacs does not. Therefore, if anybody chooses +;; the inverse-video attribute, we 1. swap the colors ourselves in Emacs +;; and 2. we remove the inverse-video attribute in Emacs and XEmacs. +;; Inverse-video is only useful on a monochrome tty. +(defun color-theme-spec-maybe-invert (atts) + "Remove the :inverse-video attribute from ATTS. +If ATTS contains :inverse-video t, remove it and swap foreground and +background color. Return ATTS." + (let ((inv (plist-get atts ':inverse-video))) + (if inv + (let (result att) + (while atts + (setq att (car atts) + atts (cdr atts)) + (cond ((and (eq att :foreground) (not color-theme-xemacs-p)) + (setq result (cons :background result))) + ((and (eq att :background) (not color-theme-xemacs-p)) + (setq result (cons :foreground result))) + ((eq att :inverse-video) + (setq atts (cdr atts))); this prevents using dolist + (t + (setq result (cons att result))))) + (nreverse result)) + ;; else + atts))) +;; (color-theme-spec-maybe-invert '(:bold t)) +;; (color-theme-spec-maybe-invert '(:foreground "blue")) +;; (color-theme-spec-maybe-invert '(:background "red")) +;; (color-theme-spec-maybe-invert '(:inverse-video t)) +;; (color-theme-spec-maybe-invert '(:inverse-video t :foreground "red")) +;; (color-theme-spec-maybe-invert '(:inverse-video t :background "red")) +;; (color-theme-spec-maybe-invert '(:inverse-video t :background "red" :foreground "blue" :bold t)) +;; (color-theme-spec-maybe-invert '(:inverse-video nil :background "red" :foreground "blue" :bold t)) + +(defun color-theme-spec (face) + "Return a list for FACE which has the form (FACE SPEC). +See `defface' for the format of SPEC. In this case we use only one +DISPLAY, t, and determine ATTS using `color-theme-face-attr-construct'. +If ATTS is nil, (nil) is used instead. + +If ATTS contains :inverse-video t, we remove it and swap foreground and +background color using `color-theme-spec-maybe-invert'. We do this +because :inverse-video is handled differently in Emacs and XEmacs. We +will loose on a tty without colors, because in that situation, +:inverse-video means something." + (let ((atts + (color-theme-spec-canonical-font + (color-theme-spec-maybe-invert + (color-theme-spec-resolve-inheritance + (color-theme-face-attr-construct face (selected-frame))))))) + (if atts + `(,face ((t ,atts))) + `(,face ((t (nil))))))) + +(defun color-theme-get-params () + "Return a list of frame parameter settings usable in a color theme. +Such an alist may be installed by `color-theme-install-frame-params'. The +frame parameters returned must match `color-theme-legal-frame-parameters'." + (let ((params (color-theme-filter (frame-parameters (selected-frame)) + color-theme-legal-frame-parameters))) + (sort params (lambda (a b) (string< (symbol-name (car a)) + (symbol-name (car b))))))) + +(defun color-theme-get-vars () + "Return a list of variable settings usable in a color theme. +Such an alist may be installed by `color-theme-install-variables'. +The variable names must match `color-theme-legal-variables', and the +variable must be a user variable according to `user-variable-p'." + (let ((vars) + (val)) + (mapatoms (lambda (v) + (and (boundp v) + (user-variable-p v) + (string-match color-theme-legal-variables + (symbol-name v)) + (setq val (eval v)) + (add-to-list 'vars (cons v val))))) + (sort vars (lambda (a b) (string< (car a) (car b)))))) + +(defun color-theme-print-alist (alist) + "Print ALIST." + (insert "\n " (if alist "(" "nil")) + (dolist (elem alist) + (when (= (preceding-char) ?\)) + (insert "\n ")) + (prin1 elem (current-buffer))) + (when (= (preceding-char) ?\)) (insert ")"))) + +(defun color-theme-get-faces () + "Return a list of faces usable in a color theme. +Such an alist may be installed by `color-theme-install-faces'. The +faces returned must not match `color-theme-illegal-faces'." + (let ((faces (color-theme-filter (face-list) color-theme-illegal-faces t))) + ;; default face must come first according to comments in + ;; custom-save-faces, the rest is to be sorted by name + (cons 'default (sort (delq 'default faces) 'string-lessp)))) + +(defun color-theme-get-face-definitions () + "Return face settings usable in a color-theme." + (let ((faces (color-theme-get-faces))) + (mapcar 'color-theme-spec faces))) + +(defun color-theme-print-faces (faces) + "Print face settings for all faces returned by `color-theme-get-faces'." + (when faces + (insert "\n ")) + (dolist (face faces) + (when (= (preceding-char) ?\)) + (insert "\n ")) + (prin1 face (current-buffer)))) + +(defun color-theme-reset-faces () + "Reset face settings for all faces returned by `color-theme-get-faces'." + (let ((faces (color-theme-get-faces)) + (face) (spec) (entry) + (frame (if color-theme-is-global nil (selected-frame)))) + (while faces + (setq entry (color-theme-spec (car faces))) + (setq face (nth 0 entry)) + (setq spec '((t (nil)))) + (setq faces (cdr faces)) + (if (functionp 'face-spec-reset-face) + (face-spec-reset-face face frame) + (face-spec-set face spec frame) + (if color-theme-is-global + (put face 'face-defface-spec spec)))))) + +(defun color-theme-print-theme (func doc params vars faces) + "Print a theme into the current buffer. +FUNC is the function name, DOC the doc string, PARAMS the +frame parameters, VARS the variable bindings, and FACES +the list of faces and their specs." + (insert "(defun " (symbol-name func) " ()\n" + " \"" doc "\"\n" + " (interactive)\n" + " (color-theme-install\n" + " '(" (symbol-name func)) + ;; alist of frame parameters + (color-theme-print-alist params) + ;; alist of variables + (color-theme-print-alist vars) + ;; remaining elements of snapshot: face specs + (color-theme-print-faces faces) + (insert ")))\n") + (insert "(add-to-list 'color-themes '(" (symbol-name func) " " + " \"THEME NAME\" \"YOUR NAME\"))") + (goto-char (point-min))) + +;;;###autoload +(defun color-theme-print (&optional buf) + "Print the current color theme function. + +You can contribute this function to or +paste it into your .emacs file and call it. That should recreate all +the settings necessary for your color theme. + +Example: + + \(require 'color-theme) + \(defun my-color-theme () + \"Color theme by Alex Schroeder, created 2000-05-17.\" + \(interactive) + \(color-theme-install + '(... + ... + ...))) + \(my-color-theme) + +If you want to use a specific color theme function, you can call the +color theme function in your .emacs directly. + +Example: + + \(require 'color-theme) + \(color-theme-gnome2)" + (interactive) + (message "Pretty printing current color theme function...") + (switch-to-buffer (if buf + buf + (get-buffer-create "*Color Theme*"))) + (unless buf + (setq buffer-read-only nil) + (erase-buffer)) + ;; insert defun + (insert "(eval-when-compile" + " (require 'color-theme))\n") + (color-theme-print-theme 'my-color-theme + (concat "Color theme by " + (if (string= "" user-full-name) + (user-login-name) + user-full-name) + ", created " (format-time-string "%Y-%m-%d") ".") + (color-theme-get-params) + (color-theme-get-vars) + (mapcar 'color-theme-spec (color-theme-get-faces))) + (unless buf + (emacs-lisp-mode)) + (goto-char (point-min)) + (message "Pretty printing current color theme function... done")) + +(defun color-theme-analyze-find-theme (code) + "Find the sexpr that calls `color-theme-install'." + (let (theme) + (while (and (not theme) code) + (when (eq (car code) 'color-theme-install) + (setq theme code)) + (when (listp (car code)) + (setq theme (color-theme-analyze-find-theme (car code)))) + (setq code (cdr code))) + theme)) + +;; (equal (color-theme-analyze-find-theme +;; '(defun color-theme-blue-eshell () +;; "Color theme for eshell faces only." +;; (color-theme-install +;; '(color-theme-blue-eshell +;; nil +;; (eshell-ls-archive-face ((t (:bold t :foreground "IndianRed")))) +;; (eshell-ls-backup-face ((t (:foreground "Grey")))))))) +;; '(color-theme-install +;; (quote +;; (color-theme-blue-eshell +;; nil +;; (eshell-ls-archive-face ((t (:bold t :foreground "IndianRed")))) +;; (eshell-ls-backup-face ((t (:foreground "Grey"))))))))) + +(defun color-theme-analyze-add-face (a b regexp faces) + "If only one of A or B are in FACES, the other is added, and FACES is returned. +If REGEXP is given, this is only done if faces contains a match for regexps." + (when (or (not regexp) + (catch 'found + (dolist (face faces) + (when (string-match regexp (symbol-name (car face))) + (throw 'found t))))) + (let ((face-a (assoc a faces)) + (face-b (assoc b faces))) + (if (and face-a (not face-b)) + (setq faces (cons (list b (nth 1 face-a)) + faces)) + (if (and (not face-a) face-b) + (setq faces (cons (list a (nth 1 face-b)) + faces)))))) + faces) + +;; (equal (color-theme-analyze-add-face +;; 'blue 'violet nil +;; '((blue ((t (:foreground "blue")))) +;; (bold ((t (:bold t)))))) +;; '((violet ((t (:foreground "blue")))) +;; (blue ((t (:foreground "blue")))) +;; (bold ((t (:bold t)))))) +;; (equal (color-theme-analyze-add-face +;; 'violet 'blue nil +;; '((blue ((t (:foreground "blue")))) +;; (bold ((t (:bold t)))))) +;; '((violet ((t (:foreground "blue")))) +;; (blue ((t (:foreground "blue")))) +;; (bold ((t (:bold t)))))) +;; (equal (color-theme-analyze-add-face +;; 'violet 'blue "foo" +;; '((blue ((t (:foreground "blue")))) +;; (bold ((t (:bold t)))))) +;; '((blue ((t (:foreground "blue")))) +;; (bold ((t (:bold t)))))) +;; (equal (color-theme-analyze-add-face +;; 'violet 'blue "blue" +;; '((blue ((t (:foreground "blue")))) +;; (bold ((t (:bold t)))))) +;; '((violet ((t (:foreground "blue")))) +;; (blue ((t (:foreground "blue")))) +;; (bold ((t (:bold t)))))) + +(defun color-theme-analyze-add-faces (faces) + "Add missing faces to FACES and return it." + ;; The most important thing is to add missing faces for the other + ;; editor. These are the most important faces to check. The + ;; following rules list two faces, A and B. If either of the two is + ;; part of the theme, the other must be, too. The optional third + ;; argument specifies a regexp. Only if an existing face name + ;; matches this regexp, is the rule applied. + (let ((rules '((font-lock-builtin-face font-lock-reference-face) + (font-lock-doc-face font-lock-doc-string-face) + (font-lock-constant-face font-lock-preprocessor-face) + ;; In Emacs 21 `modeline' is just an alias for + ;; `mode-line'. I recommend the use of + ;; `modeline' until further notice. + (modeline mode-line) + (modeline modeline-buffer-id) + (modeline modeline-mousable) + (modeline modeline-mousable-minor-mode) + (region primary-selection) + (region zmacs-region) + (font-lock-string-face dired-face-boring "^dired") + (font-lock-function-name-face dired-face-directory "^dired") + (default dired-face-executable "^dired") + (font-lock-warning-face dired-face-flagged "^dired") + (font-lock-warning-face dired-face-marked "^dired") + (default dired-face-permissions "^dired") + (default dired-face-setuid "^dired") + (default dired-face-socket "^dired") + (font-lock-keyword-face dired-face-symlink "^dired") + (tool-bar menu)))) + (dolist (rule rules) + (setq faces (color-theme-analyze-add-face + (nth 0 rule) (nth 1 rule) (nth 2 rule) faces)))) + ;; The `fringe' face defines what the left and right borders of the + ;; frame look like in Emacs 21. To give them default fore- and + ;; background colors, use (fringe ((t (nil)))) in your color theme. + ;; Usually it makes more sense to choose a color slightly lighter or + ;; darker from the default background. + (unless (assoc 'fringe faces) + (setq faces (cons '(fringe ((t (nil)))) faces))) + ;; The tool-bar should not be part of the frame-parameters, since it + ;; should not appear or disappear depending on the color theme. The + ;; apppearance of the toolbar, however, can be changed by the color + ;; theme. For Emacs 21, use the `tool-bar' face. The easiest way + ;; to do this is to give it the default fore- and background colors. + ;; This can be achieved using (tool-bar ((t (nil)))) in the theme. + ;; Usually it makes more sense, however, to provide the same colors + ;; as used in the `menu' face, and to specify a :box attribute. In + ;; order to alleviate potential Emacs/XEmacs incompatibilities, + ;; `toolbar' will be defined as an alias for `tool-bar' if it does + ;; not exist, and vice-versa. This is done eventhough the face + ;; `toolbar' seems to have no effect on XEmacs. If you look at + ;; XEmacs lisp/faces.el, however, you will find that it is in fact + ;; referenced for XPM stuff. + (unless (assoc 'tool-bar faces) + (setq faces (cons '(tool-bar ((t (nil)))) faces))) + ;; Move the default face back to the front, and sort the rest. + (unless (eq (caar faces) 'default) + (let ((face (assoc 'default faces))) + (setq faces (cons face + (sort (delete face faces) + (lambda (a b) + (string-lessp (car a) (car b)))))))) + faces) + +(defun color-theme-analyze-remove-heights (faces) + "Remove :height property where it is an integer and return FACES." + ;; I don't recommend making font sizes part of a color theme. Most + ;; users would be surprised to see their font sizes change when they + ;; install a color-theme. Therefore, remove all :height attributes + ;; if the value is an integer. If the value is a float, this is ok + ;; -- the value is relative to the default height. One notable + ;; exceptions is for a color-theme created for visually impaired + ;; people. These *must* use a larger font in order to be usable. + (let (result) + (dolist (face faces) + (let ((props (cadar (nth 1 face)))) + (if (and (plist-member props :height) + (integerp (plist-get props :height))) + (setq props (color-theme-plist-delete props :height) + result (cons (list (car face) `((t ,props))) + result)) + (setq result (cons face result))))) + (nreverse result))) + +;; (equal (color-theme-analyze-remove-heights +;; '((blue ((t (:foreground "blue" :height 2)))) +;; (bold ((t (:bold t :height 1.0)))))) +;; '((blue ((t (:foreground "blue")))) +;; (bold ((t (:bold t :height 1.0)))))) + +;;;###autoload +(defun color-theme-analyze-defun () + "Once you have a color-theme printed, check for missing faces. +This is used by maintainers who receive a color-theme submission +and want to make sure it follows the guidelines by the color-theme +author." + ;; The support for :foreground and :background attributes works for + ;; Emacs 20 and 21 as well as for XEmacs. :inverse-video is taken + ;; care of while printing color themes. + (interactive) + ;; Parse the stuff and find the call to color-theme-install + (save-excursion + (save-restriction + (narrow-to-defun) + ;; define the function + (eval-defun nil) + (goto-char (point-min)) + (let* ((code (read (current-buffer))) + (theme (color-theme-canonic + (eval + (cadr + (color-theme-analyze-find-theme + code))))) + (func (color-theme-function theme)) + (doc (documentation func t)) + (variables (color-theme-variables theme)) + (faces (color-theme-faces theme)) + (params (color-theme-frame-params theme))) + (setq faces (color-theme-analyze-remove-heights + (color-theme-analyze-add-faces faces))) + ;; Remove any variable bindings of faces that point to their + ;; symbol? Perhaps not, because another theme might want to + ;; change this, so it is important to be able to reset them. + ;; (let (result) + ;; (dolist (var variables) + ;; (unless (eq (car var) (cdr var)) + ;; (setq result (cons var result)))) + ;; (setq variables (nreverse result))) + ;; Now modify the theme directly. + (setq theme (color-theme-analyze-find-theme code)) + (setcdr (cadadr theme) (list params variables faces)) + (message "Pretty printing analysed color theme function...") + (with-current-buffer (get-buffer-create "*Color Theme*") + (setq buffer-read-only nil) + (erase-buffer) + ;; insert defun + (color-theme-print-theme func doc params variables faces) + (emacs-lisp-mode)) + (message "Pretty printing analysed color theme function... done") + (ediff-buffers (current-buffer) + (get-buffer "*Color Theme*")))))) + +;;; Creating a snapshot of the current color theme + +(defun color-theme-snapshot nil) + +;;;###autoload +(defun color-theme-make-snapshot () + "Return the definition of the current color-theme. +The function returned will recreate the color-theme in use at the moment." + (eval `(lambda () + "The color theme in use when the selection buffer was created. +\\[color-theme-select] creates the color theme selection buffer. At the +same time, this snapshot is created as a very simple undo mechanism. +The snapshot is created via `color-theme-snapshot'." + (interactive) + (color-theme-install + '(color-theme-snapshot + ;; alist of frame parameters + ,(color-theme-get-params) + ;; alist of variables + ,(color-theme-get-vars) + ;; remaining elements of snapshot: face specs + ,@(color-theme-get-face-definitions)))))) + + + +;;; Handling the various parts of a color theme install + +(defvar color-theme-frame-param-frobbing-rules + '((foreground-color default foreground) + (background-color default background)) + "List of rules to use when frobbing faces based on frame parameters. +This is only necessary for XEmacs, because in Emacs 21 changing the +frame paramters automatically affects the relevant faces.") + +;; fixme: silent the bytecompiler with set-face-property +(defun color-theme-frob-faces (params) + "Change certain faces according to PARAMS. +This uses `color-theme-frame-param-frobbing-rules'." + (dolist (rule color-theme-frame-param-frobbing-rules) + (let* ((param (nth 0 rule)) + (face (nth 1 rule)) + (prop (nth 2 rule)) + (val (cdr (assq param params))) + (frame (if color-theme-is-global nil (selected-frame)))) + (when val + (set-face-property face prop val frame))))) + +(defun color-theme-alist-reduce (old-list) + "Reduce OLD-LIST. +The resulting list will be newly allocated and will not contain any elements +with duplicate cars. This will speed the installation of new themes by +only installing unique attributes." + (let (new-list) + (dolist (elem old-list) + (when (not (assq (car elem) new-list)) + (setq new-list (cons elem new-list)))) + new-list)) + +(defun color-theme-install-frame-params (params) + "Change frame parameters using alist PARAMETERS. + +If `color-theme-is-global' is non-nil, all frames are modified using +`modify-frame-parameters' and the PARAMETERS are prepended to +`default-frame-alist'. The value of `initial-frame-alist' is not +modified. If `color-theme-is-global' is nil, only the selected frame is +modified. If `color-theme-is-cumulative' is nil, the frame parameters +are restored from `color-theme-original-frame-alist'. + +If the current frame parameters have a parameter `minibuffer' with +value `only', then the frame parameters are not installed, since this +indicates a dedicated minibuffer frame. + +Called from `color-theme-install'." + (setq params (color-theme-filter + params color-theme-legal-frame-parameters)) + ;; We have a new list in params now, therefore we may use + ;; destructive nconc. + (if color-theme-is-global + (let ((frames (frame-list))) + (if (or color-theme-is-cumulative + (null color-theme-original-frame-alist)) + (setq default-frame-alist + (append params (color-theme-alist default-frame-alist)) + minibuffer-frame-alist + (append params (color-theme-alist minibuffer-frame-alist))) + (setq default-frame-alist + (append params color-theme-original-frame-alist) + minibuffer-frame-alist + (append params (color-theme-alist minibuffer-frame-alist)))) + (setq default-frame-alist + (color-theme-alist-reduce default-frame-alist) + minibuffer-frame-alist + (color-theme-alist-reduce minibuffer-frame-alist)) + (dolist (frame frames) + (let ((params (if (eq 'only (cdr (assq 'minibuffer (frame-parameters frame)))) + minibuffer-frame-alist + default-frame-alist))) + (condition-case var + (modify-frame-parameters frame params) + (error (message "Error using params %S: %S" params var)))))) + (condition-case var + (modify-frame-parameters (selected-frame) params) + (error (message "Error using params %S: %S" params var)))) + (when color-theme-xemacs-p + (color-theme-frob-faces params))) + +;; (setq default-frame-alist (cons '(height . 30) default-frame-alist)) + +(defun color-theme-install-variables (vars) + "Change variables using alist VARS. +All variables matching `color-theme-legal-variables' are set. + +If `color-theme-is-global' and `color-theme-xemacs-p' are nil, variables +are made frame-local before setting them. Variables are set using `set' +in either case. This may lead to problems if changing the variable +requires the usage of the function specified with the :set tag in +defcustom declarations. + +Called from `color-theme-install'." + (let ((vars (color-theme-filter vars color-theme-legal-variables))) + (dolist (var vars) + (if (or color-theme-is-global color-theme-xemacs-p) + (set (car var) (cdr var)) + (make-variable-frame-local (car var)) + (modify-frame-parameters (selected-frame) (list var)))))) + +(defun color-theme-install-faces (faces) + "Change faces using FACES. + +Change faces for all frames and create any faces listed in FACES which +don't exist. The modified faces will be marked as \"unchanged from +its standard setting\". This is OK, since the changes made by +installing a color theme should never by saved in .emacs by +customization code. + +FACES should be a list where each entry has the form: + + (FACE SPEC) + +See `defface' for the format of SPEC. + +If `color-theme-is-global' is non-nil, faces are modified on all frames +using `face-spec-set'. If `color-theme-is-global' is nil, faces are +only modified on the selected frame. Non-existing faces are created +using `make-empty-face' in either case. If `color-theme-is-cumulative' +is nil, all faces are reset before installing the new faces. + +Called from `color-theme-install'." + ;; clear all previous faces + (when (not color-theme-is-cumulative) + (color-theme-reset-faces)) + ;; install new faces + (let ((faces (color-theme-filter faces color-theme-illegal-faces t)) + (frame (if color-theme-is-global nil (selected-frame)))) + (dolist (entry faces) + (let ((face (nth 0 entry)) + (spec (nth 1 entry))) + (or (facep face) + (make-empty-face face)) + ;; remove weird properties from the default face only + (when (eq face 'default) + (setq spec (color-theme-spec-filter spec))) + ;; Emacs/XEmacs customization issues: filter out :bold when + ;; the spec contains :weight, etc, such that the spec remains + ;; "valid" for custom. + (setq spec (color-theme-spec-compat spec)) + ;; using a spec of ((t (nil))) to reset a face doesn't work + ;; in Emacs 21, we use the new function face-spec-reset-face + ;; instead + (if (and (functionp 'face-spec-reset-face) + (equal spec '((t (nil))))) + (face-spec-reset-face face frame) + (condition-case var + (progn + (face-spec-set face spec frame) + (if color-theme-is-global + (put face 'face-defface-spec spec))) + (error (message "Error using spec %S: %S" spec var)))))))) + +;; `custom-set-faces' is unusable here because it doesn't allow to set +;; the faces for one frame only. + +;; Emacs `face-spec-set': If FRAME is nil, the face is created and +;; marked as a customized face. This is achieved by setting the +;; `face-defface-spec' property. If we don't, new frames will not be +;; created using the face we installed because `face-spec-set' is +;; broken: If given a FRAME of nil, it will not set the default faces; +;; instead it will walk through all the frames and set modify the faces. +;; If we do set a property (`saved-face' or `face-defface-spec'), +;; `make-frame' will correctly use the faces we defined with our color +;; theme. If we used the property `saved-face', +;; `customize-save-customized' will save all the faces installed as part +;; of a color-theme in .emacs. That's why we use the +;; `face-defface-spec' property. + + + +;;; Theme accessor functions, canonicalization, merging, comparing + +(defun color-theme-canonic (theme) + "Return the canonic form of THEME. +This deals with all the backwards compatibility stuff." + (let (function frame-params variables faces) + (when (functionp (car theme)) + (setq function (car theme) + theme (cdr theme))) + (setq frame-params (car theme) + theme (cdr theme)) + ;; optional variable defintions (for backwards compatibility) + (when (listp (caar theme)) + (setq variables (car theme) + theme (cdr theme))) + ;; face definitions + (setq faces theme) + (list function frame-params variables faces))) + +(defun color-theme-function (theme) + "Return function used to create THEME." + (nth 0 theme)) + +(defun color-theme-frame-params (theme) + "Return frame-parameters defined by THEME." + (nth 1 theme)) + +(defun color-theme-variables (theme) + "Return variables set by THEME." + (nth 2 theme)) + +(defun color-theme-faces (theme) + "Return faces defined by THEME." + (nth 3 theme)) + +(defun color-theme-merge-alists (&rest alists) + "Merges all the alist arguments into one alist. +Only the first instance of every key will be part of the resulting +alist. Membership will be tested using `assq'." + (let (result) + (dolist (l alists) + (dolist (entry l) + (unless (assq (car entry) result) + (setq result (cons entry result))))) + (nreverse result))) +;; (color-theme-merge-alists '((a . 1) (b . 2))) +;; (color-theme-merge-alists '((a . 1) (b . 2) (a . 3))) +;; (color-theme-merge-alists '((a . 1) (b . 2)) '((a . 3))) +;; (color-theme-merge-alists '((a . 1) (b . 2)) '((c . 3))) +;; (color-theme-merge-alists '((a . 1) (b . 2)) '((c . 3) (d . 4))) +;; (color-theme-merge-alists '((a . 1) (b . 2)) '((c . 3) (d . 4) (b . 5))) + +;;;###autoload +(defun color-theme-compare (theme-a theme-b) + "Compare two color themes. +This will print the differences between installing THEME-A and +installing THEME-B. Note that the order is important: If a face is +defined in THEME-A and not in THEME-B, then this will not show up as a +difference, because there is no reset before installing THEME-B. If a +face is defined in THEME-B and not in THEME-A, then this will show up as +a difference." + (interactive + (list + (intern + (completing-read "Theme A: " + (mapcar (lambda (i) (list (symbol-name (car i)))) + color-themes) + (lambda (i) (string-match "color-theme" (car i))))) + (intern + (completing-read "Theme B: " + (mapcar (lambda (i) (list (symbol-name (car i)))) + color-themes) + (lambda (i) (string-match "color-theme" (car i))))))) + ;; install the themes in a new frame and get the definitions + (let ((color-theme-is-global nil)) + (select-frame (make-frame)) + (funcall theme-a) + (setq theme-a (list theme-a + (color-theme-get-params) + (color-theme-get-vars) + (color-theme-get-face-definitions))) + (funcall theme-b) + (setq theme-b (list theme-b + (color-theme-get-params) + (color-theme-get-vars) + (color-theme-get-face-definitions))) + (delete-frame)) + (let ((params (set-difference + (color-theme-frame-params theme-b) + (color-theme-frame-params theme-a) + :test 'equal)) + (vars (set-difference + (color-theme-variables theme-b) + (color-theme-variables theme-a) + :test 'equal)) + (faces (set-difference + (color-theme-faces theme-b) + (color-theme-faces theme-a) + :test 'equal))) + (list 'diff + params + vars + faces))) + + + +;;; Installing a color theme +;;;###autoload +(defun color-theme-install (theme) + "Install a color theme defined by frame parameters, variables and faces. + +The theme is installed for all present and future frames; any missing +faces are created. See `color-theme-install-faces'. + +THEME is a color theme definition. See below for more information. + +If you want to install a color theme from your .emacs, use the output +generated by `color-theme-print'. This produces color theme function +which you can copy to your .emacs. + +A color theme definition is a list: +\([FUNCTION] FRAME-PARAMETERS VARIABLE-SETTINGS FACE-DEFINITIONS) + +FUNCTION is the color theme function which called `color-theme-install'. +This is no longer used. There was a time when this package supported +automatic factoring of color themes. This has been abandoned. + +FRAME-PARAMETERS is an alist of frame parameters. These are installed +with `color-theme-install-frame-params'. These are installed last such +that any changes to the default face can be changed by the frame +parameters. + +VARIABLE-DEFINITIONS is an alist of variable settings. These are +installed with `color-theme-install-variables'. + +FACE-DEFINITIONS is an alist of face definitions. These are installed +with `color-theme-install-faces'. + +If `color-theme-is-cumulative' is nil, a color theme will undo face and +frame-parameter settings of previous color themes." + (setq theme (color-theme-canonic theme)) + (color-theme-install-variables (color-theme-variables theme)) + (color-theme-install-faces (color-theme-faces theme)) + ;; frame parameters override faces + (color-theme-install-frame-params (color-theme-frame-params theme)) + (when color-theme-history-max-length + (color-theme-add-to-history + (car theme)))) + + + +;; Sharing your stuff +;;;###autoload +(defun color-theme-submit () + "Submit your color-theme to the maintainer." + (interactive) + (require 'reporter) + (let ((reporter-eval-buffer (current-buffer)) + final-resting-place + after-sep-pos + (reporter-status-message "Formatting buffer...") + (reporter-status-count 0) + (problem "Yet another color-theme") + (agent (reporter-compose-outgoing)) + (mailbuf (current-buffer)) + hookvar) + ;; do the work + (require 'sendmail) + ;; If mailbuf did not get made visible before, make it visible now. + (let (same-window-buffer-names same-window-regexps) + (pop-to-buffer mailbuf) + ;; Just in case the original buffer is not visible now, bring it + ;; back somewhere + (and pop-up-windows (display-buffer reporter-eval-buffer))) + (goto-char (point-min)) + (mail-position-on-field "to") + (insert color-theme-maintainer-address) + (mail-position-on-field "subject") + (insert problem) + ;; move point to the body of the message + (mail-text) + (setq after-sep-pos (point)) + (unwind-protect + (progn + (setq final-resting-place (point-marker)) + (goto-char final-resting-place)) + (color-theme-print (current-buffer)) + (goto-char final-resting-place) + (insert "\n\n") + (goto-char final-resting-place) + (insert "Hello there!\n\nHere's my color theme named: ") + (set-marker final-resting-place nil)) + ;; compose the minibuf message and display this. + (let* ((sendkey-whereis (where-is-internal + (get agent 'sendfunc) nil t)) + (abortkey-whereis (where-is-internal + (get agent 'abortfunc) nil t)) + (sendkey (if sendkey-whereis + (key-description sendkey-whereis) + "C-c C-c")); TBD: BOGUS hardcode + (abortkey (if abortkey-whereis + (key-description abortkey-whereis) + "M-x kill-buffer"))); TBD: BOGUS hardcode + (message "Enter a message and type %s to send or %s to abort." + sendkey abortkey)))) + + + +;; Use this to define themes +(defmacro define-color-theme (name author description &rest forms) + (let ((n name)) + `(progn + (add-to-list 'color-themes + (list ',n + (upcase-initials + (replace-in-string + (replace-in-string + (symbol-name ',n) "^color-theme-" "") "-" " ")) + ,author)) + (defun ,n () + ,description + (interactive) + ,@forms)))) + + +;;; FIXME: is this useful ?? +;;;###autoload +(defun color-theme-initialize () + "Initialize the color theme package by loading color-theme-libraries." + (interactive) + + (cond ((and (not color-theme-load-all-themes) + color-theme-directory) + (setq color-theme-libraries + (directory-files color-theme-directory t "^color-theme"))) + (color-theme-directory + (push (cdr (directory-files color-theme-directory t "^color-theme")) + color-theme-libraries))) + (dolist (library color-theme-libraries) + (load library))) + +(when nil + (setq color-theme-directory "themes/" + color-theme-load-all-themes nil) + (color-theme-initialize) +) +;; TODO: I don't like all those function names cluttering up my namespace. +;; Instead, a hashtable for the color-themes should be created. Now that +;; define-color-theme is around, it should be easy to change in just the +;; one place. + + +(provide 'color-theme) + +;;; color-theme.el ends here diff --git a/.emacs.d/csharp-mode.el b/.emacs.d/csharp-mode.el new file mode 100644 index 0000000..9cd7914 --- /dev/null +++ b/.emacs.d/csharp-mode.el @@ -0,0 +1,1977 @@ +;;; csharp-mode.el --- C# mode derived mode + +;; Author: Dylan R. E. Moonfire +;; Maintainer: Dylan R. E. Moonfire +;; Created: Feburary 2005 +;; Modified: February 2010 +;; Version: 0.7.4 - Dino Chiesa +;; Keywords: c# languages oop mode + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2 of the License, or +;; (at your option) any later version. +;; +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with this program; see the file COPYING. If not, write to +;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Commentary: +;; +;; This is a separate mode to implement the C# constructs and +;; font-locking. It is based on the java-mode example from cc-mode. +;; +;; csharp-mode requires CC Mode 5.30 or later. It works with +;; cc-mode 5.31.3, which is current at this time. +;; +;; Features: +;; +;; - font-lock and indent of C# syntax including: +;; all c# keywords and major syntax +;; attributes that decorate methods, classes, fields, properties +;; enum types +;; #if/#endif #region/#endregion +;; instance initializers +;; anonymous functions and methods +;; verbatim literal strings (those that begin with @) +;; generics +;; +;; - automagic code-doc generation when you type three slashes. +;; +;; - intelligent inserttion of matched pairs of curly braces. +;; +;; - sets the compiler regex for next-error, for csc.exe output. +;; +;; + + +;;; To use: +;; +;; put this in your .emacs: +;; +;; (autoload 'csharp-mode "csharp-mode" "Major mode for editing C# code." t) +;; +;; or: +;; +;; (require 'csharp-mode) +;; +;; +;; AND: +;; +;; (setq auto-mode-alist +;; (append '(("\\.cs$" . csharp-mode)) auto-mode-alist)) +;; (defun my-csharp-mode-fn () +;; "function that runs when csharp-mode is initialized for a buffer." +;; ...insert your code here... +;; ...most commonly, your custom key bindings ... +;; ) +;; (add-hook 'csharp-mode-hook 'my-csharp-mode-fn t) +;; +;; + + +;;; Bugs: +;; +;; Namespaces in the using statements are not fontified. Should do in +;; c-basic-matchers-before or c-basic-matchers-after. +;; +;; Method names with a preceding attribute are not fontified. +;; +;; Field/Prop names inside object initializers are fontified only +;; if the null constructor is used, with no parens. +;; +;; This code doesn't seem to work when you compile it, then +;; load/require in the emacs file. You will get an error (error +;; "`c-lang-defconst' must be used in a file") which happens because +;; cc-mode doesn't think it is in a buffer while loading directly +;; from the init. However, if you call it based on a file extension, +;; it works properly. Interestingly enough, this doesn't happen if +;; you don't byte-compile cc-mode. +;; +;; +;; +;; Todo: +;; +;; Get csharp-mode.el accepted as part of the emacs standard distribution. +;; Must contact monnier at iro.umontreal.ca to make this happen. +;; +;; +;; +;; Acknowledgements: +;; +;; Thanks to Alan Mackenzie and Stefan Monnier for answering questions +;; and making suggestions. +;; +;; + +;;; Versions: +;; +;; 0.1.0 - Initial release. +;; 0.2.0 - Fixed the identification on the "enum" keyword. +;; - Fixed the font-lock on the "base" keyword +;; 0.3.0 - Added a regex to fontify attributes. It isn't the +;; the best method, but it handles single-like attributes +;; well. +;; - Got "super" not to fontify as a keyword. +;; - Got extending classes and interfaces to fontify as something. +;; 0.4.0 - Removed the attribute matching because it broke more than +;; it fixed. +;; - Corrected a bug with namespace not being properly identified +;; and treating the class level as an inner object, which screwed +;; up formatting. +;; - Added "partial" to the keywords. +;; 0.5.0 - Found bugs with compiled cc-mode and loading from init files. +;; - Updated the eval-when-compile to code to let the mode be +;; compiled. +;; 0.6.0 - Added the c-filter-ops patch for 5.31.1 which made that +;; function in cc-langs.el unavailable. +;; - Added a csharp-lineup-region for indention #region and +;; #endregion block differently. +;; 0.7.0 - Added autoload so update-directory-autoloads works +;; (Thank you, Nikolaj Schumacher) +;; - Fontified the entire #region and #endregion lines. +;; - Initial work to get get, set, add, remove font-locked. +;; 0.7.1 - Added option to indent #if/endif with code +;; - Fixed c-opt-cpp-prefix defn (it must not include the BOL +;; char (^). +;; - proper fontification and indent of classes that inherit +;; (previously the colon was confusing the parser) +;; - reclassified namespace as a block beginner +;; - removed $ as a legal symbol char - not legal in C#. +;; - added struct to c-class-decl-kwds so indent is correct +;; within a struct. +;; 0.7.2 - Added automatic codedoc insertion. +;; 0.7.3 - Instance initializers (new Type { ... } ) and +;; (new Type() { ...} ) are now indented properly. +;; - proper fontification and indent of enums as brace-list-*, +;; including special treatment for enums that explicitly +;; inherit from an int type. Previously the colon was +;; confusing the parser. +;; - proper fontification of verbatim literal strings, +;; including those that end in slash. This edge case was not +;; handled at all before; it is now handled correctly. +;; - code cleanup and organization; removed the linefeed. +;; - intelligent curly-brace insertion +;; 0.7.4 - added a C# style +;; - using is now a keyword and gets fontified +;; - fixed a bug that had crept into the codedoc insertion +;; + + +(require 'cc-mode) + +(message (concat "Loading " load-file-name)) + + +;; ================================================================== +;; c# upfront stuff +;; ================================================================== + +;; This is a copy of the function in cc-mode which is used to handle +;; the eval-when-compile which is needed during other times. +(defun c-filter-ops (ops opgroup-filter op-filter &optional xlate) + ;; See cc-langs.el, a direct copy. + (unless (listp (car-safe ops)) + (setq ops (list ops))) + (cond ((eq opgroup-filter t) + (setq opgroup-filter (lambda (opgroup) t))) + ((not (functionp opgroup-filter)) + (setq opgroup-filter `(lambda (opgroup) + (memq opgroup ',opgroup-filter))))) + (cond ((eq op-filter t) + (setq op-filter (lambda (op) t))) + ((stringp op-filter) + (setq op-filter `(lambda (op) + (string-match ,op-filter op))))) + (unless xlate + (setq xlate 'identity)) + (c-with-syntax-table (c-lang-const c-mode-syntax-table) + (delete-duplicates + (mapcan (lambda (opgroup) + (when (if (symbolp (car opgroup)) + (when (funcall opgroup-filter (car opgroup)) + (setq opgroup (cdr opgroup)) + t) + t) + (mapcan (lambda (op) + (when (funcall op-filter op) + (let ((res (funcall xlate op))) + (if (listp res) res (list res))))) + opgroup))) + ops) + :test 'equal))) + + + +;; These are only required at compile time to get the sources for the +;; language constants. (The cc-fonts require and the font-lock +;; related constants could additionally be put inside an +;; (eval-after-load "font-lock" ...) but then some trickery is +;; necessary to get them compiled.) +(eval-when-compile + (let ((load-path + (if (and (boundp 'byte-compile-dest-file) + (stringp byte-compile-dest-file)) + (cons (file-name-directory byte-compile-dest-file) load-path) + load-path))) + (load "cc-mode" nil t) + (load "cc-fonts" nil t) + (load "cc-langs" nil t))) + +(eval-and-compile + ;; Make our mode known to the language constant system. Use Java + ;; mode as the fallback for the constants we don't change here. + ;; This needs to be done also at compile time since the language + ;; constants are evaluated then. + (c-add-language 'csharp-mode 'java-mode)) + +;; ================================================================== +;; end of c# upfront stuff +;; ================================================================== + + + + + +;; ================================================================== +;; csharp-mode utility and feature defuns +;; ================================================================== + +;; Indention: csharp-mode follows normal indention rules except for +;; when indenting the #region and #endregion blocks. This function +;; defines a custom indention to indent the #region blocks properly +;; + +(defun csharp-lineup-region (langelem) + "Indent all #region and #endregion blocks inline with code while +retaining normal column-zero indention for #if and the other +processing blocks. + +To use this indenting just put the following in your emacs file: + (c-set-offset 'cpp-macro 'csharp-lineup-region) + +An alternative is to use `csharp-lineup-if-and-region'. +" + + (save-excursion + (back-to-indentation) + (if (re-search-forward "#\\(end\\)?region" (c-point 'eol) [0]) 0 [0]))) + + + +(defun csharp-lineup-if-and-region (langelem) + +"Indent all #region/endregion blocks and #if/endif blocks inline +with code while retaining normal column-zero indention for any +other processing blocks. + +To use this indenting just put the following in your emacs file: + (c-set-offset 'cpp-macro 'csharp-lineup-if-and-region) + +Another option is to use `csharp-lineup-region'. + +" + (save-excursion + (back-to-indentation) + (if (re-search-forward "#\\(\\(end\\)?\\(if\\|region\\)\\|else\\)" (c-point 'eol) [0]) 0 [0]))) + + + + + +(defun csharp-insert-open-brace () + "Intelligently insert a pair of curly braces. This fn is most +often bound to the open-curly brace, with + + (local-set-key (kbd \"{\") 'csharp-insert-open-brace) + +The default binding for an open curly brace in cc-modes is often +`c-electric-brace' or `skeleton-pair-insert-maybe'. The former +can be configured to insert newlines around braces in various +syntactic positions. The latter inserts a pair of braces and +then does not insert a newline, and does not indent. + +This fn provides another option, with some additional +intelligence for csharp-mode. When you type an open curly, the +appropriate pair of braces appears, with spacing and indent set +in a context-sensitive manner. + +Within a string literal, you just get a pair of braces, and point +is set between them. Following an equals sign, you get a pair of +braces, with a semincolon appended. Otherwise, you +get the open brace on a new line, with the closing brace on the +line following. + +There may be another way to get this to happen appropriately just within emacs, +but I could not figure out how to do it. So I wrote this alternative. +" + (interactive) + (let + (tpoint + (in-string (string= (csharp-in-literal) "string")) + (preceding3 + (save-excursion + (and + (skip-chars-backward " ") + (> (- (point) 2) (point-min)) + (buffer-substring-no-properties (point) (- (point) 3))))) + (one-word-back + (save-excursion + (backward-word 2) + (thing-at-point 'word)))) + + (cond + + ;; Case 1: inside a string literal? + ;; -------------------------------------------- + ;; If so, then just insert a pair of braces and put the point + ;; between them. The most common case is a format string for + ;; String.Format() or Console.WriteLine(). + (in-string + (self-insert-command 1) + (insert "}") + (backward-char)) + + ;; Case 2: the open brace starts an array initializer. + ;; -------------------------------------------- + ;; When the last non-space was an equals sign or square brackets, + ;; then it's an initializer. + ((save-excursion + (backward-sexp) + (looking-at "\\(\\w+\\b *=\\|[[]]+\\)")) + (self-insert-command 1) + (insert " };") + (backward-char 3)) + + ;; Case 3: the open brace starts an instance initializer + ;; -------------------------------------------- + ;; If one-word-back was "new", then it's an object initializer. + ((string= one-word-back "new") + (save-excursion + (message "object initializer") + (setq tpoint (point)) ;; prepare to indent-region later + (newline) + (self-insert-command 1) + (newline-and-indent) + (newline) + (insert "};") + (c-indent-region tpoint (point)) + (previous-line) + (indent-according-to-mode) + (end-of-line) + (setq tpoint (point))) + (goto-char tpoint)) + + ;; Case 4: a lambda initialier. + ;; -------------------------------------------- + ;; If the open curly follows =>, then it's a lambda initializer. + ((string= (substring preceding3 -2) "=>") + (message "lambda init") + (self-insert-command 1) + (insert " }") + (backward-char 2)) + + ;; else, it's a new scope. (if, while, class, etc) + (t + (save-excursion + (message "new scope") + (set-mark (point)) ;; prepare to indent-region later + ;; check if the prior sexp is on the same line + (if (save-excursion + (let ((curline (line-number-at-pos)) + (aftline (progn + (backward-sexp) + (line-number-at-pos)))) + (= curline aftline))) + (newline-and-indent)) + (self-insert-command 1) + (c-indent-line-or-region) + (end-of-line) + (newline) + (insert "}") + ;;(c-indent-command) ;; not sure of the difference here + (c-indent-line-or-region) + (previous-line) + (end-of-line) + (newline-and-indent) + ;; point ends up on an empty line, within the braces, properly indented + (setq tpoint (point))) + + (goto-char tpoint))))) + + + + +;; ================================================================== +;; end of csharp-mode utility and feature defuns +;; ================================================================== + + + + + + +;; ================================================================== +;; c# values for "language constants" defined in cc-langs.el +;; ================================================================== + + +;; Java uses a series of regexes to change the font-lock for class +;; references. The problem comes in because Java uses Pascal (leading +;; space in names, SomeClass) for class and package names, but +;; Camel-casing (initial lowercase, upper case in words, +;; i.e. someVariable) for variables. The notation suggested by EMCA for C# is +;; to use Pascal notation for everything, except inner variables. So, +;; the Java regex and formatting produces very wrong results in C#. +;;(error (byte-compile-dest-file)) +;;(error (c-get-current-file)) +(c-lang-defconst c-opt-after-id-concat-key + csharp (if (c-lang-const c-opt-identifier-concat-key) + (c-lang-const c-symbol-start))) + +(c-lang-defconst c-basic-matchers-before + csharp `( + ;;;; Font-lock the attributes by searching for the + ;;;; appropriate regex and marking it as TODO. + ;;,`(,(concat "\\(" csharp-attribute-regex "\\)") + ;; 0 font-lock-function-name-face) + + ;; Put a warning face on the opener of unclosed strings that + ;; can't span lines. Later font + ;; lock packages have a `font-lock-syntactic-face-function' for + ;; this, but it doesn't give the control we want since any + ;; fontification done inside the function will be + ;; unconditionally overridden. + ,(c-make-font-lock-search-function + ;; Match a char before the string starter to make + ;; `c-skip-comments-and-strings' work correctly. + (concat ".\\(" c-string-limit-regexp "\\)") + '((c-font-lock-invalid-string))) + + ;; Fontify keyword constants. + ,@(when (c-lang-const c-constant-kwds) + (let ((re (c-make-keywords-re nil + (c-lang-const c-constant-kwds)))) + `((eval . (list ,(concat "\\<\\(" re "\\)\\>") + 1 c-constant-face-name))))) + + ;; Fontify all keywords except the primitive types. + ,`(,(concat "\\<" (c-lang-const c-regular-keywords-regexp)) + 1 font-lock-keyword-face) + + ;; Fontify leading identifiers in fully qualified names like + ;; "Foo.Bar". + ,@(when (c-lang-const c-opt-identifier-concat-key) + `((,(byte-compile + `(lambda (limit) + (while (re-search-forward + ,(concat "\\(\\<" ; 1 + "\\(" (c-lang-const c-symbol-key) + "\\)" ; 2 + "[ \t\n\r\f\v]*" + (c-lang-const + c-opt-identifier-concat-key) + "[ \t\n\r\f\v]*" + "\\)" + "\\(" + (c-lang-const + c-opt-after-id-concat-key) + "\\)") + limit t) + (unless (progn + (goto-char (match-beginning 0)) + (c-skip-comments-and-strings limit)) + (or (get-text-property (match-beginning 2) 'face) + (c-put-font-lock-face (match-beginning 2) + (match-end 2) + c-reference-face-name)) + (goto-char (match-end 1))))))))) + )) + + + +;; C# does not allow a leading qualifier operator. It also doesn't +;; allow the ".*" construct of Java. So, we redo this regex without +;; the "\\|\\*" regex. +(c-lang-defconst c-identifier-key + csharp (concat "\\(" (c-lang-const c-symbol-key) "\\)" ; 1 + (concat "\\(" + "[ \t\n\r\f\v]*" + (c-lang-const c-opt-identifier-concat-key) + "[ \t\n\r\f\v]*" + (concat "\\(" + "\\(" (c-lang-const c-symbol-key) "\\)" + "\\)") + "\\)*"))) + +;; C# has a few rules that are slightly different than Java for +;; operators. This also removed the Java's "super" and replaces it +;; with the C#'s "base". +(c-lang-defconst c-operators + csharp `((prefix "base"))) + + +;; C# uses CPP-like prefixes to mark #define, #region/endregion, +;; #if/else/endif, and #pragma. This regexp matches the prefix, +;; not including the beginning-of-line (BOL), and not including +;; the term after the prefix (define, pragma, etc). This regexp says +;; whitespace, followed by the prefix, followed by maybe more whitespace. + +(c-lang-defconst c-opt-cpp-prefix + csharp "\\s *#\\s *") + + +;; there are no message directives in C# +(c-lang-defconst c-cpp-message-directives + csharp nil) + +(c-lang-defconst c-cpp-expr-directives + csharp '("if")) + +(c-lang-defconst c-opt-cpp-macro-define + csharp "define") + +;; $ is not a legal char in an identifier in C#. So we need to +;; create a csharp-specific definition of this constant. +(c-lang-defconst c-symbol-chars + csharp (concat c-alnum "_")) + + +(c-lang-defconst c-colon-type-list-kwds + csharp '("class")) + +(c-lang-defconst c-block-prefix-disallowed-chars + + ;; Allow ':' for inherit list starters. + csharp (set-difference (c-lang-const c-block-prefix-disallowed-chars) + '(?: ?,))) + + +(c-lang-defconst c-assignment-operators + csharp '("=" "*=" "/=" "%=" "+=" "-=" ">>=" "<<=" "&=" "^=" "|=")) + +(c-lang-defconst c-primitive-type-kwds + ;; ECMA-344, S8 + csharp '("object" "string" "sbyte" "short" "int" "long" "byte" + "ushort" "uint" "ulong" "float" "double" "bool" "char" + "decimal" "void")) + +;; The keywords that define that the following is a type, such as a +;; class definition. +(c-lang-defconst c-type-prefix-kwds + ;; ECMA-344, S? + csharp '("class" "interface" "struct")) ;; no enum here. + ;; we want enum to be a brace list. + + +;; Type modifier keywords. They appear anywhere in types, but modify +;; instead of create one. +(c-lang-defconst c-type-modifier-kwds + ;; EMCA-344, S? + csharp '("readonly" "const")) + + +;; Tue, 20 Apr 2010 16:02 +;; need to vverify that this works for lambdas... +(c-lang-defconst c-special-brace-lists + csharp '((?{ . ?}) )) + + + +;; dinoch +;; Thu, 22 Apr 2010 18:54 +;; +;; No idea why this isn't getting set properly in the first place. +;; In cc-langs.el, it is set to the union of a bunch of things, none +;; of which include "new", or "enum". +;; +;; But somehow both of those show up in the resulting derived regexp. +;; This breaks indentation of instance initializers, such as +;; +;; var x = new Foo { ... }; +;; +;; Based on my inspection, the existing c-lang-defconst should work! +;; I don't know how to fix this c-lang-defconst, so I am re-setting this +;; variable here, to provide the regex explicitly. +;; +(c-lang-defconst c-decl-block-key + + csharp '"\\(namespace\\)\\([^[:alnum:]_]\\|$\\)\\|\\(class\\|interface\\|struct\\)\\([^[:alnum:]_]\\|$\\)" + ) + + + +;; Thu, 22 Apr 2010 14:29 +;; I want this to handle var x = new Foo[] { ... }; +;; not sure if necessary. +(c-lang-defconst c-inexpr-brace-list-kwds + csharp '("new")) + + +;; ;;(c-lang-defconst c-inexpr-class-kwds +;; ;; csharp '("new")) + + + +(c-lang-defconst c-class-decl-kwds + ;; EMCA-344, S? + csharp '("class" "interface" "struct" )) ;; no "enum"!! + + +;; The various modifiers used for class and method descriptions. +(c-lang-defconst c-modifier-kwds + csharp '("public" "partial" "private" "const" "abstract" + "protected" "ref" "out" "static" "virtual" + "override" "params" "internal")) + + +;; Thu, 22 Apr 2010 23:02 +;; Based on inspection of the cc-mode code, the c-protection-kwds +;; c-lang-const is used only for objective-c. So the value is +;; irrelevant for csharp. +(c-lang-defconst c-protection-kwds + csharp nil + ;; csharp '("private" "protected" "public" "internal") +) + + +;; Define the keywords that can have something following after them. +(c-lang-defconst c-type-list-kwds + csharp '("struct" "class" "interface" "is" "as" + "delegate" "event" "set" "get" "add" "remove")) + + +;; This allows the classes after the : in the class declartion to be +;; fontified. +(c-lang-defconst c-typeless-decl-kwds + csharp '(":")) + +;; Sets up the enum to handle the list properly, and also the new +;; keyword to handle object initializers. This requires a modified +;; c-basic-matchers-after (see above) in order to correctly fontify C# +;; 3.0 object initializers. +(c-lang-defconst c-brace-list-decl-kwds + csharp '("enum" "new")) + + +;; Statement keywords followed directly by a substatement. +;; catch is not one of them. +(c-lang-defconst c-block-stmt-1-kwds + csharp '("do" "try" "finally")) + + +;; Statement keywords followed by a paren sexp and then by a substatement. +(c-lang-defconst c-block-stmt-2-kwds + csharp '("for" "if" "switch" "while" "catch" "foreach" "using" + "checked" "unchecked" "lock")) + + +;; Statements that break out of braces +(c-lang-defconst c-simple-stmt-kwds + csharp '("return" "continue" "break" "throw" "goto" )) + +;; Statements that allow a label +;; TODO? +(c-lang-defconst c-before-label-kwds + csharp nil) + +;; Constant keywords +(c-lang-defconst c-constant-kwds + csharp '("true" "false" "null")) + +;; Keywords that start "primary expressions." +(c-lang-defconst c-primary-expr-kwds + csharp '("this" "base")) + +;; Treat namespace as an outer block so class indenting +;; works properly. +(c-lang-defconst c-other-block-decl-kwds + csharp '("namespace")) + +(c-lang-defconst c-other-kwds + csharp '("in" "sizeof" "typeof" "is" "as" "yield" + "where" "select" "from")) + +(c-lang-defconst c-overloadable-operators + ;; EMCA-344, S14.2.1 + csharp '("+" "-" "*" "/" "%" "&" "|" "^" + "<<" ">>" "==" "!=" ">" "<" ">=" "<=")) + + +;; This c-cpp-matchers stuff is used for fontification. +;; see cc-font.el +;; + +;; There's no preprocessor in C#, but there are still compiler +;; directives to fontify: "#pragma", #region/endregion, #define, #undef, +;; #if/else/endif. (The definitions for the extra keywords above are +;; enough to incorporate them into the fontification regexps for types +;; and keywords, so no additional font-lock patterns are required for +;; keywords.) + +(c-lang-defconst c-cpp-matchers + csharp (cons + ;; Use the eval form for `font-lock-keywords' to be able to use + ;; the `c-preprocessor-face-name' variable that maps to a + ;; suitable face depending on the (X)Emacs version. + '(eval . (list "^\\s *\\(#pragma\\|undef\\|define\\)\\>\\(.*\\)" + (list 1 c-preprocessor-face-name) + '(2 font-lock-string-face))) + ;; There are some other things in `c-cpp-matchers' besides the + ;; preprocessor support, so include it. + (c-lang-const c-cpp-matchers))) + +(defcustom csharp-font-lock-extra-types nil + "*List of extra types (aside from the type keywords) to recognize in C# mode. +Each list item should be a regexp matching a single identifier." + :type 'list :group 'csharp) + +(defconst csharp-font-lock-keywords-1 (c-lang-const c-matchers-1 csharp) + "Minimal highlighting for C# mode.") + +(defconst csharp-font-lock-keywords-2 (c-lang-const c-matchers-2 csharp) + "Fast normal highlighting for C# mode.") + +(defconst csharp-font-lock-keywords-3 (c-lang-const c-matchers-3 csharp) + "Accurate normal highlighting for C# mode.") + +(defvar csharp-font-lock-keywords csharp-font-lock-keywords-3 + "Default expressions to highlight in C# mode.") + +(defvar csharp-mode-syntax-table nil + "Syntax table used in csharp-mode buffers.") +(or csharp-mode-syntax-table + (setq csharp-mode-syntax-table + (funcall (c-lang-const c-make-mode-syntax-table csharp)))) + +(defvar csharp-mode-abbrev-table nil + "Abbreviation table used in csharp-mode buffers.") +(c-define-abbrev-table 'csharp-mode-abbrev-table + ;; Keywords that if they occur first on a line might alter the + ;; syntactic context, and which therefore should trig reindentation + ;; when they are completed. + '(("else" "else" c-electric-continued-statement 0) + ("while" "while" c-electric-continued-statement 0) + ("catch" "catch" c-electric-continued-statement 0) + ("finally" "finally" c-electric-continued-statement 0))) + +(defvar csharp-mode-map (let ((map (c-make-inherited-keymap))) + ;; Add bindings which are only useful for C# + map) + "Keymap used in csharp-mode buffers.") + + +;; TODO +;; Defines our constant for finding attributes. +;;(defconst csharp-attribute-regex "\\[\\([XmlType]+\\)(") +;;(defconst csharp-attribute-regex "\\[\\(.\\)") +;; This doesn't work because the string regex happens before this point +;; and getting the font-locking to work before and after is fairly difficult +;;(defconst csharp-attribute-regex +;; (concat +;; "\\[[a-zA-Z][ \ta-zA-Z0-9.]+" +;; "\\((.*\\)?" +;;)) + + +;; ================================================================== +;; end of c# values for "language constants" defined in cc-langs.el +;; ================================================================== + + + + +;; ================================================================== +;; C# code-doc insertion magic +;; ================================================================== +;; +;; In Visual Studio, if you type three slashes, it immediately expands into +;; an inline code-documentation fragment. The following method does the +;; same thing. +;; +;; This is the kind of thing that could be handled by YASnippet or +;; another similarly flexible snippet framework. But I don't want to +;; introduce a dependency on yasnippet to csharp-mode. So the capability +;; must live within csharp-mode itself. + +(defun csharp-maybe-insert-codedoc (arg) + + "Insert an xml code documentation template as appropriate, when +typing slashes. This fn gets bound to / (the slash key), in +csharp-mode. If the slash being inserted is not the third +consecutive slash, the slash is inserted as normal. If it is the +third consecutive slash, then a xml code documentation template +may be inserted in some cases. For example, + + a template is inserted if the prior line is empty, + or contains only an open curly brace; + a template is inserted if the prior word + closes the element; + a template is inserted if the prior word + closes the element; + an template is inserted if the prior word closes + the element; + a template is inserted if the prior word closes + a element. + +In all other cases the slash is inserted as normal. + +If you want the default cc-mode behavior, which implies no automatic +insertion of xml code documentation templates, then use this in +your `csharp-mode-hook' function: + + (local-set-key (kbd \"/\") 'c-electric-slash) + + " + (interactive "*p") + ;;(message "csharp-maybe-insert-codedoc") + (let ( + (cur-point (point)) + (char last-command-char) + (cb0 (char-before (- (point) 0))) + (cb1 (char-before (- (point) 1))) + is-first-non-whitespace + did-auto-insert + ) + + ;; check if two prior chars were slash + (if (and + (= char ?/) + cb0 (= ?/ cb0) + cb1 (= ?/ cb1) + ) + + (progn + ;;(message "yes - this is the third consecutive slash") + (setq is-first-non-whitespace + (save-excursion + (back-to-indentation) + (= cur-point (+ (point) 2)))) + + (if is-first-non-whitespace + ;; This is a 3-slash sequence. It is the first non-whitespace text + ;; on the line. Now we need to examine the surrounding context + ;; in order to determine which xml cod doc template to insert. + (let (word-back char0 char1 + word-fore char-0 char-1 + text-to-insert ;; text to insert in lieu of slash + fn-to-call ;; func to call after inserting text + (preceding-line-is-empty (or + (= (line-number-at-pos) 1) + (save-excursion + (previous-line) + (beginning-of-line) + (looking-at "[ \t]*$\\|[ \t]*{[ \t]*$")))) + (flavor 0) ;; used only for diagnostic purposes + ) + + ;;(message "starting a 3-slash comment") + ;; get the prior word, and the 2 chars preceding it. + (backward-word) + + (setq word-back (thing-at-point 'word) + char0 (char-before (- (point) 0)) + char1 (char-before (- (point) 1))) + + ;; restore prior position + (goto-char cur-point) + + ;; get the following word, and the 2 chars preceding it. + (forward-word) + (backward-word) + (setq word-fore (thing-at-point 'word) + char-0 (char-before (- (point) 0)) + char-1 (char-before (- (point) 1))) + + ;; restore prior position again + (goto-char cur-point) + + (cond + ;; The preceding line is empty, or all whitespace, or + ;; contains only an open-curly. In this case, insert a + ;; summary element pair. + (preceding-line-is-empty + (setq text-to-insert "/ \n/// \n/// " + flavor 1) ) + + ;; The preceding word closed a summary element. In this case, + ;; if the forward word does not open a remarks element, then + ;; insert a remarks element. + ((and (string-equal word-back "summary") (eq char0 ?/) (eq char1 ?<)) + (if (not (and (string-equal word-fore "remarks") (eq char-0 ?<))) + (setq text-to-insert "/ \n/// \n/// \n/// \n/// " + flavor 2))) + + ;; The preceding word closed the remarks section. In this case, + ;; insert an example element. + ((and (string-equal word-back "remarks") (eq char0 ?/) (eq char1 ?<)) + (setq text-to-insert "/ \n/// \n/// " + flavor 3)) + + ;; The preceding word closed the example section. In this + ;; case, insert an returns element. This isn't always + ;; correct, because sometimes the xml code doc is attached to + ;; a class or a property, neither of which has a return + ;; value. A more intelligent implementation would inspect the + ;; syntax state and only inject a returns element if + ;; appropriate. + ((and (string-equal word-back "example") (eq char0 ?/) (eq char1 ?<)) + (setq text-to-insert "/ " + fn-to-call (lambda () + (backward-word) + (backward-char) + (backward-char) + (c-indent-line-or-region) + ) + flavor 4)) + + ;; The preceding word opened the remarks section, or it + ;; closed a para section. In this case, insert a para + ;; element, using appropriate indentation with respect to the + ;; prior tag. + ((or + (and (string-equal word-back "remarks") (eq char0 ?<) (or (eq char1 32) (eq char1 9))) + (and (string-equal word-back "para") (eq char0 ?/) (eq char1 ?<))) + + (let (prior-point spacer) + (save-excursion + (backward-word) + (backward-char) + (backward-char) + (setq prior-point (point)) + (skip-chars-backward "\t ") + (setq spacer (buffer-substring (point) prior-point)) + ;;(message (format "pt(%d) prior(%d) spacer(%s)" (point) prior-point spacer)) + ) + + (if (string-equal word-back "remarks") + (setq spacer (concat spacer " "))) + + (setq text-to-insert (format "/%s\n///%s \n///%s" + spacer spacer spacer) + flavor 6))) + + ;; The preceding word opened a para element. In this case, if + ;; the forward word does not close the para element, then + ;; close the para element. + ;; -- + ;; This is a nice idea but flawed. Suppose I have a para element with some + ;; text in it. If I position the cursor at the first line, then type 3 slashes, + ;; I get a close-element, and that would be inappropriate. Not sure I can + ;; easily solve that problem, so the best thing might be to simply punt, and + ;; require people to close their own elements. + ;; + ;; ( (and (string-equal word-back "para") (eq char0 60) (or (eq char1 32) (eq char1 9))) + ;; (if (not (and (string-equal word-fore "para") (eq char-0 47) (eq char-1 60) )) + ;; (setq text-to-insert "/ \n/// \n///" + ;; fn-to-call (lambda () + ;; (previous-line) + ;; (end-of-line) + ;; ) + ;; flavor 7) ) + ;; ) + + ;; the default case - do nothing + (t nil)) + + (if text-to-insert + (progn + ;;(message (format "inserting special text (f(%d))" flavor)) + + ;; set the flag, that we actually inserted text + (setq did-auto-insert t) + + ;; save point of beginning of insertion + (setq cur-point (point)) + + ;; actually insert the text + (insert text-to-insert) + + ;; indent the inserted string, and re-position point, either through + ;; the case-specific fn, or via the default progn. + (if fn-to-call + (funcall fn-to-call) + + (let ((newline-count 0) (pos 0) ix) + + ;; count the number of newlines in the inserted string + (while (string-match "\n" text-to-insert pos) + (setq pos (match-end 0) + newline-count (+ newline-count 1) ) + ) + + ;; indent what we just inserted + (c-indent-region cur-point (point) t) + + ;; move up n/2 lines. This assumes that the + ;; inserted text is ~symmetric about the halfway point. + ;; The assumption holds if the xml code doc uses a + ;; begin-elt and end-elt on a new line all by themselves, + ;; and a blank line in between them where the point should be. + ;; A more intelligent implementation would use a specific + ;; marker string, like @@DOT, to note the desired point. + (previous-line (/ newline-count 2)) + (end-of-line))))))))) + + (if (not did-auto-insert) + (self-insert-command (prefix-numeric-value arg))))) + +;; ================================================================== +;; end of c# code-doc insertion magic +;; ================================================================== + + + + +;; ================================================================== +;; c# fontification extensions +;; ================================================================== +;; Commentary: +;; +;; The purpose of the following code is to fix font-lock for C#, +;; specifically for the verbatim-literal strings. C# is a cc-mode +;; language and strings are handled mostly like other c-based +;; languages. The one exception is the verbatim-literal string, which +;; uses the syntax @"...". +;; +;; `parse-partial-sexp' treats those strings as just regular strings, +;; with the @ a non-string character. This is fine, except when the +;; verblit string ends in a slash, in which case, font-lock breaks from +;; that point onward in the buffer. +;; +;; This is an attempt to fix that. +;; +;; The idea is to scan the buffer in full for verblit strings, and apply the +;; appropriate syntax-table text properties for verblit strings. Also setting +;; `parse-sexp-lookup-properties' to t tells `parse-partial-sexp' +;; to use the syntax-table text properties set up by the scan as it does +;; its parse. +;; +;; Also need to re-scan after any changes in the buffer, but on a more +;; limited region. +;; + + +;; ;; I don't remember what this is supposed to do, +;; ;; or how I figured out the value. +;; ;; +;; (defconst csharp-font-lock-syntactic-keywords +;; '(("\\(@\\)\\(\"\\)[^\"]*\\(\"\\)\\(\"\\)[^\"]*\\(\"\\)[^\"]" +;; (1 '(6)) (2 '(7)) (3 '(1)) (4 '(1)) (5 '(7)) +;; )) +;; "Highlighting of verbatim literal strings. See also the variable +;; `font-lock-keywords'.") + + + +;; Allow this: +;; (csharp-log 3 "csharp: scan...'%s'" state) + +(defvar csharp-log-level 0 + "The current log level for CSharp-specific operations. +This is used in particular by the verbatim-literal +string scanning. + +Most other csharp functions are not instrumented. +0 = NONE, 1 = Info, 2 = VERBOSE, 3 = DEBUG, 4 = SHUTUP ALREADY. ") + +(defun csharp-log (level text &rest args) + "Log a message at level LEVEL. +If LEVEL is higher than `csharp-log-level', the message is +ignored. Otherwise, it is printed using `message'. +TEXT is a format control string, and the remaining arguments ARGS +are the string substitutions (see `format')." + (if (<= level csharp-log-level) + (let* ((msg (apply 'format text args))) + (message "%s" msg) + ))) + + + +(defun csharp-max-beginning-of-stmt () + "Return the greater of `c-beginning-of-statement-1' and +`c-beginning-of-statement' . I don't understand why both of +these methods are necessary or why they differ. But they do." + + (let (dash + nodash + (curpos (point))) + + ;; I think this may need a save-excursion... + ;; Calling c-beginning-of-statement-1 resets the point! + + (setq dash (progn (c-beginning-of-statement-1) (point))) + (csharp-log 3 "C#: max-bostmt dash(%d)" dash) + (goto-char curpos) + + (setq nodash (progn (c-beginning-of-statement 1) (point))) + (csharp-log 3 "C#: max-bostmt nodash(%d)" nodash) + (goto-char curpos) + + (max dash nodash))) + + +(defun csharp-in-literal (&optional lim detect-cpp) + "Return the type of literal point is in, if any. +Basically this works like `c-in-literal' except it doesn't +use or fill the cache (`c-in-literal-cache'). + +The return value is `c' if in a C-style comment, `c++' if in a C++ +style comment, `string' if in a string literal, `pound' if DETECT-CPP +is non-nil and in a preprocessor line, or nil if somewhere else. +Optional LIM is used as the backward limit of the search. If omitted, +or nil, `c-beginning-of-syntax' is used. + +Note that this function might do hidden buffer changes. See the +comment at the start of cc-engine.el for more info." + + (let ((rtn + (save-excursion + (let* ((pos (point)) + (lim (or lim (progn + (c-beginning-of-syntax) + (point)))) + (state (parse-partial-sexp lim pos))) + (csharp-log 4 "C#: parse lim(%d) state: %s" lim (prin1-to-string state)) + (cond + ((elt state 3) + (csharp-log 4 "C#: in literal string (%d)" pos) + 'string) + ((elt state 4) + (csharp-log 4 "C#: in literal comment (%d)" pos) + (if (elt state 7) 'c++ 'c)) + ((and detect-cpp (c-beginning-of-macro lim)) 'pound) + (t nil)))))) + rtn)) + + +(defun csharp-set-vliteral-syntax-table-properties (beg end) + "Scan the buffer text between BEG and END, a verbatim literal +string, setting and clearing syntax-table text properties where +necessary. + +We need to modify the default syntax-table text property in these cases: + (backslash) - is not an escape inside a verbatim literal string. + (double-quote) - can be a literal quote, when doubled. + +BEG is the @ delimiter. END is the 'old' position of the ending quote. + +see http://www.sunsite.ualberta.ca/Documentation/Gnu/emacs-lisp-ref-21-2.7/html_node/elisp_592.html +for the list of syntax table numeric codes. + +" + + (csharp-log 3 "C#: set-vlit-syntax-table: beg(%d) end(%d)" beg end) + + (if (and (> beg 0) (> end 0)) + + (let ((curpos beg) + (state 0)) + + (c-clear-char-properties beg end 'syntax-table) + + (while (<= curpos end) + + (cond + ((= state 0) + (if (= (char-after curpos) ?@) + (progn + (c-put-char-property curpos 'syntax-table '(3)) ; (6) = expression prefix, (3) = symbol + ;;(message (format "C#: set-s-t: prefix pos(%d) chr(%c)" beg (char-after beg))) + ) + ) + (setq state (+ 1 state))) + + ((= state 1) + (if (= (char-after curpos) ?\") + (progn + (c-put-char-property curpos 'syntax-table '(7)) ; (7) = string quote + ;;(message (format "C#: set-s-t: open quote pos(%d) chr(%c)" + ;; curpos (char-after curpos))) + )) + (setq state (+ 1 state))) + + ((= state 2) + (cond + ;; handle backslash + ((= (char-after curpos) ?\\) + (c-put-char-property curpos 'syntax-table '(2)) ; (1) = punctuation, (2) = word + ;;(message (format "C#: set-s-t: backslash word pos(%d) chr(%c)" curpos (char-after curpos))) + ) + + ;; doubled double-quote + ((and + (= (char-after curpos) ?\") + (= (char-after (+ 1 curpos)) ?\")) + (c-put-char-property curpos 'syntax-table '(2)) ; (1) = punctuation, (2) = word + (c-put-char-property (+ 1 curpos) 'syntax-table '(2)) ; (1) = punctuation + ;;(message (format "C#: set-s-t: double doublequote pos(%d) chr(%c)" curpos (char-after curpos))) + (setq curpos (+ curpos 1)) + ) + + ;; a single double-quote, which should be a string terminator + ((= (char-after curpos) ?\") + (c-put-char-property curpos 'syntax-table '(7)) ; (7) = string quote + ;;(message (format "C#: set-s-t: close quote pos(%d) chr(%c)" curpos (char-after curpos))) + ;;go no further + (setq state (+ 1 state))) + + ;; everything else + (t + ;;(message (format "C#: set-s-t: none pos(%d) chr(%c)" curpos (char-after curpos))) + nil)))) + ;; next char + (setq curpos (+ curpos 1)))))) + + + +(defun csharp-end-of-verbatim-literal-string (&optional lim) + "Moves to and returns the position of the end quote of the verbatim literal +string. When calling, point should be on the @ of the verblit string. +If it is not, then no movement is performed and `point' is returned. + +This function ignores text properties. In fact it is the +underlying scanner used to set the text properties in a C# buffer. +" + + (csharp-log 3 "C#: end-of-vlit-string: point(%d) c(%c)" (point) (char-after)) + + (let (curpos + (max (or lim (point-max)))) + + (if (not (looking-at "@\"")) + (point) + (forward-char 2) ;; pass up the @ sign and first quote + (setq curpos (point)) + + ;; Within a verbatim literal string, a doubled double-quote + ;; escapes the double-quote." + (while (and ;; process characters... + (or ;; while... + (not (eq (char-after curpos) ?\")) ;; it's not a quote + (eq (char-after (+ curpos 1)) ?\")) ;; or, its a double (double) quote + (< curpos max)) ;; and we're not done yet + + (cond + ((and (eq (char-after curpos) ?\") ;; it's a double-quote. + (eq (char-after (+ curpos 1)) ?\")) + (setq curpos (+ 2 curpos))) ;; Skip 2 + (t ;; anything else + (setq curpos (+ 1 curpos))))) ;; skip fwd 1 + curpos))) + + + + +(defun csharp-scan-for-verbatim-literals-and-set-props (&optional beg end) + +"Scans the buffer, between BEG and END, for verbatim literal +strings, and sets override text properties on each string to +allow proper syntax highlighting, indenting, and cursor movement. + +BEG and END define the limits of the scan. When nil, they +default to `point-min' and `point-max' respectively. + +Setting text properties generally causes the buffer to be marked +as modified, but this fn suppresses that via the +`c-buffer-save-state' macro, for any changes in text properties +that it makes. This fn also ignores the read-only setting on a +buffer, using the same macro. + +This fn is called when a csharp-mode buffer is loaded, with BEG +and END set to nil, to do a full scan. It is also called on +every buffer change, with the BEG and END set to the values for +the change. + +The return value is nil if the buffer was not a csharp-mode +buffer. Otherwise it is the last cursor position examined by the +scan. +" + + (if (not (c-major-mode-is 'csharp-mode)) ;; don't scan if not csharp mode + nil + (save-excursion + (c-save-buffer-state + ((curpos (or beg (point-min))) + (lastpos (or end (point-max))) + (state 0) (start 0) (cycle 0) + literal eos limits) + + (csharp-log 3 "C#: scan") + (goto-char curpos) + + (while (and (< curpos lastpos) (< cycle 10000)) + (cond + + ;; Case 1: current char is a @ sign + ;; -------------------------------------------- + ;; Check to see if it demarks the beginning of a verblit + ;; string. + ((= ?@ (char-after curpos)) + + ;; are we in a comment? a string? Maybe the @ is a prefix + ;; to allow the use of a reserved word as a symbol. Let's find out. + + ;; not sure why I need both of the following. + (syntax-ppss-flush-cache 1) + (parse-partial-sexp 1 curpos) + (goto-char curpos) + (setq literal (csharp-in-literal)) + (cond + + ;; Case 1.A: it's a @ within a string. + ;; -------------------------------------------- + ;; This should never happen, because this scanner hops over strings. + ;; But it might happen if the scan starts at an odd place. + ((eq literal 'string) nil) + + ;; Case 1.B: The @ is within a comment. Hop over it. + ((and (memq literal '(c c++)) + ;; This is a kludge for XEmacs where we use + ;; `buffer-syntactic-context', which doesn't correctly + ;; recognize "\*/" to end a block comment. + ;; `parse-partial-sexp' which is used by + ;; `c-literal-limits' will however do that in most + ;; versions, which results in that we get nil from + ;; `c-literal-limits' even when `c-in-literal' claims + ;; we're inside a comment. + ;;(setq limits (c-literal-limits start))) + (setq limits (c-literal-limits))) + + ;; advance to the end of the comment + (if limits + (progn + (csharp-log 4 "C#: scan: jump end comment A (%d)" (cdr limits)) + (setq curpos (cdr limits))))) + + + ;; Case 1.B: curpos is at least 2 chars before the last + ;; position to examine, and, the following char is a + ;; double-quote (ASCII 34). + ;; -------------------------------------------- + ;; This looks like the beginning of a verbatim string + ;; literal. + ((and (< (+ 2 curpos) lastpos) + (= ?\" (char-after (+ 1 curpos)))) + + (setq eos (csharp-end-of-verbatim-literal-string)) + ;; set override syntax properties on the verblit string + (csharp-set-vliteral-syntax-table-properties curpos eos) + + (csharp-log 4 "C#: scan: jump end verblit string (%d)" eos) + (setq curpos eos)))) + + + ;; Case 2: current char is a double-quote. + ;; -------------------------------------------- + ;; If this is a string, we hop over it, on the assumption that + ;; this scanner need not bother with regular literal strings, which + ;; get the proper syntax with the generic approach. + ;; If in a comment, hop over the comment. + ((= ?\" (char-after curpos)) + (goto-char curpos) + (setq literal (c-in-literal)) + (cond + + ;; Case 2.A: a quote within a string + ;; -------------------------------------------- + ;; This shouldn't happen, because we hop over strings. + ;; But it might. + ((eq literal 'string) nil) + + ;; Case 2.B: a quote within a comment + ;; -------------------------------------------- + ((and (memq literal '(c c++)) + ;; This is a kludge for XEmacs where we use + ;; `buffer-syntactic-context', which doesn't correctly + ;; recognize "\*/" to end a block comment. + ;; `parse-partial-sexp' which is used by + ;; `c-literal-limits' will however do that in most + ;; versions, which results in that we get nil from + ;; `c-literal-limits' even when `c-in-literal' claims + ;; we're inside a comment. + ;;(setq limits (c-literal-limits start))) + (setq limits (c-literal-limits))) + + ;; advance to the end of the comment + (if limits + (progn + (setq curpos (cdr limits)) + (csharp-log 3 "C#: scan: jump end comment B (%s)" curpos)))) + + + ;; Case 2.C: Not in a comment, and not in a string. + ;; -------------------------------------------- + ;; This is the beginning of a literal (but not verbatim) string. + (t + (forward-char 1) ;; pass up the quote + (if (consp (setq limits (c-literal-limits))) + (progn + (csharp-log 4 "C#: scan: jump end literal (%d)" (cdr limits)) + (setq curpos (cdr limits)))))))) + + (setq cycle (+ 1 cycle)) + (setq curpos (+ 1 curpos)) + (c-safe (goto-char curpos))))))) + + +(defun csharp-before-font-lock (beg end old-len) + "Adjust`syntax-table' properties on the region affected by the change +in a csharp-mode buffer. + +This function is the C# value for `c-before-font-lock-function'. +It intended to be called only by the cc-mode runtime. + +It prepares the buffer for font locking, hence must get called +before `font-lock-after-change-function'. + +It does hidden buffer changes. + +BEG, END and OLD-LEN have the same meaning here as for any +after-change function. + +Point is undefined both before and after this function call. +The return value is meaningless, and is ignored by cc-mode. +" + (let ((start-scan (progn + (c-beginning-of-statement 1) + (point)))) + (csharp-scan-for-verbatim-literals-and-set-props start-scan end))) + + + +(c-lang-defconst c-before-font-lock-function + csharp 'csharp-before-font-lock) + +;; ================================================================== +;; end of c# fontification extensions +;; ================================================================== + + + + + +;; ================================================================== +;; C#-specific optimizations of cc-mode funcs +;; ================================================================== + + +;; There's never a need to check for C-style macro definitions in +;; a C# buffer. +(defadvice c-beginning-of-macro (around + csharp-mode-advice-1 + compile activate) + (if (c-major-mode-is 'csharp-mode) + nil + ad-do-it) + ) + + +;; There's never a need to move over an Obj-C directive in csharp mode +(defadvice c-forward-objc-directive (around + csharp-mode-advice-2 + compile activate) + (if (c-major-mode-is 'csharp-mode) + nil + ad-do-it) + ) + +;; ================================================================== +;; end of C#-specific optimizations of cc-mode funcs +;; ================================================================== + + + + + + + + +;; ================================================================== +;; c# - monkey-patching of basic parsing logic +;; ================================================================== +;; +;; Here, the model redefines two defuns to add special cases for csharp +;; mode. These primarily deal with indentation of instance +;; initializers, which are somewhat unique to C#. I couldn't figure out +;; how to get cc-mode to do what C# needs, without modifying these +;; defuns. +;; + +(defun c-looking-at-inexpr-block (lim containing-sexp &optional check-at-end) + ;; Return non-nil if we're looking at the beginning of a block + ;; inside an expression. The value returned is actually a cons of + ;; either 'inlambda, 'inexpr-statement or 'inexpr-class and the + ;; position of the beginning of the construct. + ;; + ;; LIM limits the backward search. CONTAINING-SEXP is the start + ;; position of the closest containing list. If it's nil, the + ;; containing paren isn't used to decide whether we're inside an + ;; expression or not. If both LIM and CONTAINING-SEXP are used, LIM + ;; needs to be farther back. + ;; + ;; If CHECK-AT-END is non-nil then extra checks at the end of the + ;; brace block might be done. It should only be used when the + ;; construct can be assumed to be complete, i.e. when the original + ;; starting position was further down than that. + ;; + ;; This function might do hidden buffer changes. + + (save-excursion + (let ((res 'maybe) passed-paren + (closest-lim (or containing-sexp lim (point-min))) + ;; Look at the character after point only as a last resort + ;; when we can't disambiguate. + (block-follows (and (eq (char-after) ?{) (point)))) + + (while (and (eq res 'maybe) + (progn (c-backward-syntactic-ws) + (> (point) closest-lim)) + (not (bobp)) + (progn (backward-char) + (looking-at "[\]\).]\\|\\w\\|\\s_")) + (c-safe (forward-char) + (goto-char (scan-sexps (point) -1)))) + + (setq res + (if (looking-at c-keywords-regexp) + (let ((kw-sym (c-keyword-sym (match-string 1)))) + (cond + ((and block-follows + (c-keyword-member kw-sym 'c-inexpr-class-kwds)) + (and (not (eq passed-paren ?\[)) + + ;; dinoch Thu, 22 Apr 2010 18:20 + ;; ============================================ + ;; looking at new MyType() { ... } + ;; means this is a brace list, so, return nil, + ;; implying NOT looking-at-inexpr-block + (not + (and (c-major-mode-is 'csharp-mode) + (looking-at "new\s+\\([[:alnum:]_]+\\)\\b"))) + + (or (not (looking-at c-class-key)) + ;; If the class instantiation is at the start of + ;; a statement, we don't consider it an + ;; in-expression class. + (let ((prev (point))) + (while (and + (= (c-backward-token-2 1 nil closest-lim) 0) + (eq (char-syntax (char-after)) ?w)) + (setq prev (point))) + (goto-char prev) + (not (c-at-statement-start-p))) + ;; Also, in Pike we treat it as an + ;; in-expression class if it's used in an + ;; object clone expression. + (save-excursion + (and check-at-end + (c-major-mode-is 'pike-mode) + (progn (goto-char block-follows) + (zerop (c-forward-token-2 1 t))) + (eq (char-after) ?\()))) + (cons 'inexpr-class (point)))) + ((c-keyword-member kw-sym 'c-inexpr-block-kwds) + (when (not passed-paren) + (cons 'inexpr-statement (point)))) + ((c-keyword-member kw-sym 'c-lambda-kwds) + (when (or (not passed-paren) + (eq passed-paren ?\()) + (cons 'inlambda (point)))) + ((c-keyword-member kw-sym 'c-block-stmt-kwds) + nil) + (t + 'maybe))) + + (if (looking-at "\\s(") + (if passed-paren + (if (and (eq passed-paren ?\[) + (eq (char-after) ?\[)) + ;; Accept several square bracket sexps for + ;; Java array initializations. + 'maybe) + (setq passed-paren (char-after)) + 'maybe) + 'maybe)))) + + (if (eq res 'maybe) + (when (and c-recognize-paren-inexpr-blocks + block-follows + containing-sexp + (eq (char-after containing-sexp) ?\()) + (goto-char containing-sexp) + (if (or (save-excursion + (c-backward-syntactic-ws lim) + (and (> (point) (or lim (point-min))) + (c-on-identifier))) + (and c-special-brace-lists + (c-looking-at-special-brace-list))) + nil + (cons 'inexpr-statement (point)))) + + res)))) + + + + +(defconst csharp-enum-decl-re + (concat + "\\\s+\\([[:alnum:]_]+\\)\s*:\s*" + "\\(" + (c-make-keywords-re nil + (list "sbyte" "byte" "short" "ushort" "int" "uint" "long" "ulong")) + "\\)") + "Regex that captures an enum declaration in C#" + ) + + + +(defun c-inside-bracelist-p (containing-sexp paren-state) + ;; return the buffer position of the beginning of the brace list + ;; statement if we're inside a brace list, otherwise return nil. + ;; CONTAINING-SEXP is the buffer pos of the innermost containing + ;; paren. PAREN-STATE is the remainder of the state of enclosing + ;; braces + ;; + ;; N.B.: This algorithm can potentially get confused by cpp macros + ;; placed in inconvenient locations. It's a trade-off we make for + ;; speed. + ;; + ;; This function might do hidden buffer changes. + (or + ;; This will pick up brace list declarations. + (c-safe + (save-excursion + (goto-char containing-sexp) + (c-forward-sexp -1) + (let (bracepos) + (if (and (or (looking-at c-brace-list-key) + + (progn (c-forward-sexp -1) + (looking-at c-brace-list-key)) + + ;; dinoch Thu, 22 Apr 2010 18:20 + ;; ============================================ + ;; looking enum Foo : int + ;; means this is a brace list, so, return nil, + ;; implying NOT looking-at-inexpr-block + + (and (c-major-mode-is 'csharp-mode) + (progn + (c-forward-sexp -1) + (looking-at csharp-enum-decl-re)))) + + (setq bracepos (c-down-list-forward (point))) + (not (c-crosses-statement-barrier-p (point) + (- bracepos 2)))) + (point))))) + ;; this will pick up array/aggregate init lists, even if they are nested. + (save-excursion + (let ((class-key + ;; Pike can have class definitions anywhere, so we must + ;; check for the class key here. + (and (c-major-mode-is 'pike-mode) + c-decl-block-key)) + bufpos braceassignp lim next-containing) + (while (and (not bufpos) + containing-sexp) + (when paren-state + (if (consp (car paren-state)) + (setq lim (cdr (car paren-state)) + paren-state (cdr paren-state)) + (setq lim (car paren-state))) + (when paren-state + (setq next-containing (car paren-state) + paren-state (cdr paren-state)))) + (goto-char containing-sexp) + (if (c-looking-at-inexpr-block next-containing next-containing) + ;; We're in an in-expression block of some kind. Do not + ;; check nesting. We deliberately set the limit to the + ;; containing sexp, so that c-looking-at-inexpr-block + ;; doesn't check for an identifier before it. + (setq containing-sexp nil) + ;; see if the open brace is preceded by = or [...] in + ;; this statement, but watch out for operator= + (setq braceassignp 'dontknow) + (c-backward-token-2 1 t lim) + ;; Checks to do only on the first sexp before the brace. + (when (and c-opt-inexpr-brace-list-key + (eq (char-after) ?\[)) + ;; In Java, an initialization brace list may follow + ;; directly after "new Foo[]", so check for a "new" + ;; earlier. + (while (eq braceassignp 'dontknow) + (setq braceassignp + (cond ((/= (c-backward-token-2 1 t lim) 0) nil) + ((looking-at c-opt-inexpr-brace-list-key) t) + ((looking-at "\\sw\\|\\s_\\|[.[]") + ;; Carry on looking if this is an + ;; identifier (may contain "." in Java) + ;; or another "[]" sexp. + 'dontknow) + (t nil))))) + ;; Checks to do on all sexps before the brace, up to the + ;; beginning of the statement. + (while (eq braceassignp 'dontknow) + (cond ((eq (char-after) ?\;) + (setq braceassignp nil)) + ((and class-key + (looking-at class-key)) + (setq braceassignp nil)) + ((eq (char-after) ?=) + ;; We've seen a =, but must check earlier tokens so + ;; that it isn't something that should be ignored. + (setq braceassignp 'maybe) + (while (and (eq braceassignp 'maybe) + (zerop (c-backward-token-2 1 t lim))) + (setq braceassignp + (cond + ;; Check for operator = + ((and c-opt-op-identifier-prefix + (looking-at c-opt-op-identifier-prefix)) + nil) + ;; Check for `= in Pike. + ((and (c-major-mode-is 'pike-mode) + (or (eq (char-after) ?`) + ;; Special case for Pikes + ;; `[]=, since '[' is not in + ;; the punctuation class. + (and (eq (char-after) ?\[) + (eq (char-before) ?`)))) + nil) + ((looking-at "\\s.") 'maybe) + ;; make sure we're not in a C++ template + ;; argument assignment + ((and + (c-major-mode-is 'c++-mode) + (save-excursion + (let ((here (point)) + (pos< (progn + (skip-chars-backward "^<>") + (point)))) + (and (eq (char-before) ?<) + (not (c-crosses-statement-barrier-p + pos< here)) + (not (c-in-literal)) + )))) + nil) + (t t)))))) + (if (and (eq braceassignp 'dontknow) + (/= (c-backward-token-2 1 t lim) 0)) + (setq braceassignp nil))) + (if (not braceassignp) + (if (eq (char-after) ?\;) + ;; Brace lists can't contain a semicolon, so we're done. + (setq containing-sexp nil) + ;; Go up one level. + (setq containing-sexp next-containing + lim nil + next-containing nil)) + ;; we've hit the beginning of the aggregate list + (c-beginning-of-statement-1 + (c-most-enclosing-brace paren-state)) + (setq bufpos (point)))) + ) + bufpos)) + )) + +;; ================================================================== +;; end of monkey-patching of basic parsing logic +;; ================================================================== + + + + +;;(easy-menu-define csharp-menu csharp-mode-map "C# Mode Commands" +;; ;; Can use `csharp' as the language for `c-mode-menu' +;; ;; since its definition covers any language. In +;; ;; this case the language is used to adapt to the +;; ;; nonexistence of a cpp pass and thus removing some +;; ;; irrelevant menu alternatives. +;; (cons "C#" (c-lang-const c-mode-menu csharp))) + +;;; Autoload mode trigger +;;;###autoload +(add-to-list 'auto-mode-alist '("\\.cs$" . csharp-mode)) + + + +(c-add-style "C#" + '("Java" + (c-basic-offset . 4) + (c-comment-only-line-offset . (0 . 0)) + (c-offsets-alist . ( + (access-label . -) + (arglist-close . c-lineup-arglist) + (arglist-cont . 0) + (arglist-cont-nonempty . c-lineup-arglist) + (arglist-intro . c-lineup-arglist-intro-after-paren) + (block-close . 0) + (block-open . 0) + (brace-entry-open . 0) + (brace-list-close . 0) + (brace-list-entry . 0) + (brace-list-intro . +) + (brace-list-open . +) + (c . c-lineup-C-comments) + (case-label . +) + (catch-clause . 0) + (class-close . 0) + (class-open . 0) + (comment-intro . c-lineup-comment) + (cpp-macro . 0) + (cpp-macro-cont . c-lineup-dont-change) + (defun-block-intro . +) + (defun-close . 0) + (defun-open . 0) + (do-while-closure . 0) + (else-clause . 0) + (extern-lang-close . 0) + (extern-lang-open . 0) + (friend . 0) + (func-decl-cont . +) + (inclass . +) + (inexpr-class . +) + (inexpr-statement . 0) + (inextern-lang . +) + (inher-cont . c-lineup-multi-inher) + (inher-intro . +) + (inlambda . c-lineup-inexpr-block) + (inline-close . 0) + (inline-open . 0) + (innamespace . +) + (knr-argdecl . 0) + (knr-argdecl-intro . 5) + (label . 0) + (lambda-intro-cont . +) + (member-init-cont . c-lineup-multi-inher) + (member-init-intro . +) + (namespace-close . 0) + (namespace-open . 0) + (statement . 0) + (statement-block-intro . +) + (statement-case-intro . +) + (statement-case-open . +) + (statement-cont . +) + (stream-op . c-lineup-streamop) + (string . c-lineup-dont-change) + (substatement . +) + (substatement-open . 0) + (template-args-cont c-lineup-template-args +) + (topmost-intro . 0) + (topmost-intro-cont . 0) + )) + )) + + + + +;; Custom variables +;;;###autoload +(defcustom csharp-mode-hook nil + "*Hook called by `csharp-mode'." + :type 'hook + :group 'c) + + + +;;; The entry point into the mode +;;;###autoload +(defun csharp-mode () + "Major mode for editing C# code. This mode is derived from CC Mode to +support C#. + +The hook `c-mode-common-hook' is run with no args at mode +initialization, then `csharp-mode-hook'. + +This mode will automatically add a regexp for Csc.exe error and warning +messages to the `compilation-error-regexp-alist'. + +Key bindings: +\\{csharp-mode-map}" + (interactive) + (kill-all-local-variables) + (make-local-variable 'beginning-of-defun-function) + (make-local-variable 'end-of-defun-function) + (c-initialize-cc-mode t) + (set-syntax-table csharp-mode-syntax-table) + + ;; define underscore as part of a word in the Csharp syntax table + (modify-syntax-entry ?_ "w" csharp-mode-syntax-table) + + ;; define @ as an expression prefix in Csharp syntax table + (modify-syntax-entry ?@ "'" csharp-mode-syntax-table) + + (setq major-mode 'csharp-mode + mode-name "C#" + local-abbrev-table csharp-mode-abbrev-table + abbrev-mode t) + (use-local-map csharp-mode-map) + + ;; `c-init-language-vars' is a macro that is expanded at compile + ;; time to a large `setq' with all the language variables and their + ;; customized values for our language. + (c-init-language-vars csharp-mode) + + + ;; `c-common-init' initializes most of the components of a CC Mode + ;; buffer, including setup of the mode menu, font-lock, etc. + ;; There's also a lower level routine `c-basic-common-init' that + ;; only makes the necessary initialization to get the syntactic + ;; analysis and similar things working. + (c-common-init 'csharp-mode) + + + ;; csc.exe, the C# Compiler, produces errors like this: + ;; file.cs(6,18): error SC1006: Name of constructor must match name of class + + (add-hook 'compilation-mode-hook + (lambda () + (setq compilation-error-regexp-alist + (cons ' ("^[ \t]*\\([A-Za-z0-9][^(]+\\.cs\\)(\\([0-9]+\\)[,]\\([0-9]+\\)) ?: \\(error\\|warning\\) CS[0-9]+:" 1 2 3) + compilation-error-regexp-alist)))) + + ;; to allow next-error to work with csc.exe: + (setq compilation-scroll-output t) + + ;; allow fill-paragraph to work on xml code doc + (set (make-local-variable 'paragraph-separate) + "[ \t]*\\(//+\\|\\**\\)\\([ \t]+\\|[ \t]+<.+?>\\)$\\|^\f") + + + (c-run-mode-hooks 'c-mode-common-hook 'csharp-mode-hook) + + + ;; Need the following for parse-partial-sexp to work properly with + ;; verbatim literal strings Setting this var to non-nil tells + ;; `parse-partial-sexp' to pay attention to the syntax text + ;; properties on the text in the buffer. If csharp-mode attaches + ;; text syntax to @"..." then, `parse-partial-sexp' will treat those + ;; strings accordingly. + (set (make-local-variable 'parse-sexp-lookup-properties) + t) + + ;; scan the entire buffer for verblit strings + (csharp-scan-for-verbatim-literals-and-set-props nil nil) + + + (local-set-key (kbd "/") 'csharp-maybe-insert-codedoc) + (local-set-key (kbd "{") 'csharp-insert-open-brace) + + (c-update-modeline)) + + + +(message (concat "Done loading " load-file-name)) + + +(provide 'csharp-mode) + +;;; csharp-mode.el ends here +;;MD5: 4EDCB2ECE38841F407C7ED3DA8354E15 diff --git a/.emacs.d/javascript.el b/.emacs.d/javascript.el new file mode 100644 index 0000000..33d852f --- /dev/null +++ b/.emacs.d/javascript.el @@ -0,0 +1,707 @@ +;;; javascript.el --- Major mode for editing JavaScript source text + +;; Copyright (C) 2006 Karl Landström + +;; Author: Karl Landström +;; Maintainer: Karl Landström +;; Version: 2.0 Beta 8 +;; Date: 2006-12-26 +;; Keywords: languages, oop + +;; This file is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; This file is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to +;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Commentary: +;; +;; The main features of this JavaScript mode are syntactic +;; highlighting (enabled with `font-lock-mode' or +;; `global-font-lock-mode'), automatic indentation and filling of +;; comments. +;; +;; This package has (only) been tested with GNU Emacs 21.4 (the latest +;; stable release). +;; +;; Installation: +;; +;; Put this file in a directory where Emacs can find it (`C-h v +;; load-path' for more info). Then add the following lines to your +;; Emacs initialization file: +;; +;; (add-to-list 'auto-mode-alist '("\\.js\\'" . javascript-mode)) +;; (autoload 'javascript-mode "javascript" nil t) +;; +;; General Remarks: +;; +;; This mode assumes that block comments are not nested inside block +;; comments and that strings do not contain line breaks. +;; +;; Exported names start with "javascript-" whereas private names start +;; with "js-". +;; +;; Changes: +;; +;; See javascript.el.changelog. + +;;; Code: + +(require 'cc-mode) +(require 'font-lock) +(require 'newcomment) + +(defgroup javascript nil + "Customization variables for `javascript-mode'." + :tag "JavaScript" + :group 'languages) + +(defcustom javascript-indent-level 4 + "Number of spaces for each indentation step." + :type 'integer + :group 'javascript) + +(defcustom javascript-auto-indent-flag t + "Automatic indentation with punctuation characters. If non-nil, the +current line is indented when certain punctuations are inserted." + :type 'boolean + :group 'javascript) + + +;; --- Keymap --- + +(defvar javascript-mode-map nil + "Keymap used in JavaScript mode.") + +(unless javascript-mode-map + (setq javascript-mode-map (make-sparse-keymap))) + +(when javascript-auto-indent-flag + (mapc (lambda (key) + (define-key javascript-mode-map key 'javascript-insert-and-indent)) + '("{" "}" "(" ")" ":" ";" ","))) + +(defun javascript-insert-and-indent (key) + "Run command bound to key and indent current line. Runs the command +bound to KEY in the global keymap and indents the current line." + (interactive (list (this-command-keys))) + (call-interactively (lookup-key (current-global-map) key)) + (indent-according-to-mode)) + + +;; --- Syntax Table And Parsing --- + +(defvar javascript-mode-syntax-table + (let ((table (make-syntax-table))) + (c-populate-syntax-table table) + + ;; The syntax class of underscore should really be `symbol' ("_") + ;; but that makes matching of tokens much more complex as e.g. + ;; "\\" matches part of e.g. "_xyz" and "xyz_abc". Defines + ;; it as word constituent for now. + (modify-syntax-entry ?_ "w" table) + + table) + "Syntax table used in JavaScript mode.") + + +(defun js-re-search-forward-inner (regexp &optional bound count) + "Auxiliary function for `js-re-search-forward'." + (let ((parse) + (saved-point (point-min))) + (while (> count 0) + (re-search-forward regexp bound) + (setq parse (parse-partial-sexp saved-point (point))) + (cond ((nth 3 parse) + (re-search-forward + (concat "\\([^\\]\\|^\\)" (string (nth 3 parse))) + (save-excursion (end-of-line) (point)) t)) + ((nth 7 parse) + (forward-line)) + ((or (nth 4 parse) + (and (eq (char-before) ?\/) (eq (char-after) ?\*))) + (re-search-forward "\\*/")) + (t + (setq count (1- count)))) + (setq saved-point (point)))) + (point)) + + +(defun js-re-search-forward (regexp &optional bound noerror count) + "Search forward but ignore strings and comments. Invokes +`re-search-forward' but treats the buffer as if strings and +comments have been removed." + (let ((saved-point (point)) + (search-expr + (cond ((null count) + '(js-re-search-forward-inner regexp bound 1)) + ((< count 0) + '(js-re-search-backward-inner regexp bound (- count))) + ((> count 0) + '(js-re-search-forward-inner regexp bound count))))) + (condition-case err + (eval search-expr) + (search-failed + (goto-char saved-point) + (unless noerror + (error (error-message-string err))))))) + + +(defun js-re-search-backward-inner (regexp &optional bound count) + "Auxiliary function for `js-re-search-backward'." + (let ((parse) + (saved-point (point-min))) + (while (> count 0) + (re-search-backward regexp bound) + (when (and (> (point) (point-min)) + (save-excursion (backward-char) (looking-at "/[/*]"))) + (forward-char)) + (setq parse (parse-partial-sexp saved-point (point))) + (cond ((nth 3 parse) + (re-search-backward + (concat "\\([^\\]\\|^\\)" (string (nth 3 parse))) + (save-excursion (beginning-of-line) (point)) t)) + ((nth 7 parse) + (goto-char (nth 8 parse))) + ((or (nth 4 parse) + (and (eq (char-before) ?/) (eq (char-after) ?*))) + (re-search-backward "/\\*")) + (t + (setq count (1- count)))))) + (point)) + + +(defun js-re-search-backward (regexp &optional bound noerror count) + "Search backward but ignore strings and comments. Invokes +`re-search-backward' but treats the buffer as if strings and +comments have been removed." + (let ((saved-point (point)) + (search-expr + (cond ((null count) + '(js-re-search-backward-inner regexp bound 1)) + ((< count 0) + '(js-re-search-forward-inner regexp bound (- count))) + ((> count 0) + '(js-re-search-backward-inner regexp bound count))))) + (condition-case err + (eval search-expr) + (search-failed + (goto-char saved-point) + (unless noerror + (error (error-message-string err))))))) + + +(defun js-continued-var-decl-list-p () + "Return non-nil if point is inside a continued variable declaration +list." + (interactive) + (let ((start (save-excursion (js-re-search-backward "\\" nil t)))) + (and start + (save-excursion (re-search-backward "\n" start t)) + (not (save-excursion + (js-re-search-backward + ";\\|[^, \t][ \t]*\\(/[/*]\\|$\\)" start t)))))) + + +;; --- Font Lock --- + +(defun js-inside-param-list-p () + "Return non-nil if point is inside a function parameter list." + (condition-case err + (save-excursion + (up-list -1) + (and (looking-at "(") + (progn (backward-word 1) + (or (looking-at "function") + (progn (backward-word 1) (looking-at "function")))))) + (error nil))) + + +(defconst js-function-heading-1-re + "^[ \t]*function[ \t]+\\(\\w+\\)" + "Regular expression matching the start of a function header.") + +(defconst js-function-heading-2-re + "^[ \t]*\\(\\w+\\)[ \t]*:[ \t]*function\\>" + "Regular expression matching the start of a function entry in + an associative array.") + +(defconst js-keyword-re + (regexp-opt '("abstract" "break" "case" "catch" "class" "const" + "continue" "debugger" "default" "delete" "do" "else" + "enum" "export" "extends" "final" "finally" "for" + "function" "goto" "if" "implements" "import" "in" + "instanceof" "interface" "native" "new" "package" + "private" "protected" "public" "return" "static" + "super" "switch" "synchronized" "this" "throw" + "throws" "transient" "try" "typeof" "var" "void" + "volatile" "while" "with" + "let") 'words) + "Regular expression matching any JavaScript keyword.") + +(defconst js-basic-type-re + (regexp-opt '("boolean" "byte" "char" "double" "float" "int" "long" + "short" "void") 'words) + "Regular expression matching any predefined type in JavaScript.") + +(defconst js-constant-re + (regexp-opt '("false" "null" "true") 'words) + "Regular expression matching any future reserved words in JavaScript.") + + +(defconst js-font-lock-keywords-1 + (list + "\\" + (list js-function-heading-1-re 1 font-lock-function-name-face) + (list js-function-heading-2-re 1 font-lock-function-name-face) + (list "[=(][ \t]*\\(/.*?[^\\]/\\w*\\)" 1 font-lock-string-face)) + "Level one font lock.") + +(defconst js-font-lock-keywords-2 + (append js-font-lock-keywords-1 + (list (list js-keyword-re 1 font-lock-keyword-face) + (cons js-basic-type-re font-lock-type-face) + (cons js-constant-re font-lock-constant-face))) + "Level two font lock.") + + +;; Limitations with variable declarations: There seems to be no +;; sensible way to highlight variables occuring after an initialized +;; variable in a variable list. For instance, in +;; +;; var x, y = f(a, b), z +;; +;; z will not be highlighted. + +(defconst js-font-lock-keywords-3 + (append + js-font-lock-keywords-2 + (list + + ;; variable declarations + (list + (concat "\\<\\(const\\|var\\)\\>\\|" js-basic-type-re) + (list "\\(\\w+\\)[ \t]*\\([=;].*\\|,\\|/[/*]\\|$\\)" + nil + nil + '(1 font-lock-variable-name-face))) + + ;; continued variable declaration list + (list + (concat "^[ \t]*\\w+[ \t]*\\([,;=]\\|/[/*]\\|$\\)") + (list "\\(\\w+\\)[ \t]*\\([=;].*\\|,\\|/[/*]\\|$\\)" + '(if (save-excursion (backward-char) (js-continued-var-decl-list-p)) + (backward-word 1) + (end-of-line)) + '(end-of-line) + '(1 font-lock-variable-name-face))) + + ;; formal parameters + (list + (concat "\\\\([ \t]+\\w+\\)?[ \t]*([ \t]*\\w") + (list "\\(\\w+\\)\\([ \t]*).*\\)?" + '(backward-char) + '(end-of-line) + '(1 font-lock-variable-name-face))) + + ;; continued formal parameter list + (list + (concat "^[ \t]*\\w+[ \t]*[,)]") + (list "\\w+" + '(if (save-excursion (backward-char) (js-inside-param-list-p)) + (backward-word 1) + (end-of-line)) + '(end-of-line) + '(0 font-lock-variable-name-face))))) + "Level three font lock.") + +(defconst js-font-lock-keywords + '(js-font-lock-keywords-3 js-font-lock-keywords-1 js-font-lock-keywords-2 + js-font-lock-keywords-3) + "See `font-lock-keywords'.") + + +;; --- Indentation --- + +(defconst js-possibly-braceless-keyword-re + (regexp-opt + '("catch" "do" "else" "finally" "for" "if" "try" "while" "with" "let") + 'words) + "Regular expression matching keywords that are optionally + followed by an opening brace.") + +(defconst js-indent-operator-re + (concat "[-+*/%<>=&^|?:.]\\([^-+*/]\\|$\\)\\|" + (regexp-opt '("in" "instanceof") 'words)) + "Regular expression matching operators that affect indentation + of continued expressions.") + + +(defun js-looking-at-operator-p () + "Return non-nil if text after point is an operator (that is not +a comma)." + (save-match-data + (and (looking-at js-indent-operator-re) + (or (not (looking-at ":")) + (save-excursion + (and (js-re-search-backward "[?:{]\\|\\" nil t) + (looking-at "?"))))))) + + +(defun js-continued-expression-p () + "Returns non-nil if the current line continues an expression." + (save-excursion + (back-to-indentation) + (or (js-looking-at-operator-p) + (and (js-re-search-backward "\n" nil t) + (progn + (skip-chars-backward " \t") + (backward-char) + (and (> (point) (point-min)) + (save-excursion (backward-char) (not (looking-at "[/*]/"))) + (js-looking-at-operator-p) + (and (progn (backward-char) + (not (looking-at "++\\|--\\|/[/*]")))))))))) + + +(defun js-end-of-do-while-loop-p () + "Returns non-nil if word after point is `while' of a do-while +statement, else returns nil. A braceless do-while statement +spanning several lines requires that the start of the loop is +indented to the same column as the current line." + (interactive) + (save-excursion + (save-match-data + (when (looking-at "\\s-*\\") + (if (save-excursion + (skip-chars-backward "[ \t\n]*}") + (looking-at "[ \t\n]*}")) + (save-excursion + (backward-list) (backward-word 1) (looking-at "\\")) + (js-re-search-backward "\\" (point-at-bol) t) + (or (looking-at "\\") + (let ((saved-indent (current-indentation))) + (while (and (js-re-search-backward "^[ \t]*\\<" nil t) + (/= (current-indentation) saved-indent))) + (and (looking-at "[ \t]*\\") + (not (js-re-search-forward + "\\" (point-at-eol) t)) + (= (current-indentation) saved-indent))))))))) + + +(defun js-ctrl-statement-indentation () + "Returns the proper indentation of the current line if it +starts the body of a control statement without braces, else +returns nil." + (save-excursion + (back-to-indentation) + (when (save-excursion + (and (not (looking-at "[{]")) + (progn + (js-re-search-backward "[[:graph:]]" nil t) + (forward-char) + (when (= (char-before) ?\)) (backward-list)) + (skip-syntax-backward " ") + (skip-syntax-backward "w") + (looking-at js-possibly-braceless-keyword-re)) + (not (js-end-of-do-while-loop-p)))) + (save-excursion + (goto-char (match-beginning 0)) + (+ (current-indentation) javascript-indent-level))))) + + +(defun js-proper-indentation (parse-status) + "Return the proper indentation for the current line." + (save-excursion + (back-to-indentation) + (let ((ctrl-stmt-indent (js-ctrl-statement-indentation)) + (same-indent-p (looking-at "[]})]\\|\\\\|\\")) + (continued-expr-p (js-continued-expression-p))) + (cond (ctrl-stmt-indent) + ((js-continued-var-decl-list-p) + (js-re-search-backward "\\" nil t) + (+ (current-indentation) javascript-indent-level)) + ((nth 1 parse-status) + (goto-char (nth 1 parse-status)) + (if (looking-at "[({[][ \t]*\\(/[/*]\\|$\\)") + (progn + (skip-syntax-backward " ") + (when (= (char-before) ?\)) (backward-list)) + (back-to-indentation) + (cond (same-indent-p + (current-column)) + (continued-expr-p + (+ (current-column) (* 2 javascript-indent-level))) + (t + (+ (current-column) javascript-indent-level)))) + (unless same-indent-p + (forward-char) + (skip-chars-forward " \t")) + (current-column))) + (continued-expr-p javascript-indent-level) + (t 0))))) + + +(defun javascript-indent-line () + "Indent the current line as JavaScript source text." + (interactive) + (let ((parse-status + (save-excursion (parse-partial-sexp (point-min) (point-at-bol)))) + (offset (- (current-column) (current-indentation)))) + (when (not (nth 8 parse-status)) + (indent-line-to (js-proper-indentation parse-status)) + (when (> offset 0) (forward-char offset))))) + + +;; --- Filling --- + +;; FIXME: It should be possible to use the more sofisticated function +;; `c-fill-paragraph' in `cc-cmds.el' instead. However, just setting +;; `fill-paragraph-function' to `c-fill-paragraph' does not work; +;; inside `c-fill-paragraph', `fill-paragraph-function' evaluates to +;; nil!? + +(defun js-backward-paragraph () + "Move backward to start of paragraph. Postcondition: Point is at +beginning of buffer or the previous line contains only whitespace." + (forward-line -1) + (while (not (or (bobp) (looking-at "^[ \t]*$"))) + (forward-line -1)) + (when (not (bobp)) (forward-line 1))) + + +(defun js-forward-paragraph () + "Move forward to end of paragraph. Postcondition: Point is at +end of buffer or the next line contains only whitespace." + (forward-line 1) + (while (not (or (eobp) (looking-at "^[ \t]*$"))) + (forward-line 1)) + (when (not (eobp)) (backward-char 1))) + + +(defun js-fill-block-comment-paragraph (parse-status justify) + "Fill current paragraph as a block comment. PARSE-STATUS is the +result of `parse-partial-regexp' from beginning of buffer to +point. JUSTIFY has the same meaning as in `fill-paragraph'." + (let ((offset (save-excursion + (goto-char (nth 8 parse-status)) (current-indentation)))) + (save-excursion + (save-restriction + (narrow-to-region (save-excursion + (goto-char (nth 8 parse-status)) (point-at-bol)) + (save-excursion + (goto-char (nth 8 parse-status)) + (re-search-forward "*/"))) + (narrow-to-region (save-excursion + (js-backward-paragraph) + (when (looking-at "^[ \t]*$") (forward-line 1)) + (point)) + (save-excursion + (js-forward-paragraph) + (when (looking-at "^[ \t]*$") (backward-char)) + (point))) + (goto-char (point-min)) + (while (not (eobp)) + (delete-horizontal-space) + (forward-line 1)) + (let ((fill-column (- fill-column offset)) + (fill-paragraph-function nil)) + (fill-paragraph justify)) + + ;; In Emacs 21.4 as opposed to CVS Emacs 22, + ;; `fill-paragraph' seems toadd a newline at the end of the + ;; paragraph. Remove it! + (goto-char (point-max)) + (when (looking-at "^$") (backward-delete-char 1)) + + (goto-char (point-min)) + (while (not (eobp)) + (indent-to offset) + (forward-line 1)))))) + + +(defun js-sline-comment-par-start () + "Return point at the beginning of the line where the current +single-line comment paragraph starts." + (save-excursion + (beginning-of-line) + (while (and (not (bobp)) + (looking-at "^[ \t]*//[ \t]*[[:graph:]]")) + (forward-line -1)) + (unless (bobp) (forward-line 1)) + (point))) + + +(defun js-sline-comment-par-end () + "Return point at end of current single-line comment paragraph." + (save-excursion + (beginning-of-line) + (while (and (not (eobp)) + (looking-at "^[ \t]*//[ \t]*[[:graph:]]")) + (forward-line 1)) + (unless (bobp) (backward-char)) + (point))) + + +(defun js-sline-comment-offset (line) + "Return the column at the start of the current single-line +comment paragraph." + (save-excursion + (goto-line line) + (re-search-forward "//" (point-at-eol)) + (goto-char (match-beginning 0)) + (current-column))) + + +(defun js-sline-comment-text-offset (line) + "Return the column at the start of the text of the current +single-line comment paragraph." + (save-excursion + (goto-line line) + (re-search-forward "//[ \t]*" (point-at-eol)) + (current-column))) + + +(defun js-at-empty-sline-comment-p () + "Return non-nil if inside an empty single-line comment." + (and (save-excursion + (beginning-of-line) + (not (looking-at "^.*//.*[[:graph:]]"))) + (save-excursion + (re-search-backward "//" (point-at-bol) t)))) + + +(defun js-fill-sline-comments (parse-status justify) + "Fill current paragraph as a sequence of single-line comments. +PARSE-STATUS is the result of `parse-partial-regexp' from +beginning of buffer to point. JUSTIFY has the same meaning as in +`fill-paragraph'." + (when (not (js-at-empty-sline-comment-p)) + (let* ((start (js-sline-comment-par-start)) + (start-line (1+ (count-lines (point-min) start))) + (end (js-sline-comment-par-end)) + (offset (js-sline-comment-offset start-line)) + (text-offset (js-sline-comment-text-offset start-line))) + (save-excursion + (save-restriction + (narrow-to-region start end) + (goto-char (point-min)) + (while (re-search-forward "^[ \t]*//[ \t]*" nil t) + (replace-match "") + (forward-line 1)) + (let ((fill-paragraph-function nil) + (fill-column (- fill-column text-offset))) + (fill-paragraph justify)) + + ;; In Emacs 21.4 as opposed to CVS Emacs 22, + ;; `fill-paragraph' seems toadd a newline at the end of the + ;; paragraph. Remove it! + (goto-char (point-max)) + (when (looking-at "^$") (backward-delete-char 1)) + + (goto-char (point-min)) + (while (not (eobp)) + (indent-to offset) + (insert "//") + (indent-to text-offset) + (forward-line 1))))))) + + +(defun js-trailing-comment-p (parse-status) + "Return non-nil if inside a trailing comment. PARSE-STATUS is +the result of `parse-partial-regexp' from beginning of buffer to +point." + (save-excursion + (when (nth 4 parse-status) + (goto-char (nth 8 parse-status)) + (skip-chars-backward " \t") + (not (bolp))))) + + +(defun js-block-comment-p (parse-status) + "Return non-nil if inside a block comment. PARSE-STATUS is the +result of `parse-partial-regexp' from beginning of buffer to +point." + (save-excursion + (save-match-data + (when (nth 4 parse-status) + (goto-char (nth 8 parse-status)) + (looking-at "/\\*"))))) + + +(defun javascript-fill-paragraph (&optional justify) + "If inside a comment, fill the current comment paragraph. +Trailing comments are ignored." + (interactive) + (let ((parse-status (parse-partial-sexp (point-min) (point)))) + (when (and (nth 4 parse-status) + (not (js-trailing-comment-p parse-status))) + (if (js-block-comment-p parse-status) + (js-fill-block-comment-paragraph parse-status justify) + (js-fill-sline-comments parse-status justify)))) + t) + + +;; --- Imenu --- + +(defconst js-imenu-generic-expression + (list + (list + nil + "function\\s-+\\(\\w+\\)\\s-*(" + 1)) + "Regular expression matching top level procedures. Used by imenu.") + + +;; --- Main Function --- + +;;;###autoload +(defun javascript-mode () + "Major mode for editing JavaScript source text. + +Key bindings: + +\\{javascript-mode-map}" + (interactive) + (kill-all-local-variables) + + (use-local-map javascript-mode-map) + (set-syntax-table javascript-mode-syntax-table) + (set (make-local-variable 'indent-line-function) 'javascript-indent-line) + (set (make-local-variable 'font-lock-defaults) (list js-font-lock-keywords)) + + (set (make-local-variable 'parse-sexp-ignore-comments) t) + + ;; Comments + (setq comment-start "// ") + (setq comment-end "") + (set (make-local-variable 'fill-paragraph-function) + 'javascript-fill-paragraph) + + ;; Make c-mark-function work + (setq c-nonsymbol-token-regexp "!=\\|%=\\|&[&=]\\|\\*[/=]\\|\\+[+=]\\|-[=-]\\|/[*/=]\\|<\\(?:<=\\|[<=]\\)\\|==\\|>\\(?:>\\(?:>=\\|[=>]\\)\\|[=>]\\)\\|\\^=\\||[=|]\\|[]!%&(-,./:-?[{-~^-]" + c-stmt-delim-chars "^;{}?:" + c-syntactic-ws-end "[ \n \f/]" + c-syntactic-eol "\\(\\s \\|/\\*\\([^*\n ]\\|\\*[^/\n ]\\)*\\*/\\)*\\(\\(/\\*\\([^*\n ]\\|\\*[^/\n ]\\)*\\|\\\\\\)?$\\|//\\)") + + ;; Imenu + (setq imenu-case-fold-search nil) + (set (make-local-variable 'imenu-generic-expression) + js-imenu-generic-expression) + + (setq major-mode 'javascript-mode) + (setq mode-name "JavaScript") + (run-hooks 'javascript-mode-hook)) + + +(provide 'javascript-mode) +;;; javascript.el ends here diff --git a/.emacs.d/rainbow-mode.el b/.emacs.d/rainbow-mode.el new file mode 100644 index 0000000..8207abc --- /dev/null +++ b/.emacs.d/rainbow-mode.el @@ -0,0 +1,207 @@ +;;; rainbow-mode.el --- prints color strings with colored background + +;; Copyright (C) 2010 Julien Danjou + +;; Author: Julien Danjou +;; Keywords: strings, faces + +;; This file is NOT part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see . + +;;; Commentary: +;; This minor mode will add background to strings that matches color names. +;; i.e. +;; #0000ff +;; Will be printed in white with a blue background. +;; + +;;; Code: + +(eval-when-compile + (require 'cl)) + +(require 'regexp-opt) +(require 'faces) + +(defgroup rainbow nil + "Show color strings with a background color." + :tag "Rainbow" + :group 'help) + +;; Hexadecimal colors +(defvar rainbow-hexadecimal-colors-font-lock-keywords + '("#[0-9a-fA-F]\\{3\\}[0-9a-fA-F]\\{3\\}?" + (0 (rainbow-colorize-itself))) + "Font-lock keywords to add for hexadecimal colors.") + +;; rgb() colors +(defvar rainbow-html-rgb-colors-font-lock-keywords + '(("rgb(\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*)" + (0 (rainbow-colorize-rgb))) + ("rgba(\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*[0-9]\\{1,3\\}\s*%?\s*)" + (0 (rainbow-colorize-rgb)))) + "Font-lock keywords to add for RGB colors.") + +;; HTML colors name +(defvar rainbow-html-colors-font-lock-keywords nil + "Font-lock keywords to add for HTML colors.") +(make-variable-buffer-local 'rainbow-html-colors-font-lock-keywords) + +(defcustom rainbow-html-colors-alist + '(("black" . "#000000") + ("silver" . "#C0C0C0") + ("gray" . "#808080") + ("white" . "#FFFFFF") + ("maroon" . "#800000") + ("red" . "#FF0000") + ("purple" . "#800080") + ("fuchsia" . "#FF00FF") + ("green" . "#008000") + ("lime" . "#00FF00") + ("olive" . "#808000") + ("yellow" . "#FFFF00") + ("navy" . "#000080") + ("blue" . "#0000FF") + ("teal" . "#008080") + ("aqua" . "#00FFFF")) + "Alist of HTML colors. +Each entry should have the form (COLOR-NAME . HEXADECIMAL-COLOR)." + :group 'rainbow) + +(defcustom rainbow-html-colors-major-mode-list + '(html-mode css-mode php-mode nxml-mode xml-mode) + "List of major mode where HTML colors are enabled when +`rainbow-html-colors' is set to auto." + :group 'rainbow) + +(defcustom rainbow-html-colors 'auto + "When to enable HTML colors. +If set to t, the HTML colors will be enabled. If set to nil, the +HTML colors will not be enabled. If set to auto, the HTML colors +will be enabled if a major mode has been detected from the +`rainbow-html-colors-major-mode-list'." + :group 'rainbow) + +;; X colors +(defvar rainbow-x-colors-font-lock-keywords + `(,(regexp-opt (x-defined-colors) 'words) + (0 (rainbow-colorize-itself))) + "Font-lock keywords to add for X colors.") + +(defcustom rainbow-x-colors-major-mode-list + '(emacs-lisp-mode lisp-interaction-mode c-mode c++-mode java-mode) + "List of major mode where X colors are enabled when +`rainbow-x-colors' is set to auto." + :group 'rainbow) + +(defcustom rainbow-x-colors 'auto + "When to enable X colors. +If set to t, the X colors will be enabled. If set to nil, the +X colors will not be enabled. If set to auto, the X colors +will be enabled if a major mode has been detected from the +`rainbow-x-colors-major-mode-list'." + :group 'rainbow) + +;; Functions +(defun rainbow-colorize-match (color) + "Return a matched string propertized with a face whose +background is COLOR. The foreground is computed using +`rainbow-color-luminance', and is either white or black." + (put-text-property + (match-beginning 0) (match-end 0) + 'face `((:foreground ,(if (> 128.0 (rainbow-x-color-luminance color)) + "white" "black")) + (:background ,color)))) + +(defun rainbow-colorize-itself () + "Colorize a match with itself." + (rainbow-colorize-match (match-string-no-properties 0))) + +(defun rainbow-colorize-by-assoc (assoc-list) + "Colorize a match with its association from ASSOC-LIST." + (rainbow-colorize-match (cdr (assoc (match-string-no-properties 0) assoc-list)))) + +(defun rainbow-rgb-relative-to-absolute (number) + "Convert a relative NUMBER to absolute. If NUMBER is absolute, return NUMBER. +This will convert \"80 %\" to 204, \"100 %\" to 255 but \"123\" to \"123\"" + (let ((string-length (- (length number) 1))) + ;; Is this a number with %? + (if (eq (elt number string-length) ?%) + (/ (* (string-to-number (substring number 0 string-length)) 255) 100) + (string-to-number number)))) + +(defun rainbow-colorize-rgb () + "Colorize a match with itself." + (let ((r (rainbow-rgb-relative-to-absolute (match-string-no-properties 1))) + (g (rainbow-rgb-relative-to-absolute (match-string-no-properties 2))) + (b (rainbow-rgb-relative-to-absolute (match-string-no-properties 3)))) + (rainbow-colorize-match (format "#%02X%02X%02X" r g b)))) + +(defun rainbow-color-luminance (red green blue) + "Calculate the luminance of color composed of RED, BLUE and GREEN." + (floor (+ (* .2126 red) (* .7152 green) (* .0722 blue)) 256)) + +(defun rainbow-x-color-luminance (color) + "Calculate the luminance of a color string (e.g. \"#ffaa00\", \"blue\")." + (let* ((values (x-color-values color)) + (r (car values)) + (g (cadr values)) + (b (caddr values))) + (rainbow-color-luminance r g b))) + +(defun rainbow-turn-on () + "Turn on raibow-mode." + (font-lock-add-keywords nil + (list rainbow-hexadecimal-colors-font-lock-keywords)) + ;; Activate X colors? + (when (or (eq rainbow-x-colors t) + (and (eq rainbow-x-colors 'auto) + (memq major-mode rainbow-x-colors-major-mode-list))) + (font-lock-add-keywords nil + (list rainbow-x-colors-font-lock-keywords))) + ;; Activate HTML colors? + (when (or (eq rainbow-html-colors t) + (and (eq rainbow-html-colors 'auto) + (memq major-mode rainbow-html-colors-major-mode-list))) + (setq rainbow-html-colors-font-lock-keywords + `(,(regexp-opt (mapcar 'car rainbow-html-colors-alist) 'words) + (0 (rainbow-colorize-by-assoc rainbow-html-colors-alist)))) + (font-lock-add-keywords nil + `(,rainbow-html-colors-font-lock-keywords + ,@rainbow-html-rgb-colors-font-lock-keywords)))) + +(defun rainbow-turn-off () + "Turn off rainbow-mode." + (font-lock-remove-keywords + nil + (list + rainbow-hexadecimal-colors-font-lock-keywords + rainbow-html-colors-font-lock-keywords + rainbow-x-colors-font-lock-keywords + rainbow-html-rgb-colors-font-lock-keywords))) + +;;;###autoload +(define-minor-mode rainbow-mode + "Colorize strings that represent colors. +This will fontify with colors the string like \"#aabbcc\" or \"blue\"" + :lighter " Rbow" + (progn + (if rainbow-mode + (rainbow-turn-on) + (rainbow-turn-off)) + ;; Turn on font lock + (font-lock-mode 1))) + +(provide 'rainbow-mode) diff --git a/.emacs.d/sqlplus.el b/.emacs.d/sqlplus.el new file mode 100644 index 0000000..4d5e7d7 --- /dev/null +++ b/.emacs.d/sqlplus.el @@ -0,0 +1,5151 @@ +;;; sqlplus.el --- User friendly interface to SQL*Plus and support for PL/SQL compilation + +;; Copyright (C) 2007, 2008 Peter Karpiuk, Scott Tiger S.A. + +;; Author: Peter Karpiuk +;; Maintainer: Peter Karpiuk +;; Created: 25 Nov 2007 +;; Version 0.9.0 +;; Keywords: sql sqlplus oracle plsql + +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published +;; by the Free Software Foundation; either version 2, or (at your +;; option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + +;;; Commentary: + +;; Facilitates interaction with Oracle via SQL*Plus (GNU Emacs only). +;; Moreover, this package complements plsql.el (Kahlil Hodgson) +;; upon convenient compilation of PL/SQL source files. +;; +;; This package was inspired by sqlplus-mode.el (Rob Riepel, Peter +;; D. Pezaris, Martin Schwenke), but offers more features: +;; - tables are parsed, formatted and rendered with colors, like in +;; many GUI programs; you can see raw SQL*Plus output also, +;; if you wish +;; - table will be cutted if you try to fetch too many rows +;; (SELECT * FROM MY_MILLION_ROWS_TABLE); current SQL*Plus command +;; will be automatically interrupted under the hood in such cases +;; - you can use many SQL*Plus processes simultaneously, +;; - font locking (especially if you use Emacs>=22), with database +;; object names highlighting, +;; - history (log) of executed commands - see` sqlplus-history-dir` +;; variable, +;; - commands for fetching any database object definition +;; (package, table/index/sequence script) +;; - query result can be shown in HTML, +;; - input buffer for each connection can be saved into file on +;; disconnect and automatically restored on next connect (see +;; 'sqlplus-session-cache-dir' variable); if you place some +;; SQL*Plus commands between '/* init */' and '/* end */' +;; comments in saved input buffer, they will be automatically +;; executed on every connect +;; - if you use plsql.el for editing PL/SQL files, you can compile +;; such sources everytime with C-cC-c; error messages will be +;; parsed and displayed for easy source navigation +;; - M-. or C-mouse-1 on database object name will go to definition +;; in filesystem (use arrow button on toolbar to go back) +;; +;; The following commands should be added to a global initialization +;; file or to any user's .emacs file to conveniently use +;; sqlplus-mode: +;; +;; (require 'sqlplus) +;; (add-to-list 'auto-mode-alist '("\\.sqp\\'" . sqlplus-mode)) +;; +;; If you want PL/SQL support also, try something like this: +;; +;; (require 'plsql) +;; (setq auto-mode-alist +;; (append '(("\\.pls\\'" . plsql-mode) ("\\.pkg\\'" . plsql-mode) +;; ("\\.pks\\'" . plsql-mode) ("\\.pkb\\'" . plsql-mode) +;; ("\\.sql\\'" . plsql-mode) ("\\.PLS\\'" . plsql-mode) +;; ("\\.PKG\\'" . plsql-mode) ("\\.PKS\\'" . plsql-mode) +;; ("\\.PKB\\'" . plsql-mode) ("\\.SQL\\'" . plsql-mode) +;; ("\\.prc\\'" . plsql-mode) ("\\.fnc\\'" . plsql-mode) +;; ("\\.trg\\'" . plsql-mode) ("\\.vw\\'" . plsql-mode) +;; ("\\.PRC\\'" . plsql-mode) ("\\.FNC\\'" . plsql-mode) +;; ("\\.TRG\\'" . plsql-mode) ("\\.VW\\'" . plsql-mode)) +;; auto-mode-alist )) +;; +;; M-x sqlplus will start new SQL*Plus session. +;; +;; C-RET execute command under point +;; S-C-RET execute command under point and show result table in HTML +;; buffer +;; M-RET explain execution plan for command under point +;; M-. or C-mouse-1: find database object definition (table, view +;; index, synonym, trigger, procedure, function, package) +;; in filesystem +;; C-cC-s show database object definition (retrieved from database) +;; +;; Use describe-mode while in sqlplus-mode for further instructions. +;; +;; Many useful commands are defined in orcl-mode minor mode, which is +;; common for input and otput SQL*Plus buffers, as well as PL/SQL +;; buffers. +;; +;; For twiddling, see 'sqlplus' customization group. +;; +;; If you find this package useful, send me a postcard to address: +;; +;; Peter Karpiuk +;; Scott Tiger S.A. +;; ul. Gawinskiego 8 +;; 01-645 Warsaw +;; Poland + +;;; Known bugs: + +;; 1. Result of SQL select command can be messed up if some columns +;; has newline characters. To avoid this, execute SQL*Plus command +;; column truncated +;; before such select + +;;; Code: + +(require 'recentf) +(require 'font-lock) +(require 'cl) +(require 'sql) +(require 'tabify) +(require 'skeleton) + +(defconst sqlplus-revision "$Revision: 1.7 $") + +;;; Variables - + +(defgroup sqlplus nil + "SQL*Plus" + :group 'tools + :version 21) + +(defcustom plsql-auto-parse-errors-flag t + "Non nil means parse PL/SQL compilation results and show them in the compilation buffer." + :group 'sqlplus + :type '(boolean)) + +(defcustom sqlplus-init-sequence-start-regexp "/\\* init \\*/" + "SQL*Plus start of session init command sequence." + :group 'sqlplus + :type '(regexp)) + +(defcustom sqlplus-init-sequence-end-regexp "/\\* end \\*/" + "SQL*Plus end of session init command sequence." + :group 'sqlplus + :type '(regexp)) + +(defcustom sqlplus-explain-plan-warning-regexps '("TABLE ACCESS FULL" "INDEX FULL SCAN") + "SQL*Plus explain plan warning regexps" + :group 'sqlplus + :type '(repeat regexp)) + +(defcustom sqlplus-syntax-faces + '((schema font-lock-type-face nil) + (table font-lock-type-face ("dual")) + (synonym font-lock-type-face nil) + (view font-lock-type-face nil) + (column font-lock-constant-face nil) + (sequence font-lock-type-face nil) + (package font-lock-type-face nil) + (trigger font-lock-type-face nil) + (index font-lock-type-face) nil) + "Font lock configuration for database object names in current schema. +This is alist, and each element looks like (SYMBOL FACE LIST) +where SYMBOL is one of: schema, table, synonym, view, column, +sequence, package, trigger, index. Database objects means only +objects from current schema, so if you want syntax highlighting +for other objects (eg. 'dual' table name), you can explicitly +enumerate them in LIST as strings." + :group 'sqlplus + :tag "Oracle SQL Syntax Faces" + :type '(repeat (list symbol face (repeat string)))) + +(defcustom sqlplus-output-buffer-max-size (* 50 1000 1000) + "Maximum size of SQL*Plus output buffer. +After exceeding oldest results are deleted." + :group 'sqlplus + :tag "SQL*Plus Output Buffer Max Size" + :type '(integer)) + +(defcustom sqlplus-select-result-max-col-width nil + "Maximum width of column in displayed database table, or nil if there is no limit. +If any cell value is longer, it will be cutted and terminated with ellipsis ('...')." + :group 'sqlplus + :tag "SQL*Plus Select Result Max Column Width" + :type '(choice integer (const nil))) + +(defcustom sqlplus-format-output-tables-flag t + "Non-nil means format result if it looks like database table." + :group 'sqlplus + :tag "SQL*Plus Format Output Table" + :type '(boolean)) + +(defcustom sqlplus-kill-processes-without-query-on-exit-flag t + "Non-nil means silently kill all SQL*Plus processes on Emacs exit." + :group 'sqlplus + :tag "SQL*Plus Kill Processes Without Query On Exit" + :type '(boolean)) + +(defcustom sqlplus-multi-output-tables-default-flag t + "Non-nil means render database table as set of adjacent tables so that they occupy all width of output window. +For screen space saving and user comfort." + :group 'sqlplus + :tag "SQL*Plus Multiple Tables In Output by Default" + :type '(boolean)) + +(defcustom sqlplus-source-buffer-readonly-by-default-flag t + "Non-nil means show database sources in read-only buffer." + :group 'sqlplus + :tag "SQL*Plus Source Buffer Read Only By Default" + :type '(boolean)) + +(defcustom sqlplus-command "sqlplus" + "SQL*Plus interpreter program." + :group 'sqlplus + :tag "SQL*Plus Command" + :type '(string)) + +(defcustom sqlplus-history-dir nil + "Directory of SQL*Plus command history (log) files, or nil (dont generate log files). +History file name has format '-history.txt'." + :group 'sqlplus + :tag "SQL*Plus History Dir" + :type '(choice directory (const nil))) + +(defvar sqlplus-session-file-extension "sqp") + +(defcustom sqlplus-session-cache-dir nil + "Directory of SQL*Plus input buffer files, or nil (dont save user session). +Session file name has format '.sqp'" + :group 'sqlplus + :tag "SQL*Plus History Dir" + :type '(choice directory (const nil))) + +(defcustom sqlplus-save-passwords nil + "Non-nil means save passwords between Emacs sessions. (Not implemented yet)." + :group 'sqlplus + :tag "SQL*Plus Save Passwords" + :type '(boolean)) + +(defcustom sqlplus-pagesize 200 + "Approximate number of records in query results. +If result has more rows, it will be cutted and terminated with '. . .' line." + :group 'sqlplus + :tag "SQL*Plus Max Rows Count" + :type '(integer)) + +(defvar sqlplus-default-wrap "on") + +(defcustom sqlplus-initial-strings + (list "set sqlnumber off" + "set tab off" + "set linesize 4000" + "set echo off" + "set newpage 1" + "set space 1" + "set feedback 6" + "set heading on" + "set trimspool off" + (format "set wrap %s" sqlplus-default-wrap) + "set timing on" + "set feedback on") + "Initial commands to send to interpreter. +Customizing this variable is dangerous." + :group 'sqlplus + :tag "SQL*Plus Initial Strings" + :type '(repeat string)) + +(defcustom sqlplus-table-col-separator " | " + "Database table column separator (text-only terminals)." + :group 'sqlplus + :tag "SQL*Plus Table Col Separator" + :type '(string)) + +(defcustom sqlplus-table-col-head-separator "-+-" + "Database table header-column separator (text-only terminals)." + :group 'sqlplus + :tag "SQL*Plus Table Col Separator" + :type '(string)) + +(defcustom sqlplus-html-output-file-name "$HOME/sqlplus_report.html" + "Output file for HTML result." + :group 'sqlplus + :tag "SQL*Plus HTML Output File Name" + :type '(file)) + +(defcustom sqlplus-html-output-encoding "iso-8859-1" + "Encoding for SQL*Plus HTML output." + :group 'sqlplus + :tag "SQL*Plus HTML Output Encoding" + :type '(string)) + +(defcustom sqlplus-html-output-sql t + "Non-nil means put SQL*Plus command in head of HTML result." + :group 'sqlplus + :tag "SQL*Plus HTML Output Encoding" + :type '(choice (const :tag "Elegant" 'elegant) + (const :tag "Simple" t) + (const :tag "No" nil))) + +(defcustom sqlplus-html-output-header (concat (current-time-string) "

") + "HTML header sexp (result must be string)." + :group 'sqlplus + :tag "SQL*Plus HTML Output Header" + :type '(sexp)) + +(defcustom sqlplus-command-highlighting-percentage 7 + "SQL*Plus command highlighting percentage (0-100), only if sqlplus-command-highlighting-style is set." + :group 'sqlplus + :tag "SQL*Plus command highlighting percentage" + :type '(integer)) + +(defcustom sqlplus-command-highlighting-style nil + "How to highlight current command in sqlplus buffer." + :group 'sqlplus + :tag "SQL*Plud command highlighting style" + :type '(choice (const :tag "Fringe" fringe) + (const :tag "Background" background) + (const :tag "Fringe and background" fringe-and-background) + (const :tag "None" nil))) + +(defvar sqlplus-elegant-style window-system) + +(defvar sqlplus-cs nil) + +(defun sqlplus-shine-color (color percent) + (when (equal color "unspecified-bg") + (setq color (if (< percent 0) "white" "black"))) + (apply 'format "#%02x%02x%02x" + (mapcar (lambda (value) + (min 65535 (max 0 (* (+ (/ value 650) percent) 650)))) + (color-values color)))) + +(defvar sqlplus-table-head-face 'sqlplus-table-head-face) +(defface sqlplus-table-head-face + (list + (list '((class mono)) + '(:inherit default :weight bold :inverse-video t)) + (list '((background light)) + (append (list :inherit 'default :background (sqlplus-shine-color (face-background 'default) -70) :foreground (face-background 'default)) + (when (and sqlplus-elegant-style (>= emacs-major-version 22)) '(:box (:style released-button))))) + (list '((background dark)) + (append (list :inherit 'default :background (sqlplus-shine-color (face-background 'default) +70) :foreground (face-background 'default)) + (when (and sqlplus-elegant-style (>= emacs-major-version 22)) '(:box (:style released-button))))) + '(t (:inherit default))) + "Face for table header" + :group 'sqlplus) + +(defvar sqlplus-table-even-rows-face 'sqlplus-table-even-rows-face) +(defface sqlplus-table-even-rows-face + (list + (list '((class mono)) '()) + (list '((type tty)) '()) + (list '((background light)) + (append (list :inherit 'default :background (sqlplus-shine-color (face-background 'default) -20) :overline (face-background 'default)))) + (list '((background dark)) + (append (list :inherit 'default :background (sqlplus-shine-color (face-background 'default) +20) :overline (face-background 'default)))) + '(t ())) + "Face for table even rows" + :group 'sqlplus) + +(defvar sqlplus-table-odd-rows-face 'sqlplus-table-odd-rows-face) +(defface sqlplus-table-odd-rows-face + (list + (list '((class mono)) '(:inherit default)) + (list '((background light)) + (append (list :inherit 'default :background (sqlplus-shine-color (face-background 'default) -30) :overline (face-background 'default)))) + (list '((background dark)) + (append (list :inherit 'default :background (sqlplus-shine-color (face-background 'default) +30) :overline (face-background 'default)))) + '(t (:inherit default))) + "Face for table even rows" + :group 'sqlplus) + +(defvar sqlplus-command-highlight-face 'sqlplus-command-highlight-face) +(defface sqlplus-command-highlight-face + (list + '(((class mono)) ()) + '(((type tty)) ()) + (list '((background light)) + (append (list :background (sqlplus-shine-color (face-background 'default) (- sqlplus-command-highlighting-percentage))))) + (list '((background dark)) + (append (list :background (sqlplus-shine-color (face-background 'default) sqlplus-command-highlighting-percentage)))) + '(t ())) + "Face for highlighting command under point" + :group 'sqlplus) + +(defvar sqlplus-plsql-compilation-results-buffer-name "*PL/SQL Compilation*") + +(defvar sqlplus-fan "|" + "Local in input buffers") +(make-variable-buffer-local 'sqlplus-fan) + +(defvar orcl-mode-map nil + "Keymap used in Orcl mode.") + +(define-minor-mode orcl-mode + "Mode for executing SQL*Plus commands and scrolling results. + +Mode Specific Bindings: + +\\{orcl-mode-map}" + nil ; init value + (" " (:eval sqlplus-fan) " " (:eval (connect-string-to-string))) ; mode indicator + orcl-mode-map ; keymap + ;; body + (setq sqlplus-fan "|") + (unless (assq 'orcl-mode minor-mode-map-alist) + (push (cons 'orcl-mode orcl-mode-map) minor-mode-map-alist))) + +(defvar sqlplus-user-variables (makehash 'equal)) + +(defvar sqlplus-user-variables-history nil) + +(defvar sqlplus-get-source-history nil) + +(defvar sqlplus-process-p nil + "Non-nil (connect string) if current buffer is SQL*Plus process buffer. +Local in process buffer.") +(make-variable-buffer-local 'sqlplus-process-p) + +(defvar sqlplus-command-seq 0 + "Sequence for command id within SQL*Plus connection. +Local in process buffer.") +(make-variable-buffer-local 'sqlplus-command-seq) + +;;; :id - unique command identifier (from sequence, for session) +;;; :sql - content of command +;;; :dont-parse-result - process data online as it comes from sqlplus, with sqlplus-result-online or with :result-function function +;;; :result-function - function for processing sqlplus data; must have signature (context connect-string begin end interrupted); +;;; if nil then it is sqlplus-result-online for :dont-parse-result set to non-nil and sqlplus-process-command-output for :dont-parse-result set to nil +;;; :current-command-input-buffer-name - buffer name from which command was initialized +(defvar sqlplus-command-contexts nil + "Command options list, for current and enqueued commands, in chronological order. +Local in process buffer.") +(make-variable-buffer-local 'sqlplus-command-contexts) + +(defvar sqlplus-connect-string nil + "Local variable with connect-string for current buffer (input buffers, output buffer).") +(make-variable-buffer-local 'sqlplus-connect-string) + +(defvar sqlplus-connect-strings-alist nil + "Connect strings in format (CS . PASSWD), where PASSWD can be nil.") + +(defvar sqlplus-connect-string-history nil) + +(defvar sqlplus-prompt-prefix "SQL[") +(defvar sqlplus-prompt-suffix "]# ") + +(defvar sqlplus-page-separator "@!%#!") + +(defvar sqlplus-repfooter "##%@!") + +(defvar sqlplus-mode-map nil + "Keymap used in SQL*Plus mode.") + +(defvar sqlplus-output-separator "@--" + "String printed between sets of SQL*Plus command output.") + +;;; Markers - + +(defvar sqlplus-buffer-mark (make-marker) + "Marks the current SQL command in the SQL*Plus output buffer. +Local in output buffer.") +(make-variable-buffer-local 'sqlplus-buffer-mark) + +(defvar sqlplus-region-beginning-pos nil + "Marks the beginning of the region to sent to the SQL*Plus process. +Local in input buffer with sqlplus-mode.") +(make-variable-buffer-local 'sqlplus-region-beginning-pos) + +(defvar sqlplus-region-end-pos nil + "Marks the end of the region to sent to the SQL*Plus process. +Local in input buffer with sqlplus-mode.") +(make-variable-buffer-local 'sqlplus-region-end-pos) + +(defvar sqlplus-connections-menu + '("SQL*Plus" + :filter sqlplus-connections-menu) + "Menu for database connections") + +(defconst sqlplus-kill-xpm "\ +/* XPM */ +static char * reload_page_xpm[] = { +\"24 24 100 2\", +\" c None\", +\". c #000000\", +\"+ c #2A5695\", +\"@ c #30609E\", +\"# c #3363A2\", +\"$ c #3969A6\", +\"% c #3D6BA6\", +\"& c #3C68A3\", +\"* c #35619C\", +\"= c #244F8D\", +\"- c #3364A3\", +\"; c #3162A1\", +\"> c #3867A4\", +\", c #3F6DA8\", +\"' c #4672AC\", +\") c #4B76AE\", +\"! c #4E78AF\", +\"~ c #537CB1\", +\"{ c #547DB0\", +\"] c #446BA1\", +\"^ c #2E5D9C\", +\"/ c #234F8C\", +\"( c #214C89\", +\"_ c #244E8C\", +\": c #3A649D\", +\"< c #517BB0\", +\"[ c #517BB1\", +\"} c #4874AD\", +\"| c #6086B7\", +\"1 c #5F84B4\", +\"2 c #4B71A6\", +\"3 c #7B9BC4\", +\"4 c #224C89\", +\"5 c #3865A2\", +\"6 c #406FAB\", +\"7 c #436BA3\", +\"8 c #648ABA\", +\"9 c #4D78AF\", +\"0 c #4B77AE\", +\"a c #6E91BE\", +\"b c #809EC6\", +\"c c #204A87\", +\"d c #4974AF\", +\"e c #2B5590\", +\"f c #6487B5\", +\"g c #678CBB\", +\"h c #3465A4\", +\"i c #84A1C8\", +\"j c #6D8FBA\", +\"k c #4F7AB0\", +\"l c #8BA7CB\", +\"m c #7E9DC5\", +\"n c #83A1C7\", +\"o c #91ACCE\", +\"p c #89A4C9\", +\"q c #8FA9CB\", +\"r c #85A2C7\", +\"s c #90ABCC\", +\"t c #3E6CA8\", +\"u c #87A3C8\", +\"v c #4B6DA1\", +\"w c #91ABCD\", +\"x c #3768A5\", +\"y c #8AA5C9\", +\"z c #2D5690\", +\"A c #204A86\", +\"B c #93ADCE\", +\"C c #7294BF\", +\"D c #6288B9\", +\"E c #86A3C8\", +\"F c #466EA3\", +\"G c #3864A1\", +\"H c #285390\", +\"I c #234E8C\", +\"J c #95AECF\", +\"K c #7493BC\", +\"L c #86A2C7\", +\"M c #7999C3\", +\"N c #5B82B5\", +\"O c #6C8EBB\", +\"P c #4B71A5\", +\"Q c #26508B\", +\"R c #2B5792\", +\"S c #305E9B\", +\"T c #31619F\", +\"U c #7895BD\", +\"V c #819DC3\", +\"W c #688DBB\", +\"X c #6288B8\", +\"Y c #5880B4\", +\"Z c #577FB3\", +\"` c #547DB2\", +\" . c #416FAA\", +\".. c #3564A2\", +\"+. c #577AAB\", +\"@. c #6286B6\", +\"#. c #668BBA\", +\"$. c #507AB0\", +\"%. c #426EA8\", +\"&. c #2F5B97\", +\" \", +\" \", +\" \", +\" . . . . . . . . \", +\" . . + @ # $ % & * . . . . \", +\" . = - ; @ > , ' ) ! ~ { . . . ] . \", +\" . ^ / ( _ . . . : < [ } | 1 2 3 . \", +\" . _ 4 5 6 . . . 7 8 9 0 a b . \", +\" . c d . . . e f g h i . \", +\" . . . . . j k h l . \", +\" . . f m n l o . \", +\" . . . . . . . . \", +\" . . . . . . . . \", +\" . p q q q r . . \", +\" . s , t u v . . . . \", +\" . w x | y z . . . . A . \", +\" . B C 9 D E F . . . G H I . \", +\" . J K L M N C O P . . . Q R S T . \", +\" . U . . . V W X | Y Z ` ) .... \", +\" . . . . +.@.#.N $.%.&.. . \", +\" . . . . . . . . \", +\" \", +\" \", +\" \"}; +" + "XPM format image used as Kill icon") + +(defconst sqlplus-cancel-xpm "\ +/* XPM */ +static char * process_stop_xpm[] = { +\"24 24 197 2\", +\" c None\", +\". c #000000\", +\"+ c #C92B1E\", +\"@ c #DA432F\", +\"# c #E95941\", +\"$ c #F26B50\", +\"% c #ED6047\", +\"& c #DF4A35\", +\"* c #CE3324\", +\"= c #BF1D13\", +\"- c #EA5942\", +\"; c #EF563A\", +\"> c #F14D2C\", +\", c #F1431F\", +\"' c #F23A12\", +\") c #F2421C\", +\"! c #F24D2A\", +\"~ c #F15737\", +\"{ c #F0644A\", +\"] c #CF3121\", +\"^ c #D83828\", +\"/ c #ED5840\", +\"( c #EC3B1C\", +\"_ c #EE310B\", +\": c #F1350C\", +\"< c #F4380D\", +\"[ c #F53A0D\", +\"} c #F53B0D\", +\"| c #F4390D\", +\"1 c #F2360C\", +\"2 c #EF3A15\", +\"3 c #F05A3D\", +\"4 c #E44D37\", +\"5 c #CD2B1E\", +\"6 c #EA4D35\", +\"7 c #E92D0C\", +\"8 c #ED2F0B\", +\"9 c #F0330C\", +\"0 c #F3380D\", +\"a c #F63C0E\", +\"b c #F93F0F\", +\"c c #F9400F\", +\"d c #F73D0E\", +\"e c #F1340C\", +\"f c #EE300B\", +\"g c #EC482C\", +\"h c #E04532\", +\"i c #E84E3A\", +\"j c #E62A0E\", +\"k c #EA2B0A\", +\"l c #F83F0E\", +\"m c #FC4310\", +\"n c #FC4410\", +\"o c #F63B0E\", +\"p c #EB2C0A\", +\"q c #EB5139\", +\"r c #C8251A\", +\"s c #DD3D2E\", +\"t c #E5341D\", +\"u c #E62508\", +\"v c #F9BEB2\", +\"w c #FBCFC5\", +\"x c #F54C23\", +\"y c #F95125\", +\"z c #FDD4CB\", +\"A c #FABFB2\", +\"B c #E83013\", +\"C c #E84F3B\", +\"D c #E54737\", +\"E c #E22007\", +\"F c #E92A09\", +\"G c #FBD2CA\", +\"H c #FFFFFF\", +\"I c #FDDFD9\", +\"J c #F64E24\", +\"K c #FDE0D9\", +\"L c #E72609\", +\"M c #E7452F\", +\"N c #E33D2D\", +\"O c #E11E07\", +\"P c #E52308\", +\"Q c #E82809\", +\"R c #EC3F21\", +\"S c #FCDED8\", +\"T c #F55C37\", +\"U c #FCDFD8\", +\"V c #F04521\", +\"W c #EC2E0A\", +\"X c #E92909\", +\"Y c #E62408\", +\"Z c #E53823\", +\"` c #CE2B1F\", +\" . c #C62018\", +\".. c #E03120\", +\"+. c #E01C06\", +\"@. c #E32107\", +\"#. c #ED4121\", +\"$. c #FEF9F8\", +\"%. c #E72709\", +\"&. c #E42208\", +\"*. c #E32D17\", +\"=. c #D83729\", +\"-. c #CB231B\", +\";. c #DE2A1B\", +\">. c #DE1A06\", +\",. c #EE5135\", +\"'. c #EF5335\", +\"). c #EC2D0A\", +\"!. c #E82709\", +\"~. c #E21F07\", +\"{. c #E02511\", +\"]. c #DC392C\", +\"^. c #BE1612\", +\"/. c #DD2E21\", +\"(. c #DC1705\", +\"_. c #DF1B06\", +\":. c #E42308\", +\"<. c #E93A20\", +\"[. c #FBDDD8\", +\"}. c #EB3D20\", +\"|. c #DF2A18\", +\"1. c #D02A1F\", +\"2. c #DC3328\", +\"3. c #DA1404\", +\"4. c #DD1805\", +\"5. c #E3331E\", +\"6. c #FADCD8\", +\"7. c #FBDCD8\", +\"8. c #EB4C34\", +\"9. c #E6361F\", +\"0. c #DD1905\", +\"a. c #DF2F21\", +\"b. c #C21A14\", +\"c. c #DA3128\", +\"d. c #D81408\", +\"e. c #F7C9C4\", +\"f. c #FADBD8\", +\"g. c #E5341E\", +\"h. c #E5351E\", +\"i. c #F8CEC9\", +\"j. c #DB1505\", +\"k. c #DD3429\", +\"l. c #C31613\", +\"m. c #D9281F\", +\"n. c #D71003\", +\"o. c #D91304\", +\"p. c #F3B5B0\", +\"q. c #F7CDC9\", +\"r. c #E12F1D\", +\"s. c #DF1C06\", +\"t. c #E2301D\", +\"u. c #F4B6B0\", +\"v. c #DC1605\", +\"w. c #DB2317\", +\"x. c #D2271F\", +\"y. c #D1231D\", +\"z. c #D61A10\", +\"A. c #D60F03\", +\"B. c #D81104\", +\"C. c #DB1605\", +\"D. c #D81204\", +\"E. c #D81509\", +\"F. c #DA2F26\", +\"G. c #D52620\", +\"H. c #D51A12\", +\"I. c #D50D03\", +\"J. c #D60E03\", +\"K. c #D6170D\", +\"L. c #D92B23\", +\"M. c #BD100D\", +\"N. c #AB0404\", +\"O. c #CE1D19\", +\"P. c #D6231C\", +\"Q. c #D41008\", +\"R. c #D40B02\", +\"S. c #D40C02\", +\"T. c #D50C03\", +\"U. c #D40E05\", +\"V. c #D62018\", +\"W. c #D4251F\", +\"X. c #B30A09\", +\"Y. c #A20000\", +\"Z. c #BC0F0E\", +\"`. c #D2211E\", +\" + c #D52520\", +\".+ c #D5201A\", +\"++ c #D41A14\", +\"@+ c #D51F19\", +\"#+ c #D62620\", +\"$+ c #D52420\", +\"%+ c #C51614\", +\"&+ c #A30101\", +\"*+ c #A30303\", +\"=+ c #AE0909\", +\"-+ c #BD0E0E\", +\";+ c #B30B0B\", +\">+ c #A30404\", +\" \", +\" . . . . . . . \", +\" . . + @ # $ % & * . . \", +\" . = - ; > , ' ) ! ~ { ] . \", +\" . ^ / ( _ : < [ } | 1 2 3 4 . \", +\" . 5 6 7 8 9 0 a b c d | e f g h . \", +\" . i j k f : [ l m n c o 1 _ p q r . \", +\" . s t u k v w x l m n y z A _ p B C . \", +\" . D E u F G H I J b y K H w f k L M . \", +\" . N O P Q R S H I T K H U V W X Y Z ` . \", +\" . ...+.@.u F #.S H $.H U V 8 k %.&.*.=.. \", +\" . -.;.>.O &.L F ,.$.H $.'.).k !.P ~.{.].. \", +\" . ^./.(._.~.:.<.[.H $.H [.}.L P E +.|.1.. \", +\" . 2.3.4._.5.6.H 7.8.7.H 6.9.~.+.0.a.b.. \", +\" . c.d.3.(.e.H f.g.@.h.6.H i._.4.j.k.. \", +\" . l.m.n.o.p.q.r._.s.s.t.e.u.v.3.w.x.. \", +\" . y.z.A.B.o.j.C.(.(.v.j.3.D.E.F.. \", +\" . G.H.I.J.n.B.B.B.B.n.A.K.L.M.. \", +\" . N.O.P.Q.R.S.T.T.S.U.V.W.X.. \", +\" . Y.Z.`. +.+++@+#+$+%+&+. \", +\" . . . *+=+-+;+>+Y.. . \", +\" . . . . . . \", +\" \", +\" \"}; +" + "XPM format image used as Cancel icon") + +(defconst sqlplus-rollback-xpm "\ +/* XPM */ +static char * rollback_xpm[] = { +\"24 24 228 2\", +\" c None\", +\". c #000000\", +\"+ c #F8F080\", +\"@ c #FEF57B\", +\"# c #FFF571\", +\"$ c #FFF164\", +\"% c #FFED58\", +\"& c #FFE748\", +\"* c #FEDE39\", +\"= c #F8F897\", +\"- c #FFFE96\", +\"; c #FFFA8A\", +\"> c #FFF67C\", +\", c #FFF16E\", +\"' c #FFEC62\", +\") c #FFE956\", +\"! c #FFE448\", +\"~ c #FFE03C\", +\"{ c #FFDD30\", +\"] c #FED821\", +\"^ c #F1CB15\", +\"/ c #FFFC92\", +\"( c #FFFC91\", +\"_ c #FFFC90\", +\": c #FFFB8D\", +\"< c #FFF67D\", +\"[ c #FFEB5E\", +\"} c #FFEA5B\", +\"| c #FFE958\", +\"1 c #FFE855\", +\"2 c #FFE752\", +\"3 c #FDD41C\", +\"4 c #FDD319\", +\"5 c #FDD416\", +\"6 c #FFFF9D\", +\"7 c #FFFF99\", +\"8 c #FFFD94\", +\"9 c #FFFA89\", +\"0 c #FFDC2F\", +\"a c #FED315\", +\"b c #FFD808\", +\"c c #FFFC9F\", +\"d c #FFFE99\", +\"e c #FFDF3B\", +\"f c #F7C909\", +\"g c #F8EA86\", +\"h c #FEFCB7\", +\"i c #FFFDA6\", +\"j c #FFFA91\", +\"k c #FFF681\", +\"l c #FFF171\", +\"m c #FFED64\", +\"n c #FFE44A\", +\"o c #FFE03D\", +\"p c #FEDB2F\", +\"q c #F9D21E\", +\"r c #E9BC0F\", +\"s c #CE9C02\", +\"t c #F3E36A\", +\"u c #FCF899\", +\"v c #FFFCA3\", +\"w c #FEF694\", +\"x c #FFF284\", +\"y c #FFEE71\", +\"z c #FFEA62\", +\"A c #FDDC40\", +\"B c #F8D22F\", +\"C c #F1C61B\", +\"D c #DDAD0A\", +\"E c #CC9A02\", +\"F c #C89500\", +\"G c #F4EA77\", +\"H c #F7EF7F\", +\"I c #FFF16A\", +\"J c #FFEF68\", +\"K c #FFEE66\", +\"L c #FED622\", +\"M c #FED51E\", +\"N c #FED419\", +\"O c #E9B90E\", +\"P c #E7B509\", +\"Q c #D4A202\", +\"R c #CA9700\", +\"S c #F6E67C\", +\"T c #F3E67F\", +\"U c #FCEE7A\", +\"V c #FDEB66\", +\"W c #FEE44E\", +\"X c #FED313\", +\"Y c #FDCA03\", +\"Z c #F2BE01\", +\"` c #D4A60D\", +\" . c #D4A206\", +\".. c #D19C00\", +\"+. c #CF9800\", +\"@. c #E3AF02\", +\"#. c #F9EB81\", +\"$. c #FBF096\", +\"%. c #F9E67C\", +\"&. c #F8DC5F\", +\"*. c #F8D548\", +\"=. c #F9D02D\", +\"-. c #F9C915\", +\";. c #F7C104\", +\">. c #EEB606\", +\",. c #E9B704\", +\"'. c #DEAE08\", +\"). c #414D7B\", +\"!. c #3C5CA2\", +\"~. c #3A65B3\", +\"{. c #3668BB\", +\"]. c #325EAF\", +\"^. c #F3E46E\", +\"/. c #FCFA9B\", +\"(. c #FFF89C\", +\"_. c #FDEC81\", +\":. c #FCE668\", +\"<. c #FDDF4E\", +\"[. c #FCDA3C\", +\"}. c #FCD52E\", +\"|. c #FAD026\", +\"1. c #4662A2\", +\"2. c #465A8D\", +\"3. c #3F6CBA\", +\"4. c #3A68B7\", +\"5. c #2E529E\", +\"6. c #2655AC\", +\"7. c #F0DC69\", +\"8. c #FBF78C\", +\"9. c #FFF880\", +\"0. c #FFF06B\", +\"a. c #FFE03E\", +\"b. c #FFD828\", +\"c. c #FED015\", +\"d. c #F5C40A\", +\"e. c #4B70B4\", +\"f. c #4870B7\", +\"g. c #3C5CA1\", +\"h. c #4070BF\", +\"i. c #3759A0\", +\"j. c #1D469C\", +\"k. c #214493\", +\"l. c #F2DD6C\", +\"m. c #F8EB7E\", +\"n. c #FBEE7A\", +\"o. c #FBE461\", +\"p. c #FADB48\", +\"q. c #FBD631\", +\"r. c #FED10F\", +\"s. c #FECD07\", +\"t. c #F1BD00\", +\"u. c #456AAE\", +\"v. c #4C7ECA\", +\"w. c #487AC8\", +\"x. c #35528F\", +\"y. c #1B4294\", +\"z. c #1B4193\", +\"A. c #F9EA83\", +\"B. c #FCF08E\", +\"C. c #F6E16E\", +\"D. c #F4D559\", +\"E. c #F5CF45\", +\"F. c #F6CB2E\", +\"G. c #F8C611\", +\"H. c #F6C005\", +\"I. c #E8B300\", +\"J. c #4268AE\", +\"K. c #4375C4\", +\"L. c #3F71C1\", +\"M. c #33569B\", +\"N. c #173F94\", +\"O. c #183A8B\", +\"P. c #F3E36E\", +\"Q. c #FCF7A1\", +\"R. c #FEF9A1\", +\"S. c #FEEE7D\", +\"T. c #FCE360\", +\"U. c #FAD946\", +\"V. c #F9D132\", +\"W. c #F8CD26\", +\"X. c #F7CA20\", +\"Y. c #3B589A\", +\"Z. c #395FA9\", +\"`. c #3359A5\", +\" + c #3056A3\", +\".+ c #2B468D\", +\"++ c #0A3897\", +\"@+ c #E6D465\", +\"#+ c #FDFA90\", +\"$+ c #FFF885\", +\"%+ c #FFF074\", +\"&+ c #FFEA60\", +\"*+ c #FFE246\", +\"=+ c #FFDC31\", +\"-+ c #FED51F\", +\";+ c #F7CB14\", +\">+ c #173788\", +\",+ c #063494\", +\"'+ c #E8DE7B\", +\")+ c #FFFA86\", +\"!+ c #FFF26A\", +\"~+ c #FFE84F\", +\"{+ c #FFD415\", +\"]+ c #FDCC04\", +\"^+ c #F3C001\", +\"/+ c #EBB600\", +\"(+ c #E3AF01\", +\"_+ c #D7A100\", +\":+ c #2D3E7F\", +\"<+ c #033396\", +\"[+ c #CFB954\", +\"}+ c #DBC347\", +\"|+ c #DEBF2C\", +\"1+ c #DFB718\", +\"2+ c #DFB206\", +\"3+ c #D6A505\", +\"4+ c #C6970A\", +\"5+ c #B48413\", +\"6+ c #374682\", +\"7+ c #023398\", +\"8+ c #0E3287\", +\"9+ c #253775\", +\"0+ c #05318F\", +\"a+ c #10358B\", +\"b+ c #183888\", +\"c+ c #053495\", +\"d+ c #0E348D\", +\"e+ c #183585\", +\" . . . . . . . \", +\" . . + @ # $ % & * . . . \", +\" . = - ; > , ' ) ! ~ { ] ^ . \", +\". / ( _ : ; < [ } | 1 2 3 4 5 . \", +\". 6 7 8 9 > , ' ) ! ~ 0 ] a b . \", +\". c d 8 9 > , ' ) ! e 0 ] a f . \", +\". g h i j k l m | n o p q r s . \", +\". t u v w x y z 2 A B C D E F . \", +\". G H I J K L M N O P Q R F F . \", +\". S T U V W p X Y Z ` ...+.@.. . . . . \", +\". #.$.%.&.*.=.-.;.>.. . ,.'.. ).!.~.{.].. \", +\". ^./.(._.:.<.[.}.|.. 1.. . 2.3.4.. . 5.6.. \", +\". 7.8.9.0.) a.b.c.d.. e.f.g.h.i.. . j.k.. \", +\". l.m.n.o.p.q.r.s.t.. u.v.w.x.. . y.z.. \", +\". A.B.C.D.E.F.G.H.I.. J.K.L.M.. . N.O.. \", +\". P.Q.R.S.T.U.V.W.X.. Y.Z.`. +.+. . ++. \", +\". @+#+$+%+&+*+=+-+;+. . . . . . . . >+,+. \", +\" . '+)+!+~+{ {+]+^+/+(+_+. . :+<+. \", +\" . . [+}+|+1+2+3+4+5+. . 6+7+8+. \", +\" . . . . . . . . . 9+0+a+. \", +\" . b+c+d+. \", +\" . e+. . \", +\" . \", +\" \"}; +" + "XPM format image used as Rollback icon") + +(defconst sqlplus-commit-xpm "\ +/* XPM */ +static char * commit_xpm[] = { +\"24 24 276 2\", +\" c None\", +\". c #000000\", +\"+ c #FDF57D\", +\"@ c #FFF676\", +\"# c #FFF36C\", +\"$ c #FFF05D\", +\"% c #FFEB51\", +\"& c #FFE445\", +\"* c #FDDC35\", +\"= c #EFEA85\", +\"- c #FBF68D\", +\"; c #FCF482\", +\"> c #FCF178\", +\", c #FCEE6E\", +\"' c #FCEB66\", +\") c #FCE85B\", +\"! c #FCE551\", +\"~ c #FDE147\", +\"{ c #FDDF3D\", +\"] c #FEDD2D\", +\"^ c #FCD621\", +\"/ c #E5BF16\", +\"( c #D8D479\", +\"_ c #FCF587\", +\": c #FAEF78\", +\"< c #FAEA6B\", +\"[ c #FAEA6A\", +\"} c #FAE968\", +\"| c #FAE967\", +\"1 c #FAE865\", +\"2 c #FAE864\", +\"3 c #FDDD3C\", +\"4 c #FED621\", +\"5 c #FFD51D\", +\"6 c #FFD51B\", +\"7 c #FFD519\", +\"8 c #D8B82B\", +\"9 c #FCF790\", +\"0 c #FBF587\", +\"a c #F8EF7D\", +\"b c #F8EC75\", +\"c c #F7E86B\", +\"d c #F8E868\", +\"e c #F9E663\", +\"f c #F9E45A\", +\"g c #F9E253\", +\"h c #F9E04C\", +\"i c #FBDD40\", +\"j c #FBDB38\", +\"k c #FAD933\", +\"l c #FAD529\", +\"m c #FDD810\", +\"n c #FFFD9E\", +\"o c #FFFF9A\", +\"p c #FFFE96\", +\"q c #FFFB8C\", +\"r c #FFF781\", +\"s c #FFF375\", +\"t c #FFEF69\", +\"u c #FFEA5B\", +\"v c #FFE750\", +\"w c #FFE345\", +\"x c #FFDF38\", +\"y c #FFDB2B\", +\"z c #FFD81F\", +\"A c #FFD313\", +\"B c #FBD007\", +\"C c #FBF090\", +\"D c #FFFDAE\", +\"E c #FFFEA2\", +\"F c #FFFA8C\", +\"G c #FFF780\", +\"H c #F6CA11\", +\"I c #E1AF03\", +\"J c #F4E36D\", +\"K c #FCF7A4\", +\"L c #FFFEBB\", +\"M c #FEFAA6\", +\"N c #FFF990\", +\"O c #FFF57E\", +\"P c #FFEE6F\", +\"Q c #FFEB61\", +\"R c #FFE856\", +\"S c #FFE34A\", +\"T c #FBDD44\", +\"U c #F7D535\", +\"V c #EBBF13\", +\"W c #D5A406\", +\"X c #C99500\", +\"Y c #F0DC5F\", +\"Z c #F3E772\", +\"` c #F7EC76\", +\" . c #F6E56D\", +\".. c #F6E369\", +\"+. c #F6E264\", +\"@. c #F5DF5C\", +\"#. c #F3DB53\", +\"$. c #F3D849\", +\"%. c #EFD245\", +\"&. c #ECCE3F\", +\"*. c #E3B91F\", +\"=. c #D3A40B\", +\"-. c #C99600\", +\";. c #C69200\", +\">. c #EED95E\", +\",. c #EDDA60\", +\"'. c #F1DF64\", +\"). c #F2DF5E\", +\"!. c #F2DD57\", +\"~. c #F2D94E\", +\"{. c #F2D644\", +\"]. c #EFD038\", +\"^. c #ECCB34\", +\"/. c #E6C430\", +\"(. c #DFB71F\", +\"_. c #D9AD17\", +\":. c #CC9907\", +\"<. c #C69000\", +\"[. c #D39E00\", +\"}. c #BB1503\", +\"|. c #F9EA7D\", +\"1. c #F6E57A\", +\"2. c #F5E370\", +\"3. c #F5DE62\", +\"4. c #F9DF52\", +\"5. c #FBDB3E\", +\"6. c #FCD526\", +\"7. c #FCCE0F\", +\"8. c #F7C50A\", +\"9. c #EEBA08\", +\"0. c #E2AB03\", +\"a. c #D7A000\", +\"b. c #D59D00\", +\"c. c #DFA901\", +\"d. c #E7B402\", +\"e. c #C91800\", +\"f. c #F6E676\", +\"g. c #FCF4A1\", +\"h. c #FDF096\", +\"i. c #FAE167\", +\"j. c #F7D64F\", +\"k. c #F7CF38\", +\"l. c #F7CB26\", +\"m. c #F6BF0C\", +\"n. c #F1B905\", +\"o. c #ECB309\", +\"p. c #EBB60A\", +\"q. c #F0BF0B\", +\"r. c #F3C206\", +\"s. c #E5B201\", +\"t. c #CF9C01\", +\"u. c #C21602\", +\"v. c #C21703\", +\"w. c #F2E067\", +\"x. c #FBF78F\", +\"y. c #FEF28A\", +\"z. c #FEED74\", +\"A. c #FFE85F\", +\"B. c #FFE24D\", +\"C. c #FFDE3A\", +\"D. c #FED92F\", +\"E. c #FCD325\", +\"F. c #F8CD1A\", +\"G. c #EDBD0A\", +\"H. c #D9A701\", +\"I. c #C79200\", +\"J. c #D11D00\", +\"K. c #EFDA64\", +\"L. c #F7EF7F\", +\"M. c #FCF47F\", +\"N. c #FDEE6C\", +\"O. c #FDE85B\", +\"P. c #FDE249\", +\"Q. c #FDDC36\", +\"R. c #FCD423\", +\"S. c #F9CC14\", +\"T. c #F0C10E\", +\"U. c #E6B507\", +\"V. c #DCA900\", +\"W. c #D29F00\", +\"X. c #C69400\", +\"Y. c #C99200\", +\"Z. c #CC1B02\", +\"`. c #C61A04\", +\" + c #E1CF5F\", +\".+ c #EAD862\", +\"++ c #ECDB63\", +\"@+ c #EFDC5E\", +\"#+ c #EFD955\", +\"$+ c #EFD74D\", +\"%+ c #EFD444\", +\"&+ c #F0D23E\", +\"*+ c #EECE37\", +\"=+ c #E8C731\", +\"-+ c #E0B922\", +\";+ c #D09E03\", +\">+ c #CB9700\", +\",+ c #C39100\", +\"'+ c #C99400\", +\")+ c #E12400\", +\"!+ c #F2E47C\", +\"~+ c #F8ED8C\", +\"{+ c #F4E171\", +\"]+ c #F0D65B\", +\"^+ c #F0D24F\", +\"/+ c #F1CF43\", +\"(+ c #F2CD34\", +\"_+ c #F2C824\", +\":+ c #EEC527\", +\"<+ c #E7BD23\", +\"[+ c #DFAC12\", +\"}+ c #DAA203\", +\"|+ c #E5B202\", +\"1+ c #EDBA01\", +\"2+ c #D69F00\", +\"3+ c #D21E01\", +\"4+ c #D01C00\", +\"5+ c #F2E16A\", +\"6+ c #FBF59D\", +\"7+ c #FEFBAA\", +\"8+ c #FEF084\", +\"9+ c #FCE567\", +\"0+ c #FBDD50\", +\"a+ c #F8D23B\", +\"b+ c #F8CD28\", +\"c+ c #EEB51C\", +\"d+ c #DA8A13\", +\"e+ c #E29A16\", +\"f+ c #EDB111\", +\"g+ c #E5AE08\", +\"h+ c #D19C01\", +\"i+ c #C79400\", +\"j+ c #BF1603\", +\"k+ c #DD2300\", +\"l+ c #E6D261\", +\"m+ c #FCF88C\", +\"n+ c #FFF27A\", +\"o+ c #FFEC6A\", +\"p+ c #FFE655\", +\"q+ c #FFE041\", +\"r+ c #FFDA2B\", +\"s+ c #E49D14\", +\"t+ c #BA4F02\", +\"u+ c #BB6A00\", +\"v+ c #B37102\", +\"w+ c #DD2200\", +\"x+ c #CA1B02\", +\"y+ c #E6DB78\", +\"z+ c #FEFB8B\", +\"A+ c #FFF470\", +\"B+ c #FFEA56\", +\"C+ c #FFE13E\", +\"D+ c #FFDA24\", +\"E+ c #FECF0A\", +\"F+ c #F5BE01\", +\"G+ c #D37800\", +\"H+ c #D72000\", +\"I+ c #C61802\", +\"J+ c #EBD55C\", +\"K+ c #FCE353\", +\"L+ c #FFE33E\", +\"M+ c #FFDB26\", +\"N+ c #FFD20B\", +\"O+ c #FCCB01\", +\"P+ c #F0B900\", +\"Q+ c #D47D00\", +\"R+ c #E42500\", +\"S+ c #EB2900\", +\"T+ c #DF2301\", +\"U+ c #E82700\", +\"V+ c #D31F04\", +\"W+ c #C71F01\", +\"X+ c #EA2800\", +\"Y+ c #E92800\", +\"Z+ c #DD2301\", +\"`+ c #E22501\", +\" . . . . . . . \", +\" . . . + @ # $ % & * . . . \", +\" . = - ; > , ' ) ! ~ { ] ^ / . \", +\". ( _ : < [ } | 1 2 3 4 5 6 7 8 . \", +\". 9 0 a b c d e f g h i j k l m . \", +\". n o p q r s t u v w x y z A B . \", +\". C D E F G s t u v w x y z H I . \", +\". J K L M N O P Q R S T U V W X . \", +\". Y Z ` ...+.@.#.$.%.&.*.=.-.;.. . . \", +\". >.,.'.).!.~.{.].^./.(._.:.<.[.. . }.. \", +\". |.1.2.3.4.5.6.7.8.9.0.a.b.c.d.. . e.. \", +\". f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.. . u.v.. \", +\". w.x.n y.z.A.B.C.D.E.F.G.H.-.I.. . J.. \", +\". K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.. . Z.`.. \", +\". +.+++@+#+$+%+&+*+=+-+;+>+,+'+. . )+. \", +\". !+~+{+]+^+/+(+_+:+<+[+}+|+1+2+. . 3+4+. \", +\". 5+6+7+8+9+0+a+b+c+d+e+f+g+h+i+. j+k+. \", +\". l+m+q n+o+p+q+r+s+. . . t+u+v+. w+x+. \", +\" . y+z+A+B+C+D+E+F+G+. H+. . . I+)+. \", +\" . . J+K+L+M+N+O+P+Q+. R+S+T+U+V+. \", +\" . . . . . . . . . . W+X+Y+. \", +\" . Z+`+. \", +\" . . \", +\" . \"}; +" + "XPM format image used as Commit icon") + +(defconst plsql-prev-mark-xpm "\ +/* XPM */ +static char * go_previous_xpm[] = { +\"24 24 59 1\", +\" c None\", +\". c #000000\", +\"+ c #355D96\", +\"@ c #3C639B\", +\"# c #6E92BF\", +\"$ c #41679D\", +\"% c #6990BE\", +\"& c #6D94C2\", +\"* c #456DA2\", +\"= c #628BBC\", +\"- c #4D7BB4\", +\"; c #6991C0\", +\"> c #4971A6\", +\", c #5D87BA\", +\"' c #4B7BB3\", +\") c #4979B3\", +\"! c #5884B9\", +\"~ c #638CBC\", +\"{ c #638BBC\", +\"] c #6089BA\", +\"^ c #4B73A9\", +\"/ c #5883B8\", +\"( c #4A7AB3\", +\"_ c #618ABB\", +\": c #4C74AB\", +\"< c #547FB5\", +\"[ c #4972A9\", +\"} c #4D79B1\", +\"| c #4171AD\", +\"1 c #4071AD\", +\"2 c #4070AD\", +\"3 c #4171AC\", +\"4 c #4071AC\", +\"5 c #4070AC\", +\"6 c #3F70AC\", +\"7 c #3F70AB\", +\"8 c #406FAC\", +\"9 c #5781B5\", +\"0 c #4A74AC\", +\"a c #3E6CA8\", +\"b c #3465A4\", +\"c c #4E78AF\", +\"d c #446FA8\", +\"e c #4A75AD\", +\"f c #3F6CA6\", +\"g c #3C6BA7\", +\"h c #3B6BA7\", +\"i c #4471AB\", +\"j c #4572AB\", +\"k c #4672AC\", +\"l c #4571AB\", +\"m c #3A68A3\", +\"n c #3B6AA7\", +\"o c #406EA9\", +\"p c #3564A0\", +\"q c #3868A6\", +\"r c #305E9D\", +\"s c #3767A5\", +\"t c #2E5D9B\", +\" \", +\" \", +\" \", +\" .. \", +\" .+. \", +\" .@#. \", +\" .$%&. \", +\" .*=-;......... \", +\" .>,')!~{{{{{~]. \", +\" .^/()))(((((('_. \", +\" .:<)))))))))))),. \", +\" .[}|1123455567589. \", +\" .0abbbbbbbbbbbbc. \", +\" .dabbbbbbbbbbbe. \", +\" .fgbbhijjjjjkl. \", +\" .mnbo......... \", +\" .pqh. \", +\" .rs. \", +\" .t. \", +\" .. \", +\" . \", +\" \", +\" \", +\" \"}; +" + "XPM format image used as Previous Mark icon") + +(defconst plsql-next-mark-xpm "\ +/* XPM */ +static char * go_next_xpm[] = { +\"24 24 63 1\", +\" c None\", +\". c #000000\", +\"+ c #365F97\", +\"@ c #6B8FBE\", +\"# c #41689E\", +\"$ c #6990BF\", +\"% c #466EA4\", +\"& c #678EBD\", +\"* c #4E7DB5\", +\"= c #638CBC\", +\"- c #4B72A7\", +\"; c #5B83B5\", +\"> c #628BBB\", +\", c #5A86BA\", +\"' c #4979B3\", +\") c #4B7AB3\", +\"! c #5E87B9\", +\"~ c #4E76AA\", +\"{ c #5B84B8\", +\"] c #4E7CB5\", +\"^ c #4A7AB3\", +\"/ c #5883B7\", +\"( c #5178AD\", +\"_ c #5982B6\", +\": c #4C7BB4\", +\"< c #537FB5\", +\"[ c #5079AE\", +\"} c #507BB0\", +\"| c #4272AD\", +\"1 c #4070AC\", +\"2 c #3F70AB\", +\"3 c #3F70AC\", +\"4 c #4071AC\", +\"5 c #4171AC\", +\"6 c #4070AD\", +\"7 c #4071AD\", +\"8 c #4171AD\", +\"9 c #4D79B1\", +\"0 c #4E76AD\", +\"a c #4872AA\", +\"b c #3767A5\", +\"c c #3465A4\", +\"d c #3D6CA8\", +\"e c #4C76AD\", +\"f c #2B548E\", +\"g c #446FA8\", +\"h c #3C6BA7\", +\"i c #4772AA\", +\"j c #29528E\", +\"k c #3F6CA6\", +\"l c #4471AB\", +\"m c #4371AB\", +\"n c #3B6BA7\", +\"o c #416EA8\", +\"p c #3F6CA7\", +\"q c #3A69A6\", +\"r c #3C6AA5\", +\"s c #3B6AA5\", +\"t c #3868A6\", +\"u c #3765A2\", +\"v c #3666A3\", +\"w c #32619F\", +\"x c #2F5D9B\", +\" \", +\" \", +\" \", +\" .. \", +\" .+. \", +\" .@#. \", +\" .$$%. \", +\" .........&*=-. \", +\" .;>>>>>>=,')!~. \", +\" .{]^^^^^^''''/(. \", +\" ._:'''''''''''<[. \", +\" .}|12311145677890. \", +\" .abcccccccccccde. \", +\" .gbcccccccccchi. \", +\" .klmlllllhccno. \", +\" .........pcqr. \", +\" .stu. \", +\" .vw. \", +\" .x. \", +\" .. \", +\" . \", +\" \", +\" \", +\" \"}; +" + "XPM format image used as Next Mark icon") + +(defconst sqlplus-kill-image + (create-image sqlplus-kill-xpm 'xpm t)) + +(defconst sqlplus-cancel-image + (create-image sqlplus-cancel-xpm 'xpm t)) + +(defconst sqlplus-commit-image + (create-image sqlplus-commit-xpm 'xpm t)) + +(defconst sqlplus-rollback-image + (create-image sqlplus-rollback-xpm 'xpm t)) + +(defconst plsql-prev-mark-image + (create-image plsql-prev-mark-xpm 'xpm t)) + +(defconst plsql-next-mark-image + (create-image plsql-next-mark-xpm 'xpm t)) + +(defvar sqlplus-mode-syntax-table nil + "Syntax table used while in sqlplus-mode.") + +(defvar sqlplus-suppress-show-output-buffer nil) + +;; Local in input buffers +(defvar sqlplus-font-lock-keywords-1 nil) +(make-variable-buffer-local 'sqlplus-font-lock-keywords-1) +(defvar sqlplus-font-lock-keywords-2 nil) +(make-variable-buffer-local 'sqlplus-font-lock-keywords-2) +(defvar sqlplus-font-lock-keywords-3 nil) +(make-variable-buffer-local 'sqlplus-font-lock-keywords-3) + +(defvar sqlplus-font-lock-defaults '((sqlplus-font-lock-keywords-1 sqlplus-font-lock-keywords-2 sqlplus-font-lock-keywords-3) nil t nil nil)) + +(defvar sqlplus-oracle-extra-builtin-functions-re + (concat "\\b" + (regexp-opt '("acos" "asciistr" "asin" "atan" "atan2" "bfilename" "bin_to_num" "bitand" "cardinality" "cast" "coalesce" "collect" + "compose" "corr" "corr_s" "corr_k" "covar_pop" "covar_samp" "cume_dist" "current_date" "current_timestamp" "cv" + "dbtimezone" "decompose" "dense_rank" "depth" "deref" "empty_blob, empty_clob" "existsnode" "extract" + "extractvalue" "first" "first_value" "from_tz" "group_id" "grouping" "grouping_id" "iteration_number" + "lag" "last" "last_value" "lead" "lnnvl" "localtimestamp" "make_ref" "median" "nanvl" "nchr" "nls_charset_decl_len" + "nls_charset_id" "nls_charset_name" "ntile" "nullif" "numtodsinterval" "numtoyminterval" "nvl2" "ora_hash" "path" + "percent_rank" "percentile_cont" "percentile_disc" "powermultiset" "powermultiset_by_cardinality" "presentnnv" + "presentv" "previous" "rank" "ratio_to_report" "rawtonhex" "ref" "reftohex" "regexp_instr" "regexp_replace" + "regexp_substr" "regr_slope" "regr_intercept" "regr_count" "regr_r2" "regr_avgx" "regr_avgy" "regr_sxx" "regr_syy" + "regr_sxy" "remainder" "row_number" "rowidtonchar" "scn_to_timestamp" "sessiontimezone" "stats_binomial_test" + "stats_crosstab" "stats_f_test" "stats_ks_test" "stats_mode" "stats_mw_test" "stats_one_way_anova" "stats_t_test_one" + "stats_t_test_paired" "stats_t_test_indep" "stats_t_test_indepu" "stats_wsr_test" "stddev_pop" "stddev_samp" + "sys_connect_by_path" "sys_context" "sys_dburigen" "sys_extract_utc" "sys_guid" "sys_typeid" "sys_xmlagg" "sys_xmlgen" + "systimestamp" "timestamp_to_scn" "to_binary_double" "to_binary_float" "to_clob" "to_dsinterval" "to_lob" "to_nchar" + "to_nclob" "to_timestamp" "to_timestamp_tz" "to_yminterval" "treat" "tz_offset" "unistr" "updatexml" "value" "var_pop" + "var_samp" "width_bucket" "xmlagg" "xmlcolattval" "xmlconcat" "xmlelement" "xmlforest" "xmlsequence" "xmltransform") t) + "\\b")) +(defvar sqlplus-oracle-extra-warning-words-re + (concat "\\b" + (regexp-opt '("access_into_null" "case_not_found" "collection_is_null" "rowtype_mismatch" + "self_is_null" "subscript_beyond_count" "subscript_outside_limit" "sys_invalid_rowid") t) + "\\b")) +(defvar sqlplus-oracle-extra-keywords-re + (concat "\\b\\(" + "\\(at\\s-+local\\|at\\s-+time\\s-+zone\\|to\\s-+second\\|to\\s-+month\\|is\\s-+present\\|a\\s-+set\\)\\|" + (regexp-opt '("case" "nan" "infinite" "equals_path" "empty" "likec" "like2" "like4" "member" + "regexp_like" "submultiset" "under_path" "mlslabel") t) + "\\)\\b")) +(defvar sqlplus-oracle-extra-pseudocolumns-re + (concat "\\b" + (regexp-opt '("connect_by_iscycle" "connect_by_isleaf" "versions_starttime" "versions_startscn" + "versions_endtime" "versions_endscn" "versions_xid" "versions_operation" "object_id" "object_value" "ora_rowscn" + "xmldata") t) + "\\b")) +(defvar sqlplus-oracle-plsql-extra-reserved-words-re + (concat "\\b" + (regexp-opt '("array" "at" "authid" "bulk" "char_base" "day" "do" "extends" "forall" "heap" "hour" + "interface" "isolation" "java" "limited" "minute" "mlslabel" "month" "natural" "naturaln" "nocopy" "number_base" + "ocirowid" "opaque" "operator" "organization" "pls_integer" "positive" "positiven" "range" "record" "release" "reverse" + "rowtype" "second" "separate" "space" "sql" "timezone_region" "timezone_abbr" "timezone_minute" "timezone_hour" "year" + "zone") t) + "\\b")) +(defvar sqlplus-oracle-extra-types-re + (concat "\\b" + (regexp-opt '("nvarchar2" "binary_float" "binary_double" "timestamp" "interval" "interval_day" "urowid" "nchar" "clob" "nclob" "bfile") t) + "\\b")) + +(defvar sqlplus-commands-regexp-1 nil) +(defvar sqlplus-commands-regexp-23 nil) +(defvar sqlplus-system-variables-regexp-1 nil) +(defvar sqlplus-system-variables-regexp-23 nil) +(defvar sqlplus-v22-commands-font-lock-keywords-1 nil) +(defvar sqlplus-v22-commands-font-lock-keywords-23 nil) +(defvar font-lock-sqlplus-face nil) + +(defvar sqlplus-output-buffer-keymap nil + "Local in output buffer.") +(make-variable-buffer-local 'sqlplus-output-buffer-keymap) + +(defvar sqlplus-kill-function-inhibitor nil) + +(defvar sqlplus-slip-separator-width 2 + "Only for classic table style.") + +(defvar sqlplus-user-string-history nil) + +(defvar sqlplus-object-types '( "CONSUMER GROUP" "SEQUENCE" "SCHEDULE" "PROCEDURE" "OPERATOR" "WINDOW" + "PACKAGE" "LIBRARY" "PROGRAM" "PACKAGE BODY" "JAVA RESOURCE" "XML SCHEMA" + "JOB CLASS" "TRIGGER" "TABLE" "SYNONYM" "VIEW" "FUNCTION" "WINDOW GROUP" + "JAVA CLASS" "INDEXTYPE" "INDEX" "TYPE" "EVALUATION CONTEXT" )) + +(defvar sqlplus-end-of-source-sentinel "%%@@end-of-source-sentinel@@%%") + +(defconst sqlplus-system-variables + '("appi[nfo]" "array[size]" "auto[commit]" "autop[rint]" "autorecovery" "autot[race]" "blo[ckterminator]" "cmds[ep]" + "colsep" "com[patibility]" "con[cat]" "copyc[ommit]" "copytypecheck" "def[ine]" "describe" "echo" "editf[ile]" + "emb[edded]" "esc[ape]" "feed[back]" "flagger" "flu[sh]" "hea[ding]" "heads[ep]" "instance" "lin[esize]" + "lobof[fset]" "logsource" "long" "longc[hunksize]" "mark[up]" "newp[age]" "null" "numf[ormat]" "num[width]" + "pages[ize]" "pau[se]" "recsep" "recsepchar" "serverout[put]" "shift[inout]" "show[mode]" "sqlbl[anklines]" + "sqlc[ase]" "sqlco[ntinue]" "sqln[umber]" "sqlpluscompat[ibility]" "sqlpre[fix]" "sqlp[rompt]" "sqlt[erminator]" + "suf[fix]" "tab" "term[out]" "ti[me]" "timi[ng]" "trim[out]" "trims[pool]" "und[erline]" "ver[ify]" "wra[p]")) + +(defconst sqlplus-commands + '(("@[@]") + (("/" "r[un]")) + ("acc[ept]" + (font-lock-type-face "num[ber]" "char" "date" "binary_float" "binary_double") + (font-lock-keyword-face "for[mat]" "def[ault]" "[no]prompt" "hide")) + ("a[ppend]") + ("archive log" + (font-lock-keyword-face "list" "stop" "start" "next" "all" "to")) + ("attribute" + (font-lock-keyword-face "ali[as]" "cle[ar]" "for[mat]" "like" "on" "off")) + ("bre[ak]" + (font-lock-keyword-face "on" "row" "report" "ski[p]" "page" "nodup[licates]" "dup[licates]")) + ("bti[tle]" + (font-lock-keyword-face "on" "off") + (font-lock-builtin-face "bold" "ce[nter]" "col" "format" "le[ft]" "r[ight]" "s[kip]" "tab")) + ("c[hange]") + ("cl[ear]" + (font-lock-keyword-face "bre[aks]" "buff[er]" "col[umns]" "comp[utes]" "scr[een]" "sql" "timi[ng]")) + ("col[umn]" + (font-lock-keyword-face "ali[as]" "cle[ar]" "entmap" "on" "off" "fold_a[fter]" "fold_b[efore]" "for[mat]" "hea[ding]" + "jus[tify]" "l[eft]" "c[enter]" "r[ight]" "like" "newl[ine]" "new_v[alue]" "nopri[nt]" "pri[nt]" + "nul[l]" "old_v[alue]" "wra[pped]" "wor[d_wrapped]" "tru[ncated]")) + ("comp[ute]" + (font-lock-keyword-face "lab[el]" "of" "on" "report" "row") + (font-lock-builtin-face "avg" "cou[nt]" "min[imum]" "max[imum]" "num[ber]" "sum" "std" "var[iance]")) + ("conn[ect]" + (font-lock-keyword-face "as" "sysoper" "sysdba")) + ("copy") + ("def[ine]") + ("del" + (font-lock-keyword-face "last")) + ("desc[ribe]") + ("disc[onnect]") + ("ed[it]") + ("exec[ute]") + (("exit" "quit") + (font-lock-keyword-face "success" "failure" "warning" "commit" "rollback")) + ("get" + (font-lock-keyword-face "file" "lis[t]" "nol[ist]")) + ("help") + (("ho[st]" "!" "$")) + ("i[nput]") + ("l[ist]" + (font-lock-keyword-face "last")) + ("passw[ord]") + ("pau[se]") + ("pri[nt]") + ("pro[mpt]") + ("recover" + (font-lock-keyword-face "begin" "end" "backup" "automatic" "from" "logfile" "test" "allow" "corruption" "continue" "default" "cancel" + "standby" "database" "until" "time" "change" "using" "controlfile" "tablespace" "datafile" + "consistent" "with" "[no]parallel" "managed" "disconnect" "session" "[no]timeout" "[no]delay" "next" "no" "expire" + "current" "through" "thread" "sequence" "all" "archivelog" "last" "switchover" "immediate" "[no]wait" + "finish" "skip")) + ("rem[ark]") + ("repf[ooter]" + (font-lock-keyword-face "page" "on" "off") + (font-lock-builtin-face "bold" "ce[nter]" "col" "format" "le[ft]" "r[ight]" "s[kip]" "tab")) + ("reph[eader]" + (font-lock-keyword-face "page" "on" "off") + (font-lock-builtin-face "bold" "ce[nter]" "col" "format" "le[ft]" "r[ight]" "s[kip]" "tab")) + ("sav[e]" + (font-lock-keyword-face "file" "cre[ate]" "rep[lace]" "app[end]")) + ("set" + (font-lock-builtin-face sqlplus-system-variables) + (font-lock-keyword-face "on" "off" "immediate" "trace[only]" "explain" "statistics" "native" "v7" "v8" "all" "linenum" "indent" + "entry" "intermediate" "full" "local" "head" "html" "body" "table" "entmap" "spool" "[pre]format" + "none" "[word_]wrapped" "each" "truncated" "[in]visible" "mixed" "lower" "upper")) + ("sho[w]" + (font-lock-keyword-face "all" "bti[tle]" "err[ors]" "function" "procedure" "package[ body]" "trigger" "view" "type[ body]" + "dimension" "java class" "lno" "parameters" "pno" "recyc[lebin]" "rel[ease]" "repf[ooter]" "reph[eader]" + "sga" "spoo[l]" "sqlcode" "tti[tle]" "user") + (font-lock-builtin-face sqlplus-system-variables)) + ("shutdown" + (font-lock-keyword-face "abort" "immediate" "normal" "transactional" "local")) + ("spo[ol]" + ("cre" "create" "rep" "replace" "app" "append" "off" "out")) + ("sta[rt]") + ("startup" + (font-lock-keyword-face "force" "restrict" "pfile" "quiet" "mount" "open" "nomount" "read" "only" "write" "recover")) + ("store" + (font-lock-keyword-face "set" "cre[ate]" "rep[lace]" "app[end]")) + ("timi[ng]" + (font-lock-keyword-face "start" "show" "stop")) + ("tti[tle]" + (font-lock-keyword-face "tti[tle]" "on" "off") + (font-lock-builtin-face "bold" "ce[nter]" "col" "format" "le[ft]" "r[ight]" "s[kip]" "tab")) + ("undef[ine]") + ("var[iable]" + (font-lock-type-face "number" "[n]char" "byte" "[n]varchar2" "[n]clob" "refcursor" "binary_float" "binary_double")) + ("whenever oserror" + (font-lock-keyword-face "exit" "success" "failure" "commit" "rollback" "continue" "commit" "rollback" "none")) + ("whenever sqlerror" + (font-lock-keyword-face "exit" "success" "failure" "warning" "commit" "rollback" "continue" "none")))) + +(defvar plsql-mode-map nil) + +(defstruct sqlplus-global-struct + font-lock-regexps + objects-alist + side-view-buffer + root-dir +) + +(defvar sqlplus-global-structures (make-hash-table :test 'equal) + "Connect string -> sqlplus-global-struct") + +(defun sqlplus-get-objects-alist (&optional connect-string) + (let ((struct (gethash (car (refine-connect-string (or connect-string sqlplus-connect-string sqlplus-process-p))) + sqlplus-global-structures))) + (when struct + (sqlplus-global-struct-objects-alist struct)))) + +(defun sqlplus-set-objects-alist (objects-alist &optional connect-string) + (let ((struct (gethash (car (refine-connect-string (or connect-string sqlplus-connect-string sqlplus-process-p))) + sqlplus-global-structures))) + (when struct + (setf (sqlplus-global-struct-objects-alist struct) objects-alist)))) + +(defun sqlplus-get-font-lock-regexps (&optional connect-string) + (let ((struct (gethash (car (refine-connect-string (or connect-string sqlplus-connect-string sqlplus-process-p))) + sqlplus-global-structures))) + (when struct + (sqlplus-global-struct-font-lock-regexps struct)))) + +(defun sqlplus-set-font-lock-regexps (font-lock-regexps &optional connect-string) + (let ((struct (gethash (car (refine-connect-string (or connect-string sqlplus-connect-string sqlplus-process-p))) + sqlplus-global-structures))) + (when struct + (setf (sqlplus-global-struct-font-lock-regexps struct) font-lock-regexps)))) + +(defun sqlplus-get-side-view-buffer (&optional connect-string) + (let ((struct (gethash (car (refine-connect-string (or connect-string sqlplus-connect-string sqlplus-process-p))) + sqlplus-global-structures))) + (when struct + (sqlplus-global-struct-side-view-buffer struct)))) + +(defun sqlplus-get-root-dir (&optional connect-string) + (let ((struct (gethash (car (refine-connect-string (or connect-string sqlplus-connect-string sqlplus-process-p))) + sqlplus-global-structures))) + (when struct + (sqlplus-global-struct-root-dir struct)))) + +(defun sqlplus-set-root-dir (root-dir &optional connect-string) + (let ((struct (gethash (car (refine-connect-string (or connect-string sqlplus-connect-string sqlplus-process-p))) + sqlplus-global-structures))) + (when struct + (setf (sqlplus-global-struct-root-dir struct) root-dir)))) + +;;; --- + +(defun sqlplus-initial-strings () + (append sqlplus-initial-strings + (list + (concat "btitle left '" sqlplus-page-separator "'") + (concat "repfooter left '" sqlplus-repfooter "'") + (concat "set pagesize " (number-to-string sqlplus-pagesize))))) + +(defun sqlplus-connect-string-lessp (cs1 cs2) + "Compare two connect strings" + (let ((cs1-pair (split-string cs1 "@")) + (cs2-pair (split-string cs2 "@"))) + (or (string< (cadr cs1-pair) (cadr cs2-pair)) + (and (string= (cadr cs1-pair) (cadr cs2-pair)) + (string< (car cs1-pair) (car cs2-pair)))))) + +(defun sqlplus-divide-connect-strings () + "Returns (active-connect-string-list . inactive-connect-string-list)" + (let* ((active-connect-strings + (sort (delq nil (mapcar (lambda (buffer) + (with-current-buffer buffer + (when (and (eq major-mode 'sqlplus-mode) + sqlplus-connect-string) + (let ((cs (car (refine-connect-string sqlplus-connect-string)))) + (when (and (get-buffer (sqlplus-get-process-buffer-name cs)) + (get-process (sqlplus-get-process-name cs))) + (downcase cs)))))) + (buffer-list))) + 'sqlplus-connect-string-lessp)) + (inactive-connect-strings + (sort (delq nil (mapcar (lambda (pair) + (unless (member (downcase (car pair)) active-connect-strings) (downcase (car pair))) ) + sqlplus-connect-strings-alist)) + 'sqlplus-connect-string-lessp))) + (setq active-connect-strings (remove-duplicates active-connect-strings :test 'equal)) + (setq inactive-connect-strings (remove-duplicates inactive-connect-strings :test 'equal)) + (cons active-connect-strings inactive-connect-strings))) + +(defun sqlplus-connections-menu (menu) + (condition-case err + (let* ((connect-strings-pair (sqlplus-divide-connect-strings)) + (active-connect-strings (car connect-strings-pair)) + (inactive-connect-strings (cdr connect-strings-pair))) + (append + (list ["New connection..." sqlplus t]) + (list ["Tnsnames.ora" sqlplus-find-tnsnames t]) + (list ["Command Line" sqlplus-command-line t]) + (when (eq major-mode 'sqlplus-mode) + (list + "----" + ["Evaluate Statement" sqlplus-send-current sqlplus-connect-string] + ["Explain Statement" sqlplus-explain sqlplus-connect-string] + ["Evaluate Statement (HTML)" sqlplus-send-current-html sqlplus-connect-string] + ["Evaluate Region" sqlplus-send-region (and (mark) sqlplus-connect-string)])) + (when orcl-mode + (list + "----" + ["Send Commit" sqlplus-send-commit sqlplus-connect-string] + ["Send Rollback" sqlplus-send-rollback sqlplus-connect-string] + ["Restart Connection" sqlplus-restart-connection sqlplus-connect-string] + ["Show History" sqlplus-show-history sqlplus-connect-string] + ["Get Source from DB" sqlplus-get-source sqlplus-connect-string] + ["Interrupt Evaluation" sqlplus-send-interrupt sqlplus-connect-string] + ["Compare schema to filesystem" sqlplus-compare-schema-to-filesystem sqlplus-connect-string] + "----" + (list "Output" + ["Show window" sqlplus-buffer-display-window t] + "----" + ["Redisplay" sqlplus-buffer-redisplay-current t] + ["Previous" sqlplus-buffer-prev-command t] + ["Next" sqlplus-buffer-next-command t] + "----" + ["Scroll Right" sqlplus-buffer-scroll-right t] + ["Scroll Left" sqlplus-buffer-scroll-left t] + ["Scroll Down" sqlplus-buffer-scroll-down t] + ["Scroll Up" sqlplus-buffer-scroll-up t] + "----" + ["Bottom" sqlplus-buffer-bottom t] + ["Top" sqlplus-buffer-top t] + "----" + ["Erase" sqlplus-buffer-erase t]) + )) + (when inactive-connect-strings + (append + (list "----") + (list (append (list "Recent Connections") + (mapcar (lambda (connect-string) + (vector connect-string (list 'apply ''sqlplus + (list 'sqlplus-read-connect-string connect-string)) t)) inactive-connect-strings))))) + (when active-connect-strings + (append + (list "----") + (mapcar (lambda (connect-string) + (vector connect-string (list 'apply ''sqlplus + (list 'sqlplus-read-connect-string connect-string)) t)) active-connect-strings))) + )) + (error (message (error-message-string err))))) + +(defun sqlplus-send-commit () + "Send 'commit' command to SQL*Process." + (interactive) + (sqlplus-check-connection) + (sqlplus-execute sqlplus-connect-string "commit;" nil nil)) + +(defun sqlplus-send-rollback () + "Send 'rollback' command to SQL*Process." + (interactive) + (sqlplus-check-connection) + (sqlplus-execute sqlplus-connect-string "rollback;" nil nil)) + +(defun sqlplus-show-history () + "Show command history for current connection." + (interactive) + (sqlplus-check-connection) + (sqlplus-verify-buffer sqlplus-connect-string) + (switch-to-buffer (sqlplus-get-history-buffer sqlplus-connect-string))) + +(defun sqlplus-restart-connection () + "Kill SQL*Plus process and start again." + (interactive) + (sqlplus-check-connection) + (sqlplus-verify-buffer sqlplus-connect-string) + (let ((connect-stringos sqlplus-connect-string)) + (unwind-protect + (progn + (setq sqlplus-kill-function-inhibitor t) + (sqlplus-shutdown connect-stringos t)) + (setq sqlplus-kill-function-inhibitor nil)) + (sqlplus connect-stringos (sqlplus-get-input-buffer-name connect-stringos)))) + +(define-skeleton plsql-begin + "begin..end skeleton" + "" ; interactor + "begin" ?\n + > _ ?\n + "end;" >) + +(define-skeleton plsql-loop + "loop..end loop skeleton" + "" ; interactor + "loop" ?\n + > _ ?\n + "end loop;" >) + +(define-skeleton plsql-if + "if..end if skeleton" + "" ; interactor + "if " _ " then" ?\n + > ?\n + "end if;" >) + +;;; SQLPLUS-mode Keymap - + +(unless orcl-mode-map + (setq orcl-mode-map (make-sparse-keymap)) + (define-key orcl-mode-map "\C-c\C-o" 'sqlplus-buffer-display-window) + (define-key orcl-mode-map "\C-c\C-l" 'sqlplus-buffer-redisplay-current) + (define-key orcl-mode-map "\C-c\C-p" 'sqlplus-buffer-prev-command) + (define-key orcl-mode-map [C-S-up] 'sqlplus-buffer-prev-command) + (define-key orcl-mode-map "\C-c\C-n" 'sqlplus-buffer-next-command) + (define-key orcl-mode-map [C-S-down] 'sqlplus-buffer-next-command) + (define-key orcl-mode-map "\C-c\C-b" 'sqlplus-buffer-scroll-right) + (define-key orcl-mode-map [C-S-left] 'sqlplus-buffer-scroll-right) + (define-key orcl-mode-map "\C-c\C-f" 'sqlplus-buffer-scroll-left) + (define-key orcl-mode-map [C-S-right] 'sqlplus-buffer-scroll-left) + (define-key orcl-mode-map "\C-c\M-v" 'sqlplus-buffer-scroll-down) + (define-key orcl-mode-map "\C-c\C-v" 'sqlplus-buffer-scroll-up) + (define-key orcl-mode-map "\C-c>" 'sqlplus-buffer-bottom) + (define-key orcl-mode-map "\C-c<" 'sqlplus-buffer-top) + (define-key orcl-mode-map "\C-c\C-w" 'sqlplus-buffer-erase) + (define-key orcl-mode-map "\C-c\C-m" 'sqlplus-send-commit) + (define-key orcl-mode-map "\C-c\C-a" 'sqlplus-send-rollback) + (define-key orcl-mode-map "\C-c\C-k" 'sqlplus-restart-connection) + (define-key orcl-mode-map "\C-c\C-t" 'sqlplus-show-history) + (define-key orcl-mode-map "\C-c\C-s" 'sqlplus-get-source) + (define-key orcl-mode-map "\C-c\C-i" 'sqlplus-send-interrupt) + (define-key orcl-mode-map [S-return] 'sqlplus-send-user-string) + (define-key orcl-mode-map [tool-bar sqlplus-restart-connection] + (list 'menu-item "Restart connection" 'sqlplus-restart-connection :image sqlplus-kill-image)) + (define-key orcl-mode-map [tool-bar sqlplus-cancel] + (list 'menu-item "Cancel" 'sqlplus-send-interrupt :image sqlplus-cancel-image)) + (define-key orcl-mode-map [tool-bar sqlplus-rollback] + (list 'menu-item "Rollback" 'sqlplus-send-rollback :image sqlplus-rollback-image)) + (define-key orcl-mode-map [tool-bar sqlplus-commit] + (list 'menu-item "Commit" 'sqlplus-send-commit :image sqlplus-commit-image))) + +(unless sqlplus-mode-map + (setq sqlplus-mode-map (make-sparse-keymap)) + (define-key sqlplus-mode-map "\C-c\C-g" 'plsql-begin) + (define-key sqlplus-mode-map "\C-c\C-q" 'plsql-loop) + (define-key sqlplus-mode-map "\C-c\C-z" 'plsql-if) + (define-key sqlplus-mode-map "\C-c\C-r" 'sqlplus-send-region) + (define-key sqlplus-mode-map [C-return] 'sqlplus-send-current) + (define-key sqlplus-mode-map [M-return] 'sqlplus-explain) + (define-key sqlplus-mode-map "\C-c\C-e" 'sqlplus-send-current) + (define-key sqlplus-mode-map "\C-c\C-j" 'sqlplus-send-current-html) + (define-key sqlplus-mode-map [C-S-return] 'sqlplus-send-current-html) + (define-key sqlplus-mode-map "\M-." 'sqlplus-file-get-source) + (define-key sqlplus-mode-map [C-down-mouse-1] 'sqlplus-mouse-select-identifier) + (define-key sqlplus-mode-map [C-mouse-1] 'sqlplus-file-get-source-mouse) + ) + +(easy-menu-add-item nil nil sqlplus-connections-menu t) + +(unless sqlplus-mode-syntax-table + (setq sqlplus-mode-syntax-table (make-syntax-table)) + (modify-syntax-entry ?/ ". 14" sqlplus-mode-syntax-table) ; comment start + (modify-syntax-entry ?* ". 23" sqlplus-mode-syntax-table) + (modify-syntax-entry ?+ "." sqlplus-mode-syntax-table) + (modify-syntax-entry ?. "." sqlplus-mode-syntax-table) + (modify-syntax-entry ?\" "." sqlplus-mode-syntax-table) + (modify-syntax-entry ?\\ "." sqlplus-mode-syntax-table) + (modify-syntax-entry ?- ". 12b" sqlplus-mode-syntax-table) + (modify-syntax-entry ?\n "> b" sqlplus-mode-syntax-table) + (modify-syntax-entry ?= "." sqlplus-mode-syntax-table) + (modify-syntax-entry ?% "w" sqlplus-mode-syntax-table) + (modify-syntax-entry ?< "." sqlplus-mode-syntax-table) + (modify-syntax-entry ?> "." sqlplus-mode-syntax-table) + (modify-syntax-entry ?& "w" sqlplus-mode-syntax-table) + (modify-syntax-entry ?| "." sqlplus-mode-syntax-table) + (modify-syntax-entry ?_ "w" sqlplus-mode-syntax-table) ; _ is word char + (modify-syntax-entry ?\' "\"" sqlplus-mode-syntax-table)) + +;;; SQL*Plus mode + +(defun connect-string-to-string () + (let ((txt (or (car (refine-connect-string sqlplus-connect-string)) "disconnected")) + (result)) + (if (string-match "^\\(.*?\\)\\(\\w*prod\\w*\\)$" txt) + (if (>= emacs-major-version 22) + (setq result (list (list :propertize (substring txt 0 (match-beginning 2)) 'face '((:foreground "blue"))) + (list :propertize (substring txt (match-beginning 2)) 'face '((:foreground "red")(:weight bold))))) + (setq result (setq txt (propertize txt 'face '((:foreground "blue"))))) + (put-text-property (match-beginning 2) (match-end 2) 'face '((:foreground "red")(:weight bold)) txt)) + (setq result + (if (>= emacs-major-version 22) + (list :propertize txt 'face '((:foreground "blue"))) + (setq txt (propertize txt 'face '((:foreground "blue"))))))) + result)) + +(defun sqlplus-font-lock (type-symbol limit) + (let ((sqlplus-font-lock-regexps (sqlplus-get-font-lock-regexps))) + (when sqlplus-font-lock-regexps + (let ((regexp (gethash type-symbol sqlplus-font-lock-regexps))) + (when regexp + (re-search-forward regexp limit t)))))) + +;; Local in input buffer (sqlplus-mode) +(defvar sqlplus-command-overlay nil) +(make-variable-buffer-local 'sqlplus-command-overlay) +(defvar sqlplus-begin-command-overlay-arrow-position nil) +(make-variable-buffer-local 'sqlplus-begin-command-overlay-arrow-position) +(defvar sqlplus-end-command-overlay-arrow-position nil) +(make-variable-buffer-local 'sqlplus-end-command-overlay-arrow-position) + +(defun sqlplus-highlight-current-sqlplus-command() + (when (and window-system sqlplus-command-highlighting-style) + (let* ((pair (sqlplus-mark-current)) + (begin (and (car pair) (save-excursion (goto-char (car pair)) (skip-chars-forward " \t\n") (point)))) + (end (and (cdr pair) (save-excursion (goto-char (cdr pair)) (skip-chars-backward " \t\n") (beginning-of-line) (point)))) + (point-line-beg (save-excursion (beginning-of-line) (point))) + (overlay-begin begin) + (overlay-end end)) + (when (and begin end) + (when (< end point-line-beg) + (save-excursion (goto-char point-line-beg) (when (eobp) (insert "\n"))) + (setq end point-line-beg) + (setq overlay-end end)) + (when (or (>= begin end) (< (point) begin)) + (when (or (< (point) begin) (> begin end)) + (setq overlay-begin nil + overlay-end nil)) + (setq begin nil + end nil))) + (if (and overlay-begin overlay-end (memq sqlplus-command-highlighting-style '(background fringe-and-background))) + (progn + (setq overlay-end (save-excursion + (goto-char overlay-end) + (beginning-of-line 2) + (point))) + (move-overlay sqlplus-command-overlay overlay-begin overlay-end)) + (move-overlay sqlplus-command-overlay 1 1)) + (if (memq sqlplus-command-highlighting-style '(fringe fringe-and-background)) + (progn + (put 'sqlplus-begin-command-overlay-arrow-position 'overlay-arrow-bitmap 'top-left-angle) + (put 'sqlplus-end-command-overlay-arrow-position 'overlay-arrow-bitmap 'bottom-left-angle) + (set-marker sqlplus-begin-command-overlay-arrow-position begin) + (set-marker sqlplus-end-command-overlay-arrow-position end)) + (set-marker sqlplus-begin-command-overlay-arrow-position nil) + (set-marker sqlplus-end-command-overlay-arrow-position nil))))) + +(defun sqlplus-find-begin-of-sqlplus-command () + (save-excursion + (beginning-of-line) + (while (and (not (bobp)) (save-excursion (end-of-line 0) (skip-chars-backward " \t") (equal (char-before) ?-))) + (beginning-of-line 0)) + (point))) + +(defun sqlplus-find-end-of-sqlplus-command () + (save-excursion + (end-of-line) + (while (progn (skip-chars-backward " \t") (and (not (eobp)) (equal (char-before) ?-))) + (end-of-line 2)) + (point))) + +(defun sqlplus-set-font-lock-emacs-structures-for-level (level mode-symbol) + (let ((result (append sql-mode-oracle-font-lock-keywords + (default-value (cond ((equal level 3) 'sqlplus-font-lock-keywords-3) + ((equal level 2) 'sqlplus-font-lock-keywords-2) + ((equal level 1) 'sqlplus-font-lock-keywords-1) + (t nil)))))) + (when (featurep 'plsql) + (setq result (append (symbol-value 'plsql-oracle-font-lock-fix-re) result))) + (setq result + (append + ;; Names for schemas, tables, synonyms, views, columns, sequences, packages, triggers and indexes + (when (> level 2) + (mapcar (lambda (pair) + (let ((type-symbol (car pair)) + (face (cadr pair))) + (cons (eval `(lambda (limit) (sqlplus-font-lock ',type-symbol limit))) face))) + sqlplus-syntax-faces)) + ;; SQL*Plus + (when (eq mode-symbol 'sqlplus-mode) + (unless sqlplus-commands-regexp-1 + (flet ((first-form-fun (cmds) (mapcar (lambda (name) (car (sqlplus-full-forms name))) cmds)) + (all-forms-fun (cmds) (mapcan 'sqlplus-full-forms cmds)) + (sqlplus-commands-regexp-fun (form-fun cmds) (concat "^" (regexp-opt (funcall form-fun cmds) t) "\\b")) + (sqlplus-system-variables-fun (form-fun vars) (concat "\\b" (regexp-opt (funcall form-fun vars) t) "\\b"))) + (flet ((sqlplus-v22-commands-font-lock-keywords-fun + (form-fun) + (delq nil + (mapcar + (lambda (command-info) + (let* ((names (car command-info)) + (names-list (if (listp names) names (list names))) + (sublists (cdr command-info))) + (when sublists + (append (list (sqlplus-commands-regexp-fun form-fun names-list)) + (mapcar (lambda (sublist) + (let ((face (car sublist)) + (regexp (concat "\\b" + (regexp-opt (mapcan (lambda (name) (sqlplus-full-forms name)) + (mapcan (lambda (elem) + (if (symbolp elem) + (copy-list (symbol-value elem)) + (list elem))) + (cdr sublist))) + t) + "\\b"))) + (list regexp '(sqlplus-find-end-of-sqlplus-command) nil (list 1 face)))) + sublists) + (list '("\\(\\w+\\)" (sqlplus-find-end-of-sqlplus-command) nil (1 font-lock-sqlplus-face))))))) + sqlplus-commands)))) + (let ((commands (mapcan + (lambda (command-info) (let ((names (car command-info))) (if (listp names) (copy-list names) (list names)))) + sqlplus-commands))) + (setq sqlplus-commands-regexp-1 (sqlplus-commands-regexp-fun 'first-form-fun commands)) + (setq sqlplus-commands-regexp-23 (sqlplus-commands-regexp-fun 'all-forms-fun commands)) + (if (<= emacs-major-version 21) + (setq sqlplus-system-variables-regexp-1 (sqlplus-system-variables-fun 'first-form-fun sqlplus-system-variables) + sqlplus-system-variables-regexp-23 (sqlplus-system-variables-fun 'all-forms-fun sqlplus-system-variables)) + (setq sqlplus-v22-commands-font-lock-keywords-1 (sqlplus-v22-commands-font-lock-keywords-fun 'first-form-fun) + sqlplus-v22-commands-font-lock-keywords-23 (sqlplus-v22-commands-font-lock-keywords-fun 'all-forms-fun))))))) + (append (list + ;; Comments (REM command) + (cons "^\\(rem\\)\\b\\(.*?\\)$" '((1 font-lock-keyword-face nil nil) (2 font-lock-comment-face t nil))) + ;; Predefined SQL*Plus variables + (cons (concat "\\b" + (regexp-opt '("_CONNECT_IDENTIFIER" "_DATE" "_EDITOR" "_O_VERSION" "_O_RELEASE" "_PRIVILEGE" + "_SQLPLUS_RELEASE" "_USER") t) + "\\b") + 'font-lock-builtin-face) + ;; SQL*Plus commands (+ shortcuts if level >= 2) + (cons + (concat (if (>= level 2) sqlplus-commands-regexp-23 sqlplus-commands-regexp-1) "\\|^\\(@@\\|@\\|!\\|/\\|\\$\\)" ) + 'font-lock-keyword-face)) + (if (<= emacs-major-version 21) + ;; SQL*Plus system variables (+ shortcuts if level >= 2) + (list (cons (if (>= level 2) sqlplus-system-variables-regexp-23 sqlplus-system-variables-regexp-1) 'font-lock-builtin-face)) + ;; ver. >= 22 + (if (>= level 2) sqlplus-v22-commands-font-lock-keywords-23 sqlplus-v22-commands-font-lock-keywords-1)))) + ; (cons "\\b\\([a-zA-Z$_#0-9]+\\)\\b\\.\\(\\b[a-zA-Z$_#0-9]+\\b\\)" '((1 font-lock-type-face nil nil)(2 font-lock-variable-name-face nil nil))) + (list + ;; Extra Oracle syntax highlighting, not recognized by sql-mode or plsql-mode + (cons sqlplus-oracle-extra-types-re 'font-lock-type-face) + (cons sqlplus-oracle-extra-warning-words-re 'font-lock-warning-face) + (cons sqlplus-oracle-extra-types-re 'font-lock-type-face) + (cons sqlplus-oracle-extra-keywords-re 'font-lock-keyword-face) + (cons sqlplus-oracle-plsql-extra-reserved-words-re 'font-lock-keyword-face) + (if (string-match "XEmacs\\|Lucid" emacs-version) + (cons sqlplus-oracle-extra-pseudocolumns-re 'font-lock-preprocessor-face) + (cons sqlplus-oracle-extra-pseudocolumns-re 'font-lock-builtin-face)) + (if (string-match "XEmacs\\|Lucid" emacs-version) + (cons sqlplus-oracle-extra-builtin-functions-re 'font-lock-preprocessor-face) + (cons sqlplus-oracle-extra-builtin-functions-re 'font-lock-builtin-face)) + ;; SQL*Plus variable names, like '&name' or '&&name' + (cons "\\(\\b&[&a-zA-Z$_#0-9]+\\b\\)" 'font-lock-variable-name-face)) + result + ;; Function calls + (when (>= level 2) + (list (cons "\\b\\(\\([a-zA-Z$_#0-9]+\\b\\)\\.\\)?\\(\\b[a-zA-Z$_#0-9]+\\b\\)\\s-*(" + '((2 font-lock-type-face nil t) + (3 font-lock-function-name-face nil nil))))))) + result)) + +(defun sqlplus-mode nil + "Mode for editing and executing SQL*Plus commands. Entry into this mode runs the hook +'sqlplus-mode-hook'. + +Use \\[sqlplus] to start the SQL*Plus interpreter. + +Just position the cursor on or near the SQL*Plus statement you +wish to send and press '\\[sqlplus-send-current]' to run it and +display the results. + +Mode Specific Bindings: + +\\{sqlplus-mode-map}" + (interactive) + (run-hooks 'change-major-mode-hook) + (setq major-mode 'sqlplus-mode + mode-name "SQL*Plus") + (use-local-map sqlplus-mode-map) + (set-syntax-table sqlplus-mode-syntax-table) + (make-local-variable 'comment-start) + (make-local-variable 'comment-end) + (setq comment-start "/* " + comment-end " */") + (orcl-mode 1) + (setq sqlplus-font-lock-keywords-1 (sqlplus-set-font-lock-emacs-structures-for-level 1 major-mode) + sqlplus-font-lock-keywords-2 (sqlplus-set-font-lock-emacs-structures-for-level 2 major-mode) + sqlplus-font-lock-keywords-3 (sqlplus-set-font-lock-emacs-structures-for-level 3 major-mode)) + (when (featurep 'plsql) + (set (make-local-variable 'indent-line-function) + (lambda () (interactive) (condition-case err (funcall (symbol-function 'plsql-indent)) (error (message "Error: %S" err))))) + (set (make-local-variable 'indent-region-function) 'plsql-indent-region) + (set (make-local-variable 'align-mode-rules-list) 'plsql-align-rules-list)) + (setq font-lock-defaults sqlplus-font-lock-defaults) + (unless sqlplus-connect-string + (let ((potential-connect-string (sqlplus-get-potential-connect-string (buffer-file-name)))) + (when (and potential-connect-string + (get-process (sqlplus-get-process-name potential-connect-string))) + (setq sqlplus-connect-string potential-connect-string)))) + (set (make-local-variable 'font-lock-extend-after-change-region-function) + (lambda (beg end old-len) + (cons (save-excursion (goto-char beg) (sqlplus-find-begin-of-sqlplus-command)) + (save-excursion (goto-char end) (sqlplus-find-end-of-sqlplus-command))))) + (unless font-lock-sqlplus-face + (copy-face 'default 'font-lock-sqlplus-face) + (setq font-lock-sqlplus-face 'font-lock-sqlplus-face)) + (turn-on-font-lock) + (unless frame-background-mode + (setq frame-background-mode (if (< (sqlplus-color-percentage (face-background 'default)) 50) 'dark 'light))) + (setq imenu-generic-expression '((nil "^--[ ]*\\([^;.\n]*\\)" 1))) + ;; if input buffer has sqlplus-mode then prepare it for command under cursor selection + (when (and (eq major-mode 'sqlplus-mode) (null sqlplus-begin-command-overlay-arrow-position)) + (setq sqlplus-begin-command-overlay-arrow-position (make-marker) + sqlplus-end-command-overlay-arrow-position (make-marker) + sqlplus-command-overlay (make-overlay 1 1)) + (overlay-put sqlplus-command-overlay 'face 'sqlplus-command-highlight-face) + (when (and (>= emacs-major-version 22) (not (memq 'sqlplus-begin-command-overlay-arrow-position overlay-arrow-variable-list))) + (push 'sqlplus-begin-command-overlay-arrow-position overlay-arrow-variable-list)) + (when (and (>= emacs-major-version 22) (not (memq 'sqlplus-end-command-overlay-arrow-position overlay-arrow-variable-list))) + (push 'sqlplus-end-command-overlay-arrow-position overlay-arrow-variable-list)) + (add-hook 'pre-command-hook (lambda () + (set-marker sqlplus-begin-command-overlay-arrow-position nil) + (set-marker sqlplus-end-command-overlay-arrow-position nil)) + nil t) + (add-hook 'post-command-hook (lambda () + (sqlplus-clear-mouse-selection) + (set-marker sqlplus-begin-command-overlay-arrow-position nil) + (set-marker sqlplus-end-command-overlay-arrow-position nil)) + nil t)) + (run-hooks 'sqlplus-mode-hook)) + +(defun sqlplus-color-percentage (color) + (truncate (* (/ (/ (reduce '+ (color-values color)) 3.0) 65535.0) 100.0))) + +(defun sqlplus-get-potential-connect-string (file-path) + (when file-path + (let* ((file-name (file-name-nondirectory file-path)) + (extension (file-name-extension file-name)) + (case-fold-search t)) + (when (and extension + (string-match (concat "^" sqlplus-session-file-extension "$") extension) + (string-match "@" file-name)) + (car (refine-connect-string (file-name-sans-extension file-name))))))) + +(defun sqlplus-check-connection () + (if orcl-mode + (unless sqlplus-connect-string + (let* ((potential-connect-string (sqlplus-get-potential-connect-string (buffer-file-name))) + (connect-string (car (sqlplus-read-connect-string nil (or potential-connect-string + (caar (sqlplus-divide-connect-strings))))))) + (sqlplus connect-string (buffer-name)))) + (error "Current buffer is not determined to communicate with Oracle"))) + +;;; Utilitities + +(defun sqlplus-echo-in-buffer (buffer-name string &optional force-display hide-after-head) + "Displays string in the named buffer, creating the buffer if needed. If force-display is true, the buffer will appear +if not already shown." + (let ((buffer (get-buffer buffer-name))) + (when buffer + (if force-display (display-buffer buffer)) + (with-current-buffer buffer + (while (and (> (buffer-size) sqlplus-output-buffer-max-size) + (progn (goto-char (point-min)) + (unless (eobp) (forward-char)) + (re-search-forward (concat "^" (regexp-quote sqlplus-output-separator)) nil t))) + (delete-region 1 (- (point) (length sqlplus-output-separator)))) + + (goto-char (point-max)) + (let ((start-point (point))) + (insert string) + (when hide-after-head + (let ((from-pos (string-match "\n" string)) + (keymap (make-sparse-keymap)) + overlay) + (when from-pos + (setq overlay (make-overlay (+ start-point from-pos) (- (+ start-point (length string)) 2))) + (when (or (not (consp buffer-invisibility-spec)) + (not (assq 'hide-symbol buffer-invisibility-spec))) + (add-to-invisibility-spec '(hide-symbol . t))) + (overlay-put overlay 'invisible 'hide-symbol) + (put-text-property start-point (- (+ start-point (length string)) 2) 'help-echo string) + (put-text-property start-point (- (+ start-point (length string)) 2) 'mouse-face 'highlight) + (put-text-property start-point (- (+ start-point (length string)) 2) 'keymap sqlplus-output-buffer-keymap))))) + (if force-display + (set-window-point (get-buffer-window buffer-name) (point-max))))))) + +(defun sqlplus-verify-buffer (connect-string) + (let ((output-buffer-name (sqlplus-get-output-buffer-name connect-string)) + (process-buffer-name (sqlplus-get-process-buffer-name connect-string))) + (when (not (get-buffer process-buffer-name)) + (sqlplus-shutdown connect-string) + (error "No SQL*Plus session! Use 'M-x sqlplus' to start the SQL*Plus interpreter")) + (unless (get-buffer-process process-buffer-name) + (sqlplus-shutdown connect-string) + (error "Buffer '%s' is not talking to anybody!" output-buffer-name))) + t) + +(defun sqlplus-get-context (connect-string &optional id) + (let ((process-buffer (sqlplus-get-process-buffer-name connect-string))) + (when process-buffer + (with-current-buffer process-buffer + (when id + (while (and sqlplus-command-contexts + (not (equal (sqlplus-get-context-value (car sqlplus-command-contexts) :id) id))) + (setq sqlplus-command-contexts (cdr sqlplus-command-contexts)))) + (car sqlplus-command-contexts))))) + +(defun sqlplus-get-context-value (context var-symbol) + (cdr (assq var-symbol context))) + +(defun sqlplus-set-context-value (context var-symbol value) + (let ((association (assq var-symbol context))) + (if association + (setcdr association value) + (setcdr context (cons (cons var-symbol value) (cdr context)))) + context)) + +(defun sqlplus-mark-current () + "Marks the current SQL for sending to the SQL*Plus process. Marks are placed around a region defined by empty lines." + (let (begin end empty-line-p empty-line-p next-line-included tail-p) + (save-excursion + (beginning-of-line) + (setq empty-line-p (when (looking-at "^[ \t]*\\(\n\\|\\'\\)") (point))) + (setq next-line-included (and empty-line-p (save-excursion (skip-chars-forward " \t\n") (> (current-column) 0)))) + (setq tail-p (and empty-line-p + (or (bobp) (save-excursion (beginning-of-line 0) (looking-at "^[ \t]*\n")))))) + (unless tail-p + (save-excursion + (end-of-line) + (re-search-backward "\\`\\|\n[\r\t ]*\n[^ \t]" nil t) + (skip-syntax-forward "-") + (setq begin (point))) + (save-excursion + (beginning-of-line) + (re-search-forward "\n[\r\t ]*\n[^ \t]\\|\\'" nil t) + (unless (zerop (length (match-string 0))) + (backward-char 1)) + (skip-syntax-backward "-") + (setq end (or (and (not next-line-included) empty-line-p) (point))))) + (cons begin end))) + +;;; Transmission Commands + +(defun sqlplus-send-current (arg &optional html) + "Send the current SQL command(s) to the SQL*Plus process. With argument, show results in raw form." + (interactive "P") + (sqlplus-check-connection) + (when (buffer-file-name) + (condition-case err + (save-buffer) + (error (message (error-message-string err))))) + (let ((region (sqlplus-mark-current))) + (setq sqlplus-region-beginning-pos (car region) + sqlplus-region-end-pos (cdr region))) + (if (and sqlplus-region-beginning-pos sqlplus-region-end-pos) + (sqlplus-send-region arg sqlplus-region-beginning-pos sqlplus-region-end-pos nil html) + (error "Point doesn't indicate any command to execute"))) + +(defun sqlplus-send-current-html (arg) + (interactive "P") + (sqlplus-send-current arg t)) + + +;;; SQLPLUS-Output Buffer Operations - + +(defun sqlplus--show-buffer (connect-string fcn args) + (let* ((output-buffer-name (sqlplus-get-output-buffer-name connect-string))) + (sqlplus-verify-buffer connect-string) + (if sqlplus-suppress-show-output-buffer + (with-current-buffer (get-buffer output-buffer-name) + (if fcn (condition-case err (apply fcn args) (error (message (error-message-string err)))))) + (if (not (eq (window-buffer (selected-window)) (get-buffer output-buffer-name))) + (switch-to-buffer-other-window output-buffer-name)) + (if fcn (condition-case err (apply fcn args) (error (message (error-message-string err)))))))) + +(defun sqlplus-show-buffer (&optional connect-string fcn &rest args) + "Makes the SQL*Plus output buffer visible in the other window." + (interactive) + (setq connect-string (or connect-string sqlplus-connect-string)) + (unless connect-string + (error "Current buffer is disconnected!")) + (let ((output-buffer-name (sqlplus-get-output-buffer-name connect-string))) + (if (and output-buffer-name + (eq (current-buffer) (get-buffer output-buffer-name))) + (sqlplus--show-buffer connect-string fcn args) + (save-excursion + (save-selected-window + (sqlplus--show-buffer connect-string fcn args)))))) + +(fset 'sqlplus-buffer-display-window 'sqlplus-show-buffer) + +(defun sqlplus-buffer-scroll-up (&optional connect-string) + "Scroll-up in the SQL*Plus output buffer window." + (interactive) + (sqlplus-show-buffer (or connect-string sqlplus-connect-string) 'scroll-up)) + +(defun sqlplus-buffer-scroll-down (&optional connect-string) + "Scroll-down in the SQL*Plus output buffer window." + (interactive) + (sqlplus-show-buffer (or connect-string sqlplus-connect-string) 'scroll-down)) + +(defun sqlplus-scroll-left (num) + (call-interactively 'scroll-left)) + +(defun sqlplus-scroll-right (num) + (call-interactively 'scroll-right)) + +(defun sqlplus-buffer-scroll-left (num &optional connect-string) + "Scroll-left in the SQL*Plus output buffer window." + (interactive "p") + (sqlplus-show-buffer (or connect-string sqlplus-connect-string) 'sqlplus-scroll-left (* num (/ (window-width) 2)))) + +(defun sqlplus-buffer-scroll-right (num &optional connect-string) + "Scroll-right in the SQL*Plus output buffer window." + (interactive "p") + (sqlplus-show-buffer (or connect-string sqlplus-connect-string) 'sqlplus-scroll-right (* num (/ (window-width) 2)))) + +(defun sqlplus-buffer-mark-current (&optional connect-string) + "Mark the current position in the SQL*Plus output window." + (sqlplus-show-buffer (or connect-string sqlplus-connect-string) 'sqlplus-buffer-make-mark)) + +(defun sqlplus-buffer-make-mark (&optional connect-string) + "Set the sqlplus-buffer-marker." + (setq sqlplus-buffer-mark (copy-marker (point)))) + +(defun sqlplus-buffer-redisplay-current (&optional connect-string) + "Go to the current sqlplus-buffer-mark." + (interactive) + (sqlplus-show-buffer (or connect-string sqlplus-connect-string) 'sqlplus-goto-mark)) + +(defun sqlplus-goto-mark () + (goto-char sqlplus-buffer-mark) + (recenter 0)) + +(defun sqlplus-buffer-top (&optional connect-string) + "Goto the top of the SQL*Plus output buffer." + (interactive) + (sqlplus-show-buffer (or connect-string sqlplus-connect-string) 'sqlplus-beginning-of-buffer)) + +(defun sqlplus-beginning-of-buffer nil (goto-char (point-min))) + +(defun sqlplus-buffer-bottom (&optional connect-string) + "Goto the bottom of the SQL*Plus output buffer." + (interactive) + (sqlplus-show-buffer (or connect-string sqlplus-connect-string) 'sqlplus-end-of-buffer)) + +(defun sqlplus-end-of-buffer nil (goto-char (point-max)) (unless sqlplus-suppress-show-output-buffer (recenter -1))) + +(defun sqlplus-buffer-erase (&optional connect-string) + "Clear the SQL output buffer." + (interactive) + (sqlplus-show-buffer (or connect-string sqlplus-connect-string) 'erase-buffer)) + +(defun sqlplus-buffer-next-command (&optional connect-string) + "Search for the next command in the SQL*Plus output buffer." + (interactive) + (sqlplus-show-buffer (or connect-string sqlplus-connect-string) 'sqlplus-next-command)) + +(defun sqlplus-next-command nil + "Search for the next command in the SQL*Plus output buffer." + (cond ((re-search-forward (concat "^" (regexp-quote sqlplus-output-separator)) nil t) + (forward-line 2) + (recenter 0)) + (t (beep) (message "No more commands.")))) + +(defun sqlplus-buffer-prev-command (&optional connect-string) + "Search for the previous command in the SQL*Plus output buffer." + (interactive) + (sqlplus-show-buffer (or connect-string sqlplus-connect-string) 'sqlplus-previous-command)) + +(defun sqlplus-previous-command nil + "Search for the previous command in the SQL*Plus output buffer." + (let ((start (point))) + (re-search-backward (concat "^" (regexp-quote sqlplus-output-separator)) nil t) + (cond ((re-search-backward (concat "^" (regexp-quote sqlplus-output-separator)) nil t) + (forward-line 2) + (recenter 0)) + (t + (message "No more commands.") (beep) + (goto-char start))))) + +(defun sqlplus-send-interrupt nil + "Send an interrupt the the SQL*Plus interpreter process." + (interactive) + (sqlplus-check-connection) + (let ((connect-string sqlplus-connect-string)) + (sqlplus-verify-buffer connect-string) + (interrupt-process (get-process (sqlplus-get-process-name connect-string))))) + + +;;; SQL Interpreter + +(defun refine-connect-string (connect-string &optional no-slash) + "Z connect stringa do SQL*Plusa wycina haslo, tj. np. 'ponaglenia/x@SID' -> ('ponaglenia@SID' . 'x')." + (let (result passwd) + (when connect-string + (setq result + (if (string-match "\\(\\`[^@/]*?\\)/\\([^/@:]*\\)\\(.*?\\'\\)" connect-string) + (progn + (setq passwd (match-string 2 connect-string)) + (concat (match-string 1 connect-string) (match-string 3 connect-string))) + connect-string)) + (when no-slash + (while (string-match "/" result) + (setq result (replace-match "!" nil t result))))) + (cons result passwd))) + +(defun sqlplus-get-output-buffer-name (connect-string) + (concat "*" (car (refine-connect-string connect-string)) "*")) + +(defun sqlplus-get-input-buffer-name (connect-string) + (concat (car (refine-connect-string connect-string)) (concat "." sqlplus-session-file-extension))) + +(defun sqlplus-get-history-buffer-name (connect-string) + (concat " " (car (refine-connect-string connect-string)) "-hist")) + +(defun sqlplus-get-process-buffer-name (connect-string) + (concat " " (car (refine-connect-string connect-string)))) + +(defun sqlplus-get-process-name (connect-string) + (car (refine-connect-string connect-string))) + +(defun sqlplus-read-connect-string (&optional connect-string default-connect-string) + "Ask user for connect string with password, with DEFAULT-CONNECT-STRING proposed. +DEFAULT-CONNECT-STRING nil means first inactive connect-string on sqlplus-connect-strings-alist. +CONNECT-STRING non nil means ask for password only if CONNECT-STRING has no password itself. +Returns (qualified-connect-string refined-connect-string)." + (unless default-connect-string + (let ((inactive-connect-strings (cdr (sqlplus-divide-connect-strings)))) + (setq default-connect-string + (some (lambda (pair) + (when (member (car pair) inactive-connect-strings) (car pair))) + sqlplus-connect-strings-alist)))) + (let* ((cs (downcase (or connect-string + (read-string (format "Connect string%s: " (if default-connect-string (format " [default %s]" default-connect-string) "")) + nil 'sqlplus-connect-string-history default-connect-string)))) + (pair (refine-connect-string cs)) + (refined-cs (car pair)) + (password (cdr pair)) + (was-password password) + (association (assoc refined-cs sqlplus-connect-strings-alist))) + (unless (or password current-prefix-arg) + (setq password (cdr association))) + (unless password + (setq password (read-passwd (format "Password for %s: " cs)))) + (unless was-password + (if (string-match "@" cs) + (setq cs (replace-match (concat "/" password "@") t t cs)) + (setq cs (concat cs "/" password)))) + (list cs refined-cs))) + +(defun sqlplus (connect-string &optional input-buffer-name output-buffer-flag) + "Create SQL*Plus process connected to Oracle according to +CONNECT-STRING, open (or create) input buffer with specified +name (do not create if INPUT-BUFFER-NAME is nil). +OUTPUT-BUFFER-FLAG has meanings: nil or SHOW-OUTPUT-BUFFER - +create output buffer and show it, DONT-SHOW-OUTPUT-BUFFER - +create output buffer but dont show it, DONT-CREATE-OUTPUT-BUFFER +- dont create output buffer" + (interactive (let ((pair (sqlplus-read-connect-string))) + (list (car pair) (concat (cadr pair) (concat "." sqlplus-session-file-extension))))) + (set (make-local-variable 'comment-start-skip) "/\\*+ *\\|--+ *") + (set (make-local-variable 'comment-multi-line) t) + ;; create sqlplus-session-cache-dir if not exists + (when sqlplus-session-cache-dir + (condition-case err + (unless (file-directory-p sqlplus-session-cache-dir) + (make-directory sqlplus-session-cache-dir t)) + (error (message (error-message-string err))))) + (let* ((was-input-buffer (and input-buffer-name (get-buffer input-buffer-name))) + (input-buffer (or was-input-buffer + (when input-buffer-name + (if sqlplus-session-cache-dir + (let ((buf (find-file-noselect + (concat + (file-name-as-directory sqlplus-session-cache-dir) + (car (refine-connect-string connect-string t)) + (concat "." sqlplus-session-file-extension))))) + (condition-case nil + (with-current-buffer buf + (rename-buffer input-buffer-name)) + (error nil)) + buf) + (get-buffer-create input-buffer-name))))) + (output-buffer (or (and (not (eq output-buffer-flag 'dont-create-output-buffer)) + (get-buffer-create (sqlplus-get-output-buffer-name connect-string))) + (get-buffer (sqlplus-get-output-buffer-name connect-string)))) + (process-name (sqlplus-get-process-name connect-string)) + (process-buffer-name (sqlplus-get-process-buffer-name connect-string)) + (was-process (get-process process-name)) + process-created + (process (or was-process + (let (proc) + (puthash (car (refine-connect-string connect-string)) + (make-sqlplus-global-struct :font-lock-regexps (make-hash-table :test 'equal) + :side-view-buffer (when (featurep 'ide-skel) (sqlplus-create-side-view-buffer connect-string))) + sqlplus-global-structures) + ;; push current connect string to the beginning of sqlplus-connect-strings-alist + (let* ((refined-cs (refine-connect-string connect-string))) + (setq sqlplus-connect-strings-alist (delete* (car refined-cs) sqlplus-connect-strings-alist :test 'string= :key 'car)) + (push refined-cs sqlplus-connect-strings-alist)) + (sqlplus-get-history-buffer connect-string) + (when output-buffer + (with-current-buffer output-buffer + (erase-buffer))) + (setq process-created t + proc (start-process process-name process-buffer-name sqlplus-command connect-string)) + (set-process-sentinel proc (lambda (process event) + (let ((proc-buffer (buffer-name (process-buffer process))) + (output-buffer (get-buffer (sqlplus-get-output-buffer-name (process-name process)))) + err-msg + (exited-abnormally (string-match "\\`exited abnormally with code" event))) + (when output-buffer + (with-current-buffer output-buffer + (goto-char (point-max)) + (insert (format "\n%s" event)) + (when exited-abnormally + (setq sqlplus-connect-strings-alist + (delete* (car (refine-connect-string sqlplus-connect-string)) + sqlplus-connect-strings-alist :test 'string= :key 'car)) + (when proc-buffer + (with-current-buffer proc-buffer + (save-excursion + (goto-char (point-min)) + (when (re-search-forward "^ORA-[0-9]+.*$" nil t) + (setq err-msg (match-string 0)))) + (erase-buffer))) + (when err-msg + (insert (concat "\n" err-msg))))))))) + (process-kill-without-query proc (not sqlplus-kill-processes-without-query-on-exit-flag)) + (set-process-filter proc 'sqlplus-process-filter) + (with-current-buffer (get-buffer process-buffer-name) + (setq sqlplus-process-p connect-string)) + proc)))) + (when output-buffer + (with-current-buffer output-buffer + (orcl-mode 1) + (set (make-local-variable 'line-move-ignore-invisible) t) + (setq sqlplus-output-buffer-keymap (make-sparse-keymap) + sqlplus-connect-string connect-string + truncate-lines t) + (define-key sqlplus-output-buffer-keymap "\C-m" (lambda () (interactive) (sqlplus-output-buffer-hide-show))) + (define-key sqlplus-output-buffer-keymap [S-mouse-2] (lambda (event) (interactive "@e") (sqlplus-output-buffer-hide-show))) + (local-set-key [S-return] 'sqlplus-send-user-string))) + (when input-buffer + (with-current-buffer input-buffer + (setq sqlplus-connect-string connect-string))) + ;; if input buffer was created then switch it to sqlplus-mode + (when (and input-buffer (not was-input-buffer)) + (with-current-buffer input-buffer + (unless (eq major-mode 'sqlplus-mode) + (sqlplus-mode))) + (when font-lock-mode (font-lock-mode 1)) + (set-window-buffer (sqlplus-get-workbench-window) input-buffer)) + ;; if process was created then get information for font lock + (when process-created + (sqlplus-execute connect-string nil nil (sqlplus-initial-strings) 'no-echo) + (let ((plsql-font-lock-level (sqlplus-font-lock-value-in-major-mode font-lock-maximum-decoration 'plsql-mode)) + (sqlplus-font-lock-level (sqlplus-font-lock-value-in-major-mode font-lock-maximum-decoration 'sqlplus-mode))) + (when (or (equal plsql-font-lock-level t) (equal sqlplus-font-lock-level t) + (and (numberp plsql-font-lock-level) (>= plsql-font-lock-level 2)) + (and (numberp sqlplus-font-lock-level) (>= sqlplus-font-lock-level 2))) + (sqlplus-hidden-select connect-string + (concat "select distinct column_name, 'COLUMN', ' ' from user_tab_columns where column_name not like 'BIN$%'\n" + "union\n" + "select username, 'SCHEMA', ' ' from all_users where username not like 'BIN$%'\n" + "union\n" + "select object_name, object_type, decode( status, 'INVALID', 'I', ' ' ) from user_objects\n" + "where object_name not like 'BIN$%'\n" + "and object_type in ('VIEW', 'SEQUENCE', 'PACKAGE', 'TRIGGER', 'TABLE', 'SYNONYM', 'INDEX', 'FUNCTION', 'PROCEDURE');") + 'sqlplus-my-handler)))) + (when input-buffer + (save-selected-window + (when (equal (selected-window) (sqlplus-get-side-window)) + (select-window (sqlplus-get-workbench-window))) + (switch-to-buffer input-buffer))) + (let ((saved-window (cons (selected-window) (window-buffer (selected-window)))) + (input-buffer (get-buffer (sqlplus-get-input-buffer-name connect-string)))) + (when (or (eq output-buffer-flag 'show-output-buffer) (null output-buffer-flag)) + (sqlplus-show-buffer connect-string)) + (if (window-live-p (car saved-window)) + (select-window (car saved-window)) + (if (get-buffer-window (cdr saved-window)) + (select-window (get-buffer-window (cdr saved-window))) + (when (and input-buffer + (get-buffer-window input-buffer)) + (select-window (get-buffer-window input-buffer)))))) + ;; executing initial sequence (between /* init */ and /* end */) + (when (and (not was-process) input-buffer) + (with-current-buffer input-buffer + (save-excursion + (goto-char (point-min)) + (when (re-search-forward (concat "^" sqlplus-init-sequence-start-regexp "\\s-*\n\\(\\(.\\|\n\\)*?\\)\n" sqlplus-init-sequence-end-regexp) nil t) + (when (match-string 1) + (sqlplus-send-region nil (match-beginning 1) (match-end 1) t)))))))) + +;; Command under cursor selection mechanism +(when window-system + (run-with-idle-timer 0 t (lambda () (when (eq major-mode 'sqlplus-mode) (sqlplus-highlight-current-sqlplus-command)))) + (run-with-idle-timer 1 t (lambda () + (when (eq major-mode 'sqlplus-mode) + (if (>= (sqlplus-color-percentage (face-background 'default)) 50) + (set-face-attribute 'sqlplus-command-highlight-face nil + :background (sqlplus-shine-color (face-background 'default) (- sqlplus-command-highlighting-percentage))) + (set-face-attribute 'sqlplus-command-highlight-face nil + :background (sqlplus-shine-color (face-background 'default) sqlplus-command-highlighting-percentage))))))) + +(defun sqlplus-output-buffer-hide-show () + (if (and (consp buffer-invisibility-spec) + (assq 'hide-symbol buffer-invisibility-spec)) + (remove-from-invisibility-spec '(hide-symbol . t)) + (add-to-invisibility-spec '(hide-symbol . t))) + (let ((overlay (car (overlays-at (point))))) + (when overlay + (goto-char (overlay-start overlay)) + (beginning-of-line))) + (recenter 0)) + +(defun sqlplus-font-lock-value-in-major-mode (alist mode-symbol) + (if (consp alist) + (cdr (or (assq mode-symbol alist) (assq t alist))) + alist)) + +(defun sqlplus-get-history-buffer (connect-string) + (let* ((history-buffer-name (sqlplus-get-history-buffer-name connect-string)) + (history-buffer (get-buffer history-buffer-name))) + (unless history-buffer + (setq history-buffer (get-buffer-create history-buffer-name)) + (with-current-buffer history-buffer + (setq sqlplus-cs connect-string) + (add-hook 'kill-buffer-hook 'sqlplus-history-buffer-kill-function nil t))) + history-buffer)) + +(defun sqlplus-history-buffer-kill-function () + (when sqlplus-history-dir + (condition-case err + (progn + (unless (file-directory-p sqlplus-history-dir) + (make-directory sqlplus-history-dir t)) + (append-to-file 1 (buffer-size) (concat (file-name-as-directory sqlplus-history-dir) (car (refine-connect-string sqlplus-cs t)) "-hist.txt"))) + (error (message (error-message-string err)))))) + +(defun sqlplus-soft-shutdown (connect-string) + (unless (some (lambda (buffer) + (with-current-buffer buffer + (and sqlplus-connect-string + (equal (car (refine-connect-string sqlplus-connect-string)) + (car (refine-connect-string connect-string)))))) + (buffer-list)) + (sqlplus-shutdown connect-string))) + +(defun sqlplus-shutdown (connect-string &optional dont-kill-input-buffer) + "Kill input, output and process buffer for specified CONNECT-STRING." + (let ((input-buffers (delq nil (mapcar (lambda (buffer) (with-current-buffer buffer + (when (and (eq major-mode 'sqlplus-mode) + (equal (car (refine-connect-string sqlplus-connect-string)) + (car (refine-connect-string connect-string)))) + buffer))) (buffer-list)))) + (output-buffer (get-buffer (sqlplus-get-output-buffer-name connect-string))) + (history-buffer (get-buffer (sqlplus-get-history-buffer-name connect-string))) + (process-buffer (get-buffer (sqlplus-get-process-buffer-name connect-string)))) + (when history-buffer + (kill-buffer history-buffer)) + (when (and process-buffer + (with-current-buffer process-buffer sqlplus-process-p)) + (when (get-process (sqlplus-get-process-name connect-string)) + (delete-process (sqlplus-get-process-name connect-string))) + (kill-buffer process-buffer)) + (when (and output-buffer + (with-current-buffer output-buffer sqlplus-connect-string)) + (when (buffer-file-name output-buffer) + (with-current-buffer output-buffer + (save-buffer))) + (kill-buffer output-buffer)) + (dolist (input-buffer input-buffers) + (when (buffer-file-name input-buffer) + (with-current-buffer input-buffer + (save-buffer))) + (unless dont-kill-input-buffer + (kill-buffer input-buffer))))) + +(defun sqlplus-magic () + (let (bottom-message pos) + (delete-region (point) (progn (beginning-of-line 3) (point))) + (setq bottom-message (buffer-substring (point) (save-excursion (end-of-line) (point)))) + (setq pos (point)) + (when (re-search-forward "^-------" nil t) + (delete-region pos (progn (beginning-of-line 2) (point))) + (while (re-search-forward "|" (save-excursion (end-of-line) (point)) t) + (save-excursion + (backward-char) + (if (or (bolp) (save-excursion (forward-char) (eolp))) + (while (member (char-after) '(?- ?|)) + (delete-char 1) + (sqlplus-next-line)) + (while (member (char-after) '(?- ?|)) + (delete-char 1) + (insert " ") + (backward-char) + (sqlplus-next-line))))) + (beginning-of-line 3) + (re-search-forward "^---" nil t) + (goto-char (match-beginning 0)) + (delete-region (point) (point-max)) + (insert (format "%s\n\n%s\n" sqlplus-repfooter bottom-message)) + ))) + + +(defun sqlplus-process-command-output (context connect-string begin end interrupted) + (let* ((output-buffer-name (sqlplus-get-output-buffer-name connect-string)) + (output-buffer (get-buffer output-buffer-name)) + (process-buffer (sqlplus-get-process-buffer-name connect-string)) + str + error-list show-errors-p + slips-count + (user-function (sqlplus-get-context-value context :user-function)) + (result-function (sqlplus-get-context-value context :result-table-function)) + (last-compiled-file-path (sqlplus-get-context-value context :last-compiled-file-path)) + (compilation-expected (sqlplus-get-context-value context :compilation-expected)) + (columns-count (sqlplus-get-context-value context :columns-count)) + (sql (sqlplus-get-context-value context :sql)) + (original-buffer (current-buffer)) + explain-plan + table-data) + (setq slips-count columns-count) + (with-temp-buffer + (insert-buffer-substring original-buffer begin end) + (goto-char (point-min)) + (while (re-search-forward (concat "\n+" (regexp-quote sqlplus-page-separator) "\n") nil t) + (replace-match "\n")) + (goto-char (point-min)) + (setq str (buffer-string)) + (while (string-match (concat "^" (regexp-quote sqlplus-repfooter) "\n") str) + (setq str (replace-match "" nil t str))) + + ;; compilation errors? + (goto-char (point-min)) + (skip-chars-forward "\n\t ") + (when (and ;;(not (equal (point) (point-max))) + plsql-auto-parse-errors-flag + output-buffer + last-compiled-file-path + (re-search-forward "^\\(LINE/COL\\|\\(SP2\\|CPY\\|ORA\\)-[0-9]\\{4,5\\}:\\|No errors\\|Nie ma b..d.w\\|Keine Fehler\\|No hay errores\\|Identificateur erron\\|Nessun errore\\|N..o h.. erros\\)" nil t)) + (goto-char (point-min)) + (setq error-list (plsql-parse-errors last-compiled-file-path) + show-errors-p compilation-expected)) + + ;; explain? + (let ((case-fold-search t)) + (goto-char (point-min)) + (skip-chars-forward "\n\t ") + (when (and sql + (string-match "^[\n\t ]*explain\\>" sql) + (looking-at "Explained[.]")) + (delete-region (point-min) (point-max)) + (setq str "") + (sqlplus--send connect-string + "select plan_table_output from table(dbms_xplan.display(null, null, 'TYPICAL'));" + nil + 'no-echo + nil))) + + ;; plan table output? + (goto-char (point-min)) + (skip-chars-forward "\n\t ") + (when (and (looking-at "^PLAN_TABLE_OUTPUT\n") + sqlplus-format-output-tables-flag + (not compilation-expected) + (not show-errors-p)) + (sqlplus-magic) ;; TODO + (goto-char (point-min)) + (re-search-forward "^[^\n]+" nil t) + (delete-region (point-min) (progn (beginning-of-line) (point))) + ;; (setq slips-count 1) + (setq explain-plan t) + (setq table-data (save-excursion (sqlplus-parse-output-table interrupted)))) + + ;; query result? + (goto-char (point-min)) + (when (and sqlplus-format-output-tables-flag + (not compilation-expected) + (not table-data) + (not show-errors-p) + (not (re-search-forward "^LINE/COL\\>" nil t))) + (setq table-data (save-excursion (sqlplus-parse-output-table interrupted)))) + (if user-function + (funcall user-function connect-string context (or table-data str)) + (when output-buffer + (with-current-buffer output-buffer + (save-excursion + (goto-char (point-max)) + (cond (show-errors-p + (insert str) + (plsql-display-errors (file-name-directory last-compiled-file-path) error-list) + (let* ((plsql-buf (get-file-buffer last-compiled-file-path)) + (win (when plsql-buf (car (get-buffer-window-list plsql-buf))))) + (when win + (select-window win)))) + ((and table-data + (car table-data)) + (if result-function + (funcall result-function connect-string table-data) + (let ((b (point)) + (warning-regexp (regexp-opt sqlplus-explain-plan-warning-regexps)) + e) + (sqlplus-draw-table table-data slips-count) + (when interrupted (insert ". . .\n")) + (setq e (point)) + (when explain-plan + (save-excursion + (goto-char b) + (while (re-search-forward warning-regexp nil t) + (add-text-properties (match-beginning 0) (match-end 0) + (list 'face (list (cons 'foreground-color "red") (list :weight 'bold) + (get-text-property (match-beginning 0) 'face)))))))))) + (t + (insert str)))))))))) + +(defun sqlplus-result-online (connect-string context string last-chunk) + (let ((output-buffer (sqlplus-get-output-buffer-name connect-string))) + (when output-buffer + (with-current-buffer output-buffer + (save-excursion + (goto-char (point-max)) + (insert string)))))) + +(defvar sqlplus-prompt-regexp (concat "^" (regexp-quote sqlplus-prompt-prefix) "\\([0-9]+\\)" (regexp-quote sqlplus-prompt-suffix))) + +(defvar sqlplus-page-separator-regexp (concat "^" (regexp-quote sqlplus-page-separator))) + +(defun sqlplus-process-filter (process string) + (with-current-buffer (process-buffer process) + (let* ((prompt-safe-len (+ (max (+ (length sqlplus-prompt-prefix) (length sqlplus-prompt-suffix)) (length sqlplus-page-separator)) 10)) + current-context-id filter-input-processed + (connect-string sqlplus-process-p) + (chunk-begin-pos (make-marker)) + (chunk-end-pos (make-marker)) + (prompt-found (make-marker)) + (context (sqlplus-get-context connect-string current-context-id)) + (current-command-input-buffer-name (sqlplus-get-context-value context :current-command-input-buffer-name)) + (current-command-input-buffer-names (when current-command-input-buffer-name (list current-command-input-buffer-name)))) + (set-marker chunk-begin-pos (max 1 (- (point) prompt-safe-len))) + (goto-char (point-max)) + (insert string) + (unless current-command-input-buffer-names + (setq current-command-input-buffer-names + (delq nil (mapcar (lambda (buffer) (with-current-buffer buffer + (when (and (memq major-mode '(sqlplus-mode plsql-mode)) + sqlplus-connect-string + (equal (car (refine-connect-string sqlplus-connect-string)) + (car (refine-connect-string connect-string)))) + buffer))) (buffer-list))))) + ;; fan animation + (dolist (current-command-input-buffer-name current-command-input-buffer-names) + (let ((input-buffer (get-buffer current-command-input-buffer-name))) + (when input-buffer + (with-current-buffer input-buffer + (setq sqlplus-fan + (cond ((equal sqlplus-fan "|") "/") + ((equal sqlplus-fan "/") "-") + ((equal sqlplus-fan "-") "\\") + ((equal sqlplus-fan "\\") "|"))) + (put-text-property 0 (length sqlplus-fan) 'face '((foreground-color . "red")) sqlplus-fan) + (put-text-property 0 (length sqlplus-fan) 'help-echo (sqlplus-get-context-value context :sql) sqlplus-fan) + (force-mode-line-update))))) + (unwind-protect + (while (not filter-input-processed) + (let* ((context (sqlplus-get-context connect-string current-context-id)) + (dont-parse-result (sqlplus-get-context-value context :dont-parse-result)) + (current-command-input-buffer-name (sqlplus-get-context-value context :current-command-input-buffer-name)) + (result-function (sqlplus-get-context-value context :result-function)) + (skip-to-the-end-of-command (sqlplus-get-context-value context :skip-to-the-end-of-command))) + (set-marker prompt-found nil) + (goto-char chunk-begin-pos) + (set-marker chunk-end-pos + (if (or (re-search-forward sqlplus-prompt-regexp nil t) + (re-search-forward "^SQL> " nil t)) + (progn + (set-marker prompt-found (match-end 0)) + (when (match-string 1) + (setq current-context-id (string-to-number (match-string 1)))) + (match-beginning 0)) + (point-max))) + (cond ((and (equal chunk-begin-pos chunk-end-pos) ; at the end of command + (marker-position prompt-found)) + ;; deactivate fan + (dolist (current-command-input-buffer-name current-command-input-buffer-names) + (let ((input-buffer (get-buffer current-command-input-buffer-name))) + (when input-buffer + (with-current-buffer input-buffer + (remove-text-properties 0 (length sqlplus-fan) '(face nil) sqlplus-fan) + (force-mode-line-update))))) + (delete-region 1 prompt-found) + (when dont-parse-result + (funcall (or result-function 'sqlplus-result-online) connect-string context "" t)) + (sqlplus-set-context-value context :skip-to-the-end-of-command nil) + (set-marker chunk-begin-pos 1)) + ((equal chunk-begin-pos chunk-end-pos) + (when dont-parse-result + (delete-region 1 (point-max))) + (setq filter-input-processed t)) + (dont-parse-result + (funcall (or result-function 'sqlplus-result-online) + connect-string + context + (buffer-substring chunk-begin-pos chunk-end-pos) + (marker-position prompt-found)) + (set-marker chunk-begin-pos chunk-end-pos)) + (t + (when (not skip-to-the-end-of-command) + (goto-char (max 1 (- chunk-begin-pos 4010))) + (let ((page-separator-found + (save-excursion (let ((pos (re-search-forward (concat sqlplus-page-separator-regexp "[^-]*\\(^-\\|^ e b) + (buffer-substring b e) + ""))) + (col-preferred-width (string-width col-name))) + ;; (put-text-property 0 (length col-name) 'face '(bold) col-name) + (push (make-col-desc :id col-counter :name col-name :start-pos col-begin + :end-pos col-end :max-width col-max-width :preferred-width col-preferred-width :min-prefix-len col-max-width) + column-infos) + (incf col-counter) + (goto-char ed) + (if (equal (char-after) ?\n) + (progn + (beginning-of-line 3) + (incf record-lines)) + (forward-char))) + (setq finish t))) + (decf record-lines) + (setq column-infos (nreverse column-infos)) + (forward-line -1) + + ;; at the first char of first data cell. + ;; table parsing... + (while (< (point) end) + (let (record last-start-pos) + (dolist (column-info column-infos) + (let ((start-pos (col-desc-start-pos column-info)) + (end-pos (col-desc-end-pos column-info)) + width len value b e l) + (when (and last-start-pos + (<= start-pos last-start-pos)) + (forward-line)) + (setq last-start-pos start-pos) + (move-to-column start-pos) + (setq b (point)) + (move-to-column end-pos) + (setq e (point)) + (move-to-column start-pos) + (setq l (skip-chars-forward " " e)) + (when (and (col-desc-min-prefix-len column-info) + (< l (- e b)) + (< l (col-desc-min-prefix-len column-info))) + (setf (col-desc-min-prefix-len column-info) + (if (looking-at "[0-9]") l nil))) + (move-to-column end-pos) + (skip-chars-backward " " b) + (setq value (if (> (point) b) (buffer-substring b (point)) "")) + (setq len (length value) + width (string-width value)) + (when (and sqlplus-select-result-max-col-width + (> len sqlplus-select-result-max-col-width)) + (setq value (concat (substring value 0 sqlplus-select-result-max-col-width) "...") + len (length value) + width (string-width value))) + (when (> width (col-desc-preferred-width column-info)) + (setf (col-desc-preferred-width column-info) width)) + (when (and (< l (- e b)) + (memq (col-desc-numeric column-info) '(nil y))) + (setf (col-desc-numeric column-info) + (if (string-match "\\` *[-+0-9Ee.,$]+\\'" value) 'y 'n))) + (push value record))) + (forward-line) + (when (> record-lines 1) + (forward-line)) + (setq last-start-pos nil + record (nreverse record)) + (push record rows))) + (setq rows (nreverse rows)) + (list column-infos rows last-msg))))) + +(defun sqlplus-draw-table (lst &optional slips-count) + "SLIPS-COUNT (nil means compute automatically)." + ;; current buffer: SQL*Plus output buffer + (when window-system + (if (>= (sqlplus-color-percentage (face-background 'default)) 50) + (progn + (set-face-attribute 'sqlplus-table-head-face nil + :background (sqlplus-shine-color (face-background 'default) -70) :foreground (face-background 'default)) + (set-face-attribute 'sqlplus-table-even-rows-face nil + :background (sqlplus-shine-color (face-background 'default) -20) :overline (face-background 'default)) + (set-face-attribute 'sqlplus-table-odd-rows-face nil + :background (sqlplus-shine-color (face-background 'default) -30) :overline (face-background 'default))) + (set-face-attribute 'sqlplus-table-head-face nil + :background (sqlplus-shine-color (face-background 'default) +70) :foreground (face-background 'default)) + (set-face-attribute 'sqlplus-table-even-rows-face nil + :background (sqlplus-shine-color (face-background 'default) +20) :overline (face-background 'default)) + (set-face-attribute 'sqlplus-table-odd-rows-face nil + :background (sqlplus-shine-color (face-background 'default) +30) :overline (face-background 'default)))) + (let* ((column-infos (car lst)) + (rows (cadr lst)) + (slip-width 0) + (table-header-height 1) + (table-area-width (1- (let ((side-window (sqlplus-get-side-window))) (if side-window (window-width side-window) (frame-width))))) + ;; may be nil, which means no limit + (table-area-height (let ((side-window (sqlplus-get-side-window))) + (when side-window + (- (window-height side-window) 2 (if mode-line-format 1 0) (if header-line-format 1 0))))) + (column-separator-width (if sqlplus-elegant-style 1.2 (max (length sqlplus-table-col-separator) (length sqlplus-table-col-head-separator)))) + rows-per-slip ;; data rows per slip + (slip-separator-width (if sqlplus-elegant-style 1.5 sqlplus-slip-separator-width)) + (slip-separator (make-string (max 0 (if sqlplus-elegant-style 1 sqlplus-slip-separator-width)) ?\ )) + (last-msg (caddr lst))) + (when sqlplus-elegant-style + (put-text-property 0 1 'display (cons 'space (list :width slip-separator-width)) slip-separator)) + (when (<= table-area-height table-header-height) + (setq table-area-height nil)) + (when (and window-system sqlplus-elegant-style table-area-height (> table-area-height 3)) + ;; overline makes glyph higher... + (setq table-area-height (- table-area-height (round (/ (* 20.0 (- table-area-height 3)) (face-attribute 'default :height)))))) + (when column-infos + (goto-char (point-max)) + (beginning-of-line) + ;; slip width (without separator between slips) + (dolist (col-info column-infos) + (when (col-desc-min-prefix-len col-info) + (setf (col-desc-preferred-width col-info) (max (string-width (col-desc-name col-info)) + (- (col-desc-preferred-width col-info) (col-desc-min-prefix-len col-info))))) + (incf slip-width (+ (col-desc-preferred-width col-info) column-separator-width))) + (when (> slip-width 0) + (setq slip-width (+ (- slip-width column-separator-width) (if sqlplus-elegant-style 1.0 0)))) + ;; computing slip count if not known yet + (unless slips-count + (setq slips-count + (if table-area-height (min (ceiling (/ (float (length rows)) (max 1 (- table-area-height table-header-height 2)))) + (max 1 (floor (/ (float table-area-width) (+ slip-width slip-separator-width))))) + 1))) + (setq slips-count (max 1 (min slips-count (length rows)))) ; slip count <= data rows + (setq rows-per-slip (ceiling (/ (float (length rows)) slips-count))) + (when (> rows-per-slip 0) + (setq slips-count (max 1 (min (ceiling (/ (float (length rows)) rows-per-slip)) slips-count)))) + + (let ((table-begin-point (point))) + (dotimes (slip-no slips-count) + (let ((row-no 0) + (slip-begin-point (point)) + (rows-processed 0)) + ;; column names + (dolist (col-info column-infos) + (let* ((col-name (col-desc-name col-info)) + (spaces (max 0 (- (col-desc-preferred-width col-info) (string-width col-name)))) + (last-col-p (>= (1+ (col-desc-id col-info)) (length column-infos))) + (val (format (if sqlplus-elegant-style " %s%s %s" "%s%s%s") + col-name + (make-string spaces ?\ ) + (if last-col-p "" (if sqlplus-elegant-style " " sqlplus-table-col-separator))))) + (put-text-property 0 (if (or (not sqlplus-elegant-style) last-col-p) (length val) (1- (length val))) + 'face 'sqlplus-table-head-face val) + (when sqlplus-elegant-style + (put-text-property 0 1 'display '(space . (:width 0.5)) val) + (put-text-property (- (length val) (if last-col-p 1 2)) (- (length val) (if last-col-p 0 1)) 'display '(space . (:width 0.5)) val) + (unless last-col-p + (put-text-property (- (length val) 1) (length val) 'display '(space . (:width 0.2)) val))) + (insert val))) + (insert slip-separator) + (insert "\n") + ;; data rows + (while (and (< rows-processed rows-per-slip) + rows) + (let ((row (car rows))) + (setq rows (cdr rows)) + (incf rows-processed) + (let ((col-infos column-infos)) + (dolist (value row) + (let* ((col-info (car col-infos)) + (numeric-p (eq (col-desc-numeric col-info) 'y)) + (min-prefix (col-desc-min-prefix-len col-info))) + (when (and min-prefix + value + (>= (length value) min-prefix)) + (setq value (substring value min-prefix))) + (let* ((spaces (max 0 (- (col-desc-preferred-width col-info) (string-width value)))) + (val (if numeric-p + (format (if sqlplus-elegant-style " %s%s %s" "%s%s%s") + (make-string spaces ?\ ) + value + (if (cdr col-infos) (if sqlplus-elegant-style " " sqlplus-table-col-separator) "")) + (format (if sqlplus-elegant-style " %s%s %s" "%s%s%s") + value + (make-string spaces ?\ ) + (if (cdr col-infos) (if sqlplus-elegant-style " " sqlplus-table-col-separator) ""))))) + (put-text-property 0 (if (and sqlplus-elegant-style (cdr col-infos)) (- (length val) 1) (length val)) + 'face (if (evenp row-no) + 'sqlplus-table-even-rows-face + 'sqlplus-table-odd-rows-face) val) + (when sqlplus-elegant-style + (put-text-property 0 1 'display '(space . (:width 0.5)) val) + (put-text-property (- (length val) (if (cdr col-infos) 2 1)) + (- (length val) (if (cdr col-infos) 1 0)) + 'display '(space . (:width 0.5)) val) + (when (cdr col-infos) + (put-text-property (- (length val) 1) (length val) 'display '(space . (:width 0.2)) val))) + (setq col-infos (cdr col-infos)) + (insert val)))) + (incf row-no) + (insert slip-separator) + (insert "\n")))) + (when (> slip-no 0) + (delete-backward-char 1) + (let ((slip-end-point (point))) + (kill-rectangle slip-begin-point slip-end-point) + (delete-region slip-begin-point (point-max)) + (goto-char table-begin-point) + (end-of-line) + (yank-rectangle) + (goto-char (point-max)) + )))) + (goto-char (point-max)) + (when (and last-msg (> (length last-msg) 0)) + (unless sqlplus-elegant-style (insert "\n")) + (let ((s (format "%s\n\n" (replace-regexp-in-string "\n+" " " last-msg)))) + (when sqlplus-elegant-style + (put-text-property (- (length s) 2) (1- (length s)) 'display '(space . (:height 1.5)) s)) + (insert s))))))) + +(defun sqlplus-send-user-string (str) + (interactive (progn (sqlplus-check-connection) + (if sqlplus-connect-string + (list (read-string "Send to process: " nil 'sqlplus-user-string-history "")) + (error "Works only in SQL*Plus buffer")))) + (let ((connect-string sqlplus-connect-string)) + (sqlplus-verify-buffer connect-string) + (let* ((process (get-process (sqlplus-get-process-name connect-string))) + (output-buffer-name (sqlplus-get-output-buffer-name connect-string))) + (sqlplus-echo-in-buffer output-buffer-name (concat str "\n")) + (send-string process (concat str "\n"))))) + +(defun sqlplus-prepare-update-alist (table-data) + (let ((column-infos (car table-data)) + (rows (cadr table-data)) + (msg (caddr table-data)) + alist) + (dolist (row rows) + (let* ((object-name (car row)) + (object-type (intern (downcase (cadr row)))) + (status (caddr row)) + (regexp-list (cdr (assq object-type alist))) + (pair (cons object-name (equal status "I")))) + (if regexp-list + (setcdr regexp-list (cons pair (cdr regexp-list))) + (setq regexp-list (list pair)) + (setq alist (cons (cons object-type regexp-list) alist))))) + alist)) + +(defun sqlplus-my-update-handler (connect-string table-data) + (let ((alist (sqlplus-prepare-update-alist table-data))) + (when (featurep 'ide-skel) + (funcall 'sqlplus-side-view-update-data connect-string alist)))) + +(defun sqlplus-my-handler (connect-string table-data) + (let ((alist (sqlplus-prepare-update-alist table-data)) + (sqlplus-font-lock-regexps (sqlplus-get-font-lock-regexps connect-string))) + (sqlplus-set-objects-alist alist connect-string) + (when (featurep 'ide-skel) + (funcall 'sqlplus-side-view-update-data connect-string alist)) + (clrhash sqlplus-font-lock-regexps) + (dolist (lst sqlplus-syntax-faces) + (let* ((object-type (car lst)) + (regexp-list (append (caddr lst) (mapcar 'car (cdr (assq object-type alist)))))) + (when regexp-list + (puthash object-type (concat "\\b" (regexp-opt regexp-list t) "\\b") sqlplus-font-lock-regexps)))) + (let ((map sqlplus-font-lock-regexps)) + (mapc (lambda (buffer) + (with-current-buffer buffer + (when (and (memq major-mode '(sqlplus-mode plsql-mode)) + (equal sqlplus-connect-string connect-string)) + (when font-lock-mode (font-lock-mode 1))))) + (buffer-list))))) + +(defun sqlplus-get-source-function (connect-string context string last-chunk) + (let* ((source-text (sqlplus-get-context-value context :source-text)) + (source-type (sqlplus-get-context-value context :source-type)) + (source-name (sqlplus-get-context-value context :source-name)) + (source-extension (sqlplus-get-context-value context :source-extension)) + (name (concat (upcase source-name) "." source-extension)) + finish) + (unless (sqlplus-get-context-value context :finished) + (setq source-text (concat source-text string)) + (sqlplus-set-context-value context :source-text source-text) + (when last-chunk + (if (string-match (regexp-quote sqlplus-end-of-source-sentinel) source-text) + (when (< (length source-text) (+ (length sqlplus-end-of-source-sentinel) 5)) + (setq last-chunk nil + finish "There is no such database object")) + (setq last-chunk nil))) + (when last-chunk + (setq finish t)) + (when finish + (sqlplus-set-context-value context :finished t) + (if (stringp finish) + (message finish) + (with-temp-buffer + (insert source-text) + (goto-char (point-min)) + (re-search-forward (regexp-quote sqlplus-end-of-source-sentinel) nil t) + (replace-match "") + (goto-char (point-max)) + (forward-comment (- (buffer-size))) + (when (equal source-type "TABLE") + (goto-char (point-min)) + (insert (format "table %s\n(\n" source-name)) + (goto-char (point-max)) + (delete-region (re-search-backward "," nil t) (point-max)) + (insert "\n);")) + (insert "\n/\n") + (unless (member source-type '("SEQUENCE" "TABLE" "SYNONYM" "INDEX")) + (insert "show err\n")) + (goto-char (point-min)) + (insert "create " (if (member source-type '("INDEX" "SEQUENCE" "TABLE")) "" "or replace ")) + (setq source-text (buffer-string))) + (with-current-buffer (get-buffer-create name) + (setq buffer-read-only nil) + (erase-buffer) + (insert source-text) + (goto-char (point-min)) + (set-visited-file-name (concat (file-name-as-directory temporary-file-directory) + (concat (make-temp-name (sqlplus-canonize-file-name (concat (upcase source-name) "_") "[$]")) "." source-extension))) + (rename-buffer name) + (condition-case err + (funcall (symbol-function 'plsql-mode)) + (error nil)) + (setq sqlplus-connect-string connect-string + buffer-read-only sqlplus-source-buffer-readonly-by-default-flag) + (save-buffer) + (save-selected-window + (let ((win (selected-window))) + (when (or (equal win (sqlplus-get-side-window)) + (and (fboundp 'ide-skel-side-view-window-p) + (funcall 'ide-skel-side-view-window-p win))) + (setq win (sqlplus-get-workbench-window))) + (set-window-buffer win (current-buffer)))))))))) + +(defun sqlplus-get-source (connect-string name type &optional schema-name) + "Fetch source for database object NAME in current or specified SCHEMA-NAME, and show the source in new buffer. +Possible TYPE values are in 'sqlplus-object-types'." + (interactive (let* ((thing (thing-at-point 'symbol)) + (obj-raw-name (read-string (concat "Object name" (if thing (concat " [default " thing "]") "") ": ") + nil + 'sqlplus-get-source-history (when thing thing))) + (completion-ignore-case t) + (type (completing-read "Object type: " (mapcar (lambda (type) (cons type nil)) sqlplus-object-types) nil t))) + (string-match "^\\(\\([^.]+\\)[.]\\)?\\(.*\\)$" obj-raw-name) + (list sqlplus-connect-string (match-string 3 obj-raw-name) type (match-string 2 obj-raw-name)))) + (setq type (upcase type)) + (let* ((sql + (cond ((equal type "SEQUENCE") + (format (concat "select 'sequence %s' || sequence_name || " + "decode( increment_by, 1, '', ' increment by ' || increment_by ) || " + "case when increment_by > 0 and max_value >= (1.0000E+27)-1 or increment_by < 0 and max_value = -1 then '' " + "else decode( max_value, null, ' nomaxvalue', ' maxvalue ' || max_value) end || " + "case when increment_by > 0 and min_value = 1 or increment_by < 0 and min_value <= (-1.0000E+26)+1 then '' " + "else decode( min_value, null, ' nominvalue', ' minvalue ' || min_value) end || " + "decode( cycle_flag, 'Y', ' cycle', '' ) || " + "decode( cache_size, 20, '', 0, ' nocache', ' cache ' || cache_size ) || " + "decode( order_flag, 'Y', ' order', '' ) " + "from %s where sequence_name = '%s'%s;") + (if schema-name (concat (upcase schema-name) ".") "") + (if schema-name "all_sequences" "user_sequences") + (upcase name) + (if schema-name (format " and sequence_owner = '%s'" (upcase schema-name)) ""))) + ((equal type "TABLE") + (format (concat "select ' ' || column_name || ' ' || data_type || " + "decode( data_type," + " 'VARCHAR2', '(' || to_char( data_length, 'fm9999' ) || ')'," + " 'NUMBER', decode( data_precision," + " null, ''," + " '(' || to_char( data_precision, 'fm9999' ) || decode( data_scale," + " null, ''," + " 0, ''," + " ',' || data_scale ) || ')' )," + " '') || " + "decode( nullable, 'Y', ' not null', '') || ','" + "from all_tab_columns " + "where owner = %s and table_name = '%s' " + "order by column_id;") + (if schema-name (concat "'" (upcase schema-name) "'") "user") + (upcase name))) + ((equal type "SYNONYM") + (format (concat "select " + "decode( owner, 'PUBLIC', 'public ', '' ) || 'synonym ' || " + "decode( owner, 'PUBLIC', '', user, '', owner || '.' ) || synonym_name || ' for ' || " + "decode( table_owner, user, '', table_owner || '.' ) || table_name || " + "decode( db_link, null, '', '@' || db_link ) " + "from all_synonyms where (owner = 'PUBLIC' or owner = %s) and synonym_name = '%s';") + (if schema-name (concat "'" (upcase schema-name) "'") "user") + (upcase name))) + ((equal type "VIEW") + (if schema-name (format "select 'view %s.' || view_name || ' as ', text from all_views where owner = '%s' and view_name = '%s';" + (upcase schema-name) (upcase schema-name) (upcase name)) + (format "select 'view ' || view_name || ' as ', text from user_views where view_name = '%s';" (upcase name)))) + ((or (equal type "PROCEDURE") + (equal type "FUNCTION")) + (if schema-name (format "select text from all_source where owner = '%s' and name = '%s' and type in ('PROCEDURE', 'FUNCTION') order by line;" + (upcase schema-name) (upcase name)) + (format "select text from user_source where name = '%s' and type in ('PROCEDURE', 'FUNCTION') order by line;" + (upcase name)))) + (t + (if schema-name (format "select text from all_source where owner = '%s' and name = '%s' and type = '%s' order by line;" + (upcase schema-name) (upcase name) (upcase type)) + (format "select text from user_source where name = '%s' and type = '%s' order by line;" + (upcase name) (upcase type)))))) + (prolog-commands (list "set echo off" + "set newpage 0" + "set space 0" + "set pagesize 0" + "set feedback off" + "set long 4000" + "set longchunksize 4000" + "set wrap on" + "set heading off" + "set trimspool on" + "set linesize 4000" + "set timing off")) + (extension (if (equal (downcase type) "package") "pks" "sql")) + (source-buffer-name (concat " " (upcase name) "." extension)) + (context-options (list (cons :dont-parse-result 'dont-parse) + (cons :source-text nil) + (cons :source-type type) + (cons :source-name name) + (cons :source-extension extension) + (cons :result-function 'sqlplus-get-source-function)))) + (sqlplus-execute connect-string sql context-options prolog-commands t t) + (sqlplus-execute connect-string (format "select '%s' from dual;" sqlplus-end-of-source-sentinel) context-options prolog-commands t t))) + +(defun sqlplus-canonize-file-name (file-name regexp) + (while (string-match regexp file-name) + (setq file-name (replace-match "!" nil t file-name))) + file-name) + +(defun sqlplus-define-user-variables (string) + (when string + (let (variables-list + define-commands + (index 0)) + (while (setq index (string-match "&+\\(\\(\\sw\\|\\s_\\)+\\)" string index)) + (let ((var-name (match-string 1 string))) + (setq index (+ 2 index)) + (unless (member var-name variables-list) + (push var-name variables-list)))) + (dolist (var-name (reverse variables-list)) + (let* ((default-value (gethash var-name sqlplus-user-variables nil)) + (value (read-string (format (concat "Variable value for %s" (if default-value (format " [default: %s]" default-value) "") ": ") var-name) + nil 'sqlplus-user-variables-history default-value))) + (unless value + (error "There is no value for %s defined" var-name)) + (setq define-commands (cons (format "define %s=%s" var-name value) define-commands)) + (puthash var-name value sqlplus-user-variables))) + define-commands))) + +(defun sqlplus-parse-region (start end) + (let ((sql (buffer-substring start end))) + (save-excursion + ;; Strip whitespace from beginning and end, just to be neat. + (if (string-match "\\`[ \t\n]+" sql) + (setq sql (substring sql (match-end 0)))) + (if (string-match "[ \t\n]+\\'" sql) + (setq sql (substring sql 0 (match-beginning 0)))) + (setq sql (replace-regexp-in-string "^[ \t]*--.*[\n]?" "" sql)) + (when (zerop (length sql)) + (error "Nothing to send")) + ;; Now the string should end with an sqlplus-terminator. + (if (not (string-match "\\(;\\|/\\|[.]\\)\\'" sql)) + (setq sql (concat sql ";")))) + sql)) + +(defun sqlplus-show-html-fun (context connect-string begin end interrupted) + (let ((output-file (expand-file-name (substitute-in-file-name sqlplus-html-output-file-name))) + (sql (sqlplus-get-context-value context :htmlized-html-command)) + (html (buffer-substring begin end)) + (header-html (eval sqlplus-html-output-header))) + (let ((case-fold-search t)) + (while (and (string-match "\\`[ \t\n]*\\(
\\|

\\)?" html) (match-string 0 html) (> (length (match-string 0 html)) 0)) + (setq html (replace-match "" nil t html))) + (when (> (length html) 0) + (sqlplus-execute connect-string "" nil '("set markup html off") 'no-echo 'dont-show-output-buffer) + (find-file output-file) + (erase-buffer) + (insert (concat "\n" + "\n" + " \n" + (sqlplus-get-context-value context :head) "\n" + "\n" + "\n" + (if header-html header-html "") + (if sqlplus-html-output-sql sql "") + "

" + html "\n" + "\n" + "")) + (goto-char (point-min)) + (save-buffer))))) + +(defun sqlplus-refine-html (html remove-entities) + (string-match "\\`\"?\\(\\(.\\|\n\\)*?\\)\"?[ \t\n]*\\'" html) + (setq html (match-string 1 html)) + (if remove-entities + (progn + (while (string-match """ html) (setq html (replace-match "\"" nil t html))) + (while (string-match "<" html) (setq html (replace-match "<" nil t html))) + (while (string-match ">" html) (setq html (replace-match ">" nil t html))) + (while (string-match "&" html) (setq html (replace-match "&" nil t html)))) + (while (string-match "&" html) (setq html (replace-match "&" nil t html))) + (while (string-match ">" html) (setq html (replace-match ">" nil t html))) + (while (string-match "<" html) (setq html (replace-match "<" nil t html))) + (while (string-match "\"" html) (setq html (replace-match """ nil t html)))) + (string-match "\\`\"?\\(\\(.\\|\n\\)*?\\)\"?[ \t\n]*\\'" html) + (setq html (match-string 1 html)) + html) + +(defun sqlplus-show-markup-fun (context connect-string begin end interrupted) + (goto-char begin) + (let ((head "") + (body "") + preformat) + (when (re-search-forward (concat "\\bHEAD\\b[ \t\n]*\\(\\(.\\|\n\\)*\\)[ \t\n]*" + "\\bBODY\\b[ \t\n]*\\(\\(.\\|\n\\)*\\)[ \t\n]*" + "\\bTABLE\\b\\(.\\|\n\\)*PREFORMAT[ \t\n]+\\(ON\\|OFF\\)\\b") nil t) + (setq head (match-string 1) + body (match-string 3) + preformat (string= (downcase (match-string 6)) "on")) + (setq head (sqlplus-refine-html head t) + body (sqlplus-refine-html body t)) + (let ((context-options (list (cons :result-function 'sqlplus-show-html-fun) + (cons :current-command-input-buffer-name (sqlplus-get-context-value context :current-command-input-buffer-name)) + (cons :html-command (sqlplus-get-context-value context :html-command)) + (cons :htmlized-html-command (sqlplus-get-context-value context :htmlized-html-command)) + (cons :head head) + (cons :body body))) + (prolog-commands (list "set wrap on" + (format "set linesize %S" (if preformat (1- (frame-width)) 4000)) + "set pagesize 50000" + "btitle off" + "repfooter off" + "set markup html on"))) + (sqlplus-execute connect-string (sqlplus-get-context-value context :html-command) context-options prolog-commands 'no-echo 'dont-show-output-buffer))))) + +(defun sqlplus-htmlize (begin end) + (let (result) + (when (featurep 'htmlize) + (let* ((htmlize-output-type 'font) + (buffer (funcall (symbol-function 'htmlize-region) begin end))) + (with-current-buffer buffer + (goto-char 1) + (re-search-forward "

[ \t\n]*\\(\\(.\\|\n\\)*?\\)[ \t\n]*
" nil t) + (setq result (concat "
" (match-string 1) "
"))) + (kill-buffer buffer))) + (unless result + (setq result (sqlplus-refine-html (buffer-substring begin end) nil))) + result)) + +(defun sqlplus--send (connect-string sql &optional arg no-echo html start end) + (if html + (let* ((context-options (list (cons :result-function 'sqlplus-show-markup-fun) + (cons :current-command-input-buffer-name (buffer-name)) + (cons :html-command sql) + (cons :htmlized-html-command (if (and (eq sqlplus-html-output-sql 'elegant) (featurep 'htmlize)) + (sqlplus-htmlize start end) + (sqlplus-refine-html sql nil)))))) + (sqlplus-execute connect-string "show markup\n" context-options nil 'no-echo 'dont-show-output-buffer)) + (let* ((no-parse (consp arg)) + (context-options (list (cons :dont-parse-result (consp arg)) + (cons :columns-count (if (integerp arg) + (if (zerop arg) nil arg) + (if sqlplus-multi-output-tables-default-flag nil 1))) + (cons :current-command-input-buffer-name (buffer-name)))) + (prolog-commands (list (format "set wrap %s" (if no-parse "on" sqlplus-default-wrap)) + (format "set linesize %s" (if (consp arg) (1- (frame-width)) 4000)) + (format "set pagesize %S" (if no-parse 50000 sqlplus-pagesize)) + (format "btitle %s" + (if no-parse "off" (concat "left '" sqlplus-page-separator "'"))) + (format "repfooter %s" + (if no-parse "off" (concat "left '" sqlplus-repfooter "'")))))) + (sqlplus-execute connect-string sql context-options prolog-commands no-echo)))) + +(defun sqlplus-explain () + (interactive) + (sqlplus-check-connection) + (when (buffer-file-name) + (condition-case err + (save-buffer) + (error (message (error-message-string err))))) + (let* ((region (sqlplus-mark-current))) + (setq sqlplus-region-beginning-pos (car region) + sqlplus-region-end-pos (cdr region)) + (if (and sqlplus-region-beginning-pos sqlplus-region-end-pos) + (let ((sql (sqlplus-parse-region (car region) (cdr region))) + (case-fold-search t)) + (if (string-match "^[\n\t ]*explain[\n\t ]+plan[\t\t ]+for\\>" sql) + (sqlplus--send sqlplus-connect-string sql nil nil nil) + (setq sql (concat (sqlplus-fontify-string sqlplus-connect-string "explain plan for ") sql)) + (sqlplus--send sqlplus-connect-string sql nil nil nil))) + (error "Point doesn't indicate any command to execute")))) + +(defun sqlplus-send-region (arg start end &optional no-echo html) + "Send a region to the SQL*Plus process." + (interactive "P\nr") + (sqlplus-check-connection) + (sqlplus--send sqlplus-connect-string (sqlplus-parse-region start end) arg no-echo html start end)) + +(defun sqlplus-user-command (connect-string sql result-proc) + (let* ((context-options (list (cons :user-function result-proc) + (cons :columns-count 1))) + (prolog-commands (list (format "set wrap %s" sqlplus-default-wrap) + "set linesize 4000" + "set timing off" + "set pagesize 50000" + "btitle off" + (format "repfooter %s" (concat "left '" sqlplus-repfooter "'"))))) + (sqlplus-execute connect-string sql context-options prolog-commands 'no-echo 'dont-show-output-buffer))) + + +(defun sqlplus-hidden-select (connect-string sql result-proc) + (let* ((context-options (list (cons :result-table-function result-proc) + (cons :columns-count 1))) + (prolog-commands (list (format "set wrap %s" sqlplus-default-wrap) + "set linesize 4000" + "set pagesize 50000" + "btitle off" + (format "repfooter %s" (concat "left '" sqlplus-repfooter "'"))))) + (sqlplus-execute connect-string sql context-options prolog-commands 'no-echo 'dont-show-output-buffer))) + +;; "appi[nfo]" -> '("appinfo" "appi") +(defun sqlplus-full-forms (name) + (if (string-match "\\`\\([^[]*\\)?\\[\\([^]]+\\)\\]\\([^]]*\\)?\\'" name) + (list (replace-match "\\1\\2\\3" t nil name) + (replace-match "\\1\\3" t nil name)) + (list name))) + +(defun sqlplus-get-canonical-command-name (name) + (let ((association (assoc (downcase name) sqlplus-system-variables))) + (if association (cdr association) name))) + + +(defun sqlplus-execute (connect-string sql context-options prolog-commands &optional no-echo dont-show-output-buffer) + (sqlplus-verify-buffer connect-string) + (let* ((process-buffer-name (sqlplus-get-process-buffer-name connect-string)) + (process-buffer (get-buffer process-buffer-name)) + (output-buffer-name (sqlplus-get-output-buffer-name connect-string)) + (echo-prolog (concat "\n" sqlplus-output-separator " " (current-time-string) "\n\n")) + (process (get-buffer-process process-buffer-name)) + set-prolog-commands commands command-no + (history-buffer (sqlplus-get-history-buffer connect-string)) + (defines (sqlplus-define-user-variables sql))) + (setq prolog-commands (append (sqlplus-initial-strings) prolog-commands)) + (when process-buffer + (with-current-buffer process-buffer + (setq command-no sqlplus-command-seq) + (incf sqlplus-command-seq) + (setq context-options (append (list (cons :id command-no) (cons :sql sql)) (copy-list context-options))) + (setq sqlplus-command-contexts (reverse (cons context-options (reverse sqlplus-command-contexts)))))) + ;; move all "set" commands from prolog-commands to set-prolog-commands + (setq prolog-commands (delq nil (mapcar (lambda (command) (if (string-match "^\\s-*[sS][eE][tT]\\s-+" command) + (progn + (setq set-prolog-commands + (append set-prolog-commands + (list (substring command (length (match-string 0 command)))))) + nil) + command)) + prolog-commands))) + ;; remove duplicates commands from prolog-commands (last entries win) + (let (spc-alist) + (dolist (command prolog-commands) + (let* ((name (progn (string-match "^\\S-+" command) (downcase (match-string 0 command)))) + (association (assoc name spc-alist))) + (if (and association (not (equal name "define"))) + (setcdr association command) + (setq spc-alist (cons (cons name command) spc-alist))))) + (setq prolog-commands (mapcar (lambda (pair) (cdr pair)) (reverse spc-alist)))) + + (setq prolog-commands (append prolog-commands defines)) + (setq set-prolog-commands (append (list (format "sqlprompt '%s%S%s'" sqlplus-prompt-prefix command-no sqlplus-prompt-suffix)) set-prolog-commands)) + + ;; remove duplicates from set-prolog-commands (last entries win) + (let (spc-alist) + (dolist (set-command set-prolog-commands) + (let* ((name (progn (string-match "^\\S-+" set-command) (downcase (sqlplus-get-canonical-command-name (match-string 0 set-command))))) + (association (assoc name spc-alist))) + (if association + (setcdr association set-command) + (setq spc-alist (cons (cons name set-command) spc-alist))))) + (setq set-prolog-commands (mapcar (lambda (pair) (cdr pair)) (reverse spc-alist)))) + + (setq commands (concat (mapconcat 'identity (append + (list (concat "set " (mapconcat 'identity set-prolog-commands " "))) + prolog-commands + (list sql)) "\n") + "\n")) + (when history-buffer + (with-current-buffer history-buffer + (goto-char (point-max)) + (insert echo-prolog) + (insert (concat commands "\n")))) + (let ((saved-window (cons (selected-window) (window-buffer (selected-window)))) + (input-buffer (get-buffer (sqlplus-get-input-buffer-name connect-string)))) + (unless no-echo + (sqlplus-echo-in-buffer output-buffer-name echo-prolog) + (let ((old-suppress-show-output-buffer sqlplus-suppress-show-output-buffer)) + (unwind-protect + (save-selected-window + (setq sqlplus-suppress-show-output-buffer dont-show-output-buffer) + (when (and output-buffer-name + (get-buffer output-buffer-name)) + (with-current-buffer (get-buffer output-buffer-name) + (sqlplus-buffer-bottom connect-string) + (sqlplus-buffer-mark-current connect-string)))) + (setq sqlplus-suppress-show-output-buffer old-suppress-show-output-buffer))) + (sqlplus-echo-in-buffer output-buffer-name (concat sql "\n\n") nil t) + (save-selected-window + (unless dont-show-output-buffer + (when (and output-buffer-name + (get-buffer output-buffer-name)) + (with-current-buffer (get-buffer output-buffer-name) + (sqlplus-buffer-redisplay-current connect-string)))))) + (if (window-live-p (car saved-window)) + (select-window (car saved-window)) + (if (get-buffer-window (cdr saved-window)) + (select-window (get-buffer-window (cdr saved-window))) + (when (and input-buffer + (get-buffer-window input-buffer)) + (select-window (get-buffer-window input-buffer)))))) + (send-string process commands))) + +(defun sqlplus-fontify-string (connect-string string) + (let* ((input-buffer-name (sqlplus-get-input-buffer-name connect-string)) + (input-buffer (when input-buffer-name (get-buffer input-buffer-name))) + (result string)) + (when (and input-buffer (buffer-live-p input-buffer)) + (with-current-buffer input-buffer + (save-excursion + (goto-char (point-max)) + (let ((pos (point))) + (insert "\n\n") + (insert string) + (font-lock-fontify-block (+ (count "\n" string) 2)) + (setq result (buffer-substring (+ pos 2) (point-max))) + (delete-region pos (point-max)))))) + result)) + +(defvar plsql-mark-backward-list nil) + +(unless plsql-mode-map + (setq plsql-mode-map (copy-keymap sql-mode-map)) + (define-key plsql-mode-map "\M-." 'sqlplus-file-get-source) + (define-key plsql-mode-map [C-down-mouse-1] 'sqlplus-mouse-select-identifier) + (define-key plsql-mode-map [C-mouse-1] 'sqlplus-file-get-source-mouse) + (define-key plsql-mode-map "\C-c\C-g" 'plsql-begin) + (define-key plsql-mode-map "\C-c\C-q" 'plsql-loop) + (define-key plsql-mode-map "\C-c\C-z" 'plsql-if) + (define-key plsql-mode-map "\C-c\C-c" 'plsql-compile) + (define-key plsql-mode-map [tool-bar plsql-prev-mark] + (list 'menu-item "Previous mark" 'plsql-prev-mark + :image plsql-prev-mark-image + :enable 'plsql-mark-backward-list))) + +(defvar plsql-continue-anyway nil + "Local in input buffer (plsql-mode).") +(make-variable-buffer-local 'plsql-continue-anyway) + +(defun sqlplus-switch-to-buffer (buffer-or-path &optional line-no) + (if (fboundp 'ide-skel-select-buffer) + (funcall 'ide-skel-select-buffer buffer-or-path line-no) + (let ((buffer (or (and (bufferp buffer-or-path) buffer-or-path) + (find-file-noselect buffer-or-path)))) + (switch-to-buffer buffer) + (goto-line line-no)))) + +(defun plsql-prev-mark () + (interactive) + (let (finish) + (while (and plsql-mark-backward-list + (not finish)) + (let* ((marker (pop plsql-mark-backward-list)) + (buffer (marker-buffer marker)) + (point (marker-position marker))) + (set-marker marker nil) + (when (and buffer + (or (not (eq (current-buffer) buffer)) + (not (eql (point) point)))) + (sqlplus-switch-to-buffer buffer) + (goto-char point) + (setq finish t)))) + ;; (message "BACK: %S -- FORWARD: %S" plsql-mark-backward-list plsql-mark-forward-list) + (force-mode-line-update) + (sit-for 0))) + +(defun sqlplus-mouse-select-identifier (event) + (interactive "@e") + (with-selected-window (posn-window (event-start event)) + (save-excursion + (let* ((point (posn-point (event-start event))) + (identifier (progn (goto-char point) (thing-at-point 'symbol))) + (ident-regexp (when identifier (regexp-quote identifier)))) + (push (point-marker) plsql-mark-backward-list) + (when ident-regexp + (save-excursion + (while (not (looking-at ident-regexp)) + (backward-char)) + (sqlplus-mouse-set-selection (current-buffer) (point) (+ (point) (length identifier)) 'highlight))))))) + +(defun sqlplus-file-get-source-mouse (event) + (interactive "@e") + (let (ident) + (with-selected-window (posn-window (event-start event)) + (save-excursion + (goto-char (posn-point (event-start event))) + (setq ident (thing-at-point 'symbol)))) + (sqlplus-file-get-source sqlplus-connect-string ident nil) + (sit-for 0))) + +(defun plsql-compile (&optional arg) + "Save buffer and send its content to SQL*Plus. +You must enter connect-string if buffer is disconnected; with +argument you can change connect-string even for connected +buffer." + (interactive "P") + (let (aborted + exists-show-error-command + (case-fold-search t)) + (save-window-excursion + (save-excursion + ;; ask for "/" and "show err" if absent + (let ((old-point (point)) + show-err-needed + exists-run-command best-point finish) + (goto-char (point-min)) + (setq show-err-needed (let ((case-fold-search t)) + (re-search-forward "create\\([ \t\n]+or[ \t\n]+replace\\)?[ \t\n]+\\(package\\|procedure\\|function\\|trigger\\|view\\|type\\)" nil t))) + (goto-char (point-max)) + (forward-comment (- (buffer-size))) + (re-search-backward "^\\s-*show\\s-+err" nil t) + (forward-comment (- (buffer-size))) + (condition-case nil (forward-char) (error nil)) + (setq best-point (point)) + (goto-char (point-min)) + (setq exists-run-command (re-search-forward "^\\s-*/[^*]" nil t)) + (goto-char (point-min)) + (setq exists-show-error-command (or (not show-err-needed) (re-search-forward "^\\s-*show\\s-+err" nil t))) + (while (and (not plsql-continue-anyway) (or (not exists-run-command) (not exists-show-error-command)) (not finish)) + (goto-char best-point) + (let ((c (read-char + (format "Cannot find %s. (I)nsert it at point, (A)bort, (C)ontinue anyway" + (concat (unless exists-run-command "\"/\"") + (unless (or exists-run-command exists-show-error-command) " and ") + (unless exists-show-error-command "\"show err\"")))))) + (cond ((memq c '(?i ?I)) + (unless exists-run-command (insert "/\n")) + (unless exists-show-error-command (insert "show err\n")) + (setq finish t)) + ((memq c '(?a ?A)) + (setq aborted t + finish t)) + ((memq c '(?c ?C)) + (setq plsql-continue-anyway t) + (setq finish t)))))))) + (unless aborted + (save-buffer) + (let* ((buffer (current-buffer)) + (input-buffer-name (buffer-name)) + (file-path (sqlplus-file-truename (buffer-file-name))) + (compilation-buffer (get-buffer sqlplus-plsql-compilation-results-buffer-name)) + (context-options (list (cons :last-compiled-file-path file-path) + (cons :current-command-input-buffer-name input-buffer-name) + (cons :compilation-expected exists-show-error-command))) + (prolog-commands (list (format "set wrap %s" sqlplus-default-wrap) + "set linesize 4000" + (format "set pagesize %S" sqlplus-pagesize) + (format "btitle %s" (concat "left '" sqlplus-page-separator "'")) + (format "repfooter %s" (concat "left '" sqlplus-repfooter "'"))))) + (when (or (not sqlplus-connect-string) + arg) + (setq sqlplus-connect-string (car (sqlplus-read-connect-string nil (caar (sqlplus-divide-connect-strings)))))) + (sqlplus sqlplus-connect-string nil (when plsql-auto-parse-errors-flag 'dont-show-output-buffer)) + (set-buffer buffer) + (force-mode-line-update) + (when font-lock-mode (font-lock-mode 1)) + (when compilation-buffer + (with-current-buffer compilation-buffer + (let ((inhibit-read-only t)) + (erase-buffer)))) + (setq prolog-commands (append prolog-commands (sqlplus-define-user-variables (buffer-string)))) + (sqlplus-execute sqlplus-connect-string (concat "@" file-path) context-options prolog-commands nil exists-show-error-command))))) + +(defun plsql-parse-errors (last-compiled-file-path) + (let ((file-name (file-name-nondirectory last-compiled-file-path)) + error-list) + (put-text-property 0 (length file-name) 'face 'font-lock-warning-face file-name) + (save-excursion + (when (re-search-forward "^LINE/COL\\>" nil t) + (beginning-of-line 3) + (while (re-search-forward "^\\([0-9]+\\)/\\([0-9]+\\)\\s-*\\(\\(.\\|\n\\)*?\\)[\r\t ]*\n\\([\r\t ]*\\(\n\\|\\'\\)\\|[0-9]+\\)" nil t) + (let ((line-no (match-string 1)) + (column-no (match-string 2)) + (errmsg (match-string 3)) + label) + (goto-char (match-beginning 5)) + (while (string-match "\\s-\\s-+" errmsg) + (setq errmsg (replace-match " " nil t errmsg))) + (put-text-property 0 (length line-no) 'face 'font-lock-variable-name-face line-no) + (put-text-property 0 (length column-no) 'face 'font-lock-variable-name-face column-no) + (setq label (concat file-name ":" line-no ":" column-no ": " errmsg)) + (put-text-property 0 (length label) 'mouse-face 'highlight label) + (push label error-list))))) + (save-excursion + (while (re-search-forward "\\s-\\([0-9]+\\):\n\\(ORA-[0-9]+[^\n]*\\)\n" nil t) + (let ((line-no (match-string 1)) + (errmsg (match-string 2)) + label) + (put-text-property 0 (length line-no) 'face 'font-lock-variable-name-face line-no) + (setq label (concat file-name ":" line-no ": " errmsg)) + (put-text-property 0 (length label) 'mouse-face 'highlight label) + (push label error-list)))) + (save-excursion + (while (re-search-forward "\\(\\(SP2\\|CPY\\)-[0-9]+:[^\n]*\\)\n" nil t) + (let ((errmsg (match-string 1)) + label) + (setq label (concat file-name ":" errmsg)) + (put-text-property 0 (length label) 'mouse-face 'highlight label) + (push label error-list)))) + error-list)) + +(defun plsql-display-errors (dir error-list) + (let ((buffer (get-buffer-create sqlplus-plsql-compilation-results-buffer-name))) + (save-selected-window + (save-excursion + (set-buffer buffer) + (let ((inhibit-read-only t)) + (erase-buffer) + (setq default-directory dir) + (insert (format "cd %s\n" default-directory)) + (insert (format "Compilation results\n")) + (compilation-minor-mode 1) + (dolist (msg (reverse error-list)) + (insert msg) + (insert "\n")) + (insert (format "\n(%s errors)\n" (length error-list)))) + (when (and error-list (fboundp 'compile-reinitialize-errors) (funcall (symbol-function 'compile-reinitialize-errors) t))) + (switch-to-buffer-other-window buffer) + (goto-line 1) + (goto-line 3))))) + + +(defun sqlplus-file-truename (file-name) + (if file-name + (file-truename file-name) + file-name)) + +(defun sqlplus--hidden-buffer-name-p (buffer-name) + (equal (elt buffer-name 0) 32)) + +(defun sqlplus-get-workbench-window () + "Return upper left window" + (if (fboundp 'ide-get-workbench-window) + (funcall (symbol-function 'ide-get-workbench-window)) + (let (best-window) + (dolist (win (copy-list (window-list nil 1))) + (when (not (sqlplus--hidden-buffer-name-p (buffer-name (window-buffer win)))) + (if (null best-window) + (setq best-window win) + (let* ((best-window-coords (window-edges best-window)) + (win-coords (window-edges win))) + (when (or (< (cadr win-coords) (cadr best-window-coords)) + (and (= (cadr win-coords) (cadr best-window-coords)) + (< (car win-coords) (car best-window-coords)))) + (setq best-window win)))))) + ;; (message "BEST-WINDOW: %S" best-window) + best-window))) + +(defun sqlplus-get-side-window () + "Return bottom helper window, or nil if not found" + (if (fboundp 'ide-get-side-window) + (funcall (symbol-function 'ide-get-side-window)) + (let* ((workbench-window (sqlplus-get-workbench-window)) + best-window) + (dolist (win (copy-list (window-list nil 1))) + (when (and (not (sqlplus--hidden-buffer-name-p (buffer-name (window-buffer win)))) + (not (eq win workbench-window))) + (if (null best-window) + (setq best-window win) + (when (> (cadr (window-edges win)) (cadr (window-edges best-window))) + (setq best-window win))))) + best-window))) + +(defvar sqlplus--idle-tasks nil) + +(defun sqlplus--enqueue-task (fun &rest params) + (setq sqlplus--idle-tasks (reverse (cons (cons fun params) (reverse sqlplus--idle-tasks))))) + +(defun sqlplus--execute-tasks () + (dolist (task sqlplus--idle-tasks) + (let ((fun (car task)) + (params (cdr task))) + (condition-case var + (apply fun params) + (error (message (error-message-string var)))))) + (setq sqlplus--idle-tasks nil)) + +(add-hook 'post-command-hook 'sqlplus--execute-tasks) + +(defvar sqlplus-mouse-selection nil) + +(defun sqlplus-mouse-set-selection (buffer begin end mouse-face) + (interactive "@e") + (let ((old-buffer-modified-p (buffer-modified-p))) + (when (buffer-live-p buffer) + (with-current-buffer buffer + (unwind-protect + (put-text-property begin end 'mouse-face mouse-face) + (set-buffer-modified-p old-buffer-modified-p) + (setq sqlplus-mouse-selection (when mouse-face (list buffer begin end)))))))) + +(defun sqlplus-clear-mouse-selection () + (when (and sqlplus-mouse-selection + (eq (event-basic-type last-input-event) 'mouse-1) + (not (memq 'down (event-modifiers last-input-event)))) + (sqlplus-mouse-set-selection (car sqlplus-mouse-selection) (cadr sqlplus-mouse-selection) (caddr sqlplus-mouse-selection) nil))) + +(add-hook 'plsql-mode-hook + (lambda () + (modify-syntax-entry ?. "." sql-mode-syntax-table) + (setq sqlplus-font-lock-keywords-1 (sqlplus-set-font-lock-emacs-structures-for-level 1 major-mode)) + (setq sqlplus-font-lock-keywords-2 (sqlplus-set-font-lock-emacs-structures-for-level 2 major-mode)) + (setq sqlplus-font-lock-keywords-3 (sqlplus-set-font-lock-emacs-structures-for-level 3 major-mode)) + (setq font-lock-defaults '((sqlplus-font-lock-keywords-1 sqlplus-font-lock-keywords-2 sqlplus-font-lock-keywords-3) + nil t ((?_ . "w") (?$ . "w") (?# . "w") (?& . "w")))) + (orcl-mode 1) + (use-local-map plsql-mode-map) ; std + (add-hook 'post-command-hook 'sqlplus-clear-mouse-selection nil t))) + +(setq recentf-exclude (cons (concat "^" (regexp-quote (file-name-as-directory temporary-file-directory))) + (when (boundp 'recentf-exclude) + recentf-exclude))) + +(when (fboundp 'ide-register-persistent-var) + (funcall (symbol-function 'ide-register-persistent-var) 'sqlplus-connect-strings-alist + ;; save proc + (lambda (alist) + (mapcar (lambda (pair) + (if sqlplus-save-passwords + pair + (cons (car pair) nil))) + alist)) + ;; load proc + (lambda (alist) + (setq sqlplus-connect-string-history (mapcar (lambda (pair) (car pair)) alist)) + alist))) + +(defun get-all-dirs (root-dir) + (let ((list-to-see (list root-dir)) + result-list) + (while list-to-see + (let* ((dir (pop list-to-see)) + (children (directory-files dir t))) + (push dir result-list) + (dolist (child children) + (when (and (not (string-match "^[.]+"(file-name-nondirectory child))) + (file-directory-p child)) + (push child list-to-see))))) + result-list)) + +(defun sqlplus-command-line () + (interactive) + (if (comint-check-proc "*SQL*") + (pop-to-buffer "*SQL*") + (let* ((pair (sqlplus-read-connect-string nil (when sqlplus-connect-string (car (refine-connect-string sqlplus-connect-string))))) + (qualified-cs (car pair)) + (refined-cs (cadr pair)) + (password (cdr (refine-connect-string qualified-cs)))) + (if (string-match "^\\([^@]*\\)@\\(.*\\)$" refined-cs) + (let ((old-sql-get-login-fun (symbol-function 'sql-get-login))) + (setq sql-user (match-string 1 refined-cs) + sql-password password + sql-database (match-string 2 refined-cs)) + (unwind-protect + (progn + (fset 'sql-get-login (lambda (&rest whatever) nil)) + (sql-oracle)) + (fset 'sql-get-login old-sql-get-login-fun))) + (error "Connect string must be in form login@sid"))))) + +(defun sqlplus-find-tnsnames () + (interactive) + (let* ((ora-home-dir (or (getenv "ORACLE_HOME") (error "Environment variable ORACLE_HOME not set"))) + found + (list-to-see (list ora-home-dir))) + (while (and (not found) list-to-see) + (let* ((dir (pop list-to-see)) + (children (condition-case nil (directory-files dir t) (error nil)))) + (dolist (child children) + (unless found + (if (string-match "admin.tnsnames\.ora$" child) + (progn + (setq found t) + (find-file child)) + (if (and (not (string-match "^[.]+" (file-name-nondirectory child))) + (file-directory-p child)) + (push child list-to-see))))))) + (unless found + (message "File tnsnames.ora not found")))) + +(defun sqlplus-remove-help-echo (list) + "Remove all HELP-ECHO properties from mode-line format value" + (when (listp list) + (if (eq (car list) :propertize) + (while list + (when (eq (cadr list) 'help-echo) + (setcdr list (cdddr list))) + (setq list (cdr list))) + (dolist (elem list) (sqlplus-remove-help-echo elem))))) + +(when (>= emacs-major-version 22) + (sqlplus-remove-help-echo mode-line-modes)) + +(defun sqlplus-get-project-root-dir (path) + (let ((path (file-truename (substitute-in-file-name path))) + dir) + (if (file-directory-p path) + (progn + (setq path (file-name-as-directory path)) + (setq dir path)) + (setq dir (file-name-as-directory (file-name-directory path)))) + (let ((last-project-dir dir) + (dir-list (split-string dir "/")) + is-project) + (while (directory-files dir t (concat "^" "\\(\\.svn\\|CVS\\)$") t) + (setq is-project t + last-project-dir (file-name-as-directory dir) + dir (file-name-as-directory (file-name-directory (directory-file-name dir))))) + (when is-project + (let ((list (nthcdr (1- (length (split-string last-project-dir "/"))) dir-list))) + (cond ((equal (car list) "trunk") + (setq last-project-dir (concat last-project-dir "trunk/"))) + ((member (car list) '("branches" "tags")) + (setq last-project-dir (concat last-project-dir (car list) "/" (when (cdr list) (concat (cadr list) "/"))))) + (t))) + (setq dir last-project-dir))) + dir)) + +(defvar sqlplus-search-buffer-name "*search*") + +(defvar sqlplus-object-types-regexps + '( + ("TABLE" . "\\bcreate\\s+table\\s+[^(]*?\\b#\\b") + ("VIEW" . "\\bview\\s+.*?\\b#\\b") + ("INDEX" . "\\b(constraint|index)\\s+.*?\\b#\\b") + ("TRIGGER" . "\\btrigger\\s+.*?\\b#\\b") + ("SEQUENCE" . "\\bsequence\\s+.*?\\b#\\b") + ("SYNONYM" . "\\bsynonym\\s+.*?\\b#\\b") + ("SCHEMA" . "\\bcreate\\b.*?\\buser\\b.*?\\b#\\b") + ("PROCEDURE" . "\\b(procedure|function)\\b[^(]*?\\b#\\b") + ("PACKAGE" . "\\bpackage\\s+.*?\\b#\\b"))) + +(defvar sqlplus-root-dir-history nil) + +(defvar sqlplus-compare-report-buffer-name "*Comparation Report*") + +(defun sqlplus-compare-schema-to-filesystem (&optional arg) + (interactive "P") + (let* ((connect-string sqlplus-connect-string) + (objects-alist (sqlplus-get-objects-alist sqlplus-connect-string)) + (report-buffer (get-buffer-create sqlplus-compare-report-buffer-name)) + (types-length (- (length objects-alist) 2)) + (root-dir (or (sqlplus-get-root-dir connect-string) + (sqlplus-set-project-for-connect-string connect-string) + (error "Root dir not set"))) + (counter 0)) + (unless objects-alist + (error "Not ready yet - try again later")) + (save-excursion + (switch-to-buffer-other-window report-buffer)) + (with-current-buffer report-buffer + (let ((inhibit-read-only t)) + (erase-buffer) + (insert (format "%s %s vs. %s\n\n" (current-time-string) (car (refine-connect-string connect-string)) root-dir)) + (sit-for 0))) + (dolist (pair objects-alist) + (let ((type (upcase (format "%s" (car pair)))) + (names (cdr pair))) + (unless (member type '("SCHEMA" "COLUMN")) + (incf counter) + (message (format "%s (%d/%d)..." type counter types-length)) + (dolist (name-pair names) + (let* ((name (car name-pair)) + (grep-result (sqlplus-file-get-source sqlplus-connect-string name type 'batch-mode))) + (with-current-buffer report-buffer + (let ((inhibit-read-only t)) + (goto-char (point-max)) + (cond ((eql (length grep-result) 0) + (insert (format "%s %s: not found\n" type name)) + (sit-for 0)) + ((and arg + (> (length grep-result) 1)) + (insert (format "%s %s:\n" type name)) + (dolist (list grep-result) + (insert (format " %s:%d %s\n" (car list) (cadr list) (caddr list)))) + (sit-for 0)) + (t))))))))) + (message "Done.") + (with-current-buffer report-buffer + (goto-char (point-min))))) + +(defun sqlplus-proj-find-files (dir file-predicate &optional dir-predicate) + (setq dir (file-name-as-directory (file-truename (substitute-in-file-name dir)))) + (let (result-list) + (mapcar (lambda (path) + (if (file-directory-p path) + (when (and (file-accessible-directory-p path) + (or (null dir-predicate) + (funcall dir-predicate path))) + (setq result-list (append result-list (sqlplus-proj-find-files path file-predicate dir-predicate)))) + (when (or (null file-predicate) + (funcall file-predicate path)) + (push path result-list)))) + (delete (concat (file-name-as-directory dir) ".") + (delete (concat (file-name-as-directory dir) "..") + (directory-files dir t nil t)))) + result-list)) + +(defvar sqlplus-proj-ignored-extensions '("semantic.cache")) + +(defun sqlplus-mode-file-regexp-list (mode-symbol-list) + (delq nil (mapcar (lambda (element) + (let ((fun-name (if (listp (cdr element)) (cadr element) (cdr element)))) + (when (memq fun-name mode-symbol-list) (cons (car element) fun-name)))) + auto-mode-alist))) + +(defun sqlplus-find-project-files (root-dir mode-symbol-list predicate) + (let ((obj-file-regexp-list (delq nil (mapcar (lambda (element) + (let ((len (length element))) + (unless (and (> len 0) + (equal (elt element (1- len)) ?/)) + (concat (regexp-quote element) "$")))) + (append sqlplus-proj-ignored-extensions completion-ignored-extensions)))) + (mode-file-regexp-list (sqlplus-mode-file-regexp-list mode-symbol-list))) ; (file-path-regexp . major-mode-function-symbol) + (when (and mode-symbol-list + (not mode-file-regexp-list)) + (error (format "No rules for %s major modes in auto-mode-alist." (mapconcat 'identity mode-symbol-list ", ")))) + (sqlplus-proj-find-files root-dir + (lambda (file-name) + (and (not (string-match "#" file-name)) + (not (string-match "semantic.cache" file-name)) + (or (and (not mode-symbol-list) + (not (some (lambda (regexp) + (string-match regexp file-name)) + obj-file-regexp-list))) + (and mode-symbol-list + (some (lambda (element) + (let ((freg (if (string-match "[$]" (car element)) + (car element) + (concat (car element) "$")))) + (when (string-match freg file-name) + (cdr element)))) + mode-file-regexp-list))) + (or (not predicate) + (funcall predicate file-name)))) + (lambda (dir-path) + (not (string-match "/\\(\\.svn\\|CVS\\)$" dir-path)))))) + + +(defun sqlplus-file-get-source (connect-string object-name object-type &optional batch-mode) + (interactive + (progn + (push (point-marker) plsql-mark-backward-list) + (list sqlplus-connect-string (thing-at-point 'symbol) nil))) + (unless object-name + (error "Nothing to search")) + (let* ((root-dir (or (and (not object-type) + (eq major-mode 'plsql-mode) + (buffer-file-name) + (sqlplus-get-project-root-dir (buffer-file-name))) + (sqlplus-get-root-dir connect-string) + (sqlplus-set-project-for-connect-string connect-string) + (error "Root dir not set"))) + (mode-symbol-list '(plsql-mode sql-mode)) + (files-to-grep (sqlplus-find-project-files root-dir mode-symbol-list nil)) + (temp-file-path (concat (file-name-as-directory temporary-file-directory) (make-temp-name "ide-"))) + (search-buffer (get-buffer sqlplus-search-buffer-name)) + (regexp (let ((index 0) + (len (length object-name)) + result) + (setq result + (if object-type + (let ((type (cond ((equal object-type "FUNCTION") "PROCEDURE") + ((equal object-type "PACKAGE BODY") "PACKAGE") + (t object-type)))) + (cdr (assoc type sqlplus-object-types-regexps))) + (mapconcat 'cdr sqlplus-object-types-regexps "|"))) + (unless result + (error "Not implemented")) + (while (and (< index (length result)) + (string-match "#" result index)) + (setq index (+ (match-beginning 0) len)) + (setq result (replace-match object-name t t result))) + (setq index 0) + (while (and (< index (length result)) + (string-match "[$]\\(\\\\b\\)?" result index)) + (setq index (+ (match-end 0) 1)) + (setq result (replace-match "\\$" t t result))) + result)) + grep-command + grep-result) + (when search-buffer + (with-current-buffer search-buffer + (let ((inhibit-read-only t)) + (erase-buffer)))) + ;; (message "Object type: %S, object name: %S, regexp: %S" object-type object-name regexp) + (with-temp-file temp-file-path + (dolist (path files-to-grep) + (insert (concat "'" path "'\n")))) + (let* ((grep-command (format "cat %s | xargs grep -nHiE -e '%s'" temp-file-path regexp)) + (raw-grep-result (split-string (shell-command-to-string grep-command) "\n" t)) + (grep-result (delq nil (mapcar (lambda (line) + (string-match "^\\(.*?\\):\\([0-9]+\\):\\(.*\\)$" line) + (let* ((path (match-string 1 line)) + (line-no (string-to-number (match-string 2 line))) + (text (match-string 3 line)) + (text2 text) + (syn-table (copy-syntax-table)) + (case-fold-search t)) + (modify-syntax-entry ?$ "w" syn-table) + (modify-syntax-entry ?# "w" syn-table) + (modify-syntax-entry ?_ "w" syn-table) + (with-syntax-table syn-table + (when (and (or (and (not object-type) + (> (length raw-grep-result) 1)) + (equal object-type "SYNONYM")) + (string-match "\\<\\(for\\|from\\|on\\|as\\)\\>" text2)) + (setq text2 (substring text2 0 (match-beginning 0)))) + ;; (message "GREP-RESULT: %s" text2) + (unless (or (not (string-match (concat "\\<" (regexp-quote object-name) "\\>") text2)) + (string-match (concat "\\(--\\|\\\\|\\\\|\\\\|\\\\).*\\<" + (regexp-quote object-name) "\\>") text2) + (and (or (and (not object-type) + (> (length raw-grep-result) 1)) + (equal object-type "TRIGGER")) + (string-match "\\<\\(alter\\|disable\\|enable\\)\\>" text2)) + (and (or (and (not object-type) + (string-match "\\" text2) + current-prefix-arg) + (equal object-type "PACKAGE")) + (string-match "\\" text2)) + (and (or (and (not object-type) + (string-match "\\" text2) + (not current-prefix-arg)) + (equal object-type "PACKAGE BODY")) + (not (string-match "\\" text2))) + (and (not object-type) + (not current-prefix-arg) + (string-match "[.]pks$" path))) + (list path line-no text))))) + raw-grep-result)))) + (if batch-mode + grep-result + (cond ((not grep-result) + (error "Not found")) + ((eql (length grep-result) 1) + (sqlplus-switch-to-buffer (caar grep-result) (cadar grep-result)) + (when connect-string + (setq sqlplus-connect-string connect-string))) + (t + (let ((search-buffer (get-buffer-create sqlplus-search-buffer-name))) + (with-current-buffer search-buffer + (setq buffer-read-only t) + (let ((inhibit-read-only t)) + (setq default-directory root-dir) + (erase-buffer) + (insert "Root dir: ") + (sqlplus-proj-insert-with-face root-dir 'font-lock-keyword-face) + (insert "; Range: ") + (sqlplus-proj-insert-with-face (mapconcat (lambda (sym) (sqlplus-mode-name-stringify sym)) mode-symbol-list ", ") + 'font-lock-keyword-face) + (insert "; Object type: ") + (sqlplus-proj-insert-with-face (or object-type "unspecified") 'font-lock-keyword-face) + (insert "; Object name: ") + (sqlplus-proj-insert-with-face object-name 'font-lock-keyword-face) + (insert "\n\n") + (compilation-minor-mode 1) + (dolist (result grep-result) + (let ((relative-path (concat "./" (file-relative-name (car result) root-dir))) + (line-no (cadr result)) + (text (caddr result))) + (put-text-property 0 (length relative-path) 'mouse-face 'highlight relative-path) + (insert relative-path) + (insert (format ":%S:1 %s\n" line-no text)))) + (insert (format "\n%d matches found." (length grep-result))) + (goto-char (point-min)) + (when (and grep-result (fboundp 'compile-reinitialize-errors) (funcall (symbol-function 'compile-reinitialize-errors) t))) + (switch-to-buffer-other-window search-buffer) + (goto-line 1) + (goto-line 3)))))))))) + +(defun sqlplus-mode-name-stringify (mode-name) + (let ((name (format "%s" mode-name))) + (replace-regexp-in-string "-" " " + (capitalize + (if (string-match "^\\(.*\\)-mode" name) + (match-string 1 name) + name))))) + +(defun sqlplus-proj-insert-with-face (string face) + (let ((point (point))) + (insert string) + (let ((overlay (make-overlay point (point)))) + (overlay-put overlay 'face face)))) + +(defun sqlplus-set-project-for-connect-string (connect-string) + (if (featurep 'ide-skel) + ;; Prepare sqlplus-root-dir-history (file-name-history) for user convenience + ;; 0. previous project root + ;; 1. current editor file project root + ;; 2. previous choices + ;; 3. new project roots + (let* ((prev-proj-root-dir (sqlplus-get-root-dir connect-string)) + (last-sel-window (funcall 'ide-skel-get-last-selected-window)) + (editor-file-proj-root-dir (when last-sel-window + (let* ((buffer (window-buffer last-sel-window)) + (path (and buffer (buffer-file-name buffer))) + (project (and path (car (funcall 'ide-skel-proj-get-project-create path))))) + (when (funcall 'ide-skel-project-p project) + (funcall 'ide-skel-project-root-path project)))))) + (setq sqlplus-root-dir-history + (delete-dups + (delq nil + (mapcar (lambda (dir) + (when dir + (directory-file-name (file-truename (substitute-in-file-name dir))))) + (append + (list editor-file-proj-root-dir prev-proj-root-dir) + sqlplus-root-dir-history + (mapcar (lambda (project) (funcall 'ide-skel-project-root-path project)) + (symbol-value 'ide-skel-projects))))))) + (let* ((file-name-history (cdr sqlplus-root-dir-history)) + (use-file-dialog nil) + (dir (directory-file-name (file-truename (substitute-in-file-name + (read-directory-name (format "Root dir for %s: " (car (refine-connect-string connect-string))) + (car sqlplus-root-dir-history) + (car sqlplus-root-dir-history) + t + nil)))))) + (funcall 'ide-skel-proj-get-project-create dir) + (sqlplus-set-root-dir dir connect-string) + (message (format "Root dir for %s set to %s" (car (refine-connect-string connect-string)) dir)) + dir)) + (let* ((use-file-dialog nil) + (dir (directory-file-name (file-truename (substitute-in-file-name + (read-directory-name (format "Root dir for %s: " (car (refine-connect-string connect-string))) + nil nil t nil)))))) + (sqlplus-set-root-dir dir connect-string) + (message (format "Root dir for %s set to %s" (car (refine-connect-string connect-string)) dir)) + dir))) + +;;; Plugin for ide-skel.el + +(defstruct sqlplus-tab + id + name ; tab name + symbol ; view/sequence/schema/trigger/index/table/package/synonym/procedure + help-string + (display-start 1) ; display-start in side view window + (data nil) ; '(("name" . status)...), where status t means 'invalid' + draw-function ; parameters: sqlplus-tab + click-function ; parameters: event "@e" + (errors-count 0) + (refresh-in-progress t) + update-select) + +(defvar sqlplus-side-view-connect-string nil) +(make-variable-buffer-local 'sqlplus-side-view-connect-string) + +(defvar sqlplus-side-view-active-tab nil) +(make-variable-buffer-local 'sqlplus-side-view-active-tab) + +(defvar sqlplus-side-view-tabset nil) +(make-variable-buffer-local 'sqlplus-side-view-tabset) + +(defface sqlplus-side-view-face '((t :inherit variable-pitch :height 0.8)) + "Default face used in right view" + :group 'sqlplus) + +(defvar sqlplus-side-view-keymap nil) +(unless sqlplus-side-view-keymap + (setq sqlplus-side-view-keymap (make-sparse-keymap)) + (define-key sqlplus-side-view-keymap [mode-line down-mouse-1] 'ignore) + (define-key sqlplus-side-view-keymap [mode-line mouse-1] 'sqlplus-side-view-tab-click)) + +(defun sqlplus-side-view-tab-click (event) + (interactive "@e") + (with-selected-window (posn-window (event-start event)) + (let* ((previous-sel-tab-info (nth sqlplus-side-view-active-tab sqlplus-side-view-tabset)) + (target (posn-string (event-start event))) + (tab-info (get-text-property (cdr target) 'tab-info (car target)))) + (setf (sqlplus-tab-display-start previous-sel-tab-info) (line-number-at-pos (window-start))) + (setq sqlplus-side-view-active-tab (sqlplus-tab-id tab-info)) + (sqlplus-side-view-redraw (current-buffer) t) + (sqlplus-side-view-buffer-mode-line)))) + +(defun sqlplus-side-view-buffer-mode-line () + (let* ((separator (propertize " " + 'face 'header-line + 'display '(space :width 0.2) + 'pointer 'arrow))) + (setq mode-line-format + (concat separator + (mapconcat (lambda (tab) + (let ((face (if (eq (sqlplus-tab-id tab) sqlplus-side-view-active-tab) + 'tabbar-selected + 'tabbar-unselected)) + (help-echo (concat (sqlplus-tab-help-string tab) + (if (> (sqlplus-tab-errors-count tab) 0) + (format "\n(%s error%s)" (sqlplus-tab-errors-count tab) + (if (> (sqlplus-tab-errors-count tab) 1) "s" "")) + "")))) + (propertize (format " %s " (sqlplus-tab-name tab)) + 'local-map sqlplus-side-view-keymap + 'tab-info tab + 'help-echo help-echo + 'mouse-face 'tabbar-highlight + 'face (if (> (sqlplus-tab-errors-count tab) 0) + (list '(foreground-color . "red") face) + face) + 'pointer 'hand))) + sqlplus-side-view-tabset + separator) + separator)))) + +(defun sqlplus-side-view-click-on-default-handler (event) + (interactive "@e") + (with-selected-window (posn-window (event-start event)) + (let* ((posn-point (posn-point (event-start event))) + (object-name (get-text-property posn-point 'object-name)) + (object-type (get-text-property posn-point 'object-type)) + (type (car event))) + (when (eq type 'mouse-3) + (setq type (car (x-popup-menu t (append (list 'keymap object-name) + (list '(sqlplus-refresh-side-view-buffer "Refresh" t)) + (list '(mouse-1 "Get source from Oracle" t)) + (list '(M-mouse-1 "Search source in filesystem" t)) + (list (list 'C-M-mouse-1 (concat "Set root dir for " (car (refine-connect-string sqlplus-side-view-connect-string))) t)) + ))))) + (cond ((eq type 'mouse-1) + (sqlplus-get-source sqlplus-side-view-connect-string object-name object-type)) + ((eq type 'M-mouse-1) + (sqlplus-file-get-source sqlplus-side-view-connect-string object-name object-type)) + ((eq type 'C-M-mouse-1) + (sqlplus-set-project-for-connect-string sqlplus-side-view-connect-string)) + ((eq type nil)) + (t + (condition-case err + (funcall type) + (error nil))))))) + +(defun sqlplus-side-view-click-on-index-handler (event) + (interactive "@e") + (with-selected-window (posn-window (event-start event)) + (let* ((posn-point (posn-point (event-start event))) + (object-name (get-text-property posn-point 'object-name)) + (object-type (get-text-property posn-point 'object-type)) + (type (car event))) + (when (eq type 'mouse-3) + (setq type (car (x-popup-menu t (append (list 'keymap object-name) + (list '(sqlplus-refresh-side-view-buffer "Refresh" t)) + (list '(mouse-1 "Get source from Oracle" t)) + (list '(M-mouse-1 "Search source in filesystem" t)) + (list (list 'C-M-mouse-1 (concat "Set root dir for " (car (refine-connect-string sqlplus-side-view-connect-string))) t)) + ))))) + (cond ((eq type 'mouse-1) + (sqlplus-get-source sqlplus-side-view-connect-string object-name object-type)) + ((eq type 'M-mouse-1) + (sqlplus-file-get-source sqlplus-side-view-connect-string object-name object-type)) + ((eq type 'C-M-mouse-1) + (sqlplus-set-project-for-connect-string sqlplus-side-view-connect-string)) + ((eq type nil)) + (t + (condition-case err + (funcall type) + (error nil))))))) + +(defun sqlplus-side-view-click-on-schema-handler (event) + (interactive "@e") + (with-selected-window (posn-window (event-start event)) + (let* ((posn-point (posn-point (event-start event))) + (object-name (get-text-property posn-point 'object-name)) + (object-type (get-text-property posn-point 'object-type)) + (last-selected-win (funcall 'ide-skel-get-last-selected-window)) + (type (car event))) + (when (eq type 'mouse-3) + (setq type (car (x-popup-menu t (append (list 'keymap object-name) + (list '(sqlplus-refresh-side-view-buffer "Refresh" t)) + (list '(mouse-1 "Connect to schema" t)) + (list '(M-mouse-1 "Search source in filesystem" t)) + (list (list 'C-M-mouse-1 (concat "Set root dir for " (car (refine-connect-string sqlplus-side-view-connect-string))) t)) + ))))) + (cond ((eq type 'mouse-1) + (when (string-match "@.*$" sqlplus-side-view-connect-string) + (let* ((cs (downcase (concat object-name (match-string 0 sqlplus-side-view-connect-string)))) + (pair (sqlplus-read-connect-string cs cs))) + (select-window (or last-selected-win (funcall 'ide-skel-get-editor-window))) + (sqlplus (car pair) (concat (cadr pair) (concat "." sqlplus-session-file-extension)))))) + ((eq type 'M-mouse-1) + (sqlplus-file-get-source sqlplus-side-view-connect-string object-name object-type)) + ((eq type 'C-M-mouse-1) + (sqlplus-set-project-for-connect-string sqlplus-side-view-connect-string)) + ((eq type nil)) + (t + (condition-case err + (funcall type) + (error nil)))) + (select-window (funcall 'ide-skel-get-last-selected-window))))) + +(defun sqlplus-side-view-click-on-table-handler (event) + (interactive "@e") + (with-selected-window (posn-window (event-start event)) + (let* ((posn-point (posn-point (event-start event))) + (object-name (get-text-property posn-point 'object-name)) + (object-type (get-text-property posn-point 'object-type)) + (type (car event))) + (when (eq type 'mouse-3) + (setq type (car (x-popup-menu t (append (list 'keymap object-name) + (list '(sqlplus-refresh-side-view-buffer "Refresh" t)) + (list '(mouse-1 "Show description" t)) + (list '(C-mouse-1 "Select *" t)) + (list '(S-mouse-1 "Get source from Oracle" t)) + (list '(M-mouse-1 "Search source in filesystem" t)) + (list (list 'C-M-mouse-1 (concat "Set root dir for " (car (refine-connect-string sqlplus-side-view-connect-string))) t)) + ))))) + (cond ((eq type 'mouse-1) + (sqlplus-execute sqlplus-side-view-connect-string + (sqlplus-fontify-string sqlplus-side-view-connect-string (format "desc %s;" object-name)) + nil nil)) + ((eq type 'C-mouse-1) + (sqlplus-execute sqlplus-side-view-connect-string + (sqlplus-fontify-string sqlplus-side-view-connect-string (format "select * from %s;" object-name)) + nil nil)) + ((eq type 'S-mouse-1) + (sqlplus-get-source sqlplus-side-view-connect-string object-name object-type)) + ((eq type 'M-mouse-1) + (sqlplus-file-get-source sqlplus-side-view-connect-string object-name object-type)) + ((eq type 'C-M-mouse-1) + (sqlplus-set-project-for-connect-string sqlplus-side-view-connect-string)) + ((eq type nil)) + (t + (condition-case err + (funcall type) + (error nil)))) + (select-window (funcall 'ide-skel-get-last-selected-window))))) + +(defun sqlplus-side-view-click-on-package-handler (event) + (interactive "@e") + (with-selected-window (posn-window (event-start event)) + (let* ((posn-point (posn-point (event-start event))) + (object-name (get-text-property posn-point 'object-name)) + (object-type (get-text-property posn-point 'object-type)) + (type (car event))) + (when (eq type 'mouse-3) + (setq type (car (x-popup-menu t (append (list 'keymap object-name) + (list '(sqlplus-refresh-side-view-buffer "Refresh" t)) + (list '(S-mouse-1 "Get package header from Oracle" t)) + (list '(mouse-1 "Get package body from Oracle" t)) + (list '(S-M-mouse-1 "Search header source in filesystem" t)) + (list '(M-mouse-1 "Search body source in filesystem" t)) + (list (list 'C-M-mouse-1 (concat "Set root dir for " (car (refine-connect-string sqlplus-side-view-connect-string))) t)) + ))))) + (cond ((eq type 'S-mouse-1) + (sqlplus-get-source sqlplus-side-view-connect-string object-name object-type)) + ((eq type 'mouse-1) + (sqlplus-get-source sqlplus-side-view-connect-string object-name "PACKAGE BODY")) + ((eq type 'M-mouse-1) + (sqlplus-file-get-source sqlplus-side-view-connect-string object-name "PACKAGE BODY")) + ((eq type 'S-M-mouse-1) + (sqlplus-file-get-source sqlplus-side-view-connect-string object-name "PACKAGE")) + ((eq type 'C-M-mouse-1) + (sqlplus-set-project-for-connect-string sqlplus-side-view-connect-string)) + ((eq type nil)) + (t + (condition-case err + (funcall type) + (error nil))))))) + +(defun sqlplus-side-view-default-draw-panel (tab-info click-function) + (let ((pairs (sort (sqlplus-tab-data tab-info) + (lambda (pair1 pair2) (string< (car pair1) (car pair2))))) + (type-name (upcase (symbol-name (sqlplus-tab-symbol tab-info))))) + (dolist (pair pairs) + (let* ((label (format " % -100s" (car pair))) + (km (make-sparse-keymap))) + (define-key km [down-mouse-1] 'ignore) + (define-key km [mouse-1] click-function) + (define-key km [C-down-mouse-1] 'ignore) + (define-key km [C-mouse-1] click-function) + (define-key km [S-down-mouse-1] 'ignore) + (define-key km [S-mouse-1] click-function) + (define-key km [down-mouse-3] 'ignore) + (define-key km [mouse-3] click-function) + (setq label (propertize label + 'mouse-face 'ide-skel-highlight-face + 'face (if (cdr pair) + '(sqlplus-side-view-face (foreground-color . "red")) + 'sqlplus-side-view-face) + 'local-map km + 'pointer 'hand + 'object-name (car pair) + 'object-type type-name)) + (insert label) + (insert "\n"))))) + +(defun sqlplus-refresh-side-view-buffer () + (let* ((tab-info (nth sqlplus-side-view-active-tab sqlplus-side-view-tabset)) + (update-select (sqlplus-tab-update-select tab-info))) + (unless (sqlplus-tab-refresh-in-progress tab-info) + (sqlplus-hidden-select sqlplus-side-view-connect-string update-select 'sqlplus-my-update-handler)))) + +(defun sqlplus-get-default-update-select (symbol) + (concat "select object_name, object_type, decode( status, 'INVALID', 'I', ' ' ) from user_objects\n" + "where object_name not like 'BIN$%'\n" + (format "and object_type = '%s';" (upcase (symbol-name symbol))))) + +(defun sqlplus-create-side-view-buffer (connect-string) + (let* ((original-connect-string connect-string) + (connect-string (car (refine-connect-string connect-string))) + (buffer (funcall 'ide-skel-get-side-view-buffer-create + (concat " Ide Skel Right View SQL " connect-string) + 'right "SQL" (concat "SQL Panel for " connect-string) + (lambda (editor-buffer) + (let ((connect-string sqlplus-side-view-connect-string)) + (with-current-buffer editor-buffer + (and connect-string + (equal (car (refine-connect-string sqlplus-connect-string)) + (car (refine-connect-string connect-string))) + ))))))) + (with-current-buffer buffer + (set 'ide-skel-tabbar-menu-function + (lambda () + (let ((tab-info (nth sqlplus-side-view-active-tab sqlplus-side-view-tabset))) + (list + (unless (sqlplus-tab-refresh-in-progress tab-info) + '(sqlplus-refresh-side-view-buffer "Refresh" t)))))) + (setq sqlplus-side-view-connect-string original-connect-string + sqlplus-side-view-active-tab 0 + sqlplus-side-view-tabset + (list + (make-sqlplus-tab :id 0 :name "Tab" :symbol 'table :help-string "Tables" :draw-function 'sqlplus-side-view-default-draw-panel + :update-select (sqlplus-get-default-update-select 'table) + :click-function 'sqlplus-side-view-click-on-table-handler) + (make-sqlplus-tab :id 1 :name "Vie" :symbol 'view :help-string "Views" :draw-function 'sqlplus-side-view-default-draw-panel + :update-select (sqlplus-get-default-update-select 'view) + :click-function 'sqlplus-side-view-click-on-table-handler) + (make-sqlplus-tab :id 2 :name "Idx" :symbol 'index :help-string "Indexes" :draw-function 'sqlplus-side-view-default-draw-panel + :update-select (sqlplus-get-default-update-select 'index) + :click-function 'sqlplus-side-view-click-on-index-handler) + (make-sqlplus-tab :id 3 :name "Tri" :symbol 'trigger :help-string "Triggers" :draw-function 'sqlplus-side-view-default-draw-panel + :update-select (sqlplus-get-default-update-select 'trigger) + :click-function 'sqlplus-side-view-click-on-default-handler) + (make-sqlplus-tab :id 4 :name "Seq" :symbol 'sequence :help-string "Sequences" :draw-function 'sqlplus-side-view-default-draw-panel + :update-select (sqlplus-get-default-update-select 'sequence) + :click-function 'sqlplus-side-view-click-on-default-handler) + (make-sqlplus-tab :id 5 :name "Syn" :symbol 'synonym :help-string "Synonyms" :draw-function 'sqlplus-side-view-default-draw-panel + :update-select (sqlplus-get-default-update-select 'synonym) + :click-function 'sqlplus-side-view-click-on-default-handler) + (make-sqlplus-tab :id 6 :name "Pkg" :symbol 'package :help-string "PL/SQL Packages" :draw-function 'sqlplus-side-view-default-draw-panel + :update-select (sqlplus-get-default-update-select 'package) + :click-function 'sqlplus-side-view-click-on-package-handler) + (make-sqlplus-tab :id 7 :name "Prc" :symbol 'procedure :help-string "PL/SQL Functions & Procedures" :draw-function 'sqlplus-side-view-default-draw-panel + :update-select (concat "select object_name, object_type, decode( status, 'INVALID', 'I', ' ' ) from user_objects\n" + "where object_name not like 'BIN$%'\n" + "and object_type in ('FUNCTION', 'PROCEDURE');") + :click-function 'sqlplus-side-view-click-on-default-handler) + (make-sqlplus-tab :id 8 :name "Sch" :symbol 'schema :help-string "Schemas" :draw-function 'sqlplus-side-view-default-draw-panel + :update-select "select username, 'SCHEMA', ' ' from all_users where username not like 'BIN$%';" + :click-function 'sqlplus-side-view-click-on-schema-handler) + )) + (sqlplus-side-view-buffer-mode-line)) + buffer)) + +(defun sqlplus-side-view-redraw (sql-view-buffer &optional window-start-from-tab-info) + (with-current-buffer sql-view-buffer + (let* ((point (point)) + (tab-info (nth sqlplus-side-view-active-tab sqlplus-side-view-tabset)) + (window-start (when (and (symbol-value 'ide-skel-current-right-view-window) + (eq (window-buffer (symbol-value 'ide-skel-current-right-view-window)) (current-buffer))) + (if window-start-from-tab-info + (sqlplus-tab-display-start tab-info) + (line-number-at-pos (window-start (symbol-value 'ide-skel-current-right-view-window))))))) + (let ((inhibit-read-only t)) + (setq buffer-read-only nil) + (erase-buffer) + (when (sqlplus-tab-draw-function tab-info) + (funcall (sqlplus-tab-draw-function tab-info) tab-info (sqlplus-tab-click-function tab-info)))) + (if window-start + (let ((pos (save-excursion + (goto-line window-start) + (beginning-of-line) + (point)))) + (set-window-start (symbol-value 'ide-skel-current-right-view-window) pos) + (setf (sqlplus-tab-display-start tab-info) window-start)) + (goto-char point) + (beginning-of-line))))) + +(defun sqlplus-side-view-update-data (connect-string alist) + (let* ((connect-string (car (refine-connect-string connect-string))) + (sql-view-buffer (sqlplus-get-side-view-buffer connect-string)) + was-proc) + (when sql-view-buffer + (with-current-buffer sql-view-buffer + (dolist (pair alist) + (let* ((symbol (if (eq (car pair) 'function) 'procedure (car pair))) + (data-list (cdr pair)) + (tab-info (some (lambda (tab) + (when (eq (sqlplus-tab-symbol tab) symbol) + tab)) + sqlplus-side-view-tabset))) + (when tab-info + (setf (sqlplus-tab-refresh-in-progress tab-info) nil) + (setf (sqlplus-tab-data tab-info) + (if (and (eq symbol 'procedure) + was-proc) + (append (sqlplus-tab-data tab-info) (copy-list data-list)) + data-list)) + (when (eq symbol 'procedure) + (setq was-proc t)) + (setf (sqlplus-tab-errors-count tab-info) + (count t (mapcar 'cdr data-list))) + (when (eql sqlplus-side-view-active-tab (sqlplus-tab-id tab-info)) + (sqlplus-side-view-redraw (current-buffer)))))) + (sqlplus-side-view-buffer-mode-line) + (force-mode-line-update))))) + +(defun sqlplus-side-view-window-function (side event &rest list) + (when (and (eq side 'right) + (symbol-value 'ide-skel-current-right-view-window) + (with-current-buffer (symbol-value 'ide-skel-current-editor-buffer) + sqlplus-connect-string)) + (cond ((memq event '(show editor-buffer-changed)) + (let ((sql-view-buffer (sqlplus-get-side-view-buffer (with-current-buffer (symbol-value 'ide-skel-current-editor-buffer) + sqlplus-connect-string)))) + (when sql-view-buffer + (with-current-buffer sql-view-buffer + (set 'ide-skel-tabbar-enabled t) + (funcall 'ide-skel-side-window-switch-to-buffer (symbol-value 'ide-skel-current-right-view-window) sql-view-buffer))))))) + nil) + +(add-hook 'ide-skel-side-view-window-functions 'sqlplus-side-view-window-function) + + +(provide 'sqlplus) + +;;; sqlplus.el ends here diff --git a/.emacs.d/themes/color-theme-example.el b/.emacs.d/themes/color-theme-example.el new file mode 100644 index 0000000..f73b4f6 --- /dev/null +++ b/.emacs.d/themes/color-theme-example.el @@ -0,0 +1,22 @@ +(eval-when-compile + (require 'color-theme)) + +(defun color-theme-example () + "Example theme. Carbon copy of color-theme-gnome contributed by Jonadab." + (interactive) + (color-theme-install + '(color-theme-example + ((foreground-color . "wheat") + (background-color . "darkslategrey") + (background-mode . dark)) + (default ((t (nil)))) + (region ((t (:foreground "cyan" :background "dark cyan")))) + (underline ((t (:foreground "yellow" :underline t)))) + (modeline ((t (:foreground "dark cyan" :background "wheat")))) + (modeline-buffer-id ((t (:foreground "dark cyan" :background "wheat")))) + (modeline-mousable ((t (:foreground "dark cyan" :background "wheat")))) + (modeline-mousable-minor-mode ((t (:foreground "dark cyan" :background "wheat")))) + (italic ((t (:foreground "dark red" :italic t)))) + (bold-italic ((t (:foreground "dark red" :bold t :italic t)))) + (font-lock-comment-face ((t (:foreground "Firebrick")))) + (bold ((t (:bold))))))) diff --git a/.emacs.d/themes/color-theme-library.el b/.emacs.d/themes/color-theme-library.el new file mode 100644 index 0000000..d194708 --- /dev/null +++ b/.emacs.d/themes/color-theme-library.el @@ -0,0 +1,13539 @@ +;;; color-theme-library.el --- The real color theme functions + +;; Copyright (C) 2005, 2006 Xavier Maillard +;; Copyright (C) 2005, 2006 Brian Palmer + +;; Version: 0.0.9 +;; Keywords: faces +;; Author: Brian Palmer, Xavier Maillard +;; Maintainer: Xavier Maillard +;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?ColorTheme + +;; This file is not (YET) part of GNU Emacs. + +;; This is free software; you can redistribute it and/or modify it under +;; the terms of the GNU General Public License as published by the Free +;; Software Foundation; either version 2, or (at your option) any later +;; version. +;; +;; This is distributed in the hope that it will be useful, but WITHOUT +;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +;; for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, +;; MA 02111-1307, USA. + +;; Code: +(eval-when-compile + (require 'color-theme)) + +(defun color-theme-gnome () + "Wheat on darkslategrey scheme. +From one version of Emacs in RH6 and Gnome, modified by Jonadab." + (interactive) + (color-theme-install + '(color-theme-gnome + ((foreground-color . "wheat") + (background-color . "darkslategrey") + (background-mode . dark)) + (default ((t (nil)))) + (region ((t (:foreground "cyan" :background "dark cyan")))) + (underline ((t (:foreground "yellow" :underline t)))) + (modeline ((t (:foreground "dark cyan" :background "wheat")))) + (modeline-buffer-id ((t (:foreground "dark cyan" :background "wheat")))) + (modeline-mousable ((t (:foreground "dark cyan" :background "wheat")))) + (modeline-mousable-minor-mode ((t (:foreground "dark cyan" :background "wheat")))) + (italic ((t (:foreground "dark red" :italic t)))) + (bold-italic ((t (:foreground "dark red" :bold t :italic t)))) + (font-lock-comment-face ((t (:foreground "Firebrick")))) + (bold ((t (:bold))))))) + +(defun color-theme-blue-gnus () + "Color theme for gnus and message faces only. +This is intended for other color themes to use (eg. `color-theme-gnome2' +and `color-theme-blue-sea')." + (interactive) + (color-theme-install + '(color-theme-blue-gnus + nil + (gnus-cite-attribution-face ((t (:lforeground "lemon chiffon" :bold t)))) + (gnus-cite-face-1 ((t (:foreground "LightSalmon")))) + (gnus-cite-face-2 ((t (:foreground "Khaki")))) + (gnus-cite-face-3 ((t (:foreground "Coral")))) + (gnus-cite-face-4 ((t (:foreground "yellow green")))) + (gnus-cite-face-5 ((t (:foreground "dark khaki")))) + (gnus-cite-face-6 ((t (:foreground "bisque")))) + (gnus-cite-face-7 ((t (:foreground "peru")))) + (gnus-cite-face-8 ((t (:foreground "light coral")))) + (gnus-cite-face-9 ((t (:foreground "plum")))) + (gnus-emphasis-bold ((t (:bold t)))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) + (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) + (gnus-emphasis-italic ((t (:italic t)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:bold t :underline t)))) + (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :underline t)))) + (gnus-emphasis-underline-italic ((t (:italic t :underline t)))) + (gnus-group-mail-1-empty-face ((t (:foreground "White")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "White")))) + (gnus-group-mail-2-empty-face ((t (:foreground "light cyan")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "light cyan")))) + (gnus-group-mail-3-empty-face ((t (:foreground "LightBlue")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "LightBlue")))) + (gnus-group-mail-low-empty-face ((t (:foreground "Aquamarine")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "Aquamarine")))) + (gnus-group-news-1-empty-face ((t (:foreground "White")))) + (gnus-group-news-1-face ((t (:bold t :foreground "White")))) + (gnus-group-news-2-empty-face ((t (:foreground "light cyan")))) + (gnus-group-news-2-face ((t (:bold t :foreground "light cyan")))) + (gnus-group-news-3-empty-face ((t (:foreground "LightBlue")))) + (gnus-group-news-3-face ((t (:bold t :foreground "LightBlue")))) + (gnus-group-news-4-empty-face ((t (:foreground "Aquamarine")))) + (gnus-group-news-4-face ((t (:bold t :foreground "Aquamarine")))) + (gnus-group-news-5-empty-face ((t (:foreground "MediumAquamarine")))) + (gnus-group-news-5-face ((t (:bold t :foreground "MediumAquamarine")))) + (gnus-group-news-6-empty-face ((t (:foreground "MediumAquamarine")))) + (gnus-group-news-6-face ((t (:bold t :foreground "MediumAquamarine")))) + (gnus-group-news-low-empty-face ((t (:foreground "MediumAquamarine")))) + (gnus-group-news-low-face ((t (:bold t :foreground "MediumAquamarine")))) + (gnus-header-content-face ((t (:foreground "LightSkyBlue3")))) + (gnus-header-from-face ((t (:bold t :foreground "light cyan")))) + (gnus-header-name-face ((t (:bold t :foreground "LightBlue")))) + (gnus-header-newsgroups-face ((t (:bold t :foreground "MediumAquamarine")))) + (gnus-header-subject-face ((t (:bold t :foreground "light cyan")))) + (gnus-signature-face ((t (:foreground "Grey")))) + (gnus-splash-face ((t (:foreground "ForestGreen")))) + (gnus-summary-cancelled-face ((t (:background "Black" :foreground "Yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "MediumAquamarine")))) + (gnus-summary-high-read-face ((t (:bold t :foreground "Aquamarine")))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "LightSalmon")))) + (gnus-summary-high-unread-face ((t (:bold t :foreground "beige")))) + (gnus-summary-low-ancient-face ((t (:foreground "DimGray")))) + (gnus-summary-low-read-face ((t (:foreground "slate gray")))) + (gnus-summary-low-ticked-face ((t (:foreground "Pink")))) + (gnus-summary-low-unread-face ((t (:foreground "LightGray")))) + (gnus-summary-normal-ancient-face ((t (:foreground "MediumAquamarine")))) + (gnus-summary-normal-read-face ((t (:foreground "Aquamarine")))) + (gnus-summary-normal-ticked-face ((t (:foreground "LightSalmon")))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-selected-face ((t (:background "DarkSlateBlue")))) + (message-cited-text-face ((t (:foreground "LightSalmon")))) + (message-header-cc-face ((t (:foreground "light cyan")))) + (message-header-name-face ((t (:foreground "LightBlue")))) + (message-header-newsgroups-face ((t (:bold t :foreground "MediumAquamarine")))) + (message-header-other-face ((t (:foreground "MediumAquamarine")))) + (message-header-subject-face ((t (:bold t :foreground "light cyan")))) + (message-header-to-face ((t (:bold t :foreground "light cyan")))) + (message-header-xheader-face ((t (:foreground "MediumAquamarine")))) + (message-separator-face ((t (:foreground "chocolate"))))))) + +(defun color-theme-dark-gnus () + "Color theme for gnus and message faces only. +This is intended for other color themes to use +\(eg. `color-theme-late-night')." + (interactive) + (color-theme-install + '(color-theme-blue-gnus + nil + (gnus-cite-attribution-face ((t (:foreground "#bbb")))) + (gnus-cite-face-1 ((t (:foreground "#aaa")))) + (gnus-cite-face-2 ((t (:foreground "#aaa")))) + (gnus-cite-face-3 ((t (:foreground "#aaa")))) + (gnus-cite-face-4 ((t (:foreground "#aaa")))) + (gnus-cite-face-5 ((t (:foreground "#aaa")))) + (gnus-cite-face-6 ((t (:foreground "#aaa")))) + (gnus-cite-face-7 ((t (:foreground "#aaa")))) + (gnus-cite-face-8 ((t (:foreground "#aaa")))) + (gnus-cite-face-9 ((t (:foreground "#aaa")))) + (gnus-emphasis-bold ((t (:bold t)))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) + (gnus-emphasis-highlight-words ((t (:foreground "#ccc")))) + (gnus-emphasis-italic ((t (:italic t)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:bold t :underline t)))) + (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :underline t)))) + (gnus-emphasis-underline-italic ((t (:italic t :underline t)))) + (gnus-group-mail-1-empty-face ((t (:foreground "#999")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "#999")))) + (gnus-group-mail-2-empty-face ((t (:foreground "#999")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "#999")))) + (gnus-group-mail-3-empty-face ((t (:foreground "#888")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "#888")))) + (gnus-group-mail-low-empty-face ((t (:foreground "#777")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "#777")))) + (gnus-group-news-1-empty-face ((t (:foreground "#999")))) + (gnus-group-news-1-face ((t (:bold t :foreground "#999")))) + (gnus-group-news-2-empty-face ((t (:foreground "#888")))) + (gnus-group-news-2-face ((t (:bold t :foreground "#888")))) + (gnus-group-news-3-empty-face ((t (:foreground "#777")))) + (gnus-group-news-3-face ((t (:bold t :foreground "#777")))) + (gnus-group-news-4-empty-face ((t (:foreground "#666")))) + (gnus-group-news-4-face ((t (:bold t :foreground "#666")))) + (gnus-group-news-5-empty-face ((t (:foreground "#666")))) + (gnus-group-news-5-face ((t (:bold t :foreground "#666")))) + (gnus-group-news-6-empty-face ((t (:foreground "#666")))) + (gnus-group-news-6-face ((t (:bold t :foreground "#666")))) + (gnus-group-news-low-empty-face ((t (:foreground "#666")))) + (gnus-group-news-low-face ((t (:bold t :foreground "#666")))) + (gnus-header-content-face ((t (:foreground "#888")))) + (gnus-header-from-face ((t (:bold t :foreground "#888")))) + (gnus-header-name-face ((t (:bold t :foreground "#777")))) + (gnus-header-newsgroups-face ((t (:bold t :foreground "#777")))) + (gnus-header-subject-face ((t (:bold t :foreground "#999")))) + (gnus-signature-face ((t (:foreground "#444")))) + (gnus-splash-face ((t (:foreground "#ccc")))) + (gnus-summary-cancelled-face ((t (:background "#555" :foreground "#000")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "#555")))) + (gnus-summary-high-read-face ((t (:bold t :foreground "#666")))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "#777")))) + (gnus-summary-high-unread-face ((t (:bold t :foreground "#888")))) + (gnus-summary-low-ancient-face ((t (:foreground "#444")))) + (gnus-summary-low-read-face ((t (:foreground "#555")))) + (gnus-summary-low-ticked-face ((t (:foreground "#666")))) + (gnus-summary-low-unread-face ((t (:foreground "#777")))) + (gnus-summary-normal-ancient-face ((t (:foreground "#555")))) + (gnus-summary-normal-read-face ((t (:foreground "#666")))) + (gnus-summary-normal-ticked-face ((t (:foreground "#777")))) + (gnus-summary-normal-unread-face ((t (:foreground "#888")))) + (gnus-summary-selected-face ((t (:background "#333")))) + (message-cited-text-face ((t (:foreground "#aaa")))) + (message-header-cc-face ((t (:foreground "#888")))) + (message-header-name-face ((t (:bold t :foreground "#777")))) + (message-header-newsgroups-face ((t (:bold t :foreground "#777")))) + (message-header-other-face ((t (:foreground "#666")))) + (message-header-subject-face ((t (:bold t :foreground "#999")))) + (message-header-to-face ((t (:bold t :foreground "#777")))) + (message-header-xheader-face ((t (:foreground "#666")))) + (message-separator-face ((t (:foreground "#999"))))))) + +(defun color-theme-blue-eshell () + "Color theme for eshell faces only. +This is intended for other color themes to use (eg. `color-theme-gnome2')." + (interactive) + (color-theme-install + '(color-theme-blue-eshell + nil + (eshell-ls-archive-face ((t (:bold t :foreground "IndianRed")))) + (eshell-ls-backup-face ((t (:foreground "Grey")))) + (eshell-ls-clutter-face ((t (:foreground "DimGray")))) + (eshell-ls-directory-face ((t (:bold t :foreground "MediumSlateBlue")))) + (eshell-ls-executable-face ((t (:foreground "Coral")))) + (eshell-ls-missing-face ((t (:foreground "black")))) + (eshell-ls-picture-face ((t (:foreground "Violet")))) ; non-standard face + (eshell-ls-product-face ((t (:foreground "LightSalmon")))) + (eshell-ls-readonly-face ((t (:foreground "Aquamarine")))) + (eshell-ls-special-face ((t (:foreground "Gold")))) + (eshell-ls-symlink-face ((t (:foreground "White")))) + (eshell-ls-text-face ((t (:foreground "medium aquamarine")))) ; non-standard face + (eshell-ls-todo-face ((t (:bold t :foreground "aquamarine")))) ; non-standard face + (eshell-ls-unreadable-face ((t (:foreground "DimGray")))) + (eshell-prompt-face ((t (:foreground "powder blue"))))))) + +(defun color-theme-salmon-font-lock () + "Color theme for font-lock faces only. +This is intended for other color themes to use (eg. `color-theme-gnome2')." + (interactive) + (color-theme-install + '(color-theme-salmon-font-lock + nil + (font-lock-builtin-face ((t (:bold t :foreground "PaleGreen")))) + (font-lock-comment-face ((t (:foreground "LightBlue")))) + (font-lock-constant-face ((t (:foreground "Aquamarine")))) + (font-lock-doc-string-face ((t (:foreground "LightSalmon")))) + (font-lock-function-name-face ((t (:bold t :foreground "Aquamarine")))) + (font-lock-keyword-face ((t (:foreground "Salmon")))) + (font-lock-preprocessor-face ((t (:foreground "Salmon")))) + (font-lock-reference-face ((t (:foreground "pale green")))) + (font-lock-string-face ((t (:foreground "LightSalmon")))) + (font-lock-type-face ((t (:bold t :foreground "YellowGreen")))) + (font-lock-variable-name-face ((t (:bold t :foreground "Aquamarine")))) + (font-lock-warning-face ((t (:bold t :foreground "red"))))))) + +(defun color-theme-dark-font-lock () + "Color theme for font-lock faces only. +This is intended for other color themes to use (eg. `color-theme-late-night')." + (interactive) + (color-theme-install + '(color-theme-dark-font-lock + nil + (font-lock-builtin-face ((t (:bold t :foreground "#777")))) + (font-lock-comment-face ((t (:foreground "#555")))) + (font-lock-constant-face ((t (:foreground "#777")))) + (font-lock-doc-string-face ((t (:foreground "#777")))) + (font-lock-doc-face ((t (:foreground "#777")))) + (font-lock-function-name-face ((t (:bold t :foreground "#777")))) + (font-lock-keyword-face ((t (:foreground "#777")))) + (font-lock-preprocessor-face ((t (:foreground "#777")))) + (font-lock-reference-face ((t (:foreground "#777")))) + (font-lock-string-face ((t (:foreground "#777")))) + (font-lock-type-face ((t (:bold t)))) + (font-lock-variable-name-face ((t (:bold t :foreground "#888")))) + (font-lock-warning-face ((t (:bold t :foreground "#999"))))))) + +(defun color-theme-dark-info () + "Color theme for info, help and apropos faces. +This is intended for other color themes to use (eg. `color-theme-late-night')." + (interactive) + (color-theme-install + '(color-theme-dark-info + nil + (info-header-node ((t (:foreground "#666")))) + (info-header-xref ((t (:foreground "#666")))) + (info-menu-5 ((t (:underline t)))) + (info-menu-header ((t (:bold t :foreground "#666")))) + (info-node ((t (:bold t :foreground "#888")))) + (info-xref ((t (:bold t :foreground "#777"))))))) + +(defun color-theme-gnome2 () + "Wheat on darkslategrey scheme. +`color-theme-gnome' started it all. + +This theme supports standard faces, font-lock, eshell, info, message, +gnus, custom, widget, woman, diary, cperl, bbdb, and erc. This theme +includes faces for Emacs and XEmacs. + +The theme does not support w3 faces because w3 faces can be controlled +by your default style sheet. + +This is what you should put in your .Xdefaults file, if you want to +change the colors of the menus in Emacs 20 as well: + +emacs*Background: DarkSlateGray +emacs*Foreground: Wheat" + (interactive) + (color-theme-blue-gnus) + (let ((color-theme-is-cumulative t)) + (color-theme-blue-erc) + (color-theme-blue-eshell) + (color-theme-salmon-font-lock) + (color-theme-salmon-diff) + (color-theme-install + '(color-theme-gnome2 + ((foreground-color . "wheat") + (background-color . "darkslategrey") + (mouse-color . "Grey") + (cursor-color . "LightGray") + (border-color . "black") + (background-mode . dark)) + ((apropos-keybinding-face . underline) + (apropos-label-face . italic) + (apropos-match-face . secondary-selection) + (apropos-property-face . bold-italic) + (apropos-symbol-face . info-xref) + (goto-address-mail-face . message-header-to-face) + (goto-address-mail-mouse-face . secondary-selection) + (goto-address-url-face . info-xref) + (goto-address-url-mouse-face . highlight) + (list-matching-lines-face . bold) + (view-highlight-face . highlight)) + (default ((t (nil)))) + (bbdb-company ((t (:foreground "pale green")))) + (bbdb-name ((t (:bold t :foreground "pale green")))) + (bbdb-field-name ((t (:foreground "medium sea green")))) + (bbdb-field-value ((t (:foreground "dark sea green")))) + (bold ((t (:bold t)))) + (bold-italic ((t (:italic t :bold t :foreground "beige")))) + (calendar-today-face ((t (:underline t)))) + (comint-highlight-prompt ((t (:foreground "medium aquamarine")))) + (cperl-array-face ((t (:foreground "Yellow")))) + (cperl-hash-face ((t (:foreground "White")))) + (cperl-nonoverridable-face ((t (:foreground "SkyBlue")))) + (custom-button-face ((t (:underline t :foreground "MediumSlateBlue")))) + (custom-documentation-face ((t (:foreground "Grey")))) + (custom-group-tag-face ((t (:foreground "MediumAquamarine")))) + (custom-state-face ((t (:foreground "LightSalmon")))) + (custom-variable-tag-face ((t (:foreground "Aquamarine")))) + (diary-face ((t (:foreground "IndianRed")))) + (dired-face-directory ((t (:bold t :foreground "sky blue")))) + (dired-face-permissions ((t (:foreground "aquamarine")))) + (dired-face-flagged ((t (:foreground "tomato")))) + (dired-face-marked ((t (:foreground "light salmon")))) + (dired-face-executable ((t (:foreground "green yellow")))) + (fringe ((t (:background "darkslategrey")))) + (highlight ((t (:background "PaleGreen" :foreground "DarkGreen")))) + (highline-face ((t (:background "SeaGreen")))) + (holiday-face ((t (:background "DimGray")))) + (hyper-apropos-hyperlink ((t (:bold t :foreground "DodgerBlue1")))) + (hyper-apropos-documentation ((t (:foreground "LightSalmon")))) + (info-header-xref ((t (:foreground "DodgerBlue1" :bold t)))) + (info-menu-5 ((t (:underline t)))) + (info-node ((t (:underline t :bold t :foreground "DodgerBlue1")))) + (info-xref ((t (:bold t :foreground "DodgerBlue1")))) + (isearch ((t (:background "sea green")))) + (italic ((t (:italic t)))) + (menu ((t (:foreground "wheat" :background "darkslategrey")))) + (modeline ((t (:background "dark olive green" :foreground "wheat")))) + (modeline-buffer-id ((t (:background "dark olive green" :foreground "beige")))) + (modeline-mousable ((t (:background "dark olive green" :foreground "yellow green")))) + (modeline-mousable-minor-mode ((t (:background "dark olive green" :foreground "wheat")))) + (region ((t (:background "dark cyan" :foreground "cyan")))) + (secondary-selection ((t (:background "Aquamarine" :foreground "SlateBlue")))) + (show-paren-match-face ((t (:bold t :background "Aquamarine" :foreground "steel blue")))) + (show-paren-mismatch-face ((t (:background "Red" :foreground "White")))) + (underline ((t (:underline t)))) + (widget-field-face ((t (:foreground "LightBlue")))) + (widget-inactive-face ((t (:foreground "DimGray")))) + (widget-single-line-field-face ((t (:foreground "LightBlue")))) + (w3m-anchor-face ((t (:bold t :foreground "DodgerBlue1")))) + (w3m-arrived-anchor-face ((t (:bold t :foreground "DodgerBlue3")))) + (w3m-header-line-location-title-face ((t (:foreground "beige" :background "dark olive green")))) + (w3m-header-line-location-content-face ((t (:foreground "wheat" :background "dark olive green")))) + (woman-bold-face ((t (:bold t)))) + (woman-italic-face ((t (:foreground "beige")))) + (woman-unknown-face ((t (:foreground "LightSalmon")))) + (zmacs-region ((t (:background "dark cyan" :foreground "cyan")))))))) + +(defun color-theme-simple-1 () + "Black background. +Doesn't mess with most faces, but does turn on dark background mode." + (interactive) + (color-theme-install + '(color-theme-simple-1 + ((foreground-color . "white") + (background-color . "black") + (cursor-color . "indian red") + (background-mode . dark)) + (default ((t (nil)))) + (modeline ((t (:foreground "black" :background "white")))) + (modeline-buffer-id ((t (:foreground "black" :background "white")))) + (modeline-mousable ((t (:foreground "black" :background "white")))) + (modeline-mousable-minor-mode ((t (:foreground "black" :background "white")))) + (underline ((t (:underline t)))) + (region ((t (:background "grey"))))))) + +(defun color-theme-jonadabian () + "Dark blue background. +Supports standard faces, font-lock, highlight-changes, widget and +custom." + (interactive) + (color-theme-install + '(color-theme-jonadabian + ((foreground-color . "#CCBB77") + (cursor-color . "medium turquoise") + (background-color . "#000055") + (background-mode . dark)) + (default ((t (nil)))) + (modeline ((t (:foreground "cyan" :background "#007080")))) + (modeline-buffer-id ((t (:foreground "cyan" :background "#007080")))) + (modeline-mousable ((t (:foreground "cyan" :background "#007080")))) + (modeline-mousable-minor-mode ((t (:foreground "cyan" :background "#007080")))) + (underline ((t (:underline t)))) + (region ((t (:background "#004080")))) + (font-lock-keyword-face ((t (:foreground "#00BBBB")))) + (font-lock-comment-face ((t (:foreground "grey50" :bold t :italic t)))) + (font-lock-string-face ((t (:foreground "#10D010")))) + (font-lock-constant-face ((t (:foreground "indian red")))) + (highlight-changes-face ((t (:background "navy")))) + (highlight-changes-delete-face ((t (:foreground "red" :background "navy")))) + (widget-field-face ((t (:foreground "black" :background "grey35")))) + (widget-inactive-face ((t (:foreground "gray")))) + (custom-button-face ((t (:foreground "yellow" :background "dark blue")))) + (custom-state-face ((t (:foreground "mediumaquamarine")))) + (custom-face-tag-face ((t (:foreground "goldenrod" :underline t)))) + (custom-documentation-face ((t (:foreground "#10D010")))) + (custom-set-face ((t (:foreground "#2020D0"))))))) + +(defun color-theme-ryerson () + "White on midnightblue scheme. +Used at Ryerson Polytechnic University in the Electronic Engineering department." + (interactive) + (color-theme-install + '(color-theme-ryerson + ((foreground-color . "white") + (background-color . "midnightblue") + (cursor-color . "red") + (background-mode . dark)) + (default ((t (nil)))) + (modeline ((t (:foreground "black" :background "slategray3")))) + (modeline-buffer-id ((t (:foreground "black" :background "slategray3")))) + (modeline-mousable ((t (:foreground "black" :background "slategray3")))) + (modeline-mousable-minor-mode ((t (:foreground "black" :background "slategray3")))) + (underline ((t (:underline t)))) + (region ((t (:foreground "black" :background "slategray3"))))))) + +(defun color-theme-wheat () + "Default colors on a wheat background. +Calls the standard color theme function `color-theme-standard' in order +to reset all faces." + (interactive) + (color-theme-standard) + (let ((color-theme-is-cumulative t)) + (color-theme-install + '(color-theme-wheat + ((background-color . "Wheat")))))) + +(defun color-theme-standard () + "Emacs default colors. +If you are missing standard faces in this theme, please notify the maintainer." + (interactive) + ;; Note that some of the things that make up a color theme are + ;; actually variable settings! + (color-theme-install + '(color-theme-standard + ((foreground-color . "black") + (background-color . "white") + (mouse-color . "black") + (cursor-color . "black") + (border-color . "black") + (background-mode . light)) + ((Man-overstrike-face . bold) + (Man-underline-face . underline) + (apropos-keybinding-face . underline) + (apropos-label-face . italic) + (apropos-match-face . secondary-selection) + (apropos-property-face . bold-italic) + (apropos-symbol-face . bold) + (goto-address-mail-face . italic) + (goto-address-mail-mouse-face . secondary-selection) + (goto-address-url-face . bold) + (goto-address-url-mouse-face . highlight) + (help-highlight-face . underline) + (list-matching-lines-face . bold) + (view-highlight-face . highlight)) + (default ((t (nil)))) + (bold ((t (:bold t)))) + (bold-italic ((t (:bold t :italic t)))) + (calendar-today-face ((t (:underline t)))) + (cperl-array-face ((t (:foreground "Blue" :background "lightyellow2" :bold t)))) + (cperl-hash-face ((t (:foreground "Red" :background "lightyellow2" :bold t :italic t)))) + (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) + (custom-button-face ((t (nil)))) + (custom-changed-face ((t (:foreground "white" :background "blue")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face ((t (:foreground "blue" :underline t)))) + (custom-group-tag-face-1 ((t (:foreground "red" :underline t)))) + (custom-invalid-face ((t (:foreground "yellow" :background "red")))) + (custom-modified-face ((t (:foreground "white" :background "blue")))) + (custom-rogue-face ((t (:foreground "pink" :background "black")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:foreground "blue" :background "white")))) + (custom-state-face ((t (:foreground "dark green")))) + (custom-variable-button-face ((t (:bold t :underline t)))) + (custom-variable-tag-face ((t (:foreground "blue" :underline t)))) + (diary-face ((t (:foreground "red")))) + (ediff-current-diff-face-A ((t (:foreground "firebrick" :background "pale green")))) + (ediff-current-diff-face-Ancestor ((t (:foreground "Black" :background "VioletRed")))) + (ediff-current-diff-face-B ((t (:foreground "DarkOrchid" :background "Yellow")))) + (ediff-current-diff-face-C ((t (:foreground "Navy" :background "Pink")))) + (ediff-even-diff-face-A ((t (:foreground "Black" :background "light grey")))) + (ediff-even-diff-face-Ancestor ((t (:foreground "White" :background "Grey")))) + (ediff-even-diff-face-B ((t (:foreground "White" :background "Grey")))) + (ediff-even-diff-face-C ((t (:foreground "Black" :background "light grey")))) + (ediff-fine-diff-face-A ((t (:foreground "Navy" :background "sky blue")))) + (ediff-fine-diff-face-Ancestor ((t (:foreground "Black" :background "Green")))) + (ediff-fine-diff-face-B ((t (:foreground "Black" :background "cyan")))) + (ediff-fine-diff-face-C ((t (:foreground "Black" :background "Turquoise")))) + (ediff-odd-diff-face-A ((t (:foreground "White" :background "Grey")))) + (ediff-odd-diff-face-Ancestor ((t (:foreground "Black" :background "light grey")))) + (ediff-odd-diff-face-B ((t (:foreground "Black" :background "light grey")))) + (ediff-odd-diff-face-C ((t (:foreground "White" :background "Grey")))) + (eshell-ls-archive-face ((t (:foreground "Orchid" :bold t)))) + (eshell-ls-backup-face ((t (:foreground "OrangeRed")))) + (eshell-ls-clutter-face ((t (:foreground "OrangeRed" :bold t)))) + (eshell-ls-directory-face ((t (:foreground "Blue" :bold t)))) + (eshell-ls-executable-face ((t (:foreground "ForestGreen" :bold t)))) + (eshell-ls-missing-face ((t (:foreground "Red" :bold t)))) + (eshell-ls-product-face ((t (:foreground "OrangeRed")))) + (eshell-ls-readonly-face ((t (:foreground "Brown")))) + (eshell-ls-special-face ((t (:foreground "Magenta" :bold t)))) + (eshell-ls-symlink-face ((t (:foreground "DarkCyan" :bold t)))) + (eshell-ls-unreadable-face ((t (:foreground "Grey30")))) + (eshell-prompt-face ((t (:foreground "Red" :bold t)))) + (eshell-test-failed-face ((t (:foreground "OrangeRed" :bold t)))) + (eshell-test-ok-face ((t (:foreground "Green" :bold t)))) + (excerpt ((t (:italic t)))) + (fixed ((t (:bold t)))) + (flyspell-duplicate-face ((t (:foreground "Gold3" :bold t :underline t)))) + (flyspell-incorrect-face ((t (:foreground "OrangeRed" :bold t :underline t)))) + (font-lock-builtin-face ((t (:foreground "Orchid")))) + (font-lock-comment-face ((t (:foreground "Firebrick")))) + (font-lock-constant-face ((t (:foreground "CadetBlue")))) + (font-lock-function-name-face ((t (:foreground "Blue")))) + (font-lock-keyword-face ((t (:foreground "Purple")))) + (font-lock-string-face ((t (:foreground "RosyBrown")))) + (font-lock-type-face ((t (:foreground "ForestGreen")))) + (font-lock-variable-name-face ((t (:foreground "DarkGoldenrod")))) + (font-lock-warning-face ((t (:foreground "Red" :bold t)))) + (fringe ((t (:background "grey95")))) + (gnus-cite-attribution-face ((t (:italic t)))) + (gnus-cite-face-1 ((t (:foreground "MidnightBlue")))) + (gnus-cite-face-10 ((t (:foreground "medium purple")))) + (gnus-cite-face-11 ((t (:foreground "turquoise")))) + (gnus-cite-face-2 ((t (:foreground "firebrick")))) + (gnus-cite-face-3 ((t (:foreground "dark green")))) + (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) + (gnus-cite-face-5 ((t (:foreground "dark khaki")))) + (gnus-cite-face-6 ((t (:foreground "dark violet")))) + (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-emphasis-bold ((t (:bold t)))) + (gnus-emphasis-bold-italic ((t (:bold t :italic t)))) + (gnus-emphasis-italic ((t (:italic t)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:bold t :underline t)))) + (gnus-emphasis-underline-bold-italic ((t (:bold t :italic t :underline t)))) + (gnus-emphasis-underline-italic ((t (:italic t :underline t)))) + (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) + (gnus-group-mail-1-face ((t (:foreground "DeepPink3" :bold t)))) + (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) + (gnus-group-mail-2-face ((t (:foreground "HotPink3" :bold t)))) + (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) + (gnus-group-mail-3-face ((t (:foreground "magenta4" :bold t)))) + (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) + (gnus-group-mail-low-face ((t (:foreground "DeepPink4" :bold t)))) + (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) + (gnus-group-news-1-face ((t (:foreground "ForestGreen" :bold t)))) + (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) + (gnus-group-news-2-face ((t (:foreground "CadetBlue4" :bold t)))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) + (gnus-group-news-low-face ((t (:foreground "DarkGreen" :bold t)))) + (gnus-header-content-face ((t (:foreground "indianred4" :italic t)))) + (gnus-header-from-face ((t (:foreground "red3")))) + (gnus-header-name-face ((t (:foreground "maroon")))) + (gnus-header-newsgroups-face ((t (:foreground "MidnightBlue" :italic t)))) + (gnus-header-subject-face ((t (:foreground "red4")))) + (gnus-signature-face ((t (:italic t)))) + (gnus-splash-face ((t (:foreground "ForestGreen")))) + (gnus-summary-cancelled-face ((t (:foreground "yellow" :background "black")))) + (gnus-summary-high-ancient-face ((t (:foreground "RoyalBlue" :bold t)))) + (gnus-summary-high-read-face ((t (:foreground "DarkGreen" :bold t)))) + (gnus-summary-high-ticked-face ((t (:foreground "firebrick" :bold t)))) + (gnus-summary-high-unread-face ((t (:bold t)))) + (gnus-summary-low-ancient-face ((t (:foreground "RoyalBlue" :italic t)))) + (gnus-summary-low-read-face ((t (:foreground "DarkGreen" :italic t)))) + (gnus-summary-low-ticked-face ((t (:foreground "firebrick" :italic t)))) + (gnus-summary-low-unread-face ((t (:italic t)))) + (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) + (gnus-summary-normal-ticked-face ((t (:foreground "firebrick")))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-selected-face ((t (:underline t)))) + (highlight ((t (:background "darkseagreen2")))) + (highlight-changes-delete-face ((t (:foreground "red" :underline t)))) + (highlight-changes-face ((t (:foreground "red")))) + (highline-face ((t (:background "paleturquoise")))) + (holiday-face ((t (:background "pink")))) + (info-menu-5 ((t (:underline t)))) + (info-node ((t (:bold t :italic t)))) + (info-xref ((t (:bold t)))) + (italic ((t (:italic t)))) + (makefile-space-face ((t (:background "hotpink")))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:foreground "MidnightBlue")))) + (message-header-name-face ((t (:foreground "cornflower blue")))) + (message-header-newsgroups-face ((t (:foreground "blue4" :bold t :italic t)))) + (message-header-other-face ((t (:foreground "steel blue")))) + (message-header-subject-face ((t (:foreground "navy blue" :bold t)))) + (message-header-to-face ((t (:foreground "MidnightBlue" :bold t)))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-separator-face ((t (:foreground "brown")))) + (modeline ((t (:foreground "white" :background "black")))) + (modeline-buffer-id ((t (:foreground "white" :background "black")))) + (modeline-mousable ((t (:foreground "white" :background "black")))) + (modeline-mousable-minor-mode ((t (:foreground "white" :background "black")))) + (region ((t (:background "gray")))) + (secondary-selection ((t (:background "paleturquoise")))) + (show-paren-match-face ((t (:background "turquoise")))) + (show-paren-mismatch-face ((t (:foreground "white" :background "purple")))) + (speedbar-button-face ((t (:foreground "green4")))) + (speedbar-directory-face ((t (:foreground "blue4")))) + (speedbar-file-face ((t (:foreground "cyan4")))) + (speedbar-highlight-face ((t (:background "green")))) + (speedbar-selected-face ((t (:foreground "red" :underline t)))) + (speedbar-tag-face ((t (:foreground "brown")))) + (term-black ((t (:foreground "black")))) + (term-blackbg ((t (:background "black")))) + (term-blue ((t (:foreground "blue")))) + (term-bluebg ((t (:background "blue")))) + (term-bold ((t (:bold t)))) + (term-cyan ((t (:foreground "cyan")))) + (term-cyanbg ((t (:background "cyan")))) + (term-default-bg ((t (nil)))) + (term-default-bg-inv ((t (nil)))) + (term-default-fg ((t (nil)))) + (term-default-fg-inv ((t (nil)))) + (term-green ((t (:foreground "green")))) + (term-greenbg ((t (:background "green")))) + (term-invisible ((t (nil)))) + (term-invisible-inv ((t (nil)))) + (term-magenta ((t (:foreground "magenta")))) + (term-magentabg ((t (:background "magenta")))) + (term-red ((t (:foreground "red")))) + (term-redbg ((t (:background "red")))) + (term-underline ((t (:underline t)))) + (term-white ((t (:foreground "white")))) + (term-whitebg ((t (:background "white")))) + (term-yellow ((t (:foreground "yellow")))) + (term-yellowbg ((t (:background "yellow")))) + (underline ((t (:underline t)))) + (vcursor ((t (:foreground "blue" :background "cyan" :underline t)))) + (vhdl-font-lock-attribute-face ((t (:foreground "Orchid")))) + (vhdl-font-lock-directive-face ((t (:foreground "CadetBlue")))) + (vhdl-font-lock-enumvalue-face ((t (:foreground "Gold4")))) + (vhdl-font-lock-function-face ((t (:foreground "Orchid4")))) + (vhdl-font-lock-prompt-face ((t (:foreground "Red" :bold t)))) + (vhdl-font-lock-reserved-words-face ((t (:foreground "Orange" :bold t)))) + (vhdl-font-lock-translate-off-face ((t (:background "LightGray")))) + (vhdl-speedbar-architecture-face ((t (:foreground "Blue")))) + (vhdl-speedbar-architecture-selected-face ((t (:foreground "Blue" :underline t)))) + (vhdl-speedbar-configuration-face ((t (:foreground "DarkGoldenrod")))) + (vhdl-speedbar-configuration-selected-face ((t (:foreground "DarkGoldenrod" :underline t)))) + (vhdl-speedbar-entity-face ((t (:foreground "ForestGreen")))) + (vhdl-speedbar-entity-selected-face ((t (:foreground "ForestGreen" :underline t)))) + (vhdl-speedbar-instantiation-face ((t (:foreground "Brown")))) + (vhdl-speedbar-instantiation-selected-face ((t (:foreground "Brown" :underline t)))) + (vhdl-speedbar-package-face ((t (:foreground "Grey50")))) + (vhdl-speedbar-package-selected-face ((t (:foreground "Grey50" :underline t)))) + (viper-minibuffer-emacs-face ((t (:foreground "Black" :background "darkseagreen2")))) + (viper-minibuffer-insert-face ((t (:foreground "Black" :background "pink")))) + (viper-minibuffer-vi-face ((t (:foreground "DarkGreen" :background "grey")))) + (viper-replace-overlay-face ((t (:foreground "Black" :background "darkseagreen2")))) + (viper-search-face ((t (:foreground "Black" :background "khaki")))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (widget-single-line-field-face ((t (:background "gray85"))))))) + +(defun color-theme-fischmeister () + "The light colors on a grey blackground. +Sebastian Fischmeister " + (interactive) + (color-theme-install + '(color-theme-fischmeister + ((foreground-color . "black") + (background-color . "gray80") + (mouse-color . "red") + (cursor-color . "yellow") + (border-color . "black") + (background-mode . light)) + (default ((t (nil)))) + (modeline ((t (:foreground "gray80" :background "black")))) + (modeline-buffer-id ((t (:foreground "gray80" :background "black")))) + (modeline-mousable ((t (:foreground "gray80" :background "black")))) + (modeline-mousable-minor-mode ((t (:foreground "gray80" :background "black")))) + (highlight ((t (:background "darkseagreen2")))) + (bold ((t (:bold t)))) + (italic ((t (:italic t)))) + (bold-italic ((t (:bold t :italic t)))) + (region ((t (:background "gray")))) + (secondary-selection ((t (:background "paleturquoise")))) + (underline ((t (:underline t)))) + (show-paren-match-face ((t (:foreground "yellow" :background "darkgreen")))) + (show-paren-mismatch-face ((t (:foreground "white" :background "red")))) + (font-lock-comment-face ((t (:foreground "FireBrick" :bold t :italic t)))) + (font-lock-string-face ((t (:foreground "DarkSlateBlue" :italic t)))) + (font-lock-keyword-face ((t (:foreground "navy")))) + (font-lock-builtin-face ((t (:foreground "white")))) + (font-lock-function-name-face ((t (:foreground "Blue")))) + (font-lock-variable-name-face ((t (:foreground "Darkblue")))) + (font-lock-type-face ((t (:foreground "darkgreen")))) + (font-lock-constant-face ((t (:foreground "CadetBlue")))) + (font-lock-warning-face ((t (:foreground "Orchid" :bold t)))) + (font-lock-reference-face ((t (:foreground "SteelBlue"))))))) + +(defun color-theme-sitaramv-solaris () + "White on a midnight blue background. Lots of yellow and orange. +Includes faces for font-lock, widget, custom, speedbar, message, gnus, +eshell." + (interactive) + (color-theme-install + '(color-theme-sitaramv-solaris + ((foreground-color . "white") + (background-color . "MidnightBlue") + (mouse-color . "yellow") + (cursor-color . "magenta2") + (border-color . "black") + (background-mode . dark)) + (default ((t (nil)))) + (modeline ((t (:foreground "black" :background "gold2")))) + (modeline-buffer-id ((t (:foreground "black" :background "gold2")))) + (modeline-mousable ((t (:foreground "black" :background "gold2")))) + (modeline-mousable-minor-mode ((t (:foreground "black" :background "gold2")))) + (highlight ((t (:foreground "black" :background "Aquamarine")))) + (bold ((t (:bold t)))) + (italic ((t (:italic t)))) + (bold-italic ((t (:bold t :italic t)))) + (region ((t (:foreground "black" :background "snow3")))) + (secondary-selection ((t (:foreground "black" :background "aquamarine")))) + (underline ((t (:underline t)))) + (lazy-highlight-face ((t (:foreground "yellow")))) + (font-lock-comment-face ((t (:foreground "orange" :italic t)))) + (font-lock-string-face ((t (:foreground "orange")))) + (font-lock-keyword-face ((t (:foreground "green")))) + (font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) + (font-lock-function-name-face ((t (:foreground "cyan" :bold t)))) + (font-lock-variable-name-face ((t (:foreground "white")))) + (font-lock-type-face ((t (:foreground "cyan")))) + (font-lock-constant-face ((t (:foreground "Aquamarine")))) + (font-lock-warning-face ((t (:foreground "Pink" :bold t)))) + (widget-documentation-face ((t (:foreground "lime green")))) + (widget-button-face ((t (:bold t)))) + (widget-field-face ((t (:background "dim gray")))) + (widget-single-line-field-face ((t (:background "dim gray")))) + (widget-inactive-face ((t (:foreground "light gray")))) + (widget-button-pressed-face ((t (:foreground "red")))) + (custom-invalid-face ((t (:foreground "yellow" :background "red")))) + (custom-rogue-face ((t (:foreground "pink" :background "black")))) + (custom-modified-face ((t (:foreground "white" :background "blue")))) + (custom-set-face ((t (:foreground "blue" :background "white")))) + (custom-changed-face ((t (:foreground "white" :background "blue")))) + (custom-saved-face ((t (:underline t)))) + (custom-button-face ((t (nil)))) + (custom-documentation-face ((t (nil)))) + (custom-state-face ((t (:foreground "lime green")))) + (custom-variable-tag-face ((t (:foreground "light blue" :underline t)))) + (custom-variable-button-face ((t (:bold t :underline t)))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face-1 ((t (:foreground "pink" :underline t)))) + (custom-group-tag-face ((t (:foreground "light blue" :underline t)))) + (speedbar-button-face ((t (:foreground "green3")))) + (speedbar-file-face ((t (:foreground "cyan")))) + (speedbar-directory-face ((t (:foreground "light blue")))) + (speedbar-tag-face ((t (:foreground "yellow")))) + (speedbar-selected-face ((t (:foreground "red" :underline t)))) + (speedbar-highlight-face ((t (:background "sea green")))) + (font-lock-doc-string-face ((t (:foreground "Plum1" :bold t)))) + (font-lock-exit-face ((t (:foreground "green")))) + (ff-paths-non-existant-file-face ((t (:foreground "NavyBlue" :bold t)))) + (show-paren-match-face ((t (:background "red")))) + (show-paren-mismatch-face ((t (:foreground "white" :background "purple")))) + (message-header-to-face ((t (:foreground "green2" :bold t)))) + (message-header-cc-face ((t (:foreground "LightGoldenrod" :bold t)))) + (message-header-subject-face ((t (:foreground "green3")))) + (message-header-newsgroups-face ((t (:foreground "yellow" :bold t :italic t)))) + (message-header-other-face ((t (:foreground "Salmon")))) + (message-header-name-face ((t (:foreground "green3")))) + (message-header-xheader-face ((t (:foreground "GreenYellow")))) + (message-separator-face ((t (:foreground "Tan")))) + (message-cited-text-face ((t (:foreground "Gold")))) + (message-mml-face ((t (:foreground "ForestGreen")))) + (gnus-group-news-1-face ((t (:foreground "PaleTurquoise" :bold t)))) + (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) + (gnus-group-news-2-face ((t (:foreground "turquoise" :bold t)))) + (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) + (gnus-group-news-3-face ((t (:bold t)))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-low-face ((t (:foreground "DarkTurquoise" :bold t)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) + (gnus-group-mail-1-face ((t (:foreground "aquamarine1" :bold t)))) + (gnus-group-mail-1-empty-face ((t (:foreground "aquamarine1")))) + (gnus-group-mail-2-face ((t (:foreground "aquamarine2" :bold t)))) + (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) + (gnus-group-mail-3-face ((t (:foreground "aquamarine3" :bold t)))) + (gnus-group-mail-3-empty-face ((t (:foreground "aquamarine3")))) + (gnus-group-mail-low-face ((t (:foreground "aquamarine4" :bold t)))) + (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) + (gnus-summary-selected-face ((t (:underline t)))) + (gnus-summary-cancelled-face ((t (:foreground "yellow" :background "black")))) + (gnus-summary-high-ticked-face ((t (:foreground "pink" :bold t)))) + (gnus-summary-low-ticked-face ((t (:foreground "pink" :italic t)))) + (gnus-summary-normal-ticked-face ((t (:foreground "pink")))) + (gnus-summary-high-ancient-face ((t (:foreground "SkyBlue" :bold t)))) + (gnus-summary-low-ancient-face ((t (:foreground "SkyBlue" :italic t)))) + (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) + (gnus-summary-high-unread-face ((t (:bold t)))) + (gnus-summary-low-unread-face ((t (:italic t)))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-high-read-face ((t (:foreground "PaleGreen" :bold t)))) + (gnus-summary-low-read-face ((t (:foreground "PaleGreen" :italic t)))) + (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) + (gnus-splash-face ((t (:foreground "Brown")))) + (eshell-ls-directory-face ((t (:foreground "SkyBlue" :bold t)))) + (eshell-ls-symlink-face ((t (:foreground "Cyan" :bold t)))) + (eshell-ls-executable-face ((t (:foreground "Green" :bold t)))) + (eshell-ls-readonly-face ((t (:foreground "Pink")))) + (eshell-ls-unreadable-face ((t (:foreground "DarkGrey")))) + (eshell-ls-special-face ((t (:foreground "Magenta" :bold t)))) + (eshell-ls-missing-face ((t (:foreground "Red" :bold t)))) + (eshell-ls-archive-face ((t (:foreground "Orchid" :bold t)))) + (eshell-ls-backup-face ((t (:foreground "LightSalmon")))) + (eshell-ls-product-face ((t (:foreground "LightSalmon")))) + (eshell-ls-clutter-face ((t (:foreground "OrangeRed" :bold t)))) + (eshell-prompt-face ((t (:foreground "Pink" :bold t)))) + (term-default-fg ((t (nil)))) + (term-default-bg ((t (nil)))) + (term-default-fg-inv ((t (nil)))) + (term-default-bg-inv ((t (nil)))) + (term-bold ((t (:bold t)))) + (term-underline ((t (:underline t)))) + (term-invisible ((t (nil)))) + (term-invisible-inv ((t (nil)))) + (term-black ((t (:foreground "black")))) + (term-red ((t (:foreground "red")))) + (term-green ((t (:foreground "green")))) + (term-yellow ((t (:foreground "yellow")))) + (term-blue ((t (:foreground "blue")))) + (term-magenta ((t (:foreground "magenta")))) + (term-cyan ((t (:foreground "cyan")))) + (term-white ((t (:foreground "white")))) + (term-blackbg ((t (:background "black")))) + (term-redbg ((t (:background "red")))) + (term-greenbg ((t (:background "green")))) + (term-yellowbg ((t (:background "yellow")))) + (term-bluebg ((t (:background "blue")))) + (term-magentabg ((t (:background "magenta")))) + (term-cyanbg ((t (:background "cyan")))) + (term-whitebg ((t (:background "white")))) + (gnus-emphasis-bold ((t (:bold t)))) + (gnus-emphasis-italic ((t (:italic t)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:bold t :underline t)))) + (gnus-emphasis-underline-italic ((t (:italic t :underline t)))) + (gnus-emphasis-bold-italic ((t (:bold t :italic t)))) + (gnus-emphasis-underline-bold-italic ((t (:bold t :italic t :underline t)))) + (gnus-emphasis-highlight-words ((t (:foreground "yellow" :background "black")))) + (gnus-signature-face ((t (:italic t)))) + (gnus-header-from-face ((t (:foreground "spring green")))) + (gnus-header-subject-face ((t (:foreground "yellow" :bold t)))) + (gnus-header-newsgroups-face ((t (:foreground "SeaGreen3" :bold t :italic t)))) + (gnus-header-name-face ((t (:foreground "pink")))) + (gnus-header-content-face ((t (:foreground "lime green" :italic t)))) + (gnus-cite-attribution-face ((t (:italic t)))) + (gnus-cite-face-1 ((t (:foreground "light blue")))) + (gnus-cite-face-2 ((t (:foreground "light cyan")))) + (gnus-cite-face-3 ((t (:foreground "light yellow")))) + (gnus-cite-face-4 ((t (:foreground "light pink")))) + (gnus-cite-face-5 ((t (:foreground "pale green")))) + (gnus-cite-face-6 ((t (:foreground "beige")))) + (gnus-cite-face-7 ((t (:foreground "orange")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-cite-face-10 ((t (:foreground "medium purple")))) + (gnus-cite-face-11 ((t (:foreground "turquoise"))))))) + +(defun color-theme-sitaramv-nt () + "Black foreground on white background. +Includes faces for font-lock, widget, custom, speedbar." + (interactive) + (color-theme-install + '(color-theme-sitaramv-nt + ((foreground-color . "black") + (background-color . "white") + (mouse-color . "sienna3") + (cursor-color . "HotPink") + (border-color . "Blue") + (background-mode . light)) + (default ((t (nil)))) + (modeline ((t (:foreground "black" :background "gold2")))) + (modeline-buffer-id ((t (:foreground "black" :background "gold2")))) + (modeline-mousable ((t (:foreground "black" :background "gold2")))) + (modeline-mousable-minor-mode ((t (:foreground "black" :background "gold2")))) + (highlight ((t (:foreground "black" :background "darkseagreen2")))) + (bold ((t (:bold t)))) + (italic ((t (:italic t)))) + (bold-italic ((t (:bold t :italic t)))) + (region ((t (:foreground "black" :background "snow3")))) + (secondary-selection ((t (:background "paleturquoise")))) + (underline ((t (:underline t)))) + (lazy-highlight-face ((t (:foreground "dark magenta" :bold t)))) + (font-lock-comment-face ((t (:foreground "ForestGreen" :italic t)))) + (font-lock-string-face ((t (:foreground "red")))) + (font-lock-keyword-face ((t (:foreground "blue" :bold t)))) + (font-lock-builtin-face ((t (:foreground "black")))) + (font-lock-function-name-face ((t (:foreground "dark magenta" :bold t)))) + (font-lock-variable-name-face ((t (:foreground "black")))) + (font-lock-type-face ((t (:foreground "blue")))) + (font-lock-constant-face ((t (:foreground "CadetBlue")))) + (font-lock-warning-face ((t (:foreground "Red" :bold t)))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-button-face ((t (:bold t)))) + (widget-field-face ((t (:background "gray85")))) + (widget-single-line-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (widget-button-pressed-face ((t (:foreground "red")))) + (custom-invalid-face ((t (:foreground "yellow" :background "red")))) + (custom-rogue-face ((t (:foreground "pink" :background "black")))) + (custom-modified-face ((t (:foreground "white" :background "blue")))) + (custom-set-face ((t (:foreground "blue" :background "white")))) + (custom-changed-face ((t (:foreground "white" :background "blue")))) + (custom-saved-face ((t (:underline t)))) + (custom-button-face ((t (nil)))) + (custom-documentation-face ((t (nil)))) + (custom-state-face ((t (:foreground "dark green")))) + (custom-variable-tag-face ((t (:foreground "blue" :underline t)))) + (custom-variable-button-face ((t (:bold t :underline t)))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face-1 ((t (:foreground "red" :underline t)))) + (custom-group-tag-face ((t (:foreground "blue" :underline t)))) + (speedbar-button-face ((t (:foreground "green4")))) + (speedbar-file-face ((t (:foreground "cyan4")))) + (speedbar-directory-face ((t (:foreground "blue4")))) + (speedbar-tag-face ((t (:foreground "brown")))) + (speedbar-selected-face ((t (:foreground "red" :underline t)))) + (speedbar-highlight-face ((t (:background "green")))) + (ff-paths-non-existant-file-face ((t (:foreground "NavyBlue" :bold t)))) + (show-paren-match-face ((t (:background "light blue")))) + (show-paren-mismatch-face ((t (:foreground "white" :background "purple"))))))) + +(defun color-theme-billw () + "Cornsilk on black. +Includes info, diary, font-lock, eshell, sgml, message, gnus, +widget, custom, latex, ediff." + (interactive) + (color-theme-install + '(color-theme-billw + ((foreground-color . "cornsilk") + (background-color . "black") + (mouse-color . "black") + (cursor-color . "white") + (border-color . "black") + (background-mode . dark)) + (default ((t (nil)))) + (modeline ((t (:foreground "black" :background "wheat")))) + (modeline-buffer-id ((t (:foreground "black" :background "wheat")))) + (modeline-mousable ((t (:foreground "black" :background "wheat")))) + (modeline-mousable-minor-mode ((t (:foreground "black" :background "wheat")))) + (highlight ((t (:foreground "wheat" :background "darkslategray")))) + (bold ((t (:bold t)))) + (italic ((t (:italic t)))) + (bold-italic ((t (:bold t :italic t)))) + (region ((t (:background "dimgray")))) + (secondary-selection ((t (:background "deepskyblue4")))) + (underline ((t (:underline t)))) + (info-node ((t (:foreground "yellow" :bold t :italic t)))) + (info-menu-5 ((t (:underline t)))) + (info-xref ((t (:foreground "yellow" :bold t)))) + (diary-face ((t (:foreground "orange")))) + (calendar-today-face ((t (:underline t)))) + (holiday-face ((t (:background "red")))) + (show-paren-match-face ((t (:background "deepskyblue4")))) + (show-paren-mismatch-face ((t (:foreground "white" :background "red")))) + (font-lock-comment-face ((t (:foreground "gold")))) + (font-lock-string-face ((t (:foreground "orange")))) + (font-lock-keyword-face ((t (:foreground "cyan1")))) + (font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) + (font-lock-function-name-face ((t (:foreground "mediumspringgreen")))) + (font-lock-variable-name-face ((t (:foreground "light salmon")))) + (font-lock-type-face ((t (:foreground "yellow1")))) + (font-lock-constant-face ((t (:foreground "salmon")))) + (font-lock-warning-face ((t (:foreground "gold" :bold t)))) + (blank-space-face ((t (:background "LightGray")))) + (blank-tab-face ((t (:foreground "black" :background "cornsilk")))) + (highline-face ((t (:background "gray35")))) + (eshell-ls-directory-face ((t (:foreground "green" :bold t)))) + (eshell-ls-symlink-face ((t (:foreground "Cyan" :bold t)))) + (eshell-ls-executable-face ((t (:foreground "orange" :bold t)))) + (eshell-ls-readonly-face ((t (:foreground "gray")))) + (eshell-ls-unreadable-face ((t (:foreground "DarkGrey")))) + (eshell-ls-special-face ((t (:foreground "Magenta" :bold t)))) + (eshell-ls-missing-face ((t (:foreground "Red" :bold t)))) + (eshell-ls-archive-face ((t (:foreground "Orchid" :bold t)))) + (eshell-ls-backup-face ((t (:foreground "LightSalmon")))) + (eshell-ls-product-face ((t (:foreground "LightSalmon")))) + (eshell-ls-clutter-face ((t (:foreground "blue" :bold t)))) + (sgml-start-tag-face ((t (:foreground "mediumspringgreen")))) + (custom-button-face ((t (:foreground "white")))) + (sgml-ignored-face ((t (:foreground "gray20" :background "gray60")))) + (sgml-doctype-face ((t (:foreground "orange")))) + (sgml-sgml-face ((t (:foreground "yellow")))) + (vc-annotate-face-0046FF ((t (:foreground "wheat" :background "black")))) + (custom-documentation-face ((t (:foreground "white")))) + (sgml-end-tag-face ((t (:foreground "greenyellow")))) + (linemenu-face ((t (:background "gray30")))) + (sgml-entity-face ((t (:foreground "gold")))) + (message-header-to-face ((t (:foreground "floral white" :bold t)))) + (message-header-cc-face ((t (:foreground "ivory")))) + (message-header-subject-face ((t (:foreground "papaya whip" :bold t)))) + (message-header-newsgroups-face ((t (:foreground "lavender blush" :bold t :italic t)))) + (message-header-other-face ((t (:foreground "pale turquoise")))) + (message-header-name-face ((t (:foreground "light sky blue")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-separator-face ((t (:foreground "sandy brown")))) + (message-cited-text-face ((t (:foreground "plum1")))) + (message-mml-face ((t (:foreground "ForestGreen")))) + (gnus-group-news-1-face ((t (:foreground "white" :bold t)))) + (gnus-group-news-1-empty-face ((t (:foreground "white")))) + (gnus-group-news-2-face ((t (:foreground "lightcyan" :bold t)))) + (gnus-group-news-2-empty-face ((t (:foreground "lightcyan")))) + (gnus-group-news-3-face ((t (:foreground "tan" :bold t)))) + (gnus-group-news-3-empty-face ((t (:foreground "tan")))) + (gnus-group-news-4-face ((t (:foreground "white" :bold t)))) + (gnus-group-news-4-empty-face ((t (:foreground "white")))) + (gnus-group-news-5-face ((t (:foreground "wheat" :bold t)))) + (gnus-group-news-5-empty-face ((t (:foreground "wheat")))) + (gnus-group-news-6-face ((t (:foreground "tan" :bold t)))) + (gnus-group-news-6-empty-face ((t (:foreground "tan")))) + (gnus-group-news-low-face ((t (:foreground "DarkTurquoise" :bold t)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) + (gnus-group-mail-1-face ((t (:foreground "white" :bold t)))) + (gnus-group-mail-1-empty-face ((t (:foreground "gray80")))) + (gnus-group-mail-2-face ((t (:foreground "lightcyan" :bold t)))) + (gnus-group-mail-2-empty-face ((t (:foreground "lightcyan")))) + (gnus-group-mail-3-face ((t (:foreground "tan" :bold t)))) + (gnus-group-mail-3-empty-face ((t (:foreground "tan")))) + (gnus-group-mail-low-face ((t (:foreground "aquamarine4" :bold t)))) + (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) + (gnus-summary-selected-face ((t (:background "deepskyblue4" :underline t)))) + (gnus-summary-cancelled-face ((t (:foreground "black" :background "gray")))) + (gnus-summary-high-ticked-face ((t (:foreground "gray70" :bold t)))) + (gnus-summary-low-ticked-face ((t (:foreground "gray70" :bold t)))) + (gnus-summary-normal-ticked-face ((t (:foreground "gray70" :bold t)))) + (gnus-summary-high-ancient-face ((t (:foreground "SkyBlue" :bold t)))) + (gnus-summary-low-ancient-face ((t (:foreground "SkyBlue" :italic t)))) + (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) + (gnus-summary-high-unread-face ((t (:bold t)))) + (gnus-summary-low-unread-face ((t (:italic t)))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-high-read-face ((t (:foreground "PaleGreen" :bold t)))) + (gnus-summary-low-read-face ((t (:foreground "PaleGreen" :italic t)))) + (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) + (gnus-splash-face ((t (:foreground "gold")))) + (font-latex-bold-face ((t (nil)))) + (font-latex-italic-face ((t (nil)))) + (font-latex-math-face ((t (nil)))) + (font-latex-sedate-face ((t (:foreground "Gray85")))) + (font-latex-string-face ((t (:foreground "orange")))) + (font-latex-warning-face ((t (:foreground "gold")))) + (widget-documentation-face ((t (:foreground "lime green")))) + (widget-button-face ((t (:bold t)))) + (widget-field-face ((t (:background "gray20")))) + (widget-single-line-field-face ((t (:background "gray20")))) + (widget-inactive-face ((t (:foreground "wheat")))) + (widget-button-pressed-face ((t (:foreground "red")))) + (custom-invalid-face ((t (:foreground "yellow" :background "red")))) + (custom-rogue-face ((t (:foreground "pink" :background "black")))) + (custom-modified-face ((t (:foreground "white" :background "blue")))) + (custom-set-face ((t (:foreground "blue")))) + (custom-changed-face ((t (:foreground "wheat" :background "skyblue")))) + (custom-saved-face ((t (:underline t)))) + (custom-state-face ((t (:foreground "light green")))) + (custom-variable-tag-face ((t (:foreground "skyblue" :underline t)))) + (custom-variable-button-face ((t (:bold t :underline t)))) + (custom-face-tag-face ((t (:foreground "white" :underline t)))) + (custom-group-tag-face-1 ((t (:foreground "pink" :underline t)))) + (custom-group-tag-face ((t (:foreground "skyblue" :underline t)))) + (swbuff-current-buffer-face ((t (:foreground "red" :bold t)))) + (ediff-current-diff-face-A ((t (:foreground "firebrick" :background "pale green")))) + (ediff-current-diff-face-B ((t (:foreground "DarkOrchid" :background "Yellow")))) + (ediff-current-diff-face-C ((t (:foreground "white" :background "indianred")))) + (ediff-current-diff-face-Ancestor ((t (:foreground "Black" :background "VioletRed")))) + (ediff-fine-diff-face-A ((t (:foreground "Navy" :background "sky blue")))) + (ediff-fine-diff-face-B ((t (:foreground "Black" :background "cyan")))) + (ediff-fine-diff-face-C ((t (:foreground "Black" :background "Turquoise")))) + (ediff-fine-diff-face-Ancestor ((t (:foreground "Black" :background "Green")))) + (ediff-even-diff-face-A ((t (:foreground "Black" :background "light grey")))) + (ediff-even-diff-face-B ((t (:foreground "White" :background "Grey")))) + (ediff-even-diff-face-C ((t (:foreground "Black" :background "light grey")))) + (ediff-even-diff-face-Ancestor ((t (:foreground "White" :background "Grey")))) + (ediff-odd-diff-face-A ((t (:foreground "White" :background "Grey")))) + (ediff-odd-diff-face-B ((t (:foreground "Black" :background "light grey")))) + (ediff-odd-diff-face-C ((t (:foreground "White" :background "Grey")))) + (ediff-odd-diff-face-Ancestor ((t (:foreground "Black" :background "light grey")))) + (gnus-emphasis-bold ((t (:bold t)))) + (gnus-emphasis-italic ((t (:italic t)))) + (gnus-emphasis-underline ((t (:foreground "white" :background "goldenrod4")))) + (gnus-emphasis-underline-bold ((t (:foreground "black" :background "yellow" :bold t :underline t)))) + (gnus-emphasis-underline-italic ((t (:foreground "black" :background "yellow" :italic t :underline t)))) + (gnus-emphasis-bold-italic ((t (:bold t :italic t)))) + (gnus-emphasis-underline-bold-italic ((t (:foreground "black" :background "yellow" :bold t :italic t :underline t)))) + (gnus-emphasis-highlight-words ((t (:foreground "yellow" :background "black")))) + (gnus-signature-face ((t (:italic t)))) + (gnus-header-from-face ((t (:foreground "wheat")))) + (gnus-header-subject-face ((t (:foreground "wheat" :bold t)))) + (gnus-header-newsgroups-face ((t (:foreground "wheat" :italic t)))) + (gnus-header-name-face ((t (:foreground "white")))) + (gnus-header-content-face ((t (:foreground "tan" :italic t)))) + (gnus-filterhist-face-1 ((t (nil)))) + (gnus-splash ((t (:foreground "Brown")))) + (gnus-cite-attribution-face ((t (:italic t)))) + (gnus-cite-face-1 ((t (:foreground "light blue")))) + (gnus-cite-face-2 ((t (:foreground "light cyan")))) + (gnus-cite-face-3 ((t (:foreground "light yellow")))) + (gnus-cite-face-4 ((t (:foreground "light pink")))) + (gnus-cite-face-5 ((t (:foreground "pale green")))) + (gnus-cite-face-6 ((t (:foreground "beige")))) + (gnus-cite-face-7 ((t (:foreground "orange")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-cite-face-10 ((t (:foreground "medium purple")))) + (gnus-cite-face-11 ((t (:foreground "turquoise"))))))) + +(defun color-theme-retro-green (&optional color func) + "Plain green on black faces for those longing for the good old days." + (interactive) + ;; Build a list of faces without parameters + (let ((old-faces (face-list)) + (faces) + (face) + (foreground (or color "green"))) + (dolist (face old-faces) + (cond ((memq face '(bold bold-italic)) + (add-to-list 'faces `(,face (( t (:bold t)))))) + ((memq face '(italic underline show-paren-mismatch-face)) + (add-to-list 'faces `(,face (( t (:underline t)))))) + ((memq face '(modeline modeline-buffer-id modeline-mousable + modeline-mousable-minor-mode highlight region + secondary-selection show-paren-match-face)) + (add-to-list 'faces `(,face (( t (:foreground "black" + :background ,foreground + :inverse t)))))) + (t + (add-to-list 'faces `(,face (( t (nil)))))))) + (color-theme-install + (append + (list (or func 'color-theme-retro-green) + (list (cons 'foreground-color foreground) + (cons 'background-color "black") + (cons 'mouse-color foreground) + (cons 'cursor-color foreground) + (cons 'border-color foreground) + (cons 'background-mode 'dark))) + faces)))) + +(defun color-theme-retro-orange () + "Plain orange on black faces for those longing for the good old days." + (interactive) + (color-theme-retro-green "orange" 'color-theme-retro-orange)) + +(defun color-theme-subtle-hacker () + "Subtle Hacker Color Theme. +Based on gnome2, but uses white for important things like comments, +and less of the unreadable tomato. By Colin Walters " + (interactive) + (color-theme-gnome2) + (let ((color-theme-is-cumulative t)) + (color-theme-install + '(color-theme-subtle-hacker + nil + nil + (custom-state-face ((t (:foreground "Coral")))) + (diary-face ((t (:bold t :foreground "IndianRed")))) + (eshell-ls-clutter-face ((t (:bold t :foreground "DimGray")))) + (eshell-ls-executable-face ((t (:bold t :foreground "Coral")))) + (eshell-ls-missing-face ((t (:bold t :foreground "black")))) + (eshell-ls-special-face ((t (:bold t :foreground "Gold")))) + (eshell-ls-symlink-face ((t (:bold t :foreground "White")))) + (font-lock-comment-face ((t (:foreground "White")))) + (font-lock-constant-face ((t (:bold t :foreground "Aquamarine")))) + (font-lock-function-name-face ((t (:bold t :foreground "MediumSlateBlue")))) + (font-lock-string-face ((t (:italic t :foreground "LightSalmon")))) + (font-lock-variable-name-face ((t (:italic t :bold t :foreground "Aquamarine")))) + (gnus-cite-face-1 ((t (:foreground "dark khaki")))) + (gnus-cite-face-2 ((t (:foreground "chocolate")))) + (gnus-cite-face-3 ((t (:foreground "tomato")))) + (gnus-group-mail-1-empty-face ((t (:foreground "light cyan")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "light cyan")))) + (gnus-group-mail-2-empty-face ((t (:foreground "turquoise")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "turquoise")))) + (gnus-group-mail-3-empty-face ((t (:foreground "tomato")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "tomato")))) + (gnus-group-mail-low-empty-face ((t (:foreground "dodger blue")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "dodger blue")))) + (gnus-group-news-1-empty-face ((t (:foreground "green yellow")))) + (gnus-group-news-1-face ((t (:bold t :foreground "green yellow")))) + (gnus-group-news-2-empty-face ((t (:foreground "dark orange")))) + (gnus-group-news-2-face ((t (:bold t :foreground "dark orange")))) + (gnus-group-news-3-empty-face ((t (:foreground "tomato")))) + (gnus-group-news-3-face ((t (:bold t :foreground "tomato")))) + (gnus-group-news-low-empty-face ((t (:foreground "yellow green")))) + (gnus-group-news-low-face ((t (:bold t :foreground "yellow green")))) + (gnus-header-name-face ((t (:bold t :foreground "DodgerBlue1")))) + (gnus-header-newsgroups-face ((t (:italic t :bold t :foreground "LightSkyBlue3")))) + (gnus-signature-face ((t (:foreground "salmon")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) + (gnus-summary-high-read-face ((t (:bold t :foreground "forest green")))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "burlywood")))) + (gnus-summary-high-unread-face ((t (:italic t :bold t :foreground "cyan")))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "chocolate")))) + (gnus-summary-low-read-face ((t (:foreground "light sea green")))) + (gnus-summary-low-ticked-face ((t (:italic t :foreground "chocolate")))) + (gnus-summary-low-unread-face ((t (:italic t :foreground "light sea green")))) + (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "khaki")))) + (gnus-summary-normal-ticked-face ((t (:foreground "sandy brown")))) + (gnus-summary-normal-unread-face ((t (:foreground "aquamarine")))) + (message-cited-text-face ((t (:foreground "White")))) + (message-header-name-face ((t (:foreground "DodgerBlue1")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "LightSkyBlue3")))) + (message-header-other-face ((t (:foreground "LightSkyBlue3")))) + (message-header-xheader-face ((t (:foreground "DodgerBlue3")))))))) + +(defun color-theme-pok-wog () + "Low-contrast White-on-Gray by S.Pokrovsky. + +The following might be a good addition to your .Xdefaults file: + +Emacs.pane.menubar.background: darkGrey +Emacs.pane.menubar.foreground: black" + (interactive) + (color-theme-install + '(color-theme-pok-wog + ((foreground-color . "White") + (background-color . "DarkSlateGray") + (mouse-color . "gold") + (cursor-color . "Cyan") + (border-color . "black") + (background-mode . dark)) + (default ((t (nil)))) + (bold ((t (:bold t :foreground "Wheat")))) + (bold-italic ((t (:italic t :bold t :foreground "wheat")))) + (calendar-today-face ((t (:underline t :foreground "white")))) + (diary-face ((t (:foreground "red")))) + (font-lock-builtin-face ((t (:bold t :foreground "cyan")))) + (font-lock-comment-face ((t (:foreground "Gold")))) + (font-lock-constant-face ((t (:bold t :foreground "LightSteelBlue")))) + (font-lock-function-name-face ((t (:bold t :foreground "Yellow")))) + (font-lock-keyword-face ((t (:bold t :foreground "Cyan")))) + (font-lock-string-face ((t (:foreground "Khaki")))) + (font-lock-type-face ((t (:bold t :foreground "Cyan")))) + (font-lock-variable-name-face ((t (:foreground "LightGoldenrod")))) + (font-lock-warning-face ((t (:bold t :foreground "Pink")))) + (gnus-cite-attribution-face ((t (:bold t :foreground "Wheat")))) + (gnus-cite-face-1 ((t (:foreground "wheat")))) + (gnus-cite-face-10 ((t (:foreground "wheat")))) + (gnus-cite-face-11 ((t (:foreground "turquoise")))) + (gnus-cite-face-2 ((t (:foreground "cyan")))) + (gnus-cite-face-3 ((t (:foreground "light yellow")))) + (gnus-cite-face-4 ((t (:foreground "light pink")))) + (gnus-cite-face-5 ((t (:foreground "pale green")))) + (gnus-cite-face-6 ((t (:foreground "beige")))) + (gnus-cite-face-7 ((t (:foreground "orange")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-emphasis-bold ((t (:bold t :foreground "wheat")))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) + (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) + (gnus-emphasis-italic ((t (:italic t :foreground "white")))) + (gnus-emphasis-underline ((t (:underline t :foreground "white")))) + (gnus-emphasis-underline-bold ((t (:underline t :bold t :foreground "wheat")))) + (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t)))) + (gnus-emphasis-underline-italic ((t (:underline t :italic t :foreground "white")))) + (gnus-group-mail-1-empty-face ((t (:foreground "aquamarine1")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "aquamarine1")))) + (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "aquamarine2")))) + (gnus-group-mail-3-empty-face ((t (:foreground "Salmon")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "gold")))) + (gnus-group-mail-low-empty-face ((t (:foreground "Wheat")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "aquamarine4")))) + (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) + (gnus-group-news-1-face ((t (:bold t :foreground "PaleTurquoise")))) + (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) + (gnus-group-news-2-face ((t (:bold t :foreground "turquoise")))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t :foreground "Wheat")))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkTurquoise")))) + (gnus-header-content-face ((t (:italic t :foreground "Wheat")))) + (gnus-header-from-face ((t (:foreground "light yellow")))) + (gnus-header-name-face ((t (:foreground "cyan")))) + (gnus-header-newsgroups-face ((t (:italic t :foreground "yellow")))) + (gnus-header-subject-face ((t (:bold t :foreground "Gold")))) + (gnus-signature-face ((t (:italic t :foreground "wheat")))) + (gnus-splash-face ((t (:foreground "orange")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "SkyBlue")))) + (gnus-summary-high-read-face ((t (:bold t :foreground "PaleGreen")))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "pink")))) + (gnus-summary-high-unread-face ((t (:bold t :foreground "gold")))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "SkyBlue")))) + (gnus-summary-low-read-face ((t (:italic t :foreground "PaleGreen")))) + (gnus-summary-low-ticked-face ((t (:italic t :foreground "pink")))) + (gnus-summary-low-unread-face ((t (:italic t)))) + (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) + (gnus-summary-normal-ticked-face ((t (:foreground "pink")))) + (gnus-summary-normal-unread-face ((t (:foreground "wheat")))) + (gnus-summary-selected-face ((t (:underline t :foreground "white")))) + (highlight ((t (:background "Blue" :foreground "white")))) + (highline-face ((t (:background "black" :foreground "white")))) + (holiday-face ((t (:background "pink" :foreground "white")))) + (info-menu-5 ((t (:underline t)))) + (info-node ((t (:italic t :bold t :foreground "white")))) + (info-xref ((t (:bold t :foreground "wheat")))) + (italic ((t (:italic t :foreground "white")))) + (makefile-space-face ((t (:background "hotpink")))) + (message-cited-text-face ((t (:foreground "green")))) + (message-header-cc-face ((t (:bold t :foreground "Aquamarine")))) + (message-header-name-face ((t (:foreground "Gold")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "yellow")))) + (message-header-other-face ((t (:foreground "lightGray")))) + (message-header-subject-face ((t (:foreground "Yellow")))) + (message-header-to-face ((t (:bold t :foreground "green2")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-mml-face ((t (:bold t :foreground "khaki")))) + (message-separator-face ((t (:background "aquamarine" :foreground "black")))) + (modeline ((t (:background "DarkGray" :foreground "Black")))) + (modeline-buffer-id ((t (:background "DarkGray" :foreground "Black")))) + (modeline-mousable ((t (:background "DarkGray" :foreground "Black")))) + (modeline-mousable-minor-mode ((t (:background "DarkGray" :foreground "Black")))) + (paren-mismatch-face ((t (:background "DeepPink" :foreground "white")))) + (paren-no-match-face ((t (:background "yellow" :foreground "white")))) + (region ((t (:background "MediumSlateBlue" :foreground "white")))) + (secondary-selection ((t (:background "Sienna" :foreground "white")))) + (show-paren-match-face ((t (:background "turquoise" :foreground "white")))) + (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) + (speedbar-button-face ((t (:bold t :foreground "magenta")))) + (speedbar-directory-face ((t (:bold t :foreground "orchid")))) + (speedbar-file-face ((t (:foreground "pink")))) + (speedbar-highlight-face ((t (:background "black")))) + (speedbar-selected-face ((t (:underline t :foreground "cyan")))) + (speedbar-tag-face ((t (:foreground "yellow")))) + (swbuff-current-buffer-face ((t (:bold t :foreground "red")))) + (underline ((t (:underline t :foreground "white")))) + (widget-button-face ((t (:bold t :foreground "wheat")))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "lime green")))) + (widget-field-face ((t (:background "dim gray" :foreground "white")))) + (widget-inactive-face ((t (:foreground "light gray")))) + (widget-single-line-field-face ((t (:background "dim gray" :foreground "white"))))))) + +(defun color-theme-pok-wob () + "White-on-Black by S. Pokrovsky. + +The following might be a good addition to your .Xdefaults file: + +Emacs.pane.menubar.background: darkGrey +Emacs.pane.menubar.foreground: black" + (interactive) +; (setq term-default-fg-color "white" +; term-default-bg "black") + (color-theme-install + '(color-theme-pok-wob + ((foreground-color . "white") + (background-color . "black") + (mouse-color . "gold") + (cursor-color . "yellow") + (border-color . "black") + (background-mode . dark)) + (default ((t (nil)))) + (bold ((t (:bold t :foreground "light gray")))) + (bold-italic ((t (:italic t :bold t :foreground "cyan")))) + (calendar-today-face ((t (:underline t :foreground "white")))) + (custom-button-face ((t (nil)))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face ((t (:underline t)))) + (custom-group-tag-face-1 ((t (:underline t)))) + (custom-invalid-face ((t (:background "red" :foreground "white")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (nil)))) + (custom-variable-button-face ((t (:underline t :bold t)))) + (custom-variable-tag-face ((t (:underline t)))) + (diary-face ((t (:foreground "gold")))) + (font-lock-builtin-face ((t (:bold t :foreground "cyan")))) + (font-lock-comment-face ((t (:foreground "Gold")))) + (font-lock-constant-face ((t (:bold t :foreground "LightSteelBlue")))) + (font-lock-function-name-face ((t (:bold t :foreground "gold")))) + (font-lock-keyword-face ((t (:bold t :foreground "Cyan")))) + (font-lock-string-face ((t (:foreground "Khaki")))) + (font-lock-type-face ((t (:bold t :foreground "Cyan")))) + (font-lock-variable-name-face ((t (:italic t :foreground "gold")))) + (font-lock-warning-face ((t (:bold t :foreground "Pink")))) + (gnus-cite-attribution-face ((t (:underline t :foreground "beige")))) + (gnus-cite-face-1 ((t (:foreground "gold")))) + (gnus-cite-face-10 ((t (:foreground "coral")))) + (gnus-cite-face-11 ((t (:foreground "turquoise")))) + (gnus-cite-face-2 ((t (:foreground "wheat")))) + (gnus-cite-face-3 ((t (:foreground "light pink")))) + (gnus-cite-face-4 ((t (:foreground "khaki")))) + (gnus-cite-face-5 ((t (:foreground "pale green")))) + (gnus-cite-face-6 ((t (:foreground "beige")))) + (gnus-cite-face-7 ((t (:foreground "orange")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-emphasis-bold ((t (:bold t :foreground "light gray")))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t :foreground "cyan")))) + (gnus-emphasis-highlight-words ((t (:background "black" :foreground "gold")))) + (gnus-emphasis-italic ((t (:italic t :foreground "cyan")))) + (gnus-emphasis-underline ((t (:underline t :foreground "white")))) + (gnus-emphasis-underline-bold ((t (:underline t :bold t :foreground "white")))) + (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t :foreground "white")))) + (gnus-emphasis-underline-italic ((t (:underline t :italic t :foreground "white")))) + (gnus-group-mail-1-empty-face ((t (:foreground "Magenta")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "Magenta")))) + (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "aquamarine2")))) + (gnus-group-mail-3-empty-face ((t (:foreground "Cyan")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "Cyan")))) + (gnus-group-mail-low-empty-face ((t (:foreground "Wheat")))) + (gnus-group-mail-low-face ((t (:foreground "aquamarine4")))) + (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) + (gnus-group-news-1-face ((t (:bold t :foreground "PaleTurquoise")))) + (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) + (gnus-group-news-2-face ((t (:bold t :foreground "turquoise")))) + (gnus-group-news-3-empty-face ((t (:foreground "wheat")))) + (gnus-group-news-3-face ((t (:bold t :foreground "Wheat")))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t)))) + (gnus-group-news-low-empty-face ((t (:foreground "MediumAquamarine")))) + (gnus-group-news-low-face ((t (:bold t :foreground "MediumAquamarine")))) + (gnus-header-content-face ((t (:italic t :foreground "Wheat")))) + (gnus-header-from-face ((t (:foreground "light yellow")))) + (gnus-header-name-face ((t (:foreground "Wheat")))) + (gnus-header-newsgroups-face ((t (:italic t :foreground "gold")))) + (gnus-header-subject-face ((t (:bold t :foreground "Gold")))) + (gnus-signature-face ((t (:italic t :foreground "white")))) + (gnus-splash-face ((t (:foreground "orange")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "orange")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "SkyBlue")))) + (gnus-summary-high-read-face ((t (:bold t :foreground "red")))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "coral")))) + (gnus-summary-high-unread-face ((t (:bold t :foreground "gold")))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "SkyBlue")))) + (gnus-summary-low-read-face ((t (:italic t :foreground "red")))) + (gnus-summary-low-ticked-face ((t (:italic t :foreground "coral")))) + (gnus-summary-low-unread-face ((t (:italic t :foreground "white")))) + (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) + (gnus-summary-normal-ticked-face ((t (:foreground "pink")))) + (gnus-summary-normal-unread-face ((t (:foreground "white")))) + (gnus-summary-selected-face ((t (:underline t :foreground "white")))) + (highlight ((t (:background "Blue" :foreground "white")))) + (highline-face ((t (:background "dark slate gray" :foreground "white")))) + (holiday-face ((t (:background "red" :foreground "white")))) + (info-menu-5 ((t (:underline t)))) + (info-node ((t (:italic t :bold t :foreground "white")))) + (info-xref ((t (:bold t :foreground "light gray")))) + (italic ((t (:italic t :foreground "cyan")))) + (makefile-space-face ((t (:background "hotpink" :foreground "white")))) + (message-cited-text-face ((t (:foreground "green")))) + (message-header-cc-face ((t (:bold t :foreground "Aquamarine")))) + (message-header-name-face ((t (:foreground "Gold")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "gold")))) + (message-header-other-face ((t (:foreground "lightGray")))) + (message-header-subject-face ((t (:foreground "Yellow")))) + (message-header-to-face ((t (:bold t :foreground "green2")))) + (message-header-xheader-face ((t (:foreground "sky blue")))) + (message-mml-face ((t (:bold t :foreground "khaki")))) + (message-separator-face ((t (:background "aquamarine" :foreground "black")))) + (modeline ((t (:background "dark gray" :foreground "black")))) + (modeline-buffer-id ((t (:background "dark gray" :foreground "black")))) + (modeline-mousable ((t (:background "dark gray" :foreground "black")))) + (modeline-mousable-minor-mode ((t (:background "dark gray" :foreground "black")))) + (paren-mismatch-face ((t (:bold t :background "white" :foreground "red")))) + (paren-no-match-face ((t (:bold t :background "white" :foreground "red")))) + (region ((t (:background "MediumSlateBlue" :foreground "white")))) + (secondary-selection ((t (:background "Sienna" :foreground "white")))) + (show-paren-match-face ((t (:background "purple" :foreground "white")))) + (show-paren-mismatch-face ((t (:bold t :background "white" :foreground "red")))) + (speedbar-button-face ((t (nil)))) + (speedbar-directory-face ((t (nil)))) + (speedbar-file-face ((t (:bold t)))) + (speedbar-highlight-face ((t (nil)))) + (speedbar-selected-face ((t (:underline t)))) + (speedbar-tag-face ((t (nil)))) + (swbuff-current-buffer-face ((t (:bold t :foreground "red")))) + (underline ((t (:underline t :foreground "white")))) + (widget-button-face ((t (:bold t :foreground "coral")))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "lime green")))) + (widget-field-face ((t (:background "dim gray" :foreground "white")))) + (widget-inactive-face ((t (:foreground "light gray")))) + (widget-single-line-field-face ((t (:background "dim gray" :foreground "white"))))))) + +(defun color-theme-blue-sea () + "The grey on midnight blue theme. + +Includes faces for apropos, font-lock (Emacs and XEmacs), speedbar, +custom, widget, info, flyspell, gnus, message, man, woman, dired. + +This is what you should put in your .Xdefaults file, if you want to +change the colors of the menus: + +emacs*Background: DarkSlateGray +emacs*Foreground: Wheat" + (interactive) + (color-theme-blue-gnus) + (let ((color-theme-is-cumulative t)) + (color-theme-blue-erc) + (color-theme-install + '(color-theme-blue-sea + ((background-color . "MidnightBlue") + (background-mode . dark) + (border-color . "Grey") + (cursor-color . "Grey") + (foreground-color . "Grey") + (mouse-color . "Grey")) + ((Man-overstrike-face . woman-bold-face) + (Man-underline-face . woman-italic-face)) + (default ((t (nil)))) + (bold ((t (:bold t)))) + (bold-italic ((t (:bold t :foreground "beige")))) + (calendar-today-face ((t (:underline t)))) + (cperl-array-face ((t (:foreground "light salmon" :bold t)))) + (cperl-hash-face ((t (:foreground "beige" :bold t :italic t)))) + (cperl-nonoverridable-face ((t (:foreground "aquamarine")))) + (custom-button-face ((t (:foreground "gainsboro")))) + (custom-changed-face ((t (:foreground "white" :background "blue")))) + (custom-documentation-face ((t (:foreground "light blue")))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face ((t (:foreground "pale turquoise" :bold t)))) + (custom-group-tag-face-1 ((t (:foreground "pale turquoise" :underline t)))) + (custom-invalid-face ((t (:foreground "yellow" :background "red")))) + (custom-modified-face ((t (:foreground "white" :background "blue")))) + (custom-rogue-face ((t (:foreground "pink" :background "black")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:foreground "blue" :background "white")))) + (custom-state-face ((t (:foreground "light salmon")))) + (custom-variable-button-face ((t (:bold t :underline t)))) + (custom-variable-tag-face ((t (:foreground "turquoise" :bold t)))) + (diary-face ((t (:foreground "red")))) + (dired-face-directory ((t (:bold t :foreground "sky blue")))) + (dired-face-permissions ((t (:foreground "aquamarine")))) + (dired-face-flagged ((t (:foreground "tomato")))) + (dired-face-marked ((t (:foreground "light salmon")))) + (dired-face-executable ((t (:foreground "green yellow")))) + (eshell-ls-archive-face ((t (:bold t :foreground "medium purple")))) + (eshell-ls-backup-face ((t (:foreground "dim gray")))) + (eshell-ls-clutter-face ((t (:foreground "dim gray")))) + (eshell-ls-directory-face ((t (:bold t :foreground "medium slate blue")))) + (eshell-ls-executable-face ((t (:bold t :foreground "aquamarine")))) + (eshell-ls-missing-face ((t (:foreground "black")))) + (eshell-ls-picture-face ((t (:foreground "violet")))) + (eshell-ls-product-face ((t (:foreground "light steel blue")))) + (eshell-ls-readonly-face ((t (:foreground "aquamarine")))) + (eshell-ls-special-face ((t (:foreground "gold")))) + (eshell-ls-symlink-face ((t (:foreground "white")))) + (eshell-ls-unreadable-face ((t (:foreground "dim gray")))) + (eshell-prompt-face ((t (:foreground "light sky blue" :bold t)))) + (excerpt ((t (:italic t)))) + (fixed ((t (:bold t)))) + (flyspell-duplicate-face ((t (:foreground "Gold3" :bold t :underline t)))) + (flyspell-incorrect-face ((t (:foreground "OrangeRed" :bold t :underline t)))) + (font-lock-builtin-face ((t (:foreground "aquamarine")))) + (font-lock-comment-face ((t (:foreground "light blue")))) + (font-lock-constant-face ((t (:foreground "pale green")))) + (font-lock-doc-string-face ((t (:foreground "sky blue")))) + (font-lock-function-name-face ((t (:bold t :foreground "aquamarine")))) + (font-lock-keyword-face ((t (:foreground "pale turquoise" :bold t)))) + (font-lock-reference-face ((t (:foreground "pale green")))) + (font-lock-string-face ((t (:foreground "light sky blue")))) + (font-lock-type-face ((t (:foreground "sky blue" :bold t)))) + (font-lock-variable-name-face ((t (:foreground "turquoise" :bold t)))) + (font-lock-warning-face ((t (:foreground "Red" :bold t)))) + (fringe ((t (:background "MidnightBlue")))) + (header-line ((t (:background "#002" :foreground "cornflower blue")))) + (highlight ((t (:background "dark slate blue" :foreground "light blue")))) + (highline-face ((t (:background "DeepSkyBlue4")))) + (holiday-face ((t (:background "pink")))) + (info-menu-5 ((t (:underline t)))) + (info-node ((t (:bold t)))) + (info-xref ((t (:bold t :foreground "sky blue")))) + (isearch ((t (:background "slate blue")))) + (italic ((t (:foreground "sky blue")))) + (makefile-space-face ((t (:background "hotpink")))) + (menu ((t (:background "MidnightBlue" :foreground "Grey")))) + (modeline ((t (:foreground "wheat" :background "slate blue")))) + (mode-line-inactive ((t (:background "dark slate blue" :foreground "wheat")))) + (modeline-buffer-id ((t (:foreground "beige" :background "slate blue")))) + (modeline-mousable ((t (:foreground "light cyan" :background "slate blue")))) + (modeline-mousable-minor-mode ((t (:foreground "wheat" :background "slate blue")))) + (region ((t (:background "DarkSlateBlue")))) + (secondary-selection ((t (:background "steel blue")))) + (show-paren-match-face ((t (:foreground "white" :background "light slate blue")))) + (show-paren-mismatch-face ((t (:foreground "white" :background "red")))) + (speedbar-button-face ((t (:foreground "seashell2")))) + (speedbar-directory-face ((t (:foreground "seashell3")))) + (speedbar-file-face ((t (:foreground "seashell4")))) + (speedbar-highlight-face ((t (:background "dark slate blue" :foreground "wheat")))) + (speedbar-selected-face ((t (:foreground "seashell1" :underline t)))) + (speedbar-tag-face ((t (:foreground "antique white")))) + (tool-bar ((t (:background "MidnightBlue" :foreground "Grey" :box (:line-width 1 :style released-button))))) + (underline ((t (:underline t)))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "light blue")))) + (widget-field-face ((t (:background "RoyalBlue4" :foreground "wheat")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (widget-single-line-field-face ((t (:background "slate blue" :foreground "wheat")))) + (woman-bold-face ((t (:foreground "sky blue" :bold t)))) + (woman-italic-face ((t (:foreground "deep sky blue")))) + (woman-unknown-face ((t (:foreground "LightSalmon")))) + (zmacs-region ((t (:background "DarkSlateBlue")))))))) + +(defun color-theme-rotor () + "Black on Beige color theme by Jinwei Shen, created 2000-06-08. +Supports default faces, font-lock, custom, widget, message, man, +show-paren, viper." + (interactive) + (color-theme-install + '(color-theme-rotor + ((background-color . "Beige") + (background-mode . light) + (border-color . "black") + (cursor-color . "Maroon") + (foreground-color . "Black") + (mouse-color . "Black")) + ((Man-overstrike-face . font-lock-function-name-face) + (Man-underline-face . font-lock-type-face) + (list-matching-lines-face . bold) + (rmail-highlight-face . font-lock-function-name-face) + (watson-attribution-face . italic) + (watson-url-face . bold) + (watson-url-mouse-face . highlight)) + (default ((t (nil)))) + (bold ((t (:bold t :background "grey40" :foreground "yellow")))) + (bold-italic ((t (:italic t :bold t :foreground "yellow green")))) + (custom-button-face ((t (nil)))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face ((t (:underline t :foreground "blue")))) + (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "dark green")))) + (custom-variable-button-face ((t (:underline t :bold t)))) + (custom-variable-tag-face ((t (:underline t :foreground "blue")))) + (font-lock-builtin-face ((t (:foreground "Orchid")))) + (font-lock-comment-face ((t (:foreground "MediumBlue")))) + (font-lock-constant-face ((t (:foreground "CadetBlue")))) + (font-lock-function-name-face ((t (:foreground "MediumSlateBlue")))) + (font-lock-keyword-face ((t (:foreground "#80a0ff")))) + (font-lock-string-face ((t (:foreground "red")))) + (font-lock-type-face ((t (:foreground "ForestGreen")))) + (font-lock-variable-name-face ((t (:foreground "DarkGoldenrod")))) + (font-lock-warning-face ((t (:bold t :foreground "Red")))) + (highlight ((t (:background "PaleGreen" :foreground "black")))) + (italic ((t (:italic t :foreground "yellow3")))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:foreground "MidnightBlue")))) + (message-header-name-face ((t (:foreground "cornflower blue")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4")))) + (message-header-other-face ((t (:foreground "steel blue")))) + (message-header-subject-face ((t (:bold t :foreground "navy blue")))) + (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-separator-face ((t (:foreground "brown")))) + (modeline ((t (:background "wheat" :foreground "DarkOliveGreen")))) + (modeline-buffer-id ((t (:background "wheat" :foreground "DarkOliveGreen")))) + (modeline-mousable ((t (:background "wheat" :foreground "DarkOliveGreen")))) + (modeline-mousable-minor-mode ((t (:background "wheat" :foreground "DarkOliveGreen")))) + (nil ((t (nil)))) + (region ((t (:background "dark cyan" :foreground "cyan")))) + (secondary-selection ((t (:background "Turquoise" :foreground "black")))) + (show-paren-match-face ((t (:background "turquoise")))) + (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) + (underline ((t (:underline t)))) + (viper-minibuffer-emacs-face ((t (:background "darkseagreen2" :foreground "Black")))) + (viper-minibuffer-insert-face ((t (:background "pink" :foreground "Black")))) + (viper-minibuffer-vi-face ((t (:background "grey" :foreground "DarkGreen")))) + (viper-replace-overlay-face ((t (:background "darkseagreen2" :foreground "Black")))) + (viper-search-face ((t (:background "khaki" :foreground "Black")))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (widget-single-line-field-face ((t (:background "gray85"))))))) + +(defun color-theme-pierson () + "Black on White color theme by Dan L. Pierson, created 2000-06-08. +Supports default faces, font-lock, show-paren." + (interactive) + (color-theme-install + '(color-theme-pierson + ((background-color . "AntiqueWhite") + (background-mode . light) + (border-color . "black") + (cursor-color . "Orchid") + (foreground-color . "black") + (mouse-color . "Orchid")) + ((list-matching-lines-face . bold)) + (default ((t (nil)))) + (bold ((t (:bold t)))) + (bold-italic ((t (:italic t :bold t)))) + (font-lock-builtin-face ((t (:foreground "Orchid")))) + (font-lock-comment-face ((t (:foreground "ForestGreen")))) + (font-lock-constant-face ((t (:foreground "CadetBlue")))) + (font-lock-function-name-face ((t (:foreground "blue3")))) + (font-lock-keyword-face ((t (:foreground "Blue")))) + (font-lock-string-face ((t (:foreground "Firebrick")))) + (font-lock-type-face ((t (:foreground "Purple")))) + (font-lock-variable-name-face ((t (:foreground "blue3")))) + (font-lock-warning-face ((t (:bold t :foreground "Red")))) + (highlight ((t (:background "darkseagreen2")))) + (italic ((t (:italic t)))) + (modeline ((t (:foreground "antiquewhite" :background "black")))) + (modeline-mousable-minor-mode ((t (:foreground "antiquewhite" :background "black")))) + (modeline-mousable ((t (:foreground "antiquewhite" :background "black")))) + (modeline-buffer-id ((t (:foreground "antiquewhite" :background "black")))) + (region ((t (:background "gray")))) + (secondary-selection ((t (:background "paleturquoise")))) + (show-paren-match-face ((t (:background "turquoise")))) + (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) + (underline ((t (:underline t))))))) + +(defun color-theme-xemacs () + "XEmacs standard colors. +If you are missing standard faces in this theme, please notify the maintainer. +Currently, this theme includes the standard faces and font-lock faces, including +some faces used in Emacs only but which are needed to recreate the look of the +XEmacs color theme." + (interactive) + (color-theme-install + '(color-theme-xemacs + ((background-color . "gray80") + (background-mode . light) + (background-toolbar-color . "#cf3ccf3ccf3c") + (border-color . "#000000000000") + (bottom-toolbar-shadow-color . "#79e77df779e7") + (cursor-color . "Red3") + (foreground-color . "black") + (top-toolbar-shadow-color . "#fffffbeeffff")) + (default ((t (nil)))) + (blue ((t (:foreground "blue")))) + (bold ((t (:bold t)))) + (bold-italic ((t (:italic t :bold t)))) + (border-glyph ((t (nil)))) + (custom-button-face ((t (:bold t)))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face ((t (:underline t :foreground "blue")))) + (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "dark green")))) + (custom-variable-button-face ((t (:underline t :bold t)))) + (custom-variable-tag-face ((t (:underline t :foreground "blue")))) + (dired-face-boring ((t (:foreground "Gray65")))) + (dired-face-directory ((t (:bold t)))) + (dired-face-executable ((t (:foreground "SeaGreen")))) + (dired-face-flagged ((t (:background "LightSlateGray")))) + (dired-face-marked ((t (:background "PaleVioletRed")))) + (dired-face-permissions ((t (:background "grey75" :foreground "black")))) + (dired-face-setuid ((t (:foreground "Red")))) + (dired-face-socket ((t (:foreground "magenta")))) + (dired-face-symlink ((t (:foreground "cyan")))) + (font-lock-builtin-face ((t (:foreground "red3")))) + (font-lock-comment-face ((t (:foreground "blue4")))) + (font-lock-constant-face ((t (:foreground "red3")))) + (font-lock-doc-string-face ((t (:foreground "green4")))) + (font-lock-function-name-face ((t (:foreground "brown4")))) + (font-lock-keyword-face ((t (:foreground "red4")))) + (font-lock-preprocessor-face ((t (:foreground "blue3")))) + (font-lock-reference-face ((t (:foreground "red3")))) + (font-lock-string-face ((t (:foreground "green4")))) + (font-lock-type-face ((t (:foreground "steelblue")))) + (font-lock-variable-name-face ((t (:foreground "magenta4")))) + (font-lock-warning-face ((t (:bold t :foreground "Red")))) + (green ((t (:foreground "green")))) + (gui-button-face ((t (:background "grey75" :foreground "black")))) + (gui-element ((t (:background "Gray80")))) + (highlight ((t (:background "darkseagreen2")))) + (info-node ((t (:italic t :bold t)))) + (info-xref ((t (:bold t)))) + (isearch ((t (:background "paleturquoise")))) + (italic ((t (:italic t)))) + (left-margin ((t (nil)))) + (list-mode-item-selected ((t (:background "gray68")))) + (modeline ((t (:background "Gray80")))) + (modeline-buffer-id ((t (:background "Gray80" :foreground "blue4")))) + (modeline-mousable ((t (:background "Gray80" :foreground "firebrick")))) + (modeline-mousable-minor-mode ((t (:background "Gray80" :foreground "green4")))) + (paren-blink-off ((t (:foreground "gray80")))) + (paren-match ((t (:background "darkseagreen2")))) + (paren-mismatch ((t (:background "DeepPink" :foreground "black")))) + (pointer ((t (nil)))) + (primary-selection ((t (:background "gray65")))) + (red ((t (:foreground "red")))) + (region ((t (:background "gray65")))) + (right-margin ((t (nil)))) + (secondary-selection ((t (:background "paleturquoise")))) + (text-cursor ((t (:background "Red3" :foreground "gray80")))) + (toolbar ((t (:background "Gray80")))) + (underline ((t (:underline t)))) + (vertical-divider ((t (:background "Gray80")))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (yellow ((t (:foreground "yellow")))) + (zmacs-region ((t (:background "gray65"))))))) + +(defun color-theme-jsc-light () + "Color theme by John S Cooper, created 2000-06-08." + (interactive) + (color-theme-install + '(color-theme-jsc-light + ((background-color . "white") + (background-mode . light) + (border-color . "black") + (cursor-color . "Red") + (foreground-color . "black") + (mouse-color . "black")) + ((gnus-mouse-face . highlight) + (list-matching-lines-face . bold) + (view-highlight-face . highlight)) + (default ((t (nil)))) + (bold ((t (:bold t :foreground "red3")))) + (bold-italic ((t (:italic t :bold t :foreground "red")))) + (custom-button-face ((t (nil)))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face ((t (:underline t :foreground "blue")))) + (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "dark green")))) + (custom-variable-button-face ((t (:underline t :bold t)))) + (custom-variable-tag-face ((t (:underline t :foreground "blue")))) + (font-lock-builtin-face ((t (:foreground "Orchid")))) + (font-lock-comment-face ((t (:italic t :bold t :foreground "Red3")))) + (font-lock-constant-face ((t (:foreground "navy")))) + (font-lock-function-name-face ((t (:bold t :foreground "Blue")))) + (font-lock-keyword-face ((t (:bold t :foreground "Purple")))) + (font-lock-string-face ((t (:foreground "Green4")))) + (font-lock-type-face ((t (:foreground "Navy")))) + (font-lock-variable-name-face ((t (:foreground "Tan4")))) + (font-lock-warning-face ((t (:bold t :foreground "Red")))) + (gnus-cite-attribution-face ((t (:italic t)))) + (gnus-cite-face-1 ((t (:foreground "MidnightBlue")))) + (gnus-cite-face-10 ((t (:foreground "medium purple")))) + (gnus-cite-face-11 ((t (:foreground "turquoise")))) + (gnus-cite-face-2 ((t (:foreground "firebrick")))) + (gnus-cite-face-3 ((t (:foreground "dark green")))) + (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) + (gnus-cite-face-5 ((t (:foreground "dark khaki")))) + (gnus-cite-face-6 ((t (:foreground "dark violet")))) + (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-emphasis-bold ((t (:bold t)))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) + (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) + (gnus-emphasis-italic ((t (:italic t)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) + (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t)))) + (gnus-emphasis-underline-italic ((t (:underline t :italic t)))) + (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3")))) + (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3")))) + (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4")))) + (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4")))) + (gnus-group-news-1-empty-face ((t (:foreground "blue2")))) + (gnus-group-news-1-face ((t (:bold t :foreground "blue2")))) + (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) + (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4")))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen")))) + (gnus-header-content-face ((t (:italic t :foreground "blue")))) + (gnus-header-from-face ((t (:foreground "red3")))) + (gnus-header-name-face ((t (:foreground "red3")))) + (gnus-header-newsgroups-face ((t (:italic t :foreground "MidnightBlue")))) + (gnus-header-subject-face ((t (:bold t :foreground "red")))) + (gnus-signature-face ((t (:foreground "pink")))) + (gnus-splash-face ((t (:foreground "Brown")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) + (gnus-summary-high-read-face ((t (:bold t :foreground "navy")))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick")))) + (gnus-summary-high-unread-face ((t (:bold t :foreground "blue")))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue")))) + (gnus-summary-low-read-face ((t (:italic t :foreground "DarkGreen")))) + (gnus-summary-low-ticked-face ((t (:italic t :foreground "firebrick")))) + (gnus-summary-low-unread-face ((t (:italic t)))) + (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "red3")))) + (gnus-summary-normal-ticked-face ((t (:foreground "black")))) + (gnus-summary-normal-unread-face ((t (:bold t :foreground "red3")))) + (gnus-summary-selected-face ((t (:underline t)))) + (highlight ((t (:background "antiquewhite" :foreground "blue")))) + (italic ((t (:italic t)))) + (makefile-space-face ((t (:background "hotpink")))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:foreground "MidnightBlue")))) + (message-header-name-face ((t (:foreground "cornflower blue")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4")))) + (message-header-other-face ((t (:foreground "steel blue")))) + (message-header-subject-face ((t (:bold t :foreground "navy blue")))) + (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-mml-face ((t (:foreground "ForestGreen")))) + (message-separator-face ((t (:foreground "brown")))) + (modeline ((t (:background "plum" :foreground "black")))) + (modeline-buffer-id ((t (:background "plum" :foreground "black")))) + (modeline-mousable ((t (:background "plum" :foreground "black")))) + (modeline-mousable-minor-mode ((t (:background "plum" :foreground "black")))) + (region ((t (:background "plum")))) + (secondary-selection ((t (:background "palegreen")))) + (show-paren-match-face ((t (:background "plum")))) + (show-paren-mismatch-face ((t (:background "navy" :foreground "white")))) + (speedbar-button-face ((t (:foreground "green4")))) + (speedbar-directory-face ((t (:foreground "blue4")))) + (speedbar-file-face ((t (:foreground "cyan4")))) + (speedbar-highlight-face ((t (:background "green")))) + (speedbar-selected-face ((t (:underline t :foreground "red")))) + (speedbar-tag-face ((t (:foreground "brown")))) + (underline ((t (:underline t)))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (widget-single-line-field-face ((t (:background "gray85"))))))) + +(defun color-theme-jsc-dark () + "Color theme by John S Cooper, created 2000-06-11." + (interactive) + (color-theme-install + '(color-theme-jsc-dark + ((background-color . "black") + (background-mode . dark) + (border-color . "black") + (cursor-color . "white") + (foreground-color . "cornsilk") + (mouse-color . "black")) + ((gnus-mouse-face . highlight) + (goto-address-mail-face . italic) + (goto-address-mail-mouse-face . secondary-selection) + (goto-address-url-face . bold) + (goto-address-url-mouse-face . highlight) + (list-matching-lines-face . bold) + (view-highlight-face . highlight)) + (blank-space-face ((t (:background "LightGray")))) + (blank-tab-face ((t (:background "cornsilk" :foreground "black")))) + (default ((t (nil)))) + (bold ((t (:bold t :foreground "white")))) + (bold-italic ((t (:italic t :bold t)))) + (calendar-today-face ((t (:underline t)))) + (cperl-array-face ((t (:bold t :background "lightyellow2" :foreground "Blue")))) + (cperl-hash-face ((t (:italic t :bold t :background "lightyellow2" :foreground "Red")))) + (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) + (custom-button-face ((t (:foreground "white")))) + (custom-changed-face ((t (:background "skyblue" :foreground "wheat")))) + (custom-documentation-face ((t (:foreground "white")))) + (custom-face-tag-face ((t (:underline t :foreground "white")))) + (custom-group-tag-face ((t (:underline t :foreground "skyblue")))) + (custom-group-tag-face-1 ((t (:underline t :foreground "pink")))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:foreground "blue")))) + (custom-state-face ((t (:foreground "light green")))) + (custom-variable-button-face ((t (:underline t :bold t)))) + (custom-variable-tag-face ((t (:underline t :foreground "skyblue")))) + (diary-face ((t (:bold t :foreground "orange")))) + (font-lock-builtin-face ((t (:bold t :foreground "LightSteelBlue")))) + (font-lock-comment-face ((t (:italic t :foreground "red")))) + (font-lock-constant-face ((t (:bold t :foreground "salmon")))) + (font-lock-function-name-face ((t (:bold t :foreground "orange")))) + (font-lock-keyword-face ((t (:bold t :foreground "gold")))) + (font-lock-string-face ((t (:italic t :foreground "orange")))) + (font-lock-type-face ((t (:bold t :foreground "gold")))) + (font-lock-variable-name-face ((t (:italic t :bold t :foreground "light salmon")))) + (font-lock-warning-face ((t (:bold t :foreground "gold")))) + (gnus-cite-attribution-face ((t (:italic t)))) + (gnus-cite-face-1 ((t (:foreground "light cyan")))) + (gnus-cite-face-10 ((t (:foreground "medium purple")))) + (gnus-cite-face-11 ((t (:foreground "turquoise")))) + (gnus-cite-face-2 ((t (:foreground "light blue")))) + (gnus-cite-face-3 ((t (:foreground "light yellow")))) + (gnus-cite-face-4 ((t (:foreground "light pink")))) + (gnus-cite-face-5 ((t (:foreground "pale green")))) + (gnus-cite-face-6 ((t (:foreground "beige")))) + (gnus-cite-face-7 ((t (:foreground "orange")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-emphasis-bold ((t (:bold t)))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) + (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) + (gnus-emphasis-italic ((t (:italic t)))) + (gnus-emphasis-underline ((t (:background "goldenrod4" :foreground "white")))) + (gnus-emphasis-underline-bold ((t (:underline t :bold t :background "yellow" :foreground "black")))) + (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t :background "yellow" :foreground "black")))) + (gnus-emphasis-underline-italic ((t (:underline t :italic t :background "yellow" :foreground "black")))) + (gnus-filterhist-face-1 ((t (nil)))) + (gnus-group-mail-1-empty-face ((t (:foreground "gray80")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "white")))) + (gnus-group-mail-2-empty-face ((t (:foreground "lightcyan")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "lightcyan")))) + (gnus-group-mail-3-empty-face ((t (:foreground "tan")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "tan")))) + (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "aquamarine4")))) + (gnus-group-news-1-empty-face ((t (:foreground "white")))) + (gnus-group-news-1-face ((t (:bold t :foreground "white")))) + (gnus-group-news-2-empty-face ((t (:foreground "lightcyan")))) + (gnus-group-news-2-face ((t (:bold t :foreground "lightcyan")))) + (gnus-group-news-3-empty-face ((t (:foreground "tan")))) + (gnus-group-news-3-face ((t (:bold t :foreground "tan")))) + (gnus-group-news-4-empty-face ((t (:foreground "white")))) + (gnus-group-news-4-face ((t (:bold t :foreground "white")))) + (gnus-group-news-5-empty-face ((t (:foreground "wheat")))) + (gnus-group-news-5-face ((t (:bold t :foreground "wheat")))) + (gnus-group-news-6-empty-face ((t (:foreground "tan")))) + (gnus-group-news-6-face ((t (:bold t :foreground "tan")))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkTurquoise")))) + (gnus-header-content-face ((t (:italic t :foreground "plum1")))) + (gnus-header-from-face ((t (:bold t :foreground "wheat")))) + (gnus-header-name-face ((t (:bold t :foreground "gold")))) + (gnus-header-newsgroups-face ((t (:italic t :bold t :foreground "wheat")))) + (gnus-header-subject-face ((t (:bold t :foreground "red")))) + (gnus-signature-face ((t (:italic t :foreground "maroon")))) + (gnus-splash ((t (:foreground "Brown")))) + (gnus-splash-face ((t (:foreground "gold")))) + (gnus-summary-cancelled-face ((t (:background "gray" :foreground "black")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "SkyBlue")))) + (gnus-summary-high-read-face ((t (:bold t :foreground "PaleGreen")))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "gray70")))) + (gnus-summary-high-unread-face ((t (:italic t :bold t)))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "SkyBlue")))) + (gnus-summary-low-read-face ((t (:italic t :foreground "PaleGreen")))) + (gnus-summary-low-ticked-face ((t (:italic t :bold t :foreground "gray70")))) + (gnus-summary-low-unread-face ((t (:italic t)))) + (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) + (gnus-summary-normal-ticked-face ((t (:bold t :foreground "gray70")))) + (gnus-summary-normal-unread-face ((t (:bold t)))) + (gnus-summary-selected-face ((t (:underline t :background "deepskyblue4")))) + (highlight ((t (:background "darkslategray" :foreground "wheat")))) + (highlight-changes-delete-face ((t (:underline t :foreground "red")))) + (highlight-changes-face ((t (:foreground "red")))) + (highline-face ((t (:background "gray35")))) + (holiday-face ((t (:background "red")))) + (info-menu-5 ((t (:underline t)))) + (info-node ((t (:italic t :bold t :foreground "yellow")))) + (info-xref ((t (:bold t :foreground "plum")))) + (italic ((t (:italic t)))) + (lazy-highlight-face ((t (:bold t :foreground "dark magenta")))) + (linemenu-face ((t (:background "gray30")))) + (makefile-space-face ((t (:background "hotpink")))) + (message-cited-text-face ((t (:foreground "plum1")))) + (message-header-cc-face ((t (:bold t :foreground "ivory")))) + (message-header-name-face ((t (:foreground "light sky blue")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "lavender blush")))) + (message-header-other-face ((t (:foreground "pale turquoise")))) + (message-header-subject-face ((t (:bold t :foreground "papaya whip")))) + (message-header-to-face ((t (:bold t :foreground "floral white")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-mml-face ((t (:bold t :foreground "ForestGreen")))) + (message-separator-face ((t (:foreground "sandy brown")))) + (modeline ((t (:background "tan" :foreground "black")))) + (modeline-buffer-id ((t (:background "tan" :foreground "black")))) + (modeline-mousable ((t (:background "tan" :foreground "black")))) + (modeline-mousable-minor-mode ((t (:background "tan" :foreground "black")))) + (paren-mismatch-face ((t (:bold t :background "white" :foreground "red")))) + (paren-no-match-face ((t (:bold t :background "white" :foreground "red")))) + (region ((t (:background "slategrey")))) + (secondary-selection ((t (:background "deepskyblue4")))) + (sgml-doctype-face ((t (:foreground "orange")))) + (sgml-end-tag-face ((t (:foreground "greenyellow")))) + (sgml-entity-face ((t (:foreground "gold")))) + (sgml-ignored-face ((t (:background "gray60" :foreground "gray20")))) + (sgml-sgml-face ((t (:foreground "yellow")))) + (sgml-start-tag-face ((t (:foreground "mediumspringgreen")))) + (show-paren-match-face ((t (:background "deepskyblue4")))) + (show-paren-mismatch-face ((t (:bold t :background "red" :foreground "white")))) + (speedbar-button-face ((t (:foreground "green4")))) + (speedbar-directory-face ((t (:foreground "blue4")))) + (speedbar-file-face ((t (:bold t :foreground "cyan4")))) + (speedbar-highlight-face ((t (:background "green")))) + (speedbar-selected-face ((t (:underline t :foreground "red")))) + (speedbar-tag-face ((t (:foreground "brown")))) + (underline ((t (:underline t)))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "lime green")))) + (widget-field-face ((t (:background "gray20")))) + (widget-inactive-face ((t (:foreground "wheat")))) + (widget-single-line-field-face ((t (:background "gray20")))) + (woman-bold-face ((t (:bold t)))) + (woman-italic-face ((t (:foreground "beige")))) + (woman-unknown-face ((t (:foreground "LightSalmon"))))))) + +(defun color-theme-greiner () + "Color theme by Kevin Greiner, created 2000-06-13. +Black on Beige, supports default, font-lock, speedbar, custom, widget +faces. Designed to be easy on the eyes, particularly on Win32 +computers which commonly have white window backgrounds." + (interactive) + (color-theme-install + '(color-theme-greiner + ((background-color . "beige") + (background-mode . light) + (border-color . "black") + (cursor-color . "black") + (foreground-color . "black") + (mouse-color . "black")) + ((list-matching-lines-face . bold)) + (default ((t (nil)))) + (bold ((t (:bold t)))) + (bold-italic ((t (:italic t :bold t)))) + (custom-button-face ((t (nil)))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face ((t (:underline t :foreground "blue")))) + (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "dark green")))) + (custom-variable-button-face ((t (:underline t :bold t)))) + (custom-variable-tag-face ((t (:underline t :foreground "blue")))) + (font-lock-builtin-face ((t (:foreground "blue4")))) + (font-lock-comment-face ((t (:foreground "Firebrick")))) + (font-lock-constant-face ((t (:foreground "CadetBlue")))) + (font-lock-function-name-face ((t (:foreground "Blue")))) + (font-lock-keyword-face ((t (:foreground "royal blue")))) + (font-lock-string-face ((t (:foreground "RosyBrown")))) + (font-lock-type-face ((t (:foreground "ForestGreen")))) + (font-lock-variable-name-face ((t (:foreground "DarkGoldenrod")))) + (font-lock-warning-face ((t (:bold t :foreground "Red")))) + (highlight ((t (:background "darkseagreen2")))) + (info-menu-5 ((t (:underline t)))) + (info-node ((t (:italic t :bold t)))) + (info-xref ((t (:bold t)))) + (italic ((t (:italic t)))) + (modeline ((t (:background "black" :foreground "white")))) + (modeline-mousable-minor-mode ((t (:background "black" :foreground "white")))) + (modeline-mousable ((t (:background "black" :foreground "white")))) + (modeline-buffer-id ((t (:background "black" :foreground "white")))) + (region ((t (:background "gray")))) + (secondary-selection ((t (:background "paleturquoise")))) + (show-paren-match-face ((t (:background "turquoise")))) + (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) + (speedbar-button-face ((t (:foreground "green4")))) + (speedbar-directory-face ((t (:foreground "blue4")))) + (speedbar-file-face ((t (:foreground "cyan4")))) + (speedbar-highlight-face ((t (:background "green")))) + (speedbar-selected-face ((t (:underline t :foreground "red")))) + (speedbar-tag-face ((t (:foreground "brown")))) + (underline ((t (:underline t)))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (widget-single-line-field-face ((t (:background "gray85"))))))) + +(defun color-theme-jb-simple () + "Color theme by jeff, created 2000-06-14. +Uses white background and bold for many things" + (interactive) + (color-theme-install + '(color-theme-jb-simple + ((background-color . "white") + (background-mode . light) + (background-toolbar-color . "#cf3ccf3ccf3c") + (border-color . "black") + (bottom-toolbar-shadow-color . "#79e77df779e7") + (cursor-color . "black") + (foreground-color . "black") + (mouse-color . "black") + (top-toolbar-shadow-color . "#fffffbeeffff")) + ((gnus-mouse-face . highlight) + (list-matching-lines-face . bold) + (rmail-highlight-face . font-lock-function-name-face) + (view-highlight-face . highlight)) + (default ((t (nil)))) + (blank-space-face ((t (nil)))) + (blank-tab-face ((t (nil)))) + (blue ((t (nil)))) + (bold ((t (:bold t)))) + (bold-italic ((t (:italic t :bold t)))) + (border-glyph ((t (nil)))) + (calendar-today-face ((t (:underline t)))) + (cperl-array-face ((t (:bold t :background "lightyellow2" :foreground "Blue")))) + (cperl-hash-face ((t (:italic t :bold t :background "lightyellow2" :foreground "Red")))) + (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) + (custom-button-face ((t (:bold t)))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face ((t (:underline t :bold t :foreground "blue")))) + (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "dark green")))) + (custom-variable-button-face ((t (:underline t :bold t)))) + (custom-variable-tag-face ((t (:underline t :bold t :foreground "blue")))) + (diary-face ((t (:bold t :foreground "red")))) + (ediff-current-diff-face-A ((t (:background "pale green" :foreground "firebrick")))) + (ediff-current-diff-face-Ancestor ((t (:background "VioletRed" :foreground "Black")))) + (ediff-current-diff-face-B ((t (:background "Yellow" :foreground "DarkOrchid")))) + (ediff-current-diff-face-C ((t (:background "Pink" :foreground "Navy")))) + (ediff-even-diff-face-A ((t (:background "light grey" :foreground "Black")))) + (ediff-even-diff-face-Ancestor ((t (:background "Grey" :foreground "White")))) + (ediff-even-diff-face-B ((t (:background "Grey" :foreground "White")))) + (ediff-even-diff-face-C ((t (:background "light grey" :foreground "Black")))) + (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy")))) + (ediff-fine-diff-face-Ancestor ((t (:background "Green" :foreground "Black")))) + (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Black")))) + (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Black")))) + (ediff-odd-diff-face-A ((t (:background "Grey" :foreground "White")))) + (ediff-odd-diff-face-Ancestor ((t (:background "light grey" :foreground "Black")))) + (ediff-odd-diff-face-B ((t (:background "light grey" :foreground "Black")))) + (ediff-odd-diff-face-C ((t (:background "Grey" :foreground "White")))) + (erc-action-face ((t (:bold t)))) + (erc-bold-face ((t (:bold t)))) + (erc-default-face ((t (nil)))) + (erc-direct-msg-face ((t (nil)))) + (erc-error-face ((t (:bold t)))) + (erc-input-face ((t (nil)))) + (erc-inverse-face ((t (nil)))) + (erc-notice-face ((t (nil)))) + (erc-pal-face ((t (nil)))) + (erc-prompt-face ((t (nil)))) + (erc-underline-face ((t (nil)))) + (eshell-ls-archive-face ((t (:bold t :foreground "Orchid")))) + (eshell-ls-backup-face ((t (:foreground "OrangeRed")))) + (eshell-ls-clutter-face ((t (:bold t :foreground "OrangeRed")))) + (eshell-ls-directory-face ((t (:bold t :foreground "Blue")))) + (eshell-ls-executable-face ((t (:bold t :foreground "ForestGreen")))) + (eshell-ls-missing-face ((t (:bold t :foreground "Red")))) + (eshell-ls-picture-face ((t (nil)))) + (eshell-ls-product-face ((t (:foreground "OrangeRed")))) + (eshell-ls-readonly-face ((t (:foreground "Brown")))) + (eshell-ls-special-face ((t (:bold t :foreground "Magenta")))) + (eshell-ls-symlink-face ((t (:bold t :foreground "DarkCyan")))) + (eshell-ls-unreadable-face ((t (:foreground "Grey30")))) + (eshell-prompt-face ((t (:bold t :foreground "Red")))) + (eshell-test-failed-face ((t (:bold t :foreground "OrangeRed")))) + (eshell-test-ok-face ((t (:bold t :foreground "Green")))) + (excerpt ((t (:italic t)))) + (ff-paths-non-existant-file-face ((t (:bold t :foreground "NavyBlue")))) + (fixed ((t (:bold t)))) + (flyspell-duplicate-face ((t (:underline t :bold t :foreground "Gold3")))) + (flyspell-incorrect-face ((t (:underline t :bold t :foreground "OrangeRed")))) + (font-latex-bold-face ((t (nil)))) + (font-latex-italic-face ((t (nil)))) + (font-latex-math-face ((t (nil)))) + (font-latex-sedate-face ((t (nil)))) + (font-latex-string-face ((t (nil)))) + (font-latex-warning-face ((t (nil)))) + (font-lock-builtin-face ((t (:bold t :foreground "Orchid")))) + (font-lock-comment-face ((t (:italic t :bold t :foreground "blue4")))) + (font-lock-constant-face ((t (:bold t :foreground "CadetBlue")))) + (font-lock-doc-string-face ((t (:italic t :bold t :foreground "blue4")))) + (font-lock-exit-face ((t (nil)))) + (font-lock-function-name-face ((t (:bold t :foreground "brown4")))) + (font-lock-keyword-face ((t (:bold t :foreground "black")))) + (font-lock-preprocessor-face ((t (:foreground "blue3")))) + (font-lock-reference-face ((t (:foreground "red3")))) + (font-lock-string-face ((t (:italic t :bold t :foreground "green4")))) + (font-lock-type-face ((t (:bold t :foreground "steelblue")))) + (font-lock-variable-name-face ((t (:italic t :bold t :foreground "magenta4")))) + (font-lock-warning-face ((t (:bold t :foreground "Red")))) + (gnus-cite-attribution-face ((t (:italic t :bold t)))) + (gnus-cite-face-1 ((t (:foreground "MidnightBlue")))) + (gnus-cite-face-10 ((t (:foreground "medium purple")))) + (gnus-cite-face-11 ((t (:foreground "turquoise")))) + (gnus-cite-face-2 ((t (:foreground "firebrick")))) + (gnus-cite-face-3 ((t (:foreground "dark green")))) + (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) + (gnus-cite-face-5 ((t (:foreground "dark khaki")))) + (gnus-cite-face-6 ((t (:foreground "dark violet")))) + (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-emphasis-bold ((t (:bold t)))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) + (gnus-emphasis-highlight-words ((t (nil)))) + (gnus-emphasis-italic ((t (:italic t)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) + (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t)))) + (gnus-emphasis-underline-italic ((t (:underline t :italic t)))) + (gnus-filterhist-face-1 ((t (nil)))) + (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3")))) + (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3")))) + (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4")))) + (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4")))) + (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) + (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen")))) + (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) + (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4")))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen")))) + (gnus-header-content-face ((t (:italic t :foreground "indianred4")))) + (gnus-header-from-face ((t (:bold t :foreground "red3")))) + (gnus-header-name-face ((t (:bold t :foreground "maroon")))) + (gnus-header-newsgroups-face ((t (:italic t :bold t :foreground "MidnightBlue")))) + (gnus-header-subject-face ((t (:bold t :foreground "red4")))) + (gnus-signature-face ((t (:italic t)))) + (gnus-splash ((t (nil)))) + (gnus-splash-face ((t (:foreground "ForestGreen")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) + (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen")))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick")))) + (gnus-summary-high-unread-face ((t (:italic t :bold t)))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue")))) + (gnus-summary-low-read-face ((t (:italic t :foreground "DarkGreen")))) + (gnus-summary-low-ticked-face ((t (:italic t :bold t :foreground "firebrick")))) + (gnus-summary-low-unread-face ((t (:italic t)))) + (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) + (gnus-summary-normal-ticked-face ((t (:bold t :foreground "firebrick")))) + (gnus-summary-normal-unread-face ((t (:bold t)))) + (gnus-summary-selected-face ((t (:underline t)))) + (green ((t (nil)))) + (gui-button-face ((t (:background "grey75")))) + (gui-element ((t (:background "Gray80")))) + (highlight ((t (:background "darkseagreen2")))) + (highlight-changes-delete-face ((t (:underline t :foreground "red")))) + (highlight-changes-face ((t (:foreground "red")))) + (highline-face ((t (:background "paleturquoise")))) + (holiday-face ((t (:background "pink")))) + (html-helper-italic-face ((t (:italic t)))) + (info-menu-5 ((t (:underline t)))) + (info-node ((t (:italic t :bold t)))) + (info-xref ((t (:bold t)))) + (isearch ((t (nil)))) + (italic ((t (:italic t)))) + (lazy-highlight-face ((t (:bold t :foreground "dark magenta")))) + (left-margin ((t (nil)))) + (linemenu-face ((t (nil)))) + (list-mode-item-selected ((t (nil)))) + (makefile-space-face ((t (:background "hotpink")))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:bold t :foreground "MidnightBlue")))) + (message-header-name-face ((t (:foreground "cornflower blue")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4")))) + (message-header-other-face ((t (:foreground "steel blue")))) + (message-header-subject-face ((t (:bold t :foreground "navy blue")))) + (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-mml-face ((t (:bold t)))) + (message-separator-face ((t (:foreground "brown")))) + (modeline ((t (:background "darkblue" :foreground "yellow")))) + (modeline-buffer-id ((t (:background "black" :foreground "white")))) + (modeline-mousable ((t (:background "black" :foreground "white")))) + (modeline-mousable-minor-mode ((t (:background "black" :foreground "white")))) + (nil ((t (nil)))) + (paren-mismatch-face ((t (:bold t)))) + (paren-no-match-face ((t (:bold t)))) + (pointer ((t (nil)))) + (primary-selection ((t (nil)))) + (red ((t (nil)))) + (region ((t (:background "gray")))) + (right-margin ((t (nil)))) + (secondary-selection ((t (:background "paleturquoise")))) + (sgml-doctype-face ((t (nil)))) + (sgml-end-tag-face ((t (nil)))) + (sgml-entity-face ((t (nil)))) + (sgml-ignored-face ((t (nil)))) + (sgml-sgml-face ((t (nil)))) + (sgml-start-tag-face ((t (nil)))) + (show-paren-match-face ((t (:background "turquoise")))) + (show-paren-mismatch-face ((t (:bold t :background "purple" :foreground "white")))) + (speedbar-button-face ((t (:bold t :foreground "green4")))) + (speedbar-directory-face ((t (:bold t :foreground "blue4")))) + (speedbar-file-face ((t (:bold t :foreground "cyan4")))) + (speedbar-highlight-face ((t (:background "green")))) + (speedbar-selected-face ((t (:underline t :foreground "red")))) + (speedbar-tag-face ((t (:foreground "brown")))) + (swbuff-current-buffer-face ((t (:bold t)))) + (term-black ((t (:foreground "black")))) + (term-blackbg ((t (:background "black")))) + (term-blue ((t (:foreground "blue")))) + (term-bluebg ((t (:background "blue")))) + (term-bold ((t (:bold t)))) + (term-cyan ((t (:foreground "cyan")))) + (term-cyanbg ((t (:background "cyan")))) + (term-default-bg ((t (nil)))) + (term-default-bg-inv ((t (nil)))) + (term-default-fg ((t (nil)))) + (term-default-fg-inv ((t (nil)))) + (term-green ((t (:foreground "green")))) + (term-greenbg ((t (:background "green")))) + (term-invisible ((t (nil)))) + (term-invisible-inv ((t (nil)))) + (term-magenta ((t (:foreground "magenta")))) + (term-magentabg ((t (:background "magenta")))) + (term-red ((t (:foreground "red")))) + (term-redbg ((t (:background "red")))) + (term-underline ((t (:underline t)))) + (term-white ((t (:foreground "white")))) + (term-whitebg ((t (:background "white")))) + (term-yellow ((t (:foreground "yellow")))) + (term-yellowbg ((t (:background "yellow")))) + (text-cursor ((t (nil)))) + (toolbar ((t (nil)))) + (underline ((t (:underline t)))) + (vc-annotate-face-0046FF ((t (nil)))) + (vcursor ((t (:underline t :background "cyan" :foreground "blue")))) + (vertical-divider ((t (nil)))) + (vhdl-font-lock-attribute-face ((t (:foreground "Orchid")))) + (vhdl-font-lock-directive-face ((t (:foreground "CadetBlue")))) + (vhdl-font-lock-enumvalue-face ((t (:foreground "Gold4")))) + (vhdl-font-lock-function-face ((t (:foreground "Orchid4")))) + (vhdl-font-lock-prompt-face ((t (:bold t :foreground "Red")))) + (vhdl-font-lock-reserved-words-face ((t (:bold t :foreground "Orange")))) + (vhdl-font-lock-translate-off-face ((t (:background "LightGray")))) + (vhdl-speedbar-architecture-face ((t (:foreground "Blue")))) + (vhdl-speedbar-architecture-selected-face ((t (:underline t :foreground "Blue")))) + (vhdl-speedbar-configuration-face ((t (:foreground "DarkGoldenrod")))) + (vhdl-speedbar-configuration-selected-face ((t (:underline t :foreground "DarkGoldenrod")))) + (vhdl-speedbar-entity-face ((t (:foreground "ForestGreen")))) + (vhdl-speedbar-entity-selected-face ((t (:underline t :foreground "ForestGreen")))) + (vhdl-speedbar-instantiation-face ((t (:foreground "Brown")))) + (vhdl-speedbar-instantiation-selected-face ((t (:underline t :foreground "Brown")))) + (vhdl-speedbar-package-face ((t (:foreground "Grey50")))) + (vhdl-speedbar-package-selected-face ((t (:underline t :foreground "Grey50")))) + (viper-minibuffer-emacs-face ((t (:background "darkseagreen2" :foreground "Black")))) + (viper-minibuffer-insert-face ((t (:background "pink" :foreground "Black")))) + (viper-minibuffer-vi-face ((t (:background "grey" :foreground "DarkGreen")))) + (viper-replace-overlay-face ((t (:background "darkseagreen2" :foreground "Black")))) + (viper-search-face ((t (:background "khaki" :foreground "Black")))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (widget-single-line-field-face ((t (:background "gray85")))) + (woman-bold-face ((t (:bold t)))) + (woman-italic-face ((t (nil)))) + (woman-unknown-face ((t (nil)))) + (yellow ((t (nil)))) + (zmacs-region ((t (nil))))))) + +(defun color-theme-beige-diff () + "Brownish faces for diff and change-log modes. +This is intended for other color themes to use (eg. `color-theme-gnome2' +and `color-theme-blue-sea')." + (color-theme-install + '(color-theme-beige-diff + nil + (change-log-acknowledgement-face ((t (:foreground "firebrick")))) + (change-log-conditionals-face ((t (:foreground "khaki" :background "sienna")))) + (change-log-date-face ((t (:foreground "gold")))) + (change-log-email-face ((t (:foreground "khaki" :underline t)))) + (change-log-file-face ((t (:bold t :foreground "lemon chiffon")))) + (change-log-function-face ((t (:foreground "khaki" :background "sienna")))) + (change-log-list-face ((t (:foreground "wheat")))) + (change-log-name-face ((t (:bold t :foreground "light goldenrod")))) + (diff-added-face ((t (nil)))) + (diff-changed-face ((t (nil)))) + (diff-context-face ((t (:foreground "grey50")))) + (diff-file-header-face ((t (:bold t :foreground "lemon chiffon")))) + (diff-function-face ((t (:foreground "grey50")))) + (diff-header-face ((t (:foreground "lemon chiffon")))) + (diff-hunk-header-face ((t (:foreground "light goldenrod")))) + (diff-index-face ((t (:bold t :underline t)))) + (diff-nonexistent-face ((t (:bold t :background "grey70" :weight bold)))) + (diff-removed-face ((t (nil)))) + (log-view-message-face ((t (:foreground "lemon chiffon"))))))) + +(defun color-theme-standard-ediff () + "Standard colors for ediff faces. +This is intended for other color themes to use +\(eg. `color-theme-goldenrod')." + (color-theme-install + '(color-theme-beige-diff + nil + (ediff-current-diff-face-A ((t (:background "pale green" :foreground "firebrick")))) + (ediff-current-diff-face-Ancestor ((t (:background "VioletRed" :foreground "Black")))) + (ediff-current-diff-face-B ((t (:background "Yellow" :foreground "DarkOrchid")))) + (ediff-current-diff-face-C ((t (:background "Pink" :foreground "Navy")))) + (ediff-even-diff-face-A ((t (:background "light grey" :foreground "Black")))) + (ediff-even-diff-face-Ancestor ((t (:background "Grey" :foreground "White")))) + (ediff-even-diff-face-B ((t (:background "Grey" :foreground "White")))) + (ediff-even-diff-face-C ((t (:background "light grey" :foreground "Black")))) + (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy")))) + (ediff-fine-diff-face-Ancestor ((t (:background "Green" :foreground "Black")))) + (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Black")))) + (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Black")))) + (ediff-odd-diff-face-A ((t (:background "Grey" :foreground "White")))) + (ediff-odd-diff-face-Ancestor ((t (:background "light grey" :foreground "Black")))) + (ediff-odd-diff-face-B ((t (:background "light grey" :foreground "Black")))) + (ediff-odd-diff-face-C ((t (:background "Grey" :foreground "White"))))))) + +(defun color-theme-beige-eshell () + "Brownish colors for eshell faces only. +This is intended for other color themes to use (eg. `color-theme-goldenrod')." + (color-theme-install + '(color-theme-beige-eshell + nil + (eshell-ls-archive-face ((t (:bold t :foreground "IndianRed")))) + (eshell-ls-backup-face ((t (:foreground "Grey")))) + (eshell-ls-clutter-face ((t (:foreground "DimGray")))) + (eshell-ls-directory-face ((t (:bold t :foreground "dark khaki")))) + (eshell-ls-executable-face ((t (:foreground "Coral")))) + (eshell-ls-missing-face ((t (:foreground "black")))) + (eshell-ls-picture-face ((t (:foreground "gold")))) ; non-standard face + (eshell-ls-product-face ((t (:foreground "dark sea green")))) + (eshell-ls-readonly-face ((t (:foreground "light steel blue")))) + (eshell-ls-special-face ((t (:foreground "gold")))) + (eshell-ls-symlink-face ((t (:foreground "peach puff")))) + (eshell-ls-text-face ((t (:foreground "moccasin")))) ; non-standard face + (eshell-ls-todo-face ((t (:bold t :foreground "yellow green")))) ; non-standard face + (eshell-ls-unreadable-face ((t (:foreground "DimGray")))) + (eshell-prompt-face ((t (:foreground "lemon chiffon"))))))) + +(defun color-theme-goldenrod () + "Brown color theme. Very different from the others. +Supports standard, font-lock and info faces, and it uses +`color-theme-blue-gnus', `color-theme-blue-erc' , and +`color-theme-beige-diff'." + (interactive) + (color-theme-blue-gnus) + (let ((color-theme-is-cumulative t)) + (color-theme-blue-erc) + (color-theme-beige-diff) + (color-theme-beige-eshell) + (color-theme-install + '(color-theme-goldenrod + ((background-color . "black") + (background-mode . dark) + (border-color . "black") + (cursor-color . "light goldenrod") + (foreground-color . "goldenrod") + (mouse-color . "goldenrod")) + ((goto-address-mail-face . info-xref) + (list-matching-lines-face . bold) + (view-highlight-face . highlight)) + (default ((t (nil)))) + (bold ((t (:bold t)))) + (bold-italic ((t (:italic t :bold t :foreground "lavender")))) + (font-lock-builtin-face ((t (:foreground "pale goldenrod")))) + (font-lock-comment-face ((t (:foreground "indian red")))) + (font-lock-constant-face ((t (:foreground "pale green")))) + (font-lock-function-name-face ((t (:bold t :foreground "lemon chiffon")))) + (font-lock-keyword-face ((t (:foreground "wheat")))) + (font-lock-string-face ((t (:foreground "gold")))) + (font-lock-type-face ((t (:foreground "dark khaki" :bold t)))) + (font-lock-variable-name-face ((t (:bold t :foreground "khaki")))) + (font-lock-warning-face ((t (:bold t :foreground "orange red")))) + (fringe ((t (:background "gray25")))) + (header-line ((t (:background "gray20" :foreground "gray70")))) + (highlight ((t (:background "dark slate blue")))) + (info-menu-5 ((t (:underline t)))) + (info-node ((t (:bold t)))) + (info-xref ((t (:bold t :foreground "pale goldenrod")))) + (isearch ((t (:background "SeaGreen4")))) + (isearch-lazy-highlight-face ((t (:background "DarkOliveGreen4")))) + (italic ((t (:italic t :foreground "lavender")))) + (menu ((t (:background "gray25" :foreground "lemon chiffon")))) + (modeline ((t (:background "gray40" :foreground "lemon chiffon" :box (:line-width 1 :style released-button))))) + (modeline-buffer-id ((t (:background "AntiqueWhite4" :foreground "lemon chiffon")))) + (modeline-mousable ((t (:background "AntiqueWhite4" :foreground "lemon chiffon")))) + (modeline-mousable-minor-mode ((t (:background "wheat" :foreground "lemon chiffon")))) + (mode-line-inactive ((t (:background "gray20" :foreground "lemon chiffon" :box (:line-width 1 :style released-button))))) + (region ((t (:background "dark olive green")))) + (secondary-selection ((t (:background "dark green")))) + (tool-bar ((t (:background "gray25" :foreground "lemon chiffon" :box (:line-width 1 :style released-button))))) + (underline ((t (:underline t)))))))) + +(defun color-theme-ramangalahy () + "Color theme by Solofo Ramangalahy, created 2000-10-18. +Black on light grey, includes faces for vm, ispell, gnus, +dired, display-time, cperl, font-lock, widget, x-symbol." + (interactive) + (color-theme-install + '(color-theme-ramangalahy + ((background-color . "lightgrey") + (background-mode . light) + (background-toolbar-color . "#bfbfbfbfbfbf") + (border-color . "#000000000000") + (bottom-toolbar-shadow-color . "#737373737373") + (cursor-color . "blue") + (foreground-color . "black") + (top-toolbar-shadow-color . "#e6e6e6e6e6e6")) + ((gnus-mouse-face . highlight) + (goto-address-mail-face . info-xref) + (ispell-highlight-face . highlight) + (notes-bold-face . notes-bold-face) + (setnu-line-number-face . bold) + (tinyreplace-:face . highlight) + (vm-highlight-url-face . bold-italic) + (vm-highlighted-header-face . bold) + (vm-mime-button-face . gui-button-face) + (vm-summary-highlight-face . bold)) + (default ((t (nil)))) + (bbdb-company ((t (nil)))) + (blue ((t (:foreground "blue")))) + (bold ((t (:bold t)))) + (bold-italic ((t (:italic t :bold t)))) + (border-glyph ((t (nil)))) + (cperl-here-face ((t (:foreground "green4")))) + (cperl-pod-face ((t (:foreground "brown4")))) + (cperl-pod-head-face ((t (:foreground "steelblue")))) + (custom-button-face ((t (:bold t)))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face ((t (:underline t :foreground "blue")))) + (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "dark green")))) + (custom-variable-button-face ((t (:underline t :bold t)))) + (custom-variable-tag-face ((t (:underline t :foreground "blue")))) + (dired-face-boring ((t (:foreground "Gray65")))) + (dired-face-directory ((t (:bold t)))) + (dired-face-executable ((t (:foreground "SeaGreen")))) + (dired-face-flagged ((t (:background "LightSlateGray")))) + (dired-face-marked ((t (:background "PaleVioletRed")))) + (dired-face-permissions ((t (:background "grey75" :foreground "black")))) + (dired-face-setuid ((t (:foreground "Red")))) + (dired-face-socket ((t (:foreground "magenta")))) + (dired-face-symlink ((t (:foreground "blue")))) + (display-time-mail-balloon-enhance-face ((t (:background "orange")))) + (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue")))) + (display-time-time-balloon-face ((t (:foreground "red")))) + (ff-paths-non-existant-file-face ((t (:bold t :foreground "NavyBlue")))) + (font-lock-comment-face ((t (:bold t :foreground "purple")))) + (font-lock-doc-string-face ((t (:bold t :foreground "slateblue")))) + (font-lock-emphasized-face ((t (:bold t :background "lightyellow2")))) + (font-lock-function-name-face ((t (:bold t :foreground "blue")))) + (font-lock-keyword-face ((t (:bold t :foreground "violetred")))) + (font-lock-other-emphasized-face ((t (:italic t :bold t :background "lightyellow2")))) + (font-lock-other-type-face ((t (:bold t :foreground "orange3")))) + (font-lock-preprocessor-face ((t (:bold t :foreground "mediumblue")))) + (font-lock-reference-face ((t (:foreground "red3")))) + (font-lock-string-face ((t (:foreground "green4")))) + (font-lock-type-face ((t (:bold t :foreground "steelblue")))) + (font-lock-variable-name-face ((t (:foreground "magenta4")))) + (font-lock-warning-face ((t (:bold t :background "yellow" :foreground "Red")))) + (gnus-emphasis-bold ((t (:bold t)))) + (gnus-emphasis-bold-italic ((t (nil)))) + (gnus-emphasis-italic ((t (nil)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) + (gnus-emphasis-underline-bold-italic ((t (:underline t)))) + (gnus-emphasis-underline-italic ((t (:underline t)))) + (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3")))) + (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3")))) + (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4")))) + (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4")))) + (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) + (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen")))) + (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) + (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4")))) + (gnus-group-news-3-empty-face ((t (:foreground "DeepPink4")))) + (gnus-group-news-3-face ((t (:bold t :foreground "DeepPink4")))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen")))) + (gnus-header-content-face ((t (:foreground "indianred4")))) + (gnus-header-from-face ((t (:foreground "red3")))) + (gnus-header-name-face ((t (:foreground "maroon")))) + (gnus-header-newsgroups-face ((t (:foreground "MidnightBlue")))) + (gnus-header-subject-face ((t (:foreground "red4")))) + (gnus-signature-face ((t (:bold t)))) + (gnus-splash-face ((t (:foreground "ForestGreen")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) + (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen")))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick")))) + (gnus-summary-high-unread-face ((t (:bold t)))) + (gnus-summary-low-ancient-face ((t (:foreground "RoyalBlue")))) + (gnus-summary-low-read-face ((t (:foreground "DarkGreen")))) + (gnus-summary-low-ticked-face ((t (:foreground "firebrick")))) + (gnus-summary-low-unread-face ((t (nil)))) + (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) + (gnus-summary-normal-ticked-face ((t (:foreground "firebrick")))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-selected-face ((t (:underline t)))) + (gnus-x-face ((t (:background "lightgrey" :foreground "black")))) + (green ((t (:foreground "green")))) + (gui-button-face ((t (:background "grey75" :foreground "black")))) + (gui-element ((t (:background "lightgrey")))) + (highlight ((t (:background "darkseagreen2")))) + (info-node ((t (:underline t :bold t :foreground "mediumpurple")))) + (info-xref ((t (:underline t :bold t :foreground "#0000ee")))) + (isearch ((t (:background "paleturquoise")))) + (italic ((t (:italic t)))) + (left-margin ((t (nil)))) + (list-mode-item-selected ((t (:background "gray68" :foreground "black")))) + (message-cited-text ((t (:foreground "slategrey")))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:foreground "MidnightBlue")))) + (message-header-contents ((t (:italic t)))) + (message-header-name-face ((t (:foreground "cornflower blue")))) + (message-header-newsgroups-face ((t (:bold t :foreground "blue4")))) + (message-header-other-face ((t (:foreground "steel blue")))) + (message-header-subject-face ((t (:bold t :foreground "navy blue")))) + (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-headers ((t (:bold t)))) + (message-highlighted-header-contents ((t (:bold t)))) + (message-separator-face ((t (:foreground "brown")))) + (message-url ((t (:bold t)))) + (modeline ((t (:bold t :background "Gray75" :foreground "Black")))) + (modeline-buffer-id ((t (:bold t :background "Gray75" :foreground "blue4")))) + (modeline-mousable ((t (:bold t :background "Gray75" :foreground "firebrick")))) + (modeline-mousable-minor-mode ((t (:bold t :background "Gray75" :foreground "green4")))) + (paren-blink-off ((t (:foreground "lightgrey")))) + (paren-match ((t (:background "darkseagreen2")))) + (paren-mismatch ((t (:background "DeepPink" :foreground "black")))) + (pointer ((t (:foreground "blue")))) + (primary-selection ((t (:background "gray65")))) + (red ((t (:foreground "red")))) + (region ((t (:background "black" :foreground "white")))) + (right-margin ((t (nil)))) + (searchm-buffer ((t (:bold t :background "white" :foreground "red")))) + (searchm-button ((t (:bold t :background "CadetBlue" :foreground "white")))) + (searchm-field ((t (:background "grey89")))) + (searchm-field-label ((t (:bold t)))) + (searchm-highlight ((t (:bold t :background "darkseagreen2" :foreground "black")))) + (secondary-selection ((t (:background "paleturquoise")))) + (template-message-face ((t (:bold t)))) + (text-cursor ((t (:background "blue" :foreground "lightgrey")))) + (toolbar ((t (nil)))) + (underline ((t (:underline t)))) + (vertical-divider ((t (nil)))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (x-face ((t (:background "white" :foreground "black")))) + (x-symbol-adobe-fontspecific-face ((t (nil)))) + (x-symbol-face ((t (nil)))) + (x-symbol-heading-face ((t (:underline t :bold t :foreground "green4")))) + (x-symbol-info-face ((t (:foreground "green4")))) + (x-symbol-invisible-face ((t (nil)))) + (x-symbol-revealed-face ((t (:background "pink")))) + (yellow ((t (:foreground "yellow")))) + (zmacs-region ((t (:background "yellow"))))))) + +(defun color-theme-raspopovic () + "Color theme by Pedja Raspopovic, created 2000-10-19. +Includes faces for dired, font-lock, info, paren." + (interactive) + (color-theme-install + '(color-theme-raspopovic + ((background-color . "darkblue") + (background-mode . light) + (background-toolbar-color . "#bfbfbfbfbfbf") + (border-color . "#000000000000") + (bottom-toolbar-shadow-color . "#737373737373") + (cursor-color . "Red3") + (foreground-color . "yellow") + (top-toolbar-shadow-color . "#e6e6e6e6e6e6")) + ((setnu-line-number-face . bold) + (goto-address-mail-face . info-xref)) + (default ((t (nil)))) + (blue ((t (:background "darkblue" :foreground "blue")))) + (bold ((t (:bold t :background "darkblue" :foreground "yellow")))) + (bold-italic ((t (:bold t :background "darkblue" :foreground "red3")))) + (comint-input-face ((t (:foreground "deepskyblue")))) + (dired-face-boring ((t (:foreground "Gray65")))) + (dired-face-directory ((t (:foreground "lightgreen")))) + (dired-face-executable ((t (:foreground "indianred")))) + (dired-face-flagged ((t (:background "LightSlateGray")))) + (dired-face-marked ((t (:background "darkblue" :foreground "deepskyblue")))) + (dired-face-permissions ((t (:background "darkblue" :foreground "white")))) + (dired-face-setuid ((t (:foreground "Red")))) + (dired-face-socket ((t (:foreground "magenta")))) + (dired-face-symlink ((t (:foreground "grey95")))) + (font-lock-comment-face ((t (:background "darkblue" :foreground "lightgreen")))) + (font-lock-doc-string-face ((t (:background "darkblue" :foreground "darkseagreen")))) + (font-lock-function-name-face ((t (:bold t :background "darkblue" :foreground "indianred")))) + (font-lock-keyword-face ((t (:background "darkblue" :foreground "skyblue")))) + (font-lock-preprocessor-face ((t (:background "darkblue" :foreground "orange")))) + (font-lock-reference-face ((t (:background "darkblue" :foreground "deepskyblue")))) + (font-lock-string-face ((t (:background "darkblue" :foreground "lightgrey")))) + (font-lock-type-face ((t (:background "darkblue" :foreground "orange")))) + (font-lock-variable-name-face ((t (:background "darkblue" :foreground "white")))) + (green ((t (:background "darkblue" :foreground "green")))) + (gui-button-face ((t (:background "grey75" :foreground "black")))) + (highlight ((t (:background "yellow" :foreground "darkblue")))) + (info-node ((t (:bold t :background "darkblue" :foreground "red3")))) + (info-xref ((t (:bold t :background "darkblue" :foreground "yellow")))) + (isearch ((t (:background "yellow" :foreground "darkblue")))) + (isearch-secondary ((t (:foreground "red3")))) + (italic ((t (:background "darkblue" :foreground "red3")))) + (left-margin ((t (:background "darkblue" :foreground "yellow")))) + (list-mode-item-selected ((t (:background "gray68" :foreground "yellow")))) + (makefile-space-face ((t (:background "hotpink")))) + (modeline ((t (:background "Gray75" :foreground "Black")))) + (modeline-buffer-id ((t (:background "Gray75" :foreground "blue")))) + (modeline-mousable ((t (:background "Gray75" :foreground "red")))) + (modeline-mousable-minor-mode ((t (:background "Gray75" :foreground "green4")))) + (paren-blink-off ((t (:foreground "darkblue")))) + (paren-match ((t (:background "yellow" :foreground "darkblue")))) + (paren-mismatch ((t (:background "DeepPink" :foreground "yellow")))) + (pointer ((t (:background "darkblue" :foreground "red3")))) + (primary-selection ((t (:background "yellow" :foreground "darkblue")))) + (red ((t (:background "darkblue" :foreground "red")))) + (right-margin ((t (:background "darkblue" :foreground "yellow")))) + (secondary-selection ((t (:background "darkblue" :foreground "yellow")))) + (shell-option-face ((t (:background "darkblue" :foreground "cyan2")))) + (shell-output-2-face ((t (:background "darkblue" :foreground "darkseagreen")))) + (shell-output-3-face ((t (:background "darkblue" :foreground "lightgrey")))) + (shell-output-face ((t (:background "darkblue" :foreground "white")))) + (shell-prompt-face ((t (:background "darkblue" :foreground "red")))) + (text-cursor ((t (:background "Red3" :foreground "white")))) + (underline ((t (:underline t :background "darkblue" :foreground "yellow")))) + (vvb-face ((t (:background "pink" :foreground "black")))) + (yellow ((t (:background "darkblue" :foreground "yellow")))) + (zmacs-region ((t (:background "gray" :foreground "black"))))))) + +(defun color-theme-taylor () + "Color theme by Art Taylor, created 2000-10-20. +Wheat on black. Includes faces for font-lock, gnus, paren." + (interactive) + (color-theme-install + '(color-theme-taylor + ((background-color . "black") + (background-mode . dark) + (border-color . "black") + (cursor-color . "red") + (foreground-color . "wheat") + (mouse-color . "black")) + ((gnus-mouse-face . highlight) + (list-matching-lines-face . bold) + (view-highlight-face . highlight)) + (default ((t (nil)))) + (bold ((t (:bold t :background "grey40" :foreground "yellow")))) + (bold-italic ((t (:italic t :bold t :foreground "yellow green")))) + (fl-comment-face ((t (:foreground "medium purple")))) + (fl-function-name-face ((t (:foreground "green")))) + (fl-keyword-face ((t (:foreground "LightGreen")))) + (fl-string-face ((t (:foreground "light coral")))) + (fl-type-face ((t (:foreground "cyan")))) + (font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) + (font-lock-comment-face ((t (:foreground "OrangeRed")))) + (font-lock-constant-face ((t (:foreground "Aquamarine")))) + (font-lock-function-name-face ((t (:foreground "LightSkyBlue")))) + (font-lock-keyword-face ((t (:foreground "Cyan")))) + (font-lock-string-face ((t (:foreground "LightSalmon")))) + (font-lock-type-face ((t (:foreground "PaleGreen")))) + (font-lock-variable-name-face ((t (:foreground "LightGoldenrod")))) + (font-lock-warning-face ((t (:bold t :foreground "Pink")))) + (gnus-group-mail-1-empty-face ((t (:foreground "aquamarine1")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "aquamarine1")))) + (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "aquamarine2")))) + (gnus-group-mail-3-empty-face ((t (:foreground "aquamarine3")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "aquamarine3")))) + (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "aquamarine4")))) + (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) + (gnus-group-news-1-face ((t (:bold t :foreground "PaleTurquoise")))) + (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) + (gnus-group-news-2-face ((t (:bold t :foreground "turquoise")))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkTurquoise")))) + (gnus-splash-face ((t (:foreground "Brown")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "SkyBlue")))) + (gnus-summary-high-read-face ((t (:bold t :foreground "PaleGreen")))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "pink")))) + (gnus-summary-high-unread-face ((t (:bold t)))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "SkyBlue")))) + (gnus-summary-low-read-face ((t (:italic t :foreground "PaleGreen")))) + (gnus-summary-low-ticked-face ((t (:italic t :foreground "pink")))) + (gnus-summary-low-unread-face ((t (:italic t)))) + (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) + (gnus-summary-normal-ticked-face ((t (:foreground "pink")))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-selected-face ((t (:underline t)))) + (highlight ((t (:background "black" :foreground "black")))) + (italic ((t (:italic t :foreground "yellow3")))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:bold t :foreground "green4")))) + (message-header-name-face ((t (:foreground "DarkGreen")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "yellow")))) + (message-header-other-face ((t (:foreground "#b00000")))) + (message-header-subject-face ((t (:foreground "green3")))) + (message-header-to-face ((t (:bold t :foreground "green2")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-mml-face ((t (:foreground "ForestGreen")))) + (message-separator-face ((t (:foreground "blue3")))) + (modeline ((t (:background "wheat" :foreground "black")))) + (modeline-buffer-id ((t (:background "wheat" :foreground "black")))) + (modeline-mousable ((t (:background "wheat" :foreground "black")))) + (modeline-mousable-minor-mode ((t (:background "wheat" :foreground "black")))) + (region ((t (:background "blue")))) + (secondary-selection ((t (:background "darkslateblue" :foreground "black")))) + (show-paren-match-face ((t (:background "turquoise")))) + (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) + (underline ((t (:underline t)))) + (xref-keyword-face ((t (:foreground "blue")))) + (xref-list-default-face ((t (nil)))) + (xref-list-pilot-face ((t (:foreground "navy")))) + (xref-list-symbol-face ((t (:foreground "navy"))))))) + +(defun color-theme-marquardt () + "Color theme by Colin Marquardt, created 2000-10-25. +Black on bisque, a light color. Based on some settings from Robin S. Socha. +Features some color changes to programming languages, especially vhdl-mode. +You might also want to put something like + Emacs*Foreground: Black + Emacs*Background: bisque2 +in your ~/.Xdefaults." + (interactive) + (color-theme-install + '(color-theme-marquardt + ((background-color . "bisque") + (background-mode . light) + (background-toolbar-color . "bisque") + (border-color . "#000000000000") + (bottom-toolbar-shadow-color . "#909099999999") + (cursor-color . "Red3") + (foreground-color . "black") + (top-toolbar-shadow-color . "#ffffffffffff")) + (default ((t (nil)))) + (blue ((t (:foreground "blue")))) + (bold ((t (:bold t)))) + (bold-italic ((t (:bold t)))) + (border-glyph ((t (nil)))) + (calendar-today-face ((t (:underline t)))) + (diary-face ((t (:foreground "red")))) + (display-time-mail-balloon-enhance-face ((t (:background "orange")))) + (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue")))) + (display-time-time-balloon-face ((t (:foreground "red")))) + (ff-paths-non-existant-file-face ((t (:bold t :foreground "NavyBlue")))) + (font-lock-comment-face ((t (:foreground "gray50")))) + (font-lock-doc-string-face ((t (:foreground "green4")))) + (font-lock-function-name-face ((t (:foreground "darkorange")))) + (font-lock-keyword-face ((t (:foreground "blue3")))) + (font-lock-preprocessor-face ((t (:foreground "blue3")))) + (font-lock-reference-face ((t (:foreground "red3")))) + (font-lock-special-comment-face ((t (:foreground "blue4")))) + (font-lock-special-keyword-face ((t (:foreground "red4")))) + (font-lock-string-face ((t (:foreground "green4")))) + (font-lock-type-face ((t (:foreground "steelblue")))) + (font-lock-variable-name-face ((t (:foreground "black")))) + (font-lock-warning-face ((t (:bold t :foreground "Red")))) + (green ((t (:foreground "green")))) + (gui-button-face ((t (:background "grey75" :foreground "black")))) + (gui-element ((t (:background "azure1" :foreground "Black")))) + (highlight ((t (:background "darkseagreen2" :foreground "blue")))) + (holiday-face ((t (:background "pink" :foreground "black")))) + (info-node ((t (:bold t)))) + (info-xref ((t (:bold t)))) + (isearch ((t (:background "yellow" :foreground "red")))) + (italic ((t (:bold t)))) + (left-margin ((t (nil)))) + (list-mode-item-selected ((t (:background "gray68" :foreground "black")))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:foreground "MidnightBlue")))) + (message-header-name-face ((t (:foreground "cornflower blue")))) + (message-header-newsgroups-face ((t (:bold t :foreground "blue4")))) + (message-header-other-face ((t (:foreground "steel blue")))) + (message-header-subject-face ((t (:bold t :foreground "navy blue")))) + (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-mml-face ((t (:foreground "ForestGreen")))) + (message-separator-face ((t (:foreground "brown")))) + (modeline ((t (:background "bisque2" :foreground "steelblue4")))) + (modeline-buffer-id ((t (:background "bisque2" :foreground "blue4")))) + (modeline-mousable ((t (:background "bisque2" :foreground "firebrick")))) + (modeline-mousable-minor-mode ((t (:background "bisque2" :foreground "green4")))) + (paren-blink-off ((t (:foreground "azure1")))) + (paren-face ((t (:background "lightgoldenrod")))) + (paren-match ((t (:background "bisque2")))) + (paren-mismatch ((t (:background "DeepPink" :foreground "black")))) + (paren-mismatch-face ((t (:background "DeepPink")))) + (paren-no-match-face ((t (:background "yellow")))) + (pointer ((t (:background "white" :foreground "blue")))) + (primary-selection ((t (:background "gray65")))) + (red ((t (:foreground "red")))) + (right-margin ((t (nil)))) + (secondary-selection ((t (:background "paleturquoise")))) + (shell-option-face ((t (:foreground "gray50")))) + (shell-output-2-face ((t (:foreground "green4")))) + (shell-output-3-face ((t (:foreground "green4")))) + (shell-output-face ((t (:bold t)))) + (shell-prompt-face ((t (:foreground "blue3")))) + (speedbar-button-face ((t (:foreground "green4")))) + (speedbar-directory-face ((t (:foreground "blue4")))) + (speedbar-file-face ((t (:foreground "cyan4")))) + (speedbar-highlight-face ((t (:background "green")))) + (speedbar-selected-face ((t (:underline t :foreground "red")))) + (speedbar-tag-face ((t (:foreground "brown")))) + (text-cursor ((t (:background "Red3" :foreground "bisque")))) + (toolbar ((t (:background "Gray80")))) + (underline ((t (:underline t)))) + (vertical-divider ((t (nil)))) + (vhdl-font-lock-attribute-face ((t (:foreground "Orchid")))) + (vhdl-font-lock-directive-face ((t (:foreground "CadetBlue")))) + (vhdl-font-lock-enumvalue-face ((t (:foreground "SaddleBrown")))) + (vhdl-font-lock-function-face ((t (:foreground "DarkCyan")))) + (vhdl-font-lock-generic-/constant-face ((t (:foreground "Gold3")))) + (vhdl-font-lock-prompt-face ((t (:bold t :foreground "Red")))) + (vhdl-font-lock-reserved-words-face ((t (:bold t :foreground "Orange")))) + (vhdl-font-lock-translate-off-face ((t (:background "LightGray")))) + (vhdl-font-lock-type-face ((t (:foreground "ForestGreen")))) + (vhdl-font-lock-variable-face ((t (:foreground "Grey50")))) + (vhdl-speedbar-architecture-face ((t (:foreground "Blue")))) + (vhdl-speedbar-architecture-selected-face ((t (:underline t :foreground "Blue")))) + (vhdl-speedbar-configuration-face ((t (:foreground "DarkGoldenrod")))) + (vhdl-speedbar-configuration-selected-face ((t (:underline t :foreground "DarkGoldenrod")))) + (vhdl-speedbar-entity-face ((t (:foreground "ForestGreen")))) + (vhdl-speedbar-entity-selected-face ((t (:underline t :foreground "ForestGreen")))) + (vhdl-speedbar-instantiation-face ((t (:foreground "Brown")))) + (vhdl-speedbar-instantiation-selected-face ((t (:underline t :foreground "Brown")))) + (vhdl-speedbar-package-face ((t (:foreground "Grey50")))) + (vhdl-speedbar-package-selected-face ((t (:underline t :foreground "Grey50")))) + (vhdl-speedbar-subprogram-face ((t (:foreground "Orchid4")))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (yellow ((t (:foreground "yellow")))) + (zmacs-region ((t (:background "steelblue" :foreground "yellow"))))))) + +(defun color-theme-parus () + "Color theme by Jon K Hellan, created 2000-11-01. +White on dark blue color theme. + +There is some redundancy in the X resources, but I do not have time to +find out which should go or which should stay: + +Emacs*dialog*Background: midnightblue +Emacs*dialog*Foreground: white +Emacs*popup*Background: midnightblue +Emacs*popup*Foreground: white +emacs*background: #00005a +emacs*cursorColor: gray90 +emacs*foreground: White +emacs.dialog*.background: midnightblue +emacs.menu*.background: midnightblue +emacs.pane.menubar.background: midnightblue" + (interactive) + (color-theme-install + '(color-theme-parus + ((background-color . "#00005a") + (background-mode . dark) + (border-color . "black") + (cursor-color . "yellow") + (foreground-color . "White") + (mouse-color . "yellow")) + ((gnus-mouse-face . highlight) + (list-matching-lines-face . bold) + (paren-face . bold) + (paren-mismatch-face . paren-mismatch-face) + (paren-no-match-face . paren-no-match-face) + (view-highlight-face . highlight)) + (default ((t (nil)))) + (bold ((t (:bold t)))) + (bold-italic ((t (:italic t :bold t)))) + (font-latex-bold-face ((t (:bold t :foreground "OliveDrab")))) + (font-latex-italic-face ((t (:italic t :foreground "OliveDrab")))) + (font-latex-math-face ((t (:foreground "burlywood")))) + (font-latex-sedate-face ((t (:foreground "LightGray")))) + (font-latex-string-face ((t (:foreground "LightSalmon")))) + (font-latex-warning-face ((t (:foreground "Pink")))) + (font-lock-builtin-face ((t (:foreground "#e0e0ff")))) + (font-lock-reference-face ((t (:foreground "#e0e0ff")))) + (font-lock-comment-face ((t (:foreground "#FFd1d1")))) + (font-lock-constant-face ((t (:foreground "Aquamarine")))) + (font-lock-preprocessor-face ((t (:foreground "Aquamarine")))) + (font-lock-function-name-face ((t (:foreground "#b2e4ff")))) + (font-lock-keyword-face ((t (:foreground "#a0ffff")))) + (font-lock-string-face ((t (:foreground "#efca10")))) + (font-lock-doc-string-face ((t (:foreground "#efca10")))) + (font-lock-type-face ((t (:foreground "PaleGreen")))) + (font-lock-variable-name-face ((t (:foreground "LightGoldenrod")))) + (font-lock-warning-face ((t (:bold t :foreground "Pink")))) + (gnus-cite-attribution-face ((t (:italic t)))) + (gnus-cite-face-1 ((t (:foreground "#dfdfff")))) + (gnus-cite-face-10 ((t (:foreground "medium purple")))) + (gnus-cite-face-11 ((t (:foreground "turquoise")))) + (gnus-cite-face-2 ((t (:foreground "light cyan")))) + (gnus-cite-face-3 ((t (:foreground "light yellow")))) + (gnus-cite-face-4 ((t (:foreground "light pink")))) + (gnus-cite-face-5 ((t (:foreground "pale green")))) + (gnus-cite-face-6 ((t (:foreground "beige")))) + (gnus-cite-face-7 ((t (:foreground "orange")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-emphasis-bold ((t (:bold t)))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) + (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) + (gnus-emphasis-italic ((t (:italic t)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) + (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t)))) + (gnus-emphasis-underline-italic ((t (:underline t :italic t)))) + (gnus-group-mail-1-empty-face ((t (:foreground "aquamarine1")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "aquamarine1")))) + (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "aquamarine2")))) + (gnus-group-mail-3-empty-face ((t (:foreground "aquamarine3")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "aquamarine3")))) + (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "aquamarine4")))) + (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) + (gnus-group-news-1-face ((t (:bold t :foreground "PaleTurquoise")))) + (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) + (gnus-group-news-2-face ((t (:bold t :foreground "turquoise")))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkTurquoise")))) + (gnus-header-content-face ((t (:italic t :foreground "#90f490")))) + (gnus-header-from-face ((t (:foreground "#aaffaa")))) + (gnus-header-name-face ((t (:foreground "#c7e3c7")))) + (gnus-header-newsgroups-face ((t (:italic t :foreground "yellow")))) + (gnus-header-subject-face ((t (:foreground "#a0f0a0")))) + (gnus-signature-face ((t (:italic t)))) + (gnus-splash-face ((t (:foreground "Brown")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "SkyBlue")))) + (gnus-summary-high-read-face ((t (:bold t :foreground "PaleGreen")))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "pink")))) + (gnus-summary-high-unread-face ((t (:bold t)))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "SkyBlue")))) + (gnus-summary-low-read-face ((t (:italic t :foreground "PaleGreen")))) + (gnus-summary-low-ticked-face ((t (:italic t :foreground "pink")))) + (gnus-summary-low-unread-face ((t (:italic t)))) + (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) + (gnus-summary-normal-ticked-face ((t (:foreground "pink")))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-selected-face ((t (:underline t)))) + (highlight ((t (:background "darkolivegreen")))) + (italic ((t (:italic t)))) + (message-cited-text-face ((t (:foreground "#dfdfff")))) + (message-header-cc-face ((t (:bold t :foreground "#a0f0a0")))) + (message-header-name-face ((t (:foreground "#c7e3c7")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "yellow")))) + (message-header-other-face ((t (:foreground "#db9b9b")))) + (message-header-subject-face ((t (:foreground "#a0f0a0")))) + (message-header-to-face ((t (:bold t :foreground "#aaffaa")))) + (message-header-xheader-face ((t (:foreground "#e2e2ff")))) + (message-mml-face ((t (:foreground "#abdbab")))) + (message-separator-face ((t (:foreground "#dfdfff")))) + (modeline ((t (:background "White" :foreground "#00005a")))) + (modeline-buffer-id ((t (:background "White" :foreground "#00005a")))) + (modeline-mousable ((t (:background "White" :foreground "#00005a")))) + (modeline-mousable-minor-mode ((t (:background "White" :foreground "#00005a")))) + (paren-mismatch-face ((t (:background "DeepPink")))) + (paren-no-match-face ((t (:background "yellow")))) + (region ((t (:background "blue")))) + (primary-selection ((t (:background "blue")))) + (isearch ((t (:background "blue")))) + (secondary-selection ((t (:background "darkslateblue")))) + (underline ((t (:underline t)))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "lime green")))) + (widget-field-face ((t (:background "dim gray")))) + (widget-inactive-face ((t (:foreground "light gray")))) + (widget-single-line-field-face ((t (:background "dim gray"))))))) + +(defun color-theme-high-contrast () + "High contrast color theme, maybe for the visually impaired. +Watch out! This will set a very large font-size! + +If you want to modify the font as well, you should customize variable +`color-theme-legal-frame-parameters' to \"\\(color\\|mode\\|font\\|height\\|width\\)$\". +The default setting will prevent color themes from installing specific +fonts." + (interactive) + (color-theme-standard) + (let ((color-theme-is-cumulative t)) + (color-theme-install + '(color-theme-high-contrast + ((cursor-color . "red") + (width . 60) + (height . 25) + (background . dark)) + (default ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight bold :height 240 :width normal :family "adobe-courier")))) + + (bold ((t (:bold t :underline t)))) + (bold-italic ((t (:bold t :underline t)))) + (font-lock-builtin-face ((t (:bold t :foreground "Red")))) + (font-lock-comment-face ((t (:bold t :foreground "Firebrick")))) + (font-lock-constant-face ((t (:bold t :underline t :foreground "Blue")))) + (font-lock-function-name-face ((t (:bold t :foreground "Blue")))) + (font-lock-keyword-face ((t (:bold t :foreground "Purple")))) + (font-lock-string-face ((t (:bold t :foreground "DarkGreen")))) + (font-lock-type-face ((t (:bold t :foreground "ForestGreen")))) + (font-lock-variable-name-face ((t (:bold t :foreground "DarkGoldenrod")))) + (font-lock-warning-face ((t (:bold t :foreground "Red")))) + (highlight ((t (:background "black" :foreground "white" :bold 1)))) + (info-menu-5 ((t (:underline t :bold t)))) + (info-node ((t (:bold t)))) + (info-xref ((t (:bold t )))) + (italic ((t (:bold t :underline t)))) + (modeline ((t (:background "black" :foreground "white" :bold 1)))) + (modeline-buffer-id ((t (:background "black" :foreground "white" :bold 1)))) + (modeline-mousable ((t (:background "black" :foreground "white" :bold 1)))) + (modeline-mousable-minor-mode ((t (:background "black" :foreground "white" :bold 1)))) + (region ((t (:background "black" :foreground "white" :bold 1)))) + (secondary-selection ((t (:background "black" :foreground "white" :bold 1)))) + (underline ((t (:bold t :underline t)))))))) + +(defun color-theme-infodoc () + "Color theme by Frederic Giroud, created 2001-01-18. +Black on wheat scheme. Based on infodoc (xemacs variant distribution), +with my favorit fontlock color." + (interactive) + (color-theme-install + '(color-theme-infodoc + ((background-color . "wheat") + (background-mode . light) + (background-toolbar-color . "#000000000000") + (border-color . "#000000000000") + (bottom-toolbar-shadow-color . "#000000000000") + (cursor-color . "red") + (foreground-color . "black") + (top-toolbar-shadow-color . "#ffffffffffff")) + nil + (default ((t (:bold t)))) + (blue ((t (:bold t :foreground "blue")))) + (bold ((t (:background "wheat" :foreground "black")))) + (bold-italic ((t (:bold t :background "wheat" :foreground "black")))) + (border-glyph ((t (:bold t)))) + (calendar-today-face ((t (:underline t :bold t)))) + (custom-button-face ((t (nil)))) + (custom-changed-face ((t (:bold t :background "blue" :foreground "white")))) + (custom-documentation-face ((t (:bold t :background "wheat" :foreground "purple4")))) + (custom-face-tag-face ((t (:underline t :bold t)))) + (custom-group-tag-face ((t (:underline t :bold t :background "wheat" :foreground "blue")))) + (custom-group-tag-face-1 ((t (:underline t :bold t :background "wheat" :foreground "red")))) + (custom-invalid-face ((t (:bold t :background "red" :foreground "yellow")))) + (custom-modified-face ((t (:bold t :background "blue" :foreground "white")))) + (custom-rogue-face ((t (:bold t :background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t :bold t)))) + (custom-set-face ((t (:bold t :background "white" :foreground "blue")))) + (custom-state-face ((t (:bold t :background "wheat" :foreground "dark green")))) + (custom-variable-button-face ((t (:underline t)))) + (custom-variable-tag-face ((t (:underline t :bold t :background "wheat" :foreground "blue")))) + (diary-face ((t (:bold t :foreground "red")))) + (display-time-mail-balloon-enhance-face ((t (:bold t :background "wheat" :foreground "black")))) + (display-time-mail-balloon-gnus-group-face ((t (:bold t :background "wheat" :foreground "blue")))) + (display-time-time-balloon-face ((t (:bold t :background "light salmon" :foreground "dark green")))) + (font-lock-comment-face ((t (:bold t :background "wheat" :foreground "turquoise4")))) + (font-lock-doc-string-face ((t (:bold t :background "wheat" :foreground "purple4")))) + (font-lock-function-name-face ((t (:bold t :background "wheat" :foreground "blue4")))) + (font-lock-keyword-face ((t (:bold t :background "wheat" :foreground "dark orchid")))) + (font-lock-preprocessor-face ((t (:bold t :background "wheat" :foreground "orchid4")))) + (font-lock-reference-face ((t (:bold t :background "wheat" :foreground "red3")))) + (font-lock-string-face ((t (:bold t :background "wheat" :foreground "dark goldenrod")))) + (font-lock-type-face ((t (:bold t :background "wheat" :foreground "brown")))) + (font-lock-variable-name-face ((t (:bold t :background "wheat" :foreground "chocolate")))) + (font-lock-warning-face ((t (:bold t :background "wheat" :foreground "black")))) + (gdb-arrow-face ((t (:bold t :background "LightGreen" :foreground "black")))) + (green ((t (:bold t :foreground "green")))) + (gui-button-face ((t (:bold t :background "wheat" :foreground "red")))) + (gui-element ((t (:bold t :background "wheat" :foreground "black")))) + (highlight ((t (:bold t :background "darkseagreen2" :foreground "dark green")))) + (holiday-face ((t (:bold t :background "pink" :foreground "black")))) + (hproperty:but-face ((t (:bold t :background "wheat" :foreground "medium violet red")))) + (hproperty:flash-face ((t (:bold t :background "wheat" :foreground "gray80")))) + (hproperty:highlight-face ((t (:bold t :background "wheat" :foreground "red")))) + (hproperty:item-face ((t (:bold t)))) + (isearch ((t (:bold t :background "pale turquoise" :foreground "blue")))) + (italic ((t (:bold t :background "wheat" :foreground "black")))) + (left-margin ((t (:bold t :background "wheat" :foreground "black")))) + (list-mode-item-selected ((t (:bold t :background "gray68" :foreground "black")))) + (message-cited-text ((t (:bold t :background "wheat" :foreground "brown")))) + (message-header-contents ((t (:bold t :background "wheat" :foreground "black")))) + (message-headers ((t (:bold t :background "wheat" :foreground "black")))) + (message-highlighted-header-contents ((t (:bold t :background "wheat" :foreground "blue")))) + (message-url ((t (nil)))) + (modeline ((t (:bold t :background "light salmon" :foreground "dark green")))) + (modeline-buffer-id ((t (:bold t :background "light salmon" :foreground "blue4")))) + (modeline-mousable ((t (:bold t :background "light salmon" :foreground "firebrick")))) + (modeline-mousable-minor-mode ((t (:bold t :background "light salmon" :foreground "green4")))) + (pointer ((t (:bold t :background "wheat" :foreground "red")))) + (primary-selection ((t (:bold t :background "medium sea green")))) + (red ((t (:bold t :foreground "red")))) + (right-margin ((t (:bold t :background "wheat" :foreground "black")))) + (secondary-selection ((t (:bold t :background "paleturquoise" :foreground "black")))) + (shell-input-face ((t (:bold t :background "wheat" :foreground "blue")))) + (shell-option-face ((t (:bold t :background "wheat" :foreground "turquoise4")))) + (shell-output-2-face ((t (:bold t :background "wheat" :foreground "dark goldenrod")))) + (shell-output-3-face ((t (:bold t :background "wheat" :foreground "dark goldenrod")))) + (shell-output-face ((t (:bold t :background "wheat" :foreground "black")))) + (shell-prompt-face ((t (:bold t :background "wheat" :foreground "dark orchid")))) + (text-cursor ((t (:bold t :background "red" :foreground "wheat")))) + (toolbar ((t (:bold t :background "wheat" :foreground "black")))) + (underline ((t (:underline t :bold t :background "wheat" :foreground "black")))) + (vertical-divider ((t (:bold t)))) + (widget-button-face ((t (nil)))) + (widget-button-pressed-face ((t (:bold t :background "wheat" :foreground "red")))) + (widget-documentation-face ((t (:bold t :background "wheat" :foreground "dark green")))) + (widget-field-face ((t (:bold t :background "gray85")))) + (widget-inactive-face ((t (:bold t :background "wheat" :foreground "dim gray")))) + (x-face ((t (:bold t :background "wheat" :foreground "black")))) + (yellow ((t (:bold t :foreground "yellow")))) + (zmacs-region ((t (:bold t :background "lightyellow" :foreground "darkgreen"))))))) + +(defun color-theme-classic () + "Color theme by Frederic Giroud, created 2001-01-18. +AntiqueWhite on darkslategrey scheme. Based on Gnome 2, with my favorit +color foreground-color and fontlock color." + (interactive) + (color-theme-blue-gnus) + (let ((color-theme-is-cumulative t)) + (color-theme-install + '(color-theme-classic + ((foreground-color . "AntiqueWhite") + (background-color . "darkslategrey") + (mouse-color . "Grey") + (cursor-color . "Red") + (border-color . "black") + (background-mode . dark)) + ((apropos-keybinding-face . underline) + (apropos-label-face . italic) + (apropos-match-face . secondary-selection) + (apropos-property-face . bold-italic) + (apropos-symbol-face . info-xref) + (goto-address-mail-face . message-header-to-face) + (goto-address-mail-mouse-face . secondary-selection) + (goto-address-url-face . info-xref) + (goto-address-url-mouse-face . highlight) + (list-matching-lines-face . bold) + (view-highlight-face . highlight)) + (default ((t (nil)))) + (bold ((t (:bold t)))) + (bold-italic ((t (:italic t :bold t :foreground "beige")))) + (calendar-today-face ((t (:underline t)))) + (cperl-array-face ((t (:foreground "Yellow")))) + (cperl-hash-face ((t (:foreground "White")))) + (cperl-nonoverridable-face ((t (:foreground "SkyBlue")))) + (custom-button-face ((t (:underline t :foreground "MediumSlateBlue")))) + (custom-documentation-face ((t (:foreground "Grey")))) + (custom-group-tag-face ((t (:foreground "MediumAquamarine")))) + (custom-state-face ((t (:foreground "LightSalmon")))) + (custom-variable-tag-face ((t (:foreground "Aquamarine")))) + (diary-face ((t (:foreground "IndianRed")))) + (erc-action-face ((t (:bold t)))) + (erc-bold-face ((t (:bold t)))) + (erc-default-face ((t (nil)))) + (erc-direct-msg-face ((t (:foreground "LightSalmon")))) + (erc-error-face ((t (:bold t :foreground "IndianRed")))) + (erc-input-face ((t (:foreground "Beige")))) + (erc-inverse-face ((t (:background "wheat" :foreground "darkslategrey")))) + (erc-notice-face ((t (:foreground "MediumAquamarine")))) + (erc-pal-face ((t (:foreground "pale green")))) + (erc-prompt-face ((t (:foreground "MediumAquamarine")))) + (erc-underline-face ((t (:underline t)))) + (eshell-ls-archive-face ((t (:bold t :foreground "IndianRed")))) + (eshell-ls-backup-face ((t (:foreground "Grey")))) + (eshell-ls-clutter-face ((t (:foreground "DimGray")))) + (eshell-ls-directory-face ((t (:bold t :foreground "MediumSlateBlue")))) + (eshell-ls-executable-face ((t (:foreground "Coral")))) + (eshell-ls-missing-face ((t (:foreground "black")))) + (eshell-ls-picture-face ((t (:foreground "Violet")))) + (eshell-ls-product-face ((t (:foreground "LightSalmon")))) + (eshell-ls-readonly-face ((t (:foreground "Aquamarine")))) + (eshell-ls-special-face ((t (:foreground "Gold")))) + (eshell-ls-symlink-face ((t (:foreground "White")))) + (eshell-ls-unreadable-face ((t (:foreground "DimGray")))) + (eshell-prompt-face ((t (:foreground "MediumAquamarine")))) + (font-lock-builtin-face ((t (:bold t :foreground "PaleGreen")))) + (font-lock-comment-face ((t (:foreground "tomato3")))) + (font-lock-constant-face ((t (:foreground "Aquamarine")))) + (font-lock-doc-string-face ((t (:foreground "LightSalmon3")))) + (font-lock-function-name-face ((t (:foreground "SteelBlue1")))) + (font-lock-keyword-face ((t (:foreground "cyan1")))) + (font-lock-reference-face ((t (:foreground "LightSalmon2")))) + (font-lock-string-face ((t (:foreground "LightSalmon3")))) + (font-lock-type-face ((t (:foreground "PaleGreen3")))) + (font-lock-variable-name-face ((t (:foreground "khaki1")))) + (font-lock-warning-face ((t (:bold t :foreground "IndianRed")))) + (font-lock-preprocessor-face ((t (:foreground "SkyBlue3")))) + (widget-field-face ((t (:background "DarkCyan")))) + (custom-group-tag-face ((t(:foreground "brown" :underline t)))) + (custom-state-face ((t (:foreground "khaki")))) + (highlight ((t (:background "PaleGreen" :foreground "DarkGreen")))) + (highline-face ((t (:background "SeaGreen")))) + (holiday-face ((t (:background "DimGray")))) + (info-menu-5 ((t (:underline t)))) + (info-node ((t (:underline t :bold t :foreground "DodgerBlue1")))) + (info-xref ((t (:underline t :foreground "DodgerBlue1")))) + (isearch ((t (:foreground "red" :background "CornflowerBlue")))) + (italic ((t (:italic t)))) + (modeline ((t (:background "LightSlateGray" :foreground "AntiqueWhite")))) + (modeline-buffer-id ((t (:background "LightSlateGray" :foreground "DarkBlue")))) + (modeline-mousable ((t (:background "LightSlateGray" :foreground "firebrick")))) + (modeline-mousable-minor-mode ((t (:background "LightSlateGray" :foreground "wheat")))) + (region ((t (:background "dark cyan" :foreground "cyan")))) + (secondary-selection ((t (:background "Aquamarine" :foreground "SlateBlue")))) + (show-paren-match-face ((t (:background "Aquamarine" :foreground "SlateBlue")))) + (show-paren-mismatch-face ((t (:background "Red" :foreground "White")))) + (underline ((t (:underline t)))) + (widget-field-face ((t (:foreground "LightBlue")))) + (widget-inactive-face ((t (:foreground "DimGray")))) + (widget-single-line-field-face ((t (:foreground "LightBlue")))) + (woman-bold-face ((t (:bold t)))) + (woman-italic-face ((t (:foreground "beige")))) + (woman-unknown-face ((t (:foreground "LightSalmon")))))))) + +(defun color-theme-scintilla () + "Color theme by Gordon Messmer, created 2001-02-07. +Based on the Scintilla editor. + +If you want to modify the font as well, you should customize variable +`color-theme-legal-frame-parameters' to \"\\(color\\|mode\\|font\\|height\\|width\\)$\". +The default setting will prevent color themes from installing specific +fonts." + (interactive) + (color-theme-install + ;; The light editor style doesn't seem to look right with + ;; the same font that works in the dark editor style. + ;; Dark letters on light background just isn't as visible. + '(color-theme-scintilla + ((font . "-monotype-courier new-bold-r-normal-*-*-140-*-*-m-*-iso8859-1") + (width . 95) + (height . 40) + (background-color . "white") + (foreground-color . "black") + (background-mode . light) + (mouse-color . "grey15") + (cursor-color . "grey15")) + (default ((t nil))) + (font-lock-comment-face ((t (:italic t :foreground "ForestGreen")))) + (font-lock-string-face ((t (:foreground "DarkMagenta")))) + (font-lock-keyword-face ((t (:foreground "NavyBlue")))) + (font-lock-warning-face ((t (:bold t :foreground "VioletRed")))) + (font-lock-constant-face ((t (:foreground "Blue")))) + (font-lock-type-face ((t (:foreground "NavyBlue")))) + (font-lock-variable-name-face ((t (:foreground "DarkCyan")))) + (font-lock-function-name-face ((t (:foreground "DarkCyan")))) + (font-lock-builtin-face ((t (:foreground "NavyBlue")))) + (highline-face ((t (:background "Grey95")))) + (show-paren-match-face ((t (:background "Grey80")))) + (region ((t (:background "Grey80")))) + (highlight ((t (:foreground "ForestGreen")))) + (secondary-selection ((t (:background "NavyBlue" :foreground "white")))) + (widget-field-face ((t (:background "NavyBlue")))) + (widget-single-line-field-face ((t (:background "RoyalBlue")))))) ) + +(defun color-theme-gtk-ide () + "Color theme by Gordon Messmer, created 2001-02-07. +Inspired by a GTK IDE whose name I've forgotten. + +If you want to modify the font as well, you should customize variable +`color-theme-legal-frame-parameters' to \"\\(color\\|mode\\|font\\|height\\|width\\)$\". +The default setting will prevent color themes from installing specific +fonts." + ;; The light editor style doesn't seem to look right with + ;; the same font that works in the dark editor style. + ;; Dark letters on light background just isn't as visible. + (interactive) + (color-theme-install + '(color-theme-gtk-ide + ((font . "-monotype-courier new-medium-r-normal-*-*-120-*-*-m-*-iso8859-15") + (width . 95) + (height . 45) + (background-color . "white") + (foreground-color . "black") + (background-mode . light) + (mouse-color . "grey15") + (cursor-color . "grey15")) + (default ((t nil))) + (font-lock-comment-face ((t (:italic t :foreground "grey55")))) + (font-lock-string-face ((t (:foreground "DarkRed")))) + (font-lock-keyword-face ((t (:foreground "DarkBlue")))) + (font-lock-warning-face ((t (:bold t :foreground "VioletRed")))) + (font-lock-constant-face ((t (:foreground "OliveDrab")))) + (font-lock-type-face ((t (:foreground "SteelBlue4")))) + (font-lock-variable-name-face ((t (:foreground "DarkGoldenrod")))) + (font-lock-function-name-face ((t (:foreground "SlateBlue")))) + (font-lock-builtin-face ((t (:foreground "ForestGreen")))) + (highline-face ((t (:background "grey95")))) + (show-paren-match-face ((t (:background "grey80")))) + (region ((t (:background "grey80")))) + (highlight ((t (:background "LightSkyBlue")))) + (secondary-selection ((t (:background "grey55")))) + (widget-field-face ((t (:background "navy")))) + (widget-single-line-field-face ((t (:background "royalblue")))))) ) + +(defun color-theme-midnight () + "Color theme by Gordon Messmer, created 2001-02-07. +A color theme inspired by a certain IDE for Windows. It's all from memory, +since I only used that software in college. + +If you want to modify the font as well, you should customize variable +`color-theme-legal-frame-parameters' to \"\\(color\\|mode\\|font\\|height\\|width\\)$\". +The default setting will prevent color themes from installing specific +fonts." + (interactive) + (color-theme-install + '(color-theme-midnight + ((font . "fixed") + (width . 130) + (height . 50) + (background-color . "black") + (foreground-color . "grey85") + (background-mode . dark) + (mouse-color . "grey85") + (cursor-color . "grey85")) + (default ((t (nil)))) + (font-lock-comment-face ((t (:italic t :foreground "grey60")))) + (font-lock-string-face ((t (:foreground "Magenta")))) + (font-lock-keyword-face ((t (:foreground "Cyan")))) + (font-lock-warning-face ((t (:bold t :foreground "Pink")))) + (font-lock-constant-face ((t (:foreground "OliveDrab")))) + (font-lock-type-face ((t (:foreground "DarkCyan")))) + (font-lock-variable-name-face ((t (:foreground "DarkGoldenrod")))) + (font-lock-function-name-face ((t (:foreground "SlateBlue")))) + (font-lock-builtin-face ((t (:foreground "SkyBlue")))) + (highline-face ((t (:background "grey12")))) + (setnu-line-number-face ((t (:background "Grey15" :foreground "White" :bold t)))) + (show-paren-match-face ((t (:background "grey30")))) + (region ((t (:background "grey15")))) + (highlight ((t (:background "blue")))) + (secondary-selection ((t (:background "navy")))) + (widget-field-face ((t (:background "navy")))) + (widget-single-line-field-face ((t (:background "royalblue")))))) ) + +(defun color-theme-jedit-grey () + "Color theme by Gordon Messmer, created 2001-02-07. +Based on a screenshot of jedit. + +If you want to modify the font as well, you should customize variable +`color-theme-legal-frame-parameters' to \"\\(color\\|mode\\|font\\|height\\|width\\)$\". +The default setting will prevent color themes from installing specific +fonts." + (interactive) + (color-theme-install + '(color-theme-jedit-grey + ((font . "fixed") + (width . 130) + (height . 50) + (background-color . "grey77") + (foreground-color . "black") + (background-mode . light) + (mouse-color . "black") + (cursor-color . "black")) + (default ((t (nil)))) + (font-lock-comment-face ((t (:italic t :foreground "RoyalBlue4")))) + (font-lock-string-face ((t (:foreground "Gold4")))) + (font-lock-keyword-face ((t (:bold t :foreground "DarkRed")))) + (font-lock-warning-face ((t (:bold t :foreground "Pink")))) + (font-lock-constant-face ((t (:foreground "DarkCyan")))) + (font-lock-type-face ((t (:foreground "DarkRed")))) + (font-lock-function-name-face ((t (:foreground "Green4")))) + (font-lock-builtin-face ((t (:bold t :foreground "DarkRed")))) + (highline-face ((t (:background "grey84")))) + (setnu-line-number-face ((t (:background "White" :foreground "MediumPurple3" :italic t)))) + (show-paren-match-face ((t (:background "grey60")))) + (region ((t (:background "grey70")))) + (highlight ((t (:background "grey90")))) + (secondary-selection ((t (:background "white")))) + (widget-field-face ((t (:background "royalblue")))) + (widget-single-line-field-face ((t (:background "royalblue")))))) ) + +(defun color-theme-snow () + "Color theme by Nicolas Rist, created 2001-03-08. +Black on gainsboro. In Emacs, the text background is a shade darker +than the frame background: Gainsboro instead of snow. This makes the +structure of the text clearer without being too agressive on the eyes. +On XEmacs, this doesn't really work as the frame and the default face +allways use the same foreground and background colors. +The color theme includes gnus, message, font-lock, sgml, and speedbar." + (interactive) + (color-theme-install + '(color-theme-snow + ((background-color . "snow2") + (background-mode . light) + (border-color . "black") + (cursor-color . "RoyalBlue2") + (foreground-color . "black") + (mouse-color . "black")) + ((gnus-mouse-face . highlight) + (list-matching-lines-face . bold) + (view-highlight-face . highlight)) + (default ((t (:background "gainsboro" :foreground "dark slate gray")))) + (bold ((t (:bold t)))) + (bold-italic ((t (:italic t :bold t)))) + (calendar-today-face ((t (:underline t)))) + (custom-button-face ((t (:background "gainsboro" :foreground "dark cyan")))) + (custom-documentation-face ((t (:background "gainsboro")))) + (diary-face ((t (:foreground "red")))) + (fg:black ((t (:foreground "black")))) + (font-lock-builtin-face ((t (:background "gainsboro" :foreground "medium orchid")))) + (font-lock-comment-face ((t (:background "gainsboro" :foreground "SteelBlue3")))) + (font-lock-constant-face ((t (:background "gainsboro" :foreground "orange3")))) + (font-lock-function-name-face ((t (:background "gainsboro" :foreground "blue3")))) + (font-lock-keyword-face ((t (:background "gainsboro" :foreground "red3")))) + (font-lock-string-face ((t (:background "gainsboro" :foreground "SpringGreen3")))) + (font-lock-type-face ((t (:background "gainsboro" :foreground "dark cyan")))) + (font-lock-variable-name-face ((t (:background "gainsboro" :foreground "purple2")))) + (font-lock-warning-face ((t (:bold t :background "gainsboro" :foreground "red")))) + (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3")))) + (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3")))) + (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4")))) + (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4")))) + (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) + (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen")))) + (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) + (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4")))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen")))) + (gnus-splash-face ((t (:foreground "ForestGreen")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) + (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen")))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick")))) + (gnus-summary-high-unread-face ((t (:bold t)))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue")))) + (gnus-summary-low-read-face ((t (:italic t :foreground "DarkGreen")))) + (gnus-summary-low-ticked-face ((t (:italic t :foreground "firebrick")))) + (gnus-summary-low-unread-face ((t (:italic t)))) + (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) + (gnus-summary-normal-ticked-face ((t (:foreground "firebrick")))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-selected-face ((t (:underline t)))) + (gui-button-face ((t (:foreground "light grey")))) + (highlight ((t (:background "LightSteelBlue1")))) + (holiday-face ((t (:background "pink")))) + (ibuffer-marked-face ((t (:foreground "red")))) + (italic ((t (:italic t)))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:foreground "MidnightBlue")))) + (message-header-name-face ((t (:foreground "cornflower blue")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4")))) + (message-header-other-face ((t (:foreground "steel blue")))) + (message-header-subject-face ((t (:bold t :foreground "navy blue")))) + (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-separator-face ((t (:foreground "brown")))) + (modeline ((t (:background "dark slate gray" :foreground "gainsboro")))) + (modeline-buffer-id ((t (:background "dark slate gray" :foreground "gainsboro")))) + (modeline-mousable ((t (:background "dark slate gray" :foreground "gainsboro")))) + (modeline-mousable-minor-mode ((t (:background "dark slate gray" :foreground "gainsboro")))) + (region ((t (:background "lavender")))) + (secondary-selection ((t (:background "paleturquoise")))) + (sgml-comment-face ((t (:foreground "dark green")))) + (sgml-doctype-face ((t (:foreground "maroon")))) + (sgml-end-tag-face ((t (:foreground "blue2")))) + (sgml-entity-face ((t (:foreground "red2")))) + (sgml-ignored-face ((t (:background "gray90" :foreground "maroon")))) + (sgml-ms-end-face ((t (:foreground "maroon")))) + (sgml-ms-start-face ((t (:foreground "maroon")))) + (sgml-pi-face ((t (:foreground "maroon")))) + (sgml-sgml-face ((t (:foreground "maroon")))) + (sgml-short-ref-face ((t (:foreground "goldenrod")))) + (sgml-start-tag-face ((t (:foreground "blue2")))) + (show-paren-match-face ((t (:background "SlateGray1")))) + (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) + (speedbar-button-face ((t (:foreground "green4")))) + (speedbar-directory-face ((t (:foreground "blue4")))) + (speedbar-file-face ((t (:foreground "cyan4")))) + (speedbar-highlight-face ((t (:background "dark turquoise" :foreground "white")))) + (speedbar-selected-face ((t (:underline t :foreground "red")))) + (speedbar-tag-face ((t (:foreground "brown")))) + (underline ((t (:underline t))))))) + +(defun color-theme-montz () + "Color theme by Brady Montz, created 2001-03-08. +Black on Gray. +Includes dired, bbdb, font-lock, gnus, message, viper, and widget." + (interactive) + (color-theme-install + '(color-theme-montz + ((background-color . "gray80") + (background-mode . light) + (background-toolbar-color . "#cccccccccccc") + (border-color . "#000000000000") + (bottom-toolbar-shadow-color . "#7a7a7a7a7a7a") + (cursor-color . "Red3") + (foreground-color . "black") + (top-toolbar-shadow-color . "#f5f5f5f5f5f5") + (viper-saved-cursor-color-in-replace-mode . "Red3")) + ((gnus-mouse-face . highlight) + (paren-match-face . paren-face-match) + (paren-mismatch-face . paren-face-mismatch) + (paren-no-match-face . paren-face-no-match) + (smiley-mouse-face . highlight)) + (default ((t (nil)))) + (bbdb-company ((t (:italic t)))) + (bbdb-field-name ((t (:bold t)))) + (bbdb-field-value ((t (nil)))) + (bbdb-name ((t (:underline t)))) + (blue ((t (:foreground "blue")))) + (bold ((t (:bold t)))) + (bold-italic ((t (:italic t :bold t)))) + (border-glyph ((t (nil)))) + (dired-face-boring ((t (:foreground "Gray65")))) + (dired-face-directory ((t (:bold t)))) + (dired-face-executable ((t (:foreground "SeaGreen")))) + (dired-face-flagged ((t (:background "LightSlateGray")))) + (dired-face-marked ((t (:background "PaleVioletRed")))) + (dired-face-permissions ((t (:background "grey75" :foreground "black")))) + (dired-face-setuid ((t (:foreground "Red")))) + (dired-face-socket ((t (:foreground "magenta")))) + (dired-face-symlink ((t (:foreground "cyan")))) + (display-time-mail-balloon-enhance-face ((t (:background "orange")))) + (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue")))) + (display-time-time-balloon-face ((t (:foreground "red")))) + (font-lock-builtin-face ((t (:foreground "red3")))) + (font-lock-comment-face ((t (:foreground "blue")))) + (font-lock-constant-face ((t (:foreground "red3")))) + (font-lock-doc-string-face ((t (:foreground "mediumvioletred")))) + (font-lock-function-name-face ((t (:foreground "firebrick")))) + (font-lock-keyword-face ((t (:bold t :foreground "black")))) + (font-lock-preprocessor-face ((t (:foreground "blue3")))) + (font-lock-reference-face ((t (:foreground "red3")))) + (font-lock-string-face ((t (:foreground "mediumvioletred")))) + (font-lock-type-face ((t (:foreground "darkgreen")))) + (font-lock-variable-name-face ((t (:foreground "black")))) + (font-lock-warning-face ((t (:bold t :foreground "Red")))) + (gnus-cite-attribution-face ((t (:italic t)))) + (gnus-cite-face-1 ((t (:foreground "MidnightBlue")))) + (gnus-cite-face-10 ((t (:foreground "medium purple")))) + (gnus-cite-face-11 ((t (:foreground "turquoise")))) + (gnus-cite-face-2 ((t (:foreground "firebrick")))) + (gnus-cite-face-3 ((t (:foreground "dark green")))) + (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) + (gnus-cite-face-5 ((t (:foreground "dark khaki")))) + (gnus-cite-face-6 ((t (:foreground "dark violet")))) + (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-emphasis-bold ((t (:bold t)))) + (gnus-emphasis-bold-italic ((t (:bold t)))) + (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) + (gnus-emphasis-italic ((t (:italic t)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) + (gnus-emphasis-underline-bold-italic ((t (:underline t :bold t)))) + (gnus-emphasis-underline-italic ((t (:underline t :italic t)))) + (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3")))) + (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3")))) + (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4")))) + (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4")))) + (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) + (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen")))) + (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) + (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4")))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen")))) + (gnus-header-content-face ((t (:italic t :foreground "indianred4")))) + (gnus-header-from-face ((t (:foreground "red3")))) + (gnus-header-name-face ((t (:foreground "maroon")))) + (gnus-header-newsgroups-face ((t (:italic t :foreground "MidnightBlue")))) + (gnus-header-subject-face ((t (:foreground "red4")))) + (gnus-picons-face ((t (:background "white" :foreground "black")))) + (gnus-picons-xbm-face ((t (:background "white" :foreground "black")))) + (gnus-signature-face ((t (:italic t)))) + (gnus-splash-face ((t (:foreground "Brown")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) + (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen")))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick")))) + (gnus-summary-high-unread-face ((t (:bold t)))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue")))) + (gnus-summary-low-read-face ((t (:italic t :foreground "DarkGreen")))) + (gnus-summary-low-ticked-face ((t (:italic t :foreground "firebrick")))) + (gnus-summary-low-unread-face ((t (:italic t)))) + (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) + (gnus-summary-normal-ticked-face ((t (:foreground "firebrick")))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-selected-face ((t (:underline t)))) + (gnus-x-face ((t (:background "white" :foreground "black")))) + (green ((t (:foreground "green")))) + (gui-button-face ((t (:background "grey75" :foreground "black")))) + (gui-element ((t (nil)))) + (highlight ((t (:background "darkseagreen2")))) + (info-node ((t (:bold t)))) + (info-xref ((t (:bold t)))) + (isearch ((t (:background "paleturquoise")))) + (italic ((t (:italic t)))) + (left-margin ((t (nil)))) + (list-mode-item-selected ((t (:background "gray68" :foreground "black")))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:foreground "MidnightBlue")))) + (message-header-name-face ((t (:foreground "cornflower blue")))) + (message-header-newsgroups-face ((t (:bold t :foreground "blue4")))) + (message-header-other-face ((t (:foreground "steel blue")))) + (message-header-subject-face ((t (:bold t :foreground "navy blue")))) + (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-mml-face ((t (:foreground "ForestGreen")))) + (message-separator-face ((t (:foreground "brown")))) + (modeline ((t (nil)))) + (modeline-buffer-id ((t (:background "Gray80" :foreground "blue4")))) + (modeline-mousable ((t (:background "Gray80" :foreground "firebrick")))) + (modeline-mousable-minor-mode ((t (:background "Gray80" :foreground "green4")))) + (paren-face-match ((t (:background "turquoise")))) + (paren-face-mismatch ((t (:background "purple" :foreground "white")))) + (paren-face-no-match ((t (:background "yellow" :foreground "black")))) + (pointer ((t (nil)))) + (primary-selection ((t (:background "gray65")))) + (red ((t (:foreground "red")))) + (right-margin ((t (nil)))) + (secondary-selection ((t (:background "paleturquoise")))) + (text-cursor ((t (:background "Red3" :foreground "gray80")))) + (toolbar ((t (nil)))) + (underline ((t (:underline t)))) + (vertical-divider ((t (nil)))) + (viper-minibuffer-emacs-face ((t (:background "gray80" :foreground "black")))) + (viper-minibuffer-insert-face ((t (:background "gray80" :foreground "black")))) + (viper-minibuffer-vi-face ((t (:background "gray80" :foreground "black")))) + (viper-replace-overlay-face ((t (:background "black" :foreground "white")))) + (viper-search-face ((t (:background "black" :foreground "white")))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (yellow ((t (:foreground "yellow")))) + (zmacs-region ((t (:background "black" :foreground "white"))))))) + +(defun color-theme-aalto-light () + "Color theme by Jari Aalto, created 2001-03-08. +Black on light yellow. +Used for Win32 on a Nokia446Xpro monitor. +Includes cvs, font-lock, gnus, message, sgml, widget" + (interactive) + (color-theme-install + '(color-theme-aalto-light + ((background-color . "#FFFFE0") + (background-mode . light) + (border-color . "black") + (cursor-color . "black") + (foreground-color . "black") + (mouse-color . "LawnGreen")) + ((gnus-mouse-face . highlight) + (list-matching-lines-face . bold) + (tinyreplace-:face . highlight) + (view-highlight-face . highlight)) + (default ((t (nil)))) + (bold ((t (:bold t)))) + (bold-italic ((t (:italic t :bold t)))) + (calendar-today-face ((t (:underline t)))) + (cvs-filename-face ((t (:foreground "blue4")))) + (cvs-handled-face ((t (:foreground "pink")))) + (cvs-header-face ((t (:bold t :foreground "blue4")))) + (cvs-marked-face ((t (:bold t :foreground "green3")))) + (cvs-msg-face ((t (:italic t)))) + (cvs-need-action-face ((t (:foreground "orange")))) + (cvs-unknown-face ((t (:foreground "red")))) + (diary-face ((t (:foreground "red")))) + (eshell-test-failed-face ((t (:bold t :foreground "OrangeRed")))) + (eshell-test-ok-face ((t (:bold t :foreground "Green")))) + (font-lock-builtin-face ((t (:foreground "Orchid")))) + (font-lock-comment-face ((t (:foreground "Firebrick")))) + (font-lock-constant-face ((t (:foreground "CadetBlue")))) + (font-lock-function-name-face ((t (:foreground "Blue")))) + (font-lock-keyword-face ((t (:foreground "Purple")))) + (font-lock-string-face ((t (:foreground "RosyBrown")))) + (font-lock-type-face ((t (:foreground "ForestGreen")))) + (font-lock-variable-name-face ((t (:foreground "DarkGoldenrod")))) + (font-lock-warning-face ((t (:bold t :foreground "Red")))) + (gnus-emphasis-bold ((t (:bold t)))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) + (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) + (gnus-emphasis-italic ((t (:italic t)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) + (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t)))) + (gnus-emphasis-underline-italic ((t (:underline t :italic t)))) + (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3")))) + (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3")))) + (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4")))) + (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4")))) + (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) + (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen")))) + (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) + (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4")))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen")))) + (gnus-header-content-face ((t (:italic t :foreground "indianred4")))) + (gnus-header-from-face ((t (:foreground "red3")))) + (gnus-header-name-face ((t (:foreground "maroon")))) + (gnus-header-newsgroups-face ((t (:italic t :foreground "MidnightBlue")))) + (gnus-header-subject-face ((t (:foreground "red4")))) + (gnus-signature-face ((t (:italic t)))) + (gnus-splash-face ((t (:foreground "Brown")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) + (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen")))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick")))) + (gnus-summary-high-unread-face ((t (:bold t)))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue")))) + (gnus-summary-low-read-face ((t (:italic t :foreground "DarkGreen")))) + (gnus-summary-low-ticked-face ((t (:italic t :foreground "firebrick")))) + (gnus-summary-low-unread-face ((t (:italic t)))) + (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) + (gnus-summary-normal-ticked-face ((t (:foreground "firebrick")))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-selected-face ((t (:underline t)))) + (highlight ((t (:background "darkseagreen2")))) + (holiday-face ((t (:background "pink")))) + (info-menu-5 ((t (:underline t)))) + (info-node ((t (:italic t :bold t)))) + (info-xref ((t (:bold t)))) + (italic ((t (:italic t)))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:foreground "MidnightBlue")))) + (message-header-name-face ((t (:foreground "cornflower blue")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4")))) + (message-header-other-face ((t (:foreground "steel blue")))) + (message-header-subject-face ((t (:bold t :foreground "navy blue")))) + (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-mml-face ((t (:foreground "ForestGreen")))) + (message-separator-face ((t (:foreground "brown")))) + (modeline ((t (:background "black" :foreground "white")))) + (modeline-buffer-id ((t (:background "black" :foreground "white")))) + (modeline-mousable ((t (:background "black" :foreground "white")))) + (modeline-mousable-minor-mode ((t (:background "black" :foreground "white")))) + (region ((t (:background "gray")))) + (secondary-selection ((t (:background "paleturquoise")))) + (sgml-comment-face ((t (:foreground "dark turquoise")))) + (sgml-doctype-face ((t (:foreground "red")))) + (sgml-end-tag-face ((t (:foreground "blue")))) + (sgml-entity-face ((t (:foreground "magenta")))) + (sgml-ignored-face ((t (:background "gray60" :foreground "gray40")))) + (sgml-ms-end-face ((t (:foreground "green")))) + (sgml-ms-start-face ((t (:foreground "green")))) + (sgml-pi-face ((t (:foreground "lime green")))) + (sgml-sgml-face ((t (:foreground "brown")))) + (sgml-short-ref-face ((t (:foreground "deep sky blue")))) + (sgml-start-tag-face ((t (:foreground "blue")))) + (show-paren-match-face ((t (:background "turquoise")))) + (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) + (underline ((t (:underline t)))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (widget-single-line-field-face ((t (:background "gray85"))))))) + +(defun color-theme-aalto-dark () + "Color theme by Jari Aalto, created 2001-03-08. +White on Deep Sky Blue 3. +Used for Unix Exceed on a Nokia446Xpro monitor. +Includes font-lock, info, and message." + (interactive) + (color-theme-install + '(color-theme-aalto-dark + ((background-color . "DeepSkyBlue3") + (background-mode . dark) + (border-color . "black") + (cursor-color . "yellow") + (foreground-color . "white") + (mouse-color . "black")) + ((ispell-highlight-face . highlight) + (list-matching-lines-face . bold) + (tinyreplace-:face . highlight) + (view-highlight-face . highlight)) + (default ((t (nil)))) + (bold ((t (:bold t :background "blue3" :foreground "white")))) + (bold-italic ((t (:italic t :bold t :foreground "blue3")))) + (calendar-today-face ((t (:underline t)))) + (diary-face ((t (:foreground "red")))) + (font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) + (font-lock-comment-face ((t (:foreground "OrangeRed")))) + (font-lock-constant-face ((t (:foreground "Aquamarine")))) + (font-lock-function-name-face ((t (:foreground "LightSkyBlue")))) + (font-lock-keyword-face ((t (:foreground "Cyan")))) + (font-lock-string-face ((t (:foreground "LightSalmon")))) + (font-lock-type-face ((t (:foreground "PaleGreen")))) + (font-lock-variable-name-face ((t (:foreground "LightGoldenrod")))) + (font-lock-warning-face ((t (:bold t :foreground "Pink")))) + (highlight ((t (:background "blue3" :foreground "white")))) + (holiday-face ((t (:background "pink")))) + (info-menu-5 ((t (:underline t)))) + (info-node ((t (:italic t :bold t)))) + (info-xref ((t (:bold t)))) + (italic ((t (:italic t :background "gray")))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:bold t :foreground "green4")))) + (message-header-name-face ((t (:foreground "DarkGreen")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "yellow")))) + (message-header-other-face ((t (:foreground "#b00000")))) + (message-header-subject-face ((t (:foreground "green3")))) + (message-header-to-face ((t (:bold t :foreground "green2")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-mml-face ((t (:foreground "ForestGreen")))) + (message-separator-face ((t (:foreground "blue3")))) + (modeline ((t (:background "white" :foreground "DeepSkyBlue3")))) + (modeline-buffer-id ((t (:background "white" :foreground "DeepSkyBlue3")))) + (modeline-mousable ((t (:background "white" :foreground "DeepSkyBlue3")))) + (modeline-mousable-minor-mode ((t (:background "white" :foreground "DeepSkyBlue3")))) + (region ((t (:background "gray")))) + (secondary-selection ((t (:background "darkslateblue")))) + (show-paren-match-face ((t (:background "turquoise")))) + (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) + (underline ((t (:underline t))))))) + +(defun color-theme-blippblopp () + "Color theme by Thomas Sicheritz-Ponten, created 2001-03-12. +Used by researchers at Uppsala University and the Center for Biological +Sequence Analysis at the Technical University of Denmark. (As some of my +swedish friends couldn't pronounce Sicheritz - they choose to transform +it to something more \"swedish\": Blippblopp :-) +Includes font-lock and message." + (interactive) + (color-theme-install + '(color-theme-blippblopp + ((background-color . "white") + (background-mode . light) + (background-toolbar-color . "#cf3ccf3ccf3c") + (border-color . "#000000000000") + (bottom-toolbar-shadow-color . "#79e77df779e7") + (cursor-color . "Red3") + (foreground-color . "black") + (mouse-color . "black") + (top-toolbar-shadow-color . "#fffffbeeffff") + (viper-saved-cursor-color-in-replace-mode . "Red3")) + ((ispell-highlight-face . highlight)) + (default ((t (nil)))) + (blue ((t (:foreground "blue")))) + (bold ((t (:bold t)))) + (bold-italic ((t (:italic t :bold t)))) + (excerpt ((t (:italic t)))) + (ff-paths-non-existant-file-face ((t (:bold t :foreground "NavyBlue")))) + (fg:black ((t (:foreground "black")))) + (fixed ((t (:bold t)))) + (font-lock-builtin-face ((t (:foreground "red3")))) + (font-lock-comment-face ((t (:foreground "orange")))) + (font-lock-constant-face ((t (:foreground "red3")))) + (font-lock-doc-string-face ((t (:foreground "darkgreen")))) + (font-lock-exit-face ((t (:foreground "green")))) + (font-lock-function-name-face ((t (:bold t :foreground "red")))) + (font-lock-keyword-face ((t (:bold t :foreground "steelblue")))) + (font-lock-preprocessor-face ((t (:foreground "blue3")))) + (font-lock-reference-face ((t (:foreground "red3")))) + (font-lock-string-face ((t (:foreground "green4")))) + (font-lock-type-face ((t (:bold t :foreground "blue")))) + (font-lock-variable-name-face ((t (:foreground "black")))) + (font-lock-warning-face ((t (:bold t :foreground "Red")))) + (green ((t (:foreground "green")))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:foreground "MidnightBlue")))) + (message-header-name-face ((t (:foreground "cornflower blue")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4")))) + (message-header-other-face ((t (:foreground "steel blue")))) + (message-header-subject-face ((t (:bold t :foreground "navy blue")))) + (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-mml-face ((t (:foreground "ForestGreen")))) + (message-separator-face ((t (:foreground "brown")))) + (modeline ((t (:background "dimgray" :foreground "lemonchiffon")))) + (modeline-buffer-id ((t (:background "dimgray" :foreground "green3")))) + (modeline-mousable ((t (:background "dimgray" :foreground "orange")))) + (modeline-mousable-minor-mode ((t (:background "dimgray" :foreground "blue4")))) + (primary-selection ((t (:background "gray65")))) + (red ((t (:foreground "red")))) + (region ((t (:background "gray65")))) + (secondary-selection ((t (:background "paleturquoise")))) + (show-paren-match-face ((t (:background "turquoise")))) + (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) + (text-cursor ((t (:background "Red3" :foreground "white")))) + (toolbar ((t (:background "Gray80")))) + (underline ((t (:underline t)))) + (vcursor ((t (:underline t :background "cyan" :foreground "blue")))) + (vertical-divider ((t (:background "Gray80")))) + (xref-keyword-face ((t (:foreground "blue")))) + (xref-list-pilot-face ((t (:foreground "navy")))) + (xref-list-symbol-face ((t (:foreground "navy")))) + (yellow ((t (:foreground "yellow")))) + (zmacs-region ((t (:background "gray65"))))))) + +(defun color-theme-hober (&optional preview) + "Does all sorts of crazy stuff. +Originally based on color-theme-standard, so I probably still have some +setting that I haven't changed. I also liberally copied settings from +the other themes in this package. The end result isn't much like the +other ones; I hope you like it." + (interactive) + (color-theme-install + '(color-theme-hober + ((foreground-color . "#c0c0c0") + (background-color . "black") + (mouse-color . "black") + (cursor-color . "medium turquoise") + (border-color . "black") + (background-mode . dark)) + (default ((t (nil)))) + (modeline ((t (:foreground "white" :background "darkslateblue")))) + (modeline-buffer-id ((t (:foreground "white" :background "darkslateblue")))) + (modeline-mousable ((t (:foreground "white" :background "darkslateblue")))) + (modeline-mousable-minor-mode ((t (:foreground "white" :background "darkslateblue")))) + (highlight ((t (:foreground "black" :background "#c0c0c0")))) + (bold ((t (:bold t)))) + (italic ((t (:italic t)))) + (bold-italic ((t (:bold t :italic t)))) + (region ((t (:foreground "white" :background "darkslateblue")))) + (zmacs-region ((t (:foreground "white" :background "darkslateblue")))) + (secondary-selection ((t (:background "paleturquoise")))) + (underline ((t (:underline t)))) + (diary-face ((t (:foreground "red")))) + (calendar-today-face ((t (:underline t)))) + (holiday-face ((t (:background "pink")))) + (widget-documentation-face ((t (:foreground "dark green" :background "white")))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red" :background "black")))) + (widget-field-face ((t (:background "gray85" :foreground "black")))) + (widget-single-line-field-face ((t (:background "gray85" :foreground "black")))) + (widget-inactive-face ((t (:foreground "dim gray" :background "red")))) + (fixed ((t (:bold t)))) + (excerpt ((t (:italic t)))) + (term-default-fg ((t (nil)))) + (term-default-bg ((t (nil)))) + (term-default-fg-inv ((t (nil)))) + (term-default-bg-inv ((t (nil)))) + (term-bold ((t (:bold t)))) + (term-underline ((t (:underline t)))) + (term-invisible ((t (nil)))) + (term-invisible-inv ((t (nil)))) + (term-white ((t (:foreground "#c0c0c0")))) + (term-whitebg ((t (:background "#c0c0c0")))) + (term-black ((t (:foreground "black")))) + (term-blackbg ((t (:background "black")))) + (term-red ((t (:foreground "#ef8171")))) + (term-redbg ((t (:background "#ef8171")))) + (term-green ((t (:foreground "#e5f779")))) + (term-greenbg ((t (:background "#e5f779")))) + (term-yellow ((t (:foreground "#fff796")))) + (term-yellowbg ((t (:background "#fff796")))) + (term-blue ((t (:foreground "#4186be")))) + (term-bluebg ((t (:background "#4186be")))) + (term-magenta ((t (:foreground "#ef9ebe")))) + (term-magentabg ((t (:background "#ef9ebe")))) + (term-cyan ((t (:foreground "#71bebe")))) + (term-cyanbg ((t (:background "#71bebe")))) + (font-lock-keyword-face ((t (:foreground "#00ffff")))) + (font-lock-comment-face ((t (:foreground "Red")))) + (font-lock-string-face ((t (:foreground "#ffff00")))) + (font-lock-constant-face ((t (:foreground "#00ff00")))) + (font-lock-builtin-face ((t (:foreground "#ffaa00")))) + (font-lock-type-face ((t (:foreground "Coral")))) + (font-lock-warning-face ((t (:foreground "Red" :bold t)))) + (font-lock-function-name-face ((t (:foreground "#4186be")))) + (font-lock-variable-name-face ((t (:foreground "white" :bold t)))) + (message-header-to-face ((t (:foreground "#4186be" :bold t)))) + (message-header-cc-face ((t (:foreground "#4186be")))) + (message-header-subject-face ((t (:foreground "#4186be" :bold t)))) + (message-header-newsgroups-face ((t (:foreground "Coral" :bold t)))) + (message-header-other-face ((t (:foreground "steel blue")))) + (message-header-name-face ((t (:foreground "white")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-separator-face ((t (:foreground "brown")))) + (message-cited-text-face ((t (:foreground "white")))) + (gnus-header-from-face ((t (:foreground "Coral")))) + (gnus-header-subject-face ((t (:foreground "#4186be")))) + (gnus-header-newsgroups-face ((t (:foreground "#4186be" :italic t)))) + (gnus-header-name-face ((t (:foreground "white")))) + (gnus-header-content-face ((t (:foreground "#4186be" :italic t)))) + (gnus-cite-attribution-face ((t (:italic t)))) + (gnus-cite-face-list ((t (:bold nil :foreground "red")))) + (gnus-group-news-1-face ((t (:foreground "ForestGreen" :bold t)))) + (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) + (gnus-group-news-2-face ((t (:foreground "CadetBlue4" :bold t)))) + (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) + (gnus-group-news-3-face ((t (:bold t)))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-low-face ((t (:foreground "DarkGreen" :bold t)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) + (gnus-group-mail-1-face ((t (:foreground "DeepPink3" :bold t)))) + (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) + (gnus-group-mail-2-face ((t (:foreground "HotPink3" :bold t)))) + (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) + (gnus-group-mail-3-face ((t (:foreground "magenta4" :bold t)))) + (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) + (gnus-group-mail-low-face ((t (:foreground "DeepPink4" :bold t)))) + (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) + (gnus-summary-selected-face ((t (:underline t)))) + (gnus-summary-cancelled-face ((t (:foreground "yellow" :background "black")))) + (gnus-summary-high-ticked-face ((t (:foreground "firebrick" :bold t)))) + (gnus-summary-low-ticked-face ((t (:foreground "firebrick" :italic t)))) + (gnus-summary-normal-ticked-face ((t (:foreground "firebrick")))) + (gnus-summary-high-ancient-face ((t (:foreground "RoyalBlue" :bold t)))) + (gnus-summary-low-ancient-face ((t (:foreground "RoyalBlue" :italic t)))) + (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) + (gnus-summary-high-unread-face ((t (:bold t)))) + (gnus-summary-low-unread-face ((t (:italic t)))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-high-read-face ((t (:foreground "DarkGreen" :bold t)))) + (gnus-summary-low-read-face ((t (:foreground "DarkGreen" :italic t)))) + (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) + (gnus-splash-face ((t (:foreground "ForestGreen")))) + (gnus-emphasis-bold ((t (:bold t)))) + (gnus-emphasis-italic ((t (:italic t)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:bold t :underline t)))) + (gnus-emphasis-underline-italic ((t (:italic t :underline t)))) + (gnus-emphasis-bold-italic ((t (:bold t :italic t)))) + (gnus-emphasis-underline-bold-italic ((t (:bold t :italic t :underline t)))) + (gnus-signature-face ((t (:foreground "white")))) + (gnus-cite-face-1 ((t (:foreground "Khaki")))) + (gnus-cite-face-2 ((t (:foreground "Coral")))) + (gnus-cite-face-3 ((t (:foreground "#4186be")))) + (gnus-cite-face-4 ((t (:foreground "yellow green")))) + (gnus-cite-face-5 ((t (:foreground "IndianRed")))) + (highlight-changes-face ((t (:foreground "red")))) + (highlight-changes-delete-face ((t (:foreground "red" :underline t)))) + (show-paren-match-face ((t (:foreground "white" :background "purple")))) + (show-paren-mismatch-face ((t (:foreground "white" :background "red")))) + (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) + (cperl-array-face ((t (:foreground "Blue" :bold t :background "lightyellow2")))) + (cperl-hash-face ((t (:foreground "Red" :bold t :italic t :background "lightyellow2")))) + (makefile-space-face ((t (:background "hotpink")))) + (sgml-start-tag-face ((t (:foreground "mediumspringgreen")))) + (sgml-ignored-face ((t (:foreground "gray20" :background "gray60")))) + (sgml-doctype-face ((t (:foreground "orange")))) + (sgml-sgml-face ((t (:foreground "yellow")))) + (sgml-end-tag-face ((t (:foreground "greenyellow")))) + (sgml-entity-face ((t (:foreground "gold")))) + (flyspell-incorrect-face ((t (:foreground "OrangeRed" :bold t :underline t)))) + (flyspell-duplicate-face ((t (:foreground "Gold3" :bold t :underline t))))))) + +(defun color-theme-bharadwaj () + "Color theme by Girish Bharadwaj, created 2001-03-28. +Black on gainsboro. Includes BBDB, custom, cperl, cvs, dired, ediff, +erc, eshell, font-latex, font-lock, gnus, info, message, paren, sgml, +shell, speedbar, term, vhdl, viper, widget, woman, xref. Wow!" + (interactive) + (color-theme-install + '(color-theme-bharadwaj + ((background-color . "gainsboro") + (background-mode . light) + (background-toolbar-color . "#cf3ccf3ccf3c") + (border-color . "black") + (bottom-toolbar-shadow-color . "#79e77df779e7") + (cursor-color . "grey15") + (foreground-color . "black") + (mouse-color . "grey15") + (top-toolbar-shadow-color . "#fffffbeeffff") + (viper-saved-cursor-color-in-replace-mode . "Red3")) + ((gnus-mouse-face . highlight) + (smiley-mouse-face . highlight)) + (default ((t (nil)))) + (bbdb-company ((t (nil)))) + (bbdb-field-name ((t (:bold t)))) + (bbdb-field-value ((t (nil)))) + (bbdb-name ((t (:underline t)))) + (blank-space-face ((t (nil)))) + (blank-tab-face ((t (nil)))) + (blue ((t (nil)))) + (bold ((t (:bold t)))) + (bold-italic ((t (:bold t)))) + (border-glyph ((t (nil)))) + (calendar-today-face ((t (:underline t)))) + (comint-input-face ((t (:foreground "deepskyblue")))) + (cperl-array-face ((t (:bold t :background "lightyellow2" :foreground "Blue")))) + (cperl-hash-face ((t (:bold t :background "lightyellow2" :foreground "Red")))) + (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) + (custom-button-face ((t (:bold t)))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face ((t (:underline t :bold t :foreground "blue")))) + (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "dark green")))) + (custom-variable-button-face ((t (:underline t :bold t)))) + (custom-variable-tag-face ((t (:underline t :bold t :foreground "blue")))) + (cvs-filename-face ((t (:foreground "blue4")))) + (cvs-handled-face ((t (:foreground "pink")))) + (cvs-header-face ((t (:bold t :foreground "blue4")))) + (cvs-marked-face ((t (:bold t :foreground "green3")))) + (cvs-msg-face ((t (nil)))) + (cvs-need-action-face ((t (:foreground "orange")))) + (cvs-unknown-face ((t (:foreground "red")))) + (diary-face ((t (:bold t :foreground "red")))) + (dired-face-boring ((t (:foreground "Gray65")))) + (dired-face-directory ((t (:bold t :foreground "forestgreen")))) + (dired-face-executable ((t (:foreground "indianred")))) + (dired-face-flagged ((t (:background "SlateGray")))) + (dired-face-marked ((t (:background "darkblue" :foreground "deepskyblue")))) + (dired-face-permissions ((t (nil)))) + (dired-face-setuid ((t (:foreground "Red")))) + (dired-face-socket ((t (:foreground "magenta")))) + (dired-face-symlink ((t (:foreground "grey95")))) + (display-time-mail-balloon-enhance-face ((t (:background "orange")))) + (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue")))) + (display-time-time-balloon-face ((t (:foreground "red")))) + (ediff-current-diff-face-A ((t (:background "pale green" :foreground "firebrick")))) + (ediff-current-diff-face-Ancestor ((t (:background "VioletRed" :foreground "Black")))) + (ediff-current-diff-face-B ((t (:background "Yellow" :foreground "DarkOrchid")))) + (ediff-current-diff-face-C ((t (:background "Pink" :foreground "Navy")))) + (ediff-even-diff-face-A ((t (:background "light grey" :foreground "Black")))) + (ediff-even-diff-face-Ancestor ((t (:background "Grey" :foreground "White")))) + (ediff-even-diff-face-B ((t (:background "Grey" :foreground "White")))) + (ediff-even-diff-face-C ((t (:background "light grey" :foreground "Black")))) + (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy")))) + (ediff-fine-diff-face-Ancestor ((t (:background "Green" :foreground "Black")))) + (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Black")))) + (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Black")))) + (ediff-odd-diff-face-A ((t (:background "Grey" :foreground "White")))) + (ediff-odd-diff-face-Ancestor ((t (:background "light grey" :foreground "Black")))) + (ediff-odd-diff-face-B ((t (:background "light grey" :foreground "Black")))) + (ediff-odd-diff-face-C ((t (:background "Grey" :foreground "White")))) + (erc-action-face ((t (:bold t)))) + (erc-bold-face ((t (:bold t)))) + (erc-default-face ((t (nil)))) + (erc-direct-msg-face ((t (nil)))) + (erc-error-face ((t (:bold t)))) + (erc-input-face ((t (nil)))) + (erc-inverse-face ((t (nil)))) + (erc-notice-face ((t (nil)))) + (erc-pal-face ((t (nil)))) + (erc-prompt-face ((t (nil)))) + (erc-underline-face ((t (nil)))) + (eshell-ls-archive-face ((t (:bold t :foreground "Orchid")))) + (eshell-ls-backup-face ((t (:foreground "OrangeRed")))) + (eshell-ls-clutter-face ((t (:bold t :foreground "OrangeRed")))) + (eshell-ls-directory-face ((t (:bold t :foreground "Blue")))) + (eshell-ls-executable-face ((t (:bold t :foreground "ForestGreen")))) + (eshell-ls-missing-face ((t (:bold t :foreground "Red")))) + (eshell-ls-picture-face ((t (nil)))) + (eshell-ls-product-face ((t (:foreground "OrangeRed")))) + (eshell-ls-readonly-face ((t (:foreground "Brown")))) + (eshell-ls-special-face ((t (:bold t :foreground "Magenta")))) + (eshell-ls-symlink-face ((t (:bold t :foreground "DarkCyan")))) + (eshell-ls-unreadable-face ((t (:foreground "Grey30")))) + (eshell-prompt-face ((t (:bold t :foreground "Red")))) + (eshell-test-failed-face ((t (:bold t :foreground "OrangeRed")))) + (eshell-test-ok-face ((t (:bold t :foreground "Green")))) + (excerpt ((t (nil)))) + (ff-paths-non-existant-file-face ((t (:bold t :foreground "NavyBlue")))) + (fg:black ((t (:foreground "black")))) + (fixed ((t (:bold t)))) + (flyspell-duplicate-face ((t (:underline t :bold t :foreground "Gold3")))) + (flyspell-incorrect-face ((t (:underline t :bold t :foreground "OrangeRed")))) + (font-latex-bold-face ((t (nil)))) + (font-latex-italic-face ((t (nil)))) + (font-latex-math-face ((t (nil)))) + (font-latex-sedate-face ((t (nil)))) + (font-latex-string-face ((t (nil)))) + (font-latex-warning-face ((t (nil)))) + (font-lock-builtin-face ((t (:foreground "ForestGreen")))) + (font-lock-comment-face ((t (:foreground "grey55")))) + (font-lock-constant-face ((t (:foreground "OliveDrab")))) + (font-lock-doc-string-face ((t (:bold t :foreground "blue4")))) + (font-lock-exit-face ((t (nil)))) + (font-lock-function-name-face ((t (:italic t :bold t :foreground "SlateBlue")))) + (font-lock-keyword-face ((t (:foreground "DarkBlue")))) + (font-lock-preprocessor-face ((t (:foreground "blue3")))) + (font-lock-reference-face ((t (:foreground "red3")))) + (font-lock-string-face ((t (:foreground "DarkRed")))) + (font-lock-type-face ((t (:foreground "SteelBlue4")))) + (font-lock-variable-name-face ((t (:foreground "DarkGoldenrod")))) + (font-lock-warning-face ((t (:bold t :foreground "VioletRed")))) + (fringe ((t (:background "grey95")))) + (gnus-cite-attribution-face ((t (:bold t)))) + (gnus-cite-face-1 ((t (:foreground "MidnightBlue")))) + (gnus-cite-face-10 ((t (:foreground "medium purple")))) + (gnus-cite-face-11 ((t (:foreground "turquoise")))) + (gnus-cite-face-2 ((t (:foreground "firebrick")))) + (gnus-cite-face-3 ((t (:foreground "dark green")))) + (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) + (gnus-cite-face-5 ((t (:foreground "dark khaki")))) + (gnus-cite-face-6 ((t (:foreground "dark violet")))) + (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-emphasis-bold ((t (:bold t)))) + (gnus-emphasis-bold-italic ((t (:bold t)))) + (gnus-emphasis-highlight-words ((t (nil)))) + (gnus-emphasis-italic ((t (nil)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) + (gnus-emphasis-underline-bold-italic ((t (:underline t :bold t)))) + (gnus-emphasis-underline-italic ((t (:underline t)))) + (gnus-filterhist-face-1 ((t (nil)))) + (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3")))) + (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3")))) + (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4")))) + (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4")))) + (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) + (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen")))) + (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) + (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4")))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen")))) + (gnus-header-content-face ((t (:foreground "indianred4")))) + (gnus-header-from-face ((t (:bold t :foreground "red3")))) + (gnus-header-name-face ((t (:bold t :foreground "maroon")))) + (gnus-header-newsgroups-face ((t (:bold t :foreground "MidnightBlue")))) + (gnus-header-subject-face ((t (:bold t :foreground "red4")))) + (gnus-picons-face ((t (:background "white" :foreground "black")))) + (gnus-picons-xbm-face ((t (:background "white" :foreground "black")))) + (gnus-signature-face ((t (nil)))) + (gnus-splash ((t (nil)))) + (gnus-splash-face ((t (:foreground "ForestGreen")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) + (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen")))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick")))) + (gnus-summary-high-unread-face ((t (:bold t)))) + (gnus-summary-low-ancient-face ((t (:foreground "RoyalBlue")))) + (gnus-summary-low-read-face ((t (:foreground "DarkGreen")))) + (gnus-summary-low-ticked-face ((t (:bold t :foreground "firebrick")))) + (gnus-summary-low-unread-face ((t (nil)))) + (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) + (gnus-summary-normal-ticked-face ((t (:bold t :foreground "firebrick")))) + (gnus-summary-normal-unread-face ((t (:bold t)))) + (gnus-summary-selected-face ((t (:underline t)))) + (gnus-x-face ((t (:background "white" :foreground "black")))) + (green ((t (nil)))) + (gui-button-face ((t (:background "grey75")))) + (gui-element ((t (:background "Gray80")))) + (highlight ((t (:background "LightSkyBlue")))) + (highlight-changes-delete-face ((t (:underline t :foreground "red")))) + (highlight-changes-face ((t (:foreground "red")))) + (highline-face ((t (:background "grey95")))) + (holiday-face ((t (:background "pink")))) + (html-helper-italic-face ((t (nil)))) + (info-menu-5 ((t (:underline t)))) + (info-node ((t (:bold t)))) + (info-xref ((t (:bold t)))) + (isearch ((t (:background "yellow")))) + (isearch-secondary ((t (:foreground "red3")))) + (italic ((t (nil)))) + (lazy-highlight-face ((t (:bold t :foreground "dark magenta")))) + (left-margin ((t (nil)))) + (linemenu-face ((t (nil)))) + (list-mode-item-selected ((t (nil)))) + (makefile-space-face ((t (:background "hotpink")))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:bold t :foreground "MidnightBlue")))) + (message-header-name-face ((t (:foreground "cornflower blue")))) + (message-header-newsgroups-face ((t (:bold t :foreground "blue4")))) + (message-header-other-face ((t (:foreground "steel blue")))) + (message-header-subject-face ((t (:bold t :foreground "navy blue")))) + (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-mml-face ((t (:bold t)))) + (message-separator-face ((t (:foreground "brown")))) + (modeline ((t (:background "white" :foreground "black")))) + (modeline-buffer-id ((t (:background "white" :foreground "black")))) + (modeline-mousable ((t (:background "white" :foreground "black")))) + (modeline-mousable-minor-mode ((t (:background "white" :foreground "black")))) + (paren-blink-off ((t (:foreground "gray80")))) + (paren-face-match ((t (:background "turquoise")))) + (paren-face-mismatch ((t (:background "purple" :foreground "white")))) + (paren-face-no-match ((t (:background "yellow" :foreground "black")))) + (paren-match ((t (:background "darkseagreen2")))) + (paren-mismatch ((t (:background "DeepPink" :foreground "black")))) + (paren-mismatch-face ((t (:bold t)))) + (paren-no-match-face ((t (:bold t)))) + (pointer ((t (nil)))) + (primary-selection ((t (nil)))) + (red ((t (nil)))) + (region ((t (:background "grey80")))) + (right-margin ((t (nil)))) + (secondary-selection ((t (:background "grey55")))) + (sgml-comment-face ((t (:foreground "dark turquoise")))) + (sgml-doctype-face ((t (nil)))) + (sgml-end-tag-face ((t (nil)))) + (sgml-entity-face ((t (nil)))) + (sgml-ignored-face ((t (nil)))) + (sgml-ms-end-face ((t (:foreground "green")))) + (sgml-ms-start-face ((t (:foreground "green")))) + (sgml-pi-face ((t (:foreground "lime green")))) + (sgml-sgml-face ((t (nil)))) + (sgml-short-ref-face ((t (:foreground "deep sky blue")))) + (sgml-start-tag-face ((t (nil)))) + (shell-option-face ((t (:foreground "blue")))) + (shell-output-2-face ((t (:foreground "darkseagreen")))) + (shell-output-3-face ((t (:foreground "slategrey")))) + (shell-output-face ((t (:foreground "palegreen")))) + (shell-prompt-face ((t (:foreground "red")))) + (show-paren-match-face ((t (:background "grey80")))) + (show-paren-mismatch-face ((t (:bold t :background "purple" :foreground "white")))) + (speedbar-button-face ((t (:bold t :foreground "green4")))) + (speedbar-directory-face ((t (:bold t :foreground "blue4")))) + (speedbar-file-face ((t (:bold t :foreground "cyan4")))) + (speedbar-highlight-face ((t (:background "green")))) + (speedbar-selected-face ((t (:underline t :foreground "red")))) + (speedbar-tag-face ((t (:foreground "brown")))) + (swbuff-current-buffer-face ((t (:bold t)))) + (template-message-face ((t (:bold t)))) + (term-black ((t (:foreground "black")))) + (term-blackbg ((t (:background "black")))) + (term-blue ((t (:foreground "blue")))) + (term-bluebg ((t (:background "blue")))) + (term-bold ((t (:bold t)))) + (term-cyan ((t (:foreground "cyan")))) + (term-cyanbg ((t (:background "cyan")))) + (term-default-bg ((t (nil)))) + (term-default-bg-inv ((t (nil)))) + (term-default-fg ((t (nil)))) + (term-default-fg-inv ((t (nil)))) + (term-green ((t (:foreground "green")))) + (term-greenbg ((t (:background "green")))) + (term-invisible ((t (nil)))) + (term-invisible-inv ((t (nil)))) + (term-magenta ((t (:foreground "magenta")))) + (term-magentabg ((t (:background "magenta")))) + (term-red ((t (:foreground "red")))) + (term-redbg ((t (:background "red")))) + (term-underline ((t (:underline t)))) + (term-white ((t (:foreground "white")))) + (term-whitebg ((t (:background "white")))) + (term-yellow ((t (:foreground "yellow")))) + (term-yellowbg ((t (:background "yellow")))) + (text-cursor ((t (:background "grey15" :foreground "gainsboro")))) + (toolbar ((t (nil)))) + (underline ((t (:underline t)))) + (vc-annotate-face-0046FF ((t (nil)))) + (vcursor ((t (:underline t :background "cyan" :foreground "blue")))) + (vertical-divider ((t (nil)))) + (vhdl-font-lock-attribute-face ((t (:foreground "Orchid")))) + (vhdl-font-lock-directive-face ((t (:foreground "CadetBlue")))) + (vhdl-font-lock-enumvalue-face ((t (:foreground "Gold4")))) + (vhdl-font-lock-function-face ((t (:foreground "Orchid4")))) + (vhdl-font-lock-prompt-face ((t (:bold t :foreground "Red")))) + (vhdl-font-lock-reserved-words-face ((t (:bold t :foreground "Orange")))) + (vhdl-font-lock-translate-off-face ((t (:background "LightGray")))) + (vhdl-speedbar-architecture-face ((t (:foreground "Blue")))) + (vhdl-speedbar-architecture-selected-face ((t (:underline t :foreground "Blue")))) + (vhdl-speedbar-configuration-face ((t (:foreground "DarkGoldenrod")))) + (vhdl-speedbar-configuration-selected-face ((t (:underline t :foreground "DarkGoldenrod")))) + (vhdl-speedbar-entity-face ((t (:foreground "ForestGreen")))) + (vhdl-speedbar-entity-selected-face ((t (:underline t :foreground "ForestGreen")))) + (vhdl-speedbar-instantiation-face ((t (:foreground "Brown")))) + (vhdl-speedbar-instantiation-selected-face ((t (:underline t :foreground "Brown")))) + (vhdl-speedbar-package-face ((t (:foreground "Grey50")))) + (vhdl-speedbar-package-selected-face ((t (:underline t :foreground "Grey50")))) + (viper-minibuffer-emacs-face ((t (:background "darkseagreen2" :foreground "Black")))) + (viper-minibuffer-insert-face ((t (:background "pink" :foreground "Black")))) + (viper-minibuffer-vi-face ((t (:background "grey" :foreground "DarkGreen")))) + (viper-replace-overlay-face ((t (:background "darkseagreen2" :foreground "Black")))) + (viper-search-face ((t (:background "khaki" :foreground "Black")))) + (vvb-face ((t (:background "pink" :foreground "black")))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "navy" :foreground "white")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (widget-single-line-field-face ((t (:background "royalblue" :foreground "white")))) + (woman-bold-face ((t (:bold t)))) + (woman-italic-face ((t (nil)))) + (woman-unknown-face ((t (nil)))) + (xref-keyword-face ((t (:foreground "blue")))) + (xref-list-pilot-face ((t (:foreground "navy")))) + (xref-list-symbol-face ((t (:foreground "navy")))) + (yellow ((t (nil)))) + (zmacs-region ((t (:background "royalblue"))))))) + +(defun color-theme-oswald () + "Color theme by Tom Oswald, created 2001-04-18. +Green on black, includes font-lock, show-paren, and ediff." + (interactive) + (color-theme-install + '(color-theme-oswald + ((background-color . "black") + (background-mode . dark) + (border-color . "black") + (cursor-color . "black") + (foreground-color . "green") + (mouse-color . "black")) + ((blank-space-face . blank-space-face) + (blank-tab-face . blank-tab-face) + (list-matching-lines-face . bold) + (view-highlight-face . highlight)) + (default ((t (nil)))) + (blank-space-face ((t (:background "LightGray")))) + (blank-tab-face ((t (:background "green" :foreground "black")))) + (bold ((t (:bold t)))) + (bold-italic ((t (:italic t :bold t)))) + (ediff-current-diff-face-A ((t (:background "pale green" :foreground "firebrick")))) + (ediff-current-diff-face-Ancestor ((t (:background "VioletRed" :foreground "Black")))) + (ediff-current-diff-face-B ((t (:background "Yellow" :foreground "DarkOrchid")))) + (ediff-current-diff-face-C ((t (:background "Pink" :foreground "Navy")))) + (ediff-even-diff-face-A ((t (:background "light grey" :foreground "Black")))) + (ediff-even-diff-face-Ancestor ((t (:background "Grey" :foreground "White")))) + (ediff-even-diff-face-B ((t (:background "Grey" :foreground "White")))) + (ediff-even-diff-face-C ((t (:background "light grey" :foreground "Black")))) + (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy")))) + (ediff-fine-diff-face-Ancestor ((t (:background "Green" :foreground "Black")))) + (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Black")))) + (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Black")))) + (ediff-odd-diff-face-A ((t (:background "Grey" :foreground "White")))) + (ediff-odd-diff-face-Ancestor ((t (:background "light grey" :foreground "Black")))) + (ediff-odd-diff-face-B ((t (:background "light grey" :foreground "Black")))) + (ediff-odd-diff-face-C ((t (:background "Grey" :foreground "White")))) + (font-lock-builtin-face ((t (:italic t :bold t :foreground "LightSteelBlue")))) + (font-lock-comment-face ((t (:italic t :foreground "LightGoldenrod4")))) + (font-lock-constant-face ((t (:italic t :foreground "HotPink")))) + (font-lock-doc-string-face ((t (:italic t :foreground "orange")))) + (font-lock-function-name-face ((t (:italic t :bold t :foreground "red")))) + (font-lock-keyword-face ((t (:foreground "red")))) + (font-lock-preprocessor-face ((t (:italic t :foreground "HotPink")))) + (font-lock-string-face ((t (:italic t :foreground "orange")))) + (font-lock-reference-face ((t (:italic t :bold t :foreground "LightSteelBlue")))) + (font-lock-type-face ((t (:italic t :foreground "LightSlateBlue")))) + (font-lock-variable-name-face ((t (:underline t :foreground "LightGoldenrod")))) + (font-lock-warning-face ((t (:bold t :foreground "Pink")))) + (highlight ((t (:background "yellow" :foreground "red")))) + (isearch ((t (:background "dim gray" :foreground "aquamarine")))) + (ispell-face ((t (:bold t :background "#3454b4" :foreground "yellow")))) + (italic ((t (:italic t)))) + (modeline ((t (:background "green" :foreground "black")))) + (modeline-buffer-id ((t (:background "green" :foreground "black")))) + (modeline-mousable ((t (:background "green" :foreground "black")))) + (modeline-mousable-minor-mode ((t (:background "green" :foreground "black")))) + (region ((t (:background "dim gray" :foreground "aquamarine")))) + (secondary-selection ((t (:background "darkslateblue" :foreground "light goldenrod")))) + (show-paren-match-face ((t (:background "turquoise" :foreground "black")))) + (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) + (underline ((t (:underline t)))) + (zmacs-region ((t (:background "dim gray" :foreground "aquamarine"))))))) + +(defun color-theme-salmon-diff () + "Salmon and aquamarine faces for diff and change-log modes. +This is intended for other color themes to use (eg. `color-theme-gnome2')." + (color-theme-install + '(color-theme-salmon-diff + nil + (change-log-acknowledgement-face ((t (:foreground "LightBlue")))) + (change-log-conditionals-face ((t (:bold t :weight bold :foreground "Aquamarine")))) + (change-log-date-face ((t (:foreground "LightSalmon")))) + (change-log-email-face ((t (:bold t :weight bold :foreground "Aquamarine")))) + (change-log-file-face ((t (:bold t :weight bold :foreground "Aquamarine")))) + (change-log-function-face ((t (:bold t :weight bold :foreground "Aquamarine")))) + (change-log-list-face ((t (:foreground "Salmon")))) + (change-log-name-face ((t (:foreground "Aquamarine")))) + (diff-added-face ((t (nil)))) + (diff-changed-face ((t (nil)))) + (diff-context-face ((t (:foreground "grey70")))) + (diff-file-header-face ((t (:bold t)))) + (diff-function-face ((t (:foreground "grey70")))) + (diff-header-face ((t (:foreground "light salmon")))) + (diff-hunk-header-face ((t (:foreground "light salmon")))) + (diff-index-face ((t (:bold t)))) + (diff-nonexistent-face ((t (:bold t)))) + (diff-removed-face ((t (nil)))) + (log-view-message-face ((t (:foreground "light salmon"))))))) + +(defun color-theme-robin-hood () + "`color-theme-gnome2' with navajo white on green. +This theme tries to avoid underlined and italic faces, because +the fonts either look ugly, or do not exist. The author himself +uses neep, for example." + (interactive) + (color-theme-gnome2) + (let ((color-theme-is-cumulative t)) + (color-theme-install + '(color-theme-robin-hood + ((foreground-color . "navajo white") + (background-color . "#304020")) + ((CUA-mode-read-only-cursor-color . "white") + (help-highlight-face . info-xref) + (list-matching-lines-buffer-name-face . bold)) + (default ((t (nil)))) + (button ((t (:bold t)))) + (calendar-today-face ((t (:foreground "lemon chiffon")))) + (custom-button-face ((t (:bold t :foreground "DodgerBlue1")))) + (diary-face ((t (:bold t :foreground "yellow")))) + (fringe ((t (:background "#003700")))) + (header-line ((t (:background "#030" :foreground "#AA7")))) + (holiday-face ((t (:bold t :foreground "peru")))) + (ido-subdir-face ((t (:foreground "MediumSlateBlue")))) + (isearch ((t (:foreground "pink" :background "red")))) + (isearch-lazy-highlight-face ((t (:foreground "red")))) + (menu ((t (:background "#304020" :foreground "navajo white")))) + (minibuffer-prompt ((t (:foreground "pale green")))) + (modeline ((t (:background "dark olive green" :foreground "wheat" :box (:line-width 1 :style released-button))))) + (mode-line-inactive ((t (:background "dark olive green" :foreground "khaki" :box (:line-width 1 :style released-button))))) + (semantic-dirty-token-face ((t (:background "grey22")))) + (tool-bar ((t (:background "#304020" :foreground "wheat" :box (:line-width 1 :style released-button))))) + (tooltip ((t (:background "lemon chiffon" :foreground "black")))))))) + +(defun color-theme-snowish () + "Color theme by Girish Bharadwaj, created 2001-05-17. +Dark slate gray on snow2, lots of blue colors. +Includes custom, eshell, font-lock, gnus, html-helper, +hyper-apropos, jde, message, paren, semantic, speedbar, +term, widget." + (interactive) + (color-theme-install + '(color-theme-snowish + ((background-color . "snow2") + (background-mode . light) + (cursor-color . "Red3") + (foreground-color . "darkslategray")) + ((buffers-tab-face . buffers-tab) + (gnus-mouse-face . highlight) + (sgml-set-face . t) + (smiley-mouse-face . highlight)) + (default ((t (nil)))) + (blue ((t (:foreground "blue")))) + (bold ((t (:bold t :foreground "peru")))) + (bold-italic ((t (:italic t :bold t)))) + (border-glyph ((t (nil)))) + (buffers-tab ((t (:background "snow2" :foreground "darkslategray")))) + (custom-button-face ((t (:bold t)))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-comment-face ((t (:background "gray85")))) + (custom-comment-tag-face ((t (:foreground "blue4")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face ((t (:underline t :foreground "blue")))) + (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "dark green")))) + (custom-variable-button-face ((t (:underline t :bold t)))) + (custom-variable-tag-face ((t (:underline t :foreground "blue")))) + (cyan ((t (:foreground "cyan")))) + (display-time-mail-balloon-enhance-face ((t (:background "orange")))) + (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue")))) + (display-time-time-balloon-face ((t (:foreground "red")))) + (eshell-ls-archive-face ((t (:bold t :foreground "Orchid")))) + (eshell-ls-backup-face ((t (:foreground "OrangeRed")))) + (eshell-ls-clutter-face ((t (:bold t :foreground "OrangeRed")))) + (eshell-ls-directory-face ((t (:bold t :foreground "Blue")))) + (eshell-ls-executable-face ((t (:bold t :foreground "ForestGreen")))) + (eshell-ls-missing-face ((t (:bold t :foreground "Red")))) + (eshell-ls-product-face ((t (:foreground "OrangeRed")))) + (eshell-ls-readonly-face ((t (:foreground "Brown")))) + (eshell-ls-special-face ((t (:bold t :foreground "Magenta")))) + (eshell-ls-symlink-face ((t (:bold t :foreground "Dark Cyan")))) + (eshell-ls-unreadable-face ((t (:foreground "Grey30")))) + (eshell-prompt-face ((t (:bold t :foreground "Red")))) + (font-lock-builtin-face ((t (:underline t :foreground "blue")))) + (font-lock-comment-face ((t (:foreground "snow4")))) + (font-lock-constant-face ((t (:foreground "CadetBlue")))) + (font-lock-doc-string-face ((t (:foreground "mediumblue")))) + (font-lock-function-name-face ((t (:bold t :foreground "darkblue")))) + (font-lock-keyword-face ((t (:bold t :foreground "dodgerblue")))) + (font-lock-preprocessor-face ((t (:underline t :foreground "blue3")))) + (font-lock-reference-face ((t (:foreground "red3")))) + (font-lock-string-face ((t (:foreground "darkviolet")))) + (font-lock-type-face ((t (:foreground "goldenrod")))) + (font-lock-variable-name-face ((t (:foreground "tomato")))) + (font-lock-warning-face ((t (:bold t :foreground "Red")))) + (gnus-cite-attribution-face ((t (nil)))) + (gnus-cite-face-1 ((t (:foreground "MidnightBlue")))) + (gnus-cite-face-10 ((t (:foreground "medium purple")))) + (gnus-cite-face-11 ((t (:foreground "turquoise")))) + (gnus-cite-face-2 ((t (:foreground "firebrick")))) + (gnus-cite-face-3 ((t (:foreground "dark green")))) + (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) + (gnus-cite-face-5 ((t (:foreground "dark khaki")))) + (gnus-cite-face-6 ((t (:foreground "dark violet")))) + (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-emphasis-bold ((t (:bold t)))) + (gnus-emphasis-bold-italic ((t (nil)))) + (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) + (gnus-emphasis-italic ((t (nil)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) + (gnus-emphasis-underline-bold-italic ((t (:underline t)))) + (gnus-emphasis-underline-italic ((t (:underline t)))) + (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3")))) + (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3")))) + (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4")))) + (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4")))) + (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) + (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen")))) + (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) + (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4")))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen")))) + (gnus-header-content-face ((t (:foreground "indianred4")))) + (gnus-header-from-face ((t (:foreground "red3")))) + (gnus-header-name-face ((t (:foreground "maroon")))) + (gnus-header-newsgroups-face ((t (:foreground "MidnightBlue")))) + (gnus-header-subject-face ((t (:foreground "red4")))) + (gnus-picons-face ((t (:background "white" :foreground "black")))) + (gnus-picons-xbm-face ((t (:background "white" :foreground "black")))) + (gnus-signature-face ((t (nil)))) + (gnus-splash-face ((t (:foreground "Brown")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) + (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen")))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick")))) + (gnus-summary-high-unread-face ((t (:bold t)))) + (gnus-summary-low-ancient-face ((t (:foreground "RoyalBlue")))) + (gnus-summary-low-read-face ((t (:foreground "DarkGreen")))) + (gnus-summary-low-ticked-face ((t (:foreground "firebrick")))) + (gnus-summary-low-unread-face ((t (nil)))) + (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) + (gnus-summary-normal-ticked-face ((t (:foreground "firebrick")))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-selected-face ((t (:underline t)))) + (gnus-x-face ((t (:background "white" :foreground "black")))) + (green ((t (:foreground "green")))) + (gui-button-face ((t (:background "grey75" :foreground "black")))) + (gui-element ((t (:background "#D4D0C8" :foreground "black")))) + (highlight ((t (:background "darkseagreen2")))) + (html-helper-bold-face ((t (:bold t)))) + (html-helper-bold-italic-face ((t (nil)))) + (html-helper-builtin-face ((t (:underline t :foreground "blue3")))) + (html-helper-italic-face ((t (:foreground "medium sea green")))) + (html-helper-underline-face ((t (:underline t)))) + (html-tag-face ((t (:bold t)))) + (hyper-apropos-documentation ((t (:foreground "darkred")))) + (hyper-apropos-heading ((t (:bold t)))) + (hyper-apropos-hyperlink ((t (:foreground "blue4")))) + (hyper-apropos-major-heading ((t (:bold t)))) + (hyper-apropos-section-heading ((t (nil)))) + (hyper-apropos-warning ((t (:bold t :foreground "red")))) + (info-menu-6 ((t (nil)))) + (isearch ((t (:background "paleturquoise")))) + (isearch-secondary ((t (:foreground "red3")))) + (italic ((t (nil)))) + (jde-bug-breakpoint-cursor ((t (:background "brown" :foreground "cyan")))) + (jde-bug-breakpoint-marker ((t (:background "yellow" :foreground "red")))) + (jde-java-font-lock-link-face ((t (:underline t :foreground "blue")))) + (jde-java-font-lock-number-face ((t (:foreground "RosyBrown")))) + (left-margin ((t (nil)))) + (list-mode-item-selected ((t (:background "gray68" :foreground "darkslategray")))) + (magenta ((t (:foreground "magenta")))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:foreground "MidnightBlue")))) + (message-header-name-face ((t (:foreground "cornflower blue")))) + (message-header-newsgroups-face ((t (:foreground "blue4")))) + (message-header-other-face ((t (:foreground "steel blue")))) + (message-header-subject-face ((t (:bold t :foreground "navy blue")))) + (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-mml-face ((t (:foreground "ForestGreen")))) + (message-separator-face ((t (:foreground "brown")))) + (modeline ((t (nil)))) + (modeline-buffer-id ((t (:background "#D4D0C8" :foreground "blue4")))) + (modeline-mousable ((t (:background "#D4D0C8" :foreground "firebrick")))) + (modeline-mousable-minor-mode ((t (:background "#D4D0C8" :foreground "green4")))) + (paren-blink-off ((t (:foreground "snow2")))) + (paren-match ((t (:background "darkseagreen2")))) + (paren-mismatch ((t (:background "snow2" :foreground "darkslategray")))) + (pointer ((t (nil)))) + (primary-selection ((t (:background "gray65")))) + (red ((t (:foreground "red")))) + (right-margin ((t (nil)))) + (secondary-selection ((t (:background "paleturquoise")))) + (semantic-intangible-face ((t (:foreground "gray25")))) + (semantic-read-only-face ((t (:background "gray25")))) + (senator-momentary-highlight-face ((t (:background "gray70")))) + (speedbar-button-face ((t (:foreground "green4")))) + (speedbar-directory-face ((t (:foreground "blue4")))) + (speedbar-file-face ((t (:foreground "cyan4")))) + (speedbar-highlight-face ((t (:background "green")))) + (speedbar-selected-face ((t (:underline t :foreground "red")))) + (speedbar-tag-face ((t (:foreground "brown")))) + (template-message-face ((t (:bold t)))) + (term-blue-bold-face ((t (:bold t :background "snow2" :foreground "blue")))) + (term-blue-face ((t (:foreground "blue")))) + (term-blue-inv-face ((t (:background "blue")))) + (term-blue-ul-face ((t (:underline t :background "snow2" :foreground "blue")))) + (term-cyan-bold-face ((t (:bold t :background "snow2" :foreground "cyan")))) + (term-cyan-face ((t (:foreground "cyan")))) + (term-cyan-inv-face ((t (:background "cyan")))) + (term-cyan-ul-face ((t (:underline t :background "snow2" :foreground "cyan")))) + (term-default-bold-face ((t (:bold t :background "snow2" :foreground "darkslategray")))) + (term-default-face ((t (:background "snow2" :foreground "darkslategray")))) + (term-default-inv-face ((t (:background "darkslategray" :foreground "snow2")))) + (term-default-ul-face ((t (:underline t :background "snow2" :foreground "darkslategray")))) + (term-green-bold-face ((t (:bold t :background "snow2" :foreground "green")))) + (term-green-face ((t (:foreground "green")))) + (term-green-inv-face ((t (:background "green")))) + (term-green-ul-face ((t (:underline t :background "snow2" :foreground "green")))) + (term-magenta-bold-face ((t (:bold t :background "snow2" :foreground "magenta")))) + (term-magenta-face ((t (:foreground "magenta")))) + (term-magenta-inv-face ((t (:background "magenta")))) + (term-magenta-ul-face ((t (:underline t :background "snow2" :foreground "magenta")))) + (term-red-bold-face ((t (:bold t :background "snow2" :foreground "red")))) + (term-red-face ((t (:foreground "red")))) + (term-red-inv-face ((t (:background "red")))) + (term-red-ul-face ((t (:underline t :background "snow2" :foreground "red")))) + (term-white-bold-face ((t (:bold t :background "snow2" :foreground "white")))) + (term-white-face ((t (:foreground "white")))) + (term-white-inv-face ((t (:background "snow2")))) + (term-white-ul-face ((t (:underline t :background "snow2" :foreground "white")))) + (term-yellow-bold-face ((t (:bold t :background "snow2" :foreground "yellow")))) + (term-yellow-face ((t (:foreground "yellow")))) + (term-yellow-inv-face ((t (:background "yellow")))) + (term-yellow-ul-face ((t (:underline t :background "snow2" :foreground "yellow")))) + (text-cursor ((t (:background "Red3" :foreground "snow2")))) + (toolbar ((t (nil)))) + (underline ((t (:underline t)))) + (vertical-divider ((t (nil)))) + (white ((t (:foreground "white")))) + (widget ((t (nil)))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (yellow ((t (:foreground "yellow")))) + (zmacs-region ((t (:background "gray65"))))))) + +(defun color-theme-dark-laptop () + "Color theme by Laurent Michel, created 2001-05-24. +Includes custom, fl, font-lock, gnus, message, widget." + (interactive) + (color-theme-install + '(color-theme-dark-laptop + ((background-color . "black") + (background-mode . dark) + (border-color . "black") + (cursor-color . "yellow") + (foreground-color . "white") + (mouse-color . "sienna1")) + ((gnus-mouse-face . highlight) + (list-matching-lines-face . bold) + (view-highlight-face . highlight)) + (default ((t (nil)))) + (bold ((t (:bold t)))) + (bold-italic ((t (:italic t :bold t)))) + (custom-button-face ((t (nil)))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face ((t (:underline t :foreground "light blue")))) + (custom-group-tag-face-1 ((t (:underline t :foreground "pink")))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "lime green")))) + (custom-variable-button-face ((t (:underline t :bold t)))) + (custom-variable-tag-face ((t (:underline t :foreground "light blue")))) + (fl-comment-face ((t (:foreground "pink")))) + (fl-doc-string-face ((t (:foreground "purple")))) + (fl-function-name-face ((t (:foreground "red")))) + (fl-keyword-face ((t (:foreground "cyan")))) + (fl-string-face ((t (:foreground "green")))) + (fl-type-face ((t (:foreground "yellow")))) + (font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) + (font-lock-comment-face ((t (:foreground "OrangeRed")))) + (font-lock-constant-face ((t (:foreground "Aquamarine")))) + (font-lock-doc-string-face ((t (:foreground "LightSalmon")))) + (font-lock-function-name-face ((t (:foreground "LightSkyBlue")))) + (font-lock-keyword-face ((t (:foreground "Cyan")))) + (font-lock-preprocessor-face ((t (:foreground "Aquamarine")))) + (font-lock-reference-face ((t (:foreground "LightSteelBlue")))) + (font-lock-string-face ((t (:foreground "LightSalmon")))) + (font-lock-type-face ((t (:foreground "PaleGreen")))) + (font-lock-variable-name-face ((t (:foreground "LightGoldenrod")))) + (font-lock-warning-face ((t (:bold t :foreground "Pink")))) + (gnus-cite-attribution-face ((t (:italic t)))) + (gnus-cite-face-1 ((t (:bold t :foreground "deep sky blue")))) + (gnus-cite-face-10 ((t (:foreground "medium purple")))) + (gnus-cite-face-11 ((t (:foreground "turquoise")))) + (gnus-cite-face-2 ((t (:bold t :foreground "cyan")))) + (gnus-cite-face-3 ((t (:bold t :foreground "gold")))) + (gnus-cite-face-4 ((t (:foreground "light pink")))) + (gnus-cite-face-5 ((t (:foreground "pale green")))) + (gnus-cite-face-6 ((t (:bold t :foreground "chocolate")))) + (gnus-cite-face-7 ((t (:foreground "orange")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-emphasis-bold ((t (:bold t)))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) + (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) + (gnus-emphasis-italic ((t (:italic t)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) + (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t)))) + (gnus-emphasis-underline-italic ((t (:underline t :italic t)))) + (gnus-group-mail-1-empty-face ((t (:foreground "aquamarine1")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "aquamarine1")))) + (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "aquamarine2")))) + (gnus-group-mail-3-empty-face ((t (:foreground "aquamarine3")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "aquamarine3")))) + (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "aquamarine4")))) + (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) + (gnus-group-news-1-face ((t (:bold t :foreground "PaleTurquoise")))) + (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) + (gnus-group-news-2-face ((t (:bold t :foreground "turquoise")))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkTurquoise")))) + (gnus-header-content-face ((t (:italic t :foreground "forest green")))) + (gnus-header-from-face ((t (:bold t :foreground "spring green")))) + (gnus-header-name-face ((t (:foreground "deep sky blue")))) + (gnus-header-newsgroups-face ((t (:italic t :bold t :foreground "purple")))) + (gnus-header-subject-face ((t (:bold t :foreground "orange")))) + (gnus-signature-face ((t (:bold t :foreground "khaki")))) + (gnus-splash-face ((t (:foreground "Brown")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "SkyBlue")))) + (gnus-summary-high-read-face ((t (:bold t :foreground "PaleGreen")))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "pink")))) + (gnus-summary-high-unread-face ((t (:bold t)))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "SkyBlue")))) + (gnus-summary-low-read-face ((t (:italic t :foreground "PaleGreen")))) + (gnus-summary-low-ticked-face ((t (:italic t :foreground "pink")))) + (gnus-summary-low-unread-face ((t (:italic t)))) + (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) + (gnus-summary-normal-ticked-face ((t (:foreground "pink")))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-selected-face ((t (:underline t)))) + (highlight ((t (:background "darkolivegreen")))) + (italic ((t (:italic t)))) + (message-cited-text-face ((t (:bold t :foreground "red")))) + (message-header-cc-face ((t (:bold t :foreground "green4")))) + (message-header-name-face ((t (:bold t :foreground "orange")))) + (message-header-newsgroups-face ((t (:bold t :foreground "violet")))) + (message-header-other-face ((t (:bold t :foreground "chocolate")))) + (message-header-subject-face ((t (:bold t :foreground "yellow")))) + (message-header-to-face ((t (:bold t :foreground "cyan")))) + (message-header-xheader-face ((t (:bold t :foreground "light blue")))) + (message-mml-face ((t (:bold t :background "Green3")))) + (message-separator-face ((t (:foreground "blue3")))) + (modeline ((t (:background "white" :foreground "black")))) + (modeline-buffer-id ((t (:background "white" :foreground "black")))) + (modeline-mousable ((t (:background "white" :foreground "black")))) + (modeline-mousable-minor-mode ((t (:background "white" :foreground "black")))) + (region ((t (:background "blue")))) + (primary-selection ((t (:background "blue")))) + (isearch ((t (:background "blue")))) + (zmacs-region ((t (:background "blue")))) + (secondary-selection ((t (:background "darkslateblue")))) + (underline ((t (:underline t)))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "lime green")))) + (widget-field-face ((t (:background "dim gray")))) + (widget-inactive-face ((t (:foreground "light gray")))) + (widget-single-line-field-face ((t (:background "dim gray"))))))) + +(defun color-theme-taming-mr-arneson () + "Color theme by Erik Arneson, created 2001-06-12. +Light sky blue on black. Includes bbdb, cperl, custom, cvs, diff, +dired, font-lock, html-helper, hyper-apropos, info, isearch, man, +message, paren, shell, and widget." + (interactive) + (color-theme-install + '(color-theme-taming-mr-arneson + ((background-color . "black") + (background-mode . light) + (background-toolbar-color . "#cf3ccf3ccf3c") + (border-color . "#000000000000") + (bottom-toolbar-shadow-color . "#79e77df779e7") + (cursor-color . "Red3") + (foreground-color . "LightSkyBlue") + (top-toolbar-shadow-color . "#fffffbeeffff")) + ((buffers-tab-face . buffers-tab) + (cperl-here-face . font-lock-string-face) + (cperl-invalid-face quote default) + (cperl-pod-face . font-lock-comment-face) + (cperl-pod-head-face . font-lock-variable-name-face) + (ispell-highlight-face . highlight) + (vc-mode-face . highlight) + (vm-highlight-url-face . bold-italic) + (vm-highlighted-header-face . bold) + (vm-mime-button-face . gui-button-face) + (vm-summary-highlight-face . bold)) + (default ((t (nil)))) + (bbdb-company ((t (nil)))) + (bbdb-field-name ((t (:bold t)))) + (bbdb-field-value ((t (nil)))) + (bbdb-name ((t (:underline t)))) + (blue ((t (:foreground "blue")))) + (bold ((t (:bold t)))) + (bold-italic ((t (:bold t :foreground "yellow")))) + (border-glyph ((t (nil)))) + (buffers-tab ((t (:background "black" :foreground "LightSkyBlue")))) + (cperl-array-face ((t (:bold t :foreground "SkyBlue2")))) + (cperl-hash-face ((t (:foreground "LightBlue2")))) + (cperl-invalid-face ((t (:foreground "white")))) + (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) + (custom-button-face ((t (:bold t)))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-comment-face ((t (:foreground "white")))) + (custom-comment-tag-face ((t (:foreground "white")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face ((t (:underline t :foreground "blue")))) + (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "white")))) + (custom-variable-button-face ((t (:underline t :bold t)))) + (custom-variable-tag-face ((t (:underline t :foreground "blue")))) + (cvs-filename-face ((t (:foreground "white")))) + (cvs-handled-face ((t (:foreground "pink")))) + (cvs-header-face ((t (:foreground "green")))) + (cvs-marked-face ((t (:bold t :foreground "green3")))) + (cvs-msg-face ((t (:foreground "red")))) + (cvs-need-action-face ((t (:foreground "yellow")))) + (cvs-unknown-face ((t (:foreground "grey")))) + (diff-added-face ((t (nil)))) + (diff-changed-face ((t (nil)))) + (diff-file-header-face ((t (:bold t :background "grey70")))) + (diff-hunk-header-face ((t (:background "grey85")))) + (diff-index-face ((t (:bold t :background "grey70")))) + (diff-removed-face ((t (nil)))) + (dired-face-boring ((t (:foreground "Gray65")))) + (dired-face-directory ((t (:bold t :foreground "SkyBlue2")))) + (dired-face-executable ((t (:foreground "Green")))) + (dired-face-flagged ((t (:background "LightSlateGray")))) + (dired-face-header ((t (:background "grey75" :foreground "black")))) + (dired-face-marked ((t (:background "PaleVioletRed")))) + (dired-face-permissions ((t (:background "grey75" :foreground "black")))) + (dired-face-setuid ((t (:foreground "Red")))) + (dired-face-socket ((t (:foreground "magenta")))) + (dired-face-symlink ((t (:foreground "cyan")))) + (excerpt ((t (nil)))) + (fixed ((t (:bold t)))) + (font-lock-builtin-face ((t (:foreground "red3")))) + (font-lock-comment-face ((t (:foreground "red")))) + (font-lock-constant-face ((t (nil)))) + (font-lock-doc-string-face ((t (:foreground "turquoise")))) + (font-lock-function-name-face ((t (:foreground "white")))) + (font-lock-keyword-face ((t (:foreground "green")))) + (font-lock-preprocessor-face ((t (:foreground "green3")))) + (font-lock-reference-face ((t (:foreground "red3")))) + (font-lock-string-face ((t (:foreground "turquoise")))) + (font-lock-type-face ((t (:foreground "steelblue")))) + (font-lock-variable-name-face ((t (:foreground "magenta2")))) + (font-lock-warning-face ((t (:bold t :foreground "Red")))) + (green ((t (:foreground "green")))) + (gui-button-face ((t (:background "grey75" :foreground "black")))) + (gui-element ((t (nil)))) + (highlight ((t (:background "darkseagreen2" :foreground "blue")))) + (html-helper-bold-face ((t (:bold t)))) + (html-helper-italic-face ((t (:bold t :foreground "yellow")))) + (html-helper-underline-face ((t (:underline t)))) + (hyper-apropos-documentation ((t (:foreground "white")))) + (hyper-apropos-heading ((t (:bold t)))) + (hyper-apropos-hyperlink ((t (:foreground "sky blue")))) + (hyper-apropos-major-heading ((t (:bold t)))) + (hyper-apropos-section-heading ((t (:bold t)))) + (hyper-apropos-warning ((t (:bold t :foreground "red")))) + (info-node ((t (:bold t :foreground "yellow")))) + (info-xref ((t (:bold t)))) + (isearch ((t (:background "paleturquoise" :foreground "dark red")))) + (isearch-secondary ((t (:foreground "red3")))) + (italic ((t (:bold t :foreground "yellow")))) + (left-margin ((t (nil)))) + (list-mode-item-selected ((t (:background "gray68" :foreground "dark green")))) + (man-bold ((t (:bold t)))) + (man-heading ((t (:bold t)))) + (man-italic ((t (:foreground "yellow")))) + (man-xref ((t (:underline t)))) + (message-cited-text ((t (:foreground "orange")))) + (message-header-contents ((t (:foreground "white")))) + (message-headers ((t (:bold t :foreground "orange")))) + (message-highlighted-header-contents ((t (:bold t)))) + (message-url ((t (:bold t :foreground "pink")))) + (mmm-face ((t (:background "black" :foreground "green")))) + (modeline ((t (nil)))) + (modeline-buffer-id ((t (:background "Gray80" :foreground "blue4")))) + (modeline-mousable ((t (:background "Gray80" :foreground "firebrick")))) + (modeline-mousable-minor-mode ((t (:background "Gray80" :foreground "green4")))) + (paren-blink-off ((t (:foreground "gray80")))) + (paren-match ((t (:background "dark blue")))) + (paren-mismatch ((t (:background "DeepPink" :foreground "LightSkyBlue")))) + (pointer ((t (nil)))) + (primary-selection ((t (:background "gray65" :foreground "DarkBlue")))) + (red ((t (:foreground "red")))) + (region ((t (:background "gray65" :foreground "DarkBlue")))) + (right-margin ((t (nil)))) + (secondary-selection ((t (:background "paleturquoise" :foreground "black")))) + (shell-option-face ((t (:foreground "blue4")))) + (shell-output-2-face ((t (:foreground "green4")))) + (shell-output-3-face ((t (:foreground "green4")))) + (shell-output-face ((t (:bold t)))) + (shell-prompt-face ((t (:foreground "red4")))) + (text-cursor ((t (:background "Red3" :foreground "black")))) + (toolbar ((t (:background "Gray80" :foreground "black")))) + (underline ((t (:underline t)))) + (vertical-divider ((t (nil)))) + (vm-xface ((t (:background "white" :foreground "black")))) + (vmpc-pre-sig-face ((t (:foreground "forestgreen")))) + (vmpc-sig-face ((t (:foreground "steelblue")))) + (widget ((t (nil)))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85" :foreground "black")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (x-face ((t (:background "white" :foreground "black")))) + (xrdb-option-name-face ((t (:foreground "red")))) + (yellow ((t (:foreground "yellow")))) + (zmacs-region ((t (:background "gray65"))))))) + +(defun color-theme-digital-ofs1 () + "Color theme by Gareth Owen, created 2001-06-13. +This works well on an old, beat-up Digital Unix box with its 256 colour +display, on which other color themes hog too much of the palette. +Black on some shade of dark peach. Includes bbdb, cperl, custom, +cvs, diff, dired, ediff, erc, eshell, font-latex, font-lock, gnus, +highlight, hproperty, html-helper, hyper-apropos, info, jde, man, +message, paren, searchm, semantic, sgml, shell, speedbar, term, +vhdl, viper, w3m, widget, woman, x-symbol, xref." + (interactive) + (color-theme-install + '(color-theme-digital-ofs1 + ((background-color . "#CA94AA469193") + (background-mode . light) + (background-toolbar-color . "#cf3ccf3ccf3c") + (border-color . "black") + (bottom-toolbar-shadow-color . "#79e77df779e7") + (cursor-color . "Black") + (foreground-color . "Black") + (mouse-color . "Black") + (top-toolbar-shadow-color . "#fffffbeeffff") + (viper-saved-cursor-color-in-replace-mode . "Red3")) + ((Man-overstrike-face . bold) + (Man-underline-face . underline) + (gnus-mouse-face . highlight) + (goto-address-mail-face . italic) + (goto-address-mail-mouse-face . secondary-selection) + (goto-address-url-face . bold) + (goto-address-url-mouse-face . highlight) + (ispell-highlight-face . highlight) + (list-matching-lines-face . bold) + (rmail-highlight-face . font-lock-function-name-face) + (view-highlight-face . highlight)) + (default ((t (:bold t)))) + (bbdb-company ((t (:italic t)))) + (bbdb-field-name ((t (:bold t)))) + (bbdb-field-value ((t (nil)))) + (bbdb-name ((t (:underline t)))) + (blank-space-face ((t (nil)))) + (blank-tab-face ((t (nil)))) + (blue ((t (:bold t :foreground "blue")))) + (bold ((t (:bold t)))) + (bold-italic ((t (:italic t :bold t)))) + (border-glyph ((t (:bold t)))) + (buffers-tab ((t (:background "black" :foreground "LightSkyBlue")))) + (calendar-today-face ((t (:underline t :bold t :foreground "white")))) + (comint-input-face ((t (nil)))) + (cperl-array-face ((t (:bold t :background "lightyellow2" :foreground "Blue")))) + (cperl-hash-face ((t (:italic t :bold t :background "lightyellow2" :foreground "Red")))) + (cperl-here-face ((t (nil)))) + (cperl-invalid-face ((t (:foreground "white")))) + (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) + (cperl-pod-face ((t (nil)))) + (cperl-pod-head-face ((t (nil)))) + (custom-button-face ((t (:bold t)))) + (custom-changed-face ((t (:bold t :background "blue" :foreground "white")))) + (custom-comment-face ((t (:foreground "white")))) + (custom-comment-tag-face ((t (:foreground "white")))) + (custom-documentation-face ((t (:bold t)))) + (custom-face-tag-face ((t (:underline t :bold t)))) + (custom-group-tag-face ((t (:underline t :bold t :foreground "DarkBlue")))) + (custom-group-tag-face-1 ((t (:underline t :bold t :foreground "red")))) + (custom-invalid-face ((t (:bold t :background "red" :foreground "yellow")))) + (custom-modified-face ((t (:bold t :background "blue" :foreground "white")))) + (custom-rogue-face ((t (:bold t :background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t :bold t)))) + (custom-set-face ((t (:bold t :background "white" :foreground "blue")))) + (custom-state-face ((t (:bold t :foreground "dark green")))) + (custom-variable-button-face ((t (:underline t :bold t)))) + (custom-variable-tag-face ((t (:underline t :bold t :foreground "blue")))) + (cvs-filename-face ((t (:foreground "white")))) + (cvs-handled-face ((t (:foreground "pink")))) + (cvs-header-face ((t (:bold t :foreground "green")))) + (cvs-marked-face ((t (:bold t :foreground "green3")))) + (cvs-msg-face ((t (:italic t :foreground "red")))) + (cvs-need-action-face ((t (:foreground "yellow")))) + (cvs-unknown-face ((t (:foreground "grey")))) + (cyan ((t (:foreground "cyan")))) + (diary-face ((t (:bold t :foreground "red")))) + (diff-added-face ((t (nil)))) + (diff-changed-face ((t (nil)))) + (diff-file-header-face ((t (:bold t :background "grey70")))) + (diff-hunk-header-face ((t (:background "grey85")))) + (diff-index-face ((t (:bold t :background "grey70")))) + (diff-removed-face ((t (nil)))) + (dired-face-boring ((t (:foreground "Gray65")))) + (dired-face-directory ((t (:bold t)))) + (dired-face-executable ((t (:foreground "SeaGreen")))) + (dired-face-flagged ((t (:background "LightSlateGray")))) + (dired-face-header ((t (:background "grey75" :foreground "black")))) + (dired-face-marked ((t (:background "PaleVioletRed")))) + (dired-face-permissions ((t (:background "grey75" :foreground "black")))) + (dired-face-setuid ((t (:foreground "Red")))) + (dired-face-socket ((t (:foreground "magenta")))) + (dired-face-symlink ((t (:foreground "cyan")))) + (display-time-mail-balloon-enhance-face ((t (:bold t :background "orange")))) + (display-time-mail-balloon-gnus-group-face ((t (:bold t :foreground "blue")))) + (display-time-time-balloon-face ((t (:bold t :foreground "red")))) + (ediff-current-diff-face-A ((t (:background "pale green" :foreground "firebrick")))) + (ediff-current-diff-face-Ancestor ((t (:background "VioletRed" :foreground "Black")))) + (ediff-current-diff-face-B ((t (:background "Yellow" :foreground "DarkOrchid")))) + (ediff-current-diff-face-C ((t (:background "Pink" :foreground "Navy")))) + (ediff-even-diff-face-A ((t (:background "light grey" :foreground "Black")))) + (ediff-even-diff-face-Ancestor ((t (:background "Grey" :foreground "White")))) + (ediff-even-diff-face-B ((t (:background "Grey" :foreground "White")))) + (ediff-even-diff-face-C ((t (:background "light grey" :foreground "Black")))) + (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy")))) + (ediff-fine-diff-face-Ancestor ((t (:background "Green" :foreground "Black")))) + (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Black")))) + (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Black")))) + (ediff-odd-diff-face-A ((t (:background "Grey" :foreground "White")))) + (ediff-odd-diff-face-Ancestor ((t (:background "light grey" :foreground "Black")))) + (ediff-odd-diff-face-B ((t (:background "light grey" :foreground "Black")))) + (ediff-odd-diff-face-C ((t (:background "Grey" :foreground "White")))) + (erc-action-face ((t (:bold t)))) + (erc-bold-face ((t (:bold t)))) + (erc-default-face ((t (nil)))) + (erc-direct-msg-face ((t (nil)))) + (erc-error-face ((t (:bold t)))) + (erc-input-face ((t (nil)))) + (erc-inverse-face ((t (nil)))) + (erc-notice-face ((t (nil)))) + (erc-pal-face ((t (nil)))) + (erc-prompt-face ((t (nil)))) + (erc-underline-face ((t (nil)))) + (eshell-ls-archive-face ((t (:bold t :foreground "Orchid")))) + (eshell-ls-backup-face ((t (:foreground "OrangeRed")))) + (eshell-ls-clutter-face ((t (:bold t :foreground "OrangeRed")))) + (eshell-ls-directory-face ((t (:bold t :foreground "Blue")))) + (eshell-ls-executable-face ((t (:bold t :foreground "ForestGreen")))) + (eshell-ls-missing-face ((t (:bold t :foreground "Red")))) + (eshell-ls-picture-face ((t (:foreground "Violet")))) + (eshell-ls-product-face ((t (:foreground "OrangeRed")))) + (eshell-ls-readonly-face ((t (:foreground "Brown")))) + (eshell-ls-special-face ((t (:bold t :foreground "Magenta")))) + (eshell-ls-symlink-face ((t (:bold t :foreground "DarkCyan")))) + (eshell-ls-text-face ((t (:foreground "medium aquamarine")))) + (eshell-ls-todo-face ((t (:bold t :foreground "aquamarine")))) + (eshell-ls-unreadable-face ((t (:foreground "Grey30")))) + (eshell-prompt-face ((t (:bold t :foreground "Red")))) + (eshell-test-failed-face ((t (:bold t :foreground "OrangeRed")))) + (eshell-test-ok-face ((t (:bold t :foreground "Green")))) + (excerpt ((t (:italic t)))) + (ff-paths-non-existant-file-face ((t (:bold t :foreground "NavyBlue")))) + (fg:black ((t (:foreground "black")))) + (fixed ((t (:bold t)))) + (fl-comment-face ((t (:foreground "medium purple")))) + (fl-doc-string-face ((t (nil)))) + (fl-function-name-face ((t (:foreground "green")))) + (fl-keyword-face ((t (:foreground "LightGreen")))) + (fl-string-face ((t (:foreground "light coral")))) + (fl-type-face ((t (:foreground "cyan")))) + (flyspell-duplicate-face ((t (:underline t :bold t :foreground "Gold3")))) + (flyspell-incorrect-face ((t (:underline t :bold t :foreground "OrangeRed")))) + (font-latex-bold-face ((t (:bold t)))) + (font-latex-italic-face ((t (:italic t)))) + (font-latex-math-face ((t (nil)))) + (font-latex-sedate-face ((t (nil)))) + (font-latex-string-face ((t (nil)))) + (font-latex-warning-face ((t (nil)))) + (font-lock-builtin-face ((t (:italic t :bold t :foreground "Orchid")))) + (font-lock-comment-face ((t (:bold t :foreground "Firebrick")))) + (font-lock-constant-face ((t (:italic t :bold t :foreground "CadetBlue")))) + (font-lock-doc-string-face ((t (:italic t :bold t :foreground "green4")))) + (font-lock-emphasized-face ((t (:bold t)))) + (font-lock-exit-face ((t (:foreground "green")))) + (font-lock-function-name-face ((t (:italic t :bold t :foreground "Blue")))) + (font-lock-keyword-face ((t (:bold t :foreground "dark olive green")))) + (font-lock-other-emphasized-face ((t (:italic t :bold t)))) + (font-lock-other-type-face ((t (:bold t :foreground "DarkBlue")))) + (font-lock-preprocessor-face ((t (:italic t :bold t :foreground "blue3")))) + (font-lock-reference-face ((t (:italic t :bold t :foreground "red3")))) + (font-lock-special-comment-face ((t (nil)))) + (font-lock-special-keyword-face ((t (nil)))) + (font-lock-string-face ((t (:italic t :bold t :foreground "DarkBlue")))) + (font-lock-type-face ((t (:italic t :bold t :foreground "DarkGreen")))) + (font-lock-variable-name-face ((t (:italic t :bold t :foreground "darkgreen")))) + (font-lock-warning-face ((t (:bold t :foreground "Red")))) + (fringe ((t (:background "grey95")))) + (gdb-arrow-face ((t (:bold t)))) + (gnus-cite-attribution-face ((t (:italic t :bold t)))) + (gnus-cite-face-1 ((t (:bold t :foreground "MidnightBlue")))) + (gnus-cite-face-10 ((t (:foreground "medium purple")))) + (gnus-cite-face-11 ((t (:foreground "turquoise")))) + (gnus-cite-face-2 ((t (:bold t :foreground "firebrick")))) + (gnus-cite-face-3 ((t (:bold t :foreground "dark green")))) + (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) + (gnus-cite-face-5 ((t (:foreground "dark khaki")))) + (gnus-cite-face-6 ((t (:bold t :foreground "dark violet")))) + (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-cite-face-list ((t (nil)))) + (gnus-emphasis-bold ((t (:bold t)))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) + (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) + (gnus-emphasis-italic ((t (:italic t)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) + (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t)))) + (gnus-emphasis-underline-italic ((t (:underline t :italic t)))) + (gnus-filterhist-face-1 ((t (nil)))) + (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3")))) + (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3")))) + (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4")))) + (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4")))) + (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) + (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen")))) + (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) + (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4")))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen")))) + (gnus-header-content-face ((t (:italic t :foreground "indianred4")))) + (gnus-header-from-face ((t (:bold t :foreground "red3")))) + (gnus-header-name-face ((t (:bold t :foreground "maroon")))) + (gnus-header-newsgroups-face ((t (:italic t :bold t :foreground "MidnightBlue")))) + (gnus-header-subject-face ((t (:bold t :foreground "red4")))) + (gnus-picons-face ((t (:background "white" :foreground "black")))) + (gnus-picons-xbm-face ((t (:background "white" :foreground "black")))) + (gnus-signature-face ((t (:italic t :bold t)))) + (gnus-splash ((t (nil)))) + (gnus-splash-face ((t (:foreground "Brown")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) + (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen")))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick")))) + (gnus-summary-high-unread-face ((t (:italic t :bold t)))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue")))) + (gnus-summary-low-read-face ((t (:italic t :foreground "DarkGreen")))) + (gnus-summary-low-ticked-face ((t (:italic t :bold t :foreground "firebrick")))) + (gnus-summary-low-unread-face ((t (:italic t)))) + (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) + (gnus-summary-normal-ticked-face ((t (:bold t :foreground "firebrick")))) + (gnus-summary-normal-unread-face ((t (:bold t)))) + (gnus-summary-selected-face ((t (:underline t)))) + (gnus-x-face ((t (:background "white" :foreground "black")))) + (green ((t (:bold t :foreground "green")))) + (gui-button-face ((t (:bold t :background "grey75" :foreground "black")))) + (gui-element ((t (:bold t :background "Gray80")))) + (highlight ((t (:bold t :background "darkseagreen2")))) + (highlight-changes-delete-face ((t (:underline t :foreground "red")))) + (highlight-changes-face ((t (:foreground "red")))) + (highline-face ((t (:background "black" :foreground "white")))) + (holiday-face ((t (:bold t :background "pink" :foreground "white")))) + (hproperty:but-face ((t (:bold t)))) + (hproperty:flash-face ((t (:bold t)))) + (hproperty:highlight-face ((t (:bold t)))) + (hproperty:item-face ((t (:bold t)))) + (html-helper-bold-face ((t (:bold t)))) + (html-helper-bold-italic-face ((t (nil)))) + (html-helper-builtin-face ((t (:underline t :foreground "blue3")))) + (html-helper-italic-face ((t (:italic t :bold t :foreground "yellow")))) + (html-helper-underline-face ((t (:underline t)))) + (html-tag-face ((t (:bold t)))) + (hyper-apropos-documentation ((t (:foreground "white")))) + (hyper-apropos-heading ((t (:bold t)))) + (hyper-apropos-hyperlink ((t (:foreground "sky blue")))) + (hyper-apropos-major-heading ((t (:bold t)))) + (hyper-apropos-section-heading ((t (:bold t)))) + (hyper-apropos-warning ((t (:bold t :foreground "red")))) + (ibuffer-marked-face ((t (:foreground "red")))) + (info-menu-5 ((t (:underline t :bold t)))) + (info-menu-6 ((t (nil)))) + (info-node ((t (:italic t :bold t)))) + (info-xref ((t (:bold t)))) + (isearch ((t (:bold t :background "paleturquoise")))) + (isearch-secondary ((t (:foreground "red3")))) + (ispell-face ((t (:bold t)))) + (italic ((t (:italic t :bold t)))) + (jde-bug-breakpoint-cursor ((t (:background "brown" :foreground "cyan")))) + (jde-bug-breakpoint-marker ((t (:background "yellow" :foreground "red")))) + (jde-java-font-lock-link-face ((t (:underline t :foreground "blue")))) + (jde-java-font-lock-number-face ((t (:foreground "RosyBrown")))) + (lazy-highlight-face ((t (:bold t :foreground "dark magenta")))) + (left-margin ((t (:bold t)))) + (linemenu-face ((t (nil)))) + (list-mode-item-selected ((t (:bold t :background "gray68")))) + (magenta ((t (:foreground "magenta")))) + (makefile-space-face ((t (:background "hotpink")))) + (man-bold ((t (:bold t)))) + (man-heading ((t (:bold t)))) + (man-italic ((t (:foreground "yellow")))) + (man-xref ((t (:underline t)))) + (message-cited-text ((t (:bold t :foreground "orange")))) + (message-cited-text-face ((t (:bold t :foreground "red")))) + (message-header-cc-face ((t (:bold t :foreground "MidnightBlue")))) + (message-header-contents ((t (:italic t :bold t :foreground "white")))) + (message-header-name-face ((t (:bold t :foreground "cornflower blue")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4")))) + (message-header-other-face ((t (:bold t :foreground "steel blue")))) + (message-header-subject-face ((t (:bold t :foreground "navy blue")))) + (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) + (message-header-xheader-face ((t (:bold t :foreground "blue")))) + (message-headers ((t (:bold t :foreground "orange")))) + (message-highlighted-header-contents ((t (:bold t)))) + (message-mml-face ((t (:bold t :foreground "ForestGreen")))) + (message-separator-face ((t (:foreground "brown")))) + (message-url ((t (:bold t :foreground "pink")))) + (mmm-face ((t (:background "black" :foreground "green")))) + (modeline ((t (:bold t :background "Black" :foreground "#CA94AA469193")))) + (modeline-buffer-id ((t (:bold t :background "Gray80" :foreground "blue4")))) + (modeline-mousable ((t (:bold t :background "Gray80" :foreground "firebrick")))) + (modeline-mousable-minor-mode ((t (:bold t :background "Gray80" :foreground "green4")))) + (my-tab-face ((t (nil)))) + (nil ((t (nil)))) + (p4-diff-del-face ((t (:bold t)))) + (paren-blink-off ((t (:foreground "gray80")))) + (paren-face ((t (nil)))) + (paren-face-match ((t (nil)))) + (paren-face-mismatch ((t (nil)))) + (paren-face-no-match ((t (nil)))) + (paren-match ((t (:background "darkseagreen2")))) + (paren-mismatch ((t (:background "DeepPink" :foreground "black")))) + (paren-mismatch-face ((t (:bold t :background "DeepPink" :foreground "white")))) + (paren-no-match-face ((t (:bold t :background "yellow" :foreground "white")))) + (pointer ((t (:bold t)))) + (primary-selection ((t (:bold t :background "gray65")))) + (red ((t (:bold t :foreground "red")))) + (region ((t (:bold t :background "gray")))) + (right-margin ((t (:bold t)))) + (searchm-buffer ((t (:bold t)))) + (searchm-button ((t (:bold t)))) + (searchm-field ((t (nil)))) + (searchm-field-label ((t (:bold t)))) + (searchm-highlight ((t (:bold t)))) + (secondary-selection ((t (:bold t :background "paleturquoise")))) + (semantic-intangible-face ((t (:foreground "gray25")))) + (semantic-read-only-face ((t (:background "gray25")))) + (senator-momentary-highlight-face ((t (:background "gray70")))) + (setnu-line-number-face ((t (:italic t :bold t)))) + (sgml-comment-face ((t (:foreground "dark green")))) + (sgml-doctype-face ((t (:foreground "maroon")))) + (sgml-end-tag-face ((t (:foreground "blue2")))) + (sgml-entity-face ((t (:foreground "red2")))) + (sgml-ignored-face ((t (:background "gray90" :foreground "maroon")))) + (sgml-ms-end-face ((t (:foreground "maroon")))) + (sgml-ms-start-face ((t (:foreground "maroon")))) + (sgml-pi-face ((t (:foreground "maroon")))) + (sgml-sgml-face ((t (:foreground "maroon")))) + (sgml-short-ref-face ((t (:foreground "goldenrod")))) + (sgml-start-tag-face ((t (:foreground "blue2")))) + (shell-input-face ((t (:bold t)))) + (shell-option-face ((t (:bold t :foreground "blue4")))) + (shell-output-2-face ((t (:bold t :foreground "green4")))) + (shell-output-3-face ((t (:bold t :foreground "green4")))) + (shell-output-face ((t (:bold t)))) + (shell-prompt-face ((t (:bold t :foreground "red4")))) + (show-paren-match-face ((t (:bold t :background "turquoise")))) + (show-paren-mismatch-face ((t (:bold t :background "purple" :foreground "white")))) + (speedbar-button-face ((t (:bold t :foreground "magenta")))) + (speedbar-directory-face ((t (:bold t :foreground "orchid")))) + (speedbar-file-face ((t (:bold t :foreground "pink")))) + (speedbar-highlight-face ((t (:background "black")))) + (speedbar-selected-face ((t (:underline t :foreground "cyan")))) + (speedbar-tag-face ((t (:foreground "yellow")))) + (swbuff-current-buffer-face ((t (:bold t :foreground "red")))) + (template-message-face ((t (:bold t)))) + (term-black ((t (:foreground "black")))) + (term-blackbg ((t (:background "black")))) + (term-blue ((t (:foreground "blue")))) + (term-blue-bold-face ((t (:bold t :background "snow2" :foreground "blue")))) + (term-blue-face ((t (:foreground "blue")))) + (term-blue-inv-face ((t (:background "blue")))) + (term-blue-ul-face ((t (:underline t :background "snow2" :foreground "blue")))) + (term-bluebg ((t (:background "blue")))) + (term-bold ((t (:bold t)))) + (term-cyan ((t (:foreground "cyan")))) + (term-cyan-bold-face ((t (:bold t :background "snow2" :foreground "cyan")))) + (term-cyan-face ((t (:foreground "cyan")))) + (term-cyan-inv-face ((t (:background "cyan")))) + (term-cyan-ul-face ((t (:underline t :background "snow2" :foreground "cyan")))) + (term-cyanbg ((t (:background "cyan")))) + (term-default-bg ((t (nil)))) + (term-default-bg-inv ((t (nil)))) + (term-default-bold-face ((t (:bold t :background "snow2" :foreground "darkslategray")))) + (term-default-face ((t (:background "snow2" :foreground "darkslategray")))) + (term-default-fg ((t (nil)))) + (term-default-fg-inv ((t (nil)))) + (term-default-inv-face ((t (:background "darkslategray" :foreground "snow2")))) + (term-default-ul-face ((t (:underline t :background "snow2" :foreground "darkslategray")))) + (term-green ((t (:foreground "green")))) + (term-green-bold-face ((t (:bold t :background "snow2" :foreground "green")))) + (term-green-face ((t (:foreground "green")))) + (term-green-inv-face ((t (:background "green")))) + (term-green-ul-face ((t (:underline t :background "snow2" :foreground "green")))) + (term-greenbg ((t (:background "green")))) + (term-invisible ((t (nil)))) + (term-invisible-inv ((t (nil)))) + (term-magenta ((t (:foreground "magenta")))) + (term-magenta-bold-face ((t (:bold t :background "snow2" :foreground "magenta")))) + (term-magenta-face ((t (:foreground "magenta")))) + (term-magenta-inv-face ((t (:background "magenta")))) + (term-magenta-ul-face ((t (:underline t :background "snow2" :foreground "magenta")))) + (term-magentabg ((t (:background "magenta")))) + (term-red ((t (:foreground "red")))) + (term-red-bold-face ((t (:bold t :background "snow2" :foreground "red")))) + (term-red-face ((t (:foreground "red")))) + (term-red-inv-face ((t (:background "red")))) + (term-red-ul-face ((t (:underline t :background "snow2" :foreground "red")))) + (term-redbg ((t (:background "red")))) + (term-underline ((t (:underline t)))) + (term-white ((t (:foreground "white")))) + (term-white-bold-face ((t (:bold t :background "snow2" :foreground "white")))) + (term-white-face ((t (:foreground "white")))) + (term-white-inv-face ((t (:background "snow2")))) + (term-white-ul-face ((t (:underline t :background "snow2" :foreground "white")))) + (term-whitebg ((t (:background "white")))) + (term-yellow ((t (:foreground "yellow")))) + (term-yellow-bold-face ((t (:bold t :background "snow2" :foreground "yellow")))) + (term-yellow-face ((t (:foreground "yellow")))) + (term-yellow-inv-face ((t (:background "yellow")))) + (term-yellow-ul-face ((t (:underline t :background "snow2" :foreground "yellow")))) + (term-yellowbg ((t (:background "yellow")))) + (text-cursor ((t (:bold t :background "Red3" :foreground "gray80")))) + (toolbar ((t (:bold t :background "Gray80")))) + (underline ((t (:underline t :bold t)))) + (vc-annotate-face-0046FF ((t (nil)))) + (vcursor ((t (:underline t :background "cyan" :foreground "blue")))) + (vertical-divider ((t (:bold t :background "Gray80")))) + (vhdl-font-lock-attribute-face ((t (:foreground "Orchid")))) + (vhdl-font-lock-directive-face ((t (:foreground "CadetBlue")))) + (vhdl-font-lock-enumvalue-face ((t (:foreground "Gold4")))) + (vhdl-font-lock-function-face ((t (:foreground "Orchid4")))) + (vhdl-font-lock-generic-/constant-face ((t (nil)))) + (vhdl-font-lock-prompt-face ((t (:bold t :foreground "Red")))) + (vhdl-font-lock-reserved-words-face ((t (:bold t :foreground "Orange")))) + (vhdl-font-lock-translate-off-face ((t (:background "LightGray")))) + (vhdl-font-lock-type-face ((t (nil)))) + (vhdl-font-lock-variable-face ((t (nil)))) + (vhdl-speedbar-architecture-face ((t (:foreground "Blue")))) + (vhdl-speedbar-architecture-selected-face ((t (:underline t :foreground "Blue")))) + (vhdl-speedbar-configuration-face ((t (:foreground "DarkGoldenrod")))) + (vhdl-speedbar-configuration-selected-face ((t (:underline t :foreground "DarkGoldenrod")))) + (vhdl-speedbar-entity-face ((t (:foreground "ForestGreen")))) + (vhdl-speedbar-entity-selected-face ((t (:underline t :foreground "ForestGreen")))) + (vhdl-speedbar-instantiation-face ((t (:foreground "Brown")))) + (vhdl-speedbar-instantiation-selected-face ((t (:underline t :foreground "Brown")))) + (vhdl-speedbar-package-face ((t (:foreground "Grey50")))) + (vhdl-speedbar-package-selected-face ((t (:underline t :foreground "Grey50")))) + (vhdl-speedbar-subprogram-face ((t (nil)))) + (viper-minibuffer-emacs-face ((t (:background "darkseagreen2" :foreground "Black")))) + (viper-minibuffer-insert-face ((t (:background "pink" :foreground "Black")))) + (viper-minibuffer-vi-face ((t (:background "grey" :foreground "DarkGreen")))) + (viper-replace-overlay-face ((t (:background "darkseagreen2" :foreground "Black")))) + (viper-search-face ((t (:background "khaki" :foreground "Black")))) + (vm-xface ((t (:background "white" :foreground "black")))) + (vmpc-pre-sig-face ((t (:foreground "forestgreen")))) + (vmpc-sig-face ((t (:foreground "steelblue")))) + (vvb-face ((t (nil)))) + (w3m-anchor-face ((t (:bold t :foreground "DodgerBlue1")))) + (w3m-arrived-anchor-face ((t (:bold t :foreground "DodgerBlue3")))) + (w3m-header-line-location-content-face ((t (:background "dark olive green" :foreground "wheat")))) + (w3m-header-line-location-title-face ((t (:background "dark olive green" :foreground "beige")))) + (white ((t (:foreground "white")))) + (widget ((t (nil)))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:bold t :foreground "red")))) + (widget-documentation-face ((t (:bold t :foreground "dark green")))) + (widget-field-face ((t (:bold t :background "gray85")))) + (widget-inactive-face ((t (:bold t :foreground "dim gray")))) + (widget-single-line-field-face ((t (:background "gray85")))) + (woman-bold-face ((t (:bold t)))) + (woman-italic-face ((t (:foreground "beige")))) + (woman-unknown-face ((t (:foreground "LightSalmon")))) + (x-face ((t (:bold t :background "white" :foreground "black")))) + (x-symbol-adobe-fontspecific-face ((t (nil)))) + (x-symbol-face ((t (nil)))) + (x-symbol-heading-face ((t (:bold t)))) + (x-symbol-info-face ((t (nil)))) + (x-symbol-invisible-face ((t (nil)))) + (x-symbol-revealed-face ((t (nil)))) + (xrdb-option-name-face ((t (:foreground "red")))) + (xref-keyword-face ((t (:foreground "blue")))) + (xref-list-default-face ((t (nil)))) + (xref-list-pilot-face ((t (:foreground "navy")))) + (xref-list-symbol-face ((t (:foreground "navy")))) + (yellow ((t (:bold t :foreground "yellow")))) + (zmacs-region ((t (:bold t :background "gray65"))))))) + +(defun color-theme-mistyday () + "Color theme by K.C. Hari Kumar, created 2001-06-13. +Black on mistyrose. Includes CUA, calendar, diary, font-latex and +font-lock. Uses backgrounds on some font-lock faces." + (interactive) + (color-theme-install + '(color-theme-mistyday + ((background-color . "mistyrose") + (background-mode . light) + (border-color . "black") + (cursor-color . "deep pink") + (foreground-color . "Black") + (mouse-color . "black")) + ((goto-address-mail-face . italic) + (goto-address-mail-mouse-face . secondary-selection) + (goto-address-url-face . bold) + (goto-address-url-mouse-face . highlight) + (list-matching-lines-face . bold) + (paren-match-face . paren-face-match) + (paren-mismatch-face . paren-face-mismatch) + (paren-no-match-face . paren-face-no-match)) + (default ((t (nil)))) + (CUA-global-mark-face ((t (:background "cyan" :foreground "black")))) + (CUA-rectangle-face ((t (:background "maroon" :foreground "white")))) + (CUA-rectangle-noselect-face ((t (:background "dimgray" :foreground "white")))) + (bold ((t (:bold t)))) + (bold-italic ((t (:italic t :bold t)))) + (calendar-today-face ((t (:underline t :background "Spring Green" :foreground "Brown")))) + (custom-button-face ((t (:background "dark slate grey" :foreground "azure")))) + (custom-documentation-face ((t (:background "white" :foreground "blue")))) + (diary-face ((t (:background "navy" :foreground "yellow")))) + (font-latex-bold-face ((t (:bold t :foreground "DarkOliveGreen")))) + (font-latex-italic-face ((t (:italic t :foreground "DarkOliveGreen")))) + (font-latex-math-face ((t (:foreground "navy")))) + (font-latex-sedate-face ((t (:foreground "DimGray")))) + (font-latex-string-face ((t (nil)))) + (font-latex-warning-face ((t (nil)))) + (font-lock-builtin-face ((t (:background "DarkTurquoise" :foreground "Navy")))) + (font-lock-comment-face ((t (:italic t :foreground "royal blue")))) + (font-lock-constant-face ((t (:background "pale green" :foreground "dark slate blue")))) + (font-lock-doc-string-face ((t (:background "medium aquamarine" :foreground "deep pink")))) + (font-lock-function-name-face ((t (:background "SpringGreen" :foreground "MidnightBlue")))) + (font-lock-keyword-face ((t (:foreground "dark magenta")))) + (font-lock-preprocessor-face ((t (:background "pale green" :foreground "dark slate blue")))) + (font-lock-reference-face ((t (:background "DarkTurquoise" :foreground "Navy")))) + (font-lock-string-face ((t (:background "medium aquamarine" :foreground "deep pink")))) + (font-lock-type-face ((t (:background "steel blue" :foreground "khaki")))) + (font-lock-variable-name-face ((t (:background "thistle" :foreground "orange red")))) + (font-lock-warning-face ((t (:background "LemonChiffon" :foreground "Red")))) + (highlight ((t (:background "dark slate grey" :foreground "light cyan")))) + (holiday-face ((t (:background "orangered" :foreground "lightyellow")))) + (ido-first-match-face ((t (:bold t)))) + (ido-only-match-face ((t (:foreground "ForestGreen")))) + (ido-subdir-face ((t (:foreground "red")))) + (italic ((t (:italic t)))) + (isearch ((t (:background "sienna" :foreground "light cyan")))) + (modeline ((t (:background "Royalblue4" :foreground "lawn green")))) + (modeline-buffer-id ((t (:background "Royalblue4" :foreground "lawn green")))) + (modeline-mousable ((t (:background "Royalblue4" :foreground "lawn green")))) + (modeline-mousable-minor-mode ((t (:background "Royalblue4" :foreground "lawn green")))) + (paren-face-match ((t (:background "turquoise")))) + (paren-face-mismatch ((t (:background "purple" :foreground "white")))) + (paren-face-no-match ((t (:background "yellow" :foreground "black")))) + (primary-selection ((t (:background "sienna" :foreground "light cyan")))) + (region ((t (:background "sienna" :foreground "light cyan")))) + (secondary-selection ((t (:background "forest green" :foreground "white smoke")))) + (underline ((t (:underline t)))) + (zmacs-region ((t (:background "sienna" :foreground "light cyan"))))))) + +(defun color-theme-marine () + "Color theme by Girish Bharadwaj, created 2001-06-22. +Matches the MS Windows Marine color theme. +Includes custom, font-lock, paren, widget." + (interactive) + (color-theme-install + '(color-theme-marine + ((background-color . "#9dcec9") + (background-mode . light) + (border-color . "black") + (cursor-color . "yellow") + (foreground-color . "darkslategray") + (mouse-color . "sienna1")) + ((buffers-tab-face . buffers-tab) + (gnus-mouse-face . highlight) + (smiley-mouse-face . highlight)) + (default ((t (nil)))) + (blue ((t (:foreground "blue")))) + (bold ((t (:bold t)))) + (bold-italic ((t (nil)))) + (border-glyph ((t (nil)))) + (buffers-tab ((t (:background "#9dcec9" :foreground "darkslategray")))) + (custom-button-face ((t (nil)))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-comment-face ((t (:background "gray85")))) + (custom-comment-tag-face ((t (:foreground "blue4")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face ((t (:underline t :foreground "blue")))) + (custom-group-tag-face-1 ((t (:underline t :foreground "deeppink")))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "darkgreen")))) + (custom-variable-button-face ((t (:underline t :bold t)))) + (custom-variable-tag-face ((t (:underline t :foreground "blue")))) + (display-time-mail-balloon-enhance-face ((t (:background "orange")))) + (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue")))) + (display-time-time-balloon-face ((t (:foreground "red")))) + (font-lock-builtin-face ((t (:foreground "SteelBlue")))) + (font-lock-comment-face ((t (:foreground "cadetblue")))) + (font-lock-constant-face ((t (:foreground "OrangeRed")))) + (font-lock-doc-string-face ((t (:foreground "Salmon")))) + (font-lock-function-name-face ((t (:bold t :foreground "NavyBlue")))) + (font-lock-keyword-face ((t (:bold t :foreground "purple")))) + (font-lock-preprocessor-face ((t (:foreground "SteelBlue")))) + (font-lock-reference-face ((t (:foreground "SteelBlue")))) + (font-lock-string-face ((t (:foreground "royalblue")))) + (font-lock-type-face ((t (:foreground "darkmagenta")))) + (font-lock-variable-name-face ((t (:foreground "violetred")))) + (font-lock-warning-face ((t (:bold t :foreground "red")))) + (green ((t (:foreground "green")))) + (gui-button-face ((t (:background "grey75" :foreground "black")))) + (gui-element ((t (:background "#489088" :foreground "black")))) + (highlight ((t (:background "darkolivegreen" :foreground "white")))) + (isearch ((t (:background "blue")))) + (isearch-secondary ((t (:foreground "red3")))) + (italic ((t (nil)))) + (left-margin ((t (nil)))) + (list-mode-item-selected ((t (:background "gray68" :foreground "darkslategray")))) + (modeline ((t (:background "black" :foreground "white")))) + (modeline-buffer-id ((t (:background "black" :foreground "white")))) + (modeline-mousable ((t (:background "black" :foreground "white")))) + (modeline-mousable-minor-mode ((t (:background "black" :foreground "white")))) + (paren-blink-off ((t (:foreground "black")))) + (paren-match ((t (:background "darkolivegreen" :foreground "white")))) + (paren-mismatch ((t (:background "#9dcec9" :foreground "darkslategray")))) + (pointer ((t (nil)))) + (primary-selection ((t (:background "blue")))) + (red ((t (:foreground "red")))) + (region ((t (:background "blue")))) + (right-margin ((t (nil)))) + (secondary-selection ((t (:background "darkslateblue" :foreground "white")))) + (template-message-face ((t (:bold t)))) + (text-cursor ((t (:background "yellow" :foreground "#9dcec9")))) + (toolbar ((t (nil)))) + (underline ((t (:underline t)))) + (vertical-divider ((t (nil)))) + (widget ((t (nil)))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "forestgreen")))) + (widget-field-face ((t (:background "gray")))) + (widget-inactive-face ((t (:foreground "dimgray")))) + (widget-single-line-field-face ((t (:background "dim gray" :foreground "white")))) + (yellow ((t (:foreground "yellow")))) + (zmacs-region ((t (:background "blue"))))))) + +(defun color-theme-blue-erc () + "Color theme for erc faces only. +This is intended for other color themes to use (eg. `color-theme-gnome2')." + (color-theme-install + '(color-theme-blue-erc + nil + (erc-action-face ((t (nil)))) + (erc-bold-face ((t (:bold t)))) + (erc-current-nick-face ((t (:bold t :foreground "yellow")))) + (erc-default-face ((t (nil)))) + (erc-direct-msg-face ((t (:foreground "pale green")))) + (erc-error-face ((t (:bold t :foreground "IndianRed")))) + (erc-highlight-face ((t (:bold t :foreground "pale green")))) + (erc-input-face ((t (:foreground "light blue")))) + (erc-inverse-face ((t (:background "steel blue")))) + (erc-keyword-face ((t (:foreground "orange" :bold t)))) + (erc-notice-face ((t (:foreground "light salmon")))) + (erc-notice-face ((t (:foreground "MediumAquamarine")))) + (erc-pal-face ((t (:foreground "pale green")))) + (erc-prompt-face ((t (:foreground "light blue" :bold t)))) + (fg:erc-color-face0 ((t (:foreground "white")))) + (fg:erc-color-face1 ((t (:foreground "beige")))) + (fg:erc-color-face2 ((t (:foreground "lemon chiffon")))) + (fg:erc-color-face3 ((t (:foreground "light cyan")))) + (fg:erc-color-face4 ((t (:foreground "powder blue")))) + (fg:erc-color-face5 ((t (:foreground "sky blue")))) + (fg:erc-color-face6 ((t (:foreground "dark sea green")))) + (fg:erc-color-face7 ((t (:foreground "pale green")))) + (fg:erc-color-face8 ((t (:foreground "medium spring green")))) + (fg:erc-color-face9 ((t (:foreground "khaki")))) + (fg:erc-color-face10 ((t (:foreground "pale goldenrod")))) + (fg:erc-color-face11 ((t (:foreground "light goldenrod yellow")))) + (fg:erc-color-face12 ((t (:foreground "light yellow")))) + (fg:erc-color-face13 ((t (:foreground "yellow")))) + (fg:erc-color-face14 ((t (:foreground "light goldenrod")))) + (fg:erc-color-face15 ((t (:foreground "lime green")))) + (bg:erc-color-face0 ((t (nil)))) + (bg:erc-color-face1 ((t (nil)))) + (bg:erc-color-face2 ((t (nil)))) + (bg:erc-color-face3 ((t (nil)))) + (bg:erc-color-face4 ((t (nil)))) + (bg:erc-color-face5 ((t (nil)))) + (bg:erc-color-face6 ((t (nil)))) + (bg:erc-color-face7 ((t (nil)))) + (bg:erc-color-face8 ((t (nil)))) + (bg:erc-color-face9 ((t (nil)))) + (bg:erc-color-face10 ((t (nil)))) + (bg:erc-color-face11 ((t (nil)))) + (bg:erc-color-face12 ((t (nil)))) + (bg:erc-color-face13 ((t (nil)))) + (bg:erc-color-face14 ((t (nil)))) + (bg:erc-color-face15 ((t (nil))))))) + +(defun color-theme-dark-erc () + "Color theme for erc faces only. +This is intended for other color themes to use (eg. `color-theme-late-night')." + (interactive) + (color-theme-install + '(color-theme-dark-erc + nil + (erc-action-face ((t (nil)))) + (erc-bold-face ((t (:bold t)))) + (erc-current-nick-face ((t (:bold t)))) + (erc-default-face ((t (nil)))) + (erc-direct-msg-face ((t (nil)))) + (erc-error-face ((t (:bold t :foreground "IndianRed")))) + (erc-highlight-face ((t (:bold t :foreground "pale green")))) + (erc-input-face ((t (:foreground "#555")))) + (erc-inverse-face ((t (:background "steel blue")))) + (erc-keyword-face ((t (:foreground "#999" :bold t)))) + (erc-nick-msg-face ((t (:foreground "#888")))) + (erc-notice-face ((t (:foreground "#444")))) + (erc-pal-face ((t (:foreground "#888")))) + (erc-prompt-face ((t (:foreground "#777" :bold t)))) + (erc-timestamp-face ((t (:foreground "#777" :bold t)))) + (fg:erc-color-face0 ((t (:foreground "white")))) + (fg:erc-color-face1 ((t (:foreground "beige")))) + (fg:erc-color-face2 ((t (:foreground "lemon chiffon")))) + (fg:erc-color-face3 ((t (:foreground "light cyan")))) + (fg:erc-color-face4 ((t (:foreground "powder blue")))) + (fg:erc-color-face5 ((t (:foreground "sky blue")))) + (fg:erc-color-face6 ((t (:foreground "dark sea green")))) + (fg:erc-color-face7 ((t (:foreground "pale green")))) + (fg:erc-color-face8 ((t (:foreground "medium spring green")))) + (fg:erc-color-face9 ((t (:foreground "khaki")))) + (fg:erc-color-face10 ((t (:foreground "pale goldenrod")))) + (fg:erc-color-face11 ((t (:foreground "light goldenrod yellow")))) + (fg:erc-color-face12 ((t (:foreground "light yellow")))) + (fg:erc-color-face13 ((t (:foreground "yellow")))) + (fg:erc-color-face14 ((t (:foreground "light goldenrod")))) + (fg:erc-color-face15 ((t (:foreground "lime green")))) + (bg:erc-color-face0 ((t (nil)))) + (bg:erc-color-face1 ((t (nil)))) + (bg:erc-color-face2 ((t (nil)))) + (bg:erc-color-face3 ((t (nil)))) + (bg:erc-color-face4 ((t (nil)))) + (bg:erc-color-face5 ((t (nil)))) + (bg:erc-color-face6 ((t (nil)))) + (bg:erc-color-face7 ((t (nil)))) + (bg:erc-color-face8 ((t (nil)))) + (bg:erc-color-face9 ((t (nil)))) + (bg:erc-color-face10 ((t (nil)))) + (bg:erc-color-face11 ((t (nil)))) + (bg:erc-color-face12 ((t (nil)))) + (bg:erc-color-face13 ((t (nil)))) + (bg:erc-color-face14 ((t (nil)))) + (bg:erc-color-face15 ((t (nil))))))) + +(defun color-theme-subtle-blue () + "Color theme by Chris McMahan, created 2001-09-06. +Light blue background. Includes bbdb, comint, cperl, custom, cvs, +diary, dired, display-time, ecb, ediff, erc, eshell, font-lock, +gnus, html-helper, info, isearch, jde, message, paren, semantic, +sgml, speedbar, term, vhdl, viper, vm, widget, woman, xref, xxml." + (interactive) + (color-theme-install + '(color-theme-subtle-blue + ((background-color . "#65889C") + (background-mode . dark) + (background-toolbar-color . "#cf3ccf3ccf3c") + (border-color . "black") + (bottom-toolbar-shadow-color . "#79e77df779e7") + (cursor-color . "white") + (foreground-color . "#eedfcc") + (mouse-color . "Grey") + (top-toolbar-shadow-color . "#fffffbeeffff") + (viper-saved-cursor-color-in-replace-mode . "Red3")) + ((blank-space-face . blank-space-face) + (blank-tab-face . blank-tab-face) + (ecb-source-in-directories-buffer-face . ecb-sources-face) + (gnus-mouse-face . highlight) + (list-matching-lines-face . bold) + (view-highlight-face . highlight) + (vm-highlight-url-face . my-url-face) + (vm-highlighted-header-face . my-url-face) + (vm-mime-button-face . gui-button-face) + (vm-summary-highlight-face . my-summary-highlight-face)) + (default ((t (nil)))) + (bbdb-company ((t (:italic t)))) + (bbdb-field-name ((t (:bold t :foreground "MediumAquamarine")))) + (bbdb-field-value ((t (nil)))) + (bbdb-name ((t (:underline t)))) + (blank-space-face ((t (:background "gray80")))) + (blank-tab-face ((t (:background "LightBlue" :foreground "DarkSlateGray")))) + (blue ((t (:foreground "blue")))) + (bold ((t (:bold t :foreground "MediumAquamarine")))) + (bold-italic ((t (:italic t :bold t :foreground "SkyBlue")))) + (border ((t (:background "black")))) + (border-glyph ((t (nil)))) + (calendar-today-face ((t (:underline t)))) + (comint-highlight-input ((t (:bold t)))) + (comint-highlight-prompt ((t (:foreground "cyan")))) + (comint-input-face ((t (:foreground "deepskyblue")))) + (cperl-array-face ((t (:bold t :foreground "Yellow")))) + (cperl-hash-face ((t (:italic t :bold t :foreground "White")))) + (cperl-nonoverridable-face ((t (:foreground "SkyBlue")))) + (cursor ((t (:background "white")))) + (custom-button-face ((t (:underline t :bold t :foreground "MediumAquaMarine")))) + (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black")))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-comment-face ((t (:background "dim gray")))) + (custom-comment-tag-face ((t (:foreground "gray80")))) + (custom-documentation-face ((t (:foreground "Grey")))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face ((t (:bold t :foreground "MediumAquamarine")))) + (custom-group-tag-face-1 ((t (:foreground "MediumAquaMarine")))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "yellow")))) + (custom-variable-button-face ((t (:underline t :bold t)))) + (custom-variable-tag-face ((t (:bold t :foreground "Aquamarine")))) + (cvs-filename-face ((t (:foreground "blue4")))) + (cvs-handled-face ((t (:foreground "pink")))) + (cvs-header-face ((t (:bold t :foreground "blue4")))) + (cvs-marked-face ((t (:bold t :foreground "green3")))) + (cvs-msg-face ((t (:italic t)))) + (cvs-need-action-face ((t (:foreground "orange")))) + (cvs-unknown-face ((t (:foreground "red")))) + (diary-face ((t (:bold t :foreground "cyan")))) + (dired-face-boring ((t (:foreground "Gray65")))) + (dired-face-directory ((t (:bold t :foreground "sky blue")))) + (dired-face-executable ((t (:foreground "MediumAquaMarine")))) + (dired-face-flagged ((t (:foreground "Cyan")))) + (dired-face-marked ((t (:foreground "cyan")))) + (dired-face-permissions ((t (:foreground "aquamarine")))) + (dired-face-setuid ((t (:foreground "LightSalmon")))) + (dired-face-socket ((t (:foreground "LightBlue")))) + (dired-face-symlink ((t (:foreground "gray95")))) + (display-time-mail-balloon-enhance-face ((t (:background "orange")))) + (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue")))) + (display-time-time-balloon-face ((t (:foreground "red")))) + (ecb-sources-face ((t (:foreground "LightBlue1")))) + (ediff-current-diff-face-A ((t (:background "pale green" :foreground "firebrick")))) + (ediff-current-diff-face-Ancestor ((t (:background "VioletRed" :foreground "Black")))) + (ediff-current-diff-face-B ((t (:background "Yellow" :foreground "DarkOrchid")))) + (ediff-current-diff-face-C ((t (:background "indianred" :foreground "white")))) + (ediff-even-diff-face-A ((t (:background "light gray" :foreground "Black")))) + (ediff-even-diff-face-Ancestor ((t (:background "Gray" :foreground "White")))) + (ediff-even-diff-face-B ((t (:background "Gray" :foreground "White")))) + (ediff-even-diff-face-C ((t (:background "light gray" :foreground "Black")))) + (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy")))) + (ediff-fine-diff-face-Ancestor ((t (:background "Green" :foreground "Black")))) + (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Black")))) + (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Black")))) + (ediff-odd-diff-face-A ((t (:background "Gray" :foreground "White")))) + (ediff-odd-diff-face-Ancestor ((t (:background "light gray" :foreground "Black")))) + (ediff-odd-diff-face-B ((t (:background "light gray" :foreground "Black")))) + (ediff-odd-diff-face-C ((t (:background "Gray" :foreground "White")))) + (erc-action-face ((t (:bold t)))) + (erc-bold-face ((t (:bold t)))) + (erc-default-face ((t (nil)))) + (erc-direct-msg-face ((t (:foreground "LightSalmon")))) + (erc-error-face ((t (:bold t :foreground "yellow")))) + (erc-input-face ((t (:foreground "Beige")))) + (erc-inverse-face ((t (:background "wheat" :foreground "darkslategrey")))) + (erc-notice-face ((t (:foreground "MediumAquamarine")))) + (erc-pal-face ((t (:foreground "PaleGreen")))) + (erc-prompt-face ((t (:foreground "MediumAquamarine")))) + (erc-underline-face ((t (:underline t)))) + (eshell-ls-archive-face ((t (:bold t :foreground "wheat")))) + (eshell-ls-backup-face ((t (:foreground "Grey")))) + (eshell-ls-clutter-face ((t (:bold t :foreground "wheat")))) + (eshell-ls-directory-face ((t (:bold t :foreground "Yellow")))) + (eshell-ls-executable-face ((t (:bold t :foreground "wheat")))) + (eshell-ls-missing-face ((t (:bold t :foreground "wheat")))) + (eshell-ls-picture-face ((t (:foreground "wheat")))) + (eshell-ls-product-face ((t (:foreground "wheat")))) + (eshell-ls-readonly-face ((t (:foreground "wheat")))) + (eshell-ls-special-face ((t (:bold t :foreground "wheat")))) + (eshell-ls-symlink-face ((t (:bold t :foreground "White")))) + (eshell-ls-text-face ((t (:foreground "wheat")))) + (eshell-ls-todo-face ((t (:foreground "wheat")))) + (eshell-ls-unreadable-face ((t (:foreground "wheat3")))) + (eshell-prompt-face ((t (:bold t :foreground "PaleGreen")))) + (eshell-test-failed-face ((t (:bold t :foreground "OrangeRed")))) + (eshell-test-ok-face ((t (:bold t :foreground "Green")))) + (excerpt ((t (:italic t)))) + (ff-paths-non-existant-file-face ((t (:bold t :foreground "NavyBlue")))) + (flyspell-duplicate-face ((t (:underline t :bold t :foreground "Gold3")))) + (flyspell-incorrect-face ((t (:underline t :bold t :foreground "OrangeRed")))) + (font-latex-italic-face ((t (nil)))) + (font-latex-math-face ((t (nil)))) + (font-latex-sedate-face ((t (:foreground "Gray85")))) + (font-latex-string-face ((t (:foreground "orange")))) + (font-latex-warning-face ((t (:foreground "gold")))) + (font-lock-builtin-face ((t (:foreground "PaleGreen")))) + (font-lock-comment-face ((t (:italic t :foreground "Wheat3")))) + (font-lock-constant-face ((t (:foreground "LightBlue")))) + (font-lock-doc-face ((t (:bold t :foreground "DarkSeaGreen")))) + (font-lock-doc-string-face ((t (:bold t :foreground "DarkSeaGreen")))) + (font-lock-exit-face ((t (:foreground "green")))) + (font-lock-function-name-face ((t (:italic t :bold t :foreground "cyan")))) + (font-lock-keyword-face ((t (:bold t :foreground "LightBlue")))) + (font-lock-preprocessor-face ((t (:foreground "blue3")))) + (font-lock-reference-face ((t (:foreground "PaleGreen")))) + (font-lock-string-face ((t (:italic t :foreground "MediumAquamarine")))) + (font-lock-type-face ((t (:bold t :foreground "LightBlue")))) + (font-lock-variable-name-face ((t (:italic t :bold t :foreground "LightBlue")))) + (font-lock-warning-face ((t (:bold t :foreground "LightSalmon")))) + (fringe ((t (:background "darkslategrey")))) + (gnus-cite-attribution-face ((t (:italic t :bold t)))) + (gnus-cite-face-1 ((t (:foreground "LightBlue")))) + (gnus-cite-face-10 ((t (:foreground "LightBlue")))) + (gnus-cite-face-11 ((t (:foreground "LightBlue")))) + (gnus-cite-face-2 ((t (:foreground "LightBlue")))) + (gnus-cite-face-3 ((t (:foreground "LightBlue")))) + (gnus-cite-face-4 ((t (:foreground "LightBlue")))) + (gnus-cite-face-5 ((t (:foreground "LightBlue")))) + (gnus-cite-face-6 ((t (:foreground "LightBlue")))) + (gnus-cite-face-7 ((t (:foreground "LightBlue")))) + (gnus-cite-face-8 ((t (:foreground "LightBlue")))) + (gnus-cite-face-9 ((t (:foreground "LightBlue")))) + (gnus-emphasis-bold ((t (:bold t)))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) + (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) + (gnus-emphasis-italic ((t (:italic t)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) + (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t)))) + (gnus-emphasis-underline-italic ((t (:underline t :italic t)))) + (gnus-filterhist-face-1 ((t (nil)))) + (gnus-group-mail-1-empty-face ((t (:foreground "gray80")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "light cyan")))) + (gnus-group-mail-2-empty-face ((t (:foreground "gray80")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "turquoise")))) + (gnus-group-mail-3-empty-face ((t (:foreground "gray80")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "LightBlue")))) + (gnus-group-mail-low-empty-face ((t (:foreground "gray80")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "LightBlue")))) + (gnus-group-news-1-empty-face ((t (:foreground "gray80")))) + (gnus-group-news-1-face ((t (:bold t :foreground "green yellow")))) + (gnus-group-news-2-empty-face ((t (:foreground "gray80")))) + (gnus-group-news-2-face ((t (:bold t :foreground "Aquamarine")))) + (gnus-group-news-3-empty-face ((t (:foreground "gray80")))) + (gnus-group-news-3-face ((t (:bold t :foreground "LightBlue")))) + (gnus-group-news-4-empty-face ((t (:foreground "gray80")))) + (gnus-group-news-4-face ((t (:bold t :foreground "Wheat")))) + (gnus-group-news-5-empty-face ((t (:foreground "gray80")))) + (gnus-group-news-5-face ((t (:bold t :foreground "MediumAquamarine")))) + (gnus-group-news-6-empty-face ((t (:foreground "gray80")))) + (gnus-group-news-6-face ((t (:bold t :foreground "MediumAquamarine")))) + (gnus-group-news-low-empty-face ((t (:foreground "gray80")))) + (gnus-group-news-low-face ((t (:bold t :foreground "yellow green")))) + (gnus-header-content-face ((t (:italic t :foreground "LightSkyBlue3")))) + (gnus-header-from-face ((t (:bold t :foreground "light cyan")))) + (gnus-header-name-face ((t (:bold t :foreground "LightBlue")))) + (gnus-header-newsgroups-face ((t (:italic t :bold t :foreground "LightSkyBlue3")))) + (gnus-header-subject-face ((t (:bold t :foreground "light cyan")))) + (gnus-picons-face ((t (:background "white" :foreground "black")))) + (gnus-picons-xbm-face ((t (:background "white" :foreground "black")))) + (gnus-signature-face ((t (:italic t :foreground "LightBlue")))) + (gnus-splash ((t (:foreground "Brown")))) + (gnus-splash-face ((t (:foreground "LightBlue")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "gray80")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "LightBlue")))) + (gnus-summary-high-read-face ((t (:bold t :foreground "gray80")))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "burlywood")))) + (gnus-summary-high-unread-face ((t (:italic t :bold t :foreground "wheat")))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "LightBlue")))) + (gnus-summary-low-read-face ((t (:italic t :foreground "light sea green")))) + (gnus-summary-low-ticked-face ((t (:italic t :bold t :foreground "LightBlue")))) + (gnus-summary-low-unread-face ((t (:italic t :foreground "light sea green")))) + (gnus-summary-normal-ancient-face ((t (:foreground "gray80")))) + (gnus-summary-normal-read-face ((t (:foreground "gray80")))) + (gnus-summary-normal-ticked-face ((t (:bold t :foreground "sandy brown")))) + (gnus-summary-normal-unread-face ((t (:bold t :foreground "wheat")))) + (gnus-summary-selected-face ((t (:underline t)))) + (gnus-x-face ((t (:background "white" :foreground "black")))) + (green ((t (:foreground "green")))) + (gui-button-face ((t (:background "cyan" :foreground "#65889C")))) + (gui-element ((t (:background "Gray")))) + (header-line ((t (:background "grey20" :foreground "grey90")))) + (highlight ((t (:background "PaleGreen" :foreground "DarkGreen")))) + (highlight-changes-delete-face ((t (:underline t :foreground "red")))) + (highlight-changes-face ((t (:foreground "red")))) + (highline-face ((t (:background "SeaGreen")))) + (holiday-face ((t (:background "DimGray")))) + (html-helper-bold-face ((t (:foreground "DarkRed")))) + (html-helper-italic-face ((t (:foreground "DarkBlue")))) + (html-helper-underline-face ((t (:underline t :foreground "Black")))) + (html-tag-face ((t (:foreground "Blue")))) + (info-menu-5 ((t (:underline t)))) + (info-node ((t (:underline t :italic t :bold t :foreground "light blue")))) + (info-xref ((t (:bold t :foreground "light blue")))) + (isearch ((t (:background "Aquamarine" :foreground "SteelBlue")))) + (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) + (isearch-secondary ((t (:foreground "red3")))) + (italic ((t (:italic t)))) + (jde-bug-breakpoint-cursor ((t (:background "brown" :foreground "cyan")))) + (jde-bug-breakpoint-marker ((t (:background "yellow" :foreground "red")))) + (jde-java-font-lock-api-face ((t (:foreground "LightBlue")))) + (jde-java-font-lock-bold-face ((t (:bold t)))) + (jde-java-font-lock-code-face ((t (nil)))) + (jde-java-font-lock-constant-face ((t (:foreground "LightBlue")))) + (jde-java-font-lock-doc-tag-face ((t (:foreground "LightBlue")))) + (jde-java-font-lock-italic-face ((t (:italic t)))) + (jde-java-font-lock-link-face ((t (:underline t :foreground "LightBlue")))) + (jde-java-font-lock-modifier-face ((t (:foreground "LightBlue")))) + (jde-java-font-lock-number-face ((t (:foreground "LightBlue")))) + (jde-java-font-lock-package-face ((t (:foreground "LightBlue")))) + (jde-java-font-lock-pre-face ((t (nil)))) + (jde-java-font-lock-underline-face ((t (:underline t)))) + (lazy-highlight-face ((t (:bold t :foreground "dark magenta")))) + (left-margin ((t (nil)))) + (linemenu-face ((t (:background "gray30")))) + (list-mode-item-selected ((t (nil)))) + (makefile-space-face ((t (:background "hotpink")))) + (menu ((t (:background "wheat" :foreground "gray30")))) + (message-cited-text-face ((t (:foreground "White")))) + (message-header-cc-face ((t (:bold t :foreground "light cyan")))) + (message-header-name-face ((t (:foreground "LightBlue")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "LightSkyBlue3")))) + (message-header-other-face ((t (:foreground "LightSkyBlue3")))) + (message-header-subject-face ((t (:bold t :foreground "light cyan")))) + (message-header-to-face ((t (:bold t :foreground "light cyan")))) + (message-header-xheader-face ((t (:foreground "LightBlue")))) + (message-mml-face ((t (:bold t :foreground "LightBlue")))) + (message-separator-face ((t (:foreground "LightBlue")))) + (mmm-default-submode-face ((t (:background "#c0c0c5")))) + (modeline ((t (:background "#4f657d" :foreground "gray80")))) + (modeline-buffer-id ((t (:background "#4f657d" :foreground "gray80")))) + (modeline-mousable ((t (:background "#4f657d" :foreground "gray80")))) + (modeline-mousable-minor-mode ((t (:background "#4f657d" :foreground "gray80")))) + (mouse ((t (:background "Grey")))) + (my-summary-highlight-face ((t (:foreground "White")))) + (my-url-face ((t (:foreground "PaleTurquoise")))) + (nil ((t (nil)))) + (paren-blink-off ((t (:foreground "gray")))) + (paren-face-match ((t (:background "turquoise")))) + (paren-face-mismatch ((t (:background "purple" :foreground "white")))) + (paren-face-no-match ((t (:background "yellow" :foreground "black")))) + (paren-match ((t (:background "darkseagreen2")))) + (paren-mismatch ((t (:background "DeepPink" :foreground "black")))) + (paren-mismatch-face ((t (:bold t)))) + (paren-no-match-face ((t (:bold t)))) + (pointer ((t (nil)))) + (primary-selection ((t (:background "gray65")))) + (red ((t (:foreground "red")))) + (region ((t (:background "CadetBlue" :foreground "gray80")))) + (right-margin ((t (nil)))) + (scroll-bar ((t (nil)))) + (secondary-selection ((t (:background "LightBlue" :foreground "#4f657d")))) + (semantic-dirty-token-face ((t (:background "gray10")))) + (semantic-intangible-face ((t (:foreground "gray25")))) + (semantic-read-only-face ((t (:background "gray25")))) + (senator-intangible-face ((t (:foreground "gray75")))) + (senator-momentary-highlight-face ((t (:background "gray80")))) + (senator-read-only-face ((t (:background "#664444")))) + (sgml-comment-face ((t (:foreground "dark turquoise")))) + (sgml-doctype-face ((t (:foreground "red")))) + (sgml-end-tag-face ((t (:foreground "blue")))) + (sgml-entity-face ((t (:foreground "magenta")))) + (sgml-ignored-face ((t (:background "gray60" :foreground "gray40")))) + (sgml-ms-end-face ((t (:foreground "green")))) + (sgml-ms-start-face ((t (:foreground "yellow")))) + (sgml-pi-face ((t (:foreground "lime green")))) + (sgml-sgml-face ((t (:foreground "brown")))) + (sgml-short-ref-face ((t (:foreground "deep sky blue")))) + (sgml-start-tag-face ((t (:foreground "dark green")))) + (shell-option-face ((t (:foreground "blue")))) + (shell-output-2-face ((t (:foreground "darkseagreen")))) + (shell-output-3-face ((t (:foreground "slategray")))) + (shell-output-face ((t (:foreground "palegreen")))) + (shell-prompt-face ((t (:foreground "red")))) + (show-paren-match-face ((t (:background "Aquamarine" :foreground "steel blue")))) + (show-paren-mismatch-face ((t (:bold t :background "IndianRed" :foreground "White")))) + (speedbar-button-face ((t (:bold t :foreground "LightBlue")))) + (speedbar-directory-face ((t (:bold t :foreground "yellow")))) + (speedbar-file-face ((t (:bold t :foreground "wheat")))) + (speedbar-highlight-face ((t (:background "sea green")))) + (speedbar-selected-face ((t (:underline t)))) + (speedbar-tag-face ((t (:foreground "LightBlue")))) + (swbuff-current-buffer-face ((t (:bold t :foreground "red")))) + (template-message-face ((t (:bold t)))) + (term-black ((t (:foreground "black")))) + (term-blackbg ((t (:background "black")))) + (term-blue ((t (:foreground "blue")))) + (term-bluebg ((t (:background "blue")))) + (term-bold ((t (:bold t)))) + (term-cyan ((t (:foreground "cyan")))) + (term-cyanbg ((t (:background "cyan")))) + (term-default-bg ((t (nil)))) + (term-default-bg-inv ((t (nil)))) + (term-default-fg ((t (nil)))) + (term-default-fg-inv ((t (nil)))) + (term-green ((t (:foreground "green")))) + (term-greenbg ((t (:background "green")))) + (term-invisible ((t (nil)))) + (term-invisible-inv ((t (nil)))) + (term-magenta ((t (:foreground "magenta")))) + (term-magentabg ((t (:background "magenta")))) + (term-red ((t (:foreground "red")))) + (term-redbg ((t (:background "red")))) + (term-underline ((t (:underline t)))) + (term-white ((t (:foreground "white")))) + (term-whitebg ((t (:background "white")))) + (term-yellow ((t (:foreground "yellow")))) + (term-yellowbg ((t (:background "yellow")))) + (text-cursor ((t (:background "Red3" :foreground "white")))) + (tool-bar ((t (:background "grey75" :foreground "black")))) + (toolbar ((t (:background "Gray")))) + (trailing-whitespace ((t (:background "red")))) + (underline ((t (:underline t)))) + (variable-pitch ((t (nil)))) + (vc-annotate-face-0046FF ((t (:background "black" :foreground "wheat")))) + (vcursor ((t (:underline t :background "cyan" :foreground "blue")))) + (vertical-divider ((t (:background "Gray")))) + (vhdl-font-lock-attribute-face ((t (:foreground "Orchid")))) + (vhdl-font-lock-directive-face ((t (:foreground "CadetBlue")))) + (vhdl-font-lock-enumvalue-face ((t (:foreground "Gold4")))) + (vhdl-font-lock-function-face ((t (:foreground "Orchid4")))) + (vhdl-font-lock-prompt-face ((t (:bold t :foreground "Red")))) + (vhdl-font-lock-reserved-words-face ((t (:bold t :foreground "Orange")))) + (vhdl-font-lock-translate-off-face ((t (:background "LightGray")))) + (vhdl-speedbar-architecture-face ((t (:foreground "Blue")))) + (vhdl-speedbar-architecture-selected-face ((t (:underline t :foreground "Blue")))) + (vhdl-speedbar-configuration-face ((t (:foreground "DarkGoldenrod")))) + (vhdl-speedbar-configuration-selected-face ((t (:underline t :foreground "DarkGoldenrod")))) + (vhdl-speedbar-entity-face ((t (:foreground "ForestGreen")))) + (vhdl-speedbar-entity-selected-face ((t (:underline t :foreground "ForestGreen")))) + (vhdl-speedbar-instantiation-face ((t (:foreground "Brown")))) + (vhdl-speedbar-instantiation-selected-face ((t (:underline t :foreground "Brown")))) + (vhdl-speedbar-package-face ((t (:foreground "Gray50")))) + (vhdl-speedbar-package-selected-face ((t (:underline t :foreground "Gray50")))) + (viper-minibuffer-emacs-face ((t (:background "darkseagreen2" :foreground "Black")))) + (viper-minibuffer-insert-face ((t (:background "pink" :foreground "Black")))) + (viper-minibuffer-vi-face ((t (:background "gray" :foreground "DarkGreen")))) + (viper-replace-overlay-face ((t (:background "darkseagreen2" :foreground "Black")))) + (viper-search-face ((t (:background "khaki" :foreground "Black")))) + (vm-header-content-face ((t (:italic t :foreground "gray80")))) + (vm-header-from-face ((t (:italic t :background "#65889C" :foreground "cyan")))) + (vm-header-name-face ((t (:foreground "cyan")))) + (vm-header-subject-face ((t (:foreground "cyan")))) + (vm-header-to-face ((t (:italic t :foreground "cyan")))) + (vm-message-cited-face ((t (:foreground "Gray80")))) + (vm-summary-face-1 ((t (:foreground "MediumAquamarine")))) + (vm-summary-face-2 ((t (:foreground "MediumAquamarine")))) + (vm-summary-face-3 ((t (:foreground "MediumAquamarine")))) + (vm-summary-face-4 ((t (:foreground "MediumAquamarine")))) + (vm-summary-highlight-face ((t (:foreground "White")))) + (vmpc-pre-sig-face ((t (:foreground "Aquamarine")))) + (vmpc-sig-face ((t (:foreground "LightBlue")))) + (vvb-face ((t (:background "pink" :foreground "black")))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "cyan")))) + (widget-documentation-face ((t (:foreground "LightBlue")))) + (widget-field-face ((t (:foreground "LightBlue")))) + (widget-inactive-face ((t (:foreground "Wheat3")))) + (widget-single-line-field-face ((t (:foreground "LightBlue")))) + (woman-bold-face ((t (:bold t)))) + (woman-italic-face ((t (:foreground "beige")))) + (woman-unknown-face ((t (:foreground "LightSalmon")))) + (xref-keyword-face ((t (:foreground "Cyan")))) + (xref-list-pilot-face ((t (:foreground "navy")))) + (xref-list-symbol-face ((t (:foreground "navy")))) + (xxml-emph-1-face ((t (:background "lightyellow")))) + (xxml-emph-2-face ((t (:background "lightyellow")))) + (xxml-header-1-face ((t (:background "seashell1" :foreground "MediumAquamarine")))) + (xxml-header-2-face ((t (:background "seashell1" :foreground "SkyBlue")))) + (xxml-header-3-face ((t (:background "seashell1")))) + (xxml-header-4-face ((t (:background "seashell1")))) + (xxml-interaction-face ((t (:background "lightcyan")))) + (xxml-rug-face ((t (:background "cyan")))) + (xxml-sparkle-face ((t (:background "yellow")))) + (xxml-unbreakable-space-face ((t (:underline t :foreground "grey")))) + (yellow ((t (:foreground "yellow")))) + (zmacs-region ((t (:background "#4f657d"))))))) + +(defun color-theme-dark-blue () + "Color theme by Chris McMahan, created 2001-09-09. +Based on `color-theme-subtle-blue' with a slightly darker background." + (interactive) + (color-theme-subtle-blue) + (let ((color-theme-is-cumulative t)) + (color-theme-install + '(color-theme-dark-blue + ((background-color . "#537182") + (foreground-color . "AntiqueWhite2")) + nil + (default ((t (nil)))) + (blank-space-face ((t (:background "LightGray")))) + (blank-tab-face ((t (:background "Wheat" :foreground "DarkSlateGray")))) + (cursor ((t (:background "LightGray")))) + (dired-face-executable ((t (:foreground "green yellow")))) + (dired-face-flagged ((t (:foreground "tomato")))) + (dired-face-marked ((t (:foreground "light salmon")))) + (dired-face-setuid ((t (:foreground "Red")))) + (dired-face-socket ((t (:foreground "magenta")))) + (fixed ((t (:bold t)))) + (font-lock-comment-face ((t (:italic t :foreground "Gray80")))) + (font-lock-doc-face ((t (:bold t)))) + (font-lock-function-name-face ((t (:italic t :bold t :foreground "Yellow")))) + (font-lock-string-face ((t (:italic t :foreground "DarkSeaGreen")))) + (font-lock-type-face ((t (:bold t :foreground "YellowGreen")))) + (gui-button-face ((t (:background "DarkSalmon" :foreground "white")))) + (modeline ((t (:background "#c1ccd9" :foreground "#4f657d")))) + (modeline-buffer-id ((t (:background "#c1ccd9" :foreground "#4f657d")))) + (modeline-mousable ((t (:background "#c1ccd9" :foreground "#4f657d")))) + (modeline-mousable-minor-mode ((t (:background "#c1ccd9" :foreground "#4f657d")))) + (my-url-face ((t (:foreground "LightBlue")))) + (region ((t (:background "PaleTurquoise4" :foreground "gray80")))) + (secondary-selection ((t (:background "sea green" :foreground "yellow")))) + (vm-header-content-face ((t (:italic t :foreground "wheat")))) + (vm-header-from-face ((t (:italic t :foreground "wheat")))) + (widget-button-pressed-face ((t (:foreground "red")))) + (xref-keyword-face ((t (:foreground "blue")))) + (zmacs-region ((t (:background "SlateGray")))))))) + +(defun color-theme-jonadabian-slate () + "Another slate-and-wheat color theme by Jonadab the Unsightly One. +Updated 2001-10-12." + (interactive) + (color-theme-install + '(color-theme-jonadabian-slate + ((background-color . "#305050") + (background-mode . dark) + (border-color . "black") + (cursor-color . "medium turquoise") + (foreground-color . "#CCBB77") + (mouse-color . "black")) + ((list-matching-lines-face . bold) + (ued-mode-keyname-face . modeline) + (view-highlight-face . highlight)) + (default ((t (nil)))) + (fringe ((t (:background "#007080")))) + (bold ((t (:bold t :foreground "#EEDDAA")))) + (gnus-emphasis-bold ((t (:bold t :foreground "#EEDDAA")))) + (gnus-emphasis-underline-bold ((t (:underline t :bold t :foreground "#EEDDAA")))) + (bold-italic ((t (:italic t :bold t :foreground "#AA0000")))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t :foreground "#AA0000")))) + (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t :foreground "#AA0000")))) + (gnus-emphasis-underline-italic ((t (:underline t :italic t :bold t :foreground "#AA0000")))) + (calendar-today-face ((t (:underline t :background "darkslategrey")))) + (cperl-array-face ((t (:background "#004060")))) + (cperl-hash-face ((t (:background "#004400")))) + (custom-button-face ((t (:background "dark blue" :foreground "rgbi:1.00/1.00/0.00")))) + (custom-documentation-face ((t (:foreground "#10D010")))) + (custom-face-tag-face ((t (:underline t :foreground "goldenrod")))) + (custom-group-tag-face ((t (:underline t :foreground "light blue")))) + (custom-group-tag-face-1 ((t (:underline t :foreground "pink")))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:foreground "#6666dd")))) + (custom-state-face ((t (:foreground "mediumaquamarine")))) + (custom-variable-button-face ((t (:underline t :bold t)))) + (custom-variable-tag-face ((t (:underline t :foreground "light blue")))) + (diary-face ((t (:foreground "red")))) + (eshell-ls-archive-face ((t (:foreground "green")))) + (eshell-ls-backup-face ((t (:foreground "grey60")))) + (eshell-ls-clutter-face ((t (:bold t :foreground "OrangeRed")))) + (eshell-ls-directory-face ((t (:bold t :foreground "SkyBlue")))) + (eshell-ls-executable-face ((t (:foreground "white")))) + (eshell-ls-missing-face ((t (:foreground "red")))) + (eshell-ls-product-face ((t (:foreground "LightSalmon")))) + (eshell-ls-readonly-face ((t (:foreground "indian red")))) + (eshell-ls-special-face ((t (:foreground "yellow")))) + (eshell-ls-symlink-face ((t (:foreground "#6666dd")))) + (eshell-ls-unreadable-face ((t (:foreground "red")))) + (eshell-prompt-face ((t (:bold t :background "#305050" :foreground "#EEDD99")))) + (font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) + (font-lock-comment-face ((t (:italic t :bold t :foreground "grey66")))) + (font-lock-constant-face ((t (:foreground "indian red")))) + (font-lock-function-name-face ((t (:foreground "#D0D000")))) + (font-lock-keyword-face ((t (:foreground "#00BBBB")))) + (font-lock-string-face ((t (:foreground "#10D010")))) + (font-lock-type-face ((t (:bold t :foreground "#ff7788")))) + (font-lock-variable-name-face ((t (:foreground "#eeddaa")))) + (font-lock-warning-face ((t (:bold t :foreground "Pink")))) + (header-line ((t (:box (:line-width 1 :style released-button))))) + (highlight ((t (:background "#226644")))) + (highlight-changes-delete-face ((t (:background "navy" :foreground "red")))) + (highlight-changes-face ((t (:background "navy")))) + (holiday-face ((t (:foreground "#ff7744")))) + (italic ((t (:italic t :foreground "#AA0000")))) + (gnus-emphasis-italic ((t (:italic t :foreground "#AA0000")))) + (modeline ((t (:background "#007080" :foreground "cyan")))) + (modeline-buffer-id ((t (:background "#007080" :foreground "cyan")))) + (modeline-mousable ((t (:background "#007080" :foreground "cyan")))) + (modeline-mousable-minor-mode ((t (:background "#007080" :foreground "cyan")))) + (region ((t (:background "#226644")))) + (secondary-selection ((t (:background "darkslategrey")))) + (sgml-comment-face ((t (:foreground "grey60")))) + (sgml-doctype-face ((t (:foreground "red")))) + (sgml-end-tag-face ((t (:foreground "#00D0D0")))) + (sgml-entity-face ((t (:foreground "indian red")))) + (sgml-ignored-face ((t (:background "gray60" :foreground "gray40")))) + (sgml-ms-end-face ((t (:foreground "green")))) + (sgml-ms-start-face ((t (:foreground "green")))) + (sgml-pi-face ((t (:foreground "lime green")))) + (sgml-sgml-face ((t (:foreground "brown")))) + (sgml-short-ref-face ((t (:foreground "deep sky blue")))) + (sgml-start-tag-face ((t (:foreground "#D0D000")))) + (show-paren-match-face ((t (:background "#400055" :foreground "cyan")))) + (show-paren-mismatch-face ((t (:background "red")))) + (special-string-face ((t (:foreground "light green")))) + (term-black ((t (:background "#000055" :foreground "black")))) + (term-blackbg ((t (:background "black" :foreground "#CCBB77")))) + (term-blue ((t (:background "#000055" :foreground "blue")))) + (term-bluebg ((t (:background "blue" :foreground "#CCBB77")))) + (term-bold ((t (:bold t :background "#000055" :foreground "#CCBB77")))) + (term-cyan ((t (:background "#000055" :foreground "cyan")))) + (term-cyanbg ((t (:background "darkcyan")))) + (term-default-bg ((t (:foreground "#CCBB77")))) + (term-default-bg-inv ((t (:foreground "#CCBB77")))) + (term-default-fg ((t (:background "#000055")))) + (term-default-fg-inv ((t (:background "#000055")))) + (term-green ((t (:background "#000055" :foreground "green")))) + (term-greenbg ((t (:background "darkgreen")))) + (term-invisible ((t (:foreground "#CCBB77")))) + (term-invisible-inv ((t (:foreground "#CCBB77")))) + (term-magenta ((t (:background "#000055" :foreground "magenta")))) + (term-magentabg ((t (:background "darkmagenta")))) + (term-red ((t (:background "#000055" :foreground "red")))) + (term-redbg ((t (:background "darkred")))) + (term-underline ((t (:underline t :background "#000055" :foreground "#CCBB77")))) + (term-white ((t (:background "#000055" :foreground "white")))) + (term-whitebg ((t (:background "grey50")))) + (term-yellow ((t (:background "#000055" :foreground "yellow")))) + (term-yellowbg ((t (:background "#997700")))) + (trailing-whitespace ((t (:background "#23415A")))) + (underline ((t (:underline t)))) + (gnus-emphasis-underline ((t (:underline t)))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "green")))) + (widget-field-face ((t (:background "grey35" :foreground "black")))) + (widget-inactive-face ((t (:foreground "gray")))) + (widget-single-line-field-face ((t (:background "dim gray"))))))) + +(defun color-theme-gray1 () + "Color theme by Paul Pulli, created 2001-10-19." + (interactive) + (color-theme-install + '(color-theme-gray1 + ((background-color . "darkgray") + (background-mode . light) + (background-toolbar-color . "#949494949494") + (border-color . "#000000000000") + (bottom-toolbar-shadow-color . "#595959595959") + (cursor-color . "Yellow") + (foreground-color . "black") + (top-toolbar-shadow-color . "#b2b2b2b2b2b2")) + nil + (default ((t (nil)))) + (blue ((t (:foreground "blue")))) + (bold ((t (:bold t)))) + (bold-italic ((t (:italic t :bold t)))) + (border-glyph ((t (nil)))) + (cperl-here-face ((t (:background "gray68" :foreground "DeepPink")))) + (font-lock-builtin-face ((t (:bold t :foreground "red3")))) + (font-lock-comment-face ((t (:foreground "gray50")))) + (font-lock-constant-face ((t (:bold t :foreground "blue3")))) + (font-lock-doc-string-face ((t (:foreground "black")))) + (font-lock-function-name-face ((t (:bold t :foreground "DeepPink3")))) + (font-lock-keyword-face ((t (:bold t :foreground "red")))) + (font-lock-other-type-face ((t (:bold t :foreground "green4")))) + (font-lock-preprocessor-face ((t (:bold t :foreground "blue3")))) + (font-lock-reference-face ((t (:bold t :foreground "red3")))) + (font-lock-string-face ((t (:foreground "red")))) + (font-lock-type-face ((t (:bold t :foreground "white")))) + (font-lock-variable-name-face ((t (:bold t :foreground "blue3")))) + (font-lock-warning-face ((t (:bold t :foreground "Red")))) + (green ((t (:foreground "green4")))) + (gui-button-face ((t (:background "black" :foreground "red")))) + (gui-element ((t (:background "gray58")))) + (highlight ((t (:background "magenta" :foreground "yellow")))) + (isearch ((t (:background "red" :foreground "yellow")))) + (italic ((t (:italic t)))) + (left-margin ((t (nil)))) + (list-mode-item-selected ((t (:background "gray90" :foreground "purple")))) + (m4-face ((t (:background "gray90" :foreground "orange3")))) + (message-cited-text ((t (nil)))) + (message-header-contents ((t (nil)))) + (message-headers ((t (nil)))) + (message-highlighted-header-contents ((t (nil)))) + (modeline ((t (:background "#aa80aa" :foreground "White")))) + (modeline-buffer-id ((t (:background "#aa80aa" :foreground "linen")))) + (modeline-mousable ((t (:background "#aa80aa" :foreground "cyan")))) + (modeline-mousable-minor-mode ((t (:background "#aa80aa" :foreground "yellow")))) + (paren-blink-off ((t (:foreground "gray58")))) + (paren-blink-on ((t (:foreground "purple")))) + (paren-match ((t (:background "gray68" :foreground "white")))) + (paren-mismatch ((t (:background "DeepPink" :foreground "black")))) + (pointer ((t (nil)))) + (primary-selection ((t (:background "gray")))) + (red ((t (:foreground "red")))) + (right-margin ((t (nil)))) + (secondary-selection ((t (:background "paleturquoise")))) + (text-cursor ((t (:background "Yellow" :foreground "darkgray")))) + (toolbar ((t (:background "#aa80aa" :foreground "linen")))) + (underline ((t (:underline t)))) + (vertical-divider ((t (nil)))) + (x-face ((t (:background "black" :foreground "lavenderblush")))) + (yellow ((t (:foreground "yellow3")))) + (zmacs-region ((t (:background "paleturquoise" :foreground "black"))))))) + +(defun color-theme-word-perfect () + "White on blue background, based on WordPerfect 5.1. +Color theme by Thomas Gehrlein, created 2001-10-21." + (interactive) + (color-theme-install + '(color-theme-word-perfect + ((background-color . "blue4") + (background-mode . dark) + (border-color . "black") + (cursor-color . "gold") + (foreground-color . "white") + (mouse-color . "black")) + ((ecb-source-in-directories-buffer-face . ecb-sources-face) + (gnus-mouse-face . highlight) + (goto-address-mail-face . italic) + (goto-address-mail-mouse-face . secondary-selection) + (goto-address-url-face . bold) + (goto-address-url-mouse-face . highlight) + (list-matching-lines-face . bold) + (view-highlight-face . highlight)) + (default ((t (nil)))) + (bbdb-field-name ((t (:foreground "lime green")))) + (bbdb-field-value ((t (:foreground "white")))) + (bbdb-name ((t (:underline t :foreground "lime green")))) + (bold ((t (:bold t :foreground "white")))) + (bold-italic ((t (:italic t :bold t :foreground "yellow")))) + (calendar-today-face ((t (:underline t :foreground "deep sky blue")))) + (diary-face ((t (:foreground "gold")))) + (ecb-sources-face ((t (:foreground "LightBlue1")))) + (edb-inter-field-face ((t (:foreground "deep sky blue")))) + (edb-normal-summary-face ((t (:foreground "gold")))) + (emacs-wiki-bad-link-face ((t (:underline "coral" :bold t :foreground "coral")))) + (emacs-wiki-link-face ((t (:underline "cyan" :bold t :foreground "cyan")))) + (font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) + (font-lock-comment-face ((t (:foreground "deep sky blue")))) + (font-lock-constant-face ((t (:foreground "lime green")))) + (font-lock-doc-face ((t (:foreground "gold")))) + (font-lock-doc-string-face ((t (:foreground "gold")))) + (font-lock-function-name-face ((t (:background "blue4" :foreground "IndianRed")))) + (font-lock-keyword-face ((t (:foreground "lime green")))) + (font-lock-preprocessor-face ((t (:foreground "lime green")))) + (font-lock-reference-face ((t (:foreground "LightSteelBlue")))) + (font-lock-string-face ((t (:foreground "gold")))) + (font-lock-type-face ((t (:foreground "lime green")))) + (font-lock-variable-name-face ((t (:foreground "LightGoldenrod")))) + (font-lock-warning-face ((t (:bold t :foreground "firebrick")))) + (gnus-emphasis-bold ((t (:foreground "yellow2")))) + (gnus-emphasis-bold-italic ((t (:foreground "yellow2")))) + (gnus-emphasis-italic ((t (:foreground "yellow2")))) + (gnus-emphasis-underline ((t (:foreground "yellow2")))) + (gnus-emphasis-underline-bold ((t (:foreground "yellow2")))) + (gnus-emphasis-underline-bold-italic ((t (:foreground "yellow2")))) + (gnus-emphasis-underline-italic ((t (:foreground "yellow2")))) + (gnus-group-mail-1-empty-face ((t (:foreground "aquamarine1")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "aquamarine1")))) + (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "aquamarine2")))) + (gnus-group-mail-3-empty-face ((t (:foreground "aquamarine3")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "aquamarine3")))) + (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "aquamarine4")))) + (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) + (gnus-group-news-1-face ((t (:bold t :foreground "PaleTurquoise")))) + (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) + (gnus-group-news-2-face ((t (:bold t :foreground "turquoise")))) + (gnus-group-news-3-empty-face ((t (:foreground "deep sky blue")))) + (gnus-group-news-3-face ((t (:bold t :foreground "deep sky blue")))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkTurquoise")))) + (gnus-header-content-face ((t (:foreground "gold")))) + (gnus-header-from-face ((t (:foreground "gold")))) + (gnus-header-name-face ((t (:foreground "deep sky blue")))) + (gnus-header-newsgroups-face ((t (:foreground "gold")))) + (gnus-header-subject-face ((t (:foreground "gold")))) + (gnus-signature-face ((t (:foreground "gold")))) + (gnus-splash-face ((t (:foreground "firebrick")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "deep sky blue")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "deep sky blue")))) + (gnus-summary-high-read-face ((t (:bold t :foreground "deep sky blue")))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "deep sky blue")))) + (gnus-summary-high-unread-face ((t (:bold t :foreground "lime green")))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "deep sky blue")))) + (gnus-summary-low-read-face ((t (:italic t :foreground "deep sky blue")))) + (gnus-summary-low-ticked-face ((t (:italic t :foreground "deep sky blue")))) + (gnus-summary-low-unread-face ((t (:italic t :foreground "lime green")))) + (gnus-summary-normal-ancient-face ((t (:foreground "deep sky blue")))) + (gnus-summary-normal-read-face ((t (:foreground "deep sky blue")))) + (gnus-summary-normal-ticked-face ((t (:foreground "deep sky blue")))) + (gnus-summary-normal-unread-face ((t (:foreground "lime green")))) + (gnus-summary-selected-face ((t (:underline t :foreground "gold")))) + (highlight ((t (:background "steel blue" :foreground "black")))) + (holiday-face ((t (:background "blue4" :foreground "IndianRed1")))) + (info-menu-5 ((t (:underline t :foreground "gold")))) + (info-node ((t (:italic t :bold t :foreground "gold")))) + (info-xref ((t (:bold t :foreground "gold")))) + (isearch ((t (:background "firebrick" :foreground "white")))) + (italic ((t (:italic t :foreground "yellow2")))) + (message-cited-text-face ((t (:foreground "gold")))) + (message-header-cc-face ((t (:bold t :foreground "green4")))) + (message-header-name-face ((t (:foreground "deep sky blue")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "gold")))) + (message-header-other-face ((t (:foreground "gold")))) + (message-header-subject-face ((t (:foreground "gold")))) + (message-header-to-face ((t (:bold t :foreground "gold")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-separator-face ((t (:foreground "lime green")))) + (modeline ((t (:foreground "white" :background "black")))) + (modeline-buffer-id ((t (:foreground "white" :background "black")))) + (modeline-mousable ((t (:foreground "white" :background "black")))) + (modeline-mousable-minor-mode ((t (:foreground "white" :background "black")))) + (overlay-empty-face ((t (nil)))) + (primary-selection ((t (:background "firebrick" :foreground "white")))) + (region ((t (:background "firebrick" :foreground "white")))) + (secondary-selection ((t (:background "yellow2" :foreground "black")))) + (semantic-dirty-token-face ((t (:background "gray10")))) + (show-paren-match-face ((t (:background "deep sky blue" :foreground "black")))) + (show-paren-mismatch-face ((t (:background "firebrick" :foreground "white")))) + (underline ((t (:underline t :background "blue4" :foreground "white"))))))) + +;; In order to produce this, follow these steps: +;; +;; 0. Make sure .Xresources and .Xdefaults don't have any Emacs related +;; entries. +;; +;; 1. cd into the Emacs lisp directory and run the following command: +;; ( for d in `find -type d`; \ +;; do grep --files-with-matches 'defface[ ]' $d/*.el; \ +;; done ) | sort | uniq +;; Put the result in a lisp block, using load-library calls. +;; +;; Repeat this for any directories on your load path which you want to +;; include in the standard. This might include W3, eshell, etc. +;; +;; Add some of the libraries that don't use defface: +;; +;; 2. Start emacs using the --no-init-file and --no-site-file command line +;; arguments. Evaluate the lisp block you prepared. +;; 3. Load color-theme and run color-theme-print. Save the output and use it +;; to define color-theme-standard. +;; +;; (progn +;; (load-library "add-log") +;; (load-library "calendar") +;; (load-library "comint") +;; (load-library "cus-edit") +;; (load-library "cus-face") +;; (load-library "custom") +;; (load-library "diff-mode") +;; (load-library "ediff-init") +;; (load-library "re-builder") +;; (load-library "viper-init") +;; (load-library "enriched") +;; (load-library "em-ls") +;; (load-library "em-prompt") +;; (load-library "esh-test") +;; (load-library "faces") +;; (load-library "font-lock") +;; (load-library "generic-x") +;; (load-library "gnus-art") +;; (load-library "gnus-cite") +;; (load-library "gnus") +;; (load-library "message") +;; (load-library "hilit-chg") +;; (load-library "hi-lock") +;; (load-library "info") +;; (load-library "isearch") +;; (load-library "log-view") +;; (load-library "paren") +;; (load-library "pcvs-info") +;; (load-library "antlr-mode") +;; (load-library "cperl-mode") +;; (load-library "ebrowse") +;; (load-library "idlwave") +;; (load-library "idlw-shell") +;; (load-library "make-mode") +;; (load-library "sh-script") +;; (load-library "vhdl-mode") +;; (load-library "smerge-mode") +;; (load-library "speedbar") +;; (load-library "strokes") +;; (load-library "artist") +;; (load-library "flyspell") +;; (load-library "texinfo") +;; (load-library "tex-mode") +;; (load-library "tooltip") +;; (load-library "vcursor") +;; (load-library "wid-edit") +;; (load-library "woman") +;; (load-library "term") +;; (load-library "man") +;; (load-file "/home/alex/elisp/color-theme.el") +;; (color-theme-print)) +;; +;; 4. Make the color theme usable on Xemacs (add more faces, resolve +;; :inherit attributes) +;; +(defun color-theme-emacs-21 () + "Color theme used by Emacs 21.1. +Added and adapted for XEmacs by Alex Schroeder. Adaptation mostly +consisted of resolving :inherit attributes and adding missing faces. +This theme includes faces from the following Emacs libraries: add-log +calendar comint cus-edit cus-face custom diff-mode ediff-init re-builder +viper-init enriched em-ls em-prompt esh-test faces font-lock generic-x +gnus-art gnus-cite gnus message hilit-chg hi-lock info isearch log-view +paren pcvs-info antlr-mode cperl-mode ebrowse idlwave idlw-shell +make-mode sh-script vhdl-mode smerge-mode speedbar strokes artist +flyspell texinfo tex-mode tooltip vcursor wid-edit woman term man" + (interactive) + (color-theme-install + '(color-theme-emacs-21 + ((background-color . "white") + (background-mode . light) + (border-color . "black") + (cursor-color . "black") + (foreground-color . "black") + (mouse-color . "black")) + ((Man-overstrike-face . bold) + (Man-underline-face . underline) + (cperl-here-face . font-lock-string-face) + (cperl-invalid-face . underline) + (cperl-pod-face . font-lock-comment-face) + (cperl-pod-head-face . font-lock-variable-name-face) + (gnus-article-button-face . bold) + (gnus-article-mouse-face . highlight) + (gnus-cite-attribution-face . gnus-cite-attribution-face) + (gnus-mouse-face . highlight) + (gnus-signature-face . gnus-signature-face) + (gnus-summary-selected-face . gnus-summary-selected-face) + (help-highlight-face . underline) + (idlwave-class-arrow-face . bold) + (idlwave-shell-breakpoint-face . idlwave-shell-bp-face) + (idlwave-shell-expression-face . secondary-selection) + (idlwave-shell-stop-line-face . highlight) + (ispell-highlight-face . highlight) + (list-matching-lines-face . bold) + (view-highlight-face . highlight) + (viper-insert-state-cursor-color . "Green") + (viper-replace-overlay-cursor-color . "Red") + (widget-mouse-face . highlight)) + (default ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (Info-title-1-face ((t (:bold t :weight bold :family "helv" :height 1.728)))) + (Info-title-2-face ((t (:bold t :family "helv" :weight bold :height 1.44)))) + (Info-title-3-face ((t (:bold t :weight bold :family "helv" :height 1.2)))) + (Info-title-4-face ((t (:bold t :family "helv" :weight bold)))) + (antlr-font-lock-keyword-face ((t (:bold t :foreground "black" :weight bold)))) + (antlr-font-lock-literal-face ((t (:bold t :foreground "brown4" :weight bold)))) + (antlr-font-lock-ruledef-face ((t (:bold t :foreground "blue" :weight bold)))) + (antlr-font-lock-ruleref-face ((t (:foreground "blue4")))) + (antlr-font-lock-tokendef-face ((t (:bold t :foreground "blue" :weight bold)))) + (antlr-font-lock-tokenref-face ((t (:foreground "orange4")))) + (bold ((t (:bold t :weight bold)))) + (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (border ((t (:background "black")))) + (calendar-today-face ((t (:underline t)))) + (change-log-acknowledgement-face ((t (:foreground "Firebrick")))) + (change-log-conditionals-face ((t (:foreground "DarkGoldenrod")))) + (change-log-date-face ((t (:foreground "RosyBrown")))) + (change-log-email-face ((t (:foreground "DarkGoldenrod")))) + (change-log-file-face ((t (:foreground "Blue")))) + (change-log-function-face ((t (:foreground "DarkGoldenrod")))) + (change-log-list-face ((t (:foreground "Purple")))) + (change-log-name-face ((t (:foreground "CadetBlue")))) + (comint-highlight-input ((t (:bold t :weight bold)))) + (comint-highlight-prompt ((t (:foreground "dark blue")))) + (cperl-array-face ((t (:bold t :background "lightyellow2" :foreground "Blue" :weight bold)))) + (cperl-hash-face ((t (:italic t :bold t :background "lightyellow2" :foreground "Red" :slant italic :weight bold)))) + (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) + (cursor ((t (:background "black")))) + (custom-button-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style released-button))))) + (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style pressed-button))))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-comment-face ((t (:background "gray85")))) + (custom-comment-tag-face ((t (:foreground "blue4")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:bold t :family "helv" :weight bold :height 1.2)))) + (custom-group-tag-face ((t (:bold t :foreground "blue" :weight bold :height 1.2)))) + (custom-group-tag-face-1 ((t (:bold t :family "helv" :foreground "red" :weight bold :height 1.2)))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "dark green")))) + (custom-variable-button-face ((t (:bold t :underline t :weight bold)))) + (custom-variable-tag-face ((t (:bold t :family "helv" :foreground "blue" :weight bold :height 1.2)))) + (cvs-filename-face ((t (:foreground "blue4")))) + (cvs-handled-face ((t (:foreground "pink")))) + (cvs-header-face ((t (:bold t :foreground "blue4" :weight bold)))) + (cvs-marked-face ((t (:bold t :foreground "green3" :weight bold)))) + (cvs-msg-face ((t (:italic t :slant italic)))) + (cvs-need-action-face ((t (:foreground "orange")))) + (cvs-unknown-face ((t (:foreground "red")))) + (diary-face ((t (:foreground "red")))) + (diff-added-face ((t (nil)))) + (diff-changed-face ((t (nil)))) + (diff-context-face ((t (:foreground "grey50")))) + (diff-file-header-face ((t (:bold t :background "grey70" :weight bold)))) + (diff-function-face ((t (:foreground "grey50")))) + (diff-header-face ((t (:background "grey85")))) + (diff-hunk-header-face ((t (:background "grey85")))) + (diff-index-face ((t (:bold t :weight bold :background "grey70")))) + (diff-nonexistent-face ((t (:bold t :weight bold :background "grey70")))) + (diff-removed-face ((t (nil)))) + (dired-face-boring ((t (:foreground "RosyBrown")))) + (dired-face-directory ((t (:foreground "Blue")))) + (dired-face-executable ((t (nil)))) + (dired-face-flagged ((t (:foreground "Red" :weight bold)))) + (dired-face-marked ((t (:foreground "Red" :weight bold)))) + (dired-face-permissions ((t (nil)))) + (dired-face-setuid ((t (nil)))) + (dired-face-socket ((t (nil)))) + (dired-face-symlink ((t (:foreground "Purple")))) + (ebrowse-default-face ((t (nil)))) + (ebrowse-file-name-face ((t (:italic t :slant italic)))) + (ebrowse-member-attribute-face ((t (:foreground "red")))) + (ebrowse-member-class-face ((t (:foreground "purple")))) + (ebrowse-progress-face ((t (:background "blue")))) + (ebrowse-root-class-face ((t (:bold t :foreground "blue" :weight bold)))) + (ebrowse-tree-mark-face ((t (:foreground "red")))) + (ediff-current-diff-face-A ((t (:background "pale green" :foreground "firebrick")))) + (ediff-current-diff-face-Ancestor ((t (:background "VioletRed" :foreground "Black")))) + (ediff-current-diff-face-B ((t (:background "Yellow" :foreground "DarkOrchid")))) + (ediff-current-diff-face-C ((t (:background "Pink" :foreground "Navy")))) + (ediff-even-diff-face-A ((t (:background "light grey" :foreground "Black")))) + (ediff-even-diff-face-Ancestor ((t (:background "Grey" :foreground "White")))) + (ediff-even-diff-face-B ((t (:background "Grey" :foreground "White")))) + (ediff-even-diff-face-C ((t (:background "light grey" :foreground "Black")))) + (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy")))) + (ediff-fine-diff-face-Ancestor ((t (:background "Green" :foreground "Black")))) + (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Black")))) + (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Black")))) + (ediff-odd-diff-face-A ((t (:background "Grey" :foreground "White")))) + (ediff-odd-diff-face-Ancestor ((t (:background "light grey" :foreground "Black")))) + (ediff-odd-diff-face-B ((t (:background "light grey" :foreground "Black")))) + (ediff-odd-diff-face-C ((t (:background "Grey" :foreground "White")))) + (eshell-ls-archive-face ((t (:bold t :foreground "Orchid" :weight bold)))) + (eshell-ls-backup-face ((t (:foreground "OrangeRed")))) + (eshell-ls-clutter-face ((t (:bold t :foreground "OrangeRed" :weight bold)))) + (eshell-ls-directory-face ((t (:bold t :foreground "Blue" :weight bold)))) + (eshell-ls-executable-face ((t (:bold t :foreground "ForestGreen" :weight bold)))) + (eshell-ls-missing-face ((t (:bold t :foreground "Red" :weight bold)))) + (eshell-ls-product-face ((t (:foreground "OrangeRed")))) + (eshell-ls-readonly-face ((t (:foreground "Brown")))) + (eshell-ls-special-face ((t (:bold t :foreground "Magenta" :weight bold)))) + (eshell-ls-symlink-face ((t (:bold t :foreground "Dark Cyan" :weight bold)))) + (eshell-ls-unreadable-face ((t (:foreground "Grey30")))) + (eshell-prompt-face ((t (:bold t :foreground "Red" :weight bold)))) + (eshell-test-failed-face ((t (:bold t :foreground "OrangeRed" :weight bold)))) + (eshell-test-ok-face ((t (:bold t :foreground "Green" :weight bold)))) + (excerpt ((t (:italic t :slant italic)))) + (fixed ((t (:bold t :weight bold)))) + (fixed-pitch ((t (:family "courier")))) + (flyspell-duplicate-face ((t (:bold t :foreground "Gold3" :underline t :weight bold)))) + (flyspell-incorrect-face ((t (:bold t :foreground "OrangeRed" :underline t :weight bold)))) + (font-lock-builtin-face ((t (:foreground "Orchid")))) + (font-lock-comment-face ((t (:foreground "Firebrick")))) + (font-lock-constant-face ((t (:foreground "CadetBlue")))) + (font-lock-doc-face ((t (:foreground "RosyBrown")))) + (font-lock-doc-string-face ((t (:foreground "RosyBrown")))) + (font-lock-function-name-face ((t (:foreground "Blue")))) + (font-lock-keyword-face ((t (:foreground "Purple")))) + (font-lock-preprocessor-face ((t (:foreground "CadetBlue")))) + (font-lock-reference-face ((t (:foreground "Orchid")))) + (font-lock-string-face ((t (:foreground "RosyBrown")))) + (font-lock-type-face ((t (:foreground "ForestGreen")))) + (font-lock-variable-name-face ((t (:foreground "DarkGoldenrod")))) + (font-lock-warning-face ((t (:bold t :foreground "Red" :weight bold)))) + (fringe ((t (:background "grey95")))) + (gnus-cite-attribution-face ((t (:italic t :slant italic)))) + (gnus-cite-face-1 ((t (:foreground "MidnightBlue")))) + (gnus-cite-face-10 ((t (:foreground "medium purple")))) + (gnus-cite-face-11 ((t (:foreground "turquoise")))) + (gnus-cite-face-2 ((t (:foreground "firebrick")))) + (gnus-cite-face-3 ((t (:foreground "dark green")))) + (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) + (gnus-cite-face-5 ((t (:foreground "dark khaki")))) + (gnus-cite-face-6 ((t (:foreground "dark violet")))) + (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-emphasis-bold ((t (:bold t :weight bold)))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) + (gnus-emphasis-italic ((t (:italic t :slant italic)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:bold t :underline t :weight bold)))) + (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :underline t :slant italic :weight bold)))) + (gnus-emphasis-underline-italic ((t (:italic t :underline t :slant italic)))) + (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3" :weight bold)))) + (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3" :weight bold)))) + (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4" :weight bold)))) + (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4" :weight bold)))) + (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) + (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen" :weight bold)))) + (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) + (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4" :weight bold)))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t :weight bold)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t :weight bold)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t :weight bold)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t :weight bold)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen" :weight bold)))) + (gnus-header-content-face ((t (:italic t :foreground "indianred4" :slant italic)))) + (gnus-header-from-face ((t (:foreground "red3")))) + (gnus-header-name-face ((t (:foreground "maroon")))) + (gnus-header-newsgroups-face ((t (:italic t :foreground "MidnightBlue" :slant italic)))) + (gnus-header-subject-face ((t (:foreground "red4")))) + (gnus-signature-face ((t (:italic t :slant italic)))) + (gnus-splash-face ((t (:foreground "Brown")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue" :weight bold)))) + (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen" :weight bold)))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick" :weight bold)))) + (gnus-summary-high-unread-face ((t (:bold t :weight bold)))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue" :slant italic)))) + (gnus-summary-low-read-face ((t (:italic t :foreground "DarkGreen" :slant italic)))) + (gnus-summary-low-ticked-face ((t (:italic t :foreground "firebrick" :slant italic)))) + (gnus-summary-low-unread-face ((t (:italic t :slant italic)))) + (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) + (gnus-summary-normal-ticked-face ((t (:foreground "firebrick")))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-selected-face ((t (:underline t)))) + (header-line ((t (:box (:line-width -1 :style released-button) :background "grey90" :foreground "grey20" :box nil)))) + (hi-black-b ((t (:bold t :weight bold)))) + (hi-black-hb ((t (:bold t :family "helv" :weight bold :height 1.67)))) + (hi-blue ((t (:background "light blue")))) + (hi-blue-b ((t (:bold t :foreground "blue" :weight bold)))) + (hi-green ((t (:background "green")))) + (hi-green-b ((t (:bold t :foreground "green" :weight bold)))) + (hi-pink ((t (:background "pink")))) + (hi-red-b ((t (:bold t :foreground "red" :weight bold)))) + (hi-yellow ((t (:background "yellow")))) + (highlight ((t (:background "darkseagreen2")))) + (highlight-changes-delete-face ((t (:foreground "red" :underline t)))) + (highlight-changes-face ((t (:foreground "red")))) + (holiday-face ((t (:background "pink")))) + (idlwave-help-link-face ((t (:foreground "Blue")))) + (idlwave-shell-bp-face ((t (:background "Pink" :foreground "Black")))) + (info-header-node ((t (:italic t :bold t :weight bold :slant italic :foreground "brown")))) + (info-header-xref ((t (:bold t :weight bold :foreground "magenta4")))) + (info-menu-5 ((t (:foreground "red1")))) + (info-menu-header ((t (:bold t :family "helv" :weight bold)))) + (info-node ((t (:italic t :bold t :foreground "brown" :slant italic :weight bold)))) + (info-xref ((t (:bold t :foreground "magenta4" :weight bold)))) + (isearch ((t (:background "magenta4" :foreground "lightskyblue1")))) + (isearch-lazy-highlight-face ((t (:background "paleturquoise")))) + (italic ((t (:italic t :slant italic)))) + (log-view-file-face ((t (:bold t :background "grey70" :weight bold)))) + (log-view-message-face ((t (:background "grey85")))) + (makefile-space-face ((t (:background "hotpink")))) + (menu ((t (nil)))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:foreground "MidnightBlue")))) + (message-header-name-face ((t (:foreground "cornflower blue")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4" :slant italic :weight bold)))) + (message-header-other-face ((t (:foreground "steel blue")))) + (message-header-subject-face ((t (:bold t :foreground "navy blue" :weight bold)))) + (message-header-to-face ((t (:bold t :foreground "MidnightBlue" :weight bold)))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-mml-face ((t (:foreground "ForestGreen")))) + (message-separator-face ((t (:foreground "brown")))) + (modeline ((t (:background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) + (modeline-buffer-id ((t (:bold t :background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) + (modeline-mousable ((t (:background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) + (modeline-mousable-minor-mode ((t (:background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) + (mouse ((t (:background "black")))) + (primary-selection ((t (:background "lightgoldenrod2")))) + (reb-match-0 ((t (:background "lightblue")))) + (reb-match-1 ((t (:background "aquamarine")))) + (reb-match-2 ((t (:background "springgreen")))) + (reb-match-3 ((t (:background "yellow")))) + (region ((t (:background "lightgoldenrod2")))) + (scroll-bar ((t (:background "grey75")))) + (secondary-selection ((t (:background "yellow")))) + (sh-heredoc-face ((t (:foreground "tan")))) + (show-paren-match-face ((t (:background "turquoise")))) + (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) + (show-tabs-space-face ((t (:foreground "yellow")))) + (show-tabs-tab-face ((t (:foreground "red")))) + (smerge-base-face ((t (:foreground "red")))) + (smerge-markers-face ((t (:background "grey85")))) + (smerge-mine-face ((t (:foreground "blue")))) + (smerge-other-face ((t (:foreground "darkgreen")))) + (speedbar-button-face ((t (:foreground "green4")))) + (speedbar-directory-face ((t (:foreground "blue4")))) + (speedbar-file-face ((t (:foreground "cyan4")))) + (speedbar-highlight-face ((t (:background "green")))) + (speedbar-selected-face ((t (:foreground "red" :underline t)))) + (speedbar-tag-face ((t (:foreground "brown")))) + (strokes-char-face ((t (:background "lightgray")))) + (term-black ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-blackbg ((t (:stipple nil :background "black" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-blue ((t (:stipple nil :background "white" :foreground "blue" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-bluebg ((t (:stipple nil :background "blue" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-bold ((t (:bold t :stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight bold :width normal :family "adobe-courier")))) + (term-cyan ((t (:stipple nil :background "white" :foreground "cyan" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-cyanbg ((t (:stipple nil :background "cyan" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-default ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-default-bg ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-default-bg-inv ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-default-fg ((t (:stipple nil :background "white" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-default-fg-inv ((t (:stipple nil :background "white" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-green ((t (:stipple nil :background "white" :foreground "green" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-greenbg ((t (:stipple nil :background "green" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-invisible ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-invisible-inv ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-magenta ((t (:stipple nil :background "white" :foreground "magenta" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-magentabg ((t (:stipple nil :background "magenta" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-red ((t (:stipple nil :background "white" :foreground "red" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-redbg ((t (:stipple nil :background "red" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-underline ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline t :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-white ((t (:stipple nil :background "white" :foreground "white" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-whitebg ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-yellow ((t (:stipple nil :background "white" :foreground "yellow" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-yellowbg ((t (:stipple nil :background "yellow" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (tex-math-face ((t (:foreground "RosyBrown")))) + (texinfo-heading-face ((t (:foreground "Blue")))) + (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) + (tooltip ((t (:background "lightyellow" :foreground "black")))) + (trailing-whitespace ((t (:background "red")))) + (underline ((t (:underline t)))) + (variable-pitch ((t (:family "helv")))) + (vcursor ((t (:background "cyan" :foreground "blue" :underline t)))) + (vhdl-font-lock-attribute-face ((t (:foreground "Orchid")))) + (vhdl-font-lock-directive-face ((t (:foreground "CadetBlue")))) + (vhdl-font-lock-enumvalue-face ((t (:foreground "Gold4")))) + (vhdl-font-lock-function-face ((t (:foreground "Orchid4")))) + (vhdl-font-lock-prompt-face ((t (:bold t :foreground "Red" :weight bold)))) + (vhdl-font-lock-reserved-words-face ((t (:bold t :foreground "Orange" :weight bold)))) + (vhdl-font-lock-translate-off-face ((t (:background "LightGray")))) + (vhdl-speedbar-architecture-face ((t (:foreground "Blue")))) + (vhdl-speedbar-architecture-selected-face ((t (:foreground "Blue" :underline t)))) + (vhdl-speedbar-configuration-face ((t (:foreground "DarkGoldenrod")))) + (vhdl-speedbar-configuration-selected-face ((t (:foreground "DarkGoldenrod" :underline t)))) + (vhdl-speedbar-entity-face ((t (:foreground "ForestGreen")))) + (vhdl-speedbar-entity-selected-face ((t (:foreground "ForestGreen" :underline t)))) + (vhdl-speedbar-instantiation-face ((t (:foreground "Brown")))) + (vhdl-speedbar-instantiation-selected-face ((t (:foreground "Brown" :underline t)))) + (vhdl-speedbar-package-face ((t (:foreground "Grey50")))) + (vhdl-speedbar-package-selected-face ((t (:foreground "Grey50" :underline t)))) + (viper-minibuffer-emacs-face ((t (:background "darkseagreen2" :foreground "Black")))) + (viper-minibuffer-insert-face ((t (:background "pink" :foreground "Black")))) + (viper-minibuffer-vi-face ((t (:background "grey" :foreground "DarkGreen")))) + (viper-replace-overlay-face ((t (:background "darkseagreen2" :foreground "Black")))) + (viper-search-face ((t (:background "khaki" :foreground "Black")))) + (widget-button-face ((t (:bold t :weight bold)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (widget-single-line-field-face ((t (:background "gray85")))) + (woman-addition-face ((t (:foreground "orange")))) + (woman-bold-face ((t (:bold t :foreground "blue" :weight bold)))) + (woman-italic-face ((t (:italic t :foreground "red" :underline t :slant italic)))) + (woman-unknown-face ((t (:foreground "brown")))) + (zmacs-region ((t (:background "lightgoldenrod2"))))))) + +(defun color-theme-jsc-light2 () + "Color theme by John S Cooper, created 2001-10-29. +This builds on `color-theme-jsc-light'." + (interactive) + (color-theme-jsc-light) + (let ((color-theme-is-cumulative t)) + (color-theme-install + '(color-theme-jsc-light2 + ((vc-annotate-very-old-color . "#0046FF") + (senator-eldoc-use-color . t)) + nil + (bold ((t (:bold t :weight bold)))) + (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (change-log-file-face ((t (:foreground "Blue")))) + (change-log-name-face ((t (:foreground "Maroon")))) + (comint-highlight-prompt ((t (:foreground "dark blue")))) + (custom-button-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style released-button))))) + (custom-face-tag-face ((t (:bold t :family "helv" :weight bold :height 1.2)))) + (custom-group-tag-face ((t (:bold t :foreground "blue" :weight bold :height 1.2)))) + (custom-group-tag-face-1 ((t (:bold t :family "helv" :foreground "red" :weight bold :height 1.2)))) + (custom-variable-tag-face ((t (:bold t :family "helv" :foreground "blue" :weight bold :height 1.2)))) + (font-lock-constant-face ((t (:foreground "Maroon")))) + (font-lock-function-name-face ((t (:foreground "Blue")))) + (font-lock-type-face ((t (:italic t :foreground "Navy" :slant italic)))) + (fringe ((t (:background "grey88")))) + (gnus-group-mail-1-empty-face ((t (:foreground "Blue2")))) + (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) + (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen" :weight bold)))) + (gnus-header-content-face ((t (:italic t :foreground "indianred4" :slant italic)))) + (gnus-header-name-face ((t (:bold t :foreground "maroon" :weight bold)))) + (gnus-header-subject-face ((t (:foreground "red4")))) + (gnus-signature-face ((t (:italic t :slant italic)))) + (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen" :weight bold)))) + (gnus-summary-high-unread-face ((t (:bold t :weight bold)))) + (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) + (gnus-summary-normal-ticked-face ((t (:foreground "Navy")))) + (gnus-summary-normal-unread-face ((t (:bold t :foreground "DarkGreen" :weight bold)))) + (header-line ((t (:background "grey90" :foreground "grey20" :box nil)))) + (highlight ((t (:background "darkseagreen2")))) + (ido-subdir-face ((t (:foreground "red")))) + (isearch ((t (:background "magenta4" :foreground "lightskyblue1")))) + (mode-line ((t (:background "grey88" :foreground "black" :box (:line-width -1 :style released-button))))) + (region ((t (:background "lightgoldenrod2")))) + (scroll-bar ((t (nil)))) + (secondary-selection ((t (:background "yellow")))) + (show-paren-match-face ((t (:background "turquoise")))) + (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) + (tooltip ((t (:background "lightyellow" :foreground "black")))))))) + +(defun color-theme-ld-dark () + "Dark Color theme by Linh Dang, created 2001-11-06." + (interactive) + (color-theme-install + '(color-theme-ld-dark + ((background-color . "black") + (background-mode . dark) + (border-color . "black") + (cursor-color . "yellow") + (foreground-color . "white") + (mouse-color . "white")) + ((align-highlight-change-face . highlight) + (align-highlight-nochange-face . secondary-selection) + (apropos-keybinding-face . underline) + (apropos-label-face . italic) + (apropos-match-face . secondary-selection) + (apropos-property-face . bold-italic) + (apropos-symbol-face . bold) + (ebnf-except-border-color . "Black") + (ebnf-line-color . "Black") + (ebnf-non-terminal-border-color . "Black") + (ebnf-repeat-border-color . "Black") + (ebnf-special-border-color . "Black") + (ebnf-terminal-border-color . "Black") + (gnus-article-button-face . bold) + (gnus-article-mouse-face . highlight) + (gnus-carpal-button-face . bold) + (gnus-carpal-header-face . bold-italic) + (gnus-cite-attribution-face . gnus-cite-attribution-face) + (gnus-mouse-face . highlight) + (gnus-selected-tree-face . modeline) + (gnus-signature-face . gnus-signature-face) + (gnus-summary-selected-face . gnus-summary-selected-face) + (help-highlight-face . underline) + (list-matching-lines-face . bold) + (ps-line-number-color . "black") + (ps-zebra-color . 0.95) + (tags-tag-face . default) + (vc-annotate-very-old-color . "#0046FF") + (view-highlight-face . highlight) + (widget-mouse-face . highlight)) + (default ((t (:stipple nil :background "black" :foreground "white" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-courier new")))) + (Info-title-1-face ((t (:bold t :weight bold :family "helv" :height 1.728)))) + (Info-title-2-face ((t (:bold t :family "helv" :weight bold :height 1.44)))) + (Info-title-3-face ((t (:bold t :weight bold :family "helv" :height 1.2)))) + (Info-title-4-face ((t (:bold t :family "helv" :weight bold)))) + (bbdb-company ((t (:italic t :slant italic)))) + (bbdb-field-name ((t (:bold t :weight bold)))) + (bbdb-field-value ((t (nil)))) + (bbdb-name ((t (:underline t)))) + (bold ((t (:bold t :weight bold)))) + (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (border ((t (:background "black")))) + (change-log-acknowledgement-face ((t (:italic t :slant oblique :foreground "AntiqueWhite3")))) + (change-log-conditionals-face ((t (:foreground "Aquamarine")))) + (change-log-date-face ((t (:italic t :slant oblique :foreground "BurlyWood")))) + (change-log-email-face ((t (:foreground "Aquamarine")))) + (change-log-file-face ((t (:bold t :family "Verdana" :weight bold :foreground "LightSkyBlue" :height 0.9)))) + (change-log-function-face ((t (:foreground "Aquamarine")))) + (change-log-list-face ((t (:foreground "LightSkyBlue")))) + (change-log-name-face ((t (:bold t :weight bold :foreground "Gold")))) + (clear-case-mode-string-face ((t (:bold t :family "Arial" :box (:line-width 2 :color "grey" :style released-button) :foreground "black" :background "grey" :weight bold :height 0.9)))) + (comint-highlight-input ((t (:bold t :weight bold)))) + (comint-highlight-prompt ((t (:foreground "cyan")))) + (cursor ((t (:background "yellow")))) + (custom-button-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style released-button))))) + (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style pressed-button))))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-comment-face ((t (:background "dim gray")))) + (custom-comment-tag-face ((t (:foreground "gray80")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:bold t :family "helv" :weight bold :height 1.1)))) + (custom-group-tag-face ((t (:bold t :family "helv" :foreground "light blue" :weight bold :height 1.1)))) + (custom-group-tag-face-1 ((t (:bold t :family "helv" :foreground "pink" :weight bold :height 1.1)))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "lime green")))) + (custom-variable-button-face ((t (:bold t :underline t :weight bold)))) + (custom-variable-tag-face ((t (:bold t :family "helv" :foreground "light blue" :weight bold :height 1.2)))) + (diff-added-face ((t (nil)))) + (diff-changed-face ((t (nil)))) + (diff-context-face ((t (:foreground "grey70")))) + (diff-file-header-face ((t (:bold t :background "grey60" :weight bold)))) + (diff-function-face ((t (:foreground "grey70")))) + (diff-header-face ((t (:background "grey45")))) + (diff-hunk-header-face ((t (:background "grey45")))) + (diff-index-face ((t (:bold t :weight bold :background "grey60")))) + (diff-nonexistent-face ((t (:bold t :weight bold :background "grey60")))) + (diff-removed-face ((t (nil)))) + (fixed-pitch ((t (:family "courier")))) + (font-lock-builtin-face ((t (:foreground "SteelBlue")))) + (font-lock-comment-face ((t (:italic t :foreground "AntiqueWhite3" :slant oblique)))) + (font-lock-constant-face ((t (:bold t :foreground "Gold" :weight bold)))) + (font-lock-doc-face ((t (:italic t :slant oblique :foreground "BurlyWood")))) + (font-lock-doc-string-face ((t (:italic t :slant oblique :foreground "BurlyWood")))) + (font-lock-function-name-face ((t (:bold t :foreground "LightSkyBlue" :weight bold :height 0.9 :family "Verdana")))) + (font-lock-keyword-face ((t (:foreground "LightSkyBlue")))) + (font-lock-preprocessor-face ((t (:bold t :foreground "Gold" :weight bold)))) + (font-lock-reference-face ((t (:foreground "SteelBlue")))) + (font-lock-string-face ((t (:italic t :foreground "BurlyWood" :slant oblique)))) + (font-lock-type-face ((t (:bold t :foreground "PaleGreen" :weight bold :height 0.9 :family "Verdana")))) + (font-lock-variable-name-face ((t (:foreground "Aquamarine")))) + (font-lock-warning-face ((t (:bold t :foreground "chocolate" :weight bold)))) + (fringe ((t (:family "outline-courier new" :width normal :weight normal :slant normal :underline nil :overline nil :strike-through nil :box nil :inverse-video nil :stipple nil :background "grey4" :foreground "Wheat")))) + (gnus-cite-attribution-face ((t (:italic t :slant italic)))) + (gnus-cite-face-1 ((t (:foreground "light blue")))) + (gnus-cite-face-10 ((t (:foreground "medium purple")))) + (gnus-cite-face-11 ((t (:foreground "turquoise")))) + (gnus-cite-face-2 ((t (:foreground "light cyan")))) + (gnus-cite-face-3 ((t (:foreground "light yellow")))) + (gnus-cite-face-4 ((t (:foreground "light pink")))) + (gnus-cite-face-5 ((t (:foreground "pale green")))) + (gnus-cite-face-6 ((t (:foreground "beige")))) + (gnus-cite-face-7 ((t (:foreground "orange")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-emphasis-bold ((t (:bold t :weight bold)))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) + (gnus-emphasis-italic ((t (:italic t :slant italic)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:bold t :underline t :weight bold)))) + (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :underline t :slant italic :weight bold)))) + (gnus-emphasis-underline-italic ((t (:italic t :underline t :slant italic)))) + (gnus-group-mail-1-empty-face ((t (:foreground "aquamarine1")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "aquamarine1" :weight bold)))) + (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "aquamarine2" :weight bold)))) + (gnus-group-mail-3-empty-face ((t (:foreground "aquamarine3")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "aquamarine3" :weight bold)))) + (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "aquamarine4" :weight bold)))) + (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) + (gnus-group-news-1-face ((t (:bold t :foreground "PaleTurquoise" :weight bold)))) + (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) + (gnus-group-news-2-face ((t (:bold t :foreground "turquoise" :weight bold)))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t :weight bold)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t :weight bold)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t :weight bold)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t :weight bold)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkTurquoise" :weight bold)))) + (gnus-header-content-face ((t (:italic t :foreground "forest green" :slant italic)))) + (gnus-header-from-face ((t (:foreground "spring green")))) + (gnus-header-name-face ((t (:foreground "SeaGreen")))) + (gnus-header-newsgroups-face ((t (:italic t :foreground "yellow" :slant italic)))) + (gnus-header-subject-face ((t (:foreground "SeaGreen3")))) + (gnus-signature-face ((t (:italic t :slant italic)))) + (gnus-splash-face ((t (:foreground "Brown")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "SkyBlue" :weight bold)))) + (gnus-summary-high-read-face ((t (:bold t :foreground "PaleGreen" :weight bold)))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "pink" :weight bold)))) + (gnus-summary-high-unread-face ((t (:bold t :weight bold)))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "SkyBlue" :slant italic)))) + (gnus-summary-low-read-face ((t (:italic t :foreground "PaleGreen" :slant italic)))) + (gnus-summary-low-ticked-face ((t (:italic t :foreground "pink" :slant italic)))) + (gnus-summary-low-unread-face ((t (:italic t :slant italic)))) + (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) + (gnus-summary-normal-ticked-face ((t (:foreground "pink")))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-selected-face ((t (:underline t)))) + (header-line ((t (:family "Arial" :background "grey20" :foreground "grey75" :box (:line-width 3 :color "grey20" :style released-button) :height 0.9)))) + (highlight ((t (:background "darkolivegreen")))) + (info-header-node ((t (:italic t :bold t :weight bold :slant italic :foreground "white")))) + (info-header-xref ((t (:bold t :weight bold :foreground "cyan")))) + (info-menu-5 ((t (:foreground "red1")))) + (info-menu-header ((t (:bold t :family "helv" :weight bold)))) + (info-node ((t (:italic t :bold t :foreground "white" :slant italic :weight bold)))) + (info-xref ((t (:bold t :foreground "cyan" :weight bold)))) + (isearch ((t (:background "palevioletred2")))) + (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) + (italic ((t (:italic t :slant italic)))) + (makefile-space-face ((t (:background "hotpink")))) + (menu ((t (nil)))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:bold t :foreground "green4" :weight bold)))) + (message-header-name-face ((t (:foreground "DarkGreen")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "yellow" :slant italic :weight bold)))) + (message-header-other-face ((t (:foreground "#b00000")))) + (message-header-subject-face ((t (:foreground "green3")))) + (message-header-to-face ((t (:bold t :foreground "green2" :weight bold)))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-mml-face ((t (:foreground "ForestGreen")))) + (message-separator-face ((t (:foreground "blue3")))) + (modeline ((t (:background "grey" :foreground "black" :box (:line-width 2 :color "grey" :style released-button) :height 0.9 :family "Arial")))) + (modeline-mousable-minor-mode ((t (:background "grey" :foreground "black" :box (:line-width 2 :color "grey" :style released-button) :height 0.9 :family "Arial")))) + (modeline-mousable ((t (:background "grey" :foreground "black" :box (:line-width 2 :color "grey" :style released-button) :height 0.9 :family "Arial")))) + (modeline-buffer-id ((t (:background "grey" :foreground "black" :box (:line-width 2 :color "grey" :style released-button) :height 0.9 :family "Arial")))) + (mouse ((t (:background "white")))) + (primary-selection ((t (:background "DarkSlateGray")))) + (region ((t (:background "DarkSlateGray")))) + (scroll-bar ((t (nil)))) + (secondary-selection ((t (:background "SkyBlue4")))) + (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) + (trailing-whitespace ((t (:background "white")))) + (underline ((t (:underline t)))) + (variable-pitch ((t (:family "helv")))) + (widget-button-face ((t (:bold t :weight bold)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "lime green")))) + (widget-field-face ((t (:background "dim gray")))) + (widget-inactive-face ((t (:foreground "light gray")))) + (widget-single-line-field-face ((t (:background "dim gray")))) + (zmacs-region ((t (:background "DarkSlateGray"))))))) + +(defun color-theme-deep-blue () + "Color theme by Tomas Cerha, created 2001-11-13." + (interactive) + (color-theme-install + '(color-theme-deep-blue + ((background-color . "#102e4e") + (background-mode . dark) + (border-color . "black") + (cursor-color . "green") + (foreground-color . "#eeeeee") + (mouse-color . "white")) + ((browse-kill-ring-separator-face . bold) + (display-time-mail-face . mode-line) + (help-highlight-face . underline) + (list-matching-lines-face . secondary-selection) + (vc-annotate-very-old-color . "#0046FF") + (view-highlight-face . highlight) + (widget-mouse-face . highlight)) + (default ((t (:stipple nil :background "#102e4e" :foreground "#eeeeee" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "misc-fixed")))) + (Info-title-1-face ((t (:bold t :weight bold :family "helv" :height 1.728)))) + (Info-title-2-face ((t (:bold t :family "helv" :weight bold :height 1.44)))) + (Info-title-3-face ((t (:bold t :weight bold :family "helv" :height 1.2)))) + (Info-title-4-face ((t (:bold t :family "helv" :weight bold)))) + (bold ((t (:bold t :weight bold)))) + (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (border ((t (:background "black")))) + (calendar-today-face ((t (:background "blue")))) + (change-log-acknowledgement-face ((t (:italic t :slant italic :foreground "CadetBlue")))) + (change-log-conditionals-face ((t (:foreground "SeaGreen2")))) + (change-log-date-face ((t (:foreground "burlywood")))) + (change-log-email-face ((t (:foreground "SeaGreen2")))) + (change-log-file-face ((t (:bold t :weight bold :foreground "goldenrod")))) + (change-log-function-face ((t (:foreground "SeaGreen2")))) + (change-log-list-face ((t (:bold t :weight bold :foreground "DeepSkyBlue1")))) + (change-log-name-face ((t (:foreground "gold")))) + (comint-highlight-input ((t (:bold t :weight bold)))) + (comint-highlight-prompt ((t (:foreground "cyan")))) + (cursor ((t (:background "green" :foreground "black")))) + (cvs-filename-face ((t (:foreground "lightblue")))) + (cvs-handled-face ((t (:foreground "pink")))) + (cvs-header-face ((t (:bold t :foreground "lightyellow" :weight bold)))) + (cvs-marked-face ((t (:bold t :foreground "green" :weight bold)))) + (cvs-msg-face ((t (:italic t :slant italic)))) + (cvs-need-action-face ((t (:foreground "orange")))) + (cvs-unknown-face ((t (:foreground "red")))) + (diary-face ((t (:foreground "orange red")))) + (diff-added-face ((t (nil)))) + (diff-changed-face ((t (nil)))) + (diff-context-face ((t (:foreground "grey70")))) + (diff-file-header-face ((t (:bold t :background "grey60" :weight bold)))) + (diff-function-face ((t (:foreground "grey70")))) + (diff-header-face ((t (:background "grey45")))) + (diff-hunk-header-face ((t (:background "grey45")))) + (diff-index-face ((t (:bold t :weight bold :background "grey60")))) + (diff-nonexistent-face ((t (:bold t :weight bold :background "grey60")))) + (diff-removed-face ((t (nil)))) + (fixed-pitch ((t (:family "fixed")))) + (font-latex-bold-face ((t (:bold t :foreground "OliveDrab" :weight bold)))) + (font-latex-italic-face ((t (:italic t :foreground "OliveDrab" :slant italic)))) + (font-latex-math-face ((t (:foreground "burlywood")))) + (font-latex-sedate-face ((t (:foreground "LightGray")))) + (font-latex-string-face ((t (:foreground "LightSalmon")))) + (font-latex-warning-face ((t (:bold t :foreground "Pink" :weight bold)))) + (font-lock-builtin-face ((t (:foreground "LightCoral")))) + (font-lock-comment-face ((t (:italic t :foreground "CadetBlue" :slant italic)))) + (font-lock-constant-face ((t (:foreground "gold")))) + (font-lock-doc-face ((t (:foreground "BlanchedAlmond")))) + (font-lock-doc-string-face ((t (:foreground "BlanchedAlmond")))) + (font-lock-function-name-face ((t (:bold t :foreground "goldenrod" :weight bold)))) + (font-lock-keyword-face ((t (:bold t :foreground "DeepSkyBlue1" :weight bold)))) + (font-lock-preprocessor-face ((t (:foreground "gold")))) + (font-lock-reference-face ((t (:foreground "LightCoral")))) + (font-lock-string-face ((t (:foreground "burlywood")))) + (font-lock-type-face ((t (:foreground "CadetBlue1")))) + (font-lock-variable-name-face ((t (:foreground "SeaGreen2")))) + (font-lock-warning-face ((t (:foreground "yellow")))) + (fringe ((t (:background "#405060")))) + (header-line ((t (:box (:line-width 2 :style released-button) :background "grey20" :foreground "grey90" :box nil)))) + (highlight ((t (:background "darkgreen")))) + (holiday-face ((t (:foreground "green")))) + (info-header-node ((t (:foreground "DeepSkyBlue1")))) + (info-header-xref ((t (:bold t :weight bold :foreground "SeaGreen2")))) + (info-menu-5 ((t (:foreground "wheat")))) + (info-menu-header ((t (:bold t :family "helv" :weight bold)))) + (info-node ((t (:foreground "DeepSkyBlue1")))) + (info-xref ((t (:bold t :foreground "SeaGreen2" :weight bold)))) + (isearch ((t (:background "palevioletred2" :foreground "brown4")))) + (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) + (italic ((t (:italic t :slant italic)))) + (menu ((t (:background "gray" :foreground "black" :family "helvetica")))) + (modeline ((t (:background "gray" :foreground "black" :box (:line-width 2 :style released-button))))) + (modeline-buffer-id ((t (:background "gray" :foreground "black" :box (:line-width 2 :style released-button))))) + (modeline-mousable ((t (:background "gray" :foreground "black" :box (:line-width 2 :style released-button))))) + (modeline-mousable-minor-mode ((t (:background "gray" :foreground "black" :box (:line-width 2 :style released-button))))) + (mouse ((t (:background "white")))) + (region ((t (:background "DarkCyan")))) + (scroll-bar ((t (:background "gray" :foreground "#506070")))) + (secondary-selection ((t (:background "yellow" :foreground "gray10")))) + (show-paren-match-face ((t (:bold t :foreground "yellow" :weight bold)))) + (show-paren-mismatch-face ((t (:bold t :foreground "red" :weight bold)))) + (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) + (tooltip ((t (:background "lightyellow" :foreground "black")))) + (trailing-whitespace ((t (:background "#102e4e")))) + (underline ((t (:underline t)))) + (variable-pitch ((t (:family "helv")))) + (widget-button-face ((t (:bold t :weight bold)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "lime green")))) + (widget-field-face ((t (:background "dim gray")))) + (widget-inactive-face ((t (:foreground "light gray")))) + (widget-single-line-field-face ((t (:background "dim gray"))))))) + +(defun color-theme-kingsajz () + "Color theme by Olgierd \"Kingsajz\" Ziolko, created 2001-12-04. +Another theme with wheat on DarkSlatGrey. Based on Subtle Hacker. +Used on Emacs 21.1 @ WinMe. Not tested on any other systems. + +Some faces uses Andale mono font (nice fixed-width font). +It is available at: http://www.microsoft.com/typography/downloads/andale32.exe + +Hail Eris! All hail Discordia!" + (interactive) + (color-theme-install + '(color-theme-kingsajz + ((background-color . "darkslategrey") + (background-mode . dark) + (border-color . "black") + (cursor-color . "LightGray") + (foreground-color . "wheat") + (mouse-color . "Grey")) + ((apropos-keybinding-face . underline) + (apropos-label-face face italic mouse-face highlight) + (apropos-match-face . secondary-selection) + (apropos-property-face . bold-italic) + (apropos-symbol-face . info-xref) + (display-time-mail-face . mode-line) + (gnus-article-button-face . bold) + (gnus-article-mouse-face . highlight) + (gnus-carpal-button-face . bold) + (gnus-carpal-header-face . bold-italic) + (gnus-cite-attribution-face . gnus-cite-attribution-face) + (gnus-mouse-face . highlight) + (gnus-selected-tree-face . modeline) + (gnus-signature-face . gnus-signature-face) + (gnus-summary-selected-face . gnus-summary-selected-face) + (gnus-treat-display-xface . head) + (help-highlight-face . underline) + (list-matching-lines-face . bold) + (view-highlight-face . highlight) + (widget-mouse-face . highlight)) + (default ((t (:stipple nil :background "darkslategrey" :foreground "wheat" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-andale mono")))) + (bbdb-field-name ((t (:foreground "green")))) + (bg:erc-color-face0 ((t (:background "White")))) + (bg:erc-color-face1 ((t (:background "black")))) + (bg:erc-color-face10 ((t (:background "lightblue1")))) + (bg:erc-color-face11 ((t (:background "cyan")))) + (bg:erc-color-face12 ((t (:background "blue")))) + (bg:erc-color-face13 ((t (:background "deeppink")))) + (bg:erc-color-face14 ((t (:background "gray50")))) + (bg:erc-color-face15 ((t (:background "gray90")))) + (bg:erc-color-face2 ((t (:background "blue4")))) + (bg:erc-color-face3 ((t (:background "green4")))) + (bg:erc-color-face4 ((t (:background "red")))) + (bg:erc-color-face5 ((t (:background "brown")))) + (bg:erc-color-face6 ((t (:background "purple")))) + (bg:erc-color-face7 ((t (:background "orange")))) + (bg:erc-color-face8 ((t (:background "yellow")))) + (bg:erc-color-face9 ((t (:background "green")))) + (blue ((t (:foreground "cyan")))) + (bold ((t (:bold t :foreground "OrangeRed" :weight bold :family "Arial")))) + (bold-italic ((t (:italic t :bold t :slant italic :weight bold :family "Arial")))) + (border ((t (:background "black")))) + (calendar-today-face ((t (:underline t)))) + (comint-highlight-input ((t (:bold t :weight bold)))) + (comint-highlight-prompt ((t (:foreground "cyan")))) + (cperl-array-face ((t (:foreground "Yellow")))) + (cperl-hash-face ((t (:foreground "White")))) + (cperl-nonoverridable-face ((t (:foreground "SkyBlue")))) + (cursor ((t (:background "LightGray")))) + (custom-button-face ((t (:foreground "MediumSlateBlue" :underline t)))) + (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style pressed-button))))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-comment-face ((t (:background "dim gray")))) + (custom-comment-tag-face ((t (:foreground "gray80")))) + (custom-documentation-face ((t (:foreground "Grey")))) + (custom-face-tag-face ((t (:bold t :family "Arial" :weight bold :height 1.2)))) + (custom-group-tag-face ((t (:foreground "MediumAquamarine")))) + (custom-group-tag-face-1 ((t (:bold t :family "Arial" :foreground "pink" :weight bold :height 1.2)))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "Coral")))) + (custom-variable-button-face ((t (:underline t)))) + (custom-variable-tag-face ((t (:foreground "Aquamarine")))) + (date ((t (:foreground "green")))) + (diary-face ((t (:bold t :foreground "IndianRed" :weight bold)))) + (dired-face-directory ((t (:bold t :foreground "sky blue" :weight bold)))) + (dired-face-executable ((t (:foreground "green yellow")))) + (dired-face-flagged ((t (:foreground "tomato")))) + (dired-face-marked ((t (:foreground "light salmon")))) + (dired-face-permissions ((t (:foreground "aquamarine")))) + (erc-action-face ((t (:bold t :weight bold)))) + (erc-bold-face ((t (:bold t :weight bold)))) + (erc-default-face ((t (nil)))) + (erc-direct-msg-face ((t (:foreground "pale green")))) + (erc-error-face ((t (:bold t :foreground "IndianRed" :weight bold)))) + (erc-highlight-face ((t (:bold t :foreground "pale green" :weight bold)))) + (erc-host-danger-face ((t (:foreground "red")))) + (erc-input-face ((t (:foreground "light blue")))) + (erc-inverse-face ((t (:background "steel blue")))) + (erc-notice-face ((t (:foreground "light salmon")))) + (erc-pal-face ((t (:foreground "pale green")))) + (erc-prompt-face ((t (:bold t :foreground "light blue" :weight bold)))) + (erc-underline-face ((t (:underline t)))) + (eshell-ls-archive-face ((t (:bold t :foreground "IndianRed" :weight bold)))) + (eshell-ls-backup-face ((t (:foreground "Grey")))) + (eshell-ls-clutter-face ((t (:bold t :foreground "DimGray" :weight bold)))) + (eshell-ls-directory-face ((t (:bold t :foreground "MediumSlateBlue" :weight bold)))) + (eshell-ls-executable-face ((t (:bold t :foreground "Coral" :weight bold)))) + (eshell-ls-missing-face ((t (:bold t :foreground "black" :weight bold)))) + (eshell-ls-picture-face ((t (:foreground "Violet")))) + (eshell-ls-product-face ((t (:foreground "LightSalmon")))) + (eshell-ls-readonly-face ((t (:foreground "Aquamarine")))) + (eshell-ls-special-face ((t (:bold t :foreground "Gold" :weight bold)))) + (eshell-ls-symlink-face ((t (:bold t :foreground "White" :weight bold)))) + (eshell-ls-text-face ((t (:foreground "medium aquamarine")))) + (eshell-ls-todo-face ((t (:bold t :foreground "aquamarine" :weight bold)))) + (eshell-ls-unreadable-face ((t (:foreground "DimGray")))) + (eshell-prompt-face ((t (:foreground "powder blue")))) + (face-1 ((t (:stipple nil :foreground "royal blue" :family "andale mono")))) + (face-2 ((t (:stipple nil :foreground "DeepSkyBlue1" :overline nil :underline nil :slant normal :family "outline-andale mono")))) + (face-3 ((t (:stipple nil :foreground "NavajoWhite3")))) + (fg:erc-color-face0 ((t (:foreground "white")))) + (fg:erc-color-face1 ((t (:foreground "beige")))) + (fg:erc-color-face10 ((t (:foreground "pale goldenrod")))) + (fg:erc-color-face11 ((t (:foreground "light goldenrod yellow")))) + (fg:erc-color-face12 ((t (:foreground "light yellow")))) + (fg:erc-color-face13 ((t (:foreground "yellow")))) + (fg:erc-color-face14 ((t (:foreground "light goldenrod")))) + (fg:erc-color-face15 ((t (:foreground "lime green")))) + (fg:erc-color-face2 ((t (:foreground "lemon chiffon")))) + (fg:erc-color-face3 ((t (:foreground "light cyan")))) + (fg:erc-color-face4 ((t (:foreground "powder blue")))) + (fg:erc-color-face5 ((t (:foreground "sky blue")))) + (fg:erc-color-face6 ((t (:foreground "dark sea green")))) + (fg:erc-color-face7 ((t (:foreground "pale green")))) + (fg:erc-color-face8 ((t (:foreground "medium spring green")))) + (fg:erc-color-face9 ((t (:foreground "khaki")))) + (fixed-pitch ((t (:family "courier")))) + (font-lock-builtin-face ((t (:bold t :foreground "PaleGreen" :weight bold)))) + (font-lock-comment-face ((t (:foreground "White")))) + (font-lock-constant-face ((t (:bold t :foreground "Aquamarine" :weight bold)))) + (font-lock-doc-face ((t (:italic t :slant italic :foreground "LightSalmon")))) + (font-lock-doc-string-face ((t (:foreground "LightSalmon")))) + (font-lock-function-name-face ((t (:bold t :foreground "MediumSlateBlue" :weight bold)))) + (font-lock-keyword-face ((t (:foreground "Salmon")))) + (font-lock-preprocessor-face ((t (:foreground "Salmon")))) + (font-lock-reference-face ((t (:foreground "pale green")))) + (font-lock-string-face ((t (:italic t :foreground "LightSalmon" :slant italic)))) + (font-lock-type-face ((t (:bold t :foreground "YellowGreen" :weight bold)))) + (font-lock-variable-name-face ((t (:italic t :bold t :foreground "Aquamarine" :slant italic :weight bold)))) + (font-lock-warning-face ((t (:bold t :foreground "IndianRed" :weight bold)))) + (fringe ((t (:background "darkslategrey")))) + (gnus-cite-attribution-face ((t (:family "arial")))) + (gnus-cite-face-1 ((t (:foreground "DarkGoldenrod3")))) + (gnus-cite-face-10 ((t (nil)))) + (gnus-cite-face-11 ((t (nil)))) + (gnus-cite-face-2 ((t (:foreground "IndianRed3")))) + (gnus-cite-face-3 ((t (:foreground "tomato")))) + (gnus-cite-face-4 ((t (:foreground "yellow green")))) + (gnus-cite-face-5 ((t (:foreground "SteelBlue3")))) + (gnus-cite-face-6 ((t (:foreground "Azure3")))) + (gnus-cite-face-7 ((t (:foreground "Azure4")))) + (gnus-cite-face-8 ((t (:foreground "SpringGreen4")))) + (gnus-cite-face-9 ((t (:foreground "SlateGray4")))) + (gnus-emphasis-bold ((t (:bold t :foreground "greenyellow" :weight bold :family "Arial")))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t :foreground "OrangeRed1" :slant italic :weight bold :family "arial")))) + (gnus-emphasis-highlight-words ((t (:background "black" :foreground "khaki")))) + (gnus-emphasis-italic ((t (:italic t :bold t :foreground "orange" :slant italic :weight bold :family "Arial")))) + (gnus-emphasis-underline ((t (:foreground "greenyellow" :underline t)))) + (gnus-emphasis-underline-bold ((t (:bold t :foreground "khaki" :underline t :weight bold :family "Arial")))) + (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :underline t :slant italic :weight bold :family "Arial")))) + (gnus-emphasis-underline-italic ((t (:italic t :foreground "orange" :underline t :slant italic :family "Arial")))) + (gnus-group-mail-1-empty-face ((t (:foreground "Salmon4")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "firebrick1" :weight bold)))) + (gnus-group-mail-2-empty-face ((t (:foreground "turquoise4")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "turquoise" :weight bold)))) + (gnus-group-mail-3-empty-face ((t (:foreground "LightCyan4")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "LightCyan1" :weight bold)))) + (gnus-group-mail-low-empty-face ((t (:foreground "SteelBlue4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "SteelBlue2" :weight bold)))) + (gnus-group-news-1-empty-face ((t (:foreground "Salmon4")))) + (gnus-group-news-1-face ((t (:bold t :foreground "FireBrick1" :weight bold)))) + (gnus-group-news-2-empty-face ((t (:foreground "darkorange3")))) + (gnus-group-news-2-face ((t (:bold t :foreground "dark orange" :weight bold)))) + (gnus-group-news-3-empty-face ((t (:foreground "turquoise4")))) + (gnus-group-news-3-face ((t (:bold t :foreground "Aquamarine" :weight bold)))) + (gnus-group-news-4-empty-face ((t (:foreground "SpringGreen4")))) + (gnus-group-news-4-face ((t (:bold t :foreground "SpringGreen2" :weight bold)))) + (gnus-group-news-5-empty-face ((t (:foreground "OliveDrab4")))) + (gnus-group-news-5-face ((t (:bold t :foreground "OliveDrab2" :weight bold)))) + (gnus-group-news-6-empty-face ((t (:foreground "DarkGoldenrod4")))) + (gnus-group-news-6-face ((t (:bold t :foreground "DarkGoldenrod3" :weight bold)))) + (gnus-group-news-low-empty-face ((t (:foreground "wheat4")))) + (gnus-group-news-low-face ((t (:bold t :foreground "tan4" :weight bold)))) + (gnus-header-content-face ((t (:foreground "LightSkyBlue3")))) + (gnus-header-from-face ((t (:bold t :foreground "light cyan" :weight bold)))) + (gnus-header-name-face ((t (:bold t :foreground "DodgerBlue1" :weight bold)))) + (gnus-header-newsgroups-face ((t (:italic t :bold t :foreground "LightSkyBlue3" :slant italic :weight bold)))) + (gnus-header-subject-face ((t (:bold t :foreground "light cyan" :weight bold)))) + (gnus-signature-face ((t (:italic t :foreground "salmon" :slant italic)))) + (gnus-splash-face ((t (:foreground "Firebrick1")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "MistyRose4" :weight bold)))) + (gnus-summary-high-read-face ((t (:bold t :foreground "tomato3" :weight bold)))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "coral" :weight bold)))) + (gnus-summary-high-unread-face ((t (:italic t :bold t :foreground "red1" :slant italic :weight bold)))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "DarkSeaGreen4" :slant italic)))) + (gnus-summary-low-read-face ((t (:foreground "SeaGreen4")))) + (gnus-summary-low-ticked-face ((t (:italic t :foreground "Green4" :slant italic)))) + (gnus-summary-low-unread-face ((t (:italic t :foreground "green3" :slant italic)))) + (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "khaki4")))) + (gnus-summary-normal-ticked-face ((t (:foreground "khaki3")))) + (gnus-summary-normal-unread-face ((t (:foreground "khaki")))) + (gnus-summary-selected-face ((t (:foreground "gold" :underline t)))) + (green ((t (:foreground "green")))) + (gui-button-face ((t (:foreground "red" :background "black")))) + (gui-element ((t (:bold t :background "#ffffff" :foreground "#000000" :weight bold)))) + (header-line ((t (:box (:line-width -1 :style released-button) :background "grey20" :foreground "grey90" :box nil)))) + (highlight ((t (:background "PaleGreen" :foreground "DarkGreen")))) + (highline-face ((t (:background "SeaGreen")))) + (holiday-face ((t (:background "DimGray")))) + (info-menu-5 ((t (:underline t)))) + (info-node ((t (:bold t :foreground "DodgerBlue1" :underline t :weight bold)))) + (info-xref ((t (:bold t :foreground "DodgerBlue3" :weight bold)))) + (isearch ((t (:background "sea green" :foreground "black")))) + (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) + (italic ((t (:italic t :foreground "chocolate3" :slant italic)))) + (menu ((t (nil)))) + (message-cited-text-face ((t (:foreground "White")))) + (message-header-cc-face ((t (:foreground "light cyan")))) + (message-header-name-face ((t (:foreground "DodgerBlue1")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "LightSkyBlue3" :slant italic :weight bold)))) + (message-header-other-face ((t (:foreground "LightSkyBlue3")))) + (message-header-subject-face ((t (:bold t :foreground "light cyan" :weight bold)))) + (message-header-to-face ((t (:bold t :foreground "light cyan" :weight bold)))) + (message-header-xheader-face ((t (:foreground "DodgerBlue3")))) + (message-mml-face ((t (:foreground "ForestGreen")))) + (message-separator-face ((t (:background "cornflower blue" :foreground "chocolate")))) + (modeline ((t (:background "dark olive green" :foreground "wheat" :box (:line-width -1 :style released-button))))) + (modeline-buffer-id ((t (:bold t :background "dark olive green" :foreground "beige" :weight bold :family "arial")))) + (modeline-mousable ((t (:bold t :background "dark olive green" :foreground "yellow green" :weight bold :family "arial")))) + (modeline-mousable-minor-mode ((t (:bold t :background "dark olive green" :foreground "wheat" :weight bold :family "arial")))) + (mouse ((t (:background "Grey")))) + (paren-blink-off ((t (:foreground "brown")))) + (region ((t (:background "dark cyan" :foreground "cyan")))) + (ruler-mode-column-number-face ((t (:box (:color "grey76" :line-width 1 :style released-button) :background "grey76" :stipple nil :inverse-video nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-andale mono" :foreground "black")))) + (ruler-mode-current-column-face ((t (:bold t :box (:color "grey76" :line-width 1 :style released-button) :background "grey76" :stipple nil :inverse-video nil :strike-through nil :overline nil :underline nil :slant normal :width normal :family "outline-andale mono" :foreground "yellow" :weight bold)))) + (ruler-mode-default-face ((t (:family "outline-andale mono" :width normal :weight normal :slant normal :underline nil :overline nil :strike-through nil :inverse-video nil :stipple nil :background "grey76" :foreground "grey64" :box (:color "grey76" :line-width 1 :style released-button))))) + (ruler-mode-fill-column-face ((t (:box (:color "grey76" :line-width 1 :style released-button) :background "grey76" :stipple nil :inverse-video nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-andale mono" :foreground "red")))) + (ruler-mode-margins-face ((t (:box (:color "grey76" :line-width 1 :style released-button) :foreground "grey64" :stipple nil :inverse-video nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-andale mono" :background "grey64")))) + (ruler-mode-tab-stop-face ((t (:box (:color "grey76" :line-width 1 :style released-button) :background "grey76" :stipple nil :inverse-video nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-andale mono" :foreground "steelblue")))) + (scroll-bar ((t (nil)))) + (secondary-selection ((t (:background "Aquamarine" :foreground "SlateBlue")))) + (show-paren-match-face ((t (:bold t :background "Aquamarine" :foreground "steel blue" :weight bold)))) + (show-paren-mismatch-face ((t (:background "Red" :foreground "White")))) + (swbuff-current-buffer-face ((t (:bold t :foreground "red" :weight bold)))) + (text-cursor ((t (:background "Red" :foreground "white")))) + (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) + (trailing-whitespace ((t (:background "red")))) + (underline ((t (:underline t)))) + (variable-pitch ((t (:family "Arial")))) + (w3m-anchor-face ((t (:bold t :foreground "DodgerBlue1" :weight bold)))) + (w3m-arrived-anchor-face ((t (:bold t :foreground "DodgerBlue3" :weight bold)))) + (w3m-header-line-location-content-face ((t (:background "dark olive green" :foreground "wheat")))) + (w3m-header-line-location-title-face ((t (:background "dark olive green" :foreground "beige")))) + (widget-button-face ((t (:bold t :foreground "green" :weight bold :family "courier")))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "lime green")))) + (widget-field-face ((t (:foreground "LightBlue")))) + (widget-inactive-face ((t (:foreground "DimGray")))) + (widget-single-line-field-face ((t (:foreground "LightBlue")))) + (woman-bold-face ((t (:bold t :weight bold :family "Arial")))) + (woman-italic-face ((t (:italic t :foreground "beige" :slant italic :family "Arial")))) + (woman-unknown-face ((t (:foreground "LightSalmon")))) + (zmacs-region ((t (:background "dark cyan" :foreground "cyan"))))))) + +(defun color-theme-comidia () + "Color theme by Marcelo Dias de Toledo, created 2001-12-17. +Steel blue on black." + (interactive) + (color-theme-install + '(color-theme-comidia + ((background-color . "Black") + (background-mode . dark) + (border-color . "black") + (cursor-color . "SteelBlue") + (foreground-color . "SteelBlue") + (mouse-color . "SteelBlue")) + ((display-time-mail-face . mode-line) + (gnus-mouse-face . highlight) + (gnus-summary-selected-face . gnus-summary-selected-face) + (help-highlight-face . underline) + (ispell-highlight-face . highlight) + (list-matching-lines-face . bold) + (view-highlight-face . highlight) + (widget-mouse-face . highlight)) + (default ((t (:stipple nil :background "Black" :foreground "SteelBlue" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width semi-condensed :family "misc-fixed")))) + (bg:erc-color-face0 ((t (:background "White")))) + (bg:erc-color-face1 ((t (:background "black")))) + (bg:erc-color-face10 ((t (:background "lightblue1")))) + (bg:erc-color-face11 ((t (:background "cyan")))) + (bg:erc-color-face12 ((t (:background "blue")))) + (bg:erc-color-face13 ((t (:background "deeppink")))) + (bg:erc-color-face14 ((t (:background "gray50")))) + (bg:erc-color-face15 ((t (:background "gray90")))) + (bg:erc-color-face2 ((t (:background "blue4")))) + (bg:erc-color-face3 ((t (:background "green4")))) + (bg:erc-color-face4 ((t (:background "red")))) + (bg:erc-color-face5 ((t (:background "brown")))) + (bg:erc-color-face6 ((t (:background "purple")))) + (bg:erc-color-face7 ((t (:background "orange")))) + (bg:erc-color-face8 ((t (:background "yellow")))) + (bg:erc-color-face9 ((t (:background "green")))) + (bold ((t (:bold t :weight bold)))) + (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (border ((t (:background "black")))) + (comint-highlight-input ((t (:bold t :weight bold)))) + (comint-highlight-prompt ((t (:foreground "cyan")))) + (cursor ((t (:background "SteelBlue")))) + (erc-action-face ((t (:bold t :weight bold)))) + (erc-bold-face ((t (:bold t :weight bold)))) + (erc-dangerous-host-face ((t (:foreground "red")))) + (erc-default-face ((t (nil)))) + (erc-direct-msg-face ((t (:foreground "IndianRed")))) + (erc-error-face ((t (:background "Red" :foreground "White")))) + (erc-fool-face ((t (:foreground "dim gray")))) + (erc-input-face ((t (:foreground "brown")))) + (erc-inverse-face ((t (:background "Black" :foreground "White")))) + (erc-keyword-face ((t (:bold t :foreground "pale green" :weight bold)))) + (erc-notice-face ((t (:bold t :foreground "SlateBlue" :weight bold)))) + (erc-pal-face ((t (:bold t :foreground "Magenta" :weight bold)))) + (erc-prompt-face ((t (:bold t :background "lightBlue2" :foreground "Black" :weight bold)))) + (erc-timestamp-face ((t (:bold t :foreground "green" :weight bold)))) + (erc-underline-face ((t (:underline t)))) + (fg:erc-color-face0 ((t (:foreground "White")))) + (fg:erc-color-face1 ((t (:foreground "black")))) + (fg:erc-color-face10 ((t (:foreground "lightblue1")))) + (fg:erc-color-face11 ((t (:foreground "cyan")))) + (fg:erc-color-face12 ((t (:foreground "blue")))) + (fg:erc-color-face13 ((t (:foreground "deeppink")))) + (fg:erc-color-face14 ((t (:foreground "gray50")))) + (fg:erc-color-face15 ((t (:foreground "gray90")))) + (fg:erc-color-face2 ((t (:foreground "blue4")))) + (fg:erc-color-face3 ((t (:foreground "green4")))) + (fg:erc-color-face4 ((t (:foreground "red")))) + (fg:erc-color-face5 ((t (:foreground "brown")))) + (fg:erc-color-face6 ((t (:foreground "purple")))) + (fg:erc-color-face7 ((t (:foreground "orange")))) + (fg:erc-color-face8 ((t (:foreground "yellow")))) + (fg:erc-color-face9 ((t (:foreground "green")))) + (fixed-pitch ((t (:family "courier")))) + (font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) + (font-lock-comment-face ((t (:foreground "chocolate1")))) + (font-lock-constant-face ((t (:foreground "Aquamarine")))) + (font-lock-doc-face ((t (:foreground "LightSalmon")))) + (font-lock-doc-string-face ((t (:foreground "LightSalmon")))) + (font-lock-function-name-face ((t (:foreground "LightSkyBlue")))) + (font-lock-keyword-face ((t (:foreground "Cyan")))) + (font-lock-preprocessor-face ((t (:foreground "Aquamarine")))) + (font-lock-reference-face ((t (:foreground "LightSteelBlue")))) + (font-lock-string-face ((t (:foreground "LightSalmon")))) + (font-lock-type-face ((t (:foreground "PaleGreen")))) + (font-lock-variable-name-face ((t (:foreground "LightGoldenrod")))) + (font-lock-warning-face ((t (:bold t :foreground "Pink" :weight bold)))) + (fringe ((t (:background "grey10")))) + (gnus-group-mail-1-empty-face ((t (:foreground "aquamarine1")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "aquamarine1" :weight bold)))) + (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "aquamarine2" :weight bold)))) + (gnus-group-mail-3-empty-face ((t (:foreground "aquamarine3")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "aquamarine3" :weight bold)))) + (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "aquamarine4" :weight bold)))) + (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) + (gnus-group-news-1-face ((t (:bold t :foreground "PaleTurquoise" :weight bold)))) + (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) + (gnus-group-news-2-face ((t (:bold t :foreground "turquoise" :weight bold)))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t :weight bold)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t :weight bold)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t :weight bold)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t :weight bold)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkTurquoise" :weight bold)))) + (gnus-splash-face ((t (:foreground "Brown")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "SkyBlue" :weight bold)))) + (gnus-summary-high-read-face ((t (:bold t :foreground "PaleGreen" :weight bold)))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "pink" :weight bold)))) + (gnus-summary-high-unread-face ((t (:bold t :weight bold)))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "SkyBlue" :slant italic)))) + (gnus-summary-low-read-face ((t (:italic t :foreground "PaleGreen" :slant italic)))) + (gnus-summary-low-ticked-face ((t (:italic t :foreground "pink" :slant italic)))) + (gnus-summary-low-unread-face ((t (:italic t :slant italic)))) + (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) + (gnus-summary-normal-ticked-face ((t (:foreground "pink")))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-selected-face ((t (:underline t)))) + (header-line ((t (:family "neep" :width condensed :box (:line-width 1 :style none) :background "grey20" :foreground "grey90" :box nil)))) + (highlight ((t (:background "darkolivegreen")))) + (isearch ((t (:background "palevioletred2" :foreground "brown4")))) + (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) + (italic ((t (:italic t :slant italic)))) + (menu ((t (nil)))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:bold t :foreground "green4" :weight bold)))) + (message-header-name-face ((t (:foreground "DarkGreen")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "yellow" :slant italic :weight bold)))) + (message-header-other-face ((t (:foreground "#b00000")))) + (message-header-subject-face ((t (:foreground "green3")))) + (message-header-to-face ((t (:bold t :foreground "green2" :weight bold)))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-mml-face ((t (:foreground "ForestGreen")))) + (message-separator-face ((t (:foreground "blue3")))) + (modeline ((t (:background "Gray10" :foreground "SteelBlue" :box (:line-width 1 :style none) :width condensed :family "neep")))) + (modeline-buffer-id ((t (:background "Gray10" :foreground "SteelBlue" :box (:line-width 1 :style none) :width condensed :family "neep")))) + (modeline-mousable-minor-mode ((t (:background "Gray10" :foreground "SteelBlue" :box (:line-width 1 :style none) :width condensed :family "neep")))) + (modeline-mousable ((t (:background "Gray10" :foreground "SteelBlue" :box (:line-width 1 :style none) :width condensed :family "neep")))) + (mouse ((t (:background "SteelBlue")))) + (primary-selection ((t (:background "blue3")))) + (region ((t (:background "blue3")))) + (scroll-bar ((t (:background "grey75")))) + (secondary-selection ((t (:background "SkyBlue4")))) + (speedbar-button-face ((t (:foreground "green3")))) + (speedbar-directory-face ((t (:foreground "light blue")))) + (speedbar-file-face ((t (:foreground "cyan")))) + (speedbar-highlight-face ((t (:background "sea green")))) + (speedbar-selected-face ((t (:foreground "red" :underline t)))) + (speedbar-tag-face ((t (:foreground "yellow")))) + (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) + (tooltip ((t (:background "lightyellow" :foreground "black")))) + (trailing-whitespace ((t (:background "red")))) + (underline ((t (:underline t)))) + (variable-pitch ((t (:family "helv")))) + (widget-button-face ((t (:bold t :weight bold)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "lime green")))) + (widget-field-face ((t (:background "dim gray")))) + (widget-inactive-face ((t (:foreground "light gray")))) + (widget-single-line-field-face ((t (:background "dim gray")))) + (zmacs-region ((t (:background "blue3"))))))) + +(defun color-theme-katester () + "Color theme by walterh@rocketmail.com, created 2001-12-12. +A pastelly-mac like color-theme." + (interactive) + (color-theme-standard) + (let ((color-theme-is-cumulative t)) + (color-theme-install + '(color-theme-katester + ((background-color . "ivory") + (cursor-color . "slateblue") + (foreground-color . "black") + (mouse-color . "slateblue")) + (default ((t ((:background "ivory" :foreground "black"))))) + (bold ((t (:bold t)))) + (font-lock-string-face ((t (:foreground "maroon")))) + (font-lock-keyword-face ((t (:foreground "blue")))) + (font-lock-constant-face ((t (:foreground "darkblue")))) + (font-lock-type-face ((t (:foreground "black")))) + (font-lock-variable-name-face ((t (:foreground "black")))) + (font-lock-function-name-face ((t (:bold t :underline t)))) + (font-lock-comment-face ((t (:background "seashell")))) + (highlight ((t (:background "lavender")))) + (italic ((t (:italic t)))) + (modeline ((t (:background "moccasin" :foreground "black")))) + (region ((t (:background "lavender" )))) + (underline ((t (:underline t)))))))) + +(defun color-theme-arjen () + "Color theme by awiersma, created 2001-08-27." + (interactive) + (color-theme-install + '(color-theme-arjen + ((background-color . "black") + (background-mode . dark) + (border-color . "black") + (cursor-color . "yellow") + (foreground-color . "White") + (mouse-color . "sienna1")) + ((buffers-tab-face . buffers-tab) + (cperl-here-face . font-lock-string-face) + (cperl-invalid-face quote underline) + (cperl-pod-face . font-lock-comment-face) + (cperl-pod-head-face . font-lock-variable-name-face) + (vc-mode-face . highlight)) + (default ((t (:background "black" :foreground "white")))) + (blue ((t (:foreground "blue")))) + (bold ((t (:bold t)))) + (bold-italic ((t (:bold t)))) + (border-glyph ((t (nil)))) + (buffers-tab ((t (:background "black" :foreground "white")))) + (calendar-today-face ((t (:underline t)))) + (cperl-array-face ((t (:foreground "darkseagreen")))) + (cperl-hash-face ((t (:foreground "darkseagreen")))) + (cperl-nonoverridable-face ((t (:foreground "SkyBlue")))) + (custom-button-face ((t (nil)))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face ((t (:underline t :foreground "light blue")))) + (custom-group-tag-face-1 ((t (:underline t :foreground "pink")))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "lime green")))) + (custom-variable-button-face ((t (:underline t :bold t)))) + (custom-variable-tag-face ((t (:underline t :foreground "light blue")))) + (diary-face ((t (:foreground "IndianRed")))) + (erc-action-face ((t (:bold t)))) + (erc-bold-face ((t (:bold t)))) + (erc-default-face ((t (nil)))) + (erc-direct-msg-face ((t (:foreground "sandybrown")))) + (erc-error-face ((t (:bold t :foreground "IndianRed")))) + (erc-input-face ((t (:foreground "Beige")))) + (erc-inverse-face ((t (:background "wheat" :foreground "darkslategrey")))) + (erc-notice-face ((t (:foreground "MediumAquamarine")))) + (erc-pal-face ((t (:foreground "pale green")))) + (erc-prompt-face ((t (:foreground "MediumAquamarine")))) + (erc-underline-face ((t (:underline t)))) + (eshell-ls-archive-face ((t (:bold t :foreground "IndianRed")))) + (eshell-ls-backup-face ((t (:foreground "Grey")))) + (eshell-ls-clutter-face ((t (:foreground "DimGray")))) + (eshell-ls-directory-face ((t (:bold t :foreground "MediumSlateBlue")))) + (eshell-ls-executable-face ((t (:foreground "Coral")))) + (eshell-ls-missing-face ((t (:foreground "black")))) + (eshell-ls-picture-face ((t (:foreground "Violet")))) + (eshell-ls-product-face ((t (:foreground "sandybrown")))) + (eshell-ls-readonly-face ((t (:foreground "Aquamarine")))) + (eshell-ls-special-face ((t (:foreground "Gold")))) + (eshell-ls-symlink-face ((t (:foreground "White")))) + (eshell-ls-unreadable-face ((t (:foreground "DimGray")))) + (eshell-prompt-face ((t (:foreground "MediumAquamarine")))) + (fl-comment-face ((t (:foreground "pink")))) + (fl-doc-string-face ((t (:foreground "purple")))) + (fl-function-name-face ((t (:foreground "red")))) + (fl-keyword-face ((t (:foreground "cadetblue")))) + (fl-string-face ((t (:foreground "green")))) + (fl-type-face ((t (:foreground "yellow")))) + (font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) + (font-lock-comment-face ((t (:foreground "IndianRed")))) + (font-lock-constant-face ((t (:foreground "Aquamarine")))) + (font-lock-doc-string-face ((t (:foreground "DarkOrange")))) + (font-lock-function-name-face ((t (:foreground "YellowGreen")))) + (font-lock-keyword-face ((t (:foreground "PaleYellow")))) + (font-lock-preprocessor-face ((t (:foreground "Aquamarine")))) + (font-lock-reference-face ((t (:foreground "SlateBlue")))) + (font-lock-string-face ((t (:foreground "Orange")))) + (font-lock-type-face ((t (:foreground "Green")))) + (font-lock-variable-name-face ((t (:foreground "darkseagreen")))) + (font-lock-warning-face ((t (:bold t :foreground "Pink")))) + (qt-classes-face ((t (:foreground "Red")))) + (gnus-cite-attribution-face ((t (nil)))) + (gnus-cite-face-1 ((t (:bold nil :foreground "deep sky blue")))) + (gnus-cite-face-10 ((t (:foreground "medium purple")))) + (gnus-cite-face-11 ((t (:foreground "turquoise")))) + (gnus-cite-face-2 ((t (:bold nil :foreground "cadetblue")))) + (gnus-cite-face-3 ((t (:bold nil :foreground "gold")))) + (gnus-cite-face-4 ((t (:foreground "light pink")))) + (gnus-cite-face-5 ((t (:foreground "pale green")))) + (gnus-cite-face-6 ((t (:bold nil :foreground "chocolate")))) + (gnus-cite-face-7 ((t (:foreground "orange")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-emphasis-bold ((t (:bold nil)))) + (gnus-emphasis-bold-italic ((t (:bold nil)))) + (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) + (gnus-emphasis-italic ((t (nil)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:underline t :bold nil)))) + (gnus-emphasis-underline-bold-italic ((t (:underline t :bold nil)))) + (gnus-emphasis-underline-italic ((t (:underline t)))) + (gnus-group-mail-1-empty-face ((t (:foreground "aquamarine1")))) + (gnus-group-mail-1-face ((t (:bold nil :foreground "aquamarine1")))) + (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) + (gnus-group-mail-2-face ((t (:bold nil :foreground "aquamarine2")))) + (gnus-group-mail-3-empty-face ((t (:foreground "aquamarine3")))) + (gnus-group-mail-3-face ((t (:bold nil :foreground "aquamarine3")))) + (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) + (gnus-group-mail-low-face ((t (:bold nil :foreground "aquamarine4")))) + (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) + (gnus-group-news-1-face ((t (:bold nil :foreground "PaleTurquoise")))) + (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) + (gnus-group-news-2-face ((t (:bold nil :foreground "turquoise")))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold nil)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold nil)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold nil)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold nil)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) + (gnus-group-news-low-face ((t (:bold nil :foreground "DarkTurquoise")))) + (gnus-header-content-face ((t (:foreground "forest green")))) + (gnus-header-from-face ((t (:bold nil :foreground "spring green")))) + (gnus-header-name-face ((t (:foreground "deep sky blue")))) + (gnus-header-newsgroups-face ((t (:bold nil :foreground "purple")))) + (gnus-header-subject-face ((t (:bold nil :foreground "orange")))) + (gnus-signature-face ((t (:bold nil :foreground "khaki")))) + (gnus-splash-face ((t (:foreground "Brown")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold nil :foreground "SkyBlue")))) + (gnus-summary-high-read-face ((t (:bold nil :foreground "PaleGreen")))) + (gnus-summary-high-ticked-face ((t (:bold nil :foreground "pink")))) + (gnus-summary-high-unread-face ((t (:bold nil)))) + (gnus-summary-low-ancient-face ((t (:foreground "SkyBlue")))) + (gnus-summary-low-read-face ((t (:foreground "PaleGreen")))) + (gnus-summary-low-ticked-face ((t (:foreground "pink")))) + (gnus-summary-low-unread-face ((t (nil)))) + (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) + (gnus-summary-normal-ticked-face ((t (:foreground "pink")))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-selected-face ((t (:underline t)))) + (green ((t (:foreground "green")))) + (gui-button-face ((t (:background "grey75" :foreground "black")))) + (gui-element ((t (:background "#D4D0C8" :foreground "black")))) + (highlight ((t (:background "darkolivegreen")))) + (highline-face ((t (:background "SeaGreen")))) + (holiday-face ((t (:background "DimGray")))) + (info-menu-5 ((t (:underline t)))) + (info-node ((t (:underline t :bold t :foreground "DodgerBlue1")))) + (info-xref ((t (:underline t :foreground "DodgerBlue1")))) + (isearch ((t (:background "blue")))) + (isearch-secondary ((t (:foreground "red3")))) + (italic ((t (nil)))) + (left-margin ((t (nil)))) + (list-mode-item-selected ((t (:background "gray68" :foreground "white")))) + (message-cited-text-face ((t (:bold t :foreground "green")))) + (message-header-cc-face ((t (:bold t :foreground "green4")))) + (message-header-name-face ((t (:bold t :foreground "orange")))) + (message-header-newsgroups-face ((t (:bold t :foreground "violet")))) + (message-header-other-face ((t (:bold t :foreground "chocolate")))) + (message-header-subject-face ((t (:bold t :foreground "yellow")))) + (message-header-to-face ((t (:bold t :foreground "cadetblue")))) + (message-header-xheader-face ((t (:bold t :foreground "light blue")))) + (message-mml-face ((t (:bold t :foreground "Green3")))) + (message-separator-face ((t (:foreground "blue3")))) + (modeline ((t (:background "DarkRed" :foreground "white" :box (:line-width 1 :style released-button))))) + (modeline-buffer-id ((t (:background "DarkRed" :foreground "white")))) + (modeline-mousable ((t (:background "DarkRed" :foreground "white")))) + (modeline-mousable-minor-mode ((t (:background "DarkRed" :foreground "white")))) + (p4-depot-added-face ((t (:foreground "blue")))) + (p4-depot-deleted-face ((t (:foreground "red")))) + (p4-depot-unmapped-face ((t (:foreground "grey30")))) + (p4-diff-change-face ((t (:foreground "dark green")))) + (p4-diff-del-face ((t (:foreground "red")))) + (p4-diff-file-face ((t (:background "gray90")))) + (p4-diff-head-face ((t (:background "gray95")))) + (p4-diff-ins-face ((t (:foreground "blue")))) + (pointer ((t (nil)))) + (primary-selection ((t (:background "blue")))) + (red ((t (:foreground "red")))) + (region ((t (:background "blue")))) + (right-margin ((t (nil)))) + (secondary-selection ((t (:background "darkslateblue")))) + (show-paren-match-face ((t (:background "Aquamarine" :foreground "SlateBlue")))) + (show-paren-mismatch-face ((t (:background "Red" :foreground "White")))) + (text-cursor ((t (:background "yellow" :foreground "black")))) + (toolbar ((t (nil)))) + (underline ((nil (:underline nil)))) + (vertical-divider ((t (nil)))) + (widget ((t (nil)))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "lime green")))) + (widget-field-face ((t (:background "dim gray")))) + (widget-inactive-face ((t (:foreground "light gray")))) + (widget-single-line-field-face ((t (:background "dim gray")))) + (woman-bold-face ((t (:bold t)))) + (woman-italic-face ((t (:foreground "beige")))) + (woman-unknown-face ((t (:foreground "LightSalmon")))) + (yellow ((t (:foreground "yellow")))) + (zmacs-region ((t (:background "snow" :foreground "blue"))))))) + +(defun color-theme-tty-dark () + "Color theme by Oivvio Polite, created 2002-02-01. Good for tty display." + (interactive) + (color-theme-install + '(color-theme-tty-dark + ((background-color . "black") + (background-mode . dark) + (border-color . "blue") + (cursor-color . "red") + (foreground-color . "white") + (mouse-color . "black")) + ((ispell-highlight-face . highlight) + (list-matching-lines-face . bold) + (tinyreplace-:face . highlight) + (view-highlight-face . highlight)) + (default ((t (nil)))) + (bold ((t (:underline t :background "black" :foreground "white")))) + (bold-italic ((t (:underline t :foreground "white")))) + (calendar-today-face ((t (:underline t)))) + (diary-face ((t (:foreground "red")))) + (font-lock-builtin-face ((t (:foreground "blue")))) + (font-lock-comment-face ((t (:foreground "cyan")))) + (font-lock-constant-face ((t (:foreground "magenta")))) + (font-lock-function-name-face ((t (:foreground "cyan")))) + (font-lock-keyword-face ((t (:foreground "red")))) + (font-lock-string-face ((t (:foreground "green")))) + (font-lock-type-face ((t (:foreground "yellow")))) + (font-lock-variable-name-face ((t (:foreground "blue")))) + (font-lock-warning-face ((t (:bold t :foreground "magenta")))) + (highlight ((t (:background "blue" :foreground "yellow")))) + (holiday-face ((t (:background "cyan")))) + (info-menu-5 ((t (:underline t)))) + (info-node ((t (:italic t :bold t)))) + (info-xref ((t (:bold t)))) + (italic ((t (:underline t :background "red")))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:bold t :foreground "green")))) + (message-header-name-face ((t (:foreground "green")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "yellow")))) + (message-header-other-face ((t (:foreground "#b00000")))) + (message-header-subject-face ((t (:foreground "green")))) + (message-header-to-face ((t (:bold t :foreground "green")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-mml-face ((t (:foreground "green")))) + (message-separator-face ((t (:foreground "blue")))) + + (modeline ((t (:background "white" :foreground "blue")))) + (modeline-buffer-id ((t (:background "white" :foreground "red")))) + (modeline-mousable ((t (:background "white" :foreground "magenta")))) + (modeline-mousable-minor-mode ((t (:background "white" :foreground "yellow")))) + (region ((t (:background "white" :foreground "black")))) + (zmacs-region ((t (:background "cyan" :foreground "black")))) + (secondary-selection ((t (:background "blue")))) + (show-paren-match-face ((t (:background "red")))) + (show-paren-mismatch-face ((t (:background "magenta" :foreground "white")))) + (underline ((t (:underline t))))))) + +(defun color-theme-aliceblue () + "Color theme by Girish Bharadwaj, created 2002-03-27. +Includes comint prompt, custom, font-lock, isearch, +jde, senator, speedbar, and widget." + (interactive) + (color-theme-install + '(color-theme-aliceblue + ((background-color . "AliceBlue") + (background-mode . light) + (border-color . "black") + (cursor-color . "black") + (foreground-color . "DarkSlateGray4") + (mouse-color . "black")) + ((help-highlight-face . underline) + (list-matching-lines-face . bold) + (semantic-which-function-use-color . t) + (senator-eldoc-use-color . t) + (view-highlight-face . highlight) + (widget-mouse-face . highlight)) + (default ((t (:stipple nil :background "AliceBlue" :foreground "DarkSlateGray4" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-courier new")))) + (bold ((t (:bold t :weight bold)))) + (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (border ((t (:background "black")))) + (comint-highlight-input ((t (:bold t :weight bold)))) + (comint-highlight-prompt ((t (:foreground "dark blue")))) + (cursor ((t (:background "black")))) + (custom-button-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style released-button))))) + (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style pressed-button))))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-comment-face ((t (:background "gray85")))) + (custom-comment-tag-face ((t (:foreground "blue4")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:bold t :family "helv" :weight bold :height 1.2)))) + (custom-group-tag-face ((t (:bold t :foreground "blue" :weight bold :height 1.2)))) + (custom-group-tag-face-1 ((t (:bold t :family "helv" :foreground "red" :weight bold :height 1.2)))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "dark green")))) + (custom-variable-button-face ((t (:bold t :underline t :weight bold)))) + (custom-variable-tag-face ((t (:bold t :family "helv" :foreground "blue" :weight bold :height 1.2)))) + (fixed-pitch ((t (:family "courier")))) + (font-lock-builtin-face ((t (:foreground "Orchid")))) + (font-lock-comment-face ((t (:italic t :foreground "Firebrick" :slant oblique)))) + (font-lock-constant-face ((t (:foreground "CadetBlue")))) + (font-lock-function-name-face ((t (:bold t :foreground "Blue" :weight extra-bold :family "outline-verdana")))) + (font-lock-keyword-face ((t (:bold t :foreground "Purple" :weight semi-bold :family "outline-verdana")))) + (font-lock-preprocessor-face ((t (:foreground "CadetBlue")))) + (font-lock-reference-face ((t (:foreground "Orchid")))) + (font-lock-string-face ((t (:foreground "RosyBrown")))) + (font-lock-type-face ((t (:italic t :foreground "ForestGreen" :slant italic)))) + (font-lock-variable-name-face ((t (:foreground "DarkGoldenrod" :width condensed)))) + (font-lock-warning-face ((t (:bold t :foreground "Red" :weight bold)))) + (fringe ((t (:background "DarkSlateBlue")))) + (header-line ((t (:box (:line-width -1 :style released-button) :background "grey90" :foreground "grey20" :box nil)))) + (highlight ((t (:background "darkseagreen2")))) + (isearch ((t (:background "magenta4" :foreground "lightskyblue1")))) + (isearch-lazy-highlight-face ((t (:background "paleturquoise")))) + (italic ((t (:italic t :slant italic)))) + (jde-bug-breakpoint-cursor ((t (:background "brown" :foreground "cyan")))) + (jde-db-active-breakpoint-face ((t (:background "red" :foreground "black")))) + (jde-db-requested-breakpoint-face ((t (:background "yellow" :foreground "black")))) + (jde-db-spec-breakpoint-face ((t (:background "green" :foreground "black")))) + (jde-java-font-lock-api-face ((t (:foreground "dark goldenrod")))) + (jde-java-font-lock-bold-face ((t (:bold t :weight bold)))) + (jde-java-font-lock-code-face ((t (nil)))) + (jde-java-font-lock-constant-face ((t (:foreground "CadetBlue")))) + (jde-java-font-lock-doc-tag-face ((t (:foreground "green4")))) + (jde-java-font-lock-italic-face ((t (:italic t :slant italic)))) + (jde-java-font-lock-link-face ((t (:foreground "blue" :underline t :slant normal)))) + (jde-java-font-lock-modifier-face ((t (:foreground "Orchid")))) + (jde-java-font-lock-number-face ((t (:foreground "RosyBrown")))) + (jde-java-font-lock-operator-face ((t (:foreground "medium blue")))) + (jde-java-font-lock-package-face ((t (:foreground "blue3")))) + (jde-java-font-lock-pre-face ((t (nil)))) + (jde-java-font-lock-underline-face ((t (:underline t)))) + (menu ((t (nil)))) + (modeline ((t (:background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) + (modeline-buffer-id ((t (:background "grey75" :foreground "black")))) + (modeline-mousable ((t (:background "grey75" :foreground "black")))) + (modeline-mousable-minor-mode ((t (:background "grey75" :foreground "black")))) + (mouse ((t (:background "black")))) + (primary-selection ((t (:background "lightgoldenrod2")))) + (region ((t (:background "lightgoldenrod2")))) + (scroll-bar ((t (nil)))) + (secondary-selection ((t (:background "yellow")))) + (semantic-dirty-token-face ((t (:background "lightyellow")))) + (semantic-unmatched-syntax-face ((t (:underline "red")))) + (senator-intangible-face ((t (:foreground "gray25")))) + (senator-momentary-highlight-face ((t (:background "gray70")))) + (senator-read-only-face ((t (:background "#CCBBBB")))) + (show-paren-match-face ((t (:background "turquoise")))) + (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) + (speedbar-button-face ((t (:foreground "green4")))) + (speedbar-directory-face ((t (:foreground "blue4")))) + (speedbar-file-face ((t (:foreground "cyan4")))) + (speedbar-highlight-face ((t (:background "green")))) + (speedbar-selected-face ((t (:foreground "red" :underline t)))) + (speedbar-tag-face ((t (:foreground "brown")))) + (template-message-face ((t (:bold t :weight bold)))) + (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) + (trailing-whitespace ((t (:background "red")))) + (underline ((t (:underline t)))) + (variable-pitch ((t (:family "helv")))) + (widget-button-face ((t (:bold t :weight bold)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (widget-single-line-field-face ((t (:background "gray85")))) + (trailing-whitespace ((t (:background "red")))) + (underline ((t (:underline t)))) + (variable-pitch ((t (:family "helv")))) + (widget-button-face ((t (:bold t :weight bold)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (widget-single-line-field-face ((t (:background "gray85")))) + (zmacs-region ((t (:background "lightgoldenrod2"))))))) + +(defun color-theme-black-on-gray () + "Color theme by sbhojwani, created 2002-04-03. +Includes ecb, font-lock, paren, semantic, and widget faces. +Some of the font-lock faces are disabled, ie. they look just +like the default face. This is for people that don't like +the look of \"angry fruit salad\" when editing." + (interactive) + (color-theme-install + '(color-theme-black-on-gray + ((background-color . "white") + (background-mode . light) + (border-color . "blue") + (foreground-color . "black")) + ((buffers-tab-face . buffers-tab) + (ecb-directories-general-face . ecb-default-general-face) + (ecb-directory-face . ecb-default-highlight-face) + (ecb-history-face . ecb-default-highlight-face) + (ecb-history-general-face . ecb-default-general-face) + (ecb-method-face . ecb-default-highlight-face) + (ecb-methods-general-face . ecb-default-general-face) + (ecb-source-face . ecb-default-highlight-face) + (ecb-source-in-directories-buffer-face . ecb-source-in-directories-buffer-face) + (ecb-sources-general-face . ecb-default-general-face) + (ecb-token-header-face . ecb-token-header-face)) + (default ((t (nil)))) + (blue ((t (:foreground "blue")))) + (bold ((t (:bold t :size "10pt")))) + (bold-italic ((t (:italic t :bold t :size "10pt")))) + (border-glyph ((t (:size "11pt")))) + (buffers-tab ((t (:background "gray75")))) + (display-time-mail-balloon-enhance-face ((t (:background "orange")))) + (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue")))) + (display-time-time-balloon-face ((t (:foreground "red")))) + (ecb-bucket-token-face ((t (:bold t :size "10pt")))) + (ecb-default-general-face ((t (nil)))) + (ecb-default-highlight-face ((t (:background "cornflower blue" :foreground "yellow")))) + (ecb-directories-general-face ((t (nil)))) + (ecb-directory-face ((t (:background "cornflower blue" :foreground "yellow")))) + (ecb-history-face ((t (:background "cornflower blue" :foreground "yellow")))) + (ecb-history-general-face ((t (nil)))) + (ecb-method-face ((t (:background "cornflower blue" :foreground "yellow")))) + (ecb-methods-general-face ((t (nil)))) + (ecb-source-face ((t (:background "cornflower blue" :foreground "yellow")))) + (ecb-source-in-directories-buffer-face ((t (:foreground "medium blue")))) + (ecb-sources-general-face ((t (nil)))) + (ecb-token-header-face ((t (:background "SeaGreen1")))) + (ecb-type-token-class-face ((t (:bold t :size "10pt")))) + (ecb-type-token-enum-face ((t (:bold t :size "10pt")))) + (ecb-type-token-group-face ((t (:bold t :size "10pt" :foreground "dimgray")))) + (ecb-type-token-interface-face ((t (:bold t :size "10pt")))) + (ecb-type-token-struct-face ((t (:bold t :size "10pt")))) + (ecb-type-token-typedef-face ((t (:bold t :size "10pt")))) + (font-lock-builtin-face ((t (:foreground "red3")))) + (font-lock-constant-face ((t (:foreground "blue3")))) + (font-lock-comment-face ((t (:foreground "blue")))) + (font-lock-doc-face ((t (:foreground "green4")))) + (font-lock-doc-string-face ((t (:foreground "green4")))) + (font-lock-function-name-face ((t (nil)))) + (font-lock-keyword-face ((t (nil)))) + (font-lock-preprocessor-face ((t (:foreground "blue3")))) + (font-lock-reference-face ((t (:foreground "red3")))) + (font-lock-string-face ((t (nil)))) + (font-lock-type-face ((t (nil)))) + (font-lock-variable-name-face ((t (nil)))) + (font-lock-warning-face ((t (nil)))) + (green ((t (:foreground "green")))) + (gui-button-face ((t (:background "grey75")))) + (gui-element ((t (:size "8pt" :background "gray75")))) + (highlight ((t (:background "darkseagreen2")))) + (isearch ((t (:background "paleturquoise")))) + (isearch-secondary ((t (:foreground "red3")))) + (italic ((t (:size "10pt")))) + (left-margin ((t (nil)))) + (list-mode-item-selected ((t (:background "gray68")))) + (modeline ((t (:background "gray75")))) + (modeline-buffer-id ((t (:background "gray75" :foreground "blue4")))) + (modeline-mousable ((t (:background "gray75" :foreground "firebrick")))) + (modeline-mousable-minor-mode ((t (:background "gray75" :foreground "green4")))) + (paren-blink-off ((t (:foreground "gray")))) + (paren-match ((t (:background "darkseagreen2")))) + (paren-mismatch ((t (nil)))) + (pointer ((t (nil)))) + (primary-selection ((t (:background "gray65")))) + (red ((t (:foreground "red")))) + (region ((t (:background "gray65")))) + (right-margin ((t (nil)))) + (secondary-selection ((t (:background "paleturquoise")))) + (semantic-dirty-token-face ((t (nil)))) + (semantic-unmatched-syntax-face ((t (nil)))) + (text-cursor ((t (:background "red" :foreground "gray")))) + (toolbar ((t (:background "gray75")))) + (underline ((t (:underline t)))) + (vertical-divider ((t (:background "gray75")))) + (widget ((t (:size "8pt" :background "gray75")))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (nil)))) + (yellow ((t (:foreground "yellow")))) + (zmacs-region ((t (:background "gray65"))))))) + +(defun color-theme-dark-blue2 () + "Color theme by Chris McMahan, created 2002-04-12. +Includes antlr, bbdb, change-log, comint, cperl, custom cvs, diff, +dired, display-time, ebrowse, ecb, ediff, erc, eshell, fl, font-lock, +gnus, hi, highlight, html-helper, hyper-apropos, info, isearch, jde, +message, mmm, paren, semantic, senator, sgml, smerge, speedbar, +strokes, term, vhdl, viper, vm, widget, xref, xsl, xxml. Yes, it is +a large theme." + (interactive) + (color-theme-install + '(color-theme-dark-blue2 + ((background-color . "#233b5a") + (background-mode . dark) + (background-toolbar-color . "#cf3ccf3ccf3c") + (border-color . "black") + (bottom-toolbar-shadow-color . "#79e77df779e7") + (cursor-color . "Yellow") + (foreground-color . "#fff8dc") + (mouse-color . "Grey") + (top-toolbar-shadow-color . "#fffffbeeffff") + (viper-saved-cursor-color-in-replace-mode . "Red3")) + ((blank-space-face . blank-space-face) + (blank-tab-face . blank-tab-face) + (cperl-invalid-face . underline) + (ecb-directories-general-face . ecb-directories-general-face) + (ecb-directory-face . ecb-directory-face) + (ecb-history-face . ecb-history-face) + (ecb-history-general-face . ecb-history-general-face) + (ecb-method-face . ecb-method-face) + (ecb-methods-general-face . ecb-methods-general-face) + (ecb-source-face . ecb-source-face) + (ecb-source-in-directories-buffer-face . ecb-sources-face) + (ecb-sources-general-face . ecb-sources-general-face) + (ecb-token-header-face . ecb-token-header-face) + (gnus-article-button-face . bold) + (gnus-article-mouse-face . highlight) + (gnus-cite-attribution-face . gnus-cite-attribution-face) + (gnus-signature-face . gnus-signature-face) + (gnus-summary-selected-face . gnus-summary-selected-face) + (help-highlight-face . underline) + (highline-face . highline-face) + (highline-vertical-face . highline-vertical-face) + (list-matching-lines-face . bold) + (ps-zebra-color . 0.95) + (senator-eldoc-use-color . t) + (sgml-set-face . t) + (tags-tag-face . default) + (view-highlight-face . highlight) + (vm-highlight-url-face . bold-italic) + (vm-highlighted-header-face . bold) + (vm-mime-button-face . gui-button-face) + (vm-summary-highlight-face . bold) + (widget-mouse-face . highlight)) + (default ((t (:stipple nil :background "#233b5a" :foreground "#fff8dc" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-lucida console")))) + (Info-title-1-face ((t (:bold t :weight bold :height 1.728 :family "helv")))) + (Info-title-2-face ((t (:bold t :weight bold :height 1.44 :family "helv")))) + (Info-title-3-face ((t (:bold t :weight bold :height 1.2 :family "helv")))) + (Info-title-4-face ((t (:bold t :weight bold :family "helv")))) + (antlr-font-lock-keyword-face ((t (:bold t :foreground "Gray85" :weight bold)))) + (antlr-font-lock-literal-face ((t (:bold t :foreground "Gray85" :weight bold)))) + (antlr-font-lock-ruledef-face ((t (:bold t :foreground "Gray85" :weight bold)))) + (antlr-font-lock-ruleref-face ((t (:foreground "Gray85")))) + (antlr-font-lock-tokendef-face ((t (:bold t :foreground "Gray85" :weight bold)))) + (antlr-font-lock-tokenref-face ((t (:foreground "Gray85")))) + (bbdb-company ((t (:italic t :slant italic)))) + (bbdb-field-name ((t (:bold t :weight bold)))) + (bbdb-field-value ((t (nil)))) + (bbdb-name ((t (:underline t)))) + (bg:erc-color-face0 ((t (:background "White")))) + (bg:erc-color-face1 ((t (:background "black")))) + (bg:erc-color-face10 ((t (:background "lightblue1")))) + (bg:erc-color-face11 ((t (:background "cyan")))) + (bg:erc-color-face12 ((t (:background "blue")))) + (bg:erc-color-face13 ((t (:background "deeppink")))) + (bg:erc-color-face14 ((t (:background "gray50")))) + (bg:erc-color-face15 ((t (:background "gray90")))) + (bg:erc-color-face2 ((t (:background "blue4")))) + (bg:erc-color-face3 ((t (:background "green4")))) + (bg:erc-color-face4 ((t (:background "red")))) + (bg:erc-color-face5 ((t (:background "brown")))) + (bg:erc-color-face6 ((t (:background "purple")))) + (bg:erc-color-face7 ((t (:background "orange")))) + (bg:erc-color-face8 ((t (:background "yellow")))) + (bg:erc-color-face9 ((t (:background "green")))) + (blank-space-face ((t (:background "LightGray")))) + (blank-tab-face ((t (:background "Wheat")))) + (blue ((t (:foreground "blue")))) + (bold ((t (:bold t :foreground "cyan" :weight bold)))) + (bold-italic ((t (:italic t :bold t :foreground "cyan2" :slant italic :weight bold)))) + (border ((t (:background "black")))) + (border-glyph ((t (nil)))) + (buffers-tab ((t (:background "gray30" :foreground "LightSkyBlue")))) + (calendar-today-face ((t (:underline t)))) + (change-log-acknowledgement-face ((t (:foreground "firebrick")))) + (change-log-conditionals-face ((t (:background "sienna" :foreground "khaki")))) + (change-log-date-face ((t (:foreground "gold")))) + (change-log-email-face ((t (:foreground "khaki" :underline t)))) + (change-log-file-face ((t (:bold t :foreground "lemon chiffon" :weight bold)))) + (change-log-function-face ((t (:background "sienna" :foreground "khaki")))) + (change-log-list-face ((t (:foreground "wheat")))) + (change-log-name-face ((t (:bold t :foreground "light goldenrod" :weight bold)))) + (comint-highlight-input ((t (:bold t :weight bold)))) + (comint-highlight-prompt ((t (:foreground "cyan")))) + (comint-input-face ((t (:foreground "deepskyblue")))) + (cperl-array-face ((t (:bold t :background "lightyellow2" :foreground "Blue" :weight bold)))) + (cperl-hash-face ((t (:italic t :bold t :background "lightyellow2" :foreground "Red" :slant italic :weight bold)))) + (cperl-invalid-face ((t (:foreground "white")))) + (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) + (cursor ((t (:background "Yellow")))) + (custom-button-face ((t (:bold t :weight bold)))) + (custom-button-pressed-face ((t (:background "lightgrey" :foreground "gray30")))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-comment-face ((t (:foreground "white")))) + (custom-comment-tag-face ((t (:foreground "white")))) + (custom-documentation-face ((t (:foreground "light blue")))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face ((t (:bold t :foreground "gray85" :underline t :weight bold)))) + (custom-group-tag-face-1 ((t (:foreground "gray85" :underline t)))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "gray30" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "gray85")))) + (custom-variable-button-face ((t (:bold t :underline t :weight bold)))) + (custom-variable-tag-face ((t (:bold t :foreground "gray85" :underline t :weight bold)))) + (cvs-filename-face ((t (:foreground "white")))) + (cvs-handled-face ((t (:foreground "pink")))) + (cvs-header-face ((t (:foreground "green")))) + (cvs-marked-face ((t (:bold t :foreground "green3" :weight bold)))) + (cvs-msg-face ((t (:foreground "gray85")))) + (cvs-need-action-face ((t (:foreground "yellow")))) + (cvs-unknown-face ((t (:foreground "grey")))) + (cyan ((t (:foreground "cyan")))) + (diary-face ((t (:bold t :foreground "gray85" :weight bold)))) + (diff-added-face ((t (nil)))) + (diff-changed-face ((t (nil)))) + (diff-context-face ((t (:foreground "grey50")))) + (diff-file-header-face ((t (:bold t :background "grey70" :weight bold)))) + (diff-function-face ((t (:foreground "grey50")))) + (diff-header-face ((t (:foreground "lemon chiffon")))) + (diff-hunk-header-face ((t (:background "grey85")))) + (diff-index-face ((t (:bold t :background "grey70" :weight bold)))) + (diff-nonexistent-face ((t (:bold t :background "grey70" :weight bold)))) + (diff-removed-face ((t (nil)))) + (dired-face-boring ((t (:foreground "Gray65")))) + (dired-face-directory ((t (:bold t :weight bold)))) + (dired-face-executable ((t (:foreground "gray85")))) + (dired-face-flagged ((t (:background "LightSlateGray")))) + (dired-face-header ((t (:background "grey75" :foreground "gray30")))) + (dired-face-marked ((t (:background "PaleVioletRed")))) + (dired-face-permissions ((t (:background "grey75" :foreground "gray30")))) + (dired-face-setuid ((t (:foreground "gray85")))) + (dired-face-socket ((t (:foreground "gray85")))) + (dired-face-symlink ((t (:foreground "cyan")))) + (display-time-mail-balloon-enhance-face ((t (:background "orange")))) + (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue")))) + (display-time-time-balloon-face ((t (:foreground "gray85")))) + (ebrowse-default-face ((t (nil)))) + (ebrowse-file-name-face ((t (:italic t :slant italic)))) + (ebrowse-member-attribute-face ((t (:foreground "red")))) + (ebrowse-member-class-face ((t (:foreground "Gray85")))) + (ebrowse-progress-face ((t (:background "blue")))) + (ebrowse-root-class-face ((t (:bold t :foreground "Gray85" :weight bold)))) + (ebrowse-tree-mark-face ((t (:foreground "Gray85")))) + (ecb-bucket-token-face ((t (:bold t :weight bold)))) + (ecb-default-general-face ((t (:height 1.0)))) + (ecb-default-highlight-face ((t (:background "magenta" :height 1.0)))) + (ecb-directories-general-face ((t (:height 0.9)))) + (ecb-directory-face ((t (:background "Cyan4")))) + (ecb-history-face ((t (:background "Cyan4")))) + (ecb-history-general-face ((t (:height 0.9)))) + (ecb-method-face ((t (:background "Cyan4" :slant normal :weight normal)))) + (ecb-methods-general-face ((t (:slant normal)))) + (ecb-source-face ((t (:background "Cyan4")))) + (ecb-source-in-directories-buffer-face ((t (:foreground "LightBlue1")))) + (ecb-sources-face ((t (:foreground "LightBlue1")))) + (ecb-sources-general-face ((t (:height 0.9)))) + (ecb-token-header-face ((t (:background "Steelblue4")))) + (ecb-type-token-class-face ((t (:bold t :weight bold)))) + (ecb-type-token-enum-face ((t (:bold t :weight bold)))) + (ecb-type-token-group-face ((t (:bold t :foreground "dim gray" :weight bold)))) + (ecb-type-token-interface-face ((t (:bold t :weight bold)))) + (ecb-type-token-struct-face ((t (:bold t :weight bold)))) + (ecb-type-token-typedef-face ((t (:bold t :weight bold)))) + (ediff-current-diff-face-A ((t (:background "pale green" :foreground "firebrick")))) + (ediff-current-diff-face-Ancestor ((t (:background "VioletRed" :foreground "Gray30")))) + (ediff-current-diff-face-B ((t (:background "Yellow" :foreground "DarkOrchid")))) + (ediff-current-diff-face-C ((t (:background "Pink" :foreground "Navy")))) + (ediff-even-diff-face-A ((t (:background "light grey" :foreground "Gray30")))) + (ediff-even-diff-face-Ancestor ((t (:background "Grey" :foreground "White")))) + (ediff-even-diff-face-B ((t (:background "Grey" :foreground "White")))) + (ediff-even-diff-face-C ((t (:background "light grey" :foreground "Gray30")))) + (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy")))) + (ediff-fine-diff-face-Ancestor ((t (:background "Green" :foreground "Gray30")))) + (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Gray30")))) + (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Gray30")))) + (ediff-odd-diff-face-A ((t (:background "Grey" :foreground "White")))) + (ediff-odd-diff-face-Ancestor ((t (:background "light grey" :foreground "Gray30")))) + (ediff-odd-diff-face-B ((t (:background "light grey" :foreground "Gray30")))) + (ediff-odd-diff-face-C ((t (:background "Grey" :foreground "White")))) + (erc-action-face ((t (:bold t :weight bold)))) + (erc-bold-face ((t (:bold t :weight bold)))) + (erc-dangerous-host-face ((t (:foreground "red")))) + (erc-default-face ((t (nil)))) + (erc-direct-msg-face ((t (:foreground "pale green")))) + (erc-error-face ((t (:bold t :foreground "gray85" :weight bold)))) + (erc-fool-face ((t (:foreground "Gray85")))) + (erc-highlight-face ((t (:bold t :foreground "pale green" :weight bold)))) + (erc-input-face ((t (:foreground "light blue")))) + (erc-inverse-face ((t (:background "Black" :foreground "White")))) + (erc-keyword-face ((t (:bold t :foreground "pale green" :weight bold)))) + (erc-notice-face ((t (:foreground "light salmon")))) + (erc-pal-face ((t (:foreground "pale green")))) + (erc-prompt-face ((t (:bold t :foreground "light blue" :weight bold)))) + (erc-timestamp-face ((t (:bold t :foreground "green" :weight bold)))) + (erc-underline-face ((t (:underline t)))) + (eshell-ls-archive-face ((t (:bold t :weight bold)))) + (eshell-ls-backup-face ((t (:foreground "gray85")))) + (eshell-ls-clutter-face ((t (:bold t :foreground "gray85" :weight bold)))) + (eshell-ls-directory-face ((t (:bold t :foreground "Cyan" :weight bold)))) + (eshell-ls-executable-face ((t (:bold t :weight bold)))) + (eshell-ls-missing-face ((t (:bold t :weight bold)))) + (eshell-ls-picture-face ((t (:foreground "gray85")))) + (eshell-ls-product-face ((t (:foreground "gray85")))) + (eshell-ls-readonly-face ((t (:foreground "gray70")))) + (eshell-ls-special-face ((t (:bold t :weight bold)))) + (eshell-ls-symlink-face ((t (:bold t :weight bold)))) + (eshell-ls-text-face ((t (:foreground "gray85")))) + (eshell-ls-todo-face ((t (:bold t :weight bold)))) + (eshell-ls-unreadable-face ((t (:foreground "gray85")))) + (eshell-prompt-face ((t (:bold t :foreground "Yellow" :weight bold)))) + (eshell-test-failed-face ((t (:bold t :weight bold)))) + (eshell-test-ok-face ((t (:bold t :weight bold)))) + (excerpt ((t (:italic t :slant italic)))) + (ff-paths-non-existant-file-face ((t (:bold t :foreground "gray85" :weight bold)))) + (fg:black ((t (:foreground "black")))) + (fg:erc-color-face0 ((t (:foreground "White")))) + (fg:erc-color-face1 ((t (:foreground "black")))) + (fg:erc-color-face10 ((t (:foreground "lightblue1")))) + (fg:erc-color-face11 ((t (:foreground "cyan")))) + (fg:erc-color-face12 ((t (:foreground "blue")))) + (fg:erc-color-face13 ((t (:foreground "deeppink")))) + (fg:erc-color-face14 ((t (:foreground "gray50")))) + (fg:erc-color-face15 ((t (:foreground "gray90")))) + (fg:erc-color-face2 ((t (:foreground "blue4")))) + (fg:erc-color-face3 ((t (:foreground "green4")))) + (fg:erc-color-face4 ((t (:foreground "red")))) + (fg:erc-color-face5 ((t (:foreground "brown")))) + (fg:erc-color-face6 ((t (:foreground "purple")))) + (fg:erc-color-face7 ((t (:foreground "orange")))) + (fg:erc-color-face8 ((t (:foreground "yellow")))) + (fg:erc-color-face9 ((t (:foreground "green")))) + (fixed ((t (:bold t :weight bold)))) + (fixed-pitch ((t (:family "outline-lucida console")))) + (fl-comment-face ((t (:foreground "gray85")))) + (fl-function-name-face ((t (:foreground "green")))) + (fl-keyword-face ((t (:foreground "LightGreen")))) + (fl-string-face ((t (:foreground "light coral")))) + (fl-type-face ((t (:foreground "cyan")))) + (flyspell-duplicate-face ((t (:bold t :foreground "Gold3" :underline t :weight bold)))) + (flyspell-incorrect-face ((t (:bold t :foreground "OrangeRed" :underline t :weight bold)))) + (font-latex-bold-face ((t (nil)))) + (font-latex-italic-face ((t (nil)))) + (font-latex-math-face ((t (nil)))) + (font-latex-sedate-face ((t (:foreground "Gray85")))) + (font-latex-string-face ((t (:foreground "orange")))) + (font-latex-warning-face ((t (:foreground "gold")))) + (font-lock-builtin-face ((t (:bold t :foreground "LightSteelBlue" :weight bold)))) + (font-lock-comment-face ((t (:italic t :foreground "medium aquamarine" :slant italic)))) + (font-lock-constant-face ((t (:bold t :foreground "Aquamarine" :weight bold)))) + (font-lock-doc-face ((t (:bold t :weight bold)))) + (font-lock-doc-string-face ((t (:bold t :foreground "aquamarine" :weight bold)))) + (font-lock-exit-face ((t (:foreground "green")))) + (font-lock-function-name-face ((t (:italic t :bold t :foreground "LightSkyBlue" :slant italic :weight bold)))) + (font-lock-keyword-face ((t (:bold t :foreground "Cyan" :weight bold)))) + (font-lock-preprocessor-face ((t (:foreground "Gray85")))) + (font-lock-reference-face ((t (:foreground "cyan")))) + (font-lock-string-face ((t (:italic t :foreground "aquamarine" :slant italic)))) + (font-lock-type-face ((t (:bold t :foreground "PaleGreen" :weight bold)))) + (font-lock-variable-name-face ((t (:italic t :bold t :foreground "LightGoldenrod" :slant italic :weight bold)))) + (font-lock-warning-face ((t (:bold t :foreground "Salmon" :weight bold)))) + (fringe ((t (:background "#3c5473")))) + (gnus-cite-attribution-face ((t (:italic t :bold t :foreground "beige" :underline t :slant italic :weight bold)))) + (gnus-cite-face-1 ((t (:foreground "gold")))) + (gnus-cite-face-10 ((t (:foreground "coral")))) + (gnus-cite-face-11 ((t (:foreground "turquoise")))) + (gnus-cite-face-2 ((t (:foreground "wheat")))) + (gnus-cite-face-3 ((t (:foreground "light pink")))) + (gnus-cite-face-4 ((t (:foreground "khaki")))) + (gnus-cite-face-5 ((t (:foreground "pale green")))) + (gnus-cite-face-6 ((t (:foreground "beige")))) + (gnus-cite-face-7 ((t (:foreground "orange")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-emphasis-bold ((t (:bold t :foreground "light gray" :weight bold)))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t :foreground "cyan" :slant italic :weight bold)))) + (gnus-emphasis-highlight-words ((t (:background "gray30" :foreground "gold")))) + (gnus-emphasis-italic ((t (:italic t :foreground "cyan" :slant italic)))) + (gnus-emphasis-underline ((t (:foreground "white" :underline t)))) + (gnus-emphasis-underline-bold ((t (:bold t :foreground "white" :underline t :weight bold)))) + (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :foreground "white" :underline t :slant italic :weight bold)))) + (gnus-emphasis-underline-italic ((t (:italic t :foreground "white" :underline t :slant italic)))) + (gnus-filterhist-face-1 ((t (nil)))) + (gnus-group-mail-1-empty-face ((t (:foreground "Magenta")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "Magenta" :weight bold)))) + (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "aquamarine2" :weight bold)))) + (gnus-group-mail-3-empty-face ((t (:foreground "Cyan")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "Cyan" :weight bold)))) + (gnus-group-mail-low-empty-face ((t (:foreground "Wheat")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "Gray85" :weight bold)))) + (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) + (gnus-group-news-1-face ((t (:bold t :foreground "PaleTurquoise" :weight bold)))) + (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) + (gnus-group-news-2-face ((t (:bold t :foreground "turquoise" :weight bold)))) + (gnus-group-news-3-empty-face ((t (:foreground "wheat")))) + (gnus-group-news-3-face ((t (:bold t :foreground "Wheat" :weight bold)))) + (gnus-group-news-4-empty-face ((t (:foreground "Aquamarine")))) + (gnus-group-news-4-face ((t (:bold t :weight bold)))) + (gnus-group-news-5-empty-face ((t (:foreground "MediumAquamarine")))) + (gnus-group-news-5-face ((t (:bold t :weight bold)))) + (gnus-group-news-6-empty-face ((t (:foreground "MediumAquamarine")))) + (gnus-group-news-6-face ((t (:bold t :weight bold)))) + (gnus-group-news-low-empty-face ((t (:foreground "MediumAquamarine")))) + (gnus-group-news-low-face ((t (:bold t :foreground "MediumAquamarine" :weight bold)))) + (gnus-header-content-face ((t (:italic t :foreground "Wheat" :slant italic)))) + (gnus-header-from-face ((t (:bold t :foreground "light yellow" :weight bold)))) + (gnus-header-name-face ((t (:bold t :foreground "Wheat" :weight bold)))) + (gnus-header-newsgroups-face ((t (:italic t :bold t :foreground "gold" :slant italic :weight bold)))) + (gnus-header-subject-face ((t (:bold t :foreground "Gold" :weight bold)))) + (gnus-picons-face ((t (:background "white" :foreground "gray30")))) + (gnus-picons-xbm-face ((t (:background "white" :foreground "gray30")))) + (gnus-signature-face ((t (:italic t :foreground "white" :slant italic)))) + (gnus-splash ((t (:foreground "Brown")))) + (gnus-splash-face ((t (:foreground "orange")))) + (gnus-summary-cancelled-face ((t (:background "gray30" :foreground "orange")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "SkyBlue" :weight bold)))) + (gnus-summary-high-read-face ((t (:bold t :foreground "gray85" :weight bold)))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "coral" :weight bold)))) + (gnus-summary-high-unread-face ((t (:italic t :bold t :foreground "gold" :slant italic :weight bold)))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "SkyBlue" :slant italic)))) + (gnus-summary-low-read-face ((t (:italic t :foreground "gray85" :slant italic)))) + (gnus-summary-low-ticked-face ((t (:italic t :bold t :foreground "coral" :slant italic :weight bold)))) + (gnus-summary-low-unread-face ((t (:italic t :foreground "white" :slant italic)))) + (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "gray70")))) + (gnus-summary-normal-ticked-face ((t (:bold t :foreground "pink" :weight bold)))) + (gnus-summary-normal-unread-face ((t (:bold t :foreground "gray85" :weight bold)))) + (gnus-summary-selected-face ((t (:foreground "white" :underline t)))) + (gnus-x-face ((t (:background "white" :foreground "gray30")))) + (green ((t (:foreground "green")))) + (gui-button-face ((t (:background "grey75" :foreground "gray30")))) + (gui-element ((t (:background "Gray80")))) + (header-line ((t (:background "grey20" :foreground "grey90")))) + (hi-black-b ((t (:bold t :weight bold)))) + (hi-black-hb ((t (:bold t :weight bold :height 1.67 :family "helv")))) + (hi-blue ((t (:background "light blue")))) + (hi-blue-b ((t (:bold t :foreground "blue" :weight bold)))) + (hi-green ((t (:background "green")))) + (hi-green-b ((t (:bold t :foreground "green" :weight bold)))) + (hi-pink ((t (:background "pink")))) + (hi-red-b ((t (:bold t :foreground "red" :weight bold)))) + (hi-yellow ((t (:background "yellow")))) + (highlight ((t (:background "SkyBlue3")))) + (highlight-changes-delete-face ((t (:foreground "gray85" :underline t)))) + (highlight-changes-face ((t (:foreground "gray85")))) + (highline-face ((t (:background "#3c5473")))) + (highline-vertical-face ((t (:background "lightcyan")))) + (holiday-face ((t (:background "pink" :foreground "gray30")))) + (html-helper-bold-face ((t (:bold t :weight bold)))) + (html-helper-bold-italic-face ((t (nil)))) + (html-helper-builtin-face ((t (:foreground "gray85" :underline t)))) + (html-helper-italic-face ((t (:bold t :foreground "yellow" :weight bold)))) + (html-helper-underline-face ((t (:underline t)))) + (html-tag-face ((t (:bold t :weight bold)))) + (hyper-apropos-documentation ((t (:foreground "white")))) + (hyper-apropos-heading ((t (:bold t :weight bold)))) + (hyper-apropos-hyperlink ((t (:foreground "sky blue")))) + (hyper-apropos-major-heading ((t (:bold t :weight bold)))) + (hyper-apropos-section-heading ((t (:bold t :weight bold)))) + (hyper-apropos-warning ((t (:bold t :foreground "gray85" :weight bold)))) + (ibuffer-marked-face ((t (:foreground "gray85")))) + (idlwave-help-link-face ((t (:foreground "Blue")))) + (idlwave-shell-bp-face ((t (:background "Pink" :foreground "Black")))) + (info-header-node ((t (:italic t :bold t :foreground "brown" :slant italic :weight bold)))) + (info-header-xref ((t (:bold t :foreground "magenta4" :weight bold)))) + (info-menu-5 ((t (:underline t)))) + (info-menu-6 ((t (nil)))) + (info-menu-header ((t (:bold t :weight bold :family "helv")))) + (info-node ((t (:italic t :bold t :slant italic :weight bold)))) + (info-xref ((t (:bold t :weight bold)))) + (isearch ((t (:background "LightSeaGreen")))) + (isearch-lazy-highlight-face ((t (:background "cyan4")))) + (isearch-secondary ((t (:foreground "red3")))) + (italic ((t (:italic t :bold t :slant italic :weight bold)))) + (jde-bug-breakpoint-cursor ((t (:background "brown" :foreground "cyan")))) + (jde-bug-breakpoint-marker ((t (:background "yellow" :foreground "red")))) + (jde-java-font-lock-api-face ((t (:foreground "LightBlue")))) + (jde-java-font-lock-bold-face ((t (:bold t :weight bold)))) + (jde-java-font-lock-code-face ((t (nil)))) + (jde-java-font-lock-constant-face ((t (:foreground "LightBlue")))) + (jde-java-font-lock-doc-tag-face ((t (:foreground "LightBlue")))) + (jde-java-font-lock-italic-face ((t (:italic t :slant italic)))) + (jde-java-font-lock-link-face ((t (:foreground "cyan3" :underline t)))) + (jde-java-font-lock-modifier-face ((t (:foreground "LightBlue")))) + (jde-java-font-lock-number-face ((t (:foreground "RosyBrown")))) + (jde-java-font-lock-operator-face ((t (:foreground "cyan3")))) + (jde-java-font-lock-package-face ((t (:foreground "LightBlue")))) + (jde-java-font-lock-pre-face ((t (nil)))) + (jde-java-font-lock-underline-face ((t (:underline t)))) + (lazy-highlight-face ((t (:bold t :foreground "yellow" :weight bold)))) + (left-margin ((t (nil)))) + (linemenu-face ((t (:background "gray30")))) + (list-mode-item-selected ((t (:background "gray68")))) + (log-view-file-face ((t (:bold t :background "grey70" :weight bold)))) + (log-view-message-face ((t (:background "grey85")))) + (magenta ((t (:foreground "gray85")))) + (makefile-space-face ((t (:background "hotpink" :foreground "white")))) + (man-bold ((t (:bold t :weight bold)))) + (man-heading ((t (:bold t :weight bold)))) + (man-italic ((t (:foreground "yellow")))) + (man-xref ((t (:underline t)))) + (menu ((t (:background "wheat" :foreground "gray30")))) + (message-cited-text ((t (:foreground "orange")))) + (message-cited-text-face ((t (:foreground "medium aquamarine")))) + (message-header-cc-face ((t (:bold t :foreground "gray85" :weight bold)))) + (message-header-contents ((t (:foreground "white")))) + (message-header-name-face ((t (:foreground "gray85")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "yellow" :slant italic :weight bold)))) + (message-header-other-face ((t (:foreground "gray85")))) + (message-header-subject-face ((t (:bold t :foreground "green3" :weight bold)))) + (message-header-to-face ((t (:bold t :foreground "green2" :weight bold)))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-headers ((t (:bold t :foreground "orange" :weight bold)))) + (message-highlighted-header-contents ((t (:bold t :weight bold)))) + (message-mml-face ((t (:bold t :foreground "gray85" :weight bold)))) + (message-separator-face ((t (:foreground "gray85")))) + (message-url ((t (:bold t :foreground "pink" :weight bold)))) + (mmm-default-submode-face ((t (:background "#c0c0c5")))) + (mmm-face ((t (:background "black" :foreground "green")))) + (modeline ((t (:background "#3c5473" :foreground "lightgray" :box (:line-width -1 :style released-button :family "helv"))))) + (modeline-buffer-id ((t (:background "white" :foreground "DeepSkyBlue3" :slant normal :weight normal :width normal :family "outline-verdana")))) + (modeline-mousable ((t (:background "white" :foreground "DeepSkyBlue3")))) + (modeline-mousable-minor-mode ((t (:background "white" :foreground "DeepSkyBlue3")))) + (mouse ((t (:background "Grey")))) + (my-summary-highlight-face ((t (:background "PaleTurquoise4" :foreground "White")))) + (my-url-face ((t (:foreground "LightBlue")))) + (nil ((t (nil)))) + (paren-blink-off ((t (:foreground "gray80")))) + (paren-face-match ((t (:background "turquoise")))) + (paren-face-mismatch ((t (:background "purple" :foreground "white")))) + (paren-face-no-match ((t (:background "yellow" :foreground "gray30")))) + (paren-match ((t (:background "darkseagreen2")))) + (paren-mismatch ((t (:background "RosyBrown" :foreground "gray30")))) + (paren-mismatch-face ((t (:bold t :background "white" :foreground "red" :weight bold)))) + (paren-no-match-face ((t (:bold t :background "white" :foreground "red" :weight bold)))) + (pointer ((t (nil)))) + (primary-selection ((t (:background "gray40")))) + (reb-match-0 ((t (:background "lightblue")))) + (reb-match-1 ((t (:background "aquamarine")))) + (reb-match-2 ((t (:background "springgreen")))) + (reb-match-3 ((t (:background "yellow")))) + (red ((t (:foreground "red")))) + (region ((t (:background "Cyan4")))) + (right-margin ((t (nil)))) + (scroll-bar ((t (:background "grey75")))) + (secondary-selection ((t (:background "gray60")))) + (semantic-dirty-token-face ((t (:background "gray10")))) + (semantic-intangible-face ((t (:foreground "gray25")))) + (semantic-read-only-face ((t (:background "gray25")))) + (semantic-unmatched-syntax-face ((t (:underline "red")))) + (senator-intangible-face ((t (:foreground "gray75")))) + (senator-momentary-highlight-face ((t (:background "gray70")))) + (senator-read-only-face ((t (:background "#664444")))) + (sgml-comment-face ((t (:foreground "dark turquoise")))) + (sgml-doctype-face ((t (:foreground "turquoise")))) + (sgml-end-tag-face ((t (:foreground "aquamarine")))) + (sgml-entity-face ((t (:foreground "gray85")))) + (sgml-ignored-face ((t (:background "gray60" :foreground "gray40")))) + (sgml-ms-end-face ((t (:foreground "green")))) + (sgml-ms-start-face ((t (:foreground "yellow")))) + (sgml-pi-face ((t (:foreground "lime green")))) + (sgml-sgml-face ((t (:foreground "brown")))) + (sgml-short-ref-face ((t (:foreground "deep sky blue")))) + (sgml-start-tag-face ((t (:foreground "aquamarine")))) + (sh-heredoc-face ((t (:foreground "tan")))) + (shell-option-face ((t (:foreground "gray85")))) + (shell-output-2-face ((t (:foreground "gray85")))) + (shell-output-3-face ((t (:foreground "gray85")))) + (shell-output-face ((t (:bold t :weight bold)))) + (shell-prompt-face ((t (:foreground "yellow")))) + (show-paren-match-face ((t (:bold t :background "turquoise" :weight bold)))) + (show-paren-mismatch-face ((t (:bold t :background "RosyBrown" :foreground "white" :weight bold)))) + (show-tabs-space-face ((t (:foreground "yellow")))) + (show-tabs-tab-face ((t (:foreground "red")))) + (smerge-base-face ((t (:foreground "red")))) + (smerge-markers-face ((t (:background "grey85")))) + (smerge-mine-face ((t (:foreground "Gray85")))) + (smerge-other-face ((t (:foreground "darkgreen")))) + (speedbar-button-face ((t (:bold t :weight bold)))) + (speedbar-directory-face ((t (:bold t :weight bold)))) + (speedbar-file-face ((t (:bold t :weight bold)))) + (speedbar-highlight-face ((t (:background "sea green")))) + (speedbar-selected-face ((t (:underline t)))) + (speedbar-tag-face ((t (:foreground "yellow")))) + (strokes-char-face ((t (:background "lightgray")))) + (swbuff-current-buffer-face ((t (:bold t :foreground "gray85" :weight bold)))) + (template-message-face ((t (:bold t :weight bold)))) + (term-black ((t (:foreground "black")))) + (term-blackbg ((t (:background "black")))) + (term-blue ((t (:foreground "blue")))) + (term-bluebg ((t (:background "blue")))) + (term-bold ((t (:bold t :weight bold)))) + (term-cyan ((t (:foreground "cyan")))) + (term-cyanbg ((t (:background "cyan")))) + (term-default ((t (:background "gray80" :foreground "gray30" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-lucida console")))) + (term-default-bg ((t (nil)))) + (term-default-bg-inv ((t (nil)))) + (term-default-fg ((t (nil)))) + (term-default-fg-inv ((t (nil)))) + (term-green ((t (:foreground "green")))) + (term-greenbg ((t (:background "green")))) + (term-invisible ((t (nil)))) + (term-invisible-inv ((t (nil)))) + (term-magenta ((t (:foreground "magenta")))) + (term-magentabg ((t (:background "magenta")))) + (term-red ((t (:foreground "red")))) + (term-redbg ((t (:background "red")))) + (term-underline ((t (:underline t)))) + (term-white ((t (:foreground "white")))) + (term-whitebg ((t (:background "white")))) + (term-yellow ((t (:foreground "yellow")))) + (term-yellowbg ((t (:background "yellow")))) + (tex-math-face ((t (:foreground "RosyBrown")))) + (texinfo-heading-face ((t (:foreground "Blue")))) + (text-cursor ((t (:background "Red3" :foreground "gray80")))) + (tool-bar ((t (:background "grey75" :foreground "black")))) + (toolbar ((t (:background "Gray80")))) + (tooltip ((t (:background "lightyellow" :foreground "black")))) + (trailing-whitespace ((t (:background "red")))) + (underline ((t (:underline t)))) + (variable-pitch ((t (:family "helv")))) + (vc-annotate-face-0046FF ((t (:background "black" :foreground "wheat")))) + (vcursor ((t (:background "cyan" :foreground "blue" :underline t)))) + (vertical-divider ((t (:background "Gray80")))) + (vhdl-font-lock-attribute-face ((t (:foreground "gray85")))) + (vhdl-font-lock-directive-face ((t (:foreground "gray85")))) + (vhdl-font-lock-enumvalue-face ((t (:foreground "gray85")))) + (vhdl-font-lock-function-face ((t (:foreground "gray85")))) + (vhdl-font-lock-prompt-face ((t (:bold t :foreground "gray85" :weight bold)))) + (vhdl-font-lock-reserved-words-face ((t (:bold t :foreground "gray85" :weight bold)))) + (vhdl-font-lock-translate-off-face ((t (:background "LightGray")))) + (vhdl-speedbar-architecture-face ((t (:foreground "gray85")))) + (vhdl-speedbar-architecture-selected-face ((t (:foreground "gray85" :underline t)))) + (vhdl-speedbar-configuration-face ((t (:foreground "gray85")))) + (vhdl-speedbar-configuration-selected-face ((t (:foreground "gray85" :underline t)))) + (vhdl-speedbar-entity-face ((t (:foreground "gray85")))) + (vhdl-speedbar-entity-selected-face ((t (:foreground "gray85" :underline t)))) + (vhdl-speedbar-instantiation-face ((t (:foreground "gray85")))) + (vhdl-speedbar-instantiation-selected-face ((t (:foreground "gray85" :underline t)))) + (vhdl-speedbar-package-face ((t (:foreground "gray85")))) + (vhdl-speedbar-package-selected-face ((t (:foreground "gray85" :underline t)))) + (viper-minibuffer-emacs-face ((t (:background "darkseagreen2" :foreground "Black")))) + (viper-minibuffer-insert-face ((t (:background "pink" :foreground "Black")))) + (viper-minibuffer-vi-face ((t (:background "grey" :foreground "DarkGreen")))) + (viper-replace-overlay-face ((t (:background "darkseagreen2" :foreground "Black")))) + (viper-search-face ((t (:background "khaki" :foreground "Black")))) + (vm-header-content-face ((t (:italic t :foreground "wheat" :slant italic)))) + (vm-header-from-face ((t (:italic t :foreground "wheat" :slant italic)))) + (vm-header-name-face ((t (:foreground "cyan")))) + (vm-header-subject-face ((t (:foreground "cyan")))) + (vm-header-to-face ((t (:italic t :foreground "cyan" :slant italic)))) + (vm-message-cited-face ((t (:foreground "Gray80")))) + (vm-monochrome-image ((t (:background "white" :foreground "gray30")))) + (vm-summary-face-1 ((t (:foreground "MediumAquamarine")))) + (vm-summary-face-2 ((t (:foreground "MediumAquamarine")))) + (vm-summary-face-3 ((t (:foreground "MediumAquamarine")))) + (vm-summary-face-4 ((t (:foreground "MediumAquamarine")))) + (vm-summary-highlight-face ((t (:foreground "White")))) + (vm-xface ((t (:background "white" :foreground "gray30")))) + (vmpc-pre-sig-face ((t (:foreground "gray85")))) + (vmpc-sig-face ((t (:foreground "gray85")))) + (vvb-face ((t (:background "pink" :foreground "gray30")))) + (w3m-anchor-face ((t (:bold t :foreground "gray85" :weight bold)))) + (w3m-arrived-anchor-face ((t (:bold t :foreground "gray85" :weight bold)))) + (w3m-header-line-location-content-face ((t (:background "dark olive green" :foreground "wheat")))) + (w3m-header-line-location-title-face ((t (:background "dark olive green" :foreground "beige")))) + (white ((t (:foreground "white")))) + (widget ((t (nil)))) + (widget-button-face ((t (:bold t :weight bold)))) + (widget-button-pressed-face ((t (:foreground "gray85")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85" :foreground "gray30")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (widget-single-line-field-face ((t (:background "dim gray" :foreground "white")))) + (woman-addition-face ((t (:foreground "orange")))) + (woman-bold-face ((t (:bold t :weight bold)))) + (woman-italic-face ((t (:foreground "beige")))) + (woman-unknown-face ((t (:foreground "LightSalmon")))) + (x-face ((t (:background "white" :foreground "gray30")))) + (xrdb-option-name-face ((t (:foreground "gray85")))) + (xref-keyword-face ((t (:foreground "gray85")))) + (xref-list-default-face ((t (nil)))) + (xref-list-pilot-face ((t (:foreground "gray85")))) + (xref-list-symbol-face ((t (:foreground "navy")))) + (xsl-fo-alternate-face ((t (:foreground "Yellow")))) + (xsl-fo-main-face ((t (:foreground "PaleGreen")))) + (xsl-other-element-face ((t (:foreground "Coral")))) + (xsl-xslt-alternate-face ((t (:foreground "LightGray")))) + (xsl-xslt-main-face ((t (:foreground "Wheat")))) + (xxml-emph-1-face ((t (:background "lightyellow")))) + (xxml-emph-2-face ((t (:background "lightyellow")))) + (xxml-header-1-face ((t (:background "seashell1" :foreground "MediumAquamarine")))) + (xxml-header-2-face ((t (:background "seashell1" :foreground "SkyBlue")))) + (xxml-header-3-face ((t (:background "seashell1")))) + (xxml-header-4-face ((t (:background "seashell1")))) + (xxml-interaction-face ((t (:background "lightcyan")))) + (xxml-rug-face ((t (:background "cyan")))) + (xxml-sparkle-face ((t (:background "yellow")))) + (xxml-unbreakable-space-face ((t (:foreground "grey" :underline t)))) + (yellow ((t (:foreground "yellow")))) + (zmacs-region ((t (:background "Cyan4"))))))) + +(defun color-theme-blue-mood () + "Color theme by Nelson Loyola, created 2002-04-15. +Includes cperl, custom, font-lock, p4, speedbar, widget." + (interactive) + (color-theme-install + '(color-theme-blue-mood + ((background-color . "DodgerBlue4") + (background-mode . dark) + (background-toolbar-color . "#bfbfbfbfbfbf") + (border-color . "Blue") + (border-color . "#000000000000") + (bottom-toolbar-shadow-color . "#6c6c68686868") + (cursor-color . "DarkGoldenrod1") + (foreground-color . "white smoke") + (mouse-color . "black") + (top-toolbar-shadow-color . "#e5e5e0e0e1e1")) + ((vc-annotate-very-old-color . "#0046FF")) + (default ((t (nil)))) + (blue ((t (:foreground "blue")))) + (bold ((t (:bold t)))) + (bold-italic ((t (nil)))) + (border-glyph ((t (nil)))) + (cmode-bracket-face ((t (:bold t)))) + (cperl-array-face ((t (:bold t :foreground "wheat")))) + (cperl-hash-face ((t (:bold t :foreground "chartreuse")))) + (custom-button-face ((t (nil)))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face ((t (:underline t :foreground "blue")))) + (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:bold t :foreground "cyan")))) + (custom-variable-button-face ((t (:underline t :bold t)))) + (custom-variable-tag-face ((t (:underline t :foreground "blue")))) + (ff-paths-non-existant-file-face ((t (:bold t :foreground "NavyBlue")))) + (font-lock-builtin-face ((t (:bold t :foreground "wheat")))) + (font-lock-comment-face ((t (:bold t :foreground "gray72")))) + (font-lock-constant-face ((t (:bold t :foreground "cyan3")))) + (font-lock-doc-string-face ((t (:foreground "#00C000")))) + (font-lock-function-name-face ((t (:bold t :foreground "chartreuse")))) + (font-lock-keyword-face ((t (:bold t :foreground "gold1")))) + (font-lock-other-emphasized-face ((t (:bold t :foreground "gold1")))) + (font-lock-other-type-face ((t (:bold t :foreground "gold1")))) + (font-lock-preprocessor-face ((t (:foreground "plum")))) + (font-lock-reference-face ((t (:bold t :foreground "orangered")))) + (font-lock-string-face ((t (:foreground "tomato")))) + (font-lock-type-face ((t (:bold t :foreground "gold1")))) + (font-lock-variable-name-face ((t (:foreground "light yellow")))) + (font-lock-warning-face ((t (:foreground "tomato")))) + (green ((t (:foreground "green")))) + (gui-button-face ((t (:background "grey75" :foreground "black")))) + (gui-element ((t (:size "nil" :background "#e7e3d6" :foreground" #000000")))) + (highlight ((t (:background "red" :foreground "yellow")))) + (isearch ((t (:bold t :background "pale turquoise" :foreground "blue")))) + (italic ((t (nil)))) + (lazy-highlight-face ((t (:bold t :foreground "dark magenta")))) + (left-margin ((t (nil)))) + (list-mode-item-selected ((t (:bold t :background "gray68" :foreground "yellow")))) + (modeline ((t (:background "goldenrod" :foreground "darkblue")))) + (modeline-buffer-id ((t (:background "goldenrod" :foreground "darkblue")))) + (modeline-mousable ((t (:background "goldenrod" :foreground "darkblue")))) + (modeline-mousable-minor-mode ((t (:background "goldenrod" :foreground "darkblue")))) + (my-tab-face ((t (:background "SlateBlue1")))) + (p4-depot-added-face ((t (:foreground "steelblue1")))) + (p4-depot-deleted-face ((t (:foreground "red")))) + (p4-depot-unmapped-face ((t (:foreground "grey90")))) + (p4-diff-change-face ((t (:foreground "dark green")))) + (p4-diff-del-face ((t (:bold t :foreground "salmon")))) + (p4-diff-file-face ((t (:background "blue")))) + (p4-diff-head-face ((t (:background "blue")))) + (p4-diff-ins-face ((t (:foreground "steelblue1")))) + (paren-blink-off ((t (:foreground "DodgerBlue4")))) + (paren-match ((t (:background "red" :foreground "yellow")))) + (paren-mismatch ((t (:background "DeepPink")))) + (pointer ((t (:background "white")))) + (primary-selection ((t (:bold t :background "medium sea green")))) + (red ((t (:foreground "red")))) + (region ((t (:background "red" :foreground "yellow")))) + (right-margin ((t (nil)))) + (secondary-selection ((t (:background "gray91" :foreground "sienna3")))) + (show-paren-match-face ((t (:background "cyan3" :foreground "blue")))) + (show-paren-mismatch-face ((t (:background "red" :foreground "blue")))) + (show-trailing-whitespace ((t (:background "red" :foreground "blue")))) + (speedbar-button-face ((t (:foreground "white")))) + (speedbar-directory-face ((t (:foreground "gray")))) + (speedbar-file-face ((t (:foreground "gold1")))) + (speedbar-highlight-face ((t (:background "lightslateblue" :foreground "gold1")))) + (speedbar-selected-face ((t (:underline t :foreground "red")))) + (speedbar-tag-face ((t (:foreground "chartreuse")))) + (text-cursor ((t (:background "DarkGoldenrod1" :foreground "DodgerBlue4")))) + (toolbar ((t (:background "#e7e3d6" :foreground "#000000")))) + (underline ((t (:underline t)))) + (vertical-divider ((t (:background "#e7e3d6" :foreground "#000000")))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (widget-single-line-field-face ((t (:background "gray85")))) + (yellow ((t (:foreground "yellow")))) + (zmacs-region ((t (:background "white" :foreground "midnightblue"))))))) + +(defun color-theme-euphoria () + "Color theme by oGLOWo, created 2000-04-19. +Green on black theme including font-lock, speedbar, and widget." + (interactive) + (color-theme-install + '(color-theme-euphoria + ((background-color . "black") + (background-mode . dark) + (border-color . "black") + (cursor-color . "yellow") + (foreground-color . "#00ff00") + (mouse-color . "yellow")) + ((help-highlight-face . underline) + (list-matching-lines-face . bold) + (widget-mouse-face . highlight)) + (default ((t (:stipple nil :background "black" :foreground "#00ff00" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "misc-fixed")))) + (bold ((t (:bold t :weight bold)))) + (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (border ((t (:background "black")))) + (comint-highlight-input ((t (:bold t :weight bold)))) + (comint-highlight-prompt ((t (:foreground "cyan")))) + (cursor ((t (:background "yellow")))) + (fixed-pitch ((t (:family "courier")))) + (font-lock-builtin-face ((t (:foreground "magenta")))) + (font-lock-comment-face ((t (:foreground "deeppink")))) + (font-lock-constant-face ((t (:foreground "blue")))) + (font-lock-doc-face ((t (:foreground "cyan")))) + (font-lock-doc-string-face ((t (:foreground "cyan")))) + (font-lock-function-name-face ((t (:foreground "purple")))) + (font-lock-keyword-face ((t (:foreground "red")))) + (font-lock-preprocessor-face ((t (:foreground "blue1")))) + (font-lock-reference-face ((t (nil)))) + (font-lock-string-face ((t (:foreground "cyan")))) + (font-lock-type-face ((t (:foreground "yellow")))) + (font-lock-variable-name-face ((t (:foreground "violet")))) + (font-lock-warning-face ((t (:bold t :foreground "red" :weight bold)))) + (fringe ((t (:background "gray16" :foreground "#00ff00")))) + (header-line ((t (:box (:line-width -1 :style released-button) :background "grey20" :foreground "grey90" :box nil)))) + (highlight ((t (:background "darkolivegreen")))) + (horizontal-divider ((t (:background "gray16" :foreground "#00ff00")))) + (isearch ((t (:background "palevioletred2" :foreground "brown4")))) + (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) + (italic ((t (:italic t :slant italic)))) + (menu ((t (:background "gray16" :foreground "green")))) + (modeline ((t (:background "gray16" :foreground "#00ff00" :box (:line-width -1 :style released-button))))) + (modeline-buffer-id ((t (:background "gray16" :foreground "#00ff00")))) + (modeline-mousable ((t (:background "gray16" :foreground "#00ff00")))) + (modeline-mousable-minor-mode ((t (:background "gray16" :foreground "#00ff00")))) + (mouse ((t (:background "yellow")))) + (primary-selection ((t (:background "#00ff00" :foreground "black")))) + (region ((t (:background "steelblue" :foreground "white")))) + (scroll-bar ((t (:background "gray16" :foreground "#00ff00")))) + (secondary-selection ((t (:background "#00ff00" :foreground "black")))) + (show-paren-match-face ((t (:background "turquoise")))) + (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) + (speedbar-button-face ((t (:foreground "#00ff00")))) + (speedbar-directory-face ((t (:foreground "#00ff00")))) + (speedbar-file-face ((t (:foreground "cyan")))) + (speedbar-highlight-face ((t (:background "#00ff00" :foreground "purple")))) + (speedbar-selected-face ((t (:foreground "deeppink" :underline t)))) + (speedbar-tag-face ((t (:foreground "yellow")))) + (tool-bar ((t (:background "gray16" :foreground "green" :box (:line-width 1 :style released-button))))) + (tooltip ((t (:background "gray16" :foreground "#00ff00")))) + (trailing-whitespace ((t (:background "red")))) + (underline ((t (:underline t)))) + (variable-pitch ((t (:family "helv")))) + (vertical-divider ((t (:background "gray16" :foreground "#00ff00")))) + (widget-button-face ((t (:bold t :weight bold)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "lime green")))) + (widget-field-face ((t (:background "dim gray")))) + (widget-inactive-face ((t (:foreground "light gray")))) + (widget-single-line-field-face ((t (:background "dim gray")))) + (zmacs-region ((t (:background "steelblue" :foreground "white"))))))) + +(defun color-theme-resolve () + "Color theme by Damien Elmes, created 2002-04-24. +A white smoke on blue color theme." + (interactive) + (color-theme-install + '(color-theme-resolve + ((background-color . "#00457f") + (background-mode . dark) + (border-color . "black") + (cursor-color . "DarkGoldenrod1") + (foreground-color . "white smoke") + (mouse-color . "white")) + ((display-time-mail-face . mode-line) + (help-highlight-face . underline) + (list-matching-lines-face . bold) + (view-highlight-face . highlight) + (widget-mouse-face . highlight)) + (default ((t (:stipple nil :background "#00457f" :foreground "white smoke" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "b&h-lucidatypewriter")))) + (bold ((t (:bold t :foreground "snow2" :weight bold)))) + (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (border ((t (:background "black")))) + (calendar-today-face ((t (:underline t)))) + (comint-highlight-input ((t (:bold t :weight bold)))) + (comint-highlight-prompt ((t (:foreground "cyan")))) + (cperl-array-face ((t (:bold t :foreground "wheat" :weight bold)))) + (cperl-hash-face ((t (:bold t :foreground "chartreuse" :weight bold)))) + (cursor ((t (:background "DarkGoldenrod1")))) + (diary-face ((t (:foreground "yellow")))) + (erc-input-face ((t (:foreground "lightblue2")))) + (erc-notice-face ((t (:foreground "lightyellow3")))) + (fixed-pitch ((t (:family "courier")))) + (font-latex-bold-face ((t (:bold t :foreground "DarkOliveGreen" :weight bold)))) + (font-latex-italic-face ((t (:italic t :foreground "DarkOliveGreen" :slant italic)))) + (font-latex-math-face ((t (:foreground "burlywood")))) + (font-latex-sedate-face ((t (:foreground "LightGray")))) + (font-latex-string-face ((t (:foreground "RosyBrown")))) + (font-latex-warning-face ((t (:bold t :foreground "Red" :weight bold)))) + (font-lock-builtin-face ((t (:foreground "wheat")))) + (font-lock-comment-face ((t (:foreground "light steel blue")))) + (font-lock-constant-face ((t (:foreground "seashell3")))) + (font-lock-doc-face ((t (:foreground "plum")))) + (font-lock-doc-string-face ((t (:foreground "#008000")))) + (font-lock-function-name-face ((t (:foreground "thistle1")))) + (font-lock-keyword-face ((t (:foreground "wheat")))) + (font-lock-other-emphasized-face ((t (:bold t :foreground "gold1" :weight bold)))) + (font-lock-other-type-face ((t (:bold t :foreground "gold1" :weight bold)))) + (font-lock-preprocessor-face ((t (:foreground "#800080")))) + (font-lock-reference-face ((t (:foreground "wheat")))) + (font-lock-string-face ((t (:foreground "plum")))) + (font-lock-type-face ((t (:foreground "lawn green")))) + (font-lock-variable-name-face ((t (:foreground "light yellow")))) + (font-lock-warning-face ((t (:foreground "plum")))) + (fringe ((t (:background "#000000")))) + (gnus-cite-attribution-face ((t (:italic t :slant italic)))) + (gnus-cite-face-1 ((t (:foreground "light blue")))) + (gnus-cite-face-10 ((t (:foreground "medium purple")))) + (gnus-cite-face-11 ((t (:foreground "turquoise")))) + (gnus-cite-face-2 ((t (:foreground "light cyan")))) + (gnus-cite-face-3 ((t (:foreground "light yellow")))) + (gnus-cite-face-4 ((t (:foreground "light pink")))) + (gnus-cite-face-5 ((t (:foreground "pale green")))) + (gnus-cite-face-6 ((t (:foreground "beige")))) + (gnus-cite-face-7 ((t (:foreground "orange")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-emphasis-bold ((t (:bold t :weight bold)))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) + (gnus-emphasis-italic ((t (:italic t :slant italic)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:bold t :underline t :weight bold)))) + (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :underline t :slant italic :weight bold)))) + (gnus-emphasis-underline-italic ((t (:italic t :underline t :slant italic)))) + (gnus-group-mail-1-empty-face ((t (:foreground "aquamarine1")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "aquamarine1" :weight bold)))) + (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "aquamarine2" :weight bold)))) + (gnus-group-mail-3-empty-face ((t (:foreground "aquamarine3")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "aquamarine3" :weight bold)))) + (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "aquamarine4" :weight bold)))) + (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) + (gnus-group-news-1-face ((t (:bold t :foreground "PaleTurquoise" :weight bold)))) + (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) + (gnus-group-news-2-face ((t (:bold t :foreground "turquoise" :weight bold)))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t :weight bold)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t :weight bold)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t :weight bold)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t :weight bold)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkTurquoise" :weight bold)))) + (gnus-header-content-face ((t (:italic t :foreground "snow2" :slant italic)))) + (gnus-header-from-face ((t (:foreground "spring green")))) + (gnus-header-name-face ((t (:bold t :foreground "snow2" :weight bold)))) + (gnus-header-newsgroups-face ((t (:italic t :foreground "yellow" :slant italic)))) + (gnus-header-subject-face ((t (:bold t :foreground "peach puff" :weight bold)))) + (gnus-signature-face ((t (:italic t :slant italic)))) + (gnus-splash-face ((t (:foreground "Brown")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "SkyBlue" :weight bold)))) + (gnus-summary-high-read-face ((t (:bold t :foreground "PaleGreen" :weight bold)))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "pink" :weight bold)))) + (gnus-summary-high-unread-face ((t (:bold t :weight bold)))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "SkyBlue" :slant italic)))) + (gnus-summary-low-read-face ((t (:italic t :foreground "PaleGreen" :slant italic)))) + (gnus-summary-low-ticked-face ((t (:italic t :foreground "pink" :slant italic)))) + (gnus-summary-low-unread-face ((t (:italic t :slant italic)))) + (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) + (gnus-summary-normal-ticked-face ((t (:foreground "pink")))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-selected-face ((t (:underline t)))) + (header-line ((t (:background "grey20" :foreground "grey90")))) + (highlight ((t (:background "gray91" :foreground "firebrick")))) + (highline-face ((t (:background "paleturquoise" :foreground "black")))) + (holiday-face ((t (:background "chocolate4")))) + (isearch ((t (:background "palevioletred2" :foreground "brown4")))) + (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) + (italic ((t (:italic t :slant italic)))) + (menu ((t (nil)))) + (message-cited-text-face ((t (:foreground "seashell3")))) + (message-header-cc-face ((t (:bold t :foreground "snow2" :weight bold)))) + (message-header-name-face ((t (:bold t :foreground "snow1" :weight bold)))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4" :slant italic :weight bold)))) + (message-header-other-face ((t (:foreground "snow2")))) + (message-header-subject-face ((t (:bold t :foreground "snow2" :weight bold)))) + (message-header-to-face ((t (:bold t :foreground "snow2" :weight bold)))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-mml-face ((t (:foreground "ForestGreen")))) + (message-separator-face ((t (:foreground "misty rose")))) + (modeline ((t (:foreground "white" :background "#001040" :box (:line-width -1 :style released-button))))) + (modeline-buffer-id ((t (:foreground "white" :background "#001040")))) + (modeline-mousable ((t (:foreground "white" :background "#001040")))) + (modeline-mousable-minor-mode ((t (:foreground "white" :background "#001040")))) + (mouse ((t (:background "white")))) + (my-tab-face ((t (:background "SlateBlue1")))) + (p4-diff-del-face ((t (:bold t :foreground "salmon" :weight bold)))) + (primary-selection ((t (:background "gray91" :foreground "DodgerBlue4")))) + (region ((t (:background "gray91" :foreground "DodgerBlue4")))) + (scroll-bar ((t (:background "grey75")))) + (secondary-selection ((t (:background "gray91" :foreground "sienna3")))) + (show-paren-match-face ((t (:background "cyan3" :foreground "blue")))) + (show-paren-mismatch-face ((t (:background "red" :foreground "blue")))) + (tool-bar ((t (:background "grey75" :foreground "black")))) + (tooltip ((t (:background "lightyellow" :foreground "black")))) + (trailing-whitespace ((t (:background "red")))) + (underline ((t (:underline t)))) + (variable-pitch ((t (:family "helv")))) + (widget-button-face ((t (:bold t :weight bold)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "steel blue")))) + (widget-inactive-face ((t (:foreground "grey")))) + (widget-single-line-field-face ((t (:background "gray85")))) + (zmacs-region ((t (:background "gray91" :foreground "DodgerBlue4"))))))) + +(defun color-theme-xp () + "Color theme by Girish Bharadwaj, created 2002-04-25. +Includes custom, erc, font-lock, jde, semantic, speedbar, widget." + (interactive) + (color-theme-install + '(color-theme-xp + ((background-color . "lightyellow2") + (background-mode . light) + (border-color . "black") + (cursor-color . "black") + (foreground-color . "gray20") + (mouse-color . "black")) + ((help-highlight-face . underline) + (list-matching-lines-face . bold) + (semantic-which-function-use-color . t) + (senator-eldoc-use-color . t) + (view-highlight-face . highlight) + (widget-mouse-face . highlight)) + (default ((t (:stipple nil :background "lightyellow2" :foreground "gray20" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-courier new")))) + (bg:erc-color-face0 ((t (:background "White")))) + (bg:erc-color-face1 ((t (:background "black")))) + (bg:erc-color-face10 ((t (:background "lightblue1")))) + (bg:erc-color-face11 ((t (:background "cyan")))) + (bg:erc-color-face12 ((t (:background "blue")))) + (bg:erc-color-face13 ((t (:background "deeppink")))) + (bg:erc-color-face14 ((t (:background "gray50")))) + (bg:erc-color-face15 ((t (:background "gray90")))) + (bg:erc-color-face2 ((t (:background "blue4")))) + (bg:erc-color-face3 ((t (:background "green4")))) + (bg:erc-color-face4 ((t (:background "red")))) + (bg:erc-color-face5 ((t (:background "brown")))) + (bg:erc-color-face6 ((t (:background "purple")))) + (bg:erc-color-face7 ((t (:background "orange")))) + (bg:erc-color-face8 ((t (:background "yellow")))) + (bg:erc-color-face9 ((t (:background "green")))) + (bold ((t (:bold t :weight bold)))) + (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (border ((t (:background "black")))) + (button ((t (:underline t)))) + (comint-highlight-input ((t (:bold t :weight bold)))) + (comint-highlight-prompt ((t (:foreground "dark blue")))) + (cursor ((t (:background "black")))) + (custom-button-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style released-button))))) + (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style pressed-button))))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-comment-face ((t (:background "gray85")))) + (custom-comment-tag-face ((t (:foreground "blue4")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:bold t :family "helv" :weight bold :height 1.2)))) + (custom-group-tag-face ((t (:bold t :foreground "blue" :weight bold :height 1.2)))) + (custom-group-tag-face-1 ((t (:bold t :family "helv" :foreground "red" :weight bold :height 1.2)))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "dark green")))) + (custom-variable-button-face ((t (:bold t :underline t :weight bold)))) + (custom-variable-tag-face ((t (:bold t :family "helv" :foreground "blue" :weight bold :height 1.2)))) + (erc-action-face ((t (:bold t :weight bold)))) + (erc-bold-face ((t (:bold t :weight bold)))) + (erc-default-face ((t (nil)))) + (erc-direct-msg-face ((t (:foreground "IndianRed")))) + (erc-error-face ((t (:background "Red" :foreground "White")))) + (erc-input-face ((t (:foreground "brown")))) + (erc-inverse-face ((t (:background "Black" :foreground "White")))) + (erc-notice-face ((t (:bold t :foreground "SlateBlue" :weight bold)))) + (erc-prompt-face ((t (:bold t :background "lightBlue2" :foreground "Black" :weight bold)))) + (erc-timestamp-face ((t (:bold t :foreground "green" :weight bold)))) + (erc-underline-face ((t (:underline t)))) + (fg:erc-color-face0 ((t (:foreground "White")))) + (fg:erc-color-face1 ((t (:foreground "black")))) + (fg:erc-color-face10 ((t (:foreground "lightblue1")))) + (fg:erc-color-face11 ((t (:foreground "cyan")))) + (fg:erc-color-face12 ((t (:foreground "blue")))) + (fg:erc-color-face13 ((t (:foreground "deeppink")))) + (fg:erc-color-face14 ((t (:foreground "gray50")))) + (fg:erc-color-face15 ((t (:foreground "gray90")))) + (fg:erc-color-face2 ((t (:foreground "blue4")))) + (fg:erc-color-face3 ((t (:foreground "green4")))) + (fg:erc-color-face4 ((t (:foreground "red")))) + (fg:erc-color-face5 ((t (:foreground "brown")))) + (fg:erc-color-face6 ((t (:foreground "purple")))) + (fg:erc-color-face7 ((t (:foreground "orange")))) + (fg:erc-color-face8 ((t (:foreground "yellow")))) + (fg:erc-color-face9 ((t (:foreground "green")))) + (fixed-pitch ((t (:family "courier")))) + (font-lock-builtin-face ((t (:foreground "magenta3" :underline t :height 0.9)))) + (font-lock-comment-face ((t (:italic t :foreground "gray60" :slant oblique :height 0.9)))) + (font-lock-constant-face ((t (:bold t :foreground "medium purple" :weight bold :height 0.9)))) + (font-lock-function-name-face ((t (:bold t :foreground "black" :weight bold)))) + (font-lock-keyword-face ((t (:bold t :foreground "blue" :weight bold)))) + (font-lock-string-face ((t (:foreground "red" :height 0.9)))) + (font-lock-type-face ((t (:foreground "Royalblue")))) + (font-lock-variable-name-face ((t (:bold t :foreground "maroon" :weight bold :height 0.9)))) + (font-lock-warning-face ((t (:bold t :foreground "Red" :weight bold)))) + (fringe ((t (:background "dodgerblue")))) + (header-line ((t (:underline "red" :overline "red" :background "grey90" :foreground "grey20" :box nil)))) + (highlight ((t (:background "darkseagreen2")))) + (isearch ((t (:background "magenta2" :foreground "lightskyblue1")))) + (isearch-lazy-highlight-face ((t (:background "paleturquoise")))) + (italic ((t (:italic t :slant italic)))) + (jde-bug-breakpoint-cursor ((t (:background "brown" :foreground "cyan")))) + (jde-db-active-breakpoint-face ((t (:background "red" :foreground "black")))) + (jde-db-requested-breakpoint-face ((t (:background "yellow" :foreground "black")))) + (jde-db-spec-breakpoint-face ((t (:background "green" :foreground "black")))) + (jde-java-font-lock-api-face ((t (:foreground "dark goldenrod")))) + (jde-java-font-lock-bold-face ((t (:bold t :weight bold)))) + (jde-java-font-lock-code-face ((t (nil)))) + (jde-java-font-lock-constant-face ((t (:foreground "CadetBlue")))) + (jde-java-font-lock-doc-tag-face ((t (:foreground "green4")))) + (jde-java-font-lock-italic-face ((t (:italic t :slant italic)))) + (jde-java-font-lock-link-face ((t (:foreground "cadetblue" :underline t :slant normal)))) + (jde-java-font-lock-modifier-face ((t (:foreground "Orchid")))) + (jde-java-font-lock-number-face ((t (:foreground "RosyBrown")))) + (jde-java-font-lock-operator-face ((t (:foreground "medium blue")))) + (jde-java-font-lock-package-face ((t (:foreground "blue3")))) + (jde-java-font-lock-pre-face ((t (nil)))) + (jde-java-font-lock-underline-face ((t (:underline t)))) + (menu ((t (nil)))) + (minibuffer-prompt ((t (:foreground "dark blue")))) + (modeline ((t (:background "dodgerblue" :foreground "black" :overline "red" :underline "red")))) + (modeline-buffer-id ((t (:background "dodgerblue" :foreground "black")))) + (modeline-mousable ((t (:background "dodgerblue" :foreground "black")))) + (modeline-mousable-minor-mode ((t (:background "dodgerblue" :foreground "black")))) + (mode-line-inactive ((t (:italic t :underline "red" :overline "red" :background "white" :foreground "cadetblue" :box (:line-width -1 :color "grey75") :slant oblique :weight light)))) + (mouse ((t (:background "black")))) + (primary-selection ((t (:background "lightgoldenrod2")))) + (region ((t (:background "lightgoldenrod2")))) + (scroll-bar ((t (nil)))) + (secondary-selection ((t (:background "yellow")))) + (semantic-dirty-token-face ((t (:background "lightyellow")))) + (semantic-unmatched-syntax-face ((t (:underline "red")))) + (senator-intangible-face ((t (:foreground "gray25")))) + (senator-momentary-highlight-face ((t (:background "gray70")))) + (senator-read-only-face ((t (:background "#CCBBBB")))) + (show-paren-match-face ((t (:background "turquoise")))) + (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) + (speedbar-button-face ((t (:foreground "green4")))) + (speedbar-directory-face ((t (:foreground "blue4")))) + (speedbar-file-face ((t (:foreground "cyan4")))) + (speedbar-highlight-face ((t (:background "green")))) + (speedbar-selected-face ((t (:foreground "red" :underline t)))) + (speedbar-tag-face ((t (:foreground "brown")))) + (template-message-face ((t (:bold t :weight bold)))) + (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) + (tooltip ((t (:background "lightyellow" :foreground "black")))) + (trailing-whitespace ((t (:background "red")))) + (underline ((t (:underline t)))) + (variable-pitch ((t (:family "helv")))) + (widget-button-face ((t (:bold t :weight bold)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (widget-single-line-field-face ((t (:background "gray85")))) + (zmacs-region ((t (:background "lightgoldenrod2"))))))) + +(defun color-theme-gray30 () + "Color theme by Girish Bharadwaj, created 2002-04-22." + (interactive) + (color-theme-install + '(color-theme-gray30 + ((background-color . "grey30") + (background-mode . dark) + (border-color . "black") + (cursor-color . "black") + (foreground-color . "gainsboro") + (mouse-color . "black")) + ((help-highlight-face . underline) + (list-matching-lines-face . bold) + (semantic-which-function-use-color . t) + (senator-eldoc-use-color . t) + (widget-mouse-face . highlight)) + (default ((t (:stipple nil :background "grey30" :foreground "gainsboro" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-courier new")))) + (bg:erc-color-face0 ((t (:background "White")))) + (bg:erc-color-face1 ((t (:background "black")))) + (bg:erc-color-face10 ((t (:background "lightblue1")))) + (bg:erc-color-face11 ((t (:background "cyan")))) + (bg:erc-color-face12 ((t (:background "blue")))) + (bg:erc-color-face13 ((t (:background "deeppink")))) + (bg:erc-color-face14 ((t (:background "gray50")))) + (bg:erc-color-face15 ((t (:background "gray90")))) + (bg:erc-color-face2 ((t (:background "blue4")))) + (bg:erc-color-face3 ((t (:background "green4")))) + (bg:erc-color-face4 ((t (:background "red")))) + (bg:erc-color-face5 ((t (:background "brown")))) + (bg:erc-color-face6 ((t (:background "purple")))) + (bg:erc-color-face7 ((t (:background "orange")))) + (bg:erc-color-face8 ((t (:background "yellow")))) + (bg:erc-color-face9 ((t (:background "green")))) + (bold ((t (:bold t :weight bold)))) + (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (border ((t (:background "black")))) + (button ((t (:underline t)))) + (comint-highlight-input ((t (:bold t :weight bold)))) + (comint-highlight-prompt ((t (:foreground "cyan")))) + (cursor ((t (:background "black")))) + (custom-button-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style released-button))))) + (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style pressed-button))))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-comment-face ((t (:background "dim gray")))) + (custom-comment-tag-face ((t (:foreground "gray80")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:bold t :family "helv" :weight bold :height 1.2)))) + (custom-group-tag-face ((t (:bold t :foreground "light blue" :weight bold :height 1.2)))) + (custom-group-tag-face-1 ((t (:bold t :family "helv" :foreground "pink" :weight bold :height 1.2)))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "lime green")))) + (custom-variable-button-face ((t (:bold t :underline t :weight bold)))) + (custom-variable-tag-face ((t (:bold t :family "helv" :foreground "light blue" :weight bold :height 1.2)))) + (erc-action-face ((t (:bold t :weight bold)))) + (erc-bold-face ((t (:bold t :weight bold)))) + (erc-default-face ((t (nil)))) + (erc-direct-msg-face ((t (:foreground "IndianRed")))) + (erc-error-face ((t (:background "Red" :foreground "White")))) + (erc-input-face ((t (:foreground "brown")))) + (erc-inverse-face ((t (:background "Black" :foreground "White")))) + (erc-notice-face ((t (:bold t :foreground "SlateBlue" :weight bold)))) + (erc-prompt-face ((t (:bold t :background "lightBlue2" :foreground "Black" :weight bold)))) + (erc-timestamp-face ((t (:bold t :foreground "green" :weight bold)))) + (erc-underline-face ((t (:underline t)))) + (eshell-ls-archive-face ((t (:bold t :foreground "Orchid" :weight bold)))) + (eshell-ls-backup-face ((t (:foreground "LightSalmon")))) + (eshell-ls-clutter-face ((t (:bold t :foreground "OrangeRed" :weight bold)))) + (eshell-ls-directory-face ((t (:bold t :foreground "SkyBlue" :weight bold)))) + (eshell-ls-executable-face ((t (:bold t :foreground "Green" :weight bold)))) + (eshell-ls-missing-face ((t (:bold t :foreground "Red" :weight bold)))) + (eshell-ls-product-face ((t (:foreground "LightSalmon")))) + (eshell-ls-readonly-face ((t (:foreground "Pink")))) + (eshell-ls-special-face ((t (:bold t :foreground "Magenta" :weight bold)))) + (eshell-ls-symlink-face ((t (:bold t :foreground "Cyan" :weight bold)))) + (eshell-ls-unreadable-face ((t (:foreground "DarkGrey")))) + (fg:erc-color-face0 ((t (:foreground "White")))) + (fg:erc-color-face1 ((t (:foreground "black")))) + (fg:erc-color-face10 ((t (:foreground "lightblue1")))) + (fg:erc-color-face11 ((t (:foreground "cyan")))) + (fg:erc-color-face12 ((t (:foreground "blue")))) + (fg:erc-color-face13 ((t (:foreground "deeppink")))) + (fg:erc-color-face14 ((t (:foreground "gray50")))) + (fg:erc-color-face15 ((t (:foreground "gray90")))) + (fg:erc-color-face2 ((t (:foreground "blue4")))) + (fg:erc-color-face3 ((t (:foreground "green4")))) + (fg:erc-color-face4 ((t (:foreground "red")))) + (fg:erc-color-face5 ((t (:foreground "brown")))) + (fg:erc-color-face6 ((t (:foreground "purple")))) + (fg:erc-color-face7 ((t (:foreground "orange")))) + (fg:erc-color-face8 ((t (:foreground "yellow")))) + (fg:erc-color-face9 ((t (:foreground "green")))) + (fixed-pitch ((t (:family "courier")))) + (font-lock-builtin-face ((t (:foreground "LightSkyBlue" :underline t)))) + (font-lock-comment-face ((t (:italic t :foreground "lightgreen" :slant oblique)))) + (font-lock-constant-face ((t (:foreground "Aquamarine")))) + (font-lock-function-name-face ((t (:bold t :foreground "DodgerBlue" :weight bold :height 1.05)))) + (font-lock-keyword-face ((t (:foreground "LightPink" :height 1.05)))) + (font-lock-string-face ((t (:foreground "LightSalmon")))) + (font-lock-type-face ((t (:foreground "yellow" :height 1.05)))) + (font-lock-variable-name-face ((t (:foreground "gold")))) + (font-lock-warning-face ((t (:bold t :foreground "Pink" :weight bold)))) + (fringe ((t (:background "grey10")))) + (header-line ((t (:box (:line-width -1 :style released-button) :background "grey20" :foreground "grey90" :box nil)))) + (highlight ((t (:background "darkolivegreen")))) + (isearch ((t (:background "palevioletred2" :foreground "brown4")))) + (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) + (italic ((t (:italic t :slant italic)))) + (jde-bug-breakpoint-cursor ((t (:background "brown" :foreground "cyan")))) + (jde-db-active-breakpoint-face ((t (:background "red" :foreground "black")))) + (jde-db-requested-breakpoint-face ((t (:background "yellow" :foreground "black")))) + (jde-db-spec-breakpoint-face ((t (:background "green" :foreground "black")))) + (jde-java-font-lock-api-face ((t (:foreground "light goldenrod")))) + (jde-java-font-lock-bold-face ((t (:bold t :weight bold)))) + (jde-java-font-lock-code-face ((t (nil)))) + (jde-java-font-lock-constant-face ((t (:foreground "Aquamarine")))) + (jde-java-font-lock-doc-tag-face ((t (:foreground "light coral")))) + (jde-java-font-lock-italic-face ((t (:italic t :slant italic)))) + (jde-java-font-lock-link-face ((t (:foreground "cadetblue" :underline t :slant normal)))) + (jde-java-font-lock-modifier-face ((t (:foreground "LightSteelBlue")))) + (jde-java-font-lock-number-face ((t (:foreground "LightSalmon")))) + (jde-java-font-lock-operator-face ((t (:foreground "medium blue")))) + (jde-java-font-lock-package-face ((t (:foreground "steelblue1")))) + (jde-java-font-lock-pre-face ((t (nil)))) + (jde-java-font-lock-underline-face ((t (:underline t)))) + (menu ((t (nil)))) + (minibuffer-prompt ((t (:foreground "cyan")))) + (mode-line ((t (:background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) + (mode-line-inactive ((t (:background "grey30" :foreground "grey80" :box (:line-width -1 :color "grey40" :style nil) :weight light)))) + (mouse ((t (:background "black")))) + (primary-selection ((t (:background "blue3")))) + (region ((t (:background "blue3")))) + (scroll-bar ((t (nil)))) + (secondary-selection ((t (:background "SkyBlue4")))) + (semantic-dirty-token-face ((t (:background "lightyellow")))) + (semantic-unmatched-syntax-face ((t (:underline "red")))) + (senator-intangible-face ((t (:foreground "gray75")))) + (senator-momentary-highlight-face ((t (:background "gray30")))) + (senator-read-only-face ((t (:background "#664444")))) + (show-paren-match-face ((t (:background "steelblue3")))) + (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) + (speedbar-button-face ((t (:foreground "green3")))) + (speedbar-directory-face ((t (:foreground "light blue")))) + (speedbar-file-face ((t (:foreground "cyan")))) + (speedbar-highlight-face ((t (:background "sea green")))) + (speedbar-selected-face ((t (:foreground "red" :underline t)))) + (speedbar-tag-face ((t (:foreground "yellow")))) + (template-message-face ((t (:bold t :weight bold)))) + (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) + (tooltip ((t (:background "lightyellow" :foreground "black")))) + (trailing-whitespace ((t (:background "red")))) + (underline ((t (:underline t)))) + (variable-pitch ((t (:family "helv")))) + (widget-button-face ((t (:bold t :weight bold)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "lime green")))) + (widget-field-face ((t (:background "dim gray")))) + (widget-inactive-face ((t (:foreground "light gray")))) + (widget-single-line-field-face ((t (:background "dim gray")))) + (zmacs-region ((t (:background "blue3"))))))) + +(defun color-theme-dark-green () + "Color theme by ces93, created 2002-03-30." + (interactive) + (color-theme-install + '(color-theme-dark-green + ((background-mode . light) + (background-toolbar-color . "#e79ddf7ddf7d") + (border-color . "#000000000000") + (bottom-toolbar-shadow-color . "#8e3886178617") + (top-toolbar-shadow-color . "#ffffffffffff")) + nil + (default ((t (nil)))) + (blue ((t (:foreground "blue")))) + (bold ((t (:bold t)))) + (bold-italic ((t (:italic t :bold t)))) + (border-glyph ((t (nil)))) + (fringe ((t (nil)))) + (green ((t (:foreground "green")))) + (gui-button-face ((t (:background "grey75" :foreground "black")))) + (gui-element ((t (:background "#ffffff" :foreground "#000000")))) + (highlight ((t (:background "gray" :foreground "darkred")))) + (isearch ((t (:background "LightSlateGray" :foreground "red")))) + (italic ((t (:italic t)))) + (left-margin ((t (nil)))) + (list-mode-item-selected ((t (:background "gray68")))) + (mode-line ((t (:background "LightSlateGray" :foreground "black")))) + (modeline ((t (:background "LightSlateGray" :foreground "black")))) + (modeline-buffer-id ((t (:background "LightSlateGray" :foreground "blue4")))) + (modeline-mousable ((t (:background "LightSlateGray" :foreground "firebrick")))) + (modeline-mousable-minor-mode ((t (:background "LightSlateGray" :foreground "green4")))) + (pointer ((t (:background "#ffffff" :foreground "#000000")))) + (primary-selection ((t (:background "gray65")))) + (red ((t (:foreground "red")))) + (region ((t (:background "gray65")))) + (right-margin ((t (nil)))) + (rpm-spec-dir-face ((t (:foreground "green")))) + (rpm-spec-doc-face ((t (:foreground "magenta")))) + (rpm-spec-ghost-face ((t (:foreground "red")))) + (rpm-spec-macro-face ((t (:foreground "purple")))) + (rpm-spec-package-face ((t (:foreground "red")))) + (rpm-spec-tag-face ((t (:foreground "blue")))) + (secondary-selection ((t (:background "paleturquoise")))) + (text-cursor ((t (:background "Red3" :foreground "DarkSlateGray")))) + (tool-bar ((t (nil)))) + (toolbar ((t (:background "#ffffff" :foreground "#000000")))) + (underline ((t (:underline t)))) + (vertical-divider ((t (:background "#ffffff" :foreground "#000000")))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (yellow ((t (:foreground "yellow")))) + (zmacs-region ((t (:background "darkorange" :foreground "black"))))))) + +(defun color-theme-whateveryouwant () + "Color theme by Fabien Penso, created 2002-05-02." + (interactive) + (color-theme-install + '(color-theme-whateveryouwant + ((background-color . "white") + (background-mode . light) + (border-color . "black") + (cursor-color . "black") + (foreground-color . "black") + (mouse-color . "black")) + ((cperl-here-face . font-lock-string-face) + (cperl-invalid-face . underline) + (cperl-pod-face . font-lock-comment-face) + (cperl-pod-head-face . font-lock-variable-name-face) + (display-time-mail-face . mode-line) + (gnus-article-button-face . bold) + (gnus-article-mouse-face . highlight) + (gnus-carpal-button-face . bold) + (gnus-carpal-header-face . bold-italic) + (gnus-cite-attribution-face . gnus-cite-attribution-face) + (gnus-mouse-face . highlight) + (gnus-selected-tree-face . modeline) + (gnus-signature-face . gnus-signature-face) + (gnus-summary-selected-face . gnus-summary-selected-face) + (gnus-treat-display-xface . head) + (help-highlight-face . underline) + (ispell-highlight-face . flyspell-incorrect-face) + (list-matching-lines-face . bold) + (sgml-set-face . t) + (view-highlight-face . highlight) + (widget-mouse-face . highlight) + (x-face-mouse-face . highlight)) + (default ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 116 :width normal :family "monotype-courier new")))) + (Info-title-1-face ((t (:bold t :weight bold :height 1.728 :family "helv")))) + (Info-title-2-face ((t (:bold t :weight bold :height 1.44 :family "helv")))) + (Info-title-3-face ((t (:bold t :weight bold :height 1.2 :family "helv")))) + (Info-title-4-face ((t (:bold t :weight bold :family "helv")))) + (antlr-font-lock-keyword-face ((t (:bold t :foreground "black" :weight bold)))) + (antlr-font-lock-literal-face ((t (:bold t :foreground "brown4" :weight bold)))) + (antlr-font-lock-ruledef-face ((t (:bold t :foreground "blue" :weight bold)))) + (antlr-font-lock-ruleref-face ((t (:foreground "blue4")))) + (antlr-font-lock-tokendef-face ((t (:bold t :foreground "blue" :weight bold)))) + (antlr-font-lock-tokenref-face ((t (:foreground "orange4")))) + (bbdb-company ((t (:italic t :slant italic)))) + (bbdb-field-name ((t (:bold t :foreground "gray40" :weight bold)))) + (bbdb-field-value ((t (nil)))) + (bbdb-name ((t (:underline t)))) + (bold ((t (:bold t :foreground "gray40" :weight bold)))) + (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (border ((t (:background "black")))) + (calendar-today-face ((t (:underline t)))) + (change-log-acknowledgement-face ((t (:foreground "Firebrick")))) + (change-log-conditionals-face ((t (:foreground "DarkGoldenrod")))) + (change-log-date-face ((t (:foreground "RosyBrown")))) + (change-log-email-face ((t (:foreground "DarkGoldenrod")))) + (change-log-file-face ((t (:foreground "Blue")))) + (change-log-function-face ((t (:foreground "DarkGoldenrod")))) + (change-log-list-face ((t (:foreground "Purple")))) + (change-log-name-face ((t (:foreground "CadetBlue")))) + (comint-highlight-input ((t (:bold t :weight bold)))) + (comint-highlight-prompt ((t (:foreground "dark blue")))) + (cperl-array-face ((t (:bold t :background "lightyellow2" :foreground "Blue" :weight bold)))) + (cperl-hash-face ((t (:italic t :bold t :background "lightyellow2" :foreground "Red" :slant italic :weight bold)))) + (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) + (cursor ((t (:background "black")))) + (custom-button-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style released-button))))) + (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style pressed-button))))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-comment-face ((t (:background "gray85")))) + (custom-comment-tag-face ((t (:foreground "blue4")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:bold t :weight bold :height 1.2 :family "helv")))) + (custom-group-tag-face ((t (:bold t :foreground "blue" :weight bold :height 1.2)))) + (custom-group-tag-face-1 ((t (:bold t :foreground "red" :weight bold :height 1.2 :family "helv")))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "dark green")))) + (custom-variable-button-face ((t (:bold t :underline t :weight bold)))) + (custom-variable-tag-face ((t (:bold t :foreground "blue" :weight bold :height 1.2 :family "helv")))) + (cvs-filename-face ((t (:foreground "blue4")))) + (cvs-handled-face ((t (:foreground "pink")))) + (cvs-header-face ((t (:bold t :foreground "blue4" :weight bold)))) + (cvs-marked-face ((t (:bold t :foreground "green3" :weight bold)))) + (cvs-msg-face ((t (:italic t :slant italic)))) + (cvs-need-action-face ((t (:foreground "orange")))) + (cvs-unknown-face ((t (:foreground "red")))) + (diary-face ((t (:foreground "red")))) + (diff-added-face ((t (nil)))) + (diff-changed-face ((t (nil)))) + (diff-context-face ((t (:foreground "grey50")))) + (diff-file-header-face ((t (:bold t :background "grey70" :weight bold)))) + (diff-function-face ((t (:foreground "grey50")))) + (diff-header-face ((t (:background "grey85")))) + (diff-hunk-header-face ((t (:background "grey85")))) + (diff-index-face ((t (:bold t :background "grey70" :weight bold)))) + (diff-nonexistent-face ((t (:bold t :background "grey70" :weight bold)))) + (diff-removed-face ((t (nil)))) + (dired-face-boring ((t (:foreground "RosyBrown")))) + (dired-face-directory ((t (:foreground "Blue")))) + (dired-face-executable ((t (nil)))) + (dired-face-flagged ((t (:bold t :foreground "Red" :weight bold)))) + (dired-face-marked ((t (:bold t :foreground "Red" :weight bold)))) + (dired-face-permissions ((t (nil)))) + (dired-face-setuid ((t (nil)))) + (dired-face-socket ((t (nil)))) + (dired-face-symlink ((t (:foreground "Purple")))) + (ebrowse-default-face ((t (nil)))) + (ebrowse-file-name-face ((t (:italic t :slant italic)))) + (ebrowse-member-attribute-face ((t (:foreground "red")))) + (ebrowse-member-class-face ((t (:foreground "purple")))) + (ebrowse-progress-face ((t (:background "blue")))) + (ebrowse-root-class-face ((t (:bold t :foreground "blue" :weight bold)))) + (ebrowse-tree-mark-face ((t (:foreground "red")))) + (ediff-current-diff-face-A ((t (:background "pale green" :foreground "firebrick")))) + (ediff-current-diff-face-Ancestor ((t (:background "VioletRed" :foreground "Black")))) + (ediff-current-diff-face-B ((t (:background "Yellow" :foreground "DarkOrchid")))) + (ediff-current-diff-face-C ((t (:background "Pink" :foreground "Navy")))) + (ediff-even-diff-face-A ((t (:background "light grey" :foreground "Black")))) + (ediff-even-diff-face-Ancestor ((t (:background "Grey" :foreground "White")))) + (ediff-even-diff-face-B ((t (:background "Grey" :foreground "White")))) + (ediff-even-diff-face-C ((t (:background "light grey" :foreground "Black")))) + (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy")))) + (ediff-fine-diff-face-Ancestor ((t (:background "Green" :foreground "Black")))) + (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Black")))) + (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Black")))) + (ediff-odd-diff-face-A ((t (:background "Grey" :foreground "White")))) + (ediff-odd-diff-face-Ancestor ((t (:background "light grey" :foreground "Black")))) + (ediff-odd-diff-face-B ((t (:background "light grey" :foreground "Black")))) + (ediff-odd-diff-face-C ((t (:background "Grey" :foreground "White")))) + (erc-action-face ((t (:bold t :weight bold)))) + (erc-bold-face ((t (:bold t :weight bold)))) + (erc-default-face ((t (nil)))) + (erc-direct-msg-face ((t (:foreground "LightSalmon")))) + (erc-error-face ((t (:bold t :foreground "IndianRed" :weight bold)))) + (erc-input-face ((t (:foreground "Beige")))) + (erc-inverse-face ((t (:background "wheat" :foreground "darkslategrey")))) + (erc-notice-face ((t (:foreground "MediumAquamarine")))) + (erc-pal-face ((t (:foreground "pale green")))) + (erc-prompt-face ((t (:foreground "MediumAquamarine")))) + (erc-underline-face ((t (:underline t)))) + (eshell-ls-archive-face ((t (:bold t :foreground "Orchid" :weight bold)))) + (eshell-ls-backup-face ((t (:foreground "OrangeRed")))) + (eshell-ls-clutter-face ((t (:bold t :foreground "OrangeRed" :weight bold)))) + (eshell-ls-directory-face ((t (:bold t :foreground "Blue" :weight bold)))) + (eshell-ls-executable-face ((t (:bold t :foreground "ForestGreen" :weight bold)))) + (eshell-ls-missing-face ((t (:bold t :foreground "Red" :weight bold)))) + (eshell-ls-picture-face ((t (:foreground "Violet")))) + (eshell-ls-product-face ((t (:foreground "OrangeRed")))) + (eshell-ls-readonly-face ((t (:foreground "Brown")))) + (eshell-ls-special-face ((t (:bold t :foreground "Magenta" :weight bold)))) + (eshell-ls-symlink-face ((t (:bold t :foreground "Dark Cyan" :weight bold)))) + (eshell-ls-unreadable-face ((t (:foreground "Grey30")))) + (eshell-prompt-face ((t (:bold t :foreground "#aa0000" :weight bold :width condensed :family "neep-alt")))) + (eshell-test-failed-face ((t (:bold t :foreground "OrangeRed" :weight bold)))) + (eshell-test-ok-face ((t (:bold t :foreground "Green" :weight bold)))) + (excerpt ((t (:italic t :slant italic)))) + (fixed ((t (:bold t :weight bold)))) + (fixed-pitch ((t (:family "courier")))) + (flyspell-duplicate-face ((t (:bold t :foreground "Gold3" :underline t :weight bold)))) + (flyspell-incorrect-face ((t (:bold t :foreground "OrangeRed" :underline t :weight bold)))) + (font-latex-bold-face ((t (:bold t :foreground "DarkOliveGreen" :weight bold)))) + (font-latex-italic-face ((t (:italic t :foreground "DarkOliveGreen" :slant italic)))) + (font-latex-math-face ((t (:foreground "SaddleBrown")))) + (font-latex-sedate-face ((t (:foreground "DimGray")))) + (font-latex-string-face ((t (:foreground "RosyBrown")))) + (font-latex-warning-face ((t (:bold t :foreground "Red" :weight bold)))) + (font-lock-builtin-face ((t (:foreground "dodgerblue3")))) + (font-lock-comment-face ((t (:foreground "#cc0000" :width semi-condensed :family "helvetica")))) + (font-lock-constant-face ((t (:foreground "CadetBlue")))) + (font-lock-doc-face ((t (:foreground "RosyBrown")))) + (font-lock-doc-string-face ((t (:foreground "RosyBrown")))) + (font-lock-function-name-face ((t (:bold t :foreground "navy" :weight bold :height 100)))) + (font-lock-keyword-face ((t (:bold t :foreground "red4" :weight bold)))) + (font-lock-preprocessor-face ((t (:foreground "CadetBlue")))) + (font-lock-reference-face ((t (:foreground "Orchid")))) + (font-lock-string-face ((t (:foreground "navy")))) + (font-lock-type-face ((t (:bold t :foreground "black" :weight bold)))) + (font-lock-variable-name-face ((t (:foreground "black")))) + (font-lock-warning-face ((t (:foreground "orange2")))) + (fringe ((t (:background "white")))) + (gnus-cite-attribution-face ((t (:italic t :slant italic)))) + (gnus-cite-face-1 ((t (:foreground "MidnightBlue")))) + (gnus-cite-face-10 ((t (:foreground "medium purple")))) + (gnus-cite-face-11 ((t (:foreground "turquoise")))) + (gnus-cite-face-2 ((t (:foreground "firebrick")))) + (gnus-cite-face-3 ((t (:foreground "dark green")))) + (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) + (gnus-cite-face-5 ((t (:foreground "dark khaki")))) + (gnus-cite-face-6 ((t (:foreground "dark violet")))) + (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-emphasis-bold ((t (:bold t :weight bold)))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) + (gnus-emphasis-italic ((t (:italic t :slant italic)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:bold t :underline t :weight bold)))) + (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :underline t :slant italic :weight bold)))) + (gnus-emphasis-underline-italic ((t (:italic t :underline t :slant italic)))) + (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3" :weight bold)))) + (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3" :weight bold)))) + (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4" :weight bold)))) + (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4" :weight bold)))) + (gnus-group-news-1-empty-face ((t (:foreground "red" :weight normal :height 120 :family "courier")))) + (gnus-group-news-1-face ((t (:foreground "red" :weight normal :height 120 :family "courier")))) + (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) + (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4" :weight bold)))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t :weight bold)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t :weight bold)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t :weight bold)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t :weight bold)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen" :weight bold)))) + (gnus-header-content-face ((t (:foreground "goldenrod" :slant normal :family "helvetica")))) + (gnus-header-from-face ((t (:bold t :foreground "grey75" :weight bold :height 140 :family "helvetica")))) + (gnus-header-name-face ((t (:foreground "grey75" :height 120 :family "helvetica")))) + (gnus-header-newsgroups-face ((t (:italic t :foreground "MidnightBlue" :slant italic)))) + (gnus-header-subject-face ((t (:bold t :foreground "firebrick" :weight bold :height 160 :family "helvetica")))) + (gnus-picon-face ((t (:background "white" :foreground "black")))) + (gnus-picon-xbm-face ((t (:background "white" :foreground "black")))) + (gnus-signature-face ((t (:italic t :slant italic)))) + (gnus-splash-face ((t (:foreground "Brown")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue" :weight bold)))) + (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen" :weight bold)))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick" :weight bold)))) + (gnus-summary-high-unread-face ((t (:bold t :weight bold)))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue" :slant italic)))) + (gnus-summary-low-read-face ((t (:italic t :foreground "DarkGreen" :slant italic)))) + (gnus-summary-low-ticked-face ((t (:italic t :foreground "firebrick" :slant italic)))) + (gnus-summary-low-unread-face ((t (:italic t :slant italic)))) + (gnus-summary-normal-ancient-face ((t (:foreground "grey65" :height 110 :width condensed :family "neep")))) + (gnus-summary-normal-read-face ((t (:foreground "grey75" :height 110 :width condensed :family "neep")))) + (gnus-summary-normal-ticked-face ((t (:bold t :foreground "firebrick" :weight bold :height 110 :width condensed :family "neep")))) + (gnus-summary-normal-unread-face ((t (:foreground "firebrick" :height 110 :width condensed :family "neep")))) + (gnus-summary-selected-face ((t (:background "gold" :foreground "black" :box (:line-width 1 :color "yellow" :style released-button) :height 140 :width condensed :family "neep")))) + (header-line ((t (:background "grey90" :foreground "grey20" :box nil)))) + (hi-black-b ((t (:bold t :weight bold)))) + (hi-black-hb ((t (:bold t :weight bold :height 1.67 :family "helv")))) + (hi-blue ((t (:background "light blue")))) + (hi-blue-b ((t (:bold t :foreground "blue" :weight bold)))) + (hi-green ((t (:background "green")))) + (hi-green-b ((t (:bold t :foreground "green" :weight bold)))) + (hi-pink ((t (:background "pink")))) + (hi-red-b ((t (:bold t :foreground "red" :weight bold)))) + (hi-yellow ((t (:background "yellow")))) + (highlight ((t (:background "black" :foreground "white")))) + (highlight-changes-delete-face ((t (:foreground "red" :underline t)))) + (highlight-changes-face ((t (:foreground "red")))) + (highline-face ((t (:background "gray80")))) + (holiday-face ((t (:background "pink")))) + (idlwave-help-link-face ((t (:foreground "Blue")))) + (idlwave-shell-bp-face ((t (:background "Pink" :foreground "Black")))) + (info-header-node ((t (:italic t :bold t :foreground "brown" :slant italic :weight bold)))) + (info-header-xref ((t (:bold t :foreground "magenta4" :weight bold)))) + (info-menu-5 ((t (:foreground "red1")))) + (info-menu-header ((t (:bold t :weight bold :family "helv")))) + (info-node ((t (:italic t :bold t :foreground "brown" :slant italic :weight bold)))) + (info-xref ((t (:bold t :foreground "magenta4" :weight bold)))) + (isearch ((t (:background "magenta4" :foreground "lightskyblue1")))) + (isearch-lazy-highlight-face ((t (:background "paleturquoise")))) + (italic ((t (:italic t :slant italic)))) + (log-view-file-face ((t (:bold t :background "grey70" :weight bold)))) + (log-view-message-face ((t (:background "grey85")))) + (makefile-space-face ((t (:background "hotpink")))) + (menu ((t (nil)))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:foreground "grey45" :weight normal :family "helvetica")))) + (message-header-name-face ((t (:foreground "cornflower blue")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4" :slant italic :weight bold)))) + (message-header-other-face ((t (:foreground "steel blue")))) + (message-header-subject-face ((t (:bold t :foreground "navy blue" :weight bold)))) + (message-header-to-face ((t (:bold t :foreground "grey60" :weight bold :height 120 :family "helvetica")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-mml-face ((t (:foreground "ForestGreen")))) + (message-separator-face ((t (:foreground "brown")))) + (mode-line ((t (:background "grey90" :foreground "black" :box (:line-width 1 :style none) :width condensed :family "neep")))) + (modeline-buffer-id ((t (:bold t :background "grey75" :foreground "black" :box (:line-width -1 :style released-button) :weight bold)))) + (modeline-mousable ((t (:background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) + (modeline-mousable-minor-mode ((t (:background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) + (mouse ((t (:background "black")))) + (mpg123-face-cur ((t (:background "#004080" :foreground "yellow")))) + (mpg123-face-slider ((t (:background "yellow" :foreground "black")))) + (primary-selection ((t (:background "lightgoldenrod2")))) + (reb-match-0 ((t (:background "lightblue")))) + (reb-match-1 ((t (:background "aquamarine")))) + (reb-match-2 ((t (:background "springgreen")))) + (reb-match-3 ((t (:background "yellow")))) + (region ((t (:background "#aa0000" :foreground "white")))) + (scroll-bar ((t (:background "grey75")))) + (secondary-selection ((t (:background "yellow")))) + (sgml-comment-face ((t (:italic t :foreground "SeaGreen" :slant italic)))) + (sgml-doctype-face ((t (:bold t :foreground "FireBrick" :weight bold)))) + (sgml-end-tag-face ((t (:stipple nil :background "white" :foreground "SlateBlue" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 116 :width normal :family "monotype-courier new")))) + (sgml-entity-face ((t (:stipple nil :background "SlateBlue" :foreground "Red" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 116 :width normal :family "monotype-courier new")))) + (sgml-ignored-face ((t (nil)))) + (sgml-ms-end-face ((t (nil)))) + (sgml-ms-start-face ((t (nil)))) + (sgml-pi-face ((t (:bold t :foreground "gray40" :weight bold)))) + (sgml-sgml-face ((t (:bold t :foreground "gray40" :weight bold)))) + (sgml-short-ref-face ((t (nil)))) + (sgml-shortref-face ((t (:bold t :foreground "gray40" :weight bold)))) + (sgml-start-tag-face ((t (:stipple nil :background "white" :foreground "SlateBlue" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 116 :width normal :family "monotype-courier new")))) + (sh-heredoc-face ((t (:foreground "tan")))) + (show-paren-match-face ((t (:background "gray80" :foreground "black")))) + (show-paren-mismatch-face ((t (:background "red" :foreground "yellow")))) + (show-tabs-space-face ((t (:foreground "yellow")))) + (show-tabs-tab-face ((t (:foreground "red")))) + (smerge-base-face ((t (:foreground "red")))) + (smerge-markers-face ((t (:background "grey85")))) + (smerge-mine-face ((t (:foreground "blue")))) + (smerge-other-face ((t (:foreground "darkgreen")))) + (speedbar-button-face ((t (:foreground "green4")))) + (speedbar-directory-face ((t (:foreground "blue4")))) + (speedbar-file-face ((t (:foreground "cyan4")))) + (speedbar-highlight-face ((t (:background "green")))) + (speedbar-selected-face ((t (:foreground "red" :underline t)))) + (speedbar-tag-face ((t (:foreground "brown")))) + (strokes-char-face ((t (:background "lightgray")))) + (term-black ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-blackbg ((t (:stipple nil :background "black" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-blue ((t (:stipple nil :background "white" :foreground "blue" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-bluebg ((t (:stipple nil :background "blue" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-bold ((t (:bold t :stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight bold :width normal :family "adobe-courier")))) + (term-cyan ((t (:stipple nil :background "white" :foreground "cyan" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-cyanbg ((t (:stipple nil :background "cyan" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-default ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-default-bg ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-default-bg-inv ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-default-fg ((t (:stipple nil :background "white" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-default-fg-inv ((t (:stipple nil :background "white" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-green ((t (:stipple nil :background "white" :foreground "green" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-greenbg ((t (:stipple nil :background "green" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-invisible ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-invisible-inv ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-magenta ((t (:stipple nil :background "white" :foreground "magenta" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-magentabg ((t (:stipple nil :background "magenta" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-red ((t (:stipple nil :background "white" :foreground "red" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-redbg ((t (:stipple nil :background "red" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-underline ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline t :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-white ((t (:stipple nil :background "white" :foreground "white" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-whitebg ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-yellow ((t (:stipple nil :background "white" :foreground "yellow" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-yellowbg ((t (:stipple nil :background "yellow" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (tex-math-face ((t (:foreground "RosyBrown")))) + (texinfo-heading-face ((t (:foreground "Blue")))) + (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) + (tooltip ((t (:background "lightyellow" :foreground "black")))) + (trailing-whitespace ((t (:background "red")))) + (underline ((t (:foreground "navy" :underline t)))) + (variable-pitch ((t (:family "helv")))) + (vcursor ((t (:background "cyan" :foreground "blue" :underline t)))) + (vhdl-font-lock-attribute-face ((t (:foreground "Orchid")))) + (vhdl-font-lock-directive-face ((t (:foreground "CadetBlue")))) + (vhdl-font-lock-enumvalue-face ((t (:foreground "Gold4")))) + (vhdl-font-lock-function-face ((t (:foreground "Orchid4")))) + (vhdl-font-lock-prompt-face ((t (:bold t :foreground "Red" :weight bold)))) + (vhdl-font-lock-reserved-words-face ((t (:bold t :foreground "Orange" :weight bold)))) + (vhdl-font-lock-translate-off-face ((t (:background "LightGray")))) + (vhdl-speedbar-architecture-face ((t (:foreground "Blue")))) + (vhdl-speedbar-architecture-selected-face ((t (:foreground "Blue" :underline t)))) + (vhdl-speedbar-configuration-face ((t (:foreground "DarkGoldenrod")))) + (vhdl-speedbar-configuration-selected-face ((t (:foreground "DarkGoldenrod" :underline t)))) + (vhdl-speedbar-entity-face ((t (:foreground "ForestGreen")))) + (vhdl-speedbar-entity-selected-face ((t (:foreground "ForestGreen" :underline t)))) + (vhdl-speedbar-instantiation-face ((t (:foreground "Brown")))) + (vhdl-speedbar-instantiation-selected-face ((t (:foreground "Brown" :underline t)))) + (vhdl-speedbar-package-face ((t (:foreground "Grey50")))) + (vhdl-speedbar-package-selected-face ((t (:foreground "Grey50" :underline t)))) + (viper-minibuffer-emacs-face ((t (:background "darkseagreen2" :foreground "Black")))) + (viper-minibuffer-insert-face ((t (:background "pink" :foreground "Black")))) + (viper-minibuffer-vi-face ((t (:background "grey" :foreground "DarkGreen")))) + (viper-replace-overlay-face ((t (:background "darkseagreen2" :foreground "Black")))) + (viper-search-face ((t (:background "khaki" :foreground "Black")))) + (widget-button-face ((t (:bold t :weight bold)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (widget-single-line-field-face ((t (:background "gray85")))) + (woman-addition-face ((t (:foreground "orange")))) + (woman-bold-face ((t (:bold t :foreground "blue" :weight bold)))) + (woman-italic-face ((t (:italic t :foreground "red" :underline t :slant italic)))) + (woman-unknown-face ((t (:foreground "brown")))) + (zmacs-region ((t (:background "lightgoldenrod2"))))))) + +(defun color-theme-bharadwaj-slate () + "Color theme by Girish Bharadwaj, created 2002-05-06." + (interactive) + (color-theme-install + '(color-theme-bharadwaj-slate + ((background-color . "DarkSlateGray") + (background-mode . dark) + (border-color . "black") + (cursor-color . "khaki") + (foreground-color . "palegreen") + (mouse-color . "black")) + ((display-time-mail-face . mode-line) + (gnus-article-button-face . bold) + (gnus-article-mouse-face . highlight) + (gnus-mouse-face . highlight) + (help-highlight-face . underline) + (ibuffer-deletion-face . font-lock-type-face) + (ibuffer-filter-group-name-face . bold) + (ibuffer-marked-face . font-lock-warning-face) + (ibuffer-title-face . font-lock-type-face) + (list-matching-lines-buffer-name-face . underline) + (list-matching-lines-face . bold) + (semantic-which-function-use-color . t) + (senator-eldoc-use-color . t) + (view-highlight-face . highlight) + (widget-mouse-face . highlight)) + (default ((t (:stipple nil :background "DarkSlateGray" :foreground "palegreen" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-lucida sans typewriter")))) + (bg:erc-color-face0 ((t (:background "White")))) + (bg:erc-color-face1 ((t (:background "black")))) + (bg:erc-color-face10 ((t (:background "lightblue1")))) + (bg:erc-color-face11 ((t (:background "cyan")))) + (bg:erc-color-face12 ((t (:background "blue")))) + (bg:erc-color-face13 ((t (:background "deeppink")))) + (bg:erc-color-face14 ((t (:background "gray50")))) + (bg:erc-color-face15 ((t (:background "gray90")))) + (bg:erc-color-face2 ((t (:background "blue4")))) + (bg:erc-color-face3 ((t (:background "green4")))) + (bg:erc-color-face4 ((t (:background "red")))) + (bg:erc-color-face5 ((t (:background "brown")))) + (bg:erc-color-face6 ((t (:background "purple")))) + (bg:erc-color-face7 ((t (:background "orange")))) + (bg:erc-color-face8 ((t (:background "yellow")))) + (bg:erc-color-face9 ((t (:background "green")))) + (bold ((t (:bold t :weight bold)))) + (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (border ((t (:background "black")))) + (button ((t (:underline t)))) + (comint-highlight-input ((t (:bold t :weight bold)))) + (comint-highlight-prompt ((t (:foreground "cyan")))) + (cursor ((t (:background "khaki")))) + (custom-button-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style released-button))))) + (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style pressed-button))))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-comment-face ((t (:background "dim gray")))) + (custom-comment-tag-face ((t (:foreground "gray80")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:bold t :family "helv" :weight bold :height 1.2)))) + (custom-group-tag-face ((t (:bold t :foreground "light blue" :weight bold :height 1.2)))) + (custom-group-tag-face-1 ((t (:bold t :family "helv" :foreground "pink" :weight bold :height 1.2)))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "lime green")))) + (custom-variable-button-face ((t (:bold t :underline t :weight bold)))) + (custom-variable-tag-face ((t (:bold t :family "helv" :foreground "light blue" :weight bold :height 1.2)))) + (erc-action-face ((t (:bold t :box (:line-width 2 :color "grey75") :weight bold)))) + (erc-bold-face ((t (:bold t :weight bold)))) + (erc-default-face ((t (nil)))) + (erc-direct-msg-face ((t (:foreground "IndianRed")))) + (erc-error-face ((t (:background "Red" :foreground "White")))) + (erc-input-face ((t (:foreground "lightblue")))) + (erc-inverse-face ((t (:background "Black" :foreground "White")))) + (erc-notice-face ((t (:bold t :foreground "dodgerblue" :weight bold)))) + (erc-prompt-face ((t (:bold t :background "black" :foreground "white" :weight bold)))) + (erc-timestamp-face ((t (:bold t :foreground "green" :weight bold)))) + (erc-underline-face ((t (:underline t)))) + (eshell-ls-archive-face ((t (:bold t :foreground "Orchid" :weight bold)))) + (eshell-ls-backup-face ((t (:foreground "LightSalmon")))) + (eshell-ls-clutter-face ((t (:bold t :foreground "OrangeRed" :weight bold)))) + (eshell-ls-directory-face ((t (:bold t :foreground "SkyBlue" :weight bold)))) + (eshell-ls-executable-face ((t (:bold t :foreground "Green" :weight bold)))) + (eshell-ls-missing-face ((t (:bold t :foreground "Red" :weight bold)))) + (eshell-ls-product-face ((t (:foreground "LightSalmon")))) + (eshell-ls-readonly-face ((t (:foreground "Pink")))) + (eshell-ls-special-face ((t (:bold t :foreground "Magenta" :weight bold)))) + (eshell-ls-symlink-face ((t (:bold t :foreground "Cyan" :weight bold)))) + (eshell-ls-unreadable-face ((t (:foreground "DarkGrey")))) + (eshell-prompt-face ((t (:bold t :foreground "Pink" :weight bold)))) + (fg:erc-color-face0 ((t (:foreground "White")))) + (fg:erc-color-face1 ((t (:foreground "black")))) + (fg:erc-color-face10 ((t (:foreground "lightblue1")))) + (fg:erc-color-face11 ((t (:foreground "cyan")))) + (fg:erc-color-face12 ((t (:foreground "blue")))) + (fg:erc-color-face13 ((t (:foreground "deeppink")))) + (fg:erc-color-face14 ((t (:foreground "gray50")))) + (fg:erc-color-face15 ((t (:foreground "gray90")))) + (fg:erc-color-face2 ((t (:foreground "blue4")))) + (fg:erc-color-face3 ((t (:foreground "green4")))) + (fg:erc-color-face4 ((t (:foreground "red")))) + (fg:erc-color-face5 ((t (:foreground "brown")))) + (fg:erc-color-face6 ((t (:foreground "purple")))) + (fg:erc-color-face7 ((t (:foreground "orange")))) + (fg:erc-color-face8 ((t (:foreground "yellow")))) + (fg:erc-color-face9 ((t (:foreground "green")))) + (fixed-pitch ((t (:family "courier")))) + (font-lock-builtin-face ((t (:bold t :foreground "pink" :weight bold :height 1.1)))) + (font-lock-comment-face ((t (:foreground "violet" :height 1.0)))) + (font-lock-constant-face ((t (:bold t :foreground "tomato" :weight bold :height 1.0)))) + (font-lock-function-name-face ((t (:bold t :foreground "DodgerBlue" :weight bold)))) + (font-lock-keyword-face ((t (:bold t :foreground "turquoise" :weight bold)))) + (font-lock-preprocessor-face ((t (:bold t :foreground "tomato" :weight bold :height 1.0)))) + (font-lock-reference-face ((t (:bold t :foreground "pink" :weight bold :height 1.1)))) + (font-lock-string-face ((t (:foreground "red" :height 1.0)))) + (font-lock-type-face ((t (:foreground "lightblue3")))) + (font-lock-variable-name-face ((t (:bold t :foreground "gray" :weight bold :height 1.0)))) + (font-lock-warning-face ((t (:bold t :foreground "Pink" :weight bold)))) + (fringe ((t (:background "DarkSlateGray")))) + (gnus-cite-attribution-face ((t (:italic t :slant italic)))) + (gnus-cite-face-1 ((t (:foreground "light blue")))) + (gnus-cite-face-10 ((t (:foreground "medium purple")))) + (gnus-cite-face-11 ((t (:foreground "turquoise")))) + (gnus-cite-face-2 ((t (:foreground "light cyan")))) + (gnus-cite-face-3 ((t (:foreground "light yellow")))) + (gnus-cite-face-4 ((t (:foreground "light pink")))) + (gnus-cite-face-5 ((t (:foreground "pale green")))) + (gnus-cite-face-6 ((t (:foreground "beige")))) + (gnus-cite-face-7 ((t (:foreground "orange")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-emphasis-bold ((t (:bold t :weight bold)))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) + (gnus-emphasis-italic ((t (:italic t :slant italic)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:bold t :underline t :weight bold)))) + (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :underline t :slant italic :weight bold)))) + (gnus-emphasis-underline-italic ((t (:italic t :underline t :slant italic)))) + (gnus-group-mail-1-empty-face ((t (:foreground "aquamarine1")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "aquamarine1" :weight bold)))) + (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "aquamarine2" :weight bold)))) + (gnus-group-mail-3-empty-face ((t (:foreground "aquamarine3")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "aquamarine3" :weight bold)))) + (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "aquamarine4" :weight bold)))) + (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) + (gnus-group-news-1-face ((t (:bold t :foreground "PaleTurquoise" :weight bold)))) + (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) + (gnus-group-news-2-face ((t (:bold t :foreground "turquoise" :weight bold)))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t :weight bold)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t :weight bold)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t :weight bold)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t :weight bold)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkTurquoise" :weight bold)))) + (gnus-header-content-face ((t (:italic t :foreground "forest green" :slant italic)))) + (gnus-header-from-face ((t (:foreground "spring green")))) + (gnus-header-name-face ((t (:foreground "SeaGreen")))) + (gnus-header-newsgroups-face ((t (:italic t :foreground "yellow" :slant italic)))) + (gnus-header-subject-face ((t (:foreground "SeaGreen3")))) + (gnus-signature-face ((t (:italic t :slant italic)))) + (gnus-splash-face ((t (:foreground "Brown")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "SkyBlue" :weight bold)))) + (gnus-summary-high-read-face ((t (:bold t :foreground "PaleGreen" :weight bold)))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "pink" :weight bold)))) + (gnus-summary-high-unread-face ((t (:bold t :weight bold)))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "SkyBlue" :slant italic)))) + (gnus-summary-low-read-face ((t (:italic t :foreground "PaleGreen" :slant italic)))) + (gnus-summary-low-ticked-face ((t (:italic t :foreground "pink" :slant italic)))) + (gnus-summary-low-unread-face ((t (:italic t :slant italic)))) + (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) + (gnus-summary-normal-ticked-face ((t (:foreground "pink")))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-selected-face ((t (:underline t)))) + (header-line ((t (:underline "blueviolet" :overline "blueviolet" :box (:line-width -1 :style released-button) :background "grey20" :foreground "grey90" :box nil)))) + (highlight ((t (:background "darkolivegreen")))) + (html-helper-bold-face ((t (:bold t :foreground "wheat" :weight bold)))) + (html-helper-italic-face ((t (:italic t :foreground "spring green" :slant italic)))) + (html-helper-underline-face ((t (:foreground "cornsilk" :underline t)))) + (html-tag-face ((t (:bold t :foreground "deep sky blue" :weight bold)))) + (info-menu-6 ((t (nil)))) + (isearch ((t (:background "palevioletred2" :foreground "brown4")))) + (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) + (italic ((t (:italic t :slant italic)))) + (jde-bug-breakpoint-cursor ((t (:background "brown" :foreground "cyan")))) + (jde-db-active-breakpoint-face ((t (:background "red" :foreground "black")))) + (jde-db-requested-breakpoint-face ((t (:background "yellow" :foreground "black")))) + (jde-db-spec-breakpoint-face ((t (:background "green" :foreground "black")))) + (jde-java-font-lock-api-face ((t (:foreground "light goldenrod")))) + (jde-java-font-lock-bold-face ((t (:bold t :weight bold)))) + (jde-java-font-lock-code-face ((t (nil)))) + (jde-java-font-lock-constant-face ((t (:foreground "Aquamarine")))) + (jde-java-font-lock-doc-tag-face ((t (:foreground "light coral")))) + (jde-java-font-lock-italic-face ((t (:italic t :slant italic)))) + (jde-java-font-lock-link-face ((t (:foreground "blue" :underline t :slant normal)))) + (jde-java-font-lock-modifier-face ((t (:foreground "LightSteelBlue")))) + (jde-java-font-lock-number-face ((t (:foreground "LightSalmon")))) + (jde-java-font-lock-operator-face ((t (:foreground "medium blue")))) + (jde-java-font-lock-package-face ((t (:foreground "steelblue1")))) + (jde-java-font-lock-pre-face ((t (nil)))) + (jde-java-font-lock-underline-face ((t (:underline t)))) + (menu ((t (nil)))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:bold t :foreground "green4" :weight bold)))) + (message-header-name-face ((t (:foreground "DarkGreen")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "yellow" :slant italic :weight bold)))) + (message-header-other-face ((t (:foreground "#b00000")))) + (message-header-subject-face ((t (:foreground "green3")))) + (message-header-to-face ((t (:bold t :foreground "green2" :weight bold)))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-mml-face ((t (:foreground "ForestGreen")))) + (message-separator-face ((t (:foreground "blue3")))) + (minibuffer-prompt ((t (:foreground "cyan")))) + (mode-line ((t (:background "Darkslategray" :foreground "white" :box (:line-width -1 :style released-button) :overline "blueviolet" :underline "blueviolet")))) + (mode-line-inactive ((t (:italic t :underline "blueviolet" :overline "blueviolet" :background "white" :foreground "cadetblue" :box (:line-width -1 :color "grey75") :slant oblique :weight light)))) + (modeline ((t (:background "Darkslategray" :foreground "white" :box (:line-width -1 :style released-button) :overline "blueviolet" :underline "blueviolet")))) + (modeline-buffer-id ((t (:background "Darkslategray" :foreground "white" :box (:line-width -1 :style released-button) :overline "blueviolet" :underline "blueviolet")))) + (modeline-mousable ((t (:background "Darkslategray" :foreground "white" :box (:line-width -1 :style released-button) :overline "blueviolet" :underline "blueviolet")))) + (modeline-mousable-minor-mode ((t (:background "Darkslategray" :foreground "white" :box (:line-width -1 :style released-button) :overline "blueviolet" :underline "blueviolet")))) + (mouse ((t (:background "black")))) + (primary-selection ((t (:background "dimgray")))) + (region ((t (:background "dimgray")))) + (scroll-bar ((t (nil)))) + (secondary-selection ((t (:background "SkyBlue4")))) + (semantic-dirty-token-face ((t (:background "lightyellow")))) + (semantic-unmatched-syntax-face ((t (:underline "red")))) + (senator-intangible-face ((t (:foreground "gray75")))) + (senator-momentary-highlight-face ((t (:background "gray30")))) + (senator-read-only-face ((t (:background "#664444")))) + (show-paren-match-face ((t (:bold t :foreground "lightblue" :weight bold :height 1.1)))) + (show-paren-mismatch-face ((t (:bold t :foreground "red" :weight bold :height 1.1)))) + (show-tabs-space-face ((t (:foreground "yellow")))) + (show-tabs-tab-face ((t (:foreground "red")))) + (speedbar-button-face ((t (:foreground "green3")))) + (speedbar-directory-face ((t (:foreground "light blue")))) + (speedbar-file-face ((t (:foreground "cyan")))) + (speedbar-highlight-face ((t (:background "sea green")))) + (speedbar-selected-face ((t (:foreground "red" :underline t)))) + (speedbar-tag-face ((t (:foreground "yellow")))) + (template-message-face ((t (:bold t :weight bold)))) + (term-black ((t (:foreground "black")))) + (term-blackbg ((t (:background "black")))) + (term-blue ((t (:foreground "blue")))) + (term-bluebg ((t (:background "blue")))) + (term-bold ((t (:bold t :weight bold)))) + (term-cyan ((t (:foreground "cyan")))) + (term-cyanbg ((t (:background "cyan")))) + (term-default ((t (:stipple nil :background "DarkSlateGray" :foreground "palegreen" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-lucida sans typewriter")))) + (term-default-bg ((t (nil)))) + (term-default-bg-inv ((t (nil)))) + (term-default-fg ((t (nil)))) + (term-default-fg-inv ((t (nil)))) + (term-green ((t (:foreground "green")))) + (term-greenbg ((t (:background "green")))) + (term-invisible ((t (nil)))) + (term-invisible-inv ((t (nil)))) + (term-magenta ((t (:foreground "magenta")))) + (term-magentabg ((t (:background "magenta")))) + (term-red ((t (:foreground "red")))) + (term-redbg ((t (:background "red")))) + (term-underline ((t (:underline t)))) + (term-white ((t (:foreground "white")))) + (term-whitebg ((t (:background "white")))) + (term-yellow ((t (:foreground "yellow")))) + (term-yellowbg ((t (:background "yellow")))) + (tool-bar ((t (:background "DarkSlateGray" :foreground "White" :box (:line-width 1 :color "blue"))))) + (tooltip ((t (:background "lightyellow" :foreground "black")))) + (trailing-whitespace ((t (:background "red")))) + (underline ((t (:underline t)))) + (variable-pitch ((t (:family "helv")))) + (widget-button-face ((t (:bold t :weight bold)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "lime green")))) + (widget-field-face ((t (:background "dim gray")))) + (widget-inactive-face ((t (:foreground "light gray")))) + (widget-single-line-field-face ((t (:background "dim gray")))) + (zmacs-region ((t (:background "dimgray"))))))) + +(defun color-theme-lethe () + "Color theme by Ivica Loncar, created 2002-08-02. +Some additional X resources as suggested by the author: + +Emacs*menubar.Foreground: Yellow +Emacs*menubar.Background: #1a2b3c +Emacs*menubar.topShadowColor: gray +Emacs*menubar.bottomShadowColor: dimgray + +Some fonts I really like (note: this fonts are not highly +available): + +Emacs.default.attributeFont: -letl-*-medium-r-*-*-*-*-*-*-*-*-iso8859-2 +Emacs*menubar*Font: -etl-fixed-medium-r-normal--14-*-*-*-*-*-iso8859-1 + +Mouse fix: + +Emacs*dialog*XmPushButton.translations:#override\n\ + : Arm()\n\ + ,: Activate()\ + Disarm()\n\ + (2+): MultiArm()\n\ + (2+): MultiActivate()\n\ + : Activate()\ + Disarm()\n\ + osfSelect: ArmAndActivate()\n\ + osfActivate: ArmAndActivate()\n\ + osfHelp: Help()\n\ + ~Shift ~Meta ~Alt Return: ArmAndActivate()\n\ + : Enter()\n\ + : Leave()\n + +Bonus: do not use 3D modeline." + (interactive) + (color-theme-install + '(color-theme-lethe + ((background-color . "black") + (background-mode . dark) + (background-toolbar-color . "#000000000000") + (border-color . "#000000000000") + (bottom-toolbar-shadow-color . "red") + (cursor-color . "red") + (foreground-color . "peachpuff") + (mouse-color . "red") + (top-toolbar-shadow-color . "#f5f5f5f5f5f5")) + ((buffers-tab-face . buffers-tab) + (cscope-use-face . t) + (gnus-mouse-face . highlight)) + (default ((t (nil)))) + (bg:erc-color-face0 ((t (:background "White")))) + (bg:erc-color-face1 ((t (nil)))) + (bg:erc-color-face10 ((t (:background "lightblue1")))) + (bg:erc-color-face11 ((t (:background "cyan")))) + (bg:erc-color-face12 ((t (:background "blue")))) + (bg:erc-color-face13 ((t (:background "deeppink")))) + (bg:erc-color-face14 ((t (:background "gray50")))) + (bg:erc-color-face15 ((t (:background "gray90")))) + (bg:erc-color-face2 ((t (:background "blue4")))) + (bg:erc-color-face3 ((t (:background "green4")))) + (bg:erc-color-face4 ((t (:background "red")))) + (bg:erc-color-face5 ((t (:background "brown")))) + (bg:erc-color-face6 ((t (:background "purple")))) + (bg:erc-color-face7 ((t (:background "orange")))) + (bg:erc-color-face8 ((t (:background "yellow")))) + (bg:erc-color-face9 ((t (:background "green")))) + (blue ((t (:foreground "blue")))) + (bold ((t (:bold t)))) + (bold-italic ((t (:italic t :bold t)))) + (border ((t (nil)))) + (border-glyph ((t (nil)))) + (buffers-tab ((t (:bold t :foreground "red")))) + (button ((t (:underline t)))) + (calendar-today-face ((t (:underline t)))) + (comint-highlight-input ((t (:bold t)))) + (comint-highlight-prompt ((t (:foreground "cyan")))) + (cperl-array-face ((t (:bold t :background "lightyellow2" :foreground "Blue")))) + (cperl-hash-face ((t (:italic t :bold t :background "lightyellow2" :foreground "Red")))) + (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) + (cscope-file-face ((t (:foreground "blue")))) + (cscope-function-face ((t (:foreground "magenta")))) + (cscope-line-face ((t (:foreground "green")))) + (cscope-line-number-face ((t (:foreground "red")))) + (cscope-mouse-face ((t (:background "blue" :foreground "white")))) + (cursor ((t (nil)))) + (custom-button-face ((t (nil)))) + (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black")))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-comment-face ((t (:background "dim gray")))) + (custom-comment-tag-face ((t (:foreground "gray80")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face ((t (:underline t :foreground "blue")))) + (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "dark green")))) + (custom-variable-button-face ((t (:underline t :bold t)))) + (custom-variable-tag-face ((t (:underline t :foreground "blue")))) + (cyan ((t (:foreground "cyan")))) + (diary-face ((t (:foreground "red")))) + (dired-face-boring ((t (:foreground "Gray65")))) + (dired-face-directory ((t (:bold t)))) + (dired-face-executable ((t (:foreground "SeaGreen")))) + (dired-face-flagged ((t (:background "LightSlateGray")))) + (dired-face-marked ((t (:background "PaleVioletRed")))) + (dired-face-permissions ((t (:background "grey75" :foreground "black")))) + (dired-face-setuid ((t (:foreground "Red")))) + (dired-face-socket ((t (:foreground "magenta")))) + (dired-face-symlink ((t (:foreground "cyan")))) + (display-time-mail-balloon-enhance-face ((t (:background "orange")))) + (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue")))) + (display-time-time-balloon-face ((t (:foreground "red")))) + (ediff-current-diff-face-A ((t (:background "pale green" :foreground "firebrick")))) + (ediff-current-diff-face-Ancestor ((t (:background "VioletRed" :foreground "Black")))) + (ediff-current-diff-face-B ((t (:background "Yellow" :foreground "DarkOrchid")))) + (ediff-current-diff-face-C ((t (:background "Pink" :foreground "Navy")))) + (ediff-even-diff-face-A ((t (:background "light grey" :foreground "Black")))) + (ediff-even-diff-face-Ancestor ((t (:background "Grey" :foreground "White")))) + (ediff-even-diff-face-B ((t (:background "Grey" :foreground "White")))) + (ediff-even-diff-face-C ((t (:background "light grey" :foreground "Black")))) + (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy")))) + (ediff-fine-diff-face-Ancestor ((t (:background "Green" :foreground "Black")))) + (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Black")))) + (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Black")))) + (ediff-odd-diff-face-A ((t (:background "Grey" :foreground "White")))) + (ediff-odd-diff-face-Ancestor ((t (:background "light grey" :foreground "Black")))) + (ediff-odd-diff-face-B ((t (:background "light grey" :foreground "Black")))) + (ediff-odd-diff-face-C ((t (:background "Grey" :foreground "White")))) + (erc-action-face ((t (:bold t)))) + (erc-bold-face ((t (:bold t)))) + (erc-default-face ((t (nil)))) + (erc-direct-msg-face ((t (:foreground "IndianRed")))) + (erc-error-face ((t (:background "Red" :foreground "White")))) + (erc-input-face ((t (:foreground "brown")))) + (erc-inverse-face ((t (:background "Black" :foreground "White")))) + (erc-notice-face ((t (:bold t :foreground "SlateBlue")))) + (erc-prompt-face ((t (:bold t :background "lightBlue2" :foreground "Black")))) + (erc-timestamp-face ((t (:bold t :foreground "green")))) + (erc-underline-face ((t (:underline t)))) + (eshell-ls-archive-face ((t (:bold t :foreground "Orchid")))) + (eshell-ls-backup-face ((t (:foreground "OrangeRed")))) + (eshell-ls-clutter-face ((t (:bold t :foreground "OrangeRed")))) + (eshell-ls-directory-face ((t (:bold t :foreground "Blue")))) + (eshell-ls-executable-face ((t (:bold t :foreground "ForestGreen")))) + (eshell-ls-missing-face ((t (:bold t :foreground "Red")))) + (eshell-ls-product-face ((t (:foreground "OrangeRed")))) + (eshell-ls-readonly-face ((t (:foreground "Brown")))) + (eshell-ls-special-face ((t (:bold t :foreground "Magenta")))) + (eshell-ls-symlink-face ((t (:bold t :foreground "DarkCyan")))) + (eshell-ls-unreadable-face ((t (:foreground "Grey30")))) + (eshell-prompt-face ((t (:bold t :foreground "Red")))) + (eshell-test-failed-face ((t (:bold t :foreground "OrangeRed")))) + (eshell-test-ok-face ((t (:bold t :foreground "Green")))) + (excerpt ((t (:italic t)))) + (fg:erc-color-face0 ((t (:foreground "White")))) + (fg:erc-color-face1 ((t (:foreground "black")))) + (fg:erc-color-face10 ((t (:foreground "lightblue1")))) + (fg:erc-color-face11 ((t (:foreground "cyan")))) + (fg:erc-color-face12 ((t (:foreground "blue")))) + (fg:erc-color-face13 ((t (:foreground "deeppink")))) + (fg:erc-color-face14 ((t (:foreground "gray50")))) + (fg:erc-color-face15 ((t (:foreground "gray90")))) + (fg:erc-color-face2 ((t (:foreground "blue4")))) + (fg:erc-color-face3 ((t (:foreground "green4")))) + (fg:erc-color-face4 ((t (:foreground "red")))) + (fg:erc-color-face5 ((t (:foreground "brown")))) + (fg:erc-color-face6 ((t (:foreground "purple")))) + (fg:erc-color-face7 ((t (:foreground "orange")))) + (fg:erc-color-face8 ((t (:foreground "yellow")))) + (fg:erc-color-face9 ((t (:foreground "green")))) + (fixed ((t (:bold t)))) + (fixed-pitch ((t (:size "16")))) + (flyspell-duplicate-face ((t (:underline t :bold t :foreground "Gold3")))) + (flyspell-incorrect-face ((t (:underline t :bold t :foreground "OrangeRed")))) + (font-lock-builtin-face ((t (:foreground "Orchid")))) + (font-lock-comment-face ((t (:bold t :foreground "cyan")))) + (font-lock-constant-face ((t (:foreground "CadetBlue")))) + (font-lock-doc-face ((t (:bold t :foreground "red")))) + (font-lock-doc-string-face ((t (:bold t :foreground "red")))) + (font-lock-function-name-face ((t (:bold t :foreground "white")))) + (font-lock-keyword-face ((t (:bold t :foreground "yellow")))) + (font-lock-preprocessor-face ((t (:bold t :foreground "blue")))) + (font-lock-reference-face ((t (:foreground "red3")))) + (font-lock-string-face ((t (:bold t :foreground "magenta")))) + (font-lock-type-face ((t (:bold t :foreground "lightgreen")))) + (font-lock-variable-name-face ((t (:bold t :foreground "white")))) + (font-lock-warning-face ((t (:bold t :foreground "Red")))) + (fringe ((t (:background "grey95")))) + (gdb-arrow-face ((t (:bold t :background "yellow" :foreground "red")))) + (gnus-cite-attribution-face ((t (:italic t)))) + (gnus-cite-face-1 ((t (:foreground "MidnightBlue")))) + (gnus-cite-face-10 ((t (:foreground "medium purple")))) + (gnus-cite-face-11 ((t (:foreground "turquoise")))) + (gnus-cite-face-2 ((t (:foreground "firebrick")))) + (gnus-cite-face-3 ((t (:foreground "dark green")))) + (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) + (gnus-cite-face-5 ((t (:foreground "dark khaki")))) + (gnus-cite-face-6 ((t (:foreground "dark violet")))) + (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-emphasis-bold ((t (:bold t)))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) + (gnus-emphasis-highlight-words ((t (:foreground "yellow")))) + (gnus-emphasis-italic ((t (:italic t)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) + (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t)))) + (gnus-emphasis-underline-italic ((t (:underline t :italic t)))) + (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3")))) + (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3")))) + (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4")))) + (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4")))) + (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) + (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen")))) + (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) + (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4")))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen")))) + (gnus-header-content-face ((t (:italic t :foreground "indianred4")))) + (gnus-header-from-face ((t (:foreground "red3")))) + (gnus-header-name-face ((t (:foreground "maroon")))) + (gnus-header-newsgroups-face ((t (:italic t :foreground "MidnightBlue")))) + (gnus-header-subject-face ((t (:foreground "red4")))) + (gnus-picons-face ((t (:background "white" :foreground "black")))) + (gnus-picons-xbm-face ((t (:background "white" :foreground "black")))) + (gnus-signature-face ((t (:italic t)))) + (gnus-splash-face ((t (:foreground "ForestGreen")))) + (gnus-summary-cancelled-face ((t (:foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) + (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen")))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick")))) + (gnus-summary-high-unread-face ((t (:bold t)))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue")))) + (gnus-summary-low-read-face ((t (:italic t :foreground "DarkGreen")))) + (gnus-summary-low-ticked-face ((t (:italic t :foreground "firebrick")))) + (gnus-summary-low-unread-face ((t (:italic t)))) + (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) + (gnus-summary-normal-ticked-face ((t (:foreground "firebrick")))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-selected-face ((t (:underline t)))) + (gnus-x-face ((t (:background "white" :foreground "black")))) + (green ((t (:foreground "green")))) + (gui-button-face ((t (:background "grey75" :foreground "black")))) + (gui-element ((t (:size "12" :background "Gray80" :foreground "black")))) + (header-line ((t (:background "grey20" :foreground "grey90")))) + (highlight ((t (:bold t :background "yellow" :foreground "red")))) + (highlight-changes-delete-face ((t (:underline t :foreground "red")))) + (highlight-changes-face ((t (:foreground "red")))) + (highline-face ((t (:background "paleturquoise")))) + (holiday-face ((t (:background "pink")))) + (hyper-apropos-documentation ((t (:foreground "#aaaaaa")))) + (hyper-apropos-heading ((t (:bold t :foreground "#999999")))) + (hyper-apropos-hyperlink ((t (:foreground "Violet")))) + (hyper-apropos-major-heading ((t (:bold t :foreground "#ff0000")))) + (hyper-apropos-section-heading ((t (:italic t :bold t :foreground "#33aa55")))) + (hyper-apropos-warning ((t (:bold t :foreground "red")))) + (info-menu-5 ((t (:underline t)))) + (info-node ((t (:italic t :bold t)))) + (info-xref ((t (:bold t)))) + (isearch ((t (:background "paleturquoise")))) + (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) + (isearch-secondary ((t (:foreground "red3")))) + (italic ((t (:italic t)))) + (jde-bug-breakpoint-cursor ((t (:background "brown" :foreground "cyan")))) + (jde-db-active-breakpoint-face ((t (:background "red" :foreground "black")))) + (jde-db-requested-breakpoint-face ((t (:background "yellow" :foreground "black")))) + (jde-db-spec-breakpoint-face ((t (:background "green" :foreground "black")))) + (jde-java-font-lock-api-face ((t (:foreground "light goldenrod")))) + (jde-java-font-lock-bold-face ((t (:bold t)))) + (jde-java-font-lock-code-face ((t (nil)))) + (jde-java-font-lock-constant-face ((t (:foreground "Aquamarine")))) + (jde-java-font-lock-doc-tag-face ((t (:foreground "light coral")))) + (jde-java-font-lock-italic-face ((t (:italic t)))) + (jde-java-font-lock-link-face ((t (:underline t :foreground "cadetblue")))) + (jde-java-font-lock-modifier-face ((t (:foreground "LightSteelBlue")))) + (jde-java-font-lock-number-face ((t (:foreground "LightSalmon")))) + (jde-java-font-lock-operator-face ((t (:foreground "medium blue")))) + (jde-java-font-lock-package-face ((t (:foreground "steelblue1")))) + (jde-java-font-lock-pre-face ((t (nil)))) + (jde-java-font-lock-underline-face ((t (:underline t)))) + (left-margin ((t (nil)))) + (list-mode-item-selected ((t (:background "gray68")))) + (magenta ((t (:foreground "magenta")))) + (makefile-space-face ((t (:background "hotpink")))) + (menu ((t (nil)))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:foreground "MidnightBlue")))) + (message-header-name-face ((t (:foreground "cornflower blue")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4")))) + (message-header-other-face ((t (:foreground "steel blue")))) + (message-header-subject-face ((t (:bold t :foreground "navy blue")))) + (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-mml-face ((t (:bold t :foreground "cyan")))) + (message-separator-face ((t (:foreground "brown")))) + (minibuffer-prompt ((t (:foreground "cyan")))) + (mode-line ((t (:background "grey75" :foreground "black")))) + (mode-line-inactive ((t (:background "grey30" :foreground "grey80")))) + (modeline ((t (:bold t :background "red" :foreground "yellow")))) + (modeline-buffer-id ((t (:bold t :background "red" :foreground "yellow")))) + (modeline-mousable ((t (:background "red" :foreground "yellow")))) + (modeline-mousable-minor-mode ((t (:background "red" :foreground "green4")))) + (mouse ((t (nil)))) + (paren-blink-off ((t (:foreground "black")))) + (paren-match ((t (:bold t :background "yellow" :foreground "red")))) + (paren-mismatch ((t (:background "DeepPink")))) + (pointer ((t (nil)))) + (primary-selection ((t (:background "gray65")))) + (red ((t (:foreground "red")))) + (region ((t (:background "gray75")))) + (right-margin ((t (nil)))) + (scroll-bar ((t (nil)))) + (secondary-selection ((t (:background "paleturquoise")))) + (semantic-dirty-token-face ((t (:background "lightyellow")))) + (semantic-unmatched-syntax-face ((t (nil)))) + (senator-intangible-face ((t (:foreground "gray75")))) + (senator-momentary-highlight-face ((t (:background "gray30")))) + (senator-read-only-face ((t (:background "#664444")))) + (show-paren-match-face ((t (:background "turquoise")))) + (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) + (speedbar-button-face ((t (:foreground "green4")))) + (speedbar-directory-face ((t (:foreground "blue4")))) + (speedbar-file-face ((t (:foreground "cyan4")))) + (speedbar-highlight-face ((t (:background "green")))) + (speedbar-selected-face ((t (:underline t :foreground "red")))) + (speedbar-tag-face ((t (:foreground "brown")))) + (template-message-face ((t (:bold t)))) + (term-black ((t (:foreground "black")))) + (term-blackbg ((t (nil)))) + (term-blue ((t (:foreground "blue")))) + (term-blue-bold-face ((t (:bold t :foreground "blue")))) + (term-blue-face ((t (:foreground "blue")))) + (term-blue-inv-face ((t (:background "blue")))) + (term-blue-ul-face ((t (:underline t :foreground "blue")))) + (term-bluebg ((t (:background "blue")))) + (term-bold ((t (:bold t)))) + (term-cyan ((t (:foreground "cyan")))) + (term-cyan-bold-face ((t (:bold t :foreground "cyan")))) + (term-cyan-face ((t (:foreground "cyan")))) + (term-cyan-inv-face ((t (:background "cyan")))) + (term-cyan-ul-face ((t (:underline t :foreground "cyan")))) + (term-cyanbg ((t (:background "cyan")))) + (term-default-bg ((t (nil)))) + (term-default-bg-inv ((t (nil)))) + (term-default-bold-face ((t (:bold t)))) + (term-default-face ((t (nil)))) + (term-default-fg ((t (nil)))) + (term-default-fg-inv ((t (nil)))) + (term-default-inv-face ((t (:background "peachpuff" :foreground "black")))) + (term-default-ul-face ((t (:underline t)))) + (term-green ((t (:foreground "green")))) + (term-green-bold-face ((t (:bold t :foreground "green")))) + (term-green-face ((t (:foreground "green")))) + (term-green-inv-face ((t (:background "green")))) + (term-green-ul-face ((t (:underline t :foreground "green")))) + (term-greenbg ((t (:background "green")))) + (term-invisible ((t (nil)))) + (term-invisible-inv ((t (nil)))) + (term-magenta ((t (:foreground "magenta")))) + (term-magenta-bold-face ((t (:bold t :foreground "magenta")))) + (term-magenta-face ((t (:foreground "magenta")))) + (term-magenta-inv-face ((t (:background "magenta")))) + (term-magenta-ul-face ((t (:underline t :foreground "magenta")))) + (term-magentabg ((t (:background "magenta")))) + (term-red ((t (:foreground "red")))) + (term-red-bold-face ((t (:bold t :foreground "red")))) + (term-red-face ((t (:foreground "red")))) + (term-red-inv-face ((t (:background "red")))) + (term-red-ul-face ((t (:underline t :foreground "red")))) + (term-redbg ((t (:background "red")))) + (term-underline ((t (:underline t)))) + (term-white ((t (:foreground "white")))) + (term-white-bold-face ((t (:bold t :foreground "white")))) + (term-white-face ((t (:foreground "white")))) + (term-white-inv-face ((t (nil)))) + (term-white-ul-face ((t (:underline t :foreground "white")))) + (term-whitebg ((t (:background "white")))) + (term-yellow ((t (:foreground "yellow")))) + (term-yellow-bold-face ((t (:bold t :foreground "yellow")))) + (term-yellow-face ((t (:foreground "yellow")))) + (term-yellow-inv-face ((t (:background "yellow")))) + (term-yellow-ul-face ((t (:underline t :foreground "yellow")))) + (term-yellowbg ((t (:background "yellow")))) + (text-cursor ((t (:background "red" :foreground "black")))) + (tool-bar ((t (:background "grey75" :foreground "black")))) + (toolbar ((t (:background "Gray80" :foreground "black")))) + (tooltip ((t (:background "lightyellow" :foreground "black")))) + (trailing-whitespace ((t (:background "red")))) + (underline ((t (:underline t)))) + (variable-pitch ((t (nil)))) + (vcursor ((t (:underline t :background "cyan" :foreground "blue")))) + (vertical-divider ((t (:background "Gray80" :foreground "black")))) + (vhdl-font-lock-attribute-face ((t (:foreground "Orchid")))) + (vhdl-font-lock-directive-face ((t (:foreground "CadetBlue")))) + (vhdl-font-lock-enumvalue-face ((t (:foreground "Gold4")))) + (vhdl-font-lock-function-face ((t (:foreground "Orchid4")))) + (vhdl-font-lock-prompt-face ((t (:bold t :foreground "Red")))) + (vhdl-font-lock-reserved-words-face ((t (:bold t :foreground "Orange")))) + (vhdl-font-lock-translate-off-face ((t (:background "LightGray")))) + (vhdl-speedbar-architecture-face ((t (:foreground "Blue")))) + (vhdl-speedbar-architecture-selected-face ((t (:underline t :foreground "Blue")))) + (vhdl-speedbar-configuration-face ((t (:foreground "DarkGoldenrod")))) + (vhdl-speedbar-configuration-selected-face ((t (:underline t :foreground "DarkGoldenrod")))) + (vhdl-speedbar-entity-face ((t (:foreground "ForestGreen")))) + (vhdl-speedbar-entity-selected-face ((t (:underline t :foreground "ForestGreen")))) + (vhdl-speedbar-instantiation-face ((t (:foreground "Brown")))) + (vhdl-speedbar-instantiation-selected-face ((t (:underline t :foreground "Brown")))) + (vhdl-speedbar-package-face ((t (:foreground "Grey50")))) + (vhdl-speedbar-package-selected-face ((t (:underline t :foreground "Grey50")))) + (viper-minibuffer-emacs-face ((t (:background "darkseagreen2" :foreground "Black")))) + (viper-minibuffer-insert-face ((t (:background "pink" :foreground "Black")))) + (viper-minibuffer-vi-face ((t (:background "grey" :foreground "DarkGreen")))) + (viper-replace-overlay-face ((t (:background "darkseagreen2" :foreground "Black")))) + (viper-search-face ((t (:background "khaki" :foreground "Black")))) + (white ((t (:foreground "white")))) + (widget ((t (:size "12" :background "Gray80" :foreground "black")))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (nil)))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (widget-single-line-field-face ((t (:background "gray85")))) + (x-face ((t (:bold t :background "wheat" :foreground "black")))) + (xrdb-option-name-face ((t (:bold t :foreground "yellow")))) + (xrdb-option-value-face ((t (:bold t :foreground "magenta")))) + (yellow ((t (:foreground "yellow")))) + (zmacs-region ((t (:background "white" :foreground "black"))))))) + +(defun color-theme-shaman () + "Color theme by shaman, created 2002-11-11." + (interactive) + (color-theme-install + '(color-theme-shaman + ((background-color . "#456345") + (background-mode . dark) + (background-toolbar-color . "#cf3ccf3ccf3c") + (border-color . "#000000000000") + (bottom-toolbar-shadow-color . "#79e77df779e7") + (foreground-color . "White") + (top-toolbar-shadow-color . "#f7defbeef7de")) + ((buffers-tab-face . buffers-tab)) + (default ((t (nil)))) + (blue ((t (:foreground "blue")))) + (bold ((t (:bold t :size "12")))) + (bold-italic ((t (:italic t :bold t :size "12")))) + (border-glyph ((t (nil)))) + (buffers-tab ((t (:background "Gray80" :foreground "black")))) + (font-lock-builtin-face ((t (:foreground "cadetblue2")))) + (font-lock-comment-face ((t (:foreground "gray80")))) + (font-lock-constant-face ((t (:foreground "steelblue1")))) + (font-lock-doc-face ((t (:foreground "light coral")))) + (font-lock-doc-string-face ((t (:foreground "light coral")))) + (font-lock-function-name-face ((t (:foreground "aquamarine")))) + (font-lock-keyword-face ((t (:foreground "cyan")))) + (font-lock-preprocessor-face ((t (:foreground "steelblue1")))) + (font-lock-reference-face ((t (:foreground "cadetblue2")))) + (font-lock-string-face ((t (:foreground "tan")))) + (font-lock-type-face ((t (:foreground "wheat")))) + (font-lock-variable-name-face ((t (:foreground "cyan3")))) + (font-lock-warning-face ((t (:bold t :size "12" :foreground "Pink")))) + (fringe ((t (nil)))) + (gnus-x-face ((t (:background "white" :foreground "black")))) + (green ((t (:foreground "green")))) + (gui-button-face ((t (:background "grey75" :foreground "black")))) + (gui-element ((t (:size "12" :background "Gray80" :foreground "black")))) + (highlight ((t (:background "darkseagreen2")))) + (isearch ((t (:background "paleturquoise")))) + (isearch-secondary ((t (:foreground "red3")))) + (italic ((t (:italic t :size "12")))) + (left-margin ((t (nil)))) + (list-mode-item-selected ((t (:background "gray68")))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:bold t :foreground "green4")))) + (message-header-name-face ((t (:foreground "DarkGreen")))) + (message-header-newsgroups-face ((t (:bold t :foreground "yellow")))) + (message-header-other-face ((t (:foreground "#b00000")))) + (message-header-subject-face ((t (:foreground "green3")))) + (message-header-to-face ((t (:bold t :foreground "green2")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-mml-face ((t (:foreground "ForestGreen")))) + (message-separator-face ((t (:foreground "blue3")))) + (mode-line ((t (:background "Gray80" :foreground "black")))) + (modeline ((t (:background "Gray80" :foreground "black")))) + (modeline-buffer-id ((t (:background "Gray80" :foreground "blue4")))) + (modeline-mousable ((t (:background "Gray80" :foreground "firebrick")))) + (modeline-mousable-minor-mode ((t (:background "Gray80" :foreground "green4")))) + (pointer ((t (:foreground "White")))) + (primary-selection ((t (:background "gray65")))) + (red ((t (:foreground "red")))) + (region ((t (:background "gray65")))) + (right-margin ((t (nil)))) + (rpm-spec-dir-face ((t (:foreground "green")))) + (rpm-spec-doc-face ((t (:foreground "magenta")))) + (rpm-spec-ghost-face ((t (:foreground "red")))) + (rpm-spec-macro-face ((t (:foreground "yellow")))) + (rpm-spec-package-face ((t (:foreground "red")))) + (rpm-spec-tag-face ((t (:foreground "blue")))) + (rpm-spec-var-face ((t (:foreground "maroon")))) + (secondary-selection ((t (:background "paleturquoise")))) + (text-cursor ((t (:background "Pink" :foreground "Black")))) + (tool-bar ((t (nil)))) + (toolbar ((t (:background "Gray80" :foreground "black")))) + (underline ((t (:underline t)))) + (vertical-divider ((t (:background "Gray80" :foreground "black")))) + (widget ((t (:size "12" :background "Gray80" :foreground "black")))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "lime green")))) + (widget-field-face ((t (:background "dim gray")))) + (widget-inactive-face ((t (:foreground "light gray")))) + (yellow ((t (:foreground "yellow")))) + (zmacs-region ((t (:background "gray65"))))))) + +(defun color-theme-emacs-nw () + "Follow emacs21's color-theme, with -nw getting 100% compatibility. + +Alex's `color-theme-emacs-21' follows emacs21's theme, but in the +current scheme of things, that means that when it works on X, it won't +work in -nw perfectly. The modeline and menuline will have same +colors as the rest of emacs, which can be particularly disturbing when +there are multiple windows. + +OTOH, `color-theme-emacs-nw' follows emacs21's theme but the goal is +100% -nw compatibility, and in X; we shall try for decent color +scheme, and as much compability default emacs21's X as possble. +Bugs to deego@gnufans.org. + +TODO: Try to make this theme relative to color-theme-emacs-21 rather +than absolute, viz: call that first and then tweak minor stuff." + (interactive) + (color-theme-install + '(color-theme-emacs-nw + ((background-color . "white") + (background-mode . light) + (border-color . "black") + (cursor-color . "black") + (foreground-color . "black") + (mouse-color . "black")) + ((Man-overstrike-face . bold) + (Man-underline-face . underline) + (cperl-here-face . font-lock-string-face) + (cperl-invalid-face . underline) + (cperl-pod-face . font-lock-comment-face) + (cperl-pod-head-face . font-lock-variable-name-face) + (gnus-article-button-face . bold) + (gnus-article-mouse-face . highlight) + (gnus-cite-attribution-face . gnus-cite-attribution-face) + (gnus-mouse-face . highlight) + (gnus-signature-face . gnus-signature-face) + (gnus-summary-selected-face . gnus-summary-selected-face) + (help-highlight-face . underline) + (idlwave-class-arrow-face . bold) + (idlwave-shell-breakpoint-face . idlwave-shell-bp-face) + (idlwave-shell-expression-face . secondary-selection) + (idlwave-shell-stop-line-face . highlight) + (ispell-highlight-face . highlight) + (list-matching-lines-face . bold) + (view-highlight-face . highlight) + (viper-insert-state-cursor-color . "Green") + (viper-replace-overlay-cursor-color . "Red") + (widget-mouse-face . highlight)) + (default ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (Info-title-1-face ((t (:bold t :weight bold :family "helv" :height 1.728)))) + (Info-title-2-face ((t (:bold t :family "helv" :weight bold :height 1.44)))) + (Info-title-3-face ((t (:bold t :weight bold :family "helv" :height 1.2)))) + (Info-title-4-face ((t (:bold t :family "helv" :weight bold)))) + (antlr-font-lock-keyword-face ((t (:bold t :foreground "black" :weight bold)))) + (antlr-font-lock-literal-face ((t (:bold t :foreground "brown4" :weight bold)))) + (antlr-font-lock-ruledef-face ((t (:bold t :foreground "blue" :weight bold)))) + (antlr-font-lock-ruleref-face ((t (:foreground "blue4")))) + (antlr-font-lock-tokendef-face ((t (:bold t :foreground "blue" :weight bold)))) + (antlr-font-lock-tokenref-face ((t (:foreground "orange4")))) + (bold ((t (:bold t :weight bold)))) + (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (border ((t (:background "black")))) + (calendar-today-face ((t (:underline t)))) + (change-log-acknowledgement-face ((t (:foreground "Firebrick")))) + (change-log-conditionals-face ((t (:foreground "DarkGoldenrod")))) + (change-log-date-face ((t (:foreground "RosyBrown")))) + (change-log-email-face ((t (:foreground "DarkGoldenrod")))) + (change-log-file-face ((t (:foreground "Blue")))) + (change-log-function-face ((t (:foreground "DarkGoldenrod")))) + (change-log-list-face ((t (:foreground "Purple")))) + (change-log-name-face ((t (:foreground "CadetBlue")))) + (comint-highlight-input ((t (:bold t :weight bold)))) + (comint-highlight-prompt ((t (:foreground "dark blue")))) + (cperl-array-face ((t (:bold t :background "lightyellow2" :foreground "Blue" :weight bold)))) + (cperl-hash-face ((t (:italic t :bold t :background "lightyellow2" :foreground "Red" :slant italic :weight bold)))) + (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) + (cursor ((t (:background "black")))) + (custom-button-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style released-button))))) + (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style pressed-button))))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-comment-face ((t (:background "gray85")))) + (custom-comment-tag-face ((t (:foreground "blue4")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:bold t :family "helv" :weight bold :height 1.2)))) + (custom-group-tag-face ((t (:bold t :foreground "blue" :weight bold :height 1.2)))) + (custom-group-tag-face-1 ((t (:bold t :family "helv" :foreground "red" :weight bold :height 1.2)))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "dark green")))) + (custom-variable-button-face ((t (:bold t :underline t :weight bold)))) + (custom-variable-tag-face ((t (:bold t :family "helv" :foreground "blue" :weight bold :height 1.2)))) + (cvs-filename-face ((t (:foreground "blue4")))) + (cvs-handled-face ((t (:foreground "pink")))) + (cvs-header-face ((t (:bold t :foreground "blue4" :weight bold)))) + (cvs-marked-face ((t (:bold t :foreground "green3" :weight bold)))) + (cvs-msg-face ((t (:italic t :slant italic)))) + (cvs-need-action-face ((t (:foreground "orange")))) + (cvs-unknown-face ((t (:foreground "red")))) + (diary-face ((t (:foreground "red")))) + (diff-added-face ((t (nil)))) + (diff-changed-face ((t (nil)))) + (diff-context-face ((t (:foreground "grey50")))) + (diff-file-header-face ((t (:bold t :background "grey70" :weight bold)))) + (diff-function-face ((t (:foreground "grey50")))) + (diff-header-face ((t (:background "grey85")))) + (diff-hunk-header-face ((t (:background "grey85")))) + (diff-index-face ((t (:bold t :weight bold :background "grey70")))) + (diff-nonexistent-face ((t (:bold t :weight bold :background "grey70")))) + (diff-removed-face ((t (nil)))) + (dired-face-boring ((t (:foreground "RosyBrown")))) + (dired-face-directory ((t (:foreground "Blue")))) + (dired-face-executable ((t (nil)))) + (dired-face-flagged ((t (:foreground "Red" :weight bold)))) + (dired-face-marked ((t (:foreground "Red" :weight bold)))) + (dired-face-permissions ((t (nil)))) + (dired-face-setuid ((t (nil)))) + (dired-face-socket ((t (nil)))) + (dired-face-symlink ((t (:foreground "Purple")))) + (ebrowse-default-face ((t (nil)))) + (ebrowse-file-name-face ((t (:italic t :slant italic)))) + (ebrowse-member-attribute-face ((t (:foreground "red")))) + (ebrowse-member-class-face ((t (:foreground "purple")))) + (ebrowse-progress-face ((t (:background "blue")))) + (ebrowse-root-class-face ((t (:bold t :foreground "blue" :weight bold)))) + (ebrowse-tree-mark-face ((t (:foreground "red")))) + (ediff-current-diff-face-A ((t (:background "pale green" :foreground "firebrick")))) + (ediff-current-diff-face-Ancestor ((t (:background "VioletRed" :foreground "Black")))) + (ediff-current-diff-face-B ((t (:background "Yellow" :foreground "DarkOrchid")))) + (ediff-current-diff-face-C ((t (:background "Pink" :foreground "Navy")))) + (ediff-even-diff-face-A ((t (:background "light grey" :foreground "Black")))) + (ediff-even-diff-face-Ancestor ((t (:background "Grey" :foreground "White")))) + (ediff-even-diff-face-B ((t (:background "Grey" :foreground "White")))) + (ediff-even-diff-face-C ((t (:background "light grey" :foreground "Black")))) + (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy")))) + (ediff-fine-diff-face-Ancestor ((t (:background "Green" :foreground "Black")))) + (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Black")))) + (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Black")))) + (ediff-odd-diff-face-A ((t (:background "Grey" :foreground "White")))) + (ediff-odd-diff-face-Ancestor ((t (:background "light grey" :foreground "Black")))) + (ediff-odd-diff-face-B ((t (:background "light grey" :foreground "Black")))) + (ediff-odd-diff-face-C ((t (:background "Grey" :foreground "White")))) + (eshell-ls-archive-face ((t (:bold t :foreground "Orchid" :weight bold)))) + (eshell-ls-backup-face ((t (:foreground "OrangeRed")))) + (eshell-ls-clutter-face ((t (:bold t :foreground "OrangeRed" :weight bold)))) + (eshell-ls-directory-face ((t (:bold t :foreground "Blue" :weight bold)))) + (eshell-ls-executable-face ((t (:bold t :foreground "ForestGreen" :weight bold)))) + (eshell-ls-missing-face ((t (:bold t :foreground "Red" :weight bold)))) + (eshell-ls-product-face ((t (:foreground "OrangeRed")))) + (eshell-ls-readonly-face ((t (:foreground "Brown")))) + (eshell-ls-special-face ((t (:bold t :foreground "Magenta" :weight bold)))) + (eshell-ls-symlink-face ((t (:bold t :foreground "Dark Cyan" :weight bold)))) + (eshell-ls-unreadable-face ((t (:foreground "Grey30")))) + (eshell-prompt-face ((t (:bold t :foreground "Red" :weight bold)))) + (eshell-test-failed-face ((t (:bold t :foreground "OrangeRed" :weight bold)))) + (eshell-test-ok-face ((t (:bold t :foreground "Green" :weight bold)))) + (excerpt ((t (:italic t :slant italic)))) + (fixed ((t (:bold t :weight bold)))) + (fixed-pitch ((t (:family "courier")))) + (flyspell-duplicate-face ((t (:bold t :foreground "Gold3" :underline t :weight bold)))) + (flyspell-incorrect-face ((t (:bold t :foreground "OrangeRed" :underline t :weight bold)))) + (font-lock-builtin-face ((t (:foreground "Orchid")))) + (font-lock-comment-face ((t (:foreground "Firebrick")))) + (font-lock-constant-face ((t (:foreground "CadetBlue")))) + (font-lock-doc-face ((t (:foreground "RosyBrown")))) + (font-lock-doc-string-face ((t (:foreground "RosyBrown")))) + (font-lock-function-name-face ((t (:foreground "Blue")))) + (font-lock-keyword-face ((t (:foreground "Purple")))) + (font-lock-preprocessor-face ((t (:foreground "CadetBlue")))) + (font-lock-reference-face ((t (:foreground "Orchid")))) + (font-lock-string-face ((t (:foreground "RosyBrown")))) + (font-lock-type-face ((t (:foreground "ForestGreen")))) + (font-lock-variable-name-face ((t (:foreground "DarkGoldenrod")))) + (font-lock-warning-face ((t (:bold t :foreground "Red" :weight bold)))) + (fringe ((t (:background "grey95")))) + (gnus-cite-attribution-face ((t (:italic t :slant italic)))) + (gnus-cite-face-1 ((t (:foreground "MidnightBlue")))) + (gnus-cite-face-10 ((t (:foreground "medium purple")))) + (gnus-cite-face-11 ((t (:foreground "turquoise")))) + (gnus-cite-face-2 ((t (:foreground "firebrick")))) + (gnus-cite-face-3 ((t (:foreground "dark green")))) + (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) + (gnus-cite-face-5 ((t (:foreground "dark khaki")))) + (gnus-cite-face-6 ((t (:foreground "dark violet")))) + (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-emphasis-bold ((t (:bold t :weight bold)))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) + (gnus-emphasis-italic ((t (:italic t :slant italic)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:bold t :underline t :weight bold)))) + (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :underline t :slant italic :weight bold)))) + (gnus-emphasis-underline-italic ((t (:italic t :underline t :slant italic)))) + (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3" :weight bold)))) + (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3" :weight bold)))) + (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4" :weight bold)))) + (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4" :weight bold)))) + (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) + (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen" :weight bold)))) + (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) + (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4" :weight bold)))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t :weight bold)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t :weight bold)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t :weight bold)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t :weight bold)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen" :weight bold)))) + (gnus-header-content-face ((t (:italic t :foreground "indianred4" :slant italic)))) + (gnus-header-from-face ((t (:foreground "red3")))) + (gnus-header-name-face ((t (:foreground "maroon")))) + (gnus-header-newsgroups-face ((t (:italic t :foreground "MidnightBlue" :slant italic)))) + (gnus-header-subject-face ((t (:foreground "red4")))) + (gnus-signature-face ((t (:italic t :slant italic)))) + (gnus-splash-face ((t (:foreground "Brown")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue" :weight bold)))) + (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen" :weight bold)))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick" :weight bold)))) + (gnus-summary-high-unread-face ((t (:bold t :weight bold)))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue" :slant italic)))) + (gnus-summary-low-read-face ((t (:italic t :foreground "DarkGreen" :slant italic)))) + (gnus-summary-low-ticked-face ((t (:italic t :foreground "firebrick" :slant italic)))) + (gnus-summary-low-unread-face ((t (:italic t :slant italic)))) + (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) + (gnus-summary-normal-ticked-face ((t (:foreground "firebrick")))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-selected-face ((t (:underline t)))) + (header-line ((t (:box (:line-width -1 :style released-button) :background "grey90" :foreground "grey20" :box nil)))) + (hi-black-b ((t (:bold t :weight bold)))) + (hi-black-hb ((t (:bold t :family "helv" :weight bold :height 1.67)))) + (hi-blue ((t (:background "light blue")))) + (hi-blue-b ((t (:bold t :foreground "blue" :weight bold)))) + (hi-green ((t (:background "green")))) + (hi-green-b ((t (:bold t :foreground "green" :weight bold)))) + (hi-pink ((t (:background "pink")))) + (hi-red-b ((t (:bold t :foreground "red" :weight bold)))) + (hi-yellow ((t (:background "yellow")))) + (highlight ((t (:background "darkseagreen2")))) + (highlight-changes-delete-face ((t (:foreground "red" :underline t)))) + (highlight-changes-face ((t (:foreground "red")))) + (holiday-face ((t (:background "pink")))) + (idlwave-help-link-face ((t (:foreground "Blue")))) + (idlwave-shell-bp-face ((t (:background "Pink" :foreground "Black")))) + (info-header-node ((t (:italic t :bold t :weight bold :slant italic :foreground "brown")))) + (info-header-xref ((t (:bold t :weight bold :foreground "magenta4")))) + (info-menu-5 ((t (:foreground "red1")))) + (info-menu-header ((t (:bold t :family "helv" :weight bold)))) + (info-node ((t (:italic t :bold t :foreground "brown" :slant italic :weight bold)))) + (info-xref ((t (:bold t :foreground "magenta4" :weight bold)))) + (isearch ((t (:background "magenta4" :foreground "lightskyblue1")))) + (isearch-lazy-highlight-face ((t (:background "paleturquoise")))) + (italic ((t (:italic t :slant italic)))) + (log-view-file-face ((t (:bold t :background "grey70" :weight bold)))) + (log-view-message-face ((t (:background "grey85")))) + (makefile-space-face ((t (:background "hotpink")))) + (menu ((t (:background "grey50" :foreground "white" :box (:line-width -1 :style released-button))))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:foreground "MidnightBlue")))) + (message-header-name-face ((t (:foreground "cornflower blue")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4" :slant italic :weight bold)))) + (message-header-other-face ((t (:foreground "steel blue")))) + (message-header-subject-face ((t (:bold t :foreground "navy blue" :weight bold)))) + (message-header-to-face ((t (:bold t :foreground "MidnightBlue" :weight bold)))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-mml-face ((t (:foreground "ForestGreen")))) + (message-separator-face ((t (:foreground "brown")))) + (mode-line ((t (:background "grey50" :foreground "white" :box (:line-width -1 :style released-button))))) + (modeline ((t (:background "grey50" :foreground "white" :box (:line-width -1 :style released-button))))) + (modeline-buffer-id ((t (:bold t :background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) + (modeline-mousable ((t (:background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) + (modeline-mousable-minor-mode ((t (:background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) + (mouse ((t (:background "black")))) + (primary-selection ((t (:background "lightgoldenrod2")))) + (reb-match-0 ((t (:background "lightblue")))) + (reb-match-1 ((t (:background "aquamarine")))) + (reb-match-2 ((t (:background "springgreen")))) + (reb-match-3 ((t (:background "yellow")))) + (region ((t (:background "lightgoldenrod2")))) + (scroll-bar ((t (:background "grey75")))) + (secondary-selection ((t (:background "yellow")))) + (sh-heredoc-face ((t (:foreground "tan")))) + (show-paren-match-face ((t (:background "turquoise")))) + (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) + (show-tabs-space-face ((t (:foreground "yellow")))) + (show-tabs-tab-face ((t (:foreground "red")))) + (smerge-base-face ((t (:foreground "red")))) + (smerge-markers-face ((t (:background "grey85")))) + (smerge-mine-face ((t (:foreground "blue")))) + (smerge-other-face ((t (:foreground "darkgreen")))) + (speedbar-button-face ((t (:foreground "green4")))) + (speedbar-directory-face ((t (:foreground "blue4")))) + (speedbar-file-face ((t (:foreground "cyan4")))) + (speedbar-highlight-face ((t (:background "green")))) + (speedbar-selected-face ((t (:foreground "red" :underline t)))) + (speedbar-tag-face ((t (:foreground "brown")))) + (strokes-char-face ((t (:background "lightgray")))) + (term-black ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-blackbg ((t (:stipple nil :background "black" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-blue ((t (:stipple nil :background "white" :foreground "blue" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-bluebg ((t (:stipple nil :background "blue" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-bold ((t (:bold t :stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight bold :width normal :family "adobe-courier")))) + (term-cyan ((t (:stipple nil :background "white" :foreground "cyan" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-cyanbg ((t (:stipple nil :background "cyan" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-default ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-default-bg ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-default-bg-inv ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-default-fg ((t (:stipple nil :background "white" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-default-fg-inv ((t (:stipple nil :background "white" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-green ((t (:stipple nil :background "white" :foreground "green" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-greenbg ((t (:stipple nil :background "green" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-invisible ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-invisible-inv ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-magenta ((t (:stipple nil :background "white" :foreground "magenta" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-magentabg ((t (:stipple nil :background "magenta" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-red ((t (:stipple nil :background "white" :foreground "red" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-redbg ((t (:stipple nil :background "red" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-underline ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline t :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-white ((t (:stipple nil :background "white" :foreground "white" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-whitebg ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-yellow ((t (:stipple nil :background "white" :foreground "yellow" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (term-yellowbg ((t (:stipple nil :background "yellow" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) + (tex-math-face ((t (:foreground "RosyBrown")))) + (texinfo-heading-face ((t (:foreground "Blue")))) + (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) + (tooltip ((t (:background "lightyellow" :foreground "black")))) + (trailing-whitespace ((t (:background "red")))) + (underline ((t (:underline t)))) + (variable-pitch ((t (:family "helv")))) + (vcursor ((t (:background "cyan" :foreground "blue" :underline t)))) + (vhdl-font-lock-attribute-face ((t (:foreground "Orchid")))) + (vhdl-font-lock-directive-face ((t (:foreground "CadetBlue")))) + (vhdl-font-lock-enumvalue-face ((t (:foreground "Gold4")))) + (vhdl-font-lock-function-face ((t (:foreground "Orchid4")))) + (vhdl-font-lock-prompt-face ((t (:bold t :foreground "Red" :weight bold)))) + (vhdl-font-lock-reserved-words-face ((t (:bold t :foreground "Orange" :weight bold)))) + (vhdl-font-lock-translate-off-face ((t (:background "LightGray")))) + (vhdl-speedbar-architecture-face ((t (:foreground "Blue")))) + (vhdl-speedbar-architecture-selected-face ((t (:foreground "Blue" :underline t)))) + (vhdl-speedbar-configuration-face ((t (:foreground "DarkGoldenrod")))) + (vhdl-speedbar-configuration-selected-face ((t (:foreground "DarkGoldenrod" :underline t)))) + (vhdl-speedbar-entity-face ((t (:foreground "ForestGreen")))) + (vhdl-speedbar-entity-selected-face ((t (:foreground "ForestGreen" :underline t)))) + (vhdl-speedbar-instantiation-face ((t (:foreground "Brown")))) + (vhdl-speedbar-instantiation-selected-face ((t (:foreground "Brown" :underline t)))) + (vhdl-speedbar-package-face ((t (:foreground "Grey50")))) + (vhdl-speedbar-package-selected-face ((t (:foreground "Grey50" :underline t)))) + (viper-minibuffer-emacs-face ((t (:background "darkseagreen2" :foreground "Black")))) + (viper-minibuffer-insert-face ((t (:background "pink" :foreground "Black")))) + (viper-minibuffer-vi-face ((t (:background "grey" :foreground "DarkGreen")))) + (viper-replace-overlay-face ((t (:background "darkseagreen2" :foreground "Black")))) + (viper-search-face ((t (:background "khaki" :foreground "Black")))) + (widget-button-face ((t (:bold t :weight bold)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (widget-single-line-field-face ((t (:background "gray85")))) + (woman-addition-face ((t (:foreground "orange")))) + (woman-bold-face ((t (:bold t :foreground "blue" :weight bold)))) + (woman-italic-face ((t (:italic t :foreground "red" :underline t :slant italic)))) + (woman-unknown-face ((t (:foreground "brown")))) + (zmacs-region ((t (:background "lightgoldenrod2"))))))) + +(defun color-theme-late-night () + "Color theme by Alex Schroeder, created 2003-08-07. +This theme is for use late at night, with only little light in the room. +The goal was to make something as dark and subtle as the text console in +its default 80x25 state -- dark grey on black." + (interactive) + (let ((color-theme-is-cumulative t)) + (color-theme-dark-erc) + (color-theme-dark-gnus) + ;; (color-theme-dark-diff) + ;; (color-theme-dark-eshell) + (color-theme-dark-info) + (color-theme-dark-font-lock) + (color-theme-install + '(color-theme-late-night + ((background-color . "#000") + (background-mode . dark) + (background-toolbar-color . "#000") + (border-color . "#000") + (bottom-toolbar-shadow-color . "#000") + (cursor-color . "#888") + (foreground-color . "#666") + (top-toolbar-shadow-color . "#111")) + (default ((t (nil)))) + (bold ((t (:bold t)))) + (button ((t (:bold t)))) + (custom-button-face ((t (:bold t :foreground "#999")))) + (fringe ((t (:background "#111" :foreground "#444")))) + (header-line ((t (:background "#333" :foreground "#000")))) + (highlight ((t (:background "dark slate blue" :foreground "light blue")))) + (holiday-face ((t (:background "#000" :foreground "#777")))) + (isearch ((t (:foreground "pink" :background "red")))) + (isearch-lazy-highlight-face ((t (:foreground "red")))) + (italic ((t (:bold t)))) + (menu ((t (:background "#111" :foreground "#444")))) + (minibuffer-prompt ((t (:foreground "555")))) + (modeline ((t (:background "#111" :foreground "#444")))) + (mode-line-inactive ((t (:background "#000" :foreground "#444")))) + (modeline-buffer-id ((t (:background "#000" :foreground "#555")))) + (modeline-mousable ((t (:background "#000" :foreground "#555")))) + (modeline-mousable-minor-mode ((t (:background "#000" :foreground "#555")))) + (region ((t (:background "dark cyan" :foreground "cyan")))) + (secondary-selection ((t (:background "Aquamarine" :foreground "SlateBlue")))) + (show-paren-match-face ((t (:foreground "white" :background "light slate blue")))) + (show-paren-mismatch-face ((t (:foreground "white" :background "red")))) + (tool-bar ((t (:background "#111" :foreground "#777")))) + (tooltip ((t (:background "#333" :foreground "#777")))) + (underline ((t (:bold t)))) + (variable-pitch ((t (nil)))) + (widget-button-face ((t (:bold t :foreground "#888")))) + (widget-field-face ((t (:bold t :foreground "#999")))))))) + +(defun color-theme-clarity () + "White on black color theme by Richard Wellum, created 2003-01-16." + (interactive) + (color-theme-install + '(color-theme-clarity + ((background-color . "black") + (background-mode . dark) + (border-color . "white") + (cursor-color . "yellow") + (foreground-color . "white") + (mouse-color . "white")) + ((CUA-mode-global-mark-cursor-color . "cyan") + (CUA-mode-normal-cursor-color . "yellow") + (CUA-mode-overwrite-cursor-color . "red") + (CUA-mode-read-only-cursor-color . "green") + (help-highlight-face . underline) + (ibuffer-dired-buffer-face . font-lock-function-name-face) + (ibuffer-help-buffer-face . font-lock-comment-face) + (ibuffer-hidden-buffer-face . font-lock-warning-face) + (ibuffer-occur-match-face . font-lock-warning-face) + (ibuffer-read-only-buffer-face . font-lock-type-face) + (ibuffer-special-buffer-face . font-lock-keyword-face) + (ibuffer-title-face . font-lock-type-face) + (list-matching-lines-face . bold) + (ps-line-number-color . "black") + (ps-zebra-color . 0.95) + (tags-tag-face . default) + (view-highlight-face . highlight) + (widget-mouse-face . highlight)) + (default ((t (nil)))) + (CUA-global-mark-face ((t (:background "cyan" :foreground "black")))) + (CUA-rectangle-face ((t (:background "maroon" :foreground "white")))) + (CUA-rectangle-noselect-face ((t (:background "dimgray" :foreground "white")))) + (bold ((t (:bold t :weight bold)))) + (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (border ((t (:background "white")))) + (clearcase-dired-checkedout-face ((t (:foreground "red")))) + (comint-highlight-input ((t (:bold t :weight bold)))) + (comint-highlight-prompt ((t (:foreground "cyan")))) + (cursor ((t (:background "yellow")))) + (fixed-pitch ((t (:family "courier")))) + (flash-paren-face-off ((t (nil)))) + (flash-paren-face-on ((t (nil)))) + (flash-paren-face-region ((t (nil)))) + (font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) + (font-lock-comment-face ((t (:foreground "OrangeRed")))) + (font-lock-constant-face ((t (:foreground "Aquamarine")))) + (font-lock-doc-face ((t (:foreground "LightSalmon")))) + (font-lock-function-name-face ((t (:foreground "LightSkyBlue")))) + (font-lock-keyword-face ((t (:foreground "Cyan")))) + (font-lock-string-face ((t (:foreground "LightSalmon")))) + (font-lock-type-face ((t (:foreground "PaleGreen")))) + (font-lock-variable-name-face ((t (:foreground "LightGoldenrod")))) + (font-lock-warning-face ((t (:bold t :foreground "Pink" :weight bold)))) + (fringe ((t (:background "grey10")))) + (header-line ((t (:box (:line-width -1 :style released-button) :foreground "grey20" :background "grey90" :box nil)))) + (highlight ((t (:background "darkolivegreen")))) + (ibuffer-deletion-face ((t (:foreground "red")))) + (ibuffer-marked-face ((t (:foreground "green")))) + (isearch ((t (:background "palevioletred2" :foreground "brown4")))) + (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) + (italic ((t (:italic t :slant italic)))) + (menu ((t (nil)))) + (mode-line ((t (:foreground "yellow" :background "darkslateblue" :box (:line-width -1 :style released-button))))) + (mouse ((t (:background "white")))) + (region ((t (:background "blue")))) + (scroll-bar ((t (nil)))) + (secondary-selection ((t (:background "darkslateblue")))) + (show-block-face1 ((t (:background "gray10")))) + (show-block-face2 ((t (:background "gray15")))) + (show-block-face3 ((t (:background "gray20")))) + (show-block-face4 ((t (:background "gray25")))) + (show-block-face5 ((t (:background "gray30")))) + (show-block-face6 ((t (:background "gray35")))) + (show-block-face7 ((t (:background "gray40")))) + (show-block-face8 ((t (:background "gray45")))) + (show-block-face9 ((t (:background "gray50")))) + (show-paren-match-face ((t (:background "turquoise")))) + (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) + (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) + (tooltip ((t (:background "lightyellow" :foreground "black")))) + (trailing-whitespace ((t (:background "red")))) + (underline ((t (:underline t)))) + (variable-pitch ((t (:family "helv")))) + (widget-button-face ((t (:bold t :weight bold)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "lime green")))) + (widget-field-face ((t (:background "dim gray")))) + (widget-inactive-face ((t (:foreground "light gray")))) + (widget-single-line-field-face ((t (:background "dim gray"))))))) + +(defun color-theme-andreas () + "Color theme by Andreas Busch, created 2003-02-06." + (interactive) + (color-theme-install + '(color-theme-andreas + ((background-mode . light) + (background-color . "white") + (background-toolbar-color . "#cccccccccccc") + (border-color . "#000000000000") + (bottom-toolbar-shadow-color . "#7a7a7a7a7a7a") + (foreground-color . "black") + (top-toolbar-shadow-color . "#f5f5f5f5f5f5")) + ((gnus-mouse-face . highlight) + (ispell-highlight-face . highlight)) + (default ((t (nil)))) + (OrangeRed ((t (nil)))) + (blue ((t (:foreground "blue")))) + (bold ((t (:bold t)))) + (bold-italic ((t (:italic t :bold t)))) + (border-glyph ((t (nil)))) + (calendar-today-face ((t (:underline t)))) + (color-mode-face-@ ((t (:foreground "orange")))) + (color-mode-face-a ((t (:foreground "blue")))) + (color-mode-face-b ((t (:foreground "red")))) + (color-mode-face-c ((t (:foreground "green3")))) + (color-mode-face-d ((t (:background "red" :foreground "white")))) + (color-mode-face-e ((t (:background "orange" :foreground "blue")))) + (color-mode-face-f ((t (:background "blue" :foreground "yellow")))) + (color-mode-face-g ((t (:background "lightblue" :foreground "brown")))) + (color-mode-face-h ((t (:background "brown" :foreground "white")))) + (custom-button-face ((t (:bold t)))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face ((t (:underline t :foreground "blue")))) + (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "dark green")))) + (custom-variable-button-face ((t (:underline t :bold t :background "gray90")))) + (custom-variable-tag-face ((t (:underline t :background "gray95" :foreground "blue")))) + (diary-face ((t (:foreground "red")))) + (display-time-mail-balloon-enhance-face ((t (:background "orange")))) + (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue")))) + (display-time-time-balloon-face ((t (:foreground "red")))) + (emacs-wiki-bad-link-face ((t (:bold t :foreground "red")))) + (emacs-wiki-link-face ((t (:bold t :foreground "green")))) + (font-lock-comment-face ((t (:foreground "orange1")))) + (font-lock-doc-string-face ((t (:foreground "green4")))) + (font-lock-function-name-face ((t (:foreground "blue3")))) + (font-lock-keyword-face ((t (:foreground "red1")))) + (font-lock-preprocessor-face ((t (:foreground "blue3")))) + (font-lock-reference-face ((t (:foreground "red3")))) + (font-lock-string-face ((t (:foreground "green4")))) + (font-lock-type-face ((t (:foreground "#6920ac")))) + (font-lock-variable-name-face ((t (:foreground "blue3")))) + (font-lock-warning-face ((t (:bold t :foreground "Red")))) + (gnu-cite-face-3 ((t (nil)))) + (gnu-cite-face-4 ((t (nil)))) + (gnus-cite-attribution-face ((t (:underline t)))) + (gnus-cite-face-1 ((t (:foreground "MidnightBlue")))) + (gnus-cite-face-10 ((t (:foreground "medium purple")))) + (gnus-cite-face-11 ((t (:foreground "turquoise")))) + (gnus-cite-face-2 ((t (:foreground "firebrick")))) + (gnus-cite-face-3 ((t (:foreground "dark green")))) + (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) + (gnus-cite-face-5 ((t (:foreground "dark khaki")))) + (gnus-cite-face-6 ((t (:foreground "dark violet")))) + (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) + (gnus-cite-face-8 ((t (:foreground "magenta")))) + (gnus-cite-face-9 ((t (:foreground "violet")))) + (gnus-emphasis-bold ((t (:bold t)))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) + (gnus-emphasis-italic ((t (:italic t)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) + (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t)))) + (gnus-emphasis-underline-italic ((t (:underline t :italic t)))) + (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3")))) + (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3")))) + (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4")))) + (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4")))) + (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) + (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen")))) + (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) + (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4")))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t)))) + (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) + (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen")))) + (gnus-header-content-face ((t (:italic t :foreground "indianred4")))) + (gnus-header-from-face ((t (:bold t :foreground "red3")))) + (gnus-header-name-face ((t (:foreground "maroon")))) + (gnus-header-newsgroups-face ((t (:italic t :bold t :foreground "MidnightBlue")))) + (gnus-header-subject-face ((t (:bold t :foreground "red4")))) + (gnus-splash-face ((t (:foreground "red")))) + (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) + (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen")))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "DarkRed")))) + (gnus-summary-high-unread-face ((t (:bold t)))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue")))) + (gnus-summary-low-read-face ((t (:italic t :foreground "DarkGreen")))) + (gnus-summary-low-ticked-face ((t (:italic t :foreground "firebrick")))) + (gnus-summary-low-unread-face ((t (:italic t)))) + (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) + (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) + (gnus-summary-normal-ticked-face ((t (:foreground "Red")))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-selected-face ((t (:underline t)))) + (gnus-x-face ((t (nil)))) + (green ((t (:foreground "green")))) + (gui-button-face ((t (:background "grey75")))) + (gui-element ((t (:background "Gray80")))) + (highlight ((t (nil)))) + (holiday-face ((t (:background "pink")))) + (hyper-apropos-documentation ((t (:foreground "darkred")))) + (hyper-apropos-heading ((t (:bold t)))) + (hyper-apropos-hyperlink ((t (:foreground "blue4")))) + (hyper-apropos-major-heading ((t (:bold t)))) + (hyper-apropos-section-heading ((t (:italic t :bold t)))) + (hyper-apropos-warning ((t (:bold t :foreground "red")))) + (info-node ((t (:italic t :bold t)))) + (info-xref ((t (:bold t)))) + (isearch ((t (:background "yellow" :foreground "red")))) + (italic ((t (:italic t)))) + (kai-gnus-cite-face-1 ((t (:foreground "LightCyan4")))) + (kai-gnus-cite-face-2 ((t (:foreground "LightSkyBlue2")))) + (kai-gnus-cite-face-3 ((t (:foreground "DodgerBlue3")))) + (kai-gnus-group-mail-face ((t (:foreground "darkslategrey")))) + (kai-gnus-group-nonempty-mail-face ((t (:foreground "DarkRed")))) + (kai-gnus-group-starred-face ((t (:foreground "grey50")))) + (left-margin ((t (nil)))) + (list-mode-item-selected ((t (:background "gray68")))) + (message-cited-text ((t (:italic t)))) + (message-cited-text-face ((t (:foreground "red")))) + (message-header-cc-face ((t (:foreground "MidnightBlue")))) + (message-header-contents ((t (:italic t)))) + (message-header-name-face ((t (:foreground "cornflower blue")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4")))) + (message-header-other-face ((t (:foreground "steel blue")))) + (message-header-subject-face ((t (:bold t :foreground "navy blue")))) + (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) + (message-header-xheader-face ((t (:foreground "blue")))) + (message-headers ((t (:bold t)))) + (message-highlighted-header-contents ((t (:italic t :bold t)))) + (message-mml-face ((t (:foreground "ForestGreen")))) + (message-separator-face ((t (:foreground "brown")))) + (modeline ((t (:background "Gray75" :foreground "Black")))) + (modeline-buffer-id ((t (:background "Gray75" :foreground "blue4")))) + (modeline-mousable ((t (:background "Gray75" :foreground "firebrick")))) + (modeline-mousable-minor-mode ((t (:background "Gray75" :foreground "green4")))) + (paren-blink-off ((t (:foreground "gray80")))) + (paren-match ((t (:background "red" :foreground "white")))) + (paren-mismatch ((t (:background "DeepPink")))) + (pointer ((t (:foreground "blue")))) + (primary-selection ((t (:background "gray65")))) + (red ((t (:foreground "red")))) + (region ((t (:background "gray75")))) + (right-margin ((t (nil)))) + (secondary-selection ((t (:background "paleturquoise")))) + (text-cursor ((t (:background "red" :foreground "LightYellow1")))) + (toolbar ((t (:background "Gray80")))) + (underline ((t (:underline t)))) + (vertical-divider ((t (:background "Gray80")))) + (widget-button-face ((t (:bold t)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (x-face ((t (:background "white")))) + (yellow ((t (:foreground "yellow")))) + (zmacs-region ((t (:background "gray65" :foreground "yellow"))))))) + +(defun color-theme-charcoal-black () + "Color theme by Lars Chr. Hausmann, created 2003-03-24." + (interactive) + (color-theme-install + '(color-theme-charcoal-black + ((background-color . "Grey15") + (background-mode . dark) + (border-color . "Grey") + (cursor-color . "Grey") + (foreground-color . "Grey") + (mouse-color . "Grey")) + ((display-time-mail-face . mode-line) + (gnus-article-button-face . bold) + (gnus-article-mouse-face . highlight) + (gnus-mouse-face . highlight) + (gnus-server-agent-face . gnus-server-agent-face) + (gnus-server-closed-face . gnus-server-closed-face) + (gnus-server-denied-face . gnus-server-denied-face) + (gnus-server-offline-face . gnus-server-offline-face) + (gnus-server-opened-face . gnus-server-opened-face) + (gnus-signature-face . gnus-signature-face) + (gnus-summary-selected-face . gnus-summary-selected-face) + (help-highlight-face . underline) + (list-matching-lines-face . bold) + (mime-button-face . bold) + (mime-button-mouse-face . highlight) + (sgml-set-face . t) + (tags-tag-face . default) + (view-highlight-face . highlight) + (widget-mouse-face . highlight)) + (default ((t (:stipple nil :background "Grey15" :foreground "Grey" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 87 :width semi-condensed :family "misc-fixed")))) + (Info-title-1-face ((t (:bold t :weight bold :family "helv" :height 1.728)))) + (Info-title-2-face ((t (:bold t :family "helv" :weight bold :height 1.44)))) + (Info-title-3-face ((t (:bold t :weight bold :family "helv" :height 1.2)))) + (Info-title-4-face ((t (:bold t :family "helv" :weight bold)))) + (bg:erc-color-face0 ((t (nil)))) + (bg:erc-color-face1 ((t (nil)))) + (bg:erc-color-face10 ((t (nil)))) + (bg:erc-color-face11 ((t (nil)))) + (bg:erc-color-face12 ((t (nil)))) + (bg:erc-color-face13 ((t (nil)))) + (bg:erc-color-face14 ((t (nil)))) + (bg:erc-color-face15 ((t (nil)))) + (bg:erc-color-face2 ((t (nil)))) + (bg:erc-color-face3 ((t (nil)))) + (bg:erc-color-face4 ((t (nil)))) + (bg:erc-color-face5 ((t (nil)))) + (bg:erc-color-face6 ((t (nil)))) + (bg:erc-color-face7 ((t (nil)))) + (bg:erc-color-face8 ((t (nil)))) + (bg:erc-color-face9 ((t (nil)))) + (bold ((t (:bold t :weight bold)))) + (bold-italic ((t (:bold t :foreground "beige" :weight bold)))) + (border ((t (:background "Grey")))) + (calendar-today-face ((t (:underline t)))) + (comint-highlight-input ((t (:bold t :weight bold)))) + (comint-highlight-prompt ((t (:foreground "cyan")))) + (cperl-array-face ((t (:bold t :foreground "light salmon" :weight bold)))) + (cperl-hash-face ((t (:italic t :bold t :foreground "beige" :slant italic :weight bold)))) + (cperl-nonoverridable-face ((t (:foreground "aquamarine")))) + (cursor ((t (:background "Grey")))) + (custom-button-face ((t (:foreground "gainsboro")))) + (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style pressed-button))))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-comment-face ((t (:background "dim gray")))) + (custom-comment-tag-face ((t (:foreground "gray80")))) + (custom-documentation-face ((t (:foreground "light blue")))) + (custom-face-tag-face ((t (:underline t)))) + (custom-group-tag-face ((t (:bold t :foreground "pale turquoise" :weight bold)))) + (custom-group-tag-face-1 ((t (:foreground "pale turquoise" :underline t)))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "light salmon")))) + (custom-variable-button-face ((t (:bold t :underline t :weight bold)))) + (custom-variable-tag-face ((t (:bold t :foreground "turquoise" :weight bold)))) + (diary-face ((t (:foreground "red")))) + (dired-face-directory ((t (:bold t :foreground "sky blue" :weight bold)))) + (dired-face-executable ((t (:foreground "green yellow")))) + (dired-face-flagged ((t (:foreground "tomato")))) + (dired-face-marked ((t (:foreground "light salmon")))) + (dired-face-permissions ((t (:foreground "aquamarine")))) + (erc-action-face ((t (nil)))) + (erc-bold-face ((t (:bold t :weight bold)))) + (erc-default-face ((t (nil)))) + (erc-direct-msg-face ((t (:foreground "pale green")))) + (erc-error-face ((t (:bold t :foreground "IndianRed" :weight bold)))) + (erc-highlight-face ((t (:bold t :foreground "pale green" :weight bold)))) + (erc-input-face ((t (:foreground "light blue")))) + (erc-inverse-face ((t (:background "steel blue")))) + (erc-notice-face ((t (:foreground "light salmon")))) + (erc-pal-face ((t (:foreground "pale green")))) + (erc-prompt-face ((t (:bold t :foreground "light blue" :weight bold)))) + (eshell-ls-archive-face ((t (:bold t :foreground "medium purple" :weight bold)))) + (eshell-ls-backup-face ((t (:foreground "dim gray")))) + (eshell-ls-clutter-face ((t (:foreground "dim gray")))) + (eshell-ls-directory-face ((t (:bold t :foreground "medium slate blue" :weight bold)))) + (eshell-ls-executable-face ((t (:bold t :foreground "aquamarine" :weight bold)))) + (eshell-ls-missing-face ((t (:foreground "black")))) + (eshell-ls-picture-face ((t (:foreground "violet")))) + (eshell-ls-product-face ((t (:foreground "light steel blue")))) + (eshell-ls-readonly-face ((t (:foreground "aquamarine")))) + (eshell-ls-special-face ((t (:foreground "gold")))) + (eshell-ls-symlink-face ((t (:foreground "white")))) + (eshell-ls-unreadable-face ((t (:foreground "dim gray")))) + (eshell-prompt-face ((t (:bold t :foreground "light sky blue" :weight bold)))) + (excerpt ((t (:italic t :slant italic)))) + (fg:erc-color-face0 ((t (:foreground "white")))) + (fg:erc-color-face1 ((t (:foreground "beige")))) + (fg:erc-color-face10 ((t (:foreground "pale goldenrod")))) + (fg:erc-color-face11 ((t (:foreground "light goldenrod yellow")))) + (fg:erc-color-face12 ((t (:foreground "light yellow")))) + (fg:erc-color-face13 ((t (:foreground "yellow")))) + (fg:erc-color-face14 ((t (:foreground "light goldenrod")))) + (fg:erc-color-face15 ((t (:foreground "lime green")))) + (fg:erc-color-face2 ((t (:foreground "lemon chiffon")))) + (fg:erc-color-face3 ((t (:foreground "light cyan")))) + (fg:erc-color-face4 ((t (:foreground "powder blue")))) + (fg:erc-color-face5 ((t (:foreground "sky blue")))) + (fg:erc-color-face6 ((t (:foreground "dark sea green")))) + (fg:erc-color-face7 ((t (:foreground "pale green")))) + (fg:erc-color-face8 ((t (:foreground "medium spring green")))) + (fg:erc-color-face9 ((t (:foreground "khaki")))) + (fixed ((t (:bold t :weight bold)))) + (fixed-pitch ((t (:family "courier")))) + (flyspell-duplicate-face ((t (:bold t :foreground "Gold3" :underline t :weight bold)))) + (flyspell-incorrect-face ((t (:bold t :foreground "OrangeRed" :underline t :weight bold)))) + (font-lock-builtin-face ((t (:foreground "aquamarine")))) + (font-lock-comment-face ((t (:foreground "light blue")))) + (font-lock-constant-face ((t (:foreground "pale green")))) + (font-lock-doc-face ((t (:foreground "light sky blue")))) + (font-lock-doc-string-face ((t (:foreground "sky blue")))) + (font-lock-function-name-face ((t (:bold t :foreground "aquamarine" :weight bold)))) + (font-lock-keyword-face ((t (:bold t :foreground "pale turquoise" :weight bold)))) + (font-lock-reference-face ((t (:foreground "pale green")))) + (font-lock-string-face ((t (:foreground "light sky blue")))) + (font-lock-type-face ((t (:bold t :foreground "sky blue" :weight bold)))) + (font-lock-variable-name-face ((t (:bold t :foreground "turquoise" :weight bold)))) + (font-lock-warning-face ((t (:bold t :foreground "Red" :weight bold)))) + (fringe ((t (:background "Grey15")))) + (gnus-cite-face-1 ((t (:foreground "LightSalmon")))) + (gnus-cite-face-2 ((t (:foreground "Khaki")))) + (gnus-cite-face-3 ((t (:foreground "Coral")))) + (gnus-cite-face-4 ((t (:foreground "yellow green")))) + (gnus-cite-face-5 ((t (:foreground "dark khaki")))) + (gnus-cite-face-6 ((t (:foreground "bisque")))) + (gnus-cite-face-7 ((t (:foreground "peru")))) + (gnus-cite-face-8 ((t (:foreground "light coral")))) + (gnus-cite-face-9 ((t (:foreground "plum")))) + (gnus-emphasis-bold ((t (:bold t :weight bold)))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) + (gnus-emphasis-italic ((t (:italic t :slant italic)))) + (gnus-emphasis-strikethru ((t (nil)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:bold t :underline t :weight bold)))) + (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :underline t :slant italic :weight bold)))) + (gnus-emphasis-underline-italic ((t (:italic t :underline t :slant italic)))) + (gnus-group-mail-1-empty-face ((t (:foreground "White")))) + (gnus-group-mail-1-face ((t (:bold t :foreground "White" :weight bold)))) + (gnus-group-mail-2-empty-face ((t (:foreground "light cyan")))) + (gnus-group-mail-2-face ((t (:bold t :foreground "light cyan" :weight bold)))) + (gnus-group-mail-3-empty-face ((t (:foreground "LightBlue")))) + (gnus-group-mail-3-face ((t (:bold t :foreground "LightBlue" :weight bold)))) + (gnus-group-mail-low-empty-face ((t (:foreground "Aquamarine")))) + (gnus-group-mail-low-face ((t (:bold t :foreground "Aquamarine" :weight bold)))) + (gnus-group-news-1-empty-face ((t (:foreground "White")))) + (gnus-group-news-1-face ((t (:bold t :foreground "White" :weight bold)))) + (gnus-group-news-2-empty-face ((t (:foreground "light cyan")))) + (gnus-group-news-2-face ((t (:bold t :foreground "light cyan" :weight bold)))) + (gnus-group-news-3-empty-face ((t (:foreground "LightBlue")))) + (gnus-group-news-3-face ((t (:bold t :foreground "LightBlue" :weight bold)))) + (gnus-group-news-4-empty-face ((t (:foreground "Aquamarine")))) + (gnus-group-news-4-face ((t (:bold t :foreground "Aquamarine" :weight bold)))) + (gnus-group-news-5-empty-face ((t (:foreground "MediumAquamarine")))) + (gnus-group-news-5-face ((t (:bold t :foreground "MediumAquamarine" :weight bold)))) + (gnus-group-news-6-empty-face ((t (:foreground "MediumAquamarine")))) + (gnus-group-news-6-face ((t (:bold t :foreground "MediumAquamarine" :weight bold)))) + (gnus-group-news-low-empty-face ((t (:foreground "MediumAquamarine")))) + (gnus-group-news-low-face ((t (:bold t :foreground "MediumAquamarine" :weight bold)))) + (gnus-header-content-face ((t (:foreground "LightSkyBlue3")))) + (gnus-header-from-face ((t (:bold t :foreground "light cyan" :weight bold)))) + (gnus-header-name-face ((t (:bold t :foreground "LightBlue" :weight bold)))) + (gnus-header-newsgroups-face ((t (:italic t :bold t :foreground "MediumAquamarine" :slant italic :weight bold)))) + (gnus-header-subject-face ((t (:bold t :foreground "light cyan" :weight bold)))) + (gnus-server-agent-face ((t (:bold t :foreground "PaleTurquoise" :weight bold)))) + (gnus-server-closed-face ((t (:italic t :foreground "Light Steel Blue" :slant italic)))) + (gnus-server-denied-face ((t (:bold t :foreground "Pink" :weight bold)))) + (gnus-server-offline-face ((t (:bold t :foreground "Yellow" :weight bold)))) + (gnus-server-opened-face ((t (:bold t :foreground "Green1" :weight bold)))) + (gnus-signature-face ((t (:foreground "Grey")))) + (gnus-splash-face ((t (:foreground "ForestGreen")))) + (gnus-summary-cancelled-face ((t (:background "Black" :foreground "Yellow")))) + (gnus-summary-high-ancient-face ((t (:bold t :foreground "MediumAquamarine" :weight bold)))) + (gnus-summary-high-read-face ((t (:bold t :foreground "Aquamarine" :weight bold)))) + (gnus-summary-high-ticked-face ((t (:bold t :foreground "LightSalmon" :weight bold)))) + (gnus-summary-high-unread-face ((t (:italic t :bold t :foreground "beige" :slant italic :weight bold)))) + (gnus-summary-low-ancient-face ((t (:italic t :foreground "DimGray" :slant italic)))) + (gnus-summary-low-read-face ((t (:foreground "slate gray")))) + (gnus-summary-low-ticked-face ((t (:foreground "Pink")))) + (gnus-summary-low-unread-face ((t (:foreground "LightGray")))) + (gnus-summary-normal-ancient-face ((t (:foreground "MediumAquamarine")))) + (gnus-summary-normal-read-face ((t (:foreground "Aquamarine")))) + (gnus-summary-normal-ticked-face ((t (:foreground "LightSalmon")))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-selected-face ((t (:underline t)))) + (header-line ((t (:box (:line-width -1 :style released-button) :background "grey20" :foreground "grey90" :box nil)))) + (highlight ((t (:background "dark slate blue" :foreground "light blue")))) + (highline-face ((t (:background "DeepSkyBlue4")))) + (holiday-face ((t (:background "pink")))) + (info-header-node ((t (:bold t :weight bold)))) + (info-header-xref ((t (:bold t :weight bold :foreground "sky blue")))) + (info-menu-5 ((t (:underline t)))) + (info-menu-header ((t (:bold t :family "helv" :weight bold)))) + (info-node ((t (:bold t :weight bold)))) + (info-xref ((t (:bold t :foreground "sky blue" :weight bold)))) + (isearch ((t (:background "slate blue")))) + (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) + (italic ((t (:foreground "sky blue")))) + (jde-bug-breakpoint-cursor ((t (:background "brown" :foreground "cyan")))) + (jde-bug-breakpoint-marker ((t (:background "yellow" :foreground "red")))) + (jde-java-font-lock-api-face ((t (:foreground "light goldenrod")))) + (jde-java-font-lock-bold-face ((t (:bold t :weight bold)))) + (jde-java-font-lock-code-face ((t (nil)))) + (jde-java-font-lock-constant-face ((t (:foreground "Aquamarine")))) + (jde-java-font-lock-doc-tag-face ((t (:foreground "light coral")))) + (jde-java-font-lock-italic-face ((t (:italic t :slant italic)))) + (jde-java-font-lock-link-face ((t (:foreground "blue" :underline t :slant normal)))) + (jde-java-font-lock-modifier-face ((t (:foreground "LightSteelBlue")))) + (jde-java-font-lock-number-face ((t (:foreground "LightSalmon")))) + (jde-java-font-lock-package-face ((t (:foreground "steelblue1")))) + (jde-java-font-lock-pre-face ((t (nil)))) + (jde-java-font-lock-underline-face ((t (:underline t)))) + (makefile-space-face ((t (:background "hotpink")))) + (menu ((t (:background "MidnightBlue" :foreground "Grey")))) + (message-cited-text-face ((t (:foreground "LightSalmon")))) + (message-header-cc-face ((t (:foreground "light cyan")))) + (message-header-name-face ((t (:foreground "LightBlue")))) + (message-header-newsgroups-face ((t (:italic t :bold t :foreground "MediumAquamarine" :slant italic :weight bold)))) + (message-header-other-face ((t (:foreground "MediumAquamarine")))) + (message-header-subject-face ((t (:bold t :foreground "light cyan" :weight bold)))) + (message-header-to-face ((t (:bold t :foreground "light cyan" :weight bold)))) + (message-header-xheader-face ((t (:foreground "MediumAquamarine")))) + (message-mml-face ((t (:foreground "ForestGreen")))) + (message-separator-face ((t (:foreground "chocolate")))) + (mode-line ((t (:background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) + (mouse ((t (:background "Grey")))) + (region ((t (:background "DarkSlateBlue")))) + (scroll-bar ((t (:background "grey75")))) + (secondary-selection ((t (:background "steel blue")))) + (semantic-dirty-token-face ((t (:background "gray10")))) + (semantic-unmatched-syntax-face ((t (:underline "red")))) + (show-paren-match-face ((t (:background "light slate blue" :foreground "white")))) + (show-paren-mismatch-face ((t (:background "red" :foreground "white")))) + (speedbar-button-face ((t (:foreground "seashell2")))) + (speedbar-directory-face ((t (:foreground "seashell3")))) + (speedbar-file-face ((t (:foreground "seashell4")))) + (speedbar-highlight-face ((t (:background "dark slate blue" :foreground "wheat")))) + (speedbar-selected-face ((t (:foreground "seashell1" :underline t)))) + (speedbar-separator-face ((t (:background "blue" :foreground "white" :overline "gray")))) + (speedbar-tag-face ((t (:foreground "antique white")))) + (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) + (tooltip ((t (:background "lightyellow" :foreground "black")))) + (trailing-whitespace ((t (:background "red")))) + (underline ((t (:underline t)))) + (variable-pitch ((t (:family "helv")))) + (widget-button-face ((t (:bold t :weight bold)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "light blue")))) + (widget-field-face ((t (:background "RoyalBlue4" :foreground "wheat")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (widget-single-line-field-face ((t (:background "slate blue" :foreground "wheat")))) + (woman-bold-face ((t (:bold t :foreground "sky blue" :weight bold)))) + (woman-italic-face ((t (:foreground "deep sky blue")))) + (woman-unknown-face ((t (:foreground "LightSalmon")))) + (zmacs-region ((t (:background "DarkSlateBlue"))))))) + +(defun color-theme-vim-colors () + "Color theme by Michael Soulier, created 2003-03-26." + (interactive) + (color-theme-install + '(color-theme-vim-colors + ((background-color . "#ffffff") + (background-mode . light) + (border-color . "black") + (cursor-color . "#000000") + (foreground-color . "#000000") + (mouse-color . "#000000")) + ((Man-overstrike-face . bold) + (Man-underline-face . underline) + (apropos-keybinding-face . underline) + (apropos-label-face . italic) + (apropos-match-face . secondary-selection) + (apropos-property-face . bold-italic) + (apropos-symbol-face . bold) + (cperl-here-face . font-lock-string-face) + (cperl-invalid-face quote underline) + (cperl-pod-face . font-lock-comment-face) + (cperl-pod-head-face . font-lock-variable-name-face) + (help-highlight-face . underline) + (ispell-highlight-face . highlight) + (list-matching-lines-face . bold) + (rpm-spec-dir-face . rpm-spec-dir-face) + (rpm-spec-doc-face . rpm-spec-doc-face) + (rpm-spec-ghost-face . rpm-spec-ghost-face) + (rpm-spec-macro-face . rpm-spec-macro-face) + (rpm-spec-package-face . rpm-spec-package-face) + (rpm-spec-tag-face . rpm-spec-tag-face) + (tags-tag-face . default) + (view-highlight-face . highlight) + (widget-mouse-face . highlight)) + (default ((t (:background "#ffffff" :foreground "#000000")))) + (Info-title-1-face ((t (nil)))) + (Info-title-2-face ((t (nil)))) + (Info-title-3-face ((t (nil)))) + (Info-title-4-face ((t (:bold (bold extra-bold ultra-bold))))) + (bold ((t (:bold (bold extra-bold ultra-bold))))) + (bold-italic ((t (:italic (italic oblique) :bold (bold extra-bold ultra-bold))))) + (border ((t (:background "black")))) + (comint-highlight-input ((t (:bold (bold extra-bold ultra-bold))))) + (comint-highlight-prompt ((t (:foreground "dark blue")))) + (cperl-array-face ((t (:foreground "brown")))) + (cperl-hash-face ((t (:foreground "red")))) + (cperl-nonoverridable-face ((t (:foreground "#008b8b")))) + (cursor ((t (:background "#000000")))) + (fixed-pitch ((t (nil)))) + (font-lock-builtin-face ((t (:foreground "purple")))) + (font-lock-comment-face ((t (:foreground "blue")))) + (font-lock-constant-face ((t (:foreground "green4")))) + (font-lock-doc-face ((t (:background "#f2f2f2")))) + (font-lock-function-name-face ((t (:foreground "#008b8b")))) + (font-lock-keyword-face ((t (:bold (bold extra-bold ultra-bold) :foreground "#a52a2a")))) + (font-lock-string-face ((t (:background "#f2f2f2" :foreground "#ff00ff")))) + (font-lock-type-face ((t (:foreground "ForestGreen")))) + (font-lock-variable-name-face ((t (:foreground "#008b8b")))) + (font-lock-warning-face ((t (:bold (bold extra-bold ultra-bold) :foreground "Red")))) + (fringe ((t (:background "#e5e5e5")))) + (header-line ((t (:background "grey90" :foreground "grey20")))) + (highlight ((t (:background "darkseagreen2")))) + (info-header-node ((t (nil)))) + (info-header-xref ((t (nil)))) + (info-menu-5 ((t (:foreground "red1")))) + (info-menu-header ((t (:bold (bold extra-bold ultra-bold))))) + (info-node ((t (:italic (italic oblique) :bold (bold extra-bold ultra-bold) :foreground "brown")))) + (info-xref ((t (:bold (bold extra-bold ultra-bold) :foreground "magenta4")))) + (isearch ((t (:background "magenta4" :foreground "lightskyblue1")))) + (isearch-lazy-highlight-face ((t (:background "paleturquoise")))) + (italic ((t (:italic (italic oblique))))) + (menu ((t (nil)))) + (mode-line ((t (:background "grey75" :foreground "black")))) + (mouse ((t (:background "#000000")))) + (region ((t (:background "lightgoldenrod2")))) + (rpm-spec-dir-face ((t (:foreground "green")))) + (rpm-spec-doc-face ((t (:foreground "magenta")))) + (rpm-spec-ghost-face ((t (:foreground "red")))) + (rpm-spec-macro-face ((t (:foreground "purple")))) + (rpm-spec-package-face ((t (:foreground "red")))) + (rpm-spec-tag-face ((t (:foreground "blue")))) + (scroll-bar ((t (:background "grey75" :foreground "#000000")))) + (secondary-selection ((t (:background "yellow")))) + (sh-heredoc-face ((t (:foreground "tan")))) + (show-paren-match-face ((t (:background "turquoise")))) + (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) + (tool-bar ((t (:background "grey75" :foreground "black")))) + (tooltip ((t (:background "lightyellow" :foreground "black")))) + (trailing-whitespace ((t (:background "red")))) + (underline ((t (:underline t)))) + (variable-pitch ((t (nil)))) + (widget-button-face ((t (:bold (bold extra-bold ultra-bold))))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (widget-single-line-field-face ((t (:background "gray85"))))))) + +(defun color-theme-calm-forest () + "Color theme by Artur Hefczyc, created 2003-04-18." + (interactive) + (color-theme-install + '(color-theme-calm-forest + ((background-color . "gray12") + (background-mode . dark) + (border-color . "black") + (cursor-color . "orange") + (foreground-color . "green") + (mouse-color . "yellow")) + ((help-highlight-face . underline) + (list-matching-lines-face . bold) + (senator-eldoc-use-color . t) + (view-highlight-face . highlight) + (widget-mouse-face . highlight)) + (default ((t (:stipple nil :background "gray12" :foreground "green" :inverse-video nil :box nil +:strike-through nil :overline nil :underline nil :slant normal :weight normal :height 98 :width +normal :family "outline-courier new")))) + (Info-title-1-face ((t (:bold t :weight bold :family "helv" :height 1.728)))) + (Info-title-2-face ((t (:bold t :family "helv" :weight bold :height 1.44)))) + (Info-title-3-face ((t (:bold t :weight bold :family "helv" :height 1.2)))) + (Info-title-4-face ((t (:bold t :family "helv" :weight bold)))) + (bold ((t (:bold t :weight bold)))) + (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (border ((t (:background "black")))) + (comint-highlight-input ((t (:bold t :weight bold)))) + (comint-highlight-prompt ((t (:foreground "cyan")))) + (cparen-around-andor-face ((t (:bold t :foreground "maroon" :weight bold)))) + (cparen-around-begin-face ((t (:foreground "maroon")))) + (cparen-around-conditional-face ((t (:bold t :foreground "RoyalBlue" :weight bold)))) + (cparen-around-define-face ((t (:bold t :foreground "Blue" :weight bold)))) + (cparen-around-lambda-face ((t (:foreground "LightSeaGreen")))) + (cparen-around-letdo-face ((t (:bold t :foreground "LightSeaGreen" :weight bold)))) + (cparen-around-quote-face ((t (:foreground "SaddleBrown")))) + (cparen-around-set!-face ((t (:foreground "OrangeRed")))) + (cparen-around-syntax-rules-face ((t (:foreground "Magenta")))) + (cparen-around-vector-face ((t (:foreground "chocolate")))) + (cparen-binding-face ((t (:foreground "ForestGreen")))) + (cparen-binding-list-face ((t (:bold t :foreground "ForestGreen" :weight bold)))) + (cparen-conditional-clause-face ((t (:foreground "RoyalBlue")))) + (cparen-normal-paren-face ((t (:foreground "grey50")))) + (cursor ((t (:background "orange")))) + (custom-button-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style +released-button))))) + (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black" :box (:line-width +2 :style pressed-button))))) + (custom-changed-face ((t (:background "blue" :foreground "white")))) + (custom-comment-face ((t (:background "dim gray")))) + (custom-comment-tag-face ((t (:foreground "gray80")))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (:bold t :family "helv" :weight bold :height 1.2)))) + (custom-group-tag-face ((t (:bold t :foreground "light blue" :weight bold :height 1.2)))) + (custom-group-tag-face-1 ((t (:bold t :family "helv" :foreground "pink" :weight bold :height +1.2)))) + (custom-invalid-face ((t (:background "red" :foreground "yellow")))) + (custom-modified-face ((t (:background "blue" :foreground "white")))) + (custom-rogue-face ((t (:background "black" :foreground "pink")))) + (custom-saved-face ((t (:underline t)))) + (custom-set-face ((t (:background "white" :foreground "blue")))) + (custom-state-face ((t (:foreground "lime green")))) + (custom-variable-button-face ((t (:bold t :underline t :weight bold)))) + (custom-variable-tag-face ((t (:bold t :family "helv" :foreground "light blue" :weight bold +:height 1.2)))) + (eieio-custom-slot-tag-face ((t (:foreground "light blue")))) + (extra-whitespace-face ((t (:background "pale green")))) + (fixed-pitch ((t (:family "courier")))) + (font-latex-bold-face ((t (:bold t :foreground "OliveDrab" :weight bold)))) + (font-latex-italic-face ((t (:italic t :foreground "OliveDrab" :slant italic)))) + (font-latex-math-face ((t (:foreground "burlywood")))) + (font-latex-sedate-face ((t (:foreground "LightGray")))) + (font-latex-string-face ((t (:foreground "RosyBrown")))) + (font-latex-warning-face ((t (:bold t :foreground "Red" :weight bold)))) + (font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) + (font-lock-comment-face ((t (:foreground "chocolate1")))) + (font-lock-constant-face ((t (:foreground "Aquamarine")))) + (font-lock-doc-face ((t (:foreground "LightSalmon")))) + (font-lock-function-name-face ((t (:foreground "LightSkyBlue")))) + (font-lock-keyword-face ((t (:foreground "Cyan")))) + (font-lock-string-face ((t (:foreground "LightSalmon")))) + (font-lock-type-face ((t (:foreground "PaleGreen")))) + (font-lock-variable-name-face ((t (:foreground "LightGoldenrod")))) + (font-lock-warning-face ((t (:bold t :foreground "Pink" :weight bold)))) + (fringe ((t (:background "grey10")))) + (header-line ((t (:box (:line-width -1 :style released-button) :background "grey20" :foreground +"grey90" :box nil)))) + (highlight ((t (:background "darkolivegreen")))) + (info-header-node ((t (:italic t :bold t :weight bold :slant italic :foreground "white")))) + (info-header-xref ((t (:bold t :weight bold :foreground "cyan")))) + (info-menu-5 ((t (:foreground "red1")))) + (info-menu-header ((t (:bold t :family "helv" :weight bold)))) + (info-node ((t (:italic t :bold t :foreground "white" :slant italic :weight bold)))) + (info-xref ((t (:bold t :foreground "cyan" :weight bold)))) + (isearch ((t (:background "palevioletred2" :foreground "brown4")))) + (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) + (italic ((t (:italic t :slant italic)))) + (jde-bug-breakpoint-cursor ((t (:background "brown" :foreground "cyan")))) + (jde-db-active-breakpoint-face ((t (:background "red" :foreground "black")))) + (jde-db-requested-breakpoint-face ((t (:background "yellow" :foreground "black")))) + (jde-db-spec-breakpoint-face ((t (:background "green" :foreground "black")))) + (jde-java-font-lock-api-face ((t (:foreground "light goldenrod")))) + (jde-java-font-lock-bold-face ((t (:bold t :weight bold)))) + (jde-java-font-lock-code-face ((t (nil)))) + (jde-java-font-lock-constant-face ((t (:foreground "Aquamarine")))) + (jde-java-font-lock-doc-tag-face ((t (:foreground "light coral")))) + (jde-java-font-lock-italic-face ((t (:italic t :slant italic)))) + (jde-java-font-lock-link-face ((t (:foreground "blue" :underline t :slant normal)))) + (jde-java-font-lock-modifier-face ((t (:foreground "LightSteelBlue")))) + (jde-java-font-lock-number-face ((t (:foreground "LightSalmon")))) + (jde-java-font-lock-operator-face ((t (:foreground "medium blue")))) + (jde-java-font-lock-package-face ((t (:foreground "steelblue1")))) + (jde-java-font-lock-pre-face ((t (nil)))) + (jde-java-font-lock-underline-face ((t (:underline t)))) + (menu ((t (nil)))) + (mode-line ((t (:background "grey75" :foreground "black" :box (:line-width -1 :style +released-button))))) + (mouse ((t (:background "yellow")))) + (region ((t (:background "blue3")))) + (scroll-bar ((t (nil)))) + (secondary-selection ((t (:background "SkyBlue4")))) + (semantic-dirty-token-face ((t (:background "gray10")))) + (semantic-unmatched-syntax-face ((t (:underline "red")))) + (senator-intangible-face ((t (:foreground "gray75")))) + (senator-momentary-highlight-face ((t (:background "gray30")))) + (senator-read-only-face ((t (:background "#664444")))) + (show-paren-match-face ((t (:background "turquoise")))) + (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) + (speedbar-button-face ((t (:foreground "green3")))) + (speedbar-directory-face ((t (:foreground "light blue")))) + (speedbar-file-face ((t (:foreground "cyan")))) + (speedbar-highlight-face ((t (:background "sea green")))) + (speedbar-selected-face ((t (:foreground "red" :underline t)))) + (speedbar-separator-face ((t (:background "blue" :foreground "white" :overline "gray")))) + (speedbar-tag-face ((t (:foreground "yellow")))) + (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style +released-button))))) + (trailing-whitespace ((t (:background "red")))) + (underline ((t (:underline t)))) + (variable-pitch ((t (:family "helv")))) + (widget-button-face ((t (:bold t :weight bold)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "lime green")))) + (widget-field-face ((t (:background "dim gray")))) + (widget-inactive-face ((t (:foreground "light gray")))) + (widget-single-line-field-face ((t (:background "dim gray"))))))) + +(defun color-theme-lawrence () + "Color theme by lawrence mitchell . +Mainly shades of green. +Contains faces for erc, gnus, most of jde." + (interactive) + (color-theme-install + '(color-theme-lawrence + ((background-color . "black") + (background-mode . dark) + (border-color . "black") + (cursor-color . "green") + (foreground-color . "#00CC00") + (mouse-color . "black")) + ((erc-button-face . bold) + (erc-button-mouse-face . highlight) + (gnus-article-button-face . bold) + (gnus-article-mouse-face . highlight) + (gnus-cite-attribution-face . gnus-cite-attribution-face) + (gnus-mouse-face . highlight) + (gnus-server-agent-face . gnus-server-agent-face) + (gnus-server-closed-face . gnus-server-closed-face) + (gnus-server-denied-face . gnus-server-denied-face) + (gnus-server-offline-face . gnus-server-offline-face) + (gnus-server-opened-face . gnus-server-opened-face) + (gnus-signature-face . gnus-signature-face) + (gnus-summary-selected-face . gnus-summary-selected-face) + (gnus-treat-display-face . head) + (gnus-treat-display-xface . head) + (list-matching-lines-buffer-name-face . underline) + (list-matching-lines-face . bold) + (paren-match-face . paren-face-match) + (paren-mismatch-face . paren-face-mismatch) + (paren-no-match-face . paren-face-no-match) + (sgml-set-face . t) + (tags-tag-face . default) + (view-highlight-face . highlight) + (widget-mouse-face . highlight)) + (default ((t (nil)))) + (Buffer-menu-buffer-face ((t (:bold t :weight bold)))) + (bg:erc-color-face0 ((t (:background "White")))) + (bg:erc-color-face1 ((t (:background "black")))) + (bg:erc-color-face10 ((t (:background "lightblue1")))) + (bg:erc-color-face11 ((t (:background "cyan")))) + (bg:erc-color-face12 ((t (:background "blue")))) + (bg:erc-color-face13 ((t (:background "deeppink")))) + (bg:erc-color-face14 ((t (:background "gray50")))) + (bg:erc-color-face15 ((t (:background "gray90")))) + (bg:erc-color-face2 ((t (:background "blue4")))) + (bg:erc-color-face3 ((t (:background "green4")))) + (bg:erc-color-face4 ((t (:background "red")))) + (bg:erc-color-face5 ((t (:background "brown")))) + (bg:erc-color-face6 ((t (:background "purple")))) + (bg:erc-color-face7 ((t (:background "orange")))) + (bg:erc-color-face8 ((t (:background "yellow")))) + (bg:erc-color-face9 ((t (:background "green")))) + (bold ((t (:bold t :foreground "#00CC00" :background "black")))) + (bold-italic ((t (:italic t :bold t :slant oblique :weight semi-bold)))) + (border ((t (:background "black")))) + (button ((t (:underline t)))) + (comint-highlight-input ((t (nil)))) + (comint-highlight-prompt ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) + (cursor ((t (:background "green")))) + (custom-button-face ((t (:bold t :foreground "#00CC00" :background "black")))) + (custom-button-pressed-face ((t (nil)))) + (custom-changed-face ((t (:italic t :foreground "#00CC00" :background "black" :slant oblique)))) + (custom-comment-face ((t (nil)))) + (custom-comment-tag-face ((t (nil)))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (nil)))) + (custom-group-tag-face ((t (nil)))) + (custom-group-tag-face-1 ((t (nil)))) + (custom-invalid-face ((t (:foreground "#00CC00" :background "black" :strike-through t)))) + (custom-modified-face ((t (nil)))) + (custom-rogue-face ((t (nil)))) + (custom-saved-face ((t (nil)))) + (custom-set-face ((t (nil)))) + (custom-state-face ((t (nil)))) + (custom-variable-button-face ((t (nil)))) + (custom-variable-tag-face ((t (nil)))) + (erc-action-face ((t (:bold t :weight semi-bold)))) + (erc-bold-face ((t (:bold t :weight bold)))) + (erc-current-nick-face ((t (:bold t :foreground "LightSeaGreen" :weight semi-bold)))) + (erc-dangerous-host-face ((t (:foreground "red")))) + (erc-default-face ((t (nil)))) + (erc-direct-msg-face ((t (:foreground "IndianRed")))) + (erc-error-face ((t (:bold t :weight semi-bold :background "darkblue" :foreground "#00CC00")))) + (erc-fool-face ((t (:foreground "dim gray")))) + (erc-input-face ((t (:foreground "springgreen")))) + (erc-inverse-face ((t (:bold t :background "Darkgreen" :foreground "Black" :weight semi-bold)))) + (erc-keyword-face ((t (:bold t :foreground "pale green" :weight bold)))) + (erc-nick-default-face ((t (:bold t :weight semi-bold)))) + (erc-nick-msg-face ((t (:bold t :foreground "springgreen" :weight semi-bold)))) + (erc-notice-face ((t (:foreground "seagreen" :weight normal)))) + (erc-pal-face ((t (:bold t :foreground "Magenta" :weight bold)))) + (erc-prompt-face ((t (:bold t :background "lightBlue2" :foreground "Black" :weight semi-bold)))) + (erc-timestamp-face ((t (:foreground "seagreen" :weight normal)))) + (erc-underline-face ((t (:underline t)))) + (fg:erc-color-face0 ((t (:foreground "White")))) + (fg:erc-color-face1 ((t (:foreground "black")))) + (fg:erc-color-face10 ((t (:foreground "lightblue1")))) + (fg:erc-color-face11 ((t (:foreground "cyan")))) + (fg:erc-color-face12 ((t (:foreground "blue")))) + (fg:erc-color-face13 ((t (:foreground "deeppink")))) + (fg:erc-color-face14 ((t (:foreground "gray50")))) + (fg:erc-color-face15 ((t (:foreground "gray90")))) + (fg:erc-color-face2 ((t (:foreground "blue4")))) + (fg:erc-color-face3 ((t (:foreground "green4")))) + (fg:erc-color-face4 ((t (:foreground "red")))) + (fg:erc-color-face5 ((t (:foreground "brown")))) + (fg:erc-color-face6 ((t (:foreground "purple")))) + (fg:erc-color-face7 ((t (:foreground "orange")))) + (fg:erc-color-face8 ((t (:foreground "yellow")))) + (fg:erc-color-face9 ((t (:foreground "green")))) + (fixed-pitch ((t (nil)))) + (font-latex-string-face ((t (:bold t :weight semi-bold :foreground "seagreen" :background "black")))) + (font-latex-warning-face ((t (:bold t :weight semi-bold :background "darkblue" :foreground "#00CC00")))) + (font-lock-builtin-face ((t (:foreground "seagreen1")))) + (font-lock-comment-face ((t (:background "black" :foreground "medium spring green")))) + (font-lock-constant-face ((t (nil)))) + (font-lock-doc-face ((t (:bold t :background "black" :foreground "seagreen" :weight semi-bold)))) + (font-lock-function-name-face ((t (:bold t :foreground "#00CC00" :background "black")))) + (font-lock-keyword-face ((t (:bold t :background "black" :foreground "green" :underline t :weight semi-bold)))) + (font-lock-preprocessor-face ((t (:foreground "#00ccdd")))) + (font-lock-string-face ((t (:bold t :background "black" :foreground "seagreen" :weight semi-bold)))) + (font-lock-type-face ((t (nil)))) + (font-lock-variable-name-face ((t (nil)))) + (font-lock-warning-face ((t (:bold t :foreground "#00CC00" :background "darkblue" :weight semi-bold)))) + (fringe ((t (:foreground "#00CC00" :background "#151515")))) + (gnus-cite-attribution-face ((t (:italic t :foreground "#00CC00" :background "black" :slant italic)))) + (gnus-cite-face-1 ((t (:background "black" :foreground "springgreen")))) + (gnus-cite-face-10 ((t (nil)))) + (gnus-cite-face-11 ((t (nil)))) + (gnus-cite-face-2 ((t (:background "black" :foreground "lightseagreen")))) + (gnus-cite-face-3 ((t (:background "black" :foreground "darkseagreen")))) + (gnus-cite-face-4 ((t (:background "black" :foreground "forestgreen")))) + (gnus-cite-face-5 ((t (:background "black" :foreground "springgreen")))) + (gnus-cite-face-6 ((t (:background "black" :foreground "springgreen")))) + (gnus-cite-face-7 ((t (:background "black" :foreground "springgreen")))) + (gnus-cite-face-8 ((t (:background "black" :foreground "springgreen")))) + (gnus-cite-face-9 ((t (:background "black" :foreground "springgreen")))) + (gnus-emphasis-bold ((t (:bold t :weight semi-bold)))) + (gnus-emphasis-bold-italic ((t (:italic t :bold t :slant italic :weight semi-bold)))) + (gnus-emphasis-highlight-words ((t (:bold t :foreground "#00CC00" :background "black" :underline t :weight bold)))) + (gnus-emphasis-italic ((t (:italic t :slant italic)))) + (gnus-emphasis-strikethru ((t (nil)))) + (gnus-emphasis-underline ((t (:underline t)))) + (gnus-emphasis-underline-bold ((t (:bold t :underline t :weight semi-bold)))) + (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :underline t :slant italic :weight semi-bold)))) + (gnus-emphasis-underline-italic ((t (:italic t :underline t :slant italic)))) + (gnus-group-mail-1-empty-face ((t (nil)))) + (gnus-group-mail-1-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) + (gnus-group-mail-2-empty-face ((t (nil)))) + (gnus-group-mail-2-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) + (gnus-group-mail-3-empty-face ((t (nil)))) + (gnus-group-mail-3-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) + (gnus-group-mail-low-empty-face ((t (nil)))) + (gnus-group-mail-low-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) + (gnus-group-news-1-empty-face ((t (nil)))) + (gnus-group-news-1-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) + (gnus-group-news-2-empty-face ((t (nil)))) + (gnus-group-news-2-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) + (gnus-group-news-low-empty-face ((t (nil)))) + (gnus-group-news-low-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) + (gnus-header-content-face ((t (:background "black" :foreground "springgreen")))) + (gnus-header-from-face ((t (nil)))) + (gnus-header-name-face ((t (nil)))) + (gnus-header-newsgroups-face ((t (nil)))) + (gnus-header-subject-face ((t (nil)))) + (gnus-server-agent-face ((t (:bold t :foreground "PaleTurquoise" :weight bold)))) + (gnus-server-closed-face ((t (:italic t :foreground "Light Steel Blue" :slant italic)))) + (gnus-server-denied-face ((t (:bold t :foreground "Pink" :weight semi-bold)))) + (gnus-server-offline-face ((t (:bold t :foreground "Yellow" :weight bold)))) + (gnus-server-opened-face ((t (:bold t :foreground "Green1" :weight semi-bold)))) + (gnus-signature-face ((t (:background "black" :foreground "springgreen" :slant normal)))) + (gnus-splash-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) + (gnus-summary-cancelled-face ((t (:foreground "#00CC00" :background "black" :strike-through t)))) + (gnus-summary-high-ancient-face ((t (nil)))) + (gnus-summary-high-read-face ((t (nil)))) + (gnus-summary-high-ticked-face ((t (:background "black" :foreground "seagreen")))) + (gnus-summary-high-undownloaded-face ((t (:bold t :foreground "LightGray" :weight bold)))) + (gnus-summary-high-unread-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) + (gnus-summary-low-ancient-face ((t (nil)))) + (gnus-summary-low-read-face ((t (nil)))) + (gnus-summary-low-ticked-face ((t (nil)))) + (gnus-summary-low-undownloaded-face ((t (:italic t :foreground "LightGray" :slant italic :weight normal)))) + (gnus-summary-low-unread-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) + (gnus-summary-normal-ancient-face ((t (nil)))) + (gnus-summary-normal-read-face ((t (nil)))) + (gnus-summary-normal-ticked-face ((t (:bold t :foreground "#00CC00" :background "black")))) + (gnus-summary-normal-undownloaded-face ((t (:foreground "LightGray" :weight normal)))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-selected-face ((t (:background "#101010")))) + (gnus-x-face ((t (:background "white" :foreground "black")))) + (header-line ((t (nil)))) + (highlight ((t (:foreground "#00CC00" :background "darkgreen")))) + (ido-first-match-face ((t (:bold t :weight bold)))) + (ido-indicator-face ((t (:background "red" :foreground "yellow" :width condensed)))) + (ido-only-match-face ((t (:foreground "ForestGreen")))) + (ido-subdir-face ((t (:foreground "red")))) + (isearch ((t (:background "seagreen" :foreground "black")))) + (isearch-lazy-highlight-face ((t (:background "darkseagreen" :foreground "black")))) + (italic ((t (:italic t :foreground "#00CC00" :background "black" :slant oblique)))) + (menu ((t (:bold t :background "black" :foreground "green" :box (:line-width -1 :color "#606060") :weight semi-bold)))) + (message-cited-text-face ((t (:italic t :foreground "#00CC00" :background "black" :slant oblique)))) + (message-header-cc-face ((t (nil)))) + (message-header-name-face ((t (nil)))) + (message-header-newsgroups-face ((t (:bold t :foreground "#00CC00" :background "black")))) + (message-header-other-face ((t (:bold t :foreground "#00CC00" :background "black")))) + (message-header-subject-face ((t (:bold t :foreground "#00CC00" :background "black")))) + (message-header-to-face ((t (:bold t :foreground "#00CC00" :background "black")))) + (message-header-xheader-face ((t (nil)))) + (message-mml-face ((t (:italic t :foreground "#00CC00" :background "black" :slant oblique)))) + (message-separator-face ((t (nil)))) + (minibuffer-prompt ((t (:background "black" :foreground "seagreen")))) + (mode-line ((t (:bold t :background "#404040" :foreground "green" :box (:line-width -1 :color "#606060") :weight semi-bold)))) + (mode-line-inactive ((t (:bold t :weight semi-bold :box (:line-width -1 :color "#606060") :foreground "green" :background "#101010")))) + (mouse ((t (:background "black")))) + (paren-face ((t (:background "black" :foreground "darkgreen")))) + (paren-face-match ((t (:background "black" :foreground "springgreen")))) + (paren-face-mismatch ((t (:foreground "#00CC00" :background "black" :strike-through t)))) + (paren-face-no-match ((t (:background "black" :foreground "red")))) + (region ((t (:background "seagreen" :foreground "black")))) + (scroll-bar ((t (nil)))) + (secondary-selection ((t (:background "darkseagreen" :foreground "black")))) + (semantic-dirty-token-face ((t (:background "gray10")))) + (semantic-unmatched-syntax-face ((t (:underline "red")))) + (sgml-end-tag-face ((t (:foreground "seagreen")))) + (sgml-start-tag-face ((t (:foreground "seagreen")))) + (tabbar-button-face ((t (:background "black" :foreground "#00cc00" :box (:line-width 2 :color "black" :style released-button))))) + (tabbar-default-face ((t (:background "black" :foreground "#00cc00")))) + (tabbar-selected-face ((t (:background "black" :foreground "springgreen" :box (:line-width 2 :color "black" :style released-button))))) + (tabbar-separator-face ((t (:foreground "#00cc00" :background "black")))) + (tabbar-unselected-face ((t (:background "black" :foreground "seagreen" :box (:line-width 2 :color "black" :style pressed-button))))) + (tool-bar ((t (:box (:line-width 1 :style released-button))))) + (tooltip ((t (nil)))) + (trailing-whitespace ((t (:background "lightseagreen" :foreground "black")))) + (underline ((t (:foreground "#00CC00" :background "black" :underline t)))) + (variable-pitch ((t (:underline nil :foreground "#00CC00" :background "black")))) + (widget-button-face ((t (:bold t :foreground "#00CC00" :background "black")))) + (widget-button-pressed-face ((t (nil)))) + (widget-documentation-face ((t (nil)))) + (widget-field-face ((t (:italic t :foreground "#00CC00" :background "black" :slant oblique)))) + (widget-inactive-face ((t (nil)))) + (widget-single-line-field-face ((t (nil))))))) + +(defun color-theme-matrix () + "Color theme by walterh@rocketmail.com, created 2003-10-16." + (interactive) + (color-theme-install + '(color-theme-matrix + ((background-color . "black") + (background-mode . dark) + (background-toolbar-color . "bisque") + (border-color . "orange") + (bottom-toolbar-shadow-color . "#909099999999") + (cursor-color . "#7eff00") + (foreground-color . "#7eff00") + (mouse-color . "#7eff00") + (top-toolbar-shadow-color . "#ffffffffffff")) + ((help-highlight-face . underline) + (list-matching-lines-face . bold) + (rmail-highlight-face . font-lock-function-name-face) + (view-highlight-face . highlight) + (widget-mouse-face . highlight)) + (default ((t (:stipple nil :background "black" :foreground +"#7eff00" :inverse-video nil :box nil :strike-through nil :overline nil +:underline nil :slant normal :weight normal :height 90 :width normal +:family "outline-courier new")))) + (Buffer-menu-buffer-face ((t (nil)))) + (CUA-global-mark-face ((t (nil)))) + (CUA-rectangle-face ((t (nil)))) + (CUA-rectangle-noselect-face ((t (nil)))) + (Info-title-1-face ((t (nil)))) + (Info-title-2-face ((t (nil)))) + (Info-title-3-face ((t (nil)))) + (Info-title-4-face ((t (nil)))) + (antlr-font-lock-keyword-face ((t (nil)))) + (antlr-font-lock-literal-face ((t (nil)))) + (antlr-font-lock-ruledef-face ((t (nil)))) + (antlr-font-lock-ruleref-face ((t (nil)))) + (antlr-font-lock-tokendef-face ((t (nil)))) + (antlr-font-lock-tokenref-face ((t (nil)))) + (bbdb-company ((t (nil)))) + (bbdb-field-name ((t (nil)))) + (bbdb-field-value ((t (nil)))) + (bbdb-name ((t (nil)))) + (bg:erc-color-face0 ((t (nil)))) + (bg:erc-color-face1 ((t (nil)))) + (bg:erc-color-face10 ((t (nil)))) + (bg:erc-color-face11 ((t (nil)))) + (bg:erc-color-face12 ((t (nil)))) + (bg:erc-color-face13 ((t (nil)))) + (bg:erc-color-face14 ((t (nil)))) + (bg:erc-color-face15 ((t (nil)))) + (bg:erc-color-face2 ((t (nil)))) + (bg:erc-color-face3 ((t (nil)))) + (bg:erc-color-face4 ((t (nil)))) + (bg:erc-color-face5 ((t (nil)))) + (bg:erc-color-face6 ((t (nil)))) + (bg:erc-color-face7 ((t (nil)))) + (bg:erc-color-face8 ((t (nil)))) + (bg:erc-color-face9 ((t (nil)))) + (blank-space-face ((t (nil)))) + (blank-tab-face ((t (nil)))) + (blue ((t (nil)))) + (bold ((t (:bold t :weight bold)))) + (bold-italic ((t (:bold t :weight bold)))) + (border ((t (:background "orange")))) + (border-glyph ((t (nil)))) + (buffers-tab ((t (nil)))) + (button ((t (nil)))) + (calendar-today-face ((t (nil)))) + (change-log-acknowledgement-face ((t (nil)))) + (change-log-conditionals-face ((t (nil)))) + (change-log-date-face ((t (nil)))) + (change-log-email-face ((t (nil)))) + (change-log-file-face ((t (nil)))) + (change-log-function-face ((t (nil)))) + (change-log-list-face ((t (nil)))) + (change-log-name-face ((t (nil)))) + (clearcase-dired-checkedout-face ((t (nil)))) + (comint-highlight-input ((t (nil)))) + (comint-highlight-prompt ((t (nil)))) + (cparen-around-andor-face ((t (nil)))) + (cparen-around-begin-face ((t (nil)))) + (cparen-around-conditional-face ((t (nil)))) + (cparen-around-define-face ((t (nil)))) + (cparen-around-lambda-face ((t (nil)))) + (cparen-around-letdo-face ((t (nil)))) + (cparen-around-quote-face ((t (nil)))) + (cparen-around-set!-face ((t (nil)))) + (cparen-around-syntax-rules-face ((t (nil)))) + (cparen-around-vector-face ((t (nil)))) + (cparen-binding-face ((t (nil)))) + (cparen-binding-list-face ((t (nil)))) + (cparen-conditional-clause-face ((t (nil)))) + (cparen-normal-paren-face ((t (nil)))) + (cperl-array-face ((t (nil)))) + (cperl-hash-face ((t (nil)))) + (cperl-invalid-face ((t (nil)))) + (cperl-nonoverridable-face ((t (nil)))) + (cursor ((t (:background "#7eff00" :foreground "black")))) + (custom-button-face ((t (nil)))) + (custom-button-pressed-face ((t (nil)))) + (custom-changed-face ((t (nil)))) + (custom-comment-face ((t (nil)))) + (custom-comment-tag-face ((t (nil)))) + (custom-documentation-face ((t (nil)))) + (custom-face-tag-face ((t (nil)))) + (custom-group-tag-face ((t (nil)))) + (custom-group-tag-face-1 ((t (nil)))) + (custom-invalid-face ((t (nil)))) + (custom-modified-face ((t (nil)))) + (custom-rogue-face ((t (nil)))) + (custom-saved-face ((t (nil)))) + (custom-set-face ((t (nil)))) + (custom-state-face ((t (nil)))) + (custom-variable-button-face ((t (nil)))) + (custom-variable-tag-face ((t (nil)))) + (cvs-filename-face ((t (nil)))) + (cvs-handled-face ((t (nil)))) + (cvs-header-face ((t (nil)))) + (cvs-marked-face ((t (nil)))) + (cvs-msg-face ((t (nil)))) + (cvs-need-action-face ((t (nil)))) + (cvs-unknown-face ((t (nil)))) + (cyan ((t (nil)))) + (diary-face ((t (nil)))) + (diff-added-face ((t (nil)))) + (diff-changed-face ((t (nil)))) + (diff-context-face ((t (nil)))) + (diff-file-header-face ((t (nil)))) + (diff-function-face ((t (nil)))) + (diff-header-face ((t (nil)))) + (diff-hunk-header-face ((t (nil)))) + (diff-index-face ((t (nil)))) + (diff-nonexistent-face ((t (nil)))) + (diff-removed-face ((t (nil)))) + (dired-face-boring ((t (nil)))) + (dired-face-directory ((t (nil)))) + (dired-face-executable ((t (nil)))) + (dired-face-flagged ((t (nil)))) + (dired-face-header ((t (nil)))) + (dired-face-marked ((t (nil)))) + (dired-face-permissions ((t (nil)))) + (dired-face-setuid ((t (nil)))) + (dired-face-socket ((t (nil)))) + (dired-face-symlink ((t (nil)))) + (display-time-mail-balloon-enhance-face ((t (nil)))) + (display-time-mail-balloon-gnus-group-face ((t (nil)))) + (display-time-time-balloon-face ((t (nil)))) + (ebrowse-default-face ((t (nil)))) + (ebrowse-file-name-face ((t (nil)))) + (ebrowse-member-attribute-face ((t (nil)))) + (ebrowse-member-class-face ((t (nil)))) + (ebrowse-progress-face ((t (nil)))) + (ebrowse-root-class-face ((t (nil)))) + (ebrowse-tree-mark-face ((t (nil)))) + (ecb-sources-face ((t (nil)))) + (edb-inter-field-face ((t (nil)))) + (edb-normal-summary-face ((t (nil)))) + (ediff-current-diff-face-A ((t (nil)))) + (ediff-current-diff-face-Ancestor ((t (nil)))) + (ediff-current-diff-face-B ((t (nil)))) + (ediff-current-diff-face-C ((t (nil)))) + (ediff-even-diff-face-A ((t (nil)))) + (ediff-even-diff-face-Ancestor ((t (nil)))) + (ediff-even-diff-face-B ((t (nil)))) + (ediff-even-diff-face-C ((t (nil)))) + (ediff-fine-diff-face-A ((t (nil)))) + (ediff-fine-diff-face-Ancestor ((t (nil)))) + (ediff-fine-diff-face-B ((t (nil)))) + (ediff-fine-diff-face-C ((t (nil)))) + (ediff-odd-diff-face-A ((t (nil)))) + (ediff-odd-diff-face-Ancestor ((t (nil)))) + (ediff-odd-diff-face-B ((t (nil)))) + (ediff-odd-diff-face-C ((t (nil)))) + (eieio-custom-slot-tag-face ((t (nil)))) + (emacs-wiki-bad-link-face ((t (nil)))) + (emacs-wiki-link-face ((t (nil)))) + (erc-action-face ((t (nil)))) + (erc-bold-face ((t (nil)))) + (erc-current-nick-face ((t (nil)))) + (erc-dangerous-host-face ((t (nil)))) + (erc-default-face ((t (nil)))) + (erc-direct-msg-face ((t (nil)))) + (erc-error-face ((t (nil)))) + (erc-fool-face ((t (nil)))) + (erc-highlight-face ((t (nil)))) + (erc-input-face ((t (nil)))) + (erc-inverse-face ((t (nil)))) + (erc-keyword-face ((t (nil)))) + (erc-nick-default-face ((t (nil)))) + (erc-nick-msg-face ((t (nil)))) + (erc-notice-face ((t (nil)))) + (erc-pal-face ((t (nil)))) + (erc-prompt-face ((t (nil)))) + (erc-timestamp-face ((t (nil)))) + (erc-underline-face ((t (nil)))) + (eshell-ls-archive-face ((t (nil)))) + (eshell-ls-backup-face ((t (nil)))) + (eshell-ls-clutter-face ((t (nil)))) + (eshell-ls-directory-face ((t (nil)))) + (eshell-ls-executable-face ((t (nil)))) + (eshell-ls-missing-face ((t (nil)))) + (eshell-ls-picture-face ((t (nil)))) + (eshell-ls-product-face ((t (nil)))) + (eshell-ls-readonly-face ((t (nil)))) + (eshell-ls-special-face ((t (nil)))) + (eshell-ls-symlink-face ((t (nil)))) + (eshell-ls-text-face ((t (nil)))) + (eshell-ls-todo-face ((t (nil)))) + (eshell-ls-unreadable-face ((t (nil)))) + (eshell-prompt-face ((t (nil)))) + (eshell-test-failed-face ((t (nil)))) + (eshell-test-ok-face ((t (nil)))) + (excerpt ((t (nil)))) + (extra-whitespace-face ((t (nil)))) + (ff-paths-non-existant-file-face ((t (nil)))) + (fg:black ((t (nil)))) + (fg:erc-color-face0 ((t (nil)))) + (fg:erc-color-face1 ((t (nil)))) + (fg:erc-color-face10 ((t (nil)))) + (fg:erc-color-face11 ((t (nil)))) + (fg:erc-color-face12 ((t (nil)))) + (fg:erc-color-face13 ((t (nil)))) + (fg:erc-color-face14 ((t (nil)))) + (fg:erc-color-face15 ((t (nil)))) + (fg:erc-color-face2 ((t (nil)))) + (fg:erc-color-face3 ((t (nil)))) + (fg:erc-color-face4 ((t (nil)))) + (fg:erc-color-face5 ((t (nil)))) + (fg:erc-color-face6 ((t (nil)))) + (fg:erc-color-face7 ((t (nil)))) + (fg:erc-color-face8 ((t (nil)))) + (fg:erc-color-face9 ((t (nil)))) + (fixed ((t (nil)))) + (fixed-pitch ((t (nil)))) + (fl-comment-face ((t (nil)))) + (fl-function-name-face ((t (nil)))) + (fl-keyword-face ((t (nil)))) + (fl-string-face ((t (nil)))) + (fl-type-face ((t (nil)))) + (flash-paren-face-off ((t (nil)))) + (flash-paren-face-on ((t (nil)))) + (flash-paren-face-region ((t (nil)))) + (flyspell-duplicate-face ((t (nil)))) + (flyspell-incorrect-face ((t (nil)))) + (font-latex-bold-face ((t (nil)))) + (font-latex-italic-face ((t (nil)))) + (font-latex-math-face ((t (nil)))) + (font-latex-sedate-face ((t (nil)))) + (font-latex-string-face ((t (nil)))) + (font-latex-warning-face ((t (nil)))) + (font-lock-builtin-face ((t (:foreground "pink2")))) + (font-lock-comment-face ((t (:italic t :background "black" :slant +italic)))) + (font-lock-constant-face ((t (:foreground "magenta")))) + (font-lock-doc-face ((t (nil)))) + (font-lock-doc-string-face ((t (nil)))) + (font-lock-exit-face ((t (nil)))) + (font-lock-function-name-face ((t (:bold t :underline t :weight +bold)))) + (font-lock-keyword-face ((t (:foreground "yellow1")))) + (font-lock-other-emphasized-face ((t (nil)))) + (font-lock-other-type-face ((t (nil)))) + (font-lock-preprocessor-face ((t (nil)))) + (font-lock-reference-face ((t (nil)))) + (font-lock-special-comment-face ((t (nil)))) + (font-lock-special-keyword-face ((t (nil)))) + (font-lock-string-face ((t (:foreground "yellow2")))) + (font-lock-type-face ((t (:foreground "LightYellow1")))) + (font-lock-variable-name-face ((t (:foreground "light green")))) + (font-lock-warning-face ((t (nil)))) + (fringe ((t (nil)))) + (gnus-cite-attribution-face ((t (nil)))) + (gnus-cite-face-1 ((t (nil)))) + (gnus-cite-face-10 ((t (nil)))) + (gnus-cite-face-11 ((t (nil)))) + (gnus-cite-face-2 ((t (nil)))) + (gnus-cite-face-3 ((t (nil)))) + (gnus-cite-face-4 ((t (nil)))) + (gnus-cite-face-5 ((t (nil)))) + (gnus-cite-face-6 ((t (nil)))) + (gnus-cite-face-7 ((t (nil)))) + (gnus-cite-face-8 ((t (nil)))) + (gnus-cite-face-9 ((t (nil)))) + (gnus-emphasis-bold ((t (nil)))) + (gnus-emphasis-bold-italic ((t (nil)))) + (gnus-emphasis-highlight-words ((t (nil)))) + (gnus-emphasis-italic ((t (nil)))) + (gnus-emphasis-strikethru ((t (nil)))) + (gnus-emphasis-underline ((t (nil)))) + (gnus-emphasis-underline-bold ((t (nil)))) + (gnus-emphasis-underline-bold-italic ((t (nil)))) + (gnus-emphasis-underline-italic ((t (nil)))) + (gnus-filterhist-face-1 ((t (nil)))) + (gnus-group-mail-1-empty-face ((t (nil)))) + (gnus-group-mail-1-face ((t (nil)))) + (gnus-group-mail-2-empty-face ((t (nil)))) + (gnus-group-mail-2-face ((t (nil)))) + (gnus-group-mail-3-empty-face ((t (nil)))) + (gnus-group-mail-3-face ((t (nil)))) + (gnus-group-mail-low-empty-face ((t (nil)))) + (gnus-group-mail-low-face ((t (nil)))) + (gnus-group-news-1-empty-face ((t (nil)))) + (gnus-group-news-1-face ((t (nil)))) + (gnus-group-news-2-empty-face ((t (nil)))) + (gnus-group-news-2-face ((t (nil)))) + (gnus-group-news-3-empty-face ((t (nil)))) + (gnus-group-news-3-face ((t (nil)))) + (gnus-group-news-4-empty-face ((t (nil)))) + (gnus-group-news-4-face ((t (nil)))) + (gnus-group-news-5-empty-face ((t (nil)))) + (gnus-group-news-5-face ((t (nil)))) + (gnus-group-news-6-empty-face ((t (nil)))) + (gnus-group-news-6-face ((t (nil)))) + (gnus-group-news-low-empty-face ((t (nil)))) + (gnus-group-news-low-face ((t (nil)))) + (gnus-header-content-face ((t (nil)))) + (gnus-header-from-face ((t (nil)))) + (gnus-header-name-face ((t (nil)))) + (gnus-header-newsgroups-face ((t (nil)))) + (gnus-header-subject-face ((t (nil)))) + (gnus-picon-face ((t (nil)))) + (gnus-picon-xbm-face ((t (nil)))) + (gnus-picons-face ((t (nil)))) + (gnus-picons-xbm-face ((t (nil)))) + (gnus-server-agent-face ((t (nil)))) + (gnus-server-closed-face ((t (nil)))) + (gnus-server-denied-face ((t (nil)))) + (gnus-server-offline-face ((t (nil)))) + (gnus-server-opened-face ((t (nil)))) + (gnus-signature-face ((t (nil)))) + (gnus-splash ((t (nil)))) + (gnus-splash-face ((t (nil)))) + (gnus-summary-cancelled-face ((t (nil)))) + (gnus-summary-high-ancient-face ((t (nil)))) + (gnus-summary-high-read-face ((t (nil)))) + (gnus-summary-high-ticked-face ((t (nil)))) + (gnus-summary-high-undownloaded-face ((t (nil)))) + (gnus-summary-high-unread-face ((t (nil)))) + (gnus-summary-low-ancient-face ((t (nil)))) + (gnus-summary-low-read-face ((t (nil)))) + (gnus-summary-low-ticked-face ((t (nil)))) + (gnus-summary-low-undownloaded-face ((t (nil)))) + (gnus-summary-low-unread-face ((t (nil)))) + (gnus-summary-normal-ancient-face ((t (nil)))) + (gnus-summary-normal-read-face ((t (nil)))) + (gnus-summary-normal-ticked-face ((t (nil)))) + (gnus-summary-normal-undownloaded-face ((t (nil)))) + (gnus-summary-normal-unread-face ((t (nil)))) + (gnus-summary-selected-face ((t (nil)))) + (gnus-x-face ((t (nil)))) + (green ((t (nil)))) + (gui-button-face ((t (nil)))) + (gui-element ((t (nil)))) + (header-line ((t (nil)))) + (hi-black-b ((t (nil)))) + (hi-black-hb ((t (nil)))) + (hi-blue ((t (nil)))) + (hi-blue-b ((t (nil)))) + (hi-green ((t (nil)))) + (hi-green-b ((t (nil)))) + (hi-pink ((t (nil)))) + (hi-red-b ((t (nil)))) + (hi-yellow ((t (nil)))) + (highlight ((t (:background "#7eff00" :foreground "black")))) + (highlight-changes-delete-face ((t (nil)))) + (highlight-changes-face ((t (nil)))) + (highline-face ((t (nil)))) + (holiday-face ((t (nil)))) + (html-helper-bold-face ((t (nil)))) + (html-helper-bold-italic-face ((t (nil)))) + (html-helper-builtin-face ((t (nil)))) + (html-helper-italic-face ((t (nil)))) + (html-helper-underline-face ((t (nil)))) + (html-tag-face ((t (nil)))) + (hyper-apropos-documentation ((t (nil)))) + (hyper-apropos-heading ((t (nil)))) + (hyper-apropos-hyperlink ((t (nil)))) + (hyper-apropos-major-heading ((t (nil)))) + (hyper-apropos-section-heading ((t (nil)))) + (hyper-apropos-warning ((t (nil)))) + (ibuffer-deletion-face ((t (nil)))) + (ibuffer-marked-face ((t (nil)))) + (idlwave-help-link-face ((t (nil)))) + (idlwave-shell-bp-face ((t (nil)))) + (ido-first-match-face ((t (nil)))) + (ido-indicator-face ((t (nil)))) + (ido-only-match-face ((t (nil)))) + (ido-subdir-face ((t (nil)))) + (info-header-node ((t (nil)))) + (info-header-xref ((t (nil)))) + (info-menu-5 ((t (nil)))) + (info-menu-6 ((t (nil)))) + (info-menu-header ((t (nil)))) + (info-node ((t (nil)))) + (info-xref ((t (nil)))) + (isearch ((t (nil)))) + (isearch-lazy-highlight-face ((t (nil)))) + (isearch-secondary ((t (nil)))) + (italic ((t (:underline t)))) + (jde-bug-breakpoint-cursor ((t (nil)))) + (jde-bug-breakpoint-marker ((t (nil)))) + (jde-db-active-breakpoint-face ((t (nil)))) + (jde-db-requested-breakpoint-face ((t (nil)))) + (jde-db-spec-breakpoint-face ((t (nil)))) + (jde-java-font-lock-api-face ((t (nil)))) + (jde-java-font-lock-bold-face ((t (nil)))) + (jde-java-font-lock-code-face ((t (nil)))) + (jde-java-font-lock-constant-face ((t (nil)))) + (jde-java-font-lock-doc-tag-face ((t (nil)))) + (jde-java-font-lock-italic-face ((t (nil)))) + (jde-java-font-lock-link-face ((t (nil)))) + (jde-java-font-lock-modifier-face ((t (nil)))) + (jde-java-font-lock-number-face ((t (nil)))) + (jde-java-font-lock-operator-face ((t (nil)))) + (jde-java-font-lock-package-face ((t (nil)))) + (jde-java-font-lock-pre-face ((t (nil)))) + (jde-java-font-lock-underline-face ((t (nil)))) + (lazy-highlight-face ((t (nil)))) + (left-margin ((t (nil)))) + (linemenu-face ((t (nil)))) + (list-mode-item-selected ((t (nil)))) + (log-view-file-face ((t (nil)))) + (log-view-message-face ((t (nil)))) + (magenta ((t (nil)))) + (makefile-space-face ((t (nil)))) + (man-bold ((t (nil)))) + (man-heading ((t (nil)))) + (man-italic ((t (nil)))) + (man-xref ((t (nil)))) + (menu ((t (nil)))) + (message-cited-text ((t (nil)))) + (message-cited-text-face ((t (nil)))) + (message-header-cc-face ((t (nil)))) + (message-header-contents ((t (nil)))) + (message-header-name-face ((t (nil)))) + (message-header-newsgroups-face ((t (nil)))) + (message-header-other-face ((t (nil)))) + (message-header-subject-face ((t (nil)))) + (message-header-to-face ((t (nil)))) + (message-header-xheader-face ((t (nil)))) + (message-headers ((t (nil)))) + (message-highlighted-header-contents ((t (nil)))) + (message-mml-face ((t (nil)))) + (message-separator-face ((t (nil)))) + (message-url ((t (nil)))) + (minibuffer-prompt ((t (nil)))) + (mmm-face ((t (nil)))) + (mode-line ((t (:bold t :background "gray" :foreground "black" +:weight bold)))) + (mode-line-inactive ((t (nil)))) + (modeline-buffer-id ((t (:background "orange" :foreground +"black")))) + (modeline-mousable ((t (:background "orange" :foreground +"black")))) + (modeline-mousable-minor-mode ((t (:background "orange" +:foreground "black")))) + (mouse ((t (nil)))) + (mpg123-face-cur ((t (nil)))) + (mpg123-face-slider ((t (nil)))) + (my-tab-face ((t (nil)))) + (nil ((t (nil)))) + (overlay-empty-face ((t (nil)))) + (p4-diff-del-face ((t (nil)))) + (paren-blink-off ((t (nil)))) + (paren-face ((t (nil)))) + (paren-face-match ((t (nil)))) + (paren-face-mismatch ((t (nil)))) + (paren-face-no-match ((t (nil)))) + (paren-match ((t (nil)))) + (paren-mismatch ((t (nil)))) + (paren-mismatch-face ((t (nil)))) + (paren-no-match-face ((t (nil)))) + (pointer ((t (nil)))) + (primary-selection ((t (nil)))) + (reb-match-0 ((t (nil)))) + (reb-match-1 ((t (nil)))) + (reb-match-2 ((t (nil)))) + (reb-match-3 ((t (nil)))) + (red ((t (nil)))) + (region ((t (:background "#7eff00" :foreground "black")))) + (right-margin ((t (nil)))) + (rpm-spec-dir-face ((t (nil)))) + (rpm-spec-doc-face ((t (nil)))) + (rpm-spec-ghost-face ((t (nil)))) + (rpm-spec-macro-face ((t (nil)))) + (rpm-spec-package-face ((t (nil)))) + (rpm-spec-tag-face ((t (nil)))) + (rpm-spec-var-face ((t (nil)))) + (scroll-bar ((t (nil)))) + (secondary-selection ((t (:background "orange" :foreground +"black")))) + (semantic-dirty-token-face ((t (nil)))) + (semantic-intangible-face ((t (nil)))) + (semantic-read-only-face ((t (nil)))) + (semantic-unmatched-syntax-face ((t (nil)))) + (senator-intangible-face ((t (nil)))) + (senator-momentary-highlight-face ((t (nil)))) + (senator-read-only-face ((t (nil)))) + (sgml-comment-face ((t (nil)))) + (sgml-doctype-face ((t (nil)))) + (sgml-end-tag-face ((t (nil)))) + (sgml-entity-face ((t (nil)))) + (sgml-ignored-face ((t (nil)))) + (sgml-ms-end-face ((t (nil)))) + (sgml-ms-start-face ((t (nil)))) + (sgml-pi-face ((t (nil)))) + (sgml-sgml-face ((t (nil)))) + (sgml-short-ref-face ((t (nil)))) + (sgml-shortref-face ((t (nil)))) + (sgml-start-tag-face ((t (nil)))) + (sh-heredoc-face ((t (nil)))) + (shell-option-face ((t (nil)))) + (shell-output-2-face ((t (nil)))) + (shell-output-3-face ((t (nil)))) + (shell-output-face ((t (nil)))) + (shell-prompt-face ((t (nil)))) + (show-block-face1 ((t (nil)))) + (show-block-face2 ((t (nil)))) + (show-block-face3 ((t (nil)))) + (show-block-face4 ((t (nil)))) + (show-block-face5 ((t (nil)))) + (show-block-face6 ((t (nil)))) + (show-block-face7 ((t (nil)))) + (show-block-face8 ((t (nil)))) + (show-block-face9 ((t (nil)))) + (show-paren-match-face ((t (:background "orange" :foreground +"black")))) + (show-paren-mismatch-face ((t (:underline t)))) + (show-tabs-space-face ((t (nil)))) + (show-tabs-tab-face ((t (nil)))) + (smerge-base-face ((t (nil)))) + (smerge-markers-face ((t (nil)))) + (smerge-mine-face ((t (nil)))) + (smerge-other-face ((t (nil)))) + (speedbar-button-face ((t (nil)))) + (speedbar-directory-face ((t (nil)))) + (speedbar-file-face ((t (nil)))) + (speedbar-highlight-face ((t (nil)))) + (speedbar-selected-face ((t (nil)))) + (speedbar-separator-face ((t (nil)))) + (speedbar-tag-face ((t (nil)))) + (strokes-char-face ((t (nil)))) + (swbuff-current-buffer-face ((t (nil)))) + (tabbar-button-face ((t (nil)))) + (tabbar-default-face ((t (nil)))) + (tabbar-selected-face ((t (nil)))) + (tabbar-separator-face ((t (nil)))) + (tabbar-unselected-face ((t (nil)))) + (template-message-face ((t (nil)))) + (term-black ((t (nil)))) + (term-blackbg ((t (nil)))) + (term-blue ((t (nil)))) + (term-blue-bold-face ((t (nil)))) + (term-blue-face ((t (nil)))) + (term-blue-inv-face ((t (nil)))) + (term-blue-ul-face ((t (nil)))) + (term-bluebg ((t (nil)))) + (term-bold ((t (nil)))) + (term-cyan ((t (nil)))) + (term-cyan-bold-face ((t (nil)))) + (term-cyan-face ((t (nil)))) + (term-cyan-inv-face ((t (nil)))) + (term-cyan-ul-face ((t (nil)))) + (term-cyanbg ((t (nil)))) + (term-default ((t (nil)))) + (term-default-bg ((t (nil)))) + (term-default-bg-inv ((t (nil)))) + (term-default-bold-face ((t (nil)))) + (term-default-face ((t (nil)))) + (term-default-fg ((t (nil)))) + (term-default-fg-inv ((t (nil)))) + (term-default-inv-face ((t (nil)))) + (term-default-ul-face ((t (nil)))) + (term-green ((t (nil)))) + (term-green-bold-face ((t (nil)))) + (term-green-face ((t (nil)))) + (term-green-inv-face ((t (nil)))) + (term-green-ul-face ((t (nil)))) + (term-greenbg ((t (nil)))) + (term-invisible ((t (nil)))) + (term-invisible-inv ((t (nil)))) + (term-magenta ((t (nil)))) + (term-magenta-bold-face ((t (nil)))) + (term-magenta-face ((t (nil)))) + (term-magenta-inv-face ((t (nil)))) + (term-magenta-ul-face ((t (nil)))) + (term-magentabg ((t (nil)))) + (term-red ((t (nil)))) + (term-red-bold-face ((t (nil)))) + (term-red-face ((t (nil)))) + (term-red-inv-face ((t (nil)))) + (term-red-ul-face ((t (nil)))) + (term-redbg ((t (nil)))) + (term-underline ((t (nil)))) + (term-white ((t (nil)))) + (term-white-bold-face ((t (nil)))) + (term-white-face ((t (nil)))) + (term-white-inv-face ((t (nil)))) + (term-white-ul-face ((t (nil)))) + (term-whitebg ((t (nil)))) + (term-yellow ((t (nil)))) + (term-yellow-bold-face ((t (nil)))) + (term-yellow-face ((t (nil)))) + (term-yellow-inv-face ((t (nil)))) + (term-yellow-ul-face ((t (nil)))) + (term-yellowbg ((t (nil)))) + (tex-math-face ((t (nil)))) + (texinfo-heading-face ((t (nil)))) + (text-cursor ((t (nil)))) + (tool-bar ((t (nil)))) + (tooltip ((t (nil)))) + (trailing-whitespace ((t (nil)))) + (underline ((t (:underline t)))) + (variable-pitch ((t (nil)))) + (vc-annotate-face-0046FF ((t (nil)))) + (vcursor ((t (nil)))) + (vertical-divider ((t (nil)))) + (vhdl-font-lock-attribute-face ((t (nil)))) + (vhdl-font-lock-directive-face ((t (nil)))) + (vhdl-font-lock-enumvalue-face ((t (nil)))) + (vhdl-font-lock-function-face ((t (nil)))) + (vhdl-font-lock-generic-/constant-face ((t (nil)))) + (vhdl-font-lock-prompt-face ((t (nil)))) + (vhdl-font-lock-reserved-words-face ((t (nil)))) + (vhdl-font-lock-translate-off-face ((t (nil)))) + (vhdl-font-lock-type-face ((t (nil)))) + (vhdl-font-lock-variable-face ((t (nil)))) + (vhdl-speedbar-architecture-face ((t (nil)))) + (vhdl-speedbar-architecture-selected-face ((t (nil)))) + (vhdl-speedbar-configuration-face ((t (nil)))) + (vhdl-speedbar-configuration-selected-face ((t (nil)))) + (vhdl-speedbar-entity-face ((t (nil)))) + (vhdl-speedbar-entity-selected-face ((t (nil)))) + (vhdl-speedbar-instantiation-face ((t (nil)))) + (vhdl-speedbar-instantiation-selected-face ((t (nil)))) + (vhdl-speedbar-package-face ((t (nil)))) + (vhdl-speedbar-package-selected-face ((t (nil)))) + (vhdl-speedbar-subprogram-face ((t (nil)))) + (viper-minibuffer-emacs-face ((t (nil)))) + (viper-minibuffer-insert-face ((t (nil)))) + (viper-minibuffer-vi-face ((t (nil)))) + (viper-replace-overlay-face ((t (nil)))) + (viper-search-face ((t (nil)))) + (vm-xface ((t (nil)))) + (vmpc-pre-sig-face ((t (nil)))) + (vmpc-sig-face ((t (nil)))) + (w3m-anchor-face ((t (nil)))) + (w3m-arrived-anchor-face ((t (nil)))) + (w3m-header-line-location-content-face ((t (nil)))) + (w3m-header-line-location-title-face ((t (nil)))) + (white ((t (nil)))) + (widget ((t (nil)))) + (widget-button-face ((t (nil)))) + (widget-button-pressed-face ((t (nil)))) + (widget-documentation-face ((t (nil)))) + (widget-field-face ((t (nil)))) + (widget-inactive-face ((t (nil)))) + (widget-single-line-field-face ((t (nil)))) + (woman-addition-face ((t (nil)))) + (woman-bold-face ((t (nil)))) + (woman-italic-face ((t (nil)))) + (woman-unknown-face ((t (nil)))) + (x-face ((t (nil)))) + (xrdb-option-name-face ((t (nil)))) + (xref-keyword-face ((t (nil)))) + (xref-list-default-face ((t (nil)))) + (xref-list-pilot-face ((t (nil)))) + (xref-list-symbol-face ((t (nil)))) + (yellow ((t (nil)))) + (zmacs-region ((t (nil))))))) + +(defun color-theme-feng-shui () + "Color theme by walterh@rocketmail.com (www.xanadb.com), created + 2003-10-16. Evolved from color-theme-katester" + (interactive) + (color-theme-install + '(color-theme-feng-shui + ((background-color . "ivory") + (background-mode . light) + (border-color . "black") + (cursor-color . "slateblue") + (foreground-color . "black") + (mouse-color . "slateblue")) + ((help-highlight-face . underline) + (list-matching-lines-face . bold) + (view-highlight-face . highlight) + (widget-mouse-face . highlight)) + (default ((t (:stipple nil :background "ivory" :foreground "black" +:inverse-video nil :box nil :strike-through nil :overline nil +:underline nil :slant normal :weight normal :height 90 :width normal +:family "outline-courier new")))) + (bold ((t (:bold t :weight bold)))) + (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) + (border ((t (:background "black")))) + (cursor ((t (:background "slateblue" :foreground "black")))) + (fixed-pitch ((t (:family "courier")))) + (font-lock-builtin-face ((t (:foreground "black")))) + (font-lock-comment-face ((t (:italic t :background "seashell" +:slant italic)))) + (font-lock-constant-face ((t (:foreground "darkblue")))) + (font-lock-doc-face ((t (:background "lemonChiffon")))) + (font-lock-function-name-face ((t (:bold t :underline t :weight +bold)))) + (font-lock-keyword-face ((t (:foreground "blue")))) + (font-lock-string-face ((t (:background "lemonChiffon")))) + (font-lock-type-face ((t (:foreground "black")))) + (font-lock-variable-name-face ((t (:foreground "black")))) + (font-lock-warning-face ((t (:bold t :foreground "Red" :weight +bold)))) + (fringe ((t (:background "grey95")))) + (header-line ((t (:bold t :weight bold :underline t :background +"grey90" :foreground "grey20" :box nil)))) + (highlight ((t (:background "mistyRose" :foreground "black")))) + (isearch ((t (:background "magenta4" :foreground +"lightskyblue1")))) + (isearch-lazy-highlight-face ((t (:background "paleturquoise")))) + (italic ((t (:italic t :slant italic)))) + (menu ((t (nil)))) + (mode-line ((t (:bold t :background "mistyRose" :foreground "navy" +:underline t :weight bold)))) + (mouse ((t (:background "slateblue")))) + (region ((t (:background "lavender" :foreground "black")))) + (scroll-bar ((t (nil)))) + (secondary-selection ((t (:background "yellow")))) + (tool-bar ((t (:background "grey75" :foreground "black" :box +(:line-width 1 :style released-button))))) + (trailing-whitespace ((t (:background "red")))) + (underline ((t (:underline t)))) + (variable-pitch ((t (:family "helv")))) + (widget-button-face ((t (:bold t :weight bold)))) + (widget-button-pressed-face ((t (:foreground "red")))) + (widget-documentation-face ((t (:foreground "dark green")))) + (widget-field-face ((t (:background "gray85")))) + (widget-inactive-face ((t (:foreground "dim gray")))) + (widget-single-line-field-face ((t (:background "gray85"))))))) + + +(defun color-theme-renegade () + "Renegade BBS styled color theme. Works well in X and terminals. +Created by Dave Benjamin Dec 23 2005." + (interactive) + (color-theme-install + '(color-theme-renegade + ((background-color . "black") + (background-mode . dark) + (border-color . "black") + (cursor-color . "black") + (foreground-color . "cyan3") + (mouse-color . "white")) + (default ((t (nil)))) + (bold ((t (:bold t :foreground "cyan" :weight bold)))) + (bold-italic ((t (:italic t :bold t :foreground "cyan" :slant italic :weight bold)))) + (fixed-pitch ((t (:family "courier")))) + (font-lock-builtin-face ((t (:bold t :foreground "cornflower blue" :weight bold)))) + (font-lock-comment-face ((t (:bold t :foreground "yellow" :weight bold)))) + (font-lock-constant-face ((t (:foreground "magenta3")))) + (font-lock-doc-face ((t (:bold t :weight bold :foreground "red")))) + (font-lock-function-name-face ((t (:foreground "gray")))) + (font-lock-keyword-face ((t (:bold t :foreground "cyan" :weight bold)))) + (font-lock-string-face ((t (:bold t :foreground "red" :weight bold)))) + (font-lock-type-face ((t (:bold t :foreground "cyan" :weight bold)))) + (font-lock-variable-name-face ((t (:foreground "cyan3")))) + (font-lock-warning-face ((t (:bold t :foreground "red" :weight bold)))) + (fringe ((t (:background "gray32")))) + (highlight ((t (:background "blue")))) + (isearch ((t (:background "blue" :foreground "cyan3")))) + (isearch-lazy-highlight-face ((t (:background "turquoise3" :foreground "black")))) + (menu ((t (nil)))) + (mode-line ((t (:bold t :background "blue3" :foreground "white" :box (:line-width -1 :style released-button) :weight bold)))) + (mouse ((t (:background "white")))) + (region ((t (:bold t :background "white" :foreground "blue" :weight bold)))) + (scroll-bar ((t (nil)))) + (trailing-whitespace ((t (:background "red")))) + (underline ((t (:underline t)))) + (variable-pitch ((t (:family "helv"))))))) + +;;; color-theme-library.el ends here diff --git a/.emacs.d/vala-mode.el b/.emacs.d/vala-mode.el new file mode 100644 index 0000000..0358790 --- /dev/null +++ b/.emacs.d/vala-mode.el @@ -0,0 +1,395 @@ +;;; vala-mode.el --- Vala mode derived mode + +;; Author: 2005 Dylan R. E. Moonfire +;; 2008 Étienne BERSAC +;; Maintainer: Étienne BERSAC +;; Created: 2008 May the 4th +;; Modified: May 2008 +;; Version: 0.1 +;; Keywords: vala languages oop + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2 of the License, or +;; (at your option) any later version. +;; +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with this program; see the file COPYING. If not, write to +;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Commentary: +;; +;; See http://live.gnome.org/Vala for details about Vala language. +;; +;; This is a separate mode to implement the Vala constructs and +;; font-locking. It is mostly the csharp-mode from +;; http://mfgames.com/linux/csharp-mode with vala specific keywords +;; and filename suffixes. +;; +;; Note: The interface used in this file requires CC Mode 5.30 or +;; later. + +;;; .emacs (don't put in (require 'vala-mode)) +;; (autoload 'vala-mode "vala-mode" "Major mode for editing Vala code." t) +;; (setq auto-mode-alist +;; (append '(("\\.vala$" . vala-mode)) auto-mode-alist)) + +;;; Versions: +;; +;; 0.1 : Initial version based on csharp-mode +;; + +;; This is a copy of the function in cc-mode which is used to handle +;; the eval-when-compile which is needed during other times. +(defun c-filter-ops (ops opgroup-filter op-filter &optional xlate) + ;; See cc-langs.el, a direct copy. + (unless (listp (car-safe ops)) + (setq ops (list ops))) + (cond ((eq opgroup-filter t) + (setq opgroup-filter (lambda (opgroup) t))) + ((not (functionp opgroup-filter)) + (setq opgroup-filter `(lambda (opgroup) + (memq opgroup ',opgroup-filter))))) + (cond ((eq op-filter t) + (setq op-filter (lambda (op) t))) + ((stringp op-filter) + (setq op-filter `(lambda (op) + (string-match ,op-filter op))))) + (unless xlate + (setq xlate 'identity)) + (c-with-syntax-table (c-lang-const c-mode-syntax-table) + (delete-duplicates + (mapcan (lambda (opgroup) + (when (if (symbolp (car opgroup)) + (when (funcall opgroup-filter (car opgroup)) + (setq opgroup (cdr opgroup)) + t) + t) + (mapcan (lambda (op) + (when (funcall op-filter op) + (let ((res (funcall xlate op))) + (if (listp res) res (list res))))) + opgroup))) + ops) + :test 'equal))) + +;; This inserts the bulk of the code. +(require 'cc-mode) + +;; These are only required at compile time to get the sources for the +;; language constants. (The cc-fonts require and the font-lock +;; related constants could additionally be put inside an +;; (eval-after-load "font-lock" ...) but then some trickery is +;; necessary to get them compiled.) +(eval-when-compile + (let ((load-path + (if (and (boundp 'byte-compile-dest-file) + (stringp byte-compile-dest-file)) + (cons (file-name-directory byte-compile-dest-file) load-path) + load-path))) + (load "cc-mode" nil t) + (load "cc-fonts" nil t) + (load "cc-langs" nil t))) + +(eval-and-compile + ;; Make our mode known to the language constant system. Use Java + ;; mode as the fallback for the constants we don't change here. + ;; This needs to be done also at compile time since the language + ;; constants are evaluated then. + (c-add-language 'vala-mode 'java-mode)) + +;; Java uses a series of regexes to change the font-lock for class +;; references. The problem comes in because Java uses Pascal (leading +;; space in names, SomeClass) for class and package names, but +;; Camel-casing (initial lowercase, upper case in words, +;; i.e. someVariable) for variables. +;;(error (byte-compile-dest-file)) +;;(error (c-get-current-file)) +(c-lang-defconst c-opt-after-id-concat-key + vala (if (c-lang-const c-opt-identifier-concat-key) + (c-lang-const c-symbol-start))) + +(c-lang-defconst c-basic-matchers-before + vala `( +;;;; Font-lock the attributes by searching for the +;;;; appropriate regex and marking it as TODO. + ;;,`(,(concat "\\(" vala-attribute-regex "\\)") + ;; 0 font-lock-function-name-face) + + ;; Put a warning face on the opener of unclosed strings that + ;; can't span lines. Later font + ;; lock packages have a `font-lock-syntactic-face-function' for + ;; this, but it doesn't give the control we want since any + ;; fontification done inside the function will be + ;; unconditionally overridden. + ,(c-make-font-lock-search-function + ;; Match a char before the string starter to make + ;; `c-skip-comments-and-strings' work correctly. + (concat ".\\(" c-string-limit-regexp "\\)") + '((c-font-lock-invalid-string))) + + ;; Fontify keyword constants. + ,@(when (c-lang-const c-constant-kwds) + (let ((re (c-make-keywords-re nil + (c-lang-const c-constant-kwds)))) + `((eval . (list ,(concat "\\<\\(" re "\\)\\>") + 1 c-constant-face-name))))) + + ;; Fontify all keywords except the primitive types. + ,`(,(concat "\\<" (c-lang-const c-regular-keywords-regexp)) + 1 font-lock-keyword-face) + + ;; Fontify leading identifiers in fully + ;; qualified names like "Foo.Bar". + ,@(when (c-lang-const c-opt-identifier-concat-key) + `((,(byte-compile + `(lambda (limit) + (while (re-search-forward + ,(concat "\\(\\<" ; 1 + "\\(" (c-lang-const c-symbol-key) + "\\)" ; 2 + "[ \t\n\r\f\v]*" + (c-lang-const + c-opt-identifier-concat-key) + "[ \t\n\r\f\v]*" + "\\)" + "\\(" + (c-lang-const + c-opt-after-id-concat-key) + "\\)") + limit t) + (unless (progn + (goto-char (match-beginning 0)) + (c-skip-comments-and-strings limit)) + (or (get-text-property (match-beginning 2) 'face) + (c-put-font-lock-face (match-beginning 2) + (match-end 2) + c-reference-face-name)) + (goto-char (match-end 1))))))))) + )) + +;; Vala does not allow a leading qualifier operator. It also doesn't +;; allow the ".*" construct of Java. So, we redo this regex without +;; the "\\|\\*" regex. +(c-lang-defconst c-identifier-key + vala (concat "\\(" (c-lang-const c-symbol-key) "\\)" ; 1 + (concat "\\(" + "[ \t\n\r\f\v]*" + (c-lang-const c-opt-identifier-concat-key) + "[ \t\n\r\f\v]*" + (concat "\\(" + "\\(" (c-lang-const c-symbol-key) "\\)" + "\\)") + "\\)*"))) + +;; Vala has a few rules that are slightly different than Java for +;; operators. This also removed the Java's "super" and replaces it +;; with the Vala's "base". +(c-lang-defconst c-operators + vala `((prefix "base"))) + +;; Vala directives ? +;; (c-lang-defconst c-opt-cpp-prefix +;; csharp "^\\s *#.*") + + +;; Vala uses the following assignment operators +(c-lang-defconst c-assignment-operators + vala '("=" "*=" "/=" "%=" "+=" "-=" ">>=" "<<=" + "&=" "^=" "|=" "++" "--")) + +;; This defines the primative types for Vala +(c-lang-defconst c-primitive-type-kwds + vala '("void" "char" "int" "float" "double" "string")) + +;; The keywords that define that the following is a type, such as a +;; class definition. +(c-lang-defconst c-type-prefix-kwds + vala '("class" "interface" "struct" "enum" "signal")) + +;; Type modifier keywords. They appear anywhere in types, but modifiy +;; instead create one. +(c-lang-defconst c-type-modifier-kwds + vala '("const")) + +;; Structures that are similiar to classes. +(c-lang-defconst c-class-decl-kwds + vala '("class" "interface")) + +;; The various modifiers used for class and method descriptions. +(c-lang-defconst c-modifier-kwds + vala '("public" "partial" "private" "const" "abstract" + "protected" "ref" "in" "out" "static" "virtual" + "override" "params" "internal" "weak" "owned" + "unowned")) + +;; We don't use the protection level stuff because it breaks the +;; method indenting. Not sure why, though. +(c-lang-defconst c-protection-kwds + vala nil) + +;; Define the keywords that can have something following after them. +(c-lang-defconst c-type-list-kwds + vala '("struct" "class" "interface" "is" "as" + "delegate" "event" "set" "get" "add" "remove" + "callback" "signal" "var" "default")) + +;; This allows the classes after the : in the class declartion to be +;; fontified. +(c-lang-defconst c-typeless-decl-kwds + vala '(":")) + +;; Sets up the enum to handle the list properly +(c-lang-defconst c-brace-list-decl-kwds + vala '("enum" "errordomain")) + +;; We need to remove Java's package keyword +(c-lang-defconst c-ref-list-kwds + vala '("using" "namespace" "construct")) + +;; Follow-on blocks that don't require a brace +(c-lang-defconst c-block-stmt-2-kwds + vala '("for" "if" "switch" "while" "catch" "foreach" "lock")) + +;; Statements that break out of braces +(c-lang-defconst c-simple-stmt-kwds + vala '("return" "continue" "break" "throw")) + +;; Statements that allow a label +;; TODO? +(c-lang-defconst c-before-label-kwds + vala nil) + +;; Constant keywords +(c-lang-defconst c-constant-kwds + vala '("true" "false" "null")) + +;; Keywords that start "primary expressions." +(c-lang-defconst c-primary-expr-kwds + vala '("this" "base")) + +;; We need to treat namespace as an outer block to class indenting +;; works properly. +(c-lang-defconst c-other-block-decl-kwds + vala '("namespace")) + +;; We need to include the "in" for the foreach +(c-lang-defconst c-other-kwds + vala '("in" "sizeof" "typeof")) + +(require 'cc-awk) + +(c-lang-defconst c-at-vsemi-p-fn + vala 'c-awk-at-vsemi-p) + + +(defcustom vala-font-lock-extra-types nil + "*List of extra types (aside from the type keywords) to recognize in Vala mode. +Each list item should be a regexp matching a single identifier.") + +(defconst vala-font-lock-keywords-1 (c-lang-const c-matchers-1 vala) + "Minimal highlighting for Vala mode.") + +(defconst vala-font-lock-keywords-2 (c-lang-const c-matchers-2 vala) + "Fast normal highlighting for Vala mode.") + +(defconst vala-font-lock-keywords-3 (c-lang-const c-matchers-3 vala) + "Accurate normal highlighting for Vala mode.") + +(defvar vala-font-lock-keywords vala-font-lock-keywords-3 + "Default expressions to highlight in Vala mode.") + +(defvar vala-mode-syntax-table + nil + "Syntax table used in vala-mode buffers.") +(or vala-mode-syntax-table + (setq vala-mode-syntax-table + (funcall (c-lang-const c-make-mode-syntax-table vala)))) + +(defvar vala-mode-abbrev-table nil + "Abbreviation table used in vala-mode buffers.") +(c-define-abbrev-table 'vala-mode-abbrev-table + ;; Keywords that if they occur first on a line + ;; might alter the syntactic context, and which + ;; therefore should trig reindentation when + ;; they are completed. + '(("else" "else" c-electric-continued-statement 0) + ("while" "while" c-electric-continued-statement 0) + ("catch" "catch" c-electric-continued-statement 0) + ("finally" "finally" c-electric-continued-statement 0))) + +(defvar vala-mode-map (let ((map (c-make-inherited-keymap))) + ;; Add bindings which are only useful for Vala + map) + "Keymap used in vala-mode buffers.") + +;;(easy-menu-define vala-menu vala-mode-map "Vala Mode Commands" +;; ;; Can use `vala' as the language for `c-mode-menu' +;; ;; since its definition covers any language. In +;; ;; this case the language is used to adapt to the +;; ;; nonexistence of a cpp pass and thus removing some +;; ;; irrelevant menu alternatives. +;; (cons "Vala" (c-lang-const c-mode-menu vala))) + +;;; Autoload mode trigger +(add-to-list 'auto-mode-alist '("\\.vala$" . vala-mode)) +(add-to-list 'auto-mode-alist '("\\.vapi$" . vala-mode)) + +;; Custom variables +(defcustom vala-mode-hook nil + "*Hook called by `vala-mode'." + :type 'hook + :group 'c) + +;;; The entry point into the mode +;;;###autoload +(defun vala-mode () + "Major mode for editing Vala code. +This is a simple example of a separate mode derived from CC Mode +to support a language with syntax similar to +C#/C/C++/ObjC/Java/IDL/Pike. + +The hook `c-mode-common-hook' is run with no args at mode +initialization, then `vala-mode-hook'. + +Key bindings: +\\{vala-mode-map}" + (interactive) + (kill-all-local-variables) + (c-initialize-cc-mode t) + (set-syntax-table vala-mode-syntax-table) + (setq major-mode 'vala-mode + mode-name "Vala" + local-abbrev-table vala-mode-abbrev-table + abbrev-mode t) + (use-local-map c-mode-map) + ;; `c-init-language-vars' is a macro that is expanded at compile + ;; time to a large `setq' with all the language variables and their + ;; customized values for our language. + (c-init-language-vars vala-mode) + ;; `c-common-init' initializes most of the components of a CC Mode + ;; buffer, including setup of the mode menu, font-lock, etc. + ;; There's also a lower level routine `c-basic-common-init' that + ;; only makes the necessary initialization to get the syntactic + ;; analysis and similar things working. + (c-common-init 'vala-mode) + ;;(easy-menu-add vala-menu) + (c-set-style "linux") + (setq indent-tabs-mode t) + (setq c-basic-offset 4) + (setq tab-width 4) + (c-toggle-auto-newline -1) + (c-toggle-hungry-state -1) + (run-hooks 'c-mode-common-hook) + (run-hooks 'vala-mode-hook) + (c-update-modeline)) + +(provide 'vala-mode) + +;;; vala-mode.el ends here diff --git a/.emacs.d/zenburn.el b/.emacs.d/zenburn.el deleted file mode 100644 index 1238f3c..0000000 --- a/.emacs.d/zenburn.el +++ /dev/null @@ -1,1179 +0,0 @@ -;;; zenburn.el --- just some alien fruit salad to keep you in the zone -;; Copyright (C) 2003, 2004, 2005, 2006 Daniel Brockman -;; Copyright (C) 2009 Adrian C., Bastien Guerry - -;; Author: Daniel Brockman -;; URL: http://www.brockman.se/software/zenburn/zenburn.el -;; Updated: 2009-07-08 05:27 - -;; Adrian C. and Bastien Guerry added org-mode faces. - -;; This file is free software; you can redistribute it and/or -;; modify it under the terms of the GNU General Public License as -;; published by the Free Software Foundation; either version 2 of -;; the License, or (at your option) any later version. - -;; This file is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty -;; of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -;; See the GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public -;; License along with GNU Emacs; if not, write to the Free -;; Software Foundation, 51 Franklin Street, Fifth Floor, -;; Boston, MA 02110-1301, USA. - -;;; Commentary: - -;; Some packages ship with broken implementations of `format-spec'; -;; for example, stable versions of TRAMP and ERC do this. To fix -;; this, you can put the following at the end of your ~/.emacs: - -;; (unless (zenburn-format-spec-works-p) -;; (zenburn-define-format-spec)) - -;; Thanks to Jani Nurminen, who created the original zenburn color -;; theme for vim. I'm just copying him. :-) - -;;; Short-Term Wishlist: - -;; Theme the ansi-term faces `term-red', etc., and the ERC faces -;; `fg:erc-color-face1', etc. - -;; Theme `gnus-server-offline-face', `gnus-server-opened-face', and -;; `gnus-server-denied-face'. First, find out what they hell they do. - -;; Theme `gnus-emphasis-highlight-words' after finding out what it -;; does. - -;; Theme `emms-stream-name-face' and `emms-stream-url-face'. - -;; Theme `ido-indicator-face'. - -;;; Code: - -(require 'color-theme) - -(defvar zenburn-fg "#dcdccc") -(defvar zenburn-bg "#3f3f3f") -(defvar zenburn-bg+1 "#4f4f4f") -(defvar zenburn-bg+2 "#5f5f5f") -(defvar zenburn-red+1 "#dca3a3") -(defvar zenburn-red "#cc9393") -(defvar zenburn-red-1 "#bc8383") -(defvar zenburn-red-2 "#ac7373") -(defvar zenburn-red-3 "#9c6363") -(defvar zenburn-red-4 "#8c5353") -(defvar zenburn-orange "#dfaf8f") -(defvar zenburn-yellow "#f0dfaf") -(defvar zenburn-yellow-1 "#e0cf9f") -(defvar zenburn-yellow-2 "#d0bf8f") -(defvar zenburn-green-1 "#5f7f5f") -(defvar zenburn-green "#7f9f7f") -(defvar zenburn-green+1 "#8fb28f") -(defvar zenburn-green+2 "#9fc59f") -(defvar zenburn-green+3 "#afd8af") -(defvar zenburn-green+4 "#bfebbf") -(defvar zenburn-cyan "#93e0e3") -(defvar zenburn-blue+1 "#94bff3") -(defvar zenburn-blue "#8cd0d3") -(defvar zenburn-blue-1 "#7cb8bb") -(defvar zenburn-blue-2 "#6ca0a3") -(defvar zenburn-blue-3 "#5c888b") -(defvar zenburn-blue-4 "#4c7073") -(defvar zenburn-magenta "#dc8cc3") - -(eval-after-load 'term - '(setq ansi-term-color-vector - (vector 'unspecified zenburn-bg - zenburn-red zenburn-green - zenburn-yellow zenburn-blue+1 - zenburn-magenta zenburn-cyan))) - -(defvar font-lock-pseudo-keyword-face 'font-lock-pseudo-keyword-face) -(defvar font-lock-operator-face 'font-lock-operator-face) - -(defun zenburn-format-spec-works-p () - (and (fboundp 'format-spec) - (= (next-property-change - 0 (format-spec #("<%x>" 0 4 (face (:weight bold))) - '((?x . "foo"))) 4) 4))) - -(defun zenburn-format-spec (format specification) - "Return a string based on FORMAT and SPECIFICATION. -FORMAT is a string containing `format'-like specs like \"bash %u %k\", -while SPECIFICATION is an alist mapping from format spec characters -to values." - (with-temp-buffer - (insert format) - (goto-char (point-min)) - (while (search-forward "%" nil t) - (cond - ;; Quoted percent sign. - ((eq (char-after) ?%) - (delete-char 1)) - ;; Valid format spec. - ((looking-at "\\([-0-9.]*\\)\\([a-zA-Z]\\)") - (let* ((num (match-string 1)) - (spec (string-to-char (match-string 2))) - (val (cdr (assq spec specification)))) - (unless val - (error "Invalid format character: %s" spec)) - (let ((text (format (concat "%" num "s") val))) - (insert-and-inherit text) - ;; Delete the specifier body. - (delete-region (+ (match-beginning 0) (length text)) - (+ (match-end 0) (length text))) - ;; Delete the percent sign. - (delete-region (1- (match-beginning 0)) (match-beginning 0))))) - ;; Signal an error on bogus format strings. - (t - (error "Invalid format string")))) - (buffer-string))) - -(defun zenburn-define-format-spec () - (interactive) - (fset 'format-spec #'zenburn-format-spec)) - -(unless (zenburn-format-spec-works-p) - (zenburn-define-format-spec)) - -(eval-after-load 'format-spec - '(unless (zenburn-format-spec-works-p) - (zenburn-define-format-spec))) - -(setq-default mode-line-buffer-identification - (list (propertize "%12b" 'face - (list :weight 'bold - :foreground zenburn-yellow)))) -(setq-default mode-line-frame-identification "") -(setq-default erc-mode-line-format - (concat (propertize "%t" 'face - (list :weight 'bold - :foreground zenburn-yellow)) - " %a")) - -(setq gnus-logo-colors `(,zenburn-bg+2 ,zenburn-bg+1) - gnus-mode-line-image-cache - '(image :type xpm :ascent center :data "/* XPM */ -static char *gnus-pointer[] = { -/* width height num_colors chars_per_pixel */ -\" 18 11 2 1\", -/* colors */ -\". c #dcdccc\", -\"# c None s None\", -/* pixels */ -\"######..##..######\", -\"#####........#####\", -\"#.##.##..##...####\", -\"#...####.###...##.\", -\"#..###.######.....\", -\"#####.########...#\", -\"###########.######\", -\"####.###.#..######\", -\"######..###.######\", -\"###....####.######\", -\"###..######.######\"};")) - -(defun zenburn-make-face-alias-clauses (alias-symbols) - (let (clauses) - (dolist (alias-symbol alias-symbols clauses) - (let ((alias-name (symbol-name alias-symbol))) - (if (not (string-match "-face" alias-name)) - (error "Invalid face alias: %s" alias-name) - (let ((target-name (replace-regexp-in-string - ".*\\(-face\\)" "" - alias-name nil nil 1))) - (push `(,(intern alias-name) - ((t (:inherit ,(intern target-name))))) - clauses))))))) - -;;;###autoload -(defun color-theme-zenburn () - "Just some alien fruit salad to keep you in the zone." - (interactive) - (color-theme-install - (append - (list 'color-theme-zenburn - `((background-color . ,zenburn-bg) - (background-mode . dark) - (border-color . ,zenburn-bg) - (foreground-color . ,zenburn-fg) - (mouse-color . ,zenburn-fg)) - `((emms-mode-line-icon-color . ,zenburn-fg) - (goto-address-mail-face . italic) - (goto-address-mail-mouse-face . secondary-selection) - (goto-address-url-face . bold) - (goto-address-url-mouse-face . hover-highlight) - (help-highlight-face . hover-highlight) - (imaxima-label-color . ,zenburn-yellow) - (imaxima-equation-color . ,zenburn-fg) - (list-matching-lines-face . bold) - (view-highlight-face . hover-highlight) - (widget-mouse-face . hover-highlight)) - - '(bold ((t (:weight bold)))) - '(bold-italic ((t (:italic t :weight bold)))) - `(default ((t (:background ,zenburn-bg :foreground ,zenburn-fg)))) - '(fixed-pitch ((t (:weight bold)))) - '(italic ((t (:slant italic)))) - '(underline ((t (:underline t)))) - ;; '(variable-pitch ((t (:font "-*-utopia-regular-r-*-*-12-*-*-*-*-*-*-*")))) - - `(zenburn-background-1 ((t (:background ,zenburn-bg+1)))) - `(zenburn-background-2 ((t (:background ,zenburn-bg+2)))) - - `(zenburn-primary-1 ((t (:foreground ,zenburn-yellow :weight bold)))) - `(zenburn-primary-2 ((t (:foreground ,zenburn-orange :weight bold)))) - '(zenburn-primary-3 ((t (:foreground "#dfdfbf" :weight bold)))) - '(zenburn-primary-4 ((t (:foreground "#dca3a3" :weight bold)))) - '(zenburn-primary-5 ((t (:foreground "#94bff3" :weight bold)))) - - '(zenburn-highlight-damp - ((t (:foreground "#88b090" :background "#2e3330")))) - '(zenburn-highlight-alerting - ((t (:foreground "#e37170" :background "#332323")))) - '(zenburn-highlight-subtle - ((t (:background "#464646")))) - - '(zenburn-lowlight-1 ((t (:foreground "#606060")))) - '(zenburn-lowlight-2 ((t (:foreground "#708070")))) - - `(zenburn-yellow ((t (:foreground ,zenburn-yellow)))) - `(zenburn-orange ((t (:foreground ,zenburn-orange)))) - `(zenburn-red ((t (:foreground ,zenburn-red)))) - `(zenburn-green-1 ((t (:foreground ,zenburn-green-1)))) - `(zenburn-green ((t (:foreground ,zenburn-green)))) - `(zenburn-green+1 ((t (:foreground ,zenburn-green+1)))) - `(zenburn-green+2 ((t (:foreground ,zenburn-green+2)))) - `(zenburn-green+3 ((t (:foreground ,zenburn-green+3)))) - `(zenburn-green+4 ((t (:foreground ,zenburn-green+4)))) - `(zenburn-blue ((t (:foreground ,zenburn-blue)))) - `(zenburn-blue-1 ((t (:foreground ,zenburn-blue-1)))) - `(zenburn-blue-2 ((t (:foreground ,zenburn-blue-2)))) - `(zenburn-blue-3 ((t (:foreground ,zenburn-blue-3)))) - `(zenburn-blue-4 ((t (:foreground ,zenburn-blue-4)))) - - '(zenburn-title ((t (:inherit variable-pitch :weight bold)))) - - '(font-lock-builtin - ((t (:inherit zenburn-blue)))) - '(font-lock-comment - ((t (:inherit zenburn-green)))) - '(font-lock-comment-delimiter - ((t (:inherit zenburn-lowlight-2)))) - '(font-lock-constant - ((t (:inherit zenburn-primary-4)))) - '(font-lock-doc - ((t (:inherit zenburn-green+1)))) - `(font-lock-function-name - ((t (:foreground ,zenburn-yellow)))) - '(font-lock-keyword - ((t (:inherit zenburn-primary-1)))) - '(font-lock-negation-char - ((t (:inherit zenburn-primary-1)))) - '(font-lock-preprocessor - ((t (:inherit zenburn-blue)))) - '(font-lock-string - ((t (:inherit zenburn-red)))) - '(font-lock-type - ((t (:inherit zenburn-primary-3)))) - `(font-lock-variable-name - ((t (:foreground ,zenburn-yellow)))) - '(font-lock-warning - ((t (:inherit zenburn-highlight-alerting)))) - - '(font-lock-pseudo-keyword - ((t (:inherit zenburn-primary-2)))) - '(font-lock-operator - ((t (:inherit zenburn-primary-3)))) - - '(term-default-bg ((t (nil)))) - '(term-default-bg-inv ((t (nil)))) - '(term-default-fg ((t (nil)))) - '(term-default-fg-inv ((t (nil)))) - '(term-invisible ((t (nil)))) ;; FIXME: Security risk? - '(term-invisible-inv ((t (nil)))) - '(term-bold ((t (:weight bold)))) - '(term-underline ((t (:underline t)))) - - ;; FIXME: Map these to ansi-term's faces (`term-red', etc.). - '(zenburn-term-dark-gray ((t (:foreground "#709080")))) - '(zenburn-term-light-blue ((t (:foreground "#94bff3")))) - '(zenburn-term-light-cyan ((t (:foreground "#93e0e3")))) - '(zenburn-term-light-green ((t (:foreground "#c3bf9f")))) - '(zenburn-term-light-magenta ((t (:foreground "#ec93d3")))) - '(zenburn-term-light-red ((t (:foreground "#dca3a3")))) - '(zenburn-term-light-yellow ((t (:foreground "#f0dfaf")))) - '(zenburn-term-white ((t (:foreground "#ffffff")))) - - '(zenburn-term-black ((t (:foreground "#000000")))) - '(zenburn-term-dark-blue ((t (:foreground "#506070")))) - '(zenburn-term-dark-cyan ((t (:foreground "#8cd0d3")))) - '(zenburn-term-dark-green ((t (:foreground "#60b48a")))) - '(zenburn-term-dark-magenta ((t (:foreground "#dc8cc3")))) - '(zenburn-term-dark-red ((t (:foreground "#705050")))) - '(zenburn-term-dark-yellow ((t (:foreground "#dfaf8f")))) - `(zenburn-term-light-gray ((t (:foreground ,zenburn-fg)))) - - '(plain-widget-button - ((t (:weight bold)))) - '(plain-widget-button-pressed - ((t (:inverse-video t)))) - '(plain-widget-documentation - ((t (:inherit font-lock-doc)))) - `(plain-widget-field - ((t (:background ,zenburn-bg+2)))) - '(plain-widget-inactive - ((t (:strike-through t)))) - `(plain-widget-single-line-field - ((t (:background ,zenburn-bg+2)))) - - `(fancy-widget-button - ((t (:background ,zenburn-bg+1 - :box (:line-width 2 :style released-button))))) - `(fancy-widget-button-pressed - ((t (:background ,zenburn-bg+1 - :box (:line-width 2 :style pressed-button))))) - `(fancy-widget-button-highlight - ((t (:background ,zenburn-bg+1 - :box (:line-width 2 :style released-button))))) - `(fancy-widget-button-pressed-highlight - ((t (:background ,zenburn-bg+1 - :box (:line-width 2 :style pressed-button))))) - '(fancy-widget-documentation - ((t (:inherit font-lock-doc)))) - `(fancy-widget-field - ((t (:background ,zenburn-bg+2)))) - '(fancy-widget-inactive - ((t (:strike-through t)))) - `(fancy-widget-single-line-field - ((t (:background ,zenburn-bg+2)))) - - '(widget-button - ((t (:inherit plain-widget-button)))) - '(widget-button-pressed - ((t (:inherit fancy-widget-button-pressed)))) - '(widget-button-highlight - ((t (:inherit fancy-widget-button-highlight)))) - '(widget-button-pressed-highlight - ((t (:inherit fancy-widget-button-pressed-highlight)))) - '(widget-documentation - ((t (:inherit fancy-widget-documentation)))) - '(widget-field - ((t (:inherit fancy-widget-field)))) - '(widget-inactive - ((t (:inherit fancy-widget-inactive)))) - '(widget-single-line-field - ((t (:inherit fancy-widget-single-line-field)))) - - `(border ((t (:background ,zenburn-bg)))) - '(fringe ((t (:inherit zenburn-highlight-subtle)))) - '(header-line ((t (:inherit zenburn-highlight-damp - :box (:color "#2e3330" :line-width 2))))) - '(mode-line ((t (:foreground "#acbc90" :background "#1e2320" - :box (:color "#1e2320" :line-width 2))))) - '(mode-line-inactive ((t (:background "#2e3330" :foreground "#88b090" - :box (:color "#2e3330" :line-width 2))))) - `(minibuffer-prompt ((t (:foreground ,zenburn-yellow)))) - `(Buffer-menu-buffer ((t (:inherit zenburn-primary-1)))) - - '(region ((t (:foreground "#71d3b4" :background "#233323")))) - `(secondary-selection ((t (:foreground ,zenburn-fg :background "#506070")))) - - '(trailing-whitespace ((t (:inherit font-lock-warning)))) - '(highlight ((t (:underline t)))) - '(paren ((t (:inherit zenburn-lowlight-1)))) - '(show-paren-mismatch ((t (:inherit font-lock-warning)))) - '(show-paren-match ((t (:inherit font-lock-keyword)))) - '(match ((t (:weight bold)))) - - `(cursor ((t (:background ,zenburn-fg :foreground ,zenburn-bg)))) - '(hover-highlight ((t (:underline t :foreground "#f8f893")))) - '(menu ((t nil))) - '(mouse ((t (:inherit zenburn-foreground)))) - `(scroll-bar ((t (:background ,zenburn-bg+2)))) - `(tool-bar ((t (:background ,zenburn-bg+2)))) - - '(ido-first-match ((t (:inherit zenburn-primary-1)))) - '(ido-only-match ((t (:inherit zenburn-primary-2)))) - `(ido-subdir ((t (:foreground ,zenburn-yellow)))) - - `(isearch ((t (:foreground ,zenburn-fg :background "#506070")))) - `(isearch-lazy-highlight - ((t (:foreground ,zenburn-fg :background "#1e2320" :weight normal)))) - - '(mtorus-highlight ((t (:inherit zenburn-highlight-bluish)))) - '(mtorus-notify-highlight ((t (:inherit zenburn-primary-1)))) - - '(which-func ((t (:inherit mode-line)))) - - '(apt-utils-normal-package - ((t (:inherit zenburn-primary-1)))) - '(apt-utils-virtual-package - ((t (:inherit zenburn-primary-2)))) - '(apt-utils-field-keyword - ((t (:inherit font-lock-doc)))) - '(apt-utils-field-contents - ((t (:inherit font-lock-comment)))) - '(apt-utils-summary - ((t (:inherit bold)))) - '(apt-utils-description - ((t (:inherit default)))) - '(apt-utils-version - ((t (:inherit zenburn-blue)))) - '(apt-utils-broken - ((t (:inherit font-lock-warning)))) - - '(breakpoint-enabled-bitmap ((t (:inherit zenburn-primary-1)))) - '(breakpoint-disabled-bitmap ((t (:inherit font-lock-comment)))) - - '(calendar-today ((t (:underline nil :inherit zenburn-primary-2)))) - '(diary ((t (:underline nil :inherit zenburn-primary-1)))) - '(holiday ((t (:underline t :inherit zenburn-primary-4)))) - - '(bongo-unfilled-seek-bar ((t (:background "#606060")))) - - '(change-log-date ((t (:inherit zenburn-blue)))) - - '(comint-highlight-input ((t (:inherit zenburn-primary-1)))) - '(comint-highlight-prompt ((t (:inherit zenburn-primary-2)))) - - '(compilation-info ((t (:inherit zenburn-primary-1)))) - '(compilation-warning ((t (:inherit font-lock-warning)))) - - ;; TODO - '(cua-rectangle ((t (:inherit region)))) - - '(custom-button - ((t (:inherit fancy-widget-button)))) - '(custom-button-pressed - ((t (:inherit fancy-widget-button-pressed)))) - '(custom-changed - ((t (:inherit zenburn-blue)))) - '(custom-comment - ((t (:inherit font-lock-doc)))) - '(custom-comment-tag - ((t (:inherit font-lock-doc)))) - '(custom-documentation - ((t (:inherit font-lock-doc)))) - '(custom-link - ((t (:inherit zenburn-yellow :underline t)))) - '(custom-tag - ((t (:inherit zenburn-primary-2)))) - '(custom-group-tag - ((t (:inherit zenburn-primary-1)))) - '(custom-group-tag-1 - ((t (:inherit zenburn-primary-4)))) - '(custom-invalid - ((t (:inherit font-lock-warning)))) - '(custom-modified - ((t (:inherit zenburn-primary-3)))) - '(custom-rogue - ((t (:inhrit font-lock-warning)))) - '(custom-saved - ((t (:underline t)))) - '(custom-set - ((t (:inverse-video t :inherit zenburn-blue)))) - '(custom-state - ((t (:inherit font-lock-comment)))) - '(custom-variable-button - ((t (:weight bold :underline t)))) - '(custom-variable-tag - ((t (:inherit zenburn-primary-2)))) - - '(dictionary-button ((t (:inherit fancy-widget-button)))) - '(dictionary-reference ((t (:inherit zenburn-primary-1)))) - '(dictionary-word-entry ((t (:inherit font-lock-keyword)))) - - '(diff-header ((t (:inherit zenburn-highlight-subtle)))) - '(diff-index ((t (:inherit bold)))) - '(diff-file-header ((t (:inherit bold)))) - '(diff-hunk-header ((t (:inherit zenburn-highlight-subtle)))) - - '(diff-added ((t (:inherit zenburn-primary-3)))) - '(diff-removed ((t (:inherit zenburn-blue)))) - '(diff-context ((t (:inherit font-lock-comment)))) - - `(emms-pbi-song ((t (:foreground ,zenburn-yellow)))) - '(emms-pbi-current ((t (:inherit zenburn-primary-1)))) - '(emms-pbi-mark-marked ((t (:inherit zenburn-primary-2)))) - - '(erc-action ((t (:inherit erc-default)))) - '(erc-bold ((t (:weight bold)))) - '(erc-current-nick ((t (:inherit zenburn-primary-1)))) - '(erc-dangerous-host ((t (:inherit font-lock-warning)))) - `(erc-default ((t (:foreground ,zenburn-fg)))) - '(erc-direct-msg ((t (:inherit erc-default)))) - '(erc-error ((t (:inherit font-lock-warning)))) - '(erc-fool ((t (:inherit zenburn-lowlight-1)))) - '(erc-highlight ((t (:inherit hover-highlight)))) - `(erc-input ((t (:foreground ,zenburn-yellow)))) - '(erc-keyword ((t (:inherit zenburn-primary-1)))) - '(erc-nick-default ((t (:inherit bold)))) - '(erc-nick-msg ((t (:inherit erc-default)))) - '(erc-notice ((t (:inherit zenburn-green)))) - '(erc-pal ((t (:inherit zenburn-primary-3)))) - '(erc-prompt ((t (:inherit zenburn-primary-2)))) - '(erc-timestamp ((t (:inherit zenburn-green+1)))) - '(erc-underline ((t (:inherit underline)))) - - '(circe-highlight-nick-face ((t (:inherit zenburn-primary-1)))) - '(circe-my-message-face ((t (:inherit zenburn-yellow)))) - '(circe-originator-face ((t (:inherit bold)))) - '(circe-prompt-face ((t (:inherit zenburn-primary-1)))) - '(circe-server-face ((t (:inherit font-lock-comment-face)))) - - '(rcirc-my-nick ((t (:inherit zenburn-primary-1)))) - '(rcirc-other-nick ((t (:inherit bold)))) - '(rcirc-bright-nick ((t (:foreground "white" :inherit rcirc-other-nick)))) - '(rcirc-dim-nick ((t (:inherit font-lock-comment)))) - '(rcirc-nick-in-message ((t (:inherit bold)))) - '(rcirc-server ((t (:inherit font-lock-comment)))) - '(rcirc-server-prefix ((t (:inherit font-lock-comment-delimiter)))) - '(rcirc-timestamp ((t (:inherit font-lock-comment)))) - '(rcirc-prompt ((t (:inherit zenburn-primary-1)))) - '(rcirc-mode-line-nick ((t (:inherit zenburn-primary-1)))) - - '(eshell-prompt ((t (:inherit zenburn-primary-1)))) - '(eshell-ls-archive ((t (:foreground "#c3bf9f" :weight bold)))) - '(eshell-ls-backup ((t (:inherit font-lock-comment)))) - '(eshell-ls-clutter ((t (:inherit font-lock-comment)))) - `(eshell-ls-directory ((t (:foreground ,zenburn-blue+1 :weight bold)))) - `(eshell-ls-executable ((t (:foreground ,zenburn-red+1 :weight bold)))) - '(eshell-ls-unreadable ((t (:inherit zenburn-lowlight-1)))) - '(eshell-ls-missing ((t (:inherit font-lock-warning)))) - '(eshell-ls-product ((t (:inherit font-lock-doc)))) - '(eshell-ls-special ((t (:inherit zenburn-primary-1)))) - `(eshell-ls-symlink ((t (:foreground ,zenburn-cyan :weight bold)))) - - '(highlight-current-line ((t (:inherit zenburn-highlight-subtle)))) - - '(ibuffer-deletion ((t (:inherit zenburn-primary-2)))) - '(ibuffer-marked ((t (:inherit zenburn-primary-1)))) - '(ibuffer-special-buffer ((t (:inherit font-lock-doc)))) - '(ibuffer-help-buffer ((t (:inherit font-lock-comment)))) - - '(message-cited-text ((t (:inherit font-lock-comment)))) - ;;`(message-cited-text ((t (:foreground ,zenburn-blue)))) - '(message-header-name ((t (:inherit zenburn-green+1)))) - '(message-header-other ((t (:inherit zenburn-green)))) - '(message-header-to ((t (:inherit zenburn-primary-1)))) - '(message-header-from ((t (:inherit zenburn-primary-1)))) - '(message-header-cc ((t (:inherit zenburn-primary-1)))) - '(message-header-newsgroups ((t (:inherit zenburn-primary-1)))) - '(message-header-subject ((t (:inherit zenburn-primary-2)))) - '(message-header-xheader ((t (:inherit zenburn-green)))) - '(message-mml ((t (:inherit zenburn-primary-1)))) - '(message-separator ((t (:inherit font-lock-comment)))) - - '(gnus-header-name ((t (:inherit message-header-name)))) - '(gnus-header-content ((t (:inherit message-header-other)))) - '(gnus-header-from ((t (:inherit message-header-from)))) - '(gnus-header-subject ((t (:inherit message-header-subject)))) - '(gnus-header-newsgroups ((t (:inherit message-header-other)))) - - `(gnus-x-face ((t (:background ,zenburn-fg :foreground ,zenburn-bg)))) - - ;; (gnus-cite-1 ((t (:inherit message-cited-text)))) - `(gnus-cite-1 ((t (:foreground ,zenburn-blue)))) - `(gnus-cite-2 ((t (:foreground ,zenburn-blue-1)))) - `(gnus-cite-3 ((t (:foreground ,zenburn-blue-2)))) -;; (gnus-cite-4 ((t (:foreground ,zenburn-blue-3)))) -;; (gnus-cite-5 ((t (:foreground ,zenburn-blue-4)))) -;; (gnus-cite-6 ((t (:foreground ,zenburn-red-4)))) -;; (gnus-cite-5 ((t (:foreground ,zenburn-red-3)))) - `(gnus-cite-4 ((t (:foreground ,zenburn-green+2)))) - `(gnus-cite-5 ((t (:foreground ,zenburn-green+1)))) - `(gnus-cite-6 ((t (:foreground ,zenburn-green)))) - `(gnus-cite-7 ((t (:foreground ,zenburn-red)))) - `(gnus-cite-8 ((t (:foreground ,zenburn-red-1)))) - `(gnus-cite-9 ((t (:foreground ,zenburn-red-2)))) - `(gnus-cite-10 ((t (:foreground ,zenburn-yellow-1)))) - `(gnus-cite-11 ((t (:foreground ,zenburn-yellow)))) - - `(gnus-group-news-1-empty ((t (:foreground ,zenburn-yellow)))) - `(gnus-group-news-2-empty ((t (:foreground ,zenburn-green+3)))) - `(gnus-group-news-3-empty ((t (:foreground ,zenburn-green+1)))) - `(gnus-group-news-4-empty ((t (:foreground ,zenburn-blue-2)))) - `(gnus-group-news-5-empty ((t (:foreground ,zenburn-blue-3)))) - `(gnus-group-news-6-empty ((t (:inherit zenburn-lowlight-1)))) - `(gnus-group-news-low-empty ((t (:inherit zenburn-lowlight-1)))) - - '(gnus-group-mail-1-empty ((t (:inherit gnus-group-news-1-empty)))) - '(gnus-group-mail-2-empty ((t (:inherit gnus-group-news-2-empty)))) - '(gnus-group-mail-3-empty ((t (:inherit gnus-group-news-3-empty)))) - '(gnus-group-mail-4-empty ((t (:inherit gnus-group-news-4-empty)))) - '(gnus-group-mail-5-empty ((t (:inherit gnus-group-news-5-empty)))) - '(gnus-group-mail-6-empty ((t (:inherit gnus-group-news-6-empty)))) - '(gnus-group-mail-low-empty ((t (:inherit gnus-group-news-low-empty)))) - - '(gnus-group-news-1 ((t (:bold t :inherit gnus-group-news-1-empty)))) - '(gnus-group-news-2 ((t (:bold t :inherit gnus-group-news-2-empty)))) - '(gnus-group-news-3 ((t (:bold t :inherit gnus-group-news-3-empty)))) - '(gnus-group-news-4 ((t (:bold t :inherit gnus-group-news-4-empty)))) - '(gnus-group-news-5 ((t (:bold t :inherit gnus-group-news-5-empty)))) - '(gnus-group-news-6 ((t (:bold t :inherit gnus-group-news-6-empty)))) - '(gnus-group-news-low ((t (:bold t :inherit gnus-group-news-low-empty)))) - - '(gnus-group-mail-1 ((t (:bold t :inherit gnus-group-mail-1-empty)))) - '(gnus-group-mail-2 ((t (:bold t :inherit gnus-group-mail-2-empty)))) - '(gnus-group-mail-3 ((t (:bold t :inherit gnus-group-mail-3-empty)))) - '(gnus-group-mail-4 ((t (:bold t :inherit gnus-group-mail-4-empty)))) - '(gnus-group-mail-5 ((t (:bold t :inherit gnus-group-mail-5-empty)))) - '(gnus-group-mail-6 ((t (:bold t :inherit gnus-group-mail-6-empty)))) - '(gnus-group-mail-low ((t (:bold t :inherit gnus-group-mail-low-empty)))) - - `(gnus-signature ((t (:foreground ,zenburn-yellow)))) - - '(gnus-summary-selected - ((t (:inherit zenburn-primary-1)))) - '(gnus-summary-cancelled - ((t (:inherit zenburn-highlight-alerting)))) - - '(gnus-summary-low-ticked - ((t (:inherit zenburn-primary-2)))) - '(gnus-summary-normal-ticked - ((t (:inherit zenburn-primary-2)))) - '(gnus-summary-high-ticked - ((t (:inherit zenburn-primary-2)))) - - '(gnus-summary-low-unread - ((t (:inherit zenburn-foreground :weight normal)))) - '(gnus-summary-normal-unread - ((t (:inherit zenburn-foreground :weight normal)))) - '(gnus-summary-high-unread - ((t (:inherit zenburn-foreground :weight bold)))) - - '(gnus-summary-low-read - ((t (:inherit zenburn-green :weight normal)))) - '(gnus-summary-normal-read - ((t (:inherit zenburn-green :weight normal)))) - '(gnus-summary-high-read - ((t (:inherit zenburn-green :weight bold)))) - - '(gnus-summary-low-ancient - ((t (:inherit zenburn-blue :weight normal)))) - '(gnus-summary-normal-ancient - ((t (:inherit zenburn-blue :weight normal)))) - '(gnus-summary-high-ancient - ((t (:inherit zenburn-blue)))) - - '(help-argument-name ((t (:weight bold)))) - - ;; See also the variable definitions at the top of this file - '(imaxima-latex-error ((t (:inherit font-lock-warning)))) - - `(info-xref ((t (:foreground ,zenburn-yellow :weight bold)))) - '(info-xref-visited ((t (:inherit info-xref :weight normal)))) - '(info-header-xref ((t (:inherit info-xref)))) - `(info-menu-star ((t (:foreground ,zenburn-orange :weight bold)))) - `(info-menu-5 ((t (:inherit info-menu-star)))) - '(info-node ((t (:weight bold)))) - '(info-header-node ((t (:weight normal)))) - - '(jabber-roster-user-chatty - ((t (:inherit zenburn-primary-1)))) - '(jabber-roster-user-online - ((t (:inherit zenburn-primary-2)))) - '(jabber-roster-user-away - ((t (:inherit font-lock-doc)))) - '(jabber-roster-user-xa - ((t (:inherit font-lock-comment)))) - '(jabber-roster-user-offline - ((t (:inherit zenburn-lowlight-1)))) - '(jabber-roster-user-dnd - ((t (:inherit zenburn-primary-5)))) - '(jabber-roster-user-error - ((t (:inherit font-lock-warning)))) - - '(jabber-title-small - ((t (:inherit zenburn-title :height 1.2)))) - '(jabber-title-medium - ((t (:inherit jabber-title-small :height 1.2)))) - '(jabber-title-large - ((t (:inherit jabber-title-medium :height 1.2)))) - - '(jabber-chat-prompt-local - ((t (:inherit zenburn-primary-1)))) - '(jabber-chat-prompt-foreign - ((t (:inherit zenburn-primary-2)))) - - '(jabber-rare-time-face - ((t (:inherit zenburn-green+1)))) - - '(jde-java-font-lock-modifier - ((t (:inherit zenburn-primary-2)))) - '(jde-java-font-lock-doc-tag - ((t (:inherit zenburn-primary-1)))) - '(jde-java-font-lock-constant - ((t (:inherit font-lock-constant)))) - '(jde-java-font-lock-package - ((t (:inherit zenburn-primary-3)))) - '(jde-java-font-lock-number - ((t (:inherit font-lock-constant)))) - '(jde-java-font-lock-operator - ((t (:inherit font-lock-keyword)))) - '(jde-java-font-lock-link - ((t (:inherit zenburn-primary-5 :underline t)))) - - '(keywiz-right ((t (:inherit zenburn-primary-1)))) - '(keywiz-wrong ((t (:inherit font-lock-warning)))) - '(keywiz-command ((t (:inherit zenburn-primary-2)))) - - '(font-latex-bold ((t (:inherit bold)))) - '(font-latex-warning ((t (:inherit font-lock-warning)))) - '(font-latex-sedate ((t (:inherit zenburn-primary-1)))) - '(font-latex-title-4 ((t (:inherit zenburn-title)))) - - '(makefile-space ((t (:inherit font-lock-warning)))) - '(makefile-shell ((t (nil)))) - ;; This does not work very well because everything that's highlighted - ;; inside the shell region will get its own box. - ;; (makefile-shell ((t (:background "#4f4f4f" - ;; :box (:line-width 2 :color "#4f4f4f"))))) - - '(nxml-delimited-data ((t (:inherit font-lock-string)))) - '(nxml-name ((t (:inherit zenburn-primary-1)))) - '(nxml-ref ((t (:inherit zenburn-primary-5)))) - '(nxml-delimiter ((t (:inherit default)))) - '(nxml-text ((t (:inherit default)))) - - '(nxml-comment-content - ((t (:inherit font-lock-comment)))) - '(nxml-comment-delimiter - ((t (:inherit nxml-comment-content)))) - '(nxml-processing-instruction-target - ((t (:inherit zenburn-primary-2)))) - '(nxml-processing-instruction-delimiter - ((t (:inherit nxml-processing-instruction-target)))) - '(nxml-processing-instruction-content - ((t (:inherit nxml-processing-instruction-target)))) - '(nxml-cdata-section-CDATA - ((t (:inherit zenburn-primary-4)))) - '(nxml-cdata-section-delimiter - ((t (:inherit nxml-cdata-section-CDATA)))) - '(nxml-cdata-section-content - ((t (:inherit nxml-text)))) - '(nxml-entity-ref-name - ((t (:inherit zenburn-primary-5)))) - '(nxml-entity-ref-delimiter - ((t (:inherit nxml-entity-ref-name)))) - '(nxml-char-ref-number - ((t (:inherit nxml-entity-ref-name)))) - '(nxml-char-ref-delimiter - ((t (:inherit nxml-entity-ref-delimiter)))) - - '(nxml-tag-delimiter ((t (:inherit default)))) - '(nxml-tag-slash ((t (:inherit default)))) - '(nxml-element-local-name ((t (:inherit zenburn-primary-1)))) - '(nxml-element-prefix ((t (:inherit default)))) - '(nxml-element-colon ((t (:inherit default)))) - - '(nxml-attribute-local-name - ((t (:inherit zenburn-primary-3)))) - '(nxml-namespace-attribute-prefix - ((t (:inherit nxml-attribute-local-name)))) - '(nxml-attribute-value - ((t (:inherit font-lock-string)))) - '(nxml-attribute-value-delimiter - ((t (:inherit nxml-attribute-value)))) - '(nxml-attribute-prefix - ((t (:inherit default)))) - '(nxml-namespace-attribute-xmlns - ((t (:inherit nxml-attribute-prefix)))) - '(nxml-attribute-colon - ((t (:inherit default)))) - '(nxml-namespace-attribute-colon - ((t (:inherit nxml-attribute-colon)))) - - '(org-agenda-date-today ((t (:foreground "white" - :slant italic :weight bold))) t) ;; white - '(org-agenda-structure ((t (:inherit font-lock-comment-face)))) ;; zenburn-green - '(org-archived ((t (:foreground "#8f8f8f")))) ;; zenburn-bg slight lighter - '(org-column ((t (:height 98 :family "DejaVu Sans Mono")))) ;; n/a - '(org-checkbox ((t (:background "#5f5f5f" :foreground "white" ;; zenburn-fg on zenburn-bg+2 - :box (:line-width 1 :style released-button))))) ;; - turn checkboxes into buttons - '(org-date ((t (:foreground "#8cd0d3" :underline t)))) ;; zenburn-blue - '(org-deadline-announce ((t (:foreground "#bc8383")))) ;; zenburn-red-1 - '(org-done ((t (:bold t :weight bold :foreground "#afd8af")))) ;; zenburn-green+3 - '(org-formula ((t (:foreground "#d0bf8f")))) ;; zenburn-yellow-2 - '(org-headline-done ((t (:foreground "#afd8af")))) ;; zenburn-green+3 - '(org-hide ((t (:foreground "#282828")))) ;; zenburn-bg slight darker - '(org-level-1 ((t (:foreground "#dfaf8f")))) ;; zenburn-orange - '(org-level-2 ((t (:foreground "#f0dfaf")))) ;; zenburn-yellow - '(org-level-3 ((t (:foreground "#8cd0d3")))) ;; zenburn-blue - '(org-level-4 ((t (:foreground "#93e0e3")))) ;; zenburn-cyan - '(org-level-5 ((t (:foreground "#7cb8bb")))) ;; zenburn-blue-1 - '(org-level-6 ((t (:foreground "#6ca0a3")))) ;; zenburn-blue-2 - '(org-level-7 ((t (:foreground "#5c888b")))) ;; zenburn-blue-3 - '(org-level-8 ((t (:foreground "#4c7073")))) ;; zenburn-blue-4 - '(org-link ((t (:foreground "#d0bf8f" :underline t)))) ;; zenburn-yellow-2 - ;'(org-priority faces TODO - '(org-scheduled ((t (:foreground "#bfebbf")))) ;; zenburn-green+4 - '(org-scheduled-previously ((t (:foreground "#8c5353")))) ;; zenburn-red-4 - '(org-scheduled-today ((t (:foreground "#94bff3")))) ;; zenburn-blue+1 - '(org-special-keyword ((t (:foreground "#e0cf9f")))) ;; zenburn-yellow-1 - '(org-table ((t (:foreground "#9fc59f")))) ;; zenburn-green+2 - '(org-tag ((t (:bold t :weight bold)))) ;; n/a - '(org-time-grid ((t (:foreground "#ffc9a4")))) ;; zenburn-orange slight lighter - '(org-todo ((t (:bold t :foreground "#cc9393" :weight bold)))) ;; zenburn-red - '(org-upcoming-deadline ((t (:inherit font-lock-keyword-face)))) ;; zenburn-fg - '(org-warning ((t (:bold t :foreground "#cc9393" :weight bold))));; zenburn-red - - ;; TODO - '(outline-8 ((t (:inherit default)))) - '(outline-7 ((t (:inherit outline-8 :height 1.0)))) - '(outline-6 ((t (:inherit outline-7 :height 1.0)))) - '(outline-5 ((t (:inherit outline-6 :height 1.0)))) - '(outline-4 ((t (:inherit outline-5 :height 1.0)))) - '(outline-3 ((t (:inherit outline-4 :height 1.0)))) - '(outline-2 ((t (:inherit outline-3 :height 1.0)))) - '(outline-1 ((t (:inherit outline-2 :height 1.0)))) - - '(setnu-line-number ((t (:inherit zenburn-lowlight-2)))) - - '(speedbar-button ((t (:inherit zenburn-primary-1)))) - '(speedbar-file ((t (:inherit zenburn-primary-2)))) - '(speedbar-directory ((t (:inherit zenburn-primary-5)))) - '(speedbar-tag ((t (:inherit font-lock-function-name)))) - '(speedbar-highlight ((t (:underline t)))) - - '(strokes-char ((t (:inherit font-lock-keyword)))) - - '(todoo-item-header - ((t (:inherit zenburn-primary-1)))) - '(todoo-item-assigned-header - ((t (:inherit zenburn-primary-2)))) - `(todoo-sub-item-header - ((t (:foreground ,zenburn-yellow)))) - - '(tuareg-font-lock-governing - ((t (:inherit zenburn-primary-2)))) - '(tuareg-font-lock-interactive-error - ((t (:inherit font-lock-warning)))) - '(tuareg-font-lock-interactive-output - ((t (:inherit zenburn-primary-3)))) - '(tuareg-font-lock-operator - ((t (:inherit font-lock-operator)))) - - '(w3m-form-button - ((t (:inherit widget-button)))) - '(w3m-form-button-pressed - ((t (:inherit widget-button-pressed)))) - '(w3m-form-button-mouse - ((t (:inherit widget-button-pressed)))) - '(w3m-tab-unselected - ((t (:box (:line-width 1 :style released-button))))) - '(w3m-tab-selected - ((t (:box (:line-width 1 :style pressed-button))))) - '(w3m-tab-unselected-retrieving - ((t (:inherit (w3m-tab-unselected widget-inactive))))) - '(w3m-tab-selected-retrieving - ((t (:inherit (w3m-tab-selected widget-inactive))))) - '(w3m-tab-background - ((t (:inherit zenburn-highlight-subtle)))) - '(w3m-anchor - ((t (:inherit zenburn-primary-1)))) - '(w3m-arrived-anchor - ((t (:inherit zenburn-primary-2)))) - '(w3m-image - ((t (:inherit zenburn-primary-4)))) - '(w3m-form - ((t (:inherit widget-field))))) - - (zenburn-make-face-alias-clauses - '(Buffer-menu-buffer-face - apt-utils-broken-face - apt-utils-description-face - apt-utils-field-contents-face - apt-utils-field-keyword-face - apt-utils-normal-package-face - apt-utils-summary-face - apt-utils-version-face - apt-utils-virtual-package-face - breakpoint-disabled-bitmap-face - breakpoint-enabled-bitmap-face - calendar-today-face - change-log-date-face - compilation-info-face - compilation-warning-face - cua-rectangle-face - custom-button-face - custom-button-pressed-face - custom-changed-face - custom-comment-face - custom-comment-tag-face - custom-documentation-face - custom-face-tag-face - custom-group-tag-face - custom-group-tag-face-1 - custom-invalid-face - custom-modified-face - custom-rogue-face - custom-saved-face - custom-set-face - custom-state-face - custom-variable-button-face - custom-variable-tag-face - diary-face - dictionary-button-face - dictionary-reference-face - dictionary-word-entry-face - diff-added-face - diff-context-face - diff-file-header-face - diff-header-face - diff-hunk-header-face - diff-index-face - diff-removed-face - emms-pbi-current-face - emms-pbi-mark-marked-face - emms-pbi-song-face - erc-action-face - erc-bold-face - erc-current-nick-face - erc-dangerous-host-face - erc-default-face - erc-direct-msg-face - erc-error-face - erc-fool-face - erc-highlight-face - erc-input-face - erc-keyword-face - erc-nick-default-face - erc-nick-msg-face - erc-notice-face - erc-pal-face - erc-prompt-face - erc-timestamp-face - erc-underline-face - eshell-ls-archive-face - eshell-ls-backup-face - eshell-ls-clutter-face - eshell-ls-directory-face - eshell-ls-executable-face - eshell-ls-missing-face - eshell-ls-product-face - eshell-ls-special-face - eshell-ls-symlink-face - eshell-ls-unreadable-face - eshell-prompt-face - fancy-widget-button-face - fancy-widget-button-highlight-face - fancy-widget-button-pressed-face - fancy-widget-button-pressed-highlight-face - fancy-widget-documentation-face - fancy-widget-field-face - fancy-widget-inactive-face - fancy-widget-single-line-field-face - font-latex-bold-face - font-latex-sedate-face - font-latex-title-4-face - font-latex-warning-face - font-lock-builtin-face - font-lock-comment-delimiter-face - font-lock-comment-face - font-lock-constant-face - font-lock-doc-face - font-lock-function-name-face - font-lock-keyword-face - font-lock-negation-char-face - font-lock-operator-face - font-lock-preprocessor-face - font-lock-pseudo-keyword-face - font-lock-string-face - font-lock-type-face - font-lock-variable-name-face - font-lock-warning-face - gnus-cite-face-1 - gnus-cite-face-10 - gnus-cite-face-11 - gnus-cite-face-2 - gnus-cite-face-3 - gnus-cite-face-4 - gnus-cite-face-5 - gnus-cite-face-6 - gnus-cite-face-7 - gnus-cite-face-8 - gnus-cite-face-9 - gnus-group-mail-1-empty-face - gnus-group-mail-2-empty-face - gnus-group-mail-3-empty-face - gnus-group-mail-3-face - gnus-group-news-1-empty-face - gnus-group-news-2-empty-face - gnus-group-news-3-empty-face - gnus-header-content-face - gnus-header-from-face - gnus-header-name-face - gnus-header-newsgroups-face - gnus-header-subject-face - gnus-signature-face - gnus-summary-cancelled-face - gnus-summary-high-ancient-face - gnus-summary-high-read-face - gnus-summary-high-ticked-face - gnus-summary-high-unread-face - gnus-summary-low-ancient-face - gnus-summary-low-read-face - gnus-summary-low-ticked-face - gnus-summary-low-unread-face - gnus-summary-normal-ancient-face - gnus-summary-normal-read-face - gnus-summary-normal-ticked-face - gnus-summary-normal-unread-face - gnus-summary-selected-face - highlight-current-line-face - holiday-face - ibuffer-deletion-face - ibuffer-help-buffer-face - ibuffer-marked-face - ibuffer-special-buffer-face - ido-first-match-face - ido-only-match-face - ido-subdir-face - imaxima-latex-error-face - isearch-lazy-highlight-face - jde-java-font-lock-constant-face - jde-java-font-lock-doc-tag-face - jde-java-font-lock-link-face - jde-java-font-lock-modifier-face - jde-java-font-lock-number-face - jde-java-font-lock-operator-face - jde-java-font-lock-package-face - keywiz-command-face - keywiz-right-face - keywiz-wrong-face - makefile-shell-face - makefile-space-face - message-cited-text-face - message-header-cc-face - message-header-from-face - message-header-name-face - message-header-newsgroups-face - message-header-other-face - message-header-subject-face - message-header-to-face - message-header-xheader-face - message-mml-face - message-separator-face - mtorus-highlight-face - mtorus-notify-highlight-face - nxml-attribute-colon-face - nxml-attribute-local-name-face - nxml-attribute-prefix-face - nxml-attribute-value-delimiter-face - nxml-attribute-value-face - nxml-cdata-section-CDATA-face - nxml-cdata-section-content-face - nxml-cdata-section-delimiter-face - nxml-char-ref-delimiter-face - nxml-char-ref-number-face - nxml-comment-content-face - nxml-comment-delimiter-face - nxml-delimited-data-face - nxml-delimiter-face - nxml-element-colon-face - nxml-element-local-name-face - nxml-element-prefix-face - nxml-entity-ref-delimiter-face - nxml-entity-ref-name-face - nxml-name-face - nxml-namespace-attribute-colon-face - nxml-namespace-attribute-prefix-face - nxml-namespace-attribute-xmlns-face - nxml-processing-instruction-content-face - nxml-processing-instruction-delimiter-face - nxml-processing-instruction-target-face - nxml-ref-face - nxml-tag-delimiter-face - nxml-tag-slash-face - nxml-text-face - org-agenda-date-today-face - org-agenda-structure-face - org-archived-face - org-column-face - ;org-checkbox-face - org-date-face - org-deadline-announce-face - org-done-face - org-formula-face - org-headline-done-face - org-hide-face - org-level-1-face - org-level-2-face - org-level-3-face - org-level-4-face - org-level-5-face - org-level-6-face - org-level-7-face - org-level-8-face - org-link-face - ;org-priority-face - org-scheduled-face - org-scheduled-previously-face - org-scheduled-today-face - org-special-keyword-face - org-table-face - org-tag-face - org-time-grid-face - org-todo-face - org-upcoming-deadline-face - org-warning-face - paren-face - plain-widget-button-face - plain-widget-button-pressed-face - plain-widget-documentation-face - plain-widget-field-face - plain-widget-inactive-face - plain-widget-single-line-field-face - setnu-line-number-face - show-paren-match-face - show-paren-mismatch-face - speedbar-button-face - speedbar-directory-face - speedbar-file-face - speedbar-highlight-face - speedbar-tag-face - strokes-char-face - todoo-item-assigned-header-face - todoo-item-header-face - todoo-sub-item-header-face - tuareg-font-lock-governing-face - tuareg-font-lock-interactive-error-face - tuareg-font-lock-interactive-output-face - tuareg-font-lock-operator-face - w3m-anchor-face - w3m-arrived-anchor-face - w3m-form-button-face - w3m-form-button-mouse-face - w3m-form-button-pressed-face - w3m-form-face - w3m-image-face - w3m-tab-background-face - w3m-tab-selected-face - w3m-tab-selected-retrieving-face - w3m-tab-unselected-face - w3m-tab-unselected-retrieving-face - widget-button-face - widget-button-highlight-face - widget-button-pressed-face - widget-button-pressed-highlight-face - widget-documentation-face - widget-field-face - widget-inactive-face - widget-single-line-field-face)) - ))) - -(defalias 'zenburn #'color-theme-zenburn) - -(provide 'zenburn) - -;; Local Variables: -;; time-stamp-format: "%:y-%02m-%02d %02H:%02M" -;; time-stamp-start: "Updated: " -;; time-stamp-end: "$" -;; End: - -;;; zenburn.el ends here. diff --git a/.gitignore b/.gitignore index 0000362..c531d98 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1 @@ -*~ -*session.* -*\#* -.emacs.d/ac-comphist.dat -local_* *.elc -rc2.lua diff --git a/README b/README deleted file mode 100644 index 538f3d5..0000000 --- a/README +++ /dev/null @@ -1,7 +0,0 @@ -To use these settings you need: - * Pyflakes - -To install this in Ubuntu use: - sudo apt-get install pyflakes -To install this in Fedora use: - su -c "yum install pyflakes" \ No newline at end of file diff --git a/dotawesome/.gitignore b/dotawesome/.gitignore deleted file mode 100644 index b25c15b..0000000 --- a/dotawesome/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*~ diff --git a/dotawesome/rc.lua b/dotawesome/rc.lua deleted file mode 100644 index de0902b..0000000 --- a/dotawesome/rc.lua +++ /dev/null @@ -1,454 +0,0 @@ --- Standard awesome library -require("awful") -require("awful.autofocus") -require("awful.rules") --- Theme handling library -require("beautiful") --- Notification library -require("naughty") ---require("vicious") --- {{{ Variable definitions --- Themes define colours, icons, and wallpapers -beautiful.init(os.getenv("HOME") .. "/.config/awesome/themes/default/theme.lua") - --- Functions -function switch_tag (i) - local screen = mouse.screen - if tags[screen][i] then - awful.tag.viewonly(tags[screen][i]) - end -end - -function toggle_tag (i) - local screen = mouse.screen - if tags[screen][i] then - awful.tag.viewtoggle(tags[screen][i]) - end -end - -function move_to_tag (i) - if client.focus and tags[client.focus.screen][i] then - awful.client.movetotag(tags[client.focus.screen][i]) - end -end - -function toggle_client_tag (i) - if client.focus and tags[client.focus.screen][i] then - awful.client.toggletag(tags[client.focus.screen][i]) - end -end - -function fexists(n) - local f = io.open(n) - - print(f) - print(f == nil) - - if f == nil then - print("returning false") - return false - end - - print("returning true") - io.close(f) - return true -end - --- This is used later as the default terminal and editor to run. -terminal = "urxvt" -editor = "emacs" -editor_cmd = editor -locker = "i3lock -c 000000" - --- Default modkey. --- Usually, Mod4 is the key with a logo between Control and Alt. --- If you do not like this or do not have such a key, --- I suggest you to remap Mod4 to another key using xmodmap or other tools. --- However, you can use another modifier like Mod1, but it may interact with others. -modkey = "Mod4" - --- Table of layouts to cover with awful.layout.inc, order matters. -layouts = -{ - awful.layout.suit.tile, - awful.layout.suit.tile.left, - awful.layout.suit.tile.bottom, - awful.layout.suit.tile.top, - awful.layout.suit.fair, - awful.layout.suit.fair.horizontal, - awful.layout.suit.spiral, - awful.layout.suit.spiral.dwindle, - awful.layout.suit.max, - awful.layout.suit.max.fullscreen, - awful.layout.suit.magnifier, - awful.layout.suit.floating -} --- }}} - --- {{{ Tags --- Define a tag table which hold all screen tags. -tags = {} -for s = 1, screen.count() do - -- Each screen has its own tag table. - tags[s] = awful.tag({ "Q", "W", "E", "A", "S", "D", "Z", "X", "C" }, s, layouts[1]) -end --- }}} - --- {{{ Menu --- Create a laucher widget and a main menu -myawesomemenu = { - { "manual", terminal .. " -e man awesome" }, - { "edit config", editor_cmd .. " " .. awful.util.getdir("config") .. "/rc.lua" }, - { "restart", awesome.restart }, - { "quit", awesome.quit } -} - -mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon }, - { "open terminal", terminal } - } - }) - -mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon), - menu = mymainmenu }) --- }}} - --- {{{ Wibox --- Create a textclock widget -mytextclock = awful.widget.textclock({ align = "right" }) - --- Create Network usage widget ---netwidget = widget({ type = "textbox" }) ---vicious.register(netwidget, vicious.net, "down:${eth0 down_kb} up:${eth0 up_kb}") - --- Create a systray -mysystray = widget({ type = "systray" }) - --- Create a wibox for each screen and add it -mywibox = {} -mypromptbox = {} -mylayoutbox = {} -mytaglist = {} -mytaglist.buttons = awful.util.table.join( - awful.button({ }, 1, awful.tag.viewonly), - awful.button({ modkey }, 1, awful.client.movetotag), - awful.button({ }, 3, awful.tag.viewtoggle), - awful.button({ modkey }, 3, awful.client.toggletag), - awful.button({ }, 4, awful.tag.viewnext), - awful.button({ }, 5, awful.tag.viewprev) - ) -mytasklist = {} -mytasklist.buttons = awful.util.table.join( - awful.button({ }, 1, function (c) - if not c:isvisible() then - awful.tag.viewonly(c:tags()[1]) - end - client.focus = c - c:raise() - end), - awful.button({ }, 3, function () - if instance then - instance:hide() - instance = nil - else - instance = awful.menu.clients({ width=250 }) - end - end), - awful.button({ }, 4, function () - awful.client.focus.byidx(1) - if client.focus then client.focus:raise() end - end), - awful.button({ }, 5, function () - awful.client.focus.byidx(-1) - if client.focus then client.focus:raise() end - end)) -xmms2_playing = false --- Create a previous button -myprevbutton = widget({ type = "imagebox" }) -myprevbutton.image = image(beautiful.xmms2_previous_icon) -myprevbutton:buttons(awful.util.table.join( - awful.button({ }, 1, - function () - awful.util.spawn("xmms2 prev") - end) - )) --- Create a play button -myplaybutton = widget({ type = "imagebox" }) -myplaybutton.image = image(beautiful.xmms2_play_icon) -myplaybutton:buttons(awful.util.table.join( - awful.button({ }, 1, - function () - awful.util.spawn("xmms2 toggleplay") - if xmms2_playing then xmms2_playing = false else xmms2_playing = true end - if xmms2_playing then - myplaybutton.image = image(beautiful.xmms2_pause_icon) - else - myplaybutton.image = image(beautiful.xmms2_play_icon) - end - end) - )) --- Create a stop button -mystopbutton = widget({ type = "imagebox" }) -mystopbutton.image = image(beautiful.xmms2_stop_icon) -mystopbutton:buttons(awful.util.table.join( - awful.button({ }, 1, - function () - if xmms2_playing then - xmms2_playing = false - myplaybutton.image = image(beautiful.xmms2_play_icon) - end - awful.util.spawn("xmms2 stop") - end) - )) --- Create a next button -mynextbutton = widget({ type = "imagebox" }) -mynextbutton.image = image(beautiful.xmms2_next_icon) -mynextbutton:buttons(awful.util.table.join( - awful.button({ }, 1, - function () - awful.util.spawn("xmms2 next") - end) - )) - -for s = 1, screen.count() do - -- Create a promptbox for each screen - mypromptbox[s] = awful.widget.prompt({ layout = awful.widget.layout.horizontal.leftright }) - -- Create an imagebox widget which will contains an icon indicating which layout we're using. - -- We need one layoutbox per screen. - mylayoutbox[s] = awful.widget.layoutbox(s) - mylayoutbox[s]:buttons(awful.util.table.join( - awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end), - awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end), - awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end), - awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end))) - -- Create a taglist widget - mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.label.all, mytaglist.buttons) - - -- Create a tasklist widget - mytasklist[s] = awful.widget.tasklist(function(c) - return awful.widget.tasklist.label.currenttags(c, s) - end, mytasklist.buttons) - - -- Create the wibox - mywibox[s] = awful.wibox({ position = "top", screen = s }) - -- Add widgets to the wibox - order matters - mywibox[s].widgets = { - { - mylauncher, - mytaglist[s], - mypromptbox[s], - layout = awful.widget.layout.horizontal.leftright - }, - mylayoutbox[s], - mynextbutton, - mystopbutton, - myplaybutton, - myprevbutton, - mytextclock, - s == 1 and mysystray or nil, - mytasklist[s], - layout = awful.widget.layout.horizontal.rightleft - } -end --- }}} - --- {{{ Mouse bindings -root.buttons(awful.util.table.join( - awful.button({ }, 3, function () mymainmenu:toggle() end), - awful.button({ }, 4, awful.tag.viewnext), - awful.button({ }, 5, awful.tag.viewprev) -)) --- }}} - --- {{{ Key bindings -globalkeys = awful.util.table.join( - awful.key({ modkey, }, "Left", awful.tag.viewprev ), - awful.key({ modkey, }, "Right", awful.tag.viewnext ), - awful.key({ modkey, }, "Escape", awful.tag.history.restore), - - awful.key({ modkey, }, "j", - function () - awful.client.focus.byidx( 1) - if client.focus then client.focus:raise() end - end), - awful.key({ modkey, }, "k", - function () - awful.client.focus.byidx(-1) - if client.focus then client.focus:raise() end - end), - awful.key({ modkey, "Mod1" }, "w", function () mymainmenu:show(true) end), - - -- Layout manipulation - awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end), - awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end), - awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end), - awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end), - awful.key({ modkey, }, "u", awful.client.urgent.jumpto), - awful.key({ modkey, }, "Tab", - function () - awful.client.focus.history.previous() - if client.focus then - client.focus:raise() - end - end), - - -- Standard program - awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end), - awful.key({ modkey, "Control" }, "r", awesome.restart), - awful.key({ modkey, "Mod1" }, "q", awesome.quit), - awful.key({ "Mod1", "Control" }, "l", function () awful.util.spawn(locker) end), - - awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end), - awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end), - awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1) end), - awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1) end), - awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1) end), - awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1) end), - awful.key({ modkey, }, "space", function () awful.layout.inc(layouts, 1) end), - awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end), - - -- Extra tag bindings - awful.key({ modkey, }, "q", function () switch_tag(1) end), - awful.key({ modkey, }, "w", function () switch_tag(2) end), - awful.key({ modkey, }, "e", function () switch_tag(3) end), - awful.key({ modkey, }, "a", function () switch_tag(4) end), - awful.key({ modkey, }, "s", function () switch_tag(5) end), - awful.key({ modkey, }, "d", function () switch_tag(6) end), - awful.key({ modkey, }, "z", function () switch_tag(7) end), - awful.key({ modkey, }, "x", function () switch_tag(8) end), - awful.key({ modkey, }, "c", function () switch_tag(9) end), - - awful.key({ modkey, "Control" }, "q", function () toggle_tag(1) end), - awful.key({ modkey, "Control" }, "w", function () toggle_tag(2) end), - awful.key({ modkey, "Control" }, "e", function () toggle_tag(3) end), - awful.key({ modkey, "Control" }, "a", function () toggle_tag(4) end), - awful.key({ modkey, "Control" }, "s", function () toggle_tag(5) end), - awful.key({ modkey, "Control" }, "d", function () toggle_tag(6) end), - awful.key({ modkey, "Control" }, "z", function () toggle_tag(7) end), - awful.key({ modkey, "Control" }, "x", function () toggle_tag(8) end), - awful.key({ modkey, "Control" }, "c", function () toggle_tag(9) end), - - awful.key({ modkey, "Shift" }, "q", function () move_to_tag(1) end), - awful.key({ modkey, "Shift" }, "w", function () move_to_tag(2) end), - awful.key({ modkey, "Shift" }, "e", function () move_to_tag(3) end), - awful.key({ modkey, "Shift" }, "a", function () move_to_tag(4) end), - awful.key({ modkey, "Shift" }, "s", function () move_to_tag(5) end), - awful.key({ modkey, "Shift" }, "d", function () move_to_tag(6) end), - awful.key({ modkey, "Shift" }, "z", function () move_to_tag(7) end), - awful.key({ modkey, "Shift" }, "x", function () move_to_tag(8) end), - awful.key({ modkey, "Shift" }, "c", function () move_to_tag(9) end), - - awful.key({ modkey, "Control", "Shift" }, "q", function () toggle_client_tag(1) end), - awful.key({ modkey, "Control", "Shift" }, "w", function () toggle_client_tag(2) end), - awful.key({ modkey, "Control", "Shift" }, "e", function () toggle_client_tag(3) end), - awful.key({ modkey, "Control", "Shift" }, "a", function () toggle_client_tag(4) end), - awful.key({ modkey, "Control", "Shift" }, "s", function () toggle_client_tag(5) end), - awful.key({ modkey, "Control", "Shift" }, "d", function () toggle_client_tag(6) end), - awful.key({ modkey, "Control", "Shift" }, "z", function () toggle_client_tag(7) end), - awful.key({ modkey, "Control", "Shift" }, "x", function () toggle_client_tag(8) end), - awful.key({ modkey, "Control", "Shift" }, "c", function () toggle_client_tag(9) end), - - -- Prompt - awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end), - - awful.key({ modkey, "Mod1" }, "x", - function () - awful.prompt.run({ prompt = "Run Lua code: " }, - mypromptbox[mouse.screen].widget, - awful.util.eval, nil, - awful.util.getdir("cache") .. "/history_eval") - end) -) - -clientkeys = awful.util.table.join( - awful.key({ modkey, }, "f", function (c) c.fullscreen = not c.fullscreen end), - awful.key({ modkey, "Mod1" }, "c", function (c) c:kill() end), - awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ), - awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end), - awful.key({ modkey, }, "o", awful.client.movetoscreen ), - awful.key({ modkey, "Shift" }, "r", function (c) c:redraw() end), - awful.key({ modkey, }, "n", function (c) c.minimized = not c.minimized end), - awful.key({ modkey, }, "m", - function (c) - c.maximized_horizontal = not c.maximized_horizontal - c.maximized_vertical = not c.maximized_vertical - end) -) - --- Compute the maximum number of digit we need, limited to 9 -keynumber = 0 -for s = 1, screen.count() do - keynumber = math.min(9, math.max(#tags[s], keynumber)); -end - -clientbuttons = awful.util.table.join( - awful.button({ }, 1, function (c) client.focus = c; c:raise() end), - awful.button({ modkey }, 1, awful.mouse.client.move), - awful.button({ modkey }, 3, awful.mouse.client.resize)) - --- Set keys -root.keys(globalkeys) --- }}} - --- {{{ Rules -awful.rules.rules = { - -- All clients will match this rule. - { rule = { }, - properties = { border_width = beautiful.border_width, - border_color = beautiful.border_normal, - focus = true, - keys = clientkeys, - buttons = clientbuttons } }, - { rule = { class = "MPlayer" }, - properties = { floating = true } }, - { rule = { class = "pinentry" }, - properties = { floating = true } }, - { rule = { class = "gimp" }, - properties = { floating = true } }, - { rule = { class = "gwibber", name = "gwibber" }, - properties = { floating = true } }, - -- Set Firefox to always map on tags number 2 of screen 1. - -- { rule = { class = "Firefox" }, - -- properties = { tag = tags[1][2] } }, -} --- }}} - --- {{{ Signals --- Signal function to execute when a new client appears. -client.add_signal("manage", function (c, startup) - -- Add a titlebar - -- awful.titlebar.add(c, { modkey = modkey }) - - -- Enable sloppy focus - c:add_signal("mouse::enter", function(c) - if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier - and awful.client.focus.filter(c) then - client.focus = c - end - end) - - if not startup then - -- Set the windows at the slave, - -- i.e. put it at the end of others instead of setting it master. - -- awful.client.setslave(c) - - -- Put windows in a smart way, only if they does not set an initial position. - if not c.size_hints.user_position and not c.size_hints.program_position then - awful.placement.no_overlap(c) - awful.placement.no_offscreen(c) - end - end -end) - -client.add_signal("focus", function(c) - c.border_color = beautiful.border_focus - -- c.opacity = 1 - end) -client.add_signal("unfocus", function(c) - c.border_color = beautiful.border_normal - -- c.opacity = 0.7 - end) --- }}} - -if fexists(os.getenv("HOME") .. "/.config/awesome/local_rc.lua") then - dofile(os.getenv("HOME") .. "/.config/awesome/local_rc.lua") -end diff --git a/dotawesome/themes/default/background.png b/dotawesome/themes/default/background.png deleted file mode 100644 index 0d882b7..0000000 Binary files a/dotawesome/themes/default/background.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/dwindle.png b/dotawesome/themes/default/layouts/dwindle.png deleted file mode 100644 index 943ece5..0000000 Binary files a/dotawesome/themes/default/layouts/dwindle.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/dwindlew.png b/dotawesome/themes/default/layouts/dwindlew.png deleted file mode 100644 index 36de1ba..0000000 Binary files a/dotawesome/themes/default/layouts/dwindlew.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/fairh.png b/dotawesome/themes/default/layouts/fairh.png deleted file mode 100644 index b4e289d..0000000 Binary files a/dotawesome/themes/default/layouts/fairh.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/fairhw.png b/dotawesome/themes/default/layouts/fairhw.png deleted file mode 100644 index 514d66d..0000000 Binary files a/dotawesome/themes/default/layouts/fairhw.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/fairv.png b/dotawesome/themes/default/layouts/fairv.png deleted file mode 100644 index e5aad70..0000000 Binary files a/dotawesome/themes/default/layouts/fairv.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/fairvw.png b/dotawesome/themes/default/layouts/fairvw.png deleted file mode 100644 index f97ce56..0000000 Binary files a/dotawesome/themes/default/layouts/fairvw.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/floating.png b/dotawesome/themes/default/layouts/floating.png deleted file mode 100644 index cbc7804..0000000 Binary files a/dotawesome/themes/default/layouts/floating.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/floatingw.png b/dotawesome/themes/default/layouts/floatingw.png deleted file mode 100644 index 7ddf7ae..0000000 Binary files a/dotawesome/themes/default/layouts/floatingw.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/fullscreen.png b/dotawesome/themes/default/layouts/fullscreen.png deleted file mode 100644 index 46716f5..0000000 Binary files a/dotawesome/themes/default/layouts/fullscreen.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/fullscreenw.png b/dotawesome/themes/default/layouts/fullscreenw.png deleted file mode 100644 index 2c3cfad..0000000 Binary files a/dotawesome/themes/default/layouts/fullscreenw.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/magnifier.png b/dotawesome/themes/default/layouts/magnifier.png deleted file mode 100644 index 1476555..0000000 Binary files a/dotawesome/themes/default/layouts/magnifier.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/magnifierw.png b/dotawesome/themes/default/layouts/magnifierw.png deleted file mode 100644 index 97c1d11..0000000 Binary files a/dotawesome/themes/default/layouts/magnifierw.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/max.png b/dotawesome/themes/default/layouts/max.png deleted file mode 100644 index 4246d56..0000000 Binary files a/dotawesome/themes/default/layouts/max.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/maxw.png b/dotawesome/themes/default/layouts/maxw.png deleted file mode 100644 index 14c161a..0000000 Binary files a/dotawesome/themes/default/layouts/maxw.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/spiral.png b/dotawesome/themes/default/layouts/spiral.png deleted file mode 100644 index a24faf5..0000000 Binary files a/dotawesome/themes/default/layouts/spiral.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/spiralw.png b/dotawesome/themes/default/layouts/spiralw.png deleted file mode 100644 index f34ceb0..0000000 Binary files a/dotawesome/themes/default/layouts/spiralw.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/tile.png b/dotawesome/themes/default/layouts/tile.png deleted file mode 100644 index 071a385..0000000 Binary files a/dotawesome/themes/default/layouts/tile.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/tilebottom.png b/dotawesome/themes/default/layouts/tilebottom.png deleted file mode 100644 index aeedbe2..0000000 Binary files a/dotawesome/themes/default/layouts/tilebottom.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/tilebottomw.png b/dotawesome/themes/default/layouts/tilebottomw.png deleted file mode 100644 index f42da9d..0000000 Binary files a/dotawesome/themes/default/layouts/tilebottomw.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/tileleft.png b/dotawesome/themes/default/layouts/tileleft.png deleted file mode 100644 index ab55e08..0000000 Binary files a/dotawesome/themes/default/layouts/tileleft.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/tileleftw.png b/dotawesome/themes/default/layouts/tileleftw.png deleted file mode 100644 index c18e7b4..0000000 Binary files a/dotawesome/themes/default/layouts/tileleftw.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/tiletop.png b/dotawesome/themes/default/layouts/tiletop.png deleted file mode 100644 index 3febc35..0000000 Binary files a/dotawesome/themes/default/layouts/tiletop.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/tiletopw.png b/dotawesome/themes/default/layouts/tiletopw.png deleted file mode 100644 index daf965f..0000000 Binary files a/dotawesome/themes/default/layouts/tiletopw.png and /dev/null differ diff --git a/dotawesome/themes/default/layouts/tilew.png b/dotawesome/themes/default/layouts/tilew.png deleted file mode 100644 index c722a35..0000000 Binary files a/dotawesome/themes/default/layouts/tilew.png and /dev/null differ diff --git a/dotawesome/themes/default/submenu.png b/dotawesome/themes/default/submenu.png deleted file mode 100644 index b2778e2..0000000 Binary files a/dotawesome/themes/default/submenu.png and /dev/null differ diff --git a/dotawesome/themes/default/taglist/squarefw.png b/dotawesome/themes/default/taglist/squarefw.png deleted file mode 100644 index 2a86430..0000000 Binary files a/dotawesome/themes/default/taglist/squarefw.png and /dev/null differ diff --git a/dotawesome/themes/default/taglist/squarew.png b/dotawesome/themes/default/taglist/squarew.png deleted file mode 100644 index 913f2ca..0000000 Binary files a/dotawesome/themes/default/taglist/squarew.png and /dev/null differ diff --git a/dotawesome/themes/default/tasklist/floating.png b/dotawesome/themes/default/tasklist/floating.png deleted file mode 100644 index f29e7f5..0000000 Binary files a/dotawesome/themes/default/tasklist/floating.png and /dev/null differ diff --git a/dotawesome/themes/default/tasklist/floatingw.png b/dotawesome/themes/default/tasklist/floatingw.png deleted file mode 100644 index eb802ae..0000000 Binary files a/dotawesome/themes/default/tasklist/floatingw.png and /dev/null differ diff --git a/dotawesome/themes/default/theme.lua b/dotawesome/themes/default/theme.lua deleted file mode 100644 index 63711b5..0000000 --- a/dotawesome/themes/default/theme.lua +++ /dev/null @@ -1,99 +0,0 @@ -base_loc = os.getenv("HOME") .. "/.config/awesome/themes/default/" ---------------------------- --- Default awesome theme -- ---------------------------- - -theme = {} - -theme.font = "sans 8" - -theme.bg_normal = "#000000" -theme.bg_focus = "#333333" -theme.bg_urgent = "#ff0000" -theme.bg_minimize = "#444444" - -theme.fg_normal = "#aaaaaa" -theme.fg_focus = "#ffffff" -theme.fg_urgent = "#ffffff" -theme.fg_minimize = "#ffffff" - -theme.border_width = "1" -theme.border_normal = "#000000" -theme.border_focus = "#535d6c" -theme.border_marked = "#91231c" - --- There are another variables sets --- overriding the default one when --- defined, the sets are: --- [taglist|tasklist]_[bg|fg]_[focus|urgent] --- titlebar_[bg|fg]_[normal|focus] --- Example: ---taglist_bg_focus = #ff0000 - --- Display the taglist squares -theme.taglist_squares_sel = base_loc .. "taglist/squarefw.png" -theme.taglist_squares_unsel = base_loc .. "taglist/squarew.png" - -theme.tasklist_floating_icon = base_loc .. "tasklist/floatingw.png" - --- Variables set for theming menu --- menu_[bg|fg]_[normal|focus] --- menu_[border_color|border_width] -theme.menu_submenu_icon = base_loc .. "submenu.png" -theme.menu_height = "15" -theme.menu_width = "100" - --- You can add as many variables as --- you wish and access them by using --- beautiful.variable in your rc.lua ---bg_widget = #cc0000 - --- Define the image to load -theme.titlebar_close_button_normal = base_loc .. "titlebar/close_normal.png" -theme.titlebar_close_button_focus = base_loc .. "titlebar/close_focus.png" - -theme.titlebar_ontop_button_normal_inactive = base_loc .. "titlebar/ontop_normal_inactive.png" -theme.titlebar_ontop_button_focus_inactive = base_loc .. "titlebar/ontop_focus_inactive.png" -theme.titlebar_ontop_button_normal_active = base_loc .. "titlebar/ontop_normal_active.png" -theme.titlebar_ontop_button_focus_active = base_loc .. "titlebar/ontop_focus_active.png" - -theme.titlebar_sticky_button_normal_inactive = base_loc .. "titlebar/sticky_normal_inactive.png" -theme.titlebar_sticky_button_focus_inactive = base_loc .. "titlebar/sticky_focus_inactive.png" -theme.titlebar_sticky_button_normal_active = base_loc .. "titlebar/sticky_normal_active.png" -theme.titlebar_sticky_button_focus_active = base_loc .. "titlebar/sticky_focus_active.png" - -theme.titlebar_floating_button_normal_inactive = base_loc .. "titlebar/floating_normal_inactive.png" -theme.titlebar_floating_button_focus_inactive = base_loc .. "titlebar/floating_focus_inactive.png" -theme.titlebar_floating_button_normal_active = base_loc .. "titlebar/floating_normal_active.png" -theme.titlebar_floating_button_focus_active = base_loc .. "titlebar/floating_focus_active.png" - -theme.titlebar_maximized_button_normal_inactive = base_loc .. "titlebar/maximized_normal_inactive.png" -theme.titlebar_maximized_button_focus_inactive = base_loc .. "titlebar/maximized_focus_inactive.png" -theme.titlebar_maximized_button_normal_active = base_loc .. "titlebar/maximized_normal_active.png" -theme.titlebar_maximized_button_focus_active = base_loc .. "titlebar/maximized_focus_active.png" - --- You can use your own command to set your wallpaper ---theme.wallpaper_cmd = { "awsetbg /usr/share/awesome/themes/default/background.png" } - --- You can use your own layout icons like this: -theme.layout_fairh = base_loc .. "layouts/fairhw.png" -theme.layout_fairv = base_loc .. "layouts/fairvw.png" -theme.layout_floating = base_loc .. "layouts/floatingw.png" -theme.layout_magnifier = base_loc .. "layouts/magnifierw.png" -theme.layout_max = base_loc .. "layouts/maxw.png" -theme.layout_fullscreen = base_loc .. "layouts/fullscreenw.png" -theme.layout_tilebottom = base_loc .. "layouts/tilebottomw.png" -theme.layout_tileleft = base_loc .. "layouts/tileleftw.png" -theme.layout_tile = base_loc .. "layouts/tilew.png" -theme.layout_tiletop = base_loc .. "layouts/tiletopw.png" - -theme.awesome_icon = "/usr/share/awesome/icons/awesome16.png" - -theme.xmms2_play_icon = base_loc .. "xmms2/play.png" -theme.xmms2_pause_icon = base_loc .. "xmms2/pause.png" -theme.xmms2_next_icon = base_loc .. "xmms2/next.png" -theme.xmms2_previous_icon = base_loc .. "xmms2/previous.png" -theme.xmms2_stop_icon = base_loc .. "xmms2/stop.png" - -return theme --- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80 diff --git a/dotawesome/themes/default/titlebar/close_focus.png b/dotawesome/themes/default/titlebar/close_focus.png deleted file mode 100644 index a5b7958..0000000 Binary files a/dotawesome/themes/default/titlebar/close_focus.png and /dev/null differ diff --git a/dotawesome/themes/default/titlebar/close_normal.png b/dotawesome/themes/default/titlebar/close_normal.png deleted file mode 100644 index fe6ebe0..0000000 Binary files a/dotawesome/themes/default/titlebar/close_normal.png and /dev/null differ diff --git a/dotawesome/themes/default/titlebar/floating_focus_active.png b/dotawesome/themes/default/titlebar/floating_focus_active.png deleted file mode 100644 index 3447bb2..0000000 Binary files a/dotawesome/themes/default/titlebar/floating_focus_active.png and /dev/null differ diff --git a/dotawesome/themes/default/titlebar/floating_focus_inactive.png b/dotawesome/themes/default/titlebar/floating_focus_inactive.png deleted file mode 100644 index 8d724bf..0000000 Binary files a/dotawesome/themes/default/titlebar/floating_focus_inactive.png and /dev/null differ diff --git a/dotawesome/themes/default/titlebar/floating_normal_active.png b/dotawesome/themes/default/titlebar/floating_normal_active.png deleted file mode 100644 index 21a67ee..0000000 Binary files a/dotawesome/themes/default/titlebar/floating_normal_active.png and /dev/null differ diff --git a/dotawesome/themes/default/titlebar/floating_normal_inactive.png b/dotawesome/themes/default/titlebar/floating_normal_inactive.png deleted file mode 100644 index ab0f89c..0000000 Binary files a/dotawesome/themes/default/titlebar/floating_normal_inactive.png and /dev/null differ diff --git a/dotawesome/themes/default/titlebar/maximized_focus_active.png b/dotawesome/themes/default/titlebar/maximized_focus_active.png deleted file mode 100644 index 78a2914..0000000 Binary files a/dotawesome/themes/default/titlebar/maximized_focus_active.png and /dev/null differ diff --git a/dotawesome/themes/default/titlebar/maximized_focus_inactive.png b/dotawesome/themes/default/titlebar/maximized_focus_inactive.png deleted file mode 100644 index e79dc1e..0000000 Binary files a/dotawesome/themes/default/titlebar/maximized_focus_inactive.png and /dev/null differ diff --git a/dotawesome/themes/default/titlebar/maximized_normal_active.png b/dotawesome/themes/default/titlebar/maximized_normal_active.png deleted file mode 100644 index 7765759..0000000 Binary files a/dotawesome/themes/default/titlebar/maximized_normal_active.png and /dev/null differ diff --git a/dotawesome/themes/default/titlebar/maximized_normal_inactive.png b/dotawesome/themes/default/titlebar/maximized_normal_inactive.png deleted file mode 100644 index 394a87b..0000000 Binary files a/dotawesome/themes/default/titlebar/maximized_normal_inactive.png and /dev/null differ diff --git a/dotawesome/themes/default/titlebar/ontop_focus_active.png b/dotawesome/themes/default/titlebar/ontop_focus_active.png deleted file mode 100644 index f954bed..0000000 Binary files a/dotawesome/themes/default/titlebar/ontop_focus_active.png and /dev/null differ diff --git a/dotawesome/themes/default/titlebar/ontop_focus_inactive.png b/dotawesome/themes/default/titlebar/ontop_focus_inactive.png deleted file mode 100644 index fdb4e94..0000000 Binary files a/dotawesome/themes/default/titlebar/ontop_focus_inactive.png and /dev/null differ diff --git a/dotawesome/themes/default/titlebar/ontop_normal_active.png b/dotawesome/themes/default/titlebar/ontop_normal_active.png deleted file mode 100644 index fc60895..0000000 Binary files a/dotawesome/themes/default/titlebar/ontop_normal_active.png and /dev/null differ diff --git a/dotawesome/themes/default/titlebar/ontop_normal_inactive.png b/dotawesome/themes/default/titlebar/ontop_normal_inactive.png deleted file mode 100644 index cb2dd7f..0000000 Binary files a/dotawesome/themes/default/titlebar/ontop_normal_inactive.png and /dev/null differ diff --git a/dotawesome/themes/default/titlebar/sticky_focus_active.png b/dotawesome/themes/default/titlebar/sticky_focus_active.png deleted file mode 100644 index 1106399..0000000 Binary files a/dotawesome/themes/default/titlebar/sticky_focus_active.png and /dev/null differ diff --git a/dotawesome/themes/default/titlebar/sticky_focus_inactive.png b/dotawesome/themes/default/titlebar/sticky_focus_inactive.png deleted file mode 100644 index 783df69..0000000 Binary files a/dotawesome/themes/default/titlebar/sticky_focus_inactive.png and /dev/null differ diff --git a/dotawesome/themes/default/titlebar/sticky_normal_active.png b/dotawesome/themes/default/titlebar/sticky_normal_active.png deleted file mode 100644 index ea1f2a6..0000000 Binary files a/dotawesome/themes/default/titlebar/sticky_normal_active.png and /dev/null differ diff --git a/dotawesome/themes/default/titlebar/sticky_normal_inactive.png b/dotawesome/themes/default/titlebar/sticky_normal_inactive.png deleted file mode 100644 index aabb54a..0000000 Binary files a/dotawesome/themes/default/titlebar/sticky_normal_inactive.png and /dev/null differ diff --git a/dotawesome/themes/default/xmms2/next.png b/dotawesome/themes/default/xmms2/next.png deleted file mode 100644 index 17d694d..0000000 Binary files a/dotawesome/themes/default/xmms2/next.png and /dev/null differ diff --git a/dotawesome/themes/default/xmms2/pause.png b/dotawesome/themes/default/xmms2/pause.png deleted file mode 100644 index 50c1481..0000000 Binary files a/dotawesome/themes/default/xmms2/pause.png and /dev/null differ diff --git a/dotawesome/themes/default/xmms2/play.png b/dotawesome/themes/default/xmms2/play.png deleted file mode 100644 index 189ca44..0000000 Binary files a/dotawesome/themes/default/xmms2/play.png and /dev/null differ diff --git a/dotawesome/themes/default/xmms2/previous.png b/dotawesome/themes/default/xmms2/previous.png deleted file mode 100644 index a79ec71..0000000 Binary files a/dotawesome/themes/default/xmms2/previous.png and /dev/null differ diff --git a/dotawesome/themes/default/xmms2/stop.png b/dotawesome/themes/default/xmms2/stop.png deleted file mode 100644 index 4792366..0000000 Binary files a/dotawesome/themes/default/xmms2/stop.png and /dev/null differ diff --git a/dotawesome/themes/test.png b/dotawesome/themes/test.png deleted file mode 100644 index 7641da8..0000000 Binary files a/dotawesome/themes/test.png and /dev/null differ diff --git a/dotawesome/themes/vt/background.png b/dotawesome/themes/vt/background.png deleted file mode 100755 index 0d882b7..0000000 Binary files a/dotawesome/themes/vt/background.png and /dev/null differ diff --git a/dotawesome/themes/vt/layouts/fairh.png b/dotawesome/themes/vt/layouts/fairh.png deleted file mode 100755 index b4e289d..0000000 Binary files a/dotawesome/themes/vt/layouts/fairh.png and /dev/null differ diff --git a/dotawesome/themes/vt/layouts/fairhw.png b/dotawesome/themes/vt/layouts/fairhw.png deleted file mode 100755 index 514d66d..0000000 Binary files a/dotawesome/themes/vt/layouts/fairhw.png and /dev/null differ diff --git a/dotawesome/themes/vt/layouts/fairv.png b/dotawesome/themes/vt/layouts/fairv.png deleted file mode 100755 index e5aad70..0000000 Binary files a/dotawesome/themes/vt/layouts/fairv.png and /dev/null differ diff --git a/dotawesome/themes/vt/layouts/fairvw.png b/dotawesome/themes/vt/layouts/fairvw.png deleted file mode 100755 index f97ce56..0000000 Binary files a/dotawesome/themes/vt/layouts/fairvw.png and /dev/null differ diff --git a/dotawesome/themes/vt/layouts/floating.png b/dotawesome/themes/vt/layouts/floating.png deleted file mode 100755 index cbc7804..0000000 Binary files a/dotawesome/themes/vt/layouts/floating.png and /dev/null differ diff --git a/dotawesome/themes/vt/layouts/floatingw.png b/dotawesome/themes/vt/layouts/floatingw.png deleted file mode 100755 index 7ddf7ae..0000000 Binary files a/dotawesome/themes/vt/layouts/floatingw.png and /dev/null differ diff --git a/dotawesome/themes/vt/layouts/fullscreen.png b/dotawesome/themes/vt/layouts/fullscreen.png deleted file mode 100755 index 46716f5..0000000 Binary files a/dotawesome/themes/vt/layouts/fullscreen.png and /dev/null differ diff --git a/dotawesome/themes/vt/layouts/fullscreenw.png b/dotawesome/themes/vt/layouts/fullscreenw.png deleted file mode 100755 index 2c3cfad..0000000 Binary files a/dotawesome/themes/vt/layouts/fullscreenw.png and /dev/null differ diff --git a/dotawesome/themes/vt/layouts/magnifier.png b/dotawesome/themes/vt/layouts/magnifier.png deleted file mode 100755 index 1476555..0000000 Binary files a/dotawesome/themes/vt/layouts/magnifier.png and /dev/null differ diff --git a/dotawesome/themes/vt/layouts/magnifierw.png b/dotawesome/themes/vt/layouts/magnifierw.png deleted file mode 100755 index 97c1d11..0000000 Binary files a/dotawesome/themes/vt/layouts/magnifierw.png and /dev/null differ diff --git a/dotawesome/themes/vt/layouts/max.png b/dotawesome/themes/vt/layouts/max.png deleted file mode 100755 index 4246d56..0000000 Binary files a/dotawesome/themes/vt/layouts/max.png and /dev/null differ diff --git a/dotawesome/themes/vt/layouts/maxw.png b/dotawesome/themes/vt/layouts/maxw.png deleted file mode 100755 index 14c161a..0000000 Binary files a/dotawesome/themes/vt/layouts/maxw.png and /dev/null differ diff --git a/dotawesome/themes/vt/layouts/tile.png b/dotawesome/themes/vt/layouts/tile.png deleted file mode 100755 index 071a385..0000000 Binary files a/dotawesome/themes/vt/layouts/tile.png and /dev/null differ diff --git a/dotawesome/themes/vt/layouts/tilebottom.png b/dotawesome/themes/vt/layouts/tilebottom.png deleted file mode 100755 index aeedbe2..0000000 Binary files a/dotawesome/themes/vt/layouts/tilebottom.png and /dev/null differ diff --git a/dotawesome/themes/vt/layouts/tilebottomw.png b/dotawesome/themes/vt/layouts/tilebottomw.png deleted file mode 100755 index f42da9d..0000000 Binary files a/dotawesome/themes/vt/layouts/tilebottomw.png and /dev/null differ diff --git a/dotawesome/themes/vt/layouts/tileleft.png b/dotawesome/themes/vt/layouts/tileleft.png deleted file mode 100755 index ab55e08..0000000 Binary files a/dotawesome/themes/vt/layouts/tileleft.png and /dev/null differ diff --git a/dotawesome/themes/vt/layouts/tileleftw.png b/dotawesome/themes/vt/layouts/tileleftw.png deleted file mode 100755 index c18e7b4..0000000 Binary files a/dotawesome/themes/vt/layouts/tileleftw.png and /dev/null differ diff --git a/dotawesome/themes/vt/layouts/tiletop.png b/dotawesome/themes/vt/layouts/tiletop.png deleted file mode 100755 index 3febc35..0000000 Binary files a/dotawesome/themes/vt/layouts/tiletop.png and /dev/null differ diff --git a/dotawesome/themes/vt/layouts/tiletopw.png b/dotawesome/themes/vt/layouts/tiletopw.png deleted file mode 100755 index daf965f..0000000 Binary files a/dotawesome/themes/vt/layouts/tiletopw.png and /dev/null differ diff --git a/dotawesome/themes/vt/layouts/tilew.png b/dotawesome/themes/vt/layouts/tilew.png deleted file mode 100755 index c722a35..0000000 Binary files a/dotawesome/themes/vt/layouts/tilew.png and /dev/null differ diff --git a/dotawesome/themes/vt/submenu.png b/dotawesome/themes/vt/submenu.png deleted file mode 100755 index b2778e2..0000000 Binary files a/dotawesome/themes/vt/submenu.png and /dev/null differ diff --git a/dotawesome/themes/vt/taglist/squarefw.png b/dotawesome/themes/vt/taglist/squarefw.png deleted file mode 100755 index 2a86430..0000000 Binary files a/dotawesome/themes/vt/taglist/squarefw.png and /dev/null differ diff --git a/dotawesome/themes/vt/taglist/squarew.png b/dotawesome/themes/vt/taglist/squarew.png deleted file mode 100755 index 913f2ca..0000000 Binary files a/dotawesome/themes/vt/taglist/squarew.png and /dev/null differ diff --git a/dotawesome/themes/vt/tasklist/floating.png b/dotawesome/themes/vt/tasklist/floating.png deleted file mode 100755 index f29e7f5..0000000 Binary files a/dotawesome/themes/vt/tasklist/floating.png and /dev/null differ diff --git a/dotawesome/themes/vt/tasklist/floatingw.png b/dotawesome/themes/vt/tasklist/floatingw.png deleted file mode 100755 index eb802ae..0000000 Binary files a/dotawesome/themes/vt/tasklist/floatingw.png and /dev/null differ diff --git a/dotawesome/themes/vt/theme.lua b/dotawesome/themes/vt/theme.lua deleted file mode 100755 index 90fdc26..0000000 --- a/dotawesome/themes/vt/theme.lua +++ /dev/null @@ -1,98 +0,0 @@ ---------------------------- --- Default awesome theme -- ---------------------------- - -theme = {} - -theme.font = "sans 8" - -theme.bg_normal = "#174800" -theme.bg_focus = "#333333" -theme.bg_urgent = "#ff0000" -theme.bg_minimize = "#444444" - -theme.fg_normal = "#aaaaaa" -theme.fg_focus = "#ffffff" -theme.fg_urgent = "#ffffff" -theme.fg_minimize = "#ffffff" - -theme.border_width = "1" -theme.border_normal = "#000000" -theme.border_focus = "#535d6c" -theme.border_marked = "#91231c" - --- There are another variables sets --- overriding the default one when --- defined, the sets are: --- [taglist|tasklist]_[bg|fg]_[focus|urgent] --- titlebar_[bg|fg]_[normal|focus] --- Example: ---taglist_bg_focus = #ff0000 - --- Display the taglist squares -theme.taglist_squares_sel = "/usr/share/awesome/themes/default/taglist/squarefw.png" -theme.taglist_squares_unsel = "/usr/share/awesome/themes/default/taglist/squarew.png" - -theme.tasklist_floating_icon = "/usr/share/awesome/themes/default/tasklist/floatingw.png" - --- Variables set for theming menu --- menu_[bg|fg]_[normal|focus] --- menu_[border_color|border_width] -theme.menu_submenu_icon = "/usr/share/awesome/themes/default/submenu.png" -theme.menu_height = "15" -theme.menu_width = "100" - --- You can add as many variables as --- you wish and access them by using --- beautiful.variable in your rc.lua ---bg_widget = #cc0000 - --- Define the image to load -theme.titlebar_close_button_normal = "/usr/share/awesome/themes/default/titlebar/close_normal.png" -theme.titlebar_close_button_focus = "/usr/share/awesome/themes/default/titlebar/close_focus.png" - -theme.titlebar_ontop_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/ontop_normal_inactive.png" -theme.titlebar_ontop_button_focus_inactive = "/usr/share/awesome/themes/default/titlebar/ontop_focus_inactive.png" -theme.titlebar_ontop_button_normal_active = "/usr/share/awesome/themes/default/titlebar/ontop_normal_active.png" -theme.titlebar_ontop_button_focus_active = "/usr/share/awesome/themes/default/titlebar/ontop_focus_active.png" - -theme.titlebar_sticky_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/sticky_normal_inactive.png" -theme.titlebar_sticky_button_focus_inactive = "/usr/share/awesome/themes/default/titlebar/sticky_focus_inactive.png" -theme.titlebar_sticky_button_normal_active = "/usr/share/awesome/themes/default/titlebar/sticky_normal_active.png" -theme.titlebar_sticky_button_focus_active = "/usr/share/awesome/themes/default/titlebar/sticky_focus_active.png" - -theme.titlebar_floating_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/floating_normal_inactive.png" -theme.titlebar_floating_button_focus_inactive = "/usr/share/awesome/themes/default/titlebar/floating_focus_inactive.png" -theme.titlebar_floating_button_normal_active = "/usr/share/awesome/themes/default/titlebar/floating_normal_active.png" -theme.titlebar_floating_button_focus_active = "/usr/share/awesome/themes/default/titlebar/floating_focus_active.png" - -theme.titlebar_maximized_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/maximized_normal_inactive.png" -theme.titlebar_maximized_button_focus_inactive = "/usr/share/awesome/themes/default/titlebar/maximized_focus_inactive.png" -theme.titlebar_maximized_button_normal_active = "/usr/share/awesome/themes/default/titlebar/maximized_normal_active.png" -theme.titlebar_maximized_button_focus_active = "/usr/share/awesome/themes/default/titlebar/maximized_focus_active.png" - --- You can use your own command to set your wallpaper -theme.wallpaper_cmd = { "awsetbg /usr/share/awesome/themes/default/background.png" } - --- You can use your own layout icons like this: -theme.layout_fairh = "/usr/share/awesome/themes/default/layouts/fairhw.png" -theme.layout_fairv = "/usr/share/awesome/themes/default/layouts/fairvw.png" -theme.layout_floating = "/usr/share/awesome/themes/default/layouts/floatingw.png" -theme.layout_magnifier = "/usr/share/awesome/themes/default/layouts/magnifierw.png" -theme.layout_max = "/usr/share/awesome/themes/default/layouts/maxw.png" -theme.layout_fullscreen = "/usr/share/awesome/themes/default/layouts/fullscreenw.png" -theme.layout_tilebottom = "/usr/share/awesome/themes/default/layouts/tilebottomw.png" -theme.layout_tileleft = "/usr/share/awesome/themes/default/layouts/tileleftw.png" -theme.layout_tile = "/usr/share/awesome/themes/default/layouts/tilew.png" -theme.layout_tiletop = "/usr/share/awesome/themes/default/layouts/tiletopw.png" - -theme.awesome_icon = "/usr/share/awesome/icons/awesome16.png" - -theme.xmms2_play_icon = "/home/tom/.config/awesome/themes/default/xmms2/play.png" -theme.xmms2_pause_icon = "/home/tom/.config/awesome/themes/default/xmms2/pause.png" -theme.xmms2_next_icon = "/home/tom/.config/awesome/themes/default/xmms2/next.png" -theme.xmms2_previous_icon = "/home/tom/.config/awesome/themes/default/xmms2/previous.png" -theme.xmms2_stop_icon = "/home/tom/.config/awesome/themes/default/xmms2/stop.png" - -return theme --- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80 diff --git a/dotawesome/themes/vt/titlebar/close_focus.png b/dotawesome/themes/vt/titlebar/close_focus.png deleted file mode 100755 index a5b7958..0000000 Binary files a/dotawesome/themes/vt/titlebar/close_focus.png and /dev/null differ diff --git a/dotawesome/themes/vt/titlebar/close_normal.png b/dotawesome/themes/vt/titlebar/close_normal.png deleted file mode 100755 index fe6ebe0..0000000 Binary files a/dotawesome/themes/vt/titlebar/close_normal.png and /dev/null differ diff --git a/dotawesome/themes/vt/titlebar/floating_focus_active.png b/dotawesome/themes/vt/titlebar/floating_focus_active.png deleted file mode 100755 index 3447bb2..0000000 Binary files a/dotawesome/themes/vt/titlebar/floating_focus_active.png and /dev/null differ diff --git a/dotawesome/themes/vt/titlebar/floating_focus_inactive.png b/dotawesome/themes/vt/titlebar/floating_focus_inactive.png deleted file mode 100755 index 8d724bf..0000000 Binary files a/dotawesome/themes/vt/titlebar/floating_focus_inactive.png and /dev/null differ diff --git a/dotawesome/themes/vt/titlebar/floating_normal_active.png b/dotawesome/themes/vt/titlebar/floating_normal_active.png deleted file mode 100755 index 21a67ee..0000000 Binary files a/dotawesome/themes/vt/titlebar/floating_normal_active.png and /dev/null differ diff --git a/dotawesome/themes/vt/titlebar/floating_normal_inactive.png b/dotawesome/themes/vt/titlebar/floating_normal_inactive.png deleted file mode 100755 index ab0f89c..0000000 Binary files a/dotawesome/themes/vt/titlebar/floating_normal_inactive.png and /dev/null differ diff --git a/dotawesome/themes/vt/titlebar/maximized_focus_active.png b/dotawesome/themes/vt/titlebar/maximized_focus_active.png deleted file mode 100755 index 78a2914..0000000 Binary files a/dotawesome/themes/vt/titlebar/maximized_focus_active.png and /dev/null differ diff --git a/dotawesome/themes/vt/titlebar/maximized_focus_inactive.png b/dotawesome/themes/vt/titlebar/maximized_focus_inactive.png deleted file mode 100755 index e79dc1e..0000000 Binary files a/dotawesome/themes/vt/titlebar/maximized_focus_inactive.png and /dev/null differ diff --git a/dotawesome/themes/vt/titlebar/maximized_normal_active.png b/dotawesome/themes/vt/titlebar/maximized_normal_active.png deleted file mode 100755 index 7765759..0000000 Binary files a/dotawesome/themes/vt/titlebar/maximized_normal_active.png and /dev/null differ diff --git a/dotawesome/themes/vt/titlebar/maximized_normal_inactive.png b/dotawesome/themes/vt/titlebar/maximized_normal_inactive.png deleted file mode 100755 index 394a87b..0000000 Binary files a/dotawesome/themes/vt/titlebar/maximized_normal_inactive.png and /dev/null differ diff --git a/dotawesome/themes/vt/titlebar/ontop_focus_active.png b/dotawesome/themes/vt/titlebar/ontop_focus_active.png deleted file mode 100755 index f954bed..0000000 Binary files a/dotawesome/themes/vt/titlebar/ontop_focus_active.png and /dev/null differ diff --git a/dotawesome/themes/vt/titlebar/ontop_focus_inactive.png b/dotawesome/themes/vt/titlebar/ontop_focus_inactive.png deleted file mode 100755 index fdb4e94..0000000 Binary files a/dotawesome/themes/vt/titlebar/ontop_focus_inactive.png and /dev/null differ diff --git a/dotawesome/themes/vt/titlebar/ontop_normal_active.png b/dotawesome/themes/vt/titlebar/ontop_normal_active.png deleted file mode 100755 index fc60895..0000000 Binary files a/dotawesome/themes/vt/titlebar/ontop_normal_active.png and /dev/null differ diff --git a/dotawesome/themes/vt/titlebar/ontop_normal_inactive.png b/dotawesome/themes/vt/titlebar/ontop_normal_inactive.png deleted file mode 100755 index cb2dd7f..0000000 Binary files a/dotawesome/themes/vt/titlebar/ontop_normal_inactive.png and /dev/null differ diff --git a/dotawesome/themes/vt/titlebar/sticky_focus_active.png b/dotawesome/themes/vt/titlebar/sticky_focus_active.png deleted file mode 100755 index 1106399..0000000 Binary files a/dotawesome/themes/vt/titlebar/sticky_focus_active.png and /dev/null differ diff --git a/dotawesome/themes/vt/titlebar/sticky_focus_inactive.png b/dotawesome/themes/vt/titlebar/sticky_focus_inactive.png deleted file mode 100755 index 783df69..0000000 Binary files a/dotawesome/themes/vt/titlebar/sticky_focus_inactive.png and /dev/null differ diff --git a/dotawesome/themes/vt/titlebar/sticky_normal_active.png b/dotawesome/themes/vt/titlebar/sticky_normal_active.png deleted file mode 100755 index ea1f2a6..0000000 Binary files a/dotawesome/themes/vt/titlebar/sticky_normal_active.png and /dev/null differ diff --git a/dotawesome/themes/vt/titlebar/sticky_normal_inactive.png b/dotawesome/themes/vt/titlebar/sticky_normal_inactive.png deleted file mode 100755 index aabb54a..0000000 Binary files a/dotawesome/themes/vt/titlebar/sticky_normal_inactive.png and /dev/null differ diff --git a/dotawesome/themes/vt/xmms2/next.png b/dotawesome/themes/vt/xmms2/next.png deleted file mode 100644 index 17d694d..0000000 Binary files a/dotawesome/themes/vt/xmms2/next.png and /dev/null differ diff --git a/dotawesome/themes/vt/xmms2/pause.png b/dotawesome/themes/vt/xmms2/pause.png deleted file mode 100644 index 50c1481..0000000 Binary files a/dotawesome/themes/vt/xmms2/pause.png and /dev/null differ diff --git a/dotawesome/themes/vt/xmms2/play.png b/dotawesome/themes/vt/xmms2/play.png deleted file mode 100644 index 189ca44..0000000 Binary files a/dotawesome/themes/vt/xmms2/play.png and /dev/null differ diff --git a/dotawesome/themes/vt/xmms2/previous.png b/dotawesome/themes/vt/xmms2/previous.png deleted file mode 100644 index a79ec71..0000000 Binary files a/dotawesome/themes/vt/xmms2/previous.png and /dev/null differ diff --git a/dotawesome/themes/vt/xmms2/stop.png b/dotawesome/themes/vt/xmms2/stop.png deleted file mode 100644 index 4792366..0000000 Binary files a/dotawesome/themes/vt/xmms2/stop.png and /dev/null differ diff --git a/dotemacs/.emacs b/dotemacs/.emacs deleted file mode 100644 index 6622c01..0000000 --- a/dotemacs/.emacs +++ /dev/null @@ -1,272 +0,0 @@ -(add-to-list 'load-path "~/.emacs.d") - -;; Requires -(require 'paren) -(require 'uniquify) -(require 'autopair) -(require 'color-theme) -(require 'flymake) -(require 'org-install) -(require 'zenburn) - -;; Autoloads -(autoload 'vala-mode - "vala-mode.elc" "A Major mode for editing Vala files" t) -(autoload 'csharp-mode - "csharp-mode.elc" "A Major mode for editing C# files" t) -(autoload 'javascript-mode - "javascript.elc" "A Major mode for editing JavaScript files" t) -(autoload 'sqlplus-mode - "sqlplus,elc" "A Major mode for communicating with Oracle" t) -(autoload 'batch-mode - "batch-mode.elc" "A Major mode for editing Batch files" t) -(autoload 'rainbow-mode - "rainbow-mode.elc" "A Minor mode for showing colors inline" t) - -;; Functions -(defun what-face (pos) - "Find out which face the current position uses" - (interactive "d") - (let ((face (or (get-char-property (point) 'read-face-name) - (get-char-property (point) 'face)))) - (if face (message "Face: %s" face) (message "No face at %d" pos)))) - -(defun my-comp-finish-function (buf str) - (if (string-match "exited abnormally" str) - ;; there were errors - (message "compilation errors, press C-x ` to visit") - ;; no errors, make the compilation window go away in 0.5 seconds - (run-at-time 0.5 nil 'delete-windwos-on buf) - (message "NO COMPILATION ERRORS!"))) - -(defun bh/hide-other () - (interactive) - (save-excursion - (org-back-to-heading) - (org-shifttab) - (org-reveal) - (org-cycle))) - -(defun bh/go-to-scratch () - (interactive) - (switch-to-buffer "*scratch*") - (delete-other-windows)) - -(defun bh/untabify () - (interactive) - (untabify (point-min) (point-max))) - -(defun bh/killframe () - (interactive) - (unless (buffer-modified-p) - (kill-buffer (current-buffer))) - (delete-frame)) - -;; Platform specifics -(if (eq system-type 'gnu/linux) ; if we're running linux - (set-frame-font "-xos4-terminus-medium-*-*-*-14-*-*-*-*-*-*-*")) - -;; Variables -(setq - inhibit-startup-message t ; don't show welcom screen - require-final-newline t ; always append a newline to a file, if - ; it doesn't have one - font-lock-maximum-decoration t ; denotes my interest in maximum possible - ; fontification - uniquify-buffer-name-style 'reverse ; reverse uniquify file names - backup-directory-alist `((".*" . ,temporary-file-directory)) - ; backup file location - auto-save-file-name-transforms `((".*" ,temporary-file-directory t))) - ; autosave file location -(setq org-todo-keywords (quote ((sequence "TODO(t)" - "NEXT(n)" - "|" "Done(d!/!)") - (sequence "WAITING(w@/!)" - "SOMEDAY(s!)" - "|" "CANCELLED(c@/!)") - (sequence "QUOTE(q!)" - "QUOTED(Q!)" - "|" "APPROVED(A@)" - "EXPIRED(E@)" - "REJECTED(R@)") - (sequence "OPEN(O)" - "|" "CLOSED(C)")))) -(setq org-todo-keyword-faces - (quote (("TODO" :foreground "red" :weight bold) - ("NEXT" :foreground "blue" :weight bold) - ("DONE" :foreground "forest green" :weight bold) - ("WAITING" :foreground "yellow" :weight bold) - ("SOMEDAY" :foreground "goldenrod" :weight bold) - ("CANCELLED" :foreground "orangered" :weight bold) - ("QUOTE" :foreground "hotpink" :weight bold) - ("QUOTED" :foreground "indianred1" :weight bold) - ("APPROVED" :foreground "forest green" :weight bold) - ("EXPIRED" :foreground "olivedrab1" :weight bold) - ("REJECTED" :foreground "olivedrab" :weight bold) - ("OPEN" :foreground "magenta" :weight bold) - ("CLOSED" :foreground "forest green" :weight bold)))) -(setq org-use-fast-todo-selection t) -(setq org-todo-state-tags-triggers - (quote (("CANCELLED" - ("CANCELLED" . t)) - ("WAITING" - ("WAITING" . t)) - ("SOMEDAY" - ("WAITING" . t)) - (done - ("WAITING")) - ("TODO" - ("WAITING") - ("CANCELLED")) - ("NEXT" - ("WAITING")) - ("DONE" - ("WAITING") - ("CANCELED"))))) -(setq org-default-notes-file "~/prj/org/refile.org") -(setq org-capture-templates (quote (("t" "todo" entry (file "~/prj/org/refile.org") "* TODO %? -%U -%a" :clock-in t :clock-resume t) - ("n" "note" entry (file "~/prj/org/refile.org") "* %? -%U -%a -:CLOCK: -:END:" :clock-in t :clock-resume t)))) -(setq org-completion-use-ido t) ; Use IDO for target completion -(setq org-refile-targets (quote ((org-agenda-files :maxlevel . 5) (nil :maxlevel . 5)))) - ; Targets include this file and any file - ; and any file contributing to the agenda - ; - up to 5 levels deep -(setq org-refile-use-outline-path (quote file)) - ; Targets start with the file name - - ; allows creating level 1 tasks -(setq org-outline-path-complete-in-steps t) - ; Targets complete in steps so we start - ; with filename, TAB shows the next - ; level of targets etc -(setq org-refile-allow-creating-parent-nodes (quote confirm)) - ; Allow refile to create parent tasks - ; with confirmation -(setq org-agenda-custom-commands - (quote (("w" "Tasks waiting on something" tags "WAITING/!" - ((org-use-tag-inheritance nil) - (org-agenda-todo-ignore-scheduled nil) - (org-agenda-todo-ignore-deadlines nil) - (org-agenda-todo-ignore-with-date nil) - (org-agenda-overriding-header "Waiting Tasks"))) - ("r" "Refile New Notes and Tasks" tags "LEVEL=1+REFILE" - ((org-agenda-todo-ignore-with-date nil) - (org-agenda-todo-ignore-deadlines nil) - (org-agenda-todo-ignore-scheduled nil) - (org-agenda-overriding-header "Tasks to Refile"))) - ("N" "Notes" tags "NOTE" - ((org-agenda-overriding-header "Notes"))) - ("n" "Next" tags-todo "-WAITING-CANCELLED/!NEXT" - ((org-agenda-overriding-heaer "Next Tasks"))) - ("p" "Projects" tags-todo "LEVEL=2-REFILE|LEVEL=1+REFILE/!-DONE-CANCELLED" - (;(org-agenda-skip-function 'bh/skip-non-projects) - (org-agenda-overriding-header "Projects"))) - ("o" "other (Non-Project) tasks" tags-todo "LEVEL=2-REFILE|LEVEL=1+REFILE/!-DONE-CANCELLED" - (;(org-agenda-skip-function 'bh/skip-projects) - (org-agenda-overriding-header "Other Non-Project Tasks"))) - ("A" "Tasks to be Archived" tags "LEVEL=2-REFILE/DONE|CANCELLED" - ((org-agenda-overriding-header "Tasks to Archive"))) - ("h" "Habits" tags "STYLE=\"habit\"" - ((org-agenda-todo-ignore-with-date nil) - (org-agenda-todo-ignore-scheduled nil) - (org-agenda-todo-ignore-deadlines nil) - (org-agenda-overriding-header "Habits"))) - ("#" "Stuck Projects" tags-todo "LEVEL=2-REFILE|LEVEL=1+REFILE/!-DONE-CANCELLED" - ((org-agenda-skip-function 'bh/skip-non-stuck-projects) - (org-agenda-overriding-header "Stuck Projects"))) - ("c" "Select default clocking task" tags "LEVEL=2-REFILE" - ((org-agenda-skip-function - '(org-agenda-skip-subree-if 'notregexp "^\\*\\* Organization")) - (org-agenda-overriding-header "Set default clocking task with C-u C-u I")))))) -(setq-default indent-tabs-mode nil) ; spaces, no tabs - -(fset 'yes-or-no-p 'y-or-n-p) ; switch yes or no answers to y or n - ; answers - -;; Mode settings -( tool-bar-mode -1) ; no toolbar -( menu-bar-mode -1) ; no menu -( line-number-mode -1) ; don't show line numbers in splitter -( global-linum-mode t) ; show line numbers in gutter -( column-number-mode t) ; show column numbers in splitter -(global-font-lock-mode t) ; show syntax highlighting -( show-paren-mode t) ; show matching parens -( autopair-global-mode) ; enable autopair mode -(delete-selection-mode t) ; delete selection upon typing - -;; Keybindings -(global-set-key "\C-m" 'newline-and-indent) ; Automatically indent on newline -;;; Org Mode -(global-set-key "\C-cl" 'org-store-link) -(global-set-key "\C-ca" 'org-agenda) -(global-set-key "\C-cb" 'org-iswitchb) -(global-set-key (kbd "") 'org-agenda) -;(global-set-key (kbd "") 'bh/org-todo) -;(global-set-key (kbd "") 'bh/widen) -(global-set-key (kbd "") 'set-truncate-lines) -(global-set-key (kbd "") 'org-cycle-agenda-files) -;(global-set-key (kbd " b") 'bbdb) -(global-set-key (kbd " c") 'calendar) -(global-set-key (kbd " f") 'boxquote-insert-file) -;(global-set-key (kbd " g") 'gnus) -(global-set-key (kbd " h") 'bh/hide-other) -;(global-set-key (kbd " i") 'bh/org-info) -;(global-set-key (kbd " I") 'bh/clock-in) -;(global-set-key (kbd " O") 'bh/clock-out) -(global-set-key (kbd " r") 'boxquote-region) -(global-set-key (kbd " s") 'bh/go-to-scratch) -;(global-set-key (kbd " t") 'bh/insert-inactive-timestamp) -(global-set-key (kbd " u") 'bh/untabify) -(global-set-key (kbd " v") 'visible-mode) -;(global-set-key (kbd " SPC") 'bh/clock-in-last-task) -(global-set-key (kbd "C-") 'previous-buffer) -(global-set-key (kbd "C-x n r") 'narrow-to-region) -(global-set-key (kbd "C-") 'next-buffer) -(global-set-key (kbd "") 'org-clock-goto) -(global-set-key (kbd "C-") 'org-clock-in) -(global-set-key (kbd "C-s-") 'bh/save-then-publish) -(global-set-key (kbd "M-") 'org-resolve-clocks) -(global-set-key (kbd "C-M-r") 'org-capture) -(global-set-key (kbd "M-") 'bh/killframe) - -;; File associations -(add-to-list 'auto-mode-alist '("\\.vala$" . vala-mode)) -(add-to-list 'auto-mode-alist '("\\.vapi$" . vala-mode)) -(add-to-list 'auto-mode-alist '("\\.cs$" . csharp-mode)) -(add-to-list 'auto-mode-alist '("\\.bat$" . batch-mode)) - -(add-to-list 'file-coding-system-alist '("\\.vala$" . utf-8)) -(add-to-list 'file-coding-system-alist '("\\.vapi$" . utf-8)) - -(add-to-list 'compilation-finish-functions 'my-comp-finish-function) - -;; Color theme -;;(require 'color-theme-weirdness) -(color-theme-zenburn) - -;; Hooks -(add-hook 'find-file-hook 'flymake-find-file-hook) -(add-hook 'org-mode-hook - (lambda () - (flyspell-mode 1) - (auto-fill-mode 1))) -(add-hook 'css-mode-hook (lambda () - (rainbow-mode))) - -(custom-set-variables - ;; custom-set-variables was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(org-agenda-files (quote ("~/prj/org/tgn.org" "~/Documents/iACTOR/tasks.org" "~/prj/org/seiko.org" "~/prj/org/projects.org" "~/prj/org/refile.org" "~/prj/org/aethon.org")))) -(custom-set-faces - ;; custom-set-faces was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - ) diff --git a/dotemacs/.emacs.d/autopair.el b/dotemacs/.emacs.d/autopair.el deleted file mode 100644 index 31626f2..0000000 --- a/dotemacs/.emacs.d/autopair.el +++ /dev/null @@ -1,1036 +0,0 @@ -;;; autopair.el --- Automagically pair braces and quotes like TextMate - -;; Copyright (C) 2009,2010 Joao Tavora - -;; Author: Joao Tavora -;; Keywords: convenience, emulations -;; X-URL: http://autopair.googlecode.com -;; URL: http://autopair.googlecode.com -;; EmacsWiki: AutoPairs -;; Version: 0.4 -;; Revision: $Rev$ ($LastChangedDate$) - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . - -;;; Commentary: -;; -;; Another stab at making braces and quotes pair like in -;; TextMate: -;; -;; * Opening braces/quotes are autopaired; -;; * Closing braces/quotes are autoskipped; -;; * Backspacing an opening brace/quote autodeletes its adjacent pair. -;; * Newline between newly-opened brace pairs open an extra indented line. -;; -;; Autopair deduces from the current syntax table which characters to -;; pair, skip or delete. -;; -;;; Installation: -;; -;; (require 'autopair) -;; (autopair-global-mode) ;; to enable in all buffers -;; -;; To enable autopair in just some types of buffers, comment out the -;; `autopair-global-mode' and put autopair-mode in some major-mode -;; hook, like: -;; -;; (add-hook 'c-mode-common-hook #'(lambda () (autopair-mode))) -;; -;; Alternatively, do use `autopair-global-mode' and create -;; *exceptions* using the `autopair-dont-activate' local variable, -;; like: -;; -;; (add-hook 'c-mode-common-hook #'(lambda () (setq autopair-dont-activate t))) -;; -;;; Use: -;; -;; The extension works by rebinding the braces and quotes keys, but -;; can still be minimally intrusive, since the original binding is -;; always called as if autopair did not exist. -;; -;; The decision of which keys to actually rebind is taken at -;; minor-mode activation time, based on the current major mode's -;; syntax tables. To achieve this kind of behaviour, an emacs -;; variable `emulation-mode-map-alists' was used. -;; -;; If you set `autopair-pair-criteria' and `autopair-skip-criteria' to -;; 'help-balance (which, by the way, is the default), braces are not -;; autopaired/autoskiped in all situations; the decision to autopair -;; or autoskip a brace is taken according to the following table: -;; -;; +---------+------------+-----------+-------------------+ -;; | 1234567 | autopair? | autoskip? | notes | -;; +---------+------------+-----------+-------------------+ -;; | (()) | yyyyyyy | ---yy-- | balanced | -;; +---------+------------+-----------+-------------------+ -;; | (())) | ------y | ---yyy- | too many closings | -;; +---------+------------+-----------+-------------------+ -;; | ((()) | yyyyyyy | ------- | too many openings | -;; +---------+------------+-----------+-------------------+ -;; -;; The table is read like this: in a buffer with 7 characters laid out -;; like the first column, an "y" marks points where an opening brace -;; is autopaired and in which places would a closing brace be -;; autoskipped. -;; -;; Quote pairing tries to support similar "intelligence", but is less -;; deterministic. Some inside-string or inside-comment situations may -;; not always behave how you intend them to. -;; -;; The variable `autopair-autowrap' tells autopair to automatically -;; wrap the selection region with the delimiters you're trying to -;; insert. This is done conditionally based of syntaxes of the two -;; ends of the selection region. It is compatible with `cua-mode's -;; typing-deletes-selection behaviour. This feature is probably still -;; a little unstable, hence `autopair-autowrap' defaults to nil. -;; -;; If you find the paren-blinking annoying, turn `autopair-blink' to -;; nil. -;; -;; For lisp-programming you might also like `autopair-skip-whitespace'. -;; -;; For further customization have a look at `autopair-dont-pair', -;; `autopair-handle-action-fns' and `autopair-extra-pair'. -;; -;; `autopair-dont-pair' lets you define special cases of characters -;; you don't want paired. Its default value skips pairing -;; single-quote characters when inside a comment literal, even if the -;; language syntax tables does pair these characters. -;; -;; (defvar autopair-dont-pair `(:string (?') :comment (?')) -;; -;; As a further example, to also prevent the '{' (opening brace) -;; character from being autopaired in C++ comments use this in your -;; .emacs. -;; -;; (add-hook 'c++-mode-hook -;; #'(lambda () -;; (push ?{ -;; (getf autopair-dont-pair :comment)))) -;; -;; `autopair-handle-action-fns' lets you override/extend the actions -;; taken by autopair after it decides something must be paired,skipped -;; or deleted. To work with triple quoting in python mode, you can use -;; this for example: -;; -;; (add-hook 'python-mode-hook -;; #'(lambda () -;; (setq autopair-handle-action-fns -;; (list #'autopair-default-handle-action -;; #'autopair-python-triple-quote-action)))) -;; -;; It's also useful to deal with latex's mode use of the "paired -;; delimiter" syntax class. -;; -;; (add-hook 'latex-mode-hook -;; #'(lambda () -;; (set (make-local-variable 'autopair-handle-action-fns) -;; (list #'autopair-default-handle-action -;; #'autopair-latex-mode-paired-delimiter-action)))) -;; -;; `autopair-extra-pairs' lets you define extra pairing and skipping -;; behaviour for pairs not programmed into the syntax table. Watch -;; out, this is work-in-progress, a little unstable and does not help -;; balancing at all. To have '<' and '>' pair in c++-mode buffers, but -;; only in code, use: -;; -;; (add-hook 'c++-mode-hook -;; #'(lambda () -;; (push '(?< . ?>) -;; (getf autopair-extra-pairs :code)))) -;; -;; if you program in emacs-lisp you might also like the following to -;; pair backtick and quote -;; -;; (add-hook 'emacs-lisp-mode-hook -;; #'(lambda () -;; (push '(?` . ?') -;; (getf autopair-extra-pairs :comment)) -;; (push '(?` . ?') -;; (getf autopair-extra-pairs :string)))) -;; -;;; Bugs: -;; -;; * Quote pairing/skipping inside comments is not perfect... -;; -;; * See the last section on monkey-patching for the `defadvice' -;; tricks used to make `autopair-autowrap' work with `cua-mode' and -;; `delete-selection-mode'. -;; -;;; Credit: -;; -;; Thanks Ed Singleton for early testing. -;; -;;; Code: - -;; requires -(require 'cl) - -;; variables -(defvar autopair-pair-criteria 'help-balance - "How to decide whether to pair opening brackets or quotes. - -Set this to 'always to always pair, or 'help-balance to be more -criterious when pairing.") - -(defvar autopair-skip-criteria 'help-balance - "How to decide whether to skip closing brackets or quotes. - -Set this to 'always to always skip, or 'help-balance to be more -criterious when skipping.") - -(defvar autopair-emulation-alist nil - "A dinamic keymap for autopair set mostly from the current - syntax table.") - -(defvar autopair-dont-activate nil - "If non-nil `autopair-global-mode' does not activate in buffer") -(make-variable-buffer-local 'autopair-dont-activate) - -(defvar autopair-extra-pairs nil - "Extra pairs for which to use pairing. - -It's a Common-lisp-style even-numbered property list, each pair -of elements being of the form (TYPE , PAIRS). PAIRS is a mixed -list whose elements are cons cells, which look like cells look -like (OPENING . CLOSING). Autopair pairs these like -parenthesis. - -TYPE can be one of: - -:string : whereby PAIRS will be considered only when inside a - string literal - -:comment : whereby PAIRS will be considered only when inside a comment - -:code : whereby PAIRS will be considered only when outisde a - string and a comment. - -:everywhere : whereby PAIRS will be considered in all situations - -In Emacs-lisp, this might be useful - -(add-hook 'emacs-lisp-mode-hook - #'(lambda () - (setq autopair-extra-pairs `(:comment ((?`. ?')))))) - - -Note that this does *not* work for single characters, -e.x. characters you want to behave as quotes. See the -docs/source comments for more details.") - -(make-variable-buffer-local 'autopair-extra-pairs) - -(defvar autopair-dont-pair `(:string (?') :comment (?')) - "Characters for which to skip any pairing behaviour. - -This variable overrides `autopair-pair-criteria' and -`autopair-extra-pairs'. It does not - (currently) affect the skipping behaviour. - -It's a Common-lisp-style even-numbered property list, each pair -of elements being of the form (TYPE , CHARS). CHARS is a list of -characters and TYPE can be one of: - -:string : whereby characters in CHARS will not be autopaired when - inside a string literal - -:comment : whereby characters in CHARS will not be autopaired when - inside a comment - -:never : whereby characters in CHARS won't even have their - bindings replaced by autopair's. This particular option - should be used for troubleshooting and requires - `autopair-mode' to be restarted to have any effect.") -(make-variable-buffer-local 'autopair-dont-pair) - -(defvar autopair-action nil - "Autopair action decided on by last interactive autopair command, or nil. - -When autopair decides on an action this is a list whose first -three elements are (ACTION PAIR POS-BEFORE). - -ACTION is one of `opening', `insert-quote', `skip-quote', -`backspace', `newline' or `paired-delimiter'. PAIR is the pair of -the `last-input-event' character, if applicable. POS-BEFORE is -value of point before action command took place .") - - -(defvar autopair-wrap-action nil - "Autowrap action decided on by autopair, if any. - -When autopair decides on an action this is a list whose first -three elements are (ACTION PAIR POS-BEFORE REGION-BEFORE). - -ACTION can only be `wrap' currently. PAIR and POS-BEFORE -delimiter are as in `autopair-action'. REGION-BEFORE is a cons -cell with the bounds of the region before the command takes -place") - -(defvar autopair-handle-action-fns '() - "Autopair handlers to run *instead* of the default handler. - -Each element is a function taking three arguments (ACTION, PAIR -and POS-BEFORE), which are the three elements of the -`autopair-action' variable, which see. - -If non-nil, these functions are called *instead* of the single -function `autopair-default-handle-action', so use this variable -to specify special behaviour. To also run the default behaviour, -be sure to include `autopair-default-handle-action' in the -list, or call it from your handlers.") -(make-variable-buffer-local 'autopair-handle-action-fns) - -(defvar autopair-handle-wrap-action-fns '() - "Autopair wrap handlers to run *instead* of the default handler. - -Each element is a function taking four arguments (ACTION, PAIR, -POS-BEFORE and REGION-BEFORE), which are the three elements of the -`autopair-wrap-action' variable, which see. - -If non-nil, these functions are called *instead* of the single -function `autopair-default-handle-wrap-action', so use this -variable to specify special behaviour. To also run the default -behaviour, be sure to include `autopair-default-handle-wrap-action' in -the list, or call it in your handlers.") -(make-variable-buffer-local 'autopair-handle-wrap-action-fns) - -;; minor mode and global mode -;; -(define-globalized-minor-mode autopair-global-mode autopair-mode autopair-on) - -(defun autopair-on () (unless (or buffer-read-only autopair-dont-activate) (autopair-mode 1))) - -(define-minor-mode autopair-mode - "Automagically pair braces and quotes like in TextMate." - nil " pair" nil - (cond (autopair-mode - ;; Setup the dynamic emulation keymap - ;; - (let ((map (make-sparse-keymap))) - (define-key map [remap delete-backward-char] 'autopair-backspace) - (define-key map [remap backward-delete-char-untabify] 'autopair-backspace) - (define-key map (kbd "") 'autopair-backspace) - (define-key map [backspace] 'autopair-backspace) - (define-key map (kbd "DEL") 'autopair-backspace) - (define-key map (kbd "RET") 'autopair-newline) - (dotimes (char 256) ;; only searches the first 256 chars, - ;; TODO: is this enough/toomuch/stupid? - (unless (member char - (getf autopair-dont-pair :never)) - (let* ((syntax-entry (aref (syntax-table) char)) - (class (and syntax-entry - (syntax-class syntax-entry))) - (pair (and syntax-entry - (cdr syntax-entry)))) - (cond ((eq class (car (string-to-syntax "("))) - ;; syntax classes "opening parens" and "close parens" - (define-key map (string char) 'autopair-insert-opening) - (define-key map (string pair) 'autopair-skip-close-maybe)) - ((eq class (car (string-to-syntax "\""))) - ;; syntax class "string quote - (define-key map (string char) 'autopair-insert-or-skip-quote)) - ((eq class (car (string-to-syntax "$"))) - ;; syntax class "paired-delimiter" - ;; - ;; Apropos this class, see Issues 18, 25 and - ;; elisp info node "35.2.1 Table of Syntax - ;; Classes". The fact that it supresses - ;; syntatic properties in the delimited region - ;; dictates that deciding to autopair/autoskip - ;; can't really be as clean as the string - ;; delimiter. - ;; - ;; Apparently, only `TeX-mode' uses this, so - ;; the best is to bind this to - ;; `autopair-insert-or-skip-paired-delimiter' - ;; which defers any decision making to - ;; mode-specific post-command handler - ;; functions. - ;; - (define-key map (string char) 'autopair-insert-or-skip-paired-delimiter)))))) - ;; read `autopair-extra-pairs' - (dolist (pairs-list (remove-if-not #'listp autopair-extra-pairs)) - (dolist (pair pairs-list) - (define-key map (string (car pair)) 'autopair-extra-insert-opening) - (define-key map (string (cdr pair)) 'autopair-extra-skip-close-maybe))) - - (set (make-local-variable 'autopair-emulation-alist) (list (cons t map)))) - - (setq autopair-action nil) - (setq autopair-wrap-action nil) - (add-hook 'emulation-mode-map-alists 'autopair-emulation-alist 'append) - (add-hook 'post-command-hook 'autopair-post-command-handler 'append 'local)) - (t - (setq autopair-emulation-alist nil) - (remove-hook 'emulation-mode-map-alists 'autopair-emulation-alist) - (remove-hook 'post-command-hook 'autopair-post-command-handler 'local)))) - -;; helper functions -;; -(defun autopair-syntax-ppss () - "Calculate syntax info relevant to autopair. - -A list of four elements is returned: - -- SYNTAX-INFO is either the result `syntax-ppss' or the result of - calling `parse-partial-sexp' with the appropriate - bounds (previously calculated with `syntax-ppss'. - -- WHERE-SYM can be one of the symbols :string, :comment or :code. - -- QUICK-SYNTAX-INFO is always the result returned by `syntax-ppss'. - -- BOUNDS are the boudaries of the current string or comment if - we're currently inside one." - (let* ((quick-syntax-info (syntax-ppss)) - (string-or-comment-start (nth 8 quick-syntax-info))) - (cond (;; inside a string, recalculate - (nth 3 quick-syntax-info) - (list (parse-partial-sexp (1+ string-or-comment-start) (point)) - :string - quick-syntax-info - (cons string-or-comment-start - (condition-case nil - (scan-sexps string-or-comment-start 1) - (error nil))))) - ((nth 4 quick-syntax-info) - (list (parse-partial-sexp (1+ (nth 8 quick-syntax-info)) (point)) - :comment - quick-syntax-info)) - (t - (list quick-syntax-info - :code - quick-syntax-info))))) - -(defun autopair-find-pair (delim) - (when (and delim - (integerp delim)) - (let ((syntax-entry (aref (syntax-table) delim))) - (cond ((eq (syntax-class syntax-entry) (car (string-to-syntax "("))) - (cdr syntax-entry)) - ((or (eq (syntax-class syntax-entry) (car (string-to-syntax "\""))) - (eq (syntax-class syntax-entry) (car (string-to-syntax "$")))) - delim) - ((eq (syntax-class syntax-entry) (car (string-to-syntax ")"))) - (cdr syntax-entry)) - (autopair-extra-pairs - (some #'(lambda (pair-list) - (some #'(lambda (pair) - (cond ((eq (cdr pair) delim) (car pair)) - ((eq (car pair) delim) (cdr pair)))) - pair-list)) - (remove-if-not #'listp autopair-extra-pairs))))))) - -(defun autopair-calculate-wrap-action () - (when (region-active-p) - (save-excursion - (let* ((region-before (cons (region-beginning) - (region-end))) - (point-before (point)) - (start-syntax (syntax-ppss (car region-before))) - (end-syntax (syntax-ppss (cdr region-before)))) - (when (and (eq (nth 0 start-syntax) (nth 0 end-syntax)) - (eq (nth 3 start-syntax) (nth 3 end-syntax))) - (list 'wrap (or (second autopair-action) - (autopair-find-pair last-input-event)) - point-before - region-before)))))) - -(defun autopair-fallback (&optional fallback-keys) - (let* ((autopair-emulation-alist nil) - (beyond-cua (let ((cua--keymap-alist nil)) - (or (key-binding (this-single-command-keys)) - (key-binding fallback-keys)))) - (beyond-autopair (or (key-binding (this-single-command-keys)) - (key-binding fallback-keys)))) - (when autopair-autowrap - (setq autopair-wrap-action (autopair-calculate-wrap-action))) - - (setq this-original-command beyond-cua) - ;; defer to "paredit-mode" if that is installed and running - (when (and (featurep 'paredit) - (string-match "paredit" (symbol-name beyond-cua))) - (setq autopair-action nil)) - (let ((cua-delete-selection (not autopair-autowrap)) - (blink-matching-paren (not autopair-action))) - (call-interactively beyond-autopair)))) - -(defvar autopair-autowrap nil - "If non-nil autopair attempts to wrap the selected region. - -This is also done in an optimistic \"try-to-balance\" fashion.") - -(defvar autopair-skip-whitespace nil - "If non-nil also skip over whitespace when skipping closing delimiters. - -This will be most useful in lisp-like languages where you want -lots of )))))....") - -(defvar autopair-blink (if (boundp 'blink-matching-paren) - blink-matching-paren - t) - "If non-nil autopair blinks matching delimiters.") - -(defvar autopair-blink-delay 0.1 - "Autopair's blink-the-delimiter delay.") - -(defun autopair-document-bindings (&optional fallback-keys) - (concat - "Works by scheduling possible autopair behaviour, then calls -original command as if autopair didn't exist" - (when (eq this-command 'describe-key) - (let* ((autopair-emulation-alist nil) - (command (or (key-binding (this-single-command-keys)) - (key-binding fallback-keys)))) - (when command - (format ", which in this case is `%s'" command)))) - ".")) - -(defun autopair-escaped-p (syntax-info) - (nth 5 syntax-info)) - -(defun autopair-exception-p (where-sym exception-where-sym blacklist &optional fn) - (and (or (eq exception-where-sym :everywhere) - (eq exception-where-sym where-sym)) - (member last-input-event - (if fn - (mapcar fn (getf blacklist exception-where-sym)) - (getf blacklist exception-where-sym))))) - -(defun autopair-up-list (syntax-info &optional closing) - "Try to uplist as much as possible, moving point. - -Return nil if something prevented uplisting. - -Otherwise return a cons of char positions of the starting -delimiter and end delimiters of the last list we just came out -of. If we aren't inside any lists return a cons of current point. - -If inside nested lists of mixed parethesis types, finding a -matching parenthesis of a mixed-type is considered OK (non-nil is -returned) and uplisting stops there." - (condition-case nil - (let ((howmany (car syntax-info)) - (retval (cons (point) - (point)))) - (while (and (> howmany 0) - (condition-case err - (progn - (scan-sexps (point) (- (point-max))) - (error err)) - (error (let ((opening (and closing - (autopair-find-pair closing)))) - (setq retval (cons (fourth err) - (point))) - (or (not opening) - (eq opening (char-after (fourth err)))))))) - (goto-char (scan-lists (point) 1 1)) - (decf howmany)) - retval) - (error nil))) - -;; interactive commands and their associated predicates -;; -(defun autopair-insert-or-skip-quote () - (interactive) - (let* ((syntax-triplet (autopair-syntax-ppss)) - (syntax-info (first syntax-triplet)) - (where-sym (second syntax-triplet)) - (orig-info (third syntax-triplet)) - ;; inside-string may the quote character itself or t if this - ;; is a "generically terminated string" - (inside-string (and (eq where-sym :string) - (fourth orig-info))) - (escaped-p (autopair-escaped-p syntax-info)) - - ) - (cond (;; decides whether to skip the quote... - ;; - (and (not escaped-p) - (eq last-input-event (char-after (point))) - (or - ;; ... if we're already inside a string and the - ;; string starts with the character just inserted, - ;; or it's a generically terminated string - (and inside-string - (or (eq inside-string t) - (eq last-input-event inside-string))) - ;; ... if we're in a comment and ending a string - ;; (the inside-string criteria does not work - ;; here...) - (and (eq where-sym :comment) - (condition-case nil - (eq last-input-event (char-after (scan-sexps (1+ (point)) -1))) - (error nil))))) - (setq autopair-action (list 'skip-quote last-input-event (point)))) - (;; decides whether to pair, i.e do *not* pair the quote if... - ;; - (not - (or - escaped-p - ;; ... inside a generic string - (eq inside-string t) - ;; ... inside an unterminated string started by this char - (autopair-in-unterminated-string-p syntax-triplet) - ;; ... uplisting forward causes an error which leaves us - ;; inside an unterminated string started by this char - (condition-case err - (progn (save-excursion (up-list)) nil) - (error - (autopair-in-unterminated-string-p (save-excursion - (goto-char (fourth err)) - (autopair-syntax-ppss))))) - (autopair-in-unterminated-string-p (save-excursion - (goto-char (point-max)) - (autopair-syntax-ppss))) - ;; ... comment-disable or string-disable are true here. - ;; The latter is only useful if we're in a string - ;; terminated by a character other than - ;; `last-input-event'. - (some #'(lambda (sym) - (autopair-exception-p where-sym sym autopair-dont-pair)) - '(:comment :string)))) - (setq autopair-action (list 'insert-quote last-input-event (point))))) - (autopair-fallback))) - - (put 'autopair-insert-or-skip-quote 'function-documentation - '(concat "Insert or possibly skip over a quoting character.\n\n" - (autopair-document-bindings))) - -(defun autopair-in-unterminated-string-p (autopair-triplet) - (and (eq last-input-event (fourth (third autopair-triplet))) - (condition-case nil (progn (scan-sexps (ninth (third autopair-triplet)) 1) nil) (error t)))) - - -(defun autopair-insert-opening () - (interactive) - (when (autopair-pair-p) - (setq autopair-action (list 'opening (autopair-find-pair last-input-event) (point)))) - (autopair-fallback)) -(put 'autopair-insert-opening 'function-documentation - '(concat "Insert opening delimiter and possibly automatically close it.\n\n" - (autopair-document-bindings))) - -(defun autopair-skip-close-maybe () - (interactive) - (when (autopair-skip-p) - (setq autopair-action (list 'closing (autopair-find-pair last-input-event) (point)))) - (autopair-fallback)) -(put 'autopair-skip-close-maybe 'function-documentation - '(concat "Insert or possibly skip over a closing delimiter.\n\n" - (autopair-document-bindings))) - -(defun autopair-backspace () - (interactive) - (when (char-before) - (setq autopair-action (list 'backspace (autopair-find-pair (char-before)) (point)))) - (autopair-fallback (kbd "DEL"))) -(put 'autopair-backspace 'function-documentation - '(concat "Possibly delete a pair of paired delimiters.\n\n" - (autopair-document-bindings (kbd "DEL")))) - -(defun autopair-newline () - (interactive) - (let ((pair (autopair-find-pair (char-before)))) - (when (eq (char-after) pair) - (setq autopair-action (list 'newline pair (point)))) - (autopair-fallback (kbd "RET")))) -(put 'autopair-newline 'function-documentation - '(concat "Possibly insert two newlines and place point after the first, indented.\n\n" - (autopair-document-bindings (kbd "RET")))) - -(defun autopair-skip-p () - (interactive) - (let* ((syntax-triplet (autopair-syntax-ppss)) - (syntax-info (first syntax-triplet)) - (orig-point (point))) - (cond ((eq autopair-skip-criteria 'help-balance) - (save-excursion - (let ((pos-pair (autopair-up-list syntax-info last-input-event))) - ;; if `autopair-up-list' returned something valid, we - ;; probably want to skip but only if on of the following is true. - ;; - ;; 1. it returned a cons of equal values (we're not inside any list - ;; - ;; 2. up-listing stopped at a list that contains our original point - ;; - ;; 3. up-listing stopped at a list that does not - ;; contain out original point but its starting - ;; delimiter matches the one we expect. - (and pos-pair - (or (eq (car pos-pair) (cdr pos-pair)) - (< orig-point (cdr pos-pair)) - (eq (char-after (car pos-pair)) - (autopair-find-pair last-input-event))))))) - ((eq autopair-skip-criteria 'need-opening) - (save-excursion - (condition-case err - (progn - (backward-list) - t) - (error nil)))) - (t - t)))) - -(defun autopair-pair-p () - (let* ((syntax-triplet (autopair-syntax-ppss)) - (syntax-info (first syntax-triplet)) - (where-sym (second syntax-triplet)) - (orig-point (point))) - (and (not (some #'(lambda (sym) - (autopair-exception-p where-sym sym autopair-dont-pair)) - '(:string :comment :code :everywhere))) - (cond ((eq autopair-pair-criteria 'help-balance) - (and (not (autopair-escaped-p syntax-info)) - (save-excursion - (let ((pos-pair (autopair-up-list syntax-info)) - (prev-point (point-max)) - (expected-closing (autopair-find-pair last-input-event))) - (condition-case err - (progn - (while (not (eq prev-point (point))) - (setq prev-point (point)) - (forward-sexp)) - t) - (error - ;; if `forward-sexp' (called byp - ;; `autopair-forward') returned an error. - ;; typically we don't want to autopair, - ;; unless one of the following occurs: - ;; - (cond (;; 1. The error is *not* of type "containing - ;; expression ends prematurely", which means - ;; we're in the "too-many-openings" situation - ;; and thus want to autopair. - (not (string-match "prematurely" (second err))) - t) - (;; 2. We stopped at a closing parenthesis. Do - ;; autopair if we're in a mixed parens situation, - ;; i.e. the last list jumped over was started by - ;; the paren we're trying to match - ;; (`last-input-event') and ended by a different - ;; parens, or the closing paren we stopped at is - ;; also different from the expected. The second - ;; `scan-lists' places point at the closing of the - ;; last list we forwarded over. - ;; - (condition-case err - (prog1 - (eq (char-after (scan-lists (point) -1 0)) - last-input-event) - (goto-char (scan-lists (point) -1 -1))) - (error t)) - - (or - ;; mixed () ] for input (, yes autopair - (not (eq expected-closing (char-after (third err)))) - ;; mixed (] ) for input (, yes autopair - (not (eq expected-closing (char-after (point)))) - ;; ()) for input (, not mixed - ;; hence no autopair - )) - (t - nil)) - ;; (eq (fourth err) (point-max)) - )))))) - ((eq autopair-pair-criteria 'always) - t) - (t - (not (autopair-escaped-p))))))) - -;; post-command-hook stuff -;; -(defun autopair-post-command-handler () - "Performs pairing and wrapping based on `autopair-action' and -`autopair-wrap-action'. " - (when (and autopair-wrap-action - (notany #'null autopair-wrap-action)) - - (if autopair-handle-wrap-action-fns - (condition-case err - (mapc #'(lambda (fn) - (apply fn autopair-wrap-action)) - autopair-handle-wrap-action-fns) - (error (progn - (message "[autopair] error running custom `autopair-handle-wrap-action-fns', switching autopair off") - (autopair-mode -1)))) - (apply #'autopair-default-handle-wrap-action autopair-wrap-action)) - (setq autopair-wrap-action nil)) - - (when (and autopair-action - (notany #'null autopair-action)) - (if autopair-handle-action-fns - (condition-case err - (mapc #'(lambda (fn) - (funcall fn (first autopair-action) (second autopair-action) (third autopair-action))) - autopair-handle-action-fns) - (error (progn - (message "[autopair] error running custom `autopair-handle-action-fns', switching autopair off") - (autopair-mode -1)))) - (apply #'autopair-default-handle-action autopair-action)) - (setq autopair-action nil))) - -(defun autopair-blink-matching-open () - (let ((blink-matching-paren autopair-blink) - (show-paren-mode nil) - (blink-matching-delay autopair-blink-delay)) - (blink-matching-open))) - -(defun autopair-blink (&optional pos) - (when autopair-blink - (if pos - (save-excursion - (goto-char pos) - (sit-for autopair-blink-delay)) - (sit-for autopair-blink-delay)))) - -(defun autopair-default-handle-action (action pair pos-before) - ;;(message "action is %s" action) - (cond (;; automatically insert closing delimiter - (and (eq 'opening action) - (not (eq pair (char-before)))) - (insert pair) - (autopair-blink) - (backward-char 1)) - (;; automatically insert closing quote delimiter - (eq 'insert-quote action) - (insert pair) - (autopair-blink) - (backward-char 1)) - (;; automatically skip oper closer quote delimiter - (and (eq 'skip-quote action) - (eq pair (char-after (point)))) - (delete-char 1) - (autopair-blink-matching-open)) - (;; skip over newly-inserted-but-existing closing delimiter - ;; (normal case) - (eq 'closing action) - (let ((skipped 0)) - (when autopair-skip-whitespace - (setq skipped (save-excursion (skip-chars-forward "\s\n\t")))) - (when (eq last-input-event (char-after (+ (point) skipped))) - (unless (zerop skipped) (autopair-blink (+ (point) skipped))) - (delete-char (1+ skipped)) - (autopair-blink-matching-open)))) - (;; autodelete closing delimiter - (and (eq 'backspace action) - (eq pair (char-after (point)))) - (delete-char 1)) - (;; opens an extra line after point, then indents - (and (eq 'newline action) - (eq pair (char-after (point)))) - (save-excursion - (newline-and-indent)) - (indent-according-to-mode) - (when (or (and (boundp 'global-hl-line-mode) - global-hl-line-mode) - (and (boundp 'hl-line-mode) - hl-line-mode)) - (hl-line-unhighlight) (hl-line-highlight))))) - -(defun autopair-default-handle-wrap-action (action pair pos-before region-before) - "Default handler for the wrapping action in `autopair-wrap'" - (when (eq 'wrap action) - (let ((reverse-selected (= (car region-before) pos-before))) - (cond - ((eq 'opening (first autopair-action)) - ;; (message "wrap-opening!") - (cond (reverse-selected - (goto-char (1+ (cdr region-before))) - (insert pair) - (autopair-blink) - (goto-char (1+ (car region-before)))) - (t - (delete-backward-char 1) - (insert pair) - (goto-char (car region-before)) - (insert last-input-event))) - (setq autopair-action nil) ) - (;; wraps - (eq 'closing (first autopair-action)) - ;; (message "wrap-closing!") - (cond (reverse-selected - (delete-backward-char 1) - (insert pair) - (goto-char (1+ (cdr region-before))) - (insert last-input-event)) - (t - (goto-char (car region-before)) - (insert pair) - (autopair-blink) - (goto-char (+ 2 (cdr region-before))))) - (setq autopair-action nil)) - ((eq 'insert-quote (first autopair-action)) - (cond (reverse-selected - (goto-char (1+ (cdr region-before))) - (insert pair) - (autopair-blink)) - (t - (goto-char (car region-before)) - (insert last-input-event) - (autopair-blink))) - (setq autopair-action nil)) - (reverse-selected - (delete-backward-char 1) - (goto-char (cdr region-before)) - (insert last-input-event)))))) - - -;; example python triple quote helper -;; -(defun autopair-python-triple-quote-action (action pair pos-before) - (cond ((and (eq 'insert-quote action) - (>= (point) 3) - (string= (buffer-substring (- (point) 3) - (point)) - (make-string 3 pair))) - (save-excursion (insert (make-string 2 pair)))) - ((and (eq 'backspace action) - (>= (point) 2) - (<= (point) (- (point-max) 2)) - (string= (buffer-substring (- (point) 2) - (+ (point) 2)) - (make-string 4 pair))) - (delete-region (- (point) 2) - (+ (point) 2))) - ((and (eq 'skip-quote action) - (<= (point) (- (point-max) 2)) - (string= (buffer-substring (point) - (+ (point) 2)) - (make-string 2 pair))) - (forward-char 2)) - (t - t))) - -;; example latex paired-delimiter helper -;; -(defun autopair-latex-mode-paired-delimiter-action (action pair pos-before) - "Pair or skip latex's \"paired delimiter\" syntax in math mode." - (when (eq action 'paired-delimiter) - (when (eq (char-before) pair) - (if (and (eq (get-text-property pos-before 'face) 'tex-math) - (eq (char-after) pair)) - (cond ((and (eq (char-after) pair) - (eq (char-after (1+ (point))) pair)) - ;; double skip - (delete-char 1) - (forward-char)) - ((eq (char-before pos-before) pair) - ;; doube insert - (insert pair) - (backward-char)) - (t - ;; simple skip - (delete-char 1))) - (insert pair) - (backward-char))))) - -;; Commands and predicates for the autopair-extra* feature -;; - -(defun autopair-extra-insert-opening () - (interactive) - (when (autopair-extra-pair-p) - (setq autopair-action (list 'opening (autopair-find-pair last-input-event) (point)))) - (autopair-fallback)) -(put 'autopair-extra-insert-opening 'function-documentation - '(concat "Insert (an extra) opening delimiter and possibly automatically close it.\n\n" - (autopair-document-bindings))) - -(defun autopair-extra-skip-close-maybe () - (interactive) - (when (autopair-extra-skip-p) - (setq autopair-action (list 'closing last-input-event (point)))) - (autopair-fallback)) -(put 'autopair-extra-skip-close-maybe 'function-documentation - '(concat "Insert or possibly skip over a (and extra) closing delimiter.\n\n" - (autopair-document-bindings))) - -(defun autopair-extra-pair-p () - (let* ((syntax-triplet (autopair-syntax-ppss)) - (syntax-info (first syntax-triplet)) - (where-sym (second syntax-triplet))) - (some #'(lambda (sym) - (autopair-exception-p where-sym sym autopair-extra-pairs #'car)) - '(:everywhere :comment :string :code)))) - -(defun autopair-extra-skip-p () - (let* ((syntax-triplet (autopair-syntax-ppss)) - (syntax-info (first syntax-triplet)) - (where-sym (second syntax-triplet)) - (orig-point (point))) - (and (eq (char-after (point)) last-input-event) - (some #'(lambda (sym) - (autopair-exception-p where-sym sym autopair-extra-pairs #'cdr)) - '(:comment :string :code :everywhere)) - (save-excursion - (condition-case err - (backward-sexp (point-max)) - (error - (goto-char (third err)))) - (search-forward (make-string 1 (autopair-find-pair last-input-event)) - orig-point - 'noerror))))) - -;; Commands and tex-mode specific handler functions for the "paired -;; delimiter" syntax class. -;; -(defun autopair-insert-or-skip-paired-delimiter () - " insert or skip a character paired delimiter" - (interactive) - (setq autopair-action (list 'paired-delimiter last-input-event (point))) - (autopair-fallback)) - -(put 'autopair-insert-or-skip-paired-delimiter 'function-documentation - '(concat "Insert or possibly skip over a character with a syntax-class of \"paired delimiter\"." - (autopair-document-bindings))) - - - -;; monkey-patching: Compatibility with delete-selection-mode and cua-mode -;; -;; Ideally one would be able to use functions as the value of the -;; 'delete-selection properties of the autopair commands. The function -;; would return non-nil when no wrapping should/could be performed. -;; -;; Until then use some `defadvice' i.e. monkey-patching -;; -(put 'autopair-insert-opening 'delete-selection t) -(put 'autopair-skip-close-maybe 'delete-selection t) -(put 'autopair-insert-or-skip-quote 'delete-selection t) -(put 'autopair-extra-insert-opening 'delete-selection t) -(put 'autopair-extra-skip-close-maybe 'delete-selection t) -(put 'autopair-backspace 'delete-selection 'supersede) -(put 'autopair-newline 'delete-selection t) - -(defun autopair-should-autowrap () - (let ((name (symbol-name this-command))) - (and autopair-mode - (not (eq this-command 'autopair-backspace)) - (string-match "^autopair" (symbol-name this-command)) - (autopair-calculate-wrap-action)))) - -(defadvice cua--pre-command-handler-1 (around autopair-override activate) - "Don't actually do anything if autopair is about to autowrap. " - (unless (autopair-should-autowrap) ad-do-it)) - -(defadvice delete-selection-pre-hook (around autopair-override activate) - "Don't actually do anything if autopair is about to autowrap. " - (unless (autopair-should-autowrap) ad-do-it)) - - -(provide 'autopair) -;;; autopair.el ends here -;; diff --git a/dotemacs/.emacs.d/batch-mode.el b/dotemacs/.emacs.d/batch-mode.el deleted file mode 100644 index dcc156a..0000000 --- a/dotemacs/.emacs.d/batch-mode.el +++ /dev/null @@ -1,156 +0,0 @@ -;;; batch-mode.el --- major mode for editing ESRI batch scrips -;;; Copyright (C) 2002, Agnar Renolen -;;; Modified (c) 2009, Matthew Fidler -;;; Fixed indents (and labels) - -;; batch-mode.el is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program; if not, write to the Free Software -;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -;; This is version 1.0 of 21 August 2002. - -;;; Comentary: - -;; The batch-mode provides syntax hilighting and auto-indentation for -;; DOS batch files (.bat). and auto-idendation. - -;; Agnar Renolen, - -;;; Code: - -(defgroup batch nil - "Major mode for editing batch code" - :prefix "batch-" - :group 'languages) - -; (defvar batch-mode-hook nil -; "Hooks called when batch mode fires up." -; :type 'hook -; :group 'batch) - -(defvar batch-mode-map nil - "Keymap used with batch code") - -(defcustom batch-indent-level 4 - "Amount by which batch subexpressions are indented." - :type 'integer - :group 'batch) - -(defvar batch-font-lock-keywords - (eval-when-compile - (list - ; since we can't specify batch comments through the syntax table, - ; we have to specify it here, and override whatever is highlighted - '( "^[ \t]*rem\\>.*" (0 font-lock-comment-face t)) - - ; since the argument to the echo command is a string, we format it - ; as a string - '( "\\[ \t]*\\(.*\\)" (1 font-lock-string-face t)) - - ; the argument of the goto statement is a label - '( "\\[ \t]*\\([a-zA-Z0-9_]+\\)" (1 - font-lock-constant-face)) - - ; the keywords of batch (which are not built-in commands) - (concat "\\<\\(cmdextversion\\|" - "d\\(efined\\|isableextensions\\|o\\)\\|" - "e\\(lse\\|n\\(ableextensions\\|dlocal\\)" - "\\|qu\\|rrorlevel\\|xist\\)\\|for\\|" - "goto\\|i[fn]\\|n\\(eq\\|ot\\)\\|setlocal\\)\\>") - - ; built-in DOS commands - (cons (concat "\\<\\(a\\(ssoc\\|t\\(\\|trib\\)\\)\\|break\\|" - "c\\(a\\(cls\\|ll\\)\\|d\\|h\\(cp\\|dir\\|k\\(" - "dsk\\|ntfs\\)\\)\\|ls\\|md\\|o\\(lor\\|mp\\(\\|act\\)" - "\\|nvert\\|py\\)\\)\\|d\\(ate\\|el\\|i\\(" - "r\\|skco\\(mp\\|py\\)\\)\\|oskey\\)\\|" - "e\\(cho\\|rase\\|xit\\)\\|" - "f\\(c\\|ind\\(\\|str\\)\\|for\\(\\|mot\\)\\|type\\)\\|" - "graftabl\\|help\\|label\\|" - "m\\(d\\|mkdir\\|o[dvr]e\\)\\|p\\(a\\(th\\|use\\)" - "\\|opd\\|r\\(int\\|opmt\\)\\|ushd\\)\\|" - "r\\(d\\|e\\(cover\\|n\\(\\|ame\\)\\|place\\)\\|mdir\\)\\|" - "s\\(et\\|hift\\|ort\\|tart\\|ubst\\)\\|" - "t\\(i\\(me\\|tle\\)\\|ree\\|ype\\)\\|" - "v\\(er\\(\\|ify\\)\\|ol\\)\\|xcopy\\)\\>") - 'font-lock-builtin-face) - - ; variables are embeded in percent chars - '( "%[a-zA-Z0-9_]+%?" . font-lock-variable-name-face) - ; labels are formatted as constants - '( ":[a-zA-Z0-9_]+" . font-lock-constant-face) - - ; command line switches are hilighted as type-face - '( "[-/][a-zA-Z0-9_]+" . font-lock-type-face) - - ; variables set should also be hilighted with variable-name-face - '( "\\[ \t]*\\([a-zA-Z0-9_]+\\)" (1 font-lock-variable-name-face)) - ))) - - -;;;###autoload -(defun batch-mode () - "Major mode for editing batch scripts." - (interactive) - (kill-all-local-variables) - (setq major-mode 'batch-mode) - (setq mode-name "Avenue") - (set (make-local-variable 'indent-line-function) 'batch-indent-line) - (set (make-local-variable 'comment-start) "rem") - (set (make-local-variable 'comment-start-skip) "rem[ \t]*") - (set (make-local-variable 'font-lock-defaults) - '(batch-font-lock-keywords nil t nil)) - (run-hooks 'batch-mode-hook)) - -(defun batch-indent-line () - "Indent current line as batch script" - (let ((indent (batch-calculate-indent)) - beg shift-amt - (old-pos (- (point-max) (point)))) - (beginning-of-line) - (setq beg (point)) - (skip-chars-forward " \t") - (if (looking-at ")") - (setq indent (max (- indent batch-indent-level)))) - (message "prev indent: %d" indent) - (setq shift-amt (- indent (current-column))) - (if (not (zerop shift-amt)) - (progn - (delete-region beg (point)) - ; ArcView replaces tabs with single spaces, so we only insert - ; spaces to make indentation correct in ArcView. - (insert-char ? indent) - (if (> (- (point-max) old-pos) (point)) - (goto-char (- (point-max) old-pos))))) - shift-amt)) - -(defun batch-calculate-indent () - "Return appropriate indentation for the current line as batch code." - (save-excursion - (beginning-of-line) - (current-indentation) - (if (bobp) - 0 - (if (re-search-backward "^[ \t]*[^ \t\n\r]" nil t) - (if (looking-at "[ \t]*\\()[ \t]*else\\|for\\|if\\)\\>[^(\n]*([^)\n]*") - (+ (current-indentation) batch-indent-level) - (if (looking-at "[ \t]*[^(]*)[ \t]*") - (- (current-indentation) batch-indent-level) - (current-indentation))) - 0)))) - -(add-to-list 'auto-mode-alist '("\\.bat\\'" . batch-mode)) - -(provide 'batch-mode) - -;;; batch-mode.el ends here diff --git a/dotemacs/.emacs.d/color-theme-gruber-darker.el b/dotemacs/.emacs.d/color-theme-gruber-darker.el deleted file mode 100644 index 5ee82a2..0000000 --- a/dotemacs/.emacs.d/color-theme-gruber-darker.el +++ /dev/null @@ -1,101 +0,0 @@ -;; color-theme-gruber-dark.el -;; Revision 1 -;; -;; Copyright (C) 2009-2010 Jason R. Blevins -;; -;; Permission is hereby granted, free of charge, to any person -;; obtaining a copy of this software and associated documentation -;; files (the "Software"), to deal in the Software without -;; restriction, including without limitation the rights to use, -;; copy, modify, merge, publish, distribute, sublicense, and/or sell -;; copies of the Software, and to permit persons to whom the -;; Software is furnished to do so, subject to the following -;; conditions: -;; -;; The above copyright notice and this permission notice shall be -;; included in all copies or substantial portions of the Software. -;; -;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -;; OTHER DEALINGS IN THE SOFTWARE. - -(require 'color-theme) - -(defun color-theme-gruber-darker () - "Gruber Darker color theme for Emacs by Jason Blevins. -A darker variant of the Gruber Dark theme for BBEdit -by John Gruber." - (interactive) - (color-theme-install - '(color-theme-gruber-darker - ((foreground-color . "#e4e4ef") - (background-color . "#181818") - (background-mode . dark) - (cursor-color . "#ffdd33") - (mouse-color . "#ffdd33")) - - ;; Standard font lock faces - (default ((t (nil)))) - (font-lock-comment-face ((t (:foreground "#cc8c3c")))) - (font-lock-comment-delimiter-face ((t (:foreground "#cc8c3c")))) - (font-lock-doc-face ((t (:foreground "#73c936")))) - (font-lock-doc-string-face ((t (:foreground "#73c936")))) - (font-lock-string-face ((t (:foreground "#73c936")))) - (font-lock-keyword-face ((t (:foreground "#ffdd33")))) - (font-lock-builtin-face ((t (:foreground "#ffdd33")))) - (font-lock-function-name-face ((t (:foreground "#96a6c8")))) - (font-lock-variable-name-face ((t (:foreground "#f4f4ff")))) - (font-lock-preprocessor-face ((t (:foreground "#95a99f")))) - (font-lock-constant-face ((t (:foreground "#95a99f")))) - (font-lock-type-face ((t (:foreground "#95a99f")))) - (font-lock-warning-face ((t (:foreground "#f43841")))) - (font-lock-reference-face ((t (:foreground "#95a99f")))) - (trailing-whitespace ((t (:foreground "#000" :background "#f43841")))) - (link ((t (:foreground "#96A6C8" :underline t)))) - - ;; Search - (isearch ((t (:foreground "#000" :background "#f5f5f5")))) - (isearch-lazy-highlight-face ((t (:foreground "#f4f4ff" :background "#5f627f")))) - (isearch-fail ((t (:foreground "#000" :background "#f43841")))) - - ;; User interface - (fringe ((t (:background "#111" :foreground "#444")))) - (border ((t (:background "#111" :foreground "#444")))) - (mode-line ((t (:background "#453d41" :foreground "#fff")))) - (mode-line-buffer-id ((t (:background "#453d41" :foreground "#fff")))) - (mode-line-inactive ((t (:background "#453d41" :foreground "#999")))) - (minibuffer-prompt ((t (:foreground "#96A6C8")))) - (region ((t (:background "#484848")))) - (secondary-selection ((t (:background "#484951" :foreground "#F4F4FF")))) - (tooltip ((t (:background "#52494e" :foreground "#fff")))) - - ;; Parenthesis matching - (show-paren-match-face ((t (:background "#52494e" :foreground "#f4f4ff")))) - (show-paren-mismatch-face ((t (:foreground "#f4f4ff" :background "#c73c3f")))) - ;; Line highlighting - (highlight ((t (:background "#282828" :foreground nil)))) - (highlight-current-line-face ((t (:background "#282828" :foreground nil)))) - - ;; Calendar - (holiday-face ((t (:foreground "#f43841")))) - - ;; Info - (info-xref ((t (:foreground "#96a6c8")))) - (info-visited ((t (:foreground "#9e95c7")))) - - ;; AUCTeX - (font-latex-sectioning-5-face ((t (:foreground "#96a6c8" :bold t)))) - (font-latex-bold-face ((t (:foreground "#95a99f" :bold t)))) - (font-latex-italic-face ((t (:foreground "#95a99f" :italic t)))) - (font-latex-math-face ((t (:foreground "#73c936")))) - (font-latex-string-face ((t (:foreground "#73c936")))) - (font-latex-warning-face ((t (:foreground "#f43841")))) - (font-latex-slide-title-face ((t (:foreground "#96a6c8")))) - ))) - -(provide 'color-theme-gruber-darker) diff --git a/dotemacs/.emacs.d/color-theme-vibrant-ink.el b/dotemacs/.emacs.d/color-theme-vibrant-ink.el deleted file mode 100644 index dee8c6a..0000000 --- a/dotemacs/.emacs.d/color-theme-vibrant-ink.el +++ /dev/null @@ -1,18 +0,0 @@ -(require 'color-theme) - -;; vibrant-ink color theme -(defun color-theme-vibrant-ink () - (interactive) - (color-theme-install - '(color-theme-ryrobes - ((background-color . "#000000") - (background-mode . dark) - (border-color . "#000000") - (cursor-color . "#FFFFFF") - (foreground-color . "#FFFFFF") - (mouse-color . "#FFFFFF")) - (font-lock-comment-face ((t (:foreground "#9933CC" :italic t)))) - (font-lock-keyword-face ((t (:foreground "#FF6600")))) - (font-lock-type-face ((t (:foreground "#FFCC00")))) - (font-lock-string-face ((t (:foreground "#66FF00"))))))) -(provide 'color-theme-vibrant-ink) diff --git a/dotemacs/.emacs.d/color-theme-weirdness.el b/dotemacs/.emacs.d/color-theme-weirdness.el deleted file mode 100644 index a97cefc..0000000 --- a/dotemacs/.emacs.d/color-theme-weirdness.el +++ /dev/null @@ -1,37 +0,0 @@ -(require 'color-theme) - -;; weirdness color-theme -(defun color-theme-weirdness () - (interactive) - (color-theme-install - '(color-theme-weirdness - ((background-color . "#000000") - (background-mode . dark) - (border-color . "#000000") - (cursor-color . "#FFFFFF") - (foreground-color . "#FFFFFF") - (mouse-color . "#000000")) - (org-level-1 ((t (:foreground "#5BFD5B" :weight normal)))) - (org-level-2 ((t (:foreground "#379A37" :weight normal)))) - (org-level-3 ((t (:foreground "#757575" :weight normal)))) - (org-level-4 ((t (:foreground "#778899" :weight normal)))) - (org-level-5 ((t (:foreground "#9898FF" :weight normal)))) - (org-level-6 ((t (:foreground "#0000B0" :weight normal)))) - (org-level-7 ((t (:foreground "#740091" :weight normal)))) - (org-level-8 ((t (:foreground "#B275C1" :weight normal)))) - (fringe ((t (:background "#000000")))) - (mode-line ((t (:foreground "#B3B3B3" :background "#43527A" :background "#000000" :box nil)))) - (region ((t (:background "#3D3D3D")))) - (minibuffer-prompt ((t (:foreground "#72F3FF" :bold t)))) - (flymake-warnline ((t (:background "#000060")))) - (flymake-errline ((t (:background "#600000")))) - (font-lock-builtin-face ((t (:foreground "#C436C4")))) - (font-lock-comment-face ((t (:foreground "#00AC00" :background "#004000" :bold t :box (:line-width 1 :color "#006000" :style nil))))) - (font-lock-comment-delimiter-face ((t (:inherit 'font-lock-comment-face)))) - (font-lock-function-name-face ((t (:foreground "#0FFF28")))) - (font-lock-keyword-face ((t (:foreground "#4E61BB" :bold t)))) - (font-lock-string-face ((t (:foreground "#E00900")))) - (font-lock-type-face ((t (:foreground "#8522DD")))) - (font-lock-variable-name-face ((t (:foreground "#18EFF2")))) - (font-lock-warning-face ((t (:foreground "#FF0000" :bold t))))))) -(provide 'color-theme-weirdness) diff --git a/dotemacs/.emacs.d/color-theme.el b/dotemacs/.emacs.d/color-theme.el deleted file mode 100644 index c92c1a5..0000000 --- a/dotemacs/.emacs.d/color-theme.el +++ /dev/null @@ -1,1668 +0,0 @@ -;;; color-theme.el --- install color themes - -;; Copyright (C) 1999, 2000 Jonadab the Unsightly One -;; Copyright (C) 2000, 2001, 2002, 2003 Alex Schroeder -;; Copyright (C) 2003, 2004, 2005, 2006 Xavier Maillard - -;; Version: 6.6.0 -;; Keywords: faces -;; Author: Jonadab the Unsightly One -;; Maintainer: Xavier Maillard -;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?ColorTheme - -;; This file is not (YET) part of GNU Emacs. - -;; This is free software; you can redistribute it and/or modify it under -;; the terms of the GNU General Public License as published by the Free -;; Software Foundation; either version 2, or (at your option) any later -;; version. -;; -;; This is distributed in the hope that it will be useful, but WITHOUT -;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -;; for more details. -;; -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -;; MA 02111-1307, USA. - -;;; Commentary: - -;; Please read README and BUGS files for any relevant help. -;; Contributors (not themers) should also read HACKING file. - -;;; Thanks - -;; Deepak Goel -;; S. Pokrovsky for ideas and discussion. -;; Gordon Messmer for ideas and discussion. -;; Sriram Karra for the color-theme-submit stuff. -;; Olgierd `Kingsajz' Ziolko for the spec-filter idea. -;; Brian Palmer for color-theme-library ideas and code -;; All the users that contributed their color themes. - - - -;;; Code: -(eval-when-compile - (require 'easymenu) - (require 'reporter) - (require 'sendmail)) - -(require 'cl); set-difference is a function... - -;; for custom-face-attributes-get or face-custom-attributes-get -(require 'cus-face) -(require 'wid-edit); for widget-apply stuff in cus-face.el - -(defconst color-theme-maintainer-address "zedek@gnu.org" - "Address used by `submit-color-theme'.") - -;; Emacs / XEmacs compatibility and workaround layer - -(cond ((and (facep 'tool-bar) - (not (facep 'toolbar))) - (put 'toolbar 'face-alias 'tool-bar)) - ((and (facep 'toolbar) - (not (facep 'tool-bar))) - (put 'tool-bar 'face-alias 'toolbar))) - -(defvar color-theme-xemacs-p (and (featurep 'xemacs) - (string-match "XEmacs" emacs-version)) - "Non-nil if running XEmacs.") - -;; Add this since it appears to miss in emacs-2x -(or (fboundp 'replace-in-string) - (defun replace-in-string (target old new) - (replace-regexp-in-string old new target))) - -;; face-attr-construct has a problem in Emacs 20.7 and older when -;; dealing with inverse-video faces. Here is a short test to check -;; wether you are affected. - -;; (set-background-color "wheat") -;; (set-foreground-color "black") -;; (setq a (make-face 'a-face)) -;; (face-spec-set a '((t (:background "white" :foreground "black" :inverse-video t)))) -;; (face-attr-construct a) -;; => (:background "black" :inverse-video t) - -;; The expected response is the original specification: -;; => (:background "white" :foreground "black" :inverse-video t) - -;; That's why we depend on cus-face.el functionality. - -(cond ((fboundp 'custom-face-attributes-get) - (defun color-theme-face-attr-construct (face frame) - (if (atom face) - (custom-face-attributes-get face frame) - (if (and (consp face) (eq (car face) 'quote)) - (custom-face-attributes-get (cadr face) frame) - (custom-face-attributes-get (car face) frame))))) - ((fboundp 'face-custom-attributes-get) - (defalias 'color-theme-face-attr-construct - 'face-custom-attributes-get)) - (t - (defun color-theme-face-attr-construct (&rest ignore) - (error "Unable to construct face attributes")))) - -(defun color-theme-alist (plist) - "Transform PLIST into an alist if it is a plist and return it. -If the first element of PLIST is a cons cell, we just return PLIST, -assuming PLIST to be an alist. If the first element of plist is not a -symbol, this is an error: We cannot distinguish a plist from an ordinary -list, but a list that doesn't start with a symbol is certainly no plist -and no alist. - -This is used to make sure `default-frame-alist' really is an alist and not -a plist. In XEmacs, the alist is deprecated; a plist is used instead." - (cond ((consp (car plist)) - plist) - ((not (symbolp (car plist))) - (error "Wrong type argument: plist, %S" plist)) - ((featurep 'xemacs) - (plist-to-alist plist)))); XEmacs only - -;; Customization - -(defgroup color-theme nil - "Color Themes for Emacs. -A color theme consists of frame parameter settings, variable settings, -and face definitions." - :version "20.6" - :group 'faces) - -(defcustom color-theme-legal-frame-parameters "\\(color\\|mode\\)$" - "Regexp that matches frame parameter names. -Only frame parameter names that match this regexp can be changed as part -of a color theme." - :type '(choice (const :tag "Colors only" "\\(color\\|mode\\)$") - (const :tag "Colors, fonts, and size" - "\\(color\\|mode\\|font\\|height\\|width\\)$") - (regexp :tag "Custom regexp")) - :group 'color-theme - :link '(info-link "(elisp)Window Frame Parameters")) - -(defcustom color-theme-legal-variables "\\(color\\|face\\)$" - "Regexp that matches variable names. -Only variables that match this regexp can be changed as part of a color -theme. In addition to matching this name, the variables have to be user -variables (see function `user-variable-p')." - :type 'regexp - :group 'color-theme) - -(defcustom color-theme-illegal-faces "^w3-" - "Regexp that matches face names forbidden in themes. -The default setting \"^w3-\" excludes w3 faces since these -are created dynamically." - :type 'regexp - :group 'color-theme - :link '(info-link "(elisp)Faces for Font Lock") - :link '(info-link "(elisp)Standard Faces")) - -(defcustom color-theme-illegal-default-attributes '(:family :height :width) - "A list of face properties to be ignored when installing faces. -This prevents Emacs from doing terrible things to your display just because -a theme author likes weird fonts." - :type '(repeat symbol) - :group 'color-theme) - -(defcustom color-theme-is-global t - "*Determines wether a color theme is installed on all frames or not. -If non-nil, color themes will be installed for all frames. -If nil, color themes will be installed for the selected frame only. - -A possible use for this variable is dynamic binding. Here is a larger -example to put in your ~/.emacs; it will make the Blue Sea color theme -the default used for the first frame, and it will create two additional -frames with different color themes. - -setup: - \(require 'color-theme) - ;; set default color theme - \(color-theme-blue-sea) - ;; create some frames with different color themes - \(let ((color-theme-is-global nil)) - \(select-frame (make-frame)) - \(color-theme-gnome2) - \(select-frame (make-frame)) - \(color-theme-standard)) - -Please note that using XEmacs and and a nil value for -color-theme-is-global will ignore any variable settings for the color -theme, since XEmacs doesn't have frame-local variable bindings. - -Also note that using Emacs and a non-nil value for color-theme-is-global -will install a new color theme for all frames. Using XEmacs and a -non-nil value for color-theme-is-global will install a new color theme -only on those frames that are not using a local color theme." - :type 'boolean - :group 'color-theme) - -(defcustom color-theme-is-cumulative t - "*Determines wether new color themes are installed on top of each other. -If non-nil, installing a color theme will undo all settings made by -previous color themes." - :type 'boolean - :group 'color-theme) - -(defcustom color-theme-directory nil - "Directory where we can find additionnal themes (personnal). -Note that there is at least one directory shipped with the official -color-theme distribution where all contributed themes are located. -This official selection can't be changed with that variable. -However, you still can decide to turn it on or off and thus, -not be shown with all themes but yours." - :type '(repeat string) - :group 'color-theme) - -(defcustom color-theme-libraries (directory-files - (concat - (file-name-directory (locate-library "color-theme")) - "/themes") t "^color-theme") - "A list of files, which will be loaded in color-theme-initialize depending -on `color-theme-load-all-themes' value. -This allows a user to prune the default color-themes (which can take a while -to load)." - :type '(repeat string) - :group 'color-theme) - -(defcustom color-theme-load-all-themes t - "When t, load all color-theme theme files -as presented by `color-theme-libraries'. Else -do not load any of this themes." - :type 'boolean - :group 'color-theme) - -(defcustom color-theme-mode-hook nil - "Hook for color-theme-mode." - :type 'hook - :group 'color-theme) - -(defvar color-theme-mode-map - (let ((map (make-sparse-keymap))) - (define-key map (kbd "RET") 'color-theme-install-at-point) - (define-key map (kbd "c") 'list-colors-display) - (define-key map (kbd "d") 'color-theme-describe) - (define-key map (kbd "f") 'list-faces-display) - (define-key map (kbd "i") 'color-theme-install-at-point) - (define-key map (kbd "l") 'color-theme-install-at-point-for-current-frame) - (define-key map (kbd "p") 'color-theme-print) - (define-key map (kbd "q") 'bury-buffer) - (define-key map (kbd "?") 'color-theme-describe) - (if color-theme-xemacs-p - (define-key map (kbd "") 'color-theme-install-at-mouse) - (define-key map (kbd "") 'color-theme-install-at-mouse)) - map) - "Mode map used for the buffer created by `color-theme-select'.") - -(defvar color-theme-initialized nil - "Internal variable determining whether color-theme-initialize has been invoked yet") - -(defvar color-theme-buffer-name "*Color Theme Selection*" - "Name of the color theme selection buffer.") - -(defvar color-theme-original-frame-alist nil - "nil until one of the color themes has been installed.") - -(defvar color-theme-history nil - "List of color-themes called, in reverse order") - -(defcustom color-theme-history-max-length nil - "Max length of history to maintain. -Two other values are acceptable: t means no limit, and -nil means that no history is maintained." - :type '(choice (const :tag "No history" nil) - (const :tag "Unlimited length" t) - integer) - :group 'color-theme) - -(defvar color-theme-counter 0 - "Counter for every addition to `color-theme-history'. -This counts how many themes were installed, regardless -of `color-theme-history-max-length'.") - -(defvar color-theme-entry-path (cond - ;; Emacs 22.x and later - ((lookup-key global-map [menu-bar tools]) - '("tools")) - ;; XEmacs - ((featurep 'xemacs) - (setq tool-entry '("Tools"))) - ;; Emacs < 22 - (t - '("Tools"))) - "Menu tool entry path.") - -(defun color-theme-add-to-history (name) - "Add color-theme NAME to `color-theme-history'." - (setq color-theme-history - (cons (list name color-theme-is-cumulative) - color-theme-history) - color-theme-counter (+ 1 color-theme-counter)) - ;; Truncate the list if necessary. - (when (and (integerp color-theme-history-max-length) - (>= (length color-theme-history) - color-theme-history-max-length)) - (setcdr (nthcdr (1- color-theme-history-max-length) - color-theme-history) - nil))) - -;; (let ((l '(1 2 3 4 5))) -;; (setcdr (nthcdr 2 l) nil) -;; l) - - - -;; List of color themes used to create the *Color Theme Selection* -;; buffer. - -(defvar color-themes - '((color-theme-aalto-dark "Aalto Dark" "Jari Aalto ") - (color-theme-aalto-light "Aalto Light" "Jari Aalto ") - (color-theme-aliceblue "Alice Blue" "Girish Bharadwaj ") - (color-theme-andreas "Andreas" "Andreas Busch ") - (color-theme-arjen "Arjen" "Arjen Wiersma ") - (color-theme-beige-diff "Beige Diff" "Alex Schroeder " t) - (color-theme-bharadwaj "Bharadwaj" "Girish Bharadwaj ") - (color-theme-bharadwaj-slate "Bharadwaj Slate" "Girish Bharadwaj ") - (color-theme-billw "Billw" "Bill White ") - (color-theme-black-on-gray "BlackOnGray" "Sudhir Bhojwani ") - (color-theme-blippblopp "Blipp Blopp" "Thomas Sicheritz-Ponten") - (color-theme-simple-1 "Black" "Jonadab ") - (color-theme-blue-erc "Blue ERC" "Alex Schroeder " t) - (color-theme-blue-gnus "Blue Gnus" "Alex Schroeder " t) - (color-theme-blue-mood "Blue Mood" "Nelson Loyola ") - (color-theme-blue-sea "Blue Sea" "Alex Schroeder ") - (color-theme-calm-forest "Calm Forest" "Artur Hefczyc ") - (color-theme-charcoal-black "Charcoal Black" "Lars Chr. Hausmann ") - (color-theme-goldenrod "Cheap Goldenrod" "Alex Schroeder ") - (color-theme-clarity "Clarity and Beauty" "Richard Wellum ") - (color-theme-classic "Classic" "Frederic Giroud ") - (color-theme-comidia "Comidia" "Marcelo Dias de Toledo ") - (color-theme-jsc-dark "Cooper Dark" "John S Cooper ") - (color-theme-jsc-light "Cooper Light" "John S Cooper ") - (color-theme-jsc-light2 "Cooper Light 2" "John S Cooper ") - (color-theme-dark-blue "Dark Blue" "Chris McMahan ") - (color-theme-dark-blue2 "Dark Blue 2" "Chris McMahan ") - (color-theme-dark-green "Dark Green" "eddy_woody@hotmail.com") - (color-theme-dark-laptop "Dark Laptop" "Laurent Michel ") - (color-theme-deep-blue "Deep Blue" "Tomas Cerha ") - (color-theme-digital-ofs1 "Digital OFS1" "Gareth Owen ") - (color-theme-euphoria "Euphoria" "oGLOWo@oGLOWo.cjb.net") - (color-theme-feng-shui "Feng Shui" "Walter Higgins ") - (color-theme-fischmeister "Fischmeister" - "Sebastian Fischmeister ") - (color-theme-gnome "Gnome" "Jonadab ") - (color-theme-gnome2 "Gnome 2" "Alex Schroeder ") - (color-theme-gray1 "Gray1" "Paul Pulli ") - (color-theme-gray30 "Gray30" "Girish Bharadwaj ") - (color-theme-kingsajz "Green Kingsajz" "Olgierd `Kingsajz' Ziolko ") - (color-theme-greiner "Greiner" "Kevin Greiner ") - (color-theme-gtk-ide "GTK IDE" "Gordon Messmer ") - (color-theme-high-contrast "High Contrast" "Alex Schroeder ") - (color-theme-hober "Hober" "Edward O'Connor ") - (color-theme-infodoc "Infodoc" "Frederic Giroud ") - (color-theme-jb-simple "JB Simple" "jeff@dvns.com") - (color-theme-jedit-grey "Jedit Grey" "Gordon Messmer ") - (color-theme-jonadabian "Jonadab" "Jonadab ") - (color-theme-jonadabian-slate "Jonadabian Slate" "Jonadab ") - (color-theme-katester "Katester" "Higgins_Walter@emc.com") - (color-theme-late-night "Late Night" "Alex Schroeder ") - (color-theme-lawrence "Lawrence" "lawrence mitchell ") - (color-theme-lethe "Lethe" "Ivica Loncar ") - (color-theme-ld-dark "Linh Dang Dark" "Linh Dang ") - (color-theme-marine "Marine" "Girish Bharadwaj ") - (color-theme-matrix "Matrix" "Walter Higgins ") - (color-theme-marquardt "Marquardt" "Colin Marquardt ") - (color-theme-midnight "Midnight" "Gordon Messmer ") - (color-theme-mistyday "Misty Day" "Hari Kumar ") - (color-theme-montz "Montz" "Brady Montz ") - (color-theme-oswald "Oswald" "Tom Oswald ") - (color-theme-parus "Parus" "Jon K Hellan ") - (color-theme-pierson "Pierson" "Dan L. Pierson ") - (color-theme-ramangalahy "Ramangalahy" "Solofo Ramangalahy ") - (color-theme-raspopovic "Raspopovic" "Pedja Raspopovic ") - (color-theme-renegade "Renegade" "Dave Benjamin ") - (color-theme-resolve "Resolve" "Damien Elmes ") - (color-theme-retro-green "Retro Green" "Alex Schroeder ") - (color-theme-retro-orange "Retro Orange" "Alex Schroeder ") - (color-theme-robin-hood "Robin Hood" "Alex Schroeder ") - (color-theme-rotor "Rotor" "Jinwei Shen ") - (color-theme-ryerson "Ryerson" "Luis Fernandes ") - (color-theme-salmon-diff "Salmon Diff" "Alex Schroeder " t) - (color-theme-salmon-font-lock "Salmon Font-Lock" "Alex Schroeder " t) - (color-theme-scintilla "Scintilla" "Gordon Messmer ") - (color-theme-shaman "Shaman" "shaman@interdon.net") - (color-theme-sitaramv-nt "Sitaram NT" - "Sitaram Venkatraman ") - (color-theme-sitaramv-solaris "Sitaram Solaris" - "Sitaram Venkatraman ") - (color-theme-snow "Snow" "Nicolas Rist ") - (color-theme-snowish "Snowish" "Girish Bharadwaj ") - (color-theme-standard-ediff "Standard Ediff" "Emacs Team, added by Alex Schroeder " t) - (color-theme-standard "Standard Emacs 20" "Emacs Team, added by Alex Schroeder ") - (color-theme-emacs-21 "Standard Emacs 21" "Emacs Team, added by Alex Schroeder ") - (color-theme-emacs-nw "Standard Emacs 21 No Window" "Emacs Team, added by D. Goel ") - (color-theme-xemacs "Standard XEmacs" "XEmacs Team, added by Alex Schroeder ") - (color-theme-subtle-blue "Subtle Blue" "Chris McMahan ") - (color-theme-subtle-hacker "Subtle Hacker" "Colin Walters ") - (color-theme-taming-mr-arneson "Taming Mr Arneson" "Erik Arneson ") - (color-theme-taylor "Taylor" "Art Taylor ") - (color-theme-tty-dark "TTY Dark" "O Polite ") - (color-theme-vim-colors "Vim Colors" "Michael Soulier ") - (color-theme-whateveryouwant "Whateveryouwant" "Fabien Penso , color by Scott Jaderholm ") - (color-theme-wheat "Wheat" "Alex Schroeder ") - (color-theme-pok-wob "White On Black" "S. Pokrovsky ") - (color-theme-pok-wog "White On Grey" "S. Pokrovsky ") - (color-theme-word-perfect "WordPerfect" "Thomas Gehrlein ") - (color-theme-xp "XP" "Girish Bharadwaj ")) - "List of color themes. - -Each THEME is itself a three element list (FUNC NAME MAINTAINER &optional LIBRARY). - -FUNC is a color theme function which does the setup. The function -FUNC may call `color-theme-install'. The color theme function may be -interactive. - -NAME is the name of the theme and MAINTAINER is the name and/or email of -the maintainer of the theme. - -If LIBRARY is non-nil, the color theme will be considered a library and -may not be shown in the default menu. - -If you defined your own color theme and want to add it to this list, -use something like this: - - (add-to-list 'color-themes '(color-theme-gnome2 \"Gnome2\" \"Alex\"))") - -;;; Functions - -(defun color-theme-backup-original-values () - "Back up the original `default-frame-alist'. -The values are stored in `color-theme-original-frame-alist' on -startup." - (if (null color-theme-original-frame-alist) - (setq color-theme-original-frame-alist - (color-theme-filter (frame-parameters (selected-frame)) - color-theme-legal-frame-parameters)))) -(add-hook 'after-init-hook 'color-theme-backup-original-values) - -;;;###autoload -(defun color-theme-select (&optional arg) - "Displays a special buffer for selecting and installing a color theme. -With optional prefix ARG, this buffer will include color theme libraries -as well. A color theme library is in itself not complete, it must be -used as part of another color theme to be useful. Thus, color theme -libraries are mainly useful for color theme authors." - (interactive "P") - (unless color-theme-initialized (color-theme-initialize)) - (switch-to-buffer (get-buffer-create color-theme-buffer-name)) - (setq buffer-read-only nil) - (erase-buffer) - ;; recreate the snapshot if necessary - (when (or (not (assq 'color-theme-snapshot color-themes)) - (not (commandp 'color-theme-snapshot))) - (fset 'color-theme-snapshot (color-theme-make-snapshot)) - (setq color-themes (delq (assq 'color-theme-snapshot color-themes) - color-themes) - color-themes (delq (assq 'bury-buffer color-themes) - color-themes) - color-themes (append '((color-theme-snapshot - "[Reset]" "Undo changes, if possible.") - (bury-buffer - "[Quit]" "Bury this buffer.")) - color-themes))) - (dolist (theme color-themes) - (let ((func (nth 0 theme)) - (name (nth 1 theme)) - (author (nth 2 theme)) - (library (nth 3 theme)) - (desc)) - (when (or (not library) arg) - (setq desc (format "%-23s %s" - (if library (concat name " [lib]") name) - author)) - (put-text-property 0 (length desc) 'color-theme func desc) - (put-text-property 0 (length name) 'face 'bold desc) - (put-text-property 0 (length name) 'mouse-face 'highlight desc) - (insert desc) - (newline)))) - (goto-char (point-min)) - (setq buffer-read-only t) - (set-buffer-modified-p nil) - (color-theme-mode)) - -(when (require 'easymenu) - (easy-menu-add-item nil color-theme-entry-path "--") - (easy-menu-add-item nil color-theme-entry-path - ["Color Themes" color-theme-select t])) - -(defun color-theme-mode () - "Major mode to select and install color themes. - -Use \\[color-theme-install-at-point] to install a color theme on all frames. -Use \\[color-theme-install-at-point-for-current-frame] to install a color theme for the current frame only. - -The changes are applied on top of your current setup. This is a -feature. - -Some of the themes should be considered extensions to the standard color -theme: they modify only a limited number of faces and variables. To -verify the final look of a color theme, install the standard color -theme, then install the other color theme. This is a feature. It allows -you to mix several color themes. - -Use \\[color-theme-describe] to read more about the color theme function at point. -If you want to install the color theme permanently, put the call to the -color theme function into your ~/.emacs: - - \(require 'color-theme) - \(color-theme-gnome2) - -If you worry about the size of color-theme.el: You are right. Use -\\[color-theme-print] to print the current color theme and save the resulting buffer -as ~/.emacs-color-theme. Now you can install only this specific color -theme in your .emacs: - - \(load-file \"~/.emacs-color-theme\") - \(my-color-theme) - -The Emacs menu is not affected by color themes within Emacs. Depending -on the toolkit you used to compile Emacs, you might have to set specific -X ressources. See the info manual for more information. Here is an -example ~/.Xdefaults fragment: - - emacs*Background: DarkSlateGray - emacs*Foreground: wheat - -\\{color-theme-mode-map} - -The color themes are listed in `color-themes', which see." - (kill-all-local-variables) - (setq major-mode 'color-theme-mode) - (setq mode-name "Color Themes") - (use-local-map color-theme-mode-map) - (when (functionp 'goto-address); Emacs - (goto-address)) - (run-hooks 'color-theme-mode-hook)) - -;;; Commands in Color Theme Selection mode - -;;;###autoload -(defun color-theme-describe () - "Describe color theme listed at point. -This shows the documentation of the value of text-property color-theme -at point. The text-property color-theme should be a color theme -function. See `color-themes'." - (interactive) - (describe-function (get-text-property (point) 'color-theme))) - -;;;###autoload -(defun color-theme-install-at-mouse (event) - "Install color theme clicked upon using the mouse. -First argument EVENT is used to set point. Then -`color-theme-install-at-point' is called." - (interactive "e") - (save-excursion - (mouse-set-point event) - (color-theme-install-at-point))) - -;;;autoload -(defun color-theme-install-at-point () - "Install color theme at point. -This calls the value of the text-property `color-theme' at point. -The text-property `color-theme' should be a color theme function. -See `color-themes'." - (interactive) - (let ((func (get-text-property (point) 'color-theme))) - ;; install theme - (if func - (funcall func)) - ;; If goto-address is being used, remove all overlays in the current - ;; buffer and run it again. The face used for the mail addresses in - ;; the the color theme selection buffer is based on the variable - ;; goto-address-mail-face. Changes in that variable will not affect - ;; existing overlays, however, thereby confusing users. - (when (functionp 'goto-address); Emacs - (dolist (o (overlays-in (point-min) (point-max))) - (delete-overlay o)) - (goto-address)))) - -;;;###autoload -(defun color-theme-install-at-point-for-current-frame () - "Install color theme at point for current frame only. -Binds `color-theme-is-global' to nil and calls -`color-theme-install-at-point'." - (interactive) - (let ((color-theme-is-global nil)) - (color-theme-install-at-point))) - - - -;; Taking a snapshot of the current color theme and pretty printing it. - -(defun color-theme-filter (old-list regexp &optional exclude) - "Filter OLD-LIST. -The resulting list will be newly allocated and contains only elements -with names matching REGEXP. OLD-LIST may be a list or an alist. If you -want to filter a plist, use `color-theme-alist' to convert your plist to -an alist, first. - -If the optional argument EXCLUDE is non-nil, then the sense is -reversed: only non-matching elements will be retained." - (let (elem new-list) - (dolist (elem old-list) - (setq name (symbol-name (if (listp elem) (car elem) elem))) - (when (or (and (not exclude) - (string-match regexp name)) - (and exclude - (not (string-match regexp name)))) - ;; Now make sure that if elem is a cons cell, and the cdr of - ;; that cons cell is a string, then we need a *new* string in - ;; the new list. Having a new cons cell is of no use because - ;; modify-frame-parameters will modify this string, thus - ;; modifying our color theme functions! - (when (and (consp elem) - (stringp (cdr elem))) - (setq elem (cons (car elem) - (copy-sequence (cdr elem))))) - ;; Now store elem - (setq new-list (cons elem new-list)))) - new-list)) - -(defun color-theme-spec-filter (spec) - "Filter the attributes in SPEC. -This makes sure that SPEC has the form ((t (PLIST ...))). -Only properties not in `color-theme-illegal-default-attributes' -are included in the SPEC returned." - (let ((props (cadar spec)) - result prop val) - (while props - (setq prop (nth 0 props) - val (nth 1 props) - props (nthcdr 2 props)) - (unless (memq prop color-theme-illegal-default-attributes) - (setq result (cons val (cons prop result))))) - `((t ,(nreverse result))))) - -;; (color-theme-spec-filter '((t (:background "blue3")))) -;; (color-theme-spec-filter '((t (:stipple nil :background "Black" :foreground "SteelBlue" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width semi-condensed :family "misc-fixed")))) - -(defun color-theme-plist-delete (plist prop) - "Delete property PROP from property list PLIST by side effect. -This modifies PLIST." - ;; deal with prop at the start - (while (eq (car plist) prop) - (setq plist (cddr plist))) - ;; deal with empty plist - (when plist - (let ((lastcell (cdr plist)) - (l (cddr plist))) - (while l - (if (eq (car l) prop) - (progn - (setq l (cddr l)) - (setcdr lastcell l)) - (setq lastcell (cdr l) - l (cddr l)))))) - plist) - -;; (color-theme-plist-delete '(a b c d e f g h) 'a) -;; (color-theme-plist-delete '(a b c d e f g h) 'b) -;; (color-theme-plist-delete '(a b c d e f g h) 'c) -;; (color-theme-plist-delete '(a b c d e f g h) 'g) -;; (color-theme-plist-delete '(a b c d c d e f g h) 'c) -;; (color-theme-plist-delete '(a b c d e f c d g h) 'c) - -(if (or (featurep 'xemacs) - (< emacs-major-version 21)) - (defalias 'color-theme-spec-compat 'identity) - (defun color-theme-spec-compat (spec) - "Filter the attributes in SPEC such that is is never invalid. -Example: Eventhough :bold works in Emacs, it is not recognized by -`customize-face' -- and then the face is uncustomizable. This -function replaces a :bold attribute with the corresponding :weight -attribute, if there is no :weight, or deletes it. This undoes the -doings of `color-theme-spec-canonical-font', more or less." - (let ((props (cadar spec))) - (when (plist-member props :bold) - (setq props (color-theme-plist-delete props :bold)) - (unless (plist-member props :weight) - (setq props (plist-put props :weight 'bold)))) - (when (plist-member props :italic) - (setq props (color-theme-plist-delete props :italic)) - (unless (plist-member props :slant) - (setq props (plist-put props :slant 'italic)))) - `((t ,props))))) - -;; (color-theme-spec-compat '((t (:foreground "blue" :bold t)))) -;; (color-theme-spec-compat '((t (:bold t :foreground "blue" :weight extra-bold)))) -;; (color-theme-spec-compat '((t (:italic t :foreground "blue")))) -;; (color-theme-spec-compat '((t (:slant oblique :italic t :foreground "blue")))) - -(defun color-theme-spec-canonical-font (atts) - "Add :bold and :italic attributes if necessary." - ;; add these to the front of atts -- this will keept the old value for - ;; customize-face in Emacs 21. - (when (and (memq (plist-get atts :weight) - '(ultra-bold extra-bold bold semi-bold)) - (not (plist-get atts :bold))) - (setq atts (cons :bold (cons t atts)))) - (when (and (not (memq (plist-get atts :slant) - '(normal nil))) - (not (plist-get atts :italic))) - (setq atts (cons :italic (cons t atts)))) - atts) -;; (color-theme-spec-canonical-font (color-theme-face-attr-construct 'bold (selected-frame))) -;; (defface foo '((t (:weight extra-bold))) "foo") -;; (color-theme-spec-canonical-font (color-theme-face-attr-construct 'foo (selected-frame))) -;; (face-spec-set 'foo '((t (:weight extra-bold))) nil) -;; (face-spec-set 'foo '((t (:bold t))) nil) -;; (face-spec-set 'foo '((t (:bold t :weight extra-bold))) nil) - -;; Handle :height according to NEWS file for Emacs 21 -(defun color-theme-spec-resolve-height (old new) - "Return the new height given OLD and NEW height. -OLD is the current setting, NEW is the setting inherited from." - (cond ((not old) - new) - ((integerp old) - old) - ((and (floatp old) - (integerp new)) - (round (* old new))) - ((and (floatp old) - (floatp new)) - (* old new)) - ((and (functionp old) - (integerp new)) - (round (funcall old new))) - ((and (functionp old) - (float new)) - `(lambda (f) (* (funcall ,old f) ,new))) - ((and (functionp old) - (functionp new)) - `(lambda (f) (* (funcall ,old (funcall ,new f))))) - (t - (error "Illegal :height attributes: %S or %S" old new)))) -;; (color-theme-spec-resolve-height 12 1.2) -;; (color-theme-spec-resolve-height 1.2 1.2) -;; (color-theme-spec-resolve-height 1.2 12) -;; (color-theme-spec-resolve-height 1.2 'foo) -;; (color-theme-spec-resolve-height (lambda (f) (* 2 f)) 5) -;; (color-theme-spec-resolve-height (lambda (f) (* 2 f)) 2.0) -;; the following lambda is the result from the above calculation -;; (color-theme-spec-resolve-height (lambda (f) (* (funcall (lambda (f) (* 2 f)) f) 2.0)) 5) - -(defun color-theme-spec-resolve-inheritance (atts) - "Resolve all occurences of the :inherit attribute." - (let ((face (plist-get atts :inherit))) - ;; From the Emacs 21 NEWS file: "Attributes from inherited faces are - ;; merged into the face like an underlying face would be." -- - ;; therefore properties of the inherited face only add missing - ;; attributes. - (when face - ;; remove :inherit face from atts -- this assumes only one - ;; :inherit attribute. - (setq atts (delq ':inherit (delq face atts))) - (let ((more-atts (color-theme-spec-resolve-inheritance - (color-theme-face-attr-construct - face (selected-frame)))) - att val) - (while more-atts - (setq att (car more-atts) - val (cadr more-atts) - more-atts (cddr more-atts)) - ;; Color-theme assumes that no value is ever 'unspecified. - (cond ((eq att ':height); cumulative effect! - (setq atts (plist-put atts - ':height - (color-theme-spec-resolve-height - (plist-get atts att) - val)))) - ;; Default: Only put if it has not been specified before. - ((not (plist-get atts att)) - (setq atts (cons att (cons val atts)))) - -)))) - atts)) -;; (color-theme-spec-resolve-inheritance '(:bold t)) -;; (color-theme-spec-resolve-inheritance '(:bold t :foreground "blue")) -;; (color-theme-face-attr-construct 'font-lock-comment-face (selected-frame)) -;; (color-theme-spec-resolve-inheritance '(:bold t :inherit font-lock-comment-face)) -;; (color-theme-spec-resolve-inheritance '(:bold t :foreground "red" :inherit font-lock-comment-face)) -;; (color-theme-face-attr-construct 'Info-title-2-face (selected-frame)) -;; (color-theme-face-attr-construct 'Info-title-3-face (selected-frame)) -;; (color-theme-face-attr-construct 'Info-title-4-face (selected-frame)) -;; (color-theme-spec-resolve-inheritance '(:inherit Info-title-2-face)) - -;; The :inverse-video attribute causes Emacs to swap foreground and -;; background colors, XEmacs does not. Therefore, if anybody chooses -;; the inverse-video attribute, we 1. swap the colors ourselves in Emacs -;; and 2. we remove the inverse-video attribute in Emacs and XEmacs. -;; Inverse-video is only useful on a monochrome tty. -(defun color-theme-spec-maybe-invert (atts) - "Remove the :inverse-video attribute from ATTS. -If ATTS contains :inverse-video t, remove it and swap foreground and -background color. Return ATTS." - (let ((inv (plist-get atts ':inverse-video))) - (if inv - (let (result att) - (while atts - (setq att (car atts) - atts (cdr atts)) - (cond ((and (eq att :foreground) (not color-theme-xemacs-p)) - (setq result (cons :background result))) - ((and (eq att :background) (not color-theme-xemacs-p)) - (setq result (cons :foreground result))) - ((eq att :inverse-video) - (setq atts (cdr atts))); this prevents using dolist - (t - (setq result (cons att result))))) - (nreverse result)) - ;; else - atts))) -;; (color-theme-spec-maybe-invert '(:bold t)) -;; (color-theme-spec-maybe-invert '(:foreground "blue")) -;; (color-theme-spec-maybe-invert '(:background "red")) -;; (color-theme-spec-maybe-invert '(:inverse-video t)) -;; (color-theme-spec-maybe-invert '(:inverse-video t :foreground "red")) -;; (color-theme-spec-maybe-invert '(:inverse-video t :background "red")) -;; (color-theme-spec-maybe-invert '(:inverse-video t :background "red" :foreground "blue" :bold t)) -;; (color-theme-spec-maybe-invert '(:inverse-video nil :background "red" :foreground "blue" :bold t)) - -(defun color-theme-spec (face) - "Return a list for FACE which has the form (FACE SPEC). -See `defface' for the format of SPEC. In this case we use only one -DISPLAY, t, and determine ATTS using `color-theme-face-attr-construct'. -If ATTS is nil, (nil) is used instead. - -If ATTS contains :inverse-video t, we remove it and swap foreground and -background color using `color-theme-spec-maybe-invert'. We do this -because :inverse-video is handled differently in Emacs and XEmacs. We -will loose on a tty without colors, because in that situation, -:inverse-video means something." - (let ((atts - (color-theme-spec-canonical-font - (color-theme-spec-maybe-invert - (color-theme-spec-resolve-inheritance - (color-theme-face-attr-construct face (selected-frame))))))) - (if atts - `(,face ((t ,atts))) - `(,face ((t (nil))))))) - -(defun color-theme-get-params () - "Return a list of frame parameter settings usable in a color theme. -Such an alist may be installed by `color-theme-install-frame-params'. The -frame parameters returned must match `color-theme-legal-frame-parameters'." - (let ((params (color-theme-filter (frame-parameters (selected-frame)) - color-theme-legal-frame-parameters))) - (sort params (lambda (a b) (string< (symbol-name (car a)) - (symbol-name (car b))))))) - -(defun color-theme-get-vars () - "Return a list of variable settings usable in a color theme. -Such an alist may be installed by `color-theme-install-variables'. -The variable names must match `color-theme-legal-variables', and the -variable must be a user variable according to `user-variable-p'." - (let ((vars) - (val)) - (mapatoms (lambda (v) - (and (boundp v) - (user-variable-p v) - (string-match color-theme-legal-variables - (symbol-name v)) - (setq val (eval v)) - (add-to-list 'vars (cons v val))))) - (sort vars (lambda (a b) (string< (car a) (car b)))))) - -(defun color-theme-print-alist (alist) - "Print ALIST." - (insert "\n " (if alist "(" "nil")) - (dolist (elem alist) - (when (= (preceding-char) ?\)) - (insert "\n ")) - (prin1 elem (current-buffer))) - (when (= (preceding-char) ?\)) (insert ")"))) - -(defun color-theme-get-faces () - "Return a list of faces usable in a color theme. -Such an alist may be installed by `color-theme-install-faces'. The -faces returned must not match `color-theme-illegal-faces'." - (let ((faces (color-theme-filter (face-list) color-theme-illegal-faces t))) - ;; default face must come first according to comments in - ;; custom-save-faces, the rest is to be sorted by name - (cons 'default (sort (delq 'default faces) 'string-lessp)))) - -(defun color-theme-get-face-definitions () - "Return face settings usable in a color-theme." - (let ((faces (color-theme-get-faces))) - (mapcar 'color-theme-spec faces))) - -(defun color-theme-print-faces (faces) - "Print face settings for all faces returned by `color-theme-get-faces'." - (when faces - (insert "\n ")) - (dolist (face faces) - (when (= (preceding-char) ?\)) - (insert "\n ")) - (prin1 face (current-buffer)))) - -(defun color-theme-reset-faces () - "Reset face settings for all faces returned by `color-theme-get-faces'." - (let ((faces (color-theme-get-faces)) - (face) (spec) (entry) - (frame (if color-theme-is-global nil (selected-frame)))) - (while faces - (setq entry (color-theme-spec (car faces))) - (setq face (nth 0 entry)) - (setq spec '((t (nil)))) - (setq faces (cdr faces)) - (if (functionp 'face-spec-reset-face) - (face-spec-reset-face face frame) - (face-spec-set face spec frame) - (if color-theme-is-global - (put face 'face-defface-spec spec)))))) - -(defun color-theme-print-theme (func doc params vars faces) - "Print a theme into the current buffer. -FUNC is the function name, DOC the doc string, PARAMS the -frame parameters, VARS the variable bindings, and FACES -the list of faces and their specs." - (insert "(defun " (symbol-name func) " ()\n" - " \"" doc "\"\n" - " (interactive)\n" - " (color-theme-install\n" - " '(" (symbol-name func)) - ;; alist of frame parameters - (color-theme-print-alist params) - ;; alist of variables - (color-theme-print-alist vars) - ;; remaining elements of snapshot: face specs - (color-theme-print-faces faces) - (insert ")))\n") - (insert "(add-to-list 'color-themes '(" (symbol-name func) " " - " \"THEME NAME\" \"YOUR NAME\"))") - (goto-char (point-min))) - -;;;###autoload -(defun color-theme-print (&optional buf) - "Print the current color theme function. - -You can contribute this function to or -paste it into your .emacs file and call it. That should recreate all -the settings necessary for your color theme. - -Example: - - \(require 'color-theme) - \(defun my-color-theme () - \"Color theme by Alex Schroeder, created 2000-05-17.\" - \(interactive) - \(color-theme-install - '(... - ... - ...))) - \(my-color-theme) - -If you want to use a specific color theme function, you can call the -color theme function in your .emacs directly. - -Example: - - \(require 'color-theme) - \(color-theme-gnome2)" - (interactive) - (message "Pretty printing current color theme function...") - (switch-to-buffer (if buf - buf - (get-buffer-create "*Color Theme*"))) - (unless buf - (setq buffer-read-only nil) - (erase-buffer)) - ;; insert defun - (insert "(eval-when-compile" - " (require 'color-theme))\n") - (color-theme-print-theme 'my-color-theme - (concat "Color theme by " - (if (string= "" user-full-name) - (user-login-name) - user-full-name) - ", created " (format-time-string "%Y-%m-%d") ".") - (color-theme-get-params) - (color-theme-get-vars) - (mapcar 'color-theme-spec (color-theme-get-faces))) - (unless buf - (emacs-lisp-mode)) - (goto-char (point-min)) - (message "Pretty printing current color theme function... done")) - -(defun color-theme-analyze-find-theme (code) - "Find the sexpr that calls `color-theme-install'." - (let (theme) - (while (and (not theme) code) - (when (eq (car code) 'color-theme-install) - (setq theme code)) - (when (listp (car code)) - (setq theme (color-theme-analyze-find-theme (car code)))) - (setq code (cdr code))) - theme)) - -;; (equal (color-theme-analyze-find-theme -;; '(defun color-theme-blue-eshell () -;; "Color theme for eshell faces only." -;; (color-theme-install -;; '(color-theme-blue-eshell -;; nil -;; (eshell-ls-archive-face ((t (:bold t :foreground "IndianRed")))) -;; (eshell-ls-backup-face ((t (:foreground "Grey")))))))) -;; '(color-theme-install -;; (quote -;; (color-theme-blue-eshell -;; nil -;; (eshell-ls-archive-face ((t (:bold t :foreground "IndianRed")))) -;; (eshell-ls-backup-face ((t (:foreground "Grey"))))))))) - -(defun color-theme-analyze-add-face (a b regexp faces) - "If only one of A or B are in FACES, the other is added, and FACES is returned. -If REGEXP is given, this is only done if faces contains a match for regexps." - (when (or (not regexp) - (catch 'found - (dolist (face faces) - (when (string-match regexp (symbol-name (car face))) - (throw 'found t))))) - (let ((face-a (assoc a faces)) - (face-b (assoc b faces))) - (if (and face-a (not face-b)) - (setq faces (cons (list b (nth 1 face-a)) - faces)) - (if (and (not face-a) face-b) - (setq faces (cons (list a (nth 1 face-b)) - faces)))))) - faces) - -;; (equal (color-theme-analyze-add-face -;; 'blue 'violet nil -;; '((blue ((t (:foreground "blue")))) -;; (bold ((t (:bold t)))))) -;; '((violet ((t (:foreground "blue")))) -;; (blue ((t (:foreground "blue")))) -;; (bold ((t (:bold t)))))) -;; (equal (color-theme-analyze-add-face -;; 'violet 'blue nil -;; '((blue ((t (:foreground "blue")))) -;; (bold ((t (:bold t)))))) -;; '((violet ((t (:foreground "blue")))) -;; (blue ((t (:foreground "blue")))) -;; (bold ((t (:bold t)))))) -;; (equal (color-theme-analyze-add-face -;; 'violet 'blue "foo" -;; '((blue ((t (:foreground "blue")))) -;; (bold ((t (:bold t)))))) -;; '((blue ((t (:foreground "blue")))) -;; (bold ((t (:bold t)))))) -;; (equal (color-theme-analyze-add-face -;; 'violet 'blue "blue" -;; '((blue ((t (:foreground "blue")))) -;; (bold ((t (:bold t)))))) -;; '((violet ((t (:foreground "blue")))) -;; (blue ((t (:foreground "blue")))) -;; (bold ((t (:bold t)))))) - -(defun color-theme-analyze-add-faces (faces) - "Add missing faces to FACES and return it." - ;; The most important thing is to add missing faces for the other - ;; editor. These are the most important faces to check. The - ;; following rules list two faces, A and B. If either of the two is - ;; part of the theme, the other must be, too. The optional third - ;; argument specifies a regexp. Only if an existing face name - ;; matches this regexp, is the rule applied. - (let ((rules '((font-lock-builtin-face font-lock-reference-face) - (font-lock-doc-face font-lock-doc-string-face) - (font-lock-constant-face font-lock-preprocessor-face) - ;; In Emacs 21 `modeline' is just an alias for - ;; `mode-line'. I recommend the use of - ;; `modeline' until further notice. - (modeline mode-line) - (modeline modeline-buffer-id) - (modeline modeline-mousable) - (modeline modeline-mousable-minor-mode) - (region primary-selection) - (region zmacs-region) - (font-lock-string-face dired-face-boring "^dired") - (font-lock-function-name-face dired-face-directory "^dired") - (default dired-face-executable "^dired") - (font-lock-warning-face dired-face-flagged "^dired") - (font-lock-warning-face dired-face-marked "^dired") - (default dired-face-permissions "^dired") - (default dired-face-setuid "^dired") - (default dired-face-socket "^dired") - (font-lock-keyword-face dired-face-symlink "^dired") - (tool-bar menu)))) - (dolist (rule rules) - (setq faces (color-theme-analyze-add-face - (nth 0 rule) (nth 1 rule) (nth 2 rule) faces)))) - ;; The `fringe' face defines what the left and right borders of the - ;; frame look like in Emacs 21. To give them default fore- and - ;; background colors, use (fringe ((t (nil)))) in your color theme. - ;; Usually it makes more sense to choose a color slightly lighter or - ;; darker from the default background. - (unless (assoc 'fringe faces) - (setq faces (cons '(fringe ((t (nil)))) faces))) - ;; The tool-bar should not be part of the frame-parameters, since it - ;; should not appear or disappear depending on the color theme. The - ;; apppearance of the toolbar, however, can be changed by the color - ;; theme. For Emacs 21, use the `tool-bar' face. The easiest way - ;; to do this is to give it the default fore- and background colors. - ;; This can be achieved using (tool-bar ((t (nil)))) in the theme. - ;; Usually it makes more sense, however, to provide the same colors - ;; as used in the `menu' face, and to specify a :box attribute. In - ;; order to alleviate potential Emacs/XEmacs incompatibilities, - ;; `toolbar' will be defined as an alias for `tool-bar' if it does - ;; not exist, and vice-versa. This is done eventhough the face - ;; `toolbar' seems to have no effect on XEmacs. If you look at - ;; XEmacs lisp/faces.el, however, you will find that it is in fact - ;; referenced for XPM stuff. - (unless (assoc 'tool-bar faces) - (setq faces (cons '(tool-bar ((t (nil)))) faces))) - ;; Move the default face back to the front, and sort the rest. - (unless (eq (caar faces) 'default) - (let ((face (assoc 'default faces))) - (setq faces (cons face - (sort (delete face faces) - (lambda (a b) - (string-lessp (car a) (car b)))))))) - faces) - -(defun color-theme-analyze-remove-heights (faces) - "Remove :height property where it is an integer and return FACES." - ;; I don't recommend making font sizes part of a color theme. Most - ;; users would be surprised to see their font sizes change when they - ;; install a color-theme. Therefore, remove all :height attributes - ;; if the value is an integer. If the value is a float, this is ok - ;; -- the value is relative to the default height. One notable - ;; exceptions is for a color-theme created for visually impaired - ;; people. These *must* use a larger font in order to be usable. - (let (result) - (dolist (face faces) - (let ((props (cadar (nth 1 face)))) - (if (and (plist-member props :height) - (integerp (plist-get props :height))) - (setq props (color-theme-plist-delete props :height) - result (cons (list (car face) `((t ,props))) - result)) - (setq result (cons face result))))) - (nreverse result))) - -;; (equal (color-theme-analyze-remove-heights -;; '((blue ((t (:foreground "blue" :height 2)))) -;; (bold ((t (:bold t :height 1.0)))))) -;; '((blue ((t (:foreground "blue")))) -;; (bold ((t (:bold t :height 1.0)))))) - -;;;###autoload -(defun color-theme-analyze-defun () - "Once you have a color-theme printed, check for missing faces. -This is used by maintainers who receive a color-theme submission -and want to make sure it follows the guidelines by the color-theme -author." - ;; The support for :foreground and :background attributes works for - ;; Emacs 20 and 21 as well as for XEmacs. :inverse-video is taken - ;; care of while printing color themes. - (interactive) - ;; Parse the stuff and find the call to color-theme-install - (save-excursion - (save-restriction - (narrow-to-defun) - ;; define the function - (eval-defun nil) - (goto-char (point-min)) - (let* ((code (read (current-buffer))) - (theme (color-theme-canonic - (eval - (cadr - (color-theme-analyze-find-theme - code))))) - (func (color-theme-function theme)) - (doc (documentation func t)) - (variables (color-theme-variables theme)) - (faces (color-theme-faces theme)) - (params (color-theme-frame-params theme))) - (setq faces (color-theme-analyze-remove-heights - (color-theme-analyze-add-faces faces))) - ;; Remove any variable bindings of faces that point to their - ;; symbol? Perhaps not, because another theme might want to - ;; change this, so it is important to be able to reset them. - ;; (let (result) - ;; (dolist (var variables) - ;; (unless (eq (car var) (cdr var)) - ;; (setq result (cons var result)))) - ;; (setq variables (nreverse result))) - ;; Now modify the theme directly. - (setq theme (color-theme-analyze-find-theme code)) - (setcdr (cadadr theme) (list params variables faces)) - (message "Pretty printing analysed color theme function...") - (with-current-buffer (get-buffer-create "*Color Theme*") - (setq buffer-read-only nil) - (erase-buffer) - ;; insert defun - (color-theme-print-theme func doc params variables faces) - (emacs-lisp-mode)) - (message "Pretty printing analysed color theme function... done") - (ediff-buffers (current-buffer) - (get-buffer "*Color Theme*")))))) - -;;; Creating a snapshot of the current color theme - -(defun color-theme-snapshot nil) - -;;;###autoload -(defun color-theme-make-snapshot () - "Return the definition of the current color-theme. -The function returned will recreate the color-theme in use at the moment." - (eval `(lambda () - "The color theme in use when the selection buffer was created. -\\[color-theme-select] creates the color theme selection buffer. At the -same time, this snapshot is created as a very simple undo mechanism. -The snapshot is created via `color-theme-snapshot'." - (interactive) - (color-theme-install - '(color-theme-snapshot - ;; alist of frame parameters - ,(color-theme-get-params) - ;; alist of variables - ,(color-theme-get-vars) - ;; remaining elements of snapshot: face specs - ,@(color-theme-get-face-definitions)))))) - - - -;;; Handling the various parts of a color theme install - -(defvar color-theme-frame-param-frobbing-rules - '((foreground-color default foreground) - (background-color default background)) - "List of rules to use when frobbing faces based on frame parameters. -This is only necessary for XEmacs, because in Emacs 21 changing the -frame paramters automatically affects the relevant faces.") - -;; fixme: silent the bytecompiler with set-face-property -(defun color-theme-frob-faces (params) - "Change certain faces according to PARAMS. -This uses `color-theme-frame-param-frobbing-rules'." - (dolist (rule color-theme-frame-param-frobbing-rules) - (let* ((param (nth 0 rule)) - (face (nth 1 rule)) - (prop (nth 2 rule)) - (val (cdr (assq param params))) - (frame (if color-theme-is-global nil (selected-frame)))) - (when val - (set-face-property face prop val frame))))) - -(defun color-theme-alist-reduce (old-list) - "Reduce OLD-LIST. -The resulting list will be newly allocated and will not contain any elements -with duplicate cars. This will speed the installation of new themes by -only installing unique attributes." - (let (new-list) - (dolist (elem old-list) - (when (not (assq (car elem) new-list)) - (setq new-list (cons elem new-list)))) - new-list)) - -(defun color-theme-install-frame-params (params) - "Change frame parameters using alist PARAMETERS. - -If `color-theme-is-global' is non-nil, all frames are modified using -`modify-frame-parameters' and the PARAMETERS are prepended to -`default-frame-alist'. The value of `initial-frame-alist' is not -modified. If `color-theme-is-global' is nil, only the selected frame is -modified. If `color-theme-is-cumulative' is nil, the frame parameters -are restored from `color-theme-original-frame-alist'. - -If the current frame parameters have a parameter `minibuffer' with -value `only', then the frame parameters are not installed, since this -indicates a dedicated minibuffer frame. - -Called from `color-theme-install'." - (setq params (color-theme-filter - params color-theme-legal-frame-parameters)) - ;; We have a new list in params now, therefore we may use - ;; destructive nconc. - (if color-theme-is-global - (let ((frames (frame-list))) - (if (or color-theme-is-cumulative - (null color-theme-original-frame-alist)) - (setq default-frame-alist - (append params (color-theme-alist default-frame-alist)) - minibuffer-frame-alist - (append params (color-theme-alist minibuffer-frame-alist))) - (setq default-frame-alist - (append params color-theme-original-frame-alist) - minibuffer-frame-alist - (append params (color-theme-alist minibuffer-frame-alist)))) - (setq default-frame-alist - (color-theme-alist-reduce default-frame-alist) - minibuffer-frame-alist - (color-theme-alist-reduce minibuffer-frame-alist)) - (dolist (frame frames) - (let ((params (if (eq 'only (cdr (assq 'minibuffer (frame-parameters frame)))) - minibuffer-frame-alist - default-frame-alist))) - (condition-case var - (modify-frame-parameters frame params) - (error (message "Error using params %S: %S" params var)))))) - (condition-case var - (modify-frame-parameters (selected-frame) params) - (error (message "Error using params %S: %S" params var)))) - (when color-theme-xemacs-p - (color-theme-frob-faces params))) - -;; (setq default-frame-alist (cons '(height . 30) default-frame-alist)) - -(defun color-theme-install-variables (vars) - "Change variables using alist VARS. -All variables matching `color-theme-legal-variables' are set. - -If `color-theme-is-global' and `color-theme-xemacs-p' are nil, variables -are made frame-local before setting them. Variables are set using `set' -in either case. This may lead to problems if changing the variable -requires the usage of the function specified with the :set tag in -defcustom declarations. - -Called from `color-theme-install'." - (let ((vars (color-theme-filter vars color-theme-legal-variables))) - (dolist (var vars) - (if (or color-theme-is-global color-theme-xemacs-p) - (set (car var) (cdr var)) - (make-variable-frame-local (car var)) - (modify-frame-parameters (selected-frame) (list var)))))) - -(defun color-theme-install-faces (faces) - "Change faces using FACES. - -Change faces for all frames and create any faces listed in FACES which -don't exist. The modified faces will be marked as \"unchanged from -its standard setting\". This is OK, since the changes made by -installing a color theme should never by saved in .emacs by -customization code. - -FACES should be a list where each entry has the form: - - (FACE SPEC) - -See `defface' for the format of SPEC. - -If `color-theme-is-global' is non-nil, faces are modified on all frames -using `face-spec-set'. If `color-theme-is-global' is nil, faces are -only modified on the selected frame. Non-existing faces are created -using `make-empty-face' in either case. If `color-theme-is-cumulative' -is nil, all faces are reset before installing the new faces. - -Called from `color-theme-install'." - ;; clear all previous faces - (when (not color-theme-is-cumulative) - (color-theme-reset-faces)) - ;; install new faces - (let ((faces (color-theme-filter faces color-theme-illegal-faces t)) - (frame (if color-theme-is-global nil (selected-frame)))) - (dolist (entry faces) - (let ((face (nth 0 entry)) - (spec (nth 1 entry))) - (or (facep face) - (make-empty-face face)) - ;; remove weird properties from the default face only - (when (eq face 'default) - (setq spec (color-theme-spec-filter spec))) - ;; Emacs/XEmacs customization issues: filter out :bold when - ;; the spec contains :weight, etc, such that the spec remains - ;; "valid" for custom. - (setq spec (color-theme-spec-compat spec)) - ;; using a spec of ((t (nil))) to reset a face doesn't work - ;; in Emacs 21, we use the new function face-spec-reset-face - ;; instead - (if (and (functionp 'face-spec-reset-face) - (equal spec '((t (nil))))) - (face-spec-reset-face face frame) - (condition-case var - (progn - (face-spec-set face spec frame) - (if color-theme-is-global - (put face 'face-defface-spec spec))) - (error (message "Error using spec %S: %S" spec var)))))))) - -;; `custom-set-faces' is unusable here because it doesn't allow to set -;; the faces for one frame only. - -;; Emacs `face-spec-set': If FRAME is nil, the face is created and -;; marked as a customized face. This is achieved by setting the -;; `face-defface-spec' property. If we don't, new frames will not be -;; created using the face we installed because `face-spec-set' is -;; broken: If given a FRAME of nil, it will not set the default faces; -;; instead it will walk through all the frames and set modify the faces. -;; If we do set a property (`saved-face' or `face-defface-spec'), -;; `make-frame' will correctly use the faces we defined with our color -;; theme. If we used the property `saved-face', -;; `customize-save-customized' will save all the faces installed as part -;; of a color-theme in .emacs. That's why we use the -;; `face-defface-spec' property. - - - -;;; Theme accessor functions, canonicalization, merging, comparing - -(defun color-theme-canonic (theme) - "Return the canonic form of THEME. -This deals with all the backwards compatibility stuff." - (let (function frame-params variables faces) - (when (functionp (car theme)) - (setq function (car theme) - theme (cdr theme))) - (setq frame-params (car theme) - theme (cdr theme)) - ;; optional variable defintions (for backwards compatibility) - (when (listp (caar theme)) - (setq variables (car theme) - theme (cdr theme))) - ;; face definitions - (setq faces theme) - (list function frame-params variables faces))) - -(defun color-theme-function (theme) - "Return function used to create THEME." - (nth 0 theme)) - -(defun color-theme-frame-params (theme) - "Return frame-parameters defined by THEME." - (nth 1 theme)) - -(defun color-theme-variables (theme) - "Return variables set by THEME." - (nth 2 theme)) - -(defun color-theme-faces (theme) - "Return faces defined by THEME." - (nth 3 theme)) - -(defun color-theme-merge-alists (&rest alists) - "Merges all the alist arguments into one alist. -Only the first instance of every key will be part of the resulting -alist. Membership will be tested using `assq'." - (let (result) - (dolist (l alists) - (dolist (entry l) - (unless (assq (car entry) result) - (setq result (cons entry result))))) - (nreverse result))) -;; (color-theme-merge-alists '((a . 1) (b . 2))) -;; (color-theme-merge-alists '((a . 1) (b . 2) (a . 3))) -;; (color-theme-merge-alists '((a . 1) (b . 2)) '((a . 3))) -;; (color-theme-merge-alists '((a . 1) (b . 2)) '((c . 3))) -;; (color-theme-merge-alists '((a . 1) (b . 2)) '((c . 3) (d . 4))) -;; (color-theme-merge-alists '((a . 1) (b . 2)) '((c . 3) (d . 4) (b . 5))) - -;;;###autoload -(defun color-theme-compare (theme-a theme-b) - "Compare two color themes. -This will print the differences between installing THEME-A and -installing THEME-B. Note that the order is important: If a face is -defined in THEME-A and not in THEME-B, then this will not show up as a -difference, because there is no reset before installing THEME-B. If a -face is defined in THEME-B and not in THEME-A, then this will show up as -a difference." - (interactive - (list - (intern - (completing-read "Theme A: " - (mapcar (lambda (i) (list (symbol-name (car i)))) - color-themes) - (lambda (i) (string-match "color-theme" (car i))))) - (intern - (completing-read "Theme B: " - (mapcar (lambda (i) (list (symbol-name (car i)))) - color-themes) - (lambda (i) (string-match "color-theme" (car i))))))) - ;; install the themes in a new frame and get the definitions - (let ((color-theme-is-global nil)) - (select-frame (make-frame)) - (funcall theme-a) - (setq theme-a (list theme-a - (color-theme-get-params) - (color-theme-get-vars) - (color-theme-get-face-definitions))) - (funcall theme-b) - (setq theme-b (list theme-b - (color-theme-get-params) - (color-theme-get-vars) - (color-theme-get-face-definitions))) - (delete-frame)) - (let ((params (set-difference - (color-theme-frame-params theme-b) - (color-theme-frame-params theme-a) - :test 'equal)) - (vars (set-difference - (color-theme-variables theme-b) - (color-theme-variables theme-a) - :test 'equal)) - (faces (set-difference - (color-theme-faces theme-b) - (color-theme-faces theme-a) - :test 'equal))) - (list 'diff - params - vars - faces))) - - - -;;; Installing a color theme -;;;###autoload -(defun color-theme-install (theme) - "Install a color theme defined by frame parameters, variables and faces. - -The theme is installed for all present and future frames; any missing -faces are created. See `color-theme-install-faces'. - -THEME is a color theme definition. See below for more information. - -If you want to install a color theme from your .emacs, use the output -generated by `color-theme-print'. This produces color theme function -which you can copy to your .emacs. - -A color theme definition is a list: -\([FUNCTION] FRAME-PARAMETERS VARIABLE-SETTINGS FACE-DEFINITIONS) - -FUNCTION is the color theme function which called `color-theme-install'. -This is no longer used. There was a time when this package supported -automatic factoring of color themes. This has been abandoned. - -FRAME-PARAMETERS is an alist of frame parameters. These are installed -with `color-theme-install-frame-params'. These are installed last such -that any changes to the default face can be changed by the frame -parameters. - -VARIABLE-DEFINITIONS is an alist of variable settings. These are -installed with `color-theme-install-variables'. - -FACE-DEFINITIONS is an alist of face definitions. These are installed -with `color-theme-install-faces'. - -If `color-theme-is-cumulative' is nil, a color theme will undo face and -frame-parameter settings of previous color themes." - (setq theme (color-theme-canonic theme)) - (color-theme-install-variables (color-theme-variables theme)) - (color-theme-install-faces (color-theme-faces theme)) - ;; frame parameters override faces - (color-theme-install-frame-params (color-theme-frame-params theme)) - (when color-theme-history-max-length - (color-theme-add-to-history - (car theme)))) - - - -;; Sharing your stuff -;;;###autoload -(defun color-theme-submit () - "Submit your color-theme to the maintainer." - (interactive) - (require 'reporter) - (let ((reporter-eval-buffer (current-buffer)) - final-resting-place - after-sep-pos - (reporter-status-message "Formatting buffer...") - (reporter-status-count 0) - (problem "Yet another color-theme") - (agent (reporter-compose-outgoing)) - (mailbuf (current-buffer)) - hookvar) - ;; do the work - (require 'sendmail) - ;; If mailbuf did not get made visible before, make it visible now. - (let (same-window-buffer-names same-window-regexps) - (pop-to-buffer mailbuf) - ;; Just in case the original buffer is not visible now, bring it - ;; back somewhere - (and pop-up-windows (display-buffer reporter-eval-buffer))) - (goto-char (point-min)) - (mail-position-on-field "to") - (insert color-theme-maintainer-address) - (mail-position-on-field "subject") - (insert problem) - ;; move point to the body of the message - (mail-text) - (setq after-sep-pos (point)) - (unwind-protect - (progn - (setq final-resting-place (point-marker)) - (goto-char final-resting-place)) - (color-theme-print (current-buffer)) - (goto-char final-resting-place) - (insert "\n\n") - (goto-char final-resting-place) - (insert "Hello there!\n\nHere's my color theme named: ") - (set-marker final-resting-place nil)) - ;; compose the minibuf message and display this. - (let* ((sendkey-whereis (where-is-internal - (get agent 'sendfunc) nil t)) - (abortkey-whereis (where-is-internal - (get agent 'abortfunc) nil t)) - (sendkey (if sendkey-whereis - (key-description sendkey-whereis) - "C-c C-c")); TBD: BOGUS hardcode - (abortkey (if abortkey-whereis - (key-description abortkey-whereis) - "M-x kill-buffer"))); TBD: BOGUS hardcode - (message "Enter a message and type %s to send or %s to abort." - sendkey abortkey)))) - - - -;; Use this to define themes -(defmacro define-color-theme (name author description &rest forms) - (let ((n name)) - `(progn - (add-to-list 'color-themes - (list ',n - (upcase-initials - (replace-in-string - (replace-in-string - (symbol-name ',n) "^color-theme-" "") "-" " ")) - ,author)) - (defun ,n () - ,description - (interactive) - ,@forms)))) - - -;;; FIXME: is this useful ?? -;;;###autoload -(defun color-theme-initialize () - "Initialize the color theme package by loading color-theme-libraries." - (interactive) - - (cond ((and (not color-theme-load-all-themes) - color-theme-directory) - (setq color-theme-libraries - (directory-files color-theme-directory t "^color-theme"))) - (color-theme-directory - (push (cdr (directory-files color-theme-directory t "^color-theme")) - color-theme-libraries))) - (dolist (library color-theme-libraries) - (load library))) - -(when nil - (setq color-theme-directory "themes/" - color-theme-load-all-themes nil) - (color-theme-initialize) -) -;; TODO: I don't like all those function names cluttering up my namespace. -;; Instead, a hashtable for the color-themes should be created. Now that -;; define-color-theme is around, it should be easy to change in just the -;; one place. - - -(provide 'color-theme) - -;;; color-theme.el ends here diff --git a/dotemacs/.emacs.d/csharp-mode.el b/dotemacs/.emacs.d/csharp-mode.el deleted file mode 100644 index 9cd7914..0000000 --- a/dotemacs/.emacs.d/csharp-mode.el +++ /dev/null @@ -1,1977 +0,0 @@ -;;; csharp-mode.el --- C# mode derived mode - -;; Author: Dylan R. E. Moonfire -;; Maintainer: Dylan R. E. Moonfire -;; Created: Feburary 2005 -;; Modified: February 2010 -;; Version: 0.7.4 - Dino Chiesa -;; Keywords: c# languages oop mode - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2 of the License, or -;; (at your option) any later version. -;; -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. -;; -;; You should have received a copy of the GNU General Public License -;; along with this program; see the file COPYING. If not, write to -;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. - -;;; Commentary: -;; -;; This is a separate mode to implement the C# constructs and -;; font-locking. It is based on the java-mode example from cc-mode. -;; -;; csharp-mode requires CC Mode 5.30 or later. It works with -;; cc-mode 5.31.3, which is current at this time. -;; -;; Features: -;; -;; - font-lock and indent of C# syntax including: -;; all c# keywords and major syntax -;; attributes that decorate methods, classes, fields, properties -;; enum types -;; #if/#endif #region/#endregion -;; instance initializers -;; anonymous functions and methods -;; verbatim literal strings (those that begin with @) -;; generics -;; -;; - automagic code-doc generation when you type three slashes. -;; -;; - intelligent inserttion of matched pairs of curly braces. -;; -;; - sets the compiler regex for next-error, for csc.exe output. -;; -;; - - -;;; To use: -;; -;; put this in your .emacs: -;; -;; (autoload 'csharp-mode "csharp-mode" "Major mode for editing C# code." t) -;; -;; or: -;; -;; (require 'csharp-mode) -;; -;; -;; AND: -;; -;; (setq auto-mode-alist -;; (append '(("\\.cs$" . csharp-mode)) auto-mode-alist)) -;; (defun my-csharp-mode-fn () -;; "function that runs when csharp-mode is initialized for a buffer." -;; ...insert your code here... -;; ...most commonly, your custom key bindings ... -;; ) -;; (add-hook 'csharp-mode-hook 'my-csharp-mode-fn t) -;; -;; - - -;;; Bugs: -;; -;; Namespaces in the using statements are not fontified. Should do in -;; c-basic-matchers-before or c-basic-matchers-after. -;; -;; Method names with a preceding attribute are not fontified. -;; -;; Field/Prop names inside object initializers are fontified only -;; if the null constructor is used, with no parens. -;; -;; This code doesn't seem to work when you compile it, then -;; load/require in the emacs file. You will get an error (error -;; "`c-lang-defconst' must be used in a file") which happens because -;; cc-mode doesn't think it is in a buffer while loading directly -;; from the init. However, if you call it based on a file extension, -;; it works properly. Interestingly enough, this doesn't happen if -;; you don't byte-compile cc-mode. -;; -;; -;; -;; Todo: -;; -;; Get csharp-mode.el accepted as part of the emacs standard distribution. -;; Must contact monnier at iro.umontreal.ca to make this happen. -;; -;; -;; -;; Acknowledgements: -;; -;; Thanks to Alan Mackenzie and Stefan Monnier for answering questions -;; and making suggestions. -;; -;; - -;;; Versions: -;; -;; 0.1.0 - Initial release. -;; 0.2.0 - Fixed the identification on the "enum" keyword. -;; - Fixed the font-lock on the "base" keyword -;; 0.3.0 - Added a regex to fontify attributes. It isn't the -;; the best method, but it handles single-like attributes -;; well. -;; - Got "super" not to fontify as a keyword. -;; - Got extending classes and interfaces to fontify as something. -;; 0.4.0 - Removed the attribute matching because it broke more than -;; it fixed. -;; - Corrected a bug with namespace not being properly identified -;; and treating the class level as an inner object, which screwed -;; up formatting. -;; - Added "partial" to the keywords. -;; 0.5.0 - Found bugs with compiled cc-mode and loading from init files. -;; - Updated the eval-when-compile to code to let the mode be -;; compiled. -;; 0.6.0 - Added the c-filter-ops patch for 5.31.1 which made that -;; function in cc-langs.el unavailable. -;; - Added a csharp-lineup-region for indention #region and -;; #endregion block differently. -;; 0.7.0 - Added autoload so update-directory-autoloads works -;; (Thank you, Nikolaj Schumacher) -;; - Fontified the entire #region and #endregion lines. -;; - Initial work to get get, set, add, remove font-locked. -;; 0.7.1 - Added option to indent #if/endif with code -;; - Fixed c-opt-cpp-prefix defn (it must not include the BOL -;; char (^). -;; - proper fontification and indent of classes that inherit -;; (previously the colon was confusing the parser) -;; - reclassified namespace as a block beginner -;; - removed $ as a legal symbol char - not legal in C#. -;; - added struct to c-class-decl-kwds so indent is correct -;; within a struct. -;; 0.7.2 - Added automatic codedoc insertion. -;; 0.7.3 - Instance initializers (new Type { ... } ) and -;; (new Type() { ...} ) are now indented properly. -;; - proper fontification and indent of enums as brace-list-*, -;; including special treatment for enums that explicitly -;; inherit from an int type. Previously the colon was -;; confusing the parser. -;; - proper fontification of verbatim literal strings, -;; including those that end in slash. This edge case was not -;; handled at all before; it is now handled correctly. -;; - code cleanup and organization; removed the linefeed. -;; - intelligent curly-brace insertion -;; 0.7.4 - added a C# style -;; - using is now a keyword and gets fontified -;; - fixed a bug that had crept into the codedoc insertion -;; - - -(require 'cc-mode) - -(message (concat "Loading " load-file-name)) - - -;; ================================================================== -;; c# upfront stuff -;; ================================================================== - -;; This is a copy of the function in cc-mode which is used to handle -;; the eval-when-compile which is needed during other times. -(defun c-filter-ops (ops opgroup-filter op-filter &optional xlate) - ;; See cc-langs.el, a direct copy. - (unless (listp (car-safe ops)) - (setq ops (list ops))) - (cond ((eq opgroup-filter t) - (setq opgroup-filter (lambda (opgroup) t))) - ((not (functionp opgroup-filter)) - (setq opgroup-filter `(lambda (opgroup) - (memq opgroup ',opgroup-filter))))) - (cond ((eq op-filter t) - (setq op-filter (lambda (op) t))) - ((stringp op-filter) - (setq op-filter `(lambda (op) - (string-match ,op-filter op))))) - (unless xlate - (setq xlate 'identity)) - (c-with-syntax-table (c-lang-const c-mode-syntax-table) - (delete-duplicates - (mapcan (lambda (opgroup) - (when (if (symbolp (car opgroup)) - (when (funcall opgroup-filter (car opgroup)) - (setq opgroup (cdr opgroup)) - t) - t) - (mapcan (lambda (op) - (when (funcall op-filter op) - (let ((res (funcall xlate op))) - (if (listp res) res (list res))))) - opgroup))) - ops) - :test 'equal))) - - - -;; These are only required at compile time to get the sources for the -;; language constants. (The cc-fonts require and the font-lock -;; related constants could additionally be put inside an -;; (eval-after-load "font-lock" ...) but then some trickery is -;; necessary to get them compiled.) -(eval-when-compile - (let ((load-path - (if (and (boundp 'byte-compile-dest-file) - (stringp byte-compile-dest-file)) - (cons (file-name-directory byte-compile-dest-file) load-path) - load-path))) - (load "cc-mode" nil t) - (load "cc-fonts" nil t) - (load "cc-langs" nil t))) - -(eval-and-compile - ;; Make our mode known to the language constant system. Use Java - ;; mode as the fallback for the constants we don't change here. - ;; This needs to be done also at compile time since the language - ;; constants are evaluated then. - (c-add-language 'csharp-mode 'java-mode)) - -;; ================================================================== -;; end of c# upfront stuff -;; ================================================================== - - - - - -;; ================================================================== -;; csharp-mode utility and feature defuns -;; ================================================================== - -;; Indention: csharp-mode follows normal indention rules except for -;; when indenting the #region and #endregion blocks. This function -;; defines a custom indention to indent the #region blocks properly -;; - -(defun csharp-lineup-region (langelem) - "Indent all #region and #endregion blocks inline with code while -retaining normal column-zero indention for #if and the other -processing blocks. - -To use this indenting just put the following in your emacs file: - (c-set-offset 'cpp-macro 'csharp-lineup-region) - -An alternative is to use `csharp-lineup-if-and-region'. -" - - (save-excursion - (back-to-indentation) - (if (re-search-forward "#\\(end\\)?region" (c-point 'eol) [0]) 0 [0]))) - - - -(defun csharp-lineup-if-and-region (langelem) - -"Indent all #region/endregion blocks and #if/endif blocks inline -with code while retaining normal column-zero indention for any -other processing blocks. - -To use this indenting just put the following in your emacs file: - (c-set-offset 'cpp-macro 'csharp-lineup-if-and-region) - -Another option is to use `csharp-lineup-region'. - -" - (save-excursion - (back-to-indentation) - (if (re-search-forward "#\\(\\(end\\)?\\(if\\|region\\)\\|else\\)" (c-point 'eol) [0]) 0 [0]))) - - - - - -(defun csharp-insert-open-brace () - "Intelligently insert a pair of curly braces. This fn is most -often bound to the open-curly brace, with - - (local-set-key (kbd \"{\") 'csharp-insert-open-brace) - -The default binding for an open curly brace in cc-modes is often -`c-electric-brace' or `skeleton-pair-insert-maybe'. The former -can be configured to insert newlines around braces in various -syntactic positions. The latter inserts a pair of braces and -then does not insert a newline, and does not indent. - -This fn provides another option, with some additional -intelligence for csharp-mode. When you type an open curly, the -appropriate pair of braces appears, with spacing and indent set -in a context-sensitive manner. - -Within a string literal, you just get a pair of braces, and point -is set between them. Following an equals sign, you get a pair of -braces, with a semincolon appended. Otherwise, you -get the open brace on a new line, with the closing brace on the -line following. - -There may be another way to get this to happen appropriately just within emacs, -but I could not figure out how to do it. So I wrote this alternative. -" - (interactive) - (let - (tpoint - (in-string (string= (csharp-in-literal) "string")) - (preceding3 - (save-excursion - (and - (skip-chars-backward " ") - (> (- (point) 2) (point-min)) - (buffer-substring-no-properties (point) (- (point) 3))))) - (one-word-back - (save-excursion - (backward-word 2) - (thing-at-point 'word)))) - - (cond - - ;; Case 1: inside a string literal? - ;; -------------------------------------------- - ;; If so, then just insert a pair of braces and put the point - ;; between them. The most common case is a format string for - ;; String.Format() or Console.WriteLine(). - (in-string - (self-insert-command 1) - (insert "}") - (backward-char)) - - ;; Case 2: the open brace starts an array initializer. - ;; -------------------------------------------- - ;; When the last non-space was an equals sign or square brackets, - ;; then it's an initializer. - ((save-excursion - (backward-sexp) - (looking-at "\\(\\w+\\b *=\\|[[]]+\\)")) - (self-insert-command 1) - (insert " };") - (backward-char 3)) - - ;; Case 3: the open brace starts an instance initializer - ;; -------------------------------------------- - ;; If one-word-back was "new", then it's an object initializer. - ((string= one-word-back "new") - (save-excursion - (message "object initializer") - (setq tpoint (point)) ;; prepare to indent-region later - (newline) - (self-insert-command 1) - (newline-and-indent) - (newline) - (insert "};") - (c-indent-region tpoint (point)) - (previous-line) - (indent-according-to-mode) - (end-of-line) - (setq tpoint (point))) - (goto-char tpoint)) - - ;; Case 4: a lambda initialier. - ;; -------------------------------------------- - ;; If the open curly follows =>, then it's a lambda initializer. - ((string= (substring preceding3 -2) "=>") - (message "lambda init") - (self-insert-command 1) - (insert " }") - (backward-char 2)) - - ;; else, it's a new scope. (if, while, class, etc) - (t - (save-excursion - (message "new scope") - (set-mark (point)) ;; prepare to indent-region later - ;; check if the prior sexp is on the same line - (if (save-excursion - (let ((curline (line-number-at-pos)) - (aftline (progn - (backward-sexp) - (line-number-at-pos)))) - (= curline aftline))) - (newline-and-indent)) - (self-insert-command 1) - (c-indent-line-or-region) - (end-of-line) - (newline) - (insert "}") - ;;(c-indent-command) ;; not sure of the difference here - (c-indent-line-or-region) - (previous-line) - (end-of-line) - (newline-and-indent) - ;; point ends up on an empty line, within the braces, properly indented - (setq tpoint (point))) - - (goto-char tpoint))))) - - - - -;; ================================================================== -;; end of csharp-mode utility and feature defuns -;; ================================================================== - - - - - - -;; ================================================================== -;; c# values for "language constants" defined in cc-langs.el -;; ================================================================== - - -;; Java uses a series of regexes to change the font-lock for class -;; references. The problem comes in because Java uses Pascal (leading -;; space in names, SomeClass) for class and package names, but -;; Camel-casing (initial lowercase, upper case in words, -;; i.e. someVariable) for variables. The notation suggested by EMCA for C# is -;; to use Pascal notation for everything, except inner variables. So, -;; the Java regex and formatting produces very wrong results in C#. -;;(error (byte-compile-dest-file)) -;;(error (c-get-current-file)) -(c-lang-defconst c-opt-after-id-concat-key - csharp (if (c-lang-const c-opt-identifier-concat-key) - (c-lang-const c-symbol-start))) - -(c-lang-defconst c-basic-matchers-before - csharp `( - ;;;; Font-lock the attributes by searching for the - ;;;; appropriate regex and marking it as TODO. - ;;,`(,(concat "\\(" csharp-attribute-regex "\\)") - ;; 0 font-lock-function-name-face) - - ;; Put a warning face on the opener of unclosed strings that - ;; can't span lines. Later font - ;; lock packages have a `font-lock-syntactic-face-function' for - ;; this, but it doesn't give the control we want since any - ;; fontification done inside the function will be - ;; unconditionally overridden. - ,(c-make-font-lock-search-function - ;; Match a char before the string starter to make - ;; `c-skip-comments-and-strings' work correctly. - (concat ".\\(" c-string-limit-regexp "\\)") - '((c-font-lock-invalid-string))) - - ;; Fontify keyword constants. - ,@(when (c-lang-const c-constant-kwds) - (let ((re (c-make-keywords-re nil - (c-lang-const c-constant-kwds)))) - `((eval . (list ,(concat "\\<\\(" re "\\)\\>") - 1 c-constant-face-name))))) - - ;; Fontify all keywords except the primitive types. - ,`(,(concat "\\<" (c-lang-const c-regular-keywords-regexp)) - 1 font-lock-keyword-face) - - ;; Fontify leading identifiers in fully qualified names like - ;; "Foo.Bar". - ,@(when (c-lang-const c-opt-identifier-concat-key) - `((,(byte-compile - `(lambda (limit) - (while (re-search-forward - ,(concat "\\(\\<" ; 1 - "\\(" (c-lang-const c-symbol-key) - "\\)" ; 2 - "[ \t\n\r\f\v]*" - (c-lang-const - c-opt-identifier-concat-key) - "[ \t\n\r\f\v]*" - "\\)" - "\\(" - (c-lang-const - c-opt-after-id-concat-key) - "\\)") - limit t) - (unless (progn - (goto-char (match-beginning 0)) - (c-skip-comments-and-strings limit)) - (or (get-text-property (match-beginning 2) 'face) - (c-put-font-lock-face (match-beginning 2) - (match-end 2) - c-reference-face-name)) - (goto-char (match-end 1))))))))) - )) - - - -;; C# does not allow a leading qualifier operator. It also doesn't -;; allow the ".*" construct of Java. So, we redo this regex without -;; the "\\|\\*" regex. -(c-lang-defconst c-identifier-key - csharp (concat "\\(" (c-lang-const c-symbol-key) "\\)" ; 1 - (concat "\\(" - "[ \t\n\r\f\v]*" - (c-lang-const c-opt-identifier-concat-key) - "[ \t\n\r\f\v]*" - (concat "\\(" - "\\(" (c-lang-const c-symbol-key) "\\)" - "\\)") - "\\)*"))) - -;; C# has a few rules that are slightly different than Java for -;; operators. This also removed the Java's "super" and replaces it -;; with the C#'s "base". -(c-lang-defconst c-operators - csharp `((prefix "base"))) - - -;; C# uses CPP-like prefixes to mark #define, #region/endregion, -;; #if/else/endif, and #pragma. This regexp matches the prefix, -;; not including the beginning-of-line (BOL), and not including -;; the term after the prefix (define, pragma, etc). This regexp says -;; whitespace, followed by the prefix, followed by maybe more whitespace. - -(c-lang-defconst c-opt-cpp-prefix - csharp "\\s *#\\s *") - - -;; there are no message directives in C# -(c-lang-defconst c-cpp-message-directives - csharp nil) - -(c-lang-defconst c-cpp-expr-directives - csharp '("if")) - -(c-lang-defconst c-opt-cpp-macro-define - csharp "define") - -;; $ is not a legal char in an identifier in C#. So we need to -;; create a csharp-specific definition of this constant. -(c-lang-defconst c-symbol-chars - csharp (concat c-alnum "_")) - - -(c-lang-defconst c-colon-type-list-kwds - csharp '("class")) - -(c-lang-defconst c-block-prefix-disallowed-chars - - ;; Allow ':' for inherit list starters. - csharp (set-difference (c-lang-const c-block-prefix-disallowed-chars) - '(?: ?,))) - - -(c-lang-defconst c-assignment-operators - csharp '("=" "*=" "/=" "%=" "+=" "-=" ">>=" "<<=" "&=" "^=" "|=")) - -(c-lang-defconst c-primitive-type-kwds - ;; ECMA-344, S8 - csharp '("object" "string" "sbyte" "short" "int" "long" "byte" - "ushort" "uint" "ulong" "float" "double" "bool" "char" - "decimal" "void")) - -;; The keywords that define that the following is a type, such as a -;; class definition. -(c-lang-defconst c-type-prefix-kwds - ;; ECMA-344, S? - csharp '("class" "interface" "struct")) ;; no enum here. - ;; we want enum to be a brace list. - - -;; Type modifier keywords. They appear anywhere in types, but modify -;; instead of create one. -(c-lang-defconst c-type-modifier-kwds - ;; EMCA-344, S? - csharp '("readonly" "const")) - - -;; Tue, 20 Apr 2010 16:02 -;; need to vverify that this works for lambdas... -(c-lang-defconst c-special-brace-lists - csharp '((?{ . ?}) )) - - - -;; dinoch -;; Thu, 22 Apr 2010 18:54 -;; -;; No idea why this isn't getting set properly in the first place. -;; In cc-langs.el, it is set to the union of a bunch of things, none -;; of which include "new", or "enum". -;; -;; But somehow both of those show up in the resulting derived regexp. -;; This breaks indentation of instance initializers, such as -;; -;; var x = new Foo { ... }; -;; -;; Based on my inspection, the existing c-lang-defconst should work! -;; I don't know how to fix this c-lang-defconst, so I am re-setting this -;; variable here, to provide the regex explicitly. -;; -(c-lang-defconst c-decl-block-key - - csharp '"\\(namespace\\)\\([^[:alnum:]_]\\|$\\)\\|\\(class\\|interface\\|struct\\)\\([^[:alnum:]_]\\|$\\)" - ) - - - -;; Thu, 22 Apr 2010 14:29 -;; I want this to handle var x = new Foo[] { ... }; -;; not sure if necessary. -(c-lang-defconst c-inexpr-brace-list-kwds - csharp '("new")) - - -;; ;;(c-lang-defconst c-inexpr-class-kwds -;; ;; csharp '("new")) - - - -(c-lang-defconst c-class-decl-kwds - ;; EMCA-344, S? - csharp '("class" "interface" "struct" )) ;; no "enum"!! - - -;; The various modifiers used for class and method descriptions. -(c-lang-defconst c-modifier-kwds - csharp '("public" "partial" "private" "const" "abstract" - "protected" "ref" "out" "static" "virtual" - "override" "params" "internal")) - - -;; Thu, 22 Apr 2010 23:02 -;; Based on inspection of the cc-mode code, the c-protection-kwds -;; c-lang-const is used only for objective-c. So the value is -;; irrelevant for csharp. -(c-lang-defconst c-protection-kwds - csharp nil - ;; csharp '("private" "protected" "public" "internal") -) - - -;; Define the keywords that can have something following after them. -(c-lang-defconst c-type-list-kwds - csharp '("struct" "class" "interface" "is" "as" - "delegate" "event" "set" "get" "add" "remove")) - - -;; This allows the classes after the : in the class declartion to be -;; fontified. -(c-lang-defconst c-typeless-decl-kwds - csharp '(":")) - -;; Sets up the enum to handle the list properly, and also the new -;; keyword to handle object initializers. This requires a modified -;; c-basic-matchers-after (see above) in order to correctly fontify C# -;; 3.0 object initializers. -(c-lang-defconst c-brace-list-decl-kwds - csharp '("enum" "new")) - - -;; Statement keywords followed directly by a substatement. -;; catch is not one of them. -(c-lang-defconst c-block-stmt-1-kwds - csharp '("do" "try" "finally")) - - -;; Statement keywords followed by a paren sexp and then by a substatement. -(c-lang-defconst c-block-stmt-2-kwds - csharp '("for" "if" "switch" "while" "catch" "foreach" "using" - "checked" "unchecked" "lock")) - - -;; Statements that break out of braces -(c-lang-defconst c-simple-stmt-kwds - csharp '("return" "continue" "break" "throw" "goto" )) - -;; Statements that allow a label -;; TODO? -(c-lang-defconst c-before-label-kwds - csharp nil) - -;; Constant keywords -(c-lang-defconst c-constant-kwds - csharp '("true" "false" "null")) - -;; Keywords that start "primary expressions." -(c-lang-defconst c-primary-expr-kwds - csharp '("this" "base")) - -;; Treat namespace as an outer block so class indenting -;; works properly. -(c-lang-defconst c-other-block-decl-kwds - csharp '("namespace")) - -(c-lang-defconst c-other-kwds - csharp '("in" "sizeof" "typeof" "is" "as" "yield" - "where" "select" "from")) - -(c-lang-defconst c-overloadable-operators - ;; EMCA-344, S14.2.1 - csharp '("+" "-" "*" "/" "%" "&" "|" "^" - "<<" ">>" "==" "!=" ">" "<" ">=" "<=")) - - -;; This c-cpp-matchers stuff is used for fontification. -;; see cc-font.el -;; - -;; There's no preprocessor in C#, but there are still compiler -;; directives to fontify: "#pragma", #region/endregion, #define, #undef, -;; #if/else/endif. (The definitions for the extra keywords above are -;; enough to incorporate them into the fontification regexps for types -;; and keywords, so no additional font-lock patterns are required for -;; keywords.) - -(c-lang-defconst c-cpp-matchers - csharp (cons - ;; Use the eval form for `font-lock-keywords' to be able to use - ;; the `c-preprocessor-face-name' variable that maps to a - ;; suitable face depending on the (X)Emacs version. - '(eval . (list "^\\s *\\(#pragma\\|undef\\|define\\)\\>\\(.*\\)" - (list 1 c-preprocessor-face-name) - '(2 font-lock-string-face))) - ;; There are some other things in `c-cpp-matchers' besides the - ;; preprocessor support, so include it. - (c-lang-const c-cpp-matchers))) - -(defcustom csharp-font-lock-extra-types nil - "*List of extra types (aside from the type keywords) to recognize in C# mode. -Each list item should be a regexp matching a single identifier." - :type 'list :group 'csharp) - -(defconst csharp-font-lock-keywords-1 (c-lang-const c-matchers-1 csharp) - "Minimal highlighting for C# mode.") - -(defconst csharp-font-lock-keywords-2 (c-lang-const c-matchers-2 csharp) - "Fast normal highlighting for C# mode.") - -(defconst csharp-font-lock-keywords-3 (c-lang-const c-matchers-3 csharp) - "Accurate normal highlighting for C# mode.") - -(defvar csharp-font-lock-keywords csharp-font-lock-keywords-3 - "Default expressions to highlight in C# mode.") - -(defvar csharp-mode-syntax-table nil - "Syntax table used in csharp-mode buffers.") -(or csharp-mode-syntax-table - (setq csharp-mode-syntax-table - (funcall (c-lang-const c-make-mode-syntax-table csharp)))) - -(defvar csharp-mode-abbrev-table nil - "Abbreviation table used in csharp-mode buffers.") -(c-define-abbrev-table 'csharp-mode-abbrev-table - ;; Keywords that if they occur first on a line might alter the - ;; syntactic context, and which therefore should trig reindentation - ;; when they are completed. - '(("else" "else" c-electric-continued-statement 0) - ("while" "while" c-electric-continued-statement 0) - ("catch" "catch" c-electric-continued-statement 0) - ("finally" "finally" c-electric-continued-statement 0))) - -(defvar csharp-mode-map (let ((map (c-make-inherited-keymap))) - ;; Add bindings which are only useful for C# - map) - "Keymap used in csharp-mode buffers.") - - -;; TODO -;; Defines our constant for finding attributes. -;;(defconst csharp-attribute-regex "\\[\\([XmlType]+\\)(") -;;(defconst csharp-attribute-regex "\\[\\(.\\)") -;; This doesn't work because the string regex happens before this point -;; and getting the font-locking to work before and after is fairly difficult -;;(defconst csharp-attribute-regex -;; (concat -;; "\\[[a-zA-Z][ \ta-zA-Z0-9.]+" -;; "\\((.*\\)?" -;;)) - - -;; ================================================================== -;; end of c# values for "language constants" defined in cc-langs.el -;; ================================================================== - - - - -;; ================================================================== -;; C# code-doc insertion magic -;; ================================================================== -;; -;; In Visual Studio, if you type three slashes, it immediately expands into -;; an inline code-documentation fragment. The following method does the -;; same thing. -;; -;; This is the kind of thing that could be handled by YASnippet or -;; another similarly flexible snippet framework. But I don't want to -;; introduce a dependency on yasnippet to csharp-mode. So the capability -;; must live within csharp-mode itself. - -(defun csharp-maybe-insert-codedoc (arg) - - "Insert an xml code documentation template as appropriate, when -typing slashes. This fn gets bound to / (the slash key), in -csharp-mode. If the slash being inserted is not the third -consecutive slash, the slash is inserted as normal. If it is the -third consecutive slash, then a xml code documentation template -may be inserted in some cases. For example, - - a template is inserted if the prior line is empty, - or contains only an open curly brace; - a template is inserted if the prior word - closes the element; - a template is inserted if the prior word - closes the element; - an template is inserted if the prior word closes - the element; - a template is inserted if the prior word closes - a element. - -In all other cases the slash is inserted as normal. - -If you want the default cc-mode behavior, which implies no automatic -insertion of xml code documentation templates, then use this in -your `csharp-mode-hook' function: - - (local-set-key (kbd \"/\") 'c-electric-slash) - - " - (interactive "*p") - ;;(message "csharp-maybe-insert-codedoc") - (let ( - (cur-point (point)) - (char last-command-char) - (cb0 (char-before (- (point) 0))) - (cb1 (char-before (- (point) 1))) - is-first-non-whitespace - did-auto-insert - ) - - ;; check if two prior chars were slash - (if (and - (= char ?/) - cb0 (= ?/ cb0) - cb1 (= ?/ cb1) - ) - - (progn - ;;(message "yes - this is the third consecutive slash") - (setq is-first-non-whitespace - (save-excursion - (back-to-indentation) - (= cur-point (+ (point) 2)))) - - (if is-first-non-whitespace - ;; This is a 3-slash sequence. It is the first non-whitespace text - ;; on the line. Now we need to examine the surrounding context - ;; in order to determine which xml cod doc template to insert. - (let (word-back char0 char1 - word-fore char-0 char-1 - text-to-insert ;; text to insert in lieu of slash - fn-to-call ;; func to call after inserting text - (preceding-line-is-empty (or - (= (line-number-at-pos) 1) - (save-excursion - (previous-line) - (beginning-of-line) - (looking-at "[ \t]*$\\|[ \t]*{[ \t]*$")))) - (flavor 0) ;; used only for diagnostic purposes - ) - - ;;(message "starting a 3-slash comment") - ;; get the prior word, and the 2 chars preceding it. - (backward-word) - - (setq word-back (thing-at-point 'word) - char0 (char-before (- (point) 0)) - char1 (char-before (- (point) 1))) - - ;; restore prior position - (goto-char cur-point) - - ;; get the following word, and the 2 chars preceding it. - (forward-word) - (backward-word) - (setq word-fore (thing-at-point 'word) - char-0 (char-before (- (point) 0)) - char-1 (char-before (- (point) 1))) - - ;; restore prior position again - (goto-char cur-point) - - (cond - ;; The preceding line is empty, or all whitespace, or - ;; contains only an open-curly. In this case, insert a - ;; summary element pair. - (preceding-line-is-empty - (setq text-to-insert "/ \n/// \n/// " - flavor 1) ) - - ;; The preceding word closed a summary element. In this case, - ;; if the forward word does not open a remarks element, then - ;; insert a remarks element. - ((and (string-equal word-back "summary") (eq char0 ?/) (eq char1 ?<)) - (if (not (and (string-equal word-fore "remarks") (eq char-0 ?<))) - (setq text-to-insert "/ \n/// \n/// \n/// \n/// " - flavor 2))) - - ;; The preceding word closed the remarks section. In this case, - ;; insert an example element. - ((and (string-equal word-back "remarks") (eq char0 ?/) (eq char1 ?<)) - (setq text-to-insert "/ \n/// \n/// " - flavor 3)) - - ;; The preceding word closed the example section. In this - ;; case, insert an returns element. This isn't always - ;; correct, because sometimes the xml code doc is attached to - ;; a class or a property, neither of which has a return - ;; value. A more intelligent implementation would inspect the - ;; syntax state and only inject a returns element if - ;; appropriate. - ((and (string-equal word-back "example") (eq char0 ?/) (eq char1 ?<)) - (setq text-to-insert "/ " - fn-to-call (lambda () - (backward-word) - (backward-char) - (backward-char) - (c-indent-line-or-region) - ) - flavor 4)) - - ;; The preceding word opened the remarks section, or it - ;; closed a para section. In this case, insert a para - ;; element, using appropriate indentation with respect to the - ;; prior tag. - ((or - (and (string-equal word-back "remarks") (eq char0 ?<) (or (eq char1 32) (eq char1 9))) - (and (string-equal word-back "para") (eq char0 ?/) (eq char1 ?<))) - - (let (prior-point spacer) - (save-excursion - (backward-word) - (backward-char) - (backward-char) - (setq prior-point (point)) - (skip-chars-backward "\t ") - (setq spacer (buffer-substring (point) prior-point)) - ;;(message (format "pt(%d) prior(%d) spacer(%s)" (point) prior-point spacer)) - ) - - (if (string-equal word-back "remarks") - (setq spacer (concat spacer " "))) - - (setq text-to-insert (format "/%s\n///%s \n///%s" - spacer spacer spacer) - flavor 6))) - - ;; The preceding word opened a para element. In this case, if - ;; the forward word does not close the para element, then - ;; close the para element. - ;; -- - ;; This is a nice idea but flawed. Suppose I have a para element with some - ;; text in it. If I position the cursor at the first line, then type 3 slashes, - ;; I get a close-element, and that would be inappropriate. Not sure I can - ;; easily solve that problem, so the best thing might be to simply punt, and - ;; require people to close their own elements. - ;; - ;; ( (and (string-equal word-back "para") (eq char0 60) (or (eq char1 32) (eq char1 9))) - ;; (if (not (and (string-equal word-fore "para") (eq char-0 47) (eq char-1 60) )) - ;; (setq text-to-insert "/ \n/// \n///" - ;; fn-to-call (lambda () - ;; (previous-line) - ;; (end-of-line) - ;; ) - ;; flavor 7) ) - ;; ) - - ;; the default case - do nothing - (t nil)) - - (if text-to-insert - (progn - ;;(message (format "inserting special text (f(%d))" flavor)) - - ;; set the flag, that we actually inserted text - (setq did-auto-insert t) - - ;; save point of beginning of insertion - (setq cur-point (point)) - - ;; actually insert the text - (insert text-to-insert) - - ;; indent the inserted string, and re-position point, either through - ;; the case-specific fn, or via the default progn. - (if fn-to-call - (funcall fn-to-call) - - (let ((newline-count 0) (pos 0) ix) - - ;; count the number of newlines in the inserted string - (while (string-match "\n" text-to-insert pos) - (setq pos (match-end 0) - newline-count (+ newline-count 1) ) - ) - - ;; indent what we just inserted - (c-indent-region cur-point (point) t) - - ;; move up n/2 lines. This assumes that the - ;; inserted text is ~symmetric about the halfway point. - ;; The assumption holds if the xml code doc uses a - ;; begin-elt and end-elt on a new line all by themselves, - ;; and a blank line in between them where the point should be. - ;; A more intelligent implementation would use a specific - ;; marker string, like @@DOT, to note the desired point. - (previous-line (/ newline-count 2)) - (end-of-line))))))))) - - (if (not did-auto-insert) - (self-insert-command (prefix-numeric-value arg))))) - -;; ================================================================== -;; end of c# code-doc insertion magic -;; ================================================================== - - - - -;; ================================================================== -;; c# fontification extensions -;; ================================================================== -;; Commentary: -;; -;; The purpose of the following code is to fix font-lock for C#, -;; specifically for the verbatim-literal strings. C# is a cc-mode -;; language and strings are handled mostly like other c-based -;; languages. The one exception is the verbatim-literal string, which -;; uses the syntax @"...". -;; -;; `parse-partial-sexp' treats those strings as just regular strings, -;; with the @ a non-string character. This is fine, except when the -;; verblit string ends in a slash, in which case, font-lock breaks from -;; that point onward in the buffer. -;; -;; This is an attempt to fix that. -;; -;; The idea is to scan the buffer in full for verblit strings, and apply the -;; appropriate syntax-table text properties for verblit strings. Also setting -;; `parse-sexp-lookup-properties' to t tells `parse-partial-sexp' -;; to use the syntax-table text properties set up by the scan as it does -;; its parse. -;; -;; Also need to re-scan after any changes in the buffer, but on a more -;; limited region. -;; - - -;; ;; I don't remember what this is supposed to do, -;; ;; or how I figured out the value. -;; ;; -;; (defconst csharp-font-lock-syntactic-keywords -;; '(("\\(@\\)\\(\"\\)[^\"]*\\(\"\\)\\(\"\\)[^\"]*\\(\"\\)[^\"]" -;; (1 '(6)) (2 '(7)) (3 '(1)) (4 '(1)) (5 '(7)) -;; )) -;; "Highlighting of verbatim literal strings. See also the variable -;; `font-lock-keywords'.") - - - -;; Allow this: -;; (csharp-log 3 "csharp: scan...'%s'" state) - -(defvar csharp-log-level 0 - "The current log level for CSharp-specific operations. -This is used in particular by the verbatim-literal -string scanning. - -Most other csharp functions are not instrumented. -0 = NONE, 1 = Info, 2 = VERBOSE, 3 = DEBUG, 4 = SHUTUP ALREADY. ") - -(defun csharp-log (level text &rest args) - "Log a message at level LEVEL. -If LEVEL is higher than `csharp-log-level', the message is -ignored. Otherwise, it is printed using `message'. -TEXT is a format control string, and the remaining arguments ARGS -are the string substitutions (see `format')." - (if (<= level csharp-log-level) - (let* ((msg (apply 'format text args))) - (message "%s" msg) - ))) - - - -(defun csharp-max-beginning-of-stmt () - "Return the greater of `c-beginning-of-statement-1' and -`c-beginning-of-statement' . I don't understand why both of -these methods are necessary or why they differ. But they do." - - (let (dash - nodash - (curpos (point))) - - ;; I think this may need a save-excursion... - ;; Calling c-beginning-of-statement-1 resets the point! - - (setq dash (progn (c-beginning-of-statement-1) (point))) - (csharp-log 3 "C#: max-bostmt dash(%d)" dash) - (goto-char curpos) - - (setq nodash (progn (c-beginning-of-statement 1) (point))) - (csharp-log 3 "C#: max-bostmt nodash(%d)" nodash) - (goto-char curpos) - - (max dash nodash))) - - -(defun csharp-in-literal (&optional lim detect-cpp) - "Return the type of literal point is in, if any. -Basically this works like `c-in-literal' except it doesn't -use or fill the cache (`c-in-literal-cache'). - -The return value is `c' if in a C-style comment, `c++' if in a C++ -style comment, `string' if in a string literal, `pound' if DETECT-CPP -is non-nil and in a preprocessor line, or nil if somewhere else. -Optional LIM is used as the backward limit of the search. If omitted, -or nil, `c-beginning-of-syntax' is used. - -Note that this function might do hidden buffer changes. See the -comment at the start of cc-engine.el for more info." - - (let ((rtn - (save-excursion - (let* ((pos (point)) - (lim (or lim (progn - (c-beginning-of-syntax) - (point)))) - (state (parse-partial-sexp lim pos))) - (csharp-log 4 "C#: parse lim(%d) state: %s" lim (prin1-to-string state)) - (cond - ((elt state 3) - (csharp-log 4 "C#: in literal string (%d)" pos) - 'string) - ((elt state 4) - (csharp-log 4 "C#: in literal comment (%d)" pos) - (if (elt state 7) 'c++ 'c)) - ((and detect-cpp (c-beginning-of-macro lim)) 'pound) - (t nil)))))) - rtn)) - - -(defun csharp-set-vliteral-syntax-table-properties (beg end) - "Scan the buffer text between BEG and END, a verbatim literal -string, setting and clearing syntax-table text properties where -necessary. - -We need to modify the default syntax-table text property in these cases: - (backslash) - is not an escape inside a verbatim literal string. - (double-quote) - can be a literal quote, when doubled. - -BEG is the @ delimiter. END is the 'old' position of the ending quote. - -see http://www.sunsite.ualberta.ca/Documentation/Gnu/emacs-lisp-ref-21-2.7/html_node/elisp_592.html -for the list of syntax table numeric codes. - -" - - (csharp-log 3 "C#: set-vlit-syntax-table: beg(%d) end(%d)" beg end) - - (if (and (> beg 0) (> end 0)) - - (let ((curpos beg) - (state 0)) - - (c-clear-char-properties beg end 'syntax-table) - - (while (<= curpos end) - - (cond - ((= state 0) - (if (= (char-after curpos) ?@) - (progn - (c-put-char-property curpos 'syntax-table '(3)) ; (6) = expression prefix, (3) = symbol - ;;(message (format "C#: set-s-t: prefix pos(%d) chr(%c)" beg (char-after beg))) - ) - ) - (setq state (+ 1 state))) - - ((= state 1) - (if (= (char-after curpos) ?\") - (progn - (c-put-char-property curpos 'syntax-table '(7)) ; (7) = string quote - ;;(message (format "C#: set-s-t: open quote pos(%d) chr(%c)" - ;; curpos (char-after curpos))) - )) - (setq state (+ 1 state))) - - ((= state 2) - (cond - ;; handle backslash - ((= (char-after curpos) ?\\) - (c-put-char-property curpos 'syntax-table '(2)) ; (1) = punctuation, (2) = word - ;;(message (format "C#: set-s-t: backslash word pos(%d) chr(%c)" curpos (char-after curpos))) - ) - - ;; doubled double-quote - ((and - (= (char-after curpos) ?\") - (= (char-after (+ 1 curpos)) ?\")) - (c-put-char-property curpos 'syntax-table '(2)) ; (1) = punctuation, (2) = word - (c-put-char-property (+ 1 curpos) 'syntax-table '(2)) ; (1) = punctuation - ;;(message (format "C#: set-s-t: double doublequote pos(%d) chr(%c)" curpos (char-after curpos))) - (setq curpos (+ curpos 1)) - ) - - ;; a single double-quote, which should be a string terminator - ((= (char-after curpos) ?\") - (c-put-char-property curpos 'syntax-table '(7)) ; (7) = string quote - ;;(message (format "C#: set-s-t: close quote pos(%d) chr(%c)" curpos (char-after curpos))) - ;;go no further - (setq state (+ 1 state))) - - ;; everything else - (t - ;;(message (format "C#: set-s-t: none pos(%d) chr(%c)" curpos (char-after curpos))) - nil)))) - ;; next char - (setq curpos (+ curpos 1)))))) - - - -(defun csharp-end-of-verbatim-literal-string (&optional lim) - "Moves to and returns the position of the end quote of the verbatim literal -string. When calling, point should be on the @ of the verblit string. -If it is not, then no movement is performed and `point' is returned. - -This function ignores text properties. In fact it is the -underlying scanner used to set the text properties in a C# buffer. -" - - (csharp-log 3 "C#: end-of-vlit-string: point(%d) c(%c)" (point) (char-after)) - - (let (curpos - (max (or lim (point-max)))) - - (if (not (looking-at "@\"")) - (point) - (forward-char 2) ;; pass up the @ sign and first quote - (setq curpos (point)) - - ;; Within a verbatim literal string, a doubled double-quote - ;; escapes the double-quote." - (while (and ;; process characters... - (or ;; while... - (not (eq (char-after curpos) ?\")) ;; it's not a quote - (eq (char-after (+ curpos 1)) ?\")) ;; or, its a double (double) quote - (< curpos max)) ;; and we're not done yet - - (cond - ((and (eq (char-after curpos) ?\") ;; it's a double-quote. - (eq (char-after (+ curpos 1)) ?\")) - (setq curpos (+ 2 curpos))) ;; Skip 2 - (t ;; anything else - (setq curpos (+ 1 curpos))))) ;; skip fwd 1 - curpos))) - - - - -(defun csharp-scan-for-verbatim-literals-and-set-props (&optional beg end) - -"Scans the buffer, between BEG and END, for verbatim literal -strings, and sets override text properties on each string to -allow proper syntax highlighting, indenting, and cursor movement. - -BEG and END define the limits of the scan. When nil, they -default to `point-min' and `point-max' respectively. - -Setting text properties generally causes the buffer to be marked -as modified, but this fn suppresses that via the -`c-buffer-save-state' macro, for any changes in text properties -that it makes. This fn also ignores the read-only setting on a -buffer, using the same macro. - -This fn is called when a csharp-mode buffer is loaded, with BEG -and END set to nil, to do a full scan. It is also called on -every buffer change, with the BEG and END set to the values for -the change. - -The return value is nil if the buffer was not a csharp-mode -buffer. Otherwise it is the last cursor position examined by the -scan. -" - - (if (not (c-major-mode-is 'csharp-mode)) ;; don't scan if not csharp mode - nil - (save-excursion - (c-save-buffer-state - ((curpos (or beg (point-min))) - (lastpos (or end (point-max))) - (state 0) (start 0) (cycle 0) - literal eos limits) - - (csharp-log 3 "C#: scan") - (goto-char curpos) - - (while (and (< curpos lastpos) (< cycle 10000)) - (cond - - ;; Case 1: current char is a @ sign - ;; -------------------------------------------- - ;; Check to see if it demarks the beginning of a verblit - ;; string. - ((= ?@ (char-after curpos)) - - ;; are we in a comment? a string? Maybe the @ is a prefix - ;; to allow the use of a reserved word as a symbol. Let's find out. - - ;; not sure why I need both of the following. - (syntax-ppss-flush-cache 1) - (parse-partial-sexp 1 curpos) - (goto-char curpos) - (setq literal (csharp-in-literal)) - (cond - - ;; Case 1.A: it's a @ within a string. - ;; -------------------------------------------- - ;; This should never happen, because this scanner hops over strings. - ;; But it might happen if the scan starts at an odd place. - ((eq literal 'string) nil) - - ;; Case 1.B: The @ is within a comment. Hop over it. - ((and (memq literal '(c c++)) - ;; This is a kludge for XEmacs where we use - ;; `buffer-syntactic-context', which doesn't correctly - ;; recognize "\*/" to end a block comment. - ;; `parse-partial-sexp' which is used by - ;; `c-literal-limits' will however do that in most - ;; versions, which results in that we get nil from - ;; `c-literal-limits' even when `c-in-literal' claims - ;; we're inside a comment. - ;;(setq limits (c-literal-limits start))) - (setq limits (c-literal-limits))) - - ;; advance to the end of the comment - (if limits - (progn - (csharp-log 4 "C#: scan: jump end comment A (%d)" (cdr limits)) - (setq curpos (cdr limits))))) - - - ;; Case 1.B: curpos is at least 2 chars before the last - ;; position to examine, and, the following char is a - ;; double-quote (ASCII 34). - ;; -------------------------------------------- - ;; This looks like the beginning of a verbatim string - ;; literal. - ((and (< (+ 2 curpos) lastpos) - (= ?\" (char-after (+ 1 curpos)))) - - (setq eos (csharp-end-of-verbatim-literal-string)) - ;; set override syntax properties on the verblit string - (csharp-set-vliteral-syntax-table-properties curpos eos) - - (csharp-log 4 "C#: scan: jump end verblit string (%d)" eos) - (setq curpos eos)))) - - - ;; Case 2: current char is a double-quote. - ;; -------------------------------------------- - ;; If this is a string, we hop over it, on the assumption that - ;; this scanner need not bother with regular literal strings, which - ;; get the proper syntax with the generic approach. - ;; If in a comment, hop over the comment. - ((= ?\" (char-after curpos)) - (goto-char curpos) - (setq literal (c-in-literal)) - (cond - - ;; Case 2.A: a quote within a string - ;; -------------------------------------------- - ;; This shouldn't happen, because we hop over strings. - ;; But it might. - ((eq literal 'string) nil) - - ;; Case 2.B: a quote within a comment - ;; -------------------------------------------- - ((and (memq literal '(c c++)) - ;; This is a kludge for XEmacs where we use - ;; `buffer-syntactic-context', which doesn't correctly - ;; recognize "\*/" to end a block comment. - ;; `parse-partial-sexp' which is used by - ;; `c-literal-limits' will however do that in most - ;; versions, which results in that we get nil from - ;; `c-literal-limits' even when `c-in-literal' claims - ;; we're inside a comment. - ;;(setq limits (c-literal-limits start))) - (setq limits (c-literal-limits))) - - ;; advance to the end of the comment - (if limits - (progn - (setq curpos (cdr limits)) - (csharp-log 3 "C#: scan: jump end comment B (%s)" curpos)))) - - - ;; Case 2.C: Not in a comment, and not in a string. - ;; -------------------------------------------- - ;; This is the beginning of a literal (but not verbatim) string. - (t - (forward-char 1) ;; pass up the quote - (if (consp (setq limits (c-literal-limits))) - (progn - (csharp-log 4 "C#: scan: jump end literal (%d)" (cdr limits)) - (setq curpos (cdr limits)))))))) - - (setq cycle (+ 1 cycle)) - (setq curpos (+ 1 curpos)) - (c-safe (goto-char curpos))))))) - - -(defun csharp-before-font-lock (beg end old-len) - "Adjust`syntax-table' properties on the region affected by the change -in a csharp-mode buffer. - -This function is the C# value for `c-before-font-lock-function'. -It intended to be called only by the cc-mode runtime. - -It prepares the buffer for font locking, hence must get called -before `font-lock-after-change-function'. - -It does hidden buffer changes. - -BEG, END and OLD-LEN have the same meaning here as for any -after-change function. - -Point is undefined both before and after this function call. -The return value is meaningless, and is ignored by cc-mode. -" - (let ((start-scan (progn - (c-beginning-of-statement 1) - (point)))) - (csharp-scan-for-verbatim-literals-and-set-props start-scan end))) - - - -(c-lang-defconst c-before-font-lock-function - csharp 'csharp-before-font-lock) - -;; ================================================================== -;; end of c# fontification extensions -;; ================================================================== - - - - - -;; ================================================================== -;; C#-specific optimizations of cc-mode funcs -;; ================================================================== - - -;; There's never a need to check for C-style macro definitions in -;; a C# buffer. -(defadvice c-beginning-of-macro (around - csharp-mode-advice-1 - compile activate) - (if (c-major-mode-is 'csharp-mode) - nil - ad-do-it) - ) - - -;; There's never a need to move over an Obj-C directive in csharp mode -(defadvice c-forward-objc-directive (around - csharp-mode-advice-2 - compile activate) - (if (c-major-mode-is 'csharp-mode) - nil - ad-do-it) - ) - -;; ================================================================== -;; end of C#-specific optimizations of cc-mode funcs -;; ================================================================== - - - - - - - - -;; ================================================================== -;; c# - monkey-patching of basic parsing logic -;; ================================================================== -;; -;; Here, the model redefines two defuns to add special cases for csharp -;; mode. These primarily deal with indentation of instance -;; initializers, which are somewhat unique to C#. I couldn't figure out -;; how to get cc-mode to do what C# needs, without modifying these -;; defuns. -;; - -(defun c-looking-at-inexpr-block (lim containing-sexp &optional check-at-end) - ;; Return non-nil if we're looking at the beginning of a block - ;; inside an expression. The value returned is actually a cons of - ;; either 'inlambda, 'inexpr-statement or 'inexpr-class and the - ;; position of the beginning of the construct. - ;; - ;; LIM limits the backward search. CONTAINING-SEXP is the start - ;; position of the closest containing list. If it's nil, the - ;; containing paren isn't used to decide whether we're inside an - ;; expression or not. If both LIM and CONTAINING-SEXP are used, LIM - ;; needs to be farther back. - ;; - ;; If CHECK-AT-END is non-nil then extra checks at the end of the - ;; brace block might be done. It should only be used when the - ;; construct can be assumed to be complete, i.e. when the original - ;; starting position was further down than that. - ;; - ;; This function might do hidden buffer changes. - - (save-excursion - (let ((res 'maybe) passed-paren - (closest-lim (or containing-sexp lim (point-min))) - ;; Look at the character after point only as a last resort - ;; when we can't disambiguate. - (block-follows (and (eq (char-after) ?{) (point)))) - - (while (and (eq res 'maybe) - (progn (c-backward-syntactic-ws) - (> (point) closest-lim)) - (not (bobp)) - (progn (backward-char) - (looking-at "[\]\).]\\|\\w\\|\\s_")) - (c-safe (forward-char) - (goto-char (scan-sexps (point) -1)))) - - (setq res - (if (looking-at c-keywords-regexp) - (let ((kw-sym (c-keyword-sym (match-string 1)))) - (cond - ((and block-follows - (c-keyword-member kw-sym 'c-inexpr-class-kwds)) - (and (not (eq passed-paren ?\[)) - - ;; dinoch Thu, 22 Apr 2010 18:20 - ;; ============================================ - ;; looking at new MyType() { ... } - ;; means this is a brace list, so, return nil, - ;; implying NOT looking-at-inexpr-block - (not - (and (c-major-mode-is 'csharp-mode) - (looking-at "new\s+\\([[:alnum:]_]+\\)\\b"))) - - (or (not (looking-at c-class-key)) - ;; If the class instantiation is at the start of - ;; a statement, we don't consider it an - ;; in-expression class. - (let ((prev (point))) - (while (and - (= (c-backward-token-2 1 nil closest-lim) 0) - (eq (char-syntax (char-after)) ?w)) - (setq prev (point))) - (goto-char prev) - (not (c-at-statement-start-p))) - ;; Also, in Pike we treat it as an - ;; in-expression class if it's used in an - ;; object clone expression. - (save-excursion - (and check-at-end - (c-major-mode-is 'pike-mode) - (progn (goto-char block-follows) - (zerop (c-forward-token-2 1 t))) - (eq (char-after) ?\()))) - (cons 'inexpr-class (point)))) - ((c-keyword-member kw-sym 'c-inexpr-block-kwds) - (when (not passed-paren) - (cons 'inexpr-statement (point)))) - ((c-keyword-member kw-sym 'c-lambda-kwds) - (when (or (not passed-paren) - (eq passed-paren ?\()) - (cons 'inlambda (point)))) - ((c-keyword-member kw-sym 'c-block-stmt-kwds) - nil) - (t - 'maybe))) - - (if (looking-at "\\s(") - (if passed-paren - (if (and (eq passed-paren ?\[) - (eq (char-after) ?\[)) - ;; Accept several square bracket sexps for - ;; Java array initializations. - 'maybe) - (setq passed-paren (char-after)) - 'maybe) - 'maybe)))) - - (if (eq res 'maybe) - (when (and c-recognize-paren-inexpr-blocks - block-follows - containing-sexp - (eq (char-after containing-sexp) ?\()) - (goto-char containing-sexp) - (if (or (save-excursion - (c-backward-syntactic-ws lim) - (and (> (point) (or lim (point-min))) - (c-on-identifier))) - (and c-special-brace-lists - (c-looking-at-special-brace-list))) - nil - (cons 'inexpr-statement (point)))) - - res)))) - - - - -(defconst csharp-enum-decl-re - (concat - "\\\s+\\([[:alnum:]_]+\\)\s*:\s*" - "\\(" - (c-make-keywords-re nil - (list "sbyte" "byte" "short" "ushort" "int" "uint" "long" "ulong")) - "\\)") - "Regex that captures an enum declaration in C#" - ) - - - -(defun c-inside-bracelist-p (containing-sexp paren-state) - ;; return the buffer position of the beginning of the brace list - ;; statement if we're inside a brace list, otherwise return nil. - ;; CONTAINING-SEXP is the buffer pos of the innermost containing - ;; paren. PAREN-STATE is the remainder of the state of enclosing - ;; braces - ;; - ;; N.B.: This algorithm can potentially get confused by cpp macros - ;; placed in inconvenient locations. It's a trade-off we make for - ;; speed. - ;; - ;; This function might do hidden buffer changes. - (or - ;; This will pick up brace list declarations. - (c-safe - (save-excursion - (goto-char containing-sexp) - (c-forward-sexp -1) - (let (bracepos) - (if (and (or (looking-at c-brace-list-key) - - (progn (c-forward-sexp -1) - (looking-at c-brace-list-key)) - - ;; dinoch Thu, 22 Apr 2010 18:20 - ;; ============================================ - ;; looking enum Foo : int - ;; means this is a brace list, so, return nil, - ;; implying NOT looking-at-inexpr-block - - (and (c-major-mode-is 'csharp-mode) - (progn - (c-forward-sexp -1) - (looking-at csharp-enum-decl-re)))) - - (setq bracepos (c-down-list-forward (point))) - (not (c-crosses-statement-barrier-p (point) - (- bracepos 2)))) - (point))))) - ;; this will pick up array/aggregate init lists, even if they are nested. - (save-excursion - (let ((class-key - ;; Pike can have class definitions anywhere, so we must - ;; check for the class key here. - (and (c-major-mode-is 'pike-mode) - c-decl-block-key)) - bufpos braceassignp lim next-containing) - (while (and (not bufpos) - containing-sexp) - (when paren-state - (if (consp (car paren-state)) - (setq lim (cdr (car paren-state)) - paren-state (cdr paren-state)) - (setq lim (car paren-state))) - (when paren-state - (setq next-containing (car paren-state) - paren-state (cdr paren-state)))) - (goto-char containing-sexp) - (if (c-looking-at-inexpr-block next-containing next-containing) - ;; We're in an in-expression block of some kind. Do not - ;; check nesting. We deliberately set the limit to the - ;; containing sexp, so that c-looking-at-inexpr-block - ;; doesn't check for an identifier before it. - (setq containing-sexp nil) - ;; see if the open brace is preceded by = or [...] in - ;; this statement, but watch out for operator= - (setq braceassignp 'dontknow) - (c-backward-token-2 1 t lim) - ;; Checks to do only on the first sexp before the brace. - (when (and c-opt-inexpr-brace-list-key - (eq (char-after) ?\[)) - ;; In Java, an initialization brace list may follow - ;; directly after "new Foo[]", so check for a "new" - ;; earlier. - (while (eq braceassignp 'dontknow) - (setq braceassignp - (cond ((/= (c-backward-token-2 1 t lim) 0) nil) - ((looking-at c-opt-inexpr-brace-list-key) t) - ((looking-at "\\sw\\|\\s_\\|[.[]") - ;; Carry on looking if this is an - ;; identifier (may contain "." in Java) - ;; or another "[]" sexp. - 'dontknow) - (t nil))))) - ;; Checks to do on all sexps before the brace, up to the - ;; beginning of the statement. - (while (eq braceassignp 'dontknow) - (cond ((eq (char-after) ?\;) - (setq braceassignp nil)) - ((and class-key - (looking-at class-key)) - (setq braceassignp nil)) - ((eq (char-after) ?=) - ;; We've seen a =, but must check earlier tokens so - ;; that it isn't something that should be ignored. - (setq braceassignp 'maybe) - (while (and (eq braceassignp 'maybe) - (zerop (c-backward-token-2 1 t lim))) - (setq braceassignp - (cond - ;; Check for operator = - ((and c-opt-op-identifier-prefix - (looking-at c-opt-op-identifier-prefix)) - nil) - ;; Check for `= in Pike. - ((and (c-major-mode-is 'pike-mode) - (or (eq (char-after) ?`) - ;; Special case for Pikes - ;; `[]=, since '[' is not in - ;; the punctuation class. - (and (eq (char-after) ?\[) - (eq (char-before) ?`)))) - nil) - ((looking-at "\\s.") 'maybe) - ;; make sure we're not in a C++ template - ;; argument assignment - ((and - (c-major-mode-is 'c++-mode) - (save-excursion - (let ((here (point)) - (pos< (progn - (skip-chars-backward "^<>") - (point)))) - (and (eq (char-before) ?<) - (not (c-crosses-statement-barrier-p - pos< here)) - (not (c-in-literal)) - )))) - nil) - (t t)))))) - (if (and (eq braceassignp 'dontknow) - (/= (c-backward-token-2 1 t lim) 0)) - (setq braceassignp nil))) - (if (not braceassignp) - (if (eq (char-after) ?\;) - ;; Brace lists can't contain a semicolon, so we're done. - (setq containing-sexp nil) - ;; Go up one level. - (setq containing-sexp next-containing - lim nil - next-containing nil)) - ;; we've hit the beginning of the aggregate list - (c-beginning-of-statement-1 - (c-most-enclosing-brace paren-state)) - (setq bufpos (point)))) - ) - bufpos)) - )) - -;; ================================================================== -;; end of monkey-patching of basic parsing logic -;; ================================================================== - - - - -;;(easy-menu-define csharp-menu csharp-mode-map "C# Mode Commands" -;; ;; Can use `csharp' as the language for `c-mode-menu' -;; ;; since its definition covers any language. In -;; ;; this case the language is used to adapt to the -;; ;; nonexistence of a cpp pass and thus removing some -;; ;; irrelevant menu alternatives. -;; (cons "C#" (c-lang-const c-mode-menu csharp))) - -;;; Autoload mode trigger -;;;###autoload -(add-to-list 'auto-mode-alist '("\\.cs$" . csharp-mode)) - - - -(c-add-style "C#" - '("Java" - (c-basic-offset . 4) - (c-comment-only-line-offset . (0 . 0)) - (c-offsets-alist . ( - (access-label . -) - (arglist-close . c-lineup-arglist) - (arglist-cont . 0) - (arglist-cont-nonempty . c-lineup-arglist) - (arglist-intro . c-lineup-arglist-intro-after-paren) - (block-close . 0) - (block-open . 0) - (brace-entry-open . 0) - (brace-list-close . 0) - (brace-list-entry . 0) - (brace-list-intro . +) - (brace-list-open . +) - (c . c-lineup-C-comments) - (case-label . +) - (catch-clause . 0) - (class-close . 0) - (class-open . 0) - (comment-intro . c-lineup-comment) - (cpp-macro . 0) - (cpp-macro-cont . c-lineup-dont-change) - (defun-block-intro . +) - (defun-close . 0) - (defun-open . 0) - (do-while-closure . 0) - (else-clause . 0) - (extern-lang-close . 0) - (extern-lang-open . 0) - (friend . 0) - (func-decl-cont . +) - (inclass . +) - (inexpr-class . +) - (inexpr-statement . 0) - (inextern-lang . +) - (inher-cont . c-lineup-multi-inher) - (inher-intro . +) - (inlambda . c-lineup-inexpr-block) - (inline-close . 0) - (inline-open . 0) - (innamespace . +) - (knr-argdecl . 0) - (knr-argdecl-intro . 5) - (label . 0) - (lambda-intro-cont . +) - (member-init-cont . c-lineup-multi-inher) - (member-init-intro . +) - (namespace-close . 0) - (namespace-open . 0) - (statement . 0) - (statement-block-intro . +) - (statement-case-intro . +) - (statement-case-open . +) - (statement-cont . +) - (stream-op . c-lineup-streamop) - (string . c-lineup-dont-change) - (substatement . +) - (substatement-open . 0) - (template-args-cont c-lineup-template-args +) - (topmost-intro . 0) - (topmost-intro-cont . 0) - )) - )) - - - - -;; Custom variables -;;;###autoload -(defcustom csharp-mode-hook nil - "*Hook called by `csharp-mode'." - :type 'hook - :group 'c) - - - -;;; The entry point into the mode -;;;###autoload -(defun csharp-mode () - "Major mode for editing C# code. This mode is derived from CC Mode to -support C#. - -The hook `c-mode-common-hook' is run with no args at mode -initialization, then `csharp-mode-hook'. - -This mode will automatically add a regexp for Csc.exe error and warning -messages to the `compilation-error-regexp-alist'. - -Key bindings: -\\{csharp-mode-map}" - (interactive) - (kill-all-local-variables) - (make-local-variable 'beginning-of-defun-function) - (make-local-variable 'end-of-defun-function) - (c-initialize-cc-mode t) - (set-syntax-table csharp-mode-syntax-table) - - ;; define underscore as part of a word in the Csharp syntax table - (modify-syntax-entry ?_ "w" csharp-mode-syntax-table) - - ;; define @ as an expression prefix in Csharp syntax table - (modify-syntax-entry ?@ "'" csharp-mode-syntax-table) - - (setq major-mode 'csharp-mode - mode-name "C#" - local-abbrev-table csharp-mode-abbrev-table - abbrev-mode t) - (use-local-map csharp-mode-map) - - ;; `c-init-language-vars' is a macro that is expanded at compile - ;; time to a large `setq' with all the language variables and their - ;; customized values for our language. - (c-init-language-vars csharp-mode) - - - ;; `c-common-init' initializes most of the components of a CC Mode - ;; buffer, including setup of the mode menu, font-lock, etc. - ;; There's also a lower level routine `c-basic-common-init' that - ;; only makes the necessary initialization to get the syntactic - ;; analysis and similar things working. - (c-common-init 'csharp-mode) - - - ;; csc.exe, the C# Compiler, produces errors like this: - ;; file.cs(6,18): error SC1006: Name of constructor must match name of class - - (add-hook 'compilation-mode-hook - (lambda () - (setq compilation-error-regexp-alist - (cons ' ("^[ \t]*\\([A-Za-z0-9][^(]+\\.cs\\)(\\([0-9]+\\)[,]\\([0-9]+\\)) ?: \\(error\\|warning\\) CS[0-9]+:" 1 2 3) - compilation-error-regexp-alist)))) - - ;; to allow next-error to work with csc.exe: - (setq compilation-scroll-output t) - - ;; allow fill-paragraph to work on xml code doc - (set (make-local-variable 'paragraph-separate) - "[ \t]*\\(//+\\|\\**\\)\\([ \t]+\\|[ \t]+<.+?>\\)$\\|^\f") - - - (c-run-mode-hooks 'c-mode-common-hook 'csharp-mode-hook) - - - ;; Need the following for parse-partial-sexp to work properly with - ;; verbatim literal strings Setting this var to non-nil tells - ;; `parse-partial-sexp' to pay attention to the syntax text - ;; properties on the text in the buffer. If csharp-mode attaches - ;; text syntax to @"..." then, `parse-partial-sexp' will treat those - ;; strings accordingly. - (set (make-local-variable 'parse-sexp-lookup-properties) - t) - - ;; scan the entire buffer for verblit strings - (csharp-scan-for-verbatim-literals-and-set-props nil nil) - - - (local-set-key (kbd "/") 'csharp-maybe-insert-codedoc) - (local-set-key (kbd "{") 'csharp-insert-open-brace) - - (c-update-modeline)) - - - -(message (concat "Done loading " load-file-name)) - - -(provide 'csharp-mode) - -;;; csharp-mode.el ends here -;;MD5: 4EDCB2ECE38841F407C7ED3DA8354E15 diff --git a/dotemacs/.emacs.d/javascript.el b/dotemacs/.emacs.d/javascript.el deleted file mode 100644 index 33d852f..0000000 --- a/dotemacs/.emacs.d/javascript.el +++ /dev/null @@ -1,707 +0,0 @@ -;;; javascript.el --- Major mode for editing JavaScript source text - -;; Copyright (C) 2006 Karl Landström - -;; Author: Karl Landström -;; Maintainer: Karl Landström -;; Version: 2.0 Beta 8 -;; Date: 2006-12-26 -;; Keywords: languages, oop - -;; This file is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) -;; any later version. - -;; This file is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to -;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. - -;;; Commentary: -;; -;; The main features of this JavaScript mode are syntactic -;; highlighting (enabled with `font-lock-mode' or -;; `global-font-lock-mode'), automatic indentation and filling of -;; comments. -;; -;; This package has (only) been tested with GNU Emacs 21.4 (the latest -;; stable release). -;; -;; Installation: -;; -;; Put this file in a directory where Emacs can find it (`C-h v -;; load-path' for more info). Then add the following lines to your -;; Emacs initialization file: -;; -;; (add-to-list 'auto-mode-alist '("\\.js\\'" . javascript-mode)) -;; (autoload 'javascript-mode "javascript" nil t) -;; -;; General Remarks: -;; -;; This mode assumes that block comments are not nested inside block -;; comments and that strings do not contain line breaks. -;; -;; Exported names start with "javascript-" whereas private names start -;; with "js-". -;; -;; Changes: -;; -;; See javascript.el.changelog. - -;;; Code: - -(require 'cc-mode) -(require 'font-lock) -(require 'newcomment) - -(defgroup javascript nil - "Customization variables for `javascript-mode'." - :tag "JavaScript" - :group 'languages) - -(defcustom javascript-indent-level 4 - "Number of spaces for each indentation step." - :type 'integer - :group 'javascript) - -(defcustom javascript-auto-indent-flag t - "Automatic indentation with punctuation characters. If non-nil, the -current line is indented when certain punctuations are inserted." - :type 'boolean - :group 'javascript) - - -;; --- Keymap --- - -(defvar javascript-mode-map nil - "Keymap used in JavaScript mode.") - -(unless javascript-mode-map - (setq javascript-mode-map (make-sparse-keymap))) - -(when javascript-auto-indent-flag - (mapc (lambda (key) - (define-key javascript-mode-map key 'javascript-insert-and-indent)) - '("{" "}" "(" ")" ":" ";" ","))) - -(defun javascript-insert-and-indent (key) - "Run command bound to key and indent current line. Runs the command -bound to KEY in the global keymap and indents the current line." - (interactive (list (this-command-keys))) - (call-interactively (lookup-key (current-global-map) key)) - (indent-according-to-mode)) - - -;; --- Syntax Table And Parsing --- - -(defvar javascript-mode-syntax-table - (let ((table (make-syntax-table))) - (c-populate-syntax-table table) - - ;; The syntax class of underscore should really be `symbol' ("_") - ;; but that makes matching of tokens much more complex as e.g. - ;; "\\" matches part of e.g. "_xyz" and "xyz_abc". Defines - ;; it as word constituent for now. - (modify-syntax-entry ?_ "w" table) - - table) - "Syntax table used in JavaScript mode.") - - -(defun js-re-search-forward-inner (regexp &optional bound count) - "Auxiliary function for `js-re-search-forward'." - (let ((parse) - (saved-point (point-min))) - (while (> count 0) - (re-search-forward regexp bound) - (setq parse (parse-partial-sexp saved-point (point))) - (cond ((nth 3 parse) - (re-search-forward - (concat "\\([^\\]\\|^\\)" (string (nth 3 parse))) - (save-excursion (end-of-line) (point)) t)) - ((nth 7 parse) - (forward-line)) - ((or (nth 4 parse) - (and (eq (char-before) ?\/) (eq (char-after) ?\*))) - (re-search-forward "\\*/")) - (t - (setq count (1- count)))) - (setq saved-point (point)))) - (point)) - - -(defun js-re-search-forward (regexp &optional bound noerror count) - "Search forward but ignore strings and comments. Invokes -`re-search-forward' but treats the buffer as if strings and -comments have been removed." - (let ((saved-point (point)) - (search-expr - (cond ((null count) - '(js-re-search-forward-inner regexp bound 1)) - ((< count 0) - '(js-re-search-backward-inner regexp bound (- count))) - ((> count 0) - '(js-re-search-forward-inner regexp bound count))))) - (condition-case err - (eval search-expr) - (search-failed - (goto-char saved-point) - (unless noerror - (error (error-message-string err))))))) - - -(defun js-re-search-backward-inner (regexp &optional bound count) - "Auxiliary function for `js-re-search-backward'." - (let ((parse) - (saved-point (point-min))) - (while (> count 0) - (re-search-backward regexp bound) - (when (and (> (point) (point-min)) - (save-excursion (backward-char) (looking-at "/[/*]"))) - (forward-char)) - (setq parse (parse-partial-sexp saved-point (point))) - (cond ((nth 3 parse) - (re-search-backward - (concat "\\([^\\]\\|^\\)" (string (nth 3 parse))) - (save-excursion (beginning-of-line) (point)) t)) - ((nth 7 parse) - (goto-char (nth 8 parse))) - ((or (nth 4 parse) - (and (eq (char-before) ?/) (eq (char-after) ?*))) - (re-search-backward "/\\*")) - (t - (setq count (1- count)))))) - (point)) - - -(defun js-re-search-backward (regexp &optional bound noerror count) - "Search backward but ignore strings and comments. Invokes -`re-search-backward' but treats the buffer as if strings and -comments have been removed." - (let ((saved-point (point)) - (search-expr - (cond ((null count) - '(js-re-search-backward-inner regexp bound 1)) - ((< count 0) - '(js-re-search-forward-inner regexp bound (- count))) - ((> count 0) - '(js-re-search-backward-inner regexp bound count))))) - (condition-case err - (eval search-expr) - (search-failed - (goto-char saved-point) - (unless noerror - (error (error-message-string err))))))) - - -(defun js-continued-var-decl-list-p () - "Return non-nil if point is inside a continued variable declaration -list." - (interactive) - (let ((start (save-excursion (js-re-search-backward "\\" nil t)))) - (and start - (save-excursion (re-search-backward "\n" start t)) - (not (save-excursion - (js-re-search-backward - ";\\|[^, \t][ \t]*\\(/[/*]\\|$\\)" start t)))))) - - -;; --- Font Lock --- - -(defun js-inside-param-list-p () - "Return non-nil if point is inside a function parameter list." - (condition-case err - (save-excursion - (up-list -1) - (and (looking-at "(") - (progn (backward-word 1) - (or (looking-at "function") - (progn (backward-word 1) (looking-at "function")))))) - (error nil))) - - -(defconst js-function-heading-1-re - "^[ \t]*function[ \t]+\\(\\w+\\)" - "Regular expression matching the start of a function header.") - -(defconst js-function-heading-2-re - "^[ \t]*\\(\\w+\\)[ \t]*:[ \t]*function\\>" - "Regular expression matching the start of a function entry in - an associative array.") - -(defconst js-keyword-re - (regexp-opt '("abstract" "break" "case" "catch" "class" "const" - "continue" "debugger" "default" "delete" "do" "else" - "enum" "export" "extends" "final" "finally" "for" - "function" "goto" "if" "implements" "import" "in" - "instanceof" "interface" "native" "new" "package" - "private" "protected" "public" "return" "static" - "super" "switch" "synchronized" "this" "throw" - "throws" "transient" "try" "typeof" "var" "void" - "volatile" "while" "with" - "let") 'words) - "Regular expression matching any JavaScript keyword.") - -(defconst js-basic-type-re - (regexp-opt '("boolean" "byte" "char" "double" "float" "int" "long" - "short" "void") 'words) - "Regular expression matching any predefined type in JavaScript.") - -(defconst js-constant-re - (regexp-opt '("false" "null" "true") 'words) - "Regular expression matching any future reserved words in JavaScript.") - - -(defconst js-font-lock-keywords-1 - (list - "\\" - (list js-function-heading-1-re 1 font-lock-function-name-face) - (list js-function-heading-2-re 1 font-lock-function-name-face) - (list "[=(][ \t]*\\(/.*?[^\\]/\\w*\\)" 1 font-lock-string-face)) - "Level one font lock.") - -(defconst js-font-lock-keywords-2 - (append js-font-lock-keywords-1 - (list (list js-keyword-re 1 font-lock-keyword-face) - (cons js-basic-type-re font-lock-type-face) - (cons js-constant-re font-lock-constant-face))) - "Level two font lock.") - - -;; Limitations with variable declarations: There seems to be no -;; sensible way to highlight variables occuring after an initialized -;; variable in a variable list. For instance, in -;; -;; var x, y = f(a, b), z -;; -;; z will not be highlighted. - -(defconst js-font-lock-keywords-3 - (append - js-font-lock-keywords-2 - (list - - ;; variable declarations - (list - (concat "\\<\\(const\\|var\\)\\>\\|" js-basic-type-re) - (list "\\(\\w+\\)[ \t]*\\([=;].*\\|,\\|/[/*]\\|$\\)" - nil - nil - '(1 font-lock-variable-name-face))) - - ;; continued variable declaration list - (list - (concat "^[ \t]*\\w+[ \t]*\\([,;=]\\|/[/*]\\|$\\)") - (list "\\(\\w+\\)[ \t]*\\([=;].*\\|,\\|/[/*]\\|$\\)" - '(if (save-excursion (backward-char) (js-continued-var-decl-list-p)) - (backward-word 1) - (end-of-line)) - '(end-of-line) - '(1 font-lock-variable-name-face))) - - ;; formal parameters - (list - (concat "\\\\([ \t]+\\w+\\)?[ \t]*([ \t]*\\w") - (list "\\(\\w+\\)\\([ \t]*).*\\)?" - '(backward-char) - '(end-of-line) - '(1 font-lock-variable-name-face))) - - ;; continued formal parameter list - (list - (concat "^[ \t]*\\w+[ \t]*[,)]") - (list "\\w+" - '(if (save-excursion (backward-char) (js-inside-param-list-p)) - (backward-word 1) - (end-of-line)) - '(end-of-line) - '(0 font-lock-variable-name-face))))) - "Level three font lock.") - -(defconst js-font-lock-keywords - '(js-font-lock-keywords-3 js-font-lock-keywords-1 js-font-lock-keywords-2 - js-font-lock-keywords-3) - "See `font-lock-keywords'.") - - -;; --- Indentation --- - -(defconst js-possibly-braceless-keyword-re - (regexp-opt - '("catch" "do" "else" "finally" "for" "if" "try" "while" "with" "let") - 'words) - "Regular expression matching keywords that are optionally - followed by an opening brace.") - -(defconst js-indent-operator-re - (concat "[-+*/%<>=&^|?:.]\\([^-+*/]\\|$\\)\\|" - (regexp-opt '("in" "instanceof") 'words)) - "Regular expression matching operators that affect indentation - of continued expressions.") - - -(defun js-looking-at-operator-p () - "Return non-nil if text after point is an operator (that is not -a comma)." - (save-match-data - (and (looking-at js-indent-operator-re) - (or (not (looking-at ":")) - (save-excursion - (and (js-re-search-backward "[?:{]\\|\\" nil t) - (looking-at "?"))))))) - - -(defun js-continued-expression-p () - "Returns non-nil if the current line continues an expression." - (save-excursion - (back-to-indentation) - (or (js-looking-at-operator-p) - (and (js-re-search-backward "\n" nil t) - (progn - (skip-chars-backward " \t") - (backward-char) - (and (> (point) (point-min)) - (save-excursion (backward-char) (not (looking-at "[/*]/"))) - (js-looking-at-operator-p) - (and (progn (backward-char) - (not (looking-at "++\\|--\\|/[/*]")))))))))) - - -(defun js-end-of-do-while-loop-p () - "Returns non-nil if word after point is `while' of a do-while -statement, else returns nil. A braceless do-while statement -spanning several lines requires that the start of the loop is -indented to the same column as the current line." - (interactive) - (save-excursion - (save-match-data - (when (looking-at "\\s-*\\") - (if (save-excursion - (skip-chars-backward "[ \t\n]*}") - (looking-at "[ \t\n]*}")) - (save-excursion - (backward-list) (backward-word 1) (looking-at "\\")) - (js-re-search-backward "\\" (point-at-bol) t) - (or (looking-at "\\") - (let ((saved-indent (current-indentation))) - (while (and (js-re-search-backward "^[ \t]*\\<" nil t) - (/= (current-indentation) saved-indent))) - (and (looking-at "[ \t]*\\") - (not (js-re-search-forward - "\\" (point-at-eol) t)) - (= (current-indentation) saved-indent))))))))) - - -(defun js-ctrl-statement-indentation () - "Returns the proper indentation of the current line if it -starts the body of a control statement without braces, else -returns nil." - (save-excursion - (back-to-indentation) - (when (save-excursion - (and (not (looking-at "[{]")) - (progn - (js-re-search-backward "[[:graph:]]" nil t) - (forward-char) - (when (= (char-before) ?\)) (backward-list)) - (skip-syntax-backward " ") - (skip-syntax-backward "w") - (looking-at js-possibly-braceless-keyword-re)) - (not (js-end-of-do-while-loop-p)))) - (save-excursion - (goto-char (match-beginning 0)) - (+ (current-indentation) javascript-indent-level))))) - - -(defun js-proper-indentation (parse-status) - "Return the proper indentation for the current line." - (save-excursion - (back-to-indentation) - (let ((ctrl-stmt-indent (js-ctrl-statement-indentation)) - (same-indent-p (looking-at "[]})]\\|\\\\|\\")) - (continued-expr-p (js-continued-expression-p))) - (cond (ctrl-stmt-indent) - ((js-continued-var-decl-list-p) - (js-re-search-backward "\\" nil t) - (+ (current-indentation) javascript-indent-level)) - ((nth 1 parse-status) - (goto-char (nth 1 parse-status)) - (if (looking-at "[({[][ \t]*\\(/[/*]\\|$\\)") - (progn - (skip-syntax-backward " ") - (when (= (char-before) ?\)) (backward-list)) - (back-to-indentation) - (cond (same-indent-p - (current-column)) - (continued-expr-p - (+ (current-column) (* 2 javascript-indent-level))) - (t - (+ (current-column) javascript-indent-level)))) - (unless same-indent-p - (forward-char) - (skip-chars-forward " \t")) - (current-column))) - (continued-expr-p javascript-indent-level) - (t 0))))) - - -(defun javascript-indent-line () - "Indent the current line as JavaScript source text." - (interactive) - (let ((parse-status - (save-excursion (parse-partial-sexp (point-min) (point-at-bol)))) - (offset (- (current-column) (current-indentation)))) - (when (not (nth 8 parse-status)) - (indent-line-to (js-proper-indentation parse-status)) - (when (> offset 0) (forward-char offset))))) - - -;; --- Filling --- - -;; FIXME: It should be possible to use the more sofisticated function -;; `c-fill-paragraph' in `cc-cmds.el' instead. However, just setting -;; `fill-paragraph-function' to `c-fill-paragraph' does not work; -;; inside `c-fill-paragraph', `fill-paragraph-function' evaluates to -;; nil!? - -(defun js-backward-paragraph () - "Move backward to start of paragraph. Postcondition: Point is at -beginning of buffer or the previous line contains only whitespace." - (forward-line -1) - (while (not (or (bobp) (looking-at "^[ \t]*$"))) - (forward-line -1)) - (when (not (bobp)) (forward-line 1))) - - -(defun js-forward-paragraph () - "Move forward to end of paragraph. Postcondition: Point is at -end of buffer or the next line contains only whitespace." - (forward-line 1) - (while (not (or (eobp) (looking-at "^[ \t]*$"))) - (forward-line 1)) - (when (not (eobp)) (backward-char 1))) - - -(defun js-fill-block-comment-paragraph (parse-status justify) - "Fill current paragraph as a block comment. PARSE-STATUS is the -result of `parse-partial-regexp' from beginning of buffer to -point. JUSTIFY has the same meaning as in `fill-paragraph'." - (let ((offset (save-excursion - (goto-char (nth 8 parse-status)) (current-indentation)))) - (save-excursion - (save-restriction - (narrow-to-region (save-excursion - (goto-char (nth 8 parse-status)) (point-at-bol)) - (save-excursion - (goto-char (nth 8 parse-status)) - (re-search-forward "*/"))) - (narrow-to-region (save-excursion - (js-backward-paragraph) - (when (looking-at "^[ \t]*$") (forward-line 1)) - (point)) - (save-excursion - (js-forward-paragraph) - (when (looking-at "^[ \t]*$") (backward-char)) - (point))) - (goto-char (point-min)) - (while (not (eobp)) - (delete-horizontal-space) - (forward-line 1)) - (let ((fill-column (- fill-column offset)) - (fill-paragraph-function nil)) - (fill-paragraph justify)) - - ;; In Emacs 21.4 as opposed to CVS Emacs 22, - ;; `fill-paragraph' seems toadd a newline at the end of the - ;; paragraph. Remove it! - (goto-char (point-max)) - (when (looking-at "^$") (backward-delete-char 1)) - - (goto-char (point-min)) - (while (not (eobp)) - (indent-to offset) - (forward-line 1)))))) - - -(defun js-sline-comment-par-start () - "Return point at the beginning of the line where the current -single-line comment paragraph starts." - (save-excursion - (beginning-of-line) - (while (and (not (bobp)) - (looking-at "^[ \t]*//[ \t]*[[:graph:]]")) - (forward-line -1)) - (unless (bobp) (forward-line 1)) - (point))) - - -(defun js-sline-comment-par-end () - "Return point at end of current single-line comment paragraph." - (save-excursion - (beginning-of-line) - (while (and (not (eobp)) - (looking-at "^[ \t]*//[ \t]*[[:graph:]]")) - (forward-line 1)) - (unless (bobp) (backward-char)) - (point))) - - -(defun js-sline-comment-offset (line) - "Return the column at the start of the current single-line -comment paragraph." - (save-excursion - (goto-line line) - (re-search-forward "//" (point-at-eol)) - (goto-char (match-beginning 0)) - (current-column))) - - -(defun js-sline-comment-text-offset (line) - "Return the column at the start of the text of the current -single-line comment paragraph." - (save-excursion - (goto-line line) - (re-search-forward "//[ \t]*" (point-at-eol)) - (current-column))) - - -(defun js-at-empty-sline-comment-p () - "Return non-nil if inside an empty single-line comment." - (and (save-excursion - (beginning-of-line) - (not (looking-at "^.*//.*[[:graph:]]"))) - (save-excursion - (re-search-backward "//" (point-at-bol) t)))) - - -(defun js-fill-sline-comments (parse-status justify) - "Fill current paragraph as a sequence of single-line comments. -PARSE-STATUS is the result of `parse-partial-regexp' from -beginning of buffer to point. JUSTIFY has the same meaning as in -`fill-paragraph'." - (when (not (js-at-empty-sline-comment-p)) - (let* ((start (js-sline-comment-par-start)) - (start-line (1+ (count-lines (point-min) start))) - (end (js-sline-comment-par-end)) - (offset (js-sline-comment-offset start-line)) - (text-offset (js-sline-comment-text-offset start-line))) - (save-excursion - (save-restriction - (narrow-to-region start end) - (goto-char (point-min)) - (while (re-search-forward "^[ \t]*//[ \t]*" nil t) - (replace-match "") - (forward-line 1)) - (let ((fill-paragraph-function nil) - (fill-column (- fill-column text-offset))) - (fill-paragraph justify)) - - ;; In Emacs 21.4 as opposed to CVS Emacs 22, - ;; `fill-paragraph' seems toadd a newline at the end of the - ;; paragraph. Remove it! - (goto-char (point-max)) - (when (looking-at "^$") (backward-delete-char 1)) - - (goto-char (point-min)) - (while (not (eobp)) - (indent-to offset) - (insert "//") - (indent-to text-offset) - (forward-line 1))))))) - - -(defun js-trailing-comment-p (parse-status) - "Return non-nil if inside a trailing comment. PARSE-STATUS is -the result of `parse-partial-regexp' from beginning of buffer to -point." - (save-excursion - (when (nth 4 parse-status) - (goto-char (nth 8 parse-status)) - (skip-chars-backward " \t") - (not (bolp))))) - - -(defun js-block-comment-p (parse-status) - "Return non-nil if inside a block comment. PARSE-STATUS is the -result of `parse-partial-regexp' from beginning of buffer to -point." - (save-excursion - (save-match-data - (when (nth 4 parse-status) - (goto-char (nth 8 parse-status)) - (looking-at "/\\*"))))) - - -(defun javascript-fill-paragraph (&optional justify) - "If inside a comment, fill the current comment paragraph. -Trailing comments are ignored." - (interactive) - (let ((parse-status (parse-partial-sexp (point-min) (point)))) - (when (and (nth 4 parse-status) - (not (js-trailing-comment-p parse-status))) - (if (js-block-comment-p parse-status) - (js-fill-block-comment-paragraph parse-status justify) - (js-fill-sline-comments parse-status justify)))) - t) - - -;; --- Imenu --- - -(defconst js-imenu-generic-expression - (list - (list - nil - "function\\s-+\\(\\w+\\)\\s-*(" - 1)) - "Regular expression matching top level procedures. Used by imenu.") - - -;; --- Main Function --- - -;;;###autoload -(defun javascript-mode () - "Major mode for editing JavaScript source text. - -Key bindings: - -\\{javascript-mode-map}" - (interactive) - (kill-all-local-variables) - - (use-local-map javascript-mode-map) - (set-syntax-table javascript-mode-syntax-table) - (set (make-local-variable 'indent-line-function) 'javascript-indent-line) - (set (make-local-variable 'font-lock-defaults) (list js-font-lock-keywords)) - - (set (make-local-variable 'parse-sexp-ignore-comments) t) - - ;; Comments - (setq comment-start "// ") - (setq comment-end "") - (set (make-local-variable 'fill-paragraph-function) - 'javascript-fill-paragraph) - - ;; Make c-mark-function work - (setq c-nonsymbol-token-regexp "!=\\|%=\\|&[&=]\\|\\*[/=]\\|\\+[+=]\\|-[=-]\\|/[*/=]\\|<\\(?:<=\\|[<=]\\)\\|==\\|>\\(?:>\\(?:>=\\|[=>]\\)\\|[=>]\\)\\|\\^=\\||[=|]\\|[]!%&(-,./:-?[{-~^-]" - c-stmt-delim-chars "^;{}?:" - c-syntactic-ws-end "[ \n \f/]" - c-syntactic-eol "\\(\\s \\|/\\*\\([^*\n ]\\|\\*[^/\n ]\\)*\\*/\\)*\\(\\(/\\*\\([^*\n ]\\|\\*[^/\n ]\\)*\\|\\\\\\)?$\\|//\\)") - - ;; Imenu - (setq imenu-case-fold-search nil) - (set (make-local-variable 'imenu-generic-expression) - js-imenu-generic-expression) - - (setq major-mode 'javascript-mode) - (setq mode-name "JavaScript") - (run-hooks 'javascript-mode-hook)) - - -(provide 'javascript-mode) -;;; javascript.el ends here diff --git a/dotemacs/.emacs.d/rainbow-mode.el b/dotemacs/.emacs.d/rainbow-mode.el deleted file mode 100644 index 8207abc..0000000 --- a/dotemacs/.emacs.d/rainbow-mode.el +++ /dev/null @@ -1,207 +0,0 @@ -;;; rainbow-mode.el --- prints color strings with colored background - -;; Copyright (C) 2010 Julien Danjou - -;; Author: Julien Danjou -;; Keywords: strings, faces - -;; This file is NOT part of GNU Emacs. - -;; GNU Emacs is free software: you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . - -;;; Commentary: -;; This minor mode will add background to strings that matches color names. -;; i.e. -;; #0000ff -;; Will be printed in white with a blue background. -;; - -;;; Code: - -(eval-when-compile - (require 'cl)) - -(require 'regexp-opt) -(require 'faces) - -(defgroup rainbow nil - "Show color strings with a background color." - :tag "Rainbow" - :group 'help) - -;; Hexadecimal colors -(defvar rainbow-hexadecimal-colors-font-lock-keywords - '("#[0-9a-fA-F]\\{3\\}[0-9a-fA-F]\\{3\\}?" - (0 (rainbow-colorize-itself))) - "Font-lock keywords to add for hexadecimal colors.") - -;; rgb() colors -(defvar rainbow-html-rgb-colors-font-lock-keywords - '(("rgb(\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*)" - (0 (rainbow-colorize-rgb))) - ("rgba(\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*[0-9]\\{1,3\\}\s*%?\s*)" - (0 (rainbow-colorize-rgb)))) - "Font-lock keywords to add for RGB colors.") - -;; HTML colors name -(defvar rainbow-html-colors-font-lock-keywords nil - "Font-lock keywords to add for HTML colors.") -(make-variable-buffer-local 'rainbow-html-colors-font-lock-keywords) - -(defcustom rainbow-html-colors-alist - '(("black" . "#000000") - ("silver" . "#C0C0C0") - ("gray" . "#808080") - ("white" . "#FFFFFF") - ("maroon" . "#800000") - ("red" . "#FF0000") - ("purple" . "#800080") - ("fuchsia" . "#FF00FF") - ("green" . "#008000") - ("lime" . "#00FF00") - ("olive" . "#808000") - ("yellow" . "#FFFF00") - ("navy" . "#000080") - ("blue" . "#0000FF") - ("teal" . "#008080") - ("aqua" . "#00FFFF")) - "Alist of HTML colors. -Each entry should have the form (COLOR-NAME . HEXADECIMAL-COLOR)." - :group 'rainbow) - -(defcustom rainbow-html-colors-major-mode-list - '(html-mode css-mode php-mode nxml-mode xml-mode) - "List of major mode where HTML colors are enabled when -`rainbow-html-colors' is set to auto." - :group 'rainbow) - -(defcustom rainbow-html-colors 'auto - "When to enable HTML colors. -If set to t, the HTML colors will be enabled. If set to nil, the -HTML colors will not be enabled. If set to auto, the HTML colors -will be enabled if a major mode has been detected from the -`rainbow-html-colors-major-mode-list'." - :group 'rainbow) - -;; X colors -(defvar rainbow-x-colors-font-lock-keywords - `(,(regexp-opt (x-defined-colors) 'words) - (0 (rainbow-colorize-itself))) - "Font-lock keywords to add for X colors.") - -(defcustom rainbow-x-colors-major-mode-list - '(emacs-lisp-mode lisp-interaction-mode c-mode c++-mode java-mode) - "List of major mode where X colors are enabled when -`rainbow-x-colors' is set to auto." - :group 'rainbow) - -(defcustom rainbow-x-colors 'auto - "When to enable X colors. -If set to t, the X colors will be enabled. If set to nil, the -X colors will not be enabled. If set to auto, the X colors -will be enabled if a major mode has been detected from the -`rainbow-x-colors-major-mode-list'." - :group 'rainbow) - -;; Functions -(defun rainbow-colorize-match (color) - "Return a matched string propertized with a face whose -background is COLOR. The foreground is computed using -`rainbow-color-luminance', and is either white or black." - (put-text-property - (match-beginning 0) (match-end 0) - 'face `((:foreground ,(if (> 128.0 (rainbow-x-color-luminance color)) - "white" "black")) - (:background ,color)))) - -(defun rainbow-colorize-itself () - "Colorize a match with itself." - (rainbow-colorize-match (match-string-no-properties 0))) - -(defun rainbow-colorize-by-assoc (assoc-list) - "Colorize a match with its association from ASSOC-LIST." - (rainbow-colorize-match (cdr (assoc (match-string-no-properties 0) assoc-list)))) - -(defun rainbow-rgb-relative-to-absolute (number) - "Convert a relative NUMBER to absolute. If NUMBER is absolute, return NUMBER. -This will convert \"80 %\" to 204, \"100 %\" to 255 but \"123\" to \"123\"" - (let ((string-length (- (length number) 1))) - ;; Is this a number with %? - (if (eq (elt number string-length) ?%) - (/ (* (string-to-number (substring number 0 string-length)) 255) 100) - (string-to-number number)))) - -(defun rainbow-colorize-rgb () - "Colorize a match with itself." - (let ((r (rainbow-rgb-relative-to-absolute (match-string-no-properties 1))) - (g (rainbow-rgb-relative-to-absolute (match-string-no-properties 2))) - (b (rainbow-rgb-relative-to-absolute (match-string-no-properties 3)))) - (rainbow-colorize-match (format "#%02X%02X%02X" r g b)))) - -(defun rainbow-color-luminance (red green blue) - "Calculate the luminance of color composed of RED, BLUE and GREEN." - (floor (+ (* .2126 red) (* .7152 green) (* .0722 blue)) 256)) - -(defun rainbow-x-color-luminance (color) - "Calculate the luminance of a color string (e.g. \"#ffaa00\", \"blue\")." - (let* ((values (x-color-values color)) - (r (car values)) - (g (cadr values)) - (b (caddr values))) - (rainbow-color-luminance r g b))) - -(defun rainbow-turn-on () - "Turn on raibow-mode." - (font-lock-add-keywords nil - (list rainbow-hexadecimal-colors-font-lock-keywords)) - ;; Activate X colors? - (when (or (eq rainbow-x-colors t) - (and (eq rainbow-x-colors 'auto) - (memq major-mode rainbow-x-colors-major-mode-list))) - (font-lock-add-keywords nil - (list rainbow-x-colors-font-lock-keywords))) - ;; Activate HTML colors? - (when (or (eq rainbow-html-colors t) - (and (eq rainbow-html-colors 'auto) - (memq major-mode rainbow-html-colors-major-mode-list))) - (setq rainbow-html-colors-font-lock-keywords - `(,(regexp-opt (mapcar 'car rainbow-html-colors-alist) 'words) - (0 (rainbow-colorize-by-assoc rainbow-html-colors-alist)))) - (font-lock-add-keywords nil - `(,rainbow-html-colors-font-lock-keywords - ,@rainbow-html-rgb-colors-font-lock-keywords)))) - -(defun rainbow-turn-off () - "Turn off rainbow-mode." - (font-lock-remove-keywords - nil - (list - rainbow-hexadecimal-colors-font-lock-keywords - rainbow-html-colors-font-lock-keywords - rainbow-x-colors-font-lock-keywords - rainbow-html-rgb-colors-font-lock-keywords))) - -;;;###autoload -(define-minor-mode rainbow-mode - "Colorize strings that represent colors. -This will fontify with colors the string like \"#aabbcc\" or \"blue\"" - :lighter " Rbow" - (progn - (if rainbow-mode - (rainbow-turn-on) - (rainbow-turn-off)) - ;; Turn on font lock - (font-lock-mode 1))) - -(provide 'rainbow-mode) diff --git a/dotemacs/.emacs.d/sqlplus.el b/dotemacs/.emacs.d/sqlplus.el deleted file mode 100644 index 4d5e7d7..0000000 --- a/dotemacs/.emacs.d/sqlplus.el +++ /dev/null @@ -1,5151 +0,0 @@ -;;; sqlplus.el --- User friendly interface to SQL*Plus and support for PL/SQL compilation - -;; Copyright (C) 2007, 2008 Peter Karpiuk, Scott Tiger S.A. - -;; Author: Peter Karpiuk -;; Maintainer: Peter Karpiuk -;; Created: 25 Nov 2007 -;; Version 0.9.0 -;; Keywords: sql sqlplus oracle plsql - -;; GNU Emacs is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published -;; by the Free Software Foundation; either version 2, or (at your -;; option) any later version. - -;; GNU Emacs is distributed in the hope that it will be useful, but -;; WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;; General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - -;;; Commentary: - -;; Facilitates interaction with Oracle via SQL*Plus (GNU Emacs only). -;; Moreover, this package complements plsql.el (Kahlil Hodgson) -;; upon convenient compilation of PL/SQL source files. -;; -;; This package was inspired by sqlplus-mode.el (Rob Riepel, Peter -;; D. Pezaris, Martin Schwenke), but offers more features: -;; - tables are parsed, formatted and rendered with colors, like in -;; many GUI programs; you can see raw SQL*Plus output also, -;; if you wish -;; - table will be cutted if you try to fetch too many rows -;; (SELECT * FROM MY_MILLION_ROWS_TABLE); current SQL*Plus command -;; will be automatically interrupted under the hood in such cases -;; - you can use many SQL*Plus processes simultaneously, -;; - font locking (especially if you use Emacs>=22), with database -;; object names highlighting, -;; - history (log) of executed commands - see` sqlplus-history-dir` -;; variable, -;; - commands for fetching any database object definition -;; (package, table/index/sequence script) -;; - query result can be shown in HTML, -;; - input buffer for each connection can be saved into file on -;; disconnect and automatically restored on next connect (see -;; 'sqlplus-session-cache-dir' variable); if you place some -;; SQL*Plus commands between '/* init */' and '/* end */' -;; comments in saved input buffer, they will be automatically -;; executed on every connect -;; - if you use plsql.el for editing PL/SQL files, you can compile -;; such sources everytime with C-cC-c; error messages will be -;; parsed and displayed for easy source navigation -;; - M-. or C-mouse-1 on database object name will go to definition -;; in filesystem (use arrow button on toolbar to go back) -;; -;; The following commands should be added to a global initialization -;; file or to any user's .emacs file to conveniently use -;; sqlplus-mode: -;; -;; (require 'sqlplus) -;; (add-to-list 'auto-mode-alist '("\\.sqp\\'" . sqlplus-mode)) -;; -;; If you want PL/SQL support also, try something like this: -;; -;; (require 'plsql) -;; (setq auto-mode-alist -;; (append '(("\\.pls\\'" . plsql-mode) ("\\.pkg\\'" . plsql-mode) -;; ("\\.pks\\'" . plsql-mode) ("\\.pkb\\'" . plsql-mode) -;; ("\\.sql\\'" . plsql-mode) ("\\.PLS\\'" . plsql-mode) -;; ("\\.PKG\\'" . plsql-mode) ("\\.PKS\\'" . plsql-mode) -;; ("\\.PKB\\'" . plsql-mode) ("\\.SQL\\'" . plsql-mode) -;; ("\\.prc\\'" . plsql-mode) ("\\.fnc\\'" . plsql-mode) -;; ("\\.trg\\'" . plsql-mode) ("\\.vw\\'" . plsql-mode) -;; ("\\.PRC\\'" . plsql-mode) ("\\.FNC\\'" . plsql-mode) -;; ("\\.TRG\\'" . plsql-mode) ("\\.VW\\'" . plsql-mode)) -;; auto-mode-alist )) -;; -;; M-x sqlplus will start new SQL*Plus session. -;; -;; C-RET execute command under point -;; S-C-RET execute command under point and show result table in HTML -;; buffer -;; M-RET explain execution plan for command under point -;; M-. or C-mouse-1: find database object definition (table, view -;; index, synonym, trigger, procedure, function, package) -;; in filesystem -;; C-cC-s show database object definition (retrieved from database) -;; -;; Use describe-mode while in sqlplus-mode for further instructions. -;; -;; Many useful commands are defined in orcl-mode minor mode, which is -;; common for input and otput SQL*Plus buffers, as well as PL/SQL -;; buffers. -;; -;; For twiddling, see 'sqlplus' customization group. -;; -;; If you find this package useful, send me a postcard to address: -;; -;; Peter Karpiuk -;; Scott Tiger S.A. -;; ul. Gawinskiego 8 -;; 01-645 Warsaw -;; Poland - -;;; Known bugs: - -;; 1. Result of SQL select command can be messed up if some columns -;; has newline characters. To avoid this, execute SQL*Plus command -;; column truncated -;; before such select - -;;; Code: - -(require 'recentf) -(require 'font-lock) -(require 'cl) -(require 'sql) -(require 'tabify) -(require 'skeleton) - -(defconst sqlplus-revision "$Revision: 1.7 $") - -;;; Variables - - -(defgroup sqlplus nil - "SQL*Plus" - :group 'tools - :version 21) - -(defcustom plsql-auto-parse-errors-flag t - "Non nil means parse PL/SQL compilation results and show them in the compilation buffer." - :group 'sqlplus - :type '(boolean)) - -(defcustom sqlplus-init-sequence-start-regexp "/\\* init \\*/" - "SQL*Plus start of session init command sequence." - :group 'sqlplus - :type '(regexp)) - -(defcustom sqlplus-init-sequence-end-regexp "/\\* end \\*/" - "SQL*Plus end of session init command sequence." - :group 'sqlplus - :type '(regexp)) - -(defcustom sqlplus-explain-plan-warning-regexps '("TABLE ACCESS FULL" "INDEX FULL SCAN") - "SQL*Plus explain plan warning regexps" - :group 'sqlplus - :type '(repeat regexp)) - -(defcustom sqlplus-syntax-faces - '((schema font-lock-type-face nil) - (table font-lock-type-face ("dual")) - (synonym font-lock-type-face nil) - (view font-lock-type-face nil) - (column font-lock-constant-face nil) - (sequence font-lock-type-face nil) - (package font-lock-type-face nil) - (trigger font-lock-type-face nil) - (index font-lock-type-face) nil) - "Font lock configuration for database object names in current schema. -This is alist, and each element looks like (SYMBOL FACE LIST) -where SYMBOL is one of: schema, table, synonym, view, column, -sequence, package, trigger, index. Database objects means only -objects from current schema, so if you want syntax highlighting -for other objects (eg. 'dual' table name), you can explicitly -enumerate them in LIST as strings." - :group 'sqlplus - :tag "Oracle SQL Syntax Faces" - :type '(repeat (list symbol face (repeat string)))) - -(defcustom sqlplus-output-buffer-max-size (* 50 1000 1000) - "Maximum size of SQL*Plus output buffer. -After exceeding oldest results are deleted." - :group 'sqlplus - :tag "SQL*Plus Output Buffer Max Size" - :type '(integer)) - -(defcustom sqlplus-select-result-max-col-width nil - "Maximum width of column in displayed database table, or nil if there is no limit. -If any cell value is longer, it will be cutted and terminated with ellipsis ('...')." - :group 'sqlplus - :tag "SQL*Plus Select Result Max Column Width" - :type '(choice integer (const nil))) - -(defcustom sqlplus-format-output-tables-flag t - "Non-nil means format result if it looks like database table." - :group 'sqlplus - :tag "SQL*Plus Format Output Table" - :type '(boolean)) - -(defcustom sqlplus-kill-processes-without-query-on-exit-flag t - "Non-nil means silently kill all SQL*Plus processes on Emacs exit." - :group 'sqlplus - :tag "SQL*Plus Kill Processes Without Query On Exit" - :type '(boolean)) - -(defcustom sqlplus-multi-output-tables-default-flag t - "Non-nil means render database table as set of adjacent tables so that they occupy all width of output window. -For screen space saving and user comfort." - :group 'sqlplus - :tag "SQL*Plus Multiple Tables In Output by Default" - :type '(boolean)) - -(defcustom sqlplus-source-buffer-readonly-by-default-flag t - "Non-nil means show database sources in read-only buffer." - :group 'sqlplus - :tag "SQL*Plus Source Buffer Read Only By Default" - :type '(boolean)) - -(defcustom sqlplus-command "sqlplus" - "SQL*Plus interpreter program." - :group 'sqlplus - :tag "SQL*Plus Command" - :type '(string)) - -(defcustom sqlplus-history-dir nil - "Directory of SQL*Plus command history (log) files, or nil (dont generate log files). -History file name has format '-history.txt'." - :group 'sqlplus - :tag "SQL*Plus History Dir" - :type '(choice directory (const nil))) - -(defvar sqlplus-session-file-extension "sqp") - -(defcustom sqlplus-session-cache-dir nil - "Directory of SQL*Plus input buffer files, or nil (dont save user session). -Session file name has format '.sqp'" - :group 'sqlplus - :tag "SQL*Plus History Dir" - :type '(choice directory (const nil))) - -(defcustom sqlplus-save-passwords nil - "Non-nil means save passwords between Emacs sessions. (Not implemented yet)." - :group 'sqlplus - :tag "SQL*Plus Save Passwords" - :type '(boolean)) - -(defcustom sqlplus-pagesize 200 - "Approximate number of records in query results. -If result has more rows, it will be cutted and terminated with '. . .' line." - :group 'sqlplus - :tag "SQL*Plus Max Rows Count" - :type '(integer)) - -(defvar sqlplus-default-wrap "on") - -(defcustom sqlplus-initial-strings - (list "set sqlnumber off" - "set tab off" - "set linesize 4000" - "set echo off" - "set newpage 1" - "set space 1" - "set feedback 6" - "set heading on" - "set trimspool off" - (format "set wrap %s" sqlplus-default-wrap) - "set timing on" - "set feedback on") - "Initial commands to send to interpreter. -Customizing this variable is dangerous." - :group 'sqlplus - :tag "SQL*Plus Initial Strings" - :type '(repeat string)) - -(defcustom sqlplus-table-col-separator " | " - "Database table column separator (text-only terminals)." - :group 'sqlplus - :tag "SQL*Plus Table Col Separator" - :type '(string)) - -(defcustom sqlplus-table-col-head-separator "-+-" - "Database table header-column separator (text-only terminals)." - :group 'sqlplus - :tag "SQL*Plus Table Col Separator" - :type '(string)) - -(defcustom sqlplus-html-output-file-name "$HOME/sqlplus_report.html" - "Output file for HTML result." - :group 'sqlplus - :tag "SQL*Plus HTML Output File Name" - :type '(file)) - -(defcustom sqlplus-html-output-encoding "iso-8859-1" - "Encoding for SQL*Plus HTML output." - :group 'sqlplus - :tag "SQL*Plus HTML Output Encoding" - :type '(string)) - -(defcustom sqlplus-html-output-sql t - "Non-nil means put SQL*Plus command in head of HTML result." - :group 'sqlplus - :tag "SQL*Plus HTML Output Encoding" - :type '(choice (const :tag "Elegant" 'elegant) - (const :tag "Simple" t) - (const :tag "No" nil))) - -(defcustom sqlplus-html-output-header (concat (current-time-string) "

") - "HTML header sexp (result must be string)." - :group 'sqlplus - :tag "SQL*Plus HTML Output Header" - :type '(sexp)) - -(defcustom sqlplus-command-highlighting-percentage 7 - "SQL*Plus command highlighting percentage (0-100), only if sqlplus-command-highlighting-style is set." - :group 'sqlplus - :tag "SQL*Plus command highlighting percentage" - :type '(integer)) - -(defcustom sqlplus-command-highlighting-style nil - "How to highlight current command in sqlplus buffer." - :group 'sqlplus - :tag "SQL*Plud command highlighting style" - :type '(choice (const :tag "Fringe" fringe) - (const :tag "Background" background) - (const :tag "Fringe and background" fringe-and-background) - (const :tag "None" nil))) - -(defvar sqlplus-elegant-style window-system) - -(defvar sqlplus-cs nil) - -(defun sqlplus-shine-color (color percent) - (when (equal color "unspecified-bg") - (setq color (if (< percent 0) "white" "black"))) - (apply 'format "#%02x%02x%02x" - (mapcar (lambda (value) - (min 65535 (max 0 (* (+ (/ value 650) percent) 650)))) - (color-values color)))) - -(defvar sqlplus-table-head-face 'sqlplus-table-head-face) -(defface sqlplus-table-head-face - (list - (list '((class mono)) - '(:inherit default :weight bold :inverse-video t)) - (list '((background light)) - (append (list :inherit 'default :background (sqlplus-shine-color (face-background 'default) -70) :foreground (face-background 'default)) - (when (and sqlplus-elegant-style (>= emacs-major-version 22)) '(:box (:style released-button))))) - (list '((background dark)) - (append (list :inherit 'default :background (sqlplus-shine-color (face-background 'default) +70) :foreground (face-background 'default)) - (when (and sqlplus-elegant-style (>= emacs-major-version 22)) '(:box (:style released-button))))) - '(t (:inherit default))) - "Face for table header" - :group 'sqlplus) - -(defvar sqlplus-table-even-rows-face 'sqlplus-table-even-rows-face) -(defface sqlplus-table-even-rows-face - (list - (list '((class mono)) '()) - (list '((type tty)) '()) - (list '((background light)) - (append (list :inherit 'default :background (sqlplus-shine-color (face-background 'default) -20) :overline (face-background 'default)))) - (list '((background dark)) - (append (list :inherit 'default :background (sqlplus-shine-color (face-background 'default) +20) :overline (face-background 'default)))) - '(t ())) - "Face for table even rows" - :group 'sqlplus) - -(defvar sqlplus-table-odd-rows-face 'sqlplus-table-odd-rows-face) -(defface sqlplus-table-odd-rows-face - (list - (list '((class mono)) '(:inherit default)) - (list '((background light)) - (append (list :inherit 'default :background (sqlplus-shine-color (face-background 'default) -30) :overline (face-background 'default)))) - (list '((background dark)) - (append (list :inherit 'default :background (sqlplus-shine-color (face-background 'default) +30) :overline (face-background 'default)))) - '(t (:inherit default))) - "Face for table even rows" - :group 'sqlplus) - -(defvar sqlplus-command-highlight-face 'sqlplus-command-highlight-face) -(defface sqlplus-command-highlight-face - (list - '(((class mono)) ()) - '(((type tty)) ()) - (list '((background light)) - (append (list :background (sqlplus-shine-color (face-background 'default) (- sqlplus-command-highlighting-percentage))))) - (list '((background dark)) - (append (list :background (sqlplus-shine-color (face-background 'default) sqlplus-command-highlighting-percentage)))) - '(t ())) - "Face for highlighting command under point" - :group 'sqlplus) - -(defvar sqlplus-plsql-compilation-results-buffer-name "*PL/SQL Compilation*") - -(defvar sqlplus-fan "|" - "Local in input buffers") -(make-variable-buffer-local 'sqlplus-fan) - -(defvar orcl-mode-map nil - "Keymap used in Orcl mode.") - -(define-minor-mode orcl-mode - "Mode for executing SQL*Plus commands and scrolling results. - -Mode Specific Bindings: - -\\{orcl-mode-map}" - nil ; init value - (" " (:eval sqlplus-fan) " " (:eval (connect-string-to-string))) ; mode indicator - orcl-mode-map ; keymap - ;; body - (setq sqlplus-fan "|") - (unless (assq 'orcl-mode minor-mode-map-alist) - (push (cons 'orcl-mode orcl-mode-map) minor-mode-map-alist))) - -(defvar sqlplus-user-variables (makehash 'equal)) - -(defvar sqlplus-user-variables-history nil) - -(defvar sqlplus-get-source-history nil) - -(defvar sqlplus-process-p nil - "Non-nil (connect string) if current buffer is SQL*Plus process buffer. -Local in process buffer.") -(make-variable-buffer-local 'sqlplus-process-p) - -(defvar sqlplus-command-seq 0 - "Sequence for command id within SQL*Plus connection. -Local in process buffer.") -(make-variable-buffer-local 'sqlplus-command-seq) - -;;; :id - unique command identifier (from sequence, for session) -;;; :sql - content of command -;;; :dont-parse-result - process data online as it comes from sqlplus, with sqlplus-result-online or with :result-function function -;;; :result-function - function for processing sqlplus data; must have signature (context connect-string begin end interrupted); -;;; if nil then it is sqlplus-result-online for :dont-parse-result set to non-nil and sqlplus-process-command-output for :dont-parse-result set to nil -;;; :current-command-input-buffer-name - buffer name from which command was initialized -(defvar sqlplus-command-contexts nil - "Command options list, for current and enqueued commands, in chronological order. -Local in process buffer.") -(make-variable-buffer-local 'sqlplus-command-contexts) - -(defvar sqlplus-connect-string nil - "Local variable with connect-string for current buffer (input buffers, output buffer).") -(make-variable-buffer-local 'sqlplus-connect-string) - -(defvar sqlplus-connect-strings-alist nil - "Connect strings in format (CS . PASSWD), where PASSWD can be nil.") - -(defvar sqlplus-connect-string-history nil) - -(defvar sqlplus-prompt-prefix "SQL[") -(defvar sqlplus-prompt-suffix "]# ") - -(defvar sqlplus-page-separator "@!%#!") - -(defvar sqlplus-repfooter "##%@!") - -(defvar sqlplus-mode-map nil - "Keymap used in SQL*Plus mode.") - -(defvar sqlplus-output-separator "@--" - "String printed between sets of SQL*Plus command output.") - -;;; Markers - - -(defvar sqlplus-buffer-mark (make-marker) - "Marks the current SQL command in the SQL*Plus output buffer. -Local in output buffer.") -(make-variable-buffer-local 'sqlplus-buffer-mark) - -(defvar sqlplus-region-beginning-pos nil - "Marks the beginning of the region to sent to the SQL*Plus process. -Local in input buffer with sqlplus-mode.") -(make-variable-buffer-local 'sqlplus-region-beginning-pos) - -(defvar sqlplus-region-end-pos nil - "Marks the end of the region to sent to the SQL*Plus process. -Local in input buffer with sqlplus-mode.") -(make-variable-buffer-local 'sqlplus-region-end-pos) - -(defvar sqlplus-connections-menu - '("SQL*Plus" - :filter sqlplus-connections-menu) - "Menu for database connections") - -(defconst sqlplus-kill-xpm "\ -/* XPM */ -static char * reload_page_xpm[] = { -\"24 24 100 2\", -\" c None\", -\". c #000000\", -\"+ c #2A5695\", -\"@ c #30609E\", -\"# c #3363A2\", -\"$ c #3969A6\", -\"% c #3D6BA6\", -\"& c #3C68A3\", -\"* c #35619C\", -\"= c #244F8D\", -\"- c #3364A3\", -\"; c #3162A1\", -\"> c #3867A4\", -\", c #3F6DA8\", -\"' c #4672AC\", -\") c #4B76AE\", -\"! c #4E78AF\", -\"~ c #537CB1\", -\"{ c #547DB0\", -\"] c #446BA1\", -\"^ c #2E5D9C\", -\"/ c #234F8C\", -\"( c #214C89\", -\"_ c #244E8C\", -\": c #3A649D\", -\"< c #517BB0\", -\"[ c #517BB1\", -\"} c #4874AD\", -\"| c #6086B7\", -\"1 c #5F84B4\", -\"2 c #4B71A6\", -\"3 c #7B9BC4\", -\"4 c #224C89\", -\"5 c #3865A2\", -\"6 c #406FAB\", -\"7 c #436BA3\", -\"8 c #648ABA\", -\"9 c #4D78AF\", -\"0 c #4B77AE\", -\"a c #6E91BE\", -\"b c #809EC6\", -\"c c #204A87\", -\"d c #4974AF\", -\"e c #2B5590\", -\"f c #6487B5\", -\"g c #678CBB\", -\"h c #3465A4\", -\"i c #84A1C8\", -\"j c #6D8FBA\", -\"k c #4F7AB0\", -\"l c #8BA7CB\", -\"m c #7E9DC5\", -\"n c #83A1C7\", -\"o c #91ACCE\", -\"p c #89A4C9\", -\"q c #8FA9CB\", -\"r c #85A2C7\", -\"s c #90ABCC\", -\"t c #3E6CA8\", -\"u c #87A3C8\", -\"v c #4B6DA1\", -\"w c #91ABCD\", -\"x c #3768A5\", -\"y c #8AA5C9\", -\"z c #2D5690\", -\"A c #204A86\", -\"B c #93ADCE\", -\"C c #7294BF\", -\"D c #6288B9\", -\"E c #86A3C8\", -\"F c #466EA3\", -\"G c #3864A1\", -\"H c #285390\", -\"I c #234E8C\", -\"J c #95AECF\", -\"K c #7493BC\", -\"L c #86A2C7\", -\"M c #7999C3\", -\"N c #5B82B5\", -\"O c #6C8EBB\", -\"P c #4B71A5\", -\"Q c #26508B\", -\"R c #2B5792\", -\"S c #305E9B\", -\"T c #31619F\", -\"U c #7895BD\", -\"V c #819DC3\", -\"W c #688DBB\", -\"X c #6288B8\", -\"Y c #5880B4\", -\"Z c #577FB3\", -\"` c #547DB2\", -\" . c #416FAA\", -\".. c #3564A2\", -\"+. c #577AAB\", -\"@. c #6286B6\", -\"#. c #668BBA\", -\"$. c #507AB0\", -\"%. c #426EA8\", -\"&. c #2F5B97\", -\" \", -\" \", -\" \", -\" . . . . . . . . \", -\" . . + @ # $ % & * . . . . \", -\" . = - ; @ > , ' ) ! ~ { . . . ] . \", -\" . ^ / ( _ . . . : < [ } | 1 2 3 . \", -\" . _ 4 5 6 . . . 7 8 9 0 a b . \", -\" . c d . . . e f g h i . \", -\" . . . . . j k h l . \", -\" . . f m n l o . \", -\" . . . . . . . . \", -\" . . . . . . . . \", -\" . p q q q r . . \", -\" . s , t u v . . . . \", -\" . w x | y z . . . . A . \", -\" . B C 9 D E F . . . G H I . \", -\" . J K L M N C O P . . . Q R S T . \", -\" . U . . . V W X | Y Z ` ) .... \", -\" . . . . +.@.#.N $.%.&.. . \", -\" . . . . . . . . \", -\" \", -\" \", -\" \"}; -" - "XPM format image used as Kill icon") - -(defconst sqlplus-cancel-xpm "\ -/* XPM */ -static char * process_stop_xpm[] = { -\"24 24 197 2\", -\" c None\", -\". c #000000\", -\"+ c #C92B1E\", -\"@ c #DA432F\", -\"# c #E95941\", -\"$ c #F26B50\", -\"% c #ED6047\", -\"& c #DF4A35\", -\"* c #CE3324\", -\"= c #BF1D13\", -\"- c #EA5942\", -\"; c #EF563A\", -\"> c #F14D2C\", -\", c #F1431F\", -\"' c #F23A12\", -\") c #F2421C\", -\"! c #F24D2A\", -\"~ c #F15737\", -\"{ c #F0644A\", -\"] c #CF3121\", -\"^ c #D83828\", -\"/ c #ED5840\", -\"( c #EC3B1C\", -\"_ c #EE310B\", -\": c #F1350C\", -\"< c #F4380D\", -\"[ c #F53A0D\", -\"} c #F53B0D\", -\"| c #F4390D\", -\"1 c #F2360C\", -\"2 c #EF3A15\", -\"3 c #F05A3D\", -\"4 c #E44D37\", -\"5 c #CD2B1E\", -\"6 c #EA4D35\", -\"7 c #E92D0C\", -\"8 c #ED2F0B\", -\"9 c #F0330C\", -\"0 c #F3380D\", -\"a c #F63C0E\", -\"b c #F93F0F\", -\"c c #F9400F\", -\"d c #F73D0E\", -\"e c #F1340C\", -\"f c #EE300B\", -\"g c #EC482C\", -\"h c #E04532\", -\"i c #E84E3A\", -\"j c #E62A0E\", -\"k c #EA2B0A\", -\"l c #F83F0E\", -\"m c #FC4310\", -\"n c #FC4410\", -\"o c #F63B0E\", -\"p c #EB2C0A\", -\"q c #EB5139\", -\"r c #C8251A\", -\"s c #DD3D2E\", -\"t c #E5341D\", -\"u c #E62508\", -\"v c #F9BEB2\", -\"w c #FBCFC5\", -\"x c #F54C23\", -\"y c #F95125\", -\"z c #FDD4CB\", -\"A c #FABFB2\", -\"B c #E83013\", -\"C c #E84F3B\", -\"D c #E54737\", -\"E c #E22007\", -\"F c #E92A09\", -\"G c #FBD2CA\", -\"H c #FFFFFF\", -\"I c #FDDFD9\", -\"J c #F64E24\", -\"K c #FDE0D9\", -\"L c #E72609\", -\"M c #E7452F\", -\"N c #E33D2D\", -\"O c #E11E07\", -\"P c #E52308\", -\"Q c #E82809\", -\"R c #EC3F21\", -\"S c #FCDED8\", -\"T c #F55C37\", -\"U c #FCDFD8\", -\"V c #F04521\", -\"W c #EC2E0A\", -\"X c #E92909\", -\"Y c #E62408\", -\"Z c #E53823\", -\"` c #CE2B1F\", -\" . c #C62018\", -\".. c #E03120\", -\"+. c #E01C06\", -\"@. c #E32107\", -\"#. c #ED4121\", -\"$. c #FEF9F8\", -\"%. c #E72709\", -\"&. c #E42208\", -\"*. c #E32D17\", -\"=. c #D83729\", -\"-. c #CB231B\", -\";. c #DE2A1B\", -\">. c #DE1A06\", -\",. c #EE5135\", -\"'. c #EF5335\", -\"). c #EC2D0A\", -\"!. c #E82709\", -\"~. c #E21F07\", -\"{. c #E02511\", -\"]. c #DC392C\", -\"^. c #BE1612\", -\"/. c #DD2E21\", -\"(. c #DC1705\", -\"_. c #DF1B06\", -\":. c #E42308\", -\"<. c #E93A20\", -\"[. c #FBDDD8\", -\"}. c #EB3D20\", -\"|. c #DF2A18\", -\"1. c #D02A1F\", -\"2. c #DC3328\", -\"3. c #DA1404\", -\"4. c #DD1805\", -\"5. c #E3331E\", -\"6. c #FADCD8\", -\"7. c #FBDCD8\", -\"8. c #EB4C34\", -\"9. c #E6361F\", -\"0. c #DD1905\", -\"a. c #DF2F21\", -\"b. c #C21A14\", -\"c. c #DA3128\", -\"d. c #D81408\", -\"e. c #F7C9C4\", -\"f. c #FADBD8\", -\"g. c #E5341E\", -\"h. c #E5351E\", -\"i. c #F8CEC9\", -\"j. c #DB1505\", -\"k. c #DD3429\", -\"l. c #C31613\", -\"m. c #D9281F\", -\"n. c #D71003\", -\"o. c #D91304\", -\"p. c #F3B5B0\", -\"q. c #F7CDC9\", -\"r. c #E12F1D\", -\"s. c #DF1C06\", -\"t. c #E2301D\", -\"u. c #F4B6B0\", -\"v. c #DC1605\", -\"w. c #DB2317\", -\"x. c #D2271F\", -\"y. c #D1231D\", -\"z. c #D61A10\", -\"A. c #D60F03\", -\"B. c #D81104\", -\"C. c #DB1605\", -\"D. c #D81204\", -\"E. c #D81509\", -\"F. c #DA2F26\", -\"G. c #D52620\", -\"H. c #D51A12\", -\"I. c #D50D03\", -\"J. c #D60E03\", -\"K. c #D6170D\", -\"L. c #D92B23\", -\"M. c #BD100D\", -\"N. c #AB0404\", -\"O. c #CE1D19\", -\"P. c #D6231C\", -\"Q. c #D41008\", -\"R. c #D40B02\", -\"S. c #D40C02\", -\"T. c #D50C03\", -\"U. c #D40E05\", -\"V. c #D62018\", -\"W. c #D4251F\", -\"X. c #B30A09\", -\"Y. c #A20000\", -\"Z. c #BC0F0E\", -\"`. c #D2211E\", -\" + c #D52520\", -\".+ c #D5201A\", -\"++ c #D41A14\", -\"@+ c #D51F19\", -\"#+ c #D62620\", -\"$+ c #D52420\", -\"%+ c #C51614\", -\"&+ c #A30101\", -\"*+ c #A30303\", -\"=+ c #AE0909\", -\"-+ c #BD0E0E\", -\";+ c #B30B0B\", -\">+ c #A30404\", -\" \", -\" . . . . . . . \", -\" . . + @ # $ % & * . . \", -\" . = - ; > , ' ) ! ~ { ] . \", -\" . ^ / ( _ : < [ } | 1 2 3 4 . \", -\" . 5 6 7 8 9 0 a b c d | e f g h . \", -\" . i j k f : [ l m n c o 1 _ p q r . \", -\" . s t u k v w x l m n y z A _ p B C . \", -\" . D E u F G H I J b y K H w f k L M . \", -\" . N O P Q R S H I T K H U V W X Y Z ` . \", -\" . ...+.@.u F #.S H $.H U V 8 k %.&.*.=.. \", -\" . -.;.>.O &.L F ,.$.H $.'.).k !.P ~.{.].. \", -\" . ^./.(._.~.:.<.[.H $.H [.}.L P E +.|.1.. \", -\" . 2.3.4._.5.6.H 7.8.7.H 6.9.~.+.0.a.b.. \", -\" . c.d.3.(.e.H f.g.@.h.6.H i._.4.j.k.. \", -\" . l.m.n.o.p.q.r._.s.s.t.e.u.v.3.w.x.. \", -\" . y.z.A.B.o.j.C.(.(.v.j.3.D.E.F.. \", -\" . G.H.I.J.n.B.B.B.B.n.A.K.L.M.. \", -\" . N.O.P.Q.R.S.T.T.S.U.V.W.X.. \", -\" . Y.Z.`. +.+++@+#+$+%+&+. \", -\" . . . *+=+-+;+>+Y.. . \", -\" . . . . . . \", -\" \", -\" \"}; -" - "XPM format image used as Cancel icon") - -(defconst sqlplus-rollback-xpm "\ -/* XPM */ -static char * rollback_xpm[] = { -\"24 24 228 2\", -\" c None\", -\". c #000000\", -\"+ c #F8F080\", -\"@ c #FEF57B\", -\"# c #FFF571\", -\"$ c #FFF164\", -\"% c #FFED58\", -\"& c #FFE748\", -\"* c #FEDE39\", -\"= c #F8F897\", -\"- c #FFFE96\", -\"; c #FFFA8A\", -\"> c #FFF67C\", -\", c #FFF16E\", -\"' c #FFEC62\", -\") c #FFE956\", -\"! c #FFE448\", -\"~ c #FFE03C\", -\"{ c #FFDD30\", -\"] c #FED821\", -\"^ c #F1CB15\", -\"/ c #FFFC92\", -\"( c #FFFC91\", -\"_ c #FFFC90\", -\": c #FFFB8D\", -\"< c #FFF67D\", -\"[ c #FFEB5E\", -\"} c #FFEA5B\", -\"| c #FFE958\", -\"1 c #FFE855\", -\"2 c #FFE752\", -\"3 c #FDD41C\", -\"4 c #FDD319\", -\"5 c #FDD416\", -\"6 c #FFFF9D\", -\"7 c #FFFF99\", -\"8 c #FFFD94\", -\"9 c #FFFA89\", -\"0 c #FFDC2F\", -\"a c #FED315\", -\"b c #FFD808\", -\"c c #FFFC9F\", -\"d c #FFFE99\", -\"e c #FFDF3B\", -\"f c #F7C909\", -\"g c #F8EA86\", -\"h c #FEFCB7\", -\"i c #FFFDA6\", -\"j c #FFFA91\", -\"k c #FFF681\", -\"l c #FFF171\", -\"m c #FFED64\", -\"n c #FFE44A\", -\"o c #FFE03D\", -\"p c #FEDB2F\", -\"q c #F9D21E\", -\"r c #E9BC0F\", -\"s c #CE9C02\", -\"t c #F3E36A\", -\"u c #FCF899\", -\"v c #FFFCA3\", -\"w c #FEF694\", -\"x c #FFF284\", -\"y c #FFEE71\", -\"z c #FFEA62\", -\"A c #FDDC40\", -\"B c #F8D22F\", -\"C c #F1C61B\", -\"D c #DDAD0A\", -\"E c #CC9A02\", -\"F c #C89500\", -\"G c #F4EA77\", -\"H c #F7EF7F\", -\"I c #FFF16A\", -\"J c #FFEF68\", -\"K c #FFEE66\", -\"L c #FED622\", -\"M c #FED51E\", -\"N c #FED419\", -\"O c #E9B90E\", -\"P c #E7B509\", -\"Q c #D4A202\", -\"R c #CA9700\", -\"S c #F6E67C\", -\"T c #F3E67F\", -\"U c #FCEE7A\", -\"V c #FDEB66\", -\"W c #FEE44E\", -\"X c #FED313\", -\"Y c #FDCA03\", -\"Z c #F2BE01\", -\"` c #D4A60D\", -\" . c #D4A206\", -\".. c #D19C00\", -\"+. c #CF9800\", -\"@. c #E3AF02\", -\"#. c #F9EB81\", -\"$. c #FBF096\", -\"%. c #F9E67C\", -\"&. c #F8DC5F\", -\"*. c #F8D548\", -\"=. c #F9D02D\", -\"-. c #F9C915\", -\";. c #F7C104\", -\">. c #EEB606\", -\",. c #E9B704\", -\"'. c #DEAE08\", -\"). c #414D7B\", -\"!. c #3C5CA2\", -\"~. c #3A65B3\", -\"{. c #3668BB\", -\"]. c #325EAF\", -\"^. c #F3E46E\", -\"/. c #FCFA9B\", -\"(. c #FFF89C\", -\"_. c #FDEC81\", -\":. c #FCE668\", -\"<. c #FDDF4E\", -\"[. c #FCDA3C\", -\"}. c #FCD52E\", -\"|. c #FAD026\", -\"1. c #4662A2\", -\"2. c #465A8D\", -\"3. c #3F6CBA\", -\"4. c #3A68B7\", -\"5. c #2E529E\", -\"6. c #2655AC\", -\"7. c #F0DC69\", -\"8. c #FBF78C\", -\"9. c #FFF880\", -\"0. c #FFF06B\", -\"a. c #FFE03E\", -\"b. c #FFD828\", -\"c. c #FED015\", -\"d. c #F5C40A\", -\"e. c #4B70B4\", -\"f. c #4870B7\", -\"g. c #3C5CA1\", -\"h. c #4070BF\", -\"i. c #3759A0\", -\"j. c #1D469C\", -\"k. c #214493\", -\"l. c #F2DD6C\", -\"m. c #F8EB7E\", -\"n. c #FBEE7A\", -\"o. c #FBE461\", -\"p. c #FADB48\", -\"q. c #FBD631\", -\"r. c #FED10F\", -\"s. c #FECD07\", -\"t. c #F1BD00\", -\"u. c #456AAE\", -\"v. c #4C7ECA\", -\"w. c #487AC8\", -\"x. c #35528F\", -\"y. c #1B4294\", -\"z. c #1B4193\", -\"A. c #F9EA83\", -\"B. c #FCF08E\", -\"C. c #F6E16E\", -\"D. c #F4D559\", -\"E. c #F5CF45\", -\"F. c #F6CB2E\", -\"G. c #F8C611\", -\"H. c #F6C005\", -\"I. c #E8B300\", -\"J. c #4268AE\", -\"K. c #4375C4\", -\"L. c #3F71C1\", -\"M. c #33569B\", -\"N. c #173F94\", -\"O. c #183A8B\", -\"P. c #F3E36E\", -\"Q. c #FCF7A1\", -\"R. c #FEF9A1\", -\"S. c #FEEE7D\", -\"T. c #FCE360\", -\"U. c #FAD946\", -\"V. c #F9D132\", -\"W. c #F8CD26\", -\"X. c #F7CA20\", -\"Y. c #3B589A\", -\"Z. c #395FA9\", -\"`. c #3359A5\", -\" + c #3056A3\", -\".+ c #2B468D\", -\"++ c #0A3897\", -\"@+ c #E6D465\", -\"#+ c #FDFA90\", -\"$+ c #FFF885\", -\"%+ c #FFF074\", -\"&+ c #FFEA60\", -\"*+ c #FFE246\", -\"=+ c #FFDC31\", -\"-+ c #FED51F\", -\";+ c #F7CB14\", -\">+ c #173788\", -\",+ c #063494\", -\"'+ c #E8DE7B\", -\")+ c #FFFA86\", -\"!+ c #FFF26A\", -\"~+ c #FFE84F\", -\"{+ c #FFD415\", -\"]+ c #FDCC04\", -\"^+ c #F3C001\", -\"/+ c #EBB600\", -\"(+ c #E3AF01\", -\"_+ c #D7A100\", -\":+ c #2D3E7F\", -\"<+ c #033396\", -\"[+ c #CFB954\", -\"}+ c #DBC347\", -\"|+ c #DEBF2C\", -\"1+ c #DFB718\", -\"2+ c #DFB206\", -\"3+ c #D6A505\", -\"4+ c #C6970A\", -\"5+ c #B48413\", -\"6+ c #374682\", -\"7+ c #023398\", -\"8+ c #0E3287\", -\"9+ c #253775\", -\"0+ c #05318F\", -\"a+ c #10358B\", -\"b+ c #183888\", -\"c+ c #053495\", -\"d+ c #0E348D\", -\"e+ c #183585\", -\" . . . . . . . \", -\" . . + @ # $ % & * . . . \", -\" . = - ; > , ' ) ! ~ { ] ^ . \", -\". / ( _ : ; < [ } | 1 2 3 4 5 . \", -\". 6 7 8 9 > , ' ) ! ~ 0 ] a b . \", -\". c d 8 9 > , ' ) ! e 0 ] a f . \", -\". g h i j k l m | n o p q r s . \", -\". t u v w x y z 2 A B C D E F . \", -\". G H I J K L M N O P Q R F F . \", -\". S T U V W p X Y Z ` ...+.@.. . . . . \", -\". #.$.%.&.*.=.-.;.>.. . ,.'.. ).!.~.{.].. \", -\". ^./.(._.:.<.[.}.|.. 1.. . 2.3.4.. . 5.6.. \", -\". 7.8.9.0.) a.b.c.d.. e.f.g.h.i.. . j.k.. \", -\". l.m.n.o.p.q.r.s.t.. u.v.w.x.. . y.z.. \", -\". A.B.C.D.E.F.G.H.I.. J.K.L.M.. . N.O.. \", -\". P.Q.R.S.T.U.V.W.X.. Y.Z.`. +.+. . ++. \", -\". @+#+$+%+&+*+=+-+;+. . . . . . . . >+,+. \", -\" . '+)+!+~+{ {+]+^+/+(+_+. . :+<+. \", -\" . . [+}+|+1+2+3+4+5+. . 6+7+8+. \", -\" . . . . . . . . . 9+0+a+. \", -\" . b+c+d+. \", -\" . e+. . \", -\" . \", -\" \"}; -" - "XPM format image used as Rollback icon") - -(defconst sqlplus-commit-xpm "\ -/* XPM */ -static char * commit_xpm[] = { -\"24 24 276 2\", -\" c None\", -\". c #000000\", -\"+ c #FDF57D\", -\"@ c #FFF676\", -\"# c #FFF36C\", -\"$ c #FFF05D\", -\"% c #FFEB51\", -\"& c #FFE445\", -\"* c #FDDC35\", -\"= c #EFEA85\", -\"- c #FBF68D\", -\"; c #FCF482\", -\"> c #FCF178\", -\", c #FCEE6E\", -\"' c #FCEB66\", -\") c #FCE85B\", -\"! c #FCE551\", -\"~ c #FDE147\", -\"{ c #FDDF3D\", -\"] c #FEDD2D\", -\"^ c #FCD621\", -\"/ c #E5BF16\", -\"( c #D8D479\", -\"_ c #FCF587\", -\": c #FAEF78\", -\"< c #FAEA6B\", -\"[ c #FAEA6A\", -\"} c #FAE968\", -\"| c #FAE967\", -\"1 c #FAE865\", -\"2 c #FAE864\", -\"3 c #FDDD3C\", -\"4 c #FED621\", -\"5 c #FFD51D\", -\"6 c #FFD51B\", -\"7 c #FFD519\", -\"8 c #D8B82B\", -\"9 c #FCF790\", -\"0 c #FBF587\", -\"a c #F8EF7D\", -\"b c #F8EC75\", -\"c c #F7E86B\", -\"d c #F8E868\", -\"e c #F9E663\", -\"f c #F9E45A\", -\"g c #F9E253\", -\"h c #F9E04C\", -\"i c #FBDD40\", -\"j c #FBDB38\", -\"k c #FAD933\", -\"l c #FAD529\", -\"m c #FDD810\", -\"n c #FFFD9E\", -\"o c #FFFF9A\", -\"p c #FFFE96\", -\"q c #FFFB8C\", -\"r c #FFF781\", -\"s c #FFF375\", -\"t c #FFEF69\", -\"u c #FFEA5B\", -\"v c #FFE750\", -\"w c #FFE345\", -\"x c #FFDF38\", -\"y c #FFDB2B\", -\"z c #FFD81F\", -\"A c #FFD313\", -\"B c #FBD007\", -\"C c #FBF090\", -\"D c #FFFDAE\", -\"E c #FFFEA2\", -\"F c #FFFA8C\", -\"G c #FFF780\", -\"H c #F6CA11\", -\"I c #E1AF03\", -\"J c #F4E36D\", -\"K c #FCF7A4\", -\"L c #FFFEBB\", -\"M c #FEFAA6\", -\"N c #FFF990\", -\"O c #FFF57E\", -\"P c #FFEE6F\", -\"Q c #FFEB61\", -\"R c #FFE856\", -\"S c #FFE34A\", -\"T c #FBDD44\", -\"U c #F7D535\", -\"V c #EBBF13\", -\"W c #D5A406\", -\"X c #C99500\", -\"Y c #F0DC5F\", -\"Z c #F3E772\", -\"` c #F7EC76\", -\" . c #F6E56D\", -\".. c #F6E369\", -\"+. c #F6E264\", -\"@. c #F5DF5C\", -\"#. c #F3DB53\", -\"$. c #F3D849\", -\"%. c #EFD245\", -\"&. c #ECCE3F\", -\"*. c #E3B91F\", -\"=. c #D3A40B\", -\"-. c #C99600\", -\";. c #C69200\", -\">. c #EED95E\", -\",. c #EDDA60\", -\"'. c #F1DF64\", -\"). c #F2DF5E\", -\"!. c #F2DD57\", -\"~. c #F2D94E\", -\"{. c #F2D644\", -\"]. c #EFD038\", -\"^. c #ECCB34\", -\"/. c #E6C430\", -\"(. c #DFB71F\", -\"_. c #D9AD17\", -\":. c #CC9907\", -\"<. c #C69000\", -\"[. c #D39E00\", -\"}. c #BB1503\", -\"|. c #F9EA7D\", -\"1. c #F6E57A\", -\"2. c #F5E370\", -\"3. c #F5DE62\", -\"4. c #F9DF52\", -\"5. c #FBDB3E\", -\"6. c #FCD526\", -\"7. c #FCCE0F\", -\"8. c #F7C50A\", -\"9. c #EEBA08\", -\"0. c #E2AB03\", -\"a. c #D7A000\", -\"b. c #D59D00\", -\"c. c #DFA901\", -\"d. c #E7B402\", -\"e. c #C91800\", -\"f. c #F6E676\", -\"g. c #FCF4A1\", -\"h. c #FDF096\", -\"i. c #FAE167\", -\"j. c #F7D64F\", -\"k. c #F7CF38\", -\"l. c #F7CB26\", -\"m. c #F6BF0C\", -\"n. c #F1B905\", -\"o. c #ECB309\", -\"p. c #EBB60A\", -\"q. c #F0BF0B\", -\"r. c #F3C206\", -\"s. c #E5B201\", -\"t. c #CF9C01\", -\"u. c #C21602\", -\"v. c #C21703\", -\"w. c #F2E067\", -\"x. c #FBF78F\", -\"y. c #FEF28A\", -\"z. c #FEED74\", -\"A. c #FFE85F\", -\"B. c #FFE24D\", -\"C. c #FFDE3A\", -\"D. c #FED92F\", -\"E. c #FCD325\", -\"F. c #F8CD1A\", -\"G. c #EDBD0A\", -\"H. c #D9A701\", -\"I. c #C79200\", -\"J. c #D11D00\", -\"K. c #EFDA64\", -\"L. c #F7EF7F\", -\"M. c #FCF47F\", -\"N. c #FDEE6C\", -\"O. c #FDE85B\", -\"P. c #FDE249\", -\"Q. c #FDDC36\", -\"R. c #FCD423\", -\"S. c #F9CC14\", -\"T. c #F0C10E\", -\"U. c #E6B507\", -\"V. c #DCA900\", -\"W. c #D29F00\", -\"X. c #C69400\", -\"Y. c #C99200\", -\"Z. c #CC1B02\", -\"`. c #C61A04\", -\" + c #E1CF5F\", -\".+ c #EAD862\", -\"++ c #ECDB63\", -\"@+ c #EFDC5E\", -\"#+ c #EFD955\", -\"$+ c #EFD74D\", -\"%+ c #EFD444\", -\"&+ c #F0D23E\", -\"*+ c #EECE37\", -\"=+ c #E8C731\", -\"-+ c #E0B922\", -\";+ c #D09E03\", -\">+ c #CB9700\", -\",+ c #C39100\", -\"'+ c #C99400\", -\")+ c #E12400\", -\"!+ c #F2E47C\", -\"~+ c #F8ED8C\", -\"{+ c #F4E171\", -\"]+ c #F0D65B\", -\"^+ c #F0D24F\", -\"/+ c #F1CF43\", -\"(+ c #F2CD34\", -\"_+ c #F2C824\", -\":+ c #EEC527\", -\"<+ c #E7BD23\", -\"[+ c #DFAC12\", -\"}+ c #DAA203\", -\"|+ c #E5B202\", -\"1+ c #EDBA01\", -\"2+ c #D69F00\", -\"3+ c #D21E01\", -\"4+ c #D01C00\", -\"5+ c #F2E16A\", -\"6+ c #FBF59D\", -\"7+ c #FEFBAA\", -\"8+ c #FEF084\", -\"9+ c #FCE567\", -\"0+ c #FBDD50\", -\"a+ c #F8D23B\", -\"b+ c #F8CD28\", -\"c+ c #EEB51C\", -\"d+ c #DA8A13\", -\"e+ c #E29A16\", -\"f+ c #EDB111\", -\"g+ c #E5AE08\", -\"h+ c #D19C01\", -\"i+ c #C79400\", -\"j+ c #BF1603\", -\"k+ c #DD2300\", -\"l+ c #E6D261\", -\"m+ c #FCF88C\", -\"n+ c #FFF27A\", -\"o+ c #FFEC6A\", -\"p+ c #FFE655\", -\"q+ c #FFE041\", -\"r+ c #FFDA2B\", -\"s+ c #E49D14\", -\"t+ c #BA4F02\", -\"u+ c #BB6A00\", -\"v+ c #B37102\", -\"w+ c #DD2200\", -\"x+ c #CA1B02\", -\"y+ c #E6DB78\", -\"z+ c #FEFB8B\", -\"A+ c #FFF470\", -\"B+ c #FFEA56\", -\"C+ c #FFE13E\", -\"D+ c #FFDA24\", -\"E+ c #FECF0A\", -\"F+ c #F5BE01\", -\"G+ c #D37800\", -\"H+ c #D72000\", -\"I+ c #C61802\", -\"J+ c #EBD55C\", -\"K+ c #FCE353\", -\"L+ c #FFE33E\", -\"M+ c #FFDB26\", -\"N+ c #FFD20B\", -\"O+ c #FCCB01\", -\"P+ c #F0B900\", -\"Q+ c #D47D00\", -\"R+ c #E42500\", -\"S+ c #EB2900\", -\"T+ c #DF2301\", -\"U+ c #E82700\", -\"V+ c #D31F04\", -\"W+ c #C71F01\", -\"X+ c #EA2800\", -\"Y+ c #E92800\", -\"Z+ c #DD2301\", -\"`+ c #E22501\", -\" . . . . . . . \", -\" . . . + @ # $ % & * . . . \", -\" . = - ; > , ' ) ! ~ { ] ^ / . \", -\". ( _ : < [ } | 1 2 3 4 5 6 7 8 . \", -\". 9 0 a b c d e f g h i j k l m . \", -\". n o p q r s t u v w x y z A B . \", -\". C D E F G s t u v w x y z H I . \", -\". J K L M N O P Q R S T U V W X . \", -\". Y Z ` ...+.@.#.$.%.&.*.=.-.;.. . . \", -\". >.,.'.).!.~.{.].^./.(._.:.<.[.. . }.. \", -\". |.1.2.3.4.5.6.7.8.9.0.a.b.c.d.. . e.. \", -\". f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.. . u.v.. \", -\". w.x.n y.z.A.B.C.D.E.F.G.H.-.I.. . J.. \", -\". K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.. . Z.`.. \", -\". +.+++@+#+$+%+&+*+=+-+;+>+,+'+. . )+. \", -\". !+~+{+]+^+/+(+_+:+<+[+}+|+1+2+. . 3+4+. \", -\". 5+6+7+8+9+0+a+b+c+d+e+f+g+h+i+. j+k+. \", -\". l+m+q n+o+p+q+r+s+. . . t+u+v+. w+x+. \", -\" . y+z+A+B+C+D+E+F+G+. H+. . . I+)+. \", -\" . . J+K+L+M+N+O+P+Q+. R+S+T+U+V+. \", -\" . . . . . . . . . . W+X+Y+. \", -\" . Z+`+. \", -\" . . \", -\" . \"}; -" - "XPM format image used as Commit icon") - -(defconst plsql-prev-mark-xpm "\ -/* XPM */ -static char * go_previous_xpm[] = { -\"24 24 59 1\", -\" c None\", -\". c #000000\", -\"+ c #355D96\", -\"@ c #3C639B\", -\"# c #6E92BF\", -\"$ c #41679D\", -\"% c #6990BE\", -\"& c #6D94C2\", -\"* c #456DA2\", -\"= c #628BBC\", -\"- c #4D7BB4\", -\"; c #6991C0\", -\"> c #4971A6\", -\", c #5D87BA\", -\"' c #4B7BB3\", -\") c #4979B3\", -\"! c #5884B9\", -\"~ c #638CBC\", -\"{ c #638BBC\", -\"] c #6089BA\", -\"^ c #4B73A9\", -\"/ c #5883B8\", -\"( c #4A7AB3\", -\"_ c #618ABB\", -\": c #4C74AB\", -\"< c #547FB5\", -\"[ c #4972A9\", -\"} c #4D79B1\", -\"| c #4171AD\", -\"1 c #4071AD\", -\"2 c #4070AD\", -\"3 c #4171AC\", -\"4 c #4071AC\", -\"5 c #4070AC\", -\"6 c #3F70AC\", -\"7 c #3F70AB\", -\"8 c #406FAC\", -\"9 c #5781B5\", -\"0 c #4A74AC\", -\"a c #3E6CA8\", -\"b c #3465A4\", -\"c c #4E78AF\", -\"d c #446FA8\", -\"e c #4A75AD\", -\"f c #3F6CA6\", -\"g c #3C6BA7\", -\"h c #3B6BA7\", -\"i c #4471AB\", -\"j c #4572AB\", -\"k c #4672AC\", -\"l c #4571AB\", -\"m c #3A68A3\", -\"n c #3B6AA7\", -\"o c #406EA9\", -\"p c #3564A0\", -\"q c #3868A6\", -\"r c #305E9D\", -\"s c #3767A5\", -\"t c #2E5D9B\", -\" \", -\" \", -\" \", -\" .. \", -\" .+. \", -\" .@#. \", -\" .$%&. \", -\" .*=-;......... \", -\" .>,')!~{{{{{~]. \", -\" .^/()))(((((('_. \", -\" .:<)))))))))))),. \", -\" .[}|1123455567589. \", -\" .0abbbbbbbbbbbbc. \", -\" .dabbbbbbbbbbbe. \", -\" .fgbbhijjjjjkl. \", -\" .mnbo......... \", -\" .pqh. \", -\" .rs. \", -\" .t. \", -\" .. \", -\" . \", -\" \", -\" \", -\" \"}; -" - "XPM format image used as Previous Mark icon") - -(defconst plsql-next-mark-xpm "\ -/* XPM */ -static char * go_next_xpm[] = { -\"24 24 63 1\", -\" c None\", -\". c #000000\", -\"+ c #365F97\", -\"@ c #6B8FBE\", -\"# c #41689E\", -\"$ c #6990BF\", -\"% c #466EA4\", -\"& c #678EBD\", -\"* c #4E7DB5\", -\"= c #638CBC\", -\"- c #4B72A7\", -\"; c #5B83B5\", -\"> c #628BBB\", -\", c #5A86BA\", -\"' c #4979B3\", -\") c #4B7AB3\", -\"! c #5E87B9\", -\"~ c #4E76AA\", -\"{ c #5B84B8\", -\"] c #4E7CB5\", -\"^ c #4A7AB3\", -\"/ c #5883B7\", -\"( c #5178AD\", -\"_ c #5982B6\", -\": c #4C7BB4\", -\"< c #537FB5\", -\"[ c #5079AE\", -\"} c #507BB0\", -\"| c #4272AD\", -\"1 c #4070AC\", -\"2 c #3F70AB\", -\"3 c #3F70AC\", -\"4 c #4071AC\", -\"5 c #4171AC\", -\"6 c #4070AD\", -\"7 c #4071AD\", -\"8 c #4171AD\", -\"9 c #4D79B1\", -\"0 c #4E76AD\", -\"a c #4872AA\", -\"b c #3767A5\", -\"c c #3465A4\", -\"d c #3D6CA8\", -\"e c #4C76AD\", -\"f c #2B548E\", -\"g c #446FA8\", -\"h c #3C6BA7\", -\"i c #4772AA\", -\"j c #29528E\", -\"k c #3F6CA6\", -\"l c #4471AB\", -\"m c #4371AB\", -\"n c #3B6BA7\", -\"o c #416EA8\", -\"p c #3F6CA7\", -\"q c #3A69A6\", -\"r c #3C6AA5\", -\"s c #3B6AA5\", -\"t c #3868A6\", -\"u c #3765A2\", -\"v c #3666A3\", -\"w c #32619F\", -\"x c #2F5D9B\", -\" \", -\" \", -\" \", -\" .. \", -\" .+. \", -\" .@#. \", -\" .$$%. \", -\" .........&*=-. \", -\" .;>>>>>>=,')!~. \", -\" .{]^^^^^^''''/(. \", -\" ._:'''''''''''<[. \", -\" .}|12311145677890. \", -\" .abcccccccccccde. \", -\" .gbcccccccccchi. \", -\" .klmlllllhccno. \", -\" .........pcqr. \", -\" .stu. \", -\" .vw. \", -\" .x. \", -\" .. \", -\" . \", -\" \", -\" \", -\" \"}; -" - "XPM format image used as Next Mark icon") - -(defconst sqlplus-kill-image - (create-image sqlplus-kill-xpm 'xpm t)) - -(defconst sqlplus-cancel-image - (create-image sqlplus-cancel-xpm 'xpm t)) - -(defconst sqlplus-commit-image - (create-image sqlplus-commit-xpm 'xpm t)) - -(defconst sqlplus-rollback-image - (create-image sqlplus-rollback-xpm 'xpm t)) - -(defconst plsql-prev-mark-image - (create-image plsql-prev-mark-xpm 'xpm t)) - -(defconst plsql-next-mark-image - (create-image plsql-next-mark-xpm 'xpm t)) - -(defvar sqlplus-mode-syntax-table nil - "Syntax table used while in sqlplus-mode.") - -(defvar sqlplus-suppress-show-output-buffer nil) - -;; Local in input buffers -(defvar sqlplus-font-lock-keywords-1 nil) -(make-variable-buffer-local 'sqlplus-font-lock-keywords-1) -(defvar sqlplus-font-lock-keywords-2 nil) -(make-variable-buffer-local 'sqlplus-font-lock-keywords-2) -(defvar sqlplus-font-lock-keywords-3 nil) -(make-variable-buffer-local 'sqlplus-font-lock-keywords-3) - -(defvar sqlplus-font-lock-defaults '((sqlplus-font-lock-keywords-1 sqlplus-font-lock-keywords-2 sqlplus-font-lock-keywords-3) nil t nil nil)) - -(defvar sqlplus-oracle-extra-builtin-functions-re - (concat "\\b" - (regexp-opt '("acos" "asciistr" "asin" "atan" "atan2" "bfilename" "bin_to_num" "bitand" "cardinality" "cast" "coalesce" "collect" - "compose" "corr" "corr_s" "corr_k" "covar_pop" "covar_samp" "cume_dist" "current_date" "current_timestamp" "cv" - "dbtimezone" "decompose" "dense_rank" "depth" "deref" "empty_blob, empty_clob" "existsnode" "extract" - "extractvalue" "first" "first_value" "from_tz" "group_id" "grouping" "grouping_id" "iteration_number" - "lag" "last" "last_value" "lead" "lnnvl" "localtimestamp" "make_ref" "median" "nanvl" "nchr" "nls_charset_decl_len" - "nls_charset_id" "nls_charset_name" "ntile" "nullif" "numtodsinterval" "numtoyminterval" "nvl2" "ora_hash" "path" - "percent_rank" "percentile_cont" "percentile_disc" "powermultiset" "powermultiset_by_cardinality" "presentnnv" - "presentv" "previous" "rank" "ratio_to_report" "rawtonhex" "ref" "reftohex" "regexp_instr" "regexp_replace" - "regexp_substr" "regr_slope" "regr_intercept" "regr_count" "regr_r2" "regr_avgx" "regr_avgy" "regr_sxx" "regr_syy" - "regr_sxy" "remainder" "row_number" "rowidtonchar" "scn_to_timestamp" "sessiontimezone" "stats_binomial_test" - "stats_crosstab" "stats_f_test" "stats_ks_test" "stats_mode" "stats_mw_test" "stats_one_way_anova" "stats_t_test_one" - "stats_t_test_paired" "stats_t_test_indep" "stats_t_test_indepu" "stats_wsr_test" "stddev_pop" "stddev_samp" - "sys_connect_by_path" "sys_context" "sys_dburigen" "sys_extract_utc" "sys_guid" "sys_typeid" "sys_xmlagg" "sys_xmlgen" - "systimestamp" "timestamp_to_scn" "to_binary_double" "to_binary_float" "to_clob" "to_dsinterval" "to_lob" "to_nchar" - "to_nclob" "to_timestamp" "to_timestamp_tz" "to_yminterval" "treat" "tz_offset" "unistr" "updatexml" "value" "var_pop" - "var_samp" "width_bucket" "xmlagg" "xmlcolattval" "xmlconcat" "xmlelement" "xmlforest" "xmlsequence" "xmltransform") t) - "\\b")) -(defvar sqlplus-oracle-extra-warning-words-re - (concat "\\b" - (regexp-opt '("access_into_null" "case_not_found" "collection_is_null" "rowtype_mismatch" - "self_is_null" "subscript_beyond_count" "subscript_outside_limit" "sys_invalid_rowid") t) - "\\b")) -(defvar sqlplus-oracle-extra-keywords-re - (concat "\\b\\(" - "\\(at\\s-+local\\|at\\s-+time\\s-+zone\\|to\\s-+second\\|to\\s-+month\\|is\\s-+present\\|a\\s-+set\\)\\|" - (regexp-opt '("case" "nan" "infinite" "equals_path" "empty" "likec" "like2" "like4" "member" - "regexp_like" "submultiset" "under_path" "mlslabel") t) - "\\)\\b")) -(defvar sqlplus-oracle-extra-pseudocolumns-re - (concat "\\b" - (regexp-opt '("connect_by_iscycle" "connect_by_isleaf" "versions_starttime" "versions_startscn" - "versions_endtime" "versions_endscn" "versions_xid" "versions_operation" "object_id" "object_value" "ora_rowscn" - "xmldata") t) - "\\b")) -(defvar sqlplus-oracle-plsql-extra-reserved-words-re - (concat "\\b" - (regexp-opt '("array" "at" "authid" "bulk" "char_base" "day" "do" "extends" "forall" "heap" "hour" - "interface" "isolation" "java" "limited" "minute" "mlslabel" "month" "natural" "naturaln" "nocopy" "number_base" - "ocirowid" "opaque" "operator" "organization" "pls_integer" "positive" "positiven" "range" "record" "release" "reverse" - "rowtype" "second" "separate" "space" "sql" "timezone_region" "timezone_abbr" "timezone_minute" "timezone_hour" "year" - "zone") t) - "\\b")) -(defvar sqlplus-oracle-extra-types-re - (concat "\\b" - (regexp-opt '("nvarchar2" "binary_float" "binary_double" "timestamp" "interval" "interval_day" "urowid" "nchar" "clob" "nclob" "bfile") t) - "\\b")) - -(defvar sqlplus-commands-regexp-1 nil) -(defvar sqlplus-commands-regexp-23 nil) -(defvar sqlplus-system-variables-regexp-1 nil) -(defvar sqlplus-system-variables-regexp-23 nil) -(defvar sqlplus-v22-commands-font-lock-keywords-1 nil) -(defvar sqlplus-v22-commands-font-lock-keywords-23 nil) -(defvar font-lock-sqlplus-face nil) - -(defvar sqlplus-output-buffer-keymap nil - "Local in output buffer.") -(make-variable-buffer-local 'sqlplus-output-buffer-keymap) - -(defvar sqlplus-kill-function-inhibitor nil) - -(defvar sqlplus-slip-separator-width 2 - "Only for classic table style.") - -(defvar sqlplus-user-string-history nil) - -(defvar sqlplus-object-types '( "CONSUMER GROUP" "SEQUENCE" "SCHEDULE" "PROCEDURE" "OPERATOR" "WINDOW" - "PACKAGE" "LIBRARY" "PROGRAM" "PACKAGE BODY" "JAVA RESOURCE" "XML SCHEMA" - "JOB CLASS" "TRIGGER" "TABLE" "SYNONYM" "VIEW" "FUNCTION" "WINDOW GROUP" - "JAVA CLASS" "INDEXTYPE" "INDEX" "TYPE" "EVALUATION CONTEXT" )) - -(defvar sqlplus-end-of-source-sentinel "%%@@end-of-source-sentinel@@%%") - -(defconst sqlplus-system-variables - '("appi[nfo]" "array[size]" "auto[commit]" "autop[rint]" "autorecovery" "autot[race]" "blo[ckterminator]" "cmds[ep]" - "colsep" "com[patibility]" "con[cat]" "copyc[ommit]" "copytypecheck" "def[ine]" "describe" "echo" "editf[ile]" - "emb[edded]" "esc[ape]" "feed[back]" "flagger" "flu[sh]" "hea[ding]" "heads[ep]" "instance" "lin[esize]" - "lobof[fset]" "logsource" "long" "longc[hunksize]" "mark[up]" "newp[age]" "null" "numf[ormat]" "num[width]" - "pages[ize]" "pau[se]" "recsep" "recsepchar" "serverout[put]" "shift[inout]" "show[mode]" "sqlbl[anklines]" - "sqlc[ase]" "sqlco[ntinue]" "sqln[umber]" "sqlpluscompat[ibility]" "sqlpre[fix]" "sqlp[rompt]" "sqlt[erminator]" - "suf[fix]" "tab" "term[out]" "ti[me]" "timi[ng]" "trim[out]" "trims[pool]" "und[erline]" "ver[ify]" "wra[p]")) - -(defconst sqlplus-commands - '(("@[@]") - (("/" "r[un]")) - ("acc[ept]" - (font-lock-type-face "num[ber]" "char" "date" "binary_float" "binary_double") - (font-lock-keyword-face "for[mat]" "def[ault]" "[no]prompt" "hide")) - ("a[ppend]") - ("archive log" - (font-lock-keyword-face "list" "stop" "start" "next" "all" "to")) - ("attribute" - (font-lock-keyword-face "ali[as]" "cle[ar]" "for[mat]" "like" "on" "off")) - ("bre[ak]" - (font-lock-keyword-face "on" "row" "report" "ski[p]" "page" "nodup[licates]" "dup[licates]")) - ("bti[tle]" - (font-lock-keyword-face "on" "off") - (font-lock-builtin-face "bold" "ce[nter]" "col" "format" "le[ft]" "r[ight]" "s[kip]" "tab")) - ("c[hange]") - ("cl[ear]" - (font-lock-keyword-face "bre[aks]" "buff[er]" "col[umns]" "comp[utes]" "scr[een]" "sql" "timi[ng]")) - ("col[umn]" - (font-lock-keyword-face "ali[as]" "cle[ar]" "entmap" "on" "off" "fold_a[fter]" "fold_b[efore]" "for[mat]" "hea[ding]" - "jus[tify]" "l[eft]" "c[enter]" "r[ight]" "like" "newl[ine]" "new_v[alue]" "nopri[nt]" "pri[nt]" - "nul[l]" "old_v[alue]" "wra[pped]" "wor[d_wrapped]" "tru[ncated]")) - ("comp[ute]" - (font-lock-keyword-face "lab[el]" "of" "on" "report" "row") - (font-lock-builtin-face "avg" "cou[nt]" "min[imum]" "max[imum]" "num[ber]" "sum" "std" "var[iance]")) - ("conn[ect]" - (font-lock-keyword-face "as" "sysoper" "sysdba")) - ("copy") - ("def[ine]") - ("del" - (font-lock-keyword-face "last")) - ("desc[ribe]") - ("disc[onnect]") - ("ed[it]") - ("exec[ute]") - (("exit" "quit") - (font-lock-keyword-face "success" "failure" "warning" "commit" "rollback")) - ("get" - (font-lock-keyword-face "file" "lis[t]" "nol[ist]")) - ("help") - (("ho[st]" "!" "$")) - ("i[nput]") - ("l[ist]" - (font-lock-keyword-face "last")) - ("passw[ord]") - ("pau[se]") - ("pri[nt]") - ("pro[mpt]") - ("recover" - (font-lock-keyword-face "begin" "end" "backup" "automatic" "from" "logfile" "test" "allow" "corruption" "continue" "default" "cancel" - "standby" "database" "until" "time" "change" "using" "controlfile" "tablespace" "datafile" - "consistent" "with" "[no]parallel" "managed" "disconnect" "session" "[no]timeout" "[no]delay" "next" "no" "expire" - "current" "through" "thread" "sequence" "all" "archivelog" "last" "switchover" "immediate" "[no]wait" - "finish" "skip")) - ("rem[ark]") - ("repf[ooter]" - (font-lock-keyword-face "page" "on" "off") - (font-lock-builtin-face "bold" "ce[nter]" "col" "format" "le[ft]" "r[ight]" "s[kip]" "tab")) - ("reph[eader]" - (font-lock-keyword-face "page" "on" "off") - (font-lock-builtin-face "bold" "ce[nter]" "col" "format" "le[ft]" "r[ight]" "s[kip]" "tab")) - ("sav[e]" - (font-lock-keyword-face "file" "cre[ate]" "rep[lace]" "app[end]")) - ("set" - (font-lock-builtin-face sqlplus-system-variables) - (font-lock-keyword-face "on" "off" "immediate" "trace[only]" "explain" "statistics" "native" "v7" "v8" "all" "linenum" "indent" - "entry" "intermediate" "full" "local" "head" "html" "body" "table" "entmap" "spool" "[pre]format" - "none" "[word_]wrapped" "each" "truncated" "[in]visible" "mixed" "lower" "upper")) - ("sho[w]" - (font-lock-keyword-face "all" "bti[tle]" "err[ors]" "function" "procedure" "package[ body]" "trigger" "view" "type[ body]" - "dimension" "java class" "lno" "parameters" "pno" "recyc[lebin]" "rel[ease]" "repf[ooter]" "reph[eader]" - "sga" "spoo[l]" "sqlcode" "tti[tle]" "user") - (font-lock-builtin-face sqlplus-system-variables)) - ("shutdown" - (font-lock-keyword-face "abort" "immediate" "normal" "transactional" "local")) - ("spo[ol]" - ("cre" "create" "rep" "replace" "app" "append" "off" "out")) - ("sta[rt]") - ("startup" - (font-lock-keyword-face "force" "restrict" "pfile" "quiet" "mount" "open" "nomount" "read" "only" "write" "recover")) - ("store" - (font-lock-keyword-face "set" "cre[ate]" "rep[lace]" "app[end]")) - ("timi[ng]" - (font-lock-keyword-face "start" "show" "stop")) - ("tti[tle]" - (font-lock-keyword-face "tti[tle]" "on" "off") - (font-lock-builtin-face "bold" "ce[nter]" "col" "format" "le[ft]" "r[ight]" "s[kip]" "tab")) - ("undef[ine]") - ("var[iable]" - (font-lock-type-face "number" "[n]char" "byte" "[n]varchar2" "[n]clob" "refcursor" "binary_float" "binary_double")) - ("whenever oserror" - (font-lock-keyword-face "exit" "success" "failure" "commit" "rollback" "continue" "commit" "rollback" "none")) - ("whenever sqlerror" - (font-lock-keyword-face "exit" "success" "failure" "warning" "commit" "rollback" "continue" "none")))) - -(defvar plsql-mode-map nil) - -(defstruct sqlplus-global-struct - font-lock-regexps - objects-alist - side-view-buffer - root-dir -) - -(defvar sqlplus-global-structures (make-hash-table :test 'equal) - "Connect string -> sqlplus-global-struct") - -(defun sqlplus-get-objects-alist (&optional connect-string) - (let ((struct (gethash (car (refine-connect-string (or connect-string sqlplus-connect-string sqlplus-process-p))) - sqlplus-global-structures))) - (when struct - (sqlplus-global-struct-objects-alist struct)))) - -(defun sqlplus-set-objects-alist (objects-alist &optional connect-string) - (let ((struct (gethash (car (refine-connect-string (or connect-string sqlplus-connect-string sqlplus-process-p))) - sqlplus-global-structures))) - (when struct - (setf (sqlplus-global-struct-objects-alist struct) objects-alist)))) - -(defun sqlplus-get-font-lock-regexps (&optional connect-string) - (let ((struct (gethash (car (refine-connect-string (or connect-string sqlplus-connect-string sqlplus-process-p))) - sqlplus-global-structures))) - (when struct - (sqlplus-global-struct-font-lock-regexps struct)))) - -(defun sqlplus-set-font-lock-regexps (font-lock-regexps &optional connect-string) - (let ((struct (gethash (car (refine-connect-string (or connect-string sqlplus-connect-string sqlplus-process-p))) - sqlplus-global-structures))) - (when struct - (setf (sqlplus-global-struct-font-lock-regexps struct) font-lock-regexps)))) - -(defun sqlplus-get-side-view-buffer (&optional connect-string) - (let ((struct (gethash (car (refine-connect-string (or connect-string sqlplus-connect-string sqlplus-process-p))) - sqlplus-global-structures))) - (when struct - (sqlplus-global-struct-side-view-buffer struct)))) - -(defun sqlplus-get-root-dir (&optional connect-string) - (let ((struct (gethash (car (refine-connect-string (or connect-string sqlplus-connect-string sqlplus-process-p))) - sqlplus-global-structures))) - (when struct - (sqlplus-global-struct-root-dir struct)))) - -(defun sqlplus-set-root-dir (root-dir &optional connect-string) - (let ((struct (gethash (car (refine-connect-string (or connect-string sqlplus-connect-string sqlplus-process-p))) - sqlplus-global-structures))) - (when struct - (setf (sqlplus-global-struct-root-dir struct) root-dir)))) - -;;; --- - -(defun sqlplus-initial-strings () - (append sqlplus-initial-strings - (list - (concat "btitle left '" sqlplus-page-separator "'") - (concat "repfooter left '" sqlplus-repfooter "'") - (concat "set pagesize " (number-to-string sqlplus-pagesize))))) - -(defun sqlplus-connect-string-lessp (cs1 cs2) - "Compare two connect strings" - (let ((cs1-pair (split-string cs1 "@")) - (cs2-pair (split-string cs2 "@"))) - (or (string< (cadr cs1-pair) (cadr cs2-pair)) - (and (string= (cadr cs1-pair) (cadr cs2-pair)) - (string< (car cs1-pair) (car cs2-pair)))))) - -(defun sqlplus-divide-connect-strings () - "Returns (active-connect-string-list . inactive-connect-string-list)" - (let* ((active-connect-strings - (sort (delq nil (mapcar (lambda (buffer) - (with-current-buffer buffer - (when (and (eq major-mode 'sqlplus-mode) - sqlplus-connect-string) - (let ((cs (car (refine-connect-string sqlplus-connect-string)))) - (when (and (get-buffer (sqlplus-get-process-buffer-name cs)) - (get-process (sqlplus-get-process-name cs))) - (downcase cs)))))) - (buffer-list))) - 'sqlplus-connect-string-lessp)) - (inactive-connect-strings - (sort (delq nil (mapcar (lambda (pair) - (unless (member (downcase (car pair)) active-connect-strings) (downcase (car pair))) ) - sqlplus-connect-strings-alist)) - 'sqlplus-connect-string-lessp))) - (setq active-connect-strings (remove-duplicates active-connect-strings :test 'equal)) - (setq inactive-connect-strings (remove-duplicates inactive-connect-strings :test 'equal)) - (cons active-connect-strings inactive-connect-strings))) - -(defun sqlplus-connections-menu (menu) - (condition-case err - (let* ((connect-strings-pair (sqlplus-divide-connect-strings)) - (active-connect-strings (car connect-strings-pair)) - (inactive-connect-strings (cdr connect-strings-pair))) - (append - (list ["New connection..." sqlplus t]) - (list ["Tnsnames.ora" sqlplus-find-tnsnames t]) - (list ["Command Line" sqlplus-command-line t]) - (when (eq major-mode 'sqlplus-mode) - (list - "----" - ["Evaluate Statement" sqlplus-send-current sqlplus-connect-string] - ["Explain Statement" sqlplus-explain sqlplus-connect-string] - ["Evaluate Statement (HTML)" sqlplus-send-current-html sqlplus-connect-string] - ["Evaluate Region" sqlplus-send-region (and (mark) sqlplus-connect-string)])) - (when orcl-mode - (list - "----" - ["Send Commit" sqlplus-send-commit sqlplus-connect-string] - ["Send Rollback" sqlplus-send-rollback sqlplus-connect-string] - ["Restart Connection" sqlplus-restart-connection sqlplus-connect-string] - ["Show History" sqlplus-show-history sqlplus-connect-string] - ["Get Source from DB" sqlplus-get-source sqlplus-connect-string] - ["Interrupt Evaluation" sqlplus-send-interrupt sqlplus-connect-string] - ["Compare schema to filesystem" sqlplus-compare-schema-to-filesystem sqlplus-connect-string] - "----" - (list "Output" - ["Show window" sqlplus-buffer-display-window t] - "----" - ["Redisplay" sqlplus-buffer-redisplay-current t] - ["Previous" sqlplus-buffer-prev-command t] - ["Next" sqlplus-buffer-next-command t] - "----" - ["Scroll Right" sqlplus-buffer-scroll-right t] - ["Scroll Left" sqlplus-buffer-scroll-left t] - ["Scroll Down" sqlplus-buffer-scroll-down t] - ["Scroll Up" sqlplus-buffer-scroll-up t] - "----" - ["Bottom" sqlplus-buffer-bottom t] - ["Top" sqlplus-buffer-top t] - "----" - ["Erase" sqlplus-buffer-erase t]) - )) - (when inactive-connect-strings - (append - (list "----") - (list (append (list "Recent Connections") - (mapcar (lambda (connect-string) - (vector connect-string (list 'apply ''sqlplus - (list 'sqlplus-read-connect-string connect-string)) t)) inactive-connect-strings))))) - (when active-connect-strings - (append - (list "----") - (mapcar (lambda (connect-string) - (vector connect-string (list 'apply ''sqlplus - (list 'sqlplus-read-connect-string connect-string)) t)) active-connect-strings))) - )) - (error (message (error-message-string err))))) - -(defun sqlplus-send-commit () - "Send 'commit' command to SQL*Process." - (interactive) - (sqlplus-check-connection) - (sqlplus-execute sqlplus-connect-string "commit;" nil nil)) - -(defun sqlplus-send-rollback () - "Send 'rollback' command to SQL*Process." - (interactive) - (sqlplus-check-connection) - (sqlplus-execute sqlplus-connect-string "rollback;" nil nil)) - -(defun sqlplus-show-history () - "Show command history for current connection." - (interactive) - (sqlplus-check-connection) - (sqlplus-verify-buffer sqlplus-connect-string) - (switch-to-buffer (sqlplus-get-history-buffer sqlplus-connect-string))) - -(defun sqlplus-restart-connection () - "Kill SQL*Plus process and start again." - (interactive) - (sqlplus-check-connection) - (sqlplus-verify-buffer sqlplus-connect-string) - (let ((connect-stringos sqlplus-connect-string)) - (unwind-protect - (progn - (setq sqlplus-kill-function-inhibitor t) - (sqlplus-shutdown connect-stringos t)) - (setq sqlplus-kill-function-inhibitor nil)) - (sqlplus connect-stringos (sqlplus-get-input-buffer-name connect-stringos)))) - -(define-skeleton plsql-begin - "begin..end skeleton" - "" ; interactor - "begin" ?\n - > _ ?\n - "end;" >) - -(define-skeleton plsql-loop - "loop..end loop skeleton" - "" ; interactor - "loop" ?\n - > _ ?\n - "end loop;" >) - -(define-skeleton plsql-if - "if..end if skeleton" - "" ; interactor - "if " _ " then" ?\n - > ?\n - "end if;" >) - -;;; SQLPLUS-mode Keymap - - -(unless orcl-mode-map - (setq orcl-mode-map (make-sparse-keymap)) - (define-key orcl-mode-map "\C-c\C-o" 'sqlplus-buffer-display-window) - (define-key orcl-mode-map "\C-c\C-l" 'sqlplus-buffer-redisplay-current) - (define-key orcl-mode-map "\C-c\C-p" 'sqlplus-buffer-prev-command) - (define-key orcl-mode-map [C-S-up] 'sqlplus-buffer-prev-command) - (define-key orcl-mode-map "\C-c\C-n" 'sqlplus-buffer-next-command) - (define-key orcl-mode-map [C-S-down] 'sqlplus-buffer-next-command) - (define-key orcl-mode-map "\C-c\C-b" 'sqlplus-buffer-scroll-right) - (define-key orcl-mode-map [C-S-left] 'sqlplus-buffer-scroll-right) - (define-key orcl-mode-map "\C-c\C-f" 'sqlplus-buffer-scroll-left) - (define-key orcl-mode-map [C-S-right] 'sqlplus-buffer-scroll-left) - (define-key orcl-mode-map "\C-c\M-v" 'sqlplus-buffer-scroll-down) - (define-key orcl-mode-map "\C-c\C-v" 'sqlplus-buffer-scroll-up) - (define-key orcl-mode-map "\C-c>" 'sqlplus-buffer-bottom) - (define-key orcl-mode-map "\C-c<" 'sqlplus-buffer-top) - (define-key orcl-mode-map "\C-c\C-w" 'sqlplus-buffer-erase) - (define-key orcl-mode-map "\C-c\C-m" 'sqlplus-send-commit) - (define-key orcl-mode-map "\C-c\C-a" 'sqlplus-send-rollback) - (define-key orcl-mode-map "\C-c\C-k" 'sqlplus-restart-connection) - (define-key orcl-mode-map "\C-c\C-t" 'sqlplus-show-history) - (define-key orcl-mode-map "\C-c\C-s" 'sqlplus-get-source) - (define-key orcl-mode-map "\C-c\C-i" 'sqlplus-send-interrupt) - (define-key orcl-mode-map [S-return] 'sqlplus-send-user-string) - (define-key orcl-mode-map [tool-bar sqlplus-restart-connection] - (list 'menu-item "Restart connection" 'sqlplus-restart-connection :image sqlplus-kill-image)) - (define-key orcl-mode-map [tool-bar sqlplus-cancel] - (list 'menu-item "Cancel" 'sqlplus-send-interrupt :image sqlplus-cancel-image)) - (define-key orcl-mode-map [tool-bar sqlplus-rollback] - (list 'menu-item "Rollback" 'sqlplus-send-rollback :image sqlplus-rollback-image)) - (define-key orcl-mode-map [tool-bar sqlplus-commit] - (list 'menu-item "Commit" 'sqlplus-send-commit :image sqlplus-commit-image))) - -(unless sqlplus-mode-map - (setq sqlplus-mode-map (make-sparse-keymap)) - (define-key sqlplus-mode-map "\C-c\C-g" 'plsql-begin) - (define-key sqlplus-mode-map "\C-c\C-q" 'plsql-loop) - (define-key sqlplus-mode-map "\C-c\C-z" 'plsql-if) - (define-key sqlplus-mode-map "\C-c\C-r" 'sqlplus-send-region) - (define-key sqlplus-mode-map [C-return] 'sqlplus-send-current) - (define-key sqlplus-mode-map [M-return] 'sqlplus-explain) - (define-key sqlplus-mode-map "\C-c\C-e" 'sqlplus-send-current) - (define-key sqlplus-mode-map "\C-c\C-j" 'sqlplus-send-current-html) - (define-key sqlplus-mode-map [C-S-return] 'sqlplus-send-current-html) - (define-key sqlplus-mode-map "\M-." 'sqlplus-file-get-source) - (define-key sqlplus-mode-map [C-down-mouse-1] 'sqlplus-mouse-select-identifier) - (define-key sqlplus-mode-map [C-mouse-1] 'sqlplus-file-get-source-mouse) - ) - -(easy-menu-add-item nil nil sqlplus-connections-menu t) - -(unless sqlplus-mode-syntax-table - (setq sqlplus-mode-syntax-table (make-syntax-table)) - (modify-syntax-entry ?/ ". 14" sqlplus-mode-syntax-table) ; comment start - (modify-syntax-entry ?* ". 23" sqlplus-mode-syntax-table) - (modify-syntax-entry ?+ "." sqlplus-mode-syntax-table) - (modify-syntax-entry ?. "." sqlplus-mode-syntax-table) - (modify-syntax-entry ?\" "." sqlplus-mode-syntax-table) - (modify-syntax-entry ?\\ "." sqlplus-mode-syntax-table) - (modify-syntax-entry ?- ". 12b" sqlplus-mode-syntax-table) - (modify-syntax-entry ?\n "> b" sqlplus-mode-syntax-table) - (modify-syntax-entry ?= "." sqlplus-mode-syntax-table) - (modify-syntax-entry ?% "w" sqlplus-mode-syntax-table) - (modify-syntax-entry ?< "." sqlplus-mode-syntax-table) - (modify-syntax-entry ?> "." sqlplus-mode-syntax-table) - (modify-syntax-entry ?& "w" sqlplus-mode-syntax-table) - (modify-syntax-entry ?| "." sqlplus-mode-syntax-table) - (modify-syntax-entry ?_ "w" sqlplus-mode-syntax-table) ; _ is word char - (modify-syntax-entry ?\' "\"" sqlplus-mode-syntax-table)) - -;;; SQL*Plus mode - -(defun connect-string-to-string () - (let ((txt (or (car (refine-connect-string sqlplus-connect-string)) "disconnected")) - (result)) - (if (string-match "^\\(.*?\\)\\(\\w*prod\\w*\\)$" txt) - (if (>= emacs-major-version 22) - (setq result (list (list :propertize (substring txt 0 (match-beginning 2)) 'face '((:foreground "blue"))) - (list :propertize (substring txt (match-beginning 2)) 'face '((:foreground "red")(:weight bold))))) - (setq result (setq txt (propertize txt 'face '((:foreground "blue"))))) - (put-text-property (match-beginning 2) (match-end 2) 'face '((:foreground "red")(:weight bold)) txt)) - (setq result - (if (>= emacs-major-version 22) - (list :propertize txt 'face '((:foreground "blue"))) - (setq txt (propertize txt 'face '((:foreground "blue"))))))) - result)) - -(defun sqlplus-font-lock (type-symbol limit) - (let ((sqlplus-font-lock-regexps (sqlplus-get-font-lock-regexps))) - (when sqlplus-font-lock-regexps - (let ((regexp (gethash type-symbol sqlplus-font-lock-regexps))) - (when regexp - (re-search-forward regexp limit t)))))) - -;; Local in input buffer (sqlplus-mode) -(defvar sqlplus-command-overlay nil) -(make-variable-buffer-local 'sqlplus-command-overlay) -(defvar sqlplus-begin-command-overlay-arrow-position nil) -(make-variable-buffer-local 'sqlplus-begin-command-overlay-arrow-position) -(defvar sqlplus-end-command-overlay-arrow-position nil) -(make-variable-buffer-local 'sqlplus-end-command-overlay-arrow-position) - -(defun sqlplus-highlight-current-sqlplus-command() - (when (and window-system sqlplus-command-highlighting-style) - (let* ((pair (sqlplus-mark-current)) - (begin (and (car pair) (save-excursion (goto-char (car pair)) (skip-chars-forward " \t\n") (point)))) - (end (and (cdr pair) (save-excursion (goto-char (cdr pair)) (skip-chars-backward " \t\n") (beginning-of-line) (point)))) - (point-line-beg (save-excursion (beginning-of-line) (point))) - (overlay-begin begin) - (overlay-end end)) - (when (and begin end) - (when (< end point-line-beg) - (save-excursion (goto-char point-line-beg) (when (eobp) (insert "\n"))) - (setq end point-line-beg) - (setq overlay-end end)) - (when (or (>= begin end) (< (point) begin)) - (when (or (< (point) begin) (> begin end)) - (setq overlay-begin nil - overlay-end nil)) - (setq begin nil - end nil))) - (if (and overlay-begin overlay-end (memq sqlplus-command-highlighting-style '(background fringe-and-background))) - (progn - (setq overlay-end (save-excursion - (goto-char overlay-end) - (beginning-of-line 2) - (point))) - (move-overlay sqlplus-command-overlay overlay-begin overlay-end)) - (move-overlay sqlplus-command-overlay 1 1)) - (if (memq sqlplus-command-highlighting-style '(fringe fringe-and-background)) - (progn - (put 'sqlplus-begin-command-overlay-arrow-position 'overlay-arrow-bitmap 'top-left-angle) - (put 'sqlplus-end-command-overlay-arrow-position 'overlay-arrow-bitmap 'bottom-left-angle) - (set-marker sqlplus-begin-command-overlay-arrow-position begin) - (set-marker sqlplus-end-command-overlay-arrow-position end)) - (set-marker sqlplus-begin-command-overlay-arrow-position nil) - (set-marker sqlplus-end-command-overlay-arrow-position nil))))) - -(defun sqlplus-find-begin-of-sqlplus-command () - (save-excursion - (beginning-of-line) - (while (and (not (bobp)) (save-excursion (end-of-line 0) (skip-chars-backward " \t") (equal (char-before) ?-))) - (beginning-of-line 0)) - (point))) - -(defun sqlplus-find-end-of-sqlplus-command () - (save-excursion - (end-of-line) - (while (progn (skip-chars-backward " \t") (and (not (eobp)) (equal (char-before) ?-))) - (end-of-line 2)) - (point))) - -(defun sqlplus-set-font-lock-emacs-structures-for-level (level mode-symbol) - (let ((result (append sql-mode-oracle-font-lock-keywords - (default-value (cond ((equal level 3) 'sqlplus-font-lock-keywords-3) - ((equal level 2) 'sqlplus-font-lock-keywords-2) - ((equal level 1) 'sqlplus-font-lock-keywords-1) - (t nil)))))) - (when (featurep 'plsql) - (setq result (append (symbol-value 'plsql-oracle-font-lock-fix-re) result))) - (setq result - (append - ;; Names for schemas, tables, synonyms, views, columns, sequences, packages, triggers and indexes - (when (> level 2) - (mapcar (lambda (pair) - (let ((type-symbol (car pair)) - (face (cadr pair))) - (cons (eval `(lambda (limit) (sqlplus-font-lock ',type-symbol limit))) face))) - sqlplus-syntax-faces)) - ;; SQL*Plus - (when (eq mode-symbol 'sqlplus-mode) - (unless sqlplus-commands-regexp-1 - (flet ((first-form-fun (cmds) (mapcar (lambda (name) (car (sqlplus-full-forms name))) cmds)) - (all-forms-fun (cmds) (mapcan 'sqlplus-full-forms cmds)) - (sqlplus-commands-regexp-fun (form-fun cmds) (concat "^" (regexp-opt (funcall form-fun cmds) t) "\\b")) - (sqlplus-system-variables-fun (form-fun vars) (concat "\\b" (regexp-opt (funcall form-fun vars) t) "\\b"))) - (flet ((sqlplus-v22-commands-font-lock-keywords-fun - (form-fun) - (delq nil - (mapcar - (lambda (command-info) - (let* ((names (car command-info)) - (names-list (if (listp names) names (list names))) - (sublists (cdr command-info))) - (when sublists - (append (list (sqlplus-commands-regexp-fun form-fun names-list)) - (mapcar (lambda (sublist) - (let ((face (car sublist)) - (regexp (concat "\\b" - (regexp-opt (mapcan (lambda (name) (sqlplus-full-forms name)) - (mapcan (lambda (elem) - (if (symbolp elem) - (copy-list (symbol-value elem)) - (list elem))) - (cdr sublist))) - t) - "\\b"))) - (list regexp '(sqlplus-find-end-of-sqlplus-command) nil (list 1 face)))) - sublists) - (list '("\\(\\w+\\)" (sqlplus-find-end-of-sqlplus-command) nil (1 font-lock-sqlplus-face))))))) - sqlplus-commands)))) - (let ((commands (mapcan - (lambda (command-info) (let ((names (car command-info))) (if (listp names) (copy-list names) (list names)))) - sqlplus-commands))) - (setq sqlplus-commands-regexp-1 (sqlplus-commands-regexp-fun 'first-form-fun commands)) - (setq sqlplus-commands-regexp-23 (sqlplus-commands-regexp-fun 'all-forms-fun commands)) - (if (<= emacs-major-version 21) - (setq sqlplus-system-variables-regexp-1 (sqlplus-system-variables-fun 'first-form-fun sqlplus-system-variables) - sqlplus-system-variables-regexp-23 (sqlplus-system-variables-fun 'all-forms-fun sqlplus-system-variables)) - (setq sqlplus-v22-commands-font-lock-keywords-1 (sqlplus-v22-commands-font-lock-keywords-fun 'first-form-fun) - sqlplus-v22-commands-font-lock-keywords-23 (sqlplus-v22-commands-font-lock-keywords-fun 'all-forms-fun))))))) - (append (list - ;; Comments (REM command) - (cons "^\\(rem\\)\\b\\(.*?\\)$" '((1 font-lock-keyword-face nil nil) (2 font-lock-comment-face t nil))) - ;; Predefined SQL*Plus variables - (cons (concat "\\b" - (regexp-opt '("_CONNECT_IDENTIFIER" "_DATE" "_EDITOR" "_O_VERSION" "_O_RELEASE" "_PRIVILEGE" - "_SQLPLUS_RELEASE" "_USER") t) - "\\b") - 'font-lock-builtin-face) - ;; SQL*Plus commands (+ shortcuts if level >= 2) - (cons - (concat (if (>= level 2) sqlplus-commands-regexp-23 sqlplus-commands-regexp-1) "\\|^\\(@@\\|@\\|!\\|/\\|\\$\\)" ) - 'font-lock-keyword-face)) - (if (<= emacs-major-version 21) - ;; SQL*Plus system variables (+ shortcuts if level >= 2) - (list (cons (if (>= level 2) sqlplus-system-variables-regexp-23 sqlplus-system-variables-regexp-1) 'font-lock-builtin-face)) - ;; ver. >= 22 - (if (>= level 2) sqlplus-v22-commands-font-lock-keywords-23 sqlplus-v22-commands-font-lock-keywords-1)))) - ; (cons "\\b\\([a-zA-Z$_#0-9]+\\)\\b\\.\\(\\b[a-zA-Z$_#0-9]+\\b\\)" '((1 font-lock-type-face nil nil)(2 font-lock-variable-name-face nil nil))) - (list - ;; Extra Oracle syntax highlighting, not recognized by sql-mode or plsql-mode - (cons sqlplus-oracle-extra-types-re 'font-lock-type-face) - (cons sqlplus-oracle-extra-warning-words-re 'font-lock-warning-face) - (cons sqlplus-oracle-extra-types-re 'font-lock-type-face) - (cons sqlplus-oracle-extra-keywords-re 'font-lock-keyword-face) - (cons sqlplus-oracle-plsql-extra-reserved-words-re 'font-lock-keyword-face) - (if (string-match "XEmacs\\|Lucid" emacs-version) - (cons sqlplus-oracle-extra-pseudocolumns-re 'font-lock-preprocessor-face) - (cons sqlplus-oracle-extra-pseudocolumns-re 'font-lock-builtin-face)) - (if (string-match "XEmacs\\|Lucid" emacs-version) - (cons sqlplus-oracle-extra-builtin-functions-re 'font-lock-preprocessor-face) - (cons sqlplus-oracle-extra-builtin-functions-re 'font-lock-builtin-face)) - ;; SQL*Plus variable names, like '&name' or '&&name' - (cons "\\(\\b&[&a-zA-Z$_#0-9]+\\b\\)" 'font-lock-variable-name-face)) - result - ;; Function calls - (when (>= level 2) - (list (cons "\\b\\(\\([a-zA-Z$_#0-9]+\\b\\)\\.\\)?\\(\\b[a-zA-Z$_#0-9]+\\b\\)\\s-*(" - '((2 font-lock-type-face nil t) - (3 font-lock-function-name-face nil nil))))))) - result)) - -(defun sqlplus-mode nil - "Mode for editing and executing SQL*Plus commands. Entry into this mode runs the hook -'sqlplus-mode-hook'. - -Use \\[sqlplus] to start the SQL*Plus interpreter. - -Just position the cursor on or near the SQL*Plus statement you -wish to send and press '\\[sqlplus-send-current]' to run it and -display the results. - -Mode Specific Bindings: - -\\{sqlplus-mode-map}" - (interactive) - (run-hooks 'change-major-mode-hook) - (setq major-mode 'sqlplus-mode - mode-name "SQL*Plus") - (use-local-map sqlplus-mode-map) - (set-syntax-table sqlplus-mode-syntax-table) - (make-local-variable 'comment-start) - (make-local-variable 'comment-end) - (setq comment-start "/* " - comment-end " */") - (orcl-mode 1) - (setq sqlplus-font-lock-keywords-1 (sqlplus-set-font-lock-emacs-structures-for-level 1 major-mode) - sqlplus-font-lock-keywords-2 (sqlplus-set-font-lock-emacs-structures-for-level 2 major-mode) - sqlplus-font-lock-keywords-3 (sqlplus-set-font-lock-emacs-structures-for-level 3 major-mode)) - (when (featurep 'plsql) - (set (make-local-variable 'indent-line-function) - (lambda () (interactive) (condition-case err (funcall (symbol-function 'plsql-indent)) (error (message "Error: %S" err))))) - (set (make-local-variable 'indent-region-function) 'plsql-indent-region) - (set (make-local-variable 'align-mode-rules-list) 'plsql-align-rules-list)) - (setq font-lock-defaults sqlplus-font-lock-defaults) - (unless sqlplus-connect-string - (let ((potential-connect-string (sqlplus-get-potential-connect-string (buffer-file-name)))) - (when (and potential-connect-string - (get-process (sqlplus-get-process-name potential-connect-string))) - (setq sqlplus-connect-string potential-connect-string)))) - (set (make-local-variable 'font-lock-extend-after-change-region-function) - (lambda (beg end old-len) - (cons (save-excursion (goto-char beg) (sqlplus-find-begin-of-sqlplus-command)) - (save-excursion (goto-char end) (sqlplus-find-end-of-sqlplus-command))))) - (unless font-lock-sqlplus-face - (copy-face 'default 'font-lock-sqlplus-face) - (setq font-lock-sqlplus-face 'font-lock-sqlplus-face)) - (turn-on-font-lock) - (unless frame-background-mode - (setq frame-background-mode (if (< (sqlplus-color-percentage (face-background 'default)) 50) 'dark 'light))) - (setq imenu-generic-expression '((nil "^--[ ]*\\([^;.\n]*\\)" 1))) - ;; if input buffer has sqlplus-mode then prepare it for command under cursor selection - (when (and (eq major-mode 'sqlplus-mode) (null sqlplus-begin-command-overlay-arrow-position)) - (setq sqlplus-begin-command-overlay-arrow-position (make-marker) - sqlplus-end-command-overlay-arrow-position (make-marker) - sqlplus-command-overlay (make-overlay 1 1)) - (overlay-put sqlplus-command-overlay 'face 'sqlplus-command-highlight-face) - (when (and (>= emacs-major-version 22) (not (memq 'sqlplus-begin-command-overlay-arrow-position overlay-arrow-variable-list))) - (push 'sqlplus-begin-command-overlay-arrow-position overlay-arrow-variable-list)) - (when (and (>= emacs-major-version 22) (not (memq 'sqlplus-end-command-overlay-arrow-position overlay-arrow-variable-list))) - (push 'sqlplus-end-command-overlay-arrow-position overlay-arrow-variable-list)) - (add-hook 'pre-command-hook (lambda () - (set-marker sqlplus-begin-command-overlay-arrow-position nil) - (set-marker sqlplus-end-command-overlay-arrow-position nil)) - nil t) - (add-hook 'post-command-hook (lambda () - (sqlplus-clear-mouse-selection) - (set-marker sqlplus-begin-command-overlay-arrow-position nil) - (set-marker sqlplus-end-command-overlay-arrow-position nil)) - nil t)) - (run-hooks 'sqlplus-mode-hook)) - -(defun sqlplus-color-percentage (color) - (truncate (* (/ (/ (reduce '+ (color-values color)) 3.0) 65535.0) 100.0))) - -(defun sqlplus-get-potential-connect-string (file-path) - (when file-path - (let* ((file-name (file-name-nondirectory file-path)) - (extension (file-name-extension file-name)) - (case-fold-search t)) - (when (and extension - (string-match (concat "^" sqlplus-session-file-extension "$") extension) - (string-match "@" file-name)) - (car (refine-connect-string (file-name-sans-extension file-name))))))) - -(defun sqlplus-check-connection () - (if orcl-mode - (unless sqlplus-connect-string - (let* ((potential-connect-string (sqlplus-get-potential-connect-string (buffer-file-name))) - (connect-string (car (sqlplus-read-connect-string nil (or potential-connect-string - (caar (sqlplus-divide-connect-strings))))))) - (sqlplus connect-string (buffer-name)))) - (error "Current buffer is not determined to communicate with Oracle"))) - -;;; Utilitities - -(defun sqlplus-echo-in-buffer (buffer-name string &optional force-display hide-after-head) - "Displays string in the named buffer, creating the buffer if needed. If force-display is true, the buffer will appear -if not already shown." - (let ((buffer (get-buffer buffer-name))) - (when buffer - (if force-display (display-buffer buffer)) - (with-current-buffer buffer - (while (and (> (buffer-size) sqlplus-output-buffer-max-size) - (progn (goto-char (point-min)) - (unless (eobp) (forward-char)) - (re-search-forward (concat "^" (regexp-quote sqlplus-output-separator)) nil t))) - (delete-region 1 (- (point) (length sqlplus-output-separator)))) - - (goto-char (point-max)) - (let ((start-point (point))) - (insert string) - (when hide-after-head - (let ((from-pos (string-match "\n" string)) - (keymap (make-sparse-keymap)) - overlay) - (when from-pos - (setq overlay (make-overlay (+ start-point from-pos) (- (+ start-point (length string)) 2))) - (when (or (not (consp buffer-invisibility-spec)) - (not (assq 'hide-symbol buffer-invisibility-spec))) - (add-to-invisibility-spec '(hide-symbol . t))) - (overlay-put overlay 'invisible 'hide-symbol) - (put-text-property start-point (- (+ start-point (length string)) 2) 'help-echo string) - (put-text-property start-point (- (+ start-point (length string)) 2) 'mouse-face 'highlight) - (put-text-property start-point (- (+ start-point (length string)) 2) 'keymap sqlplus-output-buffer-keymap))))) - (if force-display - (set-window-point (get-buffer-window buffer-name) (point-max))))))) - -(defun sqlplus-verify-buffer (connect-string) - (let ((output-buffer-name (sqlplus-get-output-buffer-name connect-string)) - (process-buffer-name (sqlplus-get-process-buffer-name connect-string))) - (when (not (get-buffer process-buffer-name)) - (sqlplus-shutdown connect-string) - (error "No SQL*Plus session! Use 'M-x sqlplus' to start the SQL*Plus interpreter")) - (unless (get-buffer-process process-buffer-name) - (sqlplus-shutdown connect-string) - (error "Buffer '%s' is not talking to anybody!" output-buffer-name))) - t) - -(defun sqlplus-get-context (connect-string &optional id) - (let ((process-buffer (sqlplus-get-process-buffer-name connect-string))) - (when process-buffer - (with-current-buffer process-buffer - (when id - (while (and sqlplus-command-contexts - (not (equal (sqlplus-get-context-value (car sqlplus-command-contexts) :id) id))) - (setq sqlplus-command-contexts (cdr sqlplus-command-contexts)))) - (car sqlplus-command-contexts))))) - -(defun sqlplus-get-context-value (context var-symbol) - (cdr (assq var-symbol context))) - -(defun sqlplus-set-context-value (context var-symbol value) - (let ((association (assq var-symbol context))) - (if association - (setcdr association value) - (setcdr context (cons (cons var-symbol value) (cdr context)))) - context)) - -(defun sqlplus-mark-current () - "Marks the current SQL for sending to the SQL*Plus process. Marks are placed around a region defined by empty lines." - (let (begin end empty-line-p empty-line-p next-line-included tail-p) - (save-excursion - (beginning-of-line) - (setq empty-line-p (when (looking-at "^[ \t]*\\(\n\\|\\'\\)") (point))) - (setq next-line-included (and empty-line-p (save-excursion (skip-chars-forward " \t\n") (> (current-column) 0)))) - (setq tail-p (and empty-line-p - (or (bobp) (save-excursion (beginning-of-line 0) (looking-at "^[ \t]*\n")))))) - (unless tail-p - (save-excursion - (end-of-line) - (re-search-backward "\\`\\|\n[\r\t ]*\n[^ \t]" nil t) - (skip-syntax-forward "-") - (setq begin (point))) - (save-excursion - (beginning-of-line) - (re-search-forward "\n[\r\t ]*\n[^ \t]\\|\\'" nil t) - (unless (zerop (length (match-string 0))) - (backward-char 1)) - (skip-syntax-backward "-") - (setq end (or (and (not next-line-included) empty-line-p) (point))))) - (cons begin end))) - -;;; Transmission Commands - -(defun sqlplus-send-current (arg &optional html) - "Send the current SQL command(s) to the SQL*Plus process. With argument, show results in raw form." - (interactive "P") - (sqlplus-check-connection) - (when (buffer-file-name) - (condition-case err - (save-buffer) - (error (message (error-message-string err))))) - (let ((region (sqlplus-mark-current))) - (setq sqlplus-region-beginning-pos (car region) - sqlplus-region-end-pos (cdr region))) - (if (and sqlplus-region-beginning-pos sqlplus-region-end-pos) - (sqlplus-send-region arg sqlplus-region-beginning-pos sqlplus-region-end-pos nil html) - (error "Point doesn't indicate any command to execute"))) - -(defun sqlplus-send-current-html (arg) - (interactive "P") - (sqlplus-send-current arg t)) - - -;;; SQLPLUS-Output Buffer Operations - - -(defun sqlplus--show-buffer (connect-string fcn args) - (let* ((output-buffer-name (sqlplus-get-output-buffer-name connect-string))) - (sqlplus-verify-buffer connect-string) - (if sqlplus-suppress-show-output-buffer - (with-current-buffer (get-buffer output-buffer-name) - (if fcn (condition-case err (apply fcn args) (error (message (error-message-string err)))))) - (if (not (eq (window-buffer (selected-window)) (get-buffer output-buffer-name))) - (switch-to-buffer-other-window output-buffer-name)) - (if fcn (condition-case err (apply fcn args) (error (message (error-message-string err)))))))) - -(defun sqlplus-show-buffer (&optional connect-string fcn &rest args) - "Makes the SQL*Plus output buffer visible in the other window." - (interactive) - (setq connect-string (or connect-string sqlplus-connect-string)) - (unless connect-string - (error "Current buffer is disconnected!")) - (let ((output-buffer-name (sqlplus-get-output-buffer-name connect-string))) - (if (and output-buffer-name - (eq (current-buffer) (get-buffer output-buffer-name))) - (sqlplus--show-buffer connect-string fcn args) - (save-excursion - (save-selected-window - (sqlplus--show-buffer connect-string fcn args)))))) - -(fset 'sqlplus-buffer-display-window 'sqlplus-show-buffer) - -(defun sqlplus-buffer-scroll-up (&optional connect-string) - "Scroll-up in the SQL*Plus output buffer window." - (interactive) - (sqlplus-show-buffer (or connect-string sqlplus-connect-string) 'scroll-up)) - -(defun sqlplus-buffer-scroll-down (&optional connect-string) - "Scroll-down in the SQL*Plus output buffer window." - (interactive) - (sqlplus-show-buffer (or connect-string sqlplus-connect-string) 'scroll-down)) - -(defun sqlplus-scroll-left (num) - (call-interactively 'scroll-left)) - -(defun sqlplus-scroll-right (num) - (call-interactively 'scroll-right)) - -(defun sqlplus-buffer-scroll-left (num &optional connect-string) - "Scroll-left in the SQL*Plus output buffer window." - (interactive "p") - (sqlplus-show-buffer (or connect-string sqlplus-connect-string) 'sqlplus-scroll-left (* num (/ (window-width) 2)))) - -(defun sqlplus-buffer-scroll-right (num &optional connect-string) - "Scroll-right in the SQL*Plus output buffer window." - (interactive "p") - (sqlplus-show-buffer (or connect-string sqlplus-connect-string) 'sqlplus-scroll-right (* num (/ (window-width) 2)))) - -(defun sqlplus-buffer-mark-current (&optional connect-string) - "Mark the current position in the SQL*Plus output window." - (sqlplus-show-buffer (or connect-string sqlplus-connect-string) 'sqlplus-buffer-make-mark)) - -(defun sqlplus-buffer-make-mark (&optional connect-string) - "Set the sqlplus-buffer-marker." - (setq sqlplus-buffer-mark (copy-marker (point)))) - -(defun sqlplus-buffer-redisplay-current (&optional connect-string) - "Go to the current sqlplus-buffer-mark." - (interactive) - (sqlplus-show-buffer (or connect-string sqlplus-connect-string) 'sqlplus-goto-mark)) - -(defun sqlplus-goto-mark () - (goto-char sqlplus-buffer-mark) - (recenter 0)) - -(defun sqlplus-buffer-top (&optional connect-string) - "Goto the top of the SQL*Plus output buffer." - (interactive) - (sqlplus-show-buffer (or connect-string sqlplus-connect-string) 'sqlplus-beginning-of-buffer)) - -(defun sqlplus-beginning-of-buffer nil (goto-char (point-min))) - -(defun sqlplus-buffer-bottom (&optional connect-string) - "Goto the bottom of the SQL*Plus output buffer." - (interactive) - (sqlplus-show-buffer (or connect-string sqlplus-connect-string) 'sqlplus-end-of-buffer)) - -(defun sqlplus-end-of-buffer nil (goto-char (point-max)) (unless sqlplus-suppress-show-output-buffer (recenter -1))) - -(defun sqlplus-buffer-erase (&optional connect-string) - "Clear the SQL output buffer." - (interactive) - (sqlplus-show-buffer (or connect-string sqlplus-connect-string) 'erase-buffer)) - -(defun sqlplus-buffer-next-command (&optional connect-string) - "Search for the next command in the SQL*Plus output buffer." - (interactive) - (sqlplus-show-buffer (or connect-string sqlplus-connect-string) 'sqlplus-next-command)) - -(defun sqlplus-next-command nil - "Search for the next command in the SQL*Plus output buffer." - (cond ((re-search-forward (concat "^" (regexp-quote sqlplus-output-separator)) nil t) - (forward-line 2) - (recenter 0)) - (t (beep) (message "No more commands.")))) - -(defun sqlplus-buffer-prev-command (&optional connect-string) - "Search for the previous command in the SQL*Plus output buffer." - (interactive) - (sqlplus-show-buffer (or connect-string sqlplus-connect-string) 'sqlplus-previous-command)) - -(defun sqlplus-previous-command nil - "Search for the previous command in the SQL*Plus output buffer." - (let ((start (point))) - (re-search-backward (concat "^" (regexp-quote sqlplus-output-separator)) nil t) - (cond ((re-search-backward (concat "^" (regexp-quote sqlplus-output-separator)) nil t) - (forward-line 2) - (recenter 0)) - (t - (message "No more commands.") (beep) - (goto-char start))))) - -(defun sqlplus-send-interrupt nil - "Send an interrupt the the SQL*Plus interpreter process." - (interactive) - (sqlplus-check-connection) - (let ((connect-string sqlplus-connect-string)) - (sqlplus-verify-buffer connect-string) - (interrupt-process (get-process (sqlplus-get-process-name connect-string))))) - - -;;; SQL Interpreter - -(defun refine-connect-string (connect-string &optional no-slash) - "Z connect stringa do SQL*Plusa wycina haslo, tj. np. 'ponaglenia/x@SID' -> ('ponaglenia@SID' . 'x')." - (let (result passwd) - (when connect-string - (setq result - (if (string-match "\\(\\`[^@/]*?\\)/\\([^/@:]*\\)\\(.*?\\'\\)" connect-string) - (progn - (setq passwd (match-string 2 connect-string)) - (concat (match-string 1 connect-string) (match-string 3 connect-string))) - connect-string)) - (when no-slash - (while (string-match "/" result) - (setq result (replace-match "!" nil t result))))) - (cons result passwd))) - -(defun sqlplus-get-output-buffer-name (connect-string) - (concat "*" (car (refine-connect-string connect-string)) "*")) - -(defun sqlplus-get-input-buffer-name (connect-string) - (concat (car (refine-connect-string connect-string)) (concat "." sqlplus-session-file-extension))) - -(defun sqlplus-get-history-buffer-name (connect-string) - (concat " " (car (refine-connect-string connect-string)) "-hist")) - -(defun sqlplus-get-process-buffer-name (connect-string) - (concat " " (car (refine-connect-string connect-string)))) - -(defun sqlplus-get-process-name (connect-string) - (car (refine-connect-string connect-string))) - -(defun sqlplus-read-connect-string (&optional connect-string default-connect-string) - "Ask user for connect string with password, with DEFAULT-CONNECT-STRING proposed. -DEFAULT-CONNECT-STRING nil means first inactive connect-string on sqlplus-connect-strings-alist. -CONNECT-STRING non nil means ask for password only if CONNECT-STRING has no password itself. -Returns (qualified-connect-string refined-connect-string)." - (unless default-connect-string - (let ((inactive-connect-strings (cdr (sqlplus-divide-connect-strings)))) - (setq default-connect-string - (some (lambda (pair) - (when (member (car pair) inactive-connect-strings) (car pair))) - sqlplus-connect-strings-alist)))) - (let* ((cs (downcase (or connect-string - (read-string (format "Connect string%s: " (if default-connect-string (format " [default %s]" default-connect-string) "")) - nil 'sqlplus-connect-string-history default-connect-string)))) - (pair (refine-connect-string cs)) - (refined-cs (car pair)) - (password (cdr pair)) - (was-password password) - (association (assoc refined-cs sqlplus-connect-strings-alist))) - (unless (or password current-prefix-arg) - (setq password (cdr association))) - (unless password - (setq password (read-passwd (format "Password for %s: " cs)))) - (unless was-password - (if (string-match "@" cs) - (setq cs (replace-match (concat "/" password "@") t t cs)) - (setq cs (concat cs "/" password)))) - (list cs refined-cs))) - -(defun sqlplus (connect-string &optional input-buffer-name output-buffer-flag) - "Create SQL*Plus process connected to Oracle according to -CONNECT-STRING, open (or create) input buffer with specified -name (do not create if INPUT-BUFFER-NAME is nil). -OUTPUT-BUFFER-FLAG has meanings: nil or SHOW-OUTPUT-BUFFER - -create output buffer and show it, DONT-SHOW-OUTPUT-BUFFER - -create output buffer but dont show it, DONT-CREATE-OUTPUT-BUFFER -- dont create output buffer" - (interactive (let ((pair (sqlplus-read-connect-string))) - (list (car pair) (concat (cadr pair) (concat "." sqlplus-session-file-extension))))) - (set (make-local-variable 'comment-start-skip) "/\\*+ *\\|--+ *") - (set (make-local-variable 'comment-multi-line) t) - ;; create sqlplus-session-cache-dir if not exists - (when sqlplus-session-cache-dir - (condition-case err - (unless (file-directory-p sqlplus-session-cache-dir) - (make-directory sqlplus-session-cache-dir t)) - (error (message (error-message-string err))))) - (let* ((was-input-buffer (and input-buffer-name (get-buffer input-buffer-name))) - (input-buffer (or was-input-buffer - (when input-buffer-name - (if sqlplus-session-cache-dir - (let ((buf (find-file-noselect - (concat - (file-name-as-directory sqlplus-session-cache-dir) - (car (refine-connect-string connect-string t)) - (concat "." sqlplus-session-file-extension))))) - (condition-case nil - (with-current-buffer buf - (rename-buffer input-buffer-name)) - (error nil)) - buf) - (get-buffer-create input-buffer-name))))) - (output-buffer (or (and (not (eq output-buffer-flag 'dont-create-output-buffer)) - (get-buffer-create (sqlplus-get-output-buffer-name connect-string))) - (get-buffer (sqlplus-get-output-buffer-name connect-string)))) - (process-name (sqlplus-get-process-name connect-string)) - (process-buffer-name (sqlplus-get-process-buffer-name connect-string)) - (was-process (get-process process-name)) - process-created - (process (or was-process - (let (proc) - (puthash (car (refine-connect-string connect-string)) - (make-sqlplus-global-struct :font-lock-regexps (make-hash-table :test 'equal) - :side-view-buffer (when (featurep 'ide-skel) (sqlplus-create-side-view-buffer connect-string))) - sqlplus-global-structures) - ;; push current connect string to the beginning of sqlplus-connect-strings-alist - (let* ((refined-cs (refine-connect-string connect-string))) - (setq sqlplus-connect-strings-alist (delete* (car refined-cs) sqlplus-connect-strings-alist :test 'string= :key 'car)) - (push refined-cs sqlplus-connect-strings-alist)) - (sqlplus-get-history-buffer connect-string) - (when output-buffer - (with-current-buffer output-buffer - (erase-buffer))) - (setq process-created t - proc (start-process process-name process-buffer-name sqlplus-command connect-string)) - (set-process-sentinel proc (lambda (process event) - (let ((proc-buffer (buffer-name (process-buffer process))) - (output-buffer (get-buffer (sqlplus-get-output-buffer-name (process-name process)))) - err-msg - (exited-abnormally (string-match "\\`exited abnormally with code" event))) - (when output-buffer - (with-current-buffer output-buffer - (goto-char (point-max)) - (insert (format "\n%s" event)) - (when exited-abnormally - (setq sqlplus-connect-strings-alist - (delete* (car (refine-connect-string sqlplus-connect-string)) - sqlplus-connect-strings-alist :test 'string= :key 'car)) - (when proc-buffer - (with-current-buffer proc-buffer - (save-excursion - (goto-char (point-min)) - (when (re-search-forward "^ORA-[0-9]+.*$" nil t) - (setq err-msg (match-string 0)))) - (erase-buffer))) - (when err-msg - (insert (concat "\n" err-msg))))))))) - (process-kill-without-query proc (not sqlplus-kill-processes-without-query-on-exit-flag)) - (set-process-filter proc 'sqlplus-process-filter) - (with-current-buffer (get-buffer process-buffer-name) - (setq sqlplus-process-p connect-string)) - proc)))) - (when output-buffer - (with-current-buffer output-buffer - (orcl-mode 1) - (set (make-local-variable 'line-move-ignore-invisible) t) - (setq sqlplus-output-buffer-keymap (make-sparse-keymap) - sqlplus-connect-string connect-string - truncate-lines t) - (define-key sqlplus-output-buffer-keymap "\C-m" (lambda () (interactive) (sqlplus-output-buffer-hide-show))) - (define-key sqlplus-output-buffer-keymap [S-mouse-2] (lambda (event) (interactive "@e") (sqlplus-output-buffer-hide-show))) - (local-set-key [S-return] 'sqlplus-send-user-string))) - (when input-buffer - (with-current-buffer input-buffer - (setq sqlplus-connect-string connect-string))) - ;; if input buffer was created then switch it to sqlplus-mode - (when (and input-buffer (not was-input-buffer)) - (with-current-buffer input-buffer - (unless (eq major-mode 'sqlplus-mode) - (sqlplus-mode))) - (when font-lock-mode (font-lock-mode 1)) - (set-window-buffer (sqlplus-get-workbench-window) input-buffer)) - ;; if process was created then get information for font lock - (when process-created - (sqlplus-execute connect-string nil nil (sqlplus-initial-strings) 'no-echo) - (let ((plsql-font-lock-level (sqlplus-font-lock-value-in-major-mode font-lock-maximum-decoration 'plsql-mode)) - (sqlplus-font-lock-level (sqlplus-font-lock-value-in-major-mode font-lock-maximum-decoration 'sqlplus-mode))) - (when (or (equal plsql-font-lock-level t) (equal sqlplus-font-lock-level t) - (and (numberp plsql-font-lock-level) (>= plsql-font-lock-level 2)) - (and (numberp sqlplus-font-lock-level) (>= sqlplus-font-lock-level 2))) - (sqlplus-hidden-select connect-string - (concat "select distinct column_name, 'COLUMN', ' ' from user_tab_columns where column_name not like 'BIN$%'\n" - "union\n" - "select username, 'SCHEMA', ' ' from all_users where username not like 'BIN$%'\n" - "union\n" - "select object_name, object_type, decode( status, 'INVALID', 'I', ' ' ) from user_objects\n" - "where object_name not like 'BIN$%'\n" - "and object_type in ('VIEW', 'SEQUENCE', 'PACKAGE', 'TRIGGER', 'TABLE', 'SYNONYM', 'INDEX', 'FUNCTION', 'PROCEDURE');") - 'sqlplus-my-handler)))) - (when input-buffer - (save-selected-window - (when (equal (selected-window) (sqlplus-get-side-window)) - (select-window (sqlplus-get-workbench-window))) - (switch-to-buffer input-buffer))) - (let ((saved-window (cons (selected-window) (window-buffer (selected-window)))) - (input-buffer (get-buffer (sqlplus-get-input-buffer-name connect-string)))) - (when (or (eq output-buffer-flag 'show-output-buffer) (null output-buffer-flag)) - (sqlplus-show-buffer connect-string)) - (if (window-live-p (car saved-window)) - (select-window (car saved-window)) - (if (get-buffer-window (cdr saved-window)) - (select-window (get-buffer-window (cdr saved-window))) - (when (and input-buffer - (get-buffer-window input-buffer)) - (select-window (get-buffer-window input-buffer)))))) - ;; executing initial sequence (between /* init */ and /* end */) - (when (and (not was-process) input-buffer) - (with-current-buffer input-buffer - (save-excursion - (goto-char (point-min)) - (when (re-search-forward (concat "^" sqlplus-init-sequence-start-regexp "\\s-*\n\\(\\(.\\|\n\\)*?\\)\n" sqlplus-init-sequence-end-regexp) nil t) - (when (match-string 1) - (sqlplus-send-region nil (match-beginning 1) (match-end 1) t)))))))) - -;; Command under cursor selection mechanism -(when window-system - (run-with-idle-timer 0 t (lambda () (when (eq major-mode 'sqlplus-mode) (sqlplus-highlight-current-sqlplus-command)))) - (run-with-idle-timer 1 t (lambda () - (when (eq major-mode 'sqlplus-mode) - (if (>= (sqlplus-color-percentage (face-background 'default)) 50) - (set-face-attribute 'sqlplus-command-highlight-face nil - :background (sqlplus-shine-color (face-background 'default) (- sqlplus-command-highlighting-percentage))) - (set-face-attribute 'sqlplus-command-highlight-face nil - :background (sqlplus-shine-color (face-background 'default) sqlplus-command-highlighting-percentage))))))) - -(defun sqlplus-output-buffer-hide-show () - (if (and (consp buffer-invisibility-spec) - (assq 'hide-symbol buffer-invisibility-spec)) - (remove-from-invisibility-spec '(hide-symbol . t)) - (add-to-invisibility-spec '(hide-symbol . t))) - (let ((overlay (car (overlays-at (point))))) - (when overlay - (goto-char (overlay-start overlay)) - (beginning-of-line))) - (recenter 0)) - -(defun sqlplus-font-lock-value-in-major-mode (alist mode-symbol) - (if (consp alist) - (cdr (or (assq mode-symbol alist) (assq t alist))) - alist)) - -(defun sqlplus-get-history-buffer (connect-string) - (let* ((history-buffer-name (sqlplus-get-history-buffer-name connect-string)) - (history-buffer (get-buffer history-buffer-name))) - (unless history-buffer - (setq history-buffer (get-buffer-create history-buffer-name)) - (with-current-buffer history-buffer - (setq sqlplus-cs connect-string) - (add-hook 'kill-buffer-hook 'sqlplus-history-buffer-kill-function nil t))) - history-buffer)) - -(defun sqlplus-history-buffer-kill-function () - (when sqlplus-history-dir - (condition-case err - (progn - (unless (file-directory-p sqlplus-history-dir) - (make-directory sqlplus-history-dir t)) - (append-to-file 1 (buffer-size) (concat (file-name-as-directory sqlplus-history-dir) (car (refine-connect-string sqlplus-cs t)) "-hist.txt"))) - (error (message (error-message-string err)))))) - -(defun sqlplus-soft-shutdown (connect-string) - (unless (some (lambda (buffer) - (with-current-buffer buffer - (and sqlplus-connect-string - (equal (car (refine-connect-string sqlplus-connect-string)) - (car (refine-connect-string connect-string)))))) - (buffer-list)) - (sqlplus-shutdown connect-string))) - -(defun sqlplus-shutdown (connect-string &optional dont-kill-input-buffer) - "Kill input, output and process buffer for specified CONNECT-STRING." - (let ((input-buffers (delq nil (mapcar (lambda (buffer) (with-current-buffer buffer - (when (and (eq major-mode 'sqlplus-mode) - (equal (car (refine-connect-string sqlplus-connect-string)) - (car (refine-connect-string connect-string)))) - buffer))) (buffer-list)))) - (output-buffer (get-buffer (sqlplus-get-output-buffer-name connect-string))) - (history-buffer (get-buffer (sqlplus-get-history-buffer-name connect-string))) - (process-buffer (get-buffer (sqlplus-get-process-buffer-name connect-string)))) - (when history-buffer - (kill-buffer history-buffer)) - (when (and process-buffer - (with-current-buffer process-buffer sqlplus-process-p)) - (when (get-process (sqlplus-get-process-name connect-string)) - (delete-process (sqlplus-get-process-name connect-string))) - (kill-buffer process-buffer)) - (when (and output-buffer - (with-current-buffer output-buffer sqlplus-connect-string)) - (when (buffer-file-name output-buffer) - (with-current-buffer output-buffer - (save-buffer))) - (kill-buffer output-buffer)) - (dolist (input-buffer input-buffers) - (when (buffer-file-name input-buffer) - (with-current-buffer input-buffer - (save-buffer))) - (unless dont-kill-input-buffer - (kill-buffer input-buffer))))) - -(defun sqlplus-magic () - (let (bottom-message pos) - (delete-region (point) (progn (beginning-of-line 3) (point))) - (setq bottom-message (buffer-substring (point) (save-excursion (end-of-line) (point)))) - (setq pos (point)) - (when (re-search-forward "^-------" nil t) - (delete-region pos (progn (beginning-of-line 2) (point))) - (while (re-search-forward "|" (save-excursion (end-of-line) (point)) t) - (save-excursion - (backward-char) - (if (or (bolp) (save-excursion (forward-char) (eolp))) - (while (member (char-after) '(?- ?|)) - (delete-char 1) - (sqlplus-next-line)) - (while (member (char-after) '(?- ?|)) - (delete-char 1) - (insert " ") - (backward-char) - (sqlplus-next-line))))) - (beginning-of-line 3) - (re-search-forward "^---" nil t) - (goto-char (match-beginning 0)) - (delete-region (point) (point-max)) - (insert (format "%s\n\n%s\n" sqlplus-repfooter bottom-message)) - ))) - - -(defun sqlplus-process-command-output (context connect-string begin end interrupted) - (let* ((output-buffer-name (sqlplus-get-output-buffer-name connect-string)) - (output-buffer (get-buffer output-buffer-name)) - (process-buffer (sqlplus-get-process-buffer-name connect-string)) - str - error-list show-errors-p - slips-count - (user-function (sqlplus-get-context-value context :user-function)) - (result-function (sqlplus-get-context-value context :result-table-function)) - (last-compiled-file-path (sqlplus-get-context-value context :last-compiled-file-path)) - (compilation-expected (sqlplus-get-context-value context :compilation-expected)) - (columns-count (sqlplus-get-context-value context :columns-count)) - (sql (sqlplus-get-context-value context :sql)) - (original-buffer (current-buffer)) - explain-plan - table-data) - (setq slips-count columns-count) - (with-temp-buffer - (insert-buffer-substring original-buffer begin end) - (goto-char (point-min)) - (while (re-search-forward (concat "\n+" (regexp-quote sqlplus-page-separator) "\n") nil t) - (replace-match "\n")) - (goto-char (point-min)) - (setq str (buffer-string)) - (while (string-match (concat "^" (regexp-quote sqlplus-repfooter) "\n") str) - (setq str (replace-match "" nil t str))) - - ;; compilation errors? - (goto-char (point-min)) - (skip-chars-forward "\n\t ") - (when (and ;;(not (equal (point) (point-max))) - plsql-auto-parse-errors-flag - output-buffer - last-compiled-file-path - (re-search-forward "^\\(LINE/COL\\|\\(SP2\\|CPY\\|ORA\\)-[0-9]\\{4,5\\}:\\|No errors\\|Nie ma b..d.w\\|Keine Fehler\\|No hay errores\\|Identificateur erron\\|Nessun errore\\|N..o h.. erros\\)" nil t)) - (goto-char (point-min)) - (setq error-list (plsql-parse-errors last-compiled-file-path) - show-errors-p compilation-expected)) - - ;; explain? - (let ((case-fold-search t)) - (goto-char (point-min)) - (skip-chars-forward "\n\t ") - (when (and sql - (string-match "^[\n\t ]*explain\\>" sql) - (looking-at "Explained[.]")) - (delete-region (point-min) (point-max)) - (setq str "") - (sqlplus--send connect-string - "select plan_table_output from table(dbms_xplan.display(null, null, 'TYPICAL'));" - nil - 'no-echo - nil))) - - ;; plan table output? - (goto-char (point-min)) - (skip-chars-forward "\n\t ") - (when (and (looking-at "^PLAN_TABLE_OUTPUT\n") - sqlplus-format-output-tables-flag - (not compilation-expected) - (not show-errors-p)) - (sqlplus-magic) ;; TODO - (goto-char (point-min)) - (re-search-forward "^[^\n]+" nil t) - (delete-region (point-min) (progn (beginning-of-line) (point))) - ;; (setq slips-count 1) - (setq explain-plan t) - (setq table-data (save-excursion (sqlplus-parse-output-table interrupted)))) - - ;; query result? - (goto-char (point-min)) - (when (and sqlplus-format-output-tables-flag - (not compilation-expected) - (not table-data) - (not show-errors-p) - (not (re-search-forward "^LINE/COL\\>" nil t))) - (setq table-data (save-excursion (sqlplus-parse-output-table interrupted)))) - (if user-function - (funcall user-function connect-string context (or table-data str)) - (when output-buffer - (with-current-buffer output-buffer - (save-excursion - (goto-char (point-max)) - (cond (show-errors-p - (insert str) - (plsql-display-errors (file-name-directory last-compiled-file-path) error-list) - (let* ((plsql-buf (get-file-buffer last-compiled-file-path)) - (win (when plsql-buf (car (get-buffer-window-list plsql-buf))))) - (when win - (select-window win)))) - ((and table-data - (car table-data)) - (if result-function - (funcall result-function connect-string table-data) - (let ((b (point)) - (warning-regexp (regexp-opt sqlplus-explain-plan-warning-regexps)) - e) - (sqlplus-draw-table table-data slips-count) - (when interrupted (insert ". . .\n")) - (setq e (point)) - (when explain-plan - (save-excursion - (goto-char b) - (while (re-search-forward warning-regexp nil t) - (add-text-properties (match-beginning 0) (match-end 0) - (list 'face (list (cons 'foreground-color "red") (list :weight 'bold) - (get-text-property (match-beginning 0) 'face)))))))))) - (t - (insert str)))))))))) - -(defun sqlplus-result-online (connect-string context string last-chunk) - (let ((output-buffer (sqlplus-get-output-buffer-name connect-string))) - (when output-buffer - (with-current-buffer output-buffer - (save-excursion - (goto-char (point-max)) - (insert string)))))) - -(defvar sqlplus-prompt-regexp (concat "^" (regexp-quote sqlplus-prompt-prefix) "\\([0-9]+\\)" (regexp-quote sqlplus-prompt-suffix))) - -(defvar sqlplus-page-separator-regexp (concat "^" (regexp-quote sqlplus-page-separator))) - -(defun sqlplus-process-filter (process string) - (with-current-buffer (process-buffer process) - (let* ((prompt-safe-len (+ (max (+ (length sqlplus-prompt-prefix) (length sqlplus-prompt-suffix)) (length sqlplus-page-separator)) 10)) - current-context-id filter-input-processed - (connect-string sqlplus-process-p) - (chunk-begin-pos (make-marker)) - (chunk-end-pos (make-marker)) - (prompt-found (make-marker)) - (context (sqlplus-get-context connect-string current-context-id)) - (current-command-input-buffer-name (sqlplus-get-context-value context :current-command-input-buffer-name)) - (current-command-input-buffer-names (when current-command-input-buffer-name (list current-command-input-buffer-name)))) - (set-marker chunk-begin-pos (max 1 (- (point) prompt-safe-len))) - (goto-char (point-max)) - (insert string) - (unless current-command-input-buffer-names - (setq current-command-input-buffer-names - (delq nil (mapcar (lambda (buffer) (with-current-buffer buffer - (when (and (memq major-mode '(sqlplus-mode plsql-mode)) - sqlplus-connect-string - (equal (car (refine-connect-string sqlplus-connect-string)) - (car (refine-connect-string connect-string)))) - buffer))) (buffer-list))))) - ;; fan animation - (dolist (current-command-input-buffer-name current-command-input-buffer-names) - (let ((input-buffer (get-buffer current-command-input-buffer-name))) - (when input-buffer - (with-current-buffer input-buffer - (setq sqlplus-fan - (cond ((equal sqlplus-fan "|") "/") - ((equal sqlplus-fan "/") "-") - ((equal sqlplus-fan "-") "\\") - ((equal sqlplus-fan "\\") "|"))) - (put-text-property 0 (length sqlplus-fan) 'face '((foreground-color . "red")) sqlplus-fan) - (put-text-property 0 (length sqlplus-fan) 'help-echo (sqlplus-get-context-value context :sql) sqlplus-fan) - (force-mode-line-update))))) - (unwind-protect - (while (not filter-input-processed) - (let* ((context (sqlplus-get-context connect-string current-context-id)) - (dont-parse-result (sqlplus-get-context-value context :dont-parse-result)) - (current-command-input-buffer-name (sqlplus-get-context-value context :current-command-input-buffer-name)) - (result-function (sqlplus-get-context-value context :result-function)) - (skip-to-the-end-of-command (sqlplus-get-context-value context :skip-to-the-end-of-command))) - (set-marker prompt-found nil) - (goto-char chunk-begin-pos) - (set-marker chunk-end-pos - (if (or (re-search-forward sqlplus-prompt-regexp nil t) - (re-search-forward "^SQL> " nil t)) - (progn - (set-marker prompt-found (match-end 0)) - (when (match-string 1) - (setq current-context-id (string-to-number (match-string 1)))) - (match-beginning 0)) - (point-max))) - (cond ((and (equal chunk-begin-pos chunk-end-pos) ; at the end of command - (marker-position prompt-found)) - ;; deactivate fan - (dolist (current-command-input-buffer-name current-command-input-buffer-names) - (let ((input-buffer (get-buffer current-command-input-buffer-name))) - (when input-buffer - (with-current-buffer input-buffer - (remove-text-properties 0 (length sqlplus-fan) '(face nil) sqlplus-fan) - (force-mode-line-update))))) - (delete-region 1 prompt-found) - (when dont-parse-result - (funcall (or result-function 'sqlplus-result-online) connect-string context "" t)) - (sqlplus-set-context-value context :skip-to-the-end-of-command nil) - (set-marker chunk-begin-pos 1)) - ((equal chunk-begin-pos chunk-end-pos) - (when dont-parse-result - (delete-region 1 (point-max))) - (setq filter-input-processed t)) - (dont-parse-result - (funcall (or result-function 'sqlplus-result-online) - connect-string - context - (buffer-substring chunk-begin-pos chunk-end-pos) - (marker-position prompt-found)) - (set-marker chunk-begin-pos chunk-end-pos)) - (t - (when (not skip-to-the-end-of-command) - (goto-char (max 1 (- chunk-begin-pos 4010))) - (let ((page-separator-found - (save-excursion (let ((pos (re-search-forward (concat sqlplus-page-separator-regexp "[^-]*\\(^-\\|^ e b) - (buffer-substring b e) - ""))) - (col-preferred-width (string-width col-name))) - ;; (put-text-property 0 (length col-name) 'face '(bold) col-name) - (push (make-col-desc :id col-counter :name col-name :start-pos col-begin - :end-pos col-end :max-width col-max-width :preferred-width col-preferred-width :min-prefix-len col-max-width) - column-infos) - (incf col-counter) - (goto-char ed) - (if (equal (char-after) ?\n) - (progn - (beginning-of-line 3) - (incf record-lines)) - (forward-char))) - (setq finish t))) - (decf record-lines) - (setq column-infos (nreverse column-infos)) - (forward-line -1) - - ;; at the first char of first data cell. - ;; table parsing... - (while (< (point) end) - (let (record last-start-pos) - (dolist (column-info column-infos) - (let ((start-pos (col-desc-start-pos column-info)) - (end-pos (col-desc-end-pos column-info)) - width len value b e l) - (when (and last-start-pos - (<= start-pos last-start-pos)) - (forward-line)) - (setq last-start-pos start-pos) - (move-to-column start-pos) - (setq b (point)) - (move-to-column end-pos) - (setq e (point)) - (move-to-column start-pos) - (setq l (skip-chars-forward " " e)) - (when (and (col-desc-min-prefix-len column-info) - (< l (- e b)) - (< l (col-desc-min-prefix-len column-info))) - (setf (col-desc-min-prefix-len column-info) - (if (looking-at "[0-9]") l nil))) - (move-to-column end-pos) - (skip-chars-backward " " b) - (setq value (if (> (point) b) (buffer-substring b (point)) "")) - (setq len (length value) - width (string-width value)) - (when (and sqlplus-select-result-max-col-width - (> len sqlplus-select-result-max-col-width)) - (setq value (concat (substring value 0 sqlplus-select-result-max-col-width) "...") - len (length value) - width (string-width value))) - (when (> width (col-desc-preferred-width column-info)) - (setf (col-desc-preferred-width column-info) width)) - (when (and (< l (- e b)) - (memq (col-desc-numeric column-info) '(nil y))) - (setf (col-desc-numeric column-info) - (if (string-match "\\` *[-+0-9Ee.,$]+\\'" value) 'y 'n))) - (push value record))) - (forward-line) - (when (> record-lines 1) - (forward-line)) - (setq last-start-pos nil - record (nreverse record)) - (push record rows))) - (setq rows (nreverse rows)) - (list column-infos rows last-msg))))) - -(defun sqlplus-draw-table (lst &optional slips-count) - "SLIPS-COUNT (nil means compute automatically)." - ;; current buffer: SQL*Plus output buffer - (when window-system - (if (>= (sqlplus-color-percentage (face-background 'default)) 50) - (progn - (set-face-attribute 'sqlplus-table-head-face nil - :background (sqlplus-shine-color (face-background 'default) -70) :foreground (face-background 'default)) - (set-face-attribute 'sqlplus-table-even-rows-face nil - :background (sqlplus-shine-color (face-background 'default) -20) :overline (face-background 'default)) - (set-face-attribute 'sqlplus-table-odd-rows-face nil - :background (sqlplus-shine-color (face-background 'default) -30) :overline (face-background 'default))) - (set-face-attribute 'sqlplus-table-head-face nil - :background (sqlplus-shine-color (face-background 'default) +70) :foreground (face-background 'default)) - (set-face-attribute 'sqlplus-table-even-rows-face nil - :background (sqlplus-shine-color (face-background 'default) +20) :overline (face-background 'default)) - (set-face-attribute 'sqlplus-table-odd-rows-face nil - :background (sqlplus-shine-color (face-background 'default) +30) :overline (face-background 'default)))) - (let* ((column-infos (car lst)) - (rows (cadr lst)) - (slip-width 0) - (table-header-height 1) - (table-area-width (1- (let ((side-window (sqlplus-get-side-window))) (if side-window (window-width side-window) (frame-width))))) - ;; may be nil, which means no limit - (table-area-height (let ((side-window (sqlplus-get-side-window))) - (when side-window - (- (window-height side-window) 2 (if mode-line-format 1 0) (if header-line-format 1 0))))) - (column-separator-width (if sqlplus-elegant-style 1.2 (max (length sqlplus-table-col-separator) (length sqlplus-table-col-head-separator)))) - rows-per-slip ;; data rows per slip - (slip-separator-width (if sqlplus-elegant-style 1.5 sqlplus-slip-separator-width)) - (slip-separator (make-string (max 0 (if sqlplus-elegant-style 1 sqlplus-slip-separator-width)) ?\ )) - (last-msg (caddr lst))) - (when sqlplus-elegant-style - (put-text-property 0 1 'display (cons 'space (list :width slip-separator-width)) slip-separator)) - (when (<= table-area-height table-header-height) - (setq table-area-height nil)) - (when (and window-system sqlplus-elegant-style table-area-height (> table-area-height 3)) - ;; overline makes glyph higher... - (setq table-area-height (- table-area-height (round (/ (* 20.0 (- table-area-height 3)) (face-attribute 'default :height)))))) - (when column-infos - (goto-char (point-max)) - (beginning-of-line) - ;; slip width (without separator between slips) - (dolist (col-info column-infos) - (when (col-desc-min-prefix-len col-info) - (setf (col-desc-preferred-width col-info) (max (string-width (col-desc-name col-info)) - (- (col-desc-preferred-width col-info) (col-desc-min-prefix-len col-info))))) - (incf slip-width (+ (col-desc-preferred-width col-info) column-separator-width))) - (when (> slip-width 0) - (setq slip-width (+ (- slip-width column-separator-width) (if sqlplus-elegant-style 1.0 0)))) - ;; computing slip count if not known yet - (unless slips-count - (setq slips-count - (if table-area-height (min (ceiling (/ (float (length rows)) (max 1 (- table-area-height table-header-height 2)))) - (max 1 (floor (/ (float table-area-width) (+ slip-width slip-separator-width))))) - 1))) - (setq slips-count (max 1 (min slips-count (length rows)))) ; slip count <= data rows - (setq rows-per-slip (ceiling (/ (float (length rows)) slips-count))) - (when (> rows-per-slip 0) - (setq slips-count (max 1 (min (ceiling (/ (float (length rows)) rows-per-slip)) slips-count)))) - - (let ((table-begin-point (point))) - (dotimes (slip-no slips-count) - (let ((row-no 0) - (slip-begin-point (point)) - (rows-processed 0)) - ;; column names - (dolist (col-info column-infos) - (let* ((col-name (col-desc-name col-info)) - (spaces (max 0 (- (col-desc-preferred-width col-info) (string-width col-name)))) - (last-col-p (>= (1+ (col-desc-id col-info)) (length column-infos))) - (val (format (if sqlplus-elegant-style " %s%s %s" "%s%s%s") - col-name - (make-string spaces ?\ ) - (if last-col-p "" (if sqlplus-elegant-style " " sqlplus-table-col-separator))))) - (put-text-property 0 (if (or (not sqlplus-elegant-style) last-col-p) (length val) (1- (length val))) - 'face 'sqlplus-table-head-face val) - (when sqlplus-elegant-style - (put-text-property 0 1 'display '(space . (:width 0.5)) val) - (put-text-property (- (length val) (if last-col-p 1 2)) (- (length val) (if last-col-p 0 1)) 'display '(space . (:width 0.5)) val) - (unless last-col-p - (put-text-property (- (length val) 1) (length val) 'display '(space . (:width 0.2)) val))) - (insert val))) - (insert slip-separator) - (insert "\n") - ;; data rows - (while (and (< rows-processed rows-per-slip) - rows) - (let ((row (car rows))) - (setq rows (cdr rows)) - (incf rows-processed) - (let ((col-infos column-infos)) - (dolist (value row) - (let* ((col-info (car col-infos)) - (numeric-p (eq (col-desc-numeric col-info) 'y)) - (min-prefix (col-desc-min-prefix-len col-info))) - (when (and min-prefix - value - (>= (length value) min-prefix)) - (setq value (substring value min-prefix))) - (let* ((spaces (max 0 (- (col-desc-preferred-width col-info) (string-width value)))) - (val (if numeric-p - (format (if sqlplus-elegant-style " %s%s %s" "%s%s%s") - (make-string spaces ?\ ) - value - (if (cdr col-infos) (if sqlplus-elegant-style " " sqlplus-table-col-separator) "")) - (format (if sqlplus-elegant-style " %s%s %s" "%s%s%s") - value - (make-string spaces ?\ ) - (if (cdr col-infos) (if sqlplus-elegant-style " " sqlplus-table-col-separator) ""))))) - (put-text-property 0 (if (and sqlplus-elegant-style (cdr col-infos)) (- (length val) 1) (length val)) - 'face (if (evenp row-no) - 'sqlplus-table-even-rows-face - 'sqlplus-table-odd-rows-face) val) - (when sqlplus-elegant-style - (put-text-property 0 1 'display '(space . (:width 0.5)) val) - (put-text-property (- (length val) (if (cdr col-infos) 2 1)) - (- (length val) (if (cdr col-infos) 1 0)) - 'display '(space . (:width 0.5)) val) - (when (cdr col-infos) - (put-text-property (- (length val) 1) (length val) 'display '(space . (:width 0.2)) val))) - (setq col-infos (cdr col-infos)) - (insert val)))) - (incf row-no) - (insert slip-separator) - (insert "\n")))) - (when (> slip-no 0) - (delete-backward-char 1) - (let ((slip-end-point (point))) - (kill-rectangle slip-begin-point slip-end-point) - (delete-region slip-begin-point (point-max)) - (goto-char table-begin-point) - (end-of-line) - (yank-rectangle) - (goto-char (point-max)) - )))) - (goto-char (point-max)) - (when (and last-msg (> (length last-msg) 0)) - (unless sqlplus-elegant-style (insert "\n")) - (let ((s (format "%s\n\n" (replace-regexp-in-string "\n+" " " last-msg)))) - (when sqlplus-elegant-style - (put-text-property (- (length s) 2) (1- (length s)) 'display '(space . (:height 1.5)) s)) - (insert s))))))) - -(defun sqlplus-send-user-string (str) - (interactive (progn (sqlplus-check-connection) - (if sqlplus-connect-string - (list (read-string "Send to process: " nil 'sqlplus-user-string-history "")) - (error "Works only in SQL*Plus buffer")))) - (let ((connect-string sqlplus-connect-string)) - (sqlplus-verify-buffer connect-string) - (let* ((process (get-process (sqlplus-get-process-name connect-string))) - (output-buffer-name (sqlplus-get-output-buffer-name connect-string))) - (sqlplus-echo-in-buffer output-buffer-name (concat str "\n")) - (send-string process (concat str "\n"))))) - -(defun sqlplus-prepare-update-alist (table-data) - (let ((column-infos (car table-data)) - (rows (cadr table-data)) - (msg (caddr table-data)) - alist) - (dolist (row rows) - (let* ((object-name (car row)) - (object-type (intern (downcase (cadr row)))) - (status (caddr row)) - (regexp-list (cdr (assq object-type alist))) - (pair (cons object-name (equal status "I")))) - (if regexp-list - (setcdr regexp-list (cons pair (cdr regexp-list))) - (setq regexp-list (list pair)) - (setq alist (cons (cons object-type regexp-list) alist))))) - alist)) - -(defun sqlplus-my-update-handler (connect-string table-data) - (let ((alist (sqlplus-prepare-update-alist table-data))) - (when (featurep 'ide-skel) - (funcall 'sqlplus-side-view-update-data connect-string alist)))) - -(defun sqlplus-my-handler (connect-string table-data) - (let ((alist (sqlplus-prepare-update-alist table-data)) - (sqlplus-font-lock-regexps (sqlplus-get-font-lock-regexps connect-string))) - (sqlplus-set-objects-alist alist connect-string) - (when (featurep 'ide-skel) - (funcall 'sqlplus-side-view-update-data connect-string alist)) - (clrhash sqlplus-font-lock-regexps) - (dolist (lst sqlplus-syntax-faces) - (let* ((object-type (car lst)) - (regexp-list (append (caddr lst) (mapcar 'car (cdr (assq object-type alist)))))) - (when regexp-list - (puthash object-type (concat "\\b" (regexp-opt regexp-list t) "\\b") sqlplus-font-lock-regexps)))) - (let ((map sqlplus-font-lock-regexps)) - (mapc (lambda (buffer) - (with-current-buffer buffer - (when (and (memq major-mode '(sqlplus-mode plsql-mode)) - (equal sqlplus-connect-string connect-string)) - (when font-lock-mode (font-lock-mode 1))))) - (buffer-list))))) - -(defun sqlplus-get-source-function (connect-string context string last-chunk) - (let* ((source-text (sqlplus-get-context-value context :source-text)) - (source-type (sqlplus-get-context-value context :source-type)) - (source-name (sqlplus-get-context-value context :source-name)) - (source-extension (sqlplus-get-context-value context :source-extension)) - (name (concat (upcase source-name) "." source-extension)) - finish) - (unless (sqlplus-get-context-value context :finished) - (setq source-text (concat source-text string)) - (sqlplus-set-context-value context :source-text source-text) - (when last-chunk - (if (string-match (regexp-quote sqlplus-end-of-source-sentinel) source-text) - (when (< (length source-text) (+ (length sqlplus-end-of-source-sentinel) 5)) - (setq last-chunk nil - finish "There is no such database object")) - (setq last-chunk nil))) - (when last-chunk - (setq finish t)) - (when finish - (sqlplus-set-context-value context :finished t) - (if (stringp finish) - (message finish) - (with-temp-buffer - (insert source-text) - (goto-char (point-min)) - (re-search-forward (regexp-quote sqlplus-end-of-source-sentinel) nil t) - (replace-match "") - (goto-char (point-max)) - (forward-comment (- (buffer-size))) - (when (equal source-type "TABLE") - (goto-char (point-min)) - (insert (format "table %s\n(\n" source-name)) - (goto-char (point-max)) - (delete-region (re-search-backward "," nil t) (point-max)) - (insert "\n);")) - (insert "\n/\n") - (unless (member source-type '("SEQUENCE" "TABLE" "SYNONYM" "INDEX")) - (insert "show err\n")) - (goto-char (point-min)) - (insert "create " (if (member source-type '("INDEX" "SEQUENCE" "TABLE")) "" "or replace ")) - (setq source-text (buffer-string))) - (with-current-buffer (get-buffer-create name) - (setq buffer-read-only nil) - (erase-buffer) - (insert source-text) - (goto-char (point-min)) - (set-visited-file-name (concat (file-name-as-directory temporary-file-directory) - (concat (make-temp-name (sqlplus-canonize-file-name (concat (upcase source-name) "_") "[$]")) "." source-extension))) - (rename-buffer name) - (condition-case err - (funcall (symbol-function 'plsql-mode)) - (error nil)) - (setq sqlplus-connect-string connect-string - buffer-read-only sqlplus-source-buffer-readonly-by-default-flag) - (save-buffer) - (save-selected-window - (let ((win (selected-window))) - (when (or (equal win (sqlplus-get-side-window)) - (and (fboundp 'ide-skel-side-view-window-p) - (funcall 'ide-skel-side-view-window-p win))) - (setq win (sqlplus-get-workbench-window))) - (set-window-buffer win (current-buffer)))))))))) - -(defun sqlplus-get-source (connect-string name type &optional schema-name) - "Fetch source for database object NAME in current or specified SCHEMA-NAME, and show the source in new buffer. -Possible TYPE values are in 'sqlplus-object-types'." - (interactive (let* ((thing (thing-at-point 'symbol)) - (obj-raw-name (read-string (concat "Object name" (if thing (concat " [default " thing "]") "") ": ") - nil - 'sqlplus-get-source-history (when thing thing))) - (completion-ignore-case t) - (type (completing-read "Object type: " (mapcar (lambda (type) (cons type nil)) sqlplus-object-types) nil t))) - (string-match "^\\(\\([^.]+\\)[.]\\)?\\(.*\\)$" obj-raw-name) - (list sqlplus-connect-string (match-string 3 obj-raw-name) type (match-string 2 obj-raw-name)))) - (setq type (upcase type)) - (let* ((sql - (cond ((equal type "SEQUENCE") - (format (concat "select 'sequence %s' || sequence_name || " - "decode( increment_by, 1, '', ' increment by ' || increment_by ) || " - "case when increment_by > 0 and max_value >= (1.0000E+27)-1 or increment_by < 0 and max_value = -1 then '' " - "else decode( max_value, null, ' nomaxvalue', ' maxvalue ' || max_value) end || " - "case when increment_by > 0 and min_value = 1 or increment_by < 0 and min_value <= (-1.0000E+26)+1 then '' " - "else decode( min_value, null, ' nominvalue', ' minvalue ' || min_value) end || " - "decode( cycle_flag, 'Y', ' cycle', '' ) || " - "decode( cache_size, 20, '', 0, ' nocache', ' cache ' || cache_size ) || " - "decode( order_flag, 'Y', ' order', '' ) " - "from %s where sequence_name = '%s'%s;") - (if schema-name (concat (upcase schema-name) ".") "") - (if schema-name "all_sequences" "user_sequences") - (upcase name) - (if schema-name (format " and sequence_owner = '%s'" (upcase schema-name)) ""))) - ((equal type "TABLE") - (format (concat "select ' ' || column_name || ' ' || data_type || " - "decode( data_type," - " 'VARCHAR2', '(' || to_char( data_length, 'fm9999' ) || ')'," - " 'NUMBER', decode( data_precision," - " null, ''," - " '(' || to_char( data_precision, 'fm9999' ) || decode( data_scale," - " null, ''," - " 0, ''," - " ',' || data_scale ) || ')' )," - " '') || " - "decode( nullable, 'Y', ' not null', '') || ','" - "from all_tab_columns " - "where owner = %s and table_name = '%s' " - "order by column_id;") - (if schema-name (concat "'" (upcase schema-name) "'") "user") - (upcase name))) - ((equal type "SYNONYM") - (format (concat "select " - "decode( owner, 'PUBLIC', 'public ', '' ) || 'synonym ' || " - "decode( owner, 'PUBLIC', '', user, '', owner || '.' ) || synonym_name || ' for ' || " - "decode( table_owner, user, '', table_owner || '.' ) || table_name || " - "decode( db_link, null, '', '@' || db_link ) " - "from all_synonyms where (owner = 'PUBLIC' or owner = %s) and synonym_name = '%s';") - (if schema-name (concat "'" (upcase schema-name) "'") "user") - (upcase name))) - ((equal type "VIEW") - (if schema-name (format "select 'view %s.' || view_name || ' as ', text from all_views where owner = '%s' and view_name = '%s';" - (upcase schema-name) (upcase schema-name) (upcase name)) - (format "select 'view ' || view_name || ' as ', text from user_views where view_name = '%s';" (upcase name)))) - ((or (equal type "PROCEDURE") - (equal type "FUNCTION")) - (if schema-name (format "select text from all_source where owner = '%s' and name = '%s' and type in ('PROCEDURE', 'FUNCTION') order by line;" - (upcase schema-name) (upcase name)) - (format "select text from user_source where name = '%s' and type in ('PROCEDURE', 'FUNCTION') order by line;" - (upcase name)))) - (t - (if schema-name (format "select text from all_source where owner = '%s' and name = '%s' and type = '%s' order by line;" - (upcase schema-name) (upcase name) (upcase type)) - (format "select text from user_source where name = '%s' and type = '%s' order by line;" - (upcase name) (upcase type)))))) - (prolog-commands (list "set echo off" - "set newpage 0" - "set space 0" - "set pagesize 0" - "set feedback off" - "set long 4000" - "set longchunksize 4000" - "set wrap on" - "set heading off" - "set trimspool on" - "set linesize 4000" - "set timing off")) - (extension (if (equal (downcase type) "package") "pks" "sql")) - (source-buffer-name (concat " " (upcase name) "." extension)) - (context-options (list (cons :dont-parse-result 'dont-parse) - (cons :source-text nil) - (cons :source-type type) - (cons :source-name name) - (cons :source-extension extension) - (cons :result-function 'sqlplus-get-source-function)))) - (sqlplus-execute connect-string sql context-options prolog-commands t t) - (sqlplus-execute connect-string (format "select '%s' from dual;" sqlplus-end-of-source-sentinel) context-options prolog-commands t t))) - -(defun sqlplus-canonize-file-name (file-name regexp) - (while (string-match regexp file-name) - (setq file-name (replace-match "!" nil t file-name))) - file-name) - -(defun sqlplus-define-user-variables (string) - (when string - (let (variables-list - define-commands - (index 0)) - (while (setq index (string-match "&+\\(\\(\\sw\\|\\s_\\)+\\)" string index)) - (let ((var-name (match-string 1 string))) - (setq index (+ 2 index)) - (unless (member var-name variables-list) - (push var-name variables-list)))) - (dolist (var-name (reverse variables-list)) - (let* ((default-value (gethash var-name sqlplus-user-variables nil)) - (value (read-string (format (concat "Variable value for %s" (if default-value (format " [default: %s]" default-value) "") ": ") var-name) - nil 'sqlplus-user-variables-history default-value))) - (unless value - (error "There is no value for %s defined" var-name)) - (setq define-commands (cons (format "define %s=%s" var-name value) define-commands)) - (puthash var-name value sqlplus-user-variables))) - define-commands))) - -(defun sqlplus-parse-region (start end) - (let ((sql (buffer-substring start end))) - (save-excursion - ;; Strip whitespace from beginning and end, just to be neat. - (if (string-match "\\`[ \t\n]+" sql) - (setq sql (substring sql (match-end 0)))) - (if (string-match "[ \t\n]+\\'" sql) - (setq sql (substring sql 0 (match-beginning 0)))) - (setq sql (replace-regexp-in-string "^[ \t]*--.*[\n]?" "" sql)) - (when (zerop (length sql)) - (error "Nothing to send")) - ;; Now the string should end with an sqlplus-terminator. - (if (not (string-match "\\(;\\|/\\|[.]\\)\\'" sql)) - (setq sql (concat sql ";")))) - sql)) - -(defun sqlplus-show-html-fun (context connect-string begin end interrupted) - (let ((output-file (expand-file-name (substitute-in-file-name sqlplus-html-output-file-name))) - (sql (sqlplus-get-context-value context :htmlized-html-command)) - (html (buffer-substring begin end)) - (header-html (eval sqlplus-html-output-header))) - (let ((case-fold-search t)) - (while (and (string-match "\\`[ \t\n]*\\(
\\|

\\)?" html) (match-string 0 html) (> (length (match-string 0 html)) 0)) - (setq html (replace-match "" nil t html))) - (when (> (length html) 0) - (sqlplus-execute connect-string "" nil '("set markup html off") 'no-echo 'dont-show-output-buffer) - (find-file output-file) - (erase-buffer) - (insert (concat "\n" - "\n" - " \n" - (sqlplus-get-context-value context :head) "\n" - "\n" - "\n" - (if header-html header-html "") - (if sqlplus-html-output-sql sql "") - "

" - html "\n" - "\n" - "")) - (goto-char (point-min)) - (save-buffer))))) - -(defun sqlplus-refine-html (html remove-entities) - (string-match "\\`\"?\\(\\(.\\|\n\\)*?\\)\"?[ \t\n]*\\'" html) - (setq html (match-string 1 html)) - (if remove-entities - (progn - (while (string-match """ html) (setq html (replace-match "\"" nil t html))) - (while (string-match "<" html) (setq html (replace-match "<" nil t html))) - (while (string-match ">" html) (setq html (replace-match ">" nil t html))) - (while (string-match "&" html) (setq html (replace-match "&" nil t html)))) - (while (string-match "&" html) (setq html (replace-match "&" nil t html))) - (while (string-match ">" html) (setq html (replace-match ">" nil t html))) - (while (string-match "<" html) (setq html (replace-match "<" nil t html))) - (while (string-match "\"" html) (setq html (replace-match """ nil t html)))) - (string-match "\\`\"?\\(\\(.\\|\n\\)*?\\)\"?[ \t\n]*\\'" html) - (setq html (match-string 1 html)) - html) - -(defun sqlplus-show-markup-fun (context connect-string begin end interrupted) - (goto-char begin) - (let ((head "") - (body "") - preformat) - (when (re-search-forward (concat "\\bHEAD\\b[ \t\n]*\\(\\(.\\|\n\\)*\\)[ \t\n]*" - "\\bBODY\\b[ \t\n]*\\(\\(.\\|\n\\)*\\)[ \t\n]*" - "\\bTABLE\\b\\(.\\|\n\\)*PREFORMAT[ \t\n]+\\(ON\\|OFF\\)\\b") nil t) - (setq head (match-string 1) - body (match-string 3) - preformat (string= (downcase (match-string 6)) "on")) - (setq head (sqlplus-refine-html head t) - body (sqlplus-refine-html body t)) - (let ((context-options (list (cons :result-function 'sqlplus-show-html-fun) - (cons :current-command-input-buffer-name (sqlplus-get-context-value context :current-command-input-buffer-name)) - (cons :html-command (sqlplus-get-context-value context :html-command)) - (cons :htmlized-html-command (sqlplus-get-context-value context :htmlized-html-command)) - (cons :head head) - (cons :body body))) - (prolog-commands (list "set wrap on" - (format "set linesize %S" (if preformat (1- (frame-width)) 4000)) - "set pagesize 50000" - "btitle off" - "repfooter off" - "set markup html on"))) - (sqlplus-execute connect-string (sqlplus-get-context-value context :html-command) context-options prolog-commands 'no-echo 'dont-show-output-buffer))))) - -(defun sqlplus-htmlize (begin end) - (let (result) - (when (featurep 'htmlize) - (let* ((htmlize-output-type 'font) - (buffer (funcall (symbol-function 'htmlize-region) begin end))) - (with-current-buffer buffer - (goto-char 1) - (re-search-forward "

[ \t\n]*\\(\\(.\\|\n\\)*?\\)[ \t\n]*
" nil t) - (setq result (concat "
" (match-string 1) "
"))) - (kill-buffer buffer))) - (unless result - (setq result (sqlplus-refine-html (buffer-substring begin end) nil))) - result)) - -(defun sqlplus--send (connect-string sql &optional arg no-echo html start end) - (if html - (let* ((context-options (list (cons :result-function 'sqlplus-show-markup-fun) - (cons :current-command-input-buffer-name (buffer-name)) - (cons :html-command sql) - (cons :htmlized-html-command (if (and (eq sqlplus-html-output-sql 'elegant) (featurep 'htmlize)) - (sqlplus-htmlize start end) - (sqlplus-refine-html sql nil)))))) - (sqlplus-execute connect-string "show markup\n" context-options nil 'no-echo 'dont-show-output-buffer)) - (let* ((no-parse (consp arg)) - (context-options (list (cons :dont-parse-result (consp arg)) - (cons :columns-count (if (integerp arg) - (if (zerop arg) nil arg) - (if sqlplus-multi-output-tables-default-flag nil 1))) - (cons :current-command-input-buffer-name (buffer-name)))) - (prolog-commands (list (format "set wrap %s" (if no-parse "on" sqlplus-default-wrap)) - (format "set linesize %s" (if (consp arg) (1- (frame-width)) 4000)) - (format "set pagesize %S" (if no-parse 50000 sqlplus-pagesize)) - (format "btitle %s" - (if no-parse "off" (concat "left '" sqlplus-page-separator "'"))) - (format "repfooter %s" - (if no-parse "off" (concat "left '" sqlplus-repfooter "'")))))) - (sqlplus-execute connect-string sql context-options prolog-commands no-echo)))) - -(defun sqlplus-explain () - (interactive) - (sqlplus-check-connection) - (when (buffer-file-name) - (condition-case err - (save-buffer) - (error (message (error-message-string err))))) - (let* ((region (sqlplus-mark-current))) - (setq sqlplus-region-beginning-pos (car region) - sqlplus-region-end-pos (cdr region)) - (if (and sqlplus-region-beginning-pos sqlplus-region-end-pos) - (let ((sql (sqlplus-parse-region (car region) (cdr region))) - (case-fold-search t)) - (if (string-match "^[\n\t ]*explain[\n\t ]+plan[\t\t ]+for\\>" sql) - (sqlplus--send sqlplus-connect-string sql nil nil nil) - (setq sql (concat (sqlplus-fontify-string sqlplus-connect-string "explain plan for ") sql)) - (sqlplus--send sqlplus-connect-string sql nil nil nil))) - (error "Point doesn't indicate any command to execute")))) - -(defun sqlplus-send-region (arg start end &optional no-echo html) - "Send a region to the SQL*Plus process." - (interactive "P\nr") - (sqlplus-check-connection) - (sqlplus--send sqlplus-connect-string (sqlplus-parse-region start end) arg no-echo html start end)) - -(defun sqlplus-user-command (connect-string sql result-proc) - (let* ((context-options (list (cons :user-function result-proc) - (cons :columns-count 1))) - (prolog-commands (list (format "set wrap %s" sqlplus-default-wrap) - "set linesize 4000" - "set timing off" - "set pagesize 50000" - "btitle off" - (format "repfooter %s" (concat "left '" sqlplus-repfooter "'"))))) - (sqlplus-execute connect-string sql context-options prolog-commands 'no-echo 'dont-show-output-buffer))) - - -(defun sqlplus-hidden-select (connect-string sql result-proc) - (let* ((context-options (list (cons :result-table-function result-proc) - (cons :columns-count 1))) - (prolog-commands (list (format "set wrap %s" sqlplus-default-wrap) - "set linesize 4000" - "set pagesize 50000" - "btitle off" - (format "repfooter %s" (concat "left '" sqlplus-repfooter "'"))))) - (sqlplus-execute connect-string sql context-options prolog-commands 'no-echo 'dont-show-output-buffer))) - -;; "appi[nfo]" -> '("appinfo" "appi") -(defun sqlplus-full-forms (name) - (if (string-match "\\`\\([^[]*\\)?\\[\\([^]]+\\)\\]\\([^]]*\\)?\\'" name) - (list (replace-match "\\1\\2\\3" t nil name) - (replace-match "\\1\\3" t nil name)) - (list name))) - -(defun sqlplus-get-canonical-command-name (name) - (let ((association (assoc (downcase name) sqlplus-system-variables))) - (if association (cdr association) name))) - - -(defun sqlplus-execute (connect-string sql context-options prolog-commands &optional no-echo dont-show-output-buffer) - (sqlplus-verify-buffer connect-string) - (let* ((process-buffer-name (sqlplus-get-process-buffer-name connect-string)) - (process-buffer (get-buffer process-buffer-name)) - (output-buffer-name (sqlplus-get-output-buffer-name connect-string)) - (echo-prolog (concat "\n" sqlplus-output-separator " " (current-time-string) "\n\n")) - (process (get-buffer-process process-buffer-name)) - set-prolog-commands commands command-no - (history-buffer (sqlplus-get-history-buffer connect-string)) - (defines (sqlplus-define-user-variables sql))) - (setq prolog-commands (append (sqlplus-initial-strings) prolog-commands)) - (when process-buffer - (with-current-buffer process-buffer - (setq command-no sqlplus-command-seq) - (incf sqlplus-command-seq) - (setq context-options (append (list (cons :id command-no) (cons :sql sql)) (copy-list context-options))) - (setq sqlplus-command-contexts (reverse (cons context-options (reverse sqlplus-command-contexts)))))) - ;; move all "set" commands from prolog-commands to set-prolog-commands - (setq prolog-commands (delq nil (mapcar (lambda (command) (if (string-match "^\\s-*[sS][eE][tT]\\s-+" command) - (progn - (setq set-prolog-commands - (append set-prolog-commands - (list (substring command (length (match-string 0 command)))))) - nil) - command)) - prolog-commands))) - ;; remove duplicates commands from prolog-commands (last entries win) - (let (spc-alist) - (dolist (command prolog-commands) - (let* ((name (progn (string-match "^\\S-+" command) (downcase (match-string 0 command)))) - (association (assoc name spc-alist))) - (if (and association (not (equal name "define"))) - (setcdr association command) - (setq spc-alist (cons (cons name command) spc-alist))))) - (setq prolog-commands (mapcar (lambda (pair) (cdr pair)) (reverse spc-alist)))) - - (setq prolog-commands (append prolog-commands defines)) - (setq set-prolog-commands (append (list (format "sqlprompt '%s%S%s'" sqlplus-prompt-prefix command-no sqlplus-prompt-suffix)) set-prolog-commands)) - - ;; remove duplicates from set-prolog-commands (last entries win) - (let (spc-alist) - (dolist (set-command set-prolog-commands) - (let* ((name (progn (string-match "^\\S-+" set-command) (downcase (sqlplus-get-canonical-command-name (match-string 0 set-command))))) - (association (assoc name spc-alist))) - (if association - (setcdr association set-command) - (setq spc-alist (cons (cons name set-command) spc-alist))))) - (setq set-prolog-commands (mapcar (lambda (pair) (cdr pair)) (reverse spc-alist)))) - - (setq commands (concat (mapconcat 'identity (append - (list (concat "set " (mapconcat 'identity set-prolog-commands " "))) - prolog-commands - (list sql)) "\n") - "\n")) - (when history-buffer - (with-current-buffer history-buffer - (goto-char (point-max)) - (insert echo-prolog) - (insert (concat commands "\n")))) - (let ((saved-window (cons (selected-window) (window-buffer (selected-window)))) - (input-buffer (get-buffer (sqlplus-get-input-buffer-name connect-string)))) - (unless no-echo - (sqlplus-echo-in-buffer output-buffer-name echo-prolog) - (let ((old-suppress-show-output-buffer sqlplus-suppress-show-output-buffer)) - (unwind-protect - (save-selected-window - (setq sqlplus-suppress-show-output-buffer dont-show-output-buffer) - (when (and output-buffer-name - (get-buffer output-buffer-name)) - (with-current-buffer (get-buffer output-buffer-name) - (sqlplus-buffer-bottom connect-string) - (sqlplus-buffer-mark-current connect-string)))) - (setq sqlplus-suppress-show-output-buffer old-suppress-show-output-buffer))) - (sqlplus-echo-in-buffer output-buffer-name (concat sql "\n\n") nil t) - (save-selected-window - (unless dont-show-output-buffer - (when (and output-buffer-name - (get-buffer output-buffer-name)) - (with-current-buffer (get-buffer output-buffer-name) - (sqlplus-buffer-redisplay-current connect-string)))))) - (if (window-live-p (car saved-window)) - (select-window (car saved-window)) - (if (get-buffer-window (cdr saved-window)) - (select-window (get-buffer-window (cdr saved-window))) - (when (and input-buffer - (get-buffer-window input-buffer)) - (select-window (get-buffer-window input-buffer)))))) - (send-string process commands))) - -(defun sqlplus-fontify-string (connect-string string) - (let* ((input-buffer-name (sqlplus-get-input-buffer-name connect-string)) - (input-buffer (when input-buffer-name (get-buffer input-buffer-name))) - (result string)) - (when (and input-buffer (buffer-live-p input-buffer)) - (with-current-buffer input-buffer - (save-excursion - (goto-char (point-max)) - (let ((pos (point))) - (insert "\n\n") - (insert string) - (font-lock-fontify-block (+ (count "\n" string) 2)) - (setq result (buffer-substring (+ pos 2) (point-max))) - (delete-region pos (point-max)))))) - result)) - -(defvar plsql-mark-backward-list nil) - -(unless plsql-mode-map - (setq plsql-mode-map (copy-keymap sql-mode-map)) - (define-key plsql-mode-map "\M-." 'sqlplus-file-get-source) - (define-key plsql-mode-map [C-down-mouse-1] 'sqlplus-mouse-select-identifier) - (define-key plsql-mode-map [C-mouse-1] 'sqlplus-file-get-source-mouse) - (define-key plsql-mode-map "\C-c\C-g" 'plsql-begin) - (define-key plsql-mode-map "\C-c\C-q" 'plsql-loop) - (define-key plsql-mode-map "\C-c\C-z" 'plsql-if) - (define-key plsql-mode-map "\C-c\C-c" 'plsql-compile) - (define-key plsql-mode-map [tool-bar plsql-prev-mark] - (list 'menu-item "Previous mark" 'plsql-prev-mark - :image plsql-prev-mark-image - :enable 'plsql-mark-backward-list))) - -(defvar plsql-continue-anyway nil - "Local in input buffer (plsql-mode).") -(make-variable-buffer-local 'plsql-continue-anyway) - -(defun sqlplus-switch-to-buffer (buffer-or-path &optional line-no) - (if (fboundp 'ide-skel-select-buffer) - (funcall 'ide-skel-select-buffer buffer-or-path line-no) - (let ((buffer (or (and (bufferp buffer-or-path) buffer-or-path) - (find-file-noselect buffer-or-path)))) - (switch-to-buffer buffer) - (goto-line line-no)))) - -(defun plsql-prev-mark () - (interactive) - (let (finish) - (while (and plsql-mark-backward-list - (not finish)) - (let* ((marker (pop plsql-mark-backward-list)) - (buffer (marker-buffer marker)) - (point (marker-position marker))) - (set-marker marker nil) - (when (and buffer - (or (not (eq (current-buffer) buffer)) - (not (eql (point) point)))) - (sqlplus-switch-to-buffer buffer) - (goto-char point) - (setq finish t)))) - ;; (message "BACK: %S -- FORWARD: %S" plsql-mark-backward-list plsql-mark-forward-list) - (force-mode-line-update) - (sit-for 0))) - -(defun sqlplus-mouse-select-identifier (event) - (interactive "@e") - (with-selected-window (posn-window (event-start event)) - (save-excursion - (let* ((point (posn-point (event-start event))) - (identifier (progn (goto-char point) (thing-at-point 'symbol))) - (ident-regexp (when identifier (regexp-quote identifier)))) - (push (point-marker) plsql-mark-backward-list) - (when ident-regexp - (save-excursion - (while (not (looking-at ident-regexp)) - (backward-char)) - (sqlplus-mouse-set-selection (current-buffer) (point) (+ (point) (length identifier)) 'highlight))))))) - -(defun sqlplus-file-get-source-mouse (event) - (interactive "@e") - (let (ident) - (with-selected-window (posn-window (event-start event)) - (save-excursion - (goto-char (posn-point (event-start event))) - (setq ident (thing-at-point 'symbol)))) - (sqlplus-file-get-source sqlplus-connect-string ident nil) - (sit-for 0))) - -(defun plsql-compile (&optional arg) - "Save buffer and send its content to SQL*Plus. -You must enter connect-string if buffer is disconnected; with -argument you can change connect-string even for connected -buffer." - (interactive "P") - (let (aborted - exists-show-error-command - (case-fold-search t)) - (save-window-excursion - (save-excursion - ;; ask for "/" and "show err" if absent - (let ((old-point (point)) - show-err-needed - exists-run-command best-point finish) - (goto-char (point-min)) - (setq show-err-needed (let ((case-fold-search t)) - (re-search-forward "create\\([ \t\n]+or[ \t\n]+replace\\)?[ \t\n]+\\(package\\|procedure\\|function\\|trigger\\|view\\|type\\)" nil t))) - (goto-char (point-max)) - (forward-comment (- (buffer-size))) - (re-search-backward "^\\s-*show\\s-+err" nil t) - (forward-comment (- (buffer-size))) - (condition-case nil (forward-char) (error nil)) - (setq best-point (point)) - (goto-char (point-min)) - (setq exists-run-command (re-search-forward "^\\s-*/[^*]" nil t)) - (goto-char (point-min)) - (setq exists-show-error-command (or (not show-err-needed) (re-search-forward "^\\s-*show\\s-+err" nil t))) - (while (and (not plsql-continue-anyway) (or (not exists-run-command) (not exists-show-error-command)) (not finish)) - (goto-char best-point) - (let ((c (read-char - (format "Cannot find %s. (I)nsert it at point, (A)bort, (C)ontinue anyway" - (concat (unless exists-run-command "\"/\"") - (unless (or exists-run-command exists-show-error-command) " and ") - (unless exists-show-error-command "\"show err\"")))))) - (cond ((memq c '(?i ?I)) - (unless exists-run-command (insert "/\n")) - (unless exists-show-error-command (insert "show err\n")) - (setq finish t)) - ((memq c '(?a ?A)) - (setq aborted t - finish t)) - ((memq c '(?c ?C)) - (setq plsql-continue-anyway t) - (setq finish t)))))))) - (unless aborted - (save-buffer) - (let* ((buffer (current-buffer)) - (input-buffer-name (buffer-name)) - (file-path (sqlplus-file-truename (buffer-file-name))) - (compilation-buffer (get-buffer sqlplus-plsql-compilation-results-buffer-name)) - (context-options (list (cons :last-compiled-file-path file-path) - (cons :current-command-input-buffer-name input-buffer-name) - (cons :compilation-expected exists-show-error-command))) - (prolog-commands (list (format "set wrap %s" sqlplus-default-wrap) - "set linesize 4000" - (format "set pagesize %S" sqlplus-pagesize) - (format "btitle %s" (concat "left '" sqlplus-page-separator "'")) - (format "repfooter %s" (concat "left '" sqlplus-repfooter "'"))))) - (when (or (not sqlplus-connect-string) - arg) - (setq sqlplus-connect-string (car (sqlplus-read-connect-string nil (caar (sqlplus-divide-connect-strings)))))) - (sqlplus sqlplus-connect-string nil (when plsql-auto-parse-errors-flag 'dont-show-output-buffer)) - (set-buffer buffer) - (force-mode-line-update) - (when font-lock-mode (font-lock-mode 1)) - (when compilation-buffer - (with-current-buffer compilation-buffer - (let ((inhibit-read-only t)) - (erase-buffer)))) - (setq prolog-commands (append prolog-commands (sqlplus-define-user-variables (buffer-string)))) - (sqlplus-execute sqlplus-connect-string (concat "@" file-path) context-options prolog-commands nil exists-show-error-command))))) - -(defun plsql-parse-errors (last-compiled-file-path) - (let ((file-name (file-name-nondirectory last-compiled-file-path)) - error-list) - (put-text-property 0 (length file-name) 'face 'font-lock-warning-face file-name) - (save-excursion - (when (re-search-forward "^LINE/COL\\>" nil t) - (beginning-of-line 3) - (while (re-search-forward "^\\([0-9]+\\)/\\([0-9]+\\)\\s-*\\(\\(.\\|\n\\)*?\\)[\r\t ]*\n\\([\r\t ]*\\(\n\\|\\'\\)\\|[0-9]+\\)" nil t) - (let ((line-no (match-string 1)) - (column-no (match-string 2)) - (errmsg (match-string 3)) - label) - (goto-char (match-beginning 5)) - (while (string-match "\\s-\\s-+" errmsg) - (setq errmsg (replace-match " " nil t errmsg))) - (put-text-property 0 (length line-no) 'face 'font-lock-variable-name-face line-no) - (put-text-property 0 (length column-no) 'face 'font-lock-variable-name-face column-no) - (setq label (concat file-name ":" line-no ":" column-no ": " errmsg)) - (put-text-property 0 (length label) 'mouse-face 'highlight label) - (push label error-list))))) - (save-excursion - (while (re-search-forward "\\s-\\([0-9]+\\):\n\\(ORA-[0-9]+[^\n]*\\)\n" nil t) - (let ((line-no (match-string 1)) - (errmsg (match-string 2)) - label) - (put-text-property 0 (length line-no) 'face 'font-lock-variable-name-face line-no) - (setq label (concat file-name ":" line-no ": " errmsg)) - (put-text-property 0 (length label) 'mouse-face 'highlight label) - (push label error-list)))) - (save-excursion - (while (re-search-forward "\\(\\(SP2\\|CPY\\)-[0-9]+:[^\n]*\\)\n" nil t) - (let ((errmsg (match-string 1)) - label) - (setq label (concat file-name ":" errmsg)) - (put-text-property 0 (length label) 'mouse-face 'highlight label) - (push label error-list)))) - error-list)) - -(defun plsql-display-errors (dir error-list) - (let ((buffer (get-buffer-create sqlplus-plsql-compilation-results-buffer-name))) - (save-selected-window - (save-excursion - (set-buffer buffer) - (let ((inhibit-read-only t)) - (erase-buffer) - (setq default-directory dir) - (insert (format "cd %s\n" default-directory)) - (insert (format "Compilation results\n")) - (compilation-minor-mode 1) - (dolist (msg (reverse error-list)) - (insert msg) - (insert "\n")) - (insert (format "\n(%s errors)\n" (length error-list)))) - (when (and error-list (fboundp 'compile-reinitialize-errors) (funcall (symbol-function 'compile-reinitialize-errors) t))) - (switch-to-buffer-other-window buffer) - (goto-line 1) - (goto-line 3))))) - - -(defun sqlplus-file-truename (file-name) - (if file-name - (file-truename file-name) - file-name)) - -(defun sqlplus--hidden-buffer-name-p (buffer-name) - (equal (elt buffer-name 0) 32)) - -(defun sqlplus-get-workbench-window () - "Return upper left window" - (if (fboundp 'ide-get-workbench-window) - (funcall (symbol-function 'ide-get-workbench-window)) - (let (best-window) - (dolist (win (copy-list (window-list nil 1))) - (when (not (sqlplus--hidden-buffer-name-p (buffer-name (window-buffer win)))) - (if (null best-window) - (setq best-window win) - (let* ((best-window-coords (window-edges best-window)) - (win-coords (window-edges win))) - (when (or (< (cadr win-coords) (cadr best-window-coords)) - (and (= (cadr win-coords) (cadr best-window-coords)) - (< (car win-coords) (car best-window-coords)))) - (setq best-window win)))))) - ;; (message "BEST-WINDOW: %S" best-window) - best-window))) - -(defun sqlplus-get-side-window () - "Return bottom helper window, or nil if not found" - (if (fboundp 'ide-get-side-window) - (funcall (symbol-function 'ide-get-side-window)) - (let* ((workbench-window (sqlplus-get-workbench-window)) - best-window) - (dolist (win (copy-list (window-list nil 1))) - (when (and (not (sqlplus--hidden-buffer-name-p (buffer-name (window-buffer win)))) - (not (eq win workbench-window))) - (if (null best-window) - (setq best-window win) - (when (> (cadr (window-edges win)) (cadr (window-edges best-window))) - (setq best-window win))))) - best-window))) - -(defvar sqlplus--idle-tasks nil) - -(defun sqlplus--enqueue-task (fun &rest params) - (setq sqlplus--idle-tasks (reverse (cons (cons fun params) (reverse sqlplus--idle-tasks))))) - -(defun sqlplus--execute-tasks () - (dolist (task sqlplus--idle-tasks) - (let ((fun (car task)) - (params (cdr task))) - (condition-case var - (apply fun params) - (error (message (error-message-string var)))))) - (setq sqlplus--idle-tasks nil)) - -(add-hook 'post-command-hook 'sqlplus--execute-tasks) - -(defvar sqlplus-mouse-selection nil) - -(defun sqlplus-mouse-set-selection (buffer begin end mouse-face) - (interactive "@e") - (let ((old-buffer-modified-p (buffer-modified-p))) - (when (buffer-live-p buffer) - (with-current-buffer buffer - (unwind-protect - (put-text-property begin end 'mouse-face mouse-face) - (set-buffer-modified-p old-buffer-modified-p) - (setq sqlplus-mouse-selection (when mouse-face (list buffer begin end)))))))) - -(defun sqlplus-clear-mouse-selection () - (when (and sqlplus-mouse-selection - (eq (event-basic-type last-input-event) 'mouse-1) - (not (memq 'down (event-modifiers last-input-event)))) - (sqlplus-mouse-set-selection (car sqlplus-mouse-selection) (cadr sqlplus-mouse-selection) (caddr sqlplus-mouse-selection) nil))) - -(add-hook 'plsql-mode-hook - (lambda () - (modify-syntax-entry ?. "." sql-mode-syntax-table) - (setq sqlplus-font-lock-keywords-1 (sqlplus-set-font-lock-emacs-structures-for-level 1 major-mode)) - (setq sqlplus-font-lock-keywords-2 (sqlplus-set-font-lock-emacs-structures-for-level 2 major-mode)) - (setq sqlplus-font-lock-keywords-3 (sqlplus-set-font-lock-emacs-structures-for-level 3 major-mode)) - (setq font-lock-defaults '((sqlplus-font-lock-keywords-1 sqlplus-font-lock-keywords-2 sqlplus-font-lock-keywords-3) - nil t ((?_ . "w") (?$ . "w") (?# . "w") (?& . "w")))) - (orcl-mode 1) - (use-local-map plsql-mode-map) ; std - (add-hook 'post-command-hook 'sqlplus-clear-mouse-selection nil t))) - -(setq recentf-exclude (cons (concat "^" (regexp-quote (file-name-as-directory temporary-file-directory))) - (when (boundp 'recentf-exclude) - recentf-exclude))) - -(when (fboundp 'ide-register-persistent-var) - (funcall (symbol-function 'ide-register-persistent-var) 'sqlplus-connect-strings-alist - ;; save proc - (lambda (alist) - (mapcar (lambda (pair) - (if sqlplus-save-passwords - pair - (cons (car pair) nil))) - alist)) - ;; load proc - (lambda (alist) - (setq sqlplus-connect-string-history (mapcar (lambda (pair) (car pair)) alist)) - alist))) - -(defun get-all-dirs (root-dir) - (let ((list-to-see (list root-dir)) - result-list) - (while list-to-see - (let* ((dir (pop list-to-see)) - (children (directory-files dir t))) - (push dir result-list) - (dolist (child children) - (when (and (not (string-match "^[.]+"(file-name-nondirectory child))) - (file-directory-p child)) - (push child list-to-see))))) - result-list)) - -(defun sqlplus-command-line () - (interactive) - (if (comint-check-proc "*SQL*") - (pop-to-buffer "*SQL*") - (let* ((pair (sqlplus-read-connect-string nil (when sqlplus-connect-string (car (refine-connect-string sqlplus-connect-string))))) - (qualified-cs (car pair)) - (refined-cs (cadr pair)) - (password (cdr (refine-connect-string qualified-cs)))) - (if (string-match "^\\([^@]*\\)@\\(.*\\)$" refined-cs) - (let ((old-sql-get-login-fun (symbol-function 'sql-get-login))) - (setq sql-user (match-string 1 refined-cs) - sql-password password - sql-database (match-string 2 refined-cs)) - (unwind-protect - (progn - (fset 'sql-get-login (lambda (&rest whatever) nil)) - (sql-oracle)) - (fset 'sql-get-login old-sql-get-login-fun))) - (error "Connect string must be in form login@sid"))))) - -(defun sqlplus-find-tnsnames () - (interactive) - (let* ((ora-home-dir (or (getenv "ORACLE_HOME") (error "Environment variable ORACLE_HOME not set"))) - found - (list-to-see (list ora-home-dir))) - (while (and (not found) list-to-see) - (let* ((dir (pop list-to-see)) - (children (condition-case nil (directory-files dir t) (error nil)))) - (dolist (child children) - (unless found - (if (string-match "admin.tnsnames\.ora$" child) - (progn - (setq found t) - (find-file child)) - (if (and (not (string-match "^[.]+" (file-name-nondirectory child))) - (file-directory-p child)) - (push child list-to-see))))))) - (unless found - (message "File tnsnames.ora not found")))) - -(defun sqlplus-remove-help-echo (list) - "Remove all HELP-ECHO properties from mode-line format value" - (when (listp list) - (if (eq (car list) :propertize) - (while list - (when (eq (cadr list) 'help-echo) - (setcdr list (cdddr list))) - (setq list (cdr list))) - (dolist (elem list) (sqlplus-remove-help-echo elem))))) - -(when (>= emacs-major-version 22) - (sqlplus-remove-help-echo mode-line-modes)) - -(defun sqlplus-get-project-root-dir (path) - (let ((path (file-truename (substitute-in-file-name path))) - dir) - (if (file-directory-p path) - (progn - (setq path (file-name-as-directory path)) - (setq dir path)) - (setq dir (file-name-as-directory (file-name-directory path)))) - (let ((last-project-dir dir) - (dir-list (split-string dir "/")) - is-project) - (while (directory-files dir t (concat "^" "\\(\\.svn\\|CVS\\)$") t) - (setq is-project t - last-project-dir (file-name-as-directory dir) - dir (file-name-as-directory (file-name-directory (directory-file-name dir))))) - (when is-project - (let ((list (nthcdr (1- (length (split-string last-project-dir "/"))) dir-list))) - (cond ((equal (car list) "trunk") - (setq last-project-dir (concat last-project-dir "trunk/"))) - ((member (car list) '("branches" "tags")) - (setq last-project-dir (concat last-project-dir (car list) "/" (when (cdr list) (concat (cadr list) "/"))))) - (t))) - (setq dir last-project-dir))) - dir)) - -(defvar sqlplus-search-buffer-name "*search*") - -(defvar sqlplus-object-types-regexps - '( - ("TABLE" . "\\bcreate\\s+table\\s+[^(]*?\\b#\\b") - ("VIEW" . "\\bview\\s+.*?\\b#\\b") - ("INDEX" . "\\b(constraint|index)\\s+.*?\\b#\\b") - ("TRIGGER" . "\\btrigger\\s+.*?\\b#\\b") - ("SEQUENCE" . "\\bsequence\\s+.*?\\b#\\b") - ("SYNONYM" . "\\bsynonym\\s+.*?\\b#\\b") - ("SCHEMA" . "\\bcreate\\b.*?\\buser\\b.*?\\b#\\b") - ("PROCEDURE" . "\\b(procedure|function)\\b[^(]*?\\b#\\b") - ("PACKAGE" . "\\bpackage\\s+.*?\\b#\\b"))) - -(defvar sqlplus-root-dir-history nil) - -(defvar sqlplus-compare-report-buffer-name "*Comparation Report*") - -(defun sqlplus-compare-schema-to-filesystem (&optional arg) - (interactive "P") - (let* ((connect-string sqlplus-connect-string) - (objects-alist (sqlplus-get-objects-alist sqlplus-connect-string)) - (report-buffer (get-buffer-create sqlplus-compare-report-buffer-name)) - (types-length (- (length objects-alist) 2)) - (root-dir (or (sqlplus-get-root-dir connect-string) - (sqlplus-set-project-for-connect-string connect-string) - (error "Root dir not set"))) - (counter 0)) - (unless objects-alist - (error "Not ready yet - try again later")) - (save-excursion - (switch-to-buffer-other-window report-buffer)) - (with-current-buffer report-buffer - (let ((inhibit-read-only t)) - (erase-buffer) - (insert (format "%s %s vs. %s\n\n" (current-time-string) (car (refine-connect-string connect-string)) root-dir)) - (sit-for 0))) - (dolist (pair objects-alist) - (let ((type (upcase (format "%s" (car pair)))) - (names (cdr pair))) - (unless (member type '("SCHEMA" "COLUMN")) - (incf counter) - (message (format "%s (%d/%d)..." type counter types-length)) - (dolist (name-pair names) - (let* ((name (car name-pair)) - (grep-result (sqlplus-file-get-source sqlplus-connect-string name type 'batch-mode))) - (with-current-buffer report-buffer - (let ((inhibit-read-only t)) - (goto-char (point-max)) - (cond ((eql (length grep-result) 0) - (insert (format "%s %s: not found\n" type name)) - (sit-for 0)) - ((and arg - (> (length grep-result) 1)) - (insert (format "%s %s:\n" type name)) - (dolist (list grep-result) - (insert (format " %s:%d %s\n" (car list) (cadr list) (caddr list)))) - (sit-for 0)) - (t))))))))) - (message "Done.") - (with-current-buffer report-buffer - (goto-char (point-min))))) - -(defun sqlplus-proj-find-files (dir file-predicate &optional dir-predicate) - (setq dir (file-name-as-directory (file-truename (substitute-in-file-name dir)))) - (let (result-list) - (mapcar (lambda (path) - (if (file-directory-p path) - (when (and (file-accessible-directory-p path) - (or (null dir-predicate) - (funcall dir-predicate path))) - (setq result-list (append result-list (sqlplus-proj-find-files path file-predicate dir-predicate)))) - (when (or (null file-predicate) - (funcall file-predicate path)) - (push path result-list)))) - (delete (concat (file-name-as-directory dir) ".") - (delete (concat (file-name-as-directory dir) "..") - (directory-files dir t nil t)))) - result-list)) - -(defvar sqlplus-proj-ignored-extensions '("semantic.cache")) - -(defun sqlplus-mode-file-regexp-list (mode-symbol-list) - (delq nil (mapcar (lambda (element) - (let ((fun-name (if (listp (cdr element)) (cadr element) (cdr element)))) - (when (memq fun-name mode-symbol-list) (cons (car element) fun-name)))) - auto-mode-alist))) - -(defun sqlplus-find-project-files (root-dir mode-symbol-list predicate) - (let ((obj-file-regexp-list (delq nil (mapcar (lambda (element) - (let ((len (length element))) - (unless (and (> len 0) - (equal (elt element (1- len)) ?/)) - (concat (regexp-quote element) "$")))) - (append sqlplus-proj-ignored-extensions completion-ignored-extensions)))) - (mode-file-regexp-list (sqlplus-mode-file-regexp-list mode-symbol-list))) ; (file-path-regexp . major-mode-function-symbol) - (when (and mode-symbol-list - (not mode-file-regexp-list)) - (error (format "No rules for %s major modes in auto-mode-alist." (mapconcat 'identity mode-symbol-list ", ")))) - (sqlplus-proj-find-files root-dir - (lambda (file-name) - (and (not (string-match "#" file-name)) - (not (string-match "semantic.cache" file-name)) - (or (and (not mode-symbol-list) - (not (some (lambda (regexp) - (string-match regexp file-name)) - obj-file-regexp-list))) - (and mode-symbol-list - (some (lambda (element) - (let ((freg (if (string-match "[$]" (car element)) - (car element) - (concat (car element) "$")))) - (when (string-match freg file-name) - (cdr element)))) - mode-file-regexp-list))) - (or (not predicate) - (funcall predicate file-name)))) - (lambda (dir-path) - (not (string-match "/\\(\\.svn\\|CVS\\)$" dir-path)))))) - - -(defun sqlplus-file-get-source (connect-string object-name object-type &optional batch-mode) - (interactive - (progn - (push (point-marker) plsql-mark-backward-list) - (list sqlplus-connect-string (thing-at-point 'symbol) nil))) - (unless object-name - (error "Nothing to search")) - (let* ((root-dir (or (and (not object-type) - (eq major-mode 'plsql-mode) - (buffer-file-name) - (sqlplus-get-project-root-dir (buffer-file-name))) - (sqlplus-get-root-dir connect-string) - (sqlplus-set-project-for-connect-string connect-string) - (error "Root dir not set"))) - (mode-symbol-list '(plsql-mode sql-mode)) - (files-to-grep (sqlplus-find-project-files root-dir mode-symbol-list nil)) - (temp-file-path (concat (file-name-as-directory temporary-file-directory) (make-temp-name "ide-"))) - (search-buffer (get-buffer sqlplus-search-buffer-name)) - (regexp (let ((index 0) - (len (length object-name)) - result) - (setq result - (if object-type - (let ((type (cond ((equal object-type "FUNCTION") "PROCEDURE") - ((equal object-type "PACKAGE BODY") "PACKAGE") - (t object-type)))) - (cdr (assoc type sqlplus-object-types-regexps))) - (mapconcat 'cdr sqlplus-object-types-regexps "|"))) - (unless result - (error "Not implemented")) - (while (and (< index (length result)) - (string-match "#" result index)) - (setq index (+ (match-beginning 0) len)) - (setq result (replace-match object-name t t result))) - (setq index 0) - (while (and (< index (length result)) - (string-match "[$]\\(\\\\b\\)?" result index)) - (setq index (+ (match-end 0) 1)) - (setq result (replace-match "\\$" t t result))) - result)) - grep-command - grep-result) - (when search-buffer - (with-current-buffer search-buffer - (let ((inhibit-read-only t)) - (erase-buffer)))) - ;; (message "Object type: %S, object name: %S, regexp: %S" object-type object-name regexp) - (with-temp-file temp-file-path - (dolist (path files-to-grep) - (insert (concat "'" path "'\n")))) - (let* ((grep-command (format "cat %s | xargs grep -nHiE -e '%s'" temp-file-path regexp)) - (raw-grep-result (split-string (shell-command-to-string grep-command) "\n" t)) - (grep-result (delq nil (mapcar (lambda (line) - (string-match "^\\(.*?\\):\\([0-9]+\\):\\(.*\\)$" line) - (let* ((path (match-string 1 line)) - (line-no (string-to-number (match-string 2 line))) - (text (match-string 3 line)) - (text2 text) - (syn-table (copy-syntax-table)) - (case-fold-search t)) - (modify-syntax-entry ?$ "w" syn-table) - (modify-syntax-entry ?# "w" syn-table) - (modify-syntax-entry ?_ "w" syn-table) - (with-syntax-table syn-table - (when (and (or (and (not object-type) - (> (length raw-grep-result) 1)) - (equal object-type "SYNONYM")) - (string-match "\\<\\(for\\|from\\|on\\|as\\)\\>" text2)) - (setq text2 (substring text2 0 (match-beginning 0)))) - ;; (message "GREP-RESULT: %s" text2) - (unless (or (not (string-match (concat "\\<" (regexp-quote object-name) "\\>") text2)) - (string-match (concat "\\(--\\|\\\\|\\\\|\\\\|\\\\).*\\<" - (regexp-quote object-name) "\\>") text2) - (and (or (and (not object-type) - (> (length raw-grep-result) 1)) - (equal object-type "TRIGGER")) - (string-match "\\<\\(alter\\|disable\\|enable\\)\\>" text2)) - (and (or (and (not object-type) - (string-match "\\" text2) - current-prefix-arg) - (equal object-type "PACKAGE")) - (string-match "\\" text2)) - (and (or (and (not object-type) - (string-match "\\" text2) - (not current-prefix-arg)) - (equal object-type "PACKAGE BODY")) - (not (string-match "\\" text2))) - (and (not object-type) - (not current-prefix-arg) - (string-match "[.]pks$" path))) - (list path line-no text))))) - raw-grep-result)))) - (if batch-mode - grep-result - (cond ((not grep-result) - (error "Not found")) - ((eql (length grep-result) 1) - (sqlplus-switch-to-buffer (caar grep-result) (cadar grep-result)) - (when connect-string - (setq sqlplus-connect-string connect-string))) - (t - (let ((search-buffer (get-buffer-create sqlplus-search-buffer-name))) - (with-current-buffer search-buffer - (setq buffer-read-only t) - (let ((inhibit-read-only t)) - (setq default-directory root-dir) - (erase-buffer) - (insert "Root dir: ") - (sqlplus-proj-insert-with-face root-dir 'font-lock-keyword-face) - (insert "; Range: ") - (sqlplus-proj-insert-with-face (mapconcat (lambda (sym) (sqlplus-mode-name-stringify sym)) mode-symbol-list ", ") - 'font-lock-keyword-face) - (insert "; Object type: ") - (sqlplus-proj-insert-with-face (or object-type "unspecified") 'font-lock-keyword-face) - (insert "; Object name: ") - (sqlplus-proj-insert-with-face object-name 'font-lock-keyword-face) - (insert "\n\n") - (compilation-minor-mode 1) - (dolist (result grep-result) - (let ((relative-path (concat "./" (file-relative-name (car result) root-dir))) - (line-no (cadr result)) - (text (caddr result))) - (put-text-property 0 (length relative-path) 'mouse-face 'highlight relative-path) - (insert relative-path) - (insert (format ":%S:1 %s\n" line-no text)))) - (insert (format "\n%d matches found." (length grep-result))) - (goto-char (point-min)) - (when (and grep-result (fboundp 'compile-reinitialize-errors) (funcall (symbol-function 'compile-reinitialize-errors) t))) - (switch-to-buffer-other-window search-buffer) - (goto-line 1) - (goto-line 3)))))))))) - -(defun sqlplus-mode-name-stringify (mode-name) - (let ((name (format "%s" mode-name))) - (replace-regexp-in-string "-" " " - (capitalize - (if (string-match "^\\(.*\\)-mode" name) - (match-string 1 name) - name))))) - -(defun sqlplus-proj-insert-with-face (string face) - (let ((point (point))) - (insert string) - (let ((overlay (make-overlay point (point)))) - (overlay-put overlay 'face face)))) - -(defun sqlplus-set-project-for-connect-string (connect-string) - (if (featurep 'ide-skel) - ;; Prepare sqlplus-root-dir-history (file-name-history) for user convenience - ;; 0. previous project root - ;; 1. current editor file project root - ;; 2. previous choices - ;; 3. new project roots - (let* ((prev-proj-root-dir (sqlplus-get-root-dir connect-string)) - (last-sel-window (funcall 'ide-skel-get-last-selected-window)) - (editor-file-proj-root-dir (when last-sel-window - (let* ((buffer (window-buffer last-sel-window)) - (path (and buffer (buffer-file-name buffer))) - (project (and path (car (funcall 'ide-skel-proj-get-project-create path))))) - (when (funcall 'ide-skel-project-p project) - (funcall 'ide-skel-project-root-path project)))))) - (setq sqlplus-root-dir-history - (delete-dups - (delq nil - (mapcar (lambda (dir) - (when dir - (directory-file-name (file-truename (substitute-in-file-name dir))))) - (append - (list editor-file-proj-root-dir prev-proj-root-dir) - sqlplus-root-dir-history - (mapcar (lambda (project) (funcall 'ide-skel-project-root-path project)) - (symbol-value 'ide-skel-projects))))))) - (let* ((file-name-history (cdr sqlplus-root-dir-history)) - (use-file-dialog nil) - (dir (directory-file-name (file-truename (substitute-in-file-name - (read-directory-name (format "Root dir for %s: " (car (refine-connect-string connect-string))) - (car sqlplus-root-dir-history) - (car sqlplus-root-dir-history) - t - nil)))))) - (funcall 'ide-skel-proj-get-project-create dir) - (sqlplus-set-root-dir dir connect-string) - (message (format "Root dir for %s set to %s" (car (refine-connect-string connect-string)) dir)) - dir)) - (let* ((use-file-dialog nil) - (dir (directory-file-name (file-truename (substitute-in-file-name - (read-directory-name (format "Root dir for %s: " (car (refine-connect-string connect-string))) - nil nil t nil)))))) - (sqlplus-set-root-dir dir connect-string) - (message (format "Root dir for %s set to %s" (car (refine-connect-string connect-string)) dir)) - dir))) - -;;; Plugin for ide-skel.el - -(defstruct sqlplus-tab - id - name ; tab name - symbol ; view/sequence/schema/trigger/index/table/package/synonym/procedure - help-string - (display-start 1) ; display-start in side view window - (data nil) ; '(("name" . status)...), where status t means 'invalid' - draw-function ; parameters: sqlplus-tab - click-function ; parameters: event "@e" - (errors-count 0) - (refresh-in-progress t) - update-select) - -(defvar sqlplus-side-view-connect-string nil) -(make-variable-buffer-local 'sqlplus-side-view-connect-string) - -(defvar sqlplus-side-view-active-tab nil) -(make-variable-buffer-local 'sqlplus-side-view-active-tab) - -(defvar sqlplus-side-view-tabset nil) -(make-variable-buffer-local 'sqlplus-side-view-tabset) - -(defface sqlplus-side-view-face '((t :inherit variable-pitch :height 0.8)) - "Default face used in right view" - :group 'sqlplus) - -(defvar sqlplus-side-view-keymap nil) -(unless sqlplus-side-view-keymap - (setq sqlplus-side-view-keymap (make-sparse-keymap)) - (define-key sqlplus-side-view-keymap [mode-line down-mouse-1] 'ignore) - (define-key sqlplus-side-view-keymap [mode-line mouse-1] 'sqlplus-side-view-tab-click)) - -(defun sqlplus-side-view-tab-click (event) - (interactive "@e") - (with-selected-window (posn-window (event-start event)) - (let* ((previous-sel-tab-info (nth sqlplus-side-view-active-tab sqlplus-side-view-tabset)) - (target (posn-string (event-start event))) - (tab-info (get-text-property (cdr target) 'tab-info (car target)))) - (setf (sqlplus-tab-display-start previous-sel-tab-info) (line-number-at-pos (window-start))) - (setq sqlplus-side-view-active-tab (sqlplus-tab-id tab-info)) - (sqlplus-side-view-redraw (current-buffer) t) - (sqlplus-side-view-buffer-mode-line)))) - -(defun sqlplus-side-view-buffer-mode-line () - (let* ((separator (propertize " " - 'face 'header-line - 'display '(space :width 0.2) - 'pointer 'arrow))) - (setq mode-line-format - (concat separator - (mapconcat (lambda (tab) - (let ((face (if (eq (sqlplus-tab-id tab) sqlplus-side-view-active-tab) - 'tabbar-selected - 'tabbar-unselected)) - (help-echo (concat (sqlplus-tab-help-string tab) - (if (> (sqlplus-tab-errors-count tab) 0) - (format "\n(%s error%s)" (sqlplus-tab-errors-count tab) - (if (> (sqlplus-tab-errors-count tab) 1) "s" "")) - "")))) - (propertize (format " %s " (sqlplus-tab-name tab)) - 'local-map sqlplus-side-view-keymap - 'tab-info tab - 'help-echo help-echo - 'mouse-face 'tabbar-highlight - 'face (if (> (sqlplus-tab-errors-count tab) 0) - (list '(foreground-color . "red") face) - face) - 'pointer 'hand))) - sqlplus-side-view-tabset - separator) - separator)))) - -(defun sqlplus-side-view-click-on-default-handler (event) - (interactive "@e") - (with-selected-window (posn-window (event-start event)) - (let* ((posn-point (posn-point (event-start event))) - (object-name (get-text-property posn-point 'object-name)) - (object-type (get-text-property posn-point 'object-type)) - (type (car event))) - (when (eq type 'mouse-3) - (setq type (car (x-popup-menu t (append (list 'keymap object-name) - (list '(sqlplus-refresh-side-view-buffer "Refresh" t)) - (list '(mouse-1 "Get source from Oracle" t)) - (list '(M-mouse-1 "Search source in filesystem" t)) - (list (list 'C-M-mouse-1 (concat "Set root dir for " (car (refine-connect-string sqlplus-side-view-connect-string))) t)) - ))))) - (cond ((eq type 'mouse-1) - (sqlplus-get-source sqlplus-side-view-connect-string object-name object-type)) - ((eq type 'M-mouse-1) - (sqlplus-file-get-source sqlplus-side-view-connect-string object-name object-type)) - ((eq type 'C-M-mouse-1) - (sqlplus-set-project-for-connect-string sqlplus-side-view-connect-string)) - ((eq type nil)) - (t - (condition-case err - (funcall type) - (error nil))))))) - -(defun sqlplus-side-view-click-on-index-handler (event) - (interactive "@e") - (with-selected-window (posn-window (event-start event)) - (let* ((posn-point (posn-point (event-start event))) - (object-name (get-text-property posn-point 'object-name)) - (object-type (get-text-property posn-point 'object-type)) - (type (car event))) - (when (eq type 'mouse-3) - (setq type (car (x-popup-menu t (append (list 'keymap object-name) - (list '(sqlplus-refresh-side-view-buffer "Refresh" t)) - (list '(mouse-1 "Get source from Oracle" t)) - (list '(M-mouse-1 "Search source in filesystem" t)) - (list (list 'C-M-mouse-1 (concat "Set root dir for " (car (refine-connect-string sqlplus-side-view-connect-string))) t)) - ))))) - (cond ((eq type 'mouse-1) - (sqlplus-get-source sqlplus-side-view-connect-string object-name object-type)) - ((eq type 'M-mouse-1) - (sqlplus-file-get-source sqlplus-side-view-connect-string object-name object-type)) - ((eq type 'C-M-mouse-1) - (sqlplus-set-project-for-connect-string sqlplus-side-view-connect-string)) - ((eq type nil)) - (t - (condition-case err - (funcall type) - (error nil))))))) - -(defun sqlplus-side-view-click-on-schema-handler (event) - (interactive "@e") - (with-selected-window (posn-window (event-start event)) - (let* ((posn-point (posn-point (event-start event))) - (object-name (get-text-property posn-point 'object-name)) - (object-type (get-text-property posn-point 'object-type)) - (last-selected-win (funcall 'ide-skel-get-last-selected-window)) - (type (car event))) - (when (eq type 'mouse-3) - (setq type (car (x-popup-menu t (append (list 'keymap object-name) - (list '(sqlplus-refresh-side-view-buffer "Refresh" t)) - (list '(mouse-1 "Connect to schema" t)) - (list '(M-mouse-1 "Search source in filesystem" t)) - (list (list 'C-M-mouse-1 (concat "Set root dir for " (car (refine-connect-string sqlplus-side-view-connect-string))) t)) - ))))) - (cond ((eq type 'mouse-1) - (when (string-match "@.*$" sqlplus-side-view-connect-string) - (let* ((cs (downcase (concat object-name (match-string 0 sqlplus-side-view-connect-string)))) - (pair (sqlplus-read-connect-string cs cs))) - (select-window (or last-selected-win (funcall 'ide-skel-get-editor-window))) - (sqlplus (car pair) (concat (cadr pair) (concat "." sqlplus-session-file-extension)))))) - ((eq type 'M-mouse-1) - (sqlplus-file-get-source sqlplus-side-view-connect-string object-name object-type)) - ((eq type 'C-M-mouse-1) - (sqlplus-set-project-for-connect-string sqlplus-side-view-connect-string)) - ((eq type nil)) - (t - (condition-case err - (funcall type) - (error nil)))) - (select-window (funcall 'ide-skel-get-last-selected-window))))) - -(defun sqlplus-side-view-click-on-table-handler (event) - (interactive "@e") - (with-selected-window (posn-window (event-start event)) - (let* ((posn-point (posn-point (event-start event))) - (object-name (get-text-property posn-point 'object-name)) - (object-type (get-text-property posn-point 'object-type)) - (type (car event))) - (when (eq type 'mouse-3) - (setq type (car (x-popup-menu t (append (list 'keymap object-name) - (list '(sqlplus-refresh-side-view-buffer "Refresh" t)) - (list '(mouse-1 "Show description" t)) - (list '(C-mouse-1 "Select *" t)) - (list '(S-mouse-1 "Get source from Oracle" t)) - (list '(M-mouse-1 "Search source in filesystem" t)) - (list (list 'C-M-mouse-1 (concat "Set root dir for " (car (refine-connect-string sqlplus-side-view-connect-string))) t)) - ))))) - (cond ((eq type 'mouse-1) - (sqlplus-execute sqlplus-side-view-connect-string - (sqlplus-fontify-string sqlplus-side-view-connect-string (format "desc %s;" object-name)) - nil nil)) - ((eq type 'C-mouse-1) - (sqlplus-execute sqlplus-side-view-connect-string - (sqlplus-fontify-string sqlplus-side-view-connect-string (format "select * from %s;" object-name)) - nil nil)) - ((eq type 'S-mouse-1) - (sqlplus-get-source sqlplus-side-view-connect-string object-name object-type)) - ((eq type 'M-mouse-1) - (sqlplus-file-get-source sqlplus-side-view-connect-string object-name object-type)) - ((eq type 'C-M-mouse-1) - (sqlplus-set-project-for-connect-string sqlplus-side-view-connect-string)) - ((eq type nil)) - (t - (condition-case err - (funcall type) - (error nil)))) - (select-window (funcall 'ide-skel-get-last-selected-window))))) - -(defun sqlplus-side-view-click-on-package-handler (event) - (interactive "@e") - (with-selected-window (posn-window (event-start event)) - (let* ((posn-point (posn-point (event-start event))) - (object-name (get-text-property posn-point 'object-name)) - (object-type (get-text-property posn-point 'object-type)) - (type (car event))) - (when (eq type 'mouse-3) - (setq type (car (x-popup-menu t (append (list 'keymap object-name) - (list '(sqlplus-refresh-side-view-buffer "Refresh" t)) - (list '(S-mouse-1 "Get package header from Oracle" t)) - (list '(mouse-1 "Get package body from Oracle" t)) - (list '(S-M-mouse-1 "Search header source in filesystem" t)) - (list '(M-mouse-1 "Search body source in filesystem" t)) - (list (list 'C-M-mouse-1 (concat "Set root dir for " (car (refine-connect-string sqlplus-side-view-connect-string))) t)) - ))))) - (cond ((eq type 'S-mouse-1) - (sqlplus-get-source sqlplus-side-view-connect-string object-name object-type)) - ((eq type 'mouse-1) - (sqlplus-get-source sqlplus-side-view-connect-string object-name "PACKAGE BODY")) - ((eq type 'M-mouse-1) - (sqlplus-file-get-source sqlplus-side-view-connect-string object-name "PACKAGE BODY")) - ((eq type 'S-M-mouse-1) - (sqlplus-file-get-source sqlplus-side-view-connect-string object-name "PACKAGE")) - ((eq type 'C-M-mouse-1) - (sqlplus-set-project-for-connect-string sqlplus-side-view-connect-string)) - ((eq type nil)) - (t - (condition-case err - (funcall type) - (error nil))))))) - -(defun sqlplus-side-view-default-draw-panel (tab-info click-function) - (let ((pairs (sort (sqlplus-tab-data tab-info) - (lambda (pair1 pair2) (string< (car pair1) (car pair2))))) - (type-name (upcase (symbol-name (sqlplus-tab-symbol tab-info))))) - (dolist (pair pairs) - (let* ((label (format " % -100s" (car pair))) - (km (make-sparse-keymap))) - (define-key km [down-mouse-1] 'ignore) - (define-key km [mouse-1] click-function) - (define-key km [C-down-mouse-1] 'ignore) - (define-key km [C-mouse-1] click-function) - (define-key km [S-down-mouse-1] 'ignore) - (define-key km [S-mouse-1] click-function) - (define-key km [down-mouse-3] 'ignore) - (define-key km [mouse-3] click-function) - (setq label (propertize label - 'mouse-face 'ide-skel-highlight-face - 'face (if (cdr pair) - '(sqlplus-side-view-face (foreground-color . "red")) - 'sqlplus-side-view-face) - 'local-map km - 'pointer 'hand - 'object-name (car pair) - 'object-type type-name)) - (insert label) - (insert "\n"))))) - -(defun sqlplus-refresh-side-view-buffer () - (let* ((tab-info (nth sqlplus-side-view-active-tab sqlplus-side-view-tabset)) - (update-select (sqlplus-tab-update-select tab-info))) - (unless (sqlplus-tab-refresh-in-progress tab-info) - (sqlplus-hidden-select sqlplus-side-view-connect-string update-select 'sqlplus-my-update-handler)))) - -(defun sqlplus-get-default-update-select (symbol) - (concat "select object_name, object_type, decode( status, 'INVALID', 'I', ' ' ) from user_objects\n" - "where object_name not like 'BIN$%'\n" - (format "and object_type = '%s';" (upcase (symbol-name symbol))))) - -(defun sqlplus-create-side-view-buffer (connect-string) - (let* ((original-connect-string connect-string) - (connect-string (car (refine-connect-string connect-string))) - (buffer (funcall 'ide-skel-get-side-view-buffer-create - (concat " Ide Skel Right View SQL " connect-string) - 'right "SQL" (concat "SQL Panel for " connect-string) - (lambda (editor-buffer) - (let ((connect-string sqlplus-side-view-connect-string)) - (with-current-buffer editor-buffer - (and connect-string - (equal (car (refine-connect-string sqlplus-connect-string)) - (car (refine-connect-string connect-string))) - ))))))) - (with-current-buffer buffer - (set 'ide-skel-tabbar-menu-function - (lambda () - (let ((tab-info (nth sqlplus-side-view-active-tab sqlplus-side-view-tabset))) - (list - (unless (sqlplus-tab-refresh-in-progress tab-info) - '(sqlplus-refresh-side-view-buffer "Refresh" t)))))) - (setq sqlplus-side-view-connect-string original-connect-string - sqlplus-side-view-active-tab 0 - sqlplus-side-view-tabset - (list - (make-sqlplus-tab :id 0 :name "Tab" :symbol 'table :help-string "Tables" :draw-function 'sqlplus-side-view-default-draw-panel - :update-select (sqlplus-get-default-update-select 'table) - :click-function 'sqlplus-side-view-click-on-table-handler) - (make-sqlplus-tab :id 1 :name "Vie" :symbol 'view :help-string "Views" :draw-function 'sqlplus-side-view-default-draw-panel - :update-select (sqlplus-get-default-update-select 'view) - :click-function 'sqlplus-side-view-click-on-table-handler) - (make-sqlplus-tab :id 2 :name "Idx" :symbol 'index :help-string "Indexes" :draw-function 'sqlplus-side-view-default-draw-panel - :update-select (sqlplus-get-default-update-select 'index) - :click-function 'sqlplus-side-view-click-on-index-handler) - (make-sqlplus-tab :id 3 :name "Tri" :symbol 'trigger :help-string "Triggers" :draw-function 'sqlplus-side-view-default-draw-panel - :update-select (sqlplus-get-default-update-select 'trigger) - :click-function 'sqlplus-side-view-click-on-default-handler) - (make-sqlplus-tab :id 4 :name "Seq" :symbol 'sequence :help-string "Sequences" :draw-function 'sqlplus-side-view-default-draw-panel - :update-select (sqlplus-get-default-update-select 'sequence) - :click-function 'sqlplus-side-view-click-on-default-handler) - (make-sqlplus-tab :id 5 :name "Syn" :symbol 'synonym :help-string "Synonyms" :draw-function 'sqlplus-side-view-default-draw-panel - :update-select (sqlplus-get-default-update-select 'synonym) - :click-function 'sqlplus-side-view-click-on-default-handler) - (make-sqlplus-tab :id 6 :name "Pkg" :symbol 'package :help-string "PL/SQL Packages" :draw-function 'sqlplus-side-view-default-draw-panel - :update-select (sqlplus-get-default-update-select 'package) - :click-function 'sqlplus-side-view-click-on-package-handler) - (make-sqlplus-tab :id 7 :name "Prc" :symbol 'procedure :help-string "PL/SQL Functions & Procedures" :draw-function 'sqlplus-side-view-default-draw-panel - :update-select (concat "select object_name, object_type, decode( status, 'INVALID', 'I', ' ' ) from user_objects\n" - "where object_name not like 'BIN$%'\n" - "and object_type in ('FUNCTION', 'PROCEDURE');") - :click-function 'sqlplus-side-view-click-on-default-handler) - (make-sqlplus-tab :id 8 :name "Sch" :symbol 'schema :help-string "Schemas" :draw-function 'sqlplus-side-view-default-draw-panel - :update-select "select username, 'SCHEMA', ' ' from all_users where username not like 'BIN$%';" - :click-function 'sqlplus-side-view-click-on-schema-handler) - )) - (sqlplus-side-view-buffer-mode-line)) - buffer)) - -(defun sqlplus-side-view-redraw (sql-view-buffer &optional window-start-from-tab-info) - (with-current-buffer sql-view-buffer - (let* ((point (point)) - (tab-info (nth sqlplus-side-view-active-tab sqlplus-side-view-tabset)) - (window-start (when (and (symbol-value 'ide-skel-current-right-view-window) - (eq (window-buffer (symbol-value 'ide-skel-current-right-view-window)) (current-buffer))) - (if window-start-from-tab-info - (sqlplus-tab-display-start tab-info) - (line-number-at-pos (window-start (symbol-value 'ide-skel-current-right-view-window))))))) - (let ((inhibit-read-only t)) - (setq buffer-read-only nil) - (erase-buffer) - (when (sqlplus-tab-draw-function tab-info) - (funcall (sqlplus-tab-draw-function tab-info) tab-info (sqlplus-tab-click-function tab-info)))) - (if window-start - (let ((pos (save-excursion - (goto-line window-start) - (beginning-of-line) - (point)))) - (set-window-start (symbol-value 'ide-skel-current-right-view-window) pos) - (setf (sqlplus-tab-display-start tab-info) window-start)) - (goto-char point) - (beginning-of-line))))) - -(defun sqlplus-side-view-update-data (connect-string alist) - (let* ((connect-string (car (refine-connect-string connect-string))) - (sql-view-buffer (sqlplus-get-side-view-buffer connect-string)) - was-proc) - (when sql-view-buffer - (with-current-buffer sql-view-buffer - (dolist (pair alist) - (let* ((symbol (if (eq (car pair) 'function) 'procedure (car pair))) - (data-list (cdr pair)) - (tab-info (some (lambda (tab) - (when (eq (sqlplus-tab-symbol tab) symbol) - tab)) - sqlplus-side-view-tabset))) - (when tab-info - (setf (sqlplus-tab-refresh-in-progress tab-info) nil) - (setf (sqlplus-tab-data tab-info) - (if (and (eq symbol 'procedure) - was-proc) - (append (sqlplus-tab-data tab-info) (copy-list data-list)) - data-list)) - (when (eq symbol 'procedure) - (setq was-proc t)) - (setf (sqlplus-tab-errors-count tab-info) - (count t (mapcar 'cdr data-list))) - (when (eql sqlplus-side-view-active-tab (sqlplus-tab-id tab-info)) - (sqlplus-side-view-redraw (current-buffer)))))) - (sqlplus-side-view-buffer-mode-line) - (force-mode-line-update))))) - -(defun sqlplus-side-view-window-function (side event &rest list) - (when (and (eq side 'right) - (symbol-value 'ide-skel-current-right-view-window) - (with-current-buffer (symbol-value 'ide-skel-current-editor-buffer) - sqlplus-connect-string)) - (cond ((memq event '(show editor-buffer-changed)) - (let ((sql-view-buffer (sqlplus-get-side-view-buffer (with-current-buffer (symbol-value 'ide-skel-current-editor-buffer) - sqlplus-connect-string)))) - (when sql-view-buffer - (with-current-buffer sql-view-buffer - (set 'ide-skel-tabbar-enabled t) - (funcall 'ide-skel-side-window-switch-to-buffer (symbol-value 'ide-skel-current-right-view-window) sql-view-buffer))))))) - nil) - -(add-hook 'ide-skel-side-view-window-functions 'sqlplus-side-view-window-function) - - -(provide 'sqlplus) - -;;; sqlplus.el ends here diff --git a/dotemacs/.emacs.d/themes/color-theme-example.el b/dotemacs/.emacs.d/themes/color-theme-example.el deleted file mode 100644 index f73b4f6..0000000 --- a/dotemacs/.emacs.d/themes/color-theme-example.el +++ /dev/null @@ -1,22 +0,0 @@ -(eval-when-compile - (require 'color-theme)) - -(defun color-theme-example () - "Example theme. Carbon copy of color-theme-gnome contributed by Jonadab." - (interactive) - (color-theme-install - '(color-theme-example - ((foreground-color . "wheat") - (background-color . "darkslategrey") - (background-mode . dark)) - (default ((t (nil)))) - (region ((t (:foreground "cyan" :background "dark cyan")))) - (underline ((t (:foreground "yellow" :underline t)))) - (modeline ((t (:foreground "dark cyan" :background "wheat")))) - (modeline-buffer-id ((t (:foreground "dark cyan" :background "wheat")))) - (modeline-mousable ((t (:foreground "dark cyan" :background "wheat")))) - (modeline-mousable-minor-mode ((t (:foreground "dark cyan" :background "wheat")))) - (italic ((t (:foreground "dark red" :italic t)))) - (bold-italic ((t (:foreground "dark red" :bold t :italic t)))) - (font-lock-comment-face ((t (:foreground "Firebrick")))) - (bold ((t (:bold))))))) diff --git a/dotemacs/.emacs.d/themes/color-theme-library.el b/dotemacs/.emacs.d/themes/color-theme-library.el deleted file mode 100644 index d194708..0000000 --- a/dotemacs/.emacs.d/themes/color-theme-library.el +++ /dev/null @@ -1,13539 +0,0 @@ -;;; color-theme-library.el --- The real color theme functions - -;; Copyright (C) 2005, 2006 Xavier Maillard -;; Copyright (C) 2005, 2006 Brian Palmer - -;; Version: 0.0.9 -;; Keywords: faces -;; Author: Brian Palmer, Xavier Maillard -;; Maintainer: Xavier Maillard -;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?ColorTheme - -;; This file is not (YET) part of GNU Emacs. - -;; This is free software; you can redistribute it and/or modify it under -;; the terms of the GNU General Public License as published by the Free -;; Software Foundation; either version 2, or (at your option) any later -;; version. -;; -;; This is distributed in the hope that it will be useful, but WITHOUT -;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -;; for more details. -;; -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -;; MA 02111-1307, USA. - -;; Code: -(eval-when-compile - (require 'color-theme)) - -(defun color-theme-gnome () - "Wheat on darkslategrey scheme. -From one version of Emacs in RH6 and Gnome, modified by Jonadab." - (interactive) - (color-theme-install - '(color-theme-gnome - ((foreground-color . "wheat") - (background-color . "darkslategrey") - (background-mode . dark)) - (default ((t (nil)))) - (region ((t (:foreground "cyan" :background "dark cyan")))) - (underline ((t (:foreground "yellow" :underline t)))) - (modeline ((t (:foreground "dark cyan" :background "wheat")))) - (modeline-buffer-id ((t (:foreground "dark cyan" :background "wheat")))) - (modeline-mousable ((t (:foreground "dark cyan" :background "wheat")))) - (modeline-mousable-minor-mode ((t (:foreground "dark cyan" :background "wheat")))) - (italic ((t (:foreground "dark red" :italic t)))) - (bold-italic ((t (:foreground "dark red" :bold t :italic t)))) - (font-lock-comment-face ((t (:foreground "Firebrick")))) - (bold ((t (:bold))))))) - -(defun color-theme-blue-gnus () - "Color theme for gnus and message faces only. -This is intended for other color themes to use (eg. `color-theme-gnome2' -and `color-theme-blue-sea')." - (interactive) - (color-theme-install - '(color-theme-blue-gnus - nil - (gnus-cite-attribution-face ((t (:lforeground "lemon chiffon" :bold t)))) - (gnus-cite-face-1 ((t (:foreground "LightSalmon")))) - (gnus-cite-face-2 ((t (:foreground "Khaki")))) - (gnus-cite-face-3 ((t (:foreground "Coral")))) - (gnus-cite-face-4 ((t (:foreground "yellow green")))) - (gnus-cite-face-5 ((t (:foreground "dark khaki")))) - (gnus-cite-face-6 ((t (:foreground "bisque")))) - (gnus-cite-face-7 ((t (:foreground "peru")))) - (gnus-cite-face-8 ((t (:foreground "light coral")))) - (gnus-cite-face-9 ((t (:foreground "plum")))) - (gnus-emphasis-bold ((t (:bold t)))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) - (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) - (gnus-emphasis-italic ((t (:italic t)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:bold t :underline t)))) - (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :underline t)))) - (gnus-emphasis-underline-italic ((t (:italic t :underline t)))) - (gnus-group-mail-1-empty-face ((t (:foreground "White")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "White")))) - (gnus-group-mail-2-empty-face ((t (:foreground "light cyan")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "light cyan")))) - (gnus-group-mail-3-empty-face ((t (:foreground "LightBlue")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "LightBlue")))) - (gnus-group-mail-low-empty-face ((t (:foreground "Aquamarine")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "Aquamarine")))) - (gnus-group-news-1-empty-face ((t (:foreground "White")))) - (gnus-group-news-1-face ((t (:bold t :foreground "White")))) - (gnus-group-news-2-empty-face ((t (:foreground "light cyan")))) - (gnus-group-news-2-face ((t (:bold t :foreground "light cyan")))) - (gnus-group-news-3-empty-face ((t (:foreground "LightBlue")))) - (gnus-group-news-3-face ((t (:bold t :foreground "LightBlue")))) - (gnus-group-news-4-empty-face ((t (:foreground "Aquamarine")))) - (gnus-group-news-4-face ((t (:bold t :foreground "Aquamarine")))) - (gnus-group-news-5-empty-face ((t (:foreground "MediumAquamarine")))) - (gnus-group-news-5-face ((t (:bold t :foreground "MediumAquamarine")))) - (gnus-group-news-6-empty-face ((t (:foreground "MediumAquamarine")))) - (gnus-group-news-6-face ((t (:bold t :foreground "MediumAquamarine")))) - (gnus-group-news-low-empty-face ((t (:foreground "MediumAquamarine")))) - (gnus-group-news-low-face ((t (:bold t :foreground "MediumAquamarine")))) - (gnus-header-content-face ((t (:foreground "LightSkyBlue3")))) - (gnus-header-from-face ((t (:bold t :foreground "light cyan")))) - (gnus-header-name-face ((t (:bold t :foreground "LightBlue")))) - (gnus-header-newsgroups-face ((t (:bold t :foreground "MediumAquamarine")))) - (gnus-header-subject-face ((t (:bold t :foreground "light cyan")))) - (gnus-signature-face ((t (:foreground "Grey")))) - (gnus-splash-face ((t (:foreground "ForestGreen")))) - (gnus-summary-cancelled-face ((t (:background "Black" :foreground "Yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "MediumAquamarine")))) - (gnus-summary-high-read-face ((t (:bold t :foreground "Aquamarine")))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "LightSalmon")))) - (gnus-summary-high-unread-face ((t (:bold t :foreground "beige")))) - (gnus-summary-low-ancient-face ((t (:foreground "DimGray")))) - (gnus-summary-low-read-face ((t (:foreground "slate gray")))) - (gnus-summary-low-ticked-face ((t (:foreground "Pink")))) - (gnus-summary-low-unread-face ((t (:foreground "LightGray")))) - (gnus-summary-normal-ancient-face ((t (:foreground "MediumAquamarine")))) - (gnus-summary-normal-read-face ((t (:foreground "Aquamarine")))) - (gnus-summary-normal-ticked-face ((t (:foreground "LightSalmon")))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-selected-face ((t (:background "DarkSlateBlue")))) - (message-cited-text-face ((t (:foreground "LightSalmon")))) - (message-header-cc-face ((t (:foreground "light cyan")))) - (message-header-name-face ((t (:foreground "LightBlue")))) - (message-header-newsgroups-face ((t (:bold t :foreground "MediumAquamarine")))) - (message-header-other-face ((t (:foreground "MediumAquamarine")))) - (message-header-subject-face ((t (:bold t :foreground "light cyan")))) - (message-header-to-face ((t (:bold t :foreground "light cyan")))) - (message-header-xheader-face ((t (:foreground "MediumAquamarine")))) - (message-separator-face ((t (:foreground "chocolate"))))))) - -(defun color-theme-dark-gnus () - "Color theme for gnus and message faces only. -This is intended for other color themes to use -\(eg. `color-theme-late-night')." - (interactive) - (color-theme-install - '(color-theme-blue-gnus - nil - (gnus-cite-attribution-face ((t (:foreground "#bbb")))) - (gnus-cite-face-1 ((t (:foreground "#aaa")))) - (gnus-cite-face-2 ((t (:foreground "#aaa")))) - (gnus-cite-face-3 ((t (:foreground "#aaa")))) - (gnus-cite-face-4 ((t (:foreground "#aaa")))) - (gnus-cite-face-5 ((t (:foreground "#aaa")))) - (gnus-cite-face-6 ((t (:foreground "#aaa")))) - (gnus-cite-face-7 ((t (:foreground "#aaa")))) - (gnus-cite-face-8 ((t (:foreground "#aaa")))) - (gnus-cite-face-9 ((t (:foreground "#aaa")))) - (gnus-emphasis-bold ((t (:bold t)))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) - (gnus-emphasis-highlight-words ((t (:foreground "#ccc")))) - (gnus-emphasis-italic ((t (:italic t)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:bold t :underline t)))) - (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :underline t)))) - (gnus-emphasis-underline-italic ((t (:italic t :underline t)))) - (gnus-group-mail-1-empty-face ((t (:foreground "#999")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "#999")))) - (gnus-group-mail-2-empty-face ((t (:foreground "#999")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "#999")))) - (gnus-group-mail-3-empty-face ((t (:foreground "#888")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "#888")))) - (gnus-group-mail-low-empty-face ((t (:foreground "#777")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "#777")))) - (gnus-group-news-1-empty-face ((t (:foreground "#999")))) - (gnus-group-news-1-face ((t (:bold t :foreground "#999")))) - (gnus-group-news-2-empty-face ((t (:foreground "#888")))) - (gnus-group-news-2-face ((t (:bold t :foreground "#888")))) - (gnus-group-news-3-empty-face ((t (:foreground "#777")))) - (gnus-group-news-3-face ((t (:bold t :foreground "#777")))) - (gnus-group-news-4-empty-face ((t (:foreground "#666")))) - (gnus-group-news-4-face ((t (:bold t :foreground "#666")))) - (gnus-group-news-5-empty-face ((t (:foreground "#666")))) - (gnus-group-news-5-face ((t (:bold t :foreground "#666")))) - (gnus-group-news-6-empty-face ((t (:foreground "#666")))) - (gnus-group-news-6-face ((t (:bold t :foreground "#666")))) - (gnus-group-news-low-empty-face ((t (:foreground "#666")))) - (gnus-group-news-low-face ((t (:bold t :foreground "#666")))) - (gnus-header-content-face ((t (:foreground "#888")))) - (gnus-header-from-face ((t (:bold t :foreground "#888")))) - (gnus-header-name-face ((t (:bold t :foreground "#777")))) - (gnus-header-newsgroups-face ((t (:bold t :foreground "#777")))) - (gnus-header-subject-face ((t (:bold t :foreground "#999")))) - (gnus-signature-face ((t (:foreground "#444")))) - (gnus-splash-face ((t (:foreground "#ccc")))) - (gnus-summary-cancelled-face ((t (:background "#555" :foreground "#000")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "#555")))) - (gnus-summary-high-read-face ((t (:bold t :foreground "#666")))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "#777")))) - (gnus-summary-high-unread-face ((t (:bold t :foreground "#888")))) - (gnus-summary-low-ancient-face ((t (:foreground "#444")))) - (gnus-summary-low-read-face ((t (:foreground "#555")))) - (gnus-summary-low-ticked-face ((t (:foreground "#666")))) - (gnus-summary-low-unread-face ((t (:foreground "#777")))) - (gnus-summary-normal-ancient-face ((t (:foreground "#555")))) - (gnus-summary-normal-read-face ((t (:foreground "#666")))) - (gnus-summary-normal-ticked-face ((t (:foreground "#777")))) - (gnus-summary-normal-unread-face ((t (:foreground "#888")))) - (gnus-summary-selected-face ((t (:background "#333")))) - (message-cited-text-face ((t (:foreground "#aaa")))) - (message-header-cc-face ((t (:foreground "#888")))) - (message-header-name-face ((t (:bold t :foreground "#777")))) - (message-header-newsgroups-face ((t (:bold t :foreground "#777")))) - (message-header-other-face ((t (:foreground "#666")))) - (message-header-subject-face ((t (:bold t :foreground "#999")))) - (message-header-to-face ((t (:bold t :foreground "#777")))) - (message-header-xheader-face ((t (:foreground "#666")))) - (message-separator-face ((t (:foreground "#999"))))))) - -(defun color-theme-blue-eshell () - "Color theme for eshell faces only. -This is intended for other color themes to use (eg. `color-theme-gnome2')." - (interactive) - (color-theme-install - '(color-theme-blue-eshell - nil - (eshell-ls-archive-face ((t (:bold t :foreground "IndianRed")))) - (eshell-ls-backup-face ((t (:foreground "Grey")))) - (eshell-ls-clutter-face ((t (:foreground "DimGray")))) - (eshell-ls-directory-face ((t (:bold t :foreground "MediumSlateBlue")))) - (eshell-ls-executable-face ((t (:foreground "Coral")))) - (eshell-ls-missing-face ((t (:foreground "black")))) - (eshell-ls-picture-face ((t (:foreground "Violet")))) ; non-standard face - (eshell-ls-product-face ((t (:foreground "LightSalmon")))) - (eshell-ls-readonly-face ((t (:foreground "Aquamarine")))) - (eshell-ls-special-face ((t (:foreground "Gold")))) - (eshell-ls-symlink-face ((t (:foreground "White")))) - (eshell-ls-text-face ((t (:foreground "medium aquamarine")))) ; non-standard face - (eshell-ls-todo-face ((t (:bold t :foreground "aquamarine")))) ; non-standard face - (eshell-ls-unreadable-face ((t (:foreground "DimGray")))) - (eshell-prompt-face ((t (:foreground "powder blue"))))))) - -(defun color-theme-salmon-font-lock () - "Color theme for font-lock faces only. -This is intended for other color themes to use (eg. `color-theme-gnome2')." - (interactive) - (color-theme-install - '(color-theme-salmon-font-lock - nil - (font-lock-builtin-face ((t (:bold t :foreground "PaleGreen")))) - (font-lock-comment-face ((t (:foreground "LightBlue")))) - (font-lock-constant-face ((t (:foreground "Aquamarine")))) - (font-lock-doc-string-face ((t (:foreground "LightSalmon")))) - (font-lock-function-name-face ((t (:bold t :foreground "Aquamarine")))) - (font-lock-keyword-face ((t (:foreground "Salmon")))) - (font-lock-preprocessor-face ((t (:foreground "Salmon")))) - (font-lock-reference-face ((t (:foreground "pale green")))) - (font-lock-string-face ((t (:foreground "LightSalmon")))) - (font-lock-type-face ((t (:bold t :foreground "YellowGreen")))) - (font-lock-variable-name-face ((t (:bold t :foreground "Aquamarine")))) - (font-lock-warning-face ((t (:bold t :foreground "red"))))))) - -(defun color-theme-dark-font-lock () - "Color theme for font-lock faces only. -This is intended for other color themes to use (eg. `color-theme-late-night')." - (interactive) - (color-theme-install - '(color-theme-dark-font-lock - nil - (font-lock-builtin-face ((t (:bold t :foreground "#777")))) - (font-lock-comment-face ((t (:foreground "#555")))) - (font-lock-constant-face ((t (:foreground "#777")))) - (font-lock-doc-string-face ((t (:foreground "#777")))) - (font-lock-doc-face ((t (:foreground "#777")))) - (font-lock-function-name-face ((t (:bold t :foreground "#777")))) - (font-lock-keyword-face ((t (:foreground "#777")))) - (font-lock-preprocessor-face ((t (:foreground "#777")))) - (font-lock-reference-face ((t (:foreground "#777")))) - (font-lock-string-face ((t (:foreground "#777")))) - (font-lock-type-face ((t (:bold t)))) - (font-lock-variable-name-face ((t (:bold t :foreground "#888")))) - (font-lock-warning-face ((t (:bold t :foreground "#999"))))))) - -(defun color-theme-dark-info () - "Color theme for info, help and apropos faces. -This is intended for other color themes to use (eg. `color-theme-late-night')." - (interactive) - (color-theme-install - '(color-theme-dark-info - nil - (info-header-node ((t (:foreground "#666")))) - (info-header-xref ((t (:foreground "#666")))) - (info-menu-5 ((t (:underline t)))) - (info-menu-header ((t (:bold t :foreground "#666")))) - (info-node ((t (:bold t :foreground "#888")))) - (info-xref ((t (:bold t :foreground "#777"))))))) - -(defun color-theme-gnome2 () - "Wheat on darkslategrey scheme. -`color-theme-gnome' started it all. - -This theme supports standard faces, font-lock, eshell, info, message, -gnus, custom, widget, woman, diary, cperl, bbdb, and erc. This theme -includes faces for Emacs and XEmacs. - -The theme does not support w3 faces because w3 faces can be controlled -by your default style sheet. - -This is what you should put in your .Xdefaults file, if you want to -change the colors of the menus in Emacs 20 as well: - -emacs*Background: DarkSlateGray -emacs*Foreground: Wheat" - (interactive) - (color-theme-blue-gnus) - (let ((color-theme-is-cumulative t)) - (color-theme-blue-erc) - (color-theme-blue-eshell) - (color-theme-salmon-font-lock) - (color-theme-salmon-diff) - (color-theme-install - '(color-theme-gnome2 - ((foreground-color . "wheat") - (background-color . "darkslategrey") - (mouse-color . "Grey") - (cursor-color . "LightGray") - (border-color . "black") - (background-mode . dark)) - ((apropos-keybinding-face . underline) - (apropos-label-face . italic) - (apropos-match-face . secondary-selection) - (apropos-property-face . bold-italic) - (apropos-symbol-face . info-xref) - (goto-address-mail-face . message-header-to-face) - (goto-address-mail-mouse-face . secondary-selection) - (goto-address-url-face . info-xref) - (goto-address-url-mouse-face . highlight) - (list-matching-lines-face . bold) - (view-highlight-face . highlight)) - (default ((t (nil)))) - (bbdb-company ((t (:foreground "pale green")))) - (bbdb-name ((t (:bold t :foreground "pale green")))) - (bbdb-field-name ((t (:foreground "medium sea green")))) - (bbdb-field-value ((t (:foreground "dark sea green")))) - (bold ((t (:bold t)))) - (bold-italic ((t (:italic t :bold t :foreground "beige")))) - (calendar-today-face ((t (:underline t)))) - (comint-highlight-prompt ((t (:foreground "medium aquamarine")))) - (cperl-array-face ((t (:foreground "Yellow")))) - (cperl-hash-face ((t (:foreground "White")))) - (cperl-nonoverridable-face ((t (:foreground "SkyBlue")))) - (custom-button-face ((t (:underline t :foreground "MediumSlateBlue")))) - (custom-documentation-face ((t (:foreground "Grey")))) - (custom-group-tag-face ((t (:foreground "MediumAquamarine")))) - (custom-state-face ((t (:foreground "LightSalmon")))) - (custom-variable-tag-face ((t (:foreground "Aquamarine")))) - (diary-face ((t (:foreground "IndianRed")))) - (dired-face-directory ((t (:bold t :foreground "sky blue")))) - (dired-face-permissions ((t (:foreground "aquamarine")))) - (dired-face-flagged ((t (:foreground "tomato")))) - (dired-face-marked ((t (:foreground "light salmon")))) - (dired-face-executable ((t (:foreground "green yellow")))) - (fringe ((t (:background "darkslategrey")))) - (highlight ((t (:background "PaleGreen" :foreground "DarkGreen")))) - (highline-face ((t (:background "SeaGreen")))) - (holiday-face ((t (:background "DimGray")))) - (hyper-apropos-hyperlink ((t (:bold t :foreground "DodgerBlue1")))) - (hyper-apropos-documentation ((t (:foreground "LightSalmon")))) - (info-header-xref ((t (:foreground "DodgerBlue1" :bold t)))) - (info-menu-5 ((t (:underline t)))) - (info-node ((t (:underline t :bold t :foreground "DodgerBlue1")))) - (info-xref ((t (:bold t :foreground "DodgerBlue1")))) - (isearch ((t (:background "sea green")))) - (italic ((t (:italic t)))) - (menu ((t (:foreground "wheat" :background "darkslategrey")))) - (modeline ((t (:background "dark olive green" :foreground "wheat")))) - (modeline-buffer-id ((t (:background "dark olive green" :foreground "beige")))) - (modeline-mousable ((t (:background "dark olive green" :foreground "yellow green")))) - (modeline-mousable-minor-mode ((t (:background "dark olive green" :foreground "wheat")))) - (region ((t (:background "dark cyan" :foreground "cyan")))) - (secondary-selection ((t (:background "Aquamarine" :foreground "SlateBlue")))) - (show-paren-match-face ((t (:bold t :background "Aquamarine" :foreground "steel blue")))) - (show-paren-mismatch-face ((t (:background "Red" :foreground "White")))) - (underline ((t (:underline t)))) - (widget-field-face ((t (:foreground "LightBlue")))) - (widget-inactive-face ((t (:foreground "DimGray")))) - (widget-single-line-field-face ((t (:foreground "LightBlue")))) - (w3m-anchor-face ((t (:bold t :foreground "DodgerBlue1")))) - (w3m-arrived-anchor-face ((t (:bold t :foreground "DodgerBlue3")))) - (w3m-header-line-location-title-face ((t (:foreground "beige" :background "dark olive green")))) - (w3m-header-line-location-content-face ((t (:foreground "wheat" :background "dark olive green")))) - (woman-bold-face ((t (:bold t)))) - (woman-italic-face ((t (:foreground "beige")))) - (woman-unknown-face ((t (:foreground "LightSalmon")))) - (zmacs-region ((t (:background "dark cyan" :foreground "cyan")))))))) - -(defun color-theme-simple-1 () - "Black background. -Doesn't mess with most faces, but does turn on dark background mode." - (interactive) - (color-theme-install - '(color-theme-simple-1 - ((foreground-color . "white") - (background-color . "black") - (cursor-color . "indian red") - (background-mode . dark)) - (default ((t (nil)))) - (modeline ((t (:foreground "black" :background "white")))) - (modeline-buffer-id ((t (:foreground "black" :background "white")))) - (modeline-mousable ((t (:foreground "black" :background "white")))) - (modeline-mousable-minor-mode ((t (:foreground "black" :background "white")))) - (underline ((t (:underline t)))) - (region ((t (:background "grey"))))))) - -(defun color-theme-jonadabian () - "Dark blue background. -Supports standard faces, font-lock, highlight-changes, widget and -custom." - (interactive) - (color-theme-install - '(color-theme-jonadabian - ((foreground-color . "#CCBB77") - (cursor-color . "medium turquoise") - (background-color . "#000055") - (background-mode . dark)) - (default ((t (nil)))) - (modeline ((t (:foreground "cyan" :background "#007080")))) - (modeline-buffer-id ((t (:foreground "cyan" :background "#007080")))) - (modeline-mousable ((t (:foreground "cyan" :background "#007080")))) - (modeline-mousable-minor-mode ((t (:foreground "cyan" :background "#007080")))) - (underline ((t (:underline t)))) - (region ((t (:background "#004080")))) - (font-lock-keyword-face ((t (:foreground "#00BBBB")))) - (font-lock-comment-face ((t (:foreground "grey50" :bold t :italic t)))) - (font-lock-string-face ((t (:foreground "#10D010")))) - (font-lock-constant-face ((t (:foreground "indian red")))) - (highlight-changes-face ((t (:background "navy")))) - (highlight-changes-delete-face ((t (:foreground "red" :background "navy")))) - (widget-field-face ((t (:foreground "black" :background "grey35")))) - (widget-inactive-face ((t (:foreground "gray")))) - (custom-button-face ((t (:foreground "yellow" :background "dark blue")))) - (custom-state-face ((t (:foreground "mediumaquamarine")))) - (custom-face-tag-face ((t (:foreground "goldenrod" :underline t)))) - (custom-documentation-face ((t (:foreground "#10D010")))) - (custom-set-face ((t (:foreground "#2020D0"))))))) - -(defun color-theme-ryerson () - "White on midnightblue scheme. -Used at Ryerson Polytechnic University in the Electronic Engineering department." - (interactive) - (color-theme-install - '(color-theme-ryerson - ((foreground-color . "white") - (background-color . "midnightblue") - (cursor-color . "red") - (background-mode . dark)) - (default ((t (nil)))) - (modeline ((t (:foreground "black" :background "slategray3")))) - (modeline-buffer-id ((t (:foreground "black" :background "slategray3")))) - (modeline-mousable ((t (:foreground "black" :background "slategray3")))) - (modeline-mousable-minor-mode ((t (:foreground "black" :background "slategray3")))) - (underline ((t (:underline t)))) - (region ((t (:foreground "black" :background "slategray3"))))))) - -(defun color-theme-wheat () - "Default colors on a wheat background. -Calls the standard color theme function `color-theme-standard' in order -to reset all faces." - (interactive) - (color-theme-standard) - (let ((color-theme-is-cumulative t)) - (color-theme-install - '(color-theme-wheat - ((background-color . "Wheat")))))) - -(defun color-theme-standard () - "Emacs default colors. -If you are missing standard faces in this theme, please notify the maintainer." - (interactive) - ;; Note that some of the things that make up a color theme are - ;; actually variable settings! - (color-theme-install - '(color-theme-standard - ((foreground-color . "black") - (background-color . "white") - (mouse-color . "black") - (cursor-color . "black") - (border-color . "black") - (background-mode . light)) - ((Man-overstrike-face . bold) - (Man-underline-face . underline) - (apropos-keybinding-face . underline) - (apropos-label-face . italic) - (apropos-match-face . secondary-selection) - (apropos-property-face . bold-italic) - (apropos-symbol-face . bold) - (goto-address-mail-face . italic) - (goto-address-mail-mouse-face . secondary-selection) - (goto-address-url-face . bold) - (goto-address-url-mouse-face . highlight) - (help-highlight-face . underline) - (list-matching-lines-face . bold) - (view-highlight-face . highlight)) - (default ((t (nil)))) - (bold ((t (:bold t)))) - (bold-italic ((t (:bold t :italic t)))) - (calendar-today-face ((t (:underline t)))) - (cperl-array-face ((t (:foreground "Blue" :background "lightyellow2" :bold t)))) - (cperl-hash-face ((t (:foreground "Red" :background "lightyellow2" :bold t :italic t)))) - (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) - (custom-button-face ((t (nil)))) - (custom-changed-face ((t (:foreground "white" :background "blue")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face ((t (:foreground "blue" :underline t)))) - (custom-group-tag-face-1 ((t (:foreground "red" :underline t)))) - (custom-invalid-face ((t (:foreground "yellow" :background "red")))) - (custom-modified-face ((t (:foreground "white" :background "blue")))) - (custom-rogue-face ((t (:foreground "pink" :background "black")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:foreground "blue" :background "white")))) - (custom-state-face ((t (:foreground "dark green")))) - (custom-variable-button-face ((t (:bold t :underline t)))) - (custom-variable-tag-face ((t (:foreground "blue" :underline t)))) - (diary-face ((t (:foreground "red")))) - (ediff-current-diff-face-A ((t (:foreground "firebrick" :background "pale green")))) - (ediff-current-diff-face-Ancestor ((t (:foreground "Black" :background "VioletRed")))) - (ediff-current-diff-face-B ((t (:foreground "DarkOrchid" :background "Yellow")))) - (ediff-current-diff-face-C ((t (:foreground "Navy" :background "Pink")))) - (ediff-even-diff-face-A ((t (:foreground "Black" :background "light grey")))) - (ediff-even-diff-face-Ancestor ((t (:foreground "White" :background "Grey")))) - (ediff-even-diff-face-B ((t (:foreground "White" :background "Grey")))) - (ediff-even-diff-face-C ((t (:foreground "Black" :background "light grey")))) - (ediff-fine-diff-face-A ((t (:foreground "Navy" :background "sky blue")))) - (ediff-fine-diff-face-Ancestor ((t (:foreground "Black" :background "Green")))) - (ediff-fine-diff-face-B ((t (:foreground "Black" :background "cyan")))) - (ediff-fine-diff-face-C ((t (:foreground "Black" :background "Turquoise")))) - (ediff-odd-diff-face-A ((t (:foreground "White" :background "Grey")))) - (ediff-odd-diff-face-Ancestor ((t (:foreground "Black" :background "light grey")))) - (ediff-odd-diff-face-B ((t (:foreground "Black" :background "light grey")))) - (ediff-odd-diff-face-C ((t (:foreground "White" :background "Grey")))) - (eshell-ls-archive-face ((t (:foreground "Orchid" :bold t)))) - (eshell-ls-backup-face ((t (:foreground "OrangeRed")))) - (eshell-ls-clutter-face ((t (:foreground "OrangeRed" :bold t)))) - (eshell-ls-directory-face ((t (:foreground "Blue" :bold t)))) - (eshell-ls-executable-face ((t (:foreground "ForestGreen" :bold t)))) - (eshell-ls-missing-face ((t (:foreground "Red" :bold t)))) - (eshell-ls-product-face ((t (:foreground "OrangeRed")))) - (eshell-ls-readonly-face ((t (:foreground "Brown")))) - (eshell-ls-special-face ((t (:foreground "Magenta" :bold t)))) - (eshell-ls-symlink-face ((t (:foreground "DarkCyan" :bold t)))) - (eshell-ls-unreadable-face ((t (:foreground "Grey30")))) - (eshell-prompt-face ((t (:foreground "Red" :bold t)))) - (eshell-test-failed-face ((t (:foreground "OrangeRed" :bold t)))) - (eshell-test-ok-face ((t (:foreground "Green" :bold t)))) - (excerpt ((t (:italic t)))) - (fixed ((t (:bold t)))) - (flyspell-duplicate-face ((t (:foreground "Gold3" :bold t :underline t)))) - (flyspell-incorrect-face ((t (:foreground "OrangeRed" :bold t :underline t)))) - (font-lock-builtin-face ((t (:foreground "Orchid")))) - (font-lock-comment-face ((t (:foreground "Firebrick")))) - (font-lock-constant-face ((t (:foreground "CadetBlue")))) - (font-lock-function-name-face ((t (:foreground "Blue")))) - (font-lock-keyword-face ((t (:foreground "Purple")))) - (font-lock-string-face ((t (:foreground "RosyBrown")))) - (font-lock-type-face ((t (:foreground "ForestGreen")))) - (font-lock-variable-name-face ((t (:foreground "DarkGoldenrod")))) - (font-lock-warning-face ((t (:foreground "Red" :bold t)))) - (fringe ((t (:background "grey95")))) - (gnus-cite-attribution-face ((t (:italic t)))) - (gnus-cite-face-1 ((t (:foreground "MidnightBlue")))) - (gnus-cite-face-10 ((t (:foreground "medium purple")))) - (gnus-cite-face-11 ((t (:foreground "turquoise")))) - (gnus-cite-face-2 ((t (:foreground "firebrick")))) - (gnus-cite-face-3 ((t (:foreground "dark green")))) - (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) - (gnus-cite-face-5 ((t (:foreground "dark khaki")))) - (gnus-cite-face-6 ((t (:foreground "dark violet")))) - (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-emphasis-bold ((t (:bold t)))) - (gnus-emphasis-bold-italic ((t (:bold t :italic t)))) - (gnus-emphasis-italic ((t (:italic t)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:bold t :underline t)))) - (gnus-emphasis-underline-bold-italic ((t (:bold t :italic t :underline t)))) - (gnus-emphasis-underline-italic ((t (:italic t :underline t)))) - (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) - (gnus-group-mail-1-face ((t (:foreground "DeepPink3" :bold t)))) - (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) - (gnus-group-mail-2-face ((t (:foreground "HotPink3" :bold t)))) - (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) - (gnus-group-mail-3-face ((t (:foreground "magenta4" :bold t)))) - (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) - (gnus-group-mail-low-face ((t (:foreground "DeepPink4" :bold t)))) - (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) - (gnus-group-news-1-face ((t (:foreground "ForestGreen" :bold t)))) - (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) - (gnus-group-news-2-face ((t (:foreground "CadetBlue4" :bold t)))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) - (gnus-group-news-low-face ((t (:foreground "DarkGreen" :bold t)))) - (gnus-header-content-face ((t (:foreground "indianred4" :italic t)))) - (gnus-header-from-face ((t (:foreground "red3")))) - (gnus-header-name-face ((t (:foreground "maroon")))) - (gnus-header-newsgroups-face ((t (:foreground "MidnightBlue" :italic t)))) - (gnus-header-subject-face ((t (:foreground "red4")))) - (gnus-signature-face ((t (:italic t)))) - (gnus-splash-face ((t (:foreground "ForestGreen")))) - (gnus-summary-cancelled-face ((t (:foreground "yellow" :background "black")))) - (gnus-summary-high-ancient-face ((t (:foreground "RoyalBlue" :bold t)))) - (gnus-summary-high-read-face ((t (:foreground "DarkGreen" :bold t)))) - (gnus-summary-high-ticked-face ((t (:foreground "firebrick" :bold t)))) - (gnus-summary-high-unread-face ((t (:bold t)))) - (gnus-summary-low-ancient-face ((t (:foreground "RoyalBlue" :italic t)))) - (gnus-summary-low-read-face ((t (:foreground "DarkGreen" :italic t)))) - (gnus-summary-low-ticked-face ((t (:foreground "firebrick" :italic t)))) - (gnus-summary-low-unread-face ((t (:italic t)))) - (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) - (gnus-summary-normal-ticked-face ((t (:foreground "firebrick")))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-selected-face ((t (:underline t)))) - (highlight ((t (:background "darkseagreen2")))) - (highlight-changes-delete-face ((t (:foreground "red" :underline t)))) - (highlight-changes-face ((t (:foreground "red")))) - (highline-face ((t (:background "paleturquoise")))) - (holiday-face ((t (:background "pink")))) - (info-menu-5 ((t (:underline t)))) - (info-node ((t (:bold t :italic t)))) - (info-xref ((t (:bold t)))) - (italic ((t (:italic t)))) - (makefile-space-face ((t (:background "hotpink")))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:foreground "MidnightBlue")))) - (message-header-name-face ((t (:foreground "cornflower blue")))) - (message-header-newsgroups-face ((t (:foreground "blue4" :bold t :italic t)))) - (message-header-other-face ((t (:foreground "steel blue")))) - (message-header-subject-face ((t (:foreground "navy blue" :bold t)))) - (message-header-to-face ((t (:foreground "MidnightBlue" :bold t)))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-separator-face ((t (:foreground "brown")))) - (modeline ((t (:foreground "white" :background "black")))) - (modeline-buffer-id ((t (:foreground "white" :background "black")))) - (modeline-mousable ((t (:foreground "white" :background "black")))) - (modeline-mousable-minor-mode ((t (:foreground "white" :background "black")))) - (region ((t (:background "gray")))) - (secondary-selection ((t (:background "paleturquoise")))) - (show-paren-match-face ((t (:background "turquoise")))) - (show-paren-mismatch-face ((t (:foreground "white" :background "purple")))) - (speedbar-button-face ((t (:foreground "green4")))) - (speedbar-directory-face ((t (:foreground "blue4")))) - (speedbar-file-face ((t (:foreground "cyan4")))) - (speedbar-highlight-face ((t (:background "green")))) - (speedbar-selected-face ((t (:foreground "red" :underline t)))) - (speedbar-tag-face ((t (:foreground "brown")))) - (term-black ((t (:foreground "black")))) - (term-blackbg ((t (:background "black")))) - (term-blue ((t (:foreground "blue")))) - (term-bluebg ((t (:background "blue")))) - (term-bold ((t (:bold t)))) - (term-cyan ((t (:foreground "cyan")))) - (term-cyanbg ((t (:background "cyan")))) - (term-default-bg ((t (nil)))) - (term-default-bg-inv ((t (nil)))) - (term-default-fg ((t (nil)))) - (term-default-fg-inv ((t (nil)))) - (term-green ((t (:foreground "green")))) - (term-greenbg ((t (:background "green")))) - (term-invisible ((t (nil)))) - (term-invisible-inv ((t (nil)))) - (term-magenta ((t (:foreground "magenta")))) - (term-magentabg ((t (:background "magenta")))) - (term-red ((t (:foreground "red")))) - (term-redbg ((t (:background "red")))) - (term-underline ((t (:underline t)))) - (term-white ((t (:foreground "white")))) - (term-whitebg ((t (:background "white")))) - (term-yellow ((t (:foreground "yellow")))) - (term-yellowbg ((t (:background "yellow")))) - (underline ((t (:underline t)))) - (vcursor ((t (:foreground "blue" :background "cyan" :underline t)))) - (vhdl-font-lock-attribute-face ((t (:foreground "Orchid")))) - (vhdl-font-lock-directive-face ((t (:foreground "CadetBlue")))) - (vhdl-font-lock-enumvalue-face ((t (:foreground "Gold4")))) - (vhdl-font-lock-function-face ((t (:foreground "Orchid4")))) - (vhdl-font-lock-prompt-face ((t (:foreground "Red" :bold t)))) - (vhdl-font-lock-reserved-words-face ((t (:foreground "Orange" :bold t)))) - (vhdl-font-lock-translate-off-face ((t (:background "LightGray")))) - (vhdl-speedbar-architecture-face ((t (:foreground "Blue")))) - (vhdl-speedbar-architecture-selected-face ((t (:foreground "Blue" :underline t)))) - (vhdl-speedbar-configuration-face ((t (:foreground "DarkGoldenrod")))) - (vhdl-speedbar-configuration-selected-face ((t (:foreground "DarkGoldenrod" :underline t)))) - (vhdl-speedbar-entity-face ((t (:foreground "ForestGreen")))) - (vhdl-speedbar-entity-selected-face ((t (:foreground "ForestGreen" :underline t)))) - (vhdl-speedbar-instantiation-face ((t (:foreground "Brown")))) - (vhdl-speedbar-instantiation-selected-face ((t (:foreground "Brown" :underline t)))) - (vhdl-speedbar-package-face ((t (:foreground "Grey50")))) - (vhdl-speedbar-package-selected-face ((t (:foreground "Grey50" :underline t)))) - (viper-minibuffer-emacs-face ((t (:foreground "Black" :background "darkseagreen2")))) - (viper-minibuffer-insert-face ((t (:foreground "Black" :background "pink")))) - (viper-minibuffer-vi-face ((t (:foreground "DarkGreen" :background "grey")))) - (viper-replace-overlay-face ((t (:foreground "Black" :background "darkseagreen2")))) - (viper-search-face ((t (:foreground "Black" :background "khaki")))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (widget-single-line-field-face ((t (:background "gray85"))))))) - -(defun color-theme-fischmeister () - "The light colors on a grey blackground. -Sebastian Fischmeister " - (interactive) - (color-theme-install - '(color-theme-fischmeister - ((foreground-color . "black") - (background-color . "gray80") - (mouse-color . "red") - (cursor-color . "yellow") - (border-color . "black") - (background-mode . light)) - (default ((t (nil)))) - (modeline ((t (:foreground "gray80" :background "black")))) - (modeline-buffer-id ((t (:foreground "gray80" :background "black")))) - (modeline-mousable ((t (:foreground "gray80" :background "black")))) - (modeline-mousable-minor-mode ((t (:foreground "gray80" :background "black")))) - (highlight ((t (:background "darkseagreen2")))) - (bold ((t (:bold t)))) - (italic ((t (:italic t)))) - (bold-italic ((t (:bold t :italic t)))) - (region ((t (:background "gray")))) - (secondary-selection ((t (:background "paleturquoise")))) - (underline ((t (:underline t)))) - (show-paren-match-face ((t (:foreground "yellow" :background "darkgreen")))) - (show-paren-mismatch-face ((t (:foreground "white" :background "red")))) - (font-lock-comment-face ((t (:foreground "FireBrick" :bold t :italic t)))) - (font-lock-string-face ((t (:foreground "DarkSlateBlue" :italic t)))) - (font-lock-keyword-face ((t (:foreground "navy")))) - (font-lock-builtin-face ((t (:foreground "white")))) - (font-lock-function-name-face ((t (:foreground "Blue")))) - (font-lock-variable-name-face ((t (:foreground "Darkblue")))) - (font-lock-type-face ((t (:foreground "darkgreen")))) - (font-lock-constant-face ((t (:foreground "CadetBlue")))) - (font-lock-warning-face ((t (:foreground "Orchid" :bold t)))) - (font-lock-reference-face ((t (:foreground "SteelBlue"))))))) - -(defun color-theme-sitaramv-solaris () - "White on a midnight blue background. Lots of yellow and orange. -Includes faces for font-lock, widget, custom, speedbar, message, gnus, -eshell." - (interactive) - (color-theme-install - '(color-theme-sitaramv-solaris - ((foreground-color . "white") - (background-color . "MidnightBlue") - (mouse-color . "yellow") - (cursor-color . "magenta2") - (border-color . "black") - (background-mode . dark)) - (default ((t (nil)))) - (modeline ((t (:foreground "black" :background "gold2")))) - (modeline-buffer-id ((t (:foreground "black" :background "gold2")))) - (modeline-mousable ((t (:foreground "black" :background "gold2")))) - (modeline-mousable-minor-mode ((t (:foreground "black" :background "gold2")))) - (highlight ((t (:foreground "black" :background "Aquamarine")))) - (bold ((t (:bold t)))) - (italic ((t (:italic t)))) - (bold-italic ((t (:bold t :italic t)))) - (region ((t (:foreground "black" :background "snow3")))) - (secondary-selection ((t (:foreground "black" :background "aquamarine")))) - (underline ((t (:underline t)))) - (lazy-highlight-face ((t (:foreground "yellow")))) - (font-lock-comment-face ((t (:foreground "orange" :italic t)))) - (font-lock-string-face ((t (:foreground "orange")))) - (font-lock-keyword-face ((t (:foreground "green")))) - (font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) - (font-lock-function-name-face ((t (:foreground "cyan" :bold t)))) - (font-lock-variable-name-face ((t (:foreground "white")))) - (font-lock-type-face ((t (:foreground "cyan")))) - (font-lock-constant-face ((t (:foreground "Aquamarine")))) - (font-lock-warning-face ((t (:foreground "Pink" :bold t)))) - (widget-documentation-face ((t (:foreground "lime green")))) - (widget-button-face ((t (:bold t)))) - (widget-field-face ((t (:background "dim gray")))) - (widget-single-line-field-face ((t (:background "dim gray")))) - (widget-inactive-face ((t (:foreground "light gray")))) - (widget-button-pressed-face ((t (:foreground "red")))) - (custom-invalid-face ((t (:foreground "yellow" :background "red")))) - (custom-rogue-face ((t (:foreground "pink" :background "black")))) - (custom-modified-face ((t (:foreground "white" :background "blue")))) - (custom-set-face ((t (:foreground "blue" :background "white")))) - (custom-changed-face ((t (:foreground "white" :background "blue")))) - (custom-saved-face ((t (:underline t)))) - (custom-button-face ((t (nil)))) - (custom-documentation-face ((t (nil)))) - (custom-state-face ((t (:foreground "lime green")))) - (custom-variable-tag-face ((t (:foreground "light blue" :underline t)))) - (custom-variable-button-face ((t (:bold t :underline t)))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face-1 ((t (:foreground "pink" :underline t)))) - (custom-group-tag-face ((t (:foreground "light blue" :underline t)))) - (speedbar-button-face ((t (:foreground "green3")))) - (speedbar-file-face ((t (:foreground "cyan")))) - (speedbar-directory-face ((t (:foreground "light blue")))) - (speedbar-tag-face ((t (:foreground "yellow")))) - (speedbar-selected-face ((t (:foreground "red" :underline t)))) - (speedbar-highlight-face ((t (:background "sea green")))) - (font-lock-doc-string-face ((t (:foreground "Plum1" :bold t)))) - (font-lock-exit-face ((t (:foreground "green")))) - (ff-paths-non-existant-file-face ((t (:foreground "NavyBlue" :bold t)))) - (show-paren-match-face ((t (:background "red")))) - (show-paren-mismatch-face ((t (:foreground "white" :background "purple")))) - (message-header-to-face ((t (:foreground "green2" :bold t)))) - (message-header-cc-face ((t (:foreground "LightGoldenrod" :bold t)))) - (message-header-subject-face ((t (:foreground "green3")))) - (message-header-newsgroups-face ((t (:foreground "yellow" :bold t :italic t)))) - (message-header-other-face ((t (:foreground "Salmon")))) - (message-header-name-face ((t (:foreground "green3")))) - (message-header-xheader-face ((t (:foreground "GreenYellow")))) - (message-separator-face ((t (:foreground "Tan")))) - (message-cited-text-face ((t (:foreground "Gold")))) - (message-mml-face ((t (:foreground "ForestGreen")))) - (gnus-group-news-1-face ((t (:foreground "PaleTurquoise" :bold t)))) - (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) - (gnus-group-news-2-face ((t (:foreground "turquoise" :bold t)))) - (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) - (gnus-group-news-3-face ((t (:bold t)))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-low-face ((t (:foreground "DarkTurquoise" :bold t)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) - (gnus-group-mail-1-face ((t (:foreground "aquamarine1" :bold t)))) - (gnus-group-mail-1-empty-face ((t (:foreground "aquamarine1")))) - (gnus-group-mail-2-face ((t (:foreground "aquamarine2" :bold t)))) - (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) - (gnus-group-mail-3-face ((t (:foreground "aquamarine3" :bold t)))) - (gnus-group-mail-3-empty-face ((t (:foreground "aquamarine3")))) - (gnus-group-mail-low-face ((t (:foreground "aquamarine4" :bold t)))) - (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) - (gnus-summary-selected-face ((t (:underline t)))) - (gnus-summary-cancelled-face ((t (:foreground "yellow" :background "black")))) - (gnus-summary-high-ticked-face ((t (:foreground "pink" :bold t)))) - (gnus-summary-low-ticked-face ((t (:foreground "pink" :italic t)))) - (gnus-summary-normal-ticked-face ((t (:foreground "pink")))) - (gnus-summary-high-ancient-face ((t (:foreground "SkyBlue" :bold t)))) - (gnus-summary-low-ancient-face ((t (:foreground "SkyBlue" :italic t)))) - (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) - (gnus-summary-high-unread-face ((t (:bold t)))) - (gnus-summary-low-unread-face ((t (:italic t)))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-high-read-face ((t (:foreground "PaleGreen" :bold t)))) - (gnus-summary-low-read-face ((t (:foreground "PaleGreen" :italic t)))) - (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) - (gnus-splash-face ((t (:foreground "Brown")))) - (eshell-ls-directory-face ((t (:foreground "SkyBlue" :bold t)))) - (eshell-ls-symlink-face ((t (:foreground "Cyan" :bold t)))) - (eshell-ls-executable-face ((t (:foreground "Green" :bold t)))) - (eshell-ls-readonly-face ((t (:foreground "Pink")))) - (eshell-ls-unreadable-face ((t (:foreground "DarkGrey")))) - (eshell-ls-special-face ((t (:foreground "Magenta" :bold t)))) - (eshell-ls-missing-face ((t (:foreground "Red" :bold t)))) - (eshell-ls-archive-face ((t (:foreground "Orchid" :bold t)))) - (eshell-ls-backup-face ((t (:foreground "LightSalmon")))) - (eshell-ls-product-face ((t (:foreground "LightSalmon")))) - (eshell-ls-clutter-face ((t (:foreground "OrangeRed" :bold t)))) - (eshell-prompt-face ((t (:foreground "Pink" :bold t)))) - (term-default-fg ((t (nil)))) - (term-default-bg ((t (nil)))) - (term-default-fg-inv ((t (nil)))) - (term-default-bg-inv ((t (nil)))) - (term-bold ((t (:bold t)))) - (term-underline ((t (:underline t)))) - (term-invisible ((t (nil)))) - (term-invisible-inv ((t (nil)))) - (term-black ((t (:foreground "black")))) - (term-red ((t (:foreground "red")))) - (term-green ((t (:foreground "green")))) - (term-yellow ((t (:foreground "yellow")))) - (term-blue ((t (:foreground "blue")))) - (term-magenta ((t (:foreground "magenta")))) - (term-cyan ((t (:foreground "cyan")))) - (term-white ((t (:foreground "white")))) - (term-blackbg ((t (:background "black")))) - (term-redbg ((t (:background "red")))) - (term-greenbg ((t (:background "green")))) - (term-yellowbg ((t (:background "yellow")))) - (term-bluebg ((t (:background "blue")))) - (term-magentabg ((t (:background "magenta")))) - (term-cyanbg ((t (:background "cyan")))) - (term-whitebg ((t (:background "white")))) - (gnus-emphasis-bold ((t (:bold t)))) - (gnus-emphasis-italic ((t (:italic t)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:bold t :underline t)))) - (gnus-emphasis-underline-italic ((t (:italic t :underline t)))) - (gnus-emphasis-bold-italic ((t (:bold t :italic t)))) - (gnus-emphasis-underline-bold-italic ((t (:bold t :italic t :underline t)))) - (gnus-emphasis-highlight-words ((t (:foreground "yellow" :background "black")))) - (gnus-signature-face ((t (:italic t)))) - (gnus-header-from-face ((t (:foreground "spring green")))) - (gnus-header-subject-face ((t (:foreground "yellow" :bold t)))) - (gnus-header-newsgroups-face ((t (:foreground "SeaGreen3" :bold t :italic t)))) - (gnus-header-name-face ((t (:foreground "pink")))) - (gnus-header-content-face ((t (:foreground "lime green" :italic t)))) - (gnus-cite-attribution-face ((t (:italic t)))) - (gnus-cite-face-1 ((t (:foreground "light blue")))) - (gnus-cite-face-2 ((t (:foreground "light cyan")))) - (gnus-cite-face-3 ((t (:foreground "light yellow")))) - (gnus-cite-face-4 ((t (:foreground "light pink")))) - (gnus-cite-face-5 ((t (:foreground "pale green")))) - (gnus-cite-face-6 ((t (:foreground "beige")))) - (gnus-cite-face-7 ((t (:foreground "orange")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-cite-face-10 ((t (:foreground "medium purple")))) - (gnus-cite-face-11 ((t (:foreground "turquoise"))))))) - -(defun color-theme-sitaramv-nt () - "Black foreground on white background. -Includes faces for font-lock, widget, custom, speedbar." - (interactive) - (color-theme-install - '(color-theme-sitaramv-nt - ((foreground-color . "black") - (background-color . "white") - (mouse-color . "sienna3") - (cursor-color . "HotPink") - (border-color . "Blue") - (background-mode . light)) - (default ((t (nil)))) - (modeline ((t (:foreground "black" :background "gold2")))) - (modeline-buffer-id ((t (:foreground "black" :background "gold2")))) - (modeline-mousable ((t (:foreground "black" :background "gold2")))) - (modeline-mousable-minor-mode ((t (:foreground "black" :background "gold2")))) - (highlight ((t (:foreground "black" :background "darkseagreen2")))) - (bold ((t (:bold t)))) - (italic ((t (:italic t)))) - (bold-italic ((t (:bold t :italic t)))) - (region ((t (:foreground "black" :background "snow3")))) - (secondary-selection ((t (:background "paleturquoise")))) - (underline ((t (:underline t)))) - (lazy-highlight-face ((t (:foreground "dark magenta" :bold t)))) - (font-lock-comment-face ((t (:foreground "ForestGreen" :italic t)))) - (font-lock-string-face ((t (:foreground "red")))) - (font-lock-keyword-face ((t (:foreground "blue" :bold t)))) - (font-lock-builtin-face ((t (:foreground "black")))) - (font-lock-function-name-face ((t (:foreground "dark magenta" :bold t)))) - (font-lock-variable-name-face ((t (:foreground "black")))) - (font-lock-type-face ((t (:foreground "blue")))) - (font-lock-constant-face ((t (:foreground "CadetBlue")))) - (font-lock-warning-face ((t (:foreground "Red" :bold t)))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-button-face ((t (:bold t)))) - (widget-field-face ((t (:background "gray85")))) - (widget-single-line-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (widget-button-pressed-face ((t (:foreground "red")))) - (custom-invalid-face ((t (:foreground "yellow" :background "red")))) - (custom-rogue-face ((t (:foreground "pink" :background "black")))) - (custom-modified-face ((t (:foreground "white" :background "blue")))) - (custom-set-face ((t (:foreground "blue" :background "white")))) - (custom-changed-face ((t (:foreground "white" :background "blue")))) - (custom-saved-face ((t (:underline t)))) - (custom-button-face ((t (nil)))) - (custom-documentation-face ((t (nil)))) - (custom-state-face ((t (:foreground "dark green")))) - (custom-variable-tag-face ((t (:foreground "blue" :underline t)))) - (custom-variable-button-face ((t (:bold t :underline t)))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face-1 ((t (:foreground "red" :underline t)))) - (custom-group-tag-face ((t (:foreground "blue" :underline t)))) - (speedbar-button-face ((t (:foreground "green4")))) - (speedbar-file-face ((t (:foreground "cyan4")))) - (speedbar-directory-face ((t (:foreground "blue4")))) - (speedbar-tag-face ((t (:foreground "brown")))) - (speedbar-selected-face ((t (:foreground "red" :underline t)))) - (speedbar-highlight-face ((t (:background "green")))) - (ff-paths-non-existant-file-face ((t (:foreground "NavyBlue" :bold t)))) - (show-paren-match-face ((t (:background "light blue")))) - (show-paren-mismatch-face ((t (:foreground "white" :background "purple"))))))) - -(defun color-theme-billw () - "Cornsilk on black. -Includes info, diary, font-lock, eshell, sgml, message, gnus, -widget, custom, latex, ediff." - (interactive) - (color-theme-install - '(color-theme-billw - ((foreground-color . "cornsilk") - (background-color . "black") - (mouse-color . "black") - (cursor-color . "white") - (border-color . "black") - (background-mode . dark)) - (default ((t (nil)))) - (modeline ((t (:foreground "black" :background "wheat")))) - (modeline-buffer-id ((t (:foreground "black" :background "wheat")))) - (modeline-mousable ((t (:foreground "black" :background "wheat")))) - (modeline-mousable-minor-mode ((t (:foreground "black" :background "wheat")))) - (highlight ((t (:foreground "wheat" :background "darkslategray")))) - (bold ((t (:bold t)))) - (italic ((t (:italic t)))) - (bold-italic ((t (:bold t :italic t)))) - (region ((t (:background "dimgray")))) - (secondary-selection ((t (:background "deepskyblue4")))) - (underline ((t (:underline t)))) - (info-node ((t (:foreground "yellow" :bold t :italic t)))) - (info-menu-5 ((t (:underline t)))) - (info-xref ((t (:foreground "yellow" :bold t)))) - (diary-face ((t (:foreground "orange")))) - (calendar-today-face ((t (:underline t)))) - (holiday-face ((t (:background "red")))) - (show-paren-match-face ((t (:background "deepskyblue4")))) - (show-paren-mismatch-face ((t (:foreground "white" :background "red")))) - (font-lock-comment-face ((t (:foreground "gold")))) - (font-lock-string-face ((t (:foreground "orange")))) - (font-lock-keyword-face ((t (:foreground "cyan1")))) - (font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) - (font-lock-function-name-face ((t (:foreground "mediumspringgreen")))) - (font-lock-variable-name-face ((t (:foreground "light salmon")))) - (font-lock-type-face ((t (:foreground "yellow1")))) - (font-lock-constant-face ((t (:foreground "salmon")))) - (font-lock-warning-face ((t (:foreground "gold" :bold t)))) - (blank-space-face ((t (:background "LightGray")))) - (blank-tab-face ((t (:foreground "black" :background "cornsilk")))) - (highline-face ((t (:background "gray35")))) - (eshell-ls-directory-face ((t (:foreground "green" :bold t)))) - (eshell-ls-symlink-face ((t (:foreground "Cyan" :bold t)))) - (eshell-ls-executable-face ((t (:foreground "orange" :bold t)))) - (eshell-ls-readonly-face ((t (:foreground "gray")))) - (eshell-ls-unreadable-face ((t (:foreground "DarkGrey")))) - (eshell-ls-special-face ((t (:foreground "Magenta" :bold t)))) - (eshell-ls-missing-face ((t (:foreground "Red" :bold t)))) - (eshell-ls-archive-face ((t (:foreground "Orchid" :bold t)))) - (eshell-ls-backup-face ((t (:foreground "LightSalmon")))) - (eshell-ls-product-face ((t (:foreground "LightSalmon")))) - (eshell-ls-clutter-face ((t (:foreground "blue" :bold t)))) - (sgml-start-tag-face ((t (:foreground "mediumspringgreen")))) - (custom-button-face ((t (:foreground "white")))) - (sgml-ignored-face ((t (:foreground "gray20" :background "gray60")))) - (sgml-doctype-face ((t (:foreground "orange")))) - (sgml-sgml-face ((t (:foreground "yellow")))) - (vc-annotate-face-0046FF ((t (:foreground "wheat" :background "black")))) - (custom-documentation-face ((t (:foreground "white")))) - (sgml-end-tag-face ((t (:foreground "greenyellow")))) - (linemenu-face ((t (:background "gray30")))) - (sgml-entity-face ((t (:foreground "gold")))) - (message-header-to-face ((t (:foreground "floral white" :bold t)))) - (message-header-cc-face ((t (:foreground "ivory")))) - (message-header-subject-face ((t (:foreground "papaya whip" :bold t)))) - (message-header-newsgroups-face ((t (:foreground "lavender blush" :bold t :italic t)))) - (message-header-other-face ((t (:foreground "pale turquoise")))) - (message-header-name-face ((t (:foreground "light sky blue")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-separator-face ((t (:foreground "sandy brown")))) - (message-cited-text-face ((t (:foreground "plum1")))) - (message-mml-face ((t (:foreground "ForestGreen")))) - (gnus-group-news-1-face ((t (:foreground "white" :bold t)))) - (gnus-group-news-1-empty-face ((t (:foreground "white")))) - (gnus-group-news-2-face ((t (:foreground "lightcyan" :bold t)))) - (gnus-group-news-2-empty-face ((t (:foreground "lightcyan")))) - (gnus-group-news-3-face ((t (:foreground "tan" :bold t)))) - (gnus-group-news-3-empty-face ((t (:foreground "tan")))) - (gnus-group-news-4-face ((t (:foreground "white" :bold t)))) - (gnus-group-news-4-empty-face ((t (:foreground "white")))) - (gnus-group-news-5-face ((t (:foreground "wheat" :bold t)))) - (gnus-group-news-5-empty-face ((t (:foreground "wheat")))) - (gnus-group-news-6-face ((t (:foreground "tan" :bold t)))) - (gnus-group-news-6-empty-face ((t (:foreground "tan")))) - (gnus-group-news-low-face ((t (:foreground "DarkTurquoise" :bold t)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) - (gnus-group-mail-1-face ((t (:foreground "white" :bold t)))) - (gnus-group-mail-1-empty-face ((t (:foreground "gray80")))) - (gnus-group-mail-2-face ((t (:foreground "lightcyan" :bold t)))) - (gnus-group-mail-2-empty-face ((t (:foreground "lightcyan")))) - (gnus-group-mail-3-face ((t (:foreground "tan" :bold t)))) - (gnus-group-mail-3-empty-face ((t (:foreground "tan")))) - (gnus-group-mail-low-face ((t (:foreground "aquamarine4" :bold t)))) - (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) - (gnus-summary-selected-face ((t (:background "deepskyblue4" :underline t)))) - (gnus-summary-cancelled-face ((t (:foreground "black" :background "gray")))) - (gnus-summary-high-ticked-face ((t (:foreground "gray70" :bold t)))) - (gnus-summary-low-ticked-face ((t (:foreground "gray70" :bold t)))) - (gnus-summary-normal-ticked-face ((t (:foreground "gray70" :bold t)))) - (gnus-summary-high-ancient-face ((t (:foreground "SkyBlue" :bold t)))) - (gnus-summary-low-ancient-face ((t (:foreground "SkyBlue" :italic t)))) - (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) - (gnus-summary-high-unread-face ((t (:bold t)))) - (gnus-summary-low-unread-face ((t (:italic t)))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-high-read-face ((t (:foreground "PaleGreen" :bold t)))) - (gnus-summary-low-read-face ((t (:foreground "PaleGreen" :italic t)))) - (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) - (gnus-splash-face ((t (:foreground "gold")))) - (font-latex-bold-face ((t (nil)))) - (font-latex-italic-face ((t (nil)))) - (font-latex-math-face ((t (nil)))) - (font-latex-sedate-face ((t (:foreground "Gray85")))) - (font-latex-string-face ((t (:foreground "orange")))) - (font-latex-warning-face ((t (:foreground "gold")))) - (widget-documentation-face ((t (:foreground "lime green")))) - (widget-button-face ((t (:bold t)))) - (widget-field-face ((t (:background "gray20")))) - (widget-single-line-field-face ((t (:background "gray20")))) - (widget-inactive-face ((t (:foreground "wheat")))) - (widget-button-pressed-face ((t (:foreground "red")))) - (custom-invalid-face ((t (:foreground "yellow" :background "red")))) - (custom-rogue-face ((t (:foreground "pink" :background "black")))) - (custom-modified-face ((t (:foreground "white" :background "blue")))) - (custom-set-face ((t (:foreground "blue")))) - (custom-changed-face ((t (:foreground "wheat" :background "skyblue")))) - (custom-saved-face ((t (:underline t)))) - (custom-state-face ((t (:foreground "light green")))) - (custom-variable-tag-face ((t (:foreground "skyblue" :underline t)))) - (custom-variable-button-face ((t (:bold t :underline t)))) - (custom-face-tag-face ((t (:foreground "white" :underline t)))) - (custom-group-tag-face-1 ((t (:foreground "pink" :underline t)))) - (custom-group-tag-face ((t (:foreground "skyblue" :underline t)))) - (swbuff-current-buffer-face ((t (:foreground "red" :bold t)))) - (ediff-current-diff-face-A ((t (:foreground "firebrick" :background "pale green")))) - (ediff-current-diff-face-B ((t (:foreground "DarkOrchid" :background "Yellow")))) - (ediff-current-diff-face-C ((t (:foreground "white" :background "indianred")))) - (ediff-current-diff-face-Ancestor ((t (:foreground "Black" :background "VioletRed")))) - (ediff-fine-diff-face-A ((t (:foreground "Navy" :background "sky blue")))) - (ediff-fine-diff-face-B ((t (:foreground "Black" :background "cyan")))) - (ediff-fine-diff-face-C ((t (:foreground "Black" :background "Turquoise")))) - (ediff-fine-diff-face-Ancestor ((t (:foreground "Black" :background "Green")))) - (ediff-even-diff-face-A ((t (:foreground "Black" :background "light grey")))) - (ediff-even-diff-face-B ((t (:foreground "White" :background "Grey")))) - (ediff-even-diff-face-C ((t (:foreground "Black" :background "light grey")))) - (ediff-even-diff-face-Ancestor ((t (:foreground "White" :background "Grey")))) - (ediff-odd-diff-face-A ((t (:foreground "White" :background "Grey")))) - (ediff-odd-diff-face-B ((t (:foreground "Black" :background "light grey")))) - (ediff-odd-diff-face-C ((t (:foreground "White" :background "Grey")))) - (ediff-odd-diff-face-Ancestor ((t (:foreground "Black" :background "light grey")))) - (gnus-emphasis-bold ((t (:bold t)))) - (gnus-emphasis-italic ((t (:italic t)))) - (gnus-emphasis-underline ((t (:foreground "white" :background "goldenrod4")))) - (gnus-emphasis-underline-bold ((t (:foreground "black" :background "yellow" :bold t :underline t)))) - (gnus-emphasis-underline-italic ((t (:foreground "black" :background "yellow" :italic t :underline t)))) - (gnus-emphasis-bold-italic ((t (:bold t :italic t)))) - (gnus-emphasis-underline-bold-italic ((t (:foreground "black" :background "yellow" :bold t :italic t :underline t)))) - (gnus-emphasis-highlight-words ((t (:foreground "yellow" :background "black")))) - (gnus-signature-face ((t (:italic t)))) - (gnus-header-from-face ((t (:foreground "wheat")))) - (gnus-header-subject-face ((t (:foreground "wheat" :bold t)))) - (gnus-header-newsgroups-face ((t (:foreground "wheat" :italic t)))) - (gnus-header-name-face ((t (:foreground "white")))) - (gnus-header-content-face ((t (:foreground "tan" :italic t)))) - (gnus-filterhist-face-1 ((t (nil)))) - (gnus-splash ((t (:foreground "Brown")))) - (gnus-cite-attribution-face ((t (:italic t)))) - (gnus-cite-face-1 ((t (:foreground "light blue")))) - (gnus-cite-face-2 ((t (:foreground "light cyan")))) - (gnus-cite-face-3 ((t (:foreground "light yellow")))) - (gnus-cite-face-4 ((t (:foreground "light pink")))) - (gnus-cite-face-5 ((t (:foreground "pale green")))) - (gnus-cite-face-6 ((t (:foreground "beige")))) - (gnus-cite-face-7 ((t (:foreground "orange")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-cite-face-10 ((t (:foreground "medium purple")))) - (gnus-cite-face-11 ((t (:foreground "turquoise"))))))) - -(defun color-theme-retro-green (&optional color func) - "Plain green on black faces for those longing for the good old days." - (interactive) - ;; Build a list of faces without parameters - (let ((old-faces (face-list)) - (faces) - (face) - (foreground (or color "green"))) - (dolist (face old-faces) - (cond ((memq face '(bold bold-italic)) - (add-to-list 'faces `(,face (( t (:bold t)))))) - ((memq face '(italic underline show-paren-mismatch-face)) - (add-to-list 'faces `(,face (( t (:underline t)))))) - ((memq face '(modeline modeline-buffer-id modeline-mousable - modeline-mousable-minor-mode highlight region - secondary-selection show-paren-match-face)) - (add-to-list 'faces `(,face (( t (:foreground "black" - :background ,foreground - :inverse t)))))) - (t - (add-to-list 'faces `(,face (( t (nil)))))))) - (color-theme-install - (append - (list (or func 'color-theme-retro-green) - (list (cons 'foreground-color foreground) - (cons 'background-color "black") - (cons 'mouse-color foreground) - (cons 'cursor-color foreground) - (cons 'border-color foreground) - (cons 'background-mode 'dark))) - faces)))) - -(defun color-theme-retro-orange () - "Plain orange on black faces for those longing for the good old days." - (interactive) - (color-theme-retro-green "orange" 'color-theme-retro-orange)) - -(defun color-theme-subtle-hacker () - "Subtle Hacker Color Theme. -Based on gnome2, but uses white for important things like comments, -and less of the unreadable tomato. By Colin Walters " - (interactive) - (color-theme-gnome2) - (let ((color-theme-is-cumulative t)) - (color-theme-install - '(color-theme-subtle-hacker - nil - nil - (custom-state-face ((t (:foreground "Coral")))) - (diary-face ((t (:bold t :foreground "IndianRed")))) - (eshell-ls-clutter-face ((t (:bold t :foreground "DimGray")))) - (eshell-ls-executable-face ((t (:bold t :foreground "Coral")))) - (eshell-ls-missing-face ((t (:bold t :foreground "black")))) - (eshell-ls-special-face ((t (:bold t :foreground "Gold")))) - (eshell-ls-symlink-face ((t (:bold t :foreground "White")))) - (font-lock-comment-face ((t (:foreground "White")))) - (font-lock-constant-face ((t (:bold t :foreground "Aquamarine")))) - (font-lock-function-name-face ((t (:bold t :foreground "MediumSlateBlue")))) - (font-lock-string-face ((t (:italic t :foreground "LightSalmon")))) - (font-lock-variable-name-face ((t (:italic t :bold t :foreground "Aquamarine")))) - (gnus-cite-face-1 ((t (:foreground "dark khaki")))) - (gnus-cite-face-2 ((t (:foreground "chocolate")))) - (gnus-cite-face-3 ((t (:foreground "tomato")))) - (gnus-group-mail-1-empty-face ((t (:foreground "light cyan")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "light cyan")))) - (gnus-group-mail-2-empty-face ((t (:foreground "turquoise")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "turquoise")))) - (gnus-group-mail-3-empty-face ((t (:foreground "tomato")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "tomato")))) - (gnus-group-mail-low-empty-face ((t (:foreground "dodger blue")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "dodger blue")))) - (gnus-group-news-1-empty-face ((t (:foreground "green yellow")))) - (gnus-group-news-1-face ((t (:bold t :foreground "green yellow")))) - (gnus-group-news-2-empty-face ((t (:foreground "dark orange")))) - (gnus-group-news-2-face ((t (:bold t :foreground "dark orange")))) - (gnus-group-news-3-empty-face ((t (:foreground "tomato")))) - (gnus-group-news-3-face ((t (:bold t :foreground "tomato")))) - (gnus-group-news-low-empty-face ((t (:foreground "yellow green")))) - (gnus-group-news-low-face ((t (:bold t :foreground "yellow green")))) - (gnus-header-name-face ((t (:bold t :foreground "DodgerBlue1")))) - (gnus-header-newsgroups-face ((t (:italic t :bold t :foreground "LightSkyBlue3")))) - (gnus-signature-face ((t (:foreground "salmon")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) - (gnus-summary-high-read-face ((t (:bold t :foreground "forest green")))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "burlywood")))) - (gnus-summary-high-unread-face ((t (:italic t :bold t :foreground "cyan")))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "chocolate")))) - (gnus-summary-low-read-face ((t (:foreground "light sea green")))) - (gnus-summary-low-ticked-face ((t (:italic t :foreground "chocolate")))) - (gnus-summary-low-unread-face ((t (:italic t :foreground "light sea green")))) - (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "khaki")))) - (gnus-summary-normal-ticked-face ((t (:foreground "sandy brown")))) - (gnus-summary-normal-unread-face ((t (:foreground "aquamarine")))) - (message-cited-text-face ((t (:foreground "White")))) - (message-header-name-face ((t (:foreground "DodgerBlue1")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "LightSkyBlue3")))) - (message-header-other-face ((t (:foreground "LightSkyBlue3")))) - (message-header-xheader-face ((t (:foreground "DodgerBlue3")))))))) - -(defun color-theme-pok-wog () - "Low-contrast White-on-Gray by S.Pokrovsky. - -The following might be a good addition to your .Xdefaults file: - -Emacs.pane.menubar.background: darkGrey -Emacs.pane.menubar.foreground: black" - (interactive) - (color-theme-install - '(color-theme-pok-wog - ((foreground-color . "White") - (background-color . "DarkSlateGray") - (mouse-color . "gold") - (cursor-color . "Cyan") - (border-color . "black") - (background-mode . dark)) - (default ((t (nil)))) - (bold ((t (:bold t :foreground "Wheat")))) - (bold-italic ((t (:italic t :bold t :foreground "wheat")))) - (calendar-today-face ((t (:underline t :foreground "white")))) - (diary-face ((t (:foreground "red")))) - (font-lock-builtin-face ((t (:bold t :foreground "cyan")))) - (font-lock-comment-face ((t (:foreground "Gold")))) - (font-lock-constant-face ((t (:bold t :foreground "LightSteelBlue")))) - (font-lock-function-name-face ((t (:bold t :foreground "Yellow")))) - (font-lock-keyword-face ((t (:bold t :foreground "Cyan")))) - (font-lock-string-face ((t (:foreground "Khaki")))) - (font-lock-type-face ((t (:bold t :foreground "Cyan")))) - (font-lock-variable-name-face ((t (:foreground "LightGoldenrod")))) - (font-lock-warning-face ((t (:bold t :foreground "Pink")))) - (gnus-cite-attribution-face ((t (:bold t :foreground "Wheat")))) - (gnus-cite-face-1 ((t (:foreground "wheat")))) - (gnus-cite-face-10 ((t (:foreground "wheat")))) - (gnus-cite-face-11 ((t (:foreground "turquoise")))) - (gnus-cite-face-2 ((t (:foreground "cyan")))) - (gnus-cite-face-3 ((t (:foreground "light yellow")))) - (gnus-cite-face-4 ((t (:foreground "light pink")))) - (gnus-cite-face-5 ((t (:foreground "pale green")))) - (gnus-cite-face-6 ((t (:foreground "beige")))) - (gnus-cite-face-7 ((t (:foreground "orange")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-emphasis-bold ((t (:bold t :foreground "wheat")))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) - (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) - (gnus-emphasis-italic ((t (:italic t :foreground "white")))) - (gnus-emphasis-underline ((t (:underline t :foreground "white")))) - (gnus-emphasis-underline-bold ((t (:underline t :bold t :foreground "wheat")))) - (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t)))) - (gnus-emphasis-underline-italic ((t (:underline t :italic t :foreground "white")))) - (gnus-group-mail-1-empty-face ((t (:foreground "aquamarine1")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "aquamarine1")))) - (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "aquamarine2")))) - (gnus-group-mail-3-empty-face ((t (:foreground "Salmon")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "gold")))) - (gnus-group-mail-low-empty-face ((t (:foreground "Wheat")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "aquamarine4")))) - (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) - (gnus-group-news-1-face ((t (:bold t :foreground "PaleTurquoise")))) - (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) - (gnus-group-news-2-face ((t (:bold t :foreground "turquoise")))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t :foreground "Wheat")))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkTurquoise")))) - (gnus-header-content-face ((t (:italic t :foreground "Wheat")))) - (gnus-header-from-face ((t (:foreground "light yellow")))) - (gnus-header-name-face ((t (:foreground "cyan")))) - (gnus-header-newsgroups-face ((t (:italic t :foreground "yellow")))) - (gnus-header-subject-face ((t (:bold t :foreground "Gold")))) - (gnus-signature-face ((t (:italic t :foreground "wheat")))) - (gnus-splash-face ((t (:foreground "orange")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "SkyBlue")))) - (gnus-summary-high-read-face ((t (:bold t :foreground "PaleGreen")))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "pink")))) - (gnus-summary-high-unread-face ((t (:bold t :foreground "gold")))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "SkyBlue")))) - (gnus-summary-low-read-face ((t (:italic t :foreground "PaleGreen")))) - (gnus-summary-low-ticked-face ((t (:italic t :foreground "pink")))) - (gnus-summary-low-unread-face ((t (:italic t)))) - (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) - (gnus-summary-normal-ticked-face ((t (:foreground "pink")))) - (gnus-summary-normal-unread-face ((t (:foreground "wheat")))) - (gnus-summary-selected-face ((t (:underline t :foreground "white")))) - (highlight ((t (:background "Blue" :foreground "white")))) - (highline-face ((t (:background "black" :foreground "white")))) - (holiday-face ((t (:background "pink" :foreground "white")))) - (info-menu-5 ((t (:underline t)))) - (info-node ((t (:italic t :bold t :foreground "white")))) - (info-xref ((t (:bold t :foreground "wheat")))) - (italic ((t (:italic t :foreground "white")))) - (makefile-space-face ((t (:background "hotpink")))) - (message-cited-text-face ((t (:foreground "green")))) - (message-header-cc-face ((t (:bold t :foreground "Aquamarine")))) - (message-header-name-face ((t (:foreground "Gold")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "yellow")))) - (message-header-other-face ((t (:foreground "lightGray")))) - (message-header-subject-face ((t (:foreground "Yellow")))) - (message-header-to-face ((t (:bold t :foreground "green2")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-mml-face ((t (:bold t :foreground "khaki")))) - (message-separator-face ((t (:background "aquamarine" :foreground "black")))) - (modeline ((t (:background "DarkGray" :foreground "Black")))) - (modeline-buffer-id ((t (:background "DarkGray" :foreground "Black")))) - (modeline-mousable ((t (:background "DarkGray" :foreground "Black")))) - (modeline-mousable-minor-mode ((t (:background "DarkGray" :foreground "Black")))) - (paren-mismatch-face ((t (:background "DeepPink" :foreground "white")))) - (paren-no-match-face ((t (:background "yellow" :foreground "white")))) - (region ((t (:background "MediumSlateBlue" :foreground "white")))) - (secondary-selection ((t (:background "Sienna" :foreground "white")))) - (show-paren-match-face ((t (:background "turquoise" :foreground "white")))) - (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) - (speedbar-button-face ((t (:bold t :foreground "magenta")))) - (speedbar-directory-face ((t (:bold t :foreground "orchid")))) - (speedbar-file-face ((t (:foreground "pink")))) - (speedbar-highlight-face ((t (:background "black")))) - (speedbar-selected-face ((t (:underline t :foreground "cyan")))) - (speedbar-tag-face ((t (:foreground "yellow")))) - (swbuff-current-buffer-face ((t (:bold t :foreground "red")))) - (underline ((t (:underline t :foreground "white")))) - (widget-button-face ((t (:bold t :foreground "wheat")))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "lime green")))) - (widget-field-face ((t (:background "dim gray" :foreground "white")))) - (widget-inactive-face ((t (:foreground "light gray")))) - (widget-single-line-field-face ((t (:background "dim gray" :foreground "white"))))))) - -(defun color-theme-pok-wob () - "White-on-Black by S. Pokrovsky. - -The following might be a good addition to your .Xdefaults file: - -Emacs.pane.menubar.background: darkGrey -Emacs.pane.menubar.foreground: black" - (interactive) -; (setq term-default-fg-color "white" -; term-default-bg "black") - (color-theme-install - '(color-theme-pok-wob - ((foreground-color . "white") - (background-color . "black") - (mouse-color . "gold") - (cursor-color . "yellow") - (border-color . "black") - (background-mode . dark)) - (default ((t (nil)))) - (bold ((t (:bold t :foreground "light gray")))) - (bold-italic ((t (:italic t :bold t :foreground "cyan")))) - (calendar-today-face ((t (:underline t :foreground "white")))) - (custom-button-face ((t (nil)))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face ((t (:underline t)))) - (custom-group-tag-face-1 ((t (:underline t)))) - (custom-invalid-face ((t (:background "red" :foreground "white")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (nil)))) - (custom-variable-button-face ((t (:underline t :bold t)))) - (custom-variable-tag-face ((t (:underline t)))) - (diary-face ((t (:foreground "gold")))) - (font-lock-builtin-face ((t (:bold t :foreground "cyan")))) - (font-lock-comment-face ((t (:foreground "Gold")))) - (font-lock-constant-face ((t (:bold t :foreground "LightSteelBlue")))) - (font-lock-function-name-face ((t (:bold t :foreground "gold")))) - (font-lock-keyword-face ((t (:bold t :foreground "Cyan")))) - (font-lock-string-face ((t (:foreground "Khaki")))) - (font-lock-type-face ((t (:bold t :foreground "Cyan")))) - (font-lock-variable-name-face ((t (:italic t :foreground "gold")))) - (font-lock-warning-face ((t (:bold t :foreground "Pink")))) - (gnus-cite-attribution-face ((t (:underline t :foreground "beige")))) - (gnus-cite-face-1 ((t (:foreground "gold")))) - (gnus-cite-face-10 ((t (:foreground "coral")))) - (gnus-cite-face-11 ((t (:foreground "turquoise")))) - (gnus-cite-face-2 ((t (:foreground "wheat")))) - (gnus-cite-face-3 ((t (:foreground "light pink")))) - (gnus-cite-face-4 ((t (:foreground "khaki")))) - (gnus-cite-face-5 ((t (:foreground "pale green")))) - (gnus-cite-face-6 ((t (:foreground "beige")))) - (gnus-cite-face-7 ((t (:foreground "orange")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-emphasis-bold ((t (:bold t :foreground "light gray")))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t :foreground "cyan")))) - (gnus-emphasis-highlight-words ((t (:background "black" :foreground "gold")))) - (gnus-emphasis-italic ((t (:italic t :foreground "cyan")))) - (gnus-emphasis-underline ((t (:underline t :foreground "white")))) - (gnus-emphasis-underline-bold ((t (:underline t :bold t :foreground "white")))) - (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t :foreground "white")))) - (gnus-emphasis-underline-italic ((t (:underline t :italic t :foreground "white")))) - (gnus-group-mail-1-empty-face ((t (:foreground "Magenta")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "Magenta")))) - (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "aquamarine2")))) - (gnus-group-mail-3-empty-face ((t (:foreground "Cyan")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "Cyan")))) - (gnus-group-mail-low-empty-face ((t (:foreground "Wheat")))) - (gnus-group-mail-low-face ((t (:foreground "aquamarine4")))) - (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) - (gnus-group-news-1-face ((t (:bold t :foreground "PaleTurquoise")))) - (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) - (gnus-group-news-2-face ((t (:bold t :foreground "turquoise")))) - (gnus-group-news-3-empty-face ((t (:foreground "wheat")))) - (gnus-group-news-3-face ((t (:bold t :foreground "Wheat")))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t)))) - (gnus-group-news-low-empty-face ((t (:foreground "MediumAquamarine")))) - (gnus-group-news-low-face ((t (:bold t :foreground "MediumAquamarine")))) - (gnus-header-content-face ((t (:italic t :foreground "Wheat")))) - (gnus-header-from-face ((t (:foreground "light yellow")))) - (gnus-header-name-face ((t (:foreground "Wheat")))) - (gnus-header-newsgroups-face ((t (:italic t :foreground "gold")))) - (gnus-header-subject-face ((t (:bold t :foreground "Gold")))) - (gnus-signature-face ((t (:italic t :foreground "white")))) - (gnus-splash-face ((t (:foreground "orange")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "orange")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "SkyBlue")))) - (gnus-summary-high-read-face ((t (:bold t :foreground "red")))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "coral")))) - (gnus-summary-high-unread-face ((t (:bold t :foreground "gold")))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "SkyBlue")))) - (gnus-summary-low-read-face ((t (:italic t :foreground "red")))) - (gnus-summary-low-ticked-face ((t (:italic t :foreground "coral")))) - (gnus-summary-low-unread-face ((t (:italic t :foreground "white")))) - (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) - (gnus-summary-normal-ticked-face ((t (:foreground "pink")))) - (gnus-summary-normal-unread-face ((t (:foreground "white")))) - (gnus-summary-selected-face ((t (:underline t :foreground "white")))) - (highlight ((t (:background "Blue" :foreground "white")))) - (highline-face ((t (:background "dark slate gray" :foreground "white")))) - (holiday-face ((t (:background "red" :foreground "white")))) - (info-menu-5 ((t (:underline t)))) - (info-node ((t (:italic t :bold t :foreground "white")))) - (info-xref ((t (:bold t :foreground "light gray")))) - (italic ((t (:italic t :foreground "cyan")))) - (makefile-space-face ((t (:background "hotpink" :foreground "white")))) - (message-cited-text-face ((t (:foreground "green")))) - (message-header-cc-face ((t (:bold t :foreground "Aquamarine")))) - (message-header-name-face ((t (:foreground "Gold")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "gold")))) - (message-header-other-face ((t (:foreground "lightGray")))) - (message-header-subject-face ((t (:foreground "Yellow")))) - (message-header-to-face ((t (:bold t :foreground "green2")))) - (message-header-xheader-face ((t (:foreground "sky blue")))) - (message-mml-face ((t (:bold t :foreground "khaki")))) - (message-separator-face ((t (:background "aquamarine" :foreground "black")))) - (modeline ((t (:background "dark gray" :foreground "black")))) - (modeline-buffer-id ((t (:background "dark gray" :foreground "black")))) - (modeline-mousable ((t (:background "dark gray" :foreground "black")))) - (modeline-mousable-minor-mode ((t (:background "dark gray" :foreground "black")))) - (paren-mismatch-face ((t (:bold t :background "white" :foreground "red")))) - (paren-no-match-face ((t (:bold t :background "white" :foreground "red")))) - (region ((t (:background "MediumSlateBlue" :foreground "white")))) - (secondary-selection ((t (:background "Sienna" :foreground "white")))) - (show-paren-match-face ((t (:background "purple" :foreground "white")))) - (show-paren-mismatch-face ((t (:bold t :background "white" :foreground "red")))) - (speedbar-button-face ((t (nil)))) - (speedbar-directory-face ((t (nil)))) - (speedbar-file-face ((t (:bold t)))) - (speedbar-highlight-face ((t (nil)))) - (speedbar-selected-face ((t (:underline t)))) - (speedbar-tag-face ((t (nil)))) - (swbuff-current-buffer-face ((t (:bold t :foreground "red")))) - (underline ((t (:underline t :foreground "white")))) - (widget-button-face ((t (:bold t :foreground "coral")))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "lime green")))) - (widget-field-face ((t (:background "dim gray" :foreground "white")))) - (widget-inactive-face ((t (:foreground "light gray")))) - (widget-single-line-field-face ((t (:background "dim gray" :foreground "white"))))))) - -(defun color-theme-blue-sea () - "The grey on midnight blue theme. - -Includes faces for apropos, font-lock (Emacs and XEmacs), speedbar, -custom, widget, info, flyspell, gnus, message, man, woman, dired. - -This is what you should put in your .Xdefaults file, if you want to -change the colors of the menus: - -emacs*Background: DarkSlateGray -emacs*Foreground: Wheat" - (interactive) - (color-theme-blue-gnus) - (let ((color-theme-is-cumulative t)) - (color-theme-blue-erc) - (color-theme-install - '(color-theme-blue-sea - ((background-color . "MidnightBlue") - (background-mode . dark) - (border-color . "Grey") - (cursor-color . "Grey") - (foreground-color . "Grey") - (mouse-color . "Grey")) - ((Man-overstrike-face . woman-bold-face) - (Man-underline-face . woman-italic-face)) - (default ((t (nil)))) - (bold ((t (:bold t)))) - (bold-italic ((t (:bold t :foreground "beige")))) - (calendar-today-face ((t (:underline t)))) - (cperl-array-face ((t (:foreground "light salmon" :bold t)))) - (cperl-hash-face ((t (:foreground "beige" :bold t :italic t)))) - (cperl-nonoverridable-face ((t (:foreground "aquamarine")))) - (custom-button-face ((t (:foreground "gainsboro")))) - (custom-changed-face ((t (:foreground "white" :background "blue")))) - (custom-documentation-face ((t (:foreground "light blue")))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face ((t (:foreground "pale turquoise" :bold t)))) - (custom-group-tag-face-1 ((t (:foreground "pale turquoise" :underline t)))) - (custom-invalid-face ((t (:foreground "yellow" :background "red")))) - (custom-modified-face ((t (:foreground "white" :background "blue")))) - (custom-rogue-face ((t (:foreground "pink" :background "black")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:foreground "blue" :background "white")))) - (custom-state-face ((t (:foreground "light salmon")))) - (custom-variable-button-face ((t (:bold t :underline t)))) - (custom-variable-tag-face ((t (:foreground "turquoise" :bold t)))) - (diary-face ((t (:foreground "red")))) - (dired-face-directory ((t (:bold t :foreground "sky blue")))) - (dired-face-permissions ((t (:foreground "aquamarine")))) - (dired-face-flagged ((t (:foreground "tomato")))) - (dired-face-marked ((t (:foreground "light salmon")))) - (dired-face-executable ((t (:foreground "green yellow")))) - (eshell-ls-archive-face ((t (:bold t :foreground "medium purple")))) - (eshell-ls-backup-face ((t (:foreground "dim gray")))) - (eshell-ls-clutter-face ((t (:foreground "dim gray")))) - (eshell-ls-directory-face ((t (:bold t :foreground "medium slate blue")))) - (eshell-ls-executable-face ((t (:bold t :foreground "aquamarine")))) - (eshell-ls-missing-face ((t (:foreground "black")))) - (eshell-ls-picture-face ((t (:foreground "violet")))) - (eshell-ls-product-face ((t (:foreground "light steel blue")))) - (eshell-ls-readonly-face ((t (:foreground "aquamarine")))) - (eshell-ls-special-face ((t (:foreground "gold")))) - (eshell-ls-symlink-face ((t (:foreground "white")))) - (eshell-ls-unreadable-face ((t (:foreground "dim gray")))) - (eshell-prompt-face ((t (:foreground "light sky blue" :bold t)))) - (excerpt ((t (:italic t)))) - (fixed ((t (:bold t)))) - (flyspell-duplicate-face ((t (:foreground "Gold3" :bold t :underline t)))) - (flyspell-incorrect-face ((t (:foreground "OrangeRed" :bold t :underline t)))) - (font-lock-builtin-face ((t (:foreground "aquamarine")))) - (font-lock-comment-face ((t (:foreground "light blue")))) - (font-lock-constant-face ((t (:foreground "pale green")))) - (font-lock-doc-string-face ((t (:foreground "sky blue")))) - (font-lock-function-name-face ((t (:bold t :foreground "aquamarine")))) - (font-lock-keyword-face ((t (:foreground "pale turquoise" :bold t)))) - (font-lock-reference-face ((t (:foreground "pale green")))) - (font-lock-string-face ((t (:foreground "light sky blue")))) - (font-lock-type-face ((t (:foreground "sky blue" :bold t)))) - (font-lock-variable-name-face ((t (:foreground "turquoise" :bold t)))) - (font-lock-warning-face ((t (:foreground "Red" :bold t)))) - (fringe ((t (:background "MidnightBlue")))) - (header-line ((t (:background "#002" :foreground "cornflower blue")))) - (highlight ((t (:background "dark slate blue" :foreground "light blue")))) - (highline-face ((t (:background "DeepSkyBlue4")))) - (holiday-face ((t (:background "pink")))) - (info-menu-5 ((t (:underline t)))) - (info-node ((t (:bold t)))) - (info-xref ((t (:bold t :foreground "sky blue")))) - (isearch ((t (:background "slate blue")))) - (italic ((t (:foreground "sky blue")))) - (makefile-space-face ((t (:background "hotpink")))) - (menu ((t (:background "MidnightBlue" :foreground "Grey")))) - (modeline ((t (:foreground "wheat" :background "slate blue")))) - (mode-line-inactive ((t (:background "dark slate blue" :foreground "wheat")))) - (modeline-buffer-id ((t (:foreground "beige" :background "slate blue")))) - (modeline-mousable ((t (:foreground "light cyan" :background "slate blue")))) - (modeline-mousable-minor-mode ((t (:foreground "wheat" :background "slate blue")))) - (region ((t (:background "DarkSlateBlue")))) - (secondary-selection ((t (:background "steel blue")))) - (show-paren-match-face ((t (:foreground "white" :background "light slate blue")))) - (show-paren-mismatch-face ((t (:foreground "white" :background "red")))) - (speedbar-button-face ((t (:foreground "seashell2")))) - (speedbar-directory-face ((t (:foreground "seashell3")))) - (speedbar-file-face ((t (:foreground "seashell4")))) - (speedbar-highlight-face ((t (:background "dark slate blue" :foreground "wheat")))) - (speedbar-selected-face ((t (:foreground "seashell1" :underline t)))) - (speedbar-tag-face ((t (:foreground "antique white")))) - (tool-bar ((t (:background "MidnightBlue" :foreground "Grey" :box (:line-width 1 :style released-button))))) - (underline ((t (:underline t)))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "light blue")))) - (widget-field-face ((t (:background "RoyalBlue4" :foreground "wheat")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (widget-single-line-field-face ((t (:background "slate blue" :foreground "wheat")))) - (woman-bold-face ((t (:foreground "sky blue" :bold t)))) - (woman-italic-face ((t (:foreground "deep sky blue")))) - (woman-unknown-face ((t (:foreground "LightSalmon")))) - (zmacs-region ((t (:background "DarkSlateBlue")))))))) - -(defun color-theme-rotor () - "Black on Beige color theme by Jinwei Shen, created 2000-06-08. -Supports default faces, font-lock, custom, widget, message, man, -show-paren, viper." - (interactive) - (color-theme-install - '(color-theme-rotor - ((background-color . "Beige") - (background-mode . light) - (border-color . "black") - (cursor-color . "Maroon") - (foreground-color . "Black") - (mouse-color . "Black")) - ((Man-overstrike-face . font-lock-function-name-face) - (Man-underline-face . font-lock-type-face) - (list-matching-lines-face . bold) - (rmail-highlight-face . font-lock-function-name-face) - (watson-attribution-face . italic) - (watson-url-face . bold) - (watson-url-mouse-face . highlight)) - (default ((t (nil)))) - (bold ((t (:bold t :background "grey40" :foreground "yellow")))) - (bold-italic ((t (:italic t :bold t :foreground "yellow green")))) - (custom-button-face ((t (nil)))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face ((t (:underline t :foreground "blue")))) - (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "dark green")))) - (custom-variable-button-face ((t (:underline t :bold t)))) - (custom-variable-tag-face ((t (:underline t :foreground "blue")))) - (font-lock-builtin-face ((t (:foreground "Orchid")))) - (font-lock-comment-face ((t (:foreground "MediumBlue")))) - (font-lock-constant-face ((t (:foreground "CadetBlue")))) - (font-lock-function-name-face ((t (:foreground "MediumSlateBlue")))) - (font-lock-keyword-face ((t (:foreground "#80a0ff")))) - (font-lock-string-face ((t (:foreground "red")))) - (font-lock-type-face ((t (:foreground "ForestGreen")))) - (font-lock-variable-name-face ((t (:foreground "DarkGoldenrod")))) - (font-lock-warning-face ((t (:bold t :foreground "Red")))) - (highlight ((t (:background "PaleGreen" :foreground "black")))) - (italic ((t (:italic t :foreground "yellow3")))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:foreground "MidnightBlue")))) - (message-header-name-face ((t (:foreground "cornflower blue")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4")))) - (message-header-other-face ((t (:foreground "steel blue")))) - (message-header-subject-face ((t (:bold t :foreground "navy blue")))) - (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-separator-face ((t (:foreground "brown")))) - (modeline ((t (:background "wheat" :foreground "DarkOliveGreen")))) - (modeline-buffer-id ((t (:background "wheat" :foreground "DarkOliveGreen")))) - (modeline-mousable ((t (:background "wheat" :foreground "DarkOliveGreen")))) - (modeline-mousable-minor-mode ((t (:background "wheat" :foreground "DarkOliveGreen")))) - (nil ((t (nil)))) - (region ((t (:background "dark cyan" :foreground "cyan")))) - (secondary-selection ((t (:background "Turquoise" :foreground "black")))) - (show-paren-match-face ((t (:background "turquoise")))) - (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) - (underline ((t (:underline t)))) - (viper-minibuffer-emacs-face ((t (:background "darkseagreen2" :foreground "Black")))) - (viper-minibuffer-insert-face ((t (:background "pink" :foreground "Black")))) - (viper-minibuffer-vi-face ((t (:background "grey" :foreground "DarkGreen")))) - (viper-replace-overlay-face ((t (:background "darkseagreen2" :foreground "Black")))) - (viper-search-face ((t (:background "khaki" :foreground "Black")))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (widget-single-line-field-face ((t (:background "gray85"))))))) - -(defun color-theme-pierson () - "Black on White color theme by Dan L. Pierson, created 2000-06-08. -Supports default faces, font-lock, show-paren." - (interactive) - (color-theme-install - '(color-theme-pierson - ((background-color . "AntiqueWhite") - (background-mode . light) - (border-color . "black") - (cursor-color . "Orchid") - (foreground-color . "black") - (mouse-color . "Orchid")) - ((list-matching-lines-face . bold)) - (default ((t (nil)))) - (bold ((t (:bold t)))) - (bold-italic ((t (:italic t :bold t)))) - (font-lock-builtin-face ((t (:foreground "Orchid")))) - (font-lock-comment-face ((t (:foreground "ForestGreen")))) - (font-lock-constant-face ((t (:foreground "CadetBlue")))) - (font-lock-function-name-face ((t (:foreground "blue3")))) - (font-lock-keyword-face ((t (:foreground "Blue")))) - (font-lock-string-face ((t (:foreground "Firebrick")))) - (font-lock-type-face ((t (:foreground "Purple")))) - (font-lock-variable-name-face ((t (:foreground "blue3")))) - (font-lock-warning-face ((t (:bold t :foreground "Red")))) - (highlight ((t (:background "darkseagreen2")))) - (italic ((t (:italic t)))) - (modeline ((t (:foreground "antiquewhite" :background "black")))) - (modeline-mousable-minor-mode ((t (:foreground "antiquewhite" :background "black")))) - (modeline-mousable ((t (:foreground "antiquewhite" :background "black")))) - (modeline-buffer-id ((t (:foreground "antiquewhite" :background "black")))) - (region ((t (:background "gray")))) - (secondary-selection ((t (:background "paleturquoise")))) - (show-paren-match-face ((t (:background "turquoise")))) - (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) - (underline ((t (:underline t))))))) - -(defun color-theme-xemacs () - "XEmacs standard colors. -If you are missing standard faces in this theme, please notify the maintainer. -Currently, this theme includes the standard faces and font-lock faces, including -some faces used in Emacs only but which are needed to recreate the look of the -XEmacs color theme." - (interactive) - (color-theme-install - '(color-theme-xemacs - ((background-color . "gray80") - (background-mode . light) - (background-toolbar-color . "#cf3ccf3ccf3c") - (border-color . "#000000000000") - (bottom-toolbar-shadow-color . "#79e77df779e7") - (cursor-color . "Red3") - (foreground-color . "black") - (top-toolbar-shadow-color . "#fffffbeeffff")) - (default ((t (nil)))) - (blue ((t (:foreground "blue")))) - (bold ((t (:bold t)))) - (bold-italic ((t (:italic t :bold t)))) - (border-glyph ((t (nil)))) - (custom-button-face ((t (:bold t)))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face ((t (:underline t :foreground "blue")))) - (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "dark green")))) - (custom-variable-button-face ((t (:underline t :bold t)))) - (custom-variable-tag-face ((t (:underline t :foreground "blue")))) - (dired-face-boring ((t (:foreground "Gray65")))) - (dired-face-directory ((t (:bold t)))) - (dired-face-executable ((t (:foreground "SeaGreen")))) - (dired-face-flagged ((t (:background "LightSlateGray")))) - (dired-face-marked ((t (:background "PaleVioletRed")))) - (dired-face-permissions ((t (:background "grey75" :foreground "black")))) - (dired-face-setuid ((t (:foreground "Red")))) - (dired-face-socket ((t (:foreground "magenta")))) - (dired-face-symlink ((t (:foreground "cyan")))) - (font-lock-builtin-face ((t (:foreground "red3")))) - (font-lock-comment-face ((t (:foreground "blue4")))) - (font-lock-constant-face ((t (:foreground "red3")))) - (font-lock-doc-string-face ((t (:foreground "green4")))) - (font-lock-function-name-face ((t (:foreground "brown4")))) - (font-lock-keyword-face ((t (:foreground "red4")))) - (font-lock-preprocessor-face ((t (:foreground "blue3")))) - (font-lock-reference-face ((t (:foreground "red3")))) - (font-lock-string-face ((t (:foreground "green4")))) - (font-lock-type-face ((t (:foreground "steelblue")))) - (font-lock-variable-name-face ((t (:foreground "magenta4")))) - (font-lock-warning-face ((t (:bold t :foreground "Red")))) - (green ((t (:foreground "green")))) - (gui-button-face ((t (:background "grey75" :foreground "black")))) - (gui-element ((t (:background "Gray80")))) - (highlight ((t (:background "darkseagreen2")))) - (info-node ((t (:italic t :bold t)))) - (info-xref ((t (:bold t)))) - (isearch ((t (:background "paleturquoise")))) - (italic ((t (:italic t)))) - (left-margin ((t (nil)))) - (list-mode-item-selected ((t (:background "gray68")))) - (modeline ((t (:background "Gray80")))) - (modeline-buffer-id ((t (:background "Gray80" :foreground "blue4")))) - (modeline-mousable ((t (:background "Gray80" :foreground "firebrick")))) - (modeline-mousable-minor-mode ((t (:background "Gray80" :foreground "green4")))) - (paren-blink-off ((t (:foreground "gray80")))) - (paren-match ((t (:background "darkseagreen2")))) - (paren-mismatch ((t (:background "DeepPink" :foreground "black")))) - (pointer ((t (nil)))) - (primary-selection ((t (:background "gray65")))) - (red ((t (:foreground "red")))) - (region ((t (:background "gray65")))) - (right-margin ((t (nil)))) - (secondary-selection ((t (:background "paleturquoise")))) - (text-cursor ((t (:background "Red3" :foreground "gray80")))) - (toolbar ((t (:background "Gray80")))) - (underline ((t (:underline t)))) - (vertical-divider ((t (:background "Gray80")))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (yellow ((t (:foreground "yellow")))) - (zmacs-region ((t (:background "gray65"))))))) - -(defun color-theme-jsc-light () - "Color theme by John S Cooper, created 2000-06-08." - (interactive) - (color-theme-install - '(color-theme-jsc-light - ((background-color . "white") - (background-mode . light) - (border-color . "black") - (cursor-color . "Red") - (foreground-color . "black") - (mouse-color . "black")) - ((gnus-mouse-face . highlight) - (list-matching-lines-face . bold) - (view-highlight-face . highlight)) - (default ((t (nil)))) - (bold ((t (:bold t :foreground "red3")))) - (bold-italic ((t (:italic t :bold t :foreground "red")))) - (custom-button-face ((t (nil)))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face ((t (:underline t :foreground "blue")))) - (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "dark green")))) - (custom-variable-button-face ((t (:underline t :bold t)))) - (custom-variable-tag-face ((t (:underline t :foreground "blue")))) - (font-lock-builtin-face ((t (:foreground "Orchid")))) - (font-lock-comment-face ((t (:italic t :bold t :foreground "Red3")))) - (font-lock-constant-face ((t (:foreground "navy")))) - (font-lock-function-name-face ((t (:bold t :foreground "Blue")))) - (font-lock-keyword-face ((t (:bold t :foreground "Purple")))) - (font-lock-string-face ((t (:foreground "Green4")))) - (font-lock-type-face ((t (:foreground "Navy")))) - (font-lock-variable-name-face ((t (:foreground "Tan4")))) - (font-lock-warning-face ((t (:bold t :foreground "Red")))) - (gnus-cite-attribution-face ((t (:italic t)))) - (gnus-cite-face-1 ((t (:foreground "MidnightBlue")))) - (gnus-cite-face-10 ((t (:foreground "medium purple")))) - (gnus-cite-face-11 ((t (:foreground "turquoise")))) - (gnus-cite-face-2 ((t (:foreground "firebrick")))) - (gnus-cite-face-3 ((t (:foreground "dark green")))) - (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) - (gnus-cite-face-5 ((t (:foreground "dark khaki")))) - (gnus-cite-face-6 ((t (:foreground "dark violet")))) - (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-emphasis-bold ((t (:bold t)))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) - (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) - (gnus-emphasis-italic ((t (:italic t)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) - (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t)))) - (gnus-emphasis-underline-italic ((t (:underline t :italic t)))) - (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3")))) - (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3")))) - (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4")))) - (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4")))) - (gnus-group-news-1-empty-face ((t (:foreground "blue2")))) - (gnus-group-news-1-face ((t (:bold t :foreground "blue2")))) - (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) - (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4")))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen")))) - (gnus-header-content-face ((t (:italic t :foreground "blue")))) - (gnus-header-from-face ((t (:foreground "red3")))) - (gnus-header-name-face ((t (:foreground "red3")))) - (gnus-header-newsgroups-face ((t (:italic t :foreground "MidnightBlue")))) - (gnus-header-subject-face ((t (:bold t :foreground "red")))) - (gnus-signature-face ((t (:foreground "pink")))) - (gnus-splash-face ((t (:foreground "Brown")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) - (gnus-summary-high-read-face ((t (:bold t :foreground "navy")))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick")))) - (gnus-summary-high-unread-face ((t (:bold t :foreground "blue")))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue")))) - (gnus-summary-low-read-face ((t (:italic t :foreground "DarkGreen")))) - (gnus-summary-low-ticked-face ((t (:italic t :foreground "firebrick")))) - (gnus-summary-low-unread-face ((t (:italic t)))) - (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "red3")))) - (gnus-summary-normal-ticked-face ((t (:foreground "black")))) - (gnus-summary-normal-unread-face ((t (:bold t :foreground "red3")))) - (gnus-summary-selected-face ((t (:underline t)))) - (highlight ((t (:background "antiquewhite" :foreground "blue")))) - (italic ((t (:italic t)))) - (makefile-space-face ((t (:background "hotpink")))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:foreground "MidnightBlue")))) - (message-header-name-face ((t (:foreground "cornflower blue")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4")))) - (message-header-other-face ((t (:foreground "steel blue")))) - (message-header-subject-face ((t (:bold t :foreground "navy blue")))) - (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-mml-face ((t (:foreground "ForestGreen")))) - (message-separator-face ((t (:foreground "brown")))) - (modeline ((t (:background "plum" :foreground "black")))) - (modeline-buffer-id ((t (:background "plum" :foreground "black")))) - (modeline-mousable ((t (:background "plum" :foreground "black")))) - (modeline-mousable-minor-mode ((t (:background "plum" :foreground "black")))) - (region ((t (:background "plum")))) - (secondary-selection ((t (:background "palegreen")))) - (show-paren-match-face ((t (:background "plum")))) - (show-paren-mismatch-face ((t (:background "navy" :foreground "white")))) - (speedbar-button-face ((t (:foreground "green4")))) - (speedbar-directory-face ((t (:foreground "blue4")))) - (speedbar-file-face ((t (:foreground "cyan4")))) - (speedbar-highlight-face ((t (:background "green")))) - (speedbar-selected-face ((t (:underline t :foreground "red")))) - (speedbar-tag-face ((t (:foreground "brown")))) - (underline ((t (:underline t)))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (widget-single-line-field-face ((t (:background "gray85"))))))) - -(defun color-theme-jsc-dark () - "Color theme by John S Cooper, created 2000-06-11." - (interactive) - (color-theme-install - '(color-theme-jsc-dark - ((background-color . "black") - (background-mode . dark) - (border-color . "black") - (cursor-color . "white") - (foreground-color . "cornsilk") - (mouse-color . "black")) - ((gnus-mouse-face . highlight) - (goto-address-mail-face . italic) - (goto-address-mail-mouse-face . secondary-selection) - (goto-address-url-face . bold) - (goto-address-url-mouse-face . highlight) - (list-matching-lines-face . bold) - (view-highlight-face . highlight)) - (blank-space-face ((t (:background "LightGray")))) - (blank-tab-face ((t (:background "cornsilk" :foreground "black")))) - (default ((t (nil)))) - (bold ((t (:bold t :foreground "white")))) - (bold-italic ((t (:italic t :bold t)))) - (calendar-today-face ((t (:underline t)))) - (cperl-array-face ((t (:bold t :background "lightyellow2" :foreground "Blue")))) - (cperl-hash-face ((t (:italic t :bold t :background "lightyellow2" :foreground "Red")))) - (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) - (custom-button-face ((t (:foreground "white")))) - (custom-changed-face ((t (:background "skyblue" :foreground "wheat")))) - (custom-documentation-face ((t (:foreground "white")))) - (custom-face-tag-face ((t (:underline t :foreground "white")))) - (custom-group-tag-face ((t (:underline t :foreground "skyblue")))) - (custom-group-tag-face-1 ((t (:underline t :foreground "pink")))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:foreground "blue")))) - (custom-state-face ((t (:foreground "light green")))) - (custom-variable-button-face ((t (:underline t :bold t)))) - (custom-variable-tag-face ((t (:underline t :foreground "skyblue")))) - (diary-face ((t (:bold t :foreground "orange")))) - (font-lock-builtin-face ((t (:bold t :foreground "LightSteelBlue")))) - (font-lock-comment-face ((t (:italic t :foreground "red")))) - (font-lock-constant-face ((t (:bold t :foreground "salmon")))) - (font-lock-function-name-face ((t (:bold t :foreground "orange")))) - (font-lock-keyword-face ((t (:bold t :foreground "gold")))) - (font-lock-string-face ((t (:italic t :foreground "orange")))) - (font-lock-type-face ((t (:bold t :foreground "gold")))) - (font-lock-variable-name-face ((t (:italic t :bold t :foreground "light salmon")))) - (font-lock-warning-face ((t (:bold t :foreground "gold")))) - (gnus-cite-attribution-face ((t (:italic t)))) - (gnus-cite-face-1 ((t (:foreground "light cyan")))) - (gnus-cite-face-10 ((t (:foreground "medium purple")))) - (gnus-cite-face-11 ((t (:foreground "turquoise")))) - (gnus-cite-face-2 ((t (:foreground "light blue")))) - (gnus-cite-face-3 ((t (:foreground "light yellow")))) - (gnus-cite-face-4 ((t (:foreground "light pink")))) - (gnus-cite-face-5 ((t (:foreground "pale green")))) - (gnus-cite-face-6 ((t (:foreground "beige")))) - (gnus-cite-face-7 ((t (:foreground "orange")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-emphasis-bold ((t (:bold t)))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) - (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) - (gnus-emphasis-italic ((t (:italic t)))) - (gnus-emphasis-underline ((t (:background "goldenrod4" :foreground "white")))) - (gnus-emphasis-underline-bold ((t (:underline t :bold t :background "yellow" :foreground "black")))) - (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t :background "yellow" :foreground "black")))) - (gnus-emphasis-underline-italic ((t (:underline t :italic t :background "yellow" :foreground "black")))) - (gnus-filterhist-face-1 ((t (nil)))) - (gnus-group-mail-1-empty-face ((t (:foreground "gray80")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "white")))) - (gnus-group-mail-2-empty-face ((t (:foreground "lightcyan")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "lightcyan")))) - (gnus-group-mail-3-empty-face ((t (:foreground "tan")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "tan")))) - (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "aquamarine4")))) - (gnus-group-news-1-empty-face ((t (:foreground "white")))) - (gnus-group-news-1-face ((t (:bold t :foreground "white")))) - (gnus-group-news-2-empty-face ((t (:foreground "lightcyan")))) - (gnus-group-news-2-face ((t (:bold t :foreground "lightcyan")))) - (gnus-group-news-3-empty-face ((t (:foreground "tan")))) - (gnus-group-news-3-face ((t (:bold t :foreground "tan")))) - (gnus-group-news-4-empty-face ((t (:foreground "white")))) - (gnus-group-news-4-face ((t (:bold t :foreground "white")))) - (gnus-group-news-5-empty-face ((t (:foreground "wheat")))) - (gnus-group-news-5-face ((t (:bold t :foreground "wheat")))) - (gnus-group-news-6-empty-face ((t (:foreground "tan")))) - (gnus-group-news-6-face ((t (:bold t :foreground "tan")))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkTurquoise")))) - (gnus-header-content-face ((t (:italic t :foreground "plum1")))) - (gnus-header-from-face ((t (:bold t :foreground "wheat")))) - (gnus-header-name-face ((t (:bold t :foreground "gold")))) - (gnus-header-newsgroups-face ((t (:italic t :bold t :foreground "wheat")))) - (gnus-header-subject-face ((t (:bold t :foreground "red")))) - (gnus-signature-face ((t (:italic t :foreground "maroon")))) - (gnus-splash ((t (:foreground "Brown")))) - (gnus-splash-face ((t (:foreground "gold")))) - (gnus-summary-cancelled-face ((t (:background "gray" :foreground "black")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "SkyBlue")))) - (gnus-summary-high-read-face ((t (:bold t :foreground "PaleGreen")))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "gray70")))) - (gnus-summary-high-unread-face ((t (:italic t :bold t)))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "SkyBlue")))) - (gnus-summary-low-read-face ((t (:italic t :foreground "PaleGreen")))) - (gnus-summary-low-ticked-face ((t (:italic t :bold t :foreground "gray70")))) - (gnus-summary-low-unread-face ((t (:italic t)))) - (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) - (gnus-summary-normal-ticked-face ((t (:bold t :foreground "gray70")))) - (gnus-summary-normal-unread-face ((t (:bold t)))) - (gnus-summary-selected-face ((t (:underline t :background "deepskyblue4")))) - (highlight ((t (:background "darkslategray" :foreground "wheat")))) - (highlight-changes-delete-face ((t (:underline t :foreground "red")))) - (highlight-changes-face ((t (:foreground "red")))) - (highline-face ((t (:background "gray35")))) - (holiday-face ((t (:background "red")))) - (info-menu-5 ((t (:underline t)))) - (info-node ((t (:italic t :bold t :foreground "yellow")))) - (info-xref ((t (:bold t :foreground "plum")))) - (italic ((t (:italic t)))) - (lazy-highlight-face ((t (:bold t :foreground "dark magenta")))) - (linemenu-face ((t (:background "gray30")))) - (makefile-space-face ((t (:background "hotpink")))) - (message-cited-text-face ((t (:foreground "plum1")))) - (message-header-cc-face ((t (:bold t :foreground "ivory")))) - (message-header-name-face ((t (:foreground "light sky blue")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "lavender blush")))) - (message-header-other-face ((t (:foreground "pale turquoise")))) - (message-header-subject-face ((t (:bold t :foreground "papaya whip")))) - (message-header-to-face ((t (:bold t :foreground "floral white")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-mml-face ((t (:bold t :foreground "ForestGreen")))) - (message-separator-face ((t (:foreground "sandy brown")))) - (modeline ((t (:background "tan" :foreground "black")))) - (modeline-buffer-id ((t (:background "tan" :foreground "black")))) - (modeline-mousable ((t (:background "tan" :foreground "black")))) - (modeline-mousable-minor-mode ((t (:background "tan" :foreground "black")))) - (paren-mismatch-face ((t (:bold t :background "white" :foreground "red")))) - (paren-no-match-face ((t (:bold t :background "white" :foreground "red")))) - (region ((t (:background "slategrey")))) - (secondary-selection ((t (:background "deepskyblue4")))) - (sgml-doctype-face ((t (:foreground "orange")))) - (sgml-end-tag-face ((t (:foreground "greenyellow")))) - (sgml-entity-face ((t (:foreground "gold")))) - (sgml-ignored-face ((t (:background "gray60" :foreground "gray20")))) - (sgml-sgml-face ((t (:foreground "yellow")))) - (sgml-start-tag-face ((t (:foreground "mediumspringgreen")))) - (show-paren-match-face ((t (:background "deepskyblue4")))) - (show-paren-mismatch-face ((t (:bold t :background "red" :foreground "white")))) - (speedbar-button-face ((t (:foreground "green4")))) - (speedbar-directory-face ((t (:foreground "blue4")))) - (speedbar-file-face ((t (:bold t :foreground "cyan4")))) - (speedbar-highlight-face ((t (:background "green")))) - (speedbar-selected-face ((t (:underline t :foreground "red")))) - (speedbar-tag-face ((t (:foreground "brown")))) - (underline ((t (:underline t)))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "lime green")))) - (widget-field-face ((t (:background "gray20")))) - (widget-inactive-face ((t (:foreground "wheat")))) - (widget-single-line-field-face ((t (:background "gray20")))) - (woman-bold-face ((t (:bold t)))) - (woman-italic-face ((t (:foreground "beige")))) - (woman-unknown-face ((t (:foreground "LightSalmon"))))))) - -(defun color-theme-greiner () - "Color theme by Kevin Greiner, created 2000-06-13. -Black on Beige, supports default, font-lock, speedbar, custom, widget -faces. Designed to be easy on the eyes, particularly on Win32 -computers which commonly have white window backgrounds." - (interactive) - (color-theme-install - '(color-theme-greiner - ((background-color . "beige") - (background-mode . light) - (border-color . "black") - (cursor-color . "black") - (foreground-color . "black") - (mouse-color . "black")) - ((list-matching-lines-face . bold)) - (default ((t (nil)))) - (bold ((t (:bold t)))) - (bold-italic ((t (:italic t :bold t)))) - (custom-button-face ((t (nil)))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face ((t (:underline t :foreground "blue")))) - (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "dark green")))) - (custom-variable-button-face ((t (:underline t :bold t)))) - (custom-variable-tag-face ((t (:underline t :foreground "blue")))) - (font-lock-builtin-face ((t (:foreground "blue4")))) - (font-lock-comment-face ((t (:foreground "Firebrick")))) - (font-lock-constant-face ((t (:foreground "CadetBlue")))) - (font-lock-function-name-face ((t (:foreground "Blue")))) - (font-lock-keyword-face ((t (:foreground "royal blue")))) - (font-lock-string-face ((t (:foreground "RosyBrown")))) - (font-lock-type-face ((t (:foreground "ForestGreen")))) - (font-lock-variable-name-face ((t (:foreground "DarkGoldenrod")))) - (font-lock-warning-face ((t (:bold t :foreground "Red")))) - (highlight ((t (:background "darkseagreen2")))) - (info-menu-5 ((t (:underline t)))) - (info-node ((t (:italic t :bold t)))) - (info-xref ((t (:bold t)))) - (italic ((t (:italic t)))) - (modeline ((t (:background "black" :foreground "white")))) - (modeline-mousable-minor-mode ((t (:background "black" :foreground "white")))) - (modeline-mousable ((t (:background "black" :foreground "white")))) - (modeline-buffer-id ((t (:background "black" :foreground "white")))) - (region ((t (:background "gray")))) - (secondary-selection ((t (:background "paleturquoise")))) - (show-paren-match-face ((t (:background "turquoise")))) - (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) - (speedbar-button-face ((t (:foreground "green4")))) - (speedbar-directory-face ((t (:foreground "blue4")))) - (speedbar-file-face ((t (:foreground "cyan4")))) - (speedbar-highlight-face ((t (:background "green")))) - (speedbar-selected-face ((t (:underline t :foreground "red")))) - (speedbar-tag-face ((t (:foreground "brown")))) - (underline ((t (:underline t)))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (widget-single-line-field-face ((t (:background "gray85"))))))) - -(defun color-theme-jb-simple () - "Color theme by jeff, created 2000-06-14. -Uses white background and bold for many things" - (interactive) - (color-theme-install - '(color-theme-jb-simple - ((background-color . "white") - (background-mode . light) - (background-toolbar-color . "#cf3ccf3ccf3c") - (border-color . "black") - (bottom-toolbar-shadow-color . "#79e77df779e7") - (cursor-color . "black") - (foreground-color . "black") - (mouse-color . "black") - (top-toolbar-shadow-color . "#fffffbeeffff")) - ((gnus-mouse-face . highlight) - (list-matching-lines-face . bold) - (rmail-highlight-face . font-lock-function-name-face) - (view-highlight-face . highlight)) - (default ((t (nil)))) - (blank-space-face ((t (nil)))) - (blank-tab-face ((t (nil)))) - (blue ((t (nil)))) - (bold ((t (:bold t)))) - (bold-italic ((t (:italic t :bold t)))) - (border-glyph ((t (nil)))) - (calendar-today-face ((t (:underline t)))) - (cperl-array-face ((t (:bold t :background "lightyellow2" :foreground "Blue")))) - (cperl-hash-face ((t (:italic t :bold t :background "lightyellow2" :foreground "Red")))) - (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) - (custom-button-face ((t (:bold t)))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face ((t (:underline t :bold t :foreground "blue")))) - (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "dark green")))) - (custom-variable-button-face ((t (:underline t :bold t)))) - (custom-variable-tag-face ((t (:underline t :bold t :foreground "blue")))) - (diary-face ((t (:bold t :foreground "red")))) - (ediff-current-diff-face-A ((t (:background "pale green" :foreground "firebrick")))) - (ediff-current-diff-face-Ancestor ((t (:background "VioletRed" :foreground "Black")))) - (ediff-current-diff-face-B ((t (:background "Yellow" :foreground "DarkOrchid")))) - (ediff-current-diff-face-C ((t (:background "Pink" :foreground "Navy")))) - (ediff-even-diff-face-A ((t (:background "light grey" :foreground "Black")))) - (ediff-even-diff-face-Ancestor ((t (:background "Grey" :foreground "White")))) - (ediff-even-diff-face-B ((t (:background "Grey" :foreground "White")))) - (ediff-even-diff-face-C ((t (:background "light grey" :foreground "Black")))) - (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy")))) - (ediff-fine-diff-face-Ancestor ((t (:background "Green" :foreground "Black")))) - (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Black")))) - (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Black")))) - (ediff-odd-diff-face-A ((t (:background "Grey" :foreground "White")))) - (ediff-odd-diff-face-Ancestor ((t (:background "light grey" :foreground "Black")))) - (ediff-odd-diff-face-B ((t (:background "light grey" :foreground "Black")))) - (ediff-odd-diff-face-C ((t (:background "Grey" :foreground "White")))) - (erc-action-face ((t (:bold t)))) - (erc-bold-face ((t (:bold t)))) - (erc-default-face ((t (nil)))) - (erc-direct-msg-face ((t (nil)))) - (erc-error-face ((t (:bold t)))) - (erc-input-face ((t (nil)))) - (erc-inverse-face ((t (nil)))) - (erc-notice-face ((t (nil)))) - (erc-pal-face ((t (nil)))) - (erc-prompt-face ((t (nil)))) - (erc-underline-face ((t (nil)))) - (eshell-ls-archive-face ((t (:bold t :foreground "Orchid")))) - (eshell-ls-backup-face ((t (:foreground "OrangeRed")))) - (eshell-ls-clutter-face ((t (:bold t :foreground "OrangeRed")))) - (eshell-ls-directory-face ((t (:bold t :foreground "Blue")))) - (eshell-ls-executable-face ((t (:bold t :foreground "ForestGreen")))) - (eshell-ls-missing-face ((t (:bold t :foreground "Red")))) - (eshell-ls-picture-face ((t (nil)))) - (eshell-ls-product-face ((t (:foreground "OrangeRed")))) - (eshell-ls-readonly-face ((t (:foreground "Brown")))) - (eshell-ls-special-face ((t (:bold t :foreground "Magenta")))) - (eshell-ls-symlink-face ((t (:bold t :foreground "DarkCyan")))) - (eshell-ls-unreadable-face ((t (:foreground "Grey30")))) - (eshell-prompt-face ((t (:bold t :foreground "Red")))) - (eshell-test-failed-face ((t (:bold t :foreground "OrangeRed")))) - (eshell-test-ok-face ((t (:bold t :foreground "Green")))) - (excerpt ((t (:italic t)))) - (ff-paths-non-existant-file-face ((t (:bold t :foreground "NavyBlue")))) - (fixed ((t (:bold t)))) - (flyspell-duplicate-face ((t (:underline t :bold t :foreground "Gold3")))) - (flyspell-incorrect-face ((t (:underline t :bold t :foreground "OrangeRed")))) - (font-latex-bold-face ((t (nil)))) - (font-latex-italic-face ((t (nil)))) - (font-latex-math-face ((t (nil)))) - (font-latex-sedate-face ((t (nil)))) - (font-latex-string-face ((t (nil)))) - (font-latex-warning-face ((t (nil)))) - (font-lock-builtin-face ((t (:bold t :foreground "Orchid")))) - (font-lock-comment-face ((t (:italic t :bold t :foreground "blue4")))) - (font-lock-constant-face ((t (:bold t :foreground "CadetBlue")))) - (font-lock-doc-string-face ((t (:italic t :bold t :foreground "blue4")))) - (font-lock-exit-face ((t (nil)))) - (font-lock-function-name-face ((t (:bold t :foreground "brown4")))) - (font-lock-keyword-face ((t (:bold t :foreground "black")))) - (font-lock-preprocessor-face ((t (:foreground "blue3")))) - (font-lock-reference-face ((t (:foreground "red3")))) - (font-lock-string-face ((t (:italic t :bold t :foreground "green4")))) - (font-lock-type-face ((t (:bold t :foreground "steelblue")))) - (font-lock-variable-name-face ((t (:italic t :bold t :foreground "magenta4")))) - (font-lock-warning-face ((t (:bold t :foreground "Red")))) - (gnus-cite-attribution-face ((t (:italic t :bold t)))) - (gnus-cite-face-1 ((t (:foreground "MidnightBlue")))) - (gnus-cite-face-10 ((t (:foreground "medium purple")))) - (gnus-cite-face-11 ((t (:foreground "turquoise")))) - (gnus-cite-face-2 ((t (:foreground "firebrick")))) - (gnus-cite-face-3 ((t (:foreground "dark green")))) - (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) - (gnus-cite-face-5 ((t (:foreground "dark khaki")))) - (gnus-cite-face-6 ((t (:foreground "dark violet")))) - (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-emphasis-bold ((t (:bold t)))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) - (gnus-emphasis-highlight-words ((t (nil)))) - (gnus-emphasis-italic ((t (:italic t)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) - (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t)))) - (gnus-emphasis-underline-italic ((t (:underline t :italic t)))) - (gnus-filterhist-face-1 ((t (nil)))) - (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3")))) - (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3")))) - (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4")))) - (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4")))) - (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) - (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen")))) - (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) - (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4")))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen")))) - (gnus-header-content-face ((t (:italic t :foreground "indianred4")))) - (gnus-header-from-face ((t (:bold t :foreground "red3")))) - (gnus-header-name-face ((t (:bold t :foreground "maroon")))) - (gnus-header-newsgroups-face ((t (:italic t :bold t :foreground "MidnightBlue")))) - (gnus-header-subject-face ((t (:bold t :foreground "red4")))) - (gnus-signature-face ((t (:italic t)))) - (gnus-splash ((t (nil)))) - (gnus-splash-face ((t (:foreground "ForestGreen")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) - (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen")))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick")))) - (gnus-summary-high-unread-face ((t (:italic t :bold t)))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue")))) - (gnus-summary-low-read-face ((t (:italic t :foreground "DarkGreen")))) - (gnus-summary-low-ticked-face ((t (:italic t :bold t :foreground "firebrick")))) - (gnus-summary-low-unread-face ((t (:italic t)))) - (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) - (gnus-summary-normal-ticked-face ((t (:bold t :foreground "firebrick")))) - (gnus-summary-normal-unread-face ((t (:bold t)))) - (gnus-summary-selected-face ((t (:underline t)))) - (green ((t (nil)))) - (gui-button-face ((t (:background "grey75")))) - (gui-element ((t (:background "Gray80")))) - (highlight ((t (:background "darkseagreen2")))) - (highlight-changes-delete-face ((t (:underline t :foreground "red")))) - (highlight-changes-face ((t (:foreground "red")))) - (highline-face ((t (:background "paleturquoise")))) - (holiday-face ((t (:background "pink")))) - (html-helper-italic-face ((t (:italic t)))) - (info-menu-5 ((t (:underline t)))) - (info-node ((t (:italic t :bold t)))) - (info-xref ((t (:bold t)))) - (isearch ((t (nil)))) - (italic ((t (:italic t)))) - (lazy-highlight-face ((t (:bold t :foreground "dark magenta")))) - (left-margin ((t (nil)))) - (linemenu-face ((t (nil)))) - (list-mode-item-selected ((t (nil)))) - (makefile-space-face ((t (:background "hotpink")))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:bold t :foreground "MidnightBlue")))) - (message-header-name-face ((t (:foreground "cornflower blue")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4")))) - (message-header-other-face ((t (:foreground "steel blue")))) - (message-header-subject-face ((t (:bold t :foreground "navy blue")))) - (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-mml-face ((t (:bold t)))) - (message-separator-face ((t (:foreground "brown")))) - (modeline ((t (:background "darkblue" :foreground "yellow")))) - (modeline-buffer-id ((t (:background "black" :foreground "white")))) - (modeline-mousable ((t (:background "black" :foreground "white")))) - (modeline-mousable-minor-mode ((t (:background "black" :foreground "white")))) - (nil ((t (nil)))) - (paren-mismatch-face ((t (:bold t)))) - (paren-no-match-face ((t (:bold t)))) - (pointer ((t (nil)))) - (primary-selection ((t (nil)))) - (red ((t (nil)))) - (region ((t (:background "gray")))) - (right-margin ((t (nil)))) - (secondary-selection ((t (:background "paleturquoise")))) - (sgml-doctype-face ((t (nil)))) - (sgml-end-tag-face ((t (nil)))) - (sgml-entity-face ((t (nil)))) - (sgml-ignored-face ((t (nil)))) - (sgml-sgml-face ((t (nil)))) - (sgml-start-tag-face ((t (nil)))) - (show-paren-match-face ((t (:background "turquoise")))) - (show-paren-mismatch-face ((t (:bold t :background "purple" :foreground "white")))) - (speedbar-button-face ((t (:bold t :foreground "green4")))) - (speedbar-directory-face ((t (:bold t :foreground "blue4")))) - (speedbar-file-face ((t (:bold t :foreground "cyan4")))) - (speedbar-highlight-face ((t (:background "green")))) - (speedbar-selected-face ((t (:underline t :foreground "red")))) - (speedbar-tag-face ((t (:foreground "brown")))) - (swbuff-current-buffer-face ((t (:bold t)))) - (term-black ((t (:foreground "black")))) - (term-blackbg ((t (:background "black")))) - (term-blue ((t (:foreground "blue")))) - (term-bluebg ((t (:background "blue")))) - (term-bold ((t (:bold t)))) - (term-cyan ((t (:foreground "cyan")))) - (term-cyanbg ((t (:background "cyan")))) - (term-default-bg ((t (nil)))) - (term-default-bg-inv ((t (nil)))) - (term-default-fg ((t (nil)))) - (term-default-fg-inv ((t (nil)))) - (term-green ((t (:foreground "green")))) - (term-greenbg ((t (:background "green")))) - (term-invisible ((t (nil)))) - (term-invisible-inv ((t (nil)))) - (term-magenta ((t (:foreground "magenta")))) - (term-magentabg ((t (:background "magenta")))) - (term-red ((t (:foreground "red")))) - (term-redbg ((t (:background "red")))) - (term-underline ((t (:underline t)))) - (term-white ((t (:foreground "white")))) - (term-whitebg ((t (:background "white")))) - (term-yellow ((t (:foreground "yellow")))) - (term-yellowbg ((t (:background "yellow")))) - (text-cursor ((t (nil)))) - (toolbar ((t (nil)))) - (underline ((t (:underline t)))) - (vc-annotate-face-0046FF ((t (nil)))) - (vcursor ((t (:underline t :background "cyan" :foreground "blue")))) - (vertical-divider ((t (nil)))) - (vhdl-font-lock-attribute-face ((t (:foreground "Orchid")))) - (vhdl-font-lock-directive-face ((t (:foreground "CadetBlue")))) - (vhdl-font-lock-enumvalue-face ((t (:foreground "Gold4")))) - (vhdl-font-lock-function-face ((t (:foreground "Orchid4")))) - (vhdl-font-lock-prompt-face ((t (:bold t :foreground "Red")))) - (vhdl-font-lock-reserved-words-face ((t (:bold t :foreground "Orange")))) - (vhdl-font-lock-translate-off-face ((t (:background "LightGray")))) - (vhdl-speedbar-architecture-face ((t (:foreground "Blue")))) - (vhdl-speedbar-architecture-selected-face ((t (:underline t :foreground "Blue")))) - (vhdl-speedbar-configuration-face ((t (:foreground "DarkGoldenrod")))) - (vhdl-speedbar-configuration-selected-face ((t (:underline t :foreground "DarkGoldenrod")))) - (vhdl-speedbar-entity-face ((t (:foreground "ForestGreen")))) - (vhdl-speedbar-entity-selected-face ((t (:underline t :foreground "ForestGreen")))) - (vhdl-speedbar-instantiation-face ((t (:foreground "Brown")))) - (vhdl-speedbar-instantiation-selected-face ((t (:underline t :foreground "Brown")))) - (vhdl-speedbar-package-face ((t (:foreground "Grey50")))) - (vhdl-speedbar-package-selected-face ((t (:underline t :foreground "Grey50")))) - (viper-minibuffer-emacs-face ((t (:background "darkseagreen2" :foreground "Black")))) - (viper-minibuffer-insert-face ((t (:background "pink" :foreground "Black")))) - (viper-minibuffer-vi-face ((t (:background "grey" :foreground "DarkGreen")))) - (viper-replace-overlay-face ((t (:background "darkseagreen2" :foreground "Black")))) - (viper-search-face ((t (:background "khaki" :foreground "Black")))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (widget-single-line-field-face ((t (:background "gray85")))) - (woman-bold-face ((t (:bold t)))) - (woman-italic-face ((t (nil)))) - (woman-unknown-face ((t (nil)))) - (yellow ((t (nil)))) - (zmacs-region ((t (nil))))))) - -(defun color-theme-beige-diff () - "Brownish faces for diff and change-log modes. -This is intended for other color themes to use (eg. `color-theme-gnome2' -and `color-theme-blue-sea')." - (color-theme-install - '(color-theme-beige-diff - nil - (change-log-acknowledgement-face ((t (:foreground "firebrick")))) - (change-log-conditionals-face ((t (:foreground "khaki" :background "sienna")))) - (change-log-date-face ((t (:foreground "gold")))) - (change-log-email-face ((t (:foreground "khaki" :underline t)))) - (change-log-file-face ((t (:bold t :foreground "lemon chiffon")))) - (change-log-function-face ((t (:foreground "khaki" :background "sienna")))) - (change-log-list-face ((t (:foreground "wheat")))) - (change-log-name-face ((t (:bold t :foreground "light goldenrod")))) - (diff-added-face ((t (nil)))) - (diff-changed-face ((t (nil)))) - (diff-context-face ((t (:foreground "grey50")))) - (diff-file-header-face ((t (:bold t :foreground "lemon chiffon")))) - (diff-function-face ((t (:foreground "grey50")))) - (diff-header-face ((t (:foreground "lemon chiffon")))) - (diff-hunk-header-face ((t (:foreground "light goldenrod")))) - (diff-index-face ((t (:bold t :underline t)))) - (diff-nonexistent-face ((t (:bold t :background "grey70" :weight bold)))) - (diff-removed-face ((t (nil)))) - (log-view-message-face ((t (:foreground "lemon chiffon"))))))) - -(defun color-theme-standard-ediff () - "Standard colors for ediff faces. -This is intended for other color themes to use -\(eg. `color-theme-goldenrod')." - (color-theme-install - '(color-theme-beige-diff - nil - (ediff-current-diff-face-A ((t (:background "pale green" :foreground "firebrick")))) - (ediff-current-diff-face-Ancestor ((t (:background "VioletRed" :foreground "Black")))) - (ediff-current-diff-face-B ((t (:background "Yellow" :foreground "DarkOrchid")))) - (ediff-current-diff-face-C ((t (:background "Pink" :foreground "Navy")))) - (ediff-even-diff-face-A ((t (:background "light grey" :foreground "Black")))) - (ediff-even-diff-face-Ancestor ((t (:background "Grey" :foreground "White")))) - (ediff-even-diff-face-B ((t (:background "Grey" :foreground "White")))) - (ediff-even-diff-face-C ((t (:background "light grey" :foreground "Black")))) - (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy")))) - (ediff-fine-diff-face-Ancestor ((t (:background "Green" :foreground "Black")))) - (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Black")))) - (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Black")))) - (ediff-odd-diff-face-A ((t (:background "Grey" :foreground "White")))) - (ediff-odd-diff-face-Ancestor ((t (:background "light grey" :foreground "Black")))) - (ediff-odd-diff-face-B ((t (:background "light grey" :foreground "Black")))) - (ediff-odd-diff-face-C ((t (:background "Grey" :foreground "White"))))))) - -(defun color-theme-beige-eshell () - "Brownish colors for eshell faces only. -This is intended for other color themes to use (eg. `color-theme-goldenrod')." - (color-theme-install - '(color-theme-beige-eshell - nil - (eshell-ls-archive-face ((t (:bold t :foreground "IndianRed")))) - (eshell-ls-backup-face ((t (:foreground "Grey")))) - (eshell-ls-clutter-face ((t (:foreground "DimGray")))) - (eshell-ls-directory-face ((t (:bold t :foreground "dark khaki")))) - (eshell-ls-executable-face ((t (:foreground "Coral")))) - (eshell-ls-missing-face ((t (:foreground "black")))) - (eshell-ls-picture-face ((t (:foreground "gold")))) ; non-standard face - (eshell-ls-product-face ((t (:foreground "dark sea green")))) - (eshell-ls-readonly-face ((t (:foreground "light steel blue")))) - (eshell-ls-special-face ((t (:foreground "gold")))) - (eshell-ls-symlink-face ((t (:foreground "peach puff")))) - (eshell-ls-text-face ((t (:foreground "moccasin")))) ; non-standard face - (eshell-ls-todo-face ((t (:bold t :foreground "yellow green")))) ; non-standard face - (eshell-ls-unreadable-face ((t (:foreground "DimGray")))) - (eshell-prompt-face ((t (:foreground "lemon chiffon"))))))) - -(defun color-theme-goldenrod () - "Brown color theme. Very different from the others. -Supports standard, font-lock and info faces, and it uses -`color-theme-blue-gnus', `color-theme-blue-erc' , and -`color-theme-beige-diff'." - (interactive) - (color-theme-blue-gnus) - (let ((color-theme-is-cumulative t)) - (color-theme-blue-erc) - (color-theme-beige-diff) - (color-theme-beige-eshell) - (color-theme-install - '(color-theme-goldenrod - ((background-color . "black") - (background-mode . dark) - (border-color . "black") - (cursor-color . "light goldenrod") - (foreground-color . "goldenrod") - (mouse-color . "goldenrod")) - ((goto-address-mail-face . info-xref) - (list-matching-lines-face . bold) - (view-highlight-face . highlight)) - (default ((t (nil)))) - (bold ((t (:bold t)))) - (bold-italic ((t (:italic t :bold t :foreground "lavender")))) - (font-lock-builtin-face ((t (:foreground "pale goldenrod")))) - (font-lock-comment-face ((t (:foreground "indian red")))) - (font-lock-constant-face ((t (:foreground "pale green")))) - (font-lock-function-name-face ((t (:bold t :foreground "lemon chiffon")))) - (font-lock-keyword-face ((t (:foreground "wheat")))) - (font-lock-string-face ((t (:foreground "gold")))) - (font-lock-type-face ((t (:foreground "dark khaki" :bold t)))) - (font-lock-variable-name-face ((t (:bold t :foreground "khaki")))) - (font-lock-warning-face ((t (:bold t :foreground "orange red")))) - (fringe ((t (:background "gray25")))) - (header-line ((t (:background "gray20" :foreground "gray70")))) - (highlight ((t (:background "dark slate blue")))) - (info-menu-5 ((t (:underline t)))) - (info-node ((t (:bold t)))) - (info-xref ((t (:bold t :foreground "pale goldenrod")))) - (isearch ((t (:background "SeaGreen4")))) - (isearch-lazy-highlight-face ((t (:background "DarkOliveGreen4")))) - (italic ((t (:italic t :foreground "lavender")))) - (menu ((t (:background "gray25" :foreground "lemon chiffon")))) - (modeline ((t (:background "gray40" :foreground "lemon chiffon" :box (:line-width 1 :style released-button))))) - (modeline-buffer-id ((t (:background "AntiqueWhite4" :foreground "lemon chiffon")))) - (modeline-mousable ((t (:background "AntiqueWhite4" :foreground "lemon chiffon")))) - (modeline-mousable-minor-mode ((t (:background "wheat" :foreground "lemon chiffon")))) - (mode-line-inactive ((t (:background "gray20" :foreground "lemon chiffon" :box (:line-width 1 :style released-button))))) - (region ((t (:background "dark olive green")))) - (secondary-selection ((t (:background "dark green")))) - (tool-bar ((t (:background "gray25" :foreground "lemon chiffon" :box (:line-width 1 :style released-button))))) - (underline ((t (:underline t)))))))) - -(defun color-theme-ramangalahy () - "Color theme by Solofo Ramangalahy, created 2000-10-18. -Black on light grey, includes faces for vm, ispell, gnus, -dired, display-time, cperl, font-lock, widget, x-symbol." - (interactive) - (color-theme-install - '(color-theme-ramangalahy - ((background-color . "lightgrey") - (background-mode . light) - (background-toolbar-color . "#bfbfbfbfbfbf") - (border-color . "#000000000000") - (bottom-toolbar-shadow-color . "#737373737373") - (cursor-color . "blue") - (foreground-color . "black") - (top-toolbar-shadow-color . "#e6e6e6e6e6e6")) - ((gnus-mouse-face . highlight) - (goto-address-mail-face . info-xref) - (ispell-highlight-face . highlight) - (notes-bold-face . notes-bold-face) - (setnu-line-number-face . bold) - (tinyreplace-:face . highlight) - (vm-highlight-url-face . bold-italic) - (vm-highlighted-header-face . bold) - (vm-mime-button-face . gui-button-face) - (vm-summary-highlight-face . bold)) - (default ((t (nil)))) - (bbdb-company ((t (nil)))) - (blue ((t (:foreground "blue")))) - (bold ((t (:bold t)))) - (bold-italic ((t (:italic t :bold t)))) - (border-glyph ((t (nil)))) - (cperl-here-face ((t (:foreground "green4")))) - (cperl-pod-face ((t (:foreground "brown4")))) - (cperl-pod-head-face ((t (:foreground "steelblue")))) - (custom-button-face ((t (:bold t)))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face ((t (:underline t :foreground "blue")))) - (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "dark green")))) - (custom-variable-button-face ((t (:underline t :bold t)))) - (custom-variable-tag-face ((t (:underline t :foreground "blue")))) - (dired-face-boring ((t (:foreground "Gray65")))) - (dired-face-directory ((t (:bold t)))) - (dired-face-executable ((t (:foreground "SeaGreen")))) - (dired-face-flagged ((t (:background "LightSlateGray")))) - (dired-face-marked ((t (:background "PaleVioletRed")))) - (dired-face-permissions ((t (:background "grey75" :foreground "black")))) - (dired-face-setuid ((t (:foreground "Red")))) - (dired-face-socket ((t (:foreground "magenta")))) - (dired-face-symlink ((t (:foreground "blue")))) - (display-time-mail-balloon-enhance-face ((t (:background "orange")))) - (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue")))) - (display-time-time-balloon-face ((t (:foreground "red")))) - (ff-paths-non-existant-file-face ((t (:bold t :foreground "NavyBlue")))) - (font-lock-comment-face ((t (:bold t :foreground "purple")))) - (font-lock-doc-string-face ((t (:bold t :foreground "slateblue")))) - (font-lock-emphasized-face ((t (:bold t :background "lightyellow2")))) - (font-lock-function-name-face ((t (:bold t :foreground "blue")))) - (font-lock-keyword-face ((t (:bold t :foreground "violetred")))) - (font-lock-other-emphasized-face ((t (:italic t :bold t :background "lightyellow2")))) - (font-lock-other-type-face ((t (:bold t :foreground "orange3")))) - (font-lock-preprocessor-face ((t (:bold t :foreground "mediumblue")))) - (font-lock-reference-face ((t (:foreground "red3")))) - (font-lock-string-face ((t (:foreground "green4")))) - (font-lock-type-face ((t (:bold t :foreground "steelblue")))) - (font-lock-variable-name-face ((t (:foreground "magenta4")))) - (font-lock-warning-face ((t (:bold t :background "yellow" :foreground "Red")))) - (gnus-emphasis-bold ((t (:bold t)))) - (gnus-emphasis-bold-italic ((t (nil)))) - (gnus-emphasis-italic ((t (nil)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) - (gnus-emphasis-underline-bold-italic ((t (:underline t)))) - (gnus-emphasis-underline-italic ((t (:underline t)))) - (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3")))) - (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3")))) - (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4")))) - (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4")))) - (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) - (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen")))) - (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) - (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4")))) - (gnus-group-news-3-empty-face ((t (:foreground "DeepPink4")))) - (gnus-group-news-3-face ((t (:bold t :foreground "DeepPink4")))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen")))) - (gnus-header-content-face ((t (:foreground "indianred4")))) - (gnus-header-from-face ((t (:foreground "red3")))) - (gnus-header-name-face ((t (:foreground "maroon")))) - (gnus-header-newsgroups-face ((t (:foreground "MidnightBlue")))) - (gnus-header-subject-face ((t (:foreground "red4")))) - (gnus-signature-face ((t (:bold t)))) - (gnus-splash-face ((t (:foreground "ForestGreen")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) - (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen")))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick")))) - (gnus-summary-high-unread-face ((t (:bold t)))) - (gnus-summary-low-ancient-face ((t (:foreground "RoyalBlue")))) - (gnus-summary-low-read-face ((t (:foreground "DarkGreen")))) - (gnus-summary-low-ticked-face ((t (:foreground "firebrick")))) - (gnus-summary-low-unread-face ((t (nil)))) - (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) - (gnus-summary-normal-ticked-face ((t (:foreground "firebrick")))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-selected-face ((t (:underline t)))) - (gnus-x-face ((t (:background "lightgrey" :foreground "black")))) - (green ((t (:foreground "green")))) - (gui-button-face ((t (:background "grey75" :foreground "black")))) - (gui-element ((t (:background "lightgrey")))) - (highlight ((t (:background "darkseagreen2")))) - (info-node ((t (:underline t :bold t :foreground "mediumpurple")))) - (info-xref ((t (:underline t :bold t :foreground "#0000ee")))) - (isearch ((t (:background "paleturquoise")))) - (italic ((t (:italic t)))) - (left-margin ((t (nil)))) - (list-mode-item-selected ((t (:background "gray68" :foreground "black")))) - (message-cited-text ((t (:foreground "slategrey")))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:foreground "MidnightBlue")))) - (message-header-contents ((t (:italic t)))) - (message-header-name-face ((t (:foreground "cornflower blue")))) - (message-header-newsgroups-face ((t (:bold t :foreground "blue4")))) - (message-header-other-face ((t (:foreground "steel blue")))) - (message-header-subject-face ((t (:bold t :foreground "navy blue")))) - (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-headers ((t (:bold t)))) - (message-highlighted-header-contents ((t (:bold t)))) - (message-separator-face ((t (:foreground "brown")))) - (message-url ((t (:bold t)))) - (modeline ((t (:bold t :background "Gray75" :foreground "Black")))) - (modeline-buffer-id ((t (:bold t :background "Gray75" :foreground "blue4")))) - (modeline-mousable ((t (:bold t :background "Gray75" :foreground "firebrick")))) - (modeline-mousable-minor-mode ((t (:bold t :background "Gray75" :foreground "green4")))) - (paren-blink-off ((t (:foreground "lightgrey")))) - (paren-match ((t (:background "darkseagreen2")))) - (paren-mismatch ((t (:background "DeepPink" :foreground "black")))) - (pointer ((t (:foreground "blue")))) - (primary-selection ((t (:background "gray65")))) - (red ((t (:foreground "red")))) - (region ((t (:background "black" :foreground "white")))) - (right-margin ((t (nil)))) - (searchm-buffer ((t (:bold t :background "white" :foreground "red")))) - (searchm-button ((t (:bold t :background "CadetBlue" :foreground "white")))) - (searchm-field ((t (:background "grey89")))) - (searchm-field-label ((t (:bold t)))) - (searchm-highlight ((t (:bold t :background "darkseagreen2" :foreground "black")))) - (secondary-selection ((t (:background "paleturquoise")))) - (template-message-face ((t (:bold t)))) - (text-cursor ((t (:background "blue" :foreground "lightgrey")))) - (toolbar ((t (nil)))) - (underline ((t (:underline t)))) - (vertical-divider ((t (nil)))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (x-face ((t (:background "white" :foreground "black")))) - (x-symbol-adobe-fontspecific-face ((t (nil)))) - (x-symbol-face ((t (nil)))) - (x-symbol-heading-face ((t (:underline t :bold t :foreground "green4")))) - (x-symbol-info-face ((t (:foreground "green4")))) - (x-symbol-invisible-face ((t (nil)))) - (x-symbol-revealed-face ((t (:background "pink")))) - (yellow ((t (:foreground "yellow")))) - (zmacs-region ((t (:background "yellow"))))))) - -(defun color-theme-raspopovic () - "Color theme by Pedja Raspopovic, created 2000-10-19. -Includes faces for dired, font-lock, info, paren." - (interactive) - (color-theme-install - '(color-theme-raspopovic - ((background-color . "darkblue") - (background-mode . light) - (background-toolbar-color . "#bfbfbfbfbfbf") - (border-color . "#000000000000") - (bottom-toolbar-shadow-color . "#737373737373") - (cursor-color . "Red3") - (foreground-color . "yellow") - (top-toolbar-shadow-color . "#e6e6e6e6e6e6")) - ((setnu-line-number-face . bold) - (goto-address-mail-face . info-xref)) - (default ((t (nil)))) - (blue ((t (:background "darkblue" :foreground "blue")))) - (bold ((t (:bold t :background "darkblue" :foreground "yellow")))) - (bold-italic ((t (:bold t :background "darkblue" :foreground "red3")))) - (comint-input-face ((t (:foreground "deepskyblue")))) - (dired-face-boring ((t (:foreground "Gray65")))) - (dired-face-directory ((t (:foreground "lightgreen")))) - (dired-face-executable ((t (:foreground "indianred")))) - (dired-face-flagged ((t (:background "LightSlateGray")))) - (dired-face-marked ((t (:background "darkblue" :foreground "deepskyblue")))) - (dired-face-permissions ((t (:background "darkblue" :foreground "white")))) - (dired-face-setuid ((t (:foreground "Red")))) - (dired-face-socket ((t (:foreground "magenta")))) - (dired-face-symlink ((t (:foreground "grey95")))) - (font-lock-comment-face ((t (:background "darkblue" :foreground "lightgreen")))) - (font-lock-doc-string-face ((t (:background "darkblue" :foreground "darkseagreen")))) - (font-lock-function-name-face ((t (:bold t :background "darkblue" :foreground "indianred")))) - (font-lock-keyword-face ((t (:background "darkblue" :foreground "skyblue")))) - (font-lock-preprocessor-face ((t (:background "darkblue" :foreground "orange")))) - (font-lock-reference-face ((t (:background "darkblue" :foreground "deepskyblue")))) - (font-lock-string-face ((t (:background "darkblue" :foreground "lightgrey")))) - (font-lock-type-face ((t (:background "darkblue" :foreground "orange")))) - (font-lock-variable-name-face ((t (:background "darkblue" :foreground "white")))) - (green ((t (:background "darkblue" :foreground "green")))) - (gui-button-face ((t (:background "grey75" :foreground "black")))) - (highlight ((t (:background "yellow" :foreground "darkblue")))) - (info-node ((t (:bold t :background "darkblue" :foreground "red3")))) - (info-xref ((t (:bold t :background "darkblue" :foreground "yellow")))) - (isearch ((t (:background "yellow" :foreground "darkblue")))) - (isearch-secondary ((t (:foreground "red3")))) - (italic ((t (:background "darkblue" :foreground "red3")))) - (left-margin ((t (:background "darkblue" :foreground "yellow")))) - (list-mode-item-selected ((t (:background "gray68" :foreground "yellow")))) - (makefile-space-face ((t (:background "hotpink")))) - (modeline ((t (:background "Gray75" :foreground "Black")))) - (modeline-buffer-id ((t (:background "Gray75" :foreground "blue")))) - (modeline-mousable ((t (:background "Gray75" :foreground "red")))) - (modeline-mousable-minor-mode ((t (:background "Gray75" :foreground "green4")))) - (paren-blink-off ((t (:foreground "darkblue")))) - (paren-match ((t (:background "yellow" :foreground "darkblue")))) - (paren-mismatch ((t (:background "DeepPink" :foreground "yellow")))) - (pointer ((t (:background "darkblue" :foreground "red3")))) - (primary-selection ((t (:background "yellow" :foreground "darkblue")))) - (red ((t (:background "darkblue" :foreground "red")))) - (right-margin ((t (:background "darkblue" :foreground "yellow")))) - (secondary-selection ((t (:background "darkblue" :foreground "yellow")))) - (shell-option-face ((t (:background "darkblue" :foreground "cyan2")))) - (shell-output-2-face ((t (:background "darkblue" :foreground "darkseagreen")))) - (shell-output-3-face ((t (:background "darkblue" :foreground "lightgrey")))) - (shell-output-face ((t (:background "darkblue" :foreground "white")))) - (shell-prompt-face ((t (:background "darkblue" :foreground "red")))) - (text-cursor ((t (:background "Red3" :foreground "white")))) - (underline ((t (:underline t :background "darkblue" :foreground "yellow")))) - (vvb-face ((t (:background "pink" :foreground "black")))) - (yellow ((t (:background "darkblue" :foreground "yellow")))) - (zmacs-region ((t (:background "gray" :foreground "black"))))))) - -(defun color-theme-taylor () - "Color theme by Art Taylor, created 2000-10-20. -Wheat on black. Includes faces for font-lock, gnus, paren." - (interactive) - (color-theme-install - '(color-theme-taylor - ((background-color . "black") - (background-mode . dark) - (border-color . "black") - (cursor-color . "red") - (foreground-color . "wheat") - (mouse-color . "black")) - ((gnus-mouse-face . highlight) - (list-matching-lines-face . bold) - (view-highlight-face . highlight)) - (default ((t (nil)))) - (bold ((t (:bold t :background "grey40" :foreground "yellow")))) - (bold-italic ((t (:italic t :bold t :foreground "yellow green")))) - (fl-comment-face ((t (:foreground "medium purple")))) - (fl-function-name-face ((t (:foreground "green")))) - (fl-keyword-face ((t (:foreground "LightGreen")))) - (fl-string-face ((t (:foreground "light coral")))) - (fl-type-face ((t (:foreground "cyan")))) - (font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) - (font-lock-comment-face ((t (:foreground "OrangeRed")))) - (font-lock-constant-face ((t (:foreground "Aquamarine")))) - (font-lock-function-name-face ((t (:foreground "LightSkyBlue")))) - (font-lock-keyword-face ((t (:foreground "Cyan")))) - (font-lock-string-face ((t (:foreground "LightSalmon")))) - (font-lock-type-face ((t (:foreground "PaleGreen")))) - (font-lock-variable-name-face ((t (:foreground "LightGoldenrod")))) - (font-lock-warning-face ((t (:bold t :foreground "Pink")))) - (gnus-group-mail-1-empty-face ((t (:foreground "aquamarine1")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "aquamarine1")))) - (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "aquamarine2")))) - (gnus-group-mail-3-empty-face ((t (:foreground "aquamarine3")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "aquamarine3")))) - (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "aquamarine4")))) - (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) - (gnus-group-news-1-face ((t (:bold t :foreground "PaleTurquoise")))) - (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) - (gnus-group-news-2-face ((t (:bold t :foreground "turquoise")))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkTurquoise")))) - (gnus-splash-face ((t (:foreground "Brown")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "SkyBlue")))) - (gnus-summary-high-read-face ((t (:bold t :foreground "PaleGreen")))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "pink")))) - (gnus-summary-high-unread-face ((t (:bold t)))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "SkyBlue")))) - (gnus-summary-low-read-face ((t (:italic t :foreground "PaleGreen")))) - (gnus-summary-low-ticked-face ((t (:italic t :foreground "pink")))) - (gnus-summary-low-unread-face ((t (:italic t)))) - (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) - (gnus-summary-normal-ticked-face ((t (:foreground "pink")))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-selected-face ((t (:underline t)))) - (highlight ((t (:background "black" :foreground "black")))) - (italic ((t (:italic t :foreground "yellow3")))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:bold t :foreground "green4")))) - (message-header-name-face ((t (:foreground "DarkGreen")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "yellow")))) - (message-header-other-face ((t (:foreground "#b00000")))) - (message-header-subject-face ((t (:foreground "green3")))) - (message-header-to-face ((t (:bold t :foreground "green2")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-mml-face ((t (:foreground "ForestGreen")))) - (message-separator-face ((t (:foreground "blue3")))) - (modeline ((t (:background "wheat" :foreground "black")))) - (modeline-buffer-id ((t (:background "wheat" :foreground "black")))) - (modeline-mousable ((t (:background "wheat" :foreground "black")))) - (modeline-mousable-minor-mode ((t (:background "wheat" :foreground "black")))) - (region ((t (:background "blue")))) - (secondary-selection ((t (:background "darkslateblue" :foreground "black")))) - (show-paren-match-face ((t (:background "turquoise")))) - (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) - (underline ((t (:underline t)))) - (xref-keyword-face ((t (:foreground "blue")))) - (xref-list-default-face ((t (nil)))) - (xref-list-pilot-face ((t (:foreground "navy")))) - (xref-list-symbol-face ((t (:foreground "navy"))))))) - -(defun color-theme-marquardt () - "Color theme by Colin Marquardt, created 2000-10-25. -Black on bisque, a light color. Based on some settings from Robin S. Socha. -Features some color changes to programming languages, especially vhdl-mode. -You might also want to put something like - Emacs*Foreground: Black - Emacs*Background: bisque2 -in your ~/.Xdefaults." - (interactive) - (color-theme-install - '(color-theme-marquardt - ((background-color . "bisque") - (background-mode . light) - (background-toolbar-color . "bisque") - (border-color . "#000000000000") - (bottom-toolbar-shadow-color . "#909099999999") - (cursor-color . "Red3") - (foreground-color . "black") - (top-toolbar-shadow-color . "#ffffffffffff")) - (default ((t (nil)))) - (blue ((t (:foreground "blue")))) - (bold ((t (:bold t)))) - (bold-italic ((t (:bold t)))) - (border-glyph ((t (nil)))) - (calendar-today-face ((t (:underline t)))) - (diary-face ((t (:foreground "red")))) - (display-time-mail-balloon-enhance-face ((t (:background "orange")))) - (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue")))) - (display-time-time-balloon-face ((t (:foreground "red")))) - (ff-paths-non-existant-file-face ((t (:bold t :foreground "NavyBlue")))) - (font-lock-comment-face ((t (:foreground "gray50")))) - (font-lock-doc-string-face ((t (:foreground "green4")))) - (font-lock-function-name-face ((t (:foreground "darkorange")))) - (font-lock-keyword-face ((t (:foreground "blue3")))) - (font-lock-preprocessor-face ((t (:foreground "blue3")))) - (font-lock-reference-face ((t (:foreground "red3")))) - (font-lock-special-comment-face ((t (:foreground "blue4")))) - (font-lock-special-keyword-face ((t (:foreground "red4")))) - (font-lock-string-face ((t (:foreground "green4")))) - (font-lock-type-face ((t (:foreground "steelblue")))) - (font-lock-variable-name-face ((t (:foreground "black")))) - (font-lock-warning-face ((t (:bold t :foreground "Red")))) - (green ((t (:foreground "green")))) - (gui-button-face ((t (:background "grey75" :foreground "black")))) - (gui-element ((t (:background "azure1" :foreground "Black")))) - (highlight ((t (:background "darkseagreen2" :foreground "blue")))) - (holiday-face ((t (:background "pink" :foreground "black")))) - (info-node ((t (:bold t)))) - (info-xref ((t (:bold t)))) - (isearch ((t (:background "yellow" :foreground "red")))) - (italic ((t (:bold t)))) - (left-margin ((t (nil)))) - (list-mode-item-selected ((t (:background "gray68" :foreground "black")))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:foreground "MidnightBlue")))) - (message-header-name-face ((t (:foreground "cornflower blue")))) - (message-header-newsgroups-face ((t (:bold t :foreground "blue4")))) - (message-header-other-face ((t (:foreground "steel blue")))) - (message-header-subject-face ((t (:bold t :foreground "navy blue")))) - (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-mml-face ((t (:foreground "ForestGreen")))) - (message-separator-face ((t (:foreground "brown")))) - (modeline ((t (:background "bisque2" :foreground "steelblue4")))) - (modeline-buffer-id ((t (:background "bisque2" :foreground "blue4")))) - (modeline-mousable ((t (:background "bisque2" :foreground "firebrick")))) - (modeline-mousable-minor-mode ((t (:background "bisque2" :foreground "green4")))) - (paren-blink-off ((t (:foreground "azure1")))) - (paren-face ((t (:background "lightgoldenrod")))) - (paren-match ((t (:background "bisque2")))) - (paren-mismatch ((t (:background "DeepPink" :foreground "black")))) - (paren-mismatch-face ((t (:background "DeepPink")))) - (paren-no-match-face ((t (:background "yellow")))) - (pointer ((t (:background "white" :foreground "blue")))) - (primary-selection ((t (:background "gray65")))) - (red ((t (:foreground "red")))) - (right-margin ((t (nil)))) - (secondary-selection ((t (:background "paleturquoise")))) - (shell-option-face ((t (:foreground "gray50")))) - (shell-output-2-face ((t (:foreground "green4")))) - (shell-output-3-face ((t (:foreground "green4")))) - (shell-output-face ((t (:bold t)))) - (shell-prompt-face ((t (:foreground "blue3")))) - (speedbar-button-face ((t (:foreground "green4")))) - (speedbar-directory-face ((t (:foreground "blue4")))) - (speedbar-file-face ((t (:foreground "cyan4")))) - (speedbar-highlight-face ((t (:background "green")))) - (speedbar-selected-face ((t (:underline t :foreground "red")))) - (speedbar-tag-face ((t (:foreground "brown")))) - (text-cursor ((t (:background "Red3" :foreground "bisque")))) - (toolbar ((t (:background "Gray80")))) - (underline ((t (:underline t)))) - (vertical-divider ((t (nil)))) - (vhdl-font-lock-attribute-face ((t (:foreground "Orchid")))) - (vhdl-font-lock-directive-face ((t (:foreground "CadetBlue")))) - (vhdl-font-lock-enumvalue-face ((t (:foreground "SaddleBrown")))) - (vhdl-font-lock-function-face ((t (:foreground "DarkCyan")))) - (vhdl-font-lock-generic-/constant-face ((t (:foreground "Gold3")))) - (vhdl-font-lock-prompt-face ((t (:bold t :foreground "Red")))) - (vhdl-font-lock-reserved-words-face ((t (:bold t :foreground "Orange")))) - (vhdl-font-lock-translate-off-face ((t (:background "LightGray")))) - (vhdl-font-lock-type-face ((t (:foreground "ForestGreen")))) - (vhdl-font-lock-variable-face ((t (:foreground "Grey50")))) - (vhdl-speedbar-architecture-face ((t (:foreground "Blue")))) - (vhdl-speedbar-architecture-selected-face ((t (:underline t :foreground "Blue")))) - (vhdl-speedbar-configuration-face ((t (:foreground "DarkGoldenrod")))) - (vhdl-speedbar-configuration-selected-face ((t (:underline t :foreground "DarkGoldenrod")))) - (vhdl-speedbar-entity-face ((t (:foreground "ForestGreen")))) - (vhdl-speedbar-entity-selected-face ((t (:underline t :foreground "ForestGreen")))) - (vhdl-speedbar-instantiation-face ((t (:foreground "Brown")))) - (vhdl-speedbar-instantiation-selected-face ((t (:underline t :foreground "Brown")))) - (vhdl-speedbar-package-face ((t (:foreground "Grey50")))) - (vhdl-speedbar-package-selected-face ((t (:underline t :foreground "Grey50")))) - (vhdl-speedbar-subprogram-face ((t (:foreground "Orchid4")))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (yellow ((t (:foreground "yellow")))) - (zmacs-region ((t (:background "steelblue" :foreground "yellow"))))))) - -(defun color-theme-parus () - "Color theme by Jon K Hellan, created 2000-11-01. -White on dark blue color theme. - -There is some redundancy in the X resources, but I do not have time to -find out which should go or which should stay: - -Emacs*dialog*Background: midnightblue -Emacs*dialog*Foreground: white -Emacs*popup*Background: midnightblue -Emacs*popup*Foreground: white -emacs*background: #00005a -emacs*cursorColor: gray90 -emacs*foreground: White -emacs.dialog*.background: midnightblue -emacs.menu*.background: midnightblue -emacs.pane.menubar.background: midnightblue" - (interactive) - (color-theme-install - '(color-theme-parus - ((background-color . "#00005a") - (background-mode . dark) - (border-color . "black") - (cursor-color . "yellow") - (foreground-color . "White") - (mouse-color . "yellow")) - ((gnus-mouse-face . highlight) - (list-matching-lines-face . bold) - (paren-face . bold) - (paren-mismatch-face . paren-mismatch-face) - (paren-no-match-face . paren-no-match-face) - (view-highlight-face . highlight)) - (default ((t (nil)))) - (bold ((t (:bold t)))) - (bold-italic ((t (:italic t :bold t)))) - (font-latex-bold-face ((t (:bold t :foreground "OliveDrab")))) - (font-latex-italic-face ((t (:italic t :foreground "OliveDrab")))) - (font-latex-math-face ((t (:foreground "burlywood")))) - (font-latex-sedate-face ((t (:foreground "LightGray")))) - (font-latex-string-face ((t (:foreground "LightSalmon")))) - (font-latex-warning-face ((t (:foreground "Pink")))) - (font-lock-builtin-face ((t (:foreground "#e0e0ff")))) - (font-lock-reference-face ((t (:foreground "#e0e0ff")))) - (font-lock-comment-face ((t (:foreground "#FFd1d1")))) - (font-lock-constant-face ((t (:foreground "Aquamarine")))) - (font-lock-preprocessor-face ((t (:foreground "Aquamarine")))) - (font-lock-function-name-face ((t (:foreground "#b2e4ff")))) - (font-lock-keyword-face ((t (:foreground "#a0ffff")))) - (font-lock-string-face ((t (:foreground "#efca10")))) - (font-lock-doc-string-face ((t (:foreground "#efca10")))) - (font-lock-type-face ((t (:foreground "PaleGreen")))) - (font-lock-variable-name-face ((t (:foreground "LightGoldenrod")))) - (font-lock-warning-face ((t (:bold t :foreground "Pink")))) - (gnus-cite-attribution-face ((t (:italic t)))) - (gnus-cite-face-1 ((t (:foreground "#dfdfff")))) - (gnus-cite-face-10 ((t (:foreground "medium purple")))) - (gnus-cite-face-11 ((t (:foreground "turquoise")))) - (gnus-cite-face-2 ((t (:foreground "light cyan")))) - (gnus-cite-face-3 ((t (:foreground "light yellow")))) - (gnus-cite-face-4 ((t (:foreground "light pink")))) - (gnus-cite-face-5 ((t (:foreground "pale green")))) - (gnus-cite-face-6 ((t (:foreground "beige")))) - (gnus-cite-face-7 ((t (:foreground "orange")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-emphasis-bold ((t (:bold t)))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) - (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) - (gnus-emphasis-italic ((t (:italic t)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) - (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t)))) - (gnus-emphasis-underline-italic ((t (:underline t :italic t)))) - (gnus-group-mail-1-empty-face ((t (:foreground "aquamarine1")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "aquamarine1")))) - (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "aquamarine2")))) - (gnus-group-mail-3-empty-face ((t (:foreground "aquamarine3")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "aquamarine3")))) - (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "aquamarine4")))) - (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) - (gnus-group-news-1-face ((t (:bold t :foreground "PaleTurquoise")))) - (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) - (gnus-group-news-2-face ((t (:bold t :foreground "turquoise")))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkTurquoise")))) - (gnus-header-content-face ((t (:italic t :foreground "#90f490")))) - (gnus-header-from-face ((t (:foreground "#aaffaa")))) - (gnus-header-name-face ((t (:foreground "#c7e3c7")))) - (gnus-header-newsgroups-face ((t (:italic t :foreground "yellow")))) - (gnus-header-subject-face ((t (:foreground "#a0f0a0")))) - (gnus-signature-face ((t (:italic t)))) - (gnus-splash-face ((t (:foreground "Brown")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "SkyBlue")))) - (gnus-summary-high-read-face ((t (:bold t :foreground "PaleGreen")))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "pink")))) - (gnus-summary-high-unread-face ((t (:bold t)))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "SkyBlue")))) - (gnus-summary-low-read-face ((t (:italic t :foreground "PaleGreen")))) - (gnus-summary-low-ticked-face ((t (:italic t :foreground "pink")))) - (gnus-summary-low-unread-face ((t (:italic t)))) - (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) - (gnus-summary-normal-ticked-face ((t (:foreground "pink")))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-selected-face ((t (:underline t)))) - (highlight ((t (:background "darkolivegreen")))) - (italic ((t (:italic t)))) - (message-cited-text-face ((t (:foreground "#dfdfff")))) - (message-header-cc-face ((t (:bold t :foreground "#a0f0a0")))) - (message-header-name-face ((t (:foreground "#c7e3c7")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "yellow")))) - (message-header-other-face ((t (:foreground "#db9b9b")))) - (message-header-subject-face ((t (:foreground "#a0f0a0")))) - (message-header-to-face ((t (:bold t :foreground "#aaffaa")))) - (message-header-xheader-face ((t (:foreground "#e2e2ff")))) - (message-mml-face ((t (:foreground "#abdbab")))) - (message-separator-face ((t (:foreground "#dfdfff")))) - (modeline ((t (:background "White" :foreground "#00005a")))) - (modeline-buffer-id ((t (:background "White" :foreground "#00005a")))) - (modeline-mousable ((t (:background "White" :foreground "#00005a")))) - (modeline-mousable-minor-mode ((t (:background "White" :foreground "#00005a")))) - (paren-mismatch-face ((t (:background "DeepPink")))) - (paren-no-match-face ((t (:background "yellow")))) - (region ((t (:background "blue")))) - (primary-selection ((t (:background "blue")))) - (isearch ((t (:background "blue")))) - (secondary-selection ((t (:background "darkslateblue")))) - (underline ((t (:underline t)))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "lime green")))) - (widget-field-face ((t (:background "dim gray")))) - (widget-inactive-face ((t (:foreground "light gray")))) - (widget-single-line-field-face ((t (:background "dim gray"))))))) - -(defun color-theme-high-contrast () - "High contrast color theme, maybe for the visually impaired. -Watch out! This will set a very large font-size! - -If you want to modify the font as well, you should customize variable -`color-theme-legal-frame-parameters' to \"\\(color\\|mode\\|font\\|height\\|width\\)$\". -The default setting will prevent color themes from installing specific -fonts." - (interactive) - (color-theme-standard) - (let ((color-theme-is-cumulative t)) - (color-theme-install - '(color-theme-high-contrast - ((cursor-color . "red") - (width . 60) - (height . 25) - (background . dark)) - (default ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight bold :height 240 :width normal :family "adobe-courier")))) - - (bold ((t (:bold t :underline t)))) - (bold-italic ((t (:bold t :underline t)))) - (font-lock-builtin-face ((t (:bold t :foreground "Red")))) - (font-lock-comment-face ((t (:bold t :foreground "Firebrick")))) - (font-lock-constant-face ((t (:bold t :underline t :foreground "Blue")))) - (font-lock-function-name-face ((t (:bold t :foreground "Blue")))) - (font-lock-keyword-face ((t (:bold t :foreground "Purple")))) - (font-lock-string-face ((t (:bold t :foreground "DarkGreen")))) - (font-lock-type-face ((t (:bold t :foreground "ForestGreen")))) - (font-lock-variable-name-face ((t (:bold t :foreground "DarkGoldenrod")))) - (font-lock-warning-face ((t (:bold t :foreground "Red")))) - (highlight ((t (:background "black" :foreground "white" :bold 1)))) - (info-menu-5 ((t (:underline t :bold t)))) - (info-node ((t (:bold t)))) - (info-xref ((t (:bold t )))) - (italic ((t (:bold t :underline t)))) - (modeline ((t (:background "black" :foreground "white" :bold 1)))) - (modeline-buffer-id ((t (:background "black" :foreground "white" :bold 1)))) - (modeline-mousable ((t (:background "black" :foreground "white" :bold 1)))) - (modeline-mousable-minor-mode ((t (:background "black" :foreground "white" :bold 1)))) - (region ((t (:background "black" :foreground "white" :bold 1)))) - (secondary-selection ((t (:background "black" :foreground "white" :bold 1)))) - (underline ((t (:bold t :underline t)))))))) - -(defun color-theme-infodoc () - "Color theme by Frederic Giroud, created 2001-01-18. -Black on wheat scheme. Based on infodoc (xemacs variant distribution), -with my favorit fontlock color." - (interactive) - (color-theme-install - '(color-theme-infodoc - ((background-color . "wheat") - (background-mode . light) - (background-toolbar-color . "#000000000000") - (border-color . "#000000000000") - (bottom-toolbar-shadow-color . "#000000000000") - (cursor-color . "red") - (foreground-color . "black") - (top-toolbar-shadow-color . "#ffffffffffff")) - nil - (default ((t (:bold t)))) - (blue ((t (:bold t :foreground "blue")))) - (bold ((t (:background "wheat" :foreground "black")))) - (bold-italic ((t (:bold t :background "wheat" :foreground "black")))) - (border-glyph ((t (:bold t)))) - (calendar-today-face ((t (:underline t :bold t)))) - (custom-button-face ((t (nil)))) - (custom-changed-face ((t (:bold t :background "blue" :foreground "white")))) - (custom-documentation-face ((t (:bold t :background "wheat" :foreground "purple4")))) - (custom-face-tag-face ((t (:underline t :bold t)))) - (custom-group-tag-face ((t (:underline t :bold t :background "wheat" :foreground "blue")))) - (custom-group-tag-face-1 ((t (:underline t :bold t :background "wheat" :foreground "red")))) - (custom-invalid-face ((t (:bold t :background "red" :foreground "yellow")))) - (custom-modified-face ((t (:bold t :background "blue" :foreground "white")))) - (custom-rogue-face ((t (:bold t :background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t :bold t)))) - (custom-set-face ((t (:bold t :background "white" :foreground "blue")))) - (custom-state-face ((t (:bold t :background "wheat" :foreground "dark green")))) - (custom-variable-button-face ((t (:underline t)))) - (custom-variable-tag-face ((t (:underline t :bold t :background "wheat" :foreground "blue")))) - (diary-face ((t (:bold t :foreground "red")))) - (display-time-mail-balloon-enhance-face ((t (:bold t :background "wheat" :foreground "black")))) - (display-time-mail-balloon-gnus-group-face ((t (:bold t :background "wheat" :foreground "blue")))) - (display-time-time-balloon-face ((t (:bold t :background "light salmon" :foreground "dark green")))) - (font-lock-comment-face ((t (:bold t :background "wheat" :foreground "turquoise4")))) - (font-lock-doc-string-face ((t (:bold t :background "wheat" :foreground "purple4")))) - (font-lock-function-name-face ((t (:bold t :background "wheat" :foreground "blue4")))) - (font-lock-keyword-face ((t (:bold t :background "wheat" :foreground "dark orchid")))) - (font-lock-preprocessor-face ((t (:bold t :background "wheat" :foreground "orchid4")))) - (font-lock-reference-face ((t (:bold t :background "wheat" :foreground "red3")))) - (font-lock-string-face ((t (:bold t :background "wheat" :foreground "dark goldenrod")))) - (font-lock-type-face ((t (:bold t :background "wheat" :foreground "brown")))) - (font-lock-variable-name-face ((t (:bold t :background "wheat" :foreground "chocolate")))) - (font-lock-warning-face ((t (:bold t :background "wheat" :foreground "black")))) - (gdb-arrow-face ((t (:bold t :background "LightGreen" :foreground "black")))) - (green ((t (:bold t :foreground "green")))) - (gui-button-face ((t (:bold t :background "wheat" :foreground "red")))) - (gui-element ((t (:bold t :background "wheat" :foreground "black")))) - (highlight ((t (:bold t :background "darkseagreen2" :foreground "dark green")))) - (holiday-face ((t (:bold t :background "pink" :foreground "black")))) - (hproperty:but-face ((t (:bold t :background "wheat" :foreground "medium violet red")))) - (hproperty:flash-face ((t (:bold t :background "wheat" :foreground "gray80")))) - (hproperty:highlight-face ((t (:bold t :background "wheat" :foreground "red")))) - (hproperty:item-face ((t (:bold t)))) - (isearch ((t (:bold t :background "pale turquoise" :foreground "blue")))) - (italic ((t (:bold t :background "wheat" :foreground "black")))) - (left-margin ((t (:bold t :background "wheat" :foreground "black")))) - (list-mode-item-selected ((t (:bold t :background "gray68" :foreground "black")))) - (message-cited-text ((t (:bold t :background "wheat" :foreground "brown")))) - (message-header-contents ((t (:bold t :background "wheat" :foreground "black")))) - (message-headers ((t (:bold t :background "wheat" :foreground "black")))) - (message-highlighted-header-contents ((t (:bold t :background "wheat" :foreground "blue")))) - (message-url ((t (nil)))) - (modeline ((t (:bold t :background "light salmon" :foreground "dark green")))) - (modeline-buffer-id ((t (:bold t :background "light salmon" :foreground "blue4")))) - (modeline-mousable ((t (:bold t :background "light salmon" :foreground "firebrick")))) - (modeline-mousable-minor-mode ((t (:bold t :background "light salmon" :foreground "green4")))) - (pointer ((t (:bold t :background "wheat" :foreground "red")))) - (primary-selection ((t (:bold t :background "medium sea green")))) - (red ((t (:bold t :foreground "red")))) - (right-margin ((t (:bold t :background "wheat" :foreground "black")))) - (secondary-selection ((t (:bold t :background "paleturquoise" :foreground "black")))) - (shell-input-face ((t (:bold t :background "wheat" :foreground "blue")))) - (shell-option-face ((t (:bold t :background "wheat" :foreground "turquoise4")))) - (shell-output-2-face ((t (:bold t :background "wheat" :foreground "dark goldenrod")))) - (shell-output-3-face ((t (:bold t :background "wheat" :foreground "dark goldenrod")))) - (shell-output-face ((t (:bold t :background "wheat" :foreground "black")))) - (shell-prompt-face ((t (:bold t :background "wheat" :foreground "dark orchid")))) - (text-cursor ((t (:bold t :background "red" :foreground "wheat")))) - (toolbar ((t (:bold t :background "wheat" :foreground "black")))) - (underline ((t (:underline t :bold t :background "wheat" :foreground "black")))) - (vertical-divider ((t (:bold t)))) - (widget-button-face ((t (nil)))) - (widget-button-pressed-face ((t (:bold t :background "wheat" :foreground "red")))) - (widget-documentation-face ((t (:bold t :background "wheat" :foreground "dark green")))) - (widget-field-face ((t (:bold t :background "gray85")))) - (widget-inactive-face ((t (:bold t :background "wheat" :foreground "dim gray")))) - (x-face ((t (:bold t :background "wheat" :foreground "black")))) - (yellow ((t (:bold t :foreground "yellow")))) - (zmacs-region ((t (:bold t :background "lightyellow" :foreground "darkgreen"))))))) - -(defun color-theme-classic () - "Color theme by Frederic Giroud, created 2001-01-18. -AntiqueWhite on darkslategrey scheme. Based on Gnome 2, with my favorit -color foreground-color and fontlock color." - (interactive) - (color-theme-blue-gnus) - (let ((color-theme-is-cumulative t)) - (color-theme-install - '(color-theme-classic - ((foreground-color . "AntiqueWhite") - (background-color . "darkslategrey") - (mouse-color . "Grey") - (cursor-color . "Red") - (border-color . "black") - (background-mode . dark)) - ((apropos-keybinding-face . underline) - (apropos-label-face . italic) - (apropos-match-face . secondary-selection) - (apropos-property-face . bold-italic) - (apropos-symbol-face . info-xref) - (goto-address-mail-face . message-header-to-face) - (goto-address-mail-mouse-face . secondary-selection) - (goto-address-url-face . info-xref) - (goto-address-url-mouse-face . highlight) - (list-matching-lines-face . bold) - (view-highlight-face . highlight)) - (default ((t (nil)))) - (bold ((t (:bold t)))) - (bold-italic ((t (:italic t :bold t :foreground "beige")))) - (calendar-today-face ((t (:underline t)))) - (cperl-array-face ((t (:foreground "Yellow")))) - (cperl-hash-face ((t (:foreground "White")))) - (cperl-nonoverridable-face ((t (:foreground "SkyBlue")))) - (custom-button-face ((t (:underline t :foreground "MediumSlateBlue")))) - (custom-documentation-face ((t (:foreground "Grey")))) - (custom-group-tag-face ((t (:foreground "MediumAquamarine")))) - (custom-state-face ((t (:foreground "LightSalmon")))) - (custom-variable-tag-face ((t (:foreground "Aquamarine")))) - (diary-face ((t (:foreground "IndianRed")))) - (erc-action-face ((t (:bold t)))) - (erc-bold-face ((t (:bold t)))) - (erc-default-face ((t (nil)))) - (erc-direct-msg-face ((t (:foreground "LightSalmon")))) - (erc-error-face ((t (:bold t :foreground "IndianRed")))) - (erc-input-face ((t (:foreground "Beige")))) - (erc-inverse-face ((t (:background "wheat" :foreground "darkslategrey")))) - (erc-notice-face ((t (:foreground "MediumAquamarine")))) - (erc-pal-face ((t (:foreground "pale green")))) - (erc-prompt-face ((t (:foreground "MediumAquamarine")))) - (erc-underline-face ((t (:underline t)))) - (eshell-ls-archive-face ((t (:bold t :foreground "IndianRed")))) - (eshell-ls-backup-face ((t (:foreground "Grey")))) - (eshell-ls-clutter-face ((t (:foreground "DimGray")))) - (eshell-ls-directory-face ((t (:bold t :foreground "MediumSlateBlue")))) - (eshell-ls-executable-face ((t (:foreground "Coral")))) - (eshell-ls-missing-face ((t (:foreground "black")))) - (eshell-ls-picture-face ((t (:foreground "Violet")))) - (eshell-ls-product-face ((t (:foreground "LightSalmon")))) - (eshell-ls-readonly-face ((t (:foreground "Aquamarine")))) - (eshell-ls-special-face ((t (:foreground "Gold")))) - (eshell-ls-symlink-face ((t (:foreground "White")))) - (eshell-ls-unreadable-face ((t (:foreground "DimGray")))) - (eshell-prompt-face ((t (:foreground "MediumAquamarine")))) - (font-lock-builtin-face ((t (:bold t :foreground "PaleGreen")))) - (font-lock-comment-face ((t (:foreground "tomato3")))) - (font-lock-constant-face ((t (:foreground "Aquamarine")))) - (font-lock-doc-string-face ((t (:foreground "LightSalmon3")))) - (font-lock-function-name-face ((t (:foreground "SteelBlue1")))) - (font-lock-keyword-face ((t (:foreground "cyan1")))) - (font-lock-reference-face ((t (:foreground "LightSalmon2")))) - (font-lock-string-face ((t (:foreground "LightSalmon3")))) - (font-lock-type-face ((t (:foreground "PaleGreen3")))) - (font-lock-variable-name-face ((t (:foreground "khaki1")))) - (font-lock-warning-face ((t (:bold t :foreground "IndianRed")))) - (font-lock-preprocessor-face ((t (:foreground "SkyBlue3")))) - (widget-field-face ((t (:background "DarkCyan")))) - (custom-group-tag-face ((t(:foreground "brown" :underline t)))) - (custom-state-face ((t (:foreground "khaki")))) - (highlight ((t (:background "PaleGreen" :foreground "DarkGreen")))) - (highline-face ((t (:background "SeaGreen")))) - (holiday-face ((t (:background "DimGray")))) - (info-menu-5 ((t (:underline t)))) - (info-node ((t (:underline t :bold t :foreground "DodgerBlue1")))) - (info-xref ((t (:underline t :foreground "DodgerBlue1")))) - (isearch ((t (:foreground "red" :background "CornflowerBlue")))) - (italic ((t (:italic t)))) - (modeline ((t (:background "LightSlateGray" :foreground "AntiqueWhite")))) - (modeline-buffer-id ((t (:background "LightSlateGray" :foreground "DarkBlue")))) - (modeline-mousable ((t (:background "LightSlateGray" :foreground "firebrick")))) - (modeline-mousable-minor-mode ((t (:background "LightSlateGray" :foreground "wheat")))) - (region ((t (:background "dark cyan" :foreground "cyan")))) - (secondary-selection ((t (:background "Aquamarine" :foreground "SlateBlue")))) - (show-paren-match-face ((t (:background "Aquamarine" :foreground "SlateBlue")))) - (show-paren-mismatch-face ((t (:background "Red" :foreground "White")))) - (underline ((t (:underline t)))) - (widget-field-face ((t (:foreground "LightBlue")))) - (widget-inactive-face ((t (:foreground "DimGray")))) - (widget-single-line-field-face ((t (:foreground "LightBlue")))) - (woman-bold-face ((t (:bold t)))) - (woman-italic-face ((t (:foreground "beige")))) - (woman-unknown-face ((t (:foreground "LightSalmon")))))))) - -(defun color-theme-scintilla () - "Color theme by Gordon Messmer, created 2001-02-07. -Based on the Scintilla editor. - -If you want to modify the font as well, you should customize variable -`color-theme-legal-frame-parameters' to \"\\(color\\|mode\\|font\\|height\\|width\\)$\". -The default setting will prevent color themes from installing specific -fonts." - (interactive) - (color-theme-install - ;; The light editor style doesn't seem to look right with - ;; the same font that works in the dark editor style. - ;; Dark letters on light background just isn't as visible. - '(color-theme-scintilla - ((font . "-monotype-courier new-bold-r-normal-*-*-140-*-*-m-*-iso8859-1") - (width . 95) - (height . 40) - (background-color . "white") - (foreground-color . "black") - (background-mode . light) - (mouse-color . "grey15") - (cursor-color . "grey15")) - (default ((t nil))) - (font-lock-comment-face ((t (:italic t :foreground "ForestGreen")))) - (font-lock-string-face ((t (:foreground "DarkMagenta")))) - (font-lock-keyword-face ((t (:foreground "NavyBlue")))) - (font-lock-warning-face ((t (:bold t :foreground "VioletRed")))) - (font-lock-constant-face ((t (:foreground "Blue")))) - (font-lock-type-face ((t (:foreground "NavyBlue")))) - (font-lock-variable-name-face ((t (:foreground "DarkCyan")))) - (font-lock-function-name-face ((t (:foreground "DarkCyan")))) - (font-lock-builtin-face ((t (:foreground "NavyBlue")))) - (highline-face ((t (:background "Grey95")))) - (show-paren-match-face ((t (:background "Grey80")))) - (region ((t (:background "Grey80")))) - (highlight ((t (:foreground "ForestGreen")))) - (secondary-selection ((t (:background "NavyBlue" :foreground "white")))) - (widget-field-face ((t (:background "NavyBlue")))) - (widget-single-line-field-face ((t (:background "RoyalBlue")))))) ) - -(defun color-theme-gtk-ide () - "Color theme by Gordon Messmer, created 2001-02-07. -Inspired by a GTK IDE whose name I've forgotten. - -If you want to modify the font as well, you should customize variable -`color-theme-legal-frame-parameters' to \"\\(color\\|mode\\|font\\|height\\|width\\)$\". -The default setting will prevent color themes from installing specific -fonts." - ;; The light editor style doesn't seem to look right with - ;; the same font that works in the dark editor style. - ;; Dark letters on light background just isn't as visible. - (interactive) - (color-theme-install - '(color-theme-gtk-ide - ((font . "-monotype-courier new-medium-r-normal-*-*-120-*-*-m-*-iso8859-15") - (width . 95) - (height . 45) - (background-color . "white") - (foreground-color . "black") - (background-mode . light) - (mouse-color . "grey15") - (cursor-color . "grey15")) - (default ((t nil))) - (font-lock-comment-face ((t (:italic t :foreground "grey55")))) - (font-lock-string-face ((t (:foreground "DarkRed")))) - (font-lock-keyword-face ((t (:foreground "DarkBlue")))) - (font-lock-warning-face ((t (:bold t :foreground "VioletRed")))) - (font-lock-constant-face ((t (:foreground "OliveDrab")))) - (font-lock-type-face ((t (:foreground "SteelBlue4")))) - (font-lock-variable-name-face ((t (:foreground "DarkGoldenrod")))) - (font-lock-function-name-face ((t (:foreground "SlateBlue")))) - (font-lock-builtin-face ((t (:foreground "ForestGreen")))) - (highline-face ((t (:background "grey95")))) - (show-paren-match-face ((t (:background "grey80")))) - (region ((t (:background "grey80")))) - (highlight ((t (:background "LightSkyBlue")))) - (secondary-selection ((t (:background "grey55")))) - (widget-field-face ((t (:background "navy")))) - (widget-single-line-field-face ((t (:background "royalblue")))))) ) - -(defun color-theme-midnight () - "Color theme by Gordon Messmer, created 2001-02-07. -A color theme inspired by a certain IDE for Windows. It's all from memory, -since I only used that software in college. - -If you want to modify the font as well, you should customize variable -`color-theme-legal-frame-parameters' to \"\\(color\\|mode\\|font\\|height\\|width\\)$\". -The default setting will prevent color themes from installing specific -fonts." - (interactive) - (color-theme-install - '(color-theme-midnight - ((font . "fixed") - (width . 130) - (height . 50) - (background-color . "black") - (foreground-color . "grey85") - (background-mode . dark) - (mouse-color . "grey85") - (cursor-color . "grey85")) - (default ((t (nil)))) - (font-lock-comment-face ((t (:italic t :foreground "grey60")))) - (font-lock-string-face ((t (:foreground "Magenta")))) - (font-lock-keyword-face ((t (:foreground "Cyan")))) - (font-lock-warning-face ((t (:bold t :foreground "Pink")))) - (font-lock-constant-face ((t (:foreground "OliveDrab")))) - (font-lock-type-face ((t (:foreground "DarkCyan")))) - (font-lock-variable-name-face ((t (:foreground "DarkGoldenrod")))) - (font-lock-function-name-face ((t (:foreground "SlateBlue")))) - (font-lock-builtin-face ((t (:foreground "SkyBlue")))) - (highline-face ((t (:background "grey12")))) - (setnu-line-number-face ((t (:background "Grey15" :foreground "White" :bold t)))) - (show-paren-match-face ((t (:background "grey30")))) - (region ((t (:background "grey15")))) - (highlight ((t (:background "blue")))) - (secondary-selection ((t (:background "navy")))) - (widget-field-face ((t (:background "navy")))) - (widget-single-line-field-face ((t (:background "royalblue")))))) ) - -(defun color-theme-jedit-grey () - "Color theme by Gordon Messmer, created 2001-02-07. -Based on a screenshot of jedit. - -If you want to modify the font as well, you should customize variable -`color-theme-legal-frame-parameters' to \"\\(color\\|mode\\|font\\|height\\|width\\)$\". -The default setting will prevent color themes from installing specific -fonts." - (interactive) - (color-theme-install - '(color-theme-jedit-grey - ((font . "fixed") - (width . 130) - (height . 50) - (background-color . "grey77") - (foreground-color . "black") - (background-mode . light) - (mouse-color . "black") - (cursor-color . "black")) - (default ((t (nil)))) - (font-lock-comment-face ((t (:italic t :foreground "RoyalBlue4")))) - (font-lock-string-face ((t (:foreground "Gold4")))) - (font-lock-keyword-face ((t (:bold t :foreground "DarkRed")))) - (font-lock-warning-face ((t (:bold t :foreground "Pink")))) - (font-lock-constant-face ((t (:foreground "DarkCyan")))) - (font-lock-type-face ((t (:foreground "DarkRed")))) - (font-lock-function-name-face ((t (:foreground "Green4")))) - (font-lock-builtin-face ((t (:bold t :foreground "DarkRed")))) - (highline-face ((t (:background "grey84")))) - (setnu-line-number-face ((t (:background "White" :foreground "MediumPurple3" :italic t)))) - (show-paren-match-face ((t (:background "grey60")))) - (region ((t (:background "grey70")))) - (highlight ((t (:background "grey90")))) - (secondary-selection ((t (:background "white")))) - (widget-field-face ((t (:background "royalblue")))) - (widget-single-line-field-face ((t (:background "royalblue")))))) ) - -(defun color-theme-snow () - "Color theme by Nicolas Rist, created 2001-03-08. -Black on gainsboro. In Emacs, the text background is a shade darker -than the frame background: Gainsboro instead of snow. This makes the -structure of the text clearer without being too agressive on the eyes. -On XEmacs, this doesn't really work as the frame and the default face -allways use the same foreground and background colors. -The color theme includes gnus, message, font-lock, sgml, and speedbar." - (interactive) - (color-theme-install - '(color-theme-snow - ((background-color . "snow2") - (background-mode . light) - (border-color . "black") - (cursor-color . "RoyalBlue2") - (foreground-color . "black") - (mouse-color . "black")) - ((gnus-mouse-face . highlight) - (list-matching-lines-face . bold) - (view-highlight-face . highlight)) - (default ((t (:background "gainsboro" :foreground "dark slate gray")))) - (bold ((t (:bold t)))) - (bold-italic ((t (:italic t :bold t)))) - (calendar-today-face ((t (:underline t)))) - (custom-button-face ((t (:background "gainsboro" :foreground "dark cyan")))) - (custom-documentation-face ((t (:background "gainsboro")))) - (diary-face ((t (:foreground "red")))) - (fg:black ((t (:foreground "black")))) - (font-lock-builtin-face ((t (:background "gainsboro" :foreground "medium orchid")))) - (font-lock-comment-face ((t (:background "gainsboro" :foreground "SteelBlue3")))) - (font-lock-constant-face ((t (:background "gainsboro" :foreground "orange3")))) - (font-lock-function-name-face ((t (:background "gainsboro" :foreground "blue3")))) - (font-lock-keyword-face ((t (:background "gainsboro" :foreground "red3")))) - (font-lock-string-face ((t (:background "gainsboro" :foreground "SpringGreen3")))) - (font-lock-type-face ((t (:background "gainsboro" :foreground "dark cyan")))) - (font-lock-variable-name-face ((t (:background "gainsboro" :foreground "purple2")))) - (font-lock-warning-face ((t (:bold t :background "gainsboro" :foreground "red")))) - (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3")))) - (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3")))) - (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4")))) - (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4")))) - (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) - (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen")))) - (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) - (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4")))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen")))) - (gnus-splash-face ((t (:foreground "ForestGreen")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) - (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen")))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick")))) - (gnus-summary-high-unread-face ((t (:bold t)))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue")))) - (gnus-summary-low-read-face ((t (:italic t :foreground "DarkGreen")))) - (gnus-summary-low-ticked-face ((t (:italic t :foreground "firebrick")))) - (gnus-summary-low-unread-face ((t (:italic t)))) - (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) - (gnus-summary-normal-ticked-face ((t (:foreground "firebrick")))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-selected-face ((t (:underline t)))) - (gui-button-face ((t (:foreground "light grey")))) - (highlight ((t (:background "LightSteelBlue1")))) - (holiday-face ((t (:background "pink")))) - (ibuffer-marked-face ((t (:foreground "red")))) - (italic ((t (:italic t)))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:foreground "MidnightBlue")))) - (message-header-name-face ((t (:foreground "cornflower blue")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4")))) - (message-header-other-face ((t (:foreground "steel blue")))) - (message-header-subject-face ((t (:bold t :foreground "navy blue")))) - (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-separator-face ((t (:foreground "brown")))) - (modeline ((t (:background "dark slate gray" :foreground "gainsboro")))) - (modeline-buffer-id ((t (:background "dark slate gray" :foreground "gainsboro")))) - (modeline-mousable ((t (:background "dark slate gray" :foreground "gainsboro")))) - (modeline-mousable-minor-mode ((t (:background "dark slate gray" :foreground "gainsboro")))) - (region ((t (:background "lavender")))) - (secondary-selection ((t (:background "paleturquoise")))) - (sgml-comment-face ((t (:foreground "dark green")))) - (sgml-doctype-face ((t (:foreground "maroon")))) - (sgml-end-tag-face ((t (:foreground "blue2")))) - (sgml-entity-face ((t (:foreground "red2")))) - (sgml-ignored-face ((t (:background "gray90" :foreground "maroon")))) - (sgml-ms-end-face ((t (:foreground "maroon")))) - (sgml-ms-start-face ((t (:foreground "maroon")))) - (sgml-pi-face ((t (:foreground "maroon")))) - (sgml-sgml-face ((t (:foreground "maroon")))) - (sgml-short-ref-face ((t (:foreground "goldenrod")))) - (sgml-start-tag-face ((t (:foreground "blue2")))) - (show-paren-match-face ((t (:background "SlateGray1")))) - (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) - (speedbar-button-face ((t (:foreground "green4")))) - (speedbar-directory-face ((t (:foreground "blue4")))) - (speedbar-file-face ((t (:foreground "cyan4")))) - (speedbar-highlight-face ((t (:background "dark turquoise" :foreground "white")))) - (speedbar-selected-face ((t (:underline t :foreground "red")))) - (speedbar-tag-face ((t (:foreground "brown")))) - (underline ((t (:underline t))))))) - -(defun color-theme-montz () - "Color theme by Brady Montz, created 2001-03-08. -Black on Gray. -Includes dired, bbdb, font-lock, gnus, message, viper, and widget." - (interactive) - (color-theme-install - '(color-theme-montz - ((background-color . "gray80") - (background-mode . light) - (background-toolbar-color . "#cccccccccccc") - (border-color . "#000000000000") - (bottom-toolbar-shadow-color . "#7a7a7a7a7a7a") - (cursor-color . "Red3") - (foreground-color . "black") - (top-toolbar-shadow-color . "#f5f5f5f5f5f5") - (viper-saved-cursor-color-in-replace-mode . "Red3")) - ((gnus-mouse-face . highlight) - (paren-match-face . paren-face-match) - (paren-mismatch-face . paren-face-mismatch) - (paren-no-match-face . paren-face-no-match) - (smiley-mouse-face . highlight)) - (default ((t (nil)))) - (bbdb-company ((t (:italic t)))) - (bbdb-field-name ((t (:bold t)))) - (bbdb-field-value ((t (nil)))) - (bbdb-name ((t (:underline t)))) - (blue ((t (:foreground "blue")))) - (bold ((t (:bold t)))) - (bold-italic ((t (:italic t :bold t)))) - (border-glyph ((t (nil)))) - (dired-face-boring ((t (:foreground "Gray65")))) - (dired-face-directory ((t (:bold t)))) - (dired-face-executable ((t (:foreground "SeaGreen")))) - (dired-face-flagged ((t (:background "LightSlateGray")))) - (dired-face-marked ((t (:background "PaleVioletRed")))) - (dired-face-permissions ((t (:background "grey75" :foreground "black")))) - (dired-face-setuid ((t (:foreground "Red")))) - (dired-face-socket ((t (:foreground "magenta")))) - (dired-face-symlink ((t (:foreground "cyan")))) - (display-time-mail-balloon-enhance-face ((t (:background "orange")))) - (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue")))) - (display-time-time-balloon-face ((t (:foreground "red")))) - (font-lock-builtin-face ((t (:foreground "red3")))) - (font-lock-comment-face ((t (:foreground "blue")))) - (font-lock-constant-face ((t (:foreground "red3")))) - (font-lock-doc-string-face ((t (:foreground "mediumvioletred")))) - (font-lock-function-name-face ((t (:foreground "firebrick")))) - (font-lock-keyword-face ((t (:bold t :foreground "black")))) - (font-lock-preprocessor-face ((t (:foreground "blue3")))) - (font-lock-reference-face ((t (:foreground "red3")))) - (font-lock-string-face ((t (:foreground "mediumvioletred")))) - (font-lock-type-face ((t (:foreground "darkgreen")))) - (font-lock-variable-name-face ((t (:foreground "black")))) - (font-lock-warning-face ((t (:bold t :foreground "Red")))) - (gnus-cite-attribution-face ((t (:italic t)))) - (gnus-cite-face-1 ((t (:foreground "MidnightBlue")))) - (gnus-cite-face-10 ((t (:foreground "medium purple")))) - (gnus-cite-face-11 ((t (:foreground "turquoise")))) - (gnus-cite-face-2 ((t (:foreground "firebrick")))) - (gnus-cite-face-3 ((t (:foreground "dark green")))) - (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) - (gnus-cite-face-5 ((t (:foreground "dark khaki")))) - (gnus-cite-face-6 ((t (:foreground "dark violet")))) - (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-emphasis-bold ((t (:bold t)))) - (gnus-emphasis-bold-italic ((t (:bold t)))) - (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) - (gnus-emphasis-italic ((t (:italic t)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) - (gnus-emphasis-underline-bold-italic ((t (:underline t :bold t)))) - (gnus-emphasis-underline-italic ((t (:underline t :italic t)))) - (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3")))) - (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3")))) - (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4")))) - (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4")))) - (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) - (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen")))) - (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) - (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4")))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen")))) - (gnus-header-content-face ((t (:italic t :foreground "indianred4")))) - (gnus-header-from-face ((t (:foreground "red3")))) - (gnus-header-name-face ((t (:foreground "maroon")))) - (gnus-header-newsgroups-face ((t (:italic t :foreground "MidnightBlue")))) - (gnus-header-subject-face ((t (:foreground "red4")))) - (gnus-picons-face ((t (:background "white" :foreground "black")))) - (gnus-picons-xbm-face ((t (:background "white" :foreground "black")))) - (gnus-signature-face ((t (:italic t)))) - (gnus-splash-face ((t (:foreground "Brown")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) - (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen")))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick")))) - (gnus-summary-high-unread-face ((t (:bold t)))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue")))) - (gnus-summary-low-read-face ((t (:italic t :foreground "DarkGreen")))) - (gnus-summary-low-ticked-face ((t (:italic t :foreground "firebrick")))) - (gnus-summary-low-unread-face ((t (:italic t)))) - (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) - (gnus-summary-normal-ticked-face ((t (:foreground "firebrick")))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-selected-face ((t (:underline t)))) - (gnus-x-face ((t (:background "white" :foreground "black")))) - (green ((t (:foreground "green")))) - (gui-button-face ((t (:background "grey75" :foreground "black")))) - (gui-element ((t (nil)))) - (highlight ((t (:background "darkseagreen2")))) - (info-node ((t (:bold t)))) - (info-xref ((t (:bold t)))) - (isearch ((t (:background "paleturquoise")))) - (italic ((t (:italic t)))) - (left-margin ((t (nil)))) - (list-mode-item-selected ((t (:background "gray68" :foreground "black")))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:foreground "MidnightBlue")))) - (message-header-name-face ((t (:foreground "cornflower blue")))) - (message-header-newsgroups-face ((t (:bold t :foreground "blue4")))) - (message-header-other-face ((t (:foreground "steel blue")))) - (message-header-subject-face ((t (:bold t :foreground "navy blue")))) - (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-mml-face ((t (:foreground "ForestGreen")))) - (message-separator-face ((t (:foreground "brown")))) - (modeline ((t (nil)))) - (modeline-buffer-id ((t (:background "Gray80" :foreground "blue4")))) - (modeline-mousable ((t (:background "Gray80" :foreground "firebrick")))) - (modeline-mousable-minor-mode ((t (:background "Gray80" :foreground "green4")))) - (paren-face-match ((t (:background "turquoise")))) - (paren-face-mismatch ((t (:background "purple" :foreground "white")))) - (paren-face-no-match ((t (:background "yellow" :foreground "black")))) - (pointer ((t (nil)))) - (primary-selection ((t (:background "gray65")))) - (red ((t (:foreground "red")))) - (right-margin ((t (nil)))) - (secondary-selection ((t (:background "paleturquoise")))) - (text-cursor ((t (:background "Red3" :foreground "gray80")))) - (toolbar ((t (nil)))) - (underline ((t (:underline t)))) - (vertical-divider ((t (nil)))) - (viper-minibuffer-emacs-face ((t (:background "gray80" :foreground "black")))) - (viper-minibuffer-insert-face ((t (:background "gray80" :foreground "black")))) - (viper-minibuffer-vi-face ((t (:background "gray80" :foreground "black")))) - (viper-replace-overlay-face ((t (:background "black" :foreground "white")))) - (viper-search-face ((t (:background "black" :foreground "white")))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (yellow ((t (:foreground "yellow")))) - (zmacs-region ((t (:background "black" :foreground "white"))))))) - -(defun color-theme-aalto-light () - "Color theme by Jari Aalto, created 2001-03-08. -Black on light yellow. -Used for Win32 on a Nokia446Xpro monitor. -Includes cvs, font-lock, gnus, message, sgml, widget" - (interactive) - (color-theme-install - '(color-theme-aalto-light - ((background-color . "#FFFFE0") - (background-mode . light) - (border-color . "black") - (cursor-color . "black") - (foreground-color . "black") - (mouse-color . "LawnGreen")) - ((gnus-mouse-face . highlight) - (list-matching-lines-face . bold) - (tinyreplace-:face . highlight) - (view-highlight-face . highlight)) - (default ((t (nil)))) - (bold ((t (:bold t)))) - (bold-italic ((t (:italic t :bold t)))) - (calendar-today-face ((t (:underline t)))) - (cvs-filename-face ((t (:foreground "blue4")))) - (cvs-handled-face ((t (:foreground "pink")))) - (cvs-header-face ((t (:bold t :foreground "blue4")))) - (cvs-marked-face ((t (:bold t :foreground "green3")))) - (cvs-msg-face ((t (:italic t)))) - (cvs-need-action-face ((t (:foreground "orange")))) - (cvs-unknown-face ((t (:foreground "red")))) - (diary-face ((t (:foreground "red")))) - (eshell-test-failed-face ((t (:bold t :foreground "OrangeRed")))) - (eshell-test-ok-face ((t (:bold t :foreground "Green")))) - (font-lock-builtin-face ((t (:foreground "Orchid")))) - (font-lock-comment-face ((t (:foreground "Firebrick")))) - (font-lock-constant-face ((t (:foreground "CadetBlue")))) - (font-lock-function-name-face ((t (:foreground "Blue")))) - (font-lock-keyword-face ((t (:foreground "Purple")))) - (font-lock-string-face ((t (:foreground "RosyBrown")))) - (font-lock-type-face ((t (:foreground "ForestGreen")))) - (font-lock-variable-name-face ((t (:foreground "DarkGoldenrod")))) - (font-lock-warning-face ((t (:bold t :foreground "Red")))) - (gnus-emphasis-bold ((t (:bold t)))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) - (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) - (gnus-emphasis-italic ((t (:italic t)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) - (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t)))) - (gnus-emphasis-underline-italic ((t (:underline t :italic t)))) - (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3")))) - (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3")))) - (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4")))) - (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4")))) - (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) - (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen")))) - (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) - (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4")))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen")))) - (gnus-header-content-face ((t (:italic t :foreground "indianred4")))) - (gnus-header-from-face ((t (:foreground "red3")))) - (gnus-header-name-face ((t (:foreground "maroon")))) - (gnus-header-newsgroups-face ((t (:italic t :foreground "MidnightBlue")))) - (gnus-header-subject-face ((t (:foreground "red4")))) - (gnus-signature-face ((t (:italic t)))) - (gnus-splash-face ((t (:foreground "Brown")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) - (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen")))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick")))) - (gnus-summary-high-unread-face ((t (:bold t)))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue")))) - (gnus-summary-low-read-face ((t (:italic t :foreground "DarkGreen")))) - (gnus-summary-low-ticked-face ((t (:italic t :foreground "firebrick")))) - (gnus-summary-low-unread-face ((t (:italic t)))) - (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) - (gnus-summary-normal-ticked-face ((t (:foreground "firebrick")))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-selected-face ((t (:underline t)))) - (highlight ((t (:background "darkseagreen2")))) - (holiday-face ((t (:background "pink")))) - (info-menu-5 ((t (:underline t)))) - (info-node ((t (:italic t :bold t)))) - (info-xref ((t (:bold t)))) - (italic ((t (:italic t)))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:foreground "MidnightBlue")))) - (message-header-name-face ((t (:foreground "cornflower blue")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4")))) - (message-header-other-face ((t (:foreground "steel blue")))) - (message-header-subject-face ((t (:bold t :foreground "navy blue")))) - (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-mml-face ((t (:foreground "ForestGreen")))) - (message-separator-face ((t (:foreground "brown")))) - (modeline ((t (:background "black" :foreground "white")))) - (modeline-buffer-id ((t (:background "black" :foreground "white")))) - (modeline-mousable ((t (:background "black" :foreground "white")))) - (modeline-mousable-minor-mode ((t (:background "black" :foreground "white")))) - (region ((t (:background "gray")))) - (secondary-selection ((t (:background "paleturquoise")))) - (sgml-comment-face ((t (:foreground "dark turquoise")))) - (sgml-doctype-face ((t (:foreground "red")))) - (sgml-end-tag-face ((t (:foreground "blue")))) - (sgml-entity-face ((t (:foreground "magenta")))) - (sgml-ignored-face ((t (:background "gray60" :foreground "gray40")))) - (sgml-ms-end-face ((t (:foreground "green")))) - (sgml-ms-start-face ((t (:foreground "green")))) - (sgml-pi-face ((t (:foreground "lime green")))) - (sgml-sgml-face ((t (:foreground "brown")))) - (sgml-short-ref-face ((t (:foreground "deep sky blue")))) - (sgml-start-tag-face ((t (:foreground "blue")))) - (show-paren-match-face ((t (:background "turquoise")))) - (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) - (underline ((t (:underline t)))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (widget-single-line-field-face ((t (:background "gray85"))))))) - -(defun color-theme-aalto-dark () - "Color theme by Jari Aalto, created 2001-03-08. -White on Deep Sky Blue 3. -Used for Unix Exceed on a Nokia446Xpro monitor. -Includes font-lock, info, and message." - (interactive) - (color-theme-install - '(color-theme-aalto-dark - ((background-color . "DeepSkyBlue3") - (background-mode . dark) - (border-color . "black") - (cursor-color . "yellow") - (foreground-color . "white") - (mouse-color . "black")) - ((ispell-highlight-face . highlight) - (list-matching-lines-face . bold) - (tinyreplace-:face . highlight) - (view-highlight-face . highlight)) - (default ((t (nil)))) - (bold ((t (:bold t :background "blue3" :foreground "white")))) - (bold-italic ((t (:italic t :bold t :foreground "blue3")))) - (calendar-today-face ((t (:underline t)))) - (diary-face ((t (:foreground "red")))) - (font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) - (font-lock-comment-face ((t (:foreground "OrangeRed")))) - (font-lock-constant-face ((t (:foreground "Aquamarine")))) - (font-lock-function-name-face ((t (:foreground "LightSkyBlue")))) - (font-lock-keyword-face ((t (:foreground "Cyan")))) - (font-lock-string-face ((t (:foreground "LightSalmon")))) - (font-lock-type-face ((t (:foreground "PaleGreen")))) - (font-lock-variable-name-face ((t (:foreground "LightGoldenrod")))) - (font-lock-warning-face ((t (:bold t :foreground "Pink")))) - (highlight ((t (:background "blue3" :foreground "white")))) - (holiday-face ((t (:background "pink")))) - (info-menu-5 ((t (:underline t)))) - (info-node ((t (:italic t :bold t)))) - (info-xref ((t (:bold t)))) - (italic ((t (:italic t :background "gray")))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:bold t :foreground "green4")))) - (message-header-name-face ((t (:foreground "DarkGreen")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "yellow")))) - (message-header-other-face ((t (:foreground "#b00000")))) - (message-header-subject-face ((t (:foreground "green3")))) - (message-header-to-face ((t (:bold t :foreground "green2")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-mml-face ((t (:foreground "ForestGreen")))) - (message-separator-face ((t (:foreground "blue3")))) - (modeline ((t (:background "white" :foreground "DeepSkyBlue3")))) - (modeline-buffer-id ((t (:background "white" :foreground "DeepSkyBlue3")))) - (modeline-mousable ((t (:background "white" :foreground "DeepSkyBlue3")))) - (modeline-mousable-minor-mode ((t (:background "white" :foreground "DeepSkyBlue3")))) - (region ((t (:background "gray")))) - (secondary-selection ((t (:background "darkslateblue")))) - (show-paren-match-face ((t (:background "turquoise")))) - (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) - (underline ((t (:underline t))))))) - -(defun color-theme-blippblopp () - "Color theme by Thomas Sicheritz-Ponten, created 2001-03-12. -Used by researchers at Uppsala University and the Center for Biological -Sequence Analysis at the Technical University of Denmark. (As some of my -swedish friends couldn't pronounce Sicheritz - they choose to transform -it to something more \"swedish\": Blippblopp :-) -Includes font-lock and message." - (interactive) - (color-theme-install - '(color-theme-blippblopp - ((background-color . "white") - (background-mode . light) - (background-toolbar-color . "#cf3ccf3ccf3c") - (border-color . "#000000000000") - (bottom-toolbar-shadow-color . "#79e77df779e7") - (cursor-color . "Red3") - (foreground-color . "black") - (mouse-color . "black") - (top-toolbar-shadow-color . "#fffffbeeffff") - (viper-saved-cursor-color-in-replace-mode . "Red3")) - ((ispell-highlight-face . highlight)) - (default ((t (nil)))) - (blue ((t (:foreground "blue")))) - (bold ((t (:bold t)))) - (bold-italic ((t (:italic t :bold t)))) - (excerpt ((t (:italic t)))) - (ff-paths-non-existant-file-face ((t (:bold t :foreground "NavyBlue")))) - (fg:black ((t (:foreground "black")))) - (fixed ((t (:bold t)))) - (font-lock-builtin-face ((t (:foreground "red3")))) - (font-lock-comment-face ((t (:foreground "orange")))) - (font-lock-constant-face ((t (:foreground "red3")))) - (font-lock-doc-string-face ((t (:foreground "darkgreen")))) - (font-lock-exit-face ((t (:foreground "green")))) - (font-lock-function-name-face ((t (:bold t :foreground "red")))) - (font-lock-keyword-face ((t (:bold t :foreground "steelblue")))) - (font-lock-preprocessor-face ((t (:foreground "blue3")))) - (font-lock-reference-face ((t (:foreground "red3")))) - (font-lock-string-face ((t (:foreground "green4")))) - (font-lock-type-face ((t (:bold t :foreground "blue")))) - (font-lock-variable-name-face ((t (:foreground "black")))) - (font-lock-warning-face ((t (:bold t :foreground "Red")))) - (green ((t (:foreground "green")))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:foreground "MidnightBlue")))) - (message-header-name-face ((t (:foreground "cornflower blue")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4")))) - (message-header-other-face ((t (:foreground "steel blue")))) - (message-header-subject-face ((t (:bold t :foreground "navy blue")))) - (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-mml-face ((t (:foreground "ForestGreen")))) - (message-separator-face ((t (:foreground "brown")))) - (modeline ((t (:background "dimgray" :foreground "lemonchiffon")))) - (modeline-buffer-id ((t (:background "dimgray" :foreground "green3")))) - (modeline-mousable ((t (:background "dimgray" :foreground "orange")))) - (modeline-mousable-minor-mode ((t (:background "dimgray" :foreground "blue4")))) - (primary-selection ((t (:background "gray65")))) - (red ((t (:foreground "red")))) - (region ((t (:background "gray65")))) - (secondary-selection ((t (:background "paleturquoise")))) - (show-paren-match-face ((t (:background "turquoise")))) - (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) - (text-cursor ((t (:background "Red3" :foreground "white")))) - (toolbar ((t (:background "Gray80")))) - (underline ((t (:underline t)))) - (vcursor ((t (:underline t :background "cyan" :foreground "blue")))) - (vertical-divider ((t (:background "Gray80")))) - (xref-keyword-face ((t (:foreground "blue")))) - (xref-list-pilot-face ((t (:foreground "navy")))) - (xref-list-symbol-face ((t (:foreground "navy")))) - (yellow ((t (:foreground "yellow")))) - (zmacs-region ((t (:background "gray65"))))))) - -(defun color-theme-hober (&optional preview) - "Does all sorts of crazy stuff. -Originally based on color-theme-standard, so I probably still have some -setting that I haven't changed. I also liberally copied settings from -the other themes in this package. The end result isn't much like the -other ones; I hope you like it." - (interactive) - (color-theme-install - '(color-theme-hober - ((foreground-color . "#c0c0c0") - (background-color . "black") - (mouse-color . "black") - (cursor-color . "medium turquoise") - (border-color . "black") - (background-mode . dark)) - (default ((t (nil)))) - (modeline ((t (:foreground "white" :background "darkslateblue")))) - (modeline-buffer-id ((t (:foreground "white" :background "darkslateblue")))) - (modeline-mousable ((t (:foreground "white" :background "darkslateblue")))) - (modeline-mousable-minor-mode ((t (:foreground "white" :background "darkslateblue")))) - (highlight ((t (:foreground "black" :background "#c0c0c0")))) - (bold ((t (:bold t)))) - (italic ((t (:italic t)))) - (bold-italic ((t (:bold t :italic t)))) - (region ((t (:foreground "white" :background "darkslateblue")))) - (zmacs-region ((t (:foreground "white" :background "darkslateblue")))) - (secondary-selection ((t (:background "paleturquoise")))) - (underline ((t (:underline t)))) - (diary-face ((t (:foreground "red")))) - (calendar-today-face ((t (:underline t)))) - (holiday-face ((t (:background "pink")))) - (widget-documentation-face ((t (:foreground "dark green" :background "white")))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red" :background "black")))) - (widget-field-face ((t (:background "gray85" :foreground "black")))) - (widget-single-line-field-face ((t (:background "gray85" :foreground "black")))) - (widget-inactive-face ((t (:foreground "dim gray" :background "red")))) - (fixed ((t (:bold t)))) - (excerpt ((t (:italic t)))) - (term-default-fg ((t (nil)))) - (term-default-bg ((t (nil)))) - (term-default-fg-inv ((t (nil)))) - (term-default-bg-inv ((t (nil)))) - (term-bold ((t (:bold t)))) - (term-underline ((t (:underline t)))) - (term-invisible ((t (nil)))) - (term-invisible-inv ((t (nil)))) - (term-white ((t (:foreground "#c0c0c0")))) - (term-whitebg ((t (:background "#c0c0c0")))) - (term-black ((t (:foreground "black")))) - (term-blackbg ((t (:background "black")))) - (term-red ((t (:foreground "#ef8171")))) - (term-redbg ((t (:background "#ef8171")))) - (term-green ((t (:foreground "#e5f779")))) - (term-greenbg ((t (:background "#e5f779")))) - (term-yellow ((t (:foreground "#fff796")))) - (term-yellowbg ((t (:background "#fff796")))) - (term-blue ((t (:foreground "#4186be")))) - (term-bluebg ((t (:background "#4186be")))) - (term-magenta ((t (:foreground "#ef9ebe")))) - (term-magentabg ((t (:background "#ef9ebe")))) - (term-cyan ((t (:foreground "#71bebe")))) - (term-cyanbg ((t (:background "#71bebe")))) - (font-lock-keyword-face ((t (:foreground "#00ffff")))) - (font-lock-comment-face ((t (:foreground "Red")))) - (font-lock-string-face ((t (:foreground "#ffff00")))) - (font-lock-constant-face ((t (:foreground "#00ff00")))) - (font-lock-builtin-face ((t (:foreground "#ffaa00")))) - (font-lock-type-face ((t (:foreground "Coral")))) - (font-lock-warning-face ((t (:foreground "Red" :bold t)))) - (font-lock-function-name-face ((t (:foreground "#4186be")))) - (font-lock-variable-name-face ((t (:foreground "white" :bold t)))) - (message-header-to-face ((t (:foreground "#4186be" :bold t)))) - (message-header-cc-face ((t (:foreground "#4186be")))) - (message-header-subject-face ((t (:foreground "#4186be" :bold t)))) - (message-header-newsgroups-face ((t (:foreground "Coral" :bold t)))) - (message-header-other-face ((t (:foreground "steel blue")))) - (message-header-name-face ((t (:foreground "white")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-separator-face ((t (:foreground "brown")))) - (message-cited-text-face ((t (:foreground "white")))) - (gnus-header-from-face ((t (:foreground "Coral")))) - (gnus-header-subject-face ((t (:foreground "#4186be")))) - (gnus-header-newsgroups-face ((t (:foreground "#4186be" :italic t)))) - (gnus-header-name-face ((t (:foreground "white")))) - (gnus-header-content-face ((t (:foreground "#4186be" :italic t)))) - (gnus-cite-attribution-face ((t (:italic t)))) - (gnus-cite-face-list ((t (:bold nil :foreground "red")))) - (gnus-group-news-1-face ((t (:foreground "ForestGreen" :bold t)))) - (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) - (gnus-group-news-2-face ((t (:foreground "CadetBlue4" :bold t)))) - (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) - (gnus-group-news-3-face ((t (:bold t)))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-low-face ((t (:foreground "DarkGreen" :bold t)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) - (gnus-group-mail-1-face ((t (:foreground "DeepPink3" :bold t)))) - (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) - (gnus-group-mail-2-face ((t (:foreground "HotPink3" :bold t)))) - (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) - (gnus-group-mail-3-face ((t (:foreground "magenta4" :bold t)))) - (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) - (gnus-group-mail-low-face ((t (:foreground "DeepPink4" :bold t)))) - (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) - (gnus-summary-selected-face ((t (:underline t)))) - (gnus-summary-cancelled-face ((t (:foreground "yellow" :background "black")))) - (gnus-summary-high-ticked-face ((t (:foreground "firebrick" :bold t)))) - (gnus-summary-low-ticked-face ((t (:foreground "firebrick" :italic t)))) - (gnus-summary-normal-ticked-face ((t (:foreground "firebrick")))) - (gnus-summary-high-ancient-face ((t (:foreground "RoyalBlue" :bold t)))) - (gnus-summary-low-ancient-face ((t (:foreground "RoyalBlue" :italic t)))) - (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) - (gnus-summary-high-unread-face ((t (:bold t)))) - (gnus-summary-low-unread-face ((t (:italic t)))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-high-read-face ((t (:foreground "DarkGreen" :bold t)))) - (gnus-summary-low-read-face ((t (:foreground "DarkGreen" :italic t)))) - (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) - (gnus-splash-face ((t (:foreground "ForestGreen")))) - (gnus-emphasis-bold ((t (:bold t)))) - (gnus-emphasis-italic ((t (:italic t)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:bold t :underline t)))) - (gnus-emphasis-underline-italic ((t (:italic t :underline t)))) - (gnus-emphasis-bold-italic ((t (:bold t :italic t)))) - (gnus-emphasis-underline-bold-italic ((t (:bold t :italic t :underline t)))) - (gnus-signature-face ((t (:foreground "white")))) - (gnus-cite-face-1 ((t (:foreground "Khaki")))) - (gnus-cite-face-2 ((t (:foreground "Coral")))) - (gnus-cite-face-3 ((t (:foreground "#4186be")))) - (gnus-cite-face-4 ((t (:foreground "yellow green")))) - (gnus-cite-face-5 ((t (:foreground "IndianRed")))) - (highlight-changes-face ((t (:foreground "red")))) - (highlight-changes-delete-face ((t (:foreground "red" :underline t)))) - (show-paren-match-face ((t (:foreground "white" :background "purple")))) - (show-paren-mismatch-face ((t (:foreground "white" :background "red")))) - (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) - (cperl-array-face ((t (:foreground "Blue" :bold t :background "lightyellow2")))) - (cperl-hash-face ((t (:foreground "Red" :bold t :italic t :background "lightyellow2")))) - (makefile-space-face ((t (:background "hotpink")))) - (sgml-start-tag-face ((t (:foreground "mediumspringgreen")))) - (sgml-ignored-face ((t (:foreground "gray20" :background "gray60")))) - (sgml-doctype-face ((t (:foreground "orange")))) - (sgml-sgml-face ((t (:foreground "yellow")))) - (sgml-end-tag-face ((t (:foreground "greenyellow")))) - (sgml-entity-face ((t (:foreground "gold")))) - (flyspell-incorrect-face ((t (:foreground "OrangeRed" :bold t :underline t)))) - (flyspell-duplicate-face ((t (:foreground "Gold3" :bold t :underline t))))))) - -(defun color-theme-bharadwaj () - "Color theme by Girish Bharadwaj, created 2001-03-28. -Black on gainsboro. Includes BBDB, custom, cperl, cvs, dired, ediff, -erc, eshell, font-latex, font-lock, gnus, info, message, paren, sgml, -shell, speedbar, term, vhdl, viper, widget, woman, xref. Wow!" - (interactive) - (color-theme-install - '(color-theme-bharadwaj - ((background-color . "gainsboro") - (background-mode . light) - (background-toolbar-color . "#cf3ccf3ccf3c") - (border-color . "black") - (bottom-toolbar-shadow-color . "#79e77df779e7") - (cursor-color . "grey15") - (foreground-color . "black") - (mouse-color . "grey15") - (top-toolbar-shadow-color . "#fffffbeeffff") - (viper-saved-cursor-color-in-replace-mode . "Red3")) - ((gnus-mouse-face . highlight) - (smiley-mouse-face . highlight)) - (default ((t (nil)))) - (bbdb-company ((t (nil)))) - (bbdb-field-name ((t (:bold t)))) - (bbdb-field-value ((t (nil)))) - (bbdb-name ((t (:underline t)))) - (blank-space-face ((t (nil)))) - (blank-tab-face ((t (nil)))) - (blue ((t (nil)))) - (bold ((t (:bold t)))) - (bold-italic ((t (:bold t)))) - (border-glyph ((t (nil)))) - (calendar-today-face ((t (:underline t)))) - (comint-input-face ((t (:foreground "deepskyblue")))) - (cperl-array-face ((t (:bold t :background "lightyellow2" :foreground "Blue")))) - (cperl-hash-face ((t (:bold t :background "lightyellow2" :foreground "Red")))) - (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) - (custom-button-face ((t (:bold t)))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face ((t (:underline t :bold t :foreground "blue")))) - (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "dark green")))) - (custom-variable-button-face ((t (:underline t :bold t)))) - (custom-variable-tag-face ((t (:underline t :bold t :foreground "blue")))) - (cvs-filename-face ((t (:foreground "blue4")))) - (cvs-handled-face ((t (:foreground "pink")))) - (cvs-header-face ((t (:bold t :foreground "blue4")))) - (cvs-marked-face ((t (:bold t :foreground "green3")))) - (cvs-msg-face ((t (nil)))) - (cvs-need-action-face ((t (:foreground "orange")))) - (cvs-unknown-face ((t (:foreground "red")))) - (diary-face ((t (:bold t :foreground "red")))) - (dired-face-boring ((t (:foreground "Gray65")))) - (dired-face-directory ((t (:bold t :foreground "forestgreen")))) - (dired-face-executable ((t (:foreground "indianred")))) - (dired-face-flagged ((t (:background "SlateGray")))) - (dired-face-marked ((t (:background "darkblue" :foreground "deepskyblue")))) - (dired-face-permissions ((t (nil)))) - (dired-face-setuid ((t (:foreground "Red")))) - (dired-face-socket ((t (:foreground "magenta")))) - (dired-face-symlink ((t (:foreground "grey95")))) - (display-time-mail-balloon-enhance-face ((t (:background "orange")))) - (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue")))) - (display-time-time-balloon-face ((t (:foreground "red")))) - (ediff-current-diff-face-A ((t (:background "pale green" :foreground "firebrick")))) - (ediff-current-diff-face-Ancestor ((t (:background "VioletRed" :foreground "Black")))) - (ediff-current-diff-face-B ((t (:background "Yellow" :foreground "DarkOrchid")))) - (ediff-current-diff-face-C ((t (:background "Pink" :foreground "Navy")))) - (ediff-even-diff-face-A ((t (:background "light grey" :foreground "Black")))) - (ediff-even-diff-face-Ancestor ((t (:background "Grey" :foreground "White")))) - (ediff-even-diff-face-B ((t (:background "Grey" :foreground "White")))) - (ediff-even-diff-face-C ((t (:background "light grey" :foreground "Black")))) - (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy")))) - (ediff-fine-diff-face-Ancestor ((t (:background "Green" :foreground "Black")))) - (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Black")))) - (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Black")))) - (ediff-odd-diff-face-A ((t (:background "Grey" :foreground "White")))) - (ediff-odd-diff-face-Ancestor ((t (:background "light grey" :foreground "Black")))) - (ediff-odd-diff-face-B ((t (:background "light grey" :foreground "Black")))) - (ediff-odd-diff-face-C ((t (:background "Grey" :foreground "White")))) - (erc-action-face ((t (:bold t)))) - (erc-bold-face ((t (:bold t)))) - (erc-default-face ((t (nil)))) - (erc-direct-msg-face ((t (nil)))) - (erc-error-face ((t (:bold t)))) - (erc-input-face ((t (nil)))) - (erc-inverse-face ((t (nil)))) - (erc-notice-face ((t (nil)))) - (erc-pal-face ((t (nil)))) - (erc-prompt-face ((t (nil)))) - (erc-underline-face ((t (nil)))) - (eshell-ls-archive-face ((t (:bold t :foreground "Orchid")))) - (eshell-ls-backup-face ((t (:foreground "OrangeRed")))) - (eshell-ls-clutter-face ((t (:bold t :foreground "OrangeRed")))) - (eshell-ls-directory-face ((t (:bold t :foreground "Blue")))) - (eshell-ls-executable-face ((t (:bold t :foreground "ForestGreen")))) - (eshell-ls-missing-face ((t (:bold t :foreground "Red")))) - (eshell-ls-picture-face ((t (nil)))) - (eshell-ls-product-face ((t (:foreground "OrangeRed")))) - (eshell-ls-readonly-face ((t (:foreground "Brown")))) - (eshell-ls-special-face ((t (:bold t :foreground "Magenta")))) - (eshell-ls-symlink-face ((t (:bold t :foreground "DarkCyan")))) - (eshell-ls-unreadable-face ((t (:foreground "Grey30")))) - (eshell-prompt-face ((t (:bold t :foreground "Red")))) - (eshell-test-failed-face ((t (:bold t :foreground "OrangeRed")))) - (eshell-test-ok-face ((t (:bold t :foreground "Green")))) - (excerpt ((t (nil)))) - (ff-paths-non-existant-file-face ((t (:bold t :foreground "NavyBlue")))) - (fg:black ((t (:foreground "black")))) - (fixed ((t (:bold t)))) - (flyspell-duplicate-face ((t (:underline t :bold t :foreground "Gold3")))) - (flyspell-incorrect-face ((t (:underline t :bold t :foreground "OrangeRed")))) - (font-latex-bold-face ((t (nil)))) - (font-latex-italic-face ((t (nil)))) - (font-latex-math-face ((t (nil)))) - (font-latex-sedate-face ((t (nil)))) - (font-latex-string-face ((t (nil)))) - (font-latex-warning-face ((t (nil)))) - (font-lock-builtin-face ((t (:foreground "ForestGreen")))) - (font-lock-comment-face ((t (:foreground "grey55")))) - (font-lock-constant-face ((t (:foreground "OliveDrab")))) - (font-lock-doc-string-face ((t (:bold t :foreground "blue4")))) - (font-lock-exit-face ((t (nil)))) - (font-lock-function-name-face ((t (:italic t :bold t :foreground "SlateBlue")))) - (font-lock-keyword-face ((t (:foreground "DarkBlue")))) - (font-lock-preprocessor-face ((t (:foreground "blue3")))) - (font-lock-reference-face ((t (:foreground "red3")))) - (font-lock-string-face ((t (:foreground "DarkRed")))) - (font-lock-type-face ((t (:foreground "SteelBlue4")))) - (font-lock-variable-name-face ((t (:foreground "DarkGoldenrod")))) - (font-lock-warning-face ((t (:bold t :foreground "VioletRed")))) - (fringe ((t (:background "grey95")))) - (gnus-cite-attribution-face ((t (:bold t)))) - (gnus-cite-face-1 ((t (:foreground "MidnightBlue")))) - (gnus-cite-face-10 ((t (:foreground "medium purple")))) - (gnus-cite-face-11 ((t (:foreground "turquoise")))) - (gnus-cite-face-2 ((t (:foreground "firebrick")))) - (gnus-cite-face-3 ((t (:foreground "dark green")))) - (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) - (gnus-cite-face-5 ((t (:foreground "dark khaki")))) - (gnus-cite-face-6 ((t (:foreground "dark violet")))) - (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-emphasis-bold ((t (:bold t)))) - (gnus-emphasis-bold-italic ((t (:bold t)))) - (gnus-emphasis-highlight-words ((t (nil)))) - (gnus-emphasis-italic ((t (nil)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) - (gnus-emphasis-underline-bold-italic ((t (:underline t :bold t)))) - (gnus-emphasis-underline-italic ((t (:underline t)))) - (gnus-filterhist-face-1 ((t (nil)))) - (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3")))) - (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3")))) - (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4")))) - (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4")))) - (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) - (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen")))) - (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) - (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4")))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen")))) - (gnus-header-content-face ((t (:foreground "indianred4")))) - (gnus-header-from-face ((t (:bold t :foreground "red3")))) - (gnus-header-name-face ((t (:bold t :foreground "maroon")))) - (gnus-header-newsgroups-face ((t (:bold t :foreground "MidnightBlue")))) - (gnus-header-subject-face ((t (:bold t :foreground "red4")))) - (gnus-picons-face ((t (:background "white" :foreground "black")))) - (gnus-picons-xbm-face ((t (:background "white" :foreground "black")))) - (gnus-signature-face ((t (nil)))) - (gnus-splash ((t (nil)))) - (gnus-splash-face ((t (:foreground "ForestGreen")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) - (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen")))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick")))) - (gnus-summary-high-unread-face ((t (:bold t)))) - (gnus-summary-low-ancient-face ((t (:foreground "RoyalBlue")))) - (gnus-summary-low-read-face ((t (:foreground "DarkGreen")))) - (gnus-summary-low-ticked-face ((t (:bold t :foreground "firebrick")))) - (gnus-summary-low-unread-face ((t (nil)))) - (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) - (gnus-summary-normal-ticked-face ((t (:bold t :foreground "firebrick")))) - (gnus-summary-normal-unread-face ((t (:bold t)))) - (gnus-summary-selected-face ((t (:underline t)))) - (gnus-x-face ((t (:background "white" :foreground "black")))) - (green ((t (nil)))) - (gui-button-face ((t (:background "grey75")))) - (gui-element ((t (:background "Gray80")))) - (highlight ((t (:background "LightSkyBlue")))) - (highlight-changes-delete-face ((t (:underline t :foreground "red")))) - (highlight-changes-face ((t (:foreground "red")))) - (highline-face ((t (:background "grey95")))) - (holiday-face ((t (:background "pink")))) - (html-helper-italic-face ((t (nil)))) - (info-menu-5 ((t (:underline t)))) - (info-node ((t (:bold t)))) - (info-xref ((t (:bold t)))) - (isearch ((t (:background "yellow")))) - (isearch-secondary ((t (:foreground "red3")))) - (italic ((t (nil)))) - (lazy-highlight-face ((t (:bold t :foreground "dark magenta")))) - (left-margin ((t (nil)))) - (linemenu-face ((t (nil)))) - (list-mode-item-selected ((t (nil)))) - (makefile-space-face ((t (:background "hotpink")))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:bold t :foreground "MidnightBlue")))) - (message-header-name-face ((t (:foreground "cornflower blue")))) - (message-header-newsgroups-face ((t (:bold t :foreground "blue4")))) - (message-header-other-face ((t (:foreground "steel blue")))) - (message-header-subject-face ((t (:bold t :foreground "navy blue")))) - (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-mml-face ((t (:bold t)))) - (message-separator-face ((t (:foreground "brown")))) - (modeline ((t (:background "white" :foreground "black")))) - (modeline-buffer-id ((t (:background "white" :foreground "black")))) - (modeline-mousable ((t (:background "white" :foreground "black")))) - (modeline-mousable-minor-mode ((t (:background "white" :foreground "black")))) - (paren-blink-off ((t (:foreground "gray80")))) - (paren-face-match ((t (:background "turquoise")))) - (paren-face-mismatch ((t (:background "purple" :foreground "white")))) - (paren-face-no-match ((t (:background "yellow" :foreground "black")))) - (paren-match ((t (:background "darkseagreen2")))) - (paren-mismatch ((t (:background "DeepPink" :foreground "black")))) - (paren-mismatch-face ((t (:bold t)))) - (paren-no-match-face ((t (:bold t)))) - (pointer ((t (nil)))) - (primary-selection ((t (nil)))) - (red ((t (nil)))) - (region ((t (:background "grey80")))) - (right-margin ((t (nil)))) - (secondary-selection ((t (:background "grey55")))) - (sgml-comment-face ((t (:foreground "dark turquoise")))) - (sgml-doctype-face ((t (nil)))) - (sgml-end-tag-face ((t (nil)))) - (sgml-entity-face ((t (nil)))) - (sgml-ignored-face ((t (nil)))) - (sgml-ms-end-face ((t (:foreground "green")))) - (sgml-ms-start-face ((t (:foreground "green")))) - (sgml-pi-face ((t (:foreground "lime green")))) - (sgml-sgml-face ((t (nil)))) - (sgml-short-ref-face ((t (:foreground "deep sky blue")))) - (sgml-start-tag-face ((t (nil)))) - (shell-option-face ((t (:foreground "blue")))) - (shell-output-2-face ((t (:foreground "darkseagreen")))) - (shell-output-3-face ((t (:foreground "slategrey")))) - (shell-output-face ((t (:foreground "palegreen")))) - (shell-prompt-face ((t (:foreground "red")))) - (show-paren-match-face ((t (:background "grey80")))) - (show-paren-mismatch-face ((t (:bold t :background "purple" :foreground "white")))) - (speedbar-button-face ((t (:bold t :foreground "green4")))) - (speedbar-directory-face ((t (:bold t :foreground "blue4")))) - (speedbar-file-face ((t (:bold t :foreground "cyan4")))) - (speedbar-highlight-face ((t (:background "green")))) - (speedbar-selected-face ((t (:underline t :foreground "red")))) - (speedbar-tag-face ((t (:foreground "brown")))) - (swbuff-current-buffer-face ((t (:bold t)))) - (template-message-face ((t (:bold t)))) - (term-black ((t (:foreground "black")))) - (term-blackbg ((t (:background "black")))) - (term-blue ((t (:foreground "blue")))) - (term-bluebg ((t (:background "blue")))) - (term-bold ((t (:bold t)))) - (term-cyan ((t (:foreground "cyan")))) - (term-cyanbg ((t (:background "cyan")))) - (term-default-bg ((t (nil)))) - (term-default-bg-inv ((t (nil)))) - (term-default-fg ((t (nil)))) - (term-default-fg-inv ((t (nil)))) - (term-green ((t (:foreground "green")))) - (term-greenbg ((t (:background "green")))) - (term-invisible ((t (nil)))) - (term-invisible-inv ((t (nil)))) - (term-magenta ((t (:foreground "magenta")))) - (term-magentabg ((t (:background "magenta")))) - (term-red ((t (:foreground "red")))) - (term-redbg ((t (:background "red")))) - (term-underline ((t (:underline t)))) - (term-white ((t (:foreground "white")))) - (term-whitebg ((t (:background "white")))) - (term-yellow ((t (:foreground "yellow")))) - (term-yellowbg ((t (:background "yellow")))) - (text-cursor ((t (:background "grey15" :foreground "gainsboro")))) - (toolbar ((t (nil)))) - (underline ((t (:underline t)))) - (vc-annotate-face-0046FF ((t (nil)))) - (vcursor ((t (:underline t :background "cyan" :foreground "blue")))) - (vertical-divider ((t (nil)))) - (vhdl-font-lock-attribute-face ((t (:foreground "Orchid")))) - (vhdl-font-lock-directive-face ((t (:foreground "CadetBlue")))) - (vhdl-font-lock-enumvalue-face ((t (:foreground "Gold4")))) - (vhdl-font-lock-function-face ((t (:foreground "Orchid4")))) - (vhdl-font-lock-prompt-face ((t (:bold t :foreground "Red")))) - (vhdl-font-lock-reserved-words-face ((t (:bold t :foreground "Orange")))) - (vhdl-font-lock-translate-off-face ((t (:background "LightGray")))) - (vhdl-speedbar-architecture-face ((t (:foreground "Blue")))) - (vhdl-speedbar-architecture-selected-face ((t (:underline t :foreground "Blue")))) - (vhdl-speedbar-configuration-face ((t (:foreground "DarkGoldenrod")))) - (vhdl-speedbar-configuration-selected-face ((t (:underline t :foreground "DarkGoldenrod")))) - (vhdl-speedbar-entity-face ((t (:foreground "ForestGreen")))) - (vhdl-speedbar-entity-selected-face ((t (:underline t :foreground "ForestGreen")))) - (vhdl-speedbar-instantiation-face ((t (:foreground "Brown")))) - (vhdl-speedbar-instantiation-selected-face ((t (:underline t :foreground "Brown")))) - (vhdl-speedbar-package-face ((t (:foreground "Grey50")))) - (vhdl-speedbar-package-selected-face ((t (:underline t :foreground "Grey50")))) - (viper-minibuffer-emacs-face ((t (:background "darkseagreen2" :foreground "Black")))) - (viper-minibuffer-insert-face ((t (:background "pink" :foreground "Black")))) - (viper-minibuffer-vi-face ((t (:background "grey" :foreground "DarkGreen")))) - (viper-replace-overlay-face ((t (:background "darkseagreen2" :foreground "Black")))) - (viper-search-face ((t (:background "khaki" :foreground "Black")))) - (vvb-face ((t (:background "pink" :foreground "black")))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "navy" :foreground "white")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (widget-single-line-field-face ((t (:background "royalblue" :foreground "white")))) - (woman-bold-face ((t (:bold t)))) - (woman-italic-face ((t (nil)))) - (woman-unknown-face ((t (nil)))) - (xref-keyword-face ((t (:foreground "blue")))) - (xref-list-pilot-face ((t (:foreground "navy")))) - (xref-list-symbol-face ((t (:foreground "navy")))) - (yellow ((t (nil)))) - (zmacs-region ((t (:background "royalblue"))))))) - -(defun color-theme-oswald () - "Color theme by Tom Oswald, created 2001-04-18. -Green on black, includes font-lock, show-paren, and ediff." - (interactive) - (color-theme-install - '(color-theme-oswald - ((background-color . "black") - (background-mode . dark) - (border-color . "black") - (cursor-color . "black") - (foreground-color . "green") - (mouse-color . "black")) - ((blank-space-face . blank-space-face) - (blank-tab-face . blank-tab-face) - (list-matching-lines-face . bold) - (view-highlight-face . highlight)) - (default ((t (nil)))) - (blank-space-face ((t (:background "LightGray")))) - (blank-tab-face ((t (:background "green" :foreground "black")))) - (bold ((t (:bold t)))) - (bold-italic ((t (:italic t :bold t)))) - (ediff-current-diff-face-A ((t (:background "pale green" :foreground "firebrick")))) - (ediff-current-diff-face-Ancestor ((t (:background "VioletRed" :foreground "Black")))) - (ediff-current-diff-face-B ((t (:background "Yellow" :foreground "DarkOrchid")))) - (ediff-current-diff-face-C ((t (:background "Pink" :foreground "Navy")))) - (ediff-even-diff-face-A ((t (:background "light grey" :foreground "Black")))) - (ediff-even-diff-face-Ancestor ((t (:background "Grey" :foreground "White")))) - (ediff-even-diff-face-B ((t (:background "Grey" :foreground "White")))) - (ediff-even-diff-face-C ((t (:background "light grey" :foreground "Black")))) - (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy")))) - (ediff-fine-diff-face-Ancestor ((t (:background "Green" :foreground "Black")))) - (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Black")))) - (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Black")))) - (ediff-odd-diff-face-A ((t (:background "Grey" :foreground "White")))) - (ediff-odd-diff-face-Ancestor ((t (:background "light grey" :foreground "Black")))) - (ediff-odd-diff-face-B ((t (:background "light grey" :foreground "Black")))) - (ediff-odd-diff-face-C ((t (:background "Grey" :foreground "White")))) - (font-lock-builtin-face ((t (:italic t :bold t :foreground "LightSteelBlue")))) - (font-lock-comment-face ((t (:italic t :foreground "LightGoldenrod4")))) - (font-lock-constant-face ((t (:italic t :foreground "HotPink")))) - (font-lock-doc-string-face ((t (:italic t :foreground "orange")))) - (font-lock-function-name-face ((t (:italic t :bold t :foreground "red")))) - (font-lock-keyword-face ((t (:foreground "red")))) - (font-lock-preprocessor-face ((t (:italic t :foreground "HotPink")))) - (font-lock-string-face ((t (:italic t :foreground "orange")))) - (font-lock-reference-face ((t (:italic t :bold t :foreground "LightSteelBlue")))) - (font-lock-type-face ((t (:italic t :foreground "LightSlateBlue")))) - (font-lock-variable-name-face ((t (:underline t :foreground "LightGoldenrod")))) - (font-lock-warning-face ((t (:bold t :foreground "Pink")))) - (highlight ((t (:background "yellow" :foreground "red")))) - (isearch ((t (:background "dim gray" :foreground "aquamarine")))) - (ispell-face ((t (:bold t :background "#3454b4" :foreground "yellow")))) - (italic ((t (:italic t)))) - (modeline ((t (:background "green" :foreground "black")))) - (modeline-buffer-id ((t (:background "green" :foreground "black")))) - (modeline-mousable ((t (:background "green" :foreground "black")))) - (modeline-mousable-minor-mode ((t (:background "green" :foreground "black")))) - (region ((t (:background "dim gray" :foreground "aquamarine")))) - (secondary-selection ((t (:background "darkslateblue" :foreground "light goldenrod")))) - (show-paren-match-face ((t (:background "turquoise" :foreground "black")))) - (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) - (underline ((t (:underline t)))) - (zmacs-region ((t (:background "dim gray" :foreground "aquamarine"))))))) - -(defun color-theme-salmon-diff () - "Salmon and aquamarine faces for diff and change-log modes. -This is intended for other color themes to use (eg. `color-theme-gnome2')." - (color-theme-install - '(color-theme-salmon-diff - nil - (change-log-acknowledgement-face ((t (:foreground "LightBlue")))) - (change-log-conditionals-face ((t (:bold t :weight bold :foreground "Aquamarine")))) - (change-log-date-face ((t (:foreground "LightSalmon")))) - (change-log-email-face ((t (:bold t :weight bold :foreground "Aquamarine")))) - (change-log-file-face ((t (:bold t :weight bold :foreground "Aquamarine")))) - (change-log-function-face ((t (:bold t :weight bold :foreground "Aquamarine")))) - (change-log-list-face ((t (:foreground "Salmon")))) - (change-log-name-face ((t (:foreground "Aquamarine")))) - (diff-added-face ((t (nil)))) - (diff-changed-face ((t (nil)))) - (diff-context-face ((t (:foreground "grey70")))) - (diff-file-header-face ((t (:bold t)))) - (diff-function-face ((t (:foreground "grey70")))) - (diff-header-face ((t (:foreground "light salmon")))) - (diff-hunk-header-face ((t (:foreground "light salmon")))) - (diff-index-face ((t (:bold t)))) - (diff-nonexistent-face ((t (:bold t)))) - (diff-removed-face ((t (nil)))) - (log-view-message-face ((t (:foreground "light salmon"))))))) - -(defun color-theme-robin-hood () - "`color-theme-gnome2' with navajo white on green. -This theme tries to avoid underlined and italic faces, because -the fonts either look ugly, or do not exist. The author himself -uses neep, for example." - (interactive) - (color-theme-gnome2) - (let ((color-theme-is-cumulative t)) - (color-theme-install - '(color-theme-robin-hood - ((foreground-color . "navajo white") - (background-color . "#304020")) - ((CUA-mode-read-only-cursor-color . "white") - (help-highlight-face . info-xref) - (list-matching-lines-buffer-name-face . bold)) - (default ((t (nil)))) - (button ((t (:bold t)))) - (calendar-today-face ((t (:foreground "lemon chiffon")))) - (custom-button-face ((t (:bold t :foreground "DodgerBlue1")))) - (diary-face ((t (:bold t :foreground "yellow")))) - (fringe ((t (:background "#003700")))) - (header-line ((t (:background "#030" :foreground "#AA7")))) - (holiday-face ((t (:bold t :foreground "peru")))) - (ido-subdir-face ((t (:foreground "MediumSlateBlue")))) - (isearch ((t (:foreground "pink" :background "red")))) - (isearch-lazy-highlight-face ((t (:foreground "red")))) - (menu ((t (:background "#304020" :foreground "navajo white")))) - (minibuffer-prompt ((t (:foreground "pale green")))) - (modeline ((t (:background "dark olive green" :foreground "wheat" :box (:line-width 1 :style released-button))))) - (mode-line-inactive ((t (:background "dark olive green" :foreground "khaki" :box (:line-width 1 :style released-button))))) - (semantic-dirty-token-face ((t (:background "grey22")))) - (tool-bar ((t (:background "#304020" :foreground "wheat" :box (:line-width 1 :style released-button))))) - (tooltip ((t (:background "lemon chiffon" :foreground "black")))))))) - -(defun color-theme-snowish () - "Color theme by Girish Bharadwaj, created 2001-05-17. -Dark slate gray on snow2, lots of blue colors. -Includes custom, eshell, font-lock, gnus, html-helper, -hyper-apropos, jde, message, paren, semantic, speedbar, -term, widget." - (interactive) - (color-theme-install - '(color-theme-snowish - ((background-color . "snow2") - (background-mode . light) - (cursor-color . "Red3") - (foreground-color . "darkslategray")) - ((buffers-tab-face . buffers-tab) - (gnus-mouse-face . highlight) - (sgml-set-face . t) - (smiley-mouse-face . highlight)) - (default ((t (nil)))) - (blue ((t (:foreground "blue")))) - (bold ((t (:bold t :foreground "peru")))) - (bold-italic ((t (:italic t :bold t)))) - (border-glyph ((t (nil)))) - (buffers-tab ((t (:background "snow2" :foreground "darkslategray")))) - (custom-button-face ((t (:bold t)))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-comment-face ((t (:background "gray85")))) - (custom-comment-tag-face ((t (:foreground "blue4")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face ((t (:underline t :foreground "blue")))) - (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "dark green")))) - (custom-variable-button-face ((t (:underline t :bold t)))) - (custom-variable-tag-face ((t (:underline t :foreground "blue")))) - (cyan ((t (:foreground "cyan")))) - (display-time-mail-balloon-enhance-face ((t (:background "orange")))) - (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue")))) - (display-time-time-balloon-face ((t (:foreground "red")))) - (eshell-ls-archive-face ((t (:bold t :foreground "Orchid")))) - (eshell-ls-backup-face ((t (:foreground "OrangeRed")))) - (eshell-ls-clutter-face ((t (:bold t :foreground "OrangeRed")))) - (eshell-ls-directory-face ((t (:bold t :foreground "Blue")))) - (eshell-ls-executable-face ((t (:bold t :foreground "ForestGreen")))) - (eshell-ls-missing-face ((t (:bold t :foreground "Red")))) - (eshell-ls-product-face ((t (:foreground "OrangeRed")))) - (eshell-ls-readonly-face ((t (:foreground "Brown")))) - (eshell-ls-special-face ((t (:bold t :foreground "Magenta")))) - (eshell-ls-symlink-face ((t (:bold t :foreground "Dark Cyan")))) - (eshell-ls-unreadable-face ((t (:foreground "Grey30")))) - (eshell-prompt-face ((t (:bold t :foreground "Red")))) - (font-lock-builtin-face ((t (:underline t :foreground "blue")))) - (font-lock-comment-face ((t (:foreground "snow4")))) - (font-lock-constant-face ((t (:foreground "CadetBlue")))) - (font-lock-doc-string-face ((t (:foreground "mediumblue")))) - (font-lock-function-name-face ((t (:bold t :foreground "darkblue")))) - (font-lock-keyword-face ((t (:bold t :foreground "dodgerblue")))) - (font-lock-preprocessor-face ((t (:underline t :foreground "blue3")))) - (font-lock-reference-face ((t (:foreground "red3")))) - (font-lock-string-face ((t (:foreground "darkviolet")))) - (font-lock-type-face ((t (:foreground "goldenrod")))) - (font-lock-variable-name-face ((t (:foreground "tomato")))) - (font-lock-warning-face ((t (:bold t :foreground "Red")))) - (gnus-cite-attribution-face ((t (nil)))) - (gnus-cite-face-1 ((t (:foreground "MidnightBlue")))) - (gnus-cite-face-10 ((t (:foreground "medium purple")))) - (gnus-cite-face-11 ((t (:foreground "turquoise")))) - (gnus-cite-face-2 ((t (:foreground "firebrick")))) - (gnus-cite-face-3 ((t (:foreground "dark green")))) - (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) - (gnus-cite-face-5 ((t (:foreground "dark khaki")))) - (gnus-cite-face-6 ((t (:foreground "dark violet")))) - (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-emphasis-bold ((t (:bold t)))) - (gnus-emphasis-bold-italic ((t (nil)))) - (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) - (gnus-emphasis-italic ((t (nil)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) - (gnus-emphasis-underline-bold-italic ((t (:underline t)))) - (gnus-emphasis-underline-italic ((t (:underline t)))) - (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3")))) - (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3")))) - (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4")))) - (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4")))) - (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) - (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen")))) - (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) - (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4")))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen")))) - (gnus-header-content-face ((t (:foreground "indianred4")))) - (gnus-header-from-face ((t (:foreground "red3")))) - (gnus-header-name-face ((t (:foreground "maroon")))) - (gnus-header-newsgroups-face ((t (:foreground "MidnightBlue")))) - (gnus-header-subject-face ((t (:foreground "red4")))) - (gnus-picons-face ((t (:background "white" :foreground "black")))) - (gnus-picons-xbm-face ((t (:background "white" :foreground "black")))) - (gnus-signature-face ((t (nil)))) - (gnus-splash-face ((t (:foreground "Brown")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) - (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen")))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick")))) - (gnus-summary-high-unread-face ((t (:bold t)))) - (gnus-summary-low-ancient-face ((t (:foreground "RoyalBlue")))) - (gnus-summary-low-read-face ((t (:foreground "DarkGreen")))) - (gnus-summary-low-ticked-face ((t (:foreground "firebrick")))) - (gnus-summary-low-unread-face ((t (nil)))) - (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) - (gnus-summary-normal-ticked-face ((t (:foreground "firebrick")))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-selected-face ((t (:underline t)))) - (gnus-x-face ((t (:background "white" :foreground "black")))) - (green ((t (:foreground "green")))) - (gui-button-face ((t (:background "grey75" :foreground "black")))) - (gui-element ((t (:background "#D4D0C8" :foreground "black")))) - (highlight ((t (:background "darkseagreen2")))) - (html-helper-bold-face ((t (:bold t)))) - (html-helper-bold-italic-face ((t (nil)))) - (html-helper-builtin-face ((t (:underline t :foreground "blue3")))) - (html-helper-italic-face ((t (:foreground "medium sea green")))) - (html-helper-underline-face ((t (:underline t)))) - (html-tag-face ((t (:bold t)))) - (hyper-apropos-documentation ((t (:foreground "darkred")))) - (hyper-apropos-heading ((t (:bold t)))) - (hyper-apropos-hyperlink ((t (:foreground "blue4")))) - (hyper-apropos-major-heading ((t (:bold t)))) - (hyper-apropos-section-heading ((t (nil)))) - (hyper-apropos-warning ((t (:bold t :foreground "red")))) - (info-menu-6 ((t (nil)))) - (isearch ((t (:background "paleturquoise")))) - (isearch-secondary ((t (:foreground "red3")))) - (italic ((t (nil)))) - (jde-bug-breakpoint-cursor ((t (:background "brown" :foreground "cyan")))) - (jde-bug-breakpoint-marker ((t (:background "yellow" :foreground "red")))) - (jde-java-font-lock-link-face ((t (:underline t :foreground "blue")))) - (jde-java-font-lock-number-face ((t (:foreground "RosyBrown")))) - (left-margin ((t (nil)))) - (list-mode-item-selected ((t (:background "gray68" :foreground "darkslategray")))) - (magenta ((t (:foreground "magenta")))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:foreground "MidnightBlue")))) - (message-header-name-face ((t (:foreground "cornflower blue")))) - (message-header-newsgroups-face ((t (:foreground "blue4")))) - (message-header-other-face ((t (:foreground "steel blue")))) - (message-header-subject-face ((t (:bold t :foreground "navy blue")))) - (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-mml-face ((t (:foreground "ForestGreen")))) - (message-separator-face ((t (:foreground "brown")))) - (modeline ((t (nil)))) - (modeline-buffer-id ((t (:background "#D4D0C8" :foreground "blue4")))) - (modeline-mousable ((t (:background "#D4D0C8" :foreground "firebrick")))) - (modeline-mousable-minor-mode ((t (:background "#D4D0C8" :foreground "green4")))) - (paren-blink-off ((t (:foreground "snow2")))) - (paren-match ((t (:background "darkseagreen2")))) - (paren-mismatch ((t (:background "snow2" :foreground "darkslategray")))) - (pointer ((t (nil)))) - (primary-selection ((t (:background "gray65")))) - (red ((t (:foreground "red")))) - (right-margin ((t (nil)))) - (secondary-selection ((t (:background "paleturquoise")))) - (semantic-intangible-face ((t (:foreground "gray25")))) - (semantic-read-only-face ((t (:background "gray25")))) - (senator-momentary-highlight-face ((t (:background "gray70")))) - (speedbar-button-face ((t (:foreground "green4")))) - (speedbar-directory-face ((t (:foreground "blue4")))) - (speedbar-file-face ((t (:foreground "cyan4")))) - (speedbar-highlight-face ((t (:background "green")))) - (speedbar-selected-face ((t (:underline t :foreground "red")))) - (speedbar-tag-face ((t (:foreground "brown")))) - (template-message-face ((t (:bold t)))) - (term-blue-bold-face ((t (:bold t :background "snow2" :foreground "blue")))) - (term-blue-face ((t (:foreground "blue")))) - (term-blue-inv-face ((t (:background "blue")))) - (term-blue-ul-face ((t (:underline t :background "snow2" :foreground "blue")))) - (term-cyan-bold-face ((t (:bold t :background "snow2" :foreground "cyan")))) - (term-cyan-face ((t (:foreground "cyan")))) - (term-cyan-inv-face ((t (:background "cyan")))) - (term-cyan-ul-face ((t (:underline t :background "snow2" :foreground "cyan")))) - (term-default-bold-face ((t (:bold t :background "snow2" :foreground "darkslategray")))) - (term-default-face ((t (:background "snow2" :foreground "darkslategray")))) - (term-default-inv-face ((t (:background "darkslategray" :foreground "snow2")))) - (term-default-ul-face ((t (:underline t :background "snow2" :foreground "darkslategray")))) - (term-green-bold-face ((t (:bold t :background "snow2" :foreground "green")))) - (term-green-face ((t (:foreground "green")))) - (term-green-inv-face ((t (:background "green")))) - (term-green-ul-face ((t (:underline t :background "snow2" :foreground "green")))) - (term-magenta-bold-face ((t (:bold t :background "snow2" :foreground "magenta")))) - (term-magenta-face ((t (:foreground "magenta")))) - (term-magenta-inv-face ((t (:background "magenta")))) - (term-magenta-ul-face ((t (:underline t :background "snow2" :foreground "magenta")))) - (term-red-bold-face ((t (:bold t :background "snow2" :foreground "red")))) - (term-red-face ((t (:foreground "red")))) - (term-red-inv-face ((t (:background "red")))) - (term-red-ul-face ((t (:underline t :background "snow2" :foreground "red")))) - (term-white-bold-face ((t (:bold t :background "snow2" :foreground "white")))) - (term-white-face ((t (:foreground "white")))) - (term-white-inv-face ((t (:background "snow2")))) - (term-white-ul-face ((t (:underline t :background "snow2" :foreground "white")))) - (term-yellow-bold-face ((t (:bold t :background "snow2" :foreground "yellow")))) - (term-yellow-face ((t (:foreground "yellow")))) - (term-yellow-inv-face ((t (:background "yellow")))) - (term-yellow-ul-face ((t (:underline t :background "snow2" :foreground "yellow")))) - (text-cursor ((t (:background "Red3" :foreground "snow2")))) - (toolbar ((t (nil)))) - (underline ((t (:underline t)))) - (vertical-divider ((t (nil)))) - (white ((t (:foreground "white")))) - (widget ((t (nil)))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (yellow ((t (:foreground "yellow")))) - (zmacs-region ((t (:background "gray65"))))))) - -(defun color-theme-dark-laptop () - "Color theme by Laurent Michel, created 2001-05-24. -Includes custom, fl, font-lock, gnus, message, widget." - (interactive) - (color-theme-install - '(color-theme-dark-laptop - ((background-color . "black") - (background-mode . dark) - (border-color . "black") - (cursor-color . "yellow") - (foreground-color . "white") - (mouse-color . "sienna1")) - ((gnus-mouse-face . highlight) - (list-matching-lines-face . bold) - (view-highlight-face . highlight)) - (default ((t (nil)))) - (bold ((t (:bold t)))) - (bold-italic ((t (:italic t :bold t)))) - (custom-button-face ((t (nil)))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face ((t (:underline t :foreground "light blue")))) - (custom-group-tag-face-1 ((t (:underline t :foreground "pink")))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "lime green")))) - (custom-variable-button-face ((t (:underline t :bold t)))) - (custom-variable-tag-face ((t (:underline t :foreground "light blue")))) - (fl-comment-face ((t (:foreground "pink")))) - (fl-doc-string-face ((t (:foreground "purple")))) - (fl-function-name-face ((t (:foreground "red")))) - (fl-keyword-face ((t (:foreground "cyan")))) - (fl-string-face ((t (:foreground "green")))) - (fl-type-face ((t (:foreground "yellow")))) - (font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) - (font-lock-comment-face ((t (:foreground "OrangeRed")))) - (font-lock-constant-face ((t (:foreground "Aquamarine")))) - (font-lock-doc-string-face ((t (:foreground "LightSalmon")))) - (font-lock-function-name-face ((t (:foreground "LightSkyBlue")))) - (font-lock-keyword-face ((t (:foreground "Cyan")))) - (font-lock-preprocessor-face ((t (:foreground "Aquamarine")))) - (font-lock-reference-face ((t (:foreground "LightSteelBlue")))) - (font-lock-string-face ((t (:foreground "LightSalmon")))) - (font-lock-type-face ((t (:foreground "PaleGreen")))) - (font-lock-variable-name-face ((t (:foreground "LightGoldenrod")))) - (font-lock-warning-face ((t (:bold t :foreground "Pink")))) - (gnus-cite-attribution-face ((t (:italic t)))) - (gnus-cite-face-1 ((t (:bold t :foreground "deep sky blue")))) - (gnus-cite-face-10 ((t (:foreground "medium purple")))) - (gnus-cite-face-11 ((t (:foreground "turquoise")))) - (gnus-cite-face-2 ((t (:bold t :foreground "cyan")))) - (gnus-cite-face-3 ((t (:bold t :foreground "gold")))) - (gnus-cite-face-4 ((t (:foreground "light pink")))) - (gnus-cite-face-5 ((t (:foreground "pale green")))) - (gnus-cite-face-6 ((t (:bold t :foreground "chocolate")))) - (gnus-cite-face-7 ((t (:foreground "orange")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-emphasis-bold ((t (:bold t)))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) - (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) - (gnus-emphasis-italic ((t (:italic t)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) - (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t)))) - (gnus-emphasis-underline-italic ((t (:underline t :italic t)))) - (gnus-group-mail-1-empty-face ((t (:foreground "aquamarine1")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "aquamarine1")))) - (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "aquamarine2")))) - (gnus-group-mail-3-empty-face ((t (:foreground "aquamarine3")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "aquamarine3")))) - (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "aquamarine4")))) - (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) - (gnus-group-news-1-face ((t (:bold t :foreground "PaleTurquoise")))) - (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) - (gnus-group-news-2-face ((t (:bold t :foreground "turquoise")))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkTurquoise")))) - (gnus-header-content-face ((t (:italic t :foreground "forest green")))) - (gnus-header-from-face ((t (:bold t :foreground "spring green")))) - (gnus-header-name-face ((t (:foreground "deep sky blue")))) - (gnus-header-newsgroups-face ((t (:italic t :bold t :foreground "purple")))) - (gnus-header-subject-face ((t (:bold t :foreground "orange")))) - (gnus-signature-face ((t (:bold t :foreground "khaki")))) - (gnus-splash-face ((t (:foreground "Brown")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "SkyBlue")))) - (gnus-summary-high-read-face ((t (:bold t :foreground "PaleGreen")))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "pink")))) - (gnus-summary-high-unread-face ((t (:bold t)))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "SkyBlue")))) - (gnus-summary-low-read-face ((t (:italic t :foreground "PaleGreen")))) - (gnus-summary-low-ticked-face ((t (:italic t :foreground "pink")))) - (gnus-summary-low-unread-face ((t (:italic t)))) - (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) - (gnus-summary-normal-ticked-face ((t (:foreground "pink")))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-selected-face ((t (:underline t)))) - (highlight ((t (:background "darkolivegreen")))) - (italic ((t (:italic t)))) - (message-cited-text-face ((t (:bold t :foreground "red")))) - (message-header-cc-face ((t (:bold t :foreground "green4")))) - (message-header-name-face ((t (:bold t :foreground "orange")))) - (message-header-newsgroups-face ((t (:bold t :foreground "violet")))) - (message-header-other-face ((t (:bold t :foreground "chocolate")))) - (message-header-subject-face ((t (:bold t :foreground "yellow")))) - (message-header-to-face ((t (:bold t :foreground "cyan")))) - (message-header-xheader-face ((t (:bold t :foreground "light blue")))) - (message-mml-face ((t (:bold t :background "Green3")))) - (message-separator-face ((t (:foreground "blue3")))) - (modeline ((t (:background "white" :foreground "black")))) - (modeline-buffer-id ((t (:background "white" :foreground "black")))) - (modeline-mousable ((t (:background "white" :foreground "black")))) - (modeline-mousable-minor-mode ((t (:background "white" :foreground "black")))) - (region ((t (:background "blue")))) - (primary-selection ((t (:background "blue")))) - (isearch ((t (:background "blue")))) - (zmacs-region ((t (:background "blue")))) - (secondary-selection ((t (:background "darkslateblue")))) - (underline ((t (:underline t)))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "lime green")))) - (widget-field-face ((t (:background "dim gray")))) - (widget-inactive-face ((t (:foreground "light gray")))) - (widget-single-line-field-face ((t (:background "dim gray"))))))) - -(defun color-theme-taming-mr-arneson () - "Color theme by Erik Arneson, created 2001-06-12. -Light sky blue on black. Includes bbdb, cperl, custom, cvs, diff, -dired, font-lock, html-helper, hyper-apropos, info, isearch, man, -message, paren, shell, and widget." - (interactive) - (color-theme-install - '(color-theme-taming-mr-arneson - ((background-color . "black") - (background-mode . light) - (background-toolbar-color . "#cf3ccf3ccf3c") - (border-color . "#000000000000") - (bottom-toolbar-shadow-color . "#79e77df779e7") - (cursor-color . "Red3") - (foreground-color . "LightSkyBlue") - (top-toolbar-shadow-color . "#fffffbeeffff")) - ((buffers-tab-face . buffers-tab) - (cperl-here-face . font-lock-string-face) - (cperl-invalid-face quote default) - (cperl-pod-face . font-lock-comment-face) - (cperl-pod-head-face . font-lock-variable-name-face) - (ispell-highlight-face . highlight) - (vc-mode-face . highlight) - (vm-highlight-url-face . bold-italic) - (vm-highlighted-header-face . bold) - (vm-mime-button-face . gui-button-face) - (vm-summary-highlight-face . bold)) - (default ((t (nil)))) - (bbdb-company ((t (nil)))) - (bbdb-field-name ((t (:bold t)))) - (bbdb-field-value ((t (nil)))) - (bbdb-name ((t (:underline t)))) - (blue ((t (:foreground "blue")))) - (bold ((t (:bold t)))) - (bold-italic ((t (:bold t :foreground "yellow")))) - (border-glyph ((t (nil)))) - (buffers-tab ((t (:background "black" :foreground "LightSkyBlue")))) - (cperl-array-face ((t (:bold t :foreground "SkyBlue2")))) - (cperl-hash-face ((t (:foreground "LightBlue2")))) - (cperl-invalid-face ((t (:foreground "white")))) - (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) - (custom-button-face ((t (:bold t)))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-comment-face ((t (:foreground "white")))) - (custom-comment-tag-face ((t (:foreground "white")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face ((t (:underline t :foreground "blue")))) - (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "white")))) - (custom-variable-button-face ((t (:underline t :bold t)))) - (custom-variable-tag-face ((t (:underline t :foreground "blue")))) - (cvs-filename-face ((t (:foreground "white")))) - (cvs-handled-face ((t (:foreground "pink")))) - (cvs-header-face ((t (:foreground "green")))) - (cvs-marked-face ((t (:bold t :foreground "green3")))) - (cvs-msg-face ((t (:foreground "red")))) - (cvs-need-action-face ((t (:foreground "yellow")))) - (cvs-unknown-face ((t (:foreground "grey")))) - (diff-added-face ((t (nil)))) - (diff-changed-face ((t (nil)))) - (diff-file-header-face ((t (:bold t :background "grey70")))) - (diff-hunk-header-face ((t (:background "grey85")))) - (diff-index-face ((t (:bold t :background "grey70")))) - (diff-removed-face ((t (nil)))) - (dired-face-boring ((t (:foreground "Gray65")))) - (dired-face-directory ((t (:bold t :foreground "SkyBlue2")))) - (dired-face-executable ((t (:foreground "Green")))) - (dired-face-flagged ((t (:background "LightSlateGray")))) - (dired-face-header ((t (:background "grey75" :foreground "black")))) - (dired-face-marked ((t (:background "PaleVioletRed")))) - (dired-face-permissions ((t (:background "grey75" :foreground "black")))) - (dired-face-setuid ((t (:foreground "Red")))) - (dired-face-socket ((t (:foreground "magenta")))) - (dired-face-symlink ((t (:foreground "cyan")))) - (excerpt ((t (nil)))) - (fixed ((t (:bold t)))) - (font-lock-builtin-face ((t (:foreground "red3")))) - (font-lock-comment-face ((t (:foreground "red")))) - (font-lock-constant-face ((t (nil)))) - (font-lock-doc-string-face ((t (:foreground "turquoise")))) - (font-lock-function-name-face ((t (:foreground "white")))) - (font-lock-keyword-face ((t (:foreground "green")))) - (font-lock-preprocessor-face ((t (:foreground "green3")))) - (font-lock-reference-face ((t (:foreground "red3")))) - (font-lock-string-face ((t (:foreground "turquoise")))) - (font-lock-type-face ((t (:foreground "steelblue")))) - (font-lock-variable-name-face ((t (:foreground "magenta2")))) - (font-lock-warning-face ((t (:bold t :foreground "Red")))) - (green ((t (:foreground "green")))) - (gui-button-face ((t (:background "grey75" :foreground "black")))) - (gui-element ((t (nil)))) - (highlight ((t (:background "darkseagreen2" :foreground "blue")))) - (html-helper-bold-face ((t (:bold t)))) - (html-helper-italic-face ((t (:bold t :foreground "yellow")))) - (html-helper-underline-face ((t (:underline t)))) - (hyper-apropos-documentation ((t (:foreground "white")))) - (hyper-apropos-heading ((t (:bold t)))) - (hyper-apropos-hyperlink ((t (:foreground "sky blue")))) - (hyper-apropos-major-heading ((t (:bold t)))) - (hyper-apropos-section-heading ((t (:bold t)))) - (hyper-apropos-warning ((t (:bold t :foreground "red")))) - (info-node ((t (:bold t :foreground "yellow")))) - (info-xref ((t (:bold t)))) - (isearch ((t (:background "paleturquoise" :foreground "dark red")))) - (isearch-secondary ((t (:foreground "red3")))) - (italic ((t (:bold t :foreground "yellow")))) - (left-margin ((t (nil)))) - (list-mode-item-selected ((t (:background "gray68" :foreground "dark green")))) - (man-bold ((t (:bold t)))) - (man-heading ((t (:bold t)))) - (man-italic ((t (:foreground "yellow")))) - (man-xref ((t (:underline t)))) - (message-cited-text ((t (:foreground "orange")))) - (message-header-contents ((t (:foreground "white")))) - (message-headers ((t (:bold t :foreground "orange")))) - (message-highlighted-header-contents ((t (:bold t)))) - (message-url ((t (:bold t :foreground "pink")))) - (mmm-face ((t (:background "black" :foreground "green")))) - (modeline ((t (nil)))) - (modeline-buffer-id ((t (:background "Gray80" :foreground "blue4")))) - (modeline-mousable ((t (:background "Gray80" :foreground "firebrick")))) - (modeline-mousable-minor-mode ((t (:background "Gray80" :foreground "green4")))) - (paren-blink-off ((t (:foreground "gray80")))) - (paren-match ((t (:background "dark blue")))) - (paren-mismatch ((t (:background "DeepPink" :foreground "LightSkyBlue")))) - (pointer ((t (nil)))) - (primary-selection ((t (:background "gray65" :foreground "DarkBlue")))) - (red ((t (:foreground "red")))) - (region ((t (:background "gray65" :foreground "DarkBlue")))) - (right-margin ((t (nil)))) - (secondary-selection ((t (:background "paleturquoise" :foreground "black")))) - (shell-option-face ((t (:foreground "blue4")))) - (shell-output-2-face ((t (:foreground "green4")))) - (shell-output-3-face ((t (:foreground "green4")))) - (shell-output-face ((t (:bold t)))) - (shell-prompt-face ((t (:foreground "red4")))) - (text-cursor ((t (:background "Red3" :foreground "black")))) - (toolbar ((t (:background "Gray80" :foreground "black")))) - (underline ((t (:underline t)))) - (vertical-divider ((t (nil)))) - (vm-xface ((t (:background "white" :foreground "black")))) - (vmpc-pre-sig-face ((t (:foreground "forestgreen")))) - (vmpc-sig-face ((t (:foreground "steelblue")))) - (widget ((t (nil)))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85" :foreground "black")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (x-face ((t (:background "white" :foreground "black")))) - (xrdb-option-name-face ((t (:foreground "red")))) - (yellow ((t (:foreground "yellow")))) - (zmacs-region ((t (:background "gray65"))))))) - -(defun color-theme-digital-ofs1 () - "Color theme by Gareth Owen, created 2001-06-13. -This works well on an old, beat-up Digital Unix box with its 256 colour -display, on which other color themes hog too much of the palette. -Black on some shade of dark peach. Includes bbdb, cperl, custom, -cvs, diff, dired, ediff, erc, eshell, font-latex, font-lock, gnus, -highlight, hproperty, html-helper, hyper-apropos, info, jde, man, -message, paren, searchm, semantic, sgml, shell, speedbar, term, -vhdl, viper, w3m, widget, woman, x-symbol, xref." - (interactive) - (color-theme-install - '(color-theme-digital-ofs1 - ((background-color . "#CA94AA469193") - (background-mode . light) - (background-toolbar-color . "#cf3ccf3ccf3c") - (border-color . "black") - (bottom-toolbar-shadow-color . "#79e77df779e7") - (cursor-color . "Black") - (foreground-color . "Black") - (mouse-color . "Black") - (top-toolbar-shadow-color . "#fffffbeeffff") - (viper-saved-cursor-color-in-replace-mode . "Red3")) - ((Man-overstrike-face . bold) - (Man-underline-face . underline) - (gnus-mouse-face . highlight) - (goto-address-mail-face . italic) - (goto-address-mail-mouse-face . secondary-selection) - (goto-address-url-face . bold) - (goto-address-url-mouse-face . highlight) - (ispell-highlight-face . highlight) - (list-matching-lines-face . bold) - (rmail-highlight-face . font-lock-function-name-face) - (view-highlight-face . highlight)) - (default ((t (:bold t)))) - (bbdb-company ((t (:italic t)))) - (bbdb-field-name ((t (:bold t)))) - (bbdb-field-value ((t (nil)))) - (bbdb-name ((t (:underline t)))) - (blank-space-face ((t (nil)))) - (blank-tab-face ((t (nil)))) - (blue ((t (:bold t :foreground "blue")))) - (bold ((t (:bold t)))) - (bold-italic ((t (:italic t :bold t)))) - (border-glyph ((t (:bold t)))) - (buffers-tab ((t (:background "black" :foreground "LightSkyBlue")))) - (calendar-today-face ((t (:underline t :bold t :foreground "white")))) - (comint-input-face ((t (nil)))) - (cperl-array-face ((t (:bold t :background "lightyellow2" :foreground "Blue")))) - (cperl-hash-face ((t (:italic t :bold t :background "lightyellow2" :foreground "Red")))) - (cperl-here-face ((t (nil)))) - (cperl-invalid-face ((t (:foreground "white")))) - (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) - (cperl-pod-face ((t (nil)))) - (cperl-pod-head-face ((t (nil)))) - (custom-button-face ((t (:bold t)))) - (custom-changed-face ((t (:bold t :background "blue" :foreground "white")))) - (custom-comment-face ((t (:foreground "white")))) - (custom-comment-tag-face ((t (:foreground "white")))) - (custom-documentation-face ((t (:bold t)))) - (custom-face-tag-face ((t (:underline t :bold t)))) - (custom-group-tag-face ((t (:underline t :bold t :foreground "DarkBlue")))) - (custom-group-tag-face-1 ((t (:underline t :bold t :foreground "red")))) - (custom-invalid-face ((t (:bold t :background "red" :foreground "yellow")))) - (custom-modified-face ((t (:bold t :background "blue" :foreground "white")))) - (custom-rogue-face ((t (:bold t :background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t :bold t)))) - (custom-set-face ((t (:bold t :background "white" :foreground "blue")))) - (custom-state-face ((t (:bold t :foreground "dark green")))) - (custom-variable-button-face ((t (:underline t :bold t)))) - (custom-variable-tag-face ((t (:underline t :bold t :foreground "blue")))) - (cvs-filename-face ((t (:foreground "white")))) - (cvs-handled-face ((t (:foreground "pink")))) - (cvs-header-face ((t (:bold t :foreground "green")))) - (cvs-marked-face ((t (:bold t :foreground "green3")))) - (cvs-msg-face ((t (:italic t :foreground "red")))) - (cvs-need-action-face ((t (:foreground "yellow")))) - (cvs-unknown-face ((t (:foreground "grey")))) - (cyan ((t (:foreground "cyan")))) - (diary-face ((t (:bold t :foreground "red")))) - (diff-added-face ((t (nil)))) - (diff-changed-face ((t (nil)))) - (diff-file-header-face ((t (:bold t :background "grey70")))) - (diff-hunk-header-face ((t (:background "grey85")))) - (diff-index-face ((t (:bold t :background "grey70")))) - (diff-removed-face ((t (nil)))) - (dired-face-boring ((t (:foreground "Gray65")))) - (dired-face-directory ((t (:bold t)))) - (dired-face-executable ((t (:foreground "SeaGreen")))) - (dired-face-flagged ((t (:background "LightSlateGray")))) - (dired-face-header ((t (:background "grey75" :foreground "black")))) - (dired-face-marked ((t (:background "PaleVioletRed")))) - (dired-face-permissions ((t (:background "grey75" :foreground "black")))) - (dired-face-setuid ((t (:foreground "Red")))) - (dired-face-socket ((t (:foreground "magenta")))) - (dired-face-symlink ((t (:foreground "cyan")))) - (display-time-mail-balloon-enhance-face ((t (:bold t :background "orange")))) - (display-time-mail-balloon-gnus-group-face ((t (:bold t :foreground "blue")))) - (display-time-time-balloon-face ((t (:bold t :foreground "red")))) - (ediff-current-diff-face-A ((t (:background "pale green" :foreground "firebrick")))) - (ediff-current-diff-face-Ancestor ((t (:background "VioletRed" :foreground "Black")))) - (ediff-current-diff-face-B ((t (:background "Yellow" :foreground "DarkOrchid")))) - (ediff-current-diff-face-C ((t (:background "Pink" :foreground "Navy")))) - (ediff-even-diff-face-A ((t (:background "light grey" :foreground "Black")))) - (ediff-even-diff-face-Ancestor ((t (:background "Grey" :foreground "White")))) - (ediff-even-diff-face-B ((t (:background "Grey" :foreground "White")))) - (ediff-even-diff-face-C ((t (:background "light grey" :foreground "Black")))) - (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy")))) - (ediff-fine-diff-face-Ancestor ((t (:background "Green" :foreground "Black")))) - (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Black")))) - (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Black")))) - (ediff-odd-diff-face-A ((t (:background "Grey" :foreground "White")))) - (ediff-odd-diff-face-Ancestor ((t (:background "light grey" :foreground "Black")))) - (ediff-odd-diff-face-B ((t (:background "light grey" :foreground "Black")))) - (ediff-odd-diff-face-C ((t (:background "Grey" :foreground "White")))) - (erc-action-face ((t (:bold t)))) - (erc-bold-face ((t (:bold t)))) - (erc-default-face ((t (nil)))) - (erc-direct-msg-face ((t (nil)))) - (erc-error-face ((t (:bold t)))) - (erc-input-face ((t (nil)))) - (erc-inverse-face ((t (nil)))) - (erc-notice-face ((t (nil)))) - (erc-pal-face ((t (nil)))) - (erc-prompt-face ((t (nil)))) - (erc-underline-face ((t (nil)))) - (eshell-ls-archive-face ((t (:bold t :foreground "Orchid")))) - (eshell-ls-backup-face ((t (:foreground "OrangeRed")))) - (eshell-ls-clutter-face ((t (:bold t :foreground "OrangeRed")))) - (eshell-ls-directory-face ((t (:bold t :foreground "Blue")))) - (eshell-ls-executable-face ((t (:bold t :foreground "ForestGreen")))) - (eshell-ls-missing-face ((t (:bold t :foreground "Red")))) - (eshell-ls-picture-face ((t (:foreground "Violet")))) - (eshell-ls-product-face ((t (:foreground "OrangeRed")))) - (eshell-ls-readonly-face ((t (:foreground "Brown")))) - (eshell-ls-special-face ((t (:bold t :foreground "Magenta")))) - (eshell-ls-symlink-face ((t (:bold t :foreground "DarkCyan")))) - (eshell-ls-text-face ((t (:foreground "medium aquamarine")))) - (eshell-ls-todo-face ((t (:bold t :foreground "aquamarine")))) - (eshell-ls-unreadable-face ((t (:foreground "Grey30")))) - (eshell-prompt-face ((t (:bold t :foreground "Red")))) - (eshell-test-failed-face ((t (:bold t :foreground "OrangeRed")))) - (eshell-test-ok-face ((t (:bold t :foreground "Green")))) - (excerpt ((t (:italic t)))) - (ff-paths-non-existant-file-face ((t (:bold t :foreground "NavyBlue")))) - (fg:black ((t (:foreground "black")))) - (fixed ((t (:bold t)))) - (fl-comment-face ((t (:foreground "medium purple")))) - (fl-doc-string-face ((t (nil)))) - (fl-function-name-face ((t (:foreground "green")))) - (fl-keyword-face ((t (:foreground "LightGreen")))) - (fl-string-face ((t (:foreground "light coral")))) - (fl-type-face ((t (:foreground "cyan")))) - (flyspell-duplicate-face ((t (:underline t :bold t :foreground "Gold3")))) - (flyspell-incorrect-face ((t (:underline t :bold t :foreground "OrangeRed")))) - (font-latex-bold-face ((t (:bold t)))) - (font-latex-italic-face ((t (:italic t)))) - (font-latex-math-face ((t (nil)))) - (font-latex-sedate-face ((t (nil)))) - (font-latex-string-face ((t (nil)))) - (font-latex-warning-face ((t (nil)))) - (font-lock-builtin-face ((t (:italic t :bold t :foreground "Orchid")))) - (font-lock-comment-face ((t (:bold t :foreground "Firebrick")))) - (font-lock-constant-face ((t (:italic t :bold t :foreground "CadetBlue")))) - (font-lock-doc-string-face ((t (:italic t :bold t :foreground "green4")))) - (font-lock-emphasized-face ((t (:bold t)))) - (font-lock-exit-face ((t (:foreground "green")))) - (font-lock-function-name-face ((t (:italic t :bold t :foreground "Blue")))) - (font-lock-keyword-face ((t (:bold t :foreground "dark olive green")))) - (font-lock-other-emphasized-face ((t (:italic t :bold t)))) - (font-lock-other-type-face ((t (:bold t :foreground "DarkBlue")))) - (font-lock-preprocessor-face ((t (:italic t :bold t :foreground "blue3")))) - (font-lock-reference-face ((t (:italic t :bold t :foreground "red3")))) - (font-lock-special-comment-face ((t (nil)))) - (font-lock-special-keyword-face ((t (nil)))) - (font-lock-string-face ((t (:italic t :bold t :foreground "DarkBlue")))) - (font-lock-type-face ((t (:italic t :bold t :foreground "DarkGreen")))) - (font-lock-variable-name-face ((t (:italic t :bold t :foreground "darkgreen")))) - (font-lock-warning-face ((t (:bold t :foreground "Red")))) - (fringe ((t (:background "grey95")))) - (gdb-arrow-face ((t (:bold t)))) - (gnus-cite-attribution-face ((t (:italic t :bold t)))) - (gnus-cite-face-1 ((t (:bold t :foreground "MidnightBlue")))) - (gnus-cite-face-10 ((t (:foreground "medium purple")))) - (gnus-cite-face-11 ((t (:foreground "turquoise")))) - (gnus-cite-face-2 ((t (:bold t :foreground "firebrick")))) - (gnus-cite-face-3 ((t (:bold t :foreground "dark green")))) - (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) - (gnus-cite-face-5 ((t (:foreground "dark khaki")))) - (gnus-cite-face-6 ((t (:bold t :foreground "dark violet")))) - (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-cite-face-list ((t (nil)))) - (gnus-emphasis-bold ((t (:bold t)))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) - (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) - (gnus-emphasis-italic ((t (:italic t)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) - (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t)))) - (gnus-emphasis-underline-italic ((t (:underline t :italic t)))) - (gnus-filterhist-face-1 ((t (nil)))) - (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3")))) - (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3")))) - (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4")))) - (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4")))) - (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) - (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen")))) - (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) - (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4")))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen")))) - (gnus-header-content-face ((t (:italic t :foreground "indianred4")))) - (gnus-header-from-face ((t (:bold t :foreground "red3")))) - (gnus-header-name-face ((t (:bold t :foreground "maroon")))) - (gnus-header-newsgroups-face ((t (:italic t :bold t :foreground "MidnightBlue")))) - (gnus-header-subject-face ((t (:bold t :foreground "red4")))) - (gnus-picons-face ((t (:background "white" :foreground "black")))) - (gnus-picons-xbm-face ((t (:background "white" :foreground "black")))) - (gnus-signature-face ((t (:italic t :bold t)))) - (gnus-splash ((t (nil)))) - (gnus-splash-face ((t (:foreground "Brown")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) - (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen")))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick")))) - (gnus-summary-high-unread-face ((t (:italic t :bold t)))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue")))) - (gnus-summary-low-read-face ((t (:italic t :foreground "DarkGreen")))) - (gnus-summary-low-ticked-face ((t (:italic t :bold t :foreground "firebrick")))) - (gnus-summary-low-unread-face ((t (:italic t)))) - (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) - (gnus-summary-normal-ticked-face ((t (:bold t :foreground "firebrick")))) - (gnus-summary-normal-unread-face ((t (:bold t)))) - (gnus-summary-selected-face ((t (:underline t)))) - (gnus-x-face ((t (:background "white" :foreground "black")))) - (green ((t (:bold t :foreground "green")))) - (gui-button-face ((t (:bold t :background "grey75" :foreground "black")))) - (gui-element ((t (:bold t :background "Gray80")))) - (highlight ((t (:bold t :background "darkseagreen2")))) - (highlight-changes-delete-face ((t (:underline t :foreground "red")))) - (highlight-changes-face ((t (:foreground "red")))) - (highline-face ((t (:background "black" :foreground "white")))) - (holiday-face ((t (:bold t :background "pink" :foreground "white")))) - (hproperty:but-face ((t (:bold t)))) - (hproperty:flash-face ((t (:bold t)))) - (hproperty:highlight-face ((t (:bold t)))) - (hproperty:item-face ((t (:bold t)))) - (html-helper-bold-face ((t (:bold t)))) - (html-helper-bold-italic-face ((t (nil)))) - (html-helper-builtin-face ((t (:underline t :foreground "blue3")))) - (html-helper-italic-face ((t (:italic t :bold t :foreground "yellow")))) - (html-helper-underline-face ((t (:underline t)))) - (html-tag-face ((t (:bold t)))) - (hyper-apropos-documentation ((t (:foreground "white")))) - (hyper-apropos-heading ((t (:bold t)))) - (hyper-apropos-hyperlink ((t (:foreground "sky blue")))) - (hyper-apropos-major-heading ((t (:bold t)))) - (hyper-apropos-section-heading ((t (:bold t)))) - (hyper-apropos-warning ((t (:bold t :foreground "red")))) - (ibuffer-marked-face ((t (:foreground "red")))) - (info-menu-5 ((t (:underline t :bold t)))) - (info-menu-6 ((t (nil)))) - (info-node ((t (:italic t :bold t)))) - (info-xref ((t (:bold t)))) - (isearch ((t (:bold t :background "paleturquoise")))) - (isearch-secondary ((t (:foreground "red3")))) - (ispell-face ((t (:bold t)))) - (italic ((t (:italic t :bold t)))) - (jde-bug-breakpoint-cursor ((t (:background "brown" :foreground "cyan")))) - (jde-bug-breakpoint-marker ((t (:background "yellow" :foreground "red")))) - (jde-java-font-lock-link-face ((t (:underline t :foreground "blue")))) - (jde-java-font-lock-number-face ((t (:foreground "RosyBrown")))) - (lazy-highlight-face ((t (:bold t :foreground "dark magenta")))) - (left-margin ((t (:bold t)))) - (linemenu-face ((t (nil)))) - (list-mode-item-selected ((t (:bold t :background "gray68")))) - (magenta ((t (:foreground "magenta")))) - (makefile-space-face ((t (:background "hotpink")))) - (man-bold ((t (:bold t)))) - (man-heading ((t (:bold t)))) - (man-italic ((t (:foreground "yellow")))) - (man-xref ((t (:underline t)))) - (message-cited-text ((t (:bold t :foreground "orange")))) - (message-cited-text-face ((t (:bold t :foreground "red")))) - (message-header-cc-face ((t (:bold t :foreground "MidnightBlue")))) - (message-header-contents ((t (:italic t :bold t :foreground "white")))) - (message-header-name-face ((t (:bold t :foreground "cornflower blue")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4")))) - (message-header-other-face ((t (:bold t :foreground "steel blue")))) - (message-header-subject-face ((t (:bold t :foreground "navy blue")))) - (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) - (message-header-xheader-face ((t (:bold t :foreground "blue")))) - (message-headers ((t (:bold t :foreground "orange")))) - (message-highlighted-header-contents ((t (:bold t)))) - (message-mml-face ((t (:bold t :foreground "ForestGreen")))) - (message-separator-face ((t (:foreground "brown")))) - (message-url ((t (:bold t :foreground "pink")))) - (mmm-face ((t (:background "black" :foreground "green")))) - (modeline ((t (:bold t :background "Black" :foreground "#CA94AA469193")))) - (modeline-buffer-id ((t (:bold t :background "Gray80" :foreground "blue4")))) - (modeline-mousable ((t (:bold t :background "Gray80" :foreground "firebrick")))) - (modeline-mousable-minor-mode ((t (:bold t :background "Gray80" :foreground "green4")))) - (my-tab-face ((t (nil)))) - (nil ((t (nil)))) - (p4-diff-del-face ((t (:bold t)))) - (paren-blink-off ((t (:foreground "gray80")))) - (paren-face ((t (nil)))) - (paren-face-match ((t (nil)))) - (paren-face-mismatch ((t (nil)))) - (paren-face-no-match ((t (nil)))) - (paren-match ((t (:background "darkseagreen2")))) - (paren-mismatch ((t (:background "DeepPink" :foreground "black")))) - (paren-mismatch-face ((t (:bold t :background "DeepPink" :foreground "white")))) - (paren-no-match-face ((t (:bold t :background "yellow" :foreground "white")))) - (pointer ((t (:bold t)))) - (primary-selection ((t (:bold t :background "gray65")))) - (red ((t (:bold t :foreground "red")))) - (region ((t (:bold t :background "gray")))) - (right-margin ((t (:bold t)))) - (searchm-buffer ((t (:bold t)))) - (searchm-button ((t (:bold t)))) - (searchm-field ((t (nil)))) - (searchm-field-label ((t (:bold t)))) - (searchm-highlight ((t (:bold t)))) - (secondary-selection ((t (:bold t :background "paleturquoise")))) - (semantic-intangible-face ((t (:foreground "gray25")))) - (semantic-read-only-face ((t (:background "gray25")))) - (senator-momentary-highlight-face ((t (:background "gray70")))) - (setnu-line-number-face ((t (:italic t :bold t)))) - (sgml-comment-face ((t (:foreground "dark green")))) - (sgml-doctype-face ((t (:foreground "maroon")))) - (sgml-end-tag-face ((t (:foreground "blue2")))) - (sgml-entity-face ((t (:foreground "red2")))) - (sgml-ignored-face ((t (:background "gray90" :foreground "maroon")))) - (sgml-ms-end-face ((t (:foreground "maroon")))) - (sgml-ms-start-face ((t (:foreground "maroon")))) - (sgml-pi-face ((t (:foreground "maroon")))) - (sgml-sgml-face ((t (:foreground "maroon")))) - (sgml-short-ref-face ((t (:foreground "goldenrod")))) - (sgml-start-tag-face ((t (:foreground "blue2")))) - (shell-input-face ((t (:bold t)))) - (shell-option-face ((t (:bold t :foreground "blue4")))) - (shell-output-2-face ((t (:bold t :foreground "green4")))) - (shell-output-3-face ((t (:bold t :foreground "green4")))) - (shell-output-face ((t (:bold t)))) - (shell-prompt-face ((t (:bold t :foreground "red4")))) - (show-paren-match-face ((t (:bold t :background "turquoise")))) - (show-paren-mismatch-face ((t (:bold t :background "purple" :foreground "white")))) - (speedbar-button-face ((t (:bold t :foreground "magenta")))) - (speedbar-directory-face ((t (:bold t :foreground "orchid")))) - (speedbar-file-face ((t (:bold t :foreground "pink")))) - (speedbar-highlight-face ((t (:background "black")))) - (speedbar-selected-face ((t (:underline t :foreground "cyan")))) - (speedbar-tag-face ((t (:foreground "yellow")))) - (swbuff-current-buffer-face ((t (:bold t :foreground "red")))) - (template-message-face ((t (:bold t)))) - (term-black ((t (:foreground "black")))) - (term-blackbg ((t (:background "black")))) - (term-blue ((t (:foreground "blue")))) - (term-blue-bold-face ((t (:bold t :background "snow2" :foreground "blue")))) - (term-blue-face ((t (:foreground "blue")))) - (term-blue-inv-face ((t (:background "blue")))) - (term-blue-ul-face ((t (:underline t :background "snow2" :foreground "blue")))) - (term-bluebg ((t (:background "blue")))) - (term-bold ((t (:bold t)))) - (term-cyan ((t (:foreground "cyan")))) - (term-cyan-bold-face ((t (:bold t :background "snow2" :foreground "cyan")))) - (term-cyan-face ((t (:foreground "cyan")))) - (term-cyan-inv-face ((t (:background "cyan")))) - (term-cyan-ul-face ((t (:underline t :background "snow2" :foreground "cyan")))) - (term-cyanbg ((t (:background "cyan")))) - (term-default-bg ((t (nil)))) - (term-default-bg-inv ((t (nil)))) - (term-default-bold-face ((t (:bold t :background "snow2" :foreground "darkslategray")))) - (term-default-face ((t (:background "snow2" :foreground "darkslategray")))) - (term-default-fg ((t (nil)))) - (term-default-fg-inv ((t (nil)))) - (term-default-inv-face ((t (:background "darkslategray" :foreground "snow2")))) - (term-default-ul-face ((t (:underline t :background "snow2" :foreground "darkslategray")))) - (term-green ((t (:foreground "green")))) - (term-green-bold-face ((t (:bold t :background "snow2" :foreground "green")))) - (term-green-face ((t (:foreground "green")))) - (term-green-inv-face ((t (:background "green")))) - (term-green-ul-face ((t (:underline t :background "snow2" :foreground "green")))) - (term-greenbg ((t (:background "green")))) - (term-invisible ((t (nil)))) - (term-invisible-inv ((t (nil)))) - (term-magenta ((t (:foreground "magenta")))) - (term-magenta-bold-face ((t (:bold t :background "snow2" :foreground "magenta")))) - (term-magenta-face ((t (:foreground "magenta")))) - (term-magenta-inv-face ((t (:background "magenta")))) - (term-magenta-ul-face ((t (:underline t :background "snow2" :foreground "magenta")))) - (term-magentabg ((t (:background "magenta")))) - (term-red ((t (:foreground "red")))) - (term-red-bold-face ((t (:bold t :background "snow2" :foreground "red")))) - (term-red-face ((t (:foreground "red")))) - (term-red-inv-face ((t (:background "red")))) - (term-red-ul-face ((t (:underline t :background "snow2" :foreground "red")))) - (term-redbg ((t (:background "red")))) - (term-underline ((t (:underline t)))) - (term-white ((t (:foreground "white")))) - (term-white-bold-face ((t (:bold t :background "snow2" :foreground "white")))) - (term-white-face ((t (:foreground "white")))) - (term-white-inv-face ((t (:background "snow2")))) - (term-white-ul-face ((t (:underline t :background "snow2" :foreground "white")))) - (term-whitebg ((t (:background "white")))) - (term-yellow ((t (:foreground "yellow")))) - (term-yellow-bold-face ((t (:bold t :background "snow2" :foreground "yellow")))) - (term-yellow-face ((t (:foreground "yellow")))) - (term-yellow-inv-face ((t (:background "yellow")))) - (term-yellow-ul-face ((t (:underline t :background "snow2" :foreground "yellow")))) - (term-yellowbg ((t (:background "yellow")))) - (text-cursor ((t (:bold t :background "Red3" :foreground "gray80")))) - (toolbar ((t (:bold t :background "Gray80")))) - (underline ((t (:underline t :bold t)))) - (vc-annotate-face-0046FF ((t (nil)))) - (vcursor ((t (:underline t :background "cyan" :foreground "blue")))) - (vertical-divider ((t (:bold t :background "Gray80")))) - (vhdl-font-lock-attribute-face ((t (:foreground "Orchid")))) - (vhdl-font-lock-directive-face ((t (:foreground "CadetBlue")))) - (vhdl-font-lock-enumvalue-face ((t (:foreground "Gold4")))) - (vhdl-font-lock-function-face ((t (:foreground "Orchid4")))) - (vhdl-font-lock-generic-/constant-face ((t (nil)))) - (vhdl-font-lock-prompt-face ((t (:bold t :foreground "Red")))) - (vhdl-font-lock-reserved-words-face ((t (:bold t :foreground "Orange")))) - (vhdl-font-lock-translate-off-face ((t (:background "LightGray")))) - (vhdl-font-lock-type-face ((t (nil)))) - (vhdl-font-lock-variable-face ((t (nil)))) - (vhdl-speedbar-architecture-face ((t (:foreground "Blue")))) - (vhdl-speedbar-architecture-selected-face ((t (:underline t :foreground "Blue")))) - (vhdl-speedbar-configuration-face ((t (:foreground "DarkGoldenrod")))) - (vhdl-speedbar-configuration-selected-face ((t (:underline t :foreground "DarkGoldenrod")))) - (vhdl-speedbar-entity-face ((t (:foreground "ForestGreen")))) - (vhdl-speedbar-entity-selected-face ((t (:underline t :foreground "ForestGreen")))) - (vhdl-speedbar-instantiation-face ((t (:foreground "Brown")))) - (vhdl-speedbar-instantiation-selected-face ((t (:underline t :foreground "Brown")))) - (vhdl-speedbar-package-face ((t (:foreground "Grey50")))) - (vhdl-speedbar-package-selected-face ((t (:underline t :foreground "Grey50")))) - (vhdl-speedbar-subprogram-face ((t (nil)))) - (viper-minibuffer-emacs-face ((t (:background "darkseagreen2" :foreground "Black")))) - (viper-minibuffer-insert-face ((t (:background "pink" :foreground "Black")))) - (viper-minibuffer-vi-face ((t (:background "grey" :foreground "DarkGreen")))) - (viper-replace-overlay-face ((t (:background "darkseagreen2" :foreground "Black")))) - (viper-search-face ((t (:background "khaki" :foreground "Black")))) - (vm-xface ((t (:background "white" :foreground "black")))) - (vmpc-pre-sig-face ((t (:foreground "forestgreen")))) - (vmpc-sig-face ((t (:foreground "steelblue")))) - (vvb-face ((t (nil)))) - (w3m-anchor-face ((t (:bold t :foreground "DodgerBlue1")))) - (w3m-arrived-anchor-face ((t (:bold t :foreground "DodgerBlue3")))) - (w3m-header-line-location-content-face ((t (:background "dark olive green" :foreground "wheat")))) - (w3m-header-line-location-title-face ((t (:background "dark olive green" :foreground "beige")))) - (white ((t (:foreground "white")))) - (widget ((t (nil)))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:bold t :foreground "red")))) - (widget-documentation-face ((t (:bold t :foreground "dark green")))) - (widget-field-face ((t (:bold t :background "gray85")))) - (widget-inactive-face ((t (:bold t :foreground "dim gray")))) - (widget-single-line-field-face ((t (:background "gray85")))) - (woman-bold-face ((t (:bold t)))) - (woman-italic-face ((t (:foreground "beige")))) - (woman-unknown-face ((t (:foreground "LightSalmon")))) - (x-face ((t (:bold t :background "white" :foreground "black")))) - (x-symbol-adobe-fontspecific-face ((t (nil)))) - (x-symbol-face ((t (nil)))) - (x-symbol-heading-face ((t (:bold t)))) - (x-symbol-info-face ((t (nil)))) - (x-symbol-invisible-face ((t (nil)))) - (x-symbol-revealed-face ((t (nil)))) - (xrdb-option-name-face ((t (:foreground "red")))) - (xref-keyword-face ((t (:foreground "blue")))) - (xref-list-default-face ((t (nil)))) - (xref-list-pilot-face ((t (:foreground "navy")))) - (xref-list-symbol-face ((t (:foreground "navy")))) - (yellow ((t (:bold t :foreground "yellow")))) - (zmacs-region ((t (:bold t :background "gray65"))))))) - -(defun color-theme-mistyday () - "Color theme by K.C. Hari Kumar, created 2001-06-13. -Black on mistyrose. Includes CUA, calendar, diary, font-latex and -font-lock. Uses backgrounds on some font-lock faces." - (interactive) - (color-theme-install - '(color-theme-mistyday - ((background-color . "mistyrose") - (background-mode . light) - (border-color . "black") - (cursor-color . "deep pink") - (foreground-color . "Black") - (mouse-color . "black")) - ((goto-address-mail-face . italic) - (goto-address-mail-mouse-face . secondary-selection) - (goto-address-url-face . bold) - (goto-address-url-mouse-face . highlight) - (list-matching-lines-face . bold) - (paren-match-face . paren-face-match) - (paren-mismatch-face . paren-face-mismatch) - (paren-no-match-face . paren-face-no-match)) - (default ((t (nil)))) - (CUA-global-mark-face ((t (:background "cyan" :foreground "black")))) - (CUA-rectangle-face ((t (:background "maroon" :foreground "white")))) - (CUA-rectangle-noselect-face ((t (:background "dimgray" :foreground "white")))) - (bold ((t (:bold t)))) - (bold-italic ((t (:italic t :bold t)))) - (calendar-today-face ((t (:underline t :background "Spring Green" :foreground "Brown")))) - (custom-button-face ((t (:background "dark slate grey" :foreground "azure")))) - (custom-documentation-face ((t (:background "white" :foreground "blue")))) - (diary-face ((t (:background "navy" :foreground "yellow")))) - (font-latex-bold-face ((t (:bold t :foreground "DarkOliveGreen")))) - (font-latex-italic-face ((t (:italic t :foreground "DarkOliveGreen")))) - (font-latex-math-face ((t (:foreground "navy")))) - (font-latex-sedate-face ((t (:foreground "DimGray")))) - (font-latex-string-face ((t (nil)))) - (font-latex-warning-face ((t (nil)))) - (font-lock-builtin-face ((t (:background "DarkTurquoise" :foreground "Navy")))) - (font-lock-comment-face ((t (:italic t :foreground "royal blue")))) - (font-lock-constant-face ((t (:background "pale green" :foreground "dark slate blue")))) - (font-lock-doc-string-face ((t (:background "medium aquamarine" :foreground "deep pink")))) - (font-lock-function-name-face ((t (:background "SpringGreen" :foreground "MidnightBlue")))) - (font-lock-keyword-face ((t (:foreground "dark magenta")))) - (font-lock-preprocessor-face ((t (:background "pale green" :foreground "dark slate blue")))) - (font-lock-reference-face ((t (:background "DarkTurquoise" :foreground "Navy")))) - (font-lock-string-face ((t (:background "medium aquamarine" :foreground "deep pink")))) - (font-lock-type-face ((t (:background "steel blue" :foreground "khaki")))) - (font-lock-variable-name-face ((t (:background "thistle" :foreground "orange red")))) - (font-lock-warning-face ((t (:background "LemonChiffon" :foreground "Red")))) - (highlight ((t (:background "dark slate grey" :foreground "light cyan")))) - (holiday-face ((t (:background "orangered" :foreground "lightyellow")))) - (ido-first-match-face ((t (:bold t)))) - (ido-only-match-face ((t (:foreground "ForestGreen")))) - (ido-subdir-face ((t (:foreground "red")))) - (italic ((t (:italic t)))) - (isearch ((t (:background "sienna" :foreground "light cyan")))) - (modeline ((t (:background "Royalblue4" :foreground "lawn green")))) - (modeline-buffer-id ((t (:background "Royalblue4" :foreground "lawn green")))) - (modeline-mousable ((t (:background "Royalblue4" :foreground "lawn green")))) - (modeline-mousable-minor-mode ((t (:background "Royalblue4" :foreground "lawn green")))) - (paren-face-match ((t (:background "turquoise")))) - (paren-face-mismatch ((t (:background "purple" :foreground "white")))) - (paren-face-no-match ((t (:background "yellow" :foreground "black")))) - (primary-selection ((t (:background "sienna" :foreground "light cyan")))) - (region ((t (:background "sienna" :foreground "light cyan")))) - (secondary-selection ((t (:background "forest green" :foreground "white smoke")))) - (underline ((t (:underline t)))) - (zmacs-region ((t (:background "sienna" :foreground "light cyan"))))))) - -(defun color-theme-marine () - "Color theme by Girish Bharadwaj, created 2001-06-22. -Matches the MS Windows Marine color theme. -Includes custom, font-lock, paren, widget." - (interactive) - (color-theme-install - '(color-theme-marine - ((background-color . "#9dcec9") - (background-mode . light) - (border-color . "black") - (cursor-color . "yellow") - (foreground-color . "darkslategray") - (mouse-color . "sienna1")) - ((buffers-tab-face . buffers-tab) - (gnus-mouse-face . highlight) - (smiley-mouse-face . highlight)) - (default ((t (nil)))) - (blue ((t (:foreground "blue")))) - (bold ((t (:bold t)))) - (bold-italic ((t (nil)))) - (border-glyph ((t (nil)))) - (buffers-tab ((t (:background "#9dcec9" :foreground "darkslategray")))) - (custom-button-face ((t (nil)))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-comment-face ((t (:background "gray85")))) - (custom-comment-tag-face ((t (:foreground "blue4")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face ((t (:underline t :foreground "blue")))) - (custom-group-tag-face-1 ((t (:underline t :foreground "deeppink")))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "darkgreen")))) - (custom-variable-button-face ((t (:underline t :bold t)))) - (custom-variable-tag-face ((t (:underline t :foreground "blue")))) - (display-time-mail-balloon-enhance-face ((t (:background "orange")))) - (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue")))) - (display-time-time-balloon-face ((t (:foreground "red")))) - (font-lock-builtin-face ((t (:foreground "SteelBlue")))) - (font-lock-comment-face ((t (:foreground "cadetblue")))) - (font-lock-constant-face ((t (:foreground "OrangeRed")))) - (font-lock-doc-string-face ((t (:foreground "Salmon")))) - (font-lock-function-name-face ((t (:bold t :foreground "NavyBlue")))) - (font-lock-keyword-face ((t (:bold t :foreground "purple")))) - (font-lock-preprocessor-face ((t (:foreground "SteelBlue")))) - (font-lock-reference-face ((t (:foreground "SteelBlue")))) - (font-lock-string-face ((t (:foreground "royalblue")))) - (font-lock-type-face ((t (:foreground "darkmagenta")))) - (font-lock-variable-name-face ((t (:foreground "violetred")))) - (font-lock-warning-face ((t (:bold t :foreground "red")))) - (green ((t (:foreground "green")))) - (gui-button-face ((t (:background "grey75" :foreground "black")))) - (gui-element ((t (:background "#489088" :foreground "black")))) - (highlight ((t (:background "darkolivegreen" :foreground "white")))) - (isearch ((t (:background "blue")))) - (isearch-secondary ((t (:foreground "red3")))) - (italic ((t (nil)))) - (left-margin ((t (nil)))) - (list-mode-item-selected ((t (:background "gray68" :foreground "darkslategray")))) - (modeline ((t (:background "black" :foreground "white")))) - (modeline-buffer-id ((t (:background "black" :foreground "white")))) - (modeline-mousable ((t (:background "black" :foreground "white")))) - (modeline-mousable-minor-mode ((t (:background "black" :foreground "white")))) - (paren-blink-off ((t (:foreground "black")))) - (paren-match ((t (:background "darkolivegreen" :foreground "white")))) - (paren-mismatch ((t (:background "#9dcec9" :foreground "darkslategray")))) - (pointer ((t (nil)))) - (primary-selection ((t (:background "blue")))) - (red ((t (:foreground "red")))) - (region ((t (:background "blue")))) - (right-margin ((t (nil)))) - (secondary-selection ((t (:background "darkslateblue" :foreground "white")))) - (template-message-face ((t (:bold t)))) - (text-cursor ((t (:background "yellow" :foreground "#9dcec9")))) - (toolbar ((t (nil)))) - (underline ((t (:underline t)))) - (vertical-divider ((t (nil)))) - (widget ((t (nil)))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "forestgreen")))) - (widget-field-face ((t (:background "gray")))) - (widget-inactive-face ((t (:foreground "dimgray")))) - (widget-single-line-field-face ((t (:background "dim gray" :foreground "white")))) - (yellow ((t (:foreground "yellow")))) - (zmacs-region ((t (:background "blue"))))))) - -(defun color-theme-blue-erc () - "Color theme for erc faces only. -This is intended for other color themes to use (eg. `color-theme-gnome2')." - (color-theme-install - '(color-theme-blue-erc - nil - (erc-action-face ((t (nil)))) - (erc-bold-face ((t (:bold t)))) - (erc-current-nick-face ((t (:bold t :foreground "yellow")))) - (erc-default-face ((t (nil)))) - (erc-direct-msg-face ((t (:foreground "pale green")))) - (erc-error-face ((t (:bold t :foreground "IndianRed")))) - (erc-highlight-face ((t (:bold t :foreground "pale green")))) - (erc-input-face ((t (:foreground "light blue")))) - (erc-inverse-face ((t (:background "steel blue")))) - (erc-keyword-face ((t (:foreground "orange" :bold t)))) - (erc-notice-face ((t (:foreground "light salmon")))) - (erc-notice-face ((t (:foreground "MediumAquamarine")))) - (erc-pal-face ((t (:foreground "pale green")))) - (erc-prompt-face ((t (:foreground "light blue" :bold t)))) - (fg:erc-color-face0 ((t (:foreground "white")))) - (fg:erc-color-face1 ((t (:foreground "beige")))) - (fg:erc-color-face2 ((t (:foreground "lemon chiffon")))) - (fg:erc-color-face3 ((t (:foreground "light cyan")))) - (fg:erc-color-face4 ((t (:foreground "powder blue")))) - (fg:erc-color-face5 ((t (:foreground "sky blue")))) - (fg:erc-color-face6 ((t (:foreground "dark sea green")))) - (fg:erc-color-face7 ((t (:foreground "pale green")))) - (fg:erc-color-face8 ((t (:foreground "medium spring green")))) - (fg:erc-color-face9 ((t (:foreground "khaki")))) - (fg:erc-color-face10 ((t (:foreground "pale goldenrod")))) - (fg:erc-color-face11 ((t (:foreground "light goldenrod yellow")))) - (fg:erc-color-face12 ((t (:foreground "light yellow")))) - (fg:erc-color-face13 ((t (:foreground "yellow")))) - (fg:erc-color-face14 ((t (:foreground "light goldenrod")))) - (fg:erc-color-face15 ((t (:foreground "lime green")))) - (bg:erc-color-face0 ((t (nil)))) - (bg:erc-color-face1 ((t (nil)))) - (bg:erc-color-face2 ((t (nil)))) - (bg:erc-color-face3 ((t (nil)))) - (bg:erc-color-face4 ((t (nil)))) - (bg:erc-color-face5 ((t (nil)))) - (bg:erc-color-face6 ((t (nil)))) - (bg:erc-color-face7 ((t (nil)))) - (bg:erc-color-face8 ((t (nil)))) - (bg:erc-color-face9 ((t (nil)))) - (bg:erc-color-face10 ((t (nil)))) - (bg:erc-color-face11 ((t (nil)))) - (bg:erc-color-face12 ((t (nil)))) - (bg:erc-color-face13 ((t (nil)))) - (bg:erc-color-face14 ((t (nil)))) - (bg:erc-color-face15 ((t (nil))))))) - -(defun color-theme-dark-erc () - "Color theme for erc faces only. -This is intended for other color themes to use (eg. `color-theme-late-night')." - (interactive) - (color-theme-install - '(color-theme-dark-erc - nil - (erc-action-face ((t (nil)))) - (erc-bold-face ((t (:bold t)))) - (erc-current-nick-face ((t (:bold t)))) - (erc-default-face ((t (nil)))) - (erc-direct-msg-face ((t (nil)))) - (erc-error-face ((t (:bold t :foreground "IndianRed")))) - (erc-highlight-face ((t (:bold t :foreground "pale green")))) - (erc-input-face ((t (:foreground "#555")))) - (erc-inverse-face ((t (:background "steel blue")))) - (erc-keyword-face ((t (:foreground "#999" :bold t)))) - (erc-nick-msg-face ((t (:foreground "#888")))) - (erc-notice-face ((t (:foreground "#444")))) - (erc-pal-face ((t (:foreground "#888")))) - (erc-prompt-face ((t (:foreground "#777" :bold t)))) - (erc-timestamp-face ((t (:foreground "#777" :bold t)))) - (fg:erc-color-face0 ((t (:foreground "white")))) - (fg:erc-color-face1 ((t (:foreground "beige")))) - (fg:erc-color-face2 ((t (:foreground "lemon chiffon")))) - (fg:erc-color-face3 ((t (:foreground "light cyan")))) - (fg:erc-color-face4 ((t (:foreground "powder blue")))) - (fg:erc-color-face5 ((t (:foreground "sky blue")))) - (fg:erc-color-face6 ((t (:foreground "dark sea green")))) - (fg:erc-color-face7 ((t (:foreground "pale green")))) - (fg:erc-color-face8 ((t (:foreground "medium spring green")))) - (fg:erc-color-face9 ((t (:foreground "khaki")))) - (fg:erc-color-face10 ((t (:foreground "pale goldenrod")))) - (fg:erc-color-face11 ((t (:foreground "light goldenrod yellow")))) - (fg:erc-color-face12 ((t (:foreground "light yellow")))) - (fg:erc-color-face13 ((t (:foreground "yellow")))) - (fg:erc-color-face14 ((t (:foreground "light goldenrod")))) - (fg:erc-color-face15 ((t (:foreground "lime green")))) - (bg:erc-color-face0 ((t (nil)))) - (bg:erc-color-face1 ((t (nil)))) - (bg:erc-color-face2 ((t (nil)))) - (bg:erc-color-face3 ((t (nil)))) - (bg:erc-color-face4 ((t (nil)))) - (bg:erc-color-face5 ((t (nil)))) - (bg:erc-color-face6 ((t (nil)))) - (bg:erc-color-face7 ((t (nil)))) - (bg:erc-color-face8 ((t (nil)))) - (bg:erc-color-face9 ((t (nil)))) - (bg:erc-color-face10 ((t (nil)))) - (bg:erc-color-face11 ((t (nil)))) - (bg:erc-color-face12 ((t (nil)))) - (bg:erc-color-face13 ((t (nil)))) - (bg:erc-color-face14 ((t (nil)))) - (bg:erc-color-face15 ((t (nil))))))) - -(defun color-theme-subtle-blue () - "Color theme by Chris McMahan, created 2001-09-06. -Light blue background. Includes bbdb, comint, cperl, custom, cvs, -diary, dired, display-time, ecb, ediff, erc, eshell, font-lock, -gnus, html-helper, info, isearch, jde, message, paren, semantic, -sgml, speedbar, term, vhdl, viper, vm, widget, woman, xref, xxml." - (interactive) - (color-theme-install - '(color-theme-subtle-blue - ((background-color . "#65889C") - (background-mode . dark) - (background-toolbar-color . "#cf3ccf3ccf3c") - (border-color . "black") - (bottom-toolbar-shadow-color . "#79e77df779e7") - (cursor-color . "white") - (foreground-color . "#eedfcc") - (mouse-color . "Grey") - (top-toolbar-shadow-color . "#fffffbeeffff") - (viper-saved-cursor-color-in-replace-mode . "Red3")) - ((blank-space-face . blank-space-face) - (blank-tab-face . blank-tab-face) - (ecb-source-in-directories-buffer-face . ecb-sources-face) - (gnus-mouse-face . highlight) - (list-matching-lines-face . bold) - (view-highlight-face . highlight) - (vm-highlight-url-face . my-url-face) - (vm-highlighted-header-face . my-url-face) - (vm-mime-button-face . gui-button-face) - (vm-summary-highlight-face . my-summary-highlight-face)) - (default ((t (nil)))) - (bbdb-company ((t (:italic t)))) - (bbdb-field-name ((t (:bold t :foreground "MediumAquamarine")))) - (bbdb-field-value ((t (nil)))) - (bbdb-name ((t (:underline t)))) - (blank-space-face ((t (:background "gray80")))) - (blank-tab-face ((t (:background "LightBlue" :foreground "DarkSlateGray")))) - (blue ((t (:foreground "blue")))) - (bold ((t (:bold t :foreground "MediumAquamarine")))) - (bold-italic ((t (:italic t :bold t :foreground "SkyBlue")))) - (border ((t (:background "black")))) - (border-glyph ((t (nil)))) - (calendar-today-face ((t (:underline t)))) - (comint-highlight-input ((t (:bold t)))) - (comint-highlight-prompt ((t (:foreground "cyan")))) - (comint-input-face ((t (:foreground "deepskyblue")))) - (cperl-array-face ((t (:bold t :foreground "Yellow")))) - (cperl-hash-face ((t (:italic t :bold t :foreground "White")))) - (cperl-nonoverridable-face ((t (:foreground "SkyBlue")))) - (cursor ((t (:background "white")))) - (custom-button-face ((t (:underline t :bold t :foreground "MediumAquaMarine")))) - (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black")))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-comment-face ((t (:background "dim gray")))) - (custom-comment-tag-face ((t (:foreground "gray80")))) - (custom-documentation-face ((t (:foreground "Grey")))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face ((t (:bold t :foreground "MediumAquamarine")))) - (custom-group-tag-face-1 ((t (:foreground "MediumAquaMarine")))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "yellow")))) - (custom-variable-button-face ((t (:underline t :bold t)))) - (custom-variable-tag-face ((t (:bold t :foreground "Aquamarine")))) - (cvs-filename-face ((t (:foreground "blue4")))) - (cvs-handled-face ((t (:foreground "pink")))) - (cvs-header-face ((t (:bold t :foreground "blue4")))) - (cvs-marked-face ((t (:bold t :foreground "green3")))) - (cvs-msg-face ((t (:italic t)))) - (cvs-need-action-face ((t (:foreground "orange")))) - (cvs-unknown-face ((t (:foreground "red")))) - (diary-face ((t (:bold t :foreground "cyan")))) - (dired-face-boring ((t (:foreground "Gray65")))) - (dired-face-directory ((t (:bold t :foreground "sky blue")))) - (dired-face-executable ((t (:foreground "MediumAquaMarine")))) - (dired-face-flagged ((t (:foreground "Cyan")))) - (dired-face-marked ((t (:foreground "cyan")))) - (dired-face-permissions ((t (:foreground "aquamarine")))) - (dired-face-setuid ((t (:foreground "LightSalmon")))) - (dired-face-socket ((t (:foreground "LightBlue")))) - (dired-face-symlink ((t (:foreground "gray95")))) - (display-time-mail-balloon-enhance-face ((t (:background "orange")))) - (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue")))) - (display-time-time-balloon-face ((t (:foreground "red")))) - (ecb-sources-face ((t (:foreground "LightBlue1")))) - (ediff-current-diff-face-A ((t (:background "pale green" :foreground "firebrick")))) - (ediff-current-diff-face-Ancestor ((t (:background "VioletRed" :foreground "Black")))) - (ediff-current-diff-face-B ((t (:background "Yellow" :foreground "DarkOrchid")))) - (ediff-current-diff-face-C ((t (:background "indianred" :foreground "white")))) - (ediff-even-diff-face-A ((t (:background "light gray" :foreground "Black")))) - (ediff-even-diff-face-Ancestor ((t (:background "Gray" :foreground "White")))) - (ediff-even-diff-face-B ((t (:background "Gray" :foreground "White")))) - (ediff-even-diff-face-C ((t (:background "light gray" :foreground "Black")))) - (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy")))) - (ediff-fine-diff-face-Ancestor ((t (:background "Green" :foreground "Black")))) - (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Black")))) - (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Black")))) - (ediff-odd-diff-face-A ((t (:background "Gray" :foreground "White")))) - (ediff-odd-diff-face-Ancestor ((t (:background "light gray" :foreground "Black")))) - (ediff-odd-diff-face-B ((t (:background "light gray" :foreground "Black")))) - (ediff-odd-diff-face-C ((t (:background "Gray" :foreground "White")))) - (erc-action-face ((t (:bold t)))) - (erc-bold-face ((t (:bold t)))) - (erc-default-face ((t (nil)))) - (erc-direct-msg-face ((t (:foreground "LightSalmon")))) - (erc-error-face ((t (:bold t :foreground "yellow")))) - (erc-input-face ((t (:foreground "Beige")))) - (erc-inverse-face ((t (:background "wheat" :foreground "darkslategrey")))) - (erc-notice-face ((t (:foreground "MediumAquamarine")))) - (erc-pal-face ((t (:foreground "PaleGreen")))) - (erc-prompt-face ((t (:foreground "MediumAquamarine")))) - (erc-underline-face ((t (:underline t)))) - (eshell-ls-archive-face ((t (:bold t :foreground "wheat")))) - (eshell-ls-backup-face ((t (:foreground "Grey")))) - (eshell-ls-clutter-face ((t (:bold t :foreground "wheat")))) - (eshell-ls-directory-face ((t (:bold t :foreground "Yellow")))) - (eshell-ls-executable-face ((t (:bold t :foreground "wheat")))) - (eshell-ls-missing-face ((t (:bold t :foreground "wheat")))) - (eshell-ls-picture-face ((t (:foreground "wheat")))) - (eshell-ls-product-face ((t (:foreground "wheat")))) - (eshell-ls-readonly-face ((t (:foreground "wheat")))) - (eshell-ls-special-face ((t (:bold t :foreground "wheat")))) - (eshell-ls-symlink-face ((t (:bold t :foreground "White")))) - (eshell-ls-text-face ((t (:foreground "wheat")))) - (eshell-ls-todo-face ((t (:foreground "wheat")))) - (eshell-ls-unreadable-face ((t (:foreground "wheat3")))) - (eshell-prompt-face ((t (:bold t :foreground "PaleGreen")))) - (eshell-test-failed-face ((t (:bold t :foreground "OrangeRed")))) - (eshell-test-ok-face ((t (:bold t :foreground "Green")))) - (excerpt ((t (:italic t)))) - (ff-paths-non-existant-file-face ((t (:bold t :foreground "NavyBlue")))) - (flyspell-duplicate-face ((t (:underline t :bold t :foreground "Gold3")))) - (flyspell-incorrect-face ((t (:underline t :bold t :foreground "OrangeRed")))) - (font-latex-italic-face ((t (nil)))) - (font-latex-math-face ((t (nil)))) - (font-latex-sedate-face ((t (:foreground "Gray85")))) - (font-latex-string-face ((t (:foreground "orange")))) - (font-latex-warning-face ((t (:foreground "gold")))) - (font-lock-builtin-face ((t (:foreground "PaleGreen")))) - (font-lock-comment-face ((t (:italic t :foreground "Wheat3")))) - (font-lock-constant-face ((t (:foreground "LightBlue")))) - (font-lock-doc-face ((t (:bold t :foreground "DarkSeaGreen")))) - (font-lock-doc-string-face ((t (:bold t :foreground "DarkSeaGreen")))) - (font-lock-exit-face ((t (:foreground "green")))) - (font-lock-function-name-face ((t (:italic t :bold t :foreground "cyan")))) - (font-lock-keyword-face ((t (:bold t :foreground "LightBlue")))) - (font-lock-preprocessor-face ((t (:foreground "blue3")))) - (font-lock-reference-face ((t (:foreground "PaleGreen")))) - (font-lock-string-face ((t (:italic t :foreground "MediumAquamarine")))) - (font-lock-type-face ((t (:bold t :foreground "LightBlue")))) - (font-lock-variable-name-face ((t (:italic t :bold t :foreground "LightBlue")))) - (font-lock-warning-face ((t (:bold t :foreground "LightSalmon")))) - (fringe ((t (:background "darkslategrey")))) - (gnus-cite-attribution-face ((t (:italic t :bold t)))) - (gnus-cite-face-1 ((t (:foreground "LightBlue")))) - (gnus-cite-face-10 ((t (:foreground "LightBlue")))) - (gnus-cite-face-11 ((t (:foreground "LightBlue")))) - (gnus-cite-face-2 ((t (:foreground "LightBlue")))) - (gnus-cite-face-3 ((t (:foreground "LightBlue")))) - (gnus-cite-face-4 ((t (:foreground "LightBlue")))) - (gnus-cite-face-5 ((t (:foreground "LightBlue")))) - (gnus-cite-face-6 ((t (:foreground "LightBlue")))) - (gnus-cite-face-7 ((t (:foreground "LightBlue")))) - (gnus-cite-face-8 ((t (:foreground "LightBlue")))) - (gnus-cite-face-9 ((t (:foreground "LightBlue")))) - (gnus-emphasis-bold ((t (:bold t)))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) - (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) - (gnus-emphasis-italic ((t (:italic t)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) - (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t)))) - (gnus-emphasis-underline-italic ((t (:underline t :italic t)))) - (gnus-filterhist-face-1 ((t (nil)))) - (gnus-group-mail-1-empty-face ((t (:foreground "gray80")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "light cyan")))) - (gnus-group-mail-2-empty-face ((t (:foreground "gray80")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "turquoise")))) - (gnus-group-mail-3-empty-face ((t (:foreground "gray80")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "LightBlue")))) - (gnus-group-mail-low-empty-face ((t (:foreground "gray80")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "LightBlue")))) - (gnus-group-news-1-empty-face ((t (:foreground "gray80")))) - (gnus-group-news-1-face ((t (:bold t :foreground "green yellow")))) - (gnus-group-news-2-empty-face ((t (:foreground "gray80")))) - (gnus-group-news-2-face ((t (:bold t :foreground "Aquamarine")))) - (gnus-group-news-3-empty-face ((t (:foreground "gray80")))) - (gnus-group-news-3-face ((t (:bold t :foreground "LightBlue")))) - (gnus-group-news-4-empty-face ((t (:foreground "gray80")))) - (gnus-group-news-4-face ((t (:bold t :foreground "Wheat")))) - (gnus-group-news-5-empty-face ((t (:foreground "gray80")))) - (gnus-group-news-5-face ((t (:bold t :foreground "MediumAquamarine")))) - (gnus-group-news-6-empty-face ((t (:foreground "gray80")))) - (gnus-group-news-6-face ((t (:bold t :foreground "MediumAquamarine")))) - (gnus-group-news-low-empty-face ((t (:foreground "gray80")))) - (gnus-group-news-low-face ((t (:bold t :foreground "yellow green")))) - (gnus-header-content-face ((t (:italic t :foreground "LightSkyBlue3")))) - (gnus-header-from-face ((t (:bold t :foreground "light cyan")))) - (gnus-header-name-face ((t (:bold t :foreground "LightBlue")))) - (gnus-header-newsgroups-face ((t (:italic t :bold t :foreground "LightSkyBlue3")))) - (gnus-header-subject-face ((t (:bold t :foreground "light cyan")))) - (gnus-picons-face ((t (:background "white" :foreground "black")))) - (gnus-picons-xbm-face ((t (:background "white" :foreground "black")))) - (gnus-signature-face ((t (:italic t :foreground "LightBlue")))) - (gnus-splash ((t (:foreground "Brown")))) - (gnus-splash-face ((t (:foreground "LightBlue")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "gray80")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "LightBlue")))) - (gnus-summary-high-read-face ((t (:bold t :foreground "gray80")))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "burlywood")))) - (gnus-summary-high-unread-face ((t (:italic t :bold t :foreground "wheat")))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "LightBlue")))) - (gnus-summary-low-read-face ((t (:italic t :foreground "light sea green")))) - (gnus-summary-low-ticked-face ((t (:italic t :bold t :foreground "LightBlue")))) - (gnus-summary-low-unread-face ((t (:italic t :foreground "light sea green")))) - (gnus-summary-normal-ancient-face ((t (:foreground "gray80")))) - (gnus-summary-normal-read-face ((t (:foreground "gray80")))) - (gnus-summary-normal-ticked-face ((t (:bold t :foreground "sandy brown")))) - (gnus-summary-normal-unread-face ((t (:bold t :foreground "wheat")))) - (gnus-summary-selected-face ((t (:underline t)))) - (gnus-x-face ((t (:background "white" :foreground "black")))) - (green ((t (:foreground "green")))) - (gui-button-face ((t (:background "cyan" :foreground "#65889C")))) - (gui-element ((t (:background "Gray")))) - (header-line ((t (:background "grey20" :foreground "grey90")))) - (highlight ((t (:background "PaleGreen" :foreground "DarkGreen")))) - (highlight-changes-delete-face ((t (:underline t :foreground "red")))) - (highlight-changes-face ((t (:foreground "red")))) - (highline-face ((t (:background "SeaGreen")))) - (holiday-face ((t (:background "DimGray")))) - (html-helper-bold-face ((t (:foreground "DarkRed")))) - (html-helper-italic-face ((t (:foreground "DarkBlue")))) - (html-helper-underline-face ((t (:underline t :foreground "Black")))) - (html-tag-face ((t (:foreground "Blue")))) - (info-menu-5 ((t (:underline t)))) - (info-node ((t (:underline t :italic t :bold t :foreground "light blue")))) - (info-xref ((t (:bold t :foreground "light blue")))) - (isearch ((t (:background "Aquamarine" :foreground "SteelBlue")))) - (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) - (isearch-secondary ((t (:foreground "red3")))) - (italic ((t (:italic t)))) - (jde-bug-breakpoint-cursor ((t (:background "brown" :foreground "cyan")))) - (jde-bug-breakpoint-marker ((t (:background "yellow" :foreground "red")))) - (jde-java-font-lock-api-face ((t (:foreground "LightBlue")))) - (jde-java-font-lock-bold-face ((t (:bold t)))) - (jde-java-font-lock-code-face ((t (nil)))) - (jde-java-font-lock-constant-face ((t (:foreground "LightBlue")))) - (jde-java-font-lock-doc-tag-face ((t (:foreground "LightBlue")))) - (jde-java-font-lock-italic-face ((t (:italic t)))) - (jde-java-font-lock-link-face ((t (:underline t :foreground "LightBlue")))) - (jde-java-font-lock-modifier-face ((t (:foreground "LightBlue")))) - (jde-java-font-lock-number-face ((t (:foreground "LightBlue")))) - (jde-java-font-lock-package-face ((t (:foreground "LightBlue")))) - (jde-java-font-lock-pre-face ((t (nil)))) - (jde-java-font-lock-underline-face ((t (:underline t)))) - (lazy-highlight-face ((t (:bold t :foreground "dark magenta")))) - (left-margin ((t (nil)))) - (linemenu-face ((t (:background "gray30")))) - (list-mode-item-selected ((t (nil)))) - (makefile-space-face ((t (:background "hotpink")))) - (menu ((t (:background "wheat" :foreground "gray30")))) - (message-cited-text-face ((t (:foreground "White")))) - (message-header-cc-face ((t (:bold t :foreground "light cyan")))) - (message-header-name-face ((t (:foreground "LightBlue")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "LightSkyBlue3")))) - (message-header-other-face ((t (:foreground "LightSkyBlue3")))) - (message-header-subject-face ((t (:bold t :foreground "light cyan")))) - (message-header-to-face ((t (:bold t :foreground "light cyan")))) - (message-header-xheader-face ((t (:foreground "LightBlue")))) - (message-mml-face ((t (:bold t :foreground "LightBlue")))) - (message-separator-face ((t (:foreground "LightBlue")))) - (mmm-default-submode-face ((t (:background "#c0c0c5")))) - (modeline ((t (:background "#4f657d" :foreground "gray80")))) - (modeline-buffer-id ((t (:background "#4f657d" :foreground "gray80")))) - (modeline-mousable ((t (:background "#4f657d" :foreground "gray80")))) - (modeline-mousable-minor-mode ((t (:background "#4f657d" :foreground "gray80")))) - (mouse ((t (:background "Grey")))) - (my-summary-highlight-face ((t (:foreground "White")))) - (my-url-face ((t (:foreground "PaleTurquoise")))) - (nil ((t (nil)))) - (paren-blink-off ((t (:foreground "gray")))) - (paren-face-match ((t (:background "turquoise")))) - (paren-face-mismatch ((t (:background "purple" :foreground "white")))) - (paren-face-no-match ((t (:background "yellow" :foreground "black")))) - (paren-match ((t (:background "darkseagreen2")))) - (paren-mismatch ((t (:background "DeepPink" :foreground "black")))) - (paren-mismatch-face ((t (:bold t)))) - (paren-no-match-face ((t (:bold t)))) - (pointer ((t (nil)))) - (primary-selection ((t (:background "gray65")))) - (red ((t (:foreground "red")))) - (region ((t (:background "CadetBlue" :foreground "gray80")))) - (right-margin ((t (nil)))) - (scroll-bar ((t (nil)))) - (secondary-selection ((t (:background "LightBlue" :foreground "#4f657d")))) - (semantic-dirty-token-face ((t (:background "gray10")))) - (semantic-intangible-face ((t (:foreground "gray25")))) - (semantic-read-only-face ((t (:background "gray25")))) - (senator-intangible-face ((t (:foreground "gray75")))) - (senator-momentary-highlight-face ((t (:background "gray80")))) - (senator-read-only-face ((t (:background "#664444")))) - (sgml-comment-face ((t (:foreground "dark turquoise")))) - (sgml-doctype-face ((t (:foreground "red")))) - (sgml-end-tag-face ((t (:foreground "blue")))) - (sgml-entity-face ((t (:foreground "magenta")))) - (sgml-ignored-face ((t (:background "gray60" :foreground "gray40")))) - (sgml-ms-end-face ((t (:foreground "green")))) - (sgml-ms-start-face ((t (:foreground "yellow")))) - (sgml-pi-face ((t (:foreground "lime green")))) - (sgml-sgml-face ((t (:foreground "brown")))) - (sgml-short-ref-face ((t (:foreground "deep sky blue")))) - (sgml-start-tag-face ((t (:foreground "dark green")))) - (shell-option-face ((t (:foreground "blue")))) - (shell-output-2-face ((t (:foreground "darkseagreen")))) - (shell-output-3-face ((t (:foreground "slategray")))) - (shell-output-face ((t (:foreground "palegreen")))) - (shell-prompt-face ((t (:foreground "red")))) - (show-paren-match-face ((t (:background "Aquamarine" :foreground "steel blue")))) - (show-paren-mismatch-face ((t (:bold t :background "IndianRed" :foreground "White")))) - (speedbar-button-face ((t (:bold t :foreground "LightBlue")))) - (speedbar-directory-face ((t (:bold t :foreground "yellow")))) - (speedbar-file-face ((t (:bold t :foreground "wheat")))) - (speedbar-highlight-face ((t (:background "sea green")))) - (speedbar-selected-face ((t (:underline t)))) - (speedbar-tag-face ((t (:foreground "LightBlue")))) - (swbuff-current-buffer-face ((t (:bold t :foreground "red")))) - (template-message-face ((t (:bold t)))) - (term-black ((t (:foreground "black")))) - (term-blackbg ((t (:background "black")))) - (term-blue ((t (:foreground "blue")))) - (term-bluebg ((t (:background "blue")))) - (term-bold ((t (:bold t)))) - (term-cyan ((t (:foreground "cyan")))) - (term-cyanbg ((t (:background "cyan")))) - (term-default-bg ((t (nil)))) - (term-default-bg-inv ((t (nil)))) - (term-default-fg ((t (nil)))) - (term-default-fg-inv ((t (nil)))) - (term-green ((t (:foreground "green")))) - (term-greenbg ((t (:background "green")))) - (term-invisible ((t (nil)))) - (term-invisible-inv ((t (nil)))) - (term-magenta ((t (:foreground "magenta")))) - (term-magentabg ((t (:background "magenta")))) - (term-red ((t (:foreground "red")))) - (term-redbg ((t (:background "red")))) - (term-underline ((t (:underline t)))) - (term-white ((t (:foreground "white")))) - (term-whitebg ((t (:background "white")))) - (term-yellow ((t (:foreground "yellow")))) - (term-yellowbg ((t (:background "yellow")))) - (text-cursor ((t (:background "Red3" :foreground "white")))) - (tool-bar ((t (:background "grey75" :foreground "black")))) - (toolbar ((t (:background "Gray")))) - (trailing-whitespace ((t (:background "red")))) - (underline ((t (:underline t)))) - (variable-pitch ((t (nil)))) - (vc-annotate-face-0046FF ((t (:background "black" :foreground "wheat")))) - (vcursor ((t (:underline t :background "cyan" :foreground "blue")))) - (vertical-divider ((t (:background "Gray")))) - (vhdl-font-lock-attribute-face ((t (:foreground "Orchid")))) - (vhdl-font-lock-directive-face ((t (:foreground "CadetBlue")))) - (vhdl-font-lock-enumvalue-face ((t (:foreground "Gold4")))) - (vhdl-font-lock-function-face ((t (:foreground "Orchid4")))) - (vhdl-font-lock-prompt-face ((t (:bold t :foreground "Red")))) - (vhdl-font-lock-reserved-words-face ((t (:bold t :foreground "Orange")))) - (vhdl-font-lock-translate-off-face ((t (:background "LightGray")))) - (vhdl-speedbar-architecture-face ((t (:foreground "Blue")))) - (vhdl-speedbar-architecture-selected-face ((t (:underline t :foreground "Blue")))) - (vhdl-speedbar-configuration-face ((t (:foreground "DarkGoldenrod")))) - (vhdl-speedbar-configuration-selected-face ((t (:underline t :foreground "DarkGoldenrod")))) - (vhdl-speedbar-entity-face ((t (:foreground "ForestGreen")))) - (vhdl-speedbar-entity-selected-face ((t (:underline t :foreground "ForestGreen")))) - (vhdl-speedbar-instantiation-face ((t (:foreground "Brown")))) - (vhdl-speedbar-instantiation-selected-face ((t (:underline t :foreground "Brown")))) - (vhdl-speedbar-package-face ((t (:foreground "Gray50")))) - (vhdl-speedbar-package-selected-face ((t (:underline t :foreground "Gray50")))) - (viper-minibuffer-emacs-face ((t (:background "darkseagreen2" :foreground "Black")))) - (viper-minibuffer-insert-face ((t (:background "pink" :foreground "Black")))) - (viper-minibuffer-vi-face ((t (:background "gray" :foreground "DarkGreen")))) - (viper-replace-overlay-face ((t (:background "darkseagreen2" :foreground "Black")))) - (viper-search-face ((t (:background "khaki" :foreground "Black")))) - (vm-header-content-face ((t (:italic t :foreground "gray80")))) - (vm-header-from-face ((t (:italic t :background "#65889C" :foreground "cyan")))) - (vm-header-name-face ((t (:foreground "cyan")))) - (vm-header-subject-face ((t (:foreground "cyan")))) - (vm-header-to-face ((t (:italic t :foreground "cyan")))) - (vm-message-cited-face ((t (:foreground "Gray80")))) - (vm-summary-face-1 ((t (:foreground "MediumAquamarine")))) - (vm-summary-face-2 ((t (:foreground "MediumAquamarine")))) - (vm-summary-face-3 ((t (:foreground "MediumAquamarine")))) - (vm-summary-face-4 ((t (:foreground "MediumAquamarine")))) - (vm-summary-highlight-face ((t (:foreground "White")))) - (vmpc-pre-sig-face ((t (:foreground "Aquamarine")))) - (vmpc-sig-face ((t (:foreground "LightBlue")))) - (vvb-face ((t (:background "pink" :foreground "black")))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "cyan")))) - (widget-documentation-face ((t (:foreground "LightBlue")))) - (widget-field-face ((t (:foreground "LightBlue")))) - (widget-inactive-face ((t (:foreground "Wheat3")))) - (widget-single-line-field-face ((t (:foreground "LightBlue")))) - (woman-bold-face ((t (:bold t)))) - (woman-italic-face ((t (:foreground "beige")))) - (woman-unknown-face ((t (:foreground "LightSalmon")))) - (xref-keyword-face ((t (:foreground "Cyan")))) - (xref-list-pilot-face ((t (:foreground "navy")))) - (xref-list-symbol-face ((t (:foreground "navy")))) - (xxml-emph-1-face ((t (:background "lightyellow")))) - (xxml-emph-2-face ((t (:background "lightyellow")))) - (xxml-header-1-face ((t (:background "seashell1" :foreground "MediumAquamarine")))) - (xxml-header-2-face ((t (:background "seashell1" :foreground "SkyBlue")))) - (xxml-header-3-face ((t (:background "seashell1")))) - (xxml-header-4-face ((t (:background "seashell1")))) - (xxml-interaction-face ((t (:background "lightcyan")))) - (xxml-rug-face ((t (:background "cyan")))) - (xxml-sparkle-face ((t (:background "yellow")))) - (xxml-unbreakable-space-face ((t (:underline t :foreground "grey")))) - (yellow ((t (:foreground "yellow")))) - (zmacs-region ((t (:background "#4f657d"))))))) - -(defun color-theme-dark-blue () - "Color theme by Chris McMahan, created 2001-09-09. -Based on `color-theme-subtle-blue' with a slightly darker background." - (interactive) - (color-theme-subtle-blue) - (let ((color-theme-is-cumulative t)) - (color-theme-install - '(color-theme-dark-blue - ((background-color . "#537182") - (foreground-color . "AntiqueWhite2")) - nil - (default ((t (nil)))) - (blank-space-face ((t (:background "LightGray")))) - (blank-tab-face ((t (:background "Wheat" :foreground "DarkSlateGray")))) - (cursor ((t (:background "LightGray")))) - (dired-face-executable ((t (:foreground "green yellow")))) - (dired-face-flagged ((t (:foreground "tomato")))) - (dired-face-marked ((t (:foreground "light salmon")))) - (dired-face-setuid ((t (:foreground "Red")))) - (dired-face-socket ((t (:foreground "magenta")))) - (fixed ((t (:bold t)))) - (font-lock-comment-face ((t (:italic t :foreground "Gray80")))) - (font-lock-doc-face ((t (:bold t)))) - (font-lock-function-name-face ((t (:italic t :bold t :foreground "Yellow")))) - (font-lock-string-face ((t (:italic t :foreground "DarkSeaGreen")))) - (font-lock-type-face ((t (:bold t :foreground "YellowGreen")))) - (gui-button-face ((t (:background "DarkSalmon" :foreground "white")))) - (modeline ((t (:background "#c1ccd9" :foreground "#4f657d")))) - (modeline-buffer-id ((t (:background "#c1ccd9" :foreground "#4f657d")))) - (modeline-mousable ((t (:background "#c1ccd9" :foreground "#4f657d")))) - (modeline-mousable-minor-mode ((t (:background "#c1ccd9" :foreground "#4f657d")))) - (my-url-face ((t (:foreground "LightBlue")))) - (region ((t (:background "PaleTurquoise4" :foreground "gray80")))) - (secondary-selection ((t (:background "sea green" :foreground "yellow")))) - (vm-header-content-face ((t (:italic t :foreground "wheat")))) - (vm-header-from-face ((t (:italic t :foreground "wheat")))) - (widget-button-pressed-face ((t (:foreground "red")))) - (xref-keyword-face ((t (:foreground "blue")))) - (zmacs-region ((t (:background "SlateGray")))))))) - -(defun color-theme-jonadabian-slate () - "Another slate-and-wheat color theme by Jonadab the Unsightly One. -Updated 2001-10-12." - (interactive) - (color-theme-install - '(color-theme-jonadabian-slate - ((background-color . "#305050") - (background-mode . dark) - (border-color . "black") - (cursor-color . "medium turquoise") - (foreground-color . "#CCBB77") - (mouse-color . "black")) - ((list-matching-lines-face . bold) - (ued-mode-keyname-face . modeline) - (view-highlight-face . highlight)) - (default ((t (nil)))) - (fringe ((t (:background "#007080")))) - (bold ((t (:bold t :foreground "#EEDDAA")))) - (gnus-emphasis-bold ((t (:bold t :foreground "#EEDDAA")))) - (gnus-emphasis-underline-bold ((t (:underline t :bold t :foreground "#EEDDAA")))) - (bold-italic ((t (:italic t :bold t :foreground "#AA0000")))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t :foreground "#AA0000")))) - (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t :foreground "#AA0000")))) - (gnus-emphasis-underline-italic ((t (:underline t :italic t :bold t :foreground "#AA0000")))) - (calendar-today-face ((t (:underline t :background "darkslategrey")))) - (cperl-array-face ((t (:background "#004060")))) - (cperl-hash-face ((t (:background "#004400")))) - (custom-button-face ((t (:background "dark blue" :foreground "rgbi:1.00/1.00/0.00")))) - (custom-documentation-face ((t (:foreground "#10D010")))) - (custom-face-tag-face ((t (:underline t :foreground "goldenrod")))) - (custom-group-tag-face ((t (:underline t :foreground "light blue")))) - (custom-group-tag-face-1 ((t (:underline t :foreground "pink")))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:foreground "#6666dd")))) - (custom-state-face ((t (:foreground "mediumaquamarine")))) - (custom-variable-button-face ((t (:underline t :bold t)))) - (custom-variable-tag-face ((t (:underline t :foreground "light blue")))) - (diary-face ((t (:foreground "red")))) - (eshell-ls-archive-face ((t (:foreground "green")))) - (eshell-ls-backup-face ((t (:foreground "grey60")))) - (eshell-ls-clutter-face ((t (:bold t :foreground "OrangeRed")))) - (eshell-ls-directory-face ((t (:bold t :foreground "SkyBlue")))) - (eshell-ls-executable-face ((t (:foreground "white")))) - (eshell-ls-missing-face ((t (:foreground "red")))) - (eshell-ls-product-face ((t (:foreground "LightSalmon")))) - (eshell-ls-readonly-face ((t (:foreground "indian red")))) - (eshell-ls-special-face ((t (:foreground "yellow")))) - (eshell-ls-symlink-face ((t (:foreground "#6666dd")))) - (eshell-ls-unreadable-face ((t (:foreground "red")))) - (eshell-prompt-face ((t (:bold t :background "#305050" :foreground "#EEDD99")))) - (font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) - (font-lock-comment-face ((t (:italic t :bold t :foreground "grey66")))) - (font-lock-constant-face ((t (:foreground "indian red")))) - (font-lock-function-name-face ((t (:foreground "#D0D000")))) - (font-lock-keyword-face ((t (:foreground "#00BBBB")))) - (font-lock-string-face ((t (:foreground "#10D010")))) - (font-lock-type-face ((t (:bold t :foreground "#ff7788")))) - (font-lock-variable-name-face ((t (:foreground "#eeddaa")))) - (font-lock-warning-face ((t (:bold t :foreground "Pink")))) - (header-line ((t (:box (:line-width 1 :style released-button))))) - (highlight ((t (:background "#226644")))) - (highlight-changes-delete-face ((t (:background "navy" :foreground "red")))) - (highlight-changes-face ((t (:background "navy")))) - (holiday-face ((t (:foreground "#ff7744")))) - (italic ((t (:italic t :foreground "#AA0000")))) - (gnus-emphasis-italic ((t (:italic t :foreground "#AA0000")))) - (modeline ((t (:background "#007080" :foreground "cyan")))) - (modeline-buffer-id ((t (:background "#007080" :foreground "cyan")))) - (modeline-mousable ((t (:background "#007080" :foreground "cyan")))) - (modeline-mousable-minor-mode ((t (:background "#007080" :foreground "cyan")))) - (region ((t (:background "#226644")))) - (secondary-selection ((t (:background "darkslategrey")))) - (sgml-comment-face ((t (:foreground "grey60")))) - (sgml-doctype-face ((t (:foreground "red")))) - (sgml-end-tag-face ((t (:foreground "#00D0D0")))) - (sgml-entity-face ((t (:foreground "indian red")))) - (sgml-ignored-face ((t (:background "gray60" :foreground "gray40")))) - (sgml-ms-end-face ((t (:foreground "green")))) - (sgml-ms-start-face ((t (:foreground "green")))) - (sgml-pi-face ((t (:foreground "lime green")))) - (sgml-sgml-face ((t (:foreground "brown")))) - (sgml-short-ref-face ((t (:foreground "deep sky blue")))) - (sgml-start-tag-face ((t (:foreground "#D0D000")))) - (show-paren-match-face ((t (:background "#400055" :foreground "cyan")))) - (show-paren-mismatch-face ((t (:background "red")))) - (special-string-face ((t (:foreground "light green")))) - (term-black ((t (:background "#000055" :foreground "black")))) - (term-blackbg ((t (:background "black" :foreground "#CCBB77")))) - (term-blue ((t (:background "#000055" :foreground "blue")))) - (term-bluebg ((t (:background "blue" :foreground "#CCBB77")))) - (term-bold ((t (:bold t :background "#000055" :foreground "#CCBB77")))) - (term-cyan ((t (:background "#000055" :foreground "cyan")))) - (term-cyanbg ((t (:background "darkcyan")))) - (term-default-bg ((t (:foreground "#CCBB77")))) - (term-default-bg-inv ((t (:foreground "#CCBB77")))) - (term-default-fg ((t (:background "#000055")))) - (term-default-fg-inv ((t (:background "#000055")))) - (term-green ((t (:background "#000055" :foreground "green")))) - (term-greenbg ((t (:background "darkgreen")))) - (term-invisible ((t (:foreground "#CCBB77")))) - (term-invisible-inv ((t (:foreground "#CCBB77")))) - (term-magenta ((t (:background "#000055" :foreground "magenta")))) - (term-magentabg ((t (:background "darkmagenta")))) - (term-red ((t (:background "#000055" :foreground "red")))) - (term-redbg ((t (:background "darkred")))) - (term-underline ((t (:underline t :background "#000055" :foreground "#CCBB77")))) - (term-white ((t (:background "#000055" :foreground "white")))) - (term-whitebg ((t (:background "grey50")))) - (term-yellow ((t (:background "#000055" :foreground "yellow")))) - (term-yellowbg ((t (:background "#997700")))) - (trailing-whitespace ((t (:background "#23415A")))) - (underline ((t (:underline t)))) - (gnus-emphasis-underline ((t (:underline t)))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "green")))) - (widget-field-face ((t (:background "grey35" :foreground "black")))) - (widget-inactive-face ((t (:foreground "gray")))) - (widget-single-line-field-face ((t (:background "dim gray"))))))) - -(defun color-theme-gray1 () - "Color theme by Paul Pulli, created 2001-10-19." - (interactive) - (color-theme-install - '(color-theme-gray1 - ((background-color . "darkgray") - (background-mode . light) - (background-toolbar-color . "#949494949494") - (border-color . "#000000000000") - (bottom-toolbar-shadow-color . "#595959595959") - (cursor-color . "Yellow") - (foreground-color . "black") - (top-toolbar-shadow-color . "#b2b2b2b2b2b2")) - nil - (default ((t (nil)))) - (blue ((t (:foreground "blue")))) - (bold ((t (:bold t)))) - (bold-italic ((t (:italic t :bold t)))) - (border-glyph ((t (nil)))) - (cperl-here-face ((t (:background "gray68" :foreground "DeepPink")))) - (font-lock-builtin-face ((t (:bold t :foreground "red3")))) - (font-lock-comment-face ((t (:foreground "gray50")))) - (font-lock-constant-face ((t (:bold t :foreground "blue3")))) - (font-lock-doc-string-face ((t (:foreground "black")))) - (font-lock-function-name-face ((t (:bold t :foreground "DeepPink3")))) - (font-lock-keyword-face ((t (:bold t :foreground "red")))) - (font-lock-other-type-face ((t (:bold t :foreground "green4")))) - (font-lock-preprocessor-face ((t (:bold t :foreground "blue3")))) - (font-lock-reference-face ((t (:bold t :foreground "red3")))) - (font-lock-string-face ((t (:foreground "red")))) - (font-lock-type-face ((t (:bold t :foreground "white")))) - (font-lock-variable-name-face ((t (:bold t :foreground "blue3")))) - (font-lock-warning-face ((t (:bold t :foreground "Red")))) - (green ((t (:foreground "green4")))) - (gui-button-face ((t (:background "black" :foreground "red")))) - (gui-element ((t (:background "gray58")))) - (highlight ((t (:background "magenta" :foreground "yellow")))) - (isearch ((t (:background "red" :foreground "yellow")))) - (italic ((t (:italic t)))) - (left-margin ((t (nil)))) - (list-mode-item-selected ((t (:background "gray90" :foreground "purple")))) - (m4-face ((t (:background "gray90" :foreground "orange3")))) - (message-cited-text ((t (nil)))) - (message-header-contents ((t (nil)))) - (message-headers ((t (nil)))) - (message-highlighted-header-contents ((t (nil)))) - (modeline ((t (:background "#aa80aa" :foreground "White")))) - (modeline-buffer-id ((t (:background "#aa80aa" :foreground "linen")))) - (modeline-mousable ((t (:background "#aa80aa" :foreground "cyan")))) - (modeline-mousable-minor-mode ((t (:background "#aa80aa" :foreground "yellow")))) - (paren-blink-off ((t (:foreground "gray58")))) - (paren-blink-on ((t (:foreground "purple")))) - (paren-match ((t (:background "gray68" :foreground "white")))) - (paren-mismatch ((t (:background "DeepPink" :foreground "black")))) - (pointer ((t (nil)))) - (primary-selection ((t (:background "gray")))) - (red ((t (:foreground "red")))) - (right-margin ((t (nil)))) - (secondary-selection ((t (:background "paleturquoise")))) - (text-cursor ((t (:background "Yellow" :foreground "darkgray")))) - (toolbar ((t (:background "#aa80aa" :foreground "linen")))) - (underline ((t (:underline t)))) - (vertical-divider ((t (nil)))) - (x-face ((t (:background "black" :foreground "lavenderblush")))) - (yellow ((t (:foreground "yellow3")))) - (zmacs-region ((t (:background "paleturquoise" :foreground "black"))))))) - -(defun color-theme-word-perfect () - "White on blue background, based on WordPerfect 5.1. -Color theme by Thomas Gehrlein, created 2001-10-21." - (interactive) - (color-theme-install - '(color-theme-word-perfect - ((background-color . "blue4") - (background-mode . dark) - (border-color . "black") - (cursor-color . "gold") - (foreground-color . "white") - (mouse-color . "black")) - ((ecb-source-in-directories-buffer-face . ecb-sources-face) - (gnus-mouse-face . highlight) - (goto-address-mail-face . italic) - (goto-address-mail-mouse-face . secondary-selection) - (goto-address-url-face . bold) - (goto-address-url-mouse-face . highlight) - (list-matching-lines-face . bold) - (view-highlight-face . highlight)) - (default ((t (nil)))) - (bbdb-field-name ((t (:foreground "lime green")))) - (bbdb-field-value ((t (:foreground "white")))) - (bbdb-name ((t (:underline t :foreground "lime green")))) - (bold ((t (:bold t :foreground "white")))) - (bold-italic ((t (:italic t :bold t :foreground "yellow")))) - (calendar-today-face ((t (:underline t :foreground "deep sky blue")))) - (diary-face ((t (:foreground "gold")))) - (ecb-sources-face ((t (:foreground "LightBlue1")))) - (edb-inter-field-face ((t (:foreground "deep sky blue")))) - (edb-normal-summary-face ((t (:foreground "gold")))) - (emacs-wiki-bad-link-face ((t (:underline "coral" :bold t :foreground "coral")))) - (emacs-wiki-link-face ((t (:underline "cyan" :bold t :foreground "cyan")))) - (font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) - (font-lock-comment-face ((t (:foreground "deep sky blue")))) - (font-lock-constant-face ((t (:foreground "lime green")))) - (font-lock-doc-face ((t (:foreground "gold")))) - (font-lock-doc-string-face ((t (:foreground "gold")))) - (font-lock-function-name-face ((t (:background "blue4" :foreground "IndianRed")))) - (font-lock-keyword-face ((t (:foreground "lime green")))) - (font-lock-preprocessor-face ((t (:foreground "lime green")))) - (font-lock-reference-face ((t (:foreground "LightSteelBlue")))) - (font-lock-string-face ((t (:foreground "gold")))) - (font-lock-type-face ((t (:foreground "lime green")))) - (font-lock-variable-name-face ((t (:foreground "LightGoldenrod")))) - (font-lock-warning-face ((t (:bold t :foreground "firebrick")))) - (gnus-emphasis-bold ((t (:foreground "yellow2")))) - (gnus-emphasis-bold-italic ((t (:foreground "yellow2")))) - (gnus-emphasis-italic ((t (:foreground "yellow2")))) - (gnus-emphasis-underline ((t (:foreground "yellow2")))) - (gnus-emphasis-underline-bold ((t (:foreground "yellow2")))) - (gnus-emphasis-underline-bold-italic ((t (:foreground "yellow2")))) - (gnus-emphasis-underline-italic ((t (:foreground "yellow2")))) - (gnus-group-mail-1-empty-face ((t (:foreground "aquamarine1")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "aquamarine1")))) - (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "aquamarine2")))) - (gnus-group-mail-3-empty-face ((t (:foreground "aquamarine3")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "aquamarine3")))) - (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "aquamarine4")))) - (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) - (gnus-group-news-1-face ((t (:bold t :foreground "PaleTurquoise")))) - (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) - (gnus-group-news-2-face ((t (:bold t :foreground "turquoise")))) - (gnus-group-news-3-empty-face ((t (:foreground "deep sky blue")))) - (gnus-group-news-3-face ((t (:bold t :foreground "deep sky blue")))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkTurquoise")))) - (gnus-header-content-face ((t (:foreground "gold")))) - (gnus-header-from-face ((t (:foreground "gold")))) - (gnus-header-name-face ((t (:foreground "deep sky blue")))) - (gnus-header-newsgroups-face ((t (:foreground "gold")))) - (gnus-header-subject-face ((t (:foreground "gold")))) - (gnus-signature-face ((t (:foreground "gold")))) - (gnus-splash-face ((t (:foreground "firebrick")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "deep sky blue")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "deep sky blue")))) - (gnus-summary-high-read-face ((t (:bold t :foreground "deep sky blue")))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "deep sky blue")))) - (gnus-summary-high-unread-face ((t (:bold t :foreground "lime green")))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "deep sky blue")))) - (gnus-summary-low-read-face ((t (:italic t :foreground "deep sky blue")))) - (gnus-summary-low-ticked-face ((t (:italic t :foreground "deep sky blue")))) - (gnus-summary-low-unread-face ((t (:italic t :foreground "lime green")))) - (gnus-summary-normal-ancient-face ((t (:foreground "deep sky blue")))) - (gnus-summary-normal-read-face ((t (:foreground "deep sky blue")))) - (gnus-summary-normal-ticked-face ((t (:foreground "deep sky blue")))) - (gnus-summary-normal-unread-face ((t (:foreground "lime green")))) - (gnus-summary-selected-face ((t (:underline t :foreground "gold")))) - (highlight ((t (:background "steel blue" :foreground "black")))) - (holiday-face ((t (:background "blue4" :foreground "IndianRed1")))) - (info-menu-5 ((t (:underline t :foreground "gold")))) - (info-node ((t (:italic t :bold t :foreground "gold")))) - (info-xref ((t (:bold t :foreground "gold")))) - (isearch ((t (:background "firebrick" :foreground "white")))) - (italic ((t (:italic t :foreground "yellow2")))) - (message-cited-text-face ((t (:foreground "gold")))) - (message-header-cc-face ((t (:bold t :foreground "green4")))) - (message-header-name-face ((t (:foreground "deep sky blue")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "gold")))) - (message-header-other-face ((t (:foreground "gold")))) - (message-header-subject-face ((t (:foreground "gold")))) - (message-header-to-face ((t (:bold t :foreground "gold")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-separator-face ((t (:foreground "lime green")))) - (modeline ((t (:foreground "white" :background "black")))) - (modeline-buffer-id ((t (:foreground "white" :background "black")))) - (modeline-mousable ((t (:foreground "white" :background "black")))) - (modeline-mousable-minor-mode ((t (:foreground "white" :background "black")))) - (overlay-empty-face ((t (nil)))) - (primary-selection ((t (:background "firebrick" :foreground "white")))) - (region ((t (:background "firebrick" :foreground "white")))) - (secondary-selection ((t (:background "yellow2" :foreground "black")))) - (semantic-dirty-token-face ((t (:background "gray10")))) - (show-paren-match-face ((t (:background "deep sky blue" :foreground "black")))) - (show-paren-mismatch-face ((t (:background "firebrick" :foreground "white")))) - (underline ((t (:underline t :background "blue4" :foreground "white"))))))) - -;; In order to produce this, follow these steps: -;; -;; 0. Make sure .Xresources and .Xdefaults don't have any Emacs related -;; entries. -;; -;; 1. cd into the Emacs lisp directory and run the following command: -;; ( for d in `find -type d`; \ -;; do grep --files-with-matches 'defface[ ]' $d/*.el; \ -;; done ) | sort | uniq -;; Put the result in a lisp block, using load-library calls. -;; -;; Repeat this for any directories on your load path which you want to -;; include in the standard. This might include W3, eshell, etc. -;; -;; Add some of the libraries that don't use defface: -;; -;; 2. Start emacs using the --no-init-file and --no-site-file command line -;; arguments. Evaluate the lisp block you prepared. -;; 3. Load color-theme and run color-theme-print. Save the output and use it -;; to define color-theme-standard. -;; -;; (progn -;; (load-library "add-log") -;; (load-library "calendar") -;; (load-library "comint") -;; (load-library "cus-edit") -;; (load-library "cus-face") -;; (load-library "custom") -;; (load-library "diff-mode") -;; (load-library "ediff-init") -;; (load-library "re-builder") -;; (load-library "viper-init") -;; (load-library "enriched") -;; (load-library "em-ls") -;; (load-library "em-prompt") -;; (load-library "esh-test") -;; (load-library "faces") -;; (load-library "font-lock") -;; (load-library "generic-x") -;; (load-library "gnus-art") -;; (load-library "gnus-cite") -;; (load-library "gnus") -;; (load-library "message") -;; (load-library "hilit-chg") -;; (load-library "hi-lock") -;; (load-library "info") -;; (load-library "isearch") -;; (load-library "log-view") -;; (load-library "paren") -;; (load-library "pcvs-info") -;; (load-library "antlr-mode") -;; (load-library "cperl-mode") -;; (load-library "ebrowse") -;; (load-library "idlwave") -;; (load-library "idlw-shell") -;; (load-library "make-mode") -;; (load-library "sh-script") -;; (load-library "vhdl-mode") -;; (load-library "smerge-mode") -;; (load-library "speedbar") -;; (load-library "strokes") -;; (load-library "artist") -;; (load-library "flyspell") -;; (load-library "texinfo") -;; (load-library "tex-mode") -;; (load-library "tooltip") -;; (load-library "vcursor") -;; (load-library "wid-edit") -;; (load-library "woman") -;; (load-library "term") -;; (load-library "man") -;; (load-file "/home/alex/elisp/color-theme.el") -;; (color-theme-print)) -;; -;; 4. Make the color theme usable on Xemacs (add more faces, resolve -;; :inherit attributes) -;; -(defun color-theme-emacs-21 () - "Color theme used by Emacs 21.1. -Added and adapted for XEmacs by Alex Schroeder. Adaptation mostly -consisted of resolving :inherit attributes and adding missing faces. -This theme includes faces from the following Emacs libraries: add-log -calendar comint cus-edit cus-face custom diff-mode ediff-init re-builder -viper-init enriched em-ls em-prompt esh-test faces font-lock generic-x -gnus-art gnus-cite gnus message hilit-chg hi-lock info isearch log-view -paren pcvs-info antlr-mode cperl-mode ebrowse idlwave idlw-shell -make-mode sh-script vhdl-mode smerge-mode speedbar strokes artist -flyspell texinfo tex-mode tooltip vcursor wid-edit woman term man" - (interactive) - (color-theme-install - '(color-theme-emacs-21 - ((background-color . "white") - (background-mode . light) - (border-color . "black") - (cursor-color . "black") - (foreground-color . "black") - (mouse-color . "black")) - ((Man-overstrike-face . bold) - (Man-underline-face . underline) - (cperl-here-face . font-lock-string-face) - (cperl-invalid-face . underline) - (cperl-pod-face . font-lock-comment-face) - (cperl-pod-head-face . font-lock-variable-name-face) - (gnus-article-button-face . bold) - (gnus-article-mouse-face . highlight) - (gnus-cite-attribution-face . gnus-cite-attribution-face) - (gnus-mouse-face . highlight) - (gnus-signature-face . gnus-signature-face) - (gnus-summary-selected-face . gnus-summary-selected-face) - (help-highlight-face . underline) - (idlwave-class-arrow-face . bold) - (idlwave-shell-breakpoint-face . idlwave-shell-bp-face) - (idlwave-shell-expression-face . secondary-selection) - (idlwave-shell-stop-line-face . highlight) - (ispell-highlight-face . highlight) - (list-matching-lines-face . bold) - (view-highlight-face . highlight) - (viper-insert-state-cursor-color . "Green") - (viper-replace-overlay-cursor-color . "Red") - (widget-mouse-face . highlight)) - (default ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (Info-title-1-face ((t (:bold t :weight bold :family "helv" :height 1.728)))) - (Info-title-2-face ((t (:bold t :family "helv" :weight bold :height 1.44)))) - (Info-title-3-face ((t (:bold t :weight bold :family "helv" :height 1.2)))) - (Info-title-4-face ((t (:bold t :family "helv" :weight bold)))) - (antlr-font-lock-keyword-face ((t (:bold t :foreground "black" :weight bold)))) - (antlr-font-lock-literal-face ((t (:bold t :foreground "brown4" :weight bold)))) - (antlr-font-lock-ruledef-face ((t (:bold t :foreground "blue" :weight bold)))) - (antlr-font-lock-ruleref-face ((t (:foreground "blue4")))) - (antlr-font-lock-tokendef-face ((t (:bold t :foreground "blue" :weight bold)))) - (antlr-font-lock-tokenref-face ((t (:foreground "orange4")))) - (bold ((t (:bold t :weight bold)))) - (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (border ((t (:background "black")))) - (calendar-today-face ((t (:underline t)))) - (change-log-acknowledgement-face ((t (:foreground "Firebrick")))) - (change-log-conditionals-face ((t (:foreground "DarkGoldenrod")))) - (change-log-date-face ((t (:foreground "RosyBrown")))) - (change-log-email-face ((t (:foreground "DarkGoldenrod")))) - (change-log-file-face ((t (:foreground "Blue")))) - (change-log-function-face ((t (:foreground "DarkGoldenrod")))) - (change-log-list-face ((t (:foreground "Purple")))) - (change-log-name-face ((t (:foreground "CadetBlue")))) - (comint-highlight-input ((t (:bold t :weight bold)))) - (comint-highlight-prompt ((t (:foreground "dark blue")))) - (cperl-array-face ((t (:bold t :background "lightyellow2" :foreground "Blue" :weight bold)))) - (cperl-hash-face ((t (:italic t :bold t :background "lightyellow2" :foreground "Red" :slant italic :weight bold)))) - (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) - (cursor ((t (:background "black")))) - (custom-button-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style released-button))))) - (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style pressed-button))))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-comment-face ((t (:background "gray85")))) - (custom-comment-tag-face ((t (:foreground "blue4")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:bold t :family "helv" :weight bold :height 1.2)))) - (custom-group-tag-face ((t (:bold t :foreground "blue" :weight bold :height 1.2)))) - (custom-group-tag-face-1 ((t (:bold t :family "helv" :foreground "red" :weight bold :height 1.2)))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "dark green")))) - (custom-variable-button-face ((t (:bold t :underline t :weight bold)))) - (custom-variable-tag-face ((t (:bold t :family "helv" :foreground "blue" :weight bold :height 1.2)))) - (cvs-filename-face ((t (:foreground "blue4")))) - (cvs-handled-face ((t (:foreground "pink")))) - (cvs-header-face ((t (:bold t :foreground "blue4" :weight bold)))) - (cvs-marked-face ((t (:bold t :foreground "green3" :weight bold)))) - (cvs-msg-face ((t (:italic t :slant italic)))) - (cvs-need-action-face ((t (:foreground "orange")))) - (cvs-unknown-face ((t (:foreground "red")))) - (diary-face ((t (:foreground "red")))) - (diff-added-face ((t (nil)))) - (diff-changed-face ((t (nil)))) - (diff-context-face ((t (:foreground "grey50")))) - (diff-file-header-face ((t (:bold t :background "grey70" :weight bold)))) - (diff-function-face ((t (:foreground "grey50")))) - (diff-header-face ((t (:background "grey85")))) - (diff-hunk-header-face ((t (:background "grey85")))) - (diff-index-face ((t (:bold t :weight bold :background "grey70")))) - (diff-nonexistent-face ((t (:bold t :weight bold :background "grey70")))) - (diff-removed-face ((t (nil)))) - (dired-face-boring ((t (:foreground "RosyBrown")))) - (dired-face-directory ((t (:foreground "Blue")))) - (dired-face-executable ((t (nil)))) - (dired-face-flagged ((t (:foreground "Red" :weight bold)))) - (dired-face-marked ((t (:foreground "Red" :weight bold)))) - (dired-face-permissions ((t (nil)))) - (dired-face-setuid ((t (nil)))) - (dired-face-socket ((t (nil)))) - (dired-face-symlink ((t (:foreground "Purple")))) - (ebrowse-default-face ((t (nil)))) - (ebrowse-file-name-face ((t (:italic t :slant italic)))) - (ebrowse-member-attribute-face ((t (:foreground "red")))) - (ebrowse-member-class-face ((t (:foreground "purple")))) - (ebrowse-progress-face ((t (:background "blue")))) - (ebrowse-root-class-face ((t (:bold t :foreground "blue" :weight bold)))) - (ebrowse-tree-mark-face ((t (:foreground "red")))) - (ediff-current-diff-face-A ((t (:background "pale green" :foreground "firebrick")))) - (ediff-current-diff-face-Ancestor ((t (:background "VioletRed" :foreground "Black")))) - (ediff-current-diff-face-B ((t (:background "Yellow" :foreground "DarkOrchid")))) - (ediff-current-diff-face-C ((t (:background "Pink" :foreground "Navy")))) - (ediff-even-diff-face-A ((t (:background "light grey" :foreground "Black")))) - (ediff-even-diff-face-Ancestor ((t (:background "Grey" :foreground "White")))) - (ediff-even-diff-face-B ((t (:background "Grey" :foreground "White")))) - (ediff-even-diff-face-C ((t (:background "light grey" :foreground "Black")))) - (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy")))) - (ediff-fine-diff-face-Ancestor ((t (:background "Green" :foreground "Black")))) - (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Black")))) - (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Black")))) - (ediff-odd-diff-face-A ((t (:background "Grey" :foreground "White")))) - (ediff-odd-diff-face-Ancestor ((t (:background "light grey" :foreground "Black")))) - (ediff-odd-diff-face-B ((t (:background "light grey" :foreground "Black")))) - (ediff-odd-diff-face-C ((t (:background "Grey" :foreground "White")))) - (eshell-ls-archive-face ((t (:bold t :foreground "Orchid" :weight bold)))) - (eshell-ls-backup-face ((t (:foreground "OrangeRed")))) - (eshell-ls-clutter-face ((t (:bold t :foreground "OrangeRed" :weight bold)))) - (eshell-ls-directory-face ((t (:bold t :foreground "Blue" :weight bold)))) - (eshell-ls-executable-face ((t (:bold t :foreground "ForestGreen" :weight bold)))) - (eshell-ls-missing-face ((t (:bold t :foreground "Red" :weight bold)))) - (eshell-ls-product-face ((t (:foreground "OrangeRed")))) - (eshell-ls-readonly-face ((t (:foreground "Brown")))) - (eshell-ls-special-face ((t (:bold t :foreground "Magenta" :weight bold)))) - (eshell-ls-symlink-face ((t (:bold t :foreground "Dark Cyan" :weight bold)))) - (eshell-ls-unreadable-face ((t (:foreground "Grey30")))) - (eshell-prompt-face ((t (:bold t :foreground "Red" :weight bold)))) - (eshell-test-failed-face ((t (:bold t :foreground "OrangeRed" :weight bold)))) - (eshell-test-ok-face ((t (:bold t :foreground "Green" :weight bold)))) - (excerpt ((t (:italic t :slant italic)))) - (fixed ((t (:bold t :weight bold)))) - (fixed-pitch ((t (:family "courier")))) - (flyspell-duplicate-face ((t (:bold t :foreground "Gold3" :underline t :weight bold)))) - (flyspell-incorrect-face ((t (:bold t :foreground "OrangeRed" :underline t :weight bold)))) - (font-lock-builtin-face ((t (:foreground "Orchid")))) - (font-lock-comment-face ((t (:foreground "Firebrick")))) - (font-lock-constant-face ((t (:foreground "CadetBlue")))) - (font-lock-doc-face ((t (:foreground "RosyBrown")))) - (font-lock-doc-string-face ((t (:foreground "RosyBrown")))) - (font-lock-function-name-face ((t (:foreground "Blue")))) - (font-lock-keyword-face ((t (:foreground "Purple")))) - (font-lock-preprocessor-face ((t (:foreground "CadetBlue")))) - (font-lock-reference-face ((t (:foreground "Orchid")))) - (font-lock-string-face ((t (:foreground "RosyBrown")))) - (font-lock-type-face ((t (:foreground "ForestGreen")))) - (font-lock-variable-name-face ((t (:foreground "DarkGoldenrod")))) - (font-lock-warning-face ((t (:bold t :foreground "Red" :weight bold)))) - (fringe ((t (:background "grey95")))) - (gnus-cite-attribution-face ((t (:italic t :slant italic)))) - (gnus-cite-face-1 ((t (:foreground "MidnightBlue")))) - (gnus-cite-face-10 ((t (:foreground "medium purple")))) - (gnus-cite-face-11 ((t (:foreground "turquoise")))) - (gnus-cite-face-2 ((t (:foreground "firebrick")))) - (gnus-cite-face-3 ((t (:foreground "dark green")))) - (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) - (gnus-cite-face-5 ((t (:foreground "dark khaki")))) - (gnus-cite-face-6 ((t (:foreground "dark violet")))) - (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-emphasis-bold ((t (:bold t :weight bold)))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) - (gnus-emphasis-italic ((t (:italic t :slant italic)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:bold t :underline t :weight bold)))) - (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :underline t :slant italic :weight bold)))) - (gnus-emphasis-underline-italic ((t (:italic t :underline t :slant italic)))) - (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3" :weight bold)))) - (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3" :weight bold)))) - (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4" :weight bold)))) - (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4" :weight bold)))) - (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) - (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen" :weight bold)))) - (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) - (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4" :weight bold)))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t :weight bold)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t :weight bold)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t :weight bold)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t :weight bold)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen" :weight bold)))) - (gnus-header-content-face ((t (:italic t :foreground "indianred4" :slant italic)))) - (gnus-header-from-face ((t (:foreground "red3")))) - (gnus-header-name-face ((t (:foreground "maroon")))) - (gnus-header-newsgroups-face ((t (:italic t :foreground "MidnightBlue" :slant italic)))) - (gnus-header-subject-face ((t (:foreground "red4")))) - (gnus-signature-face ((t (:italic t :slant italic)))) - (gnus-splash-face ((t (:foreground "Brown")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue" :weight bold)))) - (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen" :weight bold)))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick" :weight bold)))) - (gnus-summary-high-unread-face ((t (:bold t :weight bold)))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue" :slant italic)))) - (gnus-summary-low-read-face ((t (:italic t :foreground "DarkGreen" :slant italic)))) - (gnus-summary-low-ticked-face ((t (:italic t :foreground "firebrick" :slant italic)))) - (gnus-summary-low-unread-face ((t (:italic t :slant italic)))) - (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) - (gnus-summary-normal-ticked-face ((t (:foreground "firebrick")))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-selected-face ((t (:underline t)))) - (header-line ((t (:box (:line-width -1 :style released-button) :background "grey90" :foreground "grey20" :box nil)))) - (hi-black-b ((t (:bold t :weight bold)))) - (hi-black-hb ((t (:bold t :family "helv" :weight bold :height 1.67)))) - (hi-blue ((t (:background "light blue")))) - (hi-blue-b ((t (:bold t :foreground "blue" :weight bold)))) - (hi-green ((t (:background "green")))) - (hi-green-b ((t (:bold t :foreground "green" :weight bold)))) - (hi-pink ((t (:background "pink")))) - (hi-red-b ((t (:bold t :foreground "red" :weight bold)))) - (hi-yellow ((t (:background "yellow")))) - (highlight ((t (:background "darkseagreen2")))) - (highlight-changes-delete-face ((t (:foreground "red" :underline t)))) - (highlight-changes-face ((t (:foreground "red")))) - (holiday-face ((t (:background "pink")))) - (idlwave-help-link-face ((t (:foreground "Blue")))) - (idlwave-shell-bp-face ((t (:background "Pink" :foreground "Black")))) - (info-header-node ((t (:italic t :bold t :weight bold :slant italic :foreground "brown")))) - (info-header-xref ((t (:bold t :weight bold :foreground "magenta4")))) - (info-menu-5 ((t (:foreground "red1")))) - (info-menu-header ((t (:bold t :family "helv" :weight bold)))) - (info-node ((t (:italic t :bold t :foreground "brown" :slant italic :weight bold)))) - (info-xref ((t (:bold t :foreground "magenta4" :weight bold)))) - (isearch ((t (:background "magenta4" :foreground "lightskyblue1")))) - (isearch-lazy-highlight-face ((t (:background "paleturquoise")))) - (italic ((t (:italic t :slant italic)))) - (log-view-file-face ((t (:bold t :background "grey70" :weight bold)))) - (log-view-message-face ((t (:background "grey85")))) - (makefile-space-face ((t (:background "hotpink")))) - (menu ((t (nil)))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:foreground "MidnightBlue")))) - (message-header-name-face ((t (:foreground "cornflower blue")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4" :slant italic :weight bold)))) - (message-header-other-face ((t (:foreground "steel blue")))) - (message-header-subject-face ((t (:bold t :foreground "navy blue" :weight bold)))) - (message-header-to-face ((t (:bold t :foreground "MidnightBlue" :weight bold)))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-mml-face ((t (:foreground "ForestGreen")))) - (message-separator-face ((t (:foreground "brown")))) - (modeline ((t (:background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) - (modeline-buffer-id ((t (:bold t :background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) - (modeline-mousable ((t (:background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) - (modeline-mousable-minor-mode ((t (:background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) - (mouse ((t (:background "black")))) - (primary-selection ((t (:background "lightgoldenrod2")))) - (reb-match-0 ((t (:background "lightblue")))) - (reb-match-1 ((t (:background "aquamarine")))) - (reb-match-2 ((t (:background "springgreen")))) - (reb-match-3 ((t (:background "yellow")))) - (region ((t (:background "lightgoldenrod2")))) - (scroll-bar ((t (:background "grey75")))) - (secondary-selection ((t (:background "yellow")))) - (sh-heredoc-face ((t (:foreground "tan")))) - (show-paren-match-face ((t (:background "turquoise")))) - (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) - (show-tabs-space-face ((t (:foreground "yellow")))) - (show-tabs-tab-face ((t (:foreground "red")))) - (smerge-base-face ((t (:foreground "red")))) - (smerge-markers-face ((t (:background "grey85")))) - (smerge-mine-face ((t (:foreground "blue")))) - (smerge-other-face ((t (:foreground "darkgreen")))) - (speedbar-button-face ((t (:foreground "green4")))) - (speedbar-directory-face ((t (:foreground "blue4")))) - (speedbar-file-face ((t (:foreground "cyan4")))) - (speedbar-highlight-face ((t (:background "green")))) - (speedbar-selected-face ((t (:foreground "red" :underline t)))) - (speedbar-tag-face ((t (:foreground "brown")))) - (strokes-char-face ((t (:background "lightgray")))) - (term-black ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-blackbg ((t (:stipple nil :background "black" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-blue ((t (:stipple nil :background "white" :foreground "blue" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-bluebg ((t (:stipple nil :background "blue" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-bold ((t (:bold t :stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight bold :width normal :family "adobe-courier")))) - (term-cyan ((t (:stipple nil :background "white" :foreground "cyan" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-cyanbg ((t (:stipple nil :background "cyan" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-default ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-default-bg ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-default-bg-inv ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-default-fg ((t (:stipple nil :background "white" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-default-fg-inv ((t (:stipple nil :background "white" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-green ((t (:stipple nil :background "white" :foreground "green" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-greenbg ((t (:stipple nil :background "green" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-invisible ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-invisible-inv ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-magenta ((t (:stipple nil :background "white" :foreground "magenta" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-magentabg ((t (:stipple nil :background "magenta" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-red ((t (:stipple nil :background "white" :foreground "red" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-redbg ((t (:stipple nil :background "red" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-underline ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline t :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-white ((t (:stipple nil :background "white" :foreground "white" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-whitebg ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-yellow ((t (:stipple nil :background "white" :foreground "yellow" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-yellowbg ((t (:stipple nil :background "yellow" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (tex-math-face ((t (:foreground "RosyBrown")))) - (texinfo-heading-face ((t (:foreground "Blue")))) - (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) - (tooltip ((t (:background "lightyellow" :foreground "black")))) - (trailing-whitespace ((t (:background "red")))) - (underline ((t (:underline t)))) - (variable-pitch ((t (:family "helv")))) - (vcursor ((t (:background "cyan" :foreground "blue" :underline t)))) - (vhdl-font-lock-attribute-face ((t (:foreground "Orchid")))) - (vhdl-font-lock-directive-face ((t (:foreground "CadetBlue")))) - (vhdl-font-lock-enumvalue-face ((t (:foreground "Gold4")))) - (vhdl-font-lock-function-face ((t (:foreground "Orchid4")))) - (vhdl-font-lock-prompt-face ((t (:bold t :foreground "Red" :weight bold)))) - (vhdl-font-lock-reserved-words-face ((t (:bold t :foreground "Orange" :weight bold)))) - (vhdl-font-lock-translate-off-face ((t (:background "LightGray")))) - (vhdl-speedbar-architecture-face ((t (:foreground "Blue")))) - (vhdl-speedbar-architecture-selected-face ((t (:foreground "Blue" :underline t)))) - (vhdl-speedbar-configuration-face ((t (:foreground "DarkGoldenrod")))) - (vhdl-speedbar-configuration-selected-face ((t (:foreground "DarkGoldenrod" :underline t)))) - (vhdl-speedbar-entity-face ((t (:foreground "ForestGreen")))) - (vhdl-speedbar-entity-selected-face ((t (:foreground "ForestGreen" :underline t)))) - (vhdl-speedbar-instantiation-face ((t (:foreground "Brown")))) - (vhdl-speedbar-instantiation-selected-face ((t (:foreground "Brown" :underline t)))) - (vhdl-speedbar-package-face ((t (:foreground "Grey50")))) - (vhdl-speedbar-package-selected-face ((t (:foreground "Grey50" :underline t)))) - (viper-minibuffer-emacs-face ((t (:background "darkseagreen2" :foreground "Black")))) - (viper-minibuffer-insert-face ((t (:background "pink" :foreground "Black")))) - (viper-minibuffer-vi-face ((t (:background "grey" :foreground "DarkGreen")))) - (viper-replace-overlay-face ((t (:background "darkseagreen2" :foreground "Black")))) - (viper-search-face ((t (:background "khaki" :foreground "Black")))) - (widget-button-face ((t (:bold t :weight bold)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (widget-single-line-field-face ((t (:background "gray85")))) - (woman-addition-face ((t (:foreground "orange")))) - (woman-bold-face ((t (:bold t :foreground "blue" :weight bold)))) - (woman-italic-face ((t (:italic t :foreground "red" :underline t :slant italic)))) - (woman-unknown-face ((t (:foreground "brown")))) - (zmacs-region ((t (:background "lightgoldenrod2"))))))) - -(defun color-theme-jsc-light2 () - "Color theme by John S Cooper, created 2001-10-29. -This builds on `color-theme-jsc-light'." - (interactive) - (color-theme-jsc-light) - (let ((color-theme-is-cumulative t)) - (color-theme-install - '(color-theme-jsc-light2 - ((vc-annotate-very-old-color . "#0046FF") - (senator-eldoc-use-color . t)) - nil - (bold ((t (:bold t :weight bold)))) - (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (change-log-file-face ((t (:foreground "Blue")))) - (change-log-name-face ((t (:foreground "Maroon")))) - (comint-highlight-prompt ((t (:foreground "dark blue")))) - (custom-button-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style released-button))))) - (custom-face-tag-face ((t (:bold t :family "helv" :weight bold :height 1.2)))) - (custom-group-tag-face ((t (:bold t :foreground "blue" :weight bold :height 1.2)))) - (custom-group-tag-face-1 ((t (:bold t :family "helv" :foreground "red" :weight bold :height 1.2)))) - (custom-variable-tag-face ((t (:bold t :family "helv" :foreground "blue" :weight bold :height 1.2)))) - (font-lock-constant-face ((t (:foreground "Maroon")))) - (font-lock-function-name-face ((t (:foreground "Blue")))) - (font-lock-type-face ((t (:italic t :foreground "Navy" :slant italic)))) - (fringe ((t (:background "grey88")))) - (gnus-group-mail-1-empty-face ((t (:foreground "Blue2")))) - (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) - (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen" :weight bold)))) - (gnus-header-content-face ((t (:italic t :foreground "indianred4" :slant italic)))) - (gnus-header-name-face ((t (:bold t :foreground "maroon" :weight bold)))) - (gnus-header-subject-face ((t (:foreground "red4")))) - (gnus-signature-face ((t (:italic t :slant italic)))) - (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen" :weight bold)))) - (gnus-summary-high-unread-face ((t (:bold t :weight bold)))) - (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) - (gnus-summary-normal-ticked-face ((t (:foreground "Navy")))) - (gnus-summary-normal-unread-face ((t (:bold t :foreground "DarkGreen" :weight bold)))) - (header-line ((t (:background "grey90" :foreground "grey20" :box nil)))) - (highlight ((t (:background "darkseagreen2")))) - (ido-subdir-face ((t (:foreground "red")))) - (isearch ((t (:background "magenta4" :foreground "lightskyblue1")))) - (mode-line ((t (:background "grey88" :foreground "black" :box (:line-width -1 :style released-button))))) - (region ((t (:background "lightgoldenrod2")))) - (scroll-bar ((t (nil)))) - (secondary-selection ((t (:background "yellow")))) - (show-paren-match-face ((t (:background "turquoise")))) - (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) - (tooltip ((t (:background "lightyellow" :foreground "black")))))))) - -(defun color-theme-ld-dark () - "Dark Color theme by Linh Dang, created 2001-11-06." - (interactive) - (color-theme-install - '(color-theme-ld-dark - ((background-color . "black") - (background-mode . dark) - (border-color . "black") - (cursor-color . "yellow") - (foreground-color . "white") - (mouse-color . "white")) - ((align-highlight-change-face . highlight) - (align-highlight-nochange-face . secondary-selection) - (apropos-keybinding-face . underline) - (apropos-label-face . italic) - (apropos-match-face . secondary-selection) - (apropos-property-face . bold-italic) - (apropos-symbol-face . bold) - (ebnf-except-border-color . "Black") - (ebnf-line-color . "Black") - (ebnf-non-terminal-border-color . "Black") - (ebnf-repeat-border-color . "Black") - (ebnf-special-border-color . "Black") - (ebnf-terminal-border-color . "Black") - (gnus-article-button-face . bold) - (gnus-article-mouse-face . highlight) - (gnus-carpal-button-face . bold) - (gnus-carpal-header-face . bold-italic) - (gnus-cite-attribution-face . gnus-cite-attribution-face) - (gnus-mouse-face . highlight) - (gnus-selected-tree-face . modeline) - (gnus-signature-face . gnus-signature-face) - (gnus-summary-selected-face . gnus-summary-selected-face) - (help-highlight-face . underline) - (list-matching-lines-face . bold) - (ps-line-number-color . "black") - (ps-zebra-color . 0.95) - (tags-tag-face . default) - (vc-annotate-very-old-color . "#0046FF") - (view-highlight-face . highlight) - (widget-mouse-face . highlight)) - (default ((t (:stipple nil :background "black" :foreground "white" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-courier new")))) - (Info-title-1-face ((t (:bold t :weight bold :family "helv" :height 1.728)))) - (Info-title-2-face ((t (:bold t :family "helv" :weight bold :height 1.44)))) - (Info-title-3-face ((t (:bold t :weight bold :family "helv" :height 1.2)))) - (Info-title-4-face ((t (:bold t :family "helv" :weight bold)))) - (bbdb-company ((t (:italic t :slant italic)))) - (bbdb-field-name ((t (:bold t :weight bold)))) - (bbdb-field-value ((t (nil)))) - (bbdb-name ((t (:underline t)))) - (bold ((t (:bold t :weight bold)))) - (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (border ((t (:background "black")))) - (change-log-acknowledgement-face ((t (:italic t :slant oblique :foreground "AntiqueWhite3")))) - (change-log-conditionals-face ((t (:foreground "Aquamarine")))) - (change-log-date-face ((t (:italic t :slant oblique :foreground "BurlyWood")))) - (change-log-email-face ((t (:foreground "Aquamarine")))) - (change-log-file-face ((t (:bold t :family "Verdana" :weight bold :foreground "LightSkyBlue" :height 0.9)))) - (change-log-function-face ((t (:foreground "Aquamarine")))) - (change-log-list-face ((t (:foreground "LightSkyBlue")))) - (change-log-name-face ((t (:bold t :weight bold :foreground "Gold")))) - (clear-case-mode-string-face ((t (:bold t :family "Arial" :box (:line-width 2 :color "grey" :style released-button) :foreground "black" :background "grey" :weight bold :height 0.9)))) - (comint-highlight-input ((t (:bold t :weight bold)))) - (comint-highlight-prompt ((t (:foreground "cyan")))) - (cursor ((t (:background "yellow")))) - (custom-button-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style released-button))))) - (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style pressed-button))))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-comment-face ((t (:background "dim gray")))) - (custom-comment-tag-face ((t (:foreground "gray80")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:bold t :family "helv" :weight bold :height 1.1)))) - (custom-group-tag-face ((t (:bold t :family "helv" :foreground "light blue" :weight bold :height 1.1)))) - (custom-group-tag-face-1 ((t (:bold t :family "helv" :foreground "pink" :weight bold :height 1.1)))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "lime green")))) - (custom-variable-button-face ((t (:bold t :underline t :weight bold)))) - (custom-variable-tag-face ((t (:bold t :family "helv" :foreground "light blue" :weight bold :height 1.2)))) - (diff-added-face ((t (nil)))) - (diff-changed-face ((t (nil)))) - (diff-context-face ((t (:foreground "grey70")))) - (diff-file-header-face ((t (:bold t :background "grey60" :weight bold)))) - (diff-function-face ((t (:foreground "grey70")))) - (diff-header-face ((t (:background "grey45")))) - (diff-hunk-header-face ((t (:background "grey45")))) - (diff-index-face ((t (:bold t :weight bold :background "grey60")))) - (diff-nonexistent-face ((t (:bold t :weight bold :background "grey60")))) - (diff-removed-face ((t (nil)))) - (fixed-pitch ((t (:family "courier")))) - (font-lock-builtin-face ((t (:foreground "SteelBlue")))) - (font-lock-comment-face ((t (:italic t :foreground "AntiqueWhite3" :slant oblique)))) - (font-lock-constant-face ((t (:bold t :foreground "Gold" :weight bold)))) - (font-lock-doc-face ((t (:italic t :slant oblique :foreground "BurlyWood")))) - (font-lock-doc-string-face ((t (:italic t :slant oblique :foreground "BurlyWood")))) - (font-lock-function-name-face ((t (:bold t :foreground "LightSkyBlue" :weight bold :height 0.9 :family "Verdana")))) - (font-lock-keyword-face ((t (:foreground "LightSkyBlue")))) - (font-lock-preprocessor-face ((t (:bold t :foreground "Gold" :weight bold)))) - (font-lock-reference-face ((t (:foreground "SteelBlue")))) - (font-lock-string-face ((t (:italic t :foreground "BurlyWood" :slant oblique)))) - (font-lock-type-face ((t (:bold t :foreground "PaleGreen" :weight bold :height 0.9 :family "Verdana")))) - (font-lock-variable-name-face ((t (:foreground "Aquamarine")))) - (font-lock-warning-face ((t (:bold t :foreground "chocolate" :weight bold)))) - (fringe ((t (:family "outline-courier new" :width normal :weight normal :slant normal :underline nil :overline nil :strike-through nil :box nil :inverse-video nil :stipple nil :background "grey4" :foreground "Wheat")))) - (gnus-cite-attribution-face ((t (:italic t :slant italic)))) - (gnus-cite-face-1 ((t (:foreground "light blue")))) - (gnus-cite-face-10 ((t (:foreground "medium purple")))) - (gnus-cite-face-11 ((t (:foreground "turquoise")))) - (gnus-cite-face-2 ((t (:foreground "light cyan")))) - (gnus-cite-face-3 ((t (:foreground "light yellow")))) - (gnus-cite-face-4 ((t (:foreground "light pink")))) - (gnus-cite-face-5 ((t (:foreground "pale green")))) - (gnus-cite-face-6 ((t (:foreground "beige")))) - (gnus-cite-face-7 ((t (:foreground "orange")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-emphasis-bold ((t (:bold t :weight bold)))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) - (gnus-emphasis-italic ((t (:italic t :slant italic)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:bold t :underline t :weight bold)))) - (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :underline t :slant italic :weight bold)))) - (gnus-emphasis-underline-italic ((t (:italic t :underline t :slant italic)))) - (gnus-group-mail-1-empty-face ((t (:foreground "aquamarine1")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "aquamarine1" :weight bold)))) - (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "aquamarine2" :weight bold)))) - (gnus-group-mail-3-empty-face ((t (:foreground "aquamarine3")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "aquamarine3" :weight bold)))) - (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "aquamarine4" :weight bold)))) - (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) - (gnus-group-news-1-face ((t (:bold t :foreground "PaleTurquoise" :weight bold)))) - (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) - (gnus-group-news-2-face ((t (:bold t :foreground "turquoise" :weight bold)))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t :weight bold)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t :weight bold)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t :weight bold)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t :weight bold)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkTurquoise" :weight bold)))) - (gnus-header-content-face ((t (:italic t :foreground "forest green" :slant italic)))) - (gnus-header-from-face ((t (:foreground "spring green")))) - (gnus-header-name-face ((t (:foreground "SeaGreen")))) - (gnus-header-newsgroups-face ((t (:italic t :foreground "yellow" :slant italic)))) - (gnus-header-subject-face ((t (:foreground "SeaGreen3")))) - (gnus-signature-face ((t (:italic t :slant italic)))) - (gnus-splash-face ((t (:foreground "Brown")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "SkyBlue" :weight bold)))) - (gnus-summary-high-read-face ((t (:bold t :foreground "PaleGreen" :weight bold)))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "pink" :weight bold)))) - (gnus-summary-high-unread-face ((t (:bold t :weight bold)))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "SkyBlue" :slant italic)))) - (gnus-summary-low-read-face ((t (:italic t :foreground "PaleGreen" :slant italic)))) - (gnus-summary-low-ticked-face ((t (:italic t :foreground "pink" :slant italic)))) - (gnus-summary-low-unread-face ((t (:italic t :slant italic)))) - (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) - (gnus-summary-normal-ticked-face ((t (:foreground "pink")))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-selected-face ((t (:underline t)))) - (header-line ((t (:family "Arial" :background "grey20" :foreground "grey75" :box (:line-width 3 :color "grey20" :style released-button) :height 0.9)))) - (highlight ((t (:background "darkolivegreen")))) - (info-header-node ((t (:italic t :bold t :weight bold :slant italic :foreground "white")))) - (info-header-xref ((t (:bold t :weight bold :foreground "cyan")))) - (info-menu-5 ((t (:foreground "red1")))) - (info-menu-header ((t (:bold t :family "helv" :weight bold)))) - (info-node ((t (:italic t :bold t :foreground "white" :slant italic :weight bold)))) - (info-xref ((t (:bold t :foreground "cyan" :weight bold)))) - (isearch ((t (:background "palevioletred2")))) - (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) - (italic ((t (:italic t :slant italic)))) - (makefile-space-face ((t (:background "hotpink")))) - (menu ((t (nil)))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:bold t :foreground "green4" :weight bold)))) - (message-header-name-face ((t (:foreground "DarkGreen")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "yellow" :slant italic :weight bold)))) - (message-header-other-face ((t (:foreground "#b00000")))) - (message-header-subject-face ((t (:foreground "green3")))) - (message-header-to-face ((t (:bold t :foreground "green2" :weight bold)))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-mml-face ((t (:foreground "ForestGreen")))) - (message-separator-face ((t (:foreground "blue3")))) - (modeline ((t (:background "grey" :foreground "black" :box (:line-width 2 :color "grey" :style released-button) :height 0.9 :family "Arial")))) - (modeline-mousable-minor-mode ((t (:background "grey" :foreground "black" :box (:line-width 2 :color "grey" :style released-button) :height 0.9 :family "Arial")))) - (modeline-mousable ((t (:background "grey" :foreground "black" :box (:line-width 2 :color "grey" :style released-button) :height 0.9 :family "Arial")))) - (modeline-buffer-id ((t (:background "grey" :foreground "black" :box (:line-width 2 :color "grey" :style released-button) :height 0.9 :family "Arial")))) - (mouse ((t (:background "white")))) - (primary-selection ((t (:background "DarkSlateGray")))) - (region ((t (:background "DarkSlateGray")))) - (scroll-bar ((t (nil)))) - (secondary-selection ((t (:background "SkyBlue4")))) - (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) - (trailing-whitespace ((t (:background "white")))) - (underline ((t (:underline t)))) - (variable-pitch ((t (:family "helv")))) - (widget-button-face ((t (:bold t :weight bold)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "lime green")))) - (widget-field-face ((t (:background "dim gray")))) - (widget-inactive-face ((t (:foreground "light gray")))) - (widget-single-line-field-face ((t (:background "dim gray")))) - (zmacs-region ((t (:background "DarkSlateGray"))))))) - -(defun color-theme-deep-blue () - "Color theme by Tomas Cerha, created 2001-11-13." - (interactive) - (color-theme-install - '(color-theme-deep-blue - ((background-color . "#102e4e") - (background-mode . dark) - (border-color . "black") - (cursor-color . "green") - (foreground-color . "#eeeeee") - (mouse-color . "white")) - ((browse-kill-ring-separator-face . bold) - (display-time-mail-face . mode-line) - (help-highlight-face . underline) - (list-matching-lines-face . secondary-selection) - (vc-annotate-very-old-color . "#0046FF") - (view-highlight-face . highlight) - (widget-mouse-face . highlight)) - (default ((t (:stipple nil :background "#102e4e" :foreground "#eeeeee" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "misc-fixed")))) - (Info-title-1-face ((t (:bold t :weight bold :family "helv" :height 1.728)))) - (Info-title-2-face ((t (:bold t :family "helv" :weight bold :height 1.44)))) - (Info-title-3-face ((t (:bold t :weight bold :family "helv" :height 1.2)))) - (Info-title-4-face ((t (:bold t :family "helv" :weight bold)))) - (bold ((t (:bold t :weight bold)))) - (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (border ((t (:background "black")))) - (calendar-today-face ((t (:background "blue")))) - (change-log-acknowledgement-face ((t (:italic t :slant italic :foreground "CadetBlue")))) - (change-log-conditionals-face ((t (:foreground "SeaGreen2")))) - (change-log-date-face ((t (:foreground "burlywood")))) - (change-log-email-face ((t (:foreground "SeaGreen2")))) - (change-log-file-face ((t (:bold t :weight bold :foreground "goldenrod")))) - (change-log-function-face ((t (:foreground "SeaGreen2")))) - (change-log-list-face ((t (:bold t :weight bold :foreground "DeepSkyBlue1")))) - (change-log-name-face ((t (:foreground "gold")))) - (comint-highlight-input ((t (:bold t :weight bold)))) - (comint-highlight-prompt ((t (:foreground "cyan")))) - (cursor ((t (:background "green" :foreground "black")))) - (cvs-filename-face ((t (:foreground "lightblue")))) - (cvs-handled-face ((t (:foreground "pink")))) - (cvs-header-face ((t (:bold t :foreground "lightyellow" :weight bold)))) - (cvs-marked-face ((t (:bold t :foreground "green" :weight bold)))) - (cvs-msg-face ((t (:italic t :slant italic)))) - (cvs-need-action-face ((t (:foreground "orange")))) - (cvs-unknown-face ((t (:foreground "red")))) - (diary-face ((t (:foreground "orange red")))) - (diff-added-face ((t (nil)))) - (diff-changed-face ((t (nil)))) - (diff-context-face ((t (:foreground "grey70")))) - (diff-file-header-face ((t (:bold t :background "grey60" :weight bold)))) - (diff-function-face ((t (:foreground "grey70")))) - (diff-header-face ((t (:background "grey45")))) - (diff-hunk-header-face ((t (:background "grey45")))) - (diff-index-face ((t (:bold t :weight bold :background "grey60")))) - (diff-nonexistent-face ((t (:bold t :weight bold :background "grey60")))) - (diff-removed-face ((t (nil)))) - (fixed-pitch ((t (:family "fixed")))) - (font-latex-bold-face ((t (:bold t :foreground "OliveDrab" :weight bold)))) - (font-latex-italic-face ((t (:italic t :foreground "OliveDrab" :slant italic)))) - (font-latex-math-face ((t (:foreground "burlywood")))) - (font-latex-sedate-face ((t (:foreground "LightGray")))) - (font-latex-string-face ((t (:foreground "LightSalmon")))) - (font-latex-warning-face ((t (:bold t :foreground "Pink" :weight bold)))) - (font-lock-builtin-face ((t (:foreground "LightCoral")))) - (font-lock-comment-face ((t (:italic t :foreground "CadetBlue" :slant italic)))) - (font-lock-constant-face ((t (:foreground "gold")))) - (font-lock-doc-face ((t (:foreground "BlanchedAlmond")))) - (font-lock-doc-string-face ((t (:foreground "BlanchedAlmond")))) - (font-lock-function-name-face ((t (:bold t :foreground "goldenrod" :weight bold)))) - (font-lock-keyword-face ((t (:bold t :foreground "DeepSkyBlue1" :weight bold)))) - (font-lock-preprocessor-face ((t (:foreground "gold")))) - (font-lock-reference-face ((t (:foreground "LightCoral")))) - (font-lock-string-face ((t (:foreground "burlywood")))) - (font-lock-type-face ((t (:foreground "CadetBlue1")))) - (font-lock-variable-name-face ((t (:foreground "SeaGreen2")))) - (font-lock-warning-face ((t (:foreground "yellow")))) - (fringe ((t (:background "#405060")))) - (header-line ((t (:box (:line-width 2 :style released-button) :background "grey20" :foreground "grey90" :box nil)))) - (highlight ((t (:background "darkgreen")))) - (holiday-face ((t (:foreground "green")))) - (info-header-node ((t (:foreground "DeepSkyBlue1")))) - (info-header-xref ((t (:bold t :weight bold :foreground "SeaGreen2")))) - (info-menu-5 ((t (:foreground "wheat")))) - (info-menu-header ((t (:bold t :family "helv" :weight bold)))) - (info-node ((t (:foreground "DeepSkyBlue1")))) - (info-xref ((t (:bold t :foreground "SeaGreen2" :weight bold)))) - (isearch ((t (:background "palevioletred2" :foreground "brown4")))) - (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) - (italic ((t (:italic t :slant italic)))) - (menu ((t (:background "gray" :foreground "black" :family "helvetica")))) - (modeline ((t (:background "gray" :foreground "black" :box (:line-width 2 :style released-button))))) - (modeline-buffer-id ((t (:background "gray" :foreground "black" :box (:line-width 2 :style released-button))))) - (modeline-mousable ((t (:background "gray" :foreground "black" :box (:line-width 2 :style released-button))))) - (modeline-mousable-minor-mode ((t (:background "gray" :foreground "black" :box (:line-width 2 :style released-button))))) - (mouse ((t (:background "white")))) - (region ((t (:background "DarkCyan")))) - (scroll-bar ((t (:background "gray" :foreground "#506070")))) - (secondary-selection ((t (:background "yellow" :foreground "gray10")))) - (show-paren-match-face ((t (:bold t :foreground "yellow" :weight bold)))) - (show-paren-mismatch-face ((t (:bold t :foreground "red" :weight bold)))) - (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) - (tooltip ((t (:background "lightyellow" :foreground "black")))) - (trailing-whitespace ((t (:background "#102e4e")))) - (underline ((t (:underline t)))) - (variable-pitch ((t (:family "helv")))) - (widget-button-face ((t (:bold t :weight bold)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "lime green")))) - (widget-field-face ((t (:background "dim gray")))) - (widget-inactive-face ((t (:foreground "light gray")))) - (widget-single-line-field-face ((t (:background "dim gray"))))))) - -(defun color-theme-kingsajz () - "Color theme by Olgierd \"Kingsajz\" Ziolko, created 2001-12-04. -Another theme with wheat on DarkSlatGrey. Based on Subtle Hacker. -Used on Emacs 21.1 @ WinMe. Not tested on any other systems. - -Some faces uses Andale mono font (nice fixed-width font). -It is available at: http://www.microsoft.com/typography/downloads/andale32.exe - -Hail Eris! All hail Discordia!" - (interactive) - (color-theme-install - '(color-theme-kingsajz - ((background-color . "darkslategrey") - (background-mode . dark) - (border-color . "black") - (cursor-color . "LightGray") - (foreground-color . "wheat") - (mouse-color . "Grey")) - ((apropos-keybinding-face . underline) - (apropos-label-face face italic mouse-face highlight) - (apropos-match-face . secondary-selection) - (apropos-property-face . bold-italic) - (apropos-symbol-face . info-xref) - (display-time-mail-face . mode-line) - (gnus-article-button-face . bold) - (gnus-article-mouse-face . highlight) - (gnus-carpal-button-face . bold) - (gnus-carpal-header-face . bold-italic) - (gnus-cite-attribution-face . gnus-cite-attribution-face) - (gnus-mouse-face . highlight) - (gnus-selected-tree-face . modeline) - (gnus-signature-face . gnus-signature-face) - (gnus-summary-selected-face . gnus-summary-selected-face) - (gnus-treat-display-xface . head) - (help-highlight-face . underline) - (list-matching-lines-face . bold) - (view-highlight-face . highlight) - (widget-mouse-face . highlight)) - (default ((t (:stipple nil :background "darkslategrey" :foreground "wheat" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-andale mono")))) - (bbdb-field-name ((t (:foreground "green")))) - (bg:erc-color-face0 ((t (:background "White")))) - (bg:erc-color-face1 ((t (:background "black")))) - (bg:erc-color-face10 ((t (:background "lightblue1")))) - (bg:erc-color-face11 ((t (:background "cyan")))) - (bg:erc-color-face12 ((t (:background "blue")))) - (bg:erc-color-face13 ((t (:background "deeppink")))) - (bg:erc-color-face14 ((t (:background "gray50")))) - (bg:erc-color-face15 ((t (:background "gray90")))) - (bg:erc-color-face2 ((t (:background "blue4")))) - (bg:erc-color-face3 ((t (:background "green4")))) - (bg:erc-color-face4 ((t (:background "red")))) - (bg:erc-color-face5 ((t (:background "brown")))) - (bg:erc-color-face6 ((t (:background "purple")))) - (bg:erc-color-face7 ((t (:background "orange")))) - (bg:erc-color-face8 ((t (:background "yellow")))) - (bg:erc-color-face9 ((t (:background "green")))) - (blue ((t (:foreground "cyan")))) - (bold ((t (:bold t :foreground "OrangeRed" :weight bold :family "Arial")))) - (bold-italic ((t (:italic t :bold t :slant italic :weight bold :family "Arial")))) - (border ((t (:background "black")))) - (calendar-today-face ((t (:underline t)))) - (comint-highlight-input ((t (:bold t :weight bold)))) - (comint-highlight-prompt ((t (:foreground "cyan")))) - (cperl-array-face ((t (:foreground "Yellow")))) - (cperl-hash-face ((t (:foreground "White")))) - (cperl-nonoverridable-face ((t (:foreground "SkyBlue")))) - (cursor ((t (:background "LightGray")))) - (custom-button-face ((t (:foreground "MediumSlateBlue" :underline t)))) - (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style pressed-button))))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-comment-face ((t (:background "dim gray")))) - (custom-comment-tag-face ((t (:foreground "gray80")))) - (custom-documentation-face ((t (:foreground "Grey")))) - (custom-face-tag-face ((t (:bold t :family "Arial" :weight bold :height 1.2)))) - (custom-group-tag-face ((t (:foreground "MediumAquamarine")))) - (custom-group-tag-face-1 ((t (:bold t :family "Arial" :foreground "pink" :weight bold :height 1.2)))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "Coral")))) - (custom-variable-button-face ((t (:underline t)))) - (custom-variable-tag-face ((t (:foreground "Aquamarine")))) - (date ((t (:foreground "green")))) - (diary-face ((t (:bold t :foreground "IndianRed" :weight bold)))) - (dired-face-directory ((t (:bold t :foreground "sky blue" :weight bold)))) - (dired-face-executable ((t (:foreground "green yellow")))) - (dired-face-flagged ((t (:foreground "tomato")))) - (dired-face-marked ((t (:foreground "light salmon")))) - (dired-face-permissions ((t (:foreground "aquamarine")))) - (erc-action-face ((t (:bold t :weight bold)))) - (erc-bold-face ((t (:bold t :weight bold)))) - (erc-default-face ((t (nil)))) - (erc-direct-msg-face ((t (:foreground "pale green")))) - (erc-error-face ((t (:bold t :foreground "IndianRed" :weight bold)))) - (erc-highlight-face ((t (:bold t :foreground "pale green" :weight bold)))) - (erc-host-danger-face ((t (:foreground "red")))) - (erc-input-face ((t (:foreground "light blue")))) - (erc-inverse-face ((t (:background "steel blue")))) - (erc-notice-face ((t (:foreground "light salmon")))) - (erc-pal-face ((t (:foreground "pale green")))) - (erc-prompt-face ((t (:bold t :foreground "light blue" :weight bold)))) - (erc-underline-face ((t (:underline t)))) - (eshell-ls-archive-face ((t (:bold t :foreground "IndianRed" :weight bold)))) - (eshell-ls-backup-face ((t (:foreground "Grey")))) - (eshell-ls-clutter-face ((t (:bold t :foreground "DimGray" :weight bold)))) - (eshell-ls-directory-face ((t (:bold t :foreground "MediumSlateBlue" :weight bold)))) - (eshell-ls-executable-face ((t (:bold t :foreground "Coral" :weight bold)))) - (eshell-ls-missing-face ((t (:bold t :foreground "black" :weight bold)))) - (eshell-ls-picture-face ((t (:foreground "Violet")))) - (eshell-ls-product-face ((t (:foreground "LightSalmon")))) - (eshell-ls-readonly-face ((t (:foreground "Aquamarine")))) - (eshell-ls-special-face ((t (:bold t :foreground "Gold" :weight bold)))) - (eshell-ls-symlink-face ((t (:bold t :foreground "White" :weight bold)))) - (eshell-ls-text-face ((t (:foreground "medium aquamarine")))) - (eshell-ls-todo-face ((t (:bold t :foreground "aquamarine" :weight bold)))) - (eshell-ls-unreadable-face ((t (:foreground "DimGray")))) - (eshell-prompt-face ((t (:foreground "powder blue")))) - (face-1 ((t (:stipple nil :foreground "royal blue" :family "andale mono")))) - (face-2 ((t (:stipple nil :foreground "DeepSkyBlue1" :overline nil :underline nil :slant normal :family "outline-andale mono")))) - (face-3 ((t (:stipple nil :foreground "NavajoWhite3")))) - (fg:erc-color-face0 ((t (:foreground "white")))) - (fg:erc-color-face1 ((t (:foreground "beige")))) - (fg:erc-color-face10 ((t (:foreground "pale goldenrod")))) - (fg:erc-color-face11 ((t (:foreground "light goldenrod yellow")))) - (fg:erc-color-face12 ((t (:foreground "light yellow")))) - (fg:erc-color-face13 ((t (:foreground "yellow")))) - (fg:erc-color-face14 ((t (:foreground "light goldenrod")))) - (fg:erc-color-face15 ((t (:foreground "lime green")))) - (fg:erc-color-face2 ((t (:foreground "lemon chiffon")))) - (fg:erc-color-face3 ((t (:foreground "light cyan")))) - (fg:erc-color-face4 ((t (:foreground "powder blue")))) - (fg:erc-color-face5 ((t (:foreground "sky blue")))) - (fg:erc-color-face6 ((t (:foreground "dark sea green")))) - (fg:erc-color-face7 ((t (:foreground "pale green")))) - (fg:erc-color-face8 ((t (:foreground "medium spring green")))) - (fg:erc-color-face9 ((t (:foreground "khaki")))) - (fixed-pitch ((t (:family "courier")))) - (font-lock-builtin-face ((t (:bold t :foreground "PaleGreen" :weight bold)))) - (font-lock-comment-face ((t (:foreground "White")))) - (font-lock-constant-face ((t (:bold t :foreground "Aquamarine" :weight bold)))) - (font-lock-doc-face ((t (:italic t :slant italic :foreground "LightSalmon")))) - (font-lock-doc-string-face ((t (:foreground "LightSalmon")))) - (font-lock-function-name-face ((t (:bold t :foreground "MediumSlateBlue" :weight bold)))) - (font-lock-keyword-face ((t (:foreground "Salmon")))) - (font-lock-preprocessor-face ((t (:foreground "Salmon")))) - (font-lock-reference-face ((t (:foreground "pale green")))) - (font-lock-string-face ((t (:italic t :foreground "LightSalmon" :slant italic)))) - (font-lock-type-face ((t (:bold t :foreground "YellowGreen" :weight bold)))) - (font-lock-variable-name-face ((t (:italic t :bold t :foreground "Aquamarine" :slant italic :weight bold)))) - (font-lock-warning-face ((t (:bold t :foreground "IndianRed" :weight bold)))) - (fringe ((t (:background "darkslategrey")))) - (gnus-cite-attribution-face ((t (:family "arial")))) - (gnus-cite-face-1 ((t (:foreground "DarkGoldenrod3")))) - (gnus-cite-face-10 ((t (nil)))) - (gnus-cite-face-11 ((t (nil)))) - (gnus-cite-face-2 ((t (:foreground "IndianRed3")))) - (gnus-cite-face-3 ((t (:foreground "tomato")))) - (gnus-cite-face-4 ((t (:foreground "yellow green")))) - (gnus-cite-face-5 ((t (:foreground "SteelBlue3")))) - (gnus-cite-face-6 ((t (:foreground "Azure3")))) - (gnus-cite-face-7 ((t (:foreground "Azure4")))) - (gnus-cite-face-8 ((t (:foreground "SpringGreen4")))) - (gnus-cite-face-9 ((t (:foreground "SlateGray4")))) - (gnus-emphasis-bold ((t (:bold t :foreground "greenyellow" :weight bold :family "Arial")))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t :foreground "OrangeRed1" :slant italic :weight bold :family "arial")))) - (gnus-emphasis-highlight-words ((t (:background "black" :foreground "khaki")))) - (gnus-emphasis-italic ((t (:italic t :bold t :foreground "orange" :slant italic :weight bold :family "Arial")))) - (gnus-emphasis-underline ((t (:foreground "greenyellow" :underline t)))) - (gnus-emphasis-underline-bold ((t (:bold t :foreground "khaki" :underline t :weight bold :family "Arial")))) - (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :underline t :slant italic :weight bold :family "Arial")))) - (gnus-emphasis-underline-italic ((t (:italic t :foreground "orange" :underline t :slant italic :family "Arial")))) - (gnus-group-mail-1-empty-face ((t (:foreground "Salmon4")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "firebrick1" :weight bold)))) - (gnus-group-mail-2-empty-face ((t (:foreground "turquoise4")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "turquoise" :weight bold)))) - (gnus-group-mail-3-empty-face ((t (:foreground "LightCyan4")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "LightCyan1" :weight bold)))) - (gnus-group-mail-low-empty-face ((t (:foreground "SteelBlue4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "SteelBlue2" :weight bold)))) - (gnus-group-news-1-empty-face ((t (:foreground "Salmon4")))) - (gnus-group-news-1-face ((t (:bold t :foreground "FireBrick1" :weight bold)))) - (gnus-group-news-2-empty-face ((t (:foreground "darkorange3")))) - (gnus-group-news-2-face ((t (:bold t :foreground "dark orange" :weight bold)))) - (gnus-group-news-3-empty-face ((t (:foreground "turquoise4")))) - (gnus-group-news-3-face ((t (:bold t :foreground "Aquamarine" :weight bold)))) - (gnus-group-news-4-empty-face ((t (:foreground "SpringGreen4")))) - (gnus-group-news-4-face ((t (:bold t :foreground "SpringGreen2" :weight bold)))) - (gnus-group-news-5-empty-face ((t (:foreground "OliveDrab4")))) - (gnus-group-news-5-face ((t (:bold t :foreground "OliveDrab2" :weight bold)))) - (gnus-group-news-6-empty-face ((t (:foreground "DarkGoldenrod4")))) - (gnus-group-news-6-face ((t (:bold t :foreground "DarkGoldenrod3" :weight bold)))) - (gnus-group-news-low-empty-face ((t (:foreground "wheat4")))) - (gnus-group-news-low-face ((t (:bold t :foreground "tan4" :weight bold)))) - (gnus-header-content-face ((t (:foreground "LightSkyBlue3")))) - (gnus-header-from-face ((t (:bold t :foreground "light cyan" :weight bold)))) - (gnus-header-name-face ((t (:bold t :foreground "DodgerBlue1" :weight bold)))) - (gnus-header-newsgroups-face ((t (:italic t :bold t :foreground "LightSkyBlue3" :slant italic :weight bold)))) - (gnus-header-subject-face ((t (:bold t :foreground "light cyan" :weight bold)))) - (gnus-signature-face ((t (:italic t :foreground "salmon" :slant italic)))) - (gnus-splash-face ((t (:foreground "Firebrick1")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "MistyRose4" :weight bold)))) - (gnus-summary-high-read-face ((t (:bold t :foreground "tomato3" :weight bold)))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "coral" :weight bold)))) - (gnus-summary-high-unread-face ((t (:italic t :bold t :foreground "red1" :slant italic :weight bold)))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "DarkSeaGreen4" :slant italic)))) - (gnus-summary-low-read-face ((t (:foreground "SeaGreen4")))) - (gnus-summary-low-ticked-face ((t (:italic t :foreground "Green4" :slant italic)))) - (gnus-summary-low-unread-face ((t (:italic t :foreground "green3" :slant italic)))) - (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "khaki4")))) - (gnus-summary-normal-ticked-face ((t (:foreground "khaki3")))) - (gnus-summary-normal-unread-face ((t (:foreground "khaki")))) - (gnus-summary-selected-face ((t (:foreground "gold" :underline t)))) - (green ((t (:foreground "green")))) - (gui-button-face ((t (:foreground "red" :background "black")))) - (gui-element ((t (:bold t :background "#ffffff" :foreground "#000000" :weight bold)))) - (header-line ((t (:box (:line-width -1 :style released-button) :background "grey20" :foreground "grey90" :box nil)))) - (highlight ((t (:background "PaleGreen" :foreground "DarkGreen")))) - (highline-face ((t (:background "SeaGreen")))) - (holiday-face ((t (:background "DimGray")))) - (info-menu-5 ((t (:underline t)))) - (info-node ((t (:bold t :foreground "DodgerBlue1" :underline t :weight bold)))) - (info-xref ((t (:bold t :foreground "DodgerBlue3" :weight bold)))) - (isearch ((t (:background "sea green" :foreground "black")))) - (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) - (italic ((t (:italic t :foreground "chocolate3" :slant italic)))) - (menu ((t (nil)))) - (message-cited-text-face ((t (:foreground "White")))) - (message-header-cc-face ((t (:foreground "light cyan")))) - (message-header-name-face ((t (:foreground "DodgerBlue1")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "LightSkyBlue3" :slant italic :weight bold)))) - (message-header-other-face ((t (:foreground "LightSkyBlue3")))) - (message-header-subject-face ((t (:bold t :foreground "light cyan" :weight bold)))) - (message-header-to-face ((t (:bold t :foreground "light cyan" :weight bold)))) - (message-header-xheader-face ((t (:foreground "DodgerBlue3")))) - (message-mml-face ((t (:foreground "ForestGreen")))) - (message-separator-face ((t (:background "cornflower blue" :foreground "chocolate")))) - (modeline ((t (:background "dark olive green" :foreground "wheat" :box (:line-width -1 :style released-button))))) - (modeline-buffer-id ((t (:bold t :background "dark olive green" :foreground "beige" :weight bold :family "arial")))) - (modeline-mousable ((t (:bold t :background "dark olive green" :foreground "yellow green" :weight bold :family "arial")))) - (modeline-mousable-minor-mode ((t (:bold t :background "dark olive green" :foreground "wheat" :weight bold :family "arial")))) - (mouse ((t (:background "Grey")))) - (paren-blink-off ((t (:foreground "brown")))) - (region ((t (:background "dark cyan" :foreground "cyan")))) - (ruler-mode-column-number-face ((t (:box (:color "grey76" :line-width 1 :style released-button) :background "grey76" :stipple nil :inverse-video nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-andale mono" :foreground "black")))) - (ruler-mode-current-column-face ((t (:bold t :box (:color "grey76" :line-width 1 :style released-button) :background "grey76" :stipple nil :inverse-video nil :strike-through nil :overline nil :underline nil :slant normal :width normal :family "outline-andale mono" :foreground "yellow" :weight bold)))) - (ruler-mode-default-face ((t (:family "outline-andale mono" :width normal :weight normal :slant normal :underline nil :overline nil :strike-through nil :inverse-video nil :stipple nil :background "grey76" :foreground "grey64" :box (:color "grey76" :line-width 1 :style released-button))))) - (ruler-mode-fill-column-face ((t (:box (:color "grey76" :line-width 1 :style released-button) :background "grey76" :stipple nil :inverse-video nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-andale mono" :foreground "red")))) - (ruler-mode-margins-face ((t (:box (:color "grey76" :line-width 1 :style released-button) :foreground "grey64" :stipple nil :inverse-video nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-andale mono" :background "grey64")))) - (ruler-mode-tab-stop-face ((t (:box (:color "grey76" :line-width 1 :style released-button) :background "grey76" :stipple nil :inverse-video nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-andale mono" :foreground "steelblue")))) - (scroll-bar ((t (nil)))) - (secondary-selection ((t (:background "Aquamarine" :foreground "SlateBlue")))) - (show-paren-match-face ((t (:bold t :background "Aquamarine" :foreground "steel blue" :weight bold)))) - (show-paren-mismatch-face ((t (:background "Red" :foreground "White")))) - (swbuff-current-buffer-face ((t (:bold t :foreground "red" :weight bold)))) - (text-cursor ((t (:background "Red" :foreground "white")))) - (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) - (trailing-whitespace ((t (:background "red")))) - (underline ((t (:underline t)))) - (variable-pitch ((t (:family "Arial")))) - (w3m-anchor-face ((t (:bold t :foreground "DodgerBlue1" :weight bold)))) - (w3m-arrived-anchor-face ((t (:bold t :foreground "DodgerBlue3" :weight bold)))) - (w3m-header-line-location-content-face ((t (:background "dark olive green" :foreground "wheat")))) - (w3m-header-line-location-title-face ((t (:background "dark olive green" :foreground "beige")))) - (widget-button-face ((t (:bold t :foreground "green" :weight bold :family "courier")))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "lime green")))) - (widget-field-face ((t (:foreground "LightBlue")))) - (widget-inactive-face ((t (:foreground "DimGray")))) - (widget-single-line-field-face ((t (:foreground "LightBlue")))) - (woman-bold-face ((t (:bold t :weight bold :family "Arial")))) - (woman-italic-face ((t (:italic t :foreground "beige" :slant italic :family "Arial")))) - (woman-unknown-face ((t (:foreground "LightSalmon")))) - (zmacs-region ((t (:background "dark cyan" :foreground "cyan"))))))) - -(defun color-theme-comidia () - "Color theme by Marcelo Dias de Toledo, created 2001-12-17. -Steel blue on black." - (interactive) - (color-theme-install - '(color-theme-comidia - ((background-color . "Black") - (background-mode . dark) - (border-color . "black") - (cursor-color . "SteelBlue") - (foreground-color . "SteelBlue") - (mouse-color . "SteelBlue")) - ((display-time-mail-face . mode-line) - (gnus-mouse-face . highlight) - (gnus-summary-selected-face . gnus-summary-selected-face) - (help-highlight-face . underline) - (ispell-highlight-face . highlight) - (list-matching-lines-face . bold) - (view-highlight-face . highlight) - (widget-mouse-face . highlight)) - (default ((t (:stipple nil :background "Black" :foreground "SteelBlue" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width semi-condensed :family "misc-fixed")))) - (bg:erc-color-face0 ((t (:background "White")))) - (bg:erc-color-face1 ((t (:background "black")))) - (bg:erc-color-face10 ((t (:background "lightblue1")))) - (bg:erc-color-face11 ((t (:background "cyan")))) - (bg:erc-color-face12 ((t (:background "blue")))) - (bg:erc-color-face13 ((t (:background "deeppink")))) - (bg:erc-color-face14 ((t (:background "gray50")))) - (bg:erc-color-face15 ((t (:background "gray90")))) - (bg:erc-color-face2 ((t (:background "blue4")))) - (bg:erc-color-face3 ((t (:background "green4")))) - (bg:erc-color-face4 ((t (:background "red")))) - (bg:erc-color-face5 ((t (:background "brown")))) - (bg:erc-color-face6 ((t (:background "purple")))) - (bg:erc-color-face7 ((t (:background "orange")))) - (bg:erc-color-face8 ((t (:background "yellow")))) - (bg:erc-color-face9 ((t (:background "green")))) - (bold ((t (:bold t :weight bold)))) - (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (border ((t (:background "black")))) - (comint-highlight-input ((t (:bold t :weight bold)))) - (comint-highlight-prompt ((t (:foreground "cyan")))) - (cursor ((t (:background "SteelBlue")))) - (erc-action-face ((t (:bold t :weight bold)))) - (erc-bold-face ((t (:bold t :weight bold)))) - (erc-dangerous-host-face ((t (:foreground "red")))) - (erc-default-face ((t (nil)))) - (erc-direct-msg-face ((t (:foreground "IndianRed")))) - (erc-error-face ((t (:background "Red" :foreground "White")))) - (erc-fool-face ((t (:foreground "dim gray")))) - (erc-input-face ((t (:foreground "brown")))) - (erc-inverse-face ((t (:background "Black" :foreground "White")))) - (erc-keyword-face ((t (:bold t :foreground "pale green" :weight bold)))) - (erc-notice-face ((t (:bold t :foreground "SlateBlue" :weight bold)))) - (erc-pal-face ((t (:bold t :foreground "Magenta" :weight bold)))) - (erc-prompt-face ((t (:bold t :background "lightBlue2" :foreground "Black" :weight bold)))) - (erc-timestamp-face ((t (:bold t :foreground "green" :weight bold)))) - (erc-underline-face ((t (:underline t)))) - (fg:erc-color-face0 ((t (:foreground "White")))) - (fg:erc-color-face1 ((t (:foreground "black")))) - (fg:erc-color-face10 ((t (:foreground "lightblue1")))) - (fg:erc-color-face11 ((t (:foreground "cyan")))) - (fg:erc-color-face12 ((t (:foreground "blue")))) - (fg:erc-color-face13 ((t (:foreground "deeppink")))) - (fg:erc-color-face14 ((t (:foreground "gray50")))) - (fg:erc-color-face15 ((t (:foreground "gray90")))) - (fg:erc-color-face2 ((t (:foreground "blue4")))) - (fg:erc-color-face3 ((t (:foreground "green4")))) - (fg:erc-color-face4 ((t (:foreground "red")))) - (fg:erc-color-face5 ((t (:foreground "brown")))) - (fg:erc-color-face6 ((t (:foreground "purple")))) - (fg:erc-color-face7 ((t (:foreground "orange")))) - (fg:erc-color-face8 ((t (:foreground "yellow")))) - (fg:erc-color-face9 ((t (:foreground "green")))) - (fixed-pitch ((t (:family "courier")))) - (font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) - (font-lock-comment-face ((t (:foreground "chocolate1")))) - (font-lock-constant-face ((t (:foreground "Aquamarine")))) - (font-lock-doc-face ((t (:foreground "LightSalmon")))) - (font-lock-doc-string-face ((t (:foreground "LightSalmon")))) - (font-lock-function-name-face ((t (:foreground "LightSkyBlue")))) - (font-lock-keyword-face ((t (:foreground "Cyan")))) - (font-lock-preprocessor-face ((t (:foreground "Aquamarine")))) - (font-lock-reference-face ((t (:foreground "LightSteelBlue")))) - (font-lock-string-face ((t (:foreground "LightSalmon")))) - (font-lock-type-face ((t (:foreground "PaleGreen")))) - (font-lock-variable-name-face ((t (:foreground "LightGoldenrod")))) - (font-lock-warning-face ((t (:bold t :foreground "Pink" :weight bold)))) - (fringe ((t (:background "grey10")))) - (gnus-group-mail-1-empty-face ((t (:foreground "aquamarine1")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "aquamarine1" :weight bold)))) - (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "aquamarine2" :weight bold)))) - (gnus-group-mail-3-empty-face ((t (:foreground "aquamarine3")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "aquamarine3" :weight bold)))) - (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "aquamarine4" :weight bold)))) - (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) - (gnus-group-news-1-face ((t (:bold t :foreground "PaleTurquoise" :weight bold)))) - (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) - (gnus-group-news-2-face ((t (:bold t :foreground "turquoise" :weight bold)))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t :weight bold)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t :weight bold)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t :weight bold)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t :weight bold)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkTurquoise" :weight bold)))) - (gnus-splash-face ((t (:foreground "Brown")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "SkyBlue" :weight bold)))) - (gnus-summary-high-read-face ((t (:bold t :foreground "PaleGreen" :weight bold)))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "pink" :weight bold)))) - (gnus-summary-high-unread-face ((t (:bold t :weight bold)))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "SkyBlue" :slant italic)))) - (gnus-summary-low-read-face ((t (:italic t :foreground "PaleGreen" :slant italic)))) - (gnus-summary-low-ticked-face ((t (:italic t :foreground "pink" :slant italic)))) - (gnus-summary-low-unread-face ((t (:italic t :slant italic)))) - (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) - (gnus-summary-normal-ticked-face ((t (:foreground "pink")))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-selected-face ((t (:underline t)))) - (header-line ((t (:family "neep" :width condensed :box (:line-width 1 :style none) :background "grey20" :foreground "grey90" :box nil)))) - (highlight ((t (:background "darkolivegreen")))) - (isearch ((t (:background "palevioletred2" :foreground "brown4")))) - (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) - (italic ((t (:italic t :slant italic)))) - (menu ((t (nil)))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:bold t :foreground "green4" :weight bold)))) - (message-header-name-face ((t (:foreground "DarkGreen")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "yellow" :slant italic :weight bold)))) - (message-header-other-face ((t (:foreground "#b00000")))) - (message-header-subject-face ((t (:foreground "green3")))) - (message-header-to-face ((t (:bold t :foreground "green2" :weight bold)))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-mml-face ((t (:foreground "ForestGreen")))) - (message-separator-face ((t (:foreground "blue3")))) - (modeline ((t (:background "Gray10" :foreground "SteelBlue" :box (:line-width 1 :style none) :width condensed :family "neep")))) - (modeline-buffer-id ((t (:background "Gray10" :foreground "SteelBlue" :box (:line-width 1 :style none) :width condensed :family "neep")))) - (modeline-mousable-minor-mode ((t (:background "Gray10" :foreground "SteelBlue" :box (:line-width 1 :style none) :width condensed :family "neep")))) - (modeline-mousable ((t (:background "Gray10" :foreground "SteelBlue" :box (:line-width 1 :style none) :width condensed :family "neep")))) - (mouse ((t (:background "SteelBlue")))) - (primary-selection ((t (:background "blue3")))) - (region ((t (:background "blue3")))) - (scroll-bar ((t (:background "grey75")))) - (secondary-selection ((t (:background "SkyBlue4")))) - (speedbar-button-face ((t (:foreground "green3")))) - (speedbar-directory-face ((t (:foreground "light blue")))) - (speedbar-file-face ((t (:foreground "cyan")))) - (speedbar-highlight-face ((t (:background "sea green")))) - (speedbar-selected-face ((t (:foreground "red" :underline t)))) - (speedbar-tag-face ((t (:foreground "yellow")))) - (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) - (tooltip ((t (:background "lightyellow" :foreground "black")))) - (trailing-whitespace ((t (:background "red")))) - (underline ((t (:underline t)))) - (variable-pitch ((t (:family "helv")))) - (widget-button-face ((t (:bold t :weight bold)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "lime green")))) - (widget-field-face ((t (:background "dim gray")))) - (widget-inactive-face ((t (:foreground "light gray")))) - (widget-single-line-field-face ((t (:background "dim gray")))) - (zmacs-region ((t (:background "blue3"))))))) - -(defun color-theme-katester () - "Color theme by walterh@rocketmail.com, created 2001-12-12. -A pastelly-mac like color-theme." - (interactive) - (color-theme-standard) - (let ((color-theme-is-cumulative t)) - (color-theme-install - '(color-theme-katester - ((background-color . "ivory") - (cursor-color . "slateblue") - (foreground-color . "black") - (mouse-color . "slateblue")) - (default ((t ((:background "ivory" :foreground "black"))))) - (bold ((t (:bold t)))) - (font-lock-string-face ((t (:foreground "maroon")))) - (font-lock-keyword-face ((t (:foreground "blue")))) - (font-lock-constant-face ((t (:foreground "darkblue")))) - (font-lock-type-face ((t (:foreground "black")))) - (font-lock-variable-name-face ((t (:foreground "black")))) - (font-lock-function-name-face ((t (:bold t :underline t)))) - (font-lock-comment-face ((t (:background "seashell")))) - (highlight ((t (:background "lavender")))) - (italic ((t (:italic t)))) - (modeline ((t (:background "moccasin" :foreground "black")))) - (region ((t (:background "lavender" )))) - (underline ((t (:underline t)))))))) - -(defun color-theme-arjen () - "Color theme by awiersma, created 2001-08-27." - (interactive) - (color-theme-install - '(color-theme-arjen - ((background-color . "black") - (background-mode . dark) - (border-color . "black") - (cursor-color . "yellow") - (foreground-color . "White") - (mouse-color . "sienna1")) - ((buffers-tab-face . buffers-tab) - (cperl-here-face . font-lock-string-face) - (cperl-invalid-face quote underline) - (cperl-pod-face . font-lock-comment-face) - (cperl-pod-head-face . font-lock-variable-name-face) - (vc-mode-face . highlight)) - (default ((t (:background "black" :foreground "white")))) - (blue ((t (:foreground "blue")))) - (bold ((t (:bold t)))) - (bold-italic ((t (:bold t)))) - (border-glyph ((t (nil)))) - (buffers-tab ((t (:background "black" :foreground "white")))) - (calendar-today-face ((t (:underline t)))) - (cperl-array-face ((t (:foreground "darkseagreen")))) - (cperl-hash-face ((t (:foreground "darkseagreen")))) - (cperl-nonoverridable-face ((t (:foreground "SkyBlue")))) - (custom-button-face ((t (nil)))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face ((t (:underline t :foreground "light blue")))) - (custom-group-tag-face-1 ((t (:underline t :foreground "pink")))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "lime green")))) - (custom-variable-button-face ((t (:underline t :bold t)))) - (custom-variable-tag-face ((t (:underline t :foreground "light blue")))) - (diary-face ((t (:foreground "IndianRed")))) - (erc-action-face ((t (:bold t)))) - (erc-bold-face ((t (:bold t)))) - (erc-default-face ((t (nil)))) - (erc-direct-msg-face ((t (:foreground "sandybrown")))) - (erc-error-face ((t (:bold t :foreground "IndianRed")))) - (erc-input-face ((t (:foreground "Beige")))) - (erc-inverse-face ((t (:background "wheat" :foreground "darkslategrey")))) - (erc-notice-face ((t (:foreground "MediumAquamarine")))) - (erc-pal-face ((t (:foreground "pale green")))) - (erc-prompt-face ((t (:foreground "MediumAquamarine")))) - (erc-underline-face ((t (:underline t)))) - (eshell-ls-archive-face ((t (:bold t :foreground "IndianRed")))) - (eshell-ls-backup-face ((t (:foreground "Grey")))) - (eshell-ls-clutter-face ((t (:foreground "DimGray")))) - (eshell-ls-directory-face ((t (:bold t :foreground "MediumSlateBlue")))) - (eshell-ls-executable-face ((t (:foreground "Coral")))) - (eshell-ls-missing-face ((t (:foreground "black")))) - (eshell-ls-picture-face ((t (:foreground "Violet")))) - (eshell-ls-product-face ((t (:foreground "sandybrown")))) - (eshell-ls-readonly-face ((t (:foreground "Aquamarine")))) - (eshell-ls-special-face ((t (:foreground "Gold")))) - (eshell-ls-symlink-face ((t (:foreground "White")))) - (eshell-ls-unreadable-face ((t (:foreground "DimGray")))) - (eshell-prompt-face ((t (:foreground "MediumAquamarine")))) - (fl-comment-face ((t (:foreground "pink")))) - (fl-doc-string-face ((t (:foreground "purple")))) - (fl-function-name-face ((t (:foreground "red")))) - (fl-keyword-face ((t (:foreground "cadetblue")))) - (fl-string-face ((t (:foreground "green")))) - (fl-type-face ((t (:foreground "yellow")))) - (font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) - (font-lock-comment-face ((t (:foreground "IndianRed")))) - (font-lock-constant-face ((t (:foreground "Aquamarine")))) - (font-lock-doc-string-face ((t (:foreground "DarkOrange")))) - (font-lock-function-name-face ((t (:foreground "YellowGreen")))) - (font-lock-keyword-face ((t (:foreground "PaleYellow")))) - (font-lock-preprocessor-face ((t (:foreground "Aquamarine")))) - (font-lock-reference-face ((t (:foreground "SlateBlue")))) - (font-lock-string-face ((t (:foreground "Orange")))) - (font-lock-type-face ((t (:foreground "Green")))) - (font-lock-variable-name-face ((t (:foreground "darkseagreen")))) - (font-lock-warning-face ((t (:bold t :foreground "Pink")))) - (qt-classes-face ((t (:foreground "Red")))) - (gnus-cite-attribution-face ((t (nil)))) - (gnus-cite-face-1 ((t (:bold nil :foreground "deep sky blue")))) - (gnus-cite-face-10 ((t (:foreground "medium purple")))) - (gnus-cite-face-11 ((t (:foreground "turquoise")))) - (gnus-cite-face-2 ((t (:bold nil :foreground "cadetblue")))) - (gnus-cite-face-3 ((t (:bold nil :foreground "gold")))) - (gnus-cite-face-4 ((t (:foreground "light pink")))) - (gnus-cite-face-5 ((t (:foreground "pale green")))) - (gnus-cite-face-6 ((t (:bold nil :foreground "chocolate")))) - (gnus-cite-face-7 ((t (:foreground "orange")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-emphasis-bold ((t (:bold nil)))) - (gnus-emphasis-bold-italic ((t (:bold nil)))) - (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) - (gnus-emphasis-italic ((t (nil)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:underline t :bold nil)))) - (gnus-emphasis-underline-bold-italic ((t (:underline t :bold nil)))) - (gnus-emphasis-underline-italic ((t (:underline t)))) - (gnus-group-mail-1-empty-face ((t (:foreground "aquamarine1")))) - (gnus-group-mail-1-face ((t (:bold nil :foreground "aquamarine1")))) - (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) - (gnus-group-mail-2-face ((t (:bold nil :foreground "aquamarine2")))) - (gnus-group-mail-3-empty-face ((t (:foreground "aquamarine3")))) - (gnus-group-mail-3-face ((t (:bold nil :foreground "aquamarine3")))) - (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) - (gnus-group-mail-low-face ((t (:bold nil :foreground "aquamarine4")))) - (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) - (gnus-group-news-1-face ((t (:bold nil :foreground "PaleTurquoise")))) - (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) - (gnus-group-news-2-face ((t (:bold nil :foreground "turquoise")))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold nil)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold nil)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold nil)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold nil)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) - (gnus-group-news-low-face ((t (:bold nil :foreground "DarkTurquoise")))) - (gnus-header-content-face ((t (:foreground "forest green")))) - (gnus-header-from-face ((t (:bold nil :foreground "spring green")))) - (gnus-header-name-face ((t (:foreground "deep sky blue")))) - (gnus-header-newsgroups-face ((t (:bold nil :foreground "purple")))) - (gnus-header-subject-face ((t (:bold nil :foreground "orange")))) - (gnus-signature-face ((t (:bold nil :foreground "khaki")))) - (gnus-splash-face ((t (:foreground "Brown")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold nil :foreground "SkyBlue")))) - (gnus-summary-high-read-face ((t (:bold nil :foreground "PaleGreen")))) - (gnus-summary-high-ticked-face ((t (:bold nil :foreground "pink")))) - (gnus-summary-high-unread-face ((t (:bold nil)))) - (gnus-summary-low-ancient-face ((t (:foreground "SkyBlue")))) - (gnus-summary-low-read-face ((t (:foreground "PaleGreen")))) - (gnus-summary-low-ticked-face ((t (:foreground "pink")))) - (gnus-summary-low-unread-face ((t (nil)))) - (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) - (gnus-summary-normal-ticked-face ((t (:foreground "pink")))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-selected-face ((t (:underline t)))) - (green ((t (:foreground "green")))) - (gui-button-face ((t (:background "grey75" :foreground "black")))) - (gui-element ((t (:background "#D4D0C8" :foreground "black")))) - (highlight ((t (:background "darkolivegreen")))) - (highline-face ((t (:background "SeaGreen")))) - (holiday-face ((t (:background "DimGray")))) - (info-menu-5 ((t (:underline t)))) - (info-node ((t (:underline t :bold t :foreground "DodgerBlue1")))) - (info-xref ((t (:underline t :foreground "DodgerBlue1")))) - (isearch ((t (:background "blue")))) - (isearch-secondary ((t (:foreground "red3")))) - (italic ((t (nil)))) - (left-margin ((t (nil)))) - (list-mode-item-selected ((t (:background "gray68" :foreground "white")))) - (message-cited-text-face ((t (:bold t :foreground "green")))) - (message-header-cc-face ((t (:bold t :foreground "green4")))) - (message-header-name-face ((t (:bold t :foreground "orange")))) - (message-header-newsgroups-face ((t (:bold t :foreground "violet")))) - (message-header-other-face ((t (:bold t :foreground "chocolate")))) - (message-header-subject-face ((t (:bold t :foreground "yellow")))) - (message-header-to-face ((t (:bold t :foreground "cadetblue")))) - (message-header-xheader-face ((t (:bold t :foreground "light blue")))) - (message-mml-face ((t (:bold t :foreground "Green3")))) - (message-separator-face ((t (:foreground "blue3")))) - (modeline ((t (:background "DarkRed" :foreground "white" :box (:line-width 1 :style released-button))))) - (modeline-buffer-id ((t (:background "DarkRed" :foreground "white")))) - (modeline-mousable ((t (:background "DarkRed" :foreground "white")))) - (modeline-mousable-minor-mode ((t (:background "DarkRed" :foreground "white")))) - (p4-depot-added-face ((t (:foreground "blue")))) - (p4-depot-deleted-face ((t (:foreground "red")))) - (p4-depot-unmapped-face ((t (:foreground "grey30")))) - (p4-diff-change-face ((t (:foreground "dark green")))) - (p4-diff-del-face ((t (:foreground "red")))) - (p4-diff-file-face ((t (:background "gray90")))) - (p4-diff-head-face ((t (:background "gray95")))) - (p4-diff-ins-face ((t (:foreground "blue")))) - (pointer ((t (nil)))) - (primary-selection ((t (:background "blue")))) - (red ((t (:foreground "red")))) - (region ((t (:background "blue")))) - (right-margin ((t (nil)))) - (secondary-selection ((t (:background "darkslateblue")))) - (show-paren-match-face ((t (:background "Aquamarine" :foreground "SlateBlue")))) - (show-paren-mismatch-face ((t (:background "Red" :foreground "White")))) - (text-cursor ((t (:background "yellow" :foreground "black")))) - (toolbar ((t (nil)))) - (underline ((nil (:underline nil)))) - (vertical-divider ((t (nil)))) - (widget ((t (nil)))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "lime green")))) - (widget-field-face ((t (:background "dim gray")))) - (widget-inactive-face ((t (:foreground "light gray")))) - (widget-single-line-field-face ((t (:background "dim gray")))) - (woman-bold-face ((t (:bold t)))) - (woman-italic-face ((t (:foreground "beige")))) - (woman-unknown-face ((t (:foreground "LightSalmon")))) - (yellow ((t (:foreground "yellow")))) - (zmacs-region ((t (:background "snow" :foreground "blue"))))))) - -(defun color-theme-tty-dark () - "Color theme by Oivvio Polite, created 2002-02-01. Good for tty display." - (interactive) - (color-theme-install - '(color-theme-tty-dark - ((background-color . "black") - (background-mode . dark) - (border-color . "blue") - (cursor-color . "red") - (foreground-color . "white") - (mouse-color . "black")) - ((ispell-highlight-face . highlight) - (list-matching-lines-face . bold) - (tinyreplace-:face . highlight) - (view-highlight-face . highlight)) - (default ((t (nil)))) - (bold ((t (:underline t :background "black" :foreground "white")))) - (bold-italic ((t (:underline t :foreground "white")))) - (calendar-today-face ((t (:underline t)))) - (diary-face ((t (:foreground "red")))) - (font-lock-builtin-face ((t (:foreground "blue")))) - (font-lock-comment-face ((t (:foreground "cyan")))) - (font-lock-constant-face ((t (:foreground "magenta")))) - (font-lock-function-name-face ((t (:foreground "cyan")))) - (font-lock-keyword-face ((t (:foreground "red")))) - (font-lock-string-face ((t (:foreground "green")))) - (font-lock-type-face ((t (:foreground "yellow")))) - (font-lock-variable-name-face ((t (:foreground "blue")))) - (font-lock-warning-face ((t (:bold t :foreground "magenta")))) - (highlight ((t (:background "blue" :foreground "yellow")))) - (holiday-face ((t (:background "cyan")))) - (info-menu-5 ((t (:underline t)))) - (info-node ((t (:italic t :bold t)))) - (info-xref ((t (:bold t)))) - (italic ((t (:underline t :background "red")))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:bold t :foreground "green")))) - (message-header-name-face ((t (:foreground "green")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "yellow")))) - (message-header-other-face ((t (:foreground "#b00000")))) - (message-header-subject-face ((t (:foreground "green")))) - (message-header-to-face ((t (:bold t :foreground "green")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-mml-face ((t (:foreground "green")))) - (message-separator-face ((t (:foreground "blue")))) - - (modeline ((t (:background "white" :foreground "blue")))) - (modeline-buffer-id ((t (:background "white" :foreground "red")))) - (modeline-mousable ((t (:background "white" :foreground "magenta")))) - (modeline-mousable-minor-mode ((t (:background "white" :foreground "yellow")))) - (region ((t (:background "white" :foreground "black")))) - (zmacs-region ((t (:background "cyan" :foreground "black")))) - (secondary-selection ((t (:background "blue")))) - (show-paren-match-face ((t (:background "red")))) - (show-paren-mismatch-face ((t (:background "magenta" :foreground "white")))) - (underline ((t (:underline t))))))) - -(defun color-theme-aliceblue () - "Color theme by Girish Bharadwaj, created 2002-03-27. -Includes comint prompt, custom, font-lock, isearch, -jde, senator, speedbar, and widget." - (interactive) - (color-theme-install - '(color-theme-aliceblue - ((background-color . "AliceBlue") - (background-mode . light) - (border-color . "black") - (cursor-color . "black") - (foreground-color . "DarkSlateGray4") - (mouse-color . "black")) - ((help-highlight-face . underline) - (list-matching-lines-face . bold) - (semantic-which-function-use-color . t) - (senator-eldoc-use-color . t) - (view-highlight-face . highlight) - (widget-mouse-face . highlight)) - (default ((t (:stipple nil :background "AliceBlue" :foreground "DarkSlateGray4" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-courier new")))) - (bold ((t (:bold t :weight bold)))) - (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (border ((t (:background "black")))) - (comint-highlight-input ((t (:bold t :weight bold)))) - (comint-highlight-prompt ((t (:foreground "dark blue")))) - (cursor ((t (:background "black")))) - (custom-button-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style released-button))))) - (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style pressed-button))))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-comment-face ((t (:background "gray85")))) - (custom-comment-tag-face ((t (:foreground "blue4")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:bold t :family "helv" :weight bold :height 1.2)))) - (custom-group-tag-face ((t (:bold t :foreground "blue" :weight bold :height 1.2)))) - (custom-group-tag-face-1 ((t (:bold t :family "helv" :foreground "red" :weight bold :height 1.2)))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "dark green")))) - (custom-variable-button-face ((t (:bold t :underline t :weight bold)))) - (custom-variable-tag-face ((t (:bold t :family "helv" :foreground "blue" :weight bold :height 1.2)))) - (fixed-pitch ((t (:family "courier")))) - (font-lock-builtin-face ((t (:foreground "Orchid")))) - (font-lock-comment-face ((t (:italic t :foreground "Firebrick" :slant oblique)))) - (font-lock-constant-face ((t (:foreground "CadetBlue")))) - (font-lock-function-name-face ((t (:bold t :foreground "Blue" :weight extra-bold :family "outline-verdana")))) - (font-lock-keyword-face ((t (:bold t :foreground "Purple" :weight semi-bold :family "outline-verdana")))) - (font-lock-preprocessor-face ((t (:foreground "CadetBlue")))) - (font-lock-reference-face ((t (:foreground "Orchid")))) - (font-lock-string-face ((t (:foreground "RosyBrown")))) - (font-lock-type-face ((t (:italic t :foreground "ForestGreen" :slant italic)))) - (font-lock-variable-name-face ((t (:foreground "DarkGoldenrod" :width condensed)))) - (font-lock-warning-face ((t (:bold t :foreground "Red" :weight bold)))) - (fringe ((t (:background "DarkSlateBlue")))) - (header-line ((t (:box (:line-width -1 :style released-button) :background "grey90" :foreground "grey20" :box nil)))) - (highlight ((t (:background "darkseagreen2")))) - (isearch ((t (:background "magenta4" :foreground "lightskyblue1")))) - (isearch-lazy-highlight-face ((t (:background "paleturquoise")))) - (italic ((t (:italic t :slant italic)))) - (jde-bug-breakpoint-cursor ((t (:background "brown" :foreground "cyan")))) - (jde-db-active-breakpoint-face ((t (:background "red" :foreground "black")))) - (jde-db-requested-breakpoint-face ((t (:background "yellow" :foreground "black")))) - (jde-db-spec-breakpoint-face ((t (:background "green" :foreground "black")))) - (jde-java-font-lock-api-face ((t (:foreground "dark goldenrod")))) - (jde-java-font-lock-bold-face ((t (:bold t :weight bold)))) - (jde-java-font-lock-code-face ((t (nil)))) - (jde-java-font-lock-constant-face ((t (:foreground "CadetBlue")))) - (jde-java-font-lock-doc-tag-face ((t (:foreground "green4")))) - (jde-java-font-lock-italic-face ((t (:italic t :slant italic)))) - (jde-java-font-lock-link-face ((t (:foreground "blue" :underline t :slant normal)))) - (jde-java-font-lock-modifier-face ((t (:foreground "Orchid")))) - (jde-java-font-lock-number-face ((t (:foreground "RosyBrown")))) - (jde-java-font-lock-operator-face ((t (:foreground "medium blue")))) - (jde-java-font-lock-package-face ((t (:foreground "blue3")))) - (jde-java-font-lock-pre-face ((t (nil)))) - (jde-java-font-lock-underline-face ((t (:underline t)))) - (menu ((t (nil)))) - (modeline ((t (:background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) - (modeline-buffer-id ((t (:background "grey75" :foreground "black")))) - (modeline-mousable ((t (:background "grey75" :foreground "black")))) - (modeline-mousable-minor-mode ((t (:background "grey75" :foreground "black")))) - (mouse ((t (:background "black")))) - (primary-selection ((t (:background "lightgoldenrod2")))) - (region ((t (:background "lightgoldenrod2")))) - (scroll-bar ((t (nil)))) - (secondary-selection ((t (:background "yellow")))) - (semantic-dirty-token-face ((t (:background "lightyellow")))) - (semantic-unmatched-syntax-face ((t (:underline "red")))) - (senator-intangible-face ((t (:foreground "gray25")))) - (senator-momentary-highlight-face ((t (:background "gray70")))) - (senator-read-only-face ((t (:background "#CCBBBB")))) - (show-paren-match-face ((t (:background "turquoise")))) - (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) - (speedbar-button-face ((t (:foreground "green4")))) - (speedbar-directory-face ((t (:foreground "blue4")))) - (speedbar-file-face ((t (:foreground "cyan4")))) - (speedbar-highlight-face ((t (:background "green")))) - (speedbar-selected-face ((t (:foreground "red" :underline t)))) - (speedbar-tag-face ((t (:foreground "brown")))) - (template-message-face ((t (:bold t :weight bold)))) - (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) - (trailing-whitespace ((t (:background "red")))) - (underline ((t (:underline t)))) - (variable-pitch ((t (:family "helv")))) - (widget-button-face ((t (:bold t :weight bold)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (widget-single-line-field-face ((t (:background "gray85")))) - (trailing-whitespace ((t (:background "red")))) - (underline ((t (:underline t)))) - (variable-pitch ((t (:family "helv")))) - (widget-button-face ((t (:bold t :weight bold)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (widget-single-line-field-face ((t (:background "gray85")))) - (zmacs-region ((t (:background "lightgoldenrod2"))))))) - -(defun color-theme-black-on-gray () - "Color theme by sbhojwani, created 2002-04-03. -Includes ecb, font-lock, paren, semantic, and widget faces. -Some of the font-lock faces are disabled, ie. they look just -like the default face. This is for people that don't like -the look of \"angry fruit salad\" when editing." - (interactive) - (color-theme-install - '(color-theme-black-on-gray - ((background-color . "white") - (background-mode . light) - (border-color . "blue") - (foreground-color . "black")) - ((buffers-tab-face . buffers-tab) - (ecb-directories-general-face . ecb-default-general-face) - (ecb-directory-face . ecb-default-highlight-face) - (ecb-history-face . ecb-default-highlight-face) - (ecb-history-general-face . ecb-default-general-face) - (ecb-method-face . ecb-default-highlight-face) - (ecb-methods-general-face . ecb-default-general-face) - (ecb-source-face . ecb-default-highlight-face) - (ecb-source-in-directories-buffer-face . ecb-source-in-directories-buffer-face) - (ecb-sources-general-face . ecb-default-general-face) - (ecb-token-header-face . ecb-token-header-face)) - (default ((t (nil)))) - (blue ((t (:foreground "blue")))) - (bold ((t (:bold t :size "10pt")))) - (bold-italic ((t (:italic t :bold t :size "10pt")))) - (border-glyph ((t (:size "11pt")))) - (buffers-tab ((t (:background "gray75")))) - (display-time-mail-balloon-enhance-face ((t (:background "orange")))) - (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue")))) - (display-time-time-balloon-face ((t (:foreground "red")))) - (ecb-bucket-token-face ((t (:bold t :size "10pt")))) - (ecb-default-general-face ((t (nil)))) - (ecb-default-highlight-face ((t (:background "cornflower blue" :foreground "yellow")))) - (ecb-directories-general-face ((t (nil)))) - (ecb-directory-face ((t (:background "cornflower blue" :foreground "yellow")))) - (ecb-history-face ((t (:background "cornflower blue" :foreground "yellow")))) - (ecb-history-general-face ((t (nil)))) - (ecb-method-face ((t (:background "cornflower blue" :foreground "yellow")))) - (ecb-methods-general-face ((t (nil)))) - (ecb-source-face ((t (:background "cornflower blue" :foreground "yellow")))) - (ecb-source-in-directories-buffer-face ((t (:foreground "medium blue")))) - (ecb-sources-general-face ((t (nil)))) - (ecb-token-header-face ((t (:background "SeaGreen1")))) - (ecb-type-token-class-face ((t (:bold t :size "10pt")))) - (ecb-type-token-enum-face ((t (:bold t :size "10pt")))) - (ecb-type-token-group-face ((t (:bold t :size "10pt" :foreground "dimgray")))) - (ecb-type-token-interface-face ((t (:bold t :size "10pt")))) - (ecb-type-token-struct-face ((t (:bold t :size "10pt")))) - (ecb-type-token-typedef-face ((t (:bold t :size "10pt")))) - (font-lock-builtin-face ((t (:foreground "red3")))) - (font-lock-constant-face ((t (:foreground "blue3")))) - (font-lock-comment-face ((t (:foreground "blue")))) - (font-lock-doc-face ((t (:foreground "green4")))) - (font-lock-doc-string-face ((t (:foreground "green4")))) - (font-lock-function-name-face ((t (nil)))) - (font-lock-keyword-face ((t (nil)))) - (font-lock-preprocessor-face ((t (:foreground "blue3")))) - (font-lock-reference-face ((t (:foreground "red3")))) - (font-lock-string-face ((t (nil)))) - (font-lock-type-face ((t (nil)))) - (font-lock-variable-name-face ((t (nil)))) - (font-lock-warning-face ((t (nil)))) - (green ((t (:foreground "green")))) - (gui-button-face ((t (:background "grey75")))) - (gui-element ((t (:size "8pt" :background "gray75")))) - (highlight ((t (:background "darkseagreen2")))) - (isearch ((t (:background "paleturquoise")))) - (isearch-secondary ((t (:foreground "red3")))) - (italic ((t (:size "10pt")))) - (left-margin ((t (nil)))) - (list-mode-item-selected ((t (:background "gray68")))) - (modeline ((t (:background "gray75")))) - (modeline-buffer-id ((t (:background "gray75" :foreground "blue4")))) - (modeline-mousable ((t (:background "gray75" :foreground "firebrick")))) - (modeline-mousable-minor-mode ((t (:background "gray75" :foreground "green4")))) - (paren-blink-off ((t (:foreground "gray")))) - (paren-match ((t (:background "darkseagreen2")))) - (paren-mismatch ((t (nil)))) - (pointer ((t (nil)))) - (primary-selection ((t (:background "gray65")))) - (red ((t (:foreground "red")))) - (region ((t (:background "gray65")))) - (right-margin ((t (nil)))) - (secondary-selection ((t (:background "paleturquoise")))) - (semantic-dirty-token-face ((t (nil)))) - (semantic-unmatched-syntax-face ((t (nil)))) - (text-cursor ((t (:background "red" :foreground "gray")))) - (toolbar ((t (:background "gray75")))) - (underline ((t (:underline t)))) - (vertical-divider ((t (:background "gray75")))) - (widget ((t (:size "8pt" :background "gray75")))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (nil)))) - (yellow ((t (:foreground "yellow")))) - (zmacs-region ((t (:background "gray65"))))))) - -(defun color-theme-dark-blue2 () - "Color theme by Chris McMahan, created 2002-04-12. -Includes antlr, bbdb, change-log, comint, cperl, custom cvs, diff, -dired, display-time, ebrowse, ecb, ediff, erc, eshell, fl, font-lock, -gnus, hi, highlight, html-helper, hyper-apropos, info, isearch, jde, -message, mmm, paren, semantic, senator, sgml, smerge, speedbar, -strokes, term, vhdl, viper, vm, widget, xref, xsl, xxml. Yes, it is -a large theme." - (interactive) - (color-theme-install - '(color-theme-dark-blue2 - ((background-color . "#233b5a") - (background-mode . dark) - (background-toolbar-color . "#cf3ccf3ccf3c") - (border-color . "black") - (bottom-toolbar-shadow-color . "#79e77df779e7") - (cursor-color . "Yellow") - (foreground-color . "#fff8dc") - (mouse-color . "Grey") - (top-toolbar-shadow-color . "#fffffbeeffff") - (viper-saved-cursor-color-in-replace-mode . "Red3")) - ((blank-space-face . blank-space-face) - (blank-tab-face . blank-tab-face) - (cperl-invalid-face . underline) - (ecb-directories-general-face . ecb-directories-general-face) - (ecb-directory-face . ecb-directory-face) - (ecb-history-face . ecb-history-face) - (ecb-history-general-face . ecb-history-general-face) - (ecb-method-face . ecb-method-face) - (ecb-methods-general-face . ecb-methods-general-face) - (ecb-source-face . ecb-source-face) - (ecb-source-in-directories-buffer-face . ecb-sources-face) - (ecb-sources-general-face . ecb-sources-general-face) - (ecb-token-header-face . ecb-token-header-face) - (gnus-article-button-face . bold) - (gnus-article-mouse-face . highlight) - (gnus-cite-attribution-face . gnus-cite-attribution-face) - (gnus-signature-face . gnus-signature-face) - (gnus-summary-selected-face . gnus-summary-selected-face) - (help-highlight-face . underline) - (highline-face . highline-face) - (highline-vertical-face . highline-vertical-face) - (list-matching-lines-face . bold) - (ps-zebra-color . 0.95) - (senator-eldoc-use-color . t) - (sgml-set-face . t) - (tags-tag-face . default) - (view-highlight-face . highlight) - (vm-highlight-url-face . bold-italic) - (vm-highlighted-header-face . bold) - (vm-mime-button-face . gui-button-face) - (vm-summary-highlight-face . bold) - (widget-mouse-face . highlight)) - (default ((t (:stipple nil :background "#233b5a" :foreground "#fff8dc" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-lucida console")))) - (Info-title-1-face ((t (:bold t :weight bold :height 1.728 :family "helv")))) - (Info-title-2-face ((t (:bold t :weight bold :height 1.44 :family "helv")))) - (Info-title-3-face ((t (:bold t :weight bold :height 1.2 :family "helv")))) - (Info-title-4-face ((t (:bold t :weight bold :family "helv")))) - (antlr-font-lock-keyword-face ((t (:bold t :foreground "Gray85" :weight bold)))) - (antlr-font-lock-literal-face ((t (:bold t :foreground "Gray85" :weight bold)))) - (antlr-font-lock-ruledef-face ((t (:bold t :foreground "Gray85" :weight bold)))) - (antlr-font-lock-ruleref-face ((t (:foreground "Gray85")))) - (antlr-font-lock-tokendef-face ((t (:bold t :foreground "Gray85" :weight bold)))) - (antlr-font-lock-tokenref-face ((t (:foreground "Gray85")))) - (bbdb-company ((t (:italic t :slant italic)))) - (bbdb-field-name ((t (:bold t :weight bold)))) - (bbdb-field-value ((t (nil)))) - (bbdb-name ((t (:underline t)))) - (bg:erc-color-face0 ((t (:background "White")))) - (bg:erc-color-face1 ((t (:background "black")))) - (bg:erc-color-face10 ((t (:background "lightblue1")))) - (bg:erc-color-face11 ((t (:background "cyan")))) - (bg:erc-color-face12 ((t (:background "blue")))) - (bg:erc-color-face13 ((t (:background "deeppink")))) - (bg:erc-color-face14 ((t (:background "gray50")))) - (bg:erc-color-face15 ((t (:background "gray90")))) - (bg:erc-color-face2 ((t (:background "blue4")))) - (bg:erc-color-face3 ((t (:background "green4")))) - (bg:erc-color-face4 ((t (:background "red")))) - (bg:erc-color-face5 ((t (:background "brown")))) - (bg:erc-color-face6 ((t (:background "purple")))) - (bg:erc-color-face7 ((t (:background "orange")))) - (bg:erc-color-face8 ((t (:background "yellow")))) - (bg:erc-color-face9 ((t (:background "green")))) - (blank-space-face ((t (:background "LightGray")))) - (blank-tab-face ((t (:background "Wheat")))) - (blue ((t (:foreground "blue")))) - (bold ((t (:bold t :foreground "cyan" :weight bold)))) - (bold-italic ((t (:italic t :bold t :foreground "cyan2" :slant italic :weight bold)))) - (border ((t (:background "black")))) - (border-glyph ((t (nil)))) - (buffers-tab ((t (:background "gray30" :foreground "LightSkyBlue")))) - (calendar-today-face ((t (:underline t)))) - (change-log-acknowledgement-face ((t (:foreground "firebrick")))) - (change-log-conditionals-face ((t (:background "sienna" :foreground "khaki")))) - (change-log-date-face ((t (:foreground "gold")))) - (change-log-email-face ((t (:foreground "khaki" :underline t)))) - (change-log-file-face ((t (:bold t :foreground "lemon chiffon" :weight bold)))) - (change-log-function-face ((t (:background "sienna" :foreground "khaki")))) - (change-log-list-face ((t (:foreground "wheat")))) - (change-log-name-face ((t (:bold t :foreground "light goldenrod" :weight bold)))) - (comint-highlight-input ((t (:bold t :weight bold)))) - (comint-highlight-prompt ((t (:foreground "cyan")))) - (comint-input-face ((t (:foreground "deepskyblue")))) - (cperl-array-face ((t (:bold t :background "lightyellow2" :foreground "Blue" :weight bold)))) - (cperl-hash-face ((t (:italic t :bold t :background "lightyellow2" :foreground "Red" :slant italic :weight bold)))) - (cperl-invalid-face ((t (:foreground "white")))) - (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) - (cursor ((t (:background "Yellow")))) - (custom-button-face ((t (:bold t :weight bold)))) - (custom-button-pressed-face ((t (:background "lightgrey" :foreground "gray30")))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-comment-face ((t (:foreground "white")))) - (custom-comment-tag-face ((t (:foreground "white")))) - (custom-documentation-face ((t (:foreground "light blue")))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face ((t (:bold t :foreground "gray85" :underline t :weight bold)))) - (custom-group-tag-face-1 ((t (:foreground "gray85" :underline t)))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "gray30" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "gray85")))) - (custom-variable-button-face ((t (:bold t :underline t :weight bold)))) - (custom-variable-tag-face ((t (:bold t :foreground "gray85" :underline t :weight bold)))) - (cvs-filename-face ((t (:foreground "white")))) - (cvs-handled-face ((t (:foreground "pink")))) - (cvs-header-face ((t (:foreground "green")))) - (cvs-marked-face ((t (:bold t :foreground "green3" :weight bold)))) - (cvs-msg-face ((t (:foreground "gray85")))) - (cvs-need-action-face ((t (:foreground "yellow")))) - (cvs-unknown-face ((t (:foreground "grey")))) - (cyan ((t (:foreground "cyan")))) - (diary-face ((t (:bold t :foreground "gray85" :weight bold)))) - (diff-added-face ((t (nil)))) - (diff-changed-face ((t (nil)))) - (diff-context-face ((t (:foreground "grey50")))) - (diff-file-header-face ((t (:bold t :background "grey70" :weight bold)))) - (diff-function-face ((t (:foreground "grey50")))) - (diff-header-face ((t (:foreground "lemon chiffon")))) - (diff-hunk-header-face ((t (:background "grey85")))) - (diff-index-face ((t (:bold t :background "grey70" :weight bold)))) - (diff-nonexistent-face ((t (:bold t :background "grey70" :weight bold)))) - (diff-removed-face ((t (nil)))) - (dired-face-boring ((t (:foreground "Gray65")))) - (dired-face-directory ((t (:bold t :weight bold)))) - (dired-face-executable ((t (:foreground "gray85")))) - (dired-face-flagged ((t (:background "LightSlateGray")))) - (dired-face-header ((t (:background "grey75" :foreground "gray30")))) - (dired-face-marked ((t (:background "PaleVioletRed")))) - (dired-face-permissions ((t (:background "grey75" :foreground "gray30")))) - (dired-face-setuid ((t (:foreground "gray85")))) - (dired-face-socket ((t (:foreground "gray85")))) - (dired-face-symlink ((t (:foreground "cyan")))) - (display-time-mail-balloon-enhance-face ((t (:background "orange")))) - (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue")))) - (display-time-time-balloon-face ((t (:foreground "gray85")))) - (ebrowse-default-face ((t (nil)))) - (ebrowse-file-name-face ((t (:italic t :slant italic)))) - (ebrowse-member-attribute-face ((t (:foreground "red")))) - (ebrowse-member-class-face ((t (:foreground "Gray85")))) - (ebrowse-progress-face ((t (:background "blue")))) - (ebrowse-root-class-face ((t (:bold t :foreground "Gray85" :weight bold)))) - (ebrowse-tree-mark-face ((t (:foreground "Gray85")))) - (ecb-bucket-token-face ((t (:bold t :weight bold)))) - (ecb-default-general-face ((t (:height 1.0)))) - (ecb-default-highlight-face ((t (:background "magenta" :height 1.0)))) - (ecb-directories-general-face ((t (:height 0.9)))) - (ecb-directory-face ((t (:background "Cyan4")))) - (ecb-history-face ((t (:background "Cyan4")))) - (ecb-history-general-face ((t (:height 0.9)))) - (ecb-method-face ((t (:background "Cyan4" :slant normal :weight normal)))) - (ecb-methods-general-face ((t (:slant normal)))) - (ecb-source-face ((t (:background "Cyan4")))) - (ecb-source-in-directories-buffer-face ((t (:foreground "LightBlue1")))) - (ecb-sources-face ((t (:foreground "LightBlue1")))) - (ecb-sources-general-face ((t (:height 0.9)))) - (ecb-token-header-face ((t (:background "Steelblue4")))) - (ecb-type-token-class-face ((t (:bold t :weight bold)))) - (ecb-type-token-enum-face ((t (:bold t :weight bold)))) - (ecb-type-token-group-face ((t (:bold t :foreground "dim gray" :weight bold)))) - (ecb-type-token-interface-face ((t (:bold t :weight bold)))) - (ecb-type-token-struct-face ((t (:bold t :weight bold)))) - (ecb-type-token-typedef-face ((t (:bold t :weight bold)))) - (ediff-current-diff-face-A ((t (:background "pale green" :foreground "firebrick")))) - (ediff-current-diff-face-Ancestor ((t (:background "VioletRed" :foreground "Gray30")))) - (ediff-current-diff-face-B ((t (:background "Yellow" :foreground "DarkOrchid")))) - (ediff-current-diff-face-C ((t (:background "Pink" :foreground "Navy")))) - (ediff-even-diff-face-A ((t (:background "light grey" :foreground "Gray30")))) - (ediff-even-diff-face-Ancestor ((t (:background "Grey" :foreground "White")))) - (ediff-even-diff-face-B ((t (:background "Grey" :foreground "White")))) - (ediff-even-diff-face-C ((t (:background "light grey" :foreground "Gray30")))) - (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy")))) - (ediff-fine-diff-face-Ancestor ((t (:background "Green" :foreground "Gray30")))) - (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Gray30")))) - (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Gray30")))) - (ediff-odd-diff-face-A ((t (:background "Grey" :foreground "White")))) - (ediff-odd-diff-face-Ancestor ((t (:background "light grey" :foreground "Gray30")))) - (ediff-odd-diff-face-B ((t (:background "light grey" :foreground "Gray30")))) - (ediff-odd-diff-face-C ((t (:background "Grey" :foreground "White")))) - (erc-action-face ((t (:bold t :weight bold)))) - (erc-bold-face ((t (:bold t :weight bold)))) - (erc-dangerous-host-face ((t (:foreground "red")))) - (erc-default-face ((t (nil)))) - (erc-direct-msg-face ((t (:foreground "pale green")))) - (erc-error-face ((t (:bold t :foreground "gray85" :weight bold)))) - (erc-fool-face ((t (:foreground "Gray85")))) - (erc-highlight-face ((t (:bold t :foreground "pale green" :weight bold)))) - (erc-input-face ((t (:foreground "light blue")))) - (erc-inverse-face ((t (:background "Black" :foreground "White")))) - (erc-keyword-face ((t (:bold t :foreground "pale green" :weight bold)))) - (erc-notice-face ((t (:foreground "light salmon")))) - (erc-pal-face ((t (:foreground "pale green")))) - (erc-prompt-face ((t (:bold t :foreground "light blue" :weight bold)))) - (erc-timestamp-face ((t (:bold t :foreground "green" :weight bold)))) - (erc-underline-face ((t (:underline t)))) - (eshell-ls-archive-face ((t (:bold t :weight bold)))) - (eshell-ls-backup-face ((t (:foreground "gray85")))) - (eshell-ls-clutter-face ((t (:bold t :foreground "gray85" :weight bold)))) - (eshell-ls-directory-face ((t (:bold t :foreground "Cyan" :weight bold)))) - (eshell-ls-executable-face ((t (:bold t :weight bold)))) - (eshell-ls-missing-face ((t (:bold t :weight bold)))) - (eshell-ls-picture-face ((t (:foreground "gray85")))) - (eshell-ls-product-face ((t (:foreground "gray85")))) - (eshell-ls-readonly-face ((t (:foreground "gray70")))) - (eshell-ls-special-face ((t (:bold t :weight bold)))) - (eshell-ls-symlink-face ((t (:bold t :weight bold)))) - (eshell-ls-text-face ((t (:foreground "gray85")))) - (eshell-ls-todo-face ((t (:bold t :weight bold)))) - (eshell-ls-unreadable-face ((t (:foreground "gray85")))) - (eshell-prompt-face ((t (:bold t :foreground "Yellow" :weight bold)))) - (eshell-test-failed-face ((t (:bold t :weight bold)))) - (eshell-test-ok-face ((t (:bold t :weight bold)))) - (excerpt ((t (:italic t :slant italic)))) - (ff-paths-non-existant-file-face ((t (:bold t :foreground "gray85" :weight bold)))) - (fg:black ((t (:foreground "black")))) - (fg:erc-color-face0 ((t (:foreground "White")))) - (fg:erc-color-face1 ((t (:foreground "black")))) - (fg:erc-color-face10 ((t (:foreground "lightblue1")))) - (fg:erc-color-face11 ((t (:foreground "cyan")))) - (fg:erc-color-face12 ((t (:foreground "blue")))) - (fg:erc-color-face13 ((t (:foreground "deeppink")))) - (fg:erc-color-face14 ((t (:foreground "gray50")))) - (fg:erc-color-face15 ((t (:foreground "gray90")))) - (fg:erc-color-face2 ((t (:foreground "blue4")))) - (fg:erc-color-face3 ((t (:foreground "green4")))) - (fg:erc-color-face4 ((t (:foreground "red")))) - (fg:erc-color-face5 ((t (:foreground "brown")))) - (fg:erc-color-face6 ((t (:foreground "purple")))) - (fg:erc-color-face7 ((t (:foreground "orange")))) - (fg:erc-color-face8 ((t (:foreground "yellow")))) - (fg:erc-color-face9 ((t (:foreground "green")))) - (fixed ((t (:bold t :weight bold)))) - (fixed-pitch ((t (:family "outline-lucida console")))) - (fl-comment-face ((t (:foreground "gray85")))) - (fl-function-name-face ((t (:foreground "green")))) - (fl-keyword-face ((t (:foreground "LightGreen")))) - (fl-string-face ((t (:foreground "light coral")))) - (fl-type-face ((t (:foreground "cyan")))) - (flyspell-duplicate-face ((t (:bold t :foreground "Gold3" :underline t :weight bold)))) - (flyspell-incorrect-face ((t (:bold t :foreground "OrangeRed" :underline t :weight bold)))) - (font-latex-bold-face ((t (nil)))) - (font-latex-italic-face ((t (nil)))) - (font-latex-math-face ((t (nil)))) - (font-latex-sedate-face ((t (:foreground "Gray85")))) - (font-latex-string-face ((t (:foreground "orange")))) - (font-latex-warning-face ((t (:foreground "gold")))) - (font-lock-builtin-face ((t (:bold t :foreground "LightSteelBlue" :weight bold)))) - (font-lock-comment-face ((t (:italic t :foreground "medium aquamarine" :slant italic)))) - (font-lock-constant-face ((t (:bold t :foreground "Aquamarine" :weight bold)))) - (font-lock-doc-face ((t (:bold t :weight bold)))) - (font-lock-doc-string-face ((t (:bold t :foreground "aquamarine" :weight bold)))) - (font-lock-exit-face ((t (:foreground "green")))) - (font-lock-function-name-face ((t (:italic t :bold t :foreground "LightSkyBlue" :slant italic :weight bold)))) - (font-lock-keyword-face ((t (:bold t :foreground "Cyan" :weight bold)))) - (font-lock-preprocessor-face ((t (:foreground "Gray85")))) - (font-lock-reference-face ((t (:foreground "cyan")))) - (font-lock-string-face ((t (:italic t :foreground "aquamarine" :slant italic)))) - (font-lock-type-face ((t (:bold t :foreground "PaleGreen" :weight bold)))) - (font-lock-variable-name-face ((t (:italic t :bold t :foreground "LightGoldenrod" :slant italic :weight bold)))) - (font-lock-warning-face ((t (:bold t :foreground "Salmon" :weight bold)))) - (fringe ((t (:background "#3c5473")))) - (gnus-cite-attribution-face ((t (:italic t :bold t :foreground "beige" :underline t :slant italic :weight bold)))) - (gnus-cite-face-1 ((t (:foreground "gold")))) - (gnus-cite-face-10 ((t (:foreground "coral")))) - (gnus-cite-face-11 ((t (:foreground "turquoise")))) - (gnus-cite-face-2 ((t (:foreground "wheat")))) - (gnus-cite-face-3 ((t (:foreground "light pink")))) - (gnus-cite-face-4 ((t (:foreground "khaki")))) - (gnus-cite-face-5 ((t (:foreground "pale green")))) - (gnus-cite-face-6 ((t (:foreground "beige")))) - (gnus-cite-face-7 ((t (:foreground "orange")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-emphasis-bold ((t (:bold t :foreground "light gray" :weight bold)))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t :foreground "cyan" :slant italic :weight bold)))) - (gnus-emphasis-highlight-words ((t (:background "gray30" :foreground "gold")))) - (gnus-emphasis-italic ((t (:italic t :foreground "cyan" :slant italic)))) - (gnus-emphasis-underline ((t (:foreground "white" :underline t)))) - (gnus-emphasis-underline-bold ((t (:bold t :foreground "white" :underline t :weight bold)))) - (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :foreground "white" :underline t :slant italic :weight bold)))) - (gnus-emphasis-underline-italic ((t (:italic t :foreground "white" :underline t :slant italic)))) - (gnus-filterhist-face-1 ((t (nil)))) - (gnus-group-mail-1-empty-face ((t (:foreground "Magenta")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "Magenta" :weight bold)))) - (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "aquamarine2" :weight bold)))) - (gnus-group-mail-3-empty-face ((t (:foreground "Cyan")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "Cyan" :weight bold)))) - (gnus-group-mail-low-empty-face ((t (:foreground "Wheat")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "Gray85" :weight bold)))) - (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) - (gnus-group-news-1-face ((t (:bold t :foreground "PaleTurquoise" :weight bold)))) - (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) - (gnus-group-news-2-face ((t (:bold t :foreground "turquoise" :weight bold)))) - (gnus-group-news-3-empty-face ((t (:foreground "wheat")))) - (gnus-group-news-3-face ((t (:bold t :foreground "Wheat" :weight bold)))) - (gnus-group-news-4-empty-face ((t (:foreground "Aquamarine")))) - (gnus-group-news-4-face ((t (:bold t :weight bold)))) - (gnus-group-news-5-empty-face ((t (:foreground "MediumAquamarine")))) - (gnus-group-news-5-face ((t (:bold t :weight bold)))) - (gnus-group-news-6-empty-face ((t (:foreground "MediumAquamarine")))) - (gnus-group-news-6-face ((t (:bold t :weight bold)))) - (gnus-group-news-low-empty-face ((t (:foreground "MediumAquamarine")))) - (gnus-group-news-low-face ((t (:bold t :foreground "MediumAquamarine" :weight bold)))) - (gnus-header-content-face ((t (:italic t :foreground "Wheat" :slant italic)))) - (gnus-header-from-face ((t (:bold t :foreground "light yellow" :weight bold)))) - (gnus-header-name-face ((t (:bold t :foreground "Wheat" :weight bold)))) - (gnus-header-newsgroups-face ((t (:italic t :bold t :foreground "gold" :slant italic :weight bold)))) - (gnus-header-subject-face ((t (:bold t :foreground "Gold" :weight bold)))) - (gnus-picons-face ((t (:background "white" :foreground "gray30")))) - (gnus-picons-xbm-face ((t (:background "white" :foreground "gray30")))) - (gnus-signature-face ((t (:italic t :foreground "white" :slant italic)))) - (gnus-splash ((t (:foreground "Brown")))) - (gnus-splash-face ((t (:foreground "orange")))) - (gnus-summary-cancelled-face ((t (:background "gray30" :foreground "orange")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "SkyBlue" :weight bold)))) - (gnus-summary-high-read-face ((t (:bold t :foreground "gray85" :weight bold)))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "coral" :weight bold)))) - (gnus-summary-high-unread-face ((t (:italic t :bold t :foreground "gold" :slant italic :weight bold)))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "SkyBlue" :slant italic)))) - (gnus-summary-low-read-face ((t (:italic t :foreground "gray85" :slant italic)))) - (gnus-summary-low-ticked-face ((t (:italic t :bold t :foreground "coral" :slant italic :weight bold)))) - (gnus-summary-low-unread-face ((t (:italic t :foreground "white" :slant italic)))) - (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "gray70")))) - (gnus-summary-normal-ticked-face ((t (:bold t :foreground "pink" :weight bold)))) - (gnus-summary-normal-unread-face ((t (:bold t :foreground "gray85" :weight bold)))) - (gnus-summary-selected-face ((t (:foreground "white" :underline t)))) - (gnus-x-face ((t (:background "white" :foreground "gray30")))) - (green ((t (:foreground "green")))) - (gui-button-face ((t (:background "grey75" :foreground "gray30")))) - (gui-element ((t (:background "Gray80")))) - (header-line ((t (:background "grey20" :foreground "grey90")))) - (hi-black-b ((t (:bold t :weight bold)))) - (hi-black-hb ((t (:bold t :weight bold :height 1.67 :family "helv")))) - (hi-blue ((t (:background "light blue")))) - (hi-blue-b ((t (:bold t :foreground "blue" :weight bold)))) - (hi-green ((t (:background "green")))) - (hi-green-b ((t (:bold t :foreground "green" :weight bold)))) - (hi-pink ((t (:background "pink")))) - (hi-red-b ((t (:bold t :foreground "red" :weight bold)))) - (hi-yellow ((t (:background "yellow")))) - (highlight ((t (:background "SkyBlue3")))) - (highlight-changes-delete-face ((t (:foreground "gray85" :underline t)))) - (highlight-changes-face ((t (:foreground "gray85")))) - (highline-face ((t (:background "#3c5473")))) - (highline-vertical-face ((t (:background "lightcyan")))) - (holiday-face ((t (:background "pink" :foreground "gray30")))) - (html-helper-bold-face ((t (:bold t :weight bold)))) - (html-helper-bold-italic-face ((t (nil)))) - (html-helper-builtin-face ((t (:foreground "gray85" :underline t)))) - (html-helper-italic-face ((t (:bold t :foreground "yellow" :weight bold)))) - (html-helper-underline-face ((t (:underline t)))) - (html-tag-face ((t (:bold t :weight bold)))) - (hyper-apropos-documentation ((t (:foreground "white")))) - (hyper-apropos-heading ((t (:bold t :weight bold)))) - (hyper-apropos-hyperlink ((t (:foreground "sky blue")))) - (hyper-apropos-major-heading ((t (:bold t :weight bold)))) - (hyper-apropos-section-heading ((t (:bold t :weight bold)))) - (hyper-apropos-warning ((t (:bold t :foreground "gray85" :weight bold)))) - (ibuffer-marked-face ((t (:foreground "gray85")))) - (idlwave-help-link-face ((t (:foreground "Blue")))) - (idlwave-shell-bp-face ((t (:background "Pink" :foreground "Black")))) - (info-header-node ((t (:italic t :bold t :foreground "brown" :slant italic :weight bold)))) - (info-header-xref ((t (:bold t :foreground "magenta4" :weight bold)))) - (info-menu-5 ((t (:underline t)))) - (info-menu-6 ((t (nil)))) - (info-menu-header ((t (:bold t :weight bold :family "helv")))) - (info-node ((t (:italic t :bold t :slant italic :weight bold)))) - (info-xref ((t (:bold t :weight bold)))) - (isearch ((t (:background "LightSeaGreen")))) - (isearch-lazy-highlight-face ((t (:background "cyan4")))) - (isearch-secondary ((t (:foreground "red3")))) - (italic ((t (:italic t :bold t :slant italic :weight bold)))) - (jde-bug-breakpoint-cursor ((t (:background "brown" :foreground "cyan")))) - (jde-bug-breakpoint-marker ((t (:background "yellow" :foreground "red")))) - (jde-java-font-lock-api-face ((t (:foreground "LightBlue")))) - (jde-java-font-lock-bold-face ((t (:bold t :weight bold)))) - (jde-java-font-lock-code-face ((t (nil)))) - (jde-java-font-lock-constant-face ((t (:foreground "LightBlue")))) - (jde-java-font-lock-doc-tag-face ((t (:foreground "LightBlue")))) - (jde-java-font-lock-italic-face ((t (:italic t :slant italic)))) - (jde-java-font-lock-link-face ((t (:foreground "cyan3" :underline t)))) - (jde-java-font-lock-modifier-face ((t (:foreground "LightBlue")))) - (jde-java-font-lock-number-face ((t (:foreground "RosyBrown")))) - (jde-java-font-lock-operator-face ((t (:foreground "cyan3")))) - (jde-java-font-lock-package-face ((t (:foreground "LightBlue")))) - (jde-java-font-lock-pre-face ((t (nil)))) - (jde-java-font-lock-underline-face ((t (:underline t)))) - (lazy-highlight-face ((t (:bold t :foreground "yellow" :weight bold)))) - (left-margin ((t (nil)))) - (linemenu-face ((t (:background "gray30")))) - (list-mode-item-selected ((t (:background "gray68")))) - (log-view-file-face ((t (:bold t :background "grey70" :weight bold)))) - (log-view-message-face ((t (:background "grey85")))) - (magenta ((t (:foreground "gray85")))) - (makefile-space-face ((t (:background "hotpink" :foreground "white")))) - (man-bold ((t (:bold t :weight bold)))) - (man-heading ((t (:bold t :weight bold)))) - (man-italic ((t (:foreground "yellow")))) - (man-xref ((t (:underline t)))) - (menu ((t (:background "wheat" :foreground "gray30")))) - (message-cited-text ((t (:foreground "orange")))) - (message-cited-text-face ((t (:foreground "medium aquamarine")))) - (message-header-cc-face ((t (:bold t :foreground "gray85" :weight bold)))) - (message-header-contents ((t (:foreground "white")))) - (message-header-name-face ((t (:foreground "gray85")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "yellow" :slant italic :weight bold)))) - (message-header-other-face ((t (:foreground "gray85")))) - (message-header-subject-face ((t (:bold t :foreground "green3" :weight bold)))) - (message-header-to-face ((t (:bold t :foreground "green2" :weight bold)))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-headers ((t (:bold t :foreground "orange" :weight bold)))) - (message-highlighted-header-contents ((t (:bold t :weight bold)))) - (message-mml-face ((t (:bold t :foreground "gray85" :weight bold)))) - (message-separator-face ((t (:foreground "gray85")))) - (message-url ((t (:bold t :foreground "pink" :weight bold)))) - (mmm-default-submode-face ((t (:background "#c0c0c5")))) - (mmm-face ((t (:background "black" :foreground "green")))) - (modeline ((t (:background "#3c5473" :foreground "lightgray" :box (:line-width -1 :style released-button :family "helv"))))) - (modeline-buffer-id ((t (:background "white" :foreground "DeepSkyBlue3" :slant normal :weight normal :width normal :family "outline-verdana")))) - (modeline-mousable ((t (:background "white" :foreground "DeepSkyBlue3")))) - (modeline-mousable-minor-mode ((t (:background "white" :foreground "DeepSkyBlue3")))) - (mouse ((t (:background "Grey")))) - (my-summary-highlight-face ((t (:background "PaleTurquoise4" :foreground "White")))) - (my-url-face ((t (:foreground "LightBlue")))) - (nil ((t (nil)))) - (paren-blink-off ((t (:foreground "gray80")))) - (paren-face-match ((t (:background "turquoise")))) - (paren-face-mismatch ((t (:background "purple" :foreground "white")))) - (paren-face-no-match ((t (:background "yellow" :foreground "gray30")))) - (paren-match ((t (:background "darkseagreen2")))) - (paren-mismatch ((t (:background "RosyBrown" :foreground "gray30")))) - (paren-mismatch-face ((t (:bold t :background "white" :foreground "red" :weight bold)))) - (paren-no-match-face ((t (:bold t :background "white" :foreground "red" :weight bold)))) - (pointer ((t (nil)))) - (primary-selection ((t (:background "gray40")))) - (reb-match-0 ((t (:background "lightblue")))) - (reb-match-1 ((t (:background "aquamarine")))) - (reb-match-2 ((t (:background "springgreen")))) - (reb-match-3 ((t (:background "yellow")))) - (red ((t (:foreground "red")))) - (region ((t (:background "Cyan4")))) - (right-margin ((t (nil)))) - (scroll-bar ((t (:background "grey75")))) - (secondary-selection ((t (:background "gray60")))) - (semantic-dirty-token-face ((t (:background "gray10")))) - (semantic-intangible-face ((t (:foreground "gray25")))) - (semantic-read-only-face ((t (:background "gray25")))) - (semantic-unmatched-syntax-face ((t (:underline "red")))) - (senator-intangible-face ((t (:foreground "gray75")))) - (senator-momentary-highlight-face ((t (:background "gray70")))) - (senator-read-only-face ((t (:background "#664444")))) - (sgml-comment-face ((t (:foreground "dark turquoise")))) - (sgml-doctype-face ((t (:foreground "turquoise")))) - (sgml-end-tag-face ((t (:foreground "aquamarine")))) - (sgml-entity-face ((t (:foreground "gray85")))) - (sgml-ignored-face ((t (:background "gray60" :foreground "gray40")))) - (sgml-ms-end-face ((t (:foreground "green")))) - (sgml-ms-start-face ((t (:foreground "yellow")))) - (sgml-pi-face ((t (:foreground "lime green")))) - (sgml-sgml-face ((t (:foreground "brown")))) - (sgml-short-ref-face ((t (:foreground "deep sky blue")))) - (sgml-start-tag-face ((t (:foreground "aquamarine")))) - (sh-heredoc-face ((t (:foreground "tan")))) - (shell-option-face ((t (:foreground "gray85")))) - (shell-output-2-face ((t (:foreground "gray85")))) - (shell-output-3-face ((t (:foreground "gray85")))) - (shell-output-face ((t (:bold t :weight bold)))) - (shell-prompt-face ((t (:foreground "yellow")))) - (show-paren-match-face ((t (:bold t :background "turquoise" :weight bold)))) - (show-paren-mismatch-face ((t (:bold t :background "RosyBrown" :foreground "white" :weight bold)))) - (show-tabs-space-face ((t (:foreground "yellow")))) - (show-tabs-tab-face ((t (:foreground "red")))) - (smerge-base-face ((t (:foreground "red")))) - (smerge-markers-face ((t (:background "grey85")))) - (smerge-mine-face ((t (:foreground "Gray85")))) - (smerge-other-face ((t (:foreground "darkgreen")))) - (speedbar-button-face ((t (:bold t :weight bold)))) - (speedbar-directory-face ((t (:bold t :weight bold)))) - (speedbar-file-face ((t (:bold t :weight bold)))) - (speedbar-highlight-face ((t (:background "sea green")))) - (speedbar-selected-face ((t (:underline t)))) - (speedbar-tag-face ((t (:foreground "yellow")))) - (strokes-char-face ((t (:background "lightgray")))) - (swbuff-current-buffer-face ((t (:bold t :foreground "gray85" :weight bold)))) - (template-message-face ((t (:bold t :weight bold)))) - (term-black ((t (:foreground "black")))) - (term-blackbg ((t (:background "black")))) - (term-blue ((t (:foreground "blue")))) - (term-bluebg ((t (:background "blue")))) - (term-bold ((t (:bold t :weight bold)))) - (term-cyan ((t (:foreground "cyan")))) - (term-cyanbg ((t (:background "cyan")))) - (term-default ((t (:background "gray80" :foreground "gray30" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-lucida console")))) - (term-default-bg ((t (nil)))) - (term-default-bg-inv ((t (nil)))) - (term-default-fg ((t (nil)))) - (term-default-fg-inv ((t (nil)))) - (term-green ((t (:foreground "green")))) - (term-greenbg ((t (:background "green")))) - (term-invisible ((t (nil)))) - (term-invisible-inv ((t (nil)))) - (term-magenta ((t (:foreground "magenta")))) - (term-magentabg ((t (:background "magenta")))) - (term-red ((t (:foreground "red")))) - (term-redbg ((t (:background "red")))) - (term-underline ((t (:underline t)))) - (term-white ((t (:foreground "white")))) - (term-whitebg ((t (:background "white")))) - (term-yellow ((t (:foreground "yellow")))) - (term-yellowbg ((t (:background "yellow")))) - (tex-math-face ((t (:foreground "RosyBrown")))) - (texinfo-heading-face ((t (:foreground "Blue")))) - (text-cursor ((t (:background "Red3" :foreground "gray80")))) - (tool-bar ((t (:background "grey75" :foreground "black")))) - (toolbar ((t (:background "Gray80")))) - (tooltip ((t (:background "lightyellow" :foreground "black")))) - (trailing-whitespace ((t (:background "red")))) - (underline ((t (:underline t)))) - (variable-pitch ((t (:family "helv")))) - (vc-annotate-face-0046FF ((t (:background "black" :foreground "wheat")))) - (vcursor ((t (:background "cyan" :foreground "blue" :underline t)))) - (vertical-divider ((t (:background "Gray80")))) - (vhdl-font-lock-attribute-face ((t (:foreground "gray85")))) - (vhdl-font-lock-directive-face ((t (:foreground "gray85")))) - (vhdl-font-lock-enumvalue-face ((t (:foreground "gray85")))) - (vhdl-font-lock-function-face ((t (:foreground "gray85")))) - (vhdl-font-lock-prompt-face ((t (:bold t :foreground "gray85" :weight bold)))) - (vhdl-font-lock-reserved-words-face ((t (:bold t :foreground "gray85" :weight bold)))) - (vhdl-font-lock-translate-off-face ((t (:background "LightGray")))) - (vhdl-speedbar-architecture-face ((t (:foreground "gray85")))) - (vhdl-speedbar-architecture-selected-face ((t (:foreground "gray85" :underline t)))) - (vhdl-speedbar-configuration-face ((t (:foreground "gray85")))) - (vhdl-speedbar-configuration-selected-face ((t (:foreground "gray85" :underline t)))) - (vhdl-speedbar-entity-face ((t (:foreground "gray85")))) - (vhdl-speedbar-entity-selected-face ((t (:foreground "gray85" :underline t)))) - (vhdl-speedbar-instantiation-face ((t (:foreground "gray85")))) - (vhdl-speedbar-instantiation-selected-face ((t (:foreground "gray85" :underline t)))) - (vhdl-speedbar-package-face ((t (:foreground "gray85")))) - (vhdl-speedbar-package-selected-face ((t (:foreground "gray85" :underline t)))) - (viper-minibuffer-emacs-face ((t (:background "darkseagreen2" :foreground "Black")))) - (viper-minibuffer-insert-face ((t (:background "pink" :foreground "Black")))) - (viper-minibuffer-vi-face ((t (:background "grey" :foreground "DarkGreen")))) - (viper-replace-overlay-face ((t (:background "darkseagreen2" :foreground "Black")))) - (viper-search-face ((t (:background "khaki" :foreground "Black")))) - (vm-header-content-face ((t (:italic t :foreground "wheat" :slant italic)))) - (vm-header-from-face ((t (:italic t :foreground "wheat" :slant italic)))) - (vm-header-name-face ((t (:foreground "cyan")))) - (vm-header-subject-face ((t (:foreground "cyan")))) - (vm-header-to-face ((t (:italic t :foreground "cyan" :slant italic)))) - (vm-message-cited-face ((t (:foreground "Gray80")))) - (vm-monochrome-image ((t (:background "white" :foreground "gray30")))) - (vm-summary-face-1 ((t (:foreground "MediumAquamarine")))) - (vm-summary-face-2 ((t (:foreground "MediumAquamarine")))) - (vm-summary-face-3 ((t (:foreground "MediumAquamarine")))) - (vm-summary-face-4 ((t (:foreground "MediumAquamarine")))) - (vm-summary-highlight-face ((t (:foreground "White")))) - (vm-xface ((t (:background "white" :foreground "gray30")))) - (vmpc-pre-sig-face ((t (:foreground "gray85")))) - (vmpc-sig-face ((t (:foreground "gray85")))) - (vvb-face ((t (:background "pink" :foreground "gray30")))) - (w3m-anchor-face ((t (:bold t :foreground "gray85" :weight bold)))) - (w3m-arrived-anchor-face ((t (:bold t :foreground "gray85" :weight bold)))) - (w3m-header-line-location-content-face ((t (:background "dark olive green" :foreground "wheat")))) - (w3m-header-line-location-title-face ((t (:background "dark olive green" :foreground "beige")))) - (white ((t (:foreground "white")))) - (widget ((t (nil)))) - (widget-button-face ((t (:bold t :weight bold)))) - (widget-button-pressed-face ((t (:foreground "gray85")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85" :foreground "gray30")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (widget-single-line-field-face ((t (:background "dim gray" :foreground "white")))) - (woman-addition-face ((t (:foreground "orange")))) - (woman-bold-face ((t (:bold t :weight bold)))) - (woman-italic-face ((t (:foreground "beige")))) - (woman-unknown-face ((t (:foreground "LightSalmon")))) - (x-face ((t (:background "white" :foreground "gray30")))) - (xrdb-option-name-face ((t (:foreground "gray85")))) - (xref-keyword-face ((t (:foreground "gray85")))) - (xref-list-default-face ((t (nil)))) - (xref-list-pilot-face ((t (:foreground "gray85")))) - (xref-list-symbol-face ((t (:foreground "navy")))) - (xsl-fo-alternate-face ((t (:foreground "Yellow")))) - (xsl-fo-main-face ((t (:foreground "PaleGreen")))) - (xsl-other-element-face ((t (:foreground "Coral")))) - (xsl-xslt-alternate-face ((t (:foreground "LightGray")))) - (xsl-xslt-main-face ((t (:foreground "Wheat")))) - (xxml-emph-1-face ((t (:background "lightyellow")))) - (xxml-emph-2-face ((t (:background "lightyellow")))) - (xxml-header-1-face ((t (:background "seashell1" :foreground "MediumAquamarine")))) - (xxml-header-2-face ((t (:background "seashell1" :foreground "SkyBlue")))) - (xxml-header-3-face ((t (:background "seashell1")))) - (xxml-header-4-face ((t (:background "seashell1")))) - (xxml-interaction-face ((t (:background "lightcyan")))) - (xxml-rug-face ((t (:background "cyan")))) - (xxml-sparkle-face ((t (:background "yellow")))) - (xxml-unbreakable-space-face ((t (:foreground "grey" :underline t)))) - (yellow ((t (:foreground "yellow")))) - (zmacs-region ((t (:background "Cyan4"))))))) - -(defun color-theme-blue-mood () - "Color theme by Nelson Loyola, created 2002-04-15. -Includes cperl, custom, font-lock, p4, speedbar, widget." - (interactive) - (color-theme-install - '(color-theme-blue-mood - ((background-color . "DodgerBlue4") - (background-mode . dark) - (background-toolbar-color . "#bfbfbfbfbfbf") - (border-color . "Blue") - (border-color . "#000000000000") - (bottom-toolbar-shadow-color . "#6c6c68686868") - (cursor-color . "DarkGoldenrod1") - (foreground-color . "white smoke") - (mouse-color . "black") - (top-toolbar-shadow-color . "#e5e5e0e0e1e1")) - ((vc-annotate-very-old-color . "#0046FF")) - (default ((t (nil)))) - (blue ((t (:foreground "blue")))) - (bold ((t (:bold t)))) - (bold-italic ((t (nil)))) - (border-glyph ((t (nil)))) - (cmode-bracket-face ((t (:bold t)))) - (cperl-array-face ((t (:bold t :foreground "wheat")))) - (cperl-hash-face ((t (:bold t :foreground "chartreuse")))) - (custom-button-face ((t (nil)))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face ((t (:underline t :foreground "blue")))) - (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:bold t :foreground "cyan")))) - (custom-variable-button-face ((t (:underline t :bold t)))) - (custom-variable-tag-face ((t (:underline t :foreground "blue")))) - (ff-paths-non-existant-file-face ((t (:bold t :foreground "NavyBlue")))) - (font-lock-builtin-face ((t (:bold t :foreground "wheat")))) - (font-lock-comment-face ((t (:bold t :foreground "gray72")))) - (font-lock-constant-face ((t (:bold t :foreground "cyan3")))) - (font-lock-doc-string-face ((t (:foreground "#00C000")))) - (font-lock-function-name-face ((t (:bold t :foreground "chartreuse")))) - (font-lock-keyword-face ((t (:bold t :foreground "gold1")))) - (font-lock-other-emphasized-face ((t (:bold t :foreground "gold1")))) - (font-lock-other-type-face ((t (:bold t :foreground "gold1")))) - (font-lock-preprocessor-face ((t (:foreground "plum")))) - (font-lock-reference-face ((t (:bold t :foreground "orangered")))) - (font-lock-string-face ((t (:foreground "tomato")))) - (font-lock-type-face ((t (:bold t :foreground "gold1")))) - (font-lock-variable-name-face ((t (:foreground "light yellow")))) - (font-lock-warning-face ((t (:foreground "tomato")))) - (green ((t (:foreground "green")))) - (gui-button-face ((t (:background "grey75" :foreground "black")))) - (gui-element ((t (:size "nil" :background "#e7e3d6" :foreground" #000000")))) - (highlight ((t (:background "red" :foreground "yellow")))) - (isearch ((t (:bold t :background "pale turquoise" :foreground "blue")))) - (italic ((t (nil)))) - (lazy-highlight-face ((t (:bold t :foreground "dark magenta")))) - (left-margin ((t (nil)))) - (list-mode-item-selected ((t (:bold t :background "gray68" :foreground "yellow")))) - (modeline ((t (:background "goldenrod" :foreground "darkblue")))) - (modeline-buffer-id ((t (:background "goldenrod" :foreground "darkblue")))) - (modeline-mousable ((t (:background "goldenrod" :foreground "darkblue")))) - (modeline-mousable-minor-mode ((t (:background "goldenrod" :foreground "darkblue")))) - (my-tab-face ((t (:background "SlateBlue1")))) - (p4-depot-added-face ((t (:foreground "steelblue1")))) - (p4-depot-deleted-face ((t (:foreground "red")))) - (p4-depot-unmapped-face ((t (:foreground "grey90")))) - (p4-diff-change-face ((t (:foreground "dark green")))) - (p4-diff-del-face ((t (:bold t :foreground "salmon")))) - (p4-diff-file-face ((t (:background "blue")))) - (p4-diff-head-face ((t (:background "blue")))) - (p4-diff-ins-face ((t (:foreground "steelblue1")))) - (paren-blink-off ((t (:foreground "DodgerBlue4")))) - (paren-match ((t (:background "red" :foreground "yellow")))) - (paren-mismatch ((t (:background "DeepPink")))) - (pointer ((t (:background "white")))) - (primary-selection ((t (:bold t :background "medium sea green")))) - (red ((t (:foreground "red")))) - (region ((t (:background "red" :foreground "yellow")))) - (right-margin ((t (nil)))) - (secondary-selection ((t (:background "gray91" :foreground "sienna3")))) - (show-paren-match-face ((t (:background "cyan3" :foreground "blue")))) - (show-paren-mismatch-face ((t (:background "red" :foreground "blue")))) - (show-trailing-whitespace ((t (:background "red" :foreground "blue")))) - (speedbar-button-face ((t (:foreground "white")))) - (speedbar-directory-face ((t (:foreground "gray")))) - (speedbar-file-face ((t (:foreground "gold1")))) - (speedbar-highlight-face ((t (:background "lightslateblue" :foreground "gold1")))) - (speedbar-selected-face ((t (:underline t :foreground "red")))) - (speedbar-tag-face ((t (:foreground "chartreuse")))) - (text-cursor ((t (:background "DarkGoldenrod1" :foreground "DodgerBlue4")))) - (toolbar ((t (:background "#e7e3d6" :foreground "#000000")))) - (underline ((t (:underline t)))) - (vertical-divider ((t (:background "#e7e3d6" :foreground "#000000")))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (widget-single-line-field-face ((t (:background "gray85")))) - (yellow ((t (:foreground "yellow")))) - (zmacs-region ((t (:background "white" :foreground "midnightblue"))))))) - -(defun color-theme-euphoria () - "Color theme by oGLOWo, created 2000-04-19. -Green on black theme including font-lock, speedbar, and widget." - (interactive) - (color-theme-install - '(color-theme-euphoria - ((background-color . "black") - (background-mode . dark) - (border-color . "black") - (cursor-color . "yellow") - (foreground-color . "#00ff00") - (mouse-color . "yellow")) - ((help-highlight-face . underline) - (list-matching-lines-face . bold) - (widget-mouse-face . highlight)) - (default ((t (:stipple nil :background "black" :foreground "#00ff00" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "misc-fixed")))) - (bold ((t (:bold t :weight bold)))) - (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (border ((t (:background "black")))) - (comint-highlight-input ((t (:bold t :weight bold)))) - (comint-highlight-prompt ((t (:foreground "cyan")))) - (cursor ((t (:background "yellow")))) - (fixed-pitch ((t (:family "courier")))) - (font-lock-builtin-face ((t (:foreground "magenta")))) - (font-lock-comment-face ((t (:foreground "deeppink")))) - (font-lock-constant-face ((t (:foreground "blue")))) - (font-lock-doc-face ((t (:foreground "cyan")))) - (font-lock-doc-string-face ((t (:foreground "cyan")))) - (font-lock-function-name-face ((t (:foreground "purple")))) - (font-lock-keyword-face ((t (:foreground "red")))) - (font-lock-preprocessor-face ((t (:foreground "blue1")))) - (font-lock-reference-face ((t (nil)))) - (font-lock-string-face ((t (:foreground "cyan")))) - (font-lock-type-face ((t (:foreground "yellow")))) - (font-lock-variable-name-face ((t (:foreground "violet")))) - (font-lock-warning-face ((t (:bold t :foreground "red" :weight bold)))) - (fringe ((t (:background "gray16" :foreground "#00ff00")))) - (header-line ((t (:box (:line-width -1 :style released-button) :background "grey20" :foreground "grey90" :box nil)))) - (highlight ((t (:background "darkolivegreen")))) - (horizontal-divider ((t (:background "gray16" :foreground "#00ff00")))) - (isearch ((t (:background "palevioletred2" :foreground "brown4")))) - (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) - (italic ((t (:italic t :slant italic)))) - (menu ((t (:background "gray16" :foreground "green")))) - (modeline ((t (:background "gray16" :foreground "#00ff00" :box (:line-width -1 :style released-button))))) - (modeline-buffer-id ((t (:background "gray16" :foreground "#00ff00")))) - (modeline-mousable ((t (:background "gray16" :foreground "#00ff00")))) - (modeline-mousable-minor-mode ((t (:background "gray16" :foreground "#00ff00")))) - (mouse ((t (:background "yellow")))) - (primary-selection ((t (:background "#00ff00" :foreground "black")))) - (region ((t (:background "steelblue" :foreground "white")))) - (scroll-bar ((t (:background "gray16" :foreground "#00ff00")))) - (secondary-selection ((t (:background "#00ff00" :foreground "black")))) - (show-paren-match-face ((t (:background "turquoise")))) - (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) - (speedbar-button-face ((t (:foreground "#00ff00")))) - (speedbar-directory-face ((t (:foreground "#00ff00")))) - (speedbar-file-face ((t (:foreground "cyan")))) - (speedbar-highlight-face ((t (:background "#00ff00" :foreground "purple")))) - (speedbar-selected-face ((t (:foreground "deeppink" :underline t)))) - (speedbar-tag-face ((t (:foreground "yellow")))) - (tool-bar ((t (:background "gray16" :foreground "green" :box (:line-width 1 :style released-button))))) - (tooltip ((t (:background "gray16" :foreground "#00ff00")))) - (trailing-whitespace ((t (:background "red")))) - (underline ((t (:underline t)))) - (variable-pitch ((t (:family "helv")))) - (vertical-divider ((t (:background "gray16" :foreground "#00ff00")))) - (widget-button-face ((t (:bold t :weight bold)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "lime green")))) - (widget-field-face ((t (:background "dim gray")))) - (widget-inactive-face ((t (:foreground "light gray")))) - (widget-single-line-field-face ((t (:background "dim gray")))) - (zmacs-region ((t (:background "steelblue" :foreground "white"))))))) - -(defun color-theme-resolve () - "Color theme by Damien Elmes, created 2002-04-24. -A white smoke on blue color theme." - (interactive) - (color-theme-install - '(color-theme-resolve - ((background-color . "#00457f") - (background-mode . dark) - (border-color . "black") - (cursor-color . "DarkGoldenrod1") - (foreground-color . "white smoke") - (mouse-color . "white")) - ((display-time-mail-face . mode-line) - (help-highlight-face . underline) - (list-matching-lines-face . bold) - (view-highlight-face . highlight) - (widget-mouse-face . highlight)) - (default ((t (:stipple nil :background "#00457f" :foreground "white smoke" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "b&h-lucidatypewriter")))) - (bold ((t (:bold t :foreground "snow2" :weight bold)))) - (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (border ((t (:background "black")))) - (calendar-today-face ((t (:underline t)))) - (comint-highlight-input ((t (:bold t :weight bold)))) - (comint-highlight-prompt ((t (:foreground "cyan")))) - (cperl-array-face ((t (:bold t :foreground "wheat" :weight bold)))) - (cperl-hash-face ((t (:bold t :foreground "chartreuse" :weight bold)))) - (cursor ((t (:background "DarkGoldenrod1")))) - (diary-face ((t (:foreground "yellow")))) - (erc-input-face ((t (:foreground "lightblue2")))) - (erc-notice-face ((t (:foreground "lightyellow3")))) - (fixed-pitch ((t (:family "courier")))) - (font-latex-bold-face ((t (:bold t :foreground "DarkOliveGreen" :weight bold)))) - (font-latex-italic-face ((t (:italic t :foreground "DarkOliveGreen" :slant italic)))) - (font-latex-math-face ((t (:foreground "burlywood")))) - (font-latex-sedate-face ((t (:foreground "LightGray")))) - (font-latex-string-face ((t (:foreground "RosyBrown")))) - (font-latex-warning-face ((t (:bold t :foreground "Red" :weight bold)))) - (font-lock-builtin-face ((t (:foreground "wheat")))) - (font-lock-comment-face ((t (:foreground "light steel blue")))) - (font-lock-constant-face ((t (:foreground "seashell3")))) - (font-lock-doc-face ((t (:foreground "plum")))) - (font-lock-doc-string-face ((t (:foreground "#008000")))) - (font-lock-function-name-face ((t (:foreground "thistle1")))) - (font-lock-keyword-face ((t (:foreground "wheat")))) - (font-lock-other-emphasized-face ((t (:bold t :foreground "gold1" :weight bold)))) - (font-lock-other-type-face ((t (:bold t :foreground "gold1" :weight bold)))) - (font-lock-preprocessor-face ((t (:foreground "#800080")))) - (font-lock-reference-face ((t (:foreground "wheat")))) - (font-lock-string-face ((t (:foreground "plum")))) - (font-lock-type-face ((t (:foreground "lawn green")))) - (font-lock-variable-name-face ((t (:foreground "light yellow")))) - (font-lock-warning-face ((t (:foreground "plum")))) - (fringe ((t (:background "#000000")))) - (gnus-cite-attribution-face ((t (:italic t :slant italic)))) - (gnus-cite-face-1 ((t (:foreground "light blue")))) - (gnus-cite-face-10 ((t (:foreground "medium purple")))) - (gnus-cite-face-11 ((t (:foreground "turquoise")))) - (gnus-cite-face-2 ((t (:foreground "light cyan")))) - (gnus-cite-face-3 ((t (:foreground "light yellow")))) - (gnus-cite-face-4 ((t (:foreground "light pink")))) - (gnus-cite-face-5 ((t (:foreground "pale green")))) - (gnus-cite-face-6 ((t (:foreground "beige")))) - (gnus-cite-face-7 ((t (:foreground "orange")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-emphasis-bold ((t (:bold t :weight bold)))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) - (gnus-emphasis-italic ((t (:italic t :slant italic)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:bold t :underline t :weight bold)))) - (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :underline t :slant italic :weight bold)))) - (gnus-emphasis-underline-italic ((t (:italic t :underline t :slant italic)))) - (gnus-group-mail-1-empty-face ((t (:foreground "aquamarine1")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "aquamarine1" :weight bold)))) - (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "aquamarine2" :weight bold)))) - (gnus-group-mail-3-empty-face ((t (:foreground "aquamarine3")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "aquamarine3" :weight bold)))) - (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "aquamarine4" :weight bold)))) - (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) - (gnus-group-news-1-face ((t (:bold t :foreground "PaleTurquoise" :weight bold)))) - (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) - (gnus-group-news-2-face ((t (:bold t :foreground "turquoise" :weight bold)))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t :weight bold)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t :weight bold)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t :weight bold)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t :weight bold)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkTurquoise" :weight bold)))) - (gnus-header-content-face ((t (:italic t :foreground "snow2" :slant italic)))) - (gnus-header-from-face ((t (:foreground "spring green")))) - (gnus-header-name-face ((t (:bold t :foreground "snow2" :weight bold)))) - (gnus-header-newsgroups-face ((t (:italic t :foreground "yellow" :slant italic)))) - (gnus-header-subject-face ((t (:bold t :foreground "peach puff" :weight bold)))) - (gnus-signature-face ((t (:italic t :slant italic)))) - (gnus-splash-face ((t (:foreground "Brown")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "SkyBlue" :weight bold)))) - (gnus-summary-high-read-face ((t (:bold t :foreground "PaleGreen" :weight bold)))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "pink" :weight bold)))) - (gnus-summary-high-unread-face ((t (:bold t :weight bold)))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "SkyBlue" :slant italic)))) - (gnus-summary-low-read-face ((t (:italic t :foreground "PaleGreen" :slant italic)))) - (gnus-summary-low-ticked-face ((t (:italic t :foreground "pink" :slant italic)))) - (gnus-summary-low-unread-face ((t (:italic t :slant italic)))) - (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) - (gnus-summary-normal-ticked-face ((t (:foreground "pink")))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-selected-face ((t (:underline t)))) - (header-line ((t (:background "grey20" :foreground "grey90")))) - (highlight ((t (:background "gray91" :foreground "firebrick")))) - (highline-face ((t (:background "paleturquoise" :foreground "black")))) - (holiday-face ((t (:background "chocolate4")))) - (isearch ((t (:background "palevioletred2" :foreground "brown4")))) - (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) - (italic ((t (:italic t :slant italic)))) - (menu ((t (nil)))) - (message-cited-text-face ((t (:foreground "seashell3")))) - (message-header-cc-face ((t (:bold t :foreground "snow2" :weight bold)))) - (message-header-name-face ((t (:bold t :foreground "snow1" :weight bold)))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4" :slant italic :weight bold)))) - (message-header-other-face ((t (:foreground "snow2")))) - (message-header-subject-face ((t (:bold t :foreground "snow2" :weight bold)))) - (message-header-to-face ((t (:bold t :foreground "snow2" :weight bold)))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-mml-face ((t (:foreground "ForestGreen")))) - (message-separator-face ((t (:foreground "misty rose")))) - (modeline ((t (:foreground "white" :background "#001040" :box (:line-width -1 :style released-button))))) - (modeline-buffer-id ((t (:foreground "white" :background "#001040")))) - (modeline-mousable ((t (:foreground "white" :background "#001040")))) - (modeline-mousable-minor-mode ((t (:foreground "white" :background "#001040")))) - (mouse ((t (:background "white")))) - (my-tab-face ((t (:background "SlateBlue1")))) - (p4-diff-del-face ((t (:bold t :foreground "salmon" :weight bold)))) - (primary-selection ((t (:background "gray91" :foreground "DodgerBlue4")))) - (region ((t (:background "gray91" :foreground "DodgerBlue4")))) - (scroll-bar ((t (:background "grey75")))) - (secondary-selection ((t (:background "gray91" :foreground "sienna3")))) - (show-paren-match-face ((t (:background "cyan3" :foreground "blue")))) - (show-paren-mismatch-face ((t (:background "red" :foreground "blue")))) - (tool-bar ((t (:background "grey75" :foreground "black")))) - (tooltip ((t (:background "lightyellow" :foreground "black")))) - (trailing-whitespace ((t (:background "red")))) - (underline ((t (:underline t)))) - (variable-pitch ((t (:family "helv")))) - (widget-button-face ((t (:bold t :weight bold)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "steel blue")))) - (widget-inactive-face ((t (:foreground "grey")))) - (widget-single-line-field-face ((t (:background "gray85")))) - (zmacs-region ((t (:background "gray91" :foreground "DodgerBlue4"))))))) - -(defun color-theme-xp () - "Color theme by Girish Bharadwaj, created 2002-04-25. -Includes custom, erc, font-lock, jde, semantic, speedbar, widget." - (interactive) - (color-theme-install - '(color-theme-xp - ((background-color . "lightyellow2") - (background-mode . light) - (border-color . "black") - (cursor-color . "black") - (foreground-color . "gray20") - (mouse-color . "black")) - ((help-highlight-face . underline) - (list-matching-lines-face . bold) - (semantic-which-function-use-color . t) - (senator-eldoc-use-color . t) - (view-highlight-face . highlight) - (widget-mouse-face . highlight)) - (default ((t (:stipple nil :background "lightyellow2" :foreground "gray20" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-courier new")))) - (bg:erc-color-face0 ((t (:background "White")))) - (bg:erc-color-face1 ((t (:background "black")))) - (bg:erc-color-face10 ((t (:background "lightblue1")))) - (bg:erc-color-face11 ((t (:background "cyan")))) - (bg:erc-color-face12 ((t (:background "blue")))) - (bg:erc-color-face13 ((t (:background "deeppink")))) - (bg:erc-color-face14 ((t (:background "gray50")))) - (bg:erc-color-face15 ((t (:background "gray90")))) - (bg:erc-color-face2 ((t (:background "blue4")))) - (bg:erc-color-face3 ((t (:background "green4")))) - (bg:erc-color-face4 ((t (:background "red")))) - (bg:erc-color-face5 ((t (:background "brown")))) - (bg:erc-color-face6 ((t (:background "purple")))) - (bg:erc-color-face7 ((t (:background "orange")))) - (bg:erc-color-face8 ((t (:background "yellow")))) - (bg:erc-color-face9 ((t (:background "green")))) - (bold ((t (:bold t :weight bold)))) - (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (border ((t (:background "black")))) - (button ((t (:underline t)))) - (comint-highlight-input ((t (:bold t :weight bold)))) - (comint-highlight-prompt ((t (:foreground "dark blue")))) - (cursor ((t (:background "black")))) - (custom-button-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style released-button))))) - (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style pressed-button))))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-comment-face ((t (:background "gray85")))) - (custom-comment-tag-face ((t (:foreground "blue4")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:bold t :family "helv" :weight bold :height 1.2)))) - (custom-group-tag-face ((t (:bold t :foreground "blue" :weight bold :height 1.2)))) - (custom-group-tag-face-1 ((t (:bold t :family "helv" :foreground "red" :weight bold :height 1.2)))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "dark green")))) - (custom-variable-button-face ((t (:bold t :underline t :weight bold)))) - (custom-variable-tag-face ((t (:bold t :family "helv" :foreground "blue" :weight bold :height 1.2)))) - (erc-action-face ((t (:bold t :weight bold)))) - (erc-bold-face ((t (:bold t :weight bold)))) - (erc-default-face ((t (nil)))) - (erc-direct-msg-face ((t (:foreground "IndianRed")))) - (erc-error-face ((t (:background "Red" :foreground "White")))) - (erc-input-face ((t (:foreground "brown")))) - (erc-inverse-face ((t (:background "Black" :foreground "White")))) - (erc-notice-face ((t (:bold t :foreground "SlateBlue" :weight bold)))) - (erc-prompt-face ((t (:bold t :background "lightBlue2" :foreground "Black" :weight bold)))) - (erc-timestamp-face ((t (:bold t :foreground "green" :weight bold)))) - (erc-underline-face ((t (:underline t)))) - (fg:erc-color-face0 ((t (:foreground "White")))) - (fg:erc-color-face1 ((t (:foreground "black")))) - (fg:erc-color-face10 ((t (:foreground "lightblue1")))) - (fg:erc-color-face11 ((t (:foreground "cyan")))) - (fg:erc-color-face12 ((t (:foreground "blue")))) - (fg:erc-color-face13 ((t (:foreground "deeppink")))) - (fg:erc-color-face14 ((t (:foreground "gray50")))) - (fg:erc-color-face15 ((t (:foreground "gray90")))) - (fg:erc-color-face2 ((t (:foreground "blue4")))) - (fg:erc-color-face3 ((t (:foreground "green4")))) - (fg:erc-color-face4 ((t (:foreground "red")))) - (fg:erc-color-face5 ((t (:foreground "brown")))) - (fg:erc-color-face6 ((t (:foreground "purple")))) - (fg:erc-color-face7 ((t (:foreground "orange")))) - (fg:erc-color-face8 ((t (:foreground "yellow")))) - (fg:erc-color-face9 ((t (:foreground "green")))) - (fixed-pitch ((t (:family "courier")))) - (font-lock-builtin-face ((t (:foreground "magenta3" :underline t :height 0.9)))) - (font-lock-comment-face ((t (:italic t :foreground "gray60" :slant oblique :height 0.9)))) - (font-lock-constant-face ((t (:bold t :foreground "medium purple" :weight bold :height 0.9)))) - (font-lock-function-name-face ((t (:bold t :foreground "black" :weight bold)))) - (font-lock-keyword-face ((t (:bold t :foreground "blue" :weight bold)))) - (font-lock-string-face ((t (:foreground "red" :height 0.9)))) - (font-lock-type-face ((t (:foreground "Royalblue")))) - (font-lock-variable-name-face ((t (:bold t :foreground "maroon" :weight bold :height 0.9)))) - (font-lock-warning-face ((t (:bold t :foreground "Red" :weight bold)))) - (fringe ((t (:background "dodgerblue")))) - (header-line ((t (:underline "red" :overline "red" :background "grey90" :foreground "grey20" :box nil)))) - (highlight ((t (:background "darkseagreen2")))) - (isearch ((t (:background "magenta2" :foreground "lightskyblue1")))) - (isearch-lazy-highlight-face ((t (:background "paleturquoise")))) - (italic ((t (:italic t :slant italic)))) - (jde-bug-breakpoint-cursor ((t (:background "brown" :foreground "cyan")))) - (jde-db-active-breakpoint-face ((t (:background "red" :foreground "black")))) - (jde-db-requested-breakpoint-face ((t (:background "yellow" :foreground "black")))) - (jde-db-spec-breakpoint-face ((t (:background "green" :foreground "black")))) - (jde-java-font-lock-api-face ((t (:foreground "dark goldenrod")))) - (jde-java-font-lock-bold-face ((t (:bold t :weight bold)))) - (jde-java-font-lock-code-face ((t (nil)))) - (jde-java-font-lock-constant-face ((t (:foreground "CadetBlue")))) - (jde-java-font-lock-doc-tag-face ((t (:foreground "green4")))) - (jde-java-font-lock-italic-face ((t (:italic t :slant italic)))) - (jde-java-font-lock-link-face ((t (:foreground "cadetblue" :underline t :slant normal)))) - (jde-java-font-lock-modifier-face ((t (:foreground "Orchid")))) - (jde-java-font-lock-number-face ((t (:foreground "RosyBrown")))) - (jde-java-font-lock-operator-face ((t (:foreground "medium blue")))) - (jde-java-font-lock-package-face ((t (:foreground "blue3")))) - (jde-java-font-lock-pre-face ((t (nil)))) - (jde-java-font-lock-underline-face ((t (:underline t)))) - (menu ((t (nil)))) - (minibuffer-prompt ((t (:foreground "dark blue")))) - (modeline ((t (:background "dodgerblue" :foreground "black" :overline "red" :underline "red")))) - (modeline-buffer-id ((t (:background "dodgerblue" :foreground "black")))) - (modeline-mousable ((t (:background "dodgerblue" :foreground "black")))) - (modeline-mousable-minor-mode ((t (:background "dodgerblue" :foreground "black")))) - (mode-line-inactive ((t (:italic t :underline "red" :overline "red" :background "white" :foreground "cadetblue" :box (:line-width -1 :color "grey75") :slant oblique :weight light)))) - (mouse ((t (:background "black")))) - (primary-selection ((t (:background "lightgoldenrod2")))) - (region ((t (:background "lightgoldenrod2")))) - (scroll-bar ((t (nil)))) - (secondary-selection ((t (:background "yellow")))) - (semantic-dirty-token-face ((t (:background "lightyellow")))) - (semantic-unmatched-syntax-face ((t (:underline "red")))) - (senator-intangible-face ((t (:foreground "gray25")))) - (senator-momentary-highlight-face ((t (:background "gray70")))) - (senator-read-only-face ((t (:background "#CCBBBB")))) - (show-paren-match-face ((t (:background "turquoise")))) - (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) - (speedbar-button-face ((t (:foreground "green4")))) - (speedbar-directory-face ((t (:foreground "blue4")))) - (speedbar-file-face ((t (:foreground "cyan4")))) - (speedbar-highlight-face ((t (:background "green")))) - (speedbar-selected-face ((t (:foreground "red" :underline t)))) - (speedbar-tag-face ((t (:foreground "brown")))) - (template-message-face ((t (:bold t :weight bold)))) - (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) - (tooltip ((t (:background "lightyellow" :foreground "black")))) - (trailing-whitespace ((t (:background "red")))) - (underline ((t (:underline t)))) - (variable-pitch ((t (:family "helv")))) - (widget-button-face ((t (:bold t :weight bold)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (widget-single-line-field-face ((t (:background "gray85")))) - (zmacs-region ((t (:background "lightgoldenrod2"))))))) - -(defun color-theme-gray30 () - "Color theme by Girish Bharadwaj, created 2002-04-22." - (interactive) - (color-theme-install - '(color-theme-gray30 - ((background-color . "grey30") - (background-mode . dark) - (border-color . "black") - (cursor-color . "black") - (foreground-color . "gainsboro") - (mouse-color . "black")) - ((help-highlight-face . underline) - (list-matching-lines-face . bold) - (semantic-which-function-use-color . t) - (senator-eldoc-use-color . t) - (widget-mouse-face . highlight)) - (default ((t (:stipple nil :background "grey30" :foreground "gainsboro" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-courier new")))) - (bg:erc-color-face0 ((t (:background "White")))) - (bg:erc-color-face1 ((t (:background "black")))) - (bg:erc-color-face10 ((t (:background "lightblue1")))) - (bg:erc-color-face11 ((t (:background "cyan")))) - (bg:erc-color-face12 ((t (:background "blue")))) - (bg:erc-color-face13 ((t (:background "deeppink")))) - (bg:erc-color-face14 ((t (:background "gray50")))) - (bg:erc-color-face15 ((t (:background "gray90")))) - (bg:erc-color-face2 ((t (:background "blue4")))) - (bg:erc-color-face3 ((t (:background "green4")))) - (bg:erc-color-face4 ((t (:background "red")))) - (bg:erc-color-face5 ((t (:background "brown")))) - (bg:erc-color-face6 ((t (:background "purple")))) - (bg:erc-color-face7 ((t (:background "orange")))) - (bg:erc-color-face8 ((t (:background "yellow")))) - (bg:erc-color-face9 ((t (:background "green")))) - (bold ((t (:bold t :weight bold)))) - (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (border ((t (:background "black")))) - (button ((t (:underline t)))) - (comint-highlight-input ((t (:bold t :weight bold)))) - (comint-highlight-prompt ((t (:foreground "cyan")))) - (cursor ((t (:background "black")))) - (custom-button-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style released-button))))) - (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style pressed-button))))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-comment-face ((t (:background "dim gray")))) - (custom-comment-tag-face ((t (:foreground "gray80")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:bold t :family "helv" :weight bold :height 1.2)))) - (custom-group-tag-face ((t (:bold t :foreground "light blue" :weight bold :height 1.2)))) - (custom-group-tag-face-1 ((t (:bold t :family "helv" :foreground "pink" :weight bold :height 1.2)))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "lime green")))) - (custom-variable-button-face ((t (:bold t :underline t :weight bold)))) - (custom-variable-tag-face ((t (:bold t :family "helv" :foreground "light blue" :weight bold :height 1.2)))) - (erc-action-face ((t (:bold t :weight bold)))) - (erc-bold-face ((t (:bold t :weight bold)))) - (erc-default-face ((t (nil)))) - (erc-direct-msg-face ((t (:foreground "IndianRed")))) - (erc-error-face ((t (:background "Red" :foreground "White")))) - (erc-input-face ((t (:foreground "brown")))) - (erc-inverse-face ((t (:background "Black" :foreground "White")))) - (erc-notice-face ((t (:bold t :foreground "SlateBlue" :weight bold)))) - (erc-prompt-face ((t (:bold t :background "lightBlue2" :foreground "Black" :weight bold)))) - (erc-timestamp-face ((t (:bold t :foreground "green" :weight bold)))) - (erc-underline-face ((t (:underline t)))) - (eshell-ls-archive-face ((t (:bold t :foreground "Orchid" :weight bold)))) - (eshell-ls-backup-face ((t (:foreground "LightSalmon")))) - (eshell-ls-clutter-face ((t (:bold t :foreground "OrangeRed" :weight bold)))) - (eshell-ls-directory-face ((t (:bold t :foreground "SkyBlue" :weight bold)))) - (eshell-ls-executable-face ((t (:bold t :foreground "Green" :weight bold)))) - (eshell-ls-missing-face ((t (:bold t :foreground "Red" :weight bold)))) - (eshell-ls-product-face ((t (:foreground "LightSalmon")))) - (eshell-ls-readonly-face ((t (:foreground "Pink")))) - (eshell-ls-special-face ((t (:bold t :foreground "Magenta" :weight bold)))) - (eshell-ls-symlink-face ((t (:bold t :foreground "Cyan" :weight bold)))) - (eshell-ls-unreadable-face ((t (:foreground "DarkGrey")))) - (fg:erc-color-face0 ((t (:foreground "White")))) - (fg:erc-color-face1 ((t (:foreground "black")))) - (fg:erc-color-face10 ((t (:foreground "lightblue1")))) - (fg:erc-color-face11 ((t (:foreground "cyan")))) - (fg:erc-color-face12 ((t (:foreground "blue")))) - (fg:erc-color-face13 ((t (:foreground "deeppink")))) - (fg:erc-color-face14 ((t (:foreground "gray50")))) - (fg:erc-color-face15 ((t (:foreground "gray90")))) - (fg:erc-color-face2 ((t (:foreground "blue4")))) - (fg:erc-color-face3 ((t (:foreground "green4")))) - (fg:erc-color-face4 ((t (:foreground "red")))) - (fg:erc-color-face5 ((t (:foreground "brown")))) - (fg:erc-color-face6 ((t (:foreground "purple")))) - (fg:erc-color-face7 ((t (:foreground "orange")))) - (fg:erc-color-face8 ((t (:foreground "yellow")))) - (fg:erc-color-face9 ((t (:foreground "green")))) - (fixed-pitch ((t (:family "courier")))) - (font-lock-builtin-face ((t (:foreground "LightSkyBlue" :underline t)))) - (font-lock-comment-face ((t (:italic t :foreground "lightgreen" :slant oblique)))) - (font-lock-constant-face ((t (:foreground "Aquamarine")))) - (font-lock-function-name-face ((t (:bold t :foreground "DodgerBlue" :weight bold :height 1.05)))) - (font-lock-keyword-face ((t (:foreground "LightPink" :height 1.05)))) - (font-lock-string-face ((t (:foreground "LightSalmon")))) - (font-lock-type-face ((t (:foreground "yellow" :height 1.05)))) - (font-lock-variable-name-face ((t (:foreground "gold")))) - (font-lock-warning-face ((t (:bold t :foreground "Pink" :weight bold)))) - (fringe ((t (:background "grey10")))) - (header-line ((t (:box (:line-width -1 :style released-button) :background "grey20" :foreground "grey90" :box nil)))) - (highlight ((t (:background "darkolivegreen")))) - (isearch ((t (:background "palevioletred2" :foreground "brown4")))) - (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) - (italic ((t (:italic t :slant italic)))) - (jde-bug-breakpoint-cursor ((t (:background "brown" :foreground "cyan")))) - (jde-db-active-breakpoint-face ((t (:background "red" :foreground "black")))) - (jde-db-requested-breakpoint-face ((t (:background "yellow" :foreground "black")))) - (jde-db-spec-breakpoint-face ((t (:background "green" :foreground "black")))) - (jde-java-font-lock-api-face ((t (:foreground "light goldenrod")))) - (jde-java-font-lock-bold-face ((t (:bold t :weight bold)))) - (jde-java-font-lock-code-face ((t (nil)))) - (jde-java-font-lock-constant-face ((t (:foreground "Aquamarine")))) - (jde-java-font-lock-doc-tag-face ((t (:foreground "light coral")))) - (jde-java-font-lock-italic-face ((t (:italic t :slant italic)))) - (jde-java-font-lock-link-face ((t (:foreground "cadetblue" :underline t :slant normal)))) - (jde-java-font-lock-modifier-face ((t (:foreground "LightSteelBlue")))) - (jde-java-font-lock-number-face ((t (:foreground "LightSalmon")))) - (jde-java-font-lock-operator-face ((t (:foreground "medium blue")))) - (jde-java-font-lock-package-face ((t (:foreground "steelblue1")))) - (jde-java-font-lock-pre-face ((t (nil)))) - (jde-java-font-lock-underline-face ((t (:underline t)))) - (menu ((t (nil)))) - (minibuffer-prompt ((t (:foreground "cyan")))) - (mode-line ((t (:background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) - (mode-line-inactive ((t (:background "grey30" :foreground "grey80" :box (:line-width -1 :color "grey40" :style nil) :weight light)))) - (mouse ((t (:background "black")))) - (primary-selection ((t (:background "blue3")))) - (region ((t (:background "blue3")))) - (scroll-bar ((t (nil)))) - (secondary-selection ((t (:background "SkyBlue4")))) - (semantic-dirty-token-face ((t (:background "lightyellow")))) - (semantic-unmatched-syntax-face ((t (:underline "red")))) - (senator-intangible-face ((t (:foreground "gray75")))) - (senator-momentary-highlight-face ((t (:background "gray30")))) - (senator-read-only-face ((t (:background "#664444")))) - (show-paren-match-face ((t (:background "steelblue3")))) - (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) - (speedbar-button-face ((t (:foreground "green3")))) - (speedbar-directory-face ((t (:foreground "light blue")))) - (speedbar-file-face ((t (:foreground "cyan")))) - (speedbar-highlight-face ((t (:background "sea green")))) - (speedbar-selected-face ((t (:foreground "red" :underline t)))) - (speedbar-tag-face ((t (:foreground "yellow")))) - (template-message-face ((t (:bold t :weight bold)))) - (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) - (tooltip ((t (:background "lightyellow" :foreground "black")))) - (trailing-whitespace ((t (:background "red")))) - (underline ((t (:underline t)))) - (variable-pitch ((t (:family "helv")))) - (widget-button-face ((t (:bold t :weight bold)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "lime green")))) - (widget-field-face ((t (:background "dim gray")))) - (widget-inactive-face ((t (:foreground "light gray")))) - (widget-single-line-field-face ((t (:background "dim gray")))) - (zmacs-region ((t (:background "blue3"))))))) - -(defun color-theme-dark-green () - "Color theme by ces93, created 2002-03-30." - (interactive) - (color-theme-install - '(color-theme-dark-green - ((background-mode . light) - (background-toolbar-color . "#e79ddf7ddf7d") - (border-color . "#000000000000") - (bottom-toolbar-shadow-color . "#8e3886178617") - (top-toolbar-shadow-color . "#ffffffffffff")) - nil - (default ((t (nil)))) - (blue ((t (:foreground "blue")))) - (bold ((t (:bold t)))) - (bold-italic ((t (:italic t :bold t)))) - (border-glyph ((t (nil)))) - (fringe ((t (nil)))) - (green ((t (:foreground "green")))) - (gui-button-face ((t (:background "grey75" :foreground "black")))) - (gui-element ((t (:background "#ffffff" :foreground "#000000")))) - (highlight ((t (:background "gray" :foreground "darkred")))) - (isearch ((t (:background "LightSlateGray" :foreground "red")))) - (italic ((t (:italic t)))) - (left-margin ((t (nil)))) - (list-mode-item-selected ((t (:background "gray68")))) - (mode-line ((t (:background "LightSlateGray" :foreground "black")))) - (modeline ((t (:background "LightSlateGray" :foreground "black")))) - (modeline-buffer-id ((t (:background "LightSlateGray" :foreground "blue4")))) - (modeline-mousable ((t (:background "LightSlateGray" :foreground "firebrick")))) - (modeline-mousable-minor-mode ((t (:background "LightSlateGray" :foreground "green4")))) - (pointer ((t (:background "#ffffff" :foreground "#000000")))) - (primary-selection ((t (:background "gray65")))) - (red ((t (:foreground "red")))) - (region ((t (:background "gray65")))) - (right-margin ((t (nil)))) - (rpm-spec-dir-face ((t (:foreground "green")))) - (rpm-spec-doc-face ((t (:foreground "magenta")))) - (rpm-spec-ghost-face ((t (:foreground "red")))) - (rpm-spec-macro-face ((t (:foreground "purple")))) - (rpm-spec-package-face ((t (:foreground "red")))) - (rpm-spec-tag-face ((t (:foreground "blue")))) - (secondary-selection ((t (:background "paleturquoise")))) - (text-cursor ((t (:background "Red3" :foreground "DarkSlateGray")))) - (tool-bar ((t (nil)))) - (toolbar ((t (:background "#ffffff" :foreground "#000000")))) - (underline ((t (:underline t)))) - (vertical-divider ((t (:background "#ffffff" :foreground "#000000")))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (yellow ((t (:foreground "yellow")))) - (zmacs-region ((t (:background "darkorange" :foreground "black"))))))) - -(defun color-theme-whateveryouwant () - "Color theme by Fabien Penso, created 2002-05-02." - (interactive) - (color-theme-install - '(color-theme-whateveryouwant - ((background-color . "white") - (background-mode . light) - (border-color . "black") - (cursor-color . "black") - (foreground-color . "black") - (mouse-color . "black")) - ((cperl-here-face . font-lock-string-face) - (cperl-invalid-face . underline) - (cperl-pod-face . font-lock-comment-face) - (cperl-pod-head-face . font-lock-variable-name-face) - (display-time-mail-face . mode-line) - (gnus-article-button-face . bold) - (gnus-article-mouse-face . highlight) - (gnus-carpal-button-face . bold) - (gnus-carpal-header-face . bold-italic) - (gnus-cite-attribution-face . gnus-cite-attribution-face) - (gnus-mouse-face . highlight) - (gnus-selected-tree-face . modeline) - (gnus-signature-face . gnus-signature-face) - (gnus-summary-selected-face . gnus-summary-selected-face) - (gnus-treat-display-xface . head) - (help-highlight-face . underline) - (ispell-highlight-face . flyspell-incorrect-face) - (list-matching-lines-face . bold) - (sgml-set-face . t) - (view-highlight-face . highlight) - (widget-mouse-face . highlight) - (x-face-mouse-face . highlight)) - (default ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 116 :width normal :family "monotype-courier new")))) - (Info-title-1-face ((t (:bold t :weight bold :height 1.728 :family "helv")))) - (Info-title-2-face ((t (:bold t :weight bold :height 1.44 :family "helv")))) - (Info-title-3-face ((t (:bold t :weight bold :height 1.2 :family "helv")))) - (Info-title-4-face ((t (:bold t :weight bold :family "helv")))) - (antlr-font-lock-keyword-face ((t (:bold t :foreground "black" :weight bold)))) - (antlr-font-lock-literal-face ((t (:bold t :foreground "brown4" :weight bold)))) - (antlr-font-lock-ruledef-face ((t (:bold t :foreground "blue" :weight bold)))) - (antlr-font-lock-ruleref-face ((t (:foreground "blue4")))) - (antlr-font-lock-tokendef-face ((t (:bold t :foreground "blue" :weight bold)))) - (antlr-font-lock-tokenref-face ((t (:foreground "orange4")))) - (bbdb-company ((t (:italic t :slant italic)))) - (bbdb-field-name ((t (:bold t :foreground "gray40" :weight bold)))) - (bbdb-field-value ((t (nil)))) - (bbdb-name ((t (:underline t)))) - (bold ((t (:bold t :foreground "gray40" :weight bold)))) - (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (border ((t (:background "black")))) - (calendar-today-face ((t (:underline t)))) - (change-log-acknowledgement-face ((t (:foreground "Firebrick")))) - (change-log-conditionals-face ((t (:foreground "DarkGoldenrod")))) - (change-log-date-face ((t (:foreground "RosyBrown")))) - (change-log-email-face ((t (:foreground "DarkGoldenrod")))) - (change-log-file-face ((t (:foreground "Blue")))) - (change-log-function-face ((t (:foreground "DarkGoldenrod")))) - (change-log-list-face ((t (:foreground "Purple")))) - (change-log-name-face ((t (:foreground "CadetBlue")))) - (comint-highlight-input ((t (:bold t :weight bold)))) - (comint-highlight-prompt ((t (:foreground "dark blue")))) - (cperl-array-face ((t (:bold t :background "lightyellow2" :foreground "Blue" :weight bold)))) - (cperl-hash-face ((t (:italic t :bold t :background "lightyellow2" :foreground "Red" :slant italic :weight bold)))) - (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) - (cursor ((t (:background "black")))) - (custom-button-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style released-button))))) - (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style pressed-button))))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-comment-face ((t (:background "gray85")))) - (custom-comment-tag-face ((t (:foreground "blue4")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:bold t :weight bold :height 1.2 :family "helv")))) - (custom-group-tag-face ((t (:bold t :foreground "blue" :weight bold :height 1.2)))) - (custom-group-tag-face-1 ((t (:bold t :foreground "red" :weight bold :height 1.2 :family "helv")))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "dark green")))) - (custom-variable-button-face ((t (:bold t :underline t :weight bold)))) - (custom-variable-tag-face ((t (:bold t :foreground "blue" :weight bold :height 1.2 :family "helv")))) - (cvs-filename-face ((t (:foreground "blue4")))) - (cvs-handled-face ((t (:foreground "pink")))) - (cvs-header-face ((t (:bold t :foreground "blue4" :weight bold)))) - (cvs-marked-face ((t (:bold t :foreground "green3" :weight bold)))) - (cvs-msg-face ((t (:italic t :slant italic)))) - (cvs-need-action-face ((t (:foreground "orange")))) - (cvs-unknown-face ((t (:foreground "red")))) - (diary-face ((t (:foreground "red")))) - (diff-added-face ((t (nil)))) - (diff-changed-face ((t (nil)))) - (diff-context-face ((t (:foreground "grey50")))) - (diff-file-header-face ((t (:bold t :background "grey70" :weight bold)))) - (diff-function-face ((t (:foreground "grey50")))) - (diff-header-face ((t (:background "grey85")))) - (diff-hunk-header-face ((t (:background "grey85")))) - (diff-index-face ((t (:bold t :background "grey70" :weight bold)))) - (diff-nonexistent-face ((t (:bold t :background "grey70" :weight bold)))) - (diff-removed-face ((t (nil)))) - (dired-face-boring ((t (:foreground "RosyBrown")))) - (dired-face-directory ((t (:foreground "Blue")))) - (dired-face-executable ((t (nil)))) - (dired-face-flagged ((t (:bold t :foreground "Red" :weight bold)))) - (dired-face-marked ((t (:bold t :foreground "Red" :weight bold)))) - (dired-face-permissions ((t (nil)))) - (dired-face-setuid ((t (nil)))) - (dired-face-socket ((t (nil)))) - (dired-face-symlink ((t (:foreground "Purple")))) - (ebrowse-default-face ((t (nil)))) - (ebrowse-file-name-face ((t (:italic t :slant italic)))) - (ebrowse-member-attribute-face ((t (:foreground "red")))) - (ebrowse-member-class-face ((t (:foreground "purple")))) - (ebrowse-progress-face ((t (:background "blue")))) - (ebrowse-root-class-face ((t (:bold t :foreground "blue" :weight bold)))) - (ebrowse-tree-mark-face ((t (:foreground "red")))) - (ediff-current-diff-face-A ((t (:background "pale green" :foreground "firebrick")))) - (ediff-current-diff-face-Ancestor ((t (:background "VioletRed" :foreground "Black")))) - (ediff-current-diff-face-B ((t (:background "Yellow" :foreground "DarkOrchid")))) - (ediff-current-diff-face-C ((t (:background "Pink" :foreground "Navy")))) - (ediff-even-diff-face-A ((t (:background "light grey" :foreground "Black")))) - (ediff-even-diff-face-Ancestor ((t (:background "Grey" :foreground "White")))) - (ediff-even-diff-face-B ((t (:background "Grey" :foreground "White")))) - (ediff-even-diff-face-C ((t (:background "light grey" :foreground "Black")))) - (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy")))) - (ediff-fine-diff-face-Ancestor ((t (:background "Green" :foreground "Black")))) - (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Black")))) - (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Black")))) - (ediff-odd-diff-face-A ((t (:background "Grey" :foreground "White")))) - (ediff-odd-diff-face-Ancestor ((t (:background "light grey" :foreground "Black")))) - (ediff-odd-diff-face-B ((t (:background "light grey" :foreground "Black")))) - (ediff-odd-diff-face-C ((t (:background "Grey" :foreground "White")))) - (erc-action-face ((t (:bold t :weight bold)))) - (erc-bold-face ((t (:bold t :weight bold)))) - (erc-default-face ((t (nil)))) - (erc-direct-msg-face ((t (:foreground "LightSalmon")))) - (erc-error-face ((t (:bold t :foreground "IndianRed" :weight bold)))) - (erc-input-face ((t (:foreground "Beige")))) - (erc-inverse-face ((t (:background "wheat" :foreground "darkslategrey")))) - (erc-notice-face ((t (:foreground "MediumAquamarine")))) - (erc-pal-face ((t (:foreground "pale green")))) - (erc-prompt-face ((t (:foreground "MediumAquamarine")))) - (erc-underline-face ((t (:underline t)))) - (eshell-ls-archive-face ((t (:bold t :foreground "Orchid" :weight bold)))) - (eshell-ls-backup-face ((t (:foreground "OrangeRed")))) - (eshell-ls-clutter-face ((t (:bold t :foreground "OrangeRed" :weight bold)))) - (eshell-ls-directory-face ((t (:bold t :foreground "Blue" :weight bold)))) - (eshell-ls-executable-face ((t (:bold t :foreground "ForestGreen" :weight bold)))) - (eshell-ls-missing-face ((t (:bold t :foreground "Red" :weight bold)))) - (eshell-ls-picture-face ((t (:foreground "Violet")))) - (eshell-ls-product-face ((t (:foreground "OrangeRed")))) - (eshell-ls-readonly-face ((t (:foreground "Brown")))) - (eshell-ls-special-face ((t (:bold t :foreground "Magenta" :weight bold)))) - (eshell-ls-symlink-face ((t (:bold t :foreground "Dark Cyan" :weight bold)))) - (eshell-ls-unreadable-face ((t (:foreground "Grey30")))) - (eshell-prompt-face ((t (:bold t :foreground "#aa0000" :weight bold :width condensed :family "neep-alt")))) - (eshell-test-failed-face ((t (:bold t :foreground "OrangeRed" :weight bold)))) - (eshell-test-ok-face ((t (:bold t :foreground "Green" :weight bold)))) - (excerpt ((t (:italic t :slant italic)))) - (fixed ((t (:bold t :weight bold)))) - (fixed-pitch ((t (:family "courier")))) - (flyspell-duplicate-face ((t (:bold t :foreground "Gold3" :underline t :weight bold)))) - (flyspell-incorrect-face ((t (:bold t :foreground "OrangeRed" :underline t :weight bold)))) - (font-latex-bold-face ((t (:bold t :foreground "DarkOliveGreen" :weight bold)))) - (font-latex-italic-face ((t (:italic t :foreground "DarkOliveGreen" :slant italic)))) - (font-latex-math-face ((t (:foreground "SaddleBrown")))) - (font-latex-sedate-face ((t (:foreground "DimGray")))) - (font-latex-string-face ((t (:foreground "RosyBrown")))) - (font-latex-warning-face ((t (:bold t :foreground "Red" :weight bold)))) - (font-lock-builtin-face ((t (:foreground "dodgerblue3")))) - (font-lock-comment-face ((t (:foreground "#cc0000" :width semi-condensed :family "helvetica")))) - (font-lock-constant-face ((t (:foreground "CadetBlue")))) - (font-lock-doc-face ((t (:foreground "RosyBrown")))) - (font-lock-doc-string-face ((t (:foreground "RosyBrown")))) - (font-lock-function-name-face ((t (:bold t :foreground "navy" :weight bold :height 100)))) - (font-lock-keyword-face ((t (:bold t :foreground "red4" :weight bold)))) - (font-lock-preprocessor-face ((t (:foreground "CadetBlue")))) - (font-lock-reference-face ((t (:foreground "Orchid")))) - (font-lock-string-face ((t (:foreground "navy")))) - (font-lock-type-face ((t (:bold t :foreground "black" :weight bold)))) - (font-lock-variable-name-face ((t (:foreground "black")))) - (font-lock-warning-face ((t (:foreground "orange2")))) - (fringe ((t (:background "white")))) - (gnus-cite-attribution-face ((t (:italic t :slant italic)))) - (gnus-cite-face-1 ((t (:foreground "MidnightBlue")))) - (gnus-cite-face-10 ((t (:foreground "medium purple")))) - (gnus-cite-face-11 ((t (:foreground "turquoise")))) - (gnus-cite-face-2 ((t (:foreground "firebrick")))) - (gnus-cite-face-3 ((t (:foreground "dark green")))) - (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) - (gnus-cite-face-5 ((t (:foreground "dark khaki")))) - (gnus-cite-face-6 ((t (:foreground "dark violet")))) - (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-emphasis-bold ((t (:bold t :weight bold)))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) - (gnus-emphasis-italic ((t (:italic t :slant italic)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:bold t :underline t :weight bold)))) - (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :underline t :slant italic :weight bold)))) - (gnus-emphasis-underline-italic ((t (:italic t :underline t :slant italic)))) - (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3" :weight bold)))) - (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3" :weight bold)))) - (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4" :weight bold)))) - (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4" :weight bold)))) - (gnus-group-news-1-empty-face ((t (:foreground "red" :weight normal :height 120 :family "courier")))) - (gnus-group-news-1-face ((t (:foreground "red" :weight normal :height 120 :family "courier")))) - (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) - (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4" :weight bold)))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t :weight bold)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t :weight bold)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t :weight bold)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t :weight bold)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen" :weight bold)))) - (gnus-header-content-face ((t (:foreground "goldenrod" :slant normal :family "helvetica")))) - (gnus-header-from-face ((t (:bold t :foreground "grey75" :weight bold :height 140 :family "helvetica")))) - (gnus-header-name-face ((t (:foreground "grey75" :height 120 :family "helvetica")))) - (gnus-header-newsgroups-face ((t (:italic t :foreground "MidnightBlue" :slant italic)))) - (gnus-header-subject-face ((t (:bold t :foreground "firebrick" :weight bold :height 160 :family "helvetica")))) - (gnus-picon-face ((t (:background "white" :foreground "black")))) - (gnus-picon-xbm-face ((t (:background "white" :foreground "black")))) - (gnus-signature-face ((t (:italic t :slant italic)))) - (gnus-splash-face ((t (:foreground "Brown")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue" :weight bold)))) - (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen" :weight bold)))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick" :weight bold)))) - (gnus-summary-high-unread-face ((t (:bold t :weight bold)))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue" :slant italic)))) - (gnus-summary-low-read-face ((t (:italic t :foreground "DarkGreen" :slant italic)))) - (gnus-summary-low-ticked-face ((t (:italic t :foreground "firebrick" :slant italic)))) - (gnus-summary-low-unread-face ((t (:italic t :slant italic)))) - (gnus-summary-normal-ancient-face ((t (:foreground "grey65" :height 110 :width condensed :family "neep")))) - (gnus-summary-normal-read-face ((t (:foreground "grey75" :height 110 :width condensed :family "neep")))) - (gnus-summary-normal-ticked-face ((t (:bold t :foreground "firebrick" :weight bold :height 110 :width condensed :family "neep")))) - (gnus-summary-normal-unread-face ((t (:foreground "firebrick" :height 110 :width condensed :family "neep")))) - (gnus-summary-selected-face ((t (:background "gold" :foreground "black" :box (:line-width 1 :color "yellow" :style released-button) :height 140 :width condensed :family "neep")))) - (header-line ((t (:background "grey90" :foreground "grey20" :box nil)))) - (hi-black-b ((t (:bold t :weight bold)))) - (hi-black-hb ((t (:bold t :weight bold :height 1.67 :family "helv")))) - (hi-blue ((t (:background "light blue")))) - (hi-blue-b ((t (:bold t :foreground "blue" :weight bold)))) - (hi-green ((t (:background "green")))) - (hi-green-b ((t (:bold t :foreground "green" :weight bold)))) - (hi-pink ((t (:background "pink")))) - (hi-red-b ((t (:bold t :foreground "red" :weight bold)))) - (hi-yellow ((t (:background "yellow")))) - (highlight ((t (:background "black" :foreground "white")))) - (highlight-changes-delete-face ((t (:foreground "red" :underline t)))) - (highlight-changes-face ((t (:foreground "red")))) - (highline-face ((t (:background "gray80")))) - (holiday-face ((t (:background "pink")))) - (idlwave-help-link-face ((t (:foreground "Blue")))) - (idlwave-shell-bp-face ((t (:background "Pink" :foreground "Black")))) - (info-header-node ((t (:italic t :bold t :foreground "brown" :slant italic :weight bold)))) - (info-header-xref ((t (:bold t :foreground "magenta4" :weight bold)))) - (info-menu-5 ((t (:foreground "red1")))) - (info-menu-header ((t (:bold t :weight bold :family "helv")))) - (info-node ((t (:italic t :bold t :foreground "brown" :slant italic :weight bold)))) - (info-xref ((t (:bold t :foreground "magenta4" :weight bold)))) - (isearch ((t (:background "magenta4" :foreground "lightskyblue1")))) - (isearch-lazy-highlight-face ((t (:background "paleturquoise")))) - (italic ((t (:italic t :slant italic)))) - (log-view-file-face ((t (:bold t :background "grey70" :weight bold)))) - (log-view-message-face ((t (:background "grey85")))) - (makefile-space-face ((t (:background "hotpink")))) - (menu ((t (nil)))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:foreground "grey45" :weight normal :family "helvetica")))) - (message-header-name-face ((t (:foreground "cornflower blue")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4" :slant italic :weight bold)))) - (message-header-other-face ((t (:foreground "steel blue")))) - (message-header-subject-face ((t (:bold t :foreground "navy blue" :weight bold)))) - (message-header-to-face ((t (:bold t :foreground "grey60" :weight bold :height 120 :family "helvetica")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-mml-face ((t (:foreground "ForestGreen")))) - (message-separator-face ((t (:foreground "brown")))) - (mode-line ((t (:background "grey90" :foreground "black" :box (:line-width 1 :style none) :width condensed :family "neep")))) - (modeline-buffer-id ((t (:bold t :background "grey75" :foreground "black" :box (:line-width -1 :style released-button) :weight bold)))) - (modeline-mousable ((t (:background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) - (modeline-mousable-minor-mode ((t (:background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) - (mouse ((t (:background "black")))) - (mpg123-face-cur ((t (:background "#004080" :foreground "yellow")))) - (mpg123-face-slider ((t (:background "yellow" :foreground "black")))) - (primary-selection ((t (:background "lightgoldenrod2")))) - (reb-match-0 ((t (:background "lightblue")))) - (reb-match-1 ((t (:background "aquamarine")))) - (reb-match-2 ((t (:background "springgreen")))) - (reb-match-3 ((t (:background "yellow")))) - (region ((t (:background "#aa0000" :foreground "white")))) - (scroll-bar ((t (:background "grey75")))) - (secondary-selection ((t (:background "yellow")))) - (sgml-comment-face ((t (:italic t :foreground "SeaGreen" :slant italic)))) - (sgml-doctype-face ((t (:bold t :foreground "FireBrick" :weight bold)))) - (sgml-end-tag-face ((t (:stipple nil :background "white" :foreground "SlateBlue" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 116 :width normal :family "monotype-courier new")))) - (sgml-entity-face ((t (:stipple nil :background "SlateBlue" :foreground "Red" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 116 :width normal :family "monotype-courier new")))) - (sgml-ignored-face ((t (nil)))) - (sgml-ms-end-face ((t (nil)))) - (sgml-ms-start-face ((t (nil)))) - (sgml-pi-face ((t (:bold t :foreground "gray40" :weight bold)))) - (sgml-sgml-face ((t (:bold t :foreground "gray40" :weight bold)))) - (sgml-short-ref-face ((t (nil)))) - (sgml-shortref-face ((t (:bold t :foreground "gray40" :weight bold)))) - (sgml-start-tag-face ((t (:stipple nil :background "white" :foreground "SlateBlue" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 116 :width normal :family "monotype-courier new")))) - (sh-heredoc-face ((t (:foreground "tan")))) - (show-paren-match-face ((t (:background "gray80" :foreground "black")))) - (show-paren-mismatch-face ((t (:background "red" :foreground "yellow")))) - (show-tabs-space-face ((t (:foreground "yellow")))) - (show-tabs-tab-face ((t (:foreground "red")))) - (smerge-base-face ((t (:foreground "red")))) - (smerge-markers-face ((t (:background "grey85")))) - (smerge-mine-face ((t (:foreground "blue")))) - (smerge-other-face ((t (:foreground "darkgreen")))) - (speedbar-button-face ((t (:foreground "green4")))) - (speedbar-directory-face ((t (:foreground "blue4")))) - (speedbar-file-face ((t (:foreground "cyan4")))) - (speedbar-highlight-face ((t (:background "green")))) - (speedbar-selected-face ((t (:foreground "red" :underline t)))) - (speedbar-tag-face ((t (:foreground "brown")))) - (strokes-char-face ((t (:background "lightgray")))) - (term-black ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-blackbg ((t (:stipple nil :background "black" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-blue ((t (:stipple nil :background "white" :foreground "blue" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-bluebg ((t (:stipple nil :background "blue" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-bold ((t (:bold t :stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight bold :width normal :family "adobe-courier")))) - (term-cyan ((t (:stipple nil :background "white" :foreground "cyan" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-cyanbg ((t (:stipple nil :background "cyan" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-default ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-default-bg ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-default-bg-inv ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-default-fg ((t (:stipple nil :background "white" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-default-fg-inv ((t (:stipple nil :background "white" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-green ((t (:stipple nil :background "white" :foreground "green" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-greenbg ((t (:stipple nil :background "green" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-invisible ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-invisible-inv ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-magenta ((t (:stipple nil :background "white" :foreground "magenta" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-magentabg ((t (:stipple nil :background "magenta" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-red ((t (:stipple nil :background "white" :foreground "red" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-redbg ((t (:stipple nil :background "red" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-underline ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline t :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-white ((t (:stipple nil :background "white" :foreground "white" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-whitebg ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-yellow ((t (:stipple nil :background "white" :foreground "yellow" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-yellowbg ((t (:stipple nil :background "yellow" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (tex-math-face ((t (:foreground "RosyBrown")))) - (texinfo-heading-face ((t (:foreground "Blue")))) - (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) - (tooltip ((t (:background "lightyellow" :foreground "black")))) - (trailing-whitespace ((t (:background "red")))) - (underline ((t (:foreground "navy" :underline t)))) - (variable-pitch ((t (:family "helv")))) - (vcursor ((t (:background "cyan" :foreground "blue" :underline t)))) - (vhdl-font-lock-attribute-face ((t (:foreground "Orchid")))) - (vhdl-font-lock-directive-face ((t (:foreground "CadetBlue")))) - (vhdl-font-lock-enumvalue-face ((t (:foreground "Gold4")))) - (vhdl-font-lock-function-face ((t (:foreground "Orchid4")))) - (vhdl-font-lock-prompt-face ((t (:bold t :foreground "Red" :weight bold)))) - (vhdl-font-lock-reserved-words-face ((t (:bold t :foreground "Orange" :weight bold)))) - (vhdl-font-lock-translate-off-face ((t (:background "LightGray")))) - (vhdl-speedbar-architecture-face ((t (:foreground "Blue")))) - (vhdl-speedbar-architecture-selected-face ((t (:foreground "Blue" :underline t)))) - (vhdl-speedbar-configuration-face ((t (:foreground "DarkGoldenrod")))) - (vhdl-speedbar-configuration-selected-face ((t (:foreground "DarkGoldenrod" :underline t)))) - (vhdl-speedbar-entity-face ((t (:foreground "ForestGreen")))) - (vhdl-speedbar-entity-selected-face ((t (:foreground "ForestGreen" :underline t)))) - (vhdl-speedbar-instantiation-face ((t (:foreground "Brown")))) - (vhdl-speedbar-instantiation-selected-face ((t (:foreground "Brown" :underline t)))) - (vhdl-speedbar-package-face ((t (:foreground "Grey50")))) - (vhdl-speedbar-package-selected-face ((t (:foreground "Grey50" :underline t)))) - (viper-minibuffer-emacs-face ((t (:background "darkseagreen2" :foreground "Black")))) - (viper-minibuffer-insert-face ((t (:background "pink" :foreground "Black")))) - (viper-minibuffer-vi-face ((t (:background "grey" :foreground "DarkGreen")))) - (viper-replace-overlay-face ((t (:background "darkseagreen2" :foreground "Black")))) - (viper-search-face ((t (:background "khaki" :foreground "Black")))) - (widget-button-face ((t (:bold t :weight bold)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (widget-single-line-field-face ((t (:background "gray85")))) - (woman-addition-face ((t (:foreground "orange")))) - (woman-bold-face ((t (:bold t :foreground "blue" :weight bold)))) - (woman-italic-face ((t (:italic t :foreground "red" :underline t :slant italic)))) - (woman-unknown-face ((t (:foreground "brown")))) - (zmacs-region ((t (:background "lightgoldenrod2"))))))) - -(defun color-theme-bharadwaj-slate () - "Color theme by Girish Bharadwaj, created 2002-05-06." - (interactive) - (color-theme-install - '(color-theme-bharadwaj-slate - ((background-color . "DarkSlateGray") - (background-mode . dark) - (border-color . "black") - (cursor-color . "khaki") - (foreground-color . "palegreen") - (mouse-color . "black")) - ((display-time-mail-face . mode-line) - (gnus-article-button-face . bold) - (gnus-article-mouse-face . highlight) - (gnus-mouse-face . highlight) - (help-highlight-face . underline) - (ibuffer-deletion-face . font-lock-type-face) - (ibuffer-filter-group-name-face . bold) - (ibuffer-marked-face . font-lock-warning-face) - (ibuffer-title-face . font-lock-type-face) - (list-matching-lines-buffer-name-face . underline) - (list-matching-lines-face . bold) - (semantic-which-function-use-color . t) - (senator-eldoc-use-color . t) - (view-highlight-face . highlight) - (widget-mouse-face . highlight)) - (default ((t (:stipple nil :background "DarkSlateGray" :foreground "palegreen" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-lucida sans typewriter")))) - (bg:erc-color-face0 ((t (:background "White")))) - (bg:erc-color-face1 ((t (:background "black")))) - (bg:erc-color-face10 ((t (:background "lightblue1")))) - (bg:erc-color-face11 ((t (:background "cyan")))) - (bg:erc-color-face12 ((t (:background "blue")))) - (bg:erc-color-face13 ((t (:background "deeppink")))) - (bg:erc-color-face14 ((t (:background "gray50")))) - (bg:erc-color-face15 ((t (:background "gray90")))) - (bg:erc-color-face2 ((t (:background "blue4")))) - (bg:erc-color-face3 ((t (:background "green4")))) - (bg:erc-color-face4 ((t (:background "red")))) - (bg:erc-color-face5 ((t (:background "brown")))) - (bg:erc-color-face6 ((t (:background "purple")))) - (bg:erc-color-face7 ((t (:background "orange")))) - (bg:erc-color-face8 ((t (:background "yellow")))) - (bg:erc-color-face9 ((t (:background "green")))) - (bold ((t (:bold t :weight bold)))) - (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (border ((t (:background "black")))) - (button ((t (:underline t)))) - (comint-highlight-input ((t (:bold t :weight bold)))) - (comint-highlight-prompt ((t (:foreground "cyan")))) - (cursor ((t (:background "khaki")))) - (custom-button-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style released-button))))) - (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style pressed-button))))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-comment-face ((t (:background "dim gray")))) - (custom-comment-tag-face ((t (:foreground "gray80")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:bold t :family "helv" :weight bold :height 1.2)))) - (custom-group-tag-face ((t (:bold t :foreground "light blue" :weight bold :height 1.2)))) - (custom-group-tag-face-1 ((t (:bold t :family "helv" :foreground "pink" :weight bold :height 1.2)))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "lime green")))) - (custom-variable-button-face ((t (:bold t :underline t :weight bold)))) - (custom-variable-tag-face ((t (:bold t :family "helv" :foreground "light blue" :weight bold :height 1.2)))) - (erc-action-face ((t (:bold t :box (:line-width 2 :color "grey75") :weight bold)))) - (erc-bold-face ((t (:bold t :weight bold)))) - (erc-default-face ((t (nil)))) - (erc-direct-msg-face ((t (:foreground "IndianRed")))) - (erc-error-face ((t (:background "Red" :foreground "White")))) - (erc-input-face ((t (:foreground "lightblue")))) - (erc-inverse-face ((t (:background "Black" :foreground "White")))) - (erc-notice-face ((t (:bold t :foreground "dodgerblue" :weight bold)))) - (erc-prompt-face ((t (:bold t :background "black" :foreground "white" :weight bold)))) - (erc-timestamp-face ((t (:bold t :foreground "green" :weight bold)))) - (erc-underline-face ((t (:underline t)))) - (eshell-ls-archive-face ((t (:bold t :foreground "Orchid" :weight bold)))) - (eshell-ls-backup-face ((t (:foreground "LightSalmon")))) - (eshell-ls-clutter-face ((t (:bold t :foreground "OrangeRed" :weight bold)))) - (eshell-ls-directory-face ((t (:bold t :foreground "SkyBlue" :weight bold)))) - (eshell-ls-executable-face ((t (:bold t :foreground "Green" :weight bold)))) - (eshell-ls-missing-face ((t (:bold t :foreground "Red" :weight bold)))) - (eshell-ls-product-face ((t (:foreground "LightSalmon")))) - (eshell-ls-readonly-face ((t (:foreground "Pink")))) - (eshell-ls-special-face ((t (:bold t :foreground "Magenta" :weight bold)))) - (eshell-ls-symlink-face ((t (:bold t :foreground "Cyan" :weight bold)))) - (eshell-ls-unreadable-face ((t (:foreground "DarkGrey")))) - (eshell-prompt-face ((t (:bold t :foreground "Pink" :weight bold)))) - (fg:erc-color-face0 ((t (:foreground "White")))) - (fg:erc-color-face1 ((t (:foreground "black")))) - (fg:erc-color-face10 ((t (:foreground "lightblue1")))) - (fg:erc-color-face11 ((t (:foreground "cyan")))) - (fg:erc-color-face12 ((t (:foreground "blue")))) - (fg:erc-color-face13 ((t (:foreground "deeppink")))) - (fg:erc-color-face14 ((t (:foreground "gray50")))) - (fg:erc-color-face15 ((t (:foreground "gray90")))) - (fg:erc-color-face2 ((t (:foreground "blue4")))) - (fg:erc-color-face3 ((t (:foreground "green4")))) - (fg:erc-color-face4 ((t (:foreground "red")))) - (fg:erc-color-face5 ((t (:foreground "brown")))) - (fg:erc-color-face6 ((t (:foreground "purple")))) - (fg:erc-color-face7 ((t (:foreground "orange")))) - (fg:erc-color-face8 ((t (:foreground "yellow")))) - (fg:erc-color-face9 ((t (:foreground "green")))) - (fixed-pitch ((t (:family "courier")))) - (font-lock-builtin-face ((t (:bold t :foreground "pink" :weight bold :height 1.1)))) - (font-lock-comment-face ((t (:foreground "violet" :height 1.0)))) - (font-lock-constant-face ((t (:bold t :foreground "tomato" :weight bold :height 1.0)))) - (font-lock-function-name-face ((t (:bold t :foreground "DodgerBlue" :weight bold)))) - (font-lock-keyword-face ((t (:bold t :foreground "turquoise" :weight bold)))) - (font-lock-preprocessor-face ((t (:bold t :foreground "tomato" :weight bold :height 1.0)))) - (font-lock-reference-face ((t (:bold t :foreground "pink" :weight bold :height 1.1)))) - (font-lock-string-face ((t (:foreground "red" :height 1.0)))) - (font-lock-type-face ((t (:foreground "lightblue3")))) - (font-lock-variable-name-face ((t (:bold t :foreground "gray" :weight bold :height 1.0)))) - (font-lock-warning-face ((t (:bold t :foreground "Pink" :weight bold)))) - (fringe ((t (:background "DarkSlateGray")))) - (gnus-cite-attribution-face ((t (:italic t :slant italic)))) - (gnus-cite-face-1 ((t (:foreground "light blue")))) - (gnus-cite-face-10 ((t (:foreground "medium purple")))) - (gnus-cite-face-11 ((t (:foreground "turquoise")))) - (gnus-cite-face-2 ((t (:foreground "light cyan")))) - (gnus-cite-face-3 ((t (:foreground "light yellow")))) - (gnus-cite-face-4 ((t (:foreground "light pink")))) - (gnus-cite-face-5 ((t (:foreground "pale green")))) - (gnus-cite-face-6 ((t (:foreground "beige")))) - (gnus-cite-face-7 ((t (:foreground "orange")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-emphasis-bold ((t (:bold t :weight bold)))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) - (gnus-emphasis-italic ((t (:italic t :slant italic)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:bold t :underline t :weight bold)))) - (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :underline t :slant italic :weight bold)))) - (gnus-emphasis-underline-italic ((t (:italic t :underline t :slant italic)))) - (gnus-group-mail-1-empty-face ((t (:foreground "aquamarine1")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "aquamarine1" :weight bold)))) - (gnus-group-mail-2-empty-face ((t (:foreground "aquamarine2")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "aquamarine2" :weight bold)))) - (gnus-group-mail-3-empty-face ((t (:foreground "aquamarine3")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "aquamarine3" :weight bold)))) - (gnus-group-mail-low-empty-face ((t (:foreground "aquamarine4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "aquamarine4" :weight bold)))) - (gnus-group-news-1-empty-face ((t (:foreground "PaleTurquoise")))) - (gnus-group-news-1-face ((t (:bold t :foreground "PaleTurquoise" :weight bold)))) - (gnus-group-news-2-empty-face ((t (:foreground "turquoise")))) - (gnus-group-news-2-face ((t (:bold t :foreground "turquoise" :weight bold)))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t :weight bold)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t :weight bold)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t :weight bold)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t :weight bold)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkTurquoise")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkTurquoise" :weight bold)))) - (gnus-header-content-face ((t (:italic t :foreground "forest green" :slant italic)))) - (gnus-header-from-face ((t (:foreground "spring green")))) - (gnus-header-name-face ((t (:foreground "SeaGreen")))) - (gnus-header-newsgroups-face ((t (:italic t :foreground "yellow" :slant italic)))) - (gnus-header-subject-face ((t (:foreground "SeaGreen3")))) - (gnus-signature-face ((t (:italic t :slant italic)))) - (gnus-splash-face ((t (:foreground "Brown")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "SkyBlue" :weight bold)))) - (gnus-summary-high-read-face ((t (:bold t :foreground "PaleGreen" :weight bold)))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "pink" :weight bold)))) - (gnus-summary-high-unread-face ((t (:bold t :weight bold)))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "SkyBlue" :slant italic)))) - (gnus-summary-low-read-face ((t (:italic t :foreground "PaleGreen" :slant italic)))) - (gnus-summary-low-ticked-face ((t (:italic t :foreground "pink" :slant italic)))) - (gnus-summary-low-unread-face ((t (:italic t :slant italic)))) - (gnus-summary-normal-ancient-face ((t (:foreground "SkyBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "PaleGreen")))) - (gnus-summary-normal-ticked-face ((t (:foreground "pink")))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-selected-face ((t (:underline t)))) - (header-line ((t (:underline "blueviolet" :overline "blueviolet" :box (:line-width -1 :style released-button) :background "grey20" :foreground "grey90" :box nil)))) - (highlight ((t (:background "darkolivegreen")))) - (html-helper-bold-face ((t (:bold t :foreground "wheat" :weight bold)))) - (html-helper-italic-face ((t (:italic t :foreground "spring green" :slant italic)))) - (html-helper-underline-face ((t (:foreground "cornsilk" :underline t)))) - (html-tag-face ((t (:bold t :foreground "deep sky blue" :weight bold)))) - (info-menu-6 ((t (nil)))) - (isearch ((t (:background "palevioletred2" :foreground "brown4")))) - (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) - (italic ((t (:italic t :slant italic)))) - (jde-bug-breakpoint-cursor ((t (:background "brown" :foreground "cyan")))) - (jde-db-active-breakpoint-face ((t (:background "red" :foreground "black")))) - (jde-db-requested-breakpoint-face ((t (:background "yellow" :foreground "black")))) - (jde-db-spec-breakpoint-face ((t (:background "green" :foreground "black")))) - (jde-java-font-lock-api-face ((t (:foreground "light goldenrod")))) - (jde-java-font-lock-bold-face ((t (:bold t :weight bold)))) - (jde-java-font-lock-code-face ((t (nil)))) - (jde-java-font-lock-constant-face ((t (:foreground "Aquamarine")))) - (jde-java-font-lock-doc-tag-face ((t (:foreground "light coral")))) - (jde-java-font-lock-italic-face ((t (:italic t :slant italic)))) - (jde-java-font-lock-link-face ((t (:foreground "blue" :underline t :slant normal)))) - (jde-java-font-lock-modifier-face ((t (:foreground "LightSteelBlue")))) - (jde-java-font-lock-number-face ((t (:foreground "LightSalmon")))) - (jde-java-font-lock-operator-face ((t (:foreground "medium blue")))) - (jde-java-font-lock-package-face ((t (:foreground "steelblue1")))) - (jde-java-font-lock-pre-face ((t (nil)))) - (jde-java-font-lock-underline-face ((t (:underline t)))) - (menu ((t (nil)))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:bold t :foreground "green4" :weight bold)))) - (message-header-name-face ((t (:foreground "DarkGreen")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "yellow" :slant italic :weight bold)))) - (message-header-other-face ((t (:foreground "#b00000")))) - (message-header-subject-face ((t (:foreground "green3")))) - (message-header-to-face ((t (:bold t :foreground "green2" :weight bold)))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-mml-face ((t (:foreground "ForestGreen")))) - (message-separator-face ((t (:foreground "blue3")))) - (minibuffer-prompt ((t (:foreground "cyan")))) - (mode-line ((t (:background "Darkslategray" :foreground "white" :box (:line-width -1 :style released-button) :overline "blueviolet" :underline "blueviolet")))) - (mode-line-inactive ((t (:italic t :underline "blueviolet" :overline "blueviolet" :background "white" :foreground "cadetblue" :box (:line-width -1 :color "grey75") :slant oblique :weight light)))) - (modeline ((t (:background "Darkslategray" :foreground "white" :box (:line-width -1 :style released-button) :overline "blueviolet" :underline "blueviolet")))) - (modeline-buffer-id ((t (:background "Darkslategray" :foreground "white" :box (:line-width -1 :style released-button) :overline "blueviolet" :underline "blueviolet")))) - (modeline-mousable ((t (:background "Darkslategray" :foreground "white" :box (:line-width -1 :style released-button) :overline "blueviolet" :underline "blueviolet")))) - (modeline-mousable-minor-mode ((t (:background "Darkslategray" :foreground "white" :box (:line-width -1 :style released-button) :overline "blueviolet" :underline "blueviolet")))) - (mouse ((t (:background "black")))) - (primary-selection ((t (:background "dimgray")))) - (region ((t (:background "dimgray")))) - (scroll-bar ((t (nil)))) - (secondary-selection ((t (:background "SkyBlue4")))) - (semantic-dirty-token-face ((t (:background "lightyellow")))) - (semantic-unmatched-syntax-face ((t (:underline "red")))) - (senator-intangible-face ((t (:foreground "gray75")))) - (senator-momentary-highlight-face ((t (:background "gray30")))) - (senator-read-only-face ((t (:background "#664444")))) - (show-paren-match-face ((t (:bold t :foreground "lightblue" :weight bold :height 1.1)))) - (show-paren-mismatch-face ((t (:bold t :foreground "red" :weight bold :height 1.1)))) - (show-tabs-space-face ((t (:foreground "yellow")))) - (show-tabs-tab-face ((t (:foreground "red")))) - (speedbar-button-face ((t (:foreground "green3")))) - (speedbar-directory-face ((t (:foreground "light blue")))) - (speedbar-file-face ((t (:foreground "cyan")))) - (speedbar-highlight-face ((t (:background "sea green")))) - (speedbar-selected-face ((t (:foreground "red" :underline t)))) - (speedbar-tag-face ((t (:foreground "yellow")))) - (template-message-face ((t (:bold t :weight bold)))) - (term-black ((t (:foreground "black")))) - (term-blackbg ((t (:background "black")))) - (term-blue ((t (:foreground "blue")))) - (term-bluebg ((t (:background "blue")))) - (term-bold ((t (:bold t :weight bold)))) - (term-cyan ((t (:foreground "cyan")))) - (term-cyanbg ((t (:background "cyan")))) - (term-default ((t (:stipple nil :background "DarkSlateGray" :foreground "palegreen" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "outline-lucida sans typewriter")))) - (term-default-bg ((t (nil)))) - (term-default-bg-inv ((t (nil)))) - (term-default-fg ((t (nil)))) - (term-default-fg-inv ((t (nil)))) - (term-green ((t (:foreground "green")))) - (term-greenbg ((t (:background "green")))) - (term-invisible ((t (nil)))) - (term-invisible-inv ((t (nil)))) - (term-magenta ((t (:foreground "magenta")))) - (term-magentabg ((t (:background "magenta")))) - (term-red ((t (:foreground "red")))) - (term-redbg ((t (:background "red")))) - (term-underline ((t (:underline t)))) - (term-white ((t (:foreground "white")))) - (term-whitebg ((t (:background "white")))) - (term-yellow ((t (:foreground "yellow")))) - (term-yellowbg ((t (:background "yellow")))) - (tool-bar ((t (:background "DarkSlateGray" :foreground "White" :box (:line-width 1 :color "blue"))))) - (tooltip ((t (:background "lightyellow" :foreground "black")))) - (trailing-whitespace ((t (:background "red")))) - (underline ((t (:underline t)))) - (variable-pitch ((t (:family "helv")))) - (widget-button-face ((t (:bold t :weight bold)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "lime green")))) - (widget-field-face ((t (:background "dim gray")))) - (widget-inactive-face ((t (:foreground "light gray")))) - (widget-single-line-field-face ((t (:background "dim gray")))) - (zmacs-region ((t (:background "dimgray"))))))) - -(defun color-theme-lethe () - "Color theme by Ivica Loncar, created 2002-08-02. -Some additional X resources as suggested by the author: - -Emacs*menubar.Foreground: Yellow -Emacs*menubar.Background: #1a2b3c -Emacs*menubar.topShadowColor: gray -Emacs*menubar.bottomShadowColor: dimgray - -Some fonts I really like (note: this fonts are not highly -available): - -Emacs.default.attributeFont: -letl-*-medium-r-*-*-*-*-*-*-*-*-iso8859-2 -Emacs*menubar*Font: -etl-fixed-medium-r-normal--14-*-*-*-*-*-iso8859-1 - -Mouse fix: - -Emacs*dialog*XmPushButton.translations:#override\n\ - : Arm()\n\ - ,: Activate()\ - Disarm()\n\ - (2+): MultiArm()\n\ - (2+): MultiActivate()\n\ - : Activate()\ - Disarm()\n\ - osfSelect: ArmAndActivate()\n\ - osfActivate: ArmAndActivate()\n\ - osfHelp: Help()\n\ - ~Shift ~Meta ~Alt Return: ArmAndActivate()\n\ - : Enter()\n\ - : Leave()\n - -Bonus: do not use 3D modeline." - (interactive) - (color-theme-install - '(color-theme-lethe - ((background-color . "black") - (background-mode . dark) - (background-toolbar-color . "#000000000000") - (border-color . "#000000000000") - (bottom-toolbar-shadow-color . "red") - (cursor-color . "red") - (foreground-color . "peachpuff") - (mouse-color . "red") - (top-toolbar-shadow-color . "#f5f5f5f5f5f5")) - ((buffers-tab-face . buffers-tab) - (cscope-use-face . t) - (gnus-mouse-face . highlight)) - (default ((t (nil)))) - (bg:erc-color-face0 ((t (:background "White")))) - (bg:erc-color-face1 ((t (nil)))) - (bg:erc-color-face10 ((t (:background "lightblue1")))) - (bg:erc-color-face11 ((t (:background "cyan")))) - (bg:erc-color-face12 ((t (:background "blue")))) - (bg:erc-color-face13 ((t (:background "deeppink")))) - (bg:erc-color-face14 ((t (:background "gray50")))) - (bg:erc-color-face15 ((t (:background "gray90")))) - (bg:erc-color-face2 ((t (:background "blue4")))) - (bg:erc-color-face3 ((t (:background "green4")))) - (bg:erc-color-face4 ((t (:background "red")))) - (bg:erc-color-face5 ((t (:background "brown")))) - (bg:erc-color-face6 ((t (:background "purple")))) - (bg:erc-color-face7 ((t (:background "orange")))) - (bg:erc-color-face8 ((t (:background "yellow")))) - (bg:erc-color-face9 ((t (:background "green")))) - (blue ((t (:foreground "blue")))) - (bold ((t (:bold t)))) - (bold-italic ((t (:italic t :bold t)))) - (border ((t (nil)))) - (border-glyph ((t (nil)))) - (buffers-tab ((t (:bold t :foreground "red")))) - (button ((t (:underline t)))) - (calendar-today-face ((t (:underline t)))) - (comint-highlight-input ((t (:bold t)))) - (comint-highlight-prompt ((t (:foreground "cyan")))) - (cperl-array-face ((t (:bold t :background "lightyellow2" :foreground "Blue")))) - (cperl-hash-face ((t (:italic t :bold t :background "lightyellow2" :foreground "Red")))) - (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) - (cscope-file-face ((t (:foreground "blue")))) - (cscope-function-face ((t (:foreground "magenta")))) - (cscope-line-face ((t (:foreground "green")))) - (cscope-line-number-face ((t (:foreground "red")))) - (cscope-mouse-face ((t (:background "blue" :foreground "white")))) - (cursor ((t (nil)))) - (custom-button-face ((t (nil)))) - (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black")))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-comment-face ((t (:background "dim gray")))) - (custom-comment-tag-face ((t (:foreground "gray80")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face ((t (:underline t :foreground "blue")))) - (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "dark green")))) - (custom-variable-button-face ((t (:underline t :bold t)))) - (custom-variable-tag-face ((t (:underline t :foreground "blue")))) - (cyan ((t (:foreground "cyan")))) - (diary-face ((t (:foreground "red")))) - (dired-face-boring ((t (:foreground "Gray65")))) - (dired-face-directory ((t (:bold t)))) - (dired-face-executable ((t (:foreground "SeaGreen")))) - (dired-face-flagged ((t (:background "LightSlateGray")))) - (dired-face-marked ((t (:background "PaleVioletRed")))) - (dired-face-permissions ((t (:background "grey75" :foreground "black")))) - (dired-face-setuid ((t (:foreground "Red")))) - (dired-face-socket ((t (:foreground "magenta")))) - (dired-face-symlink ((t (:foreground "cyan")))) - (display-time-mail-balloon-enhance-face ((t (:background "orange")))) - (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue")))) - (display-time-time-balloon-face ((t (:foreground "red")))) - (ediff-current-diff-face-A ((t (:background "pale green" :foreground "firebrick")))) - (ediff-current-diff-face-Ancestor ((t (:background "VioletRed" :foreground "Black")))) - (ediff-current-diff-face-B ((t (:background "Yellow" :foreground "DarkOrchid")))) - (ediff-current-diff-face-C ((t (:background "Pink" :foreground "Navy")))) - (ediff-even-diff-face-A ((t (:background "light grey" :foreground "Black")))) - (ediff-even-diff-face-Ancestor ((t (:background "Grey" :foreground "White")))) - (ediff-even-diff-face-B ((t (:background "Grey" :foreground "White")))) - (ediff-even-diff-face-C ((t (:background "light grey" :foreground "Black")))) - (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy")))) - (ediff-fine-diff-face-Ancestor ((t (:background "Green" :foreground "Black")))) - (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Black")))) - (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Black")))) - (ediff-odd-diff-face-A ((t (:background "Grey" :foreground "White")))) - (ediff-odd-diff-face-Ancestor ((t (:background "light grey" :foreground "Black")))) - (ediff-odd-diff-face-B ((t (:background "light grey" :foreground "Black")))) - (ediff-odd-diff-face-C ((t (:background "Grey" :foreground "White")))) - (erc-action-face ((t (:bold t)))) - (erc-bold-face ((t (:bold t)))) - (erc-default-face ((t (nil)))) - (erc-direct-msg-face ((t (:foreground "IndianRed")))) - (erc-error-face ((t (:background "Red" :foreground "White")))) - (erc-input-face ((t (:foreground "brown")))) - (erc-inverse-face ((t (:background "Black" :foreground "White")))) - (erc-notice-face ((t (:bold t :foreground "SlateBlue")))) - (erc-prompt-face ((t (:bold t :background "lightBlue2" :foreground "Black")))) - (erc-timestamp-face ((t (:bold t :foreground "green")))) - (erc-underline-face ((t (:underline t)))) - (eshell-ls-archive-face ((t (:bold t :foreground "Orchid")))) - (eshell-ls-backup-face ((t (:foreground "OrangeRed")))) - (eshell-ls-clutter-face ((t (:bold t :foreground "OrangeRed")))) - (eshell-ls-directory-face ((t (:bold t :foreground "Blue")))) - (eshell-ls-executable-face ((t (:bold t :foreground "ForestGreen")))) - (eshell-ls-missing-face ((t (:bold t :foreground "Red")))) - (eshell-ls-product-face ((t (:foreground "OrangeRed")))) - (eshell-ls-readonly-face ((t (:foreground "Brown")))) - (eshell-ls-special-face ((t (:bold t :foreground "Magenta")))) - (eshell-ls-symlink-face ((t (:bold t :foreground "DarkCyan")))) - (eshell-ls-unreadable-face ((t (:foreground "Grey30")))) - (eshell-prompt-face ((t (:bold t :foreground "Red")))) - (eshell-test-failed-face ((t (:bold t :foreground "OrangeRed")))) - (eshell-test-ok-face ((t (:bold t :foreground "Green")))) - (excerpt ((t (:italic t)))) - (fg:erc-color-face0 ((t (:foreground "White")))) - (fg:erc-color-face1 ((t (:foreground "black")))) - (fg:erc-color-face10 ((t (:foreground "lightblue1")))) - (fg:erc-color-face11 ((t (:foreground "cyan")))) - (fg:erc-color-face12 ((t (:foreground "blue")))) - (fg:erc-color-face13 ((t (:foreground "deeppink")))) - (fg:erc-color-face14 ((t (:foreground "gray50")))) - (fg:erc-color-face15 ((t (:foreground "gray90")))) - (fg:erc-color-face2 ((t (:foreground "blue4")))) - (fg:erc-color-face3 ((t (:foreground "green4")))) - (fg:erc-color-face4 ((t (:foreground "red")))) - (fg:erc-color-face5 ((t (:foreground "brown")))) - (fg:erc-color-face6 ((t (:foreground "purple")))) - (fg:erc-color-face7 ((t (:foreground "orange")))) - (fg:erc-color-face8 ((t (:foreground "yellow")))) - (fg:erc-color-face9 ((t (:foreground "green")))) - (fixed ((t (:bold t)))) - (fixed-pitch ((t (:size "16")))) - (flyspell-duplicate-face ((t (:underline t :bold t :foreground "Gold3")))) - (flyspell-incorrect-face ((t (:underline t :bold t :foreground "OrangeRed")))) - (font-lock-builtin-face ((t (:foreground "Orchid")))) - (font-lock-comment-face ((t (:bold t :foreground "cyan")))) - (font-lock-constant-face ((t (:foreground "CadetBlue")))) - (font-lock-doc-face ((t (:bold t :foreground "red")))) - (font-lock-doc-string-face ((t (:bold t :foreground "red")))) - (font-lock-function-name-face ((t (:bold t :foreground "white")))) - (font-lock-keyword-face ((t (:bold t :foreground "yellow")))) - (font-lock-preprocessor-face ((t (:bold t :foreground "blue")))) - (font-lock-reference-face ((t (:foreground "red3")))) - (font-lock-string-face ((t (:bold t :foreground "magenta")))) - (font-lock-type-face ((t (:bold t :foreground "lightgreen")))) - (font-lock-variable-name-face ((t (:bold t :foreground "white")))) - (font-lock-warning-face ((t (:bold t :foreground "Red")))) - (fringe ((t (:background "grey95")))) - (gdb-arrow-face ((t (:bold t :background "yellow" :foreground "red")))) - (gnus-cite-attribution-face ((t (:italic t)))) - (gnus-cite-face-1 ((t (:foreground "MidnightBlue")))) - (gnus-cite-face-10 ((t (:foreground "medium purple")))) - (gnus-cite-face-11 ((t (:foreground "turquoise")))) - (gnus-cite-face-2 ((t (:foreground "firebrick")))) - (gnus-cite-face-3 ((t (:foreground "dark green")))) - (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) - (gnus-cite-face-5 ((t (:foreground "dark khaki")))) - (gnus-cite-face-6 ((t (:foreground "dark violet")))) - (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-emphasis-bold ((t (:bold t)))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) - (gnus-emphasis-highlight-words ((t (:foreground "yellow")))) - (gnus-emphasis-italic ((t (:italic t)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) - (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t)))) - (gnus-emphasis-underline-italic ((t (:underline t :italic t)))) - (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3")))) - (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3")))) - (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4")))) - (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4")))) - (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) - (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen")))) - (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) - (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4")))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen")))) - (gnus-header-content-face ((t (:italic t :foreground "indianred4")))) - (gnus-header-from-face ((t (:foreground "red3")))) - (gnus-header-name-face ((t (:foreground "maroon")))) - (gnus-header-newsgroups-face ((t (:italic t :foreground "MidnightBlue")))) - (gnus-header-subject-face ((t (:foreground "red4")))) - (gnus-picons-face ((t (:background "white" :foreground "black")))) - (gnus-picons-xbm-face ((t (:background "white" :foreground "black")))) - (gnus-signature-face ((t (:italic t)))) - (gnus-splash-face ((t (:foreground "ForestGreen")))) - (gnus-summary-cancelled-face ((t (:foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) - (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen")))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick")))) - (gnus-summary-high-unread-face ((t (:bold t)))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue")))) - (gnus-summary-low-read-face ((t (:italic t :foreground "DarkGreen")))) - (gnus-summary-low-ticked-face ((t (:italic t :foreground "firebrick")))) - (gnus-summary-low-unread-face ((t (:italic t)))) - (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) - (gnus-summary-normal-ticked-face ((t (:foreground "firebrick")))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-selected-face ((t (:underline t)))) - (gnus-x-face ((t (:background "white" :foreground "black")))) - (green ((t (:foreground "green")))) - (gui-button-face ((t (:background "grey75" :foreground "black")))) - (gui-element ((t (:size "12" :background "Gray80" :foreground "black")))) - (header-line ((t (:background "grey20" :foreground "grey90")))) - (highlight ((t (:bold t :background "yellow" :foreground "red")))) - (highlight-changes-delete-face ((t (:underline t :foreground "red")))) - (highlight-changes-face ((t (:foreground "red")))) - (highline-face ((t (:background "paleturquoise")))) - (holiday-face ((t (:background "pink")))) - (hyper-apropos-documentation ((t (:foreground "#aaaaaa")))) - (hyper-apropos-heading ((t (:bold t :foreground "#999999")))) - (hyper-apropos-hyperlink ((t (:foreground "Violet")))) - (hyper-apropos-major-heading ((t (:bold t :foreground "#ff0000")))) - (hyper-apropos-section-heading ((t (:italic t :bold t :foreground "#33aa55")))) - (hyper-apropos-warning ((t (:bold t :foreground "red")))) - (info-menu-5 ((t (:underline t)))) - (info-node ((t (:italic t :bold t)))) - (info-xref ((t (:bold t)))) - (isearch ((t (:background "paleturquoise")))) - (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) - (isearch-secondary ((t (:foreground "red3")))) - (italic ((t (:italic t)))) - (jde-bug-breakpoint-cursor ((t (:background "brown" :foreground "cyan")))) - (jde-db-active-breakpoint-face ((t (:background "red" :foreground "black")))) - (jde-db-requested-breakpoint-face ((t (:background "yellow" :foreground "black")))) - (jde-db-spec-breakpoint-face ((t (:background "green" :foreground "black")))) - (jde-java-font-lock-api-face ((t (:foreground "light goldenrod")))) - (jde-java-font-lock-bold-face ((t (:bold t)))) - (jde-java-font-lock-code-face ((t (nil)))) - (jde-java-font-lock-constant-face ((t (:foreground "Aquamarine")))) - (jde-java-font-lock-doc-tag-face ((t (:foreground "light coral")))) - (jde-java-font-lock-italic-face ((t (:italic t)))) - (jde-java-font-lock-link-face ((t (:underline t :foreground "cadetblue")))) - (jde-java-font-lock-modifier-face ((t (:foreground "LightSteelBlue")))) - (jde-java-font-lock-number-face ((t (:foreground "LightSalmon")))) - (jde-java-font-lock-operator-face ((t (:foreground "medium blue")))) - (jde-java-font-lock-package-face ((t (:foreground "steelblue1")))) - (jde-java-font-lock-pre-face ((t (nil)))) - (jde-java-font-lock-underline-face ((t (:underline t)))) - (left-margin ((t (nil)))) - (list-mode-item-selected ((t (:background "gray68")))) - (magenta ((t (:foreground "magenta")))) - (makefile-space-face ((t (:background "hotpink")))) - (menu ((t (nil)))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:foreground "MidnightBlue")))) - (message-header-name-face ((t (:foreground "cornflower blue")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4")))) - (message-header-other-face ((t (:foreground "steel blue")))) - (message-header-subject-face ((t (:bold t :foreground "navy blue")))) - (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-mml-face ((t (:bold t :foreground "cyan")))) - (message-separator-face ((t (:foreground "brown")))) - (minibuffer-prompt ((t (:foreground "cyan")))) - (mode-line ((t (:background "grey75" :foreground "black")))) - (mode-line-inactive ((t (:background "grey30" :foreground "grey80")))) - (modeline ((t (:bold t :background "red" :foreground "yellow")))) - (modeline-buffer-id ((t (:bold t :background "red" :foreground "yellow")))) - (modeline-mousable ((t (:background "red" :foreground "yellow")))) - (modeline-mousable-minor-mode ((t (:background "red" :foreground "green4")))) - (mouse ((t (nil)))) - (paren-blink-off ((t (:foreground "black")))) - (paren-match ((t (:bold t :background "yellow" :foreground "red")))) - (paren-mismatch ((t (:background "DeepPink")))) - (pointer ((t (nil)))) - (primary-selection ((t (:background "gray65")))) - (red ((t (:foreground "red")))) - (region ((t (:background "gray75")))) - (right-margin ((t (nil)))) - (scroll-bar ((t (nil)))) - (secondary-selection ((t (:background "paleturquoise")))) - (semantic-dirty-token-face ((t (:background "lightyellow")))) - (semantic-unmatched-syntax-face ((t (nil)))) - (senator-intangible-face ((t (:foreground "gray75")))) - (senator-momentary-highlight-face ((t (:background "gray30")))) - (senator-read-only-face ((t (:background "#664444")))) - (show-paren-match-face ((t (:background "turquoise")))) - (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) - (speedbar-button-face ((t (:foreground "green4")))) - (speedbar-directory-face ((t (:foreground "blue4")))) - (speedbar-file-face ((t (:foreground "cyan4")))) - (speedbar-highlight-face ((t (:background "green")))) - (speedbar-selected-face ((t (:underline t :foreground "red")))) - (speedbar-tag-face ((t (:foreground "brown")))) - (template-message-face ((t (:bold t)))) - (term-black ((t (:foreground "black")))) - (term-blackbg ((t (nil)))) - (term-blue ((t (:foreground "blue")))) - (term-blue-bold-face ((t (:bold t :foreground "blue")))) - (term-blue-face ((t (:foreground "blue")))) - (term-blue-inv-face ((t (:background "blue")))) - (term-blue-ul-face ((t (:underline t :foreground "blue")))) - (term-bluebg ((t (:background "blue")))) - (term-bold ((t (:bold t)))) - (term-cyan ((t (:foreground "cyan")))) - (term-cyan-bold-face ((t (:bold t :foreground "cyan")))) - (term-cyan-face ((t (:foreground "cyan")))) - (term-cyan-inv-face ((t (:background "cyan")))) - (term-cyan-ul-face ((t (:underline t :foreground "cyan")))) - (term-cyanbg ((t (:background "cyan")))) - (term-default-bg ((t (nil)))) - (term-default-bg-inv ((t (nil)))) - (term-default-bold-face ((t (:bold t)))) - (term-default-face ((t (nil)))) - (term-default-fg ((t (nil)))) - (term-default-fg-inv ((t (nil)))) - (term-default-inv-face ((t (:background "peachpuff" :foreground "black")))) - (term-default-ul-face ((t (:underline t)))) - (term-green ((t (:foreground "green")))) - (term-green-bold-face ((t (:bold t :foreground "green")))) - (term-green-face ((t (:foreground "green")))) - (term-green-inv-face ((t (:background "green")))) - (term-green-ul-face ((t (:underline t :foreground "green")))) - (term-greenbg ((t (:background "green")))) - (term-invisible ((t (nil)))) - (term-invisible-inv ((t (nil)))) - (term-magenta ((t (:foreground "magenta")))) - (term-magenta-bold-face ((t (:bold t :foreground "magenta")))) - (term-magenta-face ((t (:foreground "magenta")))) - (term-magenta-inv-face ((t (:background "magenta")))) - (term-magenta-ul-face ((t (:underline t :foreground "magenta")))) - (term-magentabg ((t (:background "magenta")))) - (term-red ((t (:foreground "red")))) - (term-red-bold-face ((t (:bold t :foreground "red")))) - (term-red-face ((t (:foreground "red")))) - (term-red-inv-face ((t (:background "red")))) - (term-red-ul-face ((t (:underline t :foreground "red")))) - (term-redbg ((t (:background "red")))) - (term-underline ((t (:underline t)))) - (term-white ((t (:foreground "white")))) - (term-white-bold-face ((t (:bold t :foreground "white")))) - (term-white-face ((t (:foreground "white")))) - (term-white-inv-face ((t (nil)))) - (term-white-ul-face ((t (:underline t :foreground "white")))) - (term-whitebg ((t (:background "white")))) - (term-yellow ((t (:foreground "yellow")))) - (term-yellow-bold-face ((t (:bold t :foreground "yellow")))) - (term-yellow-face ((t (:foreground "yellow")))) - (term-yellow-inv-face ((t (:background "yellow")))) - (term-yellow-ul-face ((t (:underline t :foreground "yellow")))) - (term-yellowbg ((t (:background "yellow")))) - (text-cursor ((t (:background "red" :foreground "black")))) - (tool-bar ((t (:background "grey75" :foreground "black")))) - (toolbar ((t (:background "Gray80" :foreground "black")))) - (tooltip ((t (:background "lightyellow" :foreground "black")))) - (trailing-whitespace ((t (:background "red")))) - (underline ((t (:underline t)))) - (variable-pitch ((t (nil)))) - (vcursor ((t (:underline t :background "cyan" :foreground "blue")))) - (vertical-divider ((t (:background "Gray80" :foreground "black")))) - (vhdl-font-lock-attribute-face ((t (:foreground "Orchid")))) - (vhdl-font-lock-directive-face ((t (:foreground "CadetBlue")))) - (vhdl-font-lock-enumvalue-face ((t (:foreground "Gold4")))) - (vhdl-font-lock-function-face ((t (:foreground "Orchid4")))) - (vhdl-font-lock-prompt-face ((t (:bold t :foreground "Red")))) - (vhdl-font-lock-reserved-words-face ((t (:bold t :foreground "Orange")))) - (vhdl-font-lock-translate-off-face ((t (:background "LightGray")))) - (vhdl-speedbar-architecture-face ((t (:foreground "Blue")))) - (vhdl-speedbar-architecture-selected-face ((t (:underline t :foreground "Blue")))) - (vhdl-speedbar-configuration-face ((t (:foreground "DarkGoldenrod")))) - (vhdl-speedbar-configuration-selected-face ((t (:underline t :foreground "DarkGoldenrod")))) - (vhdl-speedbar-entity-face ((t (:foreground "ForestGreen")))) - (vhdl-speedbar-entity-selected-face ((t (:underline t :foreground "ForestGreen")))) - (vhdl-speedbar-instantiation-face ((t (:foreground "Brown")))) - (vhdl-speedbar-instantiation-selected-face ((t (:underline t :foreground "Brown")))) - (vhdl-speedbar-package-face ((t (:foreground "Grey50")))) - (vhdl-speedbar-package-selected-face ((t (:underline t :foreground "Grey50")))) - (viper-minibuffer-emacs-face ((t (:background "darkseagreen2" :foreground "Black")))) - (viper-minibuffer-insert-face ((t (:background "pink" :foreground "Black")))) - (viper-minibuffer-vi-face ((t (:background "grey" :foreground "DarkGreen")))) - (viper-replace-overlay-face ((t (:background "darkseagreen2" :foreground "Black")))) - (viper-search-face ((t (:background "khaki" :foreground "Black")))) - (white ((t (:foreground "white")))) - (widget ((t (:size "12" :background "Gray80" :foreground "black")))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (nil)))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (widget-single-line-field-face ((t (:background "gray85")))) - (x-face ((t (:bold t :background "wheat" :foreground "black")))) - (xrdb-option-name-face ((t (:bold t :foreground "yellow")))) - (xrdb-option-value-face ((t (:bold t :foreground "magenta")))) - (yellow ((t (:foreground "yellow")))) - (zmacs-region ((t (:background "white" :foreground "black"))))))) - -(defun color-theme-shaman () - "Color theme by shaman, created 2002-11-11." - (interactive) - (color-theme-install - '(color-theme-shaman - ((background-color . "#456345") - (background-mode . dark) - (background-toolbar-color . "#cf3ccf3ccf3c") - (border-color . "#000000000000") - (bottom-toolbar-shadow-color . "#79e77df779e7") - (foreground-color . "White") - (top-toolbar-shadow-color . "#f7defbeef7de")) - ((buffers-tab-face . buffers-tab)) - (default ((t (nil)))) - (blue ((t (:foreground "blue")))) - (bold ((t (:bold t :size "12")))) - (bold-italic ((t (:italic t :bold t :size "12")))) - (border-glyph ((t (nil)))) - (buffers-tab ((t (:background "Gray80" :foreground "black")))) - (font-lock-builtin-face ((t (:foreground "cadetblue2")))) - (font-lock-comment-face ((t (:foreground "gray80")))) - (font-lock-constant-face ((t (:foreground "steelblue1")))) - (font-lock-doc-face ((t (:foreground "light coral")))) - (font-lock-doc-string-face ((t (:foreground "light coral")))) - (font-lock-function-name-face ((t (:foreground "aquamarine")))) - (font-lock-keyword-face ((t (:foreground "cyan")))) - (font-lock-preprocessor-face ((t (:foreground "steelblue1")))) - (font-lock-reference-face ((t (:foreground "cadetblue2")))) - (font-lock-string-face ((t (:foreground "tan")))) - (font-lock-type-face ((t (:foreground "wheat")))) - (font-lock-variable-name-face ((t (:foreground "cyan3")))) - (font-lock-warning-face ((t (:bold t :size "12" :foreground "Pink")))) - (fringe ((t (nil)))) - (gnus-x-face ((t (:background "white" :foreground "black")))) - (green ((t (:foreground "green")))) - (gui-button-face ((t (:background "grey75" :foreground "black")))) - (gui-element ((t (:size "12" :background "Gray80" :foreground "black")))) - (highlight ((t (:background "darkseagreen2")))) - (isearch ((t (:background "paleturquoise")))) - (isearch-secondary ((t (:foreground "red3")))) - (italic ((t (:italic t :size "12")))) - (left-margin ((t (nil)))) - (list-mode-item-selected ((t (:background "gray68")))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:bold t :foreground "green4")))) - (message-header-name-face ((t (:foreground "DarkGreen")))) - (message-header-newsgroups-face ((t (:bold t :foreground "yellow")))) - (message-header-other-face ((t (:foreground "#b00000")))) - (message-header-subject-face ((t (:foreground "green3")))) - (message-header-to-face ((t (:bold t :foreground "green2")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-mml-face ((t (:foreground "ForestGreen")))) - (message-separator-face ((t (:foreground "blue3")))) - (mode-line ((t (:background "Gray80" :foreground "black")))) - (modeline ((t (:background "Gray80" :foreground "black")))) - (modeline-buffer-id ((t (:background "Gray80" :foreground "blue4")))) - (modeline-mousable ((t (:background "Gray80" :foreground "firebrick")))) - (modeline-mousable-minor-mode ((t (:background "Gray80" :foreground "green4")))) - (pointer ((t (:foreground "White")))) - (primary-selection ((t (:background "gray65")))) - (red ((t (:foreground "red")))) - (region ((t (:background "gray65")))) - (right-margin ((t (nil)))) - (rpm-spec-dir-face ((t (:foreground "green")))) - (rpm-spec-doc-face ((t (:foreground "magenta")))) - (rpm-spec-ghost-face ((t (:foreground "red")))) - (rpm-spec-macro-face ((t (:foreground "yellow")))) - (rpm-spec-package-face ((t (:foreground "red")))) - (rpm-spec-tag-face ((t (:foreground "blue")))) - (rpm-spec-var-face ((t (:foreground "maroon")))) - (secondary-selection ((t (:background "paleturquoise")))) - (text-cursor ((t (:background "Pink" :foreground "Black")))) - (tool-bar ((t (nil)))) - (toolbar ((t (:background "Gray80" :foreground "black")))) - (underline ((t (:underline t)))) - (vertical-divider ((t (:background "Gray80" :foreground "black")))) - (widget ((t (:size "12" :background "Gray80" :foreground "black")))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "lime green")))) - (widget-field-face ((t (:background "dim gray")))) - (widget-inactive-face ((t (:foreground "light gray")))) - (yellow ((t (:foreground "yellow")))) - (zmacs-region ((t (:background "gray65"))))))) - -(defun color-theme-emacs-nw () - "Follow emacs21's color-theme, with -nw getting 100% compatibility. - -Alex's `color-theme-emacs-21' follows emacs21's theme, but in the -current scheme of things, that means that when it works on X, it won't -work in -nw perfectly. The modeline and menuline will have same -colors as the rest of emacs, which can be particularly disturbing when -there are multiple windows. - -OTOH, `color-theme-emacs-nw' follows emacs21's theme but the goal is -100% -nw compatibility, and in X; we shall try for decent color -scheme, and as much compability default emacs21's X as possble. -Bugs to deego@gnufans.org. - -TODO: Try to make this theme relative to color-theme-emacs-21 rather -than absolute, viz: call that first and then tweak minor stuff." - (interactive) - (color-theme-install - '(color-theme-emacs-nw - ((background-color . "white") - (background-mode . light) - (border-color . "black") - (cursor-color . "black") - (foreground-color . "black") - (mouse-color . "black")) - ((Man-overstrike-face . bold) - (Man-underline-face . underline) - (cperl-here-face . font-lock-string-face) - (cperl-invalid-face . underline) - (cperl-pod-face . font-lock-comment-face) - (cperl-pod-head-face . font-lock-variable-name-face) - (gnus-article-button-face . bold) - (gnus-article-mouse-face . highlight) - (gnus-cite-attribution-face . gnus-cite-attribution-face) - (gnus-mouse-face . highlight) - (gnus-signature-face . gnus-signature-face) - (gnus-summary-selected-face . gnus-summary-selected-face) - (help-highlight-face . underline) - (idlwave-class-arrow-face . bold) - (idlwave-shell-breakpoint-face . idlwave-shell-bp-face) - (idlwave-shell-expression-face . secondary-selection) - (idlwave-shell-stop-line-face . highlight) - (ispell-highlight-face . highlight) - (list-matching-lines-face . bold) - (view-highlight-face . highlight) - (viper-insert-state-cursor-color . "Green") - (viper-replace-overlay-cursor-color . "Red") - (widget-mouse-face . highlight)) - (default ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (Info-title-1-face ((t (:bold t :weight bold :family "helv" :height 1.728)))) - (Info-title-2-face ((t (:bold t :family "helv" :weight bold :height 1.44)))) - (Info-title-3-face ((t (:bold t :weight bold :family "helv" :height 1.2)))) - (Info-title-4-face ((t (:bold t :family "helv" :weight bold)))) - (antlr-font-lock-keyword-face ((t (:bold t :foreground "black" :weight bold)))) - (antlr-font-lock-literal-face ((t (:bold t :foreground "brown4" :weight bold)))) - (antlr-font-lock-ruledef-face ((t (:bold t :foreground "blue" :weight bold)))) - (antlr-font-lock-ruleref-face ((t (:foreground "blue4")))) - (antlr-font-lock-tokendef-face ((t (:bold t :foreground "blue" :weight bold)))) - (antlr-font-lock-tokenref-face ((t (:foreground "orange4")))) - (bold ((t (:bold t :weight bold)))) - (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (border ((t (:background "black")))) - (calendar-today-face ((t (:underline t)))) - (change-log-acknowledgement-face ((t (:foreground "Firebrick")))) - (change-log-conditionals-face ((t (:foreground "DarkGoldenrod")))) - (change-log-date-face ((t (:foreground "RosyBrown")))) - (change-log-email-face ((t (:foreground "DarkGoldenrod")))) - (change-log-file-face ((t (:foreground "Blue")))) - (change-log-function-face ((t (:foreground "DarkGoldenrod")))) - (change-log-list-face ((t (:foreground "Purple")))) - (change-log-name-face ((t (:foreground "CadetBlue")))) - (comint-highlight-input ((t (:bold t :weight bold)))) - (comint-highlight-prompt ((t (:foreground "dark blue")))) - (cperl-array-face ((t (:bold t :background "lightyellow2" :foreground "Blue" :weight bold)))) - (cperl-hash-face ((t (:italic t :bold t :background "lightyellow2" :foreground "Red" :slant italic :weight bold)))) - (cperl-nonoverridable-face ((t (:foreground "chartreuse3")))) - (cursor ((t (:background "black")))) - (custom-button-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style released-button))))) - (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style pressed-button))))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-comment-face ((t (:background "gray85")))) - (custom-comment-tag-face ((t (:foreground "blue4")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:bold t :family "helv" :weight bold :height 1.2)))) - (custom-group-tag-face ((t (:bold t :foreground "blue" :weight bold :height 1.2)))) - (custom-group-tag-face-1 ((t (:bold t :family "helv" :foreground "red" :weight bold :height 1.2)))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "dark green")))) - (custom-variable-button-face ((t (:bold t :underline t :weight bold)))) - (custom-variable-tag-face ((t (:bold t :family "helv" :foreground "blue" :weight bold :height 1.2)))) - (cvs-filename-face ((t (:foreground "blue4")))) - (cvs-handled-face ((t (:foreground "pink")))) - (cvs-header-face ((t (:bold t :foreground "blue4" :weight bold)))) - (cvs-marked-face ((t (:bold t :foreground "green3" :weight bold)))) - (cvs-msg-face ((t (:italic t :slant italic)))) - (cvs-need-action-face ((t (:foreground "orange")))) - (cvs-unknown-face ((t (:foreground "red")))) - (diary-face ((t (:foreground "red")))) - (diff-added-face ((t (nil)))) - (diff-changed-face ((t (nil)))) - (diff-context-face ((t (:foreground "grey50")))) - (diff-file-header-face ((t (:bold t :background "grey70" :weight bold)))) - (diff-function-face ((t (:foreground "grey50")))) - (diff-header-face ((t (:background "grey85")))) - (diff-hunk-header-face ((t (:background "grey85")))) - (diff-index-face ((t (:bold t :weight bold :background "grey70")))) - (diff-nonexistent-face ((t (:bold t :weight bold :background "grey70")))) - (diff-removed-face ((t (nil)))) - (dired-face-boring ((t (:foreground "RosyBrown")))) - (dired-face-directory ((t (:foreground "Blue")))) - (dired-face-executable ((t (nil)))) - (dired-face-flagged ((t (:foreground "Red" :weight bold)))) - (dired-face-marked ((t (:foreground "Red" :weight bold)))) - (dired-face-permissions ((t (nil)))) - (dired-face-setuid ((t (nil)))) - (dired-face-socket ((t (nil)))) - (dired-face-symlink ((t (:foreground "Purple")))) - (ebrowse-default-face ((t (nil)))) - (ebrowse-file-name-face ((t (:italic t :slant italic)))) - (ebrowse-member-attribute-face ((t (:foreground "red")))) - (ebrowse-member-class-face ((t (:foreground "purple")))) - (ebrowse-progress-face ((t (:background "blue")))) - (ebrowse-root-class-face ((t (:bold t :foreground "blue" :weight bold)))) - (ebrowse-tree-mark-face ((t (:foreground "red")))) - (ediff-current-diff-face-A ((t (:background "pale green" :foreground "firebrick")))) - (ediff-current-diff-face-Ancestor ((t (:background "VioletRed" :foreground "Black")))) - (ediff-current-diff-face-B ((t (:background "Yellow" :foreground "DarkOrchid")))) - (ediff-current-diff-face-C ((t (:background "Pink" :foreground "Navy")))) - (ediff-even-diff-face-A ((t (:background "light grey" :foreground "Black")))) - (ediff-even-diff-face-Ancestor ((t (:background "Grey" :foreground "White")))) - (ediff-even-diff-face-B ((t (:background "Grey" :foreground "White")))) - (ediff-even-diff-face-C ((t (:background "light grey" :foreground "Black")))) - (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy")))) - (ediff-fine-diff-face-Ancestor ((t (:background "Green" :foreground "Black")))) - (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Black")))) - (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Black")))) - (ediff-odd-diff-face-A ((t (:background "Grey" :foreground "White")))) - (ediff-odd-diff-face-Ancestor ((t (:background "light grey" :foreground "Black")))) - (ediff-odd-diff-face-B ((t (:background "light grey" :foreground "Black")))) - (ediff-odd-diff-face-C ((t (:background "Grey" :foreground "White")))) - (eshell-ls-archive-face ((t (:bold t :foreground "Orchid" :weight bold)))) - (eshell-ls-backup-face ((t (:foreground "OrangeRed")))) - (eshell-ls-clutter-face ((t (:bold t :foreground "OrangeRed" :weight bold)))) - (eshell-ls-directory-face ((t (:bold t :foreground "Blue" :weight bold)))) - (eshell-ls-executable-face ((t (:bold t :foreground "ForestGreen" :weight bold)))) - (eshell-ls-missing-face ((t (:bold t :foreground "Red" :weight bold)))) - (eshell-ls-product-face ((t (:foreground "OrangeRed")))) - (eshell-ls-readonly-face ((t (:foreground "Brown")))) - (eshell-ls-special-face ((t (:bold t :foreground "Magenta" :weight bold)))) - (eshell-ls-symlink-face ((t (:bold t :foreground "Dark Cyan" :weight bold)))) - (eshell-ls-unreadable-face ((t (:foreground "Grey30")))) - (eshell-prompt-face ((t (:bold t :foreground "Red" :weight bold)))) - (eshell-test-failed-face ((t (:bold t :foreground "OrangeRed" :weight bold)))) - (eshell-test-ok-face ((t (:bold t :foreground "Green" :weight bold)))) - (excerpt ((t (:italic t :slant italic)))) - (fixed ((t (:bold t :weight bold)))) - (fixed-pitch ((t (:family "courier")))) - (flyspell-duplicate-face ((t (:bold t :foreground "Gold3" :underline t :weight bold)))) - (flyspell-incorrect-face ((t (:bold t :foreground "OrangeRed" :underline t :weight bold)))) - (font-lock-builtin-face ((t (:foreground "Orchid")))) - (font-lock-comment-face ((t (:foreground "Firebrick")))) - (font-lock-constant-face ((t (:foreground "CadetBlue")))) - (font-lock-doc-face ((t (:foreground "RosyBrown")))) - (font-lock-doc-string-face ((t (:foreground "RosyBrown")))) - (font-lock-function-name-face ((t (:foreground "Blue")))) - (font-lock-keyword-face ((t (:foreground "Purple")))) - (font-lock-preprocessor-face ((t (:foreground "CadetBlue")))) - (font-lock-reference-face ((t (:foreground "Orchid")))) - (font-lock-string-face ((t (:foreground "RosyBrown")))) - (font-lock-type-face ((t (:foreground "ForestGreen")))) - (font-lock-variable-name-face ((t (:foreground "DarkGoldenrod")))) - (font-lock-warning-face ((t (:bold t :foreground "Red" :weight bold)))) - (fringe ((t (:background "grey95")))) - (gnus-cite-attribution-face ((t (:italic t :slant italic)))) - (gnus-cite-face-1 ((t (:foreground "MidnightBlue")))) - (gnus-cite-face-10 ((t (:foreground "medium purple")))) - (gnus-cite-face-11 ((t (:foreground "turquoise")))) - (gnus-cite-face-2 ((t (:foreground "firebrick")))) - (gnus-cite-face-3 ((t (:foreground "dark green")))) - (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) - (gnus-cite-face-5 ((t (:foreground "dark khaki")))) - (gnus-cite-face-6 ((t (:foreground "dark violet")))) - (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-emphasis-bold ((t (:bold t :weight bold)))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) - (gnus-emphasis-italic ((t (:italic t :slant italic)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:bold t :underline t :weight bold)))) - (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :underline t :slant italic :weight bold)))) - (gnus-emphasis-underline-italic ((t (:italic t :underline t :slant italic)))) - (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3" :weight bold)))) - (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3" :weight bold)))) - (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4" :weight bold)))) - (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4" :weight bold)))) - (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) - (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen" :weight bold)))) - (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) - (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4" :weight bold)))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t :weight bold)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t :weight bold)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t :weight bold)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t :weight bold)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen" :weight bold)))) - (gnus-header-content-face ((t (:italic t :foreground "indianred4" :slant italic)))) - (gnus-header-from-face ((t (:foreground "red3")))) - (gnus-header-name-face ((t (:foreground "maroon")))) - (gnus-header-newsgroups-face ((t (:italic t :foreground "MidnightBlue" :slant italic)))) - (gnus-header-subject-face ((t (:foreground "red4")))) - (gnus-signature-face ((t (:italic t :slant italic)))) - (gnus-splash-face ((t (:foreground "Brown")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue" :weight bold)))) - (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen" :weight bold)))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick" :weight bold)))) - (gnus-summary-high-unread-face ((t (:bold t :weight bold)))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue" :slant italic)))) - (gnus-summary-low-read-face ((t (:italic t :foreground "DarkGreen" :slant italic)))) - (gnus-summary-low-ticked-face ((t (:italic t :foreground "firebrick" :slant italic)))) - (gnus-summary-low-unread-face ((t (:italic t :slant italic)))) - (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) - (gnus-summary-normal-ticked-face ((t (:foreground "firebrick")))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-selected-face ((t (:underline t)))) - (header-line ((t (:box (:line-width -1 :style released-button) :background "grey90" :foreground "grey20" :box nil)))) - (hi-black-b ((t (:bold t :weight bold)))) - (hi-black-hb ((t (:bold t :family "helv" :weight bold :height 1.67)))) - (hi-blue ((t (:background "light blue")))) - (hi-blue-b ((t (:bold t :foreground "blue" :weight bold)))) - (hi-green ((t (:background "green")))) - (hi-green-b ((t (:bold t :foreground "green" :weight bold)))) - (hi-pink ((t (:background "pink")))) - (hi-red-b ((t (:bold t :foreground "red" :weight bold)))) - (hi-yellow ((t (:background "yellow")))) - (highlight ((t (:background "darkseagreen2")))) - (highlight-changes-delete-face ((t (:foreground "red" :underline t)))) - (highlight-changes-face ((t (:foreground "red")))) - (holiday-face ((t (:background "pink")))) - (idlwave-help-link-face ((t (:foreground "Blue")))) - (idlwave-shell-bp-face ((t (:background "Pink" :foreground "Black")))) - (info-header-node ((t (:italic t :bold t :weight bold :slant italic :foreground "brown")))) - (info-header-xref ((t (:bold t :weight bold :foreground "magenta4")))) - (info-menu-5 ((t (:foreground "red1")))) - (info-menu-header ((t (:bold t :family "helv" :weight bold)))) - (info-node ((t (:italic t :bold t :foreground "brown" :slant italic :weight bold)))) - (info-xref ((t (:bold t :foreground "magenta4" :weight bold)))) - (isearch ((t (:background "magenta4" :foreground "lightskyblue1")))) - (isearch-lazy-highlight-face ((t (:background "paleturquoise")))) - (italic ((t (:italic t :slant italic)))) - (log-view-file-face ((t (:bold t :background "grey70" :weight bold)))) - (log-view-message-face ((t (:background "grey85")))) - (makefile-space-face ((t (:background "hotpink")))) - (menu ((t (:background "grey50" :foreground "white" :box (:line-width -1 :style released-button))))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:foreground "MidnightBlue")))) - (message-header-name-face ((t (:foreground "cornflower blue")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4" :slant italic :weight bold)))) - (message-header-other-face ((t (:foreground "steel blue")))) - (message-header-subject-face ((t (:bold t :foreground "navy blue" :weight bold)))) - (message-header-to-face ((t (:bold t :foreground "MidnightBlue" :weight bold)))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-mml-face ((t (:foreground "ForestGreen")))) - (message-separator-face ((t (:foreground "brown")))) - (mode-line ((t (:background "grey50" :foreground "white" :box (:line-width -1 :style released-button))))) - (modeline ((t (:background "grey50" :foreground "white" :box (:line-width -1 :style released-button))))) - (modeline-buffer-id ((t (:bold t :background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) - (modeline-mousable ((t (:background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) - (modeline-mousable-minor-mode ((t (:background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) - (mouse ((t (:background "black")))) - (primary-selection ((t (:background "lightgoldenrod2")))) - (reb-match-0 ((t (:background "lightblue")))) - (reb-match-1 ((t (:background "aquamarine")))) - (reb-match-2 ((t (:background "springgreen")))) - (reb-match-3 ((t (:background "yellow")))) - (region ((t (:background "lightgoldenrod2")))) - (scroll-bar ((t (:background "grey75")))) - (secondary-selection ((t (:background "yellow")))) - (sh-heredoc-face ((t (:foreground "tan")))) - (show-paren-match-face ((t (:background "turquoise")))) - (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) - (show-tabs-space-face ((t (:foreground "yellow")))) - (show-tabs-tab-face ((t (:foreground "red")))) - (smerge-base-face ((t (:foreground "red")))) - (smerge-markers-face ((t (:background "grey85")))) - (smerge-mine-face ((t (:foreground "blue")))) - (smerge-other-face ((t (:foreground "darkgreen")))) - (speedbar-button-face ((t (:foreground "green4")))) - (speedbar-directory-face ((t (:foreground "blue4")))) - (speedbar-file-face ((t (:foreground "cyan4")))) - (speedbar-highlight-face ((t (:background "green")))) - (speedbar-selected-face ((t (:foreground "red" :underline t)))) - (speedbar-tag-face ((t (:foreground "brown")))) - (strokes-char-face ((t (:background "lightgray")))) - (term-black ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-blackbg ((t (:stipple nil :background "black" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-blue ((t (:stipple nil :background "white" :foreground "blue" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-bluebg ((t (:stipple nil :background "blue" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-bold ((t (:bold t :stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight bold :width normal :family "adobe-courier")))) - (term-cyan ((t (:stipple nil :background "white" :foreground "cyan" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-cyanbg ((t (:stipple nil :background "cyan" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-default ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-default-bg ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-default-bg-inv ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-default-fg ((t (:stipple nil :background "white" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-default-fg-inv ((t (:stipple nil :background "white" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-green ((t (:stipple nil :background "white" :foreground "green" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-greenbg ((t (:stipple nil :background "green" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-invisible ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-invisible-inv ((t (:stipple nil :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-magenta ((t (:stipple nil :background "white" :foreground "magenta" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-magentabg ((t (:stipple nil :background "magenta" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-red ((t (:stipple nil :background "white" :foreground "red" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-redbg ((t (:stipple nil :background "red" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-underline ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline t :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-white ((t (:stipple nil :background "white" :foreground "white" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-whitebg ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-yellow ((t (:stipple nil :background "white" :foreground "yellow" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (term-yellowbg ((t (:stipple nil :background "yellow" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :width normal :family "adobe-courier")))) - (tex-math-face ((t (:foreground "RosyBrown")))) - (texinfo-heading-face ((t (:foreground "Blue")))) - (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) - (tooltip ((t (:background "lightyellow" :foreground "black")))) - (trailing-whitespace ((t (:background "red")))) - (underline ((t (:underline t)))) - (variable-pitch ((t (:family "helv")))) - (vcursor ((t (:background "cyan" :foreground "blue" :underline t)))) - (vhdl-font-lock-attribute-face ((t (:foreground "Orchid")))) - (vhdl-font-lock-directive-face ((t (:foreground "CadetBlue")))) - (vhdl-font-lock-enumvalue-face ((t (:foreground "Gold4")))) - (vhdl-font-lock-function-face ((t (:foreground "Orchid4")))) - (vhdl-font-lock-prompt-face ((t (:bold t :foreground "Red" :weight bold)))) - (vhdl-font-lock-reserved-words-face ((t (:bold t :foreground "Orange" :weight bold)))) - (vhdl-font-lock-translate-off-face ((t (:background "LightGray")))) - (vhdl-speedbar-architecture-face ((t (:foreground "Blue")))) - (vhdl-speedbar-architecture-selected-face ((t (:foreground "Blue" :underline t)))) - (vhdl-speedbar-configuration-face ((t (:foreground "DarkGoldenrod")))) - (vhdl-speedbar-configuration-selected-face ((t (:foreground "DarkGoldenrod" :underline t)))) - (vhdl-speedbar-entity-face ((t (:foreground "ForestGreen")))) - (vhdl-speedbar-entity-selected-face ((t (:foreground "ForestGreen" :underline t)))) - (vhdl-speedbar-instantiation-face ((t (:foreground "Brown")))) - (vhdl-speedbar-instantiation-selected-face ((t (:foreground "Brown" :underline t)))) - (vhdl-speedbar-package-face ((t (:foreground "Grey50")))) - (vhdl-speedbar-package-selected-face ((t (:foreground "Grey50" :underline t)))) - (viper-minibuffer-emacs-face ((t (:background "darkseagreen2" :foreground "Black")))) - (viper-minibuffer-insert-face ((t (:background "pink" :foreground "Black")))) - (viper-minibuffer-vi-face ((t (:background "grey" :foreground "DarkGreen")))) - (viper-replace-overlay-face ((t (:background "darkseagreen2" :foreground "Black")))) - (viper-search-face ((t (:background "khaki" :foreground "Black")))) - (widget-button-face ((t (:bold t :weight bold)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (widget-single-line-field-face ((t (:background "gray85")))) - (woman-addition-face ((t (:foreground "orange")))) - (woman-bold-face ((t (:bold t :foreground "blue" :weight bold)))) - (woman-italic-face ((t (:italic t :foreground "red" :underline t :slant italic)))) - (woman-unknown-face ((t (:foreground "brown")))) - (zmacs-region ((t (:background "lightgoldenrod2"))))))) - -(defun color-theme-late-night () - "Color theme by Alex Schroeder, created 2003-08-07. -This theme is for use late at night, with only little light in the room. -The goal was to make something as dark and subtle as the text console in -its default 80x25 state -- dark grey on black." - (interactive) - (let ((color-theme-is-cumulative t)) - (color-theme-dark-erc) - (color-theme-dark-gnus) - ;; (color-theme-dark-diff) - ;; (color-theme-dark-eshell) - (color-theme-dark-info) - (color-theme-dark-font-lock) - (color-theme-install - '(color-theme-late-night - ((background-color . "#000") - (background-mode . dark) - (background-toolbar-color . "#000") - (border-color . "#000") - (bottom-toolbar-shadow-color . "#000") - (cursor-color . "#888") - (foreground-color . "#666") - (top-toolbar-shadow-color . "#111")) - (default ((t (nil)))) - (bold ((t (:bold t)))) - (button ((t (:bold t)))) - (custom-button-face ((t (:bold t :foreground "#999")))) - (fringe ((t (:background "#111" :foreground "#444")))) - (header-line ((t (:background "#333" :foreground "#000")))) - (highlight ((t (:background "dark slate blue" :foreground "light blue")))) - (holiday-face ((t (:background "#000" :foreground "#777")))) - (isearch ((t (:foreground "pink" :background "red")))) - (isearch-lazy-highlight-face ((t (:foreground "red")))) - (italic ((t (:bold t)))) - (menu ((t (:background "#111" :foreground "#444")))) - (minibuffer-prompt ((t (:foreground "555")))) - (modeline ((t (:background "#111" :foreground "#444")))) - (mode-line-inactive ((t (:background "#000" :foreground "#444")))) - (modeline-buffer-id ((t (:background "#000" :foreground "#555")))) - (modeline-mousable ((t (:background "#000" :foreground "#555")))) - (modeline-mousable-minor-mode ((t (:background "#000" :foreground "#555")))) - (region ((t (:background "dark cyan" :foreground "cyan")))) - (secondary-selection ((t (:background "Aquamarine" :foreground "SlateBlue")))) - (show-paren-match-face ((t (:foreground "white" :background "light slate blue")))) - (show-paren-mismatch-face ((t (:foreground "white" :background "red")))) - (tool-bar ((t (:background "#111" :foreground "#777")))) - (tooltip ((t (:background "#333" :foreground "#777")))) - (underline ((t (:bold t)))) - (variable-pitch ((t (nil)))) - (widget-button-face ((t (:bold t :foreground "#888")))) - (widget-field-face ((t (:bold t :foreground "#999")))))))) - -(defun color-theme-clarity () - "White on black color theme by Richard Wellum, created 2003-01-16." - (interactive) - (color-theme-install - '(color-theme-clarity - ((background-color . "black") - (background-mode . dark) - (border-color . "white") - (cursor-color . "yellow") - (foreground-color . "white") - (mouse-color . "white")) - ((CUA-mode-global-mark-cursor-color . "cyan") - (CUA-mode-normal-cursor-color . "yellow") - (CUA-mode-overwrite-cursor-color . "red") - (CUA-mode-read-only-cursor-color . "green") - (help-highlight-face . underline) - (ibuffer-dired-buffer-face . font-lock-function-name-face) - (ibuffer-help-buffer-face . font-lock-comment-face) - (ibuffer-hidden-buffer-face . font-lock-warning-face) - (ibuffer-occur-match-face . font-lock-warning-face) - (ibuffer-read-only-buffer-face . font-lock-type-face) - (ibuffer-special-buffer-face . font-lock-keyword-face) - (ibuffer-title-face . font-lock-type-face) - (list-matching-lines-face . bold) - (ps-line-number-color . "black") - (ps-zebra-color . 0.95) - (tags-tag-face . default) - (view-highlight-face . highlight) - (widget-mouse-face . highlight)) - (default ((t (nil)))) - (CUA-global-mark-face ((t (:background "cyan" :foreground "black")))) - (CUA-rectangle-face ((t (:background "maroon" :foreground "white")))) - (CUA-rectangle-noselect-face ((t (:background "dimgray" :foreground "white")))) - (bold ((t (:bold t :weight bold)))) - (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (border ((t (:background "white")))) - (clearcase-dired-checkedout-face ((t (:foreground "red")))) - (comint-highlight-input ((t (:bold t :weight bold)))) - (comint-highlight-prompt ((t (:foreground "cyan")))) - (cursor ((t (:background "yellow")))) - (fixed-pitch ((t (:family "courier")))) - (flash-paren-face-off ((t (nil)))) - (flash-paren-face-on ((t (nil)))) - (flash-paren-face-region ((t (nil)))) - (font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) - (font-lock-comment-face ((t (:foreground "OrangeRed")))) - (font-lock-constant-face ((t (:foreground "Aquamarine")))) - (font-lock-doc-face ((t (:foreground "LightSalmon")))) - (font-lock-function-name-face ((t (:foreground "LightSkyBlue")))) - (font-lock-keyword-face ((t (:foreground "Cyan")))) - (font-lock-string-face ((t (:foreground "LightSalmon")))) - (font-lock-type-face ((t (:foreground "PaleGreen")))) - (font-lock-variable-name-face ((t (:foreground "LightGoldenrod")))) - (font-lock-warning-face ((t (:bold t :foreground "Pink" :weight bold)))) - (fringe ((t (:background "grey10")))) - (header-line ((t (:box (:line-width -1 :style released-button) :foreground "grey20" :background "grey90" :box nil)))) - (highlight ((t (:background "darkolivegreen")))) - (ibuffer-deletion-face ((t (:foreground "red")))) - (ibuffer-marked-face ((t (:foreground "green")))) - (isearch ((t (:background "palevioletred2" :foreground "brown4")))) - (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) - (italic ((t (:italic t :slant italic)))) - (menu ((t (nil)))) - (mode-line ((t (:foreground "yellow" :background "darkslateblue" :box (:line-width -1 :style released-button))))) - (mouse ((t (:background "white")))) - (region ((t (:background "blue")))) - (scroll-bar ((t (nil)))) - (secondary-selection ((t (:background "darkslateblue")))) - (show-block-face1 ((t (:background "gray10")))) - (show-block-face2 ((t (:background "gray15")))) - (show-block-face3 ((t (:background "gray20")))) - (show-block-face4 ((t (:background "gray25")))) - (show-block-face5 ((t (:background "gray30")))) - (show-block-face6 ((t (:background "gray35")))) - (show-block-face7 ((t (:background "gray40")))) - (show-block-face8 ((t (:background "gray45")))) - (show-block-face9 ((t (:background "gray50")))) - (show-paren-match-face ((t (:background "turquoise")))) - (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) - (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) - (tooltip ((t (:background "lightyellow" :foreground "black")))) - (trailing-whitespace ((t (:background "red")))) - (underline ((t (:underline t)))) - (variable-pitch ((t (:family "helv")))) - (widget-button-face ((t (:bold t :weight bold)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "lime green")))) - (widget-field-face ((t (:background "dim gray")))) - (widget-inactive-face ((t (:foreground "light gray")))) - (widget-single-line-field-face ((t (:background "dim gray"))))))) - -(defun color-theme-andreas () - "Color theme by Andreas Busch, created 2003-02-06." - (interactive) - (color-theme-install - '(color-theme-andreas - ((background-mode . light) - (background-color . "white") - (background-toolbar-color . "#cccccccccccc") - (border-color . "#000000000000") - (bottom-toolbar-shadow-color . "#7a7a7a7a7a7a") - (foreground-color . "black") - (top-toolbar-shadow-color . "#f5f5f5f5f5f5")) - ((gnus-mouse-face . highlight) - (ispell-highlight-face . highlight)) - (default ((t (nil)))) - (OrangeRed ((t (nil)))) - (blue ((t (:foreground "blue")))) - (bold ((t (:bold t)))) - (bold-italic ((t (:italic t :bold t)))) - (border-glyph ((t (nil)))) - (calendar-today-face ((t (:underline t)))) - (color-mode-face-@ ((t (:foreground "orange")))) - (color-mode-face-a ((t (:foreground "blue")))) - (color-mode-face-b ((t (:foreground "red")))) - (color-mode-face-c ((t (:foreground "green3")))) - (color-mode-face-d ((t (:background "red" :foreground "white")))) - (color-mode-face-e ((t (:background "orange" :foreground "blue")))) - (color-mode-face-f ((t (:background "blue" :foreground "yellow")))) - (color-mode-face-g ((t (:background "lightblue" :foreground "brown")))) - (color-mode-face-h ((t (:background "brown" :foreground "white")))) - (custom-button-face ((t (:bold t)))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face ((t (:underline t :foreground "blue")))) - (custom-group-tag-face-1 ((t (:underline t :foreground "red")))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "dark green")))) - (custom-variable-button-face ((t (:underline t :bold t :background "gray90")))) - (custom-variable-tag-face ((t (:underline t :background "gray95" :foreground "blue")))) - (diary-face ((t (:foreground "red")))) - (display-time-mail-balloon-enhance-face ((t (:background "orange")))) - (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue")))) - (display-time-time-balloon-face ((t (:foreground "red")))) - (emacs-wiki-bad-link-face ((t (:bold t :foreground "red")))) - (emacs-wiki-link-face ((t (:bold t :foreground "green")))) - (font-lock-comment-face ((t (:foreground "orange1")))) - (font-lock-doc-string-face ((t (:foreground "green4")))) - (font-lock-function-name-face ((t (:foreground "blue3")))) - (font-lock-keyword-face ((t (:foreground "red1")))) - (font-lock-preprocessor-face ((t (:foreground "blue3")))) - (font-lock-reference-face ((t (:foreground "red3")))) - (font-lock-string-face ((t (:foreground "green4")))) - (font-lock-type-face ((t (:foreground "#6920ac")))) - (font-lock-variable-name-face ((t (:foreground "blue3")))) - (font-lock-warning-face ((t (:bold t :foreground "Red")))) - (gnu-cite-face-3 ((t (nil)))) - (gnu-cite-face-4 ((t (nil)))) - (gnus-cite-attribution-face ((t (:underline t)))) - (gnus-cite-face-1 ((t (:foreground "MidnightBlue")))) - (gnus-cite-face-10 ((t (:foreground "medium purple")))) - (gnus-cite-face-11 ((t (:foreground "turquoise")))) - (gnus-cite-face-2 ((t (:foreground "firebrick")))) - (gnus-cite-face-3 ((t (:foreground "dark green")))) - (gnus-cite-face-4 ((t (:foreground "OrangeRed")))) - (gnus-cite-face-5 ((t (:foreground "dark khaki")))) - (gnus-cite-face-6 ((t (:foreground "dark violet")))) - (gnus-cite-face-7 ((t (:foreground "SteelBlue4")))) - (gnus-cite-face-8 ((t (:foreground "magenta")))) - (gnus-cite-face-9 ((t (:foreground "violet")))) - (gnus-emphasis-bold ((t (:bold t)))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t)))) - (gnus-emphasis-italic ((t (:italic t)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:underline t :bold t)))) - (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t)))) - (gnus-emphasis-underline-italic ((t (:underline t :italic t)))) - (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3")))) - (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3")))) - (gnus-group-mail-3-empty-face ((t (:foreground "magenta4")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "magenta4")))) - (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4")))) - (gnus-group-news-1-empty-face ((t (:foreground "ForestGreen")))) - (gnus-group-news-1-face ((t (:bold t :foreground "ForestGreen")))) - (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4")))) - (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4")))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t)))) - (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen")))) - (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen")))) - (gnus-header-content-face ((t (:italic t :foreground "indianred4")))) - (gnus-header-from-face ((t (:bold t :foreground "red3")))) - (gnus-header-name-face ((t (:foreground "maroon")))) - (gnus-header-newsgroups-face ((t (:italic t :bold t :foreground "MidnightBlue")))) - (gnus-header-subject-face ((t (:bold t :foreground "red4")))) - (gnus-splash-face ((t (:foreground "red")))) - (gnus-summary-cancelled-face ((t (:background "black" :foreground "yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue")))) - (gnus-summary-high-read-face ((t (:bold t :foreground "DarkGreen")))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "DarkRed")))) - (gnus-summary-high-unread-face ((t (:bold t)))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue")))) - (gnus-summary-low-read-face ((t (:italic t :foreground "DarkGreen")))) - (gnus-summary-low-ticked-face ((t (:italic t :foreground "firebrick")))) - (gnus-summary-low-unread-face ((t (:italic t)))) - (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue")))) - (gnus-summary-normal-read-face ((t (:foreground "DarkGreen")))) - (gnus-summary-normal-ticked-face ((t (:foreground "Red")))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-selected-face ((t (:underline t)))) - (gnus-x-face ((t (nil)))) - (green ((t (:foreground "green")))) - (gui-button-face ((t (:background "grey75")))) - (gui-element ((t (:background "Gray80")))) - (highlight ((t (nil)))) - (holiday-face ((t (:background "pink")))) - (hyper-apropos-documentation ((t (:foreground "darkred")))) - (hyper-apropos-heading ((t (:bold t)))) - (hyper-apropos-hyperlink ((t (:foreground "blue4")))) - (hyper-apropos-major-heading ((t (:bold t)))) - (hyper-apropos-section-heading ((t (:italic t :bold t)))) - (hyper-apropos-warning ((t (:bold t :foreground "red")))) - (info-node ((t (:italic t :bold t)))) - (info-xref ((t (:bold t)))) - (isearch ((t (:background "yellow" :foreground "red")))) - (italic ((t (:italic t)))) - (kai-gnus-cite-face-1 ((t (:foreground "LightCyan4")))) - (kai-gnus-cite-face-2 ((t (:foreground "LightSkyBlue2")))) - (kai-gnus-cite-face-3 ((t (:foreground "DodgerBlue3")))) - (kai-gnus-group-mail-face ((t (:foreground "darkslategrey")))) - (kai-gnus-group-nonempty-mail-face ((t (:foreground "DarkRed")))) - (kai-gnus-group-starred-face ((t (:foreground "grey50")))) - (left-margin ((t (nil)))) - (list-mode-item-selected ((t (:background "gray68")))) - (message-cited-text ((t (:italic t)))) - (message-cited-text-face ((t (:foreground "red")))) - (message-header-cc-face ((t (:foreground "MidnightBlue")))) - (message-header-contents ((t (:italic t)))) - (message-header-name-face ((t (:foreground "cornflower blue")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "blue4")))) - (message-header-other-face ((t (:foreground "steel blue")))) - (message-header-subject-face ((t (:bold t :foreground "navy blue")))) - (message-header-to-face ((t (:bold t :foreground "MidnightBlue")))) - (message-header-xheader-face ((t (:foreground "blue")))) - (message-headers ((t (:bold t)))) - (message-highlighted-header-contents ((t (:italic t :bold t)))) - (message-mml-face ((t (:foreground "ForestGreen")))) - (message-separator-face ((t (:foreground "brown")))) - (modeline ((t (:background "Gray75" :foreground "Black")))) - (modeline-buffer-id ((t (:background "Gray75" :foreground "blue4")))) - (modeline-mousable ((t (:background "Gray75" :foreground "firebrick")))) - (modeline-mousable-minor-mode ((t (:background "Gray75" :foreground "green4")))) - (paren-blink-off ((t (:foreground "gray80")))) - (paren-match ((t (:background "red" :foreground "white")))) - (paren-mismatch ((t (:background "DeepPink")))) - (pointer ((t (:foreground "blue")))) - (primary-selection ((t (:background "gray65")))) - (red ((t (:foreground "red")))) - (region ((t (:background "gray75")))) - (right-margin ((t (nil)))) - (secondary-selection ((t (:background "paleturquoise")))) - (text-cursor ((t (:background "red" :foreground "LightYellow1")))) - (toolbar ((t (:background "Gray80")))) - (underline ((t (:underline t)))) - (vertical-divider ((t (:background "Gray80")))) - (widget-button-face ((t (:bold t)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (x-face ((t (:background "white")))) - (yellow ((t (:foreground "yellow")))) - (zmacs-region ((t (:background "gray65" :foreground "yellow"))))))) - -(defun color-theme-charcoal-black () - "Color theme by Lars Chr. Hausmann, created 2003-03-24." - (interactive) - (color-theme-install - '(color-theme-charcoal-black - ((background-color . "Grey15") - (background-mode . dark) - (border-color . "Grey") - (cursor-color . "Grey") - (foreground-color . "Grey") - (mouse-color . "Grey")) - ((display-time-mail-face . mode-line) - (gnus-article-button-face . bold) - (gnus-article-mouse-face . highlight) - (gnus-mouse-face . highlight) - (gnus-server-agent-face . gnus-server-agent-face) - (gnus-server-closed-face . gnus-server-closed-face) - (gnus-server-denied-face . gnus-server-denied-face) - (gnus-server-offline-face . gnus-server-offline-face) - (gnus-server-opened-face . gnus-server-opened-face) - (gnus-signature-face . gnus-signature-face) - (gnus-summary-selected-face . gnus-summary-selected-face) - (help-highlight-face . underline) - (list-matching-lines-face . bold) - (mime-button-face . bold) - (mime-button-mouse-face . highlight) - (sgml-set-face . t) - (tags-tag-face . default) - (view-highlight-face . highlight) - (widget-mouse-face . highlight)) - (default ((t (:stipple nil :background "Grey15" :foreground "Grey" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 87 :width semi-condensed :family "misc-fixed")))) - (Info-title-1-face ((t (:bold t :weight bold :family "helv" :height 1.728)))) - (Info-title-2-face ((t (:bold t :family "helv" :weight bold :height 1.44)))) - (Info-title-3-face ((t (:bold t :weight bold :family "helv" :height 1.2)))) - (Info-title-4-face ((t (:bold t :family "helv" :weight bold)))) - (bg:erc-color-face0 ((t (nil)))) - (bg:erc-color-face1 ((t (nil)))) - (bg:erc-color-face10 ((t (nil)))) - (bg:erc-color-face11 ((t (nil)))) - (bg:erc-color-face12 ((t (nil)))) - (bg:erc-color-face13 ((t (nil)))) - (bg:erc-color-face14 ((t (nil)))) - (bg:erc-color-face15 ((t (nil)))) - (bg:erc-color-face2 ((t (nil)))) - (bg:erc-color-face3 ((t (nil)))) - (bg:erc-color-face4 ((t (nil)))) - (bg:erc-color-face5 ((t (nil)))) - (bg:erc-color-face6 ((t (nil)))) - (bg:erc-color-face7 ((t (nil)))) - (bg:erc-color-face8 ((t (nil)))) - (bg:erc-color-face9 ((t (nil)))) - (bold ((t (:bold t :weight bold)))) - (bold-italic ((t (:bold t :foreground "beige" :weight bold)))) - (border ((t (:background "Grey")))) - (calendar-today-face ((t (:underline t)))) - (comint-highlight-input ((t (:bold t :weight bold)))) - (comint-highlight-prompt ((t (:foreground "cyan")))) - (cperl-array-face ((t (:bold t :foreground "light salmon" :weight bold)))) - (cperl-hash-face ((t (:italic t :bold t :foreground "beige" :slant italic :weight bold)))) - (cperl-nonoverridable-face ((t (:foreground "aquamarine")))) - (cursor ((t (:background "Grey")))) - (custom-button-face ((t (:foreground "gainsboro")))) - (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style pressed-button))))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-comment-face ((t (:background "dim gray")))) - (custom-comment-tag-face ((t (:foreground "gray80")))) - (custom-documentation-face ((t (:foreground "light blue")))) - (custom-face-tag-face ((t (:underline t)))) - (custom-group-tag-face ((t (:bold t :foreground "pale turquoise" :weight bold)))) - (custom-group-tag-face-1 ((t (:foreground "pale turquoise" :underline t)))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "light salmon")))) - (custom-variable-button-face ((t (:bold t :underline t :weight bold)))) - (custom-variable-tag-face ((t (:bold t :foreground "turquoise" :weight bold)))) - (diary-face ((t (:foreground "red")))) - (dired-face-directory ((t (:bold t :foreground "sky blue" :weight bold)))) - (dired-face-executable ((t (:foreground "green yellow")))) - (dired-face-flagged ((t (:foreground "tomato")))) - (dired-face-marked ((t (:foreground "light salmon")))) - (dired-face-permissions ((t (:foreground "aquamarine")))) - (erc-action-face ((t (nil)))) - (erc-bold-face ((t (:bold t :weight bold)))) - (erc-default-face ((t (nil)))) - (erc-direct-msg-face ((t (:foreground "pale green")))) - (erc-error-face ((t (:bold t :foreground "IndianRed" :weight bold)))) - (erc-highlight-face ((t (:bold t :foreground "pale green" :weight bold)))) - (erc-input-face ((t (:foreground "light blue")))) - (erc-inverse-face ((t (:background "steel blue")))) - (erc-notice-face ((t (:foreground "light salmon")))) - (erc-pal-face ((t (:foreground "pale green")))) - (erc-prompt-face ((t (:bold t :foreground "light blue" :weight bold)))) - (eshell-ls-archive-face ((t (:bold t :foreground "medium purple" :weight bold)))) - (eshell-ls-backup-face ((t (:foreground "dim gray")))) - (eshell-ls-clutter-face ((t (:foreground "dim gray")))) - (eshell-ls-directory-face ((t (:bold t :foreground "medium slate blue" :weight bold)))) - (eshell-ls-executable-face ((t (:bold t :foreground "aquamarine" :weight bold)))) - (eshell-ls-missing-face ((t (:foreground "black")))) - (eshell-ls-picture-face ((t (:foreground "violet")))) - (eshell-ls-product-face ((t (:foreground "light steel blue")))) - (eshell-ls-readonly-face ((t (:foreground "aquamarine")))) - (eshell-ls-special-face ((t (:foreground "gold")))) - (eshell-ls-symlink-face ((t (:foreground "white")))) - (eshell-ls-unreadable-face ((t (:foreground "dim gray")))) - (eshell-prompt-face ((t (:bold t :foreground "light sky blue" :weight bold)))) - (excerpt ((t (:italic t :slant italic)))) - (fg:erc-color-face0 ((t (:foreground "white")))) - (fg:erc-color-face1 ((t (:foreground "beige")))) - (fg:erc-color-face10 ((t (:foreground "pale goldenrod")))) - (fg:erc-color-face11 ((t (:foreground "light goldenrod yellow")))) - (fg:erc-color-face12 ((t (:foreground "light yellow")))) - (fg:erc-color-face13 ((t (:foreground "yellow")))) - (fg:erc-color-face14 ((t (:foreground "light goldenrod")))) - (fg:erc-color-face15 ((t (:foreground "lime green")))) - (fg:erc-color-face2 ((t (:foreground "lemon chiffon")))) - (fg:erc-color-face3 ((t (:foreground "light cyan")))) - (fg:erc-color-face4 ((t (:foreground "powder blue")))) - (fg:erc-color-face5 ((t (:foreground "sky blue")))) - (fg:erc-color-face6 ((t (:foreground "dark sea green")))) - (fg:erc-color-face7 ((t (:foreground "pale green")))) - (fg:erc-color-face8 ((t (:foreground "medium spring green")))) - (fg:erc-color-face9 ((t (:foreground "khaki")))) - (fixed ((t (:bold t :weight bold)))) - (fixed-pitch ((t (:family "courier")))) - (flyspell-duplicate-face ((t (:bold t :foreground "Gold3" :underline t :weight bold)))) - (flyspell-incorrect-face ((t (:bold t :foreground "OrangeRed" :underline t :weight bold)))) - (font-lock-builtin-face ((t (:foreground "aquamarine")))) - (font-lock-comment-face ((t (:foreground "light blue")))) - (font-lock-constant-face ((t (:foreground "pale green")))) - (font-lock-doc-face ((t (:foreground "light sky blue")))) - (font-lock-doc-string-face ((t (:foreground "sky blue")))) - (font-lock-function-name-face ((t (:bold t :foreground "aquamarine" :weight bold)))) - (font-lock-keyword-face ((t (:bold t :foreground "pale turquoise" :weight bold)))) - (font-lock-reference-face ((t (:foreground "pale green")))) - (font-lock-string-face ((t (:foreground "light sky blue")))) - (font-lock-type-face ((t (:bold t :foreground "sky blue" :weight bold)))) - (font-lock-variable-name-face ((t (:bold t :foreground "turquoise" :weight bold)))) - (font-lock-warning-face ((t (:bold t :foreground "Red" :weight bold)))) - (fringe ((t (:background "Grey15")))) - (gnus-cite-face-1 ((t (:foreground "LightSalmon")))) - (gnus-cite-face-2 ((t (:foreground "Khaki")))) - (gnus-cite-face-3 ((t (:foreground "Coral")))) - (gnus-cite-face-4 ((t (:foreground "yellow green")))) - (gnus-cite-face-5 ((t (:foreground "dark khaki")))) - (gnus-cite-face-6 ((t (:foreground "bisque")))) - (gnus-cite-face-7 ((t (:foreground "peru")))) - (gnus-cite-face-8 ((t (:foreground "light coral")))) - (gnus-cite-face-9 ((t (:foreground "plum")))) - (gnus-emphasis-bold ((t (:bold t :weight bold)))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (gnus-emphasis-highlight-words ((t (:background "black" :foreground "yellow")))) - (gnus-emphasis-italic ((t (:italic t :slant italic)))) - (gnus-emphasis-strikethru ((t (nil)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:bold t :underline t :weight bold)))) - (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :underline t :slant italic :weight bold)))) - (gnus-emphasis-underline-italic ((t (:italic t :underline t :slant italic)))) - (gnus-group-mail-1-empty-face ((t (:foreground "White")))) - (gnus-group-mail-1-face ((t (:bold t :foreground "White" :weight bold)))) - (gnus-group-mail-2-empty-face ((t (:foreground "light cyan")))) - (gnus-group-mail-2-face ((t (:bold t :foreground "light cyan" :weight bold)))) - (gnus-group-mail-3-empty-face ((t (:foreground "LightBlue")))) - (gnus-group-mail-3-face ((t (:bold t :foreground "LightBlue" :weight bold)))) - (gnus-group-mail-low-empty-face ((t (:foreground "Aquamarine")))) - (gnus-group-mail-low-face ((t (:bold t :foreground "Aquamarine" :weight bold)))) - (gnus-group-news-1-empty-face ((t (:foreground "White")))) - (gnus-group-news-1-face ((t (:bold t :foreground "White" :weight bold)))) - (gnus-group-news-2-empty-face ((t (:foreground "light cyan")))) - (gnus-group-news-2-face ((t (:bold t :foreground "light cyan" :weight bold)))) - (gnus-group-news-3-empty-face ((t (:foreground "LightBlue")))) - (gnus-group-news-3-face ((t (:bold t :foreground "LightBlue" :weight bold)))) - (gnus-group-news-4-empty-face ((t (:foreground "Aquamarine")))) - (gnus-group-news-4-face ((t (:bold t :foreground "Aquamarine" :weight bold)))) - (gnus-group-news-5-empty-face ((t (:foreground "MediumAquamarine")))) - (gnus-group-news-5-face ((t (:bold t :foreground "MediumAquamarine" :weight bold)))) - (gnus-group-news-6-empty-face ((t (:foreground "MediumAquamarine")))) - (gnus-group-news-6-face ((t (:bold t :foreground "MediumAquamarine" :weight bold)))) - (gnus-group-news-low-empty-face ((t (:foreground "MediumAquamarine")))) - (gnus-group-news-low-face ((t (:bold t :foreground "MediumAquamarine" :weight bold)))) - (gnus-header-content-face ((t (:foreground "LightSkyBlue3")))) - (gnus-header-from-face ((t (:bold t :foreground "light cyan" :weight bold)))) - (gnus-header-name-face ((t (:bold t :foreground "LightBlue" :weight bold)))) - (gnus-header-newsgroups-face ((t (:italic t :bold t :foreground "MediumAquamarine" :slant italic :weight bold)))) - (gnus-header-subject-face ((t (:bold t :foreground "light cyan" :weight bold)))) - (gnus-server-agent-face ((t (:bold t :foreground "PaleTurquoise" :weight bold)))) - (gnus-server-closed-face ((t (:italic t :foreground "Light Steel Blue" :slant italic)))) - (gnus-server-denied-face ((t (:bold t :foreground "Pink" :weight bold)))) - (gnus-server-offline-face ((t (:bold t :foreground "Yellow" :weight bold)))) - (gnus-server-opened-face ((t (:bold t :foreground "Green1" :weight bold)))) - (gnus-signature-face ((t (:foreground "Grey")))) - (gnus-splash-face ((t (:foreground "ForestGreen")))) - (gnus-summary-cancelled-face ((t (:background "Black" :foreground "Yellow")))) - (gnus-summary-high-ancient-face ((t (:bold t :foreground "MediumAquamarine" :weight bold)))) - (gnus-summary-high-read-face ((t (:bold t :foreground "Aquamarine" :weight bold)))) - (gnus-summary-high-ticked-face ((t (:bold t :foreground "LightSalmon" :weight bold)))) - (gnus-summary-high-unread-face ((t (:italic t :bold t :foreground "beige" :slant italic :weight bold)))) - (gnus-summary-low-ancient-face ((t (:italic t :foreground "DimGray" :slant italic)))) - (gnus-summary-low-read-face ((t (:foreground "slate gray")))) - (gnus-summary-low-ticked-face ((t (:foreground "Pink")))) - (gnus-summary-low-unread-face ((t (:foreground "LightGray")))) - (gnus-summary-normal-ancient-face ((t (:foreground "MediumAquamarine")))) - (gnus-summary-normal-read-face ((t (:foreground "Aquamarine")))) - (gnus-summary-normal-ticked-face ((t (:foreground "LightSalmon")))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-selected-face ((t (:underline t)))) - (header-line ((t (:box (:line-width -1 :style released-button) :background "grey20" :foreground "grey90" :box nil)))) - (highlight ((t (:background "dark slate blue" :foreground "light blue")))) - (highline-face ((t (:background "DeepSkyBlue4")))) - (holiday-face ((t (:background "pink")))) - (info-header-node ((t (:bold t :weight bold)))) - (info-header-xref ((t (:bold t :weight bold :foreground "sky blue")))) - (info-menu-5 ((t (:underline t)))) - (info-menu-header ((t (:bold t :family "helv" :weight bold)))) - (info-node ((t (:bold t :weight bold)))) - (info-xref ((t (:bold t :foreground "sky blue" :weight bold)))) - (isearch ((t (:background "slate blue")))) - (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) - (italic ((t (:foreground "sky blue")))) - (jde-bug-breakpoint-cursor ((t (:background "brown" :foreground "cyan")))) - (jde-bug-breakpoint-marker ((t (:background "yellow" :foreground "red")))) - (jde-java-font-lock-api-face ((t (:foreground "light goldenrod")))) - (jde-java-font-lock-bold-face ((t (:bold t :weight bold)))) - (jde-java-font-lock-code-face ((t (nil)))) - (jde-java-font-lock-constant-face ((t (:foreground "Aquamarine")))) - (jde-java-font-lock-doc-tag-face ((t (:foreground "light coral")))) - (jde-java-font-lock-italic-face ((t (:italic t :slant italic)))) - (jde-java-font-lock-link-face ((t (:foreground "blue" :underline t :slant normal)))) - (jde-java-font-lock-modifier-face ((t (:foreground "LightSteelBlue")))) - (jde-java-font-lock-number-face ((t (:foreground "LightSalmon")))) - (jde-java-font-lock-package-face ((t (:foreground "steelblue1")))) - (jde-java-font-lock-pre-face ((t (nil)))) - (jde-java-font-lock-underline-face ((t (:underline t)))) - (makefile-space-face ((t (:background "hotpink")))) - (menu ((t (:background "MidnightBlue" :foreground "Grey")))) - (message-cited-text-face ((t (:foreground "LightSalmon")))) - (message-header-cc-face ((t (:foreground "light cyan")))) - (message-header-name-face ((t (:foreground "LightBlue")))) - (message-header-newsgroups-face ((t (:italic t :bold t :foreground "MediumAquamarine" :slant italic :weight bold)))) - (message-header-other-face ((t (:foreground "MediumAquamarine")))) - (message-header-subject-face ((t (:bold t :foreground "light cyan" :weight bold)))) - (message-header-to-face ((t (:bold t :foreground "light cyan" :weight bold)))) - (message-header-xheader-face ((t (:foreground "MediumAquamarine")))) - (message-mml-face ((t (:foreground "ForestGreen")))) - (message-separator-face ((t (:foreground "chocolate")))) - (mode-line ((t (:background "grey75" :foreground "black" :box (:line-width -1 :style released-button))))) - (mouse ((t (:background "Grey")))) - (region ((t (:background "DarkSlateBlue")))) - (scroll-bar ((t (:background "grey75")))) - (secondary-selection ((t (:background "steel blue")))) - (semantic-dirty-token-face ((t (:background "gray10")))) - (semantic-unmatched-syntax-face ((t (:underline "red")))) - (show-paren-match-face ((t (:background "light slate blue" :foreground "white")))) - (show-paren-mismatch-face ((t (:background "red" :foreground "white")))) - (speedbar-button-face ((t (:foreground "seashell2")))) - (speedbar-directory-face ((t (:foreground "seashell3")))) - (speedbar-file-face ((t (:foreground "seashell4")))) - (speedbar-highlight-face ((t (:background "dark slate blue" :foreground "wheat")))) - (speedbar-selected-face ((t (:foreground "seashell1" :underline t)))) - (speedbar-separator-face ((t (:background "blue" :foreground "white" :overline "gray")))) - (speedbar-tag-face ((t (:foreground "antique white")))) - (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style released-button))))) - (tooltip ((t (:background "lightyellow" :foreground "black")))) - (trailing-whitespace ((t (:background "red")))) - (underline ((t (:underline t)))) - (variable-pitch ((t (:family "helv")))) - (widget-button-face ((t (:bold t :weight bold)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "light blue")))) - (widget-field-face ((t (:background "RoyalBlue4" :foreground "wheat")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (widget-single-line-field-face ((t (:background "slate blue" :foreground "wheat")))) - (woman-bold-face ((t (:bold t :foreground "sky blue" :weight bold)))) - (woman-italic-face ((t (:foreground "deep sky blue")))) - (woman-unknown-face ((t (:foreground "LightSalmon")))) - (zmacs-region ((t (:background "DarkSlateBlue"))))))) - -(defun color-theme-vim-colors () - "Color theme by Michael Soulier, created 2003-03-26." - (interactive) - (color-theme-install - '(color-theme-vim-colors - ((background-color . "#ffffff") - (background-mode . light) - (border-color . "black") - (cursor-color . "#000000") - (foreground-color . "#000000") - (mouse-color . "#000000")) - ((Man-overstrike-face . bold) - (Man-underline-face . underline) - (apropos-keybinding-face . underline) - (apropos-label-face . italic) - (apropos-match-face . secondary-selection) - (apropos-property-face . bold-italic) - (apropos-symbol-face . bold) - (cperl-here-face . font-lock-string-face) - (cperl-invalid-face quote underline) - (cperl-pod-face . font-lock-comment-face) - (cperl-pod-head-face . font-lock-variable-name-face) - (help-highlight-face . underline) - (ispell-highlight-face . highlight) - (list-matching-lines-face . bold) - (rpm-spec-dir-face . rpm-spec-dir-face) - (rpm-spec-doc-face . rpm-spec-doc-face) - (rpm-spec-ghost-face . rpm-spec-ghost-face) - (rpm-spec-macro-face . rpm-spec-macro-face) - (rpm-spec-package-face . rpm-spec-package-face) - (rpm-spec-tag-face . rpm-spec-tag-face) - (tags-tag-face . default) - (view-highlight-face . highlight) - (widget-mouse-face . highlight)) - (default ((t (:background "#ffffff" :foreground "#000000")))) - (Info-title-1-face ((t (nil)))) - (Info-title-2-face ((t (nil)))) - (Info-title-3-face ((t (nil)))) - (Info-title-4-face ((t (:bold (bold extra-bold ultra-bold))))) - (bold ((t (:bold (bold extra-bold ultra-bold))))) - (bold-italic ((t (:italic (italic oblique) :bold (bold extra-bold ultra-bold))))) - (border ((t (:background "black")))) - (comint-highlight-input ((t (:bold (bold extra-bold ultra-bold))))) - (comint-highlight-prompt ((t (:foreground "dark blue")))) - (cperl-array-face ((t (:foreground "brown")))) - (cperl-hash-face ((t (:foreground "red")))) - (cperl-nonoverridable-face ((t (:foreground "#008b8b")))) - (cursor ((t (:background "#000000")))) - (fixed-pitch ((t (nil)))) - (font-lock-builtin-face ((t (:foreground "purple")))) - (font-lock-comment-face ((t (:foreground "blue")))) - (font-lock-constant-face ((t (:foreground "green4")))) - (font-lock-doc-face ((t (:background "#f2f2f2")))) - (font-lock-function-name-face ((t (:foreground "#008b8b")))) - (font-lock-keyword-face ((t (:bold (bold extra-bold ultra-bold) :foreground "#a52a2a")))) - (font-lock-string-face ((t (:background "#f2f2f2" :foreground "#ff00ff")))) - (font-lock-type-face ((t (:foreground "ForestGreen")))) - (font-lock-variable-name-face ((t (:foreground "#008b8b")))) - (font-lock-warning-face ((t (:bold (bold extra-bold ultra-bold) :foreground "Red")))) - (fringe ((t (:background "#e5e5e5")))) - (header-line ((t (:background "grey90" :foreground "grey20")))) - (highlight ((t (:background "darkseagreen2")))) - (info-header-node ((t (nil)))) - (info-header-xref ((t (nil)))) - (info-menu-5 ((t (:foreground "red1")))) - (info-menu-header ((t (:bold (bold extra-bold ultra-bold))))) - (info-node ((t (:italic (italic oblique) :bold (bold extra-bold ultra-bold) :foreground "brown")))) - (info-xref ((t (:bold (bold extra-bold ultra-bold) :foreground "magenta4")))) - (isearch ((t (:background "magenta4" :foreground "lightskyblue1")))) - (isearch-lazy-highlight-face ((t (:background "paleturquoise")))) - (italic ((t (:italic (italic oblique))))) - (menu ((t (nil)))) - (mode-line ((t (:background "grey75" :foreground "black")))) - (mouse ((t (:background "#000000")))) - (region ((t (:background "lightgoldenrod2")))) - (rpm-spec-dir-face ((t (:foreground "green")))) - (rpm-spec-doc-face ((t (:foreground "magenta")))) - (rpm-spec-ghost-face ((t (:foreground "red")))) - (rpm-spec-macro-face ((t (:foreground "purple")))) - (rpm-spec-package-face ((t (:foreground "red")))) - (rpm-spec-tag-face ((t (:foreground "blue")))) - (scroll-bar ((t (:background "grey75" :foreground "#000000")))) - (secondary-selection ((t (:background "yellow")))) - (sh-heredoc-face ((t (:foreground "tan")))) - (show-paren-match-face ((t (:background "turquoise")))) - (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) - (tool-bar ((t (:background "grey75" :foreground "black")))) - (tooltip ((t (:background "lightyellow" :foreground "black")))) - (trailing-whitespace ((t (:background "red")))) - (underline ((t (:underline t)))) - (variable-pitch ((t (nil)))) - (widget-button-face ((t (:bold (bold extra-bold ultra-bold))))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (widget-single-line-field-face ((t (:background "gray85"))))))) - -(defun color-theme-calm-forest () - "Color theme by Artur Hefczyc, created 2003-04-18." - (interactive) - (color-theme-install - '(color-theme-calm-forest - ((background-color . "gray12") - (background-mode . dark) - (border-color . "black") - (cursor-color . "orange") - (foreground-color . "green") - (mouse-color . "yellow")) - ((help-highlight-face . underline) - (list-matching-lines-face . bold) - (senator-eldoc-use-color . t) - (view-highlight-face . highlight) - (widget-mouse-face . highlight)) - (default ((t (:stipple nil :background "gray12" :foreground "green" :inverse-video nil :box nil -:strike-through nil :overline nil :underline nil :slant normal :weight normal :height 98 :width -normal :family "outline-courier new")))) - (Info-title-1-face ((t (:bold t :weight bold :family "helv" :height 1.728)))) - (Info-title-2-face ((t (:bold t :family "helv" :weight bold :height 1.44)))) - (Info-title-3-face ((t (:bold t :weight bold :family "helv" :height 1.2)))) - (Info-title-4-face ((t (:bold t :family "helv" :weight bold)))) - (bold ((t (:bold t :weight bold)))) - (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (border ((t (:background "black")))) - (comint-highlight-input ((t (:bold t :weight bold)))) - (comint-highlight-prompt ((t (:foreground "cyan")))) - (cparen-around-andor-face ((t (:bold t :foreground "maroon" :weight bold)))) - (cparen-around-begin-face ((t (:foreground "maroon")))) - (cparen-around-conditional-face ((t (:bold t :foreground "RoyalBlue" :weight bold)))) - (cparen-around-define-face ((t (:bold t :foreground "Blue" :weight bold)))) - (cparen-around-lambda-face ((t (:foreground "LightSeaGreen")))) - (cparen-around-letdo-face ((t (:bold t :foreground "LightSeaGreen" :weight bold)))) - (cparen-around-quote-face ((t (:foreground "SaddleBrown")))) - (cparen-around-set!-face ((t (:foreground "OrangeRed")))) - (cparen-around-syntax-rules-face ((t (:foreground "Magenta")))) - (cparen-around-vector-face ((t (:foreground "chocolate")))) - (cparen-binding-face ((t (:foreground "ForestGreen")))) - (cparen-binding-list-face ((t (:bold t :foreground "ForestGreen" :weight bold)))) - (cparen-conditional-clause-face ((t (:foreground "RoyalBlue")))) - (cparen-normal-paren-face ((t (:foreground "grey50")))) - (cursor ((t (:background "orange")))) - (custom-button-face ((t (:background "lightgrey" :foreground "black" :box (:line-width 2 :style -released-button))))) - (custom-button-pressed-face ((t (:background "lightgrey" :foreground "black" :box (:line-width -2 :style pressed-button))))) - (custom-changed-face ((t (:background "blue" :foreground "white")))) - (custom-comment-face ((t (:background "dim gray")))) - (custom-comment-tag-face ((t (:foreground "gray80")))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (:bold t :family "helv" :weight bold :height 1.2)))) - (custom-group-tag-face ((t (:bold t :foreground "light blue" :weight bold :height 1.2)))) - (custom-group-tag-face-1 ((t (:bold t :family "helv" :foreground "pink" :weight bold :height -1.2)))) - (custom-invalid-face ((t (:background "red" :foreground "yellow")))) - (custom-modified-face ((t (:background "blue" :foreground "white")))) - (custom-rogue-face ((t (:background "black" :foreground "pink")))) - (custom-saved-face ((t (:underline t)))) - (custom-set-face ((t (:background "white" :foreground "blue")))) - (custom-state-face ((t (:foreground "lime green")))) - (custom-variable-button-face ((t (:bold t :underline t :weight bold)))) - (custom-variable-tag-face ((t (:bold t :family "helv" :foreground "light blue" :weight bold -:height 1.2)))) - (eieio-custom-slot-tag-face ((t (:foreground "light blue")))) - (extra-whitespace-face ((t (:background "pale green")))) - (fixed-pitch ((t (:family "courier")))) - (font-latex-bold-face ((t (:bold t :foreground "OliveDrab" :weight bold)))) - (font-latex-italic-face ((t (:italic t :foreground "OliveDrab" :slant italic)))) - (font-latex-math-face ((t (:foreground "burlywood")))) - (font-latex-sedate-face ((t (:foreground "LightGray")))) - (font-latex-string-face ((t (:foreground "RosyBrown")))) - (font-latex-warning-face ((t (:bold t :foreground "Red" :weight bold)))) - (font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) - (font-lock-comment-face ((t (:foreground "chocolate1")))) - (font-lock-constant-face ((t (:foreground "Aquamarine")))) - (font-lock-doc-face ((t (:foreground "LightSalmon")))) - (font-lock-function-name-face ((t (:foreground "LightSkyBlue")))) - (font-lock-keyword-face ((t (:foreground "Cyan")))) - (font-lock-string-face ((t (:foreground "LightSalmon")))) - (font-lock-type-face ((t (:foreground "PaleGreen")))) - (font-lock-variable-name-face ((t (:foreground "LightGoldenrod")))) - (font-lock-warning-face ((t (:bold t :foreground "Pink" :weight bold)))) - (fringe ((t (:background "grey10")))) - (header-line ((t (:box (:line-width -1 :style released-button) :background "grey20" :foreground -"grey90" :box nil)))) - (highlight ((t (:background "darkolivegreen")))) - (info-header-node ((t (:italic t :bold t :weight bold :slant italic :foreground "white")))) - (info-header-xref ((t (:bold t :weight bold :foreground "cyan")))) - (info-menu-5 ((t (:foreground "red1")))) - (info-menu-header ((t (:bold t :family "helv" :weight bold)))) - (info-node ((t (:italic t :bold t :foreground "white" :slant italic :weight bold)))) - (info-xref ((t (:bold t :foreground "cyan" :weight bold)))) - (isearch ((t (:background "palevioletred2" :foreground "brown4")))) - (isearch-lazy-highlight-face ((t (:background "paleturquoise4")))) - (italic ((t (:italic t :slant italic)))) - (jde-bug-breakpoint-cursor ((t (:background "brown" :foreground "cyan")))) - (jde-db-active-breakpoint-face ((t (:background "red" :foreground "black")))) - (jde-db-requested-breakpoint-face ((t (:background "yellow" :foreground "black")))) - (jde-db-spec-breakpoint-face ((t (:background "green" :foreground "black")))) - (jde-java-font-lock-api-face ((t (:foreground "light goldenrod")))) - (jde-java-font-lock-bold-face ((t (:bold t :weight bold)))) - (jde-java-font-lock-code-face ((t (nil)))) - (jde-java-font-lock-constant-face ((t (:foreground "Aquamarine")))) - (jde-java-font-lock-doc-tag-face ((t (:foreground "light coral")))) - (jde-java-font-lock-italic-face ((t (:italic t :slant italic)))) - (jde-java-font-lock-link-face ((t (:foreground "blue" :underline t :slant normal)))) - (jde-java-font-lock-modifier-face ((t (:foreground "LightSteelBlue")))) - (jde-java-font-lock-number-face ((t (:foreground "LightSalmon")))) - (jde-java-font-lock-operator-face ((t (:foreground "medium blue")))) - (jde-java-font-lock-package-face ((t (:foreground "steelblue1")))) - (jde-java-font-lock-pre-face ((t (nil)))) - (jde-java-font-lock-underline-face ((t (:underline t)))) - (menu ((t (nil)))) - (mode-line ((t (:background "grey75" :foreground "black" :box (:line-width -1 :style -released-button))))) - (mouse ((t (:background "yellow")))) - (region ((t (:background "blue3")))) - (scroll-bar ((t (nil)))) - (secondary-selection ((t (:background "SkyBlue4")))) - (semantic-dirty-token-face ((t (:background "gray10")))) - (semantic-unmatched-syntax-face ((t (:underline "red")))) - (senator-intangible-face ((t (:foreground "gray75")))) - (senator-momentary-highlight-face ((t (:background "gray30")))) - (senator-read-only-face ((t (:background "#664444")))) - (show-paren-match-face ((t (:background "turquoise")))) - (show-paren-mismatch-face ((t (:background "purple" :foreground "white")))) - (speedbar-button-face ((t (:foreground "green3")))) - (speedbar-directory-face ((t (:foreground "light blue")))) - (speedbar-file-face ((t (:foreground "cyan")))) - (speedbar-highlight-face ((t (:background "sea green")))) - (speedbar-selected-face ((t (:foreground "red" :underline t)))) - (speedbar-separator-face ((t (:background "blue" :foreground "white" :overline "gray")))) - (speedbar-tag-face ((t (:foreground "yellow")))) - (tool-bar ((t (:background "grey75" :foreground "black" :box (:line-width 1 :style -released-button))))) - (trailing-whitespace ((t (:background "red")))) - (underline ((t (:underline t)))) - (variable-pitch ((t (:family "helv")))) - (widget-button-face ((t (:bold t :weight bold)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "lime green")))) - (widget-field-face ((t (:background "dim gray")))) - (widget-inactive-face ((t (:foreground "light gray")))) - (widget-single-line-field-face ((t (:background "dim gray"))))))) - -(defun color-theme-lawrence () - "Color theme by lawrence mitchell . -Mainly shades of green. -Contains faces for erc, gnus, most of jde." - (interactive) - (color-theme-install - '(color-theme-lawrence - ((background-color . "black") - (background-mode . dark) - (border-color . "black") - (cursor-color . "green") - (foreground-color . "#00CC00") - (mouse-color . "black")) - ((erc-button-face . bold) - (erc-button-mouse-face . highlight) - (gnus-article-button-face . bold) - (gnus-article-mouse-face . highlight) - (gnus-cite-attribution-face . gnus-cite-attribution-face) - (gnus-mouse-face . highlight) - (gnus-server-agent-face . gnus-server-agent-face) - (gnus-server-closed-face . gnus-server-closed-face) - (gnus-server-denied-face . gnus-server-denied-face) - (gnus-server-offline-face . gnus-server-offline-face) - (gnus-server-opened-face . gnus-server-opened-face) - (gnus-signature-face . gnus-signature-face) - (gnus-summary-selected-face . gnus-summary-selected-face) - (gnus-treat-display-face . head) - (gnus-treat-display-xface . head) - (list-matching-lines-buffer-name-face . underline) - (list-matching-lines-face . bold) - (paren-match-face . paren-face-match) - (paren-mismatch-face . paren-face-mismatch) - (paren-no-match-face . paren-face-no-match) - (sgml-set-face . t) - (tags-tag-face . default) - (view-highlight-face . highlight) - (widget-mouse-face . highlight)) - (default ((t (nil)))) - (Buffer-menu-buffer-face ((t (:bold t :weight bold)))) - (bg:erc-color-face0 ((t (:background "White")))) - (bg:erc-color-face1 ((t (:background "black")))) - (bg:erc-color-face10 ((t (:background "lightblue1")))) - (bg:erc-color-face11 ((t (:background "cyan")))) - (bg:erc-color-face12 ((t (:background "blue")))) - (bg:erc-color-face13 ((t (:background "deeppink")))) - (bg:erc-color-face14 ((t (:background "gray50")))) - (bg:erc-color-face15 ((t (:background "gray90")))) - (bg:erc-color-face2 ((t (:background "blue4")))) - (bg:erc-color-face3 ((t (:background "green4")))) - (bg:erc-color-face4 ((t (:background "red")))) - (bg:erc-color-face5 ((t (:background "brown")))) - (bg:erc-color-face6 ((t (:background "purple")))) - (bg:erc-color-face7 ((t (:background "orange")))) - (bg:erc-color-face8 ((t (:background "yellow")))) - (bg:erc-color-face9 ((t (:background "green")))) - (bold ((t (:bold t :foreground "#00CC00" :background "black")))) - (bold-italic ((t (:italic t :bold t :slant oblique :weight semi-bold)))) - (border ((t (:background "black")))) - (button ((t (:underline t)))) - (comint-highlight-input ((t (nil)))) - (comint-highlight-prompt ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) - (cursor ((t (:background "green")))) - (custom-button-face ((t (:bold t :foreground "#00CC00" :background "black")))) - (custom-button-pressed-face ((t (nil)))) - (custom-changed-face ((t (:italic t :foreground "#00CC00" :background "black" :slant oblique)))) - (custom-comment-face ((t (nil)))) - (custom-comment-tag-face ((t (nil)))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (nil)))) - (custom-group-tag-face ((t (nil)))) - (custom-group-tag-face-1 ((t (nil)))) - (custom-invalid-face ((t (:foreground "#00CC00" :background "black" :strike-through t)))) - (custom-modified-face ((t (nil)))) - (custom-rogue-face ((t (nil)))) - (custom-saved-face ((t (nil)))) - (custom-set-face ((t (nil)))) - (custom-state-face ((t (nil)))) - (custom-variable-button-face ((t (nil)))) - (custom-variable-tag-face ((t (nil)))) - (erc-action-face ((t (:bold t :weight semi-bold)))) - (erc-bold-face ((t (:bold t :weight bold)))) - (erc-current-nick-face ((t (:bold t :foreground "LightSeaGreen" :weight semi-bold)))) - (erc-dangerous-host-face ((t (:foreground "red")))) - (erc-default-face ((t (nil)))) - (erc-direct-msg-face ((t (:foreground "IndianRed")))) - (erc-error-face ((t (:bold t :weight semi-bold :background "darkblue" :foreground "#00CC00")))) - (erc-fool-face ((t (:foreground "dim gray")))) - (erc-input-face ((t (:foreground "springgreen")))) - (erc-inverse-face ((t (:bold t :background "Darkgreen" :foreground "Black" :weight semi-bold)))) - (erc-keyword-face ((t (:bold t :foreground "pale green" :weight bold)))) - (erc-nick-default-face ((t (:bold t :weight semi-bold)))) - (erc-nick-msg-face ((t (:bold t :foreground "springgreen" :weight semi-bold)))) - (erc-notice-face ((t (:foreground "seagreen" :weight normal)))) - (erc-pal-face ((t (:bold t :foreground "Magenta" :weight bold)))) - (erc-prompt-face ((t (:bold t :background "lightBlue2" :foreground "Black" :weight semi-bold)))) - (erc-timestamp-face ((t (:foreground "seagreen" :weight normal)))) - (erc-underline-face ((t (:underline t)))) - (fg:erc-color-face0 ((t (:foreground "White")))) - (fg:erc-color-face1 ((t (:foreground "black")))) - (fg:erc-color-face10 ((t (:foreground "lightblue1")))) - (fg:erc-color-face11 ((t (:foreground "cyan")))) - (fg:erc-color-face12 ((t (:foreground "blue")))) - (fg:erc-color-face13 ((t (:foreground "deeppink")))) - (fg:erc-color-face14 ((t (:foreground "gray50")))) - (fg:erc-color-face15 ((t (:foreground "gray90")))) - (fg:erc-color-face2 ((t (:foreground "blue4")))) - (fg:erc-color-face3 ((t (:foreground "green4")))) - (fg:erc-color-face4 ((t (:foreground "red")))) - (fg:erc-color-face5 ((t (:foreground "brown")))) - (fg:erc-color-face6 ((t (:foreground "purple")))) - (fg:erc-color-face7 ((t (:foreground "orange")))) - (fg:erc-color-face8 ((t (:foreground "yellow")))) - (fg:erc-color-face9 ((t (:foreground "green")))) - (fixed-pitch ((t (nil)))) - (font-latex-string-face ((t (:bold t :weight semi-bold :foreground "seagreen" :background "black")))) - (font-latex-warning-face ((t (:bold t :weight semi-bold :background "darkblue" :foreground "#00CC00")))) - (font-lock-builtin-face ((t (:foreground "seagreen1")))) - (font-lock-comment-face ((t (:background "black" :foreground "medium spring green")))) - (font-lock-constant-face ((t (nil)))) - (font-lock-doc-face ((t (:bold t :background "black" :foreground "seagreen" :weight semi-bold)))) - (font-lock-function-name-face ((t (:bold t :foreground "#00CC00" :background "black")))) - (font-lock-keyword-face ((t (:bold t :background "black" :foreground "green" :underline t :weight semi-bold)))) - (font-lock-preprocessor-face ((t (:foreground "#00ccdd")))) - (font-lock-string-face ((t (:bold t :background "black" :foreground "seagreen" :weight semi-bold)))) - (font-lock-type-face ((t (nil)))) - (font-lock-variable-name-face ((t (nil)))) - (font-lock-warning-face ((t (:bold t :foreground "#00CC00" :background "darkblue" :weight semi-bold)))) - (fringe ((t (:foreground "#00CC00" :background "#151515")))) - (gnus-cite-attribution-face ((t (:italic t :foreground "#00CC00" :background "black" :slant italic)))) - (gnus-cite-face-1 ((t (:background "black" :foreground "springgreen")))) - (gnus-cite-face-10 ((t (nil)))) - (gnus-cite-face-11 ((t (nil)))) - (gnus-cite-face-2 ((t (:background "black" :foreground "lightseagreen")))) - (gnus-cite-face-3 ((t (:background "black" :foreground "darkseagreen")))) - (gnus-cite-face-4 ((t (:background "black" :foreground "forestgreen")))) - (gnus-cite-face-5 ((t (:background "black" :foreground "springgreen")))) - (gnus-cite-face-6 ((t (:background "black" :foreground "springgreen")))) - (gnus-cite-face-7 ((t (:background "black" :foreground "springgreen")))) - (gnus-cite-face-8 ((t (:background "black" :foreground "springgreen")))) - (gnus-cite-face-9 ((t (:background "black" :foreground "springgreen")))) - (gnus-emphasis-bold ((t (:bold t :weight semi-bold)))) - (gnus-emphasis-bold-italic ((t (:italic t :bold t :slant italic :weight semi-bold)))) - (gnus-emphasis-highlight-words ((t (:bold t :foreground "#00CC00" :background "black" :underline t :weight bold)))) - (gnus-emphasis-italic ((t (:italic t :slant italic)))) - (gnus-emphasis-strikethru ((t (nil)))) - (gnus-emphasis-underline ((t (:underline t)))) - (gnus-emphasis-underline-bold ((t (:bold t :underline t :weight semi-bold)))) - (gnus-emphasis-underline-bold-italic ((t (:italic t :bold t :underline t :slant italic :weight semi-bold)))) - (gnus-emphasis-underline-italic ((t (:italic t :underline t :slant italic)))) - (gnus-group-mail-1-empty-face ((t (nil)))) - (gnus-group-mail-1-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) - (gnus-group-mail-2-empty-face ((t (nil)))) - (gnus-group-mail-2-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) - (gnus-group-mail-3-empty-face ((t (nil)))) - (gnus-group-mail-3-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) - (gnus-group-mail-low-empty-face ((t (nil)))) - (gnus-group-mail-low-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) - (gnus-group-news-1-empty-face ((t (nil)))) - (gnus-group-news-1-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) - (gnus-group-news-2-empty-face ((t (nil)))) - (gnus-group-news-2-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) - (gnus-group-news-low-empty-face ((t (nil)))) - (gnus-group-news-low-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) - (gnus-header-content-face ((t (:background "black" :foreground "springgreen")))) - (gnus-header-from-face ((t (nil)))) - (gnus-header-name-face ((t (nil)))) - (gnus-header-newsgroups-face ((t (nil)))) - (gnus-header-subject-face ((t (nil)))) - (gnus-server-agent-face ((t (:bold t :foreground "PaleTurquoise" :weight bold)))) - (gnus-server-closed-face ((t (:italic t :foreground "Light Steel Blue" :slant italic)))) - (gnus-server-denied-face ((t (:bold t :foreground "Pink" :weight semi-bold)))) - (gnus-server-offline-face ((t (:bold t :foreground "Yellow" :weight bold)))) - (gnus-server-opened-face ((t (:bold t :foreground "Green1" :weight semi-bold)))) - (gnus-signature-face ((t (:background "black" :foreground "springgreen" :slant normal)))) - (gnus-splash-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) - (gnus-summary-cancelled-face ((t (:foreground "#00CC00" :background "black" :strike-through t)))) - (gnus-summary-high-ancient-face ((t (nil)))) - (gnus-summary-high-read-face ((t (nil)))) - (gnus-summary-high-ticked-face ((t (:background "black" :foreground "seagreen")))) - (gnus-summary-high-undownloaded-face ((t (:bold t :foreground "LightGray" :weight bold)))) - (gnus-summary-high-unread-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) - (gnus-summary-low-ancient-face ((t (nil)))) - (gnus-summary-low-read-face ((t (nil)))) - (gnus-summary-low-ticked-face ((t (nil)))) - (gnus-summary-low-undownloaded-face ((t (:italic t :foreground "LightGray" :slant italic :weight normal)))) - (gnus-summary-low-unread-face ((t (:bold t :foreground "#00CC00" :background "black" :weight bold)))) - (gnus-summary-normal-ancient-face ((t (nil)))) - (gnus-summary-normal-read-face ((t (nil)))) - (gnus-summary-normal-ticked-face ((t (:bold t :foreground "#00CC00" :background "black")))) - (gnus-summary-normal-undownloaded-face ((t (:foreground "LightGray" :weight normal)))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-selected-face ((t (:background "#101010")))) - (gnus-x-face ((t (:background "white" :foreground "black")))) - (header-line ((t (nil)))) - (highlight ((t (:foreground "#00CC00" :background "darkgreen")))) - (ido-first-match-face ((t (:bold t :weight bold)))) - (ido-indicator-face ((t (:background "red" :foreground "yellow" :width condensed)))) - (ido-only-match-face ((t (:foreground "ForestGreen")))) - (ido-subdir-face ((t (:foreground "red")))) - (isearch ((t (:background "seagreen" :foreground "black")))) - (isearch-lazy-highlight-face ((t (:background "darkseagreen" :foreground "black")))) - (italic ((t (:italic t :foreground "#00CC00" :background "black" :slant oblique)))) - (menu ((t (:bold t :background "black" :foreground "green" :box (:line-width -1 :color "#606060") :weight semi-bold)))) - (message-cited-text-face ((t (:italic t :foreground "#00CC00" :background "black" :slant oblique)))) - (message-header-cc-face ((t (nil)))) - (message-header-name-face ((t (nil)))) - (message-header-newsgroups-face ((t (:bold t :foreground "#00CC00" :background "black")))) - (message-header-other-face ((t (:bold t :foreground "#00CC00" :background "black")))) - (message-header-subject-face ((t (:bold t :foreground "#00CC00" :background "black")))) - (message-header-to-face ((t (:bold t :foreground "#00CC00" :background "black")))) - (message-header-xheader-face ((t (nil)))) - (message-mml-face ((t (:italic t :foreground "#00CC00" :background "black" :slant oblique)))) - (message-separator-face ((t (nil)))) - (minibuffer-prompt ((t (:background "black" :foreground "seagreen")))) - (mode-line ((t (:bold t :background "#404040" :foreground "green" :box (:line-width -1 :color "#606060") :weight semi-bold)))) - (mode-line-inactive ((t (:bold t :weight semi-bold :box (:line-width -1 :color "#606060") :foreground "green" :background "#101010")))) - (mouse ((t (:background "black")))) - (paren-face ((t (:background "black" :foreground "darkgreen")))) - (paren-face-match ((t (:background "black" :foreground "springgreen")))) - (paren-face-mismatch ((t (:foreground "#00CC00" :background "black" :strike-through t)))) - (paren-face-no-match ((t (:background "black" :foreground "red")))) - (region ((t (:background "seagreen" :foreground "black")))) - (scroll-bar ((t (nil)))) - (secondary-selection ((t (:background "darkseagreen" :foreground "black")))) - (semantic-dirty-token-face ((t (:background "gray10")))) - (semantic-unmatched-syntax-face ((t (:underline "red")))) - (sgml-end-tag-face ((t (:foreground "seagreen")))) - (sgml-start-tag-face ((t (:foreground "seagreen")))) - (tabbar-button-face ((t (:background "black" :foreground "#00cc00" :box (:line-width 2 :color "black" :style released-button))))) - (tabbar-default-face ((t (:background "black" :foreground "#00cc00")))) - (tabbar-selected-face ((t (:background "black" :foreground "springgreen" :box (:line-width 2 :color "black" :style released-button))))) - (tabbar-separator-face ((t (:foreground "#00cc00" :background "black")))) - (tabbar-unselected-face ((t (:background "black" :foreground "seagreen" :box (:line-width 2 :color "black" :style pressed-button))))) - (tool-bar ((t (:box (:line-width 1 :style released-button))))) - (tooltip ((t (nil)))) - (trailing-whitespace ((t (:background "lightseagreen" :foreground "black")))) - (underline ((t (:foreground "#00CC00" :background "black" :underline t)))) - (variable-pitch ((t (:underline nil :foreground "#00CC00" :background "black")))) - (widget-button-face ((t (:bold t :foreground "#00CC00" :background "black")))) - (widget-button-pressed-face ((t (nil)))) - (widget-documentation-face ((t (nil)))) - (widget-field-face ((t (:italic t :foreground "#00CC00" :background "black" :slant oblique)))) - (widget-inactive-face ((t (nil)))) - (widget-single-line-field-face ((t (nil))))))) - -(defun color-theme-matrix () - "Color theme by walterh@rocketmail.com, created 2003-10-16." - (interactive) - (color-theme-install - '(color-theme-matrix - ((background-color . "black") - (background-mode . dark) - (background-toolbar-color . "bisque") - (border-color . "orange") - (bottom-toolbar-shadow-color . "#909099999999") - (cursor-color . "#7eff00") - (foreground-color . "#7eff00") - (mouse-color . "#7eff00") - (top-toolbar-shadow-color . "#ffffffffffff")) - ((help-highlight-face . underline) - (list-matching-lines-face . bold) - (rmail-highlight-face . font-lock-function-name-face) - (view-highlight-face . highlight) - (widget-mouse-face . highlight)) - (default ((t (:stipple nil :background "black" :foreground -"#7eff00" :inverse-video nil :box nil :strike-through nil :overline nil -:underline nil :slant normal :weight normal :height 90 :width normal -:family "outline-courier new")))) - (Buffer-menu-buffer-face ((t (nil)))) - (CUA-global-mark-face ((t (nil)))) - (CUA-rectangle-face ((t (nil)))) - (CUA-rectangle-noselect-face ((t (nil)))) - (Info-title-1-face ((t (nil)))) - (Info-title-2-face ((t (nil)))) - (Info-title-3-face ((t (nil)))) - (Info-title-4-face ((t (nil)))) - (antlr-font-lock-keyword-face ((t (nil)))) - (antlr-font-lock-literal-face ((t (nil)))) - (antlr-font-lock-ruledef-face ((t (nil)))) - (antlr-font-lock-ruleref-face ((t (nil)))) - (antlr-font-lock-tokendef-face ((t (nil)))) - (antlr-font-lock-tokenref-face ((t (nil)))) - (bbdb-company ((t (nil)))) - (bbdb-field-name ((t (nil)))) - (bbdb-field-value ((t (nil)))) - (bbdb-name ((t (nil)))) - (bg:erc-color-face0 ((t (nil)))) - (bg:erc-color-face1 ((t (nil)))) - (bg:erc-color-face10 ((t (nil)))) - (bg:erc-color-face11 ((t (nil)))) - (bg:erc-color-face12 ((t (nil)))) - (bg:erc-color-face13 ((t (nil)))) - (bg:erc-color-face14 ((t (nil)))) - (bg:erc-color-face15 ((t (nil)))) - (bg:erc-color-face2 ((t (nil)))) - (bg:erc-color-face3 ((t (nil)))) - (bg:erc-color-face4 ((t (nil)))) - (bg:erc-color-face5 ((t (nil)))) - (bg:erc-color-face6 ((t (nil)))) - (bg:erc-color-face7 ((t (nil)))) - (bg:erc-color-face8 ((t (nil)))) - (bg:erc-color-face9 ((t (nil)))) - (blank-space-face ((t (nil)))) - (blank-tab-face ((t (nil)))) - (blue ((t (nil)))) - (bold ((t (:bold t :weight bold)))) - (bold-italic ((t (:bold t :weight bold)))) - (border ((t (:background "orange")))) - (border-glyph ((t (nil)))) - (buffers-tab ((t (nil)))) - (button ((t (nil)))) - (calendar-today-face ((t (nil)))) - (change-log-acknowledgement-face ((t (nil)))) - (change-log-conditionals-face ((t (nil)))) - (change-log-date-face ((t (nil)))) - (change-log-email-face ((t (nil)))) - (change-log-file-face ((t (nil)))) - (change-log-function-face ((t (nil)))) - (change-log-list-face ((t (nil)))) - (change-log-name-face ((t (nil)))) - (clearcase-dired-checkedout-face ((t (nil)))) - (comint-highlight-input ((t (nil)))) - (comint-highlight-prompt ((t (nil)))) - (cparen-around-andor-face ((t (nil)))) - (cparen-around-begin-face ((t (nil)))) - (cparen-around-conditional-face ((t (nil)))) - (cparen-around-define-face ((t (nil)))) - (cparen-around-lambda-face ((t (nil)))) - (cparen-around-letdo-face ((t (nil)))) - (cparen-around-quote-face ((t (nil)))) - (cparen-around-set!-face ((t (nil)))) - (cparen-around-syntax-rules-face ((t (nil)))) - (cparen-around-vector-face ((t (nil)))) - (cparen-binding-face ((t (nil)))) - (cparen-binding-list-face ((t (nil)))) - (cparen-conditional-clause-face ((t (nil)))) - (cparen-normal-paren-face ((t (nil)))) - (cperl-array-face ((t (nil)))) - (cperl-hash-face ((t (nil)))) - (cperl-invalid-face ((t (nil)))) - (cperl-nonoverridable-face ((t (nil)))) - (cursor ((t (:background "#7eff00" :foreground "black")))) - (custom-button-face ((t (nil)))) - (custom-button-pressed-face ((t (nil)))) - (custom-changed-face ((t (nil)))) - (custom-comment-face ((t (nil)))) - (custom-comment-tag-face ((t (nil)))) - (custom-documentation-face ((t (nil)))) - (custom-face-tag-face ((t (nil)))) - (custom-group-tag-face ((t (nil)))) - (custom-group-tag-face-1 ((t (nil)))) - (custom-invalid-face ((t (nil)))) - (custom-modified-face ((t (nil)))) - (custom-rogue-face ((t (nil)))) - (custom-saved-face ((t (nil)))) - (custom-set-face ((t (nil)))) - (custom-state-face ((t (nil)))) - (custom-variable-button-face ((t (nil)))) - (custom-variable-tag-face ((t (nil)))) - (cvs-filename-face ((t (nil)))) - (cvs-handled-face ((t (nil)))) - (cvs-header-face ((t (nil)))) - (cvs-marked-face ((t (nil)))) - (cvs-msg-face ((t (nil)))) - (cvs-need-action-face ((t (nil)))) - (cvs-unknown-face ((t (nil)))) - (cyan ((t (nil)))) - (diary-face ((t (nil)))) - (diff-added-face ((t (nil)))) - (diff-changed-face ((t (nil)))) - (diff-context-face ((t (nil)))) - (diff-file-header-face ((t (nil)))) - (diff-function-face ((t (nil)))) - (diff-header-face ((t (nil)))) - (diff-hunk-header-face ((t (nil)))) - (diff-index-face ((t (nil)))) - (diff-nonexistent-face ((t (nil)))) - (diff-removed-face ((t (nil)))) - (dired-face-boring ((t (nil)))) - (dired-face-directory ((t (nil)))) - (dired-face-executable ((t (nil)))) - (dired-face-flagged ((t (nil)))) - (dired-face-header ((t (nil)))) - (dired-face-marked ((t (nil)))) - (dired-face-permissions ((t (nil)))) - (dired-face-setuid ((t (nil)))) - (dired-face-socket ((t (nil)))) - (dired-face-symlink ((t (nil)))) - (display-time-mail-balloon-enhance-face ((t (nil)))) - (display-time-mail-balloon-gnus-group-face ((t (nil)))) - (display-time-time-balloon-face ((t (nil)))) - (ebrowse-default-face ((t (nil)))) - (ebrowse-file-name-face ((t (nil)))) - (ebrowse-member-attribute-face ((t (nil)))) - (ebrowse-member-class-face ((t (nil)))) - (ebrowse-progress-face ((t (nil)))) - (ebrowse-root-class-face ((t (nil)))) - (ebrowse-tree-mark-face ((t (nil)))) - (ecb-sources-face ((t (nil)))) - (edb-inter-field-face ((t (nil)))) - (edb-normal-summary-face ((t (nil)))) - (ediff-current-diff-face-A ((t (nil)))) - (ediff-current-diff-face-Ancestor ((t (nil)))) - (ediff-current-diff-face-B ((t (nil)))) - (ediff-current-diff-face-C ((t (nil)))) - (ediff-even-diff-face-A ((t (nil)))) - (ediff-even-diff-face-Ancestor ((t (nil)))) - (ediff-even-diff-face-B ((t (nil)))) - (ediff-even-diff-face-C ((t (nil)))) - (ediff-fine-diff-face-A ((t (nil)))) - (ediff-fine-diff-face-Ancestor ((t (nil)))) - (ediff-fine-diff-face-B ((t (nil)))) - (ediff-fine-diff-face-C ((t (nil)))) - (ediff-odd-diff-face-A ((t (nil)))) - (ediff-odd-diff-face-Ancestor ((t (nil)))) - (ediff-odd-diff-face-B ((t (nil)))) - (ediff-odd-diff-face-C ((t (nil)))) - (eieio-custom-slot-tag-face ((t (nil)))) - (emacs-wiki-bad-link-face ((t (nil)))) - (emacs-wiki-link-face ((t (nil)))) - (erc-action-face ((t (nil)))) - (erc-bold-face ((t (nil)))) - (erc-current-nick-face ((t (nil)))) - (erc-dangerous-host-face ((t (nil)))) - (erc-default-face ((t (nil)))) - (erc-direct-msg-face ((t (nil)))) - (erc-error-face ((t (nil)))) - (erc-fool-face ((t (nil)))) - (erc-highlight-face ((t (nil)))) - (erc-input-face ((t (nil)))) - (erc-inverse-face ((t (nil)))) - (erc-keyword-face ((t (nil)))) - (erc-nick-default-face ((t (nil)))) - (erc-nick-msg-face ((t (nil)))) - (erc-notice-face ((t (nil)))) - (erc-pal-face ((t (nil)))) - (erc-prompt-face ((t (nil)))) - (erc-timestamp-face ((t (nil)))) - (erc-underline-face ((t (nil)))) - (eshell-ls-archive-face ((t (nil)))) - (eshell-ls-backup-face ((t (nil)))) - (eshell-ls-clutter-face ((t (nil)))) - (eshell-ls-directory-face ((t (nil)))) - (eshell-ls-executable-face ((t (nil)))) - (eshell-ls-missing-face ((t (nil)))) - (eshell-ls-picture-face ((t (nil)))) - (eshell-ls-product-face ((t (nil)))) - (eshell-ls-readonly-face ((t (nil)))) - (eshell-ls-special-face ((t (nil)))) - (eshell-ls-symlink-face ((t (nil)))) - (eshell-ls-text-face ((t (nil)))) - (eshell-ls-todo-face ((t (nil)))) - (eshell-ls-unreadable-face ((t (nil)))) - (eshell-prompt-face ((t (nil)))) - (eshell-test-failed-face ((t (nil)))) - (eshell-test-ok-face ((t (nil)))) - (excerpt ((t (nil)))) - (extra-whitespace-face ((t (nil)))) - (ff-paths-non-existant-file-face ((t (nil)))) - (fg:black ((t (nil)))) - (fg:erc-color-face0 ((t (nil)))) - (fg:erc-color-face1 ((t (nil)))) - (fg:erc-color-face10 ((t (nil)))) - (fg:erc-color-face11 ((t (nil)))) - (fg:erc-color-face12 ((t (nil)))) - (fg:erc-color-face13 ((t (nil)))) - (fg:erc-color-face14 ((t (nil)))) - (fg:erc-color-face15 ((t (nil)))) - (fg:erc-color-face2 ((t (nil)))) - (fg:erc-color-face3 ((t (nil)))) - (fg:erc-color-face4 ((t (nil)))) - (fg:erc-color-face5 ((t (nil)))) - (fg:erc-color-face6 ((t (nil)))) - (fg:erc-color-face7 ((t (nil)))) - (fg:erc-color-face8 ((t (nil)))) - (fg:erc-color-face9 ((t (nil)))) - (fixed ((t (nil)))) - (fixed-pitch ((t (nil)))) - (fl-comment-face ((t (nil)))) - (fl-function-name-face ((t (nil)))) - (fl-keyword-face ((t (nil)))) - (fl-string-face ((t (nil)))) - (fl-type-face ((t (nil)))) - (flash-paren-face-off ((t (nil)))) - (flash-paren-face-on ((t (nil)))) - (flash-paren-face-region ((t (nil)))) - (flyspell-duplicate-face ((t (nil)))) - (flyspell-incorrect-face ((t (nil)))) - (font-latex-bold-face ((t (nil)))) - (font-latex-italic-face ((t (nil)))) - (font-latex-math-face ((t (nil)))) - (font-latex-sedate-face ((t (nil)))) - (font-latex-string-face ((t (nil)))) - (font-latex-warning-face ((t (nil)))) - (font-lock-builtin-face ((t (:foreground "pink2")))) - (font-lock-comment-face ((t (:italic t :background "black" :slant -italic)))) - (font-lock-constant-face ((t (:foreground "magenta")))) - (font-lock-doc-face ((t (nil)))) - (font-lock-doc-string-face ((t (nil)))) - (font-lock-exit-face ((t (nil)))) - (font-lock-function-name-face ((t (:bold t :underline t :weight -bold)))) - (font-lock-keyword-face ((t (:foreground "yellow1")))) - (font-lock-other-emphasized-face ((t (nil)))) - (font-lock-other-type-face ((t (nil)))) - (font-lock-preprocessor-face ((t (nil)))) - (font-lock-reference-face ((t (nil)))) - (font-lock-special-comment-face ((t (nil)))) - (font-lock-special-keyword-face ((t (nil)))) - (font-lock-string-face ((t (:foreground "yellow2")))) - (font-lock-type-face ((t (:foreground "LightYellow1")))) - (font-lock-variable-name-face ((t (:foreground "light green")))) - (font-lock-warning-face ((t (nil)))) - (fringe ((t (nil)))) - (gnus-cite-attribution-face ((t (nil)))) - (gnus-cite-face-1 ((t (nil)))) - (gnus-cite-face-10 ((t (nil)))) - (gnus-cite-face-11 ((t (nil)))) - (gnus-cite-face-2 ((t (nil)))) - (gnus-cite-face-3 ((t (nil)))) - (gnus-cite-face-4 ((t (nil)))) - (gnus-cite-face-5 ((t (nil)))) - (gnus-cite-face-6 ((t (nil)))) - (gnus-cite-face-7 ((t (nil)))) - (gnus-cite-face-8 ((t (nil)))) - (gnus-cite-face-9 ((t (nil)))) - (gnus-emphasis-bold ((t (nil)))) - (gnus-emphasis-bold-italic ((t (nil)))) - (gnus-emphasis-highlight-words ((t (nil)))) - (gnus-emphasis-italic ((t (nil)))) - (gnus-emphasis-strikethru ((t (nil)))) - (gnus-emphasis-underline ((t (nil)))) - (gnus-emphasis-underline-bold ((t (nil)))) - (gnus-emphasis-underline-bold-italic ((t (nil)))) - (gnus-emphasis-underline-italic ((t (nil)))) - (gnus-filterhist-face-1 ((t (nil)))) - (gnus-group-mail-1-empty-face ((t (nil)))) - (gnus-group-mail-1-face ((t (nil)))) - (gnus-group-mail-2-empty-face ((t (nil)))) - (gnus-group-mail-2-face ((t (nil)))) - (gnus-group-mail-3-empty-face ((t (nil)))) - (gnus-group-mail-3-face ((t (nil)))) - (gnus-group-mail-low-empty-face ((t (nil)))) - (gnus-group-mail-low-face ((t (nil)))) - (gnus-group-news-1-empty-face ((t (nil)))) - (gnus-group-news-1-face ((t (nil)))) - (gnus-group-news-2-empty-face ((t (nil)))) - (gnus-group-news-2-face ((t (nil)))) - (gnus-group-news-3-empty-face ((t (nil)))) - (gnus-group-news-3-face ((t (nil)))) - (gnus-group-news-4-empty-face ((t (nil)))) - (gnus-group-news-4-face ((t (nil)))) - (gnus-group-news-5-empty-face ((t (nil)))) - (gnus-group-news-5-face ((t (nil)))) - (gnus-group-news-6-empty-face ((t (nil)))) - (gnus-group-news-6-face ((t (nil)))) - (gnus-group-news-low-empty-face ((t (nil)))) - (gnus-group-news-low-face ((t (nil)))) - (gnus-header-content-face ((t (nil)))) - (gnus-header-from-face ((t (nil)))) - (gnus-header-name-face ((t (nil)))) - (gnus-header-newsgroups-face ((t (nil)))) - (gnus-header-subject-face ((t (nil)))) - (gnus-picon-face ((t (nil)))) - (gnus-picon-xbm-face ((t (nil)))) - (gnus-picons-face ((t (nil)))) - (gnus-picons-xbm-face ((t (nil)))) - (gnus-server-agent-face ((t (nil)))) - (gnus-server-closed-face ((t (nil)))) - (gnus-server-denied-face ((t (nil)))) - (gnus-server-offline-face ((t (nil)))) - (gnus-server-opened-face ((t (nil)))) - (gnus-signature-face ((t (nil)))) - (gnus-splash ((t (nil)))) - (gnus-splash-face ((t (nil)))) - (gnus-summary-cancelled-face ((t (nil)))) - (gnus-summary-high-ancient-face ((t (nil)))) - (gnus-summary-high-read-face ((t (nil)))) - (gnus-summary-high-ticked-face ((t (nil)))) - (gnus-summary-high-undownloaded-face ((t (nil)))) - (gnus-summary-high-unread-face ((t (nil)))) - (gnus-summary-low-ancient-face ((t (nil)))) - (gnus-summary-low-read-face ((t (nil)))) - (gnus-summary-low-ticked-face ((t (nil)))) - (gnus-summary-low-undownloaded-face ((t (nil)))) - (gnus-summary-low-unread-face ((t (nil)))) - (gnus-summary-normal-ancient-face ((t (nil)))) - (gnus-summary-normal-read-face ((t (nil)))) - (gnus-summary-normal-ticked-face ((t (nil)))) - (gnus-summary-normal-undownloaded-face ((t (nil)))) - (gnus-summary-normal-unread-face ((t (nil)))) - (gnus-summary-selected-face ((t (nil)))) - (gnus-x-face ((t (nil)))) - (green ((t (nil)))) - (gui-button-face ((t (nil)))) - (gui-element ((t (nil)))) - (header-line ((t (nil)))) - (hi-black-b ((t (nil)))) - (hi-black-hb ((t (nil)))) - (hi-blue ((t (nil)))) - (hi-blue-b ((t (nil)))) - (hi-green ((t (nil)))) - (hi-green-b ((t (nil)))) - (hi-pink ((t (nil)))) - (hi-red-b ((t (nil)))) - (hi-yellow ((t (nil)))) - (highlight ((t (:background "#7eff00" :foreground "black")))) - (highlight-changes-delete-face ((t (nil)))) - (highlight-changes-face ((t (nil)))) - (highline-face ((t (nil)))) - (holiday-face ((t (nil)))) - (html-helper-bold-face ((t (nil)))) - (html-helper-bold-italic-face ((t (nil)))) - (html-helper-builtin-face ((t (nil)))) - (html-helper-italic-face ((t (nil)))) - (html-helper-underline-face ((t (nil)))) - (html-tag-face ((t (nil)))) - (hyper-apropos-documentation ((t (nil)))) - (hyper-apropos-heading ((t (nil)))) - (hyper-apropos-hyperlink ((t (nil)))) - (hyper-apropos-major-heading ((t (nil)))) - (hyper-apropos-section-heading ((t (nil)))) - (hyper-apropos-warning ((t (nil)))) - (ibuffer-deletion-face ((t (nil)))) - (ibuffer-marked-face ((t (nil)))) - (idlwave-help-link-face ((t (nil)))) - (idlwave-shell-bp-face ((t (nil)))) - (ido-first-match-face ((t (nil)))) - (ido-indicator-face ((t (nil)))) - (ido-only-match-face ((t (nil)))) - (ido-subdir-face ((t (nil)))) - (info-header-node ((t (nil)))) - (info-header-xref ((t (nil)))) - (info-menu-5 ((t (nil)))) - (info-menu-6 ((t (nil)))) - (info-menu-header ((t (nil)))) - (info-node ((t (nil)))) - (info-xref ((t (nil)))) - (isearch ((t (nil)))) - (isearch-lazy-highlight-face ((t (nil)))) - (isearch-secondary ((t (nil)))) - (italic ((t (:underline t)))) - (jde-bug-breakpoint-cursor ((t (nil)))) - (jde-bug-breakpoint-marker ((t (nil)))) - (jde-db-active-breakpoint-face ((t (nil)))) - (jde-db-requested-breakpoint-face ((t (nil)))) - (jde-db-spec-breakpoint-face ((t (nil)))) - (jde-java-font-lock-api-face ((t (nil)))) - (jde-java-font-lock-bold-face ((t (nil)))) - (jde-java-font-lock-code-face ((t (nil)))) - (jde-java-font-lock-constant-face ((t (nil)))) - (jde-java-font-lock-doc-tag-face ((t (nil)))) - (jde-java-font-lock-italic-face ((t (nil)))) - (jde-java-font-lock-link-face ((t (nil)))) - (jde-java-font-lock-modifier-face ((t (nil)))) - (jde-java-font-lock-number-face ((t (nil)))) - (jde-java-font-lock-operator-face ((t (nil)))) - (jde-java-font-lock-package-face ((t (nil)))) - (jde-java-font-lock-pre-face ((t (nil)))) - (jde-java-font-lock-underline-face ((t (nil)))) - (lazy-highlight-face ((t (nil)))) - (left-margin ((t (nil)))) - (linemenu-face ((t (nil)))) - (list-mode-item-selected ((t (nil)))) - (log-view-file-face ((t (nil)))) - (log-view-message-face ((t (nil)))) - (magenta ((t (nil)))) - (makefile-space-face ((t (nil)))) - (man-bold ((t (nil)))) - (man-heading ((t (nil)))) - (man-italic ((t (nil)))) - (man-xref ((t (nil)))) - (menu ((t (nil)))) - (message-cited-text ((t (nil)))) - (message-cited-text-face ((t (nil)))) - (message-header-cc-face ((t (nil)))) - (message-header-contents ((t (nil)))) - (message-header-name-face ((t (nil)))) - (message-header-newsgroups-face ((t (nil)))) - (message-header-other-face ((t (nil)))) - (message-header-subject-face ((t (nil)))) - (message-header-to-face ((t (nil)))) - (message-header-xheader-face ((t (nil)))) - (message-headers ((t (nil)))) - (message-highlighted-header-contents ((t (nil)))) - (message-mml-face ((t (nil)))) - (message-separator-face ((t (nil)))) - (message-url ((t (nil)))) - (minibuffer-prompt ((t (nil)))) - (mmm-face ((t (nil)))) - (mode-line ((t (:bold t :background "gray" :foreground "black" -:weight bold)))) - (mode-line-inactive ((t (nil)))) - (modeline-buffer-id ((t (:background "orange" :foreground -"black")))) - (modeline-mousable ((t (:background "orange" :foreground -"black")))) - (modeline-mousable-minor-mode ((t (:background "orange" -:foreground "black")))) - (mouse ((t (nil)))) - (mpg123-face-cur ((t (nil)))) - (mpg123-face-slider ((t (nil)))) - (my-tab-face ((t (nil)))) - (nil ((t (nil)))) - (overlay-empty-face ((t (nil)))) - (p4-diff-del-face ((t (nil)))) - (paren-blink-off ((t (nil)))) - (paren-face ((t (nil)))) - (paren-face-match ((t (nil)))) - (paren-face-mismatch ((t (nil)))) - (paren-face-no-match ((t (nil)))) - (paren-match ((t (nil)))) - (paren-mismatch ((t (nil)))) - (paren-mismatch-face ((t (nil)))) - (paren-no-match-face ((t (nil)))) - (pointer ((t (nil)))) - (primary-selection ((t (nil)))) - (reb-match-0 ((t (nil)))) - (reb-match-1 ((t (nil)))) - (reb-match-2 ((t (nil)))) - (reb-match-3 ((t (nil)))) - (red ((t (nil)))) - (region ((t (:background "#7eff00" :foreground "black")))) - (right-margin ((t (nil)))) - (rpm-spec-dir-face ((t (nil)))) - (rpm-spec-doc-face ((t (nil)))) - (rpm-spec-ghost-face ((t (nil)))) - (rpm-spec-macro-face ((t (nil)))) - (rpm-spec-package-face ((t (nil)))) - (rpm-spec-tag-face ((t (nil)))) - (rpm-spec-var-face ((t (nil)))) - (scroll-bar ((t (nil)))) - (secondary-selection ((t (:background "orange" :foreground -"black")))) - (semantic-dirty-token-face ((t (nil)))) - (semantic-intangible-face ((t (nil)))) - (semantic-read-only-face ((t (nil)))) - (semantic-unmatched-syntax-face ((t (nil)))) - (senator-intangible-face ((t (nil)))) - (senator-momentary-highlight-face ((t (nil)))) - (senator-read-only-face ((t (nil)))) - (sgml-comment-face ((t (nil)))) - (sgml-doctype-face ((t (nil)))) - (sgml-end-tag-face ((t (nil)))) - (sgml-entity-face ((t (nil)))) - (sgml-ignored-face ((t (nil)))) - (sgml-ms-end-face ((t (nil)))) - (sgml-ms-start-face ((t (nil)))) - (sgml-pi-face ((t (nil)))) - (sgml-sgml-face ((t (nil)))) - (sgml-short-ref-face ((t (nil)))) - (sgml-shortref-face ((t (nil)))) - (sgml-start-tag-face ((t (nil)))) - (sh-heredoc-face ((t (nil)))) - (shell-option-face ((t (nil)))) - (shell-output-2-face ((t (nil)))) - (shell-output-3-face ((t (nil)))) - (shell-output-face ((t (nil)))) - (shell-prompt-face ((t (nil)))) - (show-block-face1 ((t (nil)))) - (show-block-face2 ((t (nil)))) - (show-block-face3 ((t (nil)))) - (show-block-face4 ((t (nil)))) - (show-block-face5 ((t (nil)))) - (show-block-face6 ((t (nil)))) - (show-block-face7 ((t (nil)))) - (show-block-face8 ((t (nil)))) - (show-block-face9 ((t (nil)))) - (show-paren-match-face ((t (:background "orange" :foreground -"black")))) - (show-paren-mismatch-face ((t (:underline t)))) - (show-tabs-space-face ((t (nil)))) - (show-tabs-tab-face ((t (nil)))) - (smerge-base-face ((t (nil)))) - (smerge-markers-face ((t (nil)))) - (smerge-mine-face ((t (nil)))) - (smerge-other-face ((t (nil)))) - (speedbar-button-face ((t (nil)))) - (speedbar-directory-face ((t (nil)))) - (speedbar-file-face ((t (nil)))) - (speedbar-highlight-face ((t (nil)))) - (speedbar-selected-face ((t (nil)))) - (speedbar-separator-face ((t (nil)))) - (speedbar-tag-face ((t (nil)))) - (strokes-char-face ((t (nil)))) - (swbuff-current-buffer-face ((t (nil)))) - (tabbar-button-face ((t (nil)))) - (tabbar-default-face ((t (nil)))) - (tabbar-selected-face ((t (nil)))) - (tabbar-separator-face ((t (nil)))) - (tabbar-unselected-face ((t (nil)))) - (template-message-face ((t (nil)))) - (term-black ((t (nil)))) - (term-blackbg ((t (nil)))) - (term-blue ((t (nil)))) - (term-blue-bold-face ((t (nil)))) - (term-blue-face ((t (nil)))) - (term-blue-inv-face ((t (nil)))) - (term-blue-ul-face ((t (nil)))) - (term-bluebg ((t (nil)))) - (term-bold ((t (nil)))) - (term-cyan ((t (nil)))) - (term-cyan-bold-face ((t (nil)))) - (term-cyan-face ((t (nil)))) - (term-cyan-inv-face ((t (nil)))) - (term-cyan-ul-face ((t (nil)))) - (term-cyanbg ((t (nil)))) - (term-default ((t (nil)))) - (term-default-bg ((t (nil)))) - (term-default-bg-inv ((t (nil)))) - (term-default-bold-face ((t (nil)))) - (term-default-face ((t (nil)))) - (term-default-fg ((t (nil)))) - (term-default-fg-inv ((t (nil)))) - (term-default-inv-face ((t (nil)))) - (term-default-ul-face ((t (nil)))) - (term-green ((t (nil)))) - (term-green-bold-face ((t (nil)))) - (term-green-face ((t (nil)))) - (term-green-inv-face ((t (nil)))) - (term-green-ul-face ((t (nil)))) - (term-greenbg ((t (nil)))) - (term-invisible ((t (nil)))) - (term-invisible-inv ((t (nil)))) - (term-magenta ((t (nil)))) - (term-magenta-bold-face ((t (nil)))) - (term-magenta-face ((t (nil)))) - (term-magenta-inv-face ((t (nil)))) - (term-magenta-ul-face ((t (nil)))) - (term-magentabg ((t (nil)))) - (term-red ((t (nil)))) - (term-red-bold-face ((t (nil)))) - (term-red-face ((t (nil)))) - (term-red-inv-face ((t (nil)))) - (term-red-ul-face ((t (nil)))) - (term-redbg ((t (nil)))) - (term-underline ((t (nil)))) - (term-white ((t (nil)))) - (term-white-bold-face ((t (nil)))) - (term-white-face ((t (nil)))) - (term-white-inv-face ((t (nil)))) - (term-white-ul-face ((t (nil)))) - (term-whitebg ((t (nil)))) - (term-yellow ((t (nil)))) - (term-yellow-bold-face ((t (nil)))) - (term-yellow-face ((t (nil)))) - (term-yellow-inv-face ((t (nil)))) - (term-yellow-ul-face ((t (nil)))) - (term-yellowbg ((t (nil)))) - (tex-math-face ((t (nil)))) - (texinfo-heading-face ((t (nil)))) - (text-cursor ((t (nil)))) - (tool-bar ((t (nil)))) - (tooltip ((t (nil)))) - (trailing-whitespace ((t (nil)))) - (underline ((t (:underline t)))) - (variable-pitch ((t (nil)))) - (vc-annotate-face-0046FF ((t (nil)))) - (vcursor ((t (nil)))) - (vertical-divider ((t (nil)))) - (vhdl-font-lock-attribute-face ((t (nil)))) - (vhdl-font-lock-directive-face ((t (nil)))) - (vhdl-font-lock-enumvalue-face ((t (nil)))) - (vhdl-font-lock-function-face ((t (nil)))) - (vhdl-font-lock-generic-/constant-face ((t (nil)))) - (vhdl-font-lock-prompt-face ((t (nil)))) - (vhdl-font-lock-reserved-words-face ((t (nil)))) - (vhdl-font-lock-translate-off-face ((t (nil)))) - (vhdl-font-lock-type-face ((t (nil)))) - (vhdl-font-lock-variable-face ((t (nil)))) - (vhdl-speedbar-architecture-face ((t (nil)))) - (vhdl-speedbar-architecture-selected-face ((t (nil)))) - (vhdl-speedbar-configuration-face ((t (nil)))) - (vhdl-speedbar-configuration-selected-face ((t (nil)))) - (vhdl-speedbar-entity-face ((t (nil)))) - (vhdl-speedbar-entity-selected-face ((t (nil)))) - (vhdl-speedbar-instantiation-face ((t (nil)))) - (vhdl-speedbar-instantiation-selected-face ((t (nil)))) - (vhdl-speedbar-package-face ((t (nil)))) - (vhdl-speedbar-package-selected-face ((t (nil)))) - (vhdl-speedbar-subprogram-face ((t (nil)))) - (viper-minibuffer-emacs-face ((t (nil)))) - (viper-minibuffer-insert-face ((t (nil)))) - (viper-minibuffer-vi-face ((t (nil)))) - (viper-replace-overlay-face ((t (nil)))) - (viper-search-face ((t (nil)))) - (vm-xface ((t (nil)))) - (vmpc-pre-sig-face ((t (nil)))) - (vmpc-sig-face ((t (nil)))) - (w3m-anchor-face ((t (nil)))) - (w3m-arrived-anchor-face ((t (nil)))) - (w3m-header-line-location-content-face ((t (nil)))) - (w3m-header-line-location-title-face ((t (nil)))) - (white ((t (nil)))) - (widget ((t (nil)))) - (widget-button-face ((t (nil)))) - (widget-button-pressed-face ((t (nil)))) - (widget-documentation-face ((t (nil)))) - (widget-field-face ((t (nil)))) - (widget-inactive-face ((t (nil)))) - (widget-single-line-field-face ((t (nil)))) - (woman-addition-face ((t (nil)))) - (woman-bold-face ((t (nil)))) - (woman-italic-face ((t (nil)))) - (woman-unknown-face ((t (nil)))) - (x-face ((t (nil)))) - (xrdb-option-name-face ((t (nil)))) - (xref-keyword-face ((t (nil)))) - (xref-list-default-face ((t (nil)))) - (xref-list-pilot-face ((t (nil)))) - (xref-list-symbol-face ((t (nil)))) - (yellow ((t (nil)))) - (zmacs-region ((t (nil))))))) - -(defun color-theme-feng-shui () - "Color theme by walterh@rocketmail.com (www.xanadb.com), created - 2003-10-16. Evolved from color-theme-katester" - (interactive) - (color-theme-install - '(color-theme-feng-shui - ((background-color . "ivory") - (background-mode . light) - (border-color . "black") - (cursor-color . "slateblue") - (foreground-color . "black") - (mouse-color . "slateblue")) - ((help-highlight-face . underline) - (list-matching-lines-face . bold) - (view-highlight-face . highlight) - (widget-mouse-face . highlight)) - (default ((t (:stipple nil :background "ivory" :foreground "black" -:inverse-video nil :box nil :strike-through nil :overline nil -:underline nil :slant normal :weight normal :height 90 :width normal -:family "outline-courier new")))) - (bold ((t (:bold t :weight bold)))) - (bold-italic ((t (:italic t :bold t :slant italic :weight bold)))) - (border ((t (:background "black")))) - (cursor ((t (:background "slateblue" :foreground "black")))) - (fixed-pitch ((t (:family "courier")))) - (font-lock-builtin-face ((t (:foreground "black")))) - (font-lock-comment-face ((t (:italic t :background "seashell" -:slant italic)))) - (font-lock-constant-face ((t (:foreground "darkblue")))) - (font-lock-doc-face ((t (:background "lemonChiffon")))) - (font-lock-function-name-face ((t (:bold t :underline t :weight -bold)))) - (font-lock-keyword-face ((t (:foreground "blue")))) - (font-lock-string-face ((t (:background "lemonChiffon")))) - (font-lock-type-face ((t (:foreground "black")))) - (font-lock-variable-name-face ((t (:foreground "black")))) - (font-lock-warning-face ((t (:bold t :foreground "Red" :weight -bold)))) - (fringe ((t (:background "grey95")))) - (header-line ((t (:bold t :weight bold :underline t :background -"grey90" :foreground "grey20" :box nil)))) - (highlight ((t (:background "mistyRose" :foreground "black")))) - (isearch ((t (:background "magenta4" :foreground -"lightskyblue1")))) - (isearch-lazy-highlight-face ((t (:background "paleturquoise")))) - (italic ((t (:italic t :slant italic)))) - (menu ((t (nil)))) - (mode-line ((t (:bold t :background "mistyRose" :foreground "navy" -:underline t :weight bold)))) - (mouse ((t (:background "slateblue")))) - (region ((t (:background "lavender" :foreground "black")))) - (scroll-bar ((t (nil)))) - (secondary-selection ((t (:background "yellow")))) - (tool-bar ((t (:background "grey75" :foreground "black" :box -(:line-width 1 :style released-button))))) - (trailing-whitespace ((t (:background "red")))) - (underline ((t (:underline t)))) - (variable-pitch ((t (:family "helv")))) - (widget-button-face ((t (:bold t :weight bold)))) - (widget-button-pressed-face ((t (:foreground "red")))) - (widget-documentation-face ((t (:foreground "dark green")))) - (widget-field-face ((t (:background "gray85")))) - (widget-inactive-face ((t (:foreground "dim gray")))) - (widget-single-line-field-face ((t (:background "gray85"))))))) - - -(defun color-theme-renegade () - "Renegade BBS styled color theme. Works well in X and terminals. -Created by Dave Benjamin Dec 23 2005." - (interactive) - (color-theme-install - '(color-theme-renegade - ((background-color . "black") - (background-mode . dark) - (border-color . "black") - (cursor-color . "black") - (foreground-color . "cyan3") - (mouse-color . "white")) - (default ((t (nil)))) - (bold ((t (:bold t :foreground "cyan" :weight bold)))) - (bold-italic ((t (:italic t :bold t :foreground "cyan" :slant italic :weight bold)))) - (fixed-pitch ((t (:family "courier")))) - (font-lock-builtin-face ((t (:bold t :foreground "cornflower blue" :weight bold)))) - (font-lock-comment-face ((t (:bold t :foreground "yellow" :weight bold)))) - (font-lock-constant-face ((t (:foreground "magenta3")))) - (font-lock-doc-face ((t (:bold t :weight bold :foreground "red")))) - (font-lock-function-name-face ((t (:foreground "gray")))) - (font-lock-keyword-face ((t (:bold t :foreground "cyan" :weight bold)))) - (font-lock-string-face ((t (:bold t :foreground "red" :weight bold)))) - (font-lock-type-face ((t (:bold t :foreground "cyan" :weight bold)))) - (font-lock-variable-name-face ((t (:foreground "cyan3")))) - (font-lock-warning-face ((t (:bold t :foreground "red" :weight bold)))) - (fringe ((t (:background "gray32")))) - (highlight ((t (:background "blue")))) - (isearch ((t (:background "blue" :foreground "cyan3")))) - (isearch-lazy-highlight-face ((t (:background "turquoise3" :foreground "black")))) - (menu ((t (nil)))) - (mode-line ((t (:bold t :background "blue3" :foreground "white" :box (:line-width -1 :style released-button) :weight bold)))) - (mouse ((t (:background "white")))) - (region ((t (:bold t :background "white" :foreground "blue" :weight bold)))) - (scroll-bar ((t (nil)))) - (trailing-whitespace ((t (:background "red")))) - (underline ((t (:underline t)))) - (variable-pitch ((t (:family "helv"))))))) - -;;; color-theme-library.el ends here diff --git a/dotemacs/.emacs.d/vala-mode.el b/dotemacs/.emacs.d/vala-mode.el deleted file mode 100644 index 0358790..0000000 --- a/dotemacs/.emacs.d/vala-mode.el +++ /dev/null @@ -1,395 +0,0 @@ -;;; vala-mode.el --- Vala mode derived mode - -;; Author: 2005 Dylan R. E. Moonfire -;; 2008 Étienne BERSAC -;; Maintainer: Étienne BERSAC -;; Created: 2008 May the 4th -;; Modified: May 2008 -;; Version: 0.1 -;; Keywords: vala languages oop - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2 of the License, or -;; (at your option) any later version. -;; -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. -;; -;; You should have received a copy of the GNU General Public License -;; along with this program; see the file COPYING. If not, write to -;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. - -;;; Commentary: -;; -;; See http://live.gnome.org/Vala for details about Vala language. -;; -;; This is a separate mode to implement the Vala constructs and -;; font-locking. It is mostly the csharp-mode from -;; http://mfgames.com/linux/csharp-mode with vala specific keywords -;; and filename suffixes. -;; -;; Note: The interface used in this file requires CC Mode 5.30 or -;; later. - -;;; .emacs (don't put in (require 'vala-mode)) -;; (autoload 'vala-mode "vala-mode" "Major mode for editing Vala code." t) -;; (setq auto-mode-alist -;; (append '(("\\.vala$" . vala-mode)) auto-mode-alist)) - -;;; Versions: -;; -;; 0.1 : Initial version based on csharp-mode -;; - -;; This is a copy of the function in cc-mode which is used to handle -;; the eval-when-compile which is needed during other times. -(defun c-filter-ops (ops opgroup-filter op-filter &optional xlate) - ;; See cc-langs.el, a direct copy. - (unless (listp (car-safe ops)) - (setq ops (list ops))) - (cond ((eq opgroup-filter t) - (setq opgroup-filter (lambda (opgroup) t))) - ((not (functionp opgroup-filter)) - (setq opgroup-filter `(lambda (opgroup) - (memq opgroup ',opgroup-filter))))) - (cond ((eq op-filter t) - (setq op-filter (lambda (op) t))) - ((stringp op-filter) - (setq op-filter `(lambda (op) - (string-match ,op-filter op))))) - (unless xlate - (setq xlate 'identity)) - (c-with-syntax-table (c-lang-const c-mode-syntax-table) - (delete-duplicates - (mapcan (lambda (opgroup) - (when (if (symbolp (car opgroup)) - (when (funcall opgroup-filter (car opgroup)) - (setq opgroup (cdr opgroup)) - t) - t) - (mapcan (lambda (op) - (when (funcall op-filter op) - (let ((res (funcall xlate op))) - (if (listp res) res (list res))))) - opgroup))) - ops) - :test 'equal))) - -;; This inserts the bulk of the code. -(require 'cc-mode) - -;; These are only required at compile time to get the sources for the -;; language constants. (The cc-fonts require and the font-lock -;; related constants could additionally be put inside an -;; (eval-after-load "font-lock" ...) but then some trickery is -;; necessary to get them compiled.) -(eval-when-compile - (let ((load-path - (if (and (boundp 'byte-compile-dest-file) - (stringp byte-compile-dest-file)) - (cons (file-name-directory byte-compile-dest-file) load-path) - load-path))) - (load "cc-mode" nil t) - (load "cc-fonts" nil t) - (load "cc-langs" nil t))) - -(eval-and-compile - ;; Make our mode known to the language constant system. Use Java - ;; mode as the fallback for the constants we don't change here. - ;; This needs to be done also at compile time since the language - ;; constants are evaluated then. - (c-add-language 'vala-mode 'java-mode)) - -;; Java uses a series of regexes to change the font-lock for class -;; references. The problem comes in because Java uses Pascal (leading -;; space in names, SomeClass) for class and package names, but -;; Camel-casing (initial lowercase, upper case in words, -;; i.e. someVariable) for variables. -;;(error (byte-compile-dest-file)) -;;(error (c-get-current-file)) -(c-lang-defconst c-opt-after-id-concat-key - vala (if (c-lang-const c-opt-identifier-concat-key) - (c-lang-const c-symbol-start))) - -(c-lang-defconst c-basic-matchers-before - vala `( -;;;; Font-lock the attributes by searching for the -;;;; appropriate regex and marking it as TODO. - ;;,`(,(concat "\\(" vala-attribute-regex "\\)") - ;; 0 font-lock-function-name-face) - - ;; Put a warning face on the opener of unclosed strings that - ;; can't span lines. Later font - ;; lock packages have a `font-lock-syntactic-face-function' for - ;; this, but it doesn't give the control we want since any - ;; fontification done inside the function will be - ;; unconditionally overridden. - ,(c-make-font-lock-search-function - ;; Match a char before the string starter to make - ;; `c-skip-comments-and-strings' work correctly. - (concat ".\\(" c-string-limit-regexp "\\)") - '((c-font-lock-invalid-string))) - - ;; Fontify keyword constants. - ,@(when (c-lang-const c-constant-kwds) - (let ((re (c-make-keywords-re nil - (c-lang-const c-constant-kwds)))) - `((eval . (list ,(concat "\\<\\(" re "\\)\\>") - 1 c-constant-face-name))))) - - ;; Fontify all keywords except the primitive types. - ,`(,(concat "\\<" (c-lang-const c-regular-keywords-regexp)) - 1 font-lock-keyword-face) - - ;; Fontify leading identifiers in fully - ;; qualified names like "Foo.Bar". - ,@(when (c-lang-const c-opt-identifier-concat-key) - `((,(byte-compile - `(lambda (limit) - (while (re-search-forward - ,(concat "\\(\\<" ; 1 - "\\(" (c-lang-const c-symbol-key) - "\\)" ; 2 - "[ \t\n\r\f\v]*" - (c-lang-const - c-opt-identifier-concat-key) - "[ \t\n\r\f\v]*" - "\\)" - "\\(" - (c-lang-const - c-opt-after-id-concat-key) - "\\)") - limit t) - (unless (progn - (goto-char (match-beginning 0)) - (c-skip-comments-and-strings limit)) - (or (get-text-property (match-beginning 2) 'face) - (c-put-font-lock-face (match-beginning 2) - (match-end 2) - c-reference-face-name)) - (goto-char (match-end 1))))))))) - )) - -;; Vala does not allow a leading qualifier operator. It also doesn't -;; allow the ".*" construct of Java. So, we redo this regex without -;; the "\\|\\*" regex. -(c-lang-defconst c-identifier-key - vala (concat "\\(" (c-lang-const c-symbol-key) "\\)" ; 1 - (concat "\\(" - "[ \t\n\r\f\v]*" - (c-lang-const c-opt-identifier-concat-key) - "[ \t\n\r\f\v]*" - (concat "\\(" - "\\(" (c-lang-const c-symbol-key) "\\)" - "\\)") - "\\)*"))) - -;; Vala has a few rules that are slightly different than Java for -;; operators. This also removed the Java's "super" and replaces it -;; with the Vala's "base". -(c-lang-defconst c-operators - vala `((prefix "base"))) - -;; Vala directives ? -;; (c-lang-defconst c-opt-cpp-prefix -;; csharp "^\\s *#.*") - - -;; Vala uses the following assignment operators -(c-lang-defconst c-assignment-operators - vala '("=" "*=" "/=" "%=" "+=" "-=" ">>=" "<<=" - "&=" "^=" "|=" "++" "--")) - -;; This defines the primative types for Vala -(c-lang-defconst c-primitive-type-kwds - vala '("void" "char" "int" "float" "double" "string")) - -;; The keywords that define that the following is a type, such as a -;; class definition. -(c-lang-defconst c-type-prefix-kwds - vala '("class" "interface" "struct" "enum" "signal")) - -;; Type modifier keywords. They appear anywhere in types, but modifiy -;; instead create one. -(c-lang-defconst c-type-modifier-kwds - vala '("const")) - -;; Structures that are similiar to classes. -(c-lang-defconst c-class-decl-kwds - vala '("class" "interface")) - -;; The various modifiers used for class and method descriptions. -(c-lang-defconst c-modifier-kwds - vala '("public" "partial" "private" "const" "abstract" - "protected" "ref" "in" "out" "static" "virtual" - "override" "params" "internal" "weak" "owned" - "unowned")) - -;; We don't use the protection level stuff because it breaks the -;; method indenting. Not sure why, though. -(c-lang-defconst c-protection-kwds - vala nil) - -;; Define the keywords that can have something following after them. -(c-lang-defconst c-type-list-kwds - vala '("struct" "class" "interface" "is" "as" - "delegate" "event" "set" "get" "add" "remove" - "callback" "signal" "var" "default")) - -;; This allows the classes after the : in the class declartion to be -;; fontified. -(c-lang-defconst c-typeless-decl-kwds - vala '(":")) - -;; Sets up the enum to handle the list properly -(c-lang-defconst c-brace-list-decl-kwds - vala '("enum" "errordomain")) - -;; We need to remove Java's package keyword -(c-lang-defconst c-ref-list-kwds - vala '("using" "namespace" "construct")) - -;; Follow-on blocks that don't require a brace -(c-lang-defconst c-block-stmt-2-kwds - vala '("for" "if" "switch" "while" "catch" "foreach" "lock")) - -;; Statements that break out of braces -(c-lang-defconst c-simple-stmt-kwds - vala '("return" "continue" "break" "throw")) - -;; Statements that allow a label -;; TODO? -(c-lang-defconst c-before-label-kwds - vala nil) - -;; Constant keywords -(c-lang-defconst c-constant-kwds - vala '("true" "false" "null")) - -;; Keywords that start "primary expressions." -(c-lang-defconst c-primary-expr-kwds - vala '("this" "base")) - -;; We need to treat namespace as an outer block to class indenting -;; works properly. -(c-lang-defconst c-other-block-decl-kwds - vala '("namespace")) - -;; We need to include the "in" for the foreach -(c-lang-defconst c-other-kwds - vala '("in" "sizeof" "typeof")) - -(require 'cc-awk) - -(c-lang-defconst c-at-vsemi-p-fn - vala 'c-awk-at-vsemi-p) - - -(defcustom vala-font-lock-extra-types nil - "*List of extra types (aside from the type keywords) to recognize in Vala mode. -Each list item should be a regexp matching a single identifier.") - -(defconst vala-font-lock-keywords-1 (c-lang-const c-matchers-1 vala) - "Minimal highlighting for Vala mode.") - -(defconst vala-font-lock-keywords-2 (c-lang-const c-matchers-2 vala) - "Fast normal highlighting for Vala mode.") - -(defconst vala-font-lock-keywords-3 (c-lang-const c-matchers-3 vala) - "Accurate normal highlighting for Vala mode.") - -(defvar vala-font-lock-keywords vala-font-lock-keywords-3 - "Default expressions to highlight in Vala mode.") - -(defvar vala-mode-syntax-table - nil - "Syntax table used in vala-mode buffers.") -(or vala-mode-syntax-table - (setq vala-mode-syntax-table - (funcall (c-lang-const c-make-mode-syntax-table vala)))) - -(defvar vala-mode-abbrev-table nil - "Abbreviation table used in vala-mode buffers.") -(c-define-abbrev-table 'vala-mode-abbrev-table - ;; Keywords that if they occur first on a line - ;; might alter the syntactic context, and which - ;; therefore should trig reindentation when - ;; they are completed. - '(("else" "else" c-electric-continued-statement 0) - ("while" "while" c-electric-continued-statement 0) - ("catch" "catch" c-electric-continued-statement 0) - ("finally" "finally" c-electric-continued-statement 0))) - -(defvar vala-mode-map (let ((map (c-make-inherited-keymap))) - ;; Add bindings which are only useful for Vala - map) - "Keymap used in vala-mode buffers.") - -;;(easy-menu-define vala-menu vala-mode-map "Vala Mode Commands" -;; ;; Can use `vala' as the language for `c-mode-menu' -;; ;; since its definition covers any language. In -;; ;; this case the language is used to adapt to the -;; ;; nonexistence of a cpp pass and thus removing some -;; ;; irrelevant menu alternatives. -;; (cons "Vala" (c-lang-const c-mode-menu vala))) - -;;; Autoload mode trigger -(add-to-list 'auto-mode-alist '("\\.vala$" . vala-mode)) -(add-to-list 'auto-mode-alist '("\\.vapi$" . vala-mode)) - -;; Custom variables -(defcustom vala-mode-hook nil - "*Hook called by `vala-mode'." - :type 'hook - :group 'c) - -;;; The entry point into the mode -;;;###autoload -(defun vala-mode () - "Major mode for editing Vala code. -This is a simple example of a separate mode derived from CC Mode -to support a language with syntax similar to -C#/C/C++/ObjC/Java/IDL/Pike. - -The hook `c-mode-common-hook' is run with no args at mode -initialization, then `vala-mode-hook'. - -Key bindings: -\\{vala-mode-map}" - (interactive) - (kill-all-local-variables) - (c-initialize-cc-mode t) - (set-syntax-table vala-mode-syntax-table) - (setq major-mode 'vala-mode - mode-name "Vala" - local-abbrev-table vala-mode-abbrev-table - abbrev-mode t) - (use-local-map c-mode-map) - ;; `c-init-language-vars' is a macro that is expanded at compile - ;; time to a large `setq' with all the language variables and their - ;; customized values for our language. - (c-init-language-vars vala-mode) - ;; `c-common-init' initializes most of the components of a CC Mode - ;; buffer, including setup of the mode menu, font-lock, etc. - ;; There's also a lower level routine `c-basic-common-init' that - ;; only makes the necessary initialization to get the syntactic - ;; analysis and similar things working. - (c-common-init 'vala-mode) - ;;(easy-menu-add vala-menu) - (c-set-style "linux") - (setq indent-tabs-mode t) - (setq c-basic-offset 4) - (setq tab-width 4) - (c-toggle-auto-newline -1) - (c-toggle-hungry-state -1) - (run-hooks 'c-mode-common-hook) - (run-hooks 'vala-mode-hook) - (c-update-modeline)) - -(provide 'vala-mode) - -;;; vala-mode.el ends here diff --git a/dotemacs/.gitignore b/dotemacs/.gitignore deleted file mode 100644 index c531d98..0000000 --- a/dotemacs/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.elc diff --git a/dotemacs/install.sh b/dotemacs/install.sh deleted file mode 100644 index 18900b1..0000000 --- a/dotemacs/install.sh +++ /dev/null @@ -1,14 +0,0 @@ -INSTALL_BASEDIR=$1 - -echo "Linking $INSTALL_BASEDIR/.emacs to $HOME/.emacs" -ln -sf $INSTALL_BASEDIR/.emacs $HOME/.emacs -if [ -d $HOME/.emacs.d ]; then - if [ -d $HOME/.emacs.d_backup ]; then - echo "Removing old $HOME/.emacs.d_backup" - rm -rf $HOME/.emacs.d_backup - fi - echo "Moving old $HOME/.emacs.d" - mv $HOME/.emacs.d $HOME/.emacs.d_backup -fi -echo "Linking $INSTALL_BASEDIR/.emacs to $HOME/.emacs" -ln -sf $INSTALL_BASEDIR/.emacs.d $HOME/.emacs.d diff --git a/install.bat b/install.bat deleted file mode 100644 index e3c524e..0000000 --- a/install.bat +++ /dev/null @@ -1,7 +0,0 @@ -@echo off -REM An install script for windows - -echo "Copying .emacs to %APPDATA%\\" -copy /Y .emacs %APPDATA%\ -echo "Copying .emacs.d to %APPDATA%\\" -copy /Y .emacs.d %APPDATA%\ \ No newline at end of file diff --git a/install.sh b/install.sh old mode 100755 new mode 100644 index b7da86b..18900b1 --- a/install.sh +++ b/install.sh @@ -1,7 +1,5 @@ -INSTALL_BASEFILE=`readlink -f $0` -INSTALL_BASEDIR=`dirname $INSTALL_BASEFILE` +INSTALL_BASEDIR=$1 -# EMACS echo "Linking $INSTALL_BASEDIR/.emacs to $HOME/.emacs" ln -sf $INSTALL_BASEDIR/.emacs $HOME/.emacs if [ -d $HOME/.emacs.d ]; then @@ -14,27 +12,3 @@ if [ -d $HOME/.emacs.d ]; then fi echo "Linking $INSTALL_BASEDIR/.emacs to $HOME/.emacs" ln -sf $INSTALL_BASEDIR/.emacs.d $HOME/.emacs.d - -# XDEFAULTS -echo "Linking $INSTALL_BASEDIR/.Xdefaults to $HOME/.Xdefaults" -ln -sf $INSTALL_BASEDIR/.Xdefaults $HOME/.Xdefaults - -# XMODMAP -echo "Linking $INSTALL_BASEDIR/.Xmodmap to $HOME/.Xmodmap" -ln -sf $INSTALL_BASEDIR/.Xmodmap $HOME/.Xmodmap - -# conkeror -echo "Linking $INSTALL_BASEDIR/.conkerorrc to $HOME/.conkerorrc" -ln -sf $INSTALL_BASEDIR/.conkerorrc $HOME/.conkerorrc - -echo "Linking #INSTALL_BASEDIR/awesome to $HOME/.config/awesome" -if [ -d $HOME/.config/awesome ]; then - if [ -d $HOME/.config/awesome_backup ]; then - echo "Removing old $HOME/.config/awesome_backup" - rm -rf $HOME/.config/awesome_backup - fi - echo "Moving old $HOME/.config/awesome" - mv $HOME/.config/awesome $HOME/.config/awesome_backup -fi -echo "Linking $INSTALL_BASEDIR/awesome to $HOME/.config/awesome" -ln -sf $INSTALL_BASEDIR/awesome $HOME/.config/awesome \ No newline at end of file -- cgit v1.2.3-54-g00ecf