Added xmodmap
Added rainbow.el to emacs Showing some extra messages with install.bat and install.sh Added some elisp to check which distro I'm on at that moment, though I don't yet use it
This commit is contained in:
parent
104692129f
commit
c38f147ead
7 changed files with 256 additions and 19 deletions
18
.Xdefaults
18
.Xdefaults
|
@ -25,20 +25,4 @@ urxvt*shading: 20
|
||||||
urxvt*transparent: true
|
urxvt*transparent: true
|
||||||
! - color scheme
|
! - color scheme
|
||||||
urxvt.background: #000000
|
urxvt.background: #000000
|
||||||
urxvt.foreground: #EBEBFF
|
urxvt.foreground: #EBEBFF
|
||||||
urxvt*color0: #000000 ! black
|
|
||||||
urxvt*color1: #E01010 ! red
|
|
||||||
urxvt*color2: #00AA00 ! green
|
|
||||||
urxvt*color3: #FFFF00 ! yellow
|
|
||||||
urxvt*color4: #112037 ! blue
|
|
||||||
urxvt*color5: #A020F0 ! purple
|
|
||||||
urxvt*color6: #5B5BC7 ! cyan
|
|
||||||
urxvt*color7: #FEFEFE ! white
|
|
||||||
urxvt*color8: #6A6A6A ! bright-black
|
|
||||||
urxvt*color9: #FF5555 ! bright-red
|
|
||||||
urxvt*color10: #90EE90 ! bright-green
|
|
||||||
urxvt*color11: #FFFF2F ! bright-yellow
|
|
||||||
urxvt*color12: #5B5BC7 ! bright-blue
|
|
||||||
urxvt*color13: #E628BA ! bright-purple
|
|
||||||
urxvt*color14: #7D7DFB ! bright-cyan
|
|
||||||
urxvt*color15: #FFFFFF ! bright-white
|
|
1
.Xmodmap
Normal file
1
.Xmodmap
Normal file
|
@ -0,0 +1 @@
|
||||||
|
pointer = 3 2 1
|
|
@ -11,6 +11,8 @@
|
||||||
"~/.emacs.d/sqlplus.el" "A Major mode for communicating with Oracle" t)
|
"~/.emacs.d/sqlplus.el" "A Major mode for communicating with Oracle" t)
|
||||||
(autoload 'batch-mode
|
(autoload 'batch-mode
|
||||||
"~/.emacs.d/batch-mode.el" "A Major mode for editing Batch files" t)
|
"~/.emacs.d/batch-mode.el" "A Major mode for editing Batch files" t)
|
||||||
|
(autoload 'rainbow-mode
|
||||||
|
"~/.emacs.d/rainbow-mode.el" "A Minor mode for showing colors inline" t)
|
||||||
|
|
||||||
(load-file "~/.emacs.d/auto-complete-config.el")
|
(load-file "~/.emacs.d/auto-complete-config.el")
|
||||||
(require 'auto-complete-config)
|
(require 'auto-complete-config)
|
29
.emacs.d/ports.el
Normal file
29
.emacs.d/ports.el
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
;; function copied from dim-ports.al by Dimitri Fontaine
|
||||||
|
;; http://git.naquadah.org/?p=~dim/emacs.d.git;a=summary
|
||||||
|
(defun lsb-release (&optional property)
|
||||||
|
"Parse lsb-release output and return an alist, or the value for the given property"
|
||||||
|
(when (file-executable-p "/usr/bin/lsb_release")
|
||||||
|
(let* ((lsbr (shell-command-to-string "/usr/bin/lsb_release -a 2>/dev/null"))
|
||||||
|
(props (split-string lsbr "[:\n]" t))
|
||||||
|
(kv))
|
||||||
|
(while (>= (length props) 2)
|
||||||
|
;; Don't keep extra spaces. This way seems like the easy one in elisp.
|
||||||
|
(let ((key (mapconcat 'identity (split-string (car props)) " "))
|
||||||
|
(val (mapconcat 'identity (split-string (cadr props)) " ")))
|
||||||
|
(setq kv (add-to-list 'kv (cons key val)))
|
||||||
|
(setq props (cddr props))))
|
||||||
|
(if property
|
||||||
|
(cdr (assoc property (lsb-release)))
|
||||||
|
kv))))
|
||||||
|
|
||||||
|
;; function copied from dim-ports.al by Dimitri Fontaine
|
||||||
|
;; http://git.naquadah.org/?p=~dim/emacs.d.git;a=summary
|
||||||
|
(defmacro when-running-ubuntu (&rest body)
|
||||||
|
"eval body only when running under Ubuntu"
|
||||||
|
(when (equal (lsb-release "Distributor ID") "Ubuntu") ,@body))
|
||||||
|
|
||||||
|
;; function adapted from dim-ports.al by Dimitri Fontaine
|
||||||
|
;; http://git.naquadah.org/?p=~dim/emacs.d.git;a=summary
|
||||||
|
(defmacro when-running-fedora (&rest body)
|
||||||
|
"eval body only when running under Fedora"
|
||||||
|
(when (equal (lsb-release "Distributor ID") "Fedora") ,@body))
|
207
.emacs.d/rainbow-mode.el
Normal file
207
.emacs.d/rainbow-mode.el
Normal file
|
@ -0,0 +1,207 @@
|
||||||
|
;;; rainbow-mode.el --- prints color strings with colored background
|
||||||
|
|
||||||
|
;; Copyright (C) 2010 Julien Danjou
|
||||||
|
|
||||||
|
;; Author: Julien Danjou <julien@danjou.info>
|
||||||
|
;; 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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
;;; 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)
|
|
@ -1,5 +1,7 @@
|
||||||
@echo off
|
@echo off
|
||||||
REM An install script for windows
|
REM An install script for windows
|
||||||
|
|
||||||
|
echo "Copying .emacs to %APPDATA%\\"
|
||||||
copy /Y .emacs %APPDATA%\
|
copy /Y .emacs %APPDATA%\
|
||||||
|
echo "Copying .emacs.d to %APPDATA%\\"
|
||||||
copy /Y .emacs.d %APPDATA%\
|
copy /Y .emacs.d %APPDATA%\
|
16
install.sh
16
install.sh
|
@ -2,11 +2,23 @@ INSTALL_BASEFILE=`readlink -f $0`
|
||||||
INSTALL_BASEDIR=`dirname $INSTALL_BASEFILE`
|
INSTALL_BASEDIR=`dirname $INSTALL_BASEFILE`
|
||||||
|
|
||||||
# EMACS
|
# EMACS
|
||||||
|
echo "Linking $INSTALL_BASEDIR/.emacs to $HOME/.emacs"
|
||||||
ln -sf $INSTALL_BASEDIR/.emacs $HOME/.emacs
|
ln -sf $INSTALL_BASEDIR/.emacs $HOME/.emacs
|
||||||
if [ -d $HOME/.emacs.d ]; then
|
if [ -d $HOME/.emacs.d ]; then
|
||||||
rm -rf $HOME/.emacs.d
|
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
|
fi
|
||||||
|
echo "Linking $INSTALL_BASEDIR/.emacs to $HOME/.emacs"
|
||||||
ln -sf $INSTALL_BASEDIR/.emacs.d $HOME/
|
ln -sf $INSTALL_BASEDIR/.emacs.d $HOME/
|
||||||
|
|
||||||
# XDEFAULTS
|
# XDEFAULTS
|
||||||
ln -sf $INSTALL_BASEDIR/.Xdefaults $HOME/.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
|
Loading…
Reference in a new issue