From 62f897fdf5988840ee5538e30fbd3c7bcb715735 Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Mon, 21 Feb 2011 00:27:43 +0100 Subject: New .emacs style * .emacs only loops through .emacs.d and runs the *.el files there. * files are automatically compiled before loading. But only if it hasn't already been compiled. * all emacs el files, save for the startup scripts, have been moved to .emacs.d/elisp --- emacs | 167 ++++++++---------------------------------------------------------- 1 file changed, 18 insertions(+), 149 deletions(-) (limited to 'emacs') diff --git a/emacs b/emacs index 52357ef..0423fbe 100644 --- a/emacs +++ b/emacs @@ -1,160 +1,29 @@ ;; -*- mode: Emacs-Lisp; -*- -(add-to-list 'load-path "~/.emacs.d") -(add-to-list 'load-path "~/.emacs.d/naquadah-theme") -(add-to-list 'load-path "~/.emacs.d/auto-complete-clang") -;; Requires -(require 'uniquify) -(require 'autopair) -(require 'color-theme) -(require 'flymake) -(require 'color-theme-gruber-darker) -(require 'minimap) -(require 'column-marker) -(require 'color-theme-weirdness) -(require 'auto-complete-clang) +(setq load-dir "~/.emacs.d/") +(setq myfiles (directory-files load-dir nil ".el$")) -;; Auto complete -(require 'auto-complete-config) -(add-to-list 'ac-dictionary-directories "~/.emacs.d//ac-dict") -(ac-config-default) - -;; 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) -(autoload 'lua-mode - "lua-mode.elc" "A Major mode for editing Lua files" t) - -;; Platform specifics -(if (eq system-type 'gnu/linux) ; if we're running linux - (set-frame-font "-*-tamsyn-medium-*-*-*-15-*-*-*-*-80-*-*")) - -;; 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 - inhibit-default-init t) -(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 -(global-auto-complete-mode -1) ; don't enable autocomplete for - ; everything - -;; Keybindings -(global-set-key "\C-m" 'newline-and-indent) ; Automatically indent on newline -(global-set-key (kbd "C-x n r") 'narrow-to-region ) -(global-set-key [C-tab] 'hs-toggle-hiding ) -(global-set-key (kbd "") 'compile) - -;; 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 'auto-mode-alist '("\\.lua$" . lua-mode)) - -(add-to-list 'file-coding-system-alist '("\\.vala$" . utf-8)) -(add-to-list 'file-coding-system-alist '("\\.vapi$" . utf-8)) +(while myfiles + (let ((myfilename (concat load-dir (car myfiles)))) + (if (not (file-exists-p (concat myfilename "c"))) + (byte-compile-file myfilename)) + (load (substring myfilename 0 (- (length myfilename) 3))) + (setq myfiles (cdr myfiles)))) (add-to-list 'compilation-finish-functions 'my-comp-finish-function) -;; Color theme -(require 'naquadah-theme) - -;; Test for frame fonts -(defun setup-system-frame-colours (&rest frame) - (let ((f (if (car frame) - (car frame) - (selected-frame)))) - (progn - (set-frame-font "-*-tamsyn-medium-*-*-*-15-*-*-*-*-80-*-*")))) -(require 'server) -(defadvice server-create-window-system-frame - (after set-system-frame-colours ()) - "Set custom frame colours when creating the first frame on a display" - (message "Running after frame-initialize") - (setup-system-frame-colours)) -(ad-activate 'server-create-window-system-frame) -(add-hook 'after-make-frame-functions 'setup-system-frame-colours t) - -;; Hooks -(add-hook 'find-file-hook 'flymake-find-file-hook) -(add-hook 'after-save-hook - (lambda () - (setq fname (buffer-file-name)) - (setq suffix (file-name-extension fname)) - - (if (string-equal suffix "el") - (byte-compile-file fname)))) -;;; C -(add-hook 'c-mode-hook - (lambda () - (hs-minor-mode t) - (column-marker-1 80) -; (auto-complete-mode) -; (setq ac-sources '(ac-source-clang)) - )) -;;; CSS -(add-hook 'css-mode-hook - (lambda () - (rainbow-mode))) -;;; Emacs Lisp -(add-hook 'emacs-lisp-mode-hook - (lambda () - (auto-complete-mode t))) -;;; Interactive Lisp -(add-hook 'lisp-interaction-mode-hook - (lambda () - (auto-complete-mode t))) -;;; Org -;(add-hook 'org-mode-hook -; (lambda () -; (flyspell-mode 1) -; (auto-fill-mode 1) -; (message "org-mode started"))) - (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. -) + ;; 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 ("~/Documents/main.org" "~/Documents/aethon/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. -) + ;; 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. + ) ;;; This was installed by package-install.el. -- cgit v1.2.3-54-g00ecf