;;SECTION: font lock preferences ; actually, disable (for tags search) until ; C-S-l or something is done? (nevermind - etags ; can search a file without visiting it) (load-library "font-lock") (global-set-key [?\C-\S-l] 'font-lock-mode) (global-font-lock-mode t) (setq font-lock-maximum-decoration t) (setq font-lock-face-attributes ;; a tool for picking colors and fonts more fluently would be ;; welcome - could run ito in frame B with code in frame A ;; to view changes in realtime (could drag and drop be faked ;; in emacs?) ;; in more detail: ;; mung through emacs-19.nn/etc/rgb.txt ;; group by R>G>B (6 groups), R=G>B (3), R>G=B (3) and ;; R=G=B (1), then separate into 12 groups by hue ;; (based on top 2 colors (or top 1, if one of R>G=B - ;; (R=G=B in a separate group)), then sort by saturation ;; (ratio of top 2 colors to 3rd) and brightness (total ;; (of R,G and B). Create a minimal frame for each hue ;; (small font?), put each color name in a 3x8 box ;; (color as foreground on top and bottom line, as ;; background on middle line (reduplicate name if short)) ;; frame is whatever size (squarish) rectangle (saturation ;; on one axis, brightness on the other) is needed ;; for the # of colors of that hue. Set up some frames ;; for fonts, too, allow drag and drop onto face names. ;; (might be another frame with each of the 12 hues + ;; white/gray/black to pop a hue's frame to front) '((font-lock-comment-face "Orange") (font-lock-string-face "LightSalmon") (font-lock-keyword-face "SandyBrown") (font-lock-function-name-face "Salmon") (font-lock-variable-name-face "Sienna1") (font-lock-type-face "Goldenrod1") (font-lock-reference-face "Goldenrod1"))) (setq compile-command "make -k") (global-set-key "\^x\^e" 'compile) (global-set-key "\^x\^j" 'jdb) (global-set-key "\eG" 'goto-line) (global-set-key "\eg" 'grep) (global-set-key "\eW" 'kill-region) (global-set-key "\eq" 'query-replace) (global-set-key "\eQ" 'query-replace-regexp) (global-set-key "\eZ" 'shell) (global-set-key "\eo" 'occur) (global-set-key "\^x\^r" 'rename-uniquely) (global-set-key "\^x\^R" 'rename-buffer) (global-set-key "\^xa" 'append-to-file) (global-set-key "\C-cbs" 'backward-sexp) (global-set-key [(shift f3)] (lambda () (interactive) (switch-to-buffer "*scratch*"))) (global-set-key [home] 'beginning-of-line) (global-set-key [end] 'end-of-line) ;; better buffer cycling (global-set-key [(control return)] 'forward-buffer) (global-set-key [(shift return)] 'backward-buffer) ;; cycle through buffers, ignoring uninteresting ones (defun backward-buffer () (interactive) "Switch to previously selected buffer." (let* ((list (cdr (buffer-list))) (buffer (car list))) (while (and (cdr list) (string-match "\\*" (buffer-name buffer))) (progn (setq list (cdr list)) (setq buffer (car list)))) (bury-buffer) (switch-to-buffer buffer))) (defun forward-buffer () (interactive) "Opposite of backward-buffer." (let* ((list (reverse (buffer-list))) (buffer (car list))) (while (and (cdr list) (string-match "\\*" (buffer-name buffer))) (progn (setq list (cdr list)) (setq buffer (car list)))) (switch-to-buffer buffer))) ;; Font-Lock is a syntax-highlighting package. When it is enabled and you ;; are editing a program, different parts of your program will appear in ;; different fonts or colors. For example, with the code below, comments ;; appear in red italics, function names in function definitions appear in ;; blue bold, etc. The code below will cause font-lock to automatically be ;; enabled when you edit C, C++, Emacs-Lisp, and many other kinds of ;; programs. (setq font-lock-use-default-fonts nil) (setq font-lock-use-default-colors t) ;;; Display the time on modeline (condition-case err (display-time) (error (message "Cannot display time %s" (cdr err)))) ;;; This is to not display the initial message (which says to a novice ;;; user what to do first if he/she is confused). (setq inhibit-startup-message t) ;;; Highlight during query (setq query-replace-highlight t) ;;; ;;; Highlight incremental search (setq search-highlight t) ;;; ;;; Automatically makes the matching paren stand out in color. (condition-case err (show-paren-mode t) (error (message "Cannot show parens %s" (cdr err)))) ;;; ;; set the tab width ;; (setq tab-width 2) ;; (setq tab-interval 2) ;; try to get tab-width taken care of in java mode (add-hook 'java-mode-hook (function (lambda() (setq c-basic-offset 1)))) ;;))) ;; set default font ;; (set-default-font "-*-clean-medium-r-normal-*-8-*-75-75-*-50-iso8859-1") ;; try to set the indentation to two spaces (setq c-indent-level 1) ;; Change the indentation amount to 4 spaces instead of 2. ;; You have to do it in this complicated way because of the ;; strange way the cc-mode initializes the value of `c-basic-offset'. (add-hook 'c-mode-hook (lambda () (setq c-basic-offset 1))) ;; Set frame size and position ;; (set-frame-position (selected-frame) 70 5) ;; (set-frame-height (selected-frame) 80) ;; (set-frame-width (selected-frame) 81) (setq transient-mark-mode t) ;; PERL STUFF (setq perl-indent-level 1) (setq set-cursor-color "red") ;; all of this was just to get the red cursor color (setq default-frame-alist '( ;; (top . 50) (left . 350) (width . 81) (height . 75) (cursor-color . "red") (cursor-type . box) (foreground-color . "black") (background-color . "white") ;; (font . "-*-clean-medium-r-normal-*-8-*-75-75-*-50-iso8859-1") ;; (font . "-*-clean-*-*-*-*-6-60-*-*-*-50-*-*") ;; (font . "-*-clean-*-*-*-*-*-80-*-*-*-*-*-*") ;; (font . "-*-clean-*-*-*-*-*-100-*-*-*-*-*-*") ;; (font . "-*-lucidatypewriter-medium-*-normal-*-*-*-*-*-*-60-*-*") ;; (font . "-*-clean-*-*-*-*-*-*-*-*-*-50-*-*") ;; (font . "-*-clean-*-*-*-*-8-*-*-*-*-50-*-*") (font . "fixed") (vertical-scroll-bars . "right"))) (put 'upcase-region 'disabled nil) ; Make Text mode the default mode for new buffers ; turn on Auto Fill mode automatically in Text mode ; Set the fill column to 80 (gives 80 column wide lines) (setq default-major-mode 'text-mode) (add-hook 'text-mode-hook 'turn-on-auto-fill) (setq-default fill-column 80) ;; Set my email address for whatever. (setq user-mail-address "dtliu@cs.berkeley.edu") ;; Use column and line numbering. (line-number-mode 1) (column-number-mode 1) (global-set-key [f2] 'eval-buffer) (global-set-key "\C-x\C-h" 'winHeight) ;; open up todo list (global-set-key "\C-x\C-t" 'todo) (defun todo () (interactive) (find-file "~/work/griddb/TODO")) ;; open up todo list (global-set-key "\C-x\C-p" 'papers) (defun papers () (interactive) (find-file "~/PAPERS")) ;; change the height of the current window (defun winHeight () (interactive) (set-frame-height (selected-frame) 84)) ;; TEMPORARY STUFF ;; open up todo list (global-set-key "\C-cftd" 'TaskList) (defun TaskList () (interactive) (find-file "~/TODO")) ;; open up paper list (global-set-key "\C-cfp" 'openPapers) (defun openPapers () (interactive) (find-file "~/PAPERS")) ;; open up david's journal (global-set-key "\C-cfjd" 'DavidJournal) (defun DavidJournal () (interactive) (find-file "~/logs/journal")) ;; open up tina's journal (global-set-key "\C-cfjt" 'TinaJournal) (defun TinaJournal () (interactive) (find-file "~/logs/tinaJournal")) ;; open up telegrid notes (global-set-key "\C-cftn" 'TelegridNotes) (defun TelegridNotes () (interactive) (find-file "~/work/cnt/telegrid/notes")) ;; open up .emacs (global-set-key "\C-cfen" 'dotEmacs) (defun dotEmacs () (interactive) (find-file "~/.emacs")) ;; open up .emacs (global-set-key "\C-cfej" 'dotEmacsJava) (defun dotEmacsJava () (interactive) (find-file "~/.emacs.java")) ;; TO GET JDEE TO work (setq debug-on-error t) ;; eieio (add-to-list 'load-path "/usr/share/emacs/site-lisp/eieio-0.16") ;;;; speedbar stuff (add-to-list 'load-path "/usr/share/emacs/site-lisp/speedbar-0.13a") (autoload 'speedbar-frame-mode "speedbar" "Popup a speedbar frame" t) (autoload 'speedbar-get-focus "speedbar" "Jump to speedbar frame" t) (define-key-after (lookup-key global-map [menu-bar tools]) [speedbar] '("Speedbar" . speedbar-frame-mode) [calendar]) (global-set-key [(f4)] 'speedbar-get-focus) ;; Texinfo fancy chapter tags ;;(add-hook 'texinfo-mode-hook (lambda () (require 'sb-texinfo))) ;; current stack display ;;(autoload 'gud-speedbar-buttons "sb-gud" "GUD specific speedbar button generator.") ;;;; for SEMANTIC ;;(add-to-list 'load-path "/usr/share/emacs/site-lisp/semantic-1.3.3") ; so Emacs can find semantic ;; ;;(require 'semantic-c) ; for C code integration ;;(require 'semantic-el) ; for Emacs Lisp code integration ;;(require 'semantic-make) ; for Makefile integration ;;(require 'semantic-imenu) ; if you use imenu or wich-function ;;(add-hook 'speedbar-load-hook (lambda () (require 'semantic-sb))) ;;;; ; for speedbar integration ;;(autoload 'semantic-bnf-mode "semantic-bnf" "Mode for Bovine Normal Form." t) ;;(add-to-list 'auto-mode-alist '("\\.bnf$" . semantic-bnf-mode)) ;;;; ; for editing .bnf parser files. ;;(autoload 'semantic-minor-mode "semantic-mode" "Mode managing semantic parsing." t) ; for semantic-minor-mode ;; ;;;; for elib ;;(add-to-list 'load-path "/usr/share/emacs/site-lisp/elib") ;; ;;;;;; jdee ;;(add-to-list 'load-path "/usr/share/emacs/site-lisp/jde-2.2.8/lisp"); ;;(require 'jde) ;; ;;;;;; elibs ;;;;/home/dtliu/elibs/elib-1.0 ;;(custom-set-variables ;; '(jde-run-application-class "telegrid.servers.SubmitServer") ;; '(jde-db-option-classpath (quote ("/home/dtliu/work/cnt" "/usr/java/java_cup" "/usr/java/JLex"))) ;; '(jde-bug-jdk-directory "/usr/java/jdk1.3.1_01") ;; '(jde-run-read-app-args t) ;; '(jde-db-source-directories (quote ("." "~/work/cnt/play/simple_calc/" "/home/dtliu/work/cnt/play/" "/usr/java/java_cup/java_cup/runtime" "/usr/java/java_cup/java_cup"))) ;; '(jde-run-option-application-args (quote ("-c" "5"))) ;; '(jde-run-executable-args (quote ("-c" "5"))) ;; '(jde-db-debugger (quote ("JDEbug" "" . "Executable"))) ;; '(jde-bug-jpda-directory "/usr/java/jdk1.3.1_01") ;; '(jde-bug-vm-includes-jpda-p t) ;; '(jde-db-option-application-args ((quote ())))) ;; (custom-set-faces ;; custom-set-faces was added by Custom -- don't edit or cut/paste it! ;; Your init file should contain only one such instance. ) ;; add my macros (load-file "~/.emacs.java") (load-file "~/.emacs.macros") (load-file "~/.emacs.keys") (put 'downcase-region 'disabled nil) (custom-set-variables ;; custom-set-variables was added by Custom -- don't edit or cut/paste it! ;; Your init file should contain only one such instance. '(current-language-environment "English") '(global-font-lock-mode t nil (font-lock)) '(show-paren-mode t nil (paren)) '(text-mode-hook (quote (turn-on-auto-fill text-mode-hook-identify))) '(transient-mark-mode t))