;;-----------------------------------------------------------------------------
;; Brad's GNU Emacs startup file
;; brad@stackpointer.org - 2008-05-31
;; url: http://stackpointer.org/dz/dotemacs
;;-----------------------------------------------------------------------------

(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.
 '(ansi-color-for-comint-mode t)
 '(auto-save-default nil)
 '(column-number-mode t)
 '(delete-auto-save-files t)
 '(erc-modules (quote (autojoin button completion fill identd irccontrols match menu netsplit noncommands readonly ring scrolltobottom services smiley stamp spelling track highlight-nicknames)))
 '(erc-nick "ojuice")
 '(erc-server "irc.efnet.net")
 '(erc-user-full-name "Brad")
 '(load-home-init-file t t)
 '(make-backup-files nil)
 '(org-export-author-info nil)
 '(org-export-time-stamp-file nil)
 '(org-startup-folded nil)
 '(scroll-bar-mode (quote right))
 '(show-paren-mode t))

;; misc. settings
(setq tramp-default-method "ssh")
(setq c-default-style "linux") ;; linux c-style
(setq c-basic-offset 4) ;; four character indents
;;(setq inhibit-startup-message t) ;; turn off the splash screen
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on) ;; shell-mode color
(tool-bar-mode -1)

;; Date in status bar
(setq display-time-day-and-date t
      display-time-24hr-format nil)
(display-time)

;; erc settings
(add-to-list 'load-path "~/elisp/erc")
(require 'erc-highlight-nicknames)
(defvar channel-members nil)
(define-minor-mode 
    ncm-mode "" nil 
    (:eval (format " %S" (length channel-members))))
(add-hook 'erc-mode-hook (lambda () (ncm-mode 1)))

;; SQL
(autoload 'sql-mysql "sql" "Interactive SQL mode." t)
(add-hook 'sql-mode-hook 'turn-on-font-lock)
(add-to-list 'auto-mode-alist '("\\.sql\\'" . sql-mode))

;; PHP Mode
;; http://www.ontosys.com/reports/PHP.html
(add-to-list 'load-path "~/elisp/php")
(autoload 'php-mode "php-mode" "PHP editing mode" t)
(add-to-list 'auto-mode-alist '("\\.php\\'" . php-mode))
(add-to-list 'auto-mode-alist '("\\.php3\\'" . php-mode))

;; SLIME
;; http://common-lisp.net/project/slime/
(add-to-list 'load-path "~/elisp/slime/")
(setq inferior-lisp-program "/usr/bin/sbcl"
      lisp-indent-function 'common-lisp-indent-function
      slime-complete-symbol-function 'slime-fuzzy-complete-symbol)
(require 'slime)
(slime-setup)

;; ORG-MODE
;; http://orgmode.org/
(add-to-list 'load-path "~/elisp/org-5.13i/")
(require 'org-install)
(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
(define-key global-map "\C-cl" 'org-store-link)
(define-key global-map "\C-ca" 'org-agenda)
(setq org-log-done t)

;; HTMLIZE
;; http://fly.srk.fer.hr/~hniksic/emacs/htmlize.el
(add-to-list 'load-path "~/elisp/htmlize")
(require 'htmlize)

;; Haskell Mode
;; http://www.iro.umontreal.ca/~monnier/elisp/#haskell-mode
(add-to-list 'load-path "~/elisp/haskell")
(load "~/elisp/haskell/haskell-site-file")
(add-hook 'haskell-mode-hook 'turn-on-haskell-doc-mode)
(add-hook 'haskell-mode-hook 'turn-on-haskell-indent)

;; W3M Mode
;; http://emacs-w3m.namazu.org/
;; Please note you also need W3M
(add-to-list 'load-path "~/elisp/emacs-w3m")
(require 'w3m-load)
;(require 'mime-w3m)