]> gitweb @ CieloNegro.org - sugar.git/blobdiff - dot-files/_emacs_el
Auto commit by The Sugar System.
[sugar.git] / dot-files / _emacs_el
index 80357297a3a7d2cf16c6c69dc28c55a41c103129..c0dcc3bc700ed62981adcb02f27ba64abac71037 100644 (file)
 ;; 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")
       (load-file path)
     (message "Warning: file %s is absent" path)))
 
-;; session
-(require-if-present 'session)
+;; ditz
+(require-if-present 'ditz)
 
 ;; flyspell
 (require-if-present 'flyspell)
 
-;; ditz
-(require-if-present 'ditz)
+;; jaspace
+(require-if-present 'jaspace)
+
+;; glsl
+(autoload 'glsl-mode "glsl-mode" nil t)
+(add-to-list 'auto-mode-alist '("\\.glsl\\'" . glsl-mode))
+(add-to-list 'auto-mode-alist '("\\.vert\\'" . glsl-mode))
+(add-to-list 'auto-mode-alist '("\\.frag\\'" . glsl-mode))
+(add-to-list 'auto-mode-alist '("\\.geom\\'" . glsl-mode))
+
+;; rust
+(autoload 'rust-mode "rust-mode" nil t)
+(add-to-list 'auto-mode-alist '("\\.rs\\'" . rust-mode))
+
+;; session
+(require-if-present 'session)
 
 ;; mediawiki
 (require-if-present 'mediawiki)
 
-;; jaspace
-(require-if-present 'jaspace)
+;; midnight
+(require-if-present 'midnight)
 
 ;; color-theme
 (require-if-present 'color-theme)
@@ -200,6 +250,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)
@@ -289,8 +345,7 @@ Will prompt you shell name when you type `C-u' before this command." t)
 (autoload 'cleite "cleite" "Cleite RSS Aggregator -- Emacs Interface" t)
 
 ;; javascript
-(autoload 'js2-mode "js2" nil t)
-(add-to-list 'auto-mode-alist '("\\.js$" . js2-mode))
+(add-to-list 'auto-mode-alist '("\\.js$" . javascript-mode))
 (add-to-list 'auto-mode-alist '("\\.json$" . javascript-mode))
 
 ;; typescript
@@ -525,6 +580,7 @@ Will prompt you shell name when you type `C-u' before this command." t)
  '(appt-message-warning-time 20)
  '(browse-url-browser-function (quote browse-url-firefox))
  '(canlock-password "a14fa4d2601465d55585c291fa8b3943e189e716")
+ '(clean-buffer-list-delay-general 7)
  '(cleite:auto-refresh-interval nil)
  '(cleite:measure-srpc-call-time t)
  '(compilation-scroll-output (quote first-error))
@@ -552,6 +608,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 +618,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 +628,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
@@ -631,6 +691,7 @@ Will prompt you shell name when you type `C-u' before this command." t)
      (30 subj)
      "|"
      (0 body))))
+ '(midnight-mode t)
  '(mouse-wheel-progessive-speed nil)
  '(mouse-wheel-scroll-amount (quote (1 ((shift) . 5) ((control)))))
  '(mpc-browser-tags