X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=dot-files%2F_emacs_el;h=4827585407868cf2e51b1a2c40b7c10b01ee0d64;hb=cd96f6ed35739aa800d789d8bb889d2c8304ae72;hp=80357297a3a7d2cf16c6c69dc28c55a41c103129;hpb=ef68f6d3f4ac731c93d98437968afc459e6ac3c1;p=sugar.git diff --git a/dot-files/_emacs_el b/dot-files/_emacs_el index 8035729..4827585 100644 --- a/dot-files/_emacs_el +++ b/dot-files/_emacs_el @@ -42,6 +42,42 @@ ;; windmove (windmove-default-keybindings) +;; file renaming +;; Originally from stevey, adapted to support moving to a new directory. +(defun rename-file-and-buffer (new-name) + "Renames both current buffer and file it's visiting to NEW-NAME." + (interactive + (progn + (if (not (buffer-file-name)) + (error "Buffer '%s' is not visiting a file!" (buffer-name))) + ;; Disable ido auto merge since it too frequently jumps back to the original + ;; file name if you pause while typing. Reenable with C-z C-z in the prompt. + (let ((ido-auto-merge-work-directories-length -1)) + (list (read-file-name (format "Rename %s to: " (file-name-nondirectory + (buffer-file-name)))))))) + (if (equal new-name "") + (error "Aborted rename")) + (setq new-name (if (file-directory-p new-name) + (expand-file-name (file-name-nondirectory + (buffer-file-name)) + new-name) + (expand-file-name new-name))) + ;; Only rename if the file was saved before. Update the + ;; buffer name and visited file in all cases. + (if (file-exists-p (buffer-file-name)) + (rename-file (buffer-file-name) new-name 1)) + (let ((was-modified (buffer-modified-p))) + ;; This also renames the buffer, and works with uniquify + (set-visited-file-name new-name) + (if was-modified + (save-buffer) + ;; Clear buffer-modified flag caused by set-visited-file-name + (set-buffer-modified-p nil))) + + (setq default-directory (file-name-directory new-name)) + + (message "Renamed to %s." new-name)) + ;; Host specific configuration ------------------------------------------------ (let ((host (system-name))) (cond ((equal host "aria.cielonegro.org") @@ -200,6 +236,12 @@ Will prompt you shell name when you type `C-u' before this command." t) (append '(("\\.rst$" . rst-mode) ("\\.rest$" . rst-mode)) auto-mode-alist)) +;; graphviz-dot-mode +(autoload 'graphviz-dot-mode "graphviz-dot-mode" + "Major mode for the dot language." t) +(add-to-list 'auto-mode-alist '("\\.dot\\'" . graphviz-dot-mode)) +(add-to-list 'auto-mode-alist '("\\.gv\\'" . graphviz-dot-mode)) + ;; textile-mode (autoload 'textile-mode "textile-mode" "Major mode for editing Textile documents." t) @@ -380,6 +422,10 @@ Will prompt you shell name when you type `C-u' before this command." t) (setq cperl-indent-level 4) (setq cperl-indent-parens-as-block t) +;; Lua +(autoload 'lua-mode "lua-mode" "Lua Mode" t) +(add-to-list 'auto-mode-alist '("\\.lua\\'" . lua-mode)) + ;; Erlang (require-if-present 'erlang-start) (setq erlang-electric-commands nil) @@ -552,6 +598,8 @@ Will prompt you shell name when you type `C-u' before this command." t) '(ecb-windows-width 0.2) '(elscreen-display-tab t) '(global-whitespace-mode t) + '(graphviz-dot-auto-indent-on-newline nil) + '(graphviz-dot-auto-indent-on-semi nil) '(haskell-program-name "ghci") '(ido-enable-flex-matching t) '(ido-everywhere t) @@ -560,6 +608,7 @@ Will prompt you shell name when you type `C-u' before this command." t) ("\\`CVS/" "\\`#" "\\`.#" "\\`\\.\\./" "\\`\\./" "\\.ttc"))) '(ido-work-directory-list-ignore-regexps (quote ("^\\(/mnt/ibm/\\|/Volumes/IBM80GB/\\)"))) '(indent-tabs-mode nil) + '(ispell-dictionary "english") '(jabber-nickname "PHO") '(jabber-resource "emacs") '(jabber-server "jabber.jp") @@ -569,6 +618,7 @@ Will prompt you shell name when you type `C-u' before this command." t) '(js2-indent-on-enter-key nil) '(js2-mirror-mode nil) '(js2-use-font-lock-faces t) + '(lua-indent-level 4) '(makefile-mode-hook (quote ((lambda nil (set-variable (quote tab-width) 8))))) '(markdown-live-preview-delete-export (quote delete-on-export)) '(mediawiki-site-alist