EMACS: hooks, skeletons and ido

* Moved rainbow-delimiters-mode and set-column-marker to prog-mode.
  * Turn on ido-mode, it seems interesting.
  * Added prog-mode hook.
  * Removed emacs-lisp-mode, js-mode, python-mode and lisp-mode hooks
    since they should all only do what prog-mode hook does.
  * Added myaethon-set-varchar-docstring and
    myaethon-set-array-varchar-docstring skeletons, these are both
    useful for work and a good way to learn more about skeletons.
This commit is contained in:
Tom Willemsen 2011-06-17 16:39:16 +02:00
parent 720c7e82d4
commit 5944a4a97b

View file

@ -190,17 +190,15 @@ Currently adds | & ! . + = - / % * , < > ? : ->"
(if (string-equal suffix "el")
(byte-compile-file fname)))))
(defun on-prog-mode ()
(set-column-marker)
(rainbow-delimiters-mode))
(defun on-c-mode ()
(local-set-key [f8] 'c-toggle-header-source)
(local-set-key [f9] 'compile)
(local-set-key [C-m] 'newline-and-indent)
(local-set-key [C-return] 'newline)
(set-column-marker)
(rainbow-delimiters-mode))
(defun on-emacs-lisp-mode ()
(set-column-marker)
(rainbow-delimiters-mode))
(local-set-key [C-return] 'newline))
(defun on-html-mode ()
(local-set-key [f9] 'browse-to-current-file)
@ -309,6 +307,7 @@ Currently adds | & ! . + = - / % * , < > ? : ->"
org-ditaa-jar-path "/usr/share/java/ditaa/ditaa-0_9.jar"
jit-lock-defer-time 0.2
htmlize-output-type 'inline-css
ido-save-directory-list-file nil
frame-title-format
'(:eval
@ -372,6 +371,7 @@ Currently adds | & ! . + = - / % * , < > ? : ->"
(global-font-lock-mode t) ; show syntax highlighting, old
(delete-selection-mode t) ; delete selection upon typing
(show-paren-mode t) ; show the opposite paren
(ido-mode t)
(autopair-global-mode) ; automatically add the other
; delimiter
@ -382,8 +382,8 @@ Currently adds | & ! . + = - / % * , < > ? : ->"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(add-hook 'before-save-hook 'on-before-save)
(add-hook 'after-save-hook 'on-after-save)
(add-hook 'prog-mode-hook 'on-prog-mode)
(add-hook 'c-mode-hook 'on-c-mode)
(add-hook 'emacs-lisp-mode-hook 'on-emacs-lisp-mode)
(add-hook 'html-mode-hook 'on-html-mode)
(add-hook 'markdown-mode-hook 'on-markdown-mode)
(add-hook 'org-mode-hook 'on-org-mode)
@ -392,10 +392,7 @@ Currently adds | & ! . + = - / % * , < > ? : ->"
(add-hook 'git-commit-mode-hook 'auto-fill-mode)
(add-hook 'emacs-startup-hook 'fullscreen)
(add-hook 'css-mode-hook 'rainbow-mode)
(add-hook 'js-mode-hook 'rainbow-delimiters-mode)
(add-hook 'python-mode-hook 'rainbow-delimiters-mode)
(add-hook 'after-make-frame-functions 'setup-system-frame-colours t)
(add-hook 'lisp-mode-hook 'rainbow-delimiters-mode)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; SKELETONS ;;
@ -413,6 +410,37 @@ Currently adds | & ! . + = - / % * , < > ? : ->"
"set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR})\n"
"add_subdirectory(src)")
(define-skeleton myaethon-set-varchar-docstring
"A docstring for a varchar setter"
""
"\/* Setter for the "
(skeleton-read "name: ")
" column\n"
"\n"
'(indent-according-to-mode)
"$value: string, no longer than "
(skeleton-read "len: ")
" characters */"
'(fill-paragraph))
(define-skeleton myaethon-set-array-varchar-docstring
"A docstring for an array/varchar setter"
""
'(setq name (skeleton-read "name: "))
'(setq len (string-to-number (skeleton-read "length: ")))
'(setq size (floor (/ (- len 1) 2)))
"/* Setter for the "
name
" column\n"
"\n"
'(indent-according-to-mode)
"$value: array, with no more than "
(number-to-string size)
" elements; string, no langer than "
(number-to-string len)
" characters */"
'(fill-paragraph))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; AUTORUN ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;