;; -*- 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) ;; 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)) (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-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. ) ;;; This was installed by package-install.el. ;;; This provides support for the package system and ;;; interfacing with ELPA, the package archive. ;;; Move this code earlier if you want to reference ;;; packages in your .emacs. (when (load (expand-file-name "~/.emacs.d/elpa/package.el")) (package-initialize))