X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=sugar.git;a=blobdiff_plain;f=dot-files%2F_emacs_el;h=0e2ec904e0a2b42e69b8c673c35dc239cdc1b8d0;hp=167d44372d746e952412defc0aa12343ed0c970b;hb=d77ab549cde9e0b8802122c6fec72a801ab37222;hpb=a807b4609220d6a60673008b962d2456d4ccebb7 diff --git a/dot-files/_emacs_el b/dot-files/_emacs_el index 167d443..0e2ec90 100644 --- a/dot-files/_emacs_el +++ b/dot-files/_emacs_el @@ -1,11 +1,17 @@ ;; -*- Mode: emacs-lisp; Coding: utf-8 -*- +;; Added by Package.el. This must come before configurations of +;; installed packages. Don't delete this line. If you don't want it, +;; just comment it out by adding a semicolon to the start of the line. +;; You may delete these explanatory comments. +(package-initialize) + ;; Load paths ----------------------------------------------------------------- (add-to-list 'load-path (expand-file-name "~/.elisp")) (add-to-list 'load-path "/usr/local/share/emacs/site-lisp") ;; Setting for encodings of the environment ----------------------------------- -;(set-language-environment 'Japanese) +(set-locale-environment "en_US.UTF-8") (set-default-coding-systems 'utf-8) (set-terminal-coding-system 'utf-8) (setq default-file-name-coding-system 'utf-8) @@ -42,6 +48,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") @@ -57,7 +99,6 @@ )))))) ;; Settings for Browser -------------------------------------------------------- -(setq browse-url-browser-function 'w3m-browse-url) (global-set-key "\C-xm" 'browse-url-at-point) ;; Setting for the Mode Line --------------------------------------------------- @@ -71,6 +112,9 @@ (cond ((equal host "seras") (set-frame-font "Dejavu Sans Mono 11" t)) + ((equal host "yukari.cielonegro.org") + (set-frame-font "Dejavu Sans Mono 11" t)) + ((equal host "aria.cielonegro.org") (progn (set-frame-font "Dejavu Sans Mono 13" t) @@ -81,26 +125,6 @@ ;;(set-fontset-font nil 'katakana-jisx0201 "さざなみゴシック") ))))) -;; Hooks for newline-and-indent ------------------------------------------------ -;(mapcar (lambda (hook) -; (add-hook hook -; (lambda () -; (local-set-key "\C-m" 'newline-and-indent) -; (local-set-key "\C-j" 'newline) -; ))) -; '(perl-mode-hook -; cperl-mode-hook -; java-mode-hook -; javascript-mode-hook -; c-mode-hook -; c++-mode-hook -; objc-mode-hook -; emacs-lisp-mode-hook -; lisp-mode-hook -; yatex-mode-hook -; css-mode-hook -; scheme-mode-hook)) - ;; Setting for Packages -------------------------------------------------------- (defun require-if-present (feature) (condition-case e @@ -123,20 +147,46 @@ (load-file path) (message "Warning: file %s is absent" path))) -;; session -(require-if-present 'session) +;; cmake +(autoload 'cmake-mode "cmake-mode" nil t) +(add-to-list 'auto-mode-alist '("CMakeLists\\.txt\\'" . cmake-mode)) +(add-to-list 'auto-mode-alist '("\\.cmake\\'" . cmake-mode)) + +;; ditz +(require-if-present 'ditz) ;; flyspell (require-if-present 'flyspell) -;; ditz -(require-if-present 'ditz) +;; 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)) + +;; jaspace +(require-if-present 'jaspace) + +;; pkgdiff +(add-to-list 'load-path "~/sandbox/_editors/emacs-pkgdiff") +(autoload 'pkgvi "pkgdiff" "Edit a copy of specified file." t) +(autoload 'pkgdiff "pkgdiff" "Show differences from a backup file." t) + +;; rust +(autoload 'rust-mode "rust-mode" nil t) +(add-to-list 'auto-mode-alist '("\\.rs\\'" . rust-mode)) + +;; session +(require-if-present 'session) +(if (featurep 'session) + (session-initialize)) ;; mediawiki (require-if-present 'mediawiki) -;; jaspace -(require-if-present 'jaspace) +;; midnight +(require-if-present 'midnight) ;; color-theme (require-if-present 'color-theme) @@ -198,6 +248,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) @@ -242,28 +298,10 @@ Will prompt you shell name when you type `C-u' before this command." t) ;; ECB (require-if-present 'ecb-autoloads) -(let* ((hosts '(("netbsd." . - (("~/sandbox/yxmimeproc" "yxmimeproc") - ("~/sandbox/YxMIME" "YxMIME.pm") - )) - ("g1.cuenote.jp" . - (("~/sandbox/MR/engine/libycom" "libycom") - )) - ("aria.cielonegro.org" . - (("~/sandbox/_web-app/Rakka" "Rakka") - ("~/sandbox/_haskell/Lucu" "Lucu") - ("~/sandbox/_web-app/Kirschbaum" "Kirschbaum") - ("~/sandbox/_haskell/HsOpenSSL" "HsOpenSSL") - ("~/sandbox/_haskell/HsHyperEstraier" "HsHyperEstraier") - ("~/sandbox/_haskell/HsSVN" "HsSVN") - ("~/sandbox/_game/RoRo" "RoRo") - ("~/sandbox/_haskell/HXT" "HXT") - ("~/sandbox/_haskell/hxt-compile" "hxt-compile") - ("~/src/ghc-6.10.1" "ghc-6.10.1") - ("~/sandbox/sugar" "sugar") - ("~/sandbox/_haskell/dns" "dns") - ("~/sandbox/_haskell/blackboard-ddns" "blackboard-ddns") - )))) +(let* ((hosts '( ("yukari.cielonegro.org" . + ( ("~/sandbox/_games/acid-rain" "acid rain") + ("~/sandbox/_games/Natural-Mystic-Shaders" "Natural Mystic") + )))) (paths (cdr (assoc (system-name) hosts)))) (setq ecb-source-path paths)) @@ -287,10 +325,14 @@ 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 +(autoload 'typescript-mode "typescript-mode" + "Major mode for editing typescript." t) +(add-to-list 'auto-mode-alist '("\\.ts$" . typescript-mode)) + ;; vimrc (autoload 'vimrc-mode "vimrc-mode" "Major mode for editing `.vimrc', `xxx.vim' and `.exrc' files." t) @@ -330,7 +372,10 @@ Will prompt you shell name when you type `C-u' before this command." t) )) ;; Haskell -(load-if-present "haskell-site-file.el") +(autoload 'haskell-mode "haskell-mode" + "Major mode for editing Haskell scripts." t) +(autoload 'literate-haskell-mode "haskell-mode" + "Major mode for editing literate Haskell scripts." t) (autoload 'run-haskell "inf-haskell" "" t) (autoload 'switch-to-haskell "inf-haskell" "" t) @@ -378,21 +423,23 @@ Will prompt you shell name when you type `C-u' before this command." t) (setq erlang-electric-commands nil) ;; SKK -(require 'skk-autoloads) -(require 'skk-study) -(global-set-key "\C-x\C-j" 'skk-mode) -(global-set-key "\C-xj" 'skk-auto-fill-mode) -(global-set-key "\C-xt" 'skk-tutorial) -(setq skk-use-jisx0201-input-method t) -(setq skk-rom-kana-rule-list - '(("@" nil "@") - ("wi" nil ("ヰ" . "ゐ")) - ("we" nil ("ヱ" . "ゑ")) - ;;("hh" "h" ("ン" . "ん")) - ;;("mm" "m" ("ン" . "ん")) - ("zx" nil ("ゝ" . "ヽ")) - ("zc" nil ("ゞ" . "ヾ")))) -(set-input-method 'japanese-skk) ; INPUT METHOD +(require-if-present 'skk-autoloads) +(if (featurep 'skk-autoloads) + (progn + (require-if-present 'skk-study) + (global-set-key "\C-x\C-j" 'skk-mode) + (global-set-key "\C-xj" 'skk-auto-fill-mode) + (global-set-key "\C-xt" 'skk-tutorial) + (setq skk-use-jisx0201-input-method t) + (setq skk-rom-kana-rule-list + '(("@" nil "@") + ("wi" nil ("ヰ" . "ゐ")) + ("we" nil ("ヱ" . "ゑ")) + ;;("hh" "h" ("ン" . "ん")) + ;;("mm" "m" ("ン" . "ん")) + ("zx" nil ("ゝ" . "ヽ")) + ("zc" nil ("ゞ" . "ヾ")))) + (set-input-method 'japanese-skk))) ; INPUT METHOD ;; navi2ch (autoload 'navi2ch "navi2ch" "Navigator for 2ch for Emacs" t) @@ -510,13 +557,12 @@ Will prompt you shell name when you type `C-u' before this command." t) ;; 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. - '(Info-additional-directory-list - (quote - ("/sw/share/info" "/usr/local/info" "/usr/local/share/info"))) '(ac-ignore-case nil) '(appt-display-format (quote window)) '(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)) @@ -535,15 +581,18 @@ Will prompt you shell name when you type `C-u' before this command." t) (left-fringe)))) '(ditz-find-issue-directory-automatically-flag t) '(ecb-add-path-for-not-matching-files (quote (t))) - '(ecb-help-info-path "/sw/share/info/ecb.info") - '(ecb-layout-name "left14") - '(ecb-options-version "2.32") + '(ecb-help-info-path "/usr/pkg/info/ecb.info") + '(ecb-layout-name "left7") + '(ecb-options-version "2.50") '(ecb-show-sources-in-directories-buffer (quote always)) '(ecb-tip-of-the-day nil) - '(ecb-tree-buffer-style (quote ascii-guides)) + '(ecb-tree-buffer-style (quote image)) '(ecb-windows-width 0.2) + '(electric-indent-mode nil) '(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) @@ -552,6 +601,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") @@ -561,7 +611,9 @@ 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 (quote (("Wikipedia" "http://en.wikipedia.org/w/" "username" "password" "Main Page") @@ -622,6 +674,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 @@ -639,9 +692,17 @@ Will prompt you shell name when you type `C-u' before this command." t) '(newsticker-url-list-defaults (quote (("slashdot" "http://slashdot.org/index.rss" nil 3600)))) + '(ns-command-modifier (quote meta)) '(nxml-auto-insert-xml-declaration-flag t) '(nxml-slash-auto-complete-flag t) '(org-replace-disputed-keys t) + '(package-archives + (quote + (("gnu" . "https://elpa.gnu.org/packages/") + ("melpa" . "https://melpa.org/packages/")))) + '(package-selected-packages + (quote + (undo-tree auto-complete typescript-mode cargo toml-mode rust-mode))) '(rcirc-server-alist (quote (("irc1.ymir.jp" :nick "PHO`cons" nil nil)))) '(riece-layout "default") '(riece-layout-alist @@ -661,6 +722,7 @@ Will prompt you shell name when you type `C-u' before this command." t) ("schemas.xml" "~/share/nxml/schemas.xml" "/usr/pkg/share/emacs/site-lisp/nxml-mode/schema/schemas.xml"))) '(rst-level-face-base-light 50) '(safe-local-variable-values (quote ((todo-categories "Todo" "Todo" "Todo" "Todo")))) + '(select-enable-clipboard t) '(session-use-package t nil (session)) '(tramp-auto-save-directory "/tmp/tramp-auto-save") '(tramp-completion-reread-directory-timeout 2) @@ -688,7 +750,7 @@ Will prompt you shell name when you type `C-u' before this command." t) (quote (face tabs trailing space-before-tab newline indentation empty space-after-tab))) '(woman-cache-filename "~/.wmncach.el") - '(x-select-enable-clipboard t)) + '(yaml-block-literal-electric-alist (quote ((62 . "-"))))) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful.