From 2ba3cdf77e8083973f478c11f6f7785a8758acab Mon Sep 17 00:00:00 2001 From: Barak Michener Date: Sat, 18 Jan 2014 02:54:10 -0500 Subject: [PATCH 1/4] remove emacs --- .bash_profile | 3 + .emacs.d/aquamacs-tools.el | 574 - .emacs.d/auto-complete/Makefile | 24 - .emacs.d/auto-complete/README.txt | 13 - .emacs.d/auto-complete/TODO.txt | 10 - .emacs.d/auto-complete/auto-complete-config.el | 480 - .emacs.d/auto-complete/auto-complete-config.elc | Bin 15970 -> 0 bytes .emacs.d/auto-complete/auto-complete.el | 1897 --- .emacs.d/auto-complete/auto-complete.elc | Bin 60025 -> 0 bytes .emacs.d/auto-complete/dict/c++-mode | 74 - .emacs.d/auto-complete/dict/c-mode | 37 - .emacs.d/auto-complete/dict/clojure-mode | 475 - .emacs.d/auto-complete/dict/css-mode | 747 - .emacs.d/auto-complete/dict/java-mode | 50 - .emacs.d/auto-complete/dict/javascript-mode | 148 - .emacs.d/auto-complete/dict/php-mode | 62 - .emacs.d/auto-complete/dict/python-mode | 104 - .emacs.d/auto-complete/dict/ruby-mode | 181 - .emacs.d/auto-complete/dict/scheme-mode | 216 - .emacs.d/auto-complete/dict/tcl-mode | 172 - .emacs.d/auto-complete/doc/ac-fuzzy.png | Bin 22325 -> 0 bytes .emacs.d/auto-complete/doc/ac-isearch.png | Bin 26049 -> 0 bytes .emacs.d/auto-complete/doc/ac.png | Bin 22768 -> 0 bytes .emacs.d/auto-complete/doc/changes.ja.txt | 96 - .emacs.d/auto-complete/doc/changes.txt | 96 - .emacs.d/auto-complete/doc/demo.txt | 11 - .emacs.d/auto-complete/doc/index.ja.txt | 86 - .emacs.d/auto-complete/doc/index.txt | 86 - .emacs.d/auto-complete/doc/manual.ja.txt | 1067 -- .emacs.d/auto-complete/doc/manual.txt | 1062 -- .emacs.d/auto-complete/doc/style.css | 27 - .emacs.d/auto-complete/etc/install.el | 45 - .emacs.d/auto-complete/etc/test.txt | 202 - .emacs.d/auto-complete/fuzzy.el | 255 - .emacs.d/auto-complete/fuzzy.elc | Bin 7465 -> 0 bytes .emacs.d/auto-complete/popup.el | 1061 -- .emacs.d/auto-complete/popup.elc | Bin 64920 -> 0 bytes .emacs.d/color-theme-autoloads.el | 159 - .emacs.d/color-theme.el | 1668 --- .emacs.d/haskell-mode/fontlock.hs | 49 - .emacs.d/haskell-mode/haskell-c.el | 47 - .emacs.d/haskell-mode/haskell-cabal.el | 183 - .emacs.d/haskell-mode/haskell-decl-scan.el | 719 - .emacs.d/haskell-mode/haskell-doc.el | 1972 --- .emacs.d/haskell-mode/haskell-font-lock.el | 633 - .emacs.d/haskell-mode/haskell-ghci.el | 334 - .emacs.d/haskell-mode/haskell-hugs.el | 316 - .emacs.d/haskell-mode/haskell-indent.el | 1581 --- .emacs.d/haskell-mode/haskell-indentation.el | 882 -- .emacs.d/haskell-mode/haskell-mode.el | 624 - .emacs.d/haskell-mode/haskell-simple-indent.el | 154 - .emacs.d/haskell-mode/haskell-site-file.el | 277 - .emacs.d/haskell-mode/indent.hs | 170 - .emacs.d/haskell-mode/inf-haskell.el | 722 - .emacs.d/highlight-parentheses.el | 157 - .emacs.d/highlight-symbol.el | 308 - .emacs.d/icicles/icicles-chg.el | 7310 ---------- .emacs.d/icicles/icicles-cmd1.el | 6036 --------- .emacs.d/icicles/icicles-cmd2.el | 5312 -------- .emacs.d/icicles/icicles-doc1.el | 6617 --------- .emacs.d/icicles/icicles-doc2.el | 8539 ------------ .emacs.d/icicles/icicles-face.el | 681 - .emacs.d/icicles/icicles-fn.el | 5972 -------- .emacs.d/icicles/icicles-mac.el | 631 - .emacs.d/icicles/icicles-mcmd.el | 6690 --------- .emacs.d/icicles/icicles-mode.el | 3570 ----- .emacs.d/icicles/icicles-opt.el | 3209 ----- .emacs.d/icicles/icicles-var.el | 1362 -- .emacs.d/icicles/icicles.el | 1196 -- .emacs.d/init.el | 259 +- .emacs.d/tabbar/aquamacs-tabbar.el | 927 -- .emacs.d/tabbar/close-tab.png | Bin 412 -> 0 bytes .emacs.d/tabbar/down.png | Bin 186 -> 0 bytes .emacs.d/tabbar/left.png | Bin 282 -> 0 bytes .emacs.d/tabbar/left_disabled.png | Bin 282 -> 0 bytes .emacs.d/tabbar/right.png | Bin 286 -> 0 bytes .emacs.d/tabbar/right_disabled.png | Bin 287 -> 0 bytes .emacs.d/tabbar/tabbar-window.el | 835 -- .emacs.d/tabbar/tabbar.el | 1947 --- .emacs.d/tabbar/up.png | Bin 175 -> 0 bytes .emacs.d/themes/color-theme-barak.el | 52 - .emacs.d/themes/color-theme-blackboard.el | 60 - .emacs.d/themes/color-theme-example.el | 22 - .emacs.d/themes/color-theme-library.el | 13539 ------------------- .emacs.d/themes/color-theme-tangotango.el | 194 - .emacs.d/vim-mode/.hg/00changelog.i | Bin 57 -> 0 bytes .emacs.d/vim-mode/.hg/branch | 1 - .emacs.d/vim-mode/.hg/branchheads.cache | 2 - .emacs.d/vim-mode/.hg/dirstate | Bin 604 -> 0 bytes .emacs.d/vim-mode/.hg/hgrc | 2 - .emacs.d/vim-mode/.hg/requires | 3 - .emacs.d/vim-mode/.hg/store/00changelog.i | Bin 61995 -> 0 bytes .emacs.d/vim-mode/.hg/store/00manifest.i | Bin 59127 -> 0 bytes .emacs.d/vim-mode/.hg/store/data/.hgignore.i | Bin 146 -> 0 bytes .emacs.d/vim-mode/.hg/store/data/.hgtags.i | Bin 355 -> 0 bytes .emacs.d/vim-mode/.hg/store/data/vim-combat.el.i | Bin 4907 -> 0 bytes .emacs.d/vim-mode/.hg/store/data/vim-commands.el.i | Bin 25089 -> 0 bytes .emacs.d/vim-mode/.hg/store/data/vim-compat.el.i | Bin 9597 -> 0 bytes .../vim-mode/.hg/store/data/vim-ex-commands.el.i | Bin 3330 -> 0 bytes .emacs.d/vim-mode/.hg/store/data/vim-ex.el.i | Bin 11635 -> 0 bytes .../vim-mode/.hg/store/data/vim-insert-mode.el.i | Bin 9235 -> 0 bytes .emacs.d/vim-mode/.hg/store/data/vim-keymap.el.i | Bin 5191 -> 0 bytes .emacs.d/vim-mode/.hg/store/data/vim-keys.el.i | Bin 7946 -> 0 bytes .emacs.d/vim-mode/.hg/store/data/vim-maps.el.i | Bin 14385 -> 0 bytes .emacs.d/vim-mode/.hg/store/data/vim-modes.el.i | Bin 9211 -> 0 bytes .emacs.d/vim-mode/.hg/store/data/vim-motions.el.i | Bin 23569 -> 0 bytes .emacs.d/vim-mode/.hg/store/data/vim-node.el.i | Bin 2167 -> 0 bytes .../vim-mode/.hg/store/data/vim-normal-mode.el.i | Bin 12384 -> 0 bytes .emacs.d/vim-mode/.hg/store/data/vim-scroll.el.i | Bin 3800 -> 0 bytes .emacs.d/vim-mode/.hg/store/data/vim-search.el.i | Bin 5139 -> 0 bytes .emacs.d/vim-mode/.hg/store/data/vim-undo.el.i | Bin 2968 -> 0 bytes .emacs.d/vim-mode/.hg/store/data/vim-vim.el.i | Bin 18396 -> 0 bytes .../vim-mode/.hg/store/data/vim-visual-mode.el.i | Bin 18059 -> 0 bytes .emacs.d/vim-mode/.hg/store/data/vim-window.el.i | Bin 5644 -> 0 bytes .emacs.d/vim-mode/.hg/store/data/vim.el.i | Bin 11929 -> 0 bytes .emacs.d/vim-mode/.hg/store/fncache | 22 - .emacs.d/vim-mode/.hg/store/undo | Bin 527 -> 0 bytes .emacs.d/vim-mode/.hg/tags.cache | 5 - .emacs.d/vim-mode/.hg/undo.branch | 1 - .emacs.d/vim-mode/.hg/undo.dirstate | 0 .emacs.d/vim-mode/.hgignore | 2 - .emacs.d/vim-mode/.hgtags | 3 - .emacs.d/vim-mode/vim-commands.el | 698 - .emacs.d/vim-mode/vim-compat.el | 537 - .emacs.d/vim-mode/vim-ex-commands.el | 132 - .emacs.d/vim-mode/vim-ex.el | 440 - .emacs.d/vim-mode/vim-insert-mode.el | 79 - .emacs.d/vim-mode/vim-keymap.el | 144 - .emacs.d/vim-mode/vim-maps.el | 364 - .emacs.d/vim-mode/vim-modes.el | 87 - .emacs.d/vim-mode/vim-motions.el | 666 - .emacs.d/vim-mode/vim-normal-mode.el | 192 - .emacs.d/vim-mode/vim-scroll.el | 136 - .emacs.d/vim-mode/vim-search.el | 243 - .emacs.d/vim-mode/vim-undo.el | 71 - .emacs.d/vim-mode/vim-vim.el | 404 - .emacs.d/vim-mode/vim-visual-mode.el | 774 -- .emacs.d/vim-mode/vim-window.el | 328 - .emacs.d/vim-mode/vim.el | 223 - .emacs.d/vimpulse.el | 7118 ---------- .vim/bundle/NrrwRgn | 2 +- .vim/bundle/VimOrganizer | 2 +- .vim/bundle/YouCompleteMe | 2 +- .vim/bundle/calendar-vim | 2 +- .vim/bundle/lusty | 2 +- .vim/bundle/syntastic | 2 +- .vim/bundle/tagbar | 2 +- .vim/bundle/vim-airline | 2 +- .vim/bundle/vim-bufferline | 2 +- .vim/bundle/vim-coffee-script | 2 +- .vim/bundle/vim-fugitive | 2 +- .vim/bundle/vim-gocode | 2 +- .vim/bundle/vim-sparkup | 2 +- 153 files changed, 129 insertions(+), 107850 deletions(-) delete mode 100644 .emacs.d/aquamacs-tools.el delete mode 100644 .emacs.d/auto-complete/Makefile delete mode 100644 .emacs.d/auto-complete/README.txt delete mode 100644 .emacs.d/auto-complete/TODO.txt delete mode 100644 .emacs.d/auto-complete/auto-complete-config.el delete mode 100644 .emacs.d/auto-complete/auto-complete-config.elc delete mode 100644 .emacs.d/auto-complete/auto-complete.el delete mode 100644 .emacs.d/auto-complete/auto-complete.elc delete mode 100644 .emacs.d/auto-complete/dict/c++-mode delete mode 100644 .emacs.d/auto-complete/dict/c-mode delete mode 100644 .emacs.d/auto-complete/dict/clojure-mode delete mode 100644 .emacs.d/auto-complete/dict/css-mode delete mode 100644 .emacs.d/auto-complete/dict/java-mode delete mode 100644 .emacs.d/auto-complete/dict/javascript-mode delete mode 100644 .emacs.d/auto-complete/dict/php-mode delete mode 100644 .emacs.d/auto-complete/dict/python-mode delete mode 100644 .emacs.d/auto-complete/dict/ruby-mode delete mode 100644 .emacs.d/auto-complete/dict/scheme-mode delete mode 100644 .emacs.d/auto-complete/dict/tcl-mode delete mode 100644 .emacs.d/auto-complete/doc/ac-fuzzy.png delete mode 100644 .emacs.d/auto-complete/doc/ac-isearch.png delete mode 100644 .emacs.d/auto-complete/doc/ac.png delete mode 100644 .emacs.d/auto-complete/doc/changes.ja.txt delete mode 100644 .emacs.d/auto-complete/doc/changes.txt delete mode 100644 .emacs.d/auto-complete/doc/demo.txt delete mode 100644 .emacs.d/auto-complete/doc/index.ja.txt delete mode 100644 .emacs.d/auto-complete/doc/index.txt delete mode 100644 .emacs.d/auto-complete/doc/manual.ja.txt delete mode 100644 .emacs.d/auto-complete/doc/manual.txt delete mode 100644 .emacs.d/auto-complete/doc/style.css delete mode 100644 .emacs.d/auto-complete/etc/install.el delete mode 100644 .emacs.d/auto-complete/etc/test.txt delete mode 100644 .emacs.d/auto-complete/fuzzy.el delete mode 100644 .emacs.d/auto-complete/fuzzy.elc delete mode 100644 .emacs.d/auto-complete/popup.el delete mode 100644 .emacs.d/auto-complete/popup.elc delete mode 100644 .emacs.d/color-theme-autoloads.el delete mode 100644 .emacs.d/color-theme.el delete mode 100644 .emacs.d/haskell-mode/fontlock.hs delete mode 100644 .emacs.d/haskell-mode/haskell-c.el delete mode 100644 .emacs.d/haskell-mode/haskell-cabal.el delete mode 100644 .emacs.d/haskell-mode/haskell-decl-scan.el delete mode 100644 .emacs.d/haskell-mode/haskell-doc.el delete mode 100644 .emacs.d/haskell-mode/haskell-font-lock.el delete mode 100644 .emacs.d/haskell-mode/haskell-ghci.el delete mode 100644 .emacs.d/haskell-mode/haskell-hugs.el delete mode 100644 .emacs.d/haskell-mode/haskell-indent.el delete mode 100644 .emacs.d/haskell-mode/haskell-indentation.el delete mode 100644 .emacs.d/haskell-mode/haskell-mode.el delete mode 100644 .emacs.d/haskell-mode/haskell-simple-indent.el delete mode 100644 .emacs.d/haskell-mode/haskell-site-file.el delete mode 100644 .emacs.d/haskell-mode/indent.hs delete mode 100644 .emacs.d/haskell-mode/inf-haskell.el delete mode 100644 .emacs.d/highlight-parentheses.el delete mode 100644 .emacs.d/highlight-symbol.el delete mode 100644 .emacs.d/icicles/icicles-chg.el delete mode 100644 .emacs.d/icicles/icicles-cmd1.el delete mode 100644 .emacs.d/icicles/icicles-cmd2.el delete mode 100644 .emacs.d/icicles/icicles-doc1.el delete mode 100644 .emacs.d/icicles/icicles-doc2.el delete mode 100644 .emacs.d/icicles/icicles-face.el delete mode 100644 .emacs.d/icicles/icicles-fn.el delete mode 100644 .emacs.d/icicles/icicles-mac.el delete mode 100644 .emacs.d/icicles/icicles-mcmd.el delete mode 100644 .emacs.d/icicles/icicles-mode.el delete mode 100644 .emacs.d/icicles/icicles-opt.el delete mode 100644 .emacs.d/icicles/icicles-var.el delete mode 100644 .emacs.d/icicles/icicles.el delete mode 100644 .emacs.d/tabbar/aquamacs-tabbar.el delete mode 100644 .emacs.d/tabbar/close-tab.png delete mode 100644 .emacs.d/tabbar/down.png delete mode 100644 .emacs.d/tabbar/left.png delete mode 100644 .emacs.d/tabbar/left_disabled.png delete mode 100644 .emacs.d/tabbar/right.png delete mode 100644 .emacs.d/tabbar/right_disabled.png delete mode 100644 .emacs.d/tabbar/tabbar-window.el delete mode 100644 .emacs.d/tabbar/tabbar.el delete mode 100644 .emacs.d/tabbar/up.png delete mode 100644 .emacs.d/themes/color-theme-barak.el delete mode 100644 .emacs.d/themes/color-theme-blackboard.el delete mode 100644 .emacs.d/themes/color-theme-example.el delete mode 100644 .emacs.d/themes/color-theme-library.el delete mode 100644 .emacs.d/themes/color-theme-tangotango.el delete mode 100644 .emacs.d/vim-mode/.hg/00changelog.i delete mode 100644 .emacs.d/vim-mode/.hg/branch delete mode 100644 .emacs.d/vim-mode/.hg/branchheads.cache delete mode 100644 .emacs.d/vim-mode/.hg/dirstate delete mode 100644 .emacs.d/vim-mode/.hg/hgrc delete mode 100644 .emacs.d/vim-mode/.hg/requires delete mode 100644 .emacs.d/vim-mode/.hg/store/00changelog.i delete mode 100644 .emacs.d/vim-mode/.hg/store/00manifest.i delete mode 100644 .emacs.d/vim-mode/.hg/store/data/.hgignore.i delete mode 100644 .emacs.d/vim-mode/.hg/store/data/.hgtags.i delete mode 100644 .emacs.d/vim-mode/.hg/store/data/vim-combat.el.i delete mode 100644 .emacs.d/vim-mode/.hg/store/data/vim-commands.el.i delete mode 100644 .emacs.d/vim-mode/.hg/store/data/vim-compat.el.i delete mode 100644 .emacs.d/vim-mode/.hg/store/data/vim-ex-commands.el.i delete mode 100644 .emacs.d/vim-mode/.hg/store/data/vim-ex.el.i delete mode 100644 .emacs.d/vim-mode/.hg/store/data/vim-insert-mode.el.i delete mode 100644 .emacs.d/vim-mode/.hg/store/data/vim-keymap.el.i delete mode 100644 .emacs.d/vim-mode/.hg/store/data/vim-keys.el.i delete mode 100644 .emacs.d/vim-mode/.hg/store/data/vim-maps.el.i delete mode 100644 .emacs.d/vim-mode/.hg/store/data/vim-modes.el.i delete mode 100644 .emacs.d/vim-mode/.hg/store/data/vim-motions.el.i delete mode 100644 .emacs.d/vim-mode/.hg/store/data/vim-node.el.i delete mode 100644 .emacs.d/vim-mode/.hg/store/data/vim-normal-mode.el.i delete mode 100644 .emacs.d/vim-mode/.hg/store/data/vim-scroll.el.i delete mode 100644 .emacs.d/vim-mode/.hg/store/data/vim-search.el.i delete mode 100644 .emacs.d/vim-mode/.hg/store/data/vim-undo.el.i delete mode 100644 .emacs.d/vim-mode/.hg/store/data/vim-vim.el.i delete mode 100644 .emacs.d/vim-mode/.hg/store/data/vim-visual-mode.el.i delete mode 100644 .emacs.d/vim-mode/.hg/store/data/vim-window.el.i delete mode 100644 .emacs.d/vim-mode/.hg/store/data/vim.el.i delete mode 100644 .emacs.d/vim-mode/.hg/store/fncache delete mode 100644 .emacs.d/vim-mode/.hg/store/undo delete mode 100644 .emacs.d/vim-mode/.hg/tags.cache delete mode 100644 .emacs.d/vim-mode/.hg/undo.branch delete mode 100644 .emacs.d/vim-mode/.hg/undo.dirstate delete mode 100644 .emacs.d/vim-mode/.hgignore delete mode 100644 .emacs.d/vim-mode/.hgtags delete mode 100644 .emacs.d/vim-mode/vim-commands.el delete mode 100644 .emacs.d/vim-mode/vim-compat.el delete mode 100644 .emacs.d/vim-mode/vim-ex-commands.el delete mode 100644 .emacs.d/vim-mode/vim-ex.el delete mode 100644 .emacs.d/vim-mode/vim-insert-mode.el delete mode 100644 .emacs.d/vim-mode/vim-keymap.el delete mode 100644 .emacs.d/vim-mode/vim-maps.el delete mode 100644 .emacs.d/vim-mode/vim-modes.el delete mode 100644 .emacs.d/vim-mode/vim-motions.el delete mode 100644 .emacs.d/vim-mode/vim-normal-mode.el delete mode 100644 .emacs.d/vim-mode/vim-scroll.el delete mode 100644 .emacs.d/vim-mode/vim-search.el delete mode 100644 .emacs.d/vim-mode/vim-undo.el delete mode 100644 .emacs.d/vim-mode/vim-vim.el delete mode 100644 .emacs.d/vim-mode/vim-visual-mode.el delete mode 100644 .emacs.d/vim-mode/vim-window.el delete mode 100644 .emacs.d/vim-mode/vim.el delete mode 100644 .emacs.d/vimpulse.el diff --git a/.bash_profile b/.bash_profile index 7cdc599..7aa13c5 100644 --- a/.bash_profile +++ b/.bash_profile @@ -30,3 +30,6 @@ if [ -n "$BASH_VERSION" ]; then fi fi + +# Added by ~/.emacs.d/install.sh +export PATH=$HOME/.cask/bin:$PATH diff --git a/.emacs.d/aquamacs-tools.el b/.emacs.d/aquamacs-tools.el deleted file mode 100644 index f9c8fac..0000000 --- a/.emacs.d/aquamacs-tools.el +++ /dev/null @@ -1,574 +0,0 @@ -;; Aquamacs tools -;; some helper functions for Aquamacs - -;; Author: David Reitter, david.reitter@gmail.com -;; Maintainer: David Reitter -;; Keywords: aquamacs - -;; This file is part of Aquamacs Emacs -;; http://www.aquamacs.org/ - -;; Aquamacs is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) -;; any later version. - -;; Aquamacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. - -;; Copyright (C) 2005, 2007, 2009 David Reitter - - -; remove an element from an associative list (alist) -;; (defun remove-alist-name (name alist) -;; "Removes element whose car is NAME from ALIST." -;; (cond ((equal name (car (car alist))) ; found name -;; (cdr alist)) -;; ((null alist) ; end of list (termination cond) -;; nil) -;; (t -;; (cons (car alist) ; first of alist plus rest w/ recursion -;; (remove-alist-name name (cdr alist)))))) - -;; this is assq -;; (defun get-alist-value-for-name (name alist) -;; "Returns value of element whose car is NAME from ALIST. nil if not found" -;; (cond ((equal name (car (car alist))) ; found name -;; (cdr (car alist))) -;; ((null alist) ; end of list (termination cond) -;; nil) -;; (t -;; ; first of alist plus rest w/ recursion -;; (get-alist-value-for-name name (cdr alist))))) - - -(defun running-on-a-mac-p () - (memq initial-window-system '(mac ns))) - - -(defun aquamacs-ask-for-confirmation (text long &optional yes-button no-button sheet no-cancel) - (let ((f (window-frame (minibuffer-window)))) - (make-frame-visible f) - (raise-frame f) ; make sure frame is visible - (if (or - (and last-nonmenu-event - (not (consp last-nonmenu-event))) - ;;(not (eq (car-safe last-nonmenu-event) - ;; 'mac-apple-event))) - (not use-dialog-box) - (not window-system)) - (progn - ;; make sure the frame's minibuffer is actually visible - ;; because minibuffer-setup-hook is not executed. - (and (fboundp 'smart-move-minibuffer-inside-screen) - smart-frame-positioning-mode - (smart-move-minibuffer-inside-screen f)) - (let ((text (if (string-match "\\(.*\\)\n" text) - (match-string 1 text) - text))) - (if (and long (not aquamacs-quick-yes-or-no-prompt)) - (old-yes-or-no-p text) - (old-y-or-n-p text)))) - (let ((ret (x-popup-dialog (or sheet (if (mouse-event-p last-command-event) last-command-event) - `(mouse-1 (,(selected-window) 100 (0 . 50) -1))) - (list text - `((,(or yes-button "Yes") . ?\r) . t) ; use \r instead of y until we have multi-keyEquivs - (if no-cancel 'no-cancel 'cancel) - `((,(or no-button "No") . ?n) . nil))))) - (if (eq ret 'cancel) - (keyboard-quit)) - ret)))) - - -(defun filter-list (lst elements) -"Returns LST sans ELEMENTS. -Creates a new list where all elements in ELEMENTS from LST -are removed. Comparison is done with `eq'." - -(if (null lst) - nil - (if (member (car lst) elements) - (filter-list (cdr lst) elements) - (cons (car lst) (filter-list (cdr lst) elements))))) - -(defun assq-set-all (source dest-sym) - "Writes all values from alist SOURCE into alist DEST-SYM, -overwriting any previous associations in DEST" - (mapc (lambda (x) - (set dest-sym (assq-delete-all (car x) (eval dest-sym)))) - source) - (set dest-sym (append source (eval dest-sym)))) - -; (setq test '((a . 1) (b . 2))) -; (assq-set-all '((b . 5) (c . 6)) 'test) - - - -; (assq-subtract '((asd . 3) (wqe . 5)) '((wqq . 3) (wqe . 5))) -; (assq-subtract '((asd . 3) (wqe . 5)) '((wqq . 3) (wqe . 2))) -; (assq-subtract '((asd . 3) (wqe . 5)) '((wqq . 3) (wqe . 2)) t) -(defun assq-subtract (a b &optional ignore-values) - "Subtracts alist B from A. Order of elements is NOT preserved. -If IGNORE-VALUES is non-nil, alist elements with differing cdrs (values) -are still subtracted." - - (let ((ret)) - (mapc (lambda (x) - (let ((p (assq (car x) b))) - (unless (and p (or ignore-values (eq (cdr p) (cdr x)))) - (setq ret (cons x ret))))) - a) - ret)) - -(defun assq-set (key val alist) - "Sets value associated with KEY to VAL in ALIST. -ALIST must be a symbol giving the variable name. -Comparison of keys is done with `eq'. -New key-value pair will be in car of ALIST." - (set alist (cons (cons key val) - (assq-delete-all key (eval alist))))) - -(defun assq-set-equal (key val alist) - "Sets value associated with the string KEY to VAL in ALIST. -Comparison of keys is done with `equal'. -ALIST must be a symbol giving the variable name. -New key-value pair will be in car of ALIST." - (set alist (cons (cons key val) - (assq-delete-all-equal key (eval alist))))) - -(defun assq-string-equal (key alist) - - (loop for element in alist - if (string-equal (car element) key) - return element)) - - -;; (setq asd (list 1 2 3 4 5)) -;; (aq-replace-in-list asd 1 'a) -;; asd -(defun aq-replace-in-list (list from to) - (if (eq (car-safe list) from) - (setcar list to)) - (if (cdr-safe list) - (aq-replace-in-list (cdr-safe list) from to))) - - -(defun assq-delete-all-equal (key alist) - "Delete from ALIST all elements whose car is `equal' to KEY. -Return the modified alist. -Elements of ALIST that are not conses are ignored." - (while (and (consp (car alist)) - (equal (car (car alist)) key)) - (setq alist (cdr alist))) - (let ((tail alist) tail-cdr) - (while (setq tail-cdr (cdr tail)) - (if (and (consp (car tail-cdr)) - (equal (car (car tail-cdr)) key)) - (setcdr tail (cdr tail-cdr)) - (setq tail tail-cdr)))) - alist) - - -(defun aq-list-contains (list element) - "Return non-nil if the LIST contains ELEMENT. Aquamacs only. -Comparison is done with `eq'." - (let (first result) - (while list - (if (not (eq (car-safe list) element)) - (setq list (cdr-safe list)) - (setq list nil) - (setq result t)) - ) - result)) -;; (aq-list-contains (list 1 2 3 4 5 'a 'b nil 'x) 1) - -(defun aq-list-contains-equal (list element) - "Return non-nil if the LIST contains ELEMENT. Aquamacs only. -Comparison is done with `equal'." - (let (first result) - (while list - (if (not (equal (car-safe list) element)) - (setq list (cdr-safe list)) - (setq list nil) - (setq result t)) - ) - result)) - - -(defun aq-chomp (str) - "Chomp leading and tailing whitespace from STR." - (let ((s (if (symbolp str) (symbol-name str) str))) - (replace-regexp-in-string "\\(^[[:space:]\n]*\\|[[:space:]\n]*$\\)" "" s))) - -(defun fontset-exist-p (font) -(condition-case nil - (fontset-info font) - (error nil)) -) - -;; this needs to be replaced by functions defined earlier -; recursion is not so good in elisp anyways -(defun filter-fonts (list) - "Filters the font list LIST to contain only existing fontsets. -Each element of LIST has to be of the form (symbol . fontset)." - (mapcar - (lambda (p) - (mapcar - (lambda (e) - (if (and (consp e) - (eq (car e) 'font) - (not (fontset-exist-p (cdr e))) - ) - '(font . "fontset-standard") - e)) - p)) - list)) - - - - - -(defun get-bufname (buf) - (if (eq (type-of buf) 'string) - buf - (buffer-name buf)) - -) - -(defun get-bufobj (buf) - (if (eq (type-of buf) 'string) - (get-buffer buf) - buf) - -) - -(defun find-all-windows-internal (buffer &optional onlyvis) - "Find all windows that display a buffer." - (let ((windows nil)) - (walk-windows (lambda (wind) - - (if (eq (window-buffer wind) buffer) - (push wind windows))) t (if onlyvis 'visible t)) - windows - ) -) -; (find-all-frames-internal (current-buffer)) -(defun find-all-frames-internal (buffer &optional onlyvis) - (let ((frames nil)) - (walk-windows (lambda (wind) - - (if (eq (window-buffer wind) buffer) - (let ((frm (window-frame wind))) - - (unless (memq frm frames) - (push frm frames))))) - nil (if onlyvis 'visible t)) - frames)) - - - - - - -(defgroup Aquamacs-is-more-than-Emacs nil - "All defaults in Aquamacs that are different from GNU Emacs. -This customization group contains every default for customization -variables that is changed in Aquamacs compared to GNU Emacs 22 or -an additionally included package. -Note that non-customization variables as well as code may be -changed or advised in Aquamacs (compared to GNU Emacs), so reverting -all of these defaults to their GNU Emacs value will not give you -a GNU Emacs. To achieve that, use a self-compiled binary of -Carbon Emacs instead of Aquamacs." -:group 'Aquamacs) - -(setq messages-buffer-max-lines 500) - -(defun aquamacs-set-defaults (list) - "Set a new default for a customization option in Aquamacs. -Add the value to the customization group `Aquamacs-is-more-than-Emacs'." - - (mapc (lambda (elt) - (custom-load-symbol (car elt)) - (let* ((symbol (car elt)) - ;; we're accessing the doc property here so - ;; if the symbol is an autoload symbol, - ;; it'll get loaded now before setting its defaults - ;; (e.g. standard-value), which would otherwise be - ;; overwritten. - (old-doc - (condition-case nil - (documentation-property - symbol - 'variable-documentation) - (error ""))) - (value (car (cdr elt))) - (s-value (get symbol 'standard-value))) - (set symbol value) - (set-default symbol value) ;; new in post-0.9.5 - - ;; make sure that user customizations get - ;; saved to customizations.el (.emacs) - ;; and that this appears as the new default. - - (put symbol 'standard-value `((quote ,(copy-tree (eval symbol))))) - ;; since the standard-value changed, put it in the - ;; group - - (unless (or (eq s-value (get symbol 'standard-value)) - (get symbol 'aquamacs-original-default)) - (put symbol 'aquamacs-original-default - s-value) - (if old-doc ;; in some cases the documentation - ;; might not be loaded. Can we load it somehow? - ;; either way, the "if" is a workaround. - (put symbol 'variable-documentation - (concat - old-doc - (format " - -The original default (in GNU Emacs or in the package) was: -%s" - s-value)))) - (custom-add-to-group 'Aquamacs-is-more-than-Emacs - symbol 'custom-variable)))) - list)) - -; (aquamacs-setup) - -(defun url-encode-string (string &optional coding) - "Encode STRING by url-encoding. -Optional CODING is used for encoding coding-system." - (apply (function concat) - (mapcar - (lambda (ch) - (cond - ((eq ch ?\n) ; newline - "%0D%0A") - ((string-match "[-a-zA-Z0-9_:/.]" (char-to-string ch)) - (char-to-string ch)) ; printable - ((char-equal ch ?\x20) ; space - "%20") - (t - (format "%%%02x" ch)))) ; escape - ;; Coerce a string to a list of chars. - (append (encode-coding-string (or string "") - (or coding - file-name-coding-system)) - nil)))) - - - -(defun load-post-sitestart-files () - "Load the Aquamacs plugins from site-start directories." - (let (loaded) - (mapcar - (lambda (p) (unless (file-exists-p (concat p "/.ignore")) - (let ((infod (concat p "/info")) - (file (expand-file-name (concat p "/site-start") "~/"))) - - (unless (member file loaded) - (if (file-directory-p infod) - (add-to-list 'Info-default-directory-list infod)) - (load file 'noerror) - (setq loaded (cons file loaded)))))) - load-path) - t)) - ; (load-post-sitestart-files) - -(defun load-pre-sitestart-files () - "Load the pre-start Aquamacs plugins from site-prestart directories." - (let (loaded) - (mapcar - (lambda (p) (unless (file-exists-p (concat p "/.ignore")) - (let ((infod (concat p "/info")) - (file (expand-file-name (concat p "/site-prestart") "~/"))) - (unless (member file loaded) - (if (file-directory-p infod) - (add-to-list 'Info-default-directory-list infod)) - (load file 'noerror) - (setq loaded (cons file loaded)))))) - load-path) - t)) -; (load-pre-sitestart-files) - - -(defun aq-current-milliseconds () - (let ((ti (cdr (current-time))) - - ) - (+ (* 1000 (- (car ti) (car (cdr aq-timer)))) - (/ (- (car (cdr ti)) - (car (cdr (cdr aq-timer))) - ) 1000)))) - -(defun aq-start-timer () - (setq aq-timer (current-time)) -) -;(aq-start-timer) -(defun aq-print-timer () - (message (format "%d" (aq-current-milliseconds)) )) - - -(defun aquamacs-pretty-mode-name (mode) - (capitalize - (replace-regexp-in-string "-mode" "" (symbol-name mode)))) - -;; apple command character is unicode x2318 -;; (aq-describe-modifier 'hyper) -(defun aq-describe-modifier (mod) - ;; translate modifier - (if (eq mod 'ctrl) - (setq mod 'control)) - (or - (cond - ((and (boundp 'mac-command-modifier) (eq mac-command-modifier mod)) - (string (decode-char 'ucs #X2318))) - ((and (boundp 'mac-option-modifier) (eq (or mac-option-modifier 'alt) - mod)) - (string (decode-char 'ucs #X2325))) - ((and (boundp 'mac-control-modifier) (eq (or mac-control-modifier 'control) - mod)) - (string (decode-char 'ucs #X2303))) - ((eq mod 'shift) - (string (decode-char 'ucs #X21E7))) - ((and (boundp 'mac-function-modifier) (eq mac-function-modifier mod)) - "Fn ") - ) - ;; (progn (print mod) nil) - (signal 'search-failed nil) - )) - -(defvar apple-char (string (decode-char 'ucs #X2318))) - -;; The following is a big hack. The mac port can't currently cope -;; with putting the command key combos in the menu, for various -;; reasons (1. they are just secondary alternatives, 2. command is defined -;; as 'alt' and only known as such) - -; redefine New -; (define-key menu-bar-edit-menu [mark-whole-buffer] (cdr (assq 'mark-whole-buffer (key-binding [menu-bar edit])))) - - -(defun get-window-for-other-buffer (&optional dont-make-frame buffer) - "Find a suitable window for other buffers. -Preferably the selected one. -If a frame is created for the other buffer, -show BUFFER in that frame." - (let ((sel-win (selected-window))) ; search all visible&iconified frames - (unless - (and sel-win - (window-live-p sel-win) - (eq t (frame-visible-p (window-frame sel-win))) - (not (special-display-p - (or (buffer-name (window-buffer sel-win)) "")))) - ;; search visible frames (but not dedicated ones) - (setq sel-win (get-largest-window 'visible nil))) - (unless - (and sel-win - (window-live-p sel-win) - (eq t (frame-visible-p (window-frame sel-win))) - (not (special-display-p - (or (buffer-name (window-buffer sel-win)) "")))) - (unless dont-make-frame - (setq sel-win (frame-first-window - (with-current-buffer (or buffer (current-buffer)) - ;; make sure we're not creating some "special" frame - (make-frame)))))) - (if sel-win - (unless (eq t (frame-visible-p (window-frame sel-win))) - (make-frame-visible (window-frame sel-win)))) - sel-win)) - -;; New documents -(defun new-empty-buffer-other-frame (&optional mode) - "Opens a new frame containing an empty buffer." - (interactive) - (new-empty-buffer t mode)) - -(defcustom aquamacs-default-major-mode 'text-mode - "Major mode in effect when new empty buffers are created. -Specifies the major mode to be used for `new-empty-buffer' -and `new-empty-buffer-other-frame'." - :group 'Aquamacs) - -(defun new-empty-buffer (&optional other-frame mode) - "Visits an empty buffer. -The major mode is set to MODE, or, if that is nil, -the value of `aquamacs-default-major-mode'." - (interactive) - (let ((buf (generate-new-buffer (mac-new-buffer-name "untitled")))) - ;; setting mode is done before showing the new frame - ;; because otherwise, we get a nasty animation effect - (save-excursion - (set-buffer buf) - (funcall (or mode aquamacs-default-major-mode (default-value 'major-mode) 'ignore))) - (if other-frame - (switch-to-buffer-other-frame buf) - (let ((one-buffer-one-frame-force one-buffer-one-frame-mode)) - ;; change window in case its unsuitable (dedicated or special display) - (select-window (get-window-for-other-buffer)) - ;; force new frame - (switch-to-buffer buf) - (select-frame-set-input-focus (window-frame (selected-window))))) - (setq buffer-offer-save t) - (put 'buffer-offer-save 'permanent-local t) - (set-buffer-modified-p nil))) - -(defalias 'new-frame-with-new-scratch 'new-empty-buffer) - -;; auto save purging - -(defun purge-session-and-auto-save-files (&optional days) - "Deletes old auto-save files and session files. -If given, DAYS indicates the number of days to keep such files. -Otherwise, a sensible default is assumed. -Files may be moved to the trash or deleted. - -Aquamacs only. -" - (interactive) - - (let* ((days (or days 31)) - (count1 - (aquamacs-purge-directory (file-name-directory auto-save-list-file-prefix) - (concat "\\`" (regexp-quote - (file-name-nondirectory - auto-save-list-file-prefix))) - days)) - (count2 - (aquamacs-purge-directory (file-name-directory aquamacs-autosave-directory) - ".*" - days))) - (if (called-interactively-p) - (message "%s Session and %s Auto save files older than %s days purged." count1 count2 days)))) - -(defun aquamacs-purge-directory (directory regexp days) - "Delete old files from directory" - (condition-case nil - (let* ((count 0) - (cutoff-time (- (car (current-time)) (/ (* days 24) 18)))) ; that's about a week - (mapc - (lambda (file) - (when (and (< (car (nth 5 (file-attributes file))) - cutoff-time) - (not (file-directory-p file))) - (move-file-to-trash file) - (setq count (1+ count)))) - (directory-files (expand-file-name directory) t - regexp t)) - count) - (error 0))) - - - - -(provide 'aquamacs-tools) - diff --git a/.emacs.d/auto-complete/Makefile b/.emacs.d/auto-complete/Makefile deleted file mode 100644 index 1d6f435..0000000 --- a/.emacs.d/auto-complete/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -VERSION=`perl -ne 'print $$1 if /;; Version: (.*)/' auto-complete.el` -PACKAGE=auto-complete-${VERSION} - -byte-compile: - emacs -Q -L . -batch -f batch-byte-compile *.el - -install: - emacs -Q -L . -batch -l etc/install ${DIR} - -clean: - rm -f *.elc - rm -f doc/*.html - rm -rf ${PACKAGE} - rm -f ${PACKAGE}.zip ${PACKAGE}.tar.bz2 - -package: clean - mkdir ${PACKAGE} - cp -r *.el Makefile README.txt TODO.txt doc etc dict ${PACKAGE} - -tar.bz2: package - tar cjf ${PACKAGE}.tar.bz2 ${PACKAGE} - -zip: package - zip -r ${PACKAGE}.zip ${PACKAGE} diff --git a/.emacs.d/auto-complete/README.txt b/.emacs.d/auto-complete/README.txt deleted file mode 100644 index c6ff110..0000000 --- a/.emacs.d/auto-complete/README.txt +++ /dev/null @@ -1,13 +0,0 @@ -Auto Complete Mode -================== - -Documentation -------------- - -* http://cx4a.org/software/auto-complete/ -* doc/index.txt - -License -------- - -Auto Complete Mode is distributed under the term of GPLv3. And its documentations under doc directory is distributed under the term of GFDL. diff --git a/.emacs.d/auto-complete/TODO.txt b/.emacs.d/auto-complete/TODO.txt deleted file mode 100644 index e897866..0000000 --- a/.emacs.d/auto-complete/TODO.txt +++ /dev/null @@ -1,10 +0,0 @@ -- etags, ctags -- emacswiki -- test facility -- support composed chars -- minibuffer completion -- performance issue (cache issue) -- asynchronous processing -- kanji henkan support -- create menu if needed -- quick help positioning on tabs (bug) diff --git a/.emacs.d/auto-complete/auto-complete-config.el b/.emacs.d/auto-complete/auto-complete-config.el deleted file mode 100644 index 26ec044..0000000 --- a/.emacs.d/auto-complete/auto-complete-config.el +++ /dev/null @@ -1,480 +0,0 @@ -;;; auto-complete-config.el --- auto-complete additional configuations - -;; Copyright (C) 2009, 2010 Tomohiro Matsuyama - -;; Author: Tomohiro Matsuyama -;; Keywords: convenience -;; Version: 1.3 - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . - -;;; Commentary: - -;; - -;;; Code: - -(eval-when-compile - (require 'cl)) - -(require 'auto-complete) - - - -;;;; Additional sources - -;; imenu - -(defvar ac-imenu-index nil) - -(ac-clear-variable-every-10-minutes 'ac-imenu-index) - -(defun ac-imenu-candidates () - (loop with i = 0 - with stack = (progn - (unless (local-variable-p 'ac-imenu-index) - (make-local-variable 'ac-imenu-index)) - (or ac-imenu-index - (setq ac-imenu-index - (ignore-errors - (with-no-warnings - (imenu--make-index-alist)))))) - with result - while (and stack (or (not (integerp ac-limit)) - (< i ac-limit))) - for node = (pop stack) - if (consp node) - do - (let ((car (car node)) - (cdr (cdr node))) - (if (consp cdr) - (mapc (lambda (child) - (push child stack)) - cdr) - (when (and (stringp car) - (string-match (concat "^" (regexp-quote ac-prefix)) car)) - ;; Remove extra characters - (if (string-match "^.*\\(()\\|=\\|<>\\)$" car) - (setq car (substring car 0 (match-beginning 1)))) - (push car result) - (incf i)))) - finally return (nreverse result))) - -(ac-define-source imenu - '((depends imenu) - (candidates . ac-imenu-candidates) - (symbol . "s"))) - -;; gtags - -(defface ac-gtags-candidate-face - '((t (:background "lightgray" :foreground "navy"))) - "Face for gtags candidate" - :group 'auto-complete) - -(defface ac-gtags-selection-face - '((t (:background "navy" :foreground "white"))) - "Face for the gtags selected candidate." - :group 'auto-complete) - -(defun ac-gtags-candidate () - (ignore-errors - (split-string (shell-command-to-string (format "global -ci %s" ac-prefix)) "\n"))) - -(ac-define-source gtags - '((candidates . ac-gtags-candidate) - (candidate-face . ac-gtags-candidate-face) - (selection-face . ac-gtags-selection-face) - (requires . 3) - (symbol . "s"))) - -;; yasnippet - -(defface ac-yasnippet-candidate-face - '((t (:background "sandybrown" :foreground "black"))) - "Face for yasnippet candidate." - :group 'auto-complete) - -(defface ac-yasnippet-selection-face - '((t (:background "coral3" :foreground "white"))) - "Face for the yasnippet selected candidate." - :group 'auto-complete) - -(defun ac-yasnippet-table-hash (table) - (cond - ((fboundp 'yas/snippet-table-hash) - (yas/snippet-table-hash table)) - ((fboundp 'yas/table-hash) - (yas/table-hash table)))) - -(defun ac-yasnippet-table-parent (table) - (cond - ((fboundp 'yas/snippet-table-parent) - (yas/snippet-table-parent table)) - ((fboundp 'yas/table-parent) - (yas/table-parent table)))) - -(defun ac-yasnippet-candidate-1 (table) - (with-no-warnings - (let ((hashtab (ac-yasnippet-table-hash table)) - (parent (ac-yasnippet-table-parent table)) - candidates) - (maphash (lambda (key value) - (push key candidates)) - hashtab) - (setq candidates (all-completions ac-prefix (nreverse candidates))) - (if parent - (setq candidates - (append candidates (ac-yasnippet-candidate-1 parent)))) - candidates))) - -(defun ac-yasnippet-candidates () - (with-no-warnings - (if (fboundp 'yas/get-snippet-tables) - ;; >0.6.0 - (apply 'append (mapcar 'ac-yasnippet-candidate-1 (yas/get-snippet-tables major-mode))) - (let ((table - (if (fboundp 'yas/snippet-table) - ;; <0.6.0 - (yas/snippet-table major-mode) - ;; 0.6.0 - (yas/current-snippet-table)))) - (if table - (ac-yasnippet-candidate-1 table)))))) - -(ac-define-source yasnippet - '((depends yasnippet) - (candidates . ac-yasnippet-candidates) - (action . yas/expand) - (candidate-face . ac-yasnippet-candidate-face) - (selection-face . ac-yasnippet-selection-face) - (symbol . "a"))) - -;; semantic - -(defun ac-semantic-candidates (prefix) - (with-no-warnings - (delete "" ; semantic sometimes returns an empty string - (mapcar 'semantic-tag-name - (ignore-errors - (or (semantic-analyze-possible-completions - (semantic-analyze-current-context)) - (senator-find-tag-for-completion prefix))))))) - -(ac-define-source semantic - '((available . (or (require 'semantic-ia nil t) - (require 'semantic/ia nil t))) - (candidates . (ac-semantic-candidates ac-prefix)) - (prefix . c-dot-ref) - (requires . 0) - (symbol . "m"))) - -(ac-define-source semantic-raw - '((available . (or (require 'semantic-ia nil t) - (require 'semantic/ia nil t))) - (candidates . (ac-semantic-candidates ac-prefix)) - (symbol . "s"))) - -;; eclim - -(defun ac-eclim-candidates () - (with-no-warnings - (loop for c in (eclim/java-complete) - collect (nth 1 c)))) - -(ac-define-source eclim - '((candidates . ac-eclim-candidates) - (prefix . c-dot) - (requires . 0) - (symbol . "f"))) - -;; css - -;; Copied from company-css.el -(defconst ac-css-property-alist - ;; see http://www.w3.org/TR/CSS21/propidx.html - '(("azimuth" angle "left-side" "far-left" "left" "center-left" "center" - "center-right" "right" "far-right" "right-side" "behind" "leftwards" - "rightwards") - ("background" background-color background-image background-repeat - background-attachment background-position) - ("background-attachment" "scroll" "fixed") - ("background-color" color "transparent") - ("background-image" uri "none") - ("background-position" percentage length "left" "center" "right" percentage - length "top" "center" "bottom" "left" "center" "right" "top" "center" - "bottom") - ("background-repeat" "repeat" "repeat-x" "repeat-y" "no-repeat") - ("border" border-width border-style border-color) - ("border-bottom" border) - ("border-bottom-color" border-color) - ("border-bottom-style" border-style) - ("border-bottom-width" border-width) - ("border-collapse" "collapse" "separate") - ("border-color" color "transparent") - ("border-left" border) - ("border-left-color" border-color) - ("border-left-style" border-style) - ("border-left-width" border-width) - ("border-right" border) - ("border-right-color" border-color) - ("border-right-style" border-style) - ("border-right-width" border-width) - ("border-spacing" length length) - ("border-style" border-style) - ("border-top" border) - ("border-top-color" border-color) - ("border-top-style" border-style) - ("border-top-width" border-width) - ("border-width" border-width) - ("bottom" length percentage "auto") - ("caption-side" "top" "bottom") - ("clear" "none" "left" "right" "both") - ("clip" shape "auto") - ("color" color) - ("content" "normal" "none" string uri counter "attr()" "open-quote" - "close-quote" "no-open-quote" "no-close-quote") - ("counter-increment" identifier integer "none") - ("counter-reset" identifier integer "none") - ("cue" cue-before cue-after) - ("cue-after" uri "none") - ("cue-before" uri "none") - ("cursor" uri "*" "auto" "crosshair" "default" "pointer" "move" "e-resize" - "ne-resize" "nw-resize" "n-resize" "se-resize" "sw-resize" "s-resize" - "w-resize" "text" "wait" "help" "progress") - ("direction" "ltr" "rtl") - ("display" "inline" "block" "list-item" "run-in" "inline-block" "table" - "inline-table" "table-row-group" "table-header-group" "table-footer-group" - "table-row" "table-column-group" "table-column" "table-cell" - "table-caption" "none") - ("elevation" angle "below" "level" "above" "higher" "lower") - ("empty-cells" "show" "hide") - ("float" "left" "right" "none") - ("font" font-style font-variant font-weight font-size "/" line-height - font-family "caption" "icon" "menu" "message-box" "small-caption" - "status-bar") - ("font-family" family-name generic-family) - ("font-size" absolute-size relative-size length percentage) - ("font-style" "normal" "italic" "oblique") - ("font-variant" "normal" "small-caps") - ("font-weight" "normal" "bold" "bolder" "lighter" "100" "200" "300" "400" - "500" "600" "700" "800" "900") - ("height" length percentage "auto") - ("left" length percentage "auto") - ("letter-spacing" "normal" length) - ("line-height" "normal" number length percentage) - ("list-style" list-style-type list-style-position list-style-image) - ("list-style-image" uri "none") - ("list-style-position" "inside" "outside") - ("list-style-type" "disc" "circle" "square" "decimal" "decimal-leading-zero" - "lower-roman" "upper-roman" "lower-greek" "lower-latin" "upper-latin" - "armenian" "georgian" "lower-alpha" "upper-alpha" "none") - ("margin" margin-width) - ("margin-bottom" margin-width) - ("margin-left" margin-width) - ("margin-right" margin-width) - ("margin-top" margin-width) - ("max-height" length percentage "none") - ("max-width" length percentage "none") - ("min-height" length percentage) - ("min-width" length percentage) - ("orphans" integer) - ("outline" outline-color outline-style outline-width) - ("outline-color" color "invert") - ("outline-style" border-style) - ("outline-width" border-width) - ("overflow" "visible" "hidden" "scroll" "auto") - ("padding" padding-width) - ("padding-bottom" padding-width) - ("padding-left" padding-width) - ("padding-right" padding-width) - ("padding-top" padding-width) - ("page-break-after" "auto" "always" "avoid" "left" "right") - ("page-break-before" "auto" "always" "avoid" "left" "right") - ("page-break-inside" "avoid" "auto") - ("pause" time percentage) - ("pause-after" time percentage) - ("pause-before" time percentage) - ("pitch" frequency "x-low" "low" "medium" "high" "x-high") - ("pitch-range" number) - ("play-during" uri "mix" "repeat" "auto" "none") - ("position" "static" "relative" "absolute" "fixed") - ("quotes" string string "none") - ("richness" number) - ("right" length percentage "auto") - ("speak" "normal" "none" "spell-out") - ("speak-header" "once" "always") - ("speak-numeral" "digits" "continuous") - ("speak-punctuation" "code" "none") - ("speech-rate" number "x-slow" "slow" "medium" "fast" "x-fast" "faster" - "slower") - ("stress" number) - ("table-layout" "auto" "fixed") - ("text-align" "left" "right" "center" "justify") - ("text-decoration" "none" "underline" "overline" "line-through" "blink") - ("text-indent" length percentage) - ("text-transform" "capitalize" "uppercase" "lowercase" "none") - ("top" length percentage "auto") - ("unicode-bidi" "normal" "embed" "bidi-override") - ("vertical-align" "baseline" "sub" "super" "top" "text-top" "middle" - "bottom" "text-bottom" percentage length) - ("visibility" "visible" "hidden" "collapse") - ("voice-family" specific-voice generic-voice "*" specific-voice - generic-voice) - ("volume" number percentage "silent" "x-soft" "soft" "medium" "loud" - "x-loud") - ("white-space" "normal" "pre" "nowrap" "pre-wrap" "pre-line") - ("widows" integer) - ("width" length percentage "auto") - ("word-spacing" "normal" length) - ("z-index" "auto" integer)) - "A list of CSS properties and their possible values.") - -(defconst ac-css-value-classes - '((absolute-size "xx-small" "x-small" "small" "medium" "large" "x-large" - "xx-large") - (border-style "none" "hidden" "dotted" "dashed" "solid" "double" "groove" - "ridge" "inset" "outset") - (color "aqua" "black" "blue" "fuchsia" "gray" "green" "lime" "maroon" "navy" - "olive" "orange" "purple" "red" "silver" "teal" "white" "yellow" - "rgb") - (counter "counter") - (family-name "Courier" "Helvetica" "Times") - (generic-family "serif" "sans-serif" "cursive" "fantasy" "monospace") - (generic-voice "male" "female" "child") - (margin-width "auto") ;; length percentage - (relative-size "larger" "smaller") - (shape "rect") - (uri "url")) - "A list of CSS property value classes and their contents.") - -(defconst ac-css-pseudo-classes - '("active" "after" "before" "first" "first-child" "first-letter" "first-line" - "focus" "hover" "lang" "left" "link" "right" "visited") - "Identifiers for CSS pseudo-elements and pseudo-classes.") - -(defvar ac-css-property nil - "Current editing property.") - -(defun ac-css-prefix () - (when (save-excursion (re-search-backward "\\_<\\(.+?\\)\\_>\\s *:.*\\=" nil t)) - (setq ac-css-property (match-string 1)) - (or (ac-prefix-symbol) (point)))) - -(defun ac-css-property-candidates () - (or (loop with list = (assoc-default ac-css-property ac-css-property-alist) - with value - while (setq value (pop list)) - if (symbolp value) - do (setq list - (append list - (or (assoc-default value ac-css-value-classes) - (assoc-default (symbol-name value) ac-css-property-alist)))) - else collect value) - ac-css-pseudo-classes)) - -(defvar ac-source-css-property - '((candidates . ac-css-property-candidates) - (prefix . ac-css-prefix) - (requires . 0))) - - - -;;;; Not maintained sources - -;; ropemacs - -(defvar ac-ropemacs-loaded nil) -(defun ac-ropemacs-require () - (with-no-warnings - (unless ac-ropemacs-loaded - (pymacs-load "ropemacs" "rope-") - (if (boundp 'ropemacs-enable-autoimport) - (setq ropemacs-enable-autoimport t)) - (setq ac-ropemacs-loaded t)))) - -(defun ac-ropemacs-setup () - (ac-ropemacs-require) - ;(setq ac-sources (append (list 'ac-source-ropemacs) ac-sources)) - (setq ac-omni-completion-sources '(("\\." ac-source-ropemacs)))) - -(defun ac-ropemacs-initialize () - (autoload 'pymacs-apply "pymacs") - (autoload 'pymacs-call "pymacs") - (autoload 'pymacs-eval "pymacs" nil t) - (autoload 'pymacs-exec "pymacs" nil t) - (autoload 'pymacs-load "pymacs" nil t) - (add-hook 'python-mode-hook 'ac-ropemacs-setup) - t) - -(defvar ac-ropemacs-completions-cache nil) -(defvar ac-source-ropemacs - '((init - . (lambda () - (setq ac-ropemacs-completions-cache - (mapcar - (lambda (completion) - (concat ac-prefix completion)) - (ignore-errors - (rope-completions)))))) - (candidates . ac-ropemacs-completions-cache))) - -;; rcodetools - -(defvar ac-source-rcodetools - '((init . (lambda () - (require 'rcodetools) - (condition-case x - (save-excursion - (rct-exec-and-eval rct-complete-command-name "--completion-emacs-icicles")) - (error) (setq rct-method-completion-table nil)))) - (candidates . (lambda () - (all-completions - ac-prefix - (mapcar - (lambda (completion) - (replace-regexp-in-string "\t.*$" "" (car completion))) - rct-method-completion-table)))))) - - - -;;;; Default settings - -(defun ac-common-setup () - (add-to-list 'ac-sources 'ac-source-filename)) - -(defun ac-emacs-lisp-mode-setup () - (setq ac-sources (append '(ac-source-features ac-source-functions ac-source-yasnippet ac-source-variables ac-source-symbols) ac-sources))) - -(defun ac-cc-mode-setup () - (setq ac-sources (append '(ac-source-yasnippet ac-source-gtags) ac-sources))) - -(defun ac-ruby-mode-setup () - (make-local-variable 'ac-ignores) - (add-to-list 'ac-ignores "end")) - -(defun ac-css-mode-setup () - (setq ac-sources (append '(ac-source-css-property) ac-sources))) - -(defun ac-config-default () - (setq-default ac-sources '(ac-source-abbrev ac-source-dictionary ac-source-words-in-same-mode-buffers)) - (add-hook 'emacs-lisp-mode-hook 'ac-emacs-lisp-mode-setup) - (add-hook 'c-mode-common-hook 'ac-cc-mode-setup) - (add-hook 'ruby-mode-hook 'ac-ruby-mode-setup) - (add-hook 'css-mode-hook 'ac-css-mode-setup) - (add-hook 'auto-complete-mode-hook 'ac-common-setup) - (global-auto-complete-mode t)) - -(provide 'auto-complete-config) -;;; auto-complete-config.el ends here diff --git a/.emacs.d/auto-complete/auto-complete-config.elc b/.emacs.d/auto-complete/auto-complete-config.elc deleted file mode 100644 index c88168ce75c3a400e36150a339f096535fac2529..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15970 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 BA`Jil diff --git a/.emacs.d/auto-complete/auto-complete.el b/.emacs.d/auto-complete/auto-complete.el deleted file mode 100644 index 2472dc7..0000000 --- a/.emacs.d/auto-complete/auto-complete.el +++ /dev/null @@ -1,1897 +0,0 @@ -;;; auto-complete.el --- Auto Completion for GNU Emacs - -;; Copyright (C) 2008, 2009, 2010 Tomohiro Matsuyama - -;; Author: Tomohiro Matsuyama -;; URL: http://cx4a.org/software/auto-complete -;; Keywords: completion, convenience -;; Version: 1.3 - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . - -;;; Commentary: -;; -;; This extension provides a way to complete with popup menu like: -;; -;; def-!- -;; +-----------------+ -;; |defun::::::::::::| -;; |defvar | -;; |defmacro | -;; | ... | -;; +-----------------+ -;; -;; You can complete by typing and selecting menu. -;; -;; Entire documents are located in doc/ directory. -;; Take a look for information. -;; -;; Enjoy! - -;;; Code: - - - -(eval-when-compile - (require 'cl)) - -(require 'popup) - -;;;; Global stuff - -(defun ac-error (&optional var) - "Report an error and disable `auto-complete-mode'." - (ignore-errors - (message "auto-complete error: %s" var) - (auto-complete-mode -1) - var)) - - - -;;;; Customization - -(defgroup auto-complete nil - "Auto completion." - :group 'completion - :prefix "ac-") - -(defcustom ac-delay 0.1 - "Delay to completions will be available." - :type 'float - :group 'auto-complete) - -(defcustom ac-auto-show-menu 0.8 - "Non-nil means completion menu will be automatically shown." - :type '(choice (const :tag "Yes" t) - (const :tag "Never" nil) - (float :tag "Timer")) - :group 'auto-complete) - -(defcustom ac-show-menu-immediately-on-auto-complete t - "Non-nil means menu will be showed immediately on `auto-complete'." - :type 'boolean - :group 'auto-complete) - -(defcustom ac-expand-on-auto-complete t - "Non-nil means expand whole common part on first time `auto-complete'." - :type 'boolean - :group 'auto-complete) - -(defcustom ac-disable-faces '(font-lock-comment-face font-lock-string-face font-lock-doc-face) - "Non-nil means disable automatic completion on specified faces." - :type '(repeat symbol) - :group 'auto-complete) - -(defcustom ac-stop-flymake-on-completing t - "Non-nil means disble flymake temporarily on completing." - :type 'boolean - :group 'auto-complete) - -(defcustom ac-use-fuzzy t - "Non-nil means use fuzzy matching." - :type 'boolean - :group 'auto-complete) - -(defcustom ac-fuzzy-cursor-color "red" - "Cursor color in fuzzy mode." - :type 'string - :group 'auto-complete) - -(defcustom ac-use-comphist t - "Non-nil means use intelligent completion history." - :type 'boolean - :group 'auto-complete) - -(defcustom ac-comphist-threshold 0.7 - "Percentage of ignoring low scored candidates." - :type 'float - :group 'auto-complete) - -(defcustom ac-comphist-file - (expand-file-name (concat (if (boundp 'user-emacs-directory) - user-emacs-directory - "~/.emacs.d/") - "/ac-comphist.dat")) - "Completion history file name." - :type 'string - :group 'auto-complete) - -(defcustom ac-use-quick-help t - "Non-nil means use quick help." - :type 'boolean - :group 'auto-complete) - -(defcustom ac-quick-help-delay 1.5 - "Delay to show quick help." - :type 'float - :group 'auto-complete) - -(defcustom ac-menu-height 10 - "Max height of candidate menu." - :type 'integer - :group 'auto-complete) -(defvaralias 'ac-candidate-menu-height 'ac-menu-height) - -(defcustom ac-quick-help-height 20 - "Max height of quick help." - :type 'integer - :group 'auto-complete) - -(defcustom ac-quick-help-prefer-x t - "Prefer X tooltip than overlay popup for displaying quick help." - :type 'boolean - :group 'auto-complete) - -(defcustom ac-candidate-limit nil - "Limit number of candidates. Non-integer means no limit." - :type 'integer - :group 'auto-complete) -(defvaralias 'ac-candidate-max 'ac-candidate-limit) - -(defcustom ac-modes - '(emacs-lisp-mode - lisp-interaction-mode - c-mode cc-mode c++-mode - java-mode clojure-mode scala-mode - scheme-mode - ocaml-mode tuareg-mode - perl-mode cperl-mode python-mode ruby-mode - ecmascript-mode javascript-mode js-mode js2-mode php-mode css-mode - makefile-mode sh-mode fortran-mode f90-mode ada-mode - xml-mode sgml-mode) - "Major modes `auto-complete-mode' can run on." - :type '(repeat symbol) - :group 'auto-complete) - -(defcustom ac-compatible-packages-regexp - "^ac-" - "Regexp to indicate what packages can work with auto-complete." - :type 'string - :group 'auto-complete) - -(defcustom ac-trigger-commands - '(self-insert-command) - "Trigger commands that specify whether `auto-complete' should start or not." - :type '(repeat symbol) - :group 'auto-complete) - -(defcustom ac-trigger-commands-on-completing - '(delete-backward-char - backward-delete-char - backward-delete-char-untabify) - "Trigger commands that specify whether `auto-complete' should continue or not." - :type '(repeat symbol) - :group 'auto-complete) - -(defcustom ac-trigger-key nil - "Non-nil means `auto-complete' will start by typing this key. -If you specify this TAB, for example, `auto-complete' will start by typing TAB, -and if there is no completions, an original command will be fallbacked." - :type 'string - :group 'auto-complete - :set (lambda (symbol value) - (set-default symbol value) - (when (and value - (fboundp 'ac-set-trigger-key)) - (ac-set-trigger-key value)))) - -(defcustom ac-auto-start 2 - "Non-nil means completion will be started automatically. -Positive integer means if a length of a word you entered is larger than the value, -completion will be started automatically. -If you specify `nil', never be started automatically." - :type '(choice (const :tag "Yes" t) - (const :tag "Never" nil) - (integer :tag "Require")) - :group 'auto-complete) - -(defcustom ac-ignores nil - "List of string to ignore completion." - :type '(repeat string) - :group 'auto-complete) - -(defcustom ac-ignore-case 'smart - "Non-nil means auto-complete ignores case. -If this value is `smart', auto-complete ignores case only when -a prefix doen't contain any upper case letters." - :type '(choice (const :tag "Yes" t) - (const :tag "Smart" smart) - (const :tag "No" nil)) - :group 'auto-complete) - -(defcustom ac-dwim t - "Non-nil means `auto-complete' works based on Do What I Mean." - :type 'boolean - :group 'auto-complete) - -(defcustom ac-use-menu-map nil - "Non-nil means a special keymap `ac-menu-map' on completing menu will be used." - :type 'boolean - :group 'auto-complete) - -(defcustom ac-use-overriding-local-map nil - "Non-nil means `overriding-local-map' will be used to hack for overriding key events on auto-copletion." - :type 'boolean - :group 'auto-complete) - -(defface ac-completion-face - '((t (:foreground "darkgray" :underline t))) - "Face for inline completion" - :group 'auto-complete) - -(defface ac-candidate-face - '((t (:background "lightgray" :foreground "black"))) - "Face for candidate." - :group 'auto-complete) - -(defface ac-selection-face - '((t (:background "steelblue" :foreground "white"))) - "Face for selected candidate." - :group 'auto-complete) - -(defvar auto-complete-mode-hook nil - "Hook for `auto-complete-mode'.") - - - -;;;; Internal variables - -(defvar auto-complete-mode nil - "Dummy variable to suppress compiler warnings.") - -(defvar ac-cursor-color nil - "Old cursor color.") - -(defvar ac-inline nil - "Inline completion instance.") - -(defvar ac-menu nil - "Menu instance.") - -(defvar ac-show-menu nil - "Flag to show menu on timer tick.") - -(defvar ac-last-completion nil - "Cons of prefix marker and selected item of last completion.") - -(defvar ac-quick-help nil - "Quick help instance") - -(defvar ac-completing nil - "Non-nil means `auto-complete-mode' is now working on completion.") - -(defvar ac-buffer nil - "Buffer where auto-complete is started.") - -(defvar ac-point nil - "Start point of prefix.") - -(defvar ac-last-point nil - "Last point of updating pattern.") - -(defvar ac-prefix nil - "Prefix string.") -(defvaralias 'ac-target 'ac-prefix) - -(defvar ac-selected-candidate nil - "Last selected candidate.") - -(defvar ac-common-part nil - "Common part string of meaningful candidates. -If there is no common part, this will be nil.") - -(defvar ac-whole-common-part nil - "Common part string of whole candidates. -If there is no common part, this will be nil.") - -(defvar ac-prefix-overlay nil - "Overlay for prefix string.") - -(defvar ac-timer nil - "Completion idle timer.") - -(defvar ac-show-menu-timer nil - "Show menu idle timer.") - -(defvar ac-quick-help-timer nil - "Quick help idle timer.") - -(defvar ac-triggered nil - "Flag to update.") - -(defvar ac-limit nil - "Limit number of candidates for each sources.") - -(defvar ac-candidates nil - "Current candidates.") - -(defvar ac-candidates-cache nil - "Candidates cache for individual sources.") - -(defvar ac-fuzzy-enable nil - "Non-nil means fuzzy matching is enabled.") - -(defvar ac-dwim-enable nil - "Non-nil means DWIM completion will be allowed.") - -(defvar ac-mode-map (make-sparse-keymap) - "Auto-complete mode map. It is also used for trigger key command. See also `ac-trigger-key'.") - -(defvar ac-completing-map - (let ((map (make-sparse-keymap))) - (define-key map "\t" 'ac-expand) - (define-key map "\r" 'ac-complete) - (define-key map (kbd "M-TAB") 'auto-complete) - (define-key map "\C-s" 'ac-isearch) - - (define-key map "\M-n" 'ac-next) - (define-key map "\M-p" 'ac-previous) - (define-key map [down] 'ac-next) - (define-key map [up] 'ac-previous) - - (define-key map [f1] 'ac-help) - (define-key map [M-f1] 'ac-persist-help) - (define-key map (kbd "C-?") 'ac-help) - (define-key map (kbd "C-M-?") 'ac-persist-help) - - (define-key map [C-down] 'ac-quick-help-scroll-down) - (define-key map [C-up] 'ac-quick-help-scroll-up) - (define-key map "\C-\M-n" 'ac-quick-help-scroll-down) - (define-key map "\C-\M-p" 'ac-quick-help-scroll-up) - - (dotimes (i 9) - (let ((symbol (intern (format "ac-complete-%d" (1+ i))))) - (fset symbol - `(lambda () - (interactive) - (when (and (ac-menu-live-p) (popup-select ac-menu ,i)) - (ac-complete)))) - (define-key map (read-kbd-macro (format "M-%s" (1+ i))) symbol))) - - map) - "Keymap for completion.") -(defvaralias 'ac-complete-mode-map 'ac-completing-map) - -(defvar ac-menu-map - (let ((map (make-sparse-keymap))) - (define-key map "\C-n" 'ac-next) - (define-key map "\C-p" 'ac-previous) - (set-keymap-parent map ac-completing-map) - map) - "Keymap for completion on completing menu.") - -(defvar ac-current-map - (let ((map (make-sparse-keymap))) - (set-keymap-parent map ac-completing-map) - map)) - -(defvar ac-match-function 'all-completions - "Default match function.") - -(defvar ac-prefix-definitions - '((symbol . ac-prefix-symbol) - (file . ac-prefix-file) - (valid-file . ac-prefix-valid-file) - (c-dot . ac-prefix-c-dot) - (c-dot-ref . ac-prefix-c-dot-ref)) - "Prefix definitions for common use.") - -(defvar ac-sources '(ac-source-words-in-same-mode-buffers) - "Sources for completion.") -(make-variable-buffer-local 'ac-sources) - -(defvar ac-compiled-sources nil - "Compiled source of `ac-sources'.") - -(defvar ac-current-sources nil - "Current working sources. This is sublist of `ac-compiled-sources'.") - -(defvar ac-omni-completion-sources nil - "Do not use this anymore.") - -(defvar ac-current-prefix-def nil) - -(defvar ac-ignoring-prefix-def nil) - - - -;;;; Intelligent completion history - -(defvar ac-comphist nil - "Database of completion history.") - -(defsubst ac-comphist-make-tab () - (make-hash-table :test 'equal)) - -(defsubst ac-comphist-tab (db) - (nth 0 db)) - -(defsubst ac-comphist-cache (db) - (nth 1 db)) - -(defun ac-comphist-make (&optional tab) - (list (or tab (ac-comphist-make-tab)) (make-hash-table :test 'equal :weakness t))) - -(defun ac-comphist-get (db string &optional create) - (let* ((tab (ac-comphist-tab db)) - (index (gethash string tab))) - (when (and create (null index)) - (setq index (make-vector (length string) 0)) - (puthash string index tab)) - index)) - -(defun ac-comphist-add (db string prefix) - (setq prefix (min prefix (1- (length string)))) - (when (<= 0 prefix) - (setq string (substring-no-properties string)) - (let ((stat (ac-comphist-get db string t))) - (incf (aref stat prefix)) - (remhash string (ac-comphist-cache db))))) - -(defun ac-comphist-score (db string prefix) - (setq prefix (min prefix (1- (length string)))) - (if (<= 0 prefix) - (let ((cache (gethash string (ac-comphist-cache db)))) - (or (and cache (aref cache prefix)) - (let ((stat (ac-comphist-get db string)) - (score 0.0)) - (when stat - (loop for p from 0 below (length string) - ;; sigmoid function - with a = 5 - with d = (/ 6.0 a) - for x = (- d (abs (- prefix p))) - for r = (/ 1.0 (1+ (exp (* (- a) x)))) - do - (incf score (* (aref stat p) r)))) - ;; Weight by distance - (incf score (max 0.0 (- 0.3 (/ (- (length string) prefix) 100.0)))) - (unless cache - (setq cache (make-vector (length string) nil)) - (puthash string cache (ac-comphist-cache db))) - (aset cache prefix score) - score))) - 0.0)) - -(defun ac-comphist-sort (db collection prefix &optional threshold) - (let (result - (n 0) - (total 0) - (cur 0)) - (setq result (mapcar (lambda (a) - (when (and cur threshold) - (if (>= cur (* total threshold)) - (setq cur nil) - (incf n) - (incf cur (cdr a)))) - (car a)) - (sort (mapcar (lambda (string) - (let ((score (ac-comphist-score db string prefix))) - (incf total score) - (cons string score))) - collection) - (lambda (a b) (< (cdr b) (cdr a)))))) - (if threshold - (cons n result) - result))) - -(defun ac-comphist-serialize (db) - (let (alist) - (maphash (lambda (k v) - (push (cons k v) alist)) - (ac-comphist-tab db)) - (list alist))) - -(defun ac-comphist-deserialize (sexp) - (condition-case nil - (ac-comphist-make (let ((tab (ac-comphist-make-tab))) - (mapc (lambda (cons) - (puthash (car cons) (cdr cons) tab)) - (nth 0 sexp)) - tab)) - (error (message "Invalid comphist db.") nil))) - -(defun ac-comphist-init () - (ac-comphist-load) - (add-hook 'kill-emacs-hook 'ac-comphist-save)) - -(defun ac-comphist-load () - (interactive) - (let ((db (if (file-exists-p ac-comphist-file) - (ignore-errors - (with-temp-buffer - (insert-file-contents ac-comphist-file) - (goto-char (point-min)) - (ac-comphist-deserialize (read (current-buffer)))))))) - (setq ac-comphist (or db (ac-comphist-make))))) - -(defun ac-comphist-save () - (interactive) - (require 'pp) - (ignore-errors - (with-temp-buffer - (pp (ac-comphist-serialize ac-comphist) (current-buffer)) - (write-region (point-min) (point-max) ac-comphist-file)))) - - - -;;;; Auto completion internals - -(defun ac-menu-at-wrapper-line-p () - "Return non-nil if current line is long and wrapped to next visual line." - (and (not truncate-lines) - (eq (line-beginning-position) - (save-excursion - (vertical-motion 1) - (line-beginning-position))))) - -(defun ac-prefix-symbol () - "Default prefix definition function." - (require 'thingatpt) - (car-safe (bounds-of-thing-at-point 'symbol))) -(defalias 'ac-prefix-default 'ac-prefix-symbol) - -(defun ac-prefix-file () - "File prefix." - (let ((point (re-search-backward "[\"<>' \t\r\n]" nil t))) - (if point (1+ point)))) - -(defun ac-prefix-valid-file () - "Existed (or to be existed) file prefix." - (let* ((line-beg (line-beginning-position)) - (end (point)) - (start (or (let ((point (re-search-backward "[\"<>'= \t\r\n]" line-beg t))) - (if point (1+ point))) - line-beg)) - (file (buffer-substring start end))) - (if (and file (or (string-match "^/" file) - (and (setq file (and (string-match "^[^/]*/" file) - (match-string 0 file))) - (file-directory-p file)))) - start))) - -(defun ac-prefix-c-dot () - "C-like languages dot(.) prefix." - (if (re-search-backward "\\.\\(\\(?:[a-zA-Z0-9][_a-zA-Z0-9]*\\)?\\)\\=" nil t) - (match-beginning 1))) - -(defun ac-prefix-c-dot-ref () - "C-like languages dot(.) and reference(->) prefix." - (if (re-search-backward "\\(?:\\.\\|->\\)\\(\\(?:[a-zA-Z0-9][_a-zA-Z0-9]*\\)?\\)\\=" nil t) - (match-beginning 1))) - -(defun ac-define-prefix (name prefix) - "Define new prefix definition. -You can not use it in source definition like (prefix . `NAME')." - (push (cons name prefix) ac-prefix-definitions)) - -(defun ac-match-substring (prefix candidates) - (loop with regexp = (regexp-quote prefix) - for candidate in candidates - if (string-match regexp candidate) - collect candidate)) - -(defsubst ac-source-entity (source) - (if (symbolp source) - (symbol-value source) - source)) - -(defun ac-source-available-p (source) - (if (and (symbolp source) - (get source 'available)) - (eq (get source 'available) t) - (let* ((src (ac-source-entity source)) - (avail-pair (assq 'available src)) - (avail-cond (cdr avail-pair)) - (available (and (if avail-pair - (cond - ((symbolp avail-cond) - (funcall avail-cond)) - ((listp avail-cond) - (eval avail-cond))) - t) - (loop for feature in (assoc-default 'depends src) - unless (require feature nil t) return nil - finally return t)))) - (if (symbolp source) - (put source 'available (if available t 'no))) - available))) - -(defun ac-compile-sources (sources) - "Compiled `SOURCES' into expanded sources style." - (loop for source in sources - if (ac-source-available-p source) - do - (setq source (ac-source-entity source)) - (flet ((add-attribute (name value &optional append) (add-to-list 'source (cons name value) append))) - ;; prefix - (let* ((prefix (assoc 'prefix source)) - (real (assoc-default (cdr prefix) ac-prefix-definitions))) - (cond - (real - (add-attribute 'prefix real)) - ((null prefix) - (add-attribute 'prefix 'ac-prefix-default)))) - ;; match - (let ((match (assq 'match source))) - (cond - ((eq (cdr match) 'substring) - (setcdr match 'ac-match-substring))))) - and collect source)) - -(defun ac-compiled-sources () - (or ac-compiled-sources - (setq ac-compiled-sources - (ac-compile-sources ac-sources)))) - -(defsubst ac-menu-live-p () - (popup-live-p ac-menu)) - -(defun ac-menu-create (point width height) - (setq ac-menu - (popup-create point width height - :around t - :face 'ac-candidate-face - :selection-face 'ac-selection-face - :symbol t - :scroll-bar t - :margin-left 1))) - -(defun ac-menu-delete () - (when ac-menu - (popup-delete ac-menu) - (setq ac-menu))) - -(defsubst ac-inline-marker () - (nth 0 ac-inline)) - -(defsubst ac-inline-overlay () - (nth 1 ac-inline)) - -(defsubst ac-inline-live-p () - (and ac-inline (ac-inline-overlay) t)) - -(defun ac-inline-show (point string) - (unless ac-inline - (setq ac-inline (list (make-marker) nil))) - (save-excursion - (let ((overlay (ac-inline-overlay)) - (width 0) - (string-width (string-width string)) - (length 0) - (original-string string)) - ;; Calculate string space to show completion - (goto-char point) - (let (c) - (while (and (not (eolp)) - (< width string-width) - (setq c (char-after)) - (not (eq c ?\t))) ; special case for tab - (incf width (char-width c)) - (incf length) - (forward-char))) - - ;; Show completion - (goto-char point) - (cond - ((= width 0) - (set-marker (ac-inline-marker) point) - (let ((buffer-undo-list t)) - (insert " ")) - (setq width 1 - length 1)) - ((<= width string-width) - ;; No space to show - ;; Do nothing - ) - ((> width string-width) - ;; Need to fill space - (setq string (concat string (make-string (- width string-width) ? ))))) - (setq string (propertize string 'face 'ac-completion-face)) - (if overlay - (progn - (move-overlay overlay point (+ point length)) - (overlay-put overlay 'invisible nil)) - (setq overlay (make-overlay point (+ point length))) - (setf (nth 1 ac-inline) overlay) - (overlay-put overlay 'priority 9999) - ;; Help prefix-overlay in some cases - (overlay-put overlay 'keymap ac-current-map)) - (overlay-put overlay 'display (substring string 0 1)) - ;; TODO no width but char - (overlay-put overlay 'after-string (substring string 1)) - (overlay-put overlay 'string original-string)))) - -(defun ac-inline-delete () - (when (ac-inline-live-p) - (ac-inline-hide) - (delete-overlay (ac-inline-overlay)) - (setq ac-inline nil))) - -(defun ac-inline-hide () - (when (ac-inline-live-p) - (let ((overlay (ac-inline-overlay)) - (marker (ac-inline-marker)) - (buffer-undo-list t)) - (when overlay - (when (marker-position marker) - (save-excursion - (goto-char marker) - (delete-char 1) - (set-marker marker nil))) - (move-overlay overlay (point-min) (point-min)) - (overlay-put overlay 'invisible t) - (overlay-put overlay 'display nil) - (overlay-put overlay 'after-string nil))))) - -(defun ac-inline-update () - (if (and ac-completing ac-prefix (stringp ac-common-part)) - (let ((common-part-length (length ac-common-part)) - (prefix-length (length ac-prefix))) - (if (> common-part-length prefix-length) - (progn - (ac-inline-hide) - (ac-inline-show (point) (substring ac-common-part prefix-length))) - (ac-inline-delete))) - (ac-inline-delete))) - -(defun ac-put-prefix-overlay () - (unless ac-prefix-overlay - (let (newline) - ;; Insert newline to make sure that cursor always on the overlay - (when (and (eq ac-point (point-max)) - (eq ac-point (point))) - (popup-save-buffer-state - (insert "\n")) - (setq newline t)) - (setq ac-prefix-overlay (make-overlay ac-point (1+ (point)) nil t t)) - (overlay-put ac-prefix-overlay 'priority 9999) - (overlay-put ac-prefix-overlay 'keymap (make-sparse-keymap)) - (overlay-put ac-prefix-overlay 'newline newline)))) - -(defun ac-remove-prefix-overlay () - (when ac-prefix-overlay - (when (overlay-get ac-prefix-overlay 'newline) - ;; Remove inserted newline - (popup-save-buffer-state - (goto-char (point-max)) - (if (eq (char-before) ?\n) - (delete-char -1)))) - (delete-overlay ac-prefix-overlay))) - -(defun ac-activate-completing-map () - (if (and ac-show-menu ac-use-menu-map) - (set-keymap-parent ac-current-map ac-menu-map)) - (when (and ac-use-overriding-local-map - (null overriding-terminal-local-map)) - (setq overriding-terminal-local-map ac-current-map)) - (when ac-prefix-overlay - (set-keymap-parent (overlay-get ac-prefix-overlay 'keymap) ac-current-map))) - -(defun ac-deactivate-completing-map () - (set-keymap-parent ac-current-map ac-completing-map) - (when (and ac-use-overriding-local-map - (eq overriding-terminal-local-map ac-current-map)) - (setq overriding-terminal-local-map nil)) - (when ac-prefix-overlay - (set-keymap-parent (overlay-get ac-prefix-overlay 'keymap) nil))) - -(defsubst ac-selected-candidate () - (if ac-menu - (popup-selected-item ac-menu))) - -(defun ac-prefix (requires ignore-list) - (loop with current = (point) - with point - with prefix-def - with sources - for source in (ac-compiled-sources) - for prefix = (assoc-default 'prefix source) - for req = (or (assoc-default 'requires source) requires 1) - - if (null prefix-def) - do - (unless (member prefix ignore-list) - (save-excursion - (setq point (cond - ((symbolp prefix) - (funcall prefix)) - ((stringp prefix) - (and (re-search-backward (concat prefix "\\=") nil t) - (or (match-beginning 1) (match-beginning 0)))) - ((stringp (car-safe prefix)) - (let ((regexp (nth 0 prefix)) - (end (nth 1 prefix)) - (group (nth 2 prefix))) - (and (re-search-backward (concat regexp "\\=") nil t) - (funcall (if end 'match-end 'match-beginning) - (or group 0))))) - (t - (eval prefix)))) - (if (and point - (integerp req) - (< (- current point) req)) - (setq point nil)) - (if point - (setq prefix-def prefix)))) - - if (equal prefix prefix-def) do (push source sources) - - finally return - (and point (list prefix-def point (nreverse sources))))) - -(defun ac-init () - "Initialize current sources to start completion." - (setq ac-candidates-cache nil) - (loop for source in ac-current-sources - for function = (assoc-default 'init source) - if function do - (save-excursion - (cond - ((functionp function) - (funcall function)) - (t - (eval function)))))) - -(defun ac-candidates-1 (source) - (let* ((do-cache (assq 'cache source)) - (function (assoc-default 'candidates source)) - (action (assoc-default 'action source)) - (document (assoc-default 'document source)) - (symbol (assoc-default 'symbol source)) - (ac-limit (or (assoc-default 'limit source) ac-limit)) - (face (or (assoc-default 'face source) (assoc-default 'candidate-face source))) - (selection-face (assoc-default 'selection-face source)) - (cache (and do-cache (assq source ac-candidates-cache))) - (candidates (cdr cache))) - (unless cache - (setq candidates (save-excursion - (cond - ((functionp function) - (funcall function)) - (t - (eval function))))) - ;; Convert (name value) format candidates into name with text properties. - (setq candidates (mapcar (lambda (candidate) - (if (consp candidate) - (propertize (car candidate) 'value (cdr candidate)) - candidate)) - candidates)) - (when do-cache - (push (cons source candidates) ac-candidates-cache))) - (setq candidates (funcall (or (assoc-default 'match source) - ac-match-function) - ac-prefix candidates)) - ;; Remove extra items regarding to ac-limit - (if (and (integerp ac-limit) (> ac-limit 1) (> (length candidates) ac-limit)) - (setcdr (nthcdr (1- ac-limit) candidates) nil)) - ;; Put candidate properties - (setq candidates (mapcar (lambda (candidate) - (popup-item-propertize candidate - 'action action - 'symbol symbol - 'document document - 'popup-face face - 'selection-face selection-face)) - candidates)) - candidates)) - -(defun ac-candidates () - "Produce candidates for current sources." - (loop with completion-ignore-case = (or (eq ac-ignore-case t) - (and (eq ac-ignore-case 'smart) - (let ((case-fold-search nil)) (not (string-match "[[:upper:]]" ac-prefix))))) - with case-fold-search = completion-ignore-case - with prefix-len = (length ac-prefix) - for source in ac-current-sources - append (ac-candidates-1 source) into candidates - finally return - (progn - (delete-dups candidates) - (if (and ac-use-comphist ac-comphist) - (if ac-show-menu - (let* ((pair (ac-comphist-sort ac-comphist candidates prefix-len ac-comphist-threshold)) - (n (car pair)) - (result (cdr pair)) - (cons (if (> n 0) (nthcdr (1- n) result))) - (cdr (cdr cons))) - (if cons (setcdr cons nil)) - (setq ac-common-part (try-completion ac-prefix result)) - (setq ac-whole-common-part (try-completion ac-prefix candidates)) - (if cons (setcdr cons cdr)) - result) - (setq candidates (ac-comphist-sort ac-comphist candidates prefix-len)) - (setq ac-common-part (if candidates (popup-x-to-string (car candidates)))) - (setq ac-whole-common-part (try-completion ac-prefix candidates)) - candidates) - (setq ac-common-part (try-completion ac-prefix candidates)) - (setq ac-whole-common-part ac-common-part) - candidates)))) - -(defun ac-update-candidates (cursor scroll-top) - "Update candidates of menu to `ac-candidates' and redraw it." - (setf (popup-cursor ac-menu) cursor - (popup-scroll-top ac-menu) scroll-top) - (setq ac-dwim-enable (= (length ac-candidates) 1)) - (if ac-candidates - (progn - (setq ac-completing t) - (ac-activate-completing-map)) - (setq ac-completing nil) - (ac-deactivate-completing-map)) - (ac-inline-update) - (popup-set-list ac-menu ac-candidates) - (if (and (not ac-fuzzy-enable) - (<= (length ac-candidates) 1)) - (popup-hide ac-menu) - (if ac-show-menu - (popup-draw ac-menu)))) - -(defun ac-reposition () - "Force to redraw candidate menu with current `ac-candidates'." - (let ((cursor (popup-cursor ac-menu)) - (scroll-top (popup-scroll-top ac-menu))) - (ac-menu-delete) - (ac-menu-create ac-point (popup-preferred-width ac-candidates) (popup-height ac-menu)) - (ac-update-candidates cursor scroll-top))) - -(defun ac-cleanup () - "Cleanup auto completion." - (if ac-cursor-color - (set-cursor-color ac-cursor-color)) - (when (and ac-use-comphist ac-comphist) - (when (and (null ac-selected-candidate) - (member ac-prefix ac-candidates)) - ;; Assume candidate is selected by just typing - (setq ac-selected-candidate ac-prefix) - (setq ac-last-point ac-point)) - (when ac-selected-candidate - (ac-comphist-add ac-comphist - ac-selected-candidate - (if ac-last-point - (- ac-last-point ac-point) - (length ac-prefix))))) - (ac-deactivate-completing-map) - (ac-remove-prefix-overlay) - (ac-remove-quick-help) - (ac-inline-delete) - (ac-menu-delete) - (ac-cancel-timer) - (ac-cancel-show-menu-timer) - (ac-cancel-quick-help-timer) - (setq ac-cursor-color nil - ac-inline nil - ac-show-menu nil - ac-menu nil - ac-completing nil - ac-point nil - ac-last-point nil - ac-prefix nil - ac-prefix-overlay nil - ac-selected-candidate nil - ac-common-part nil - ac-whole-common-part nil - ac-triggered nil - ac-limit nil - ac-candidates nil - ac-candidates-cache nil - ac-fuzzy-enable nil - ac-dwim-enable nil - ac-compiled-sources nil - ac-current-sources nil - ac-current-prefix-def nil - ac-ignoring-prefix-def nil)) - -(defsubst ac-abort () - "Abort completion." - (ac-cleanup)) - -(defun ac-expand-string (string &optional remove-undo-boundary) - "Expand `STRING' into the buffer and update `ac-prefix' to `STRING'. -This function records deletion and insertion sequences by `undo-boundary'. -If `remove-undo-boundary' is non-nil, this function also removes `undo-boundary' -that have been made before in this function." - (when (not (equal string (buffer-substring ac-point (point)))) - (undo-boundary) - ;; We can't use primitive-undo since it undoes by - ;; groups, divided by boundaries. - ;; We don't want boundary between deletion and insertion. - ;; So do it manually. - ;; Delete region silently for undo: - (if remove-undo-boundary - (progn - (let (buffer-undo-list) - (save-excursion - (delete-region ac-point (point)))) - (setq buffer-undo-list - (nthcdr 2 buffer-undo-list))) - (delete-region ac-point (point))) - (insert string) - ;; Sometimes, possible when omni-completion used, (insert) added - ;; to buffer-undo-list strange record about position changes. - ;; Delete it here: - (when (and remove-undo-boundary - (integerp (cadr buffer-undo-list))) - (setcdr buffer-undo-list (nthcdr 2 buffer-undo-list))) - (undo-boundary) - (setq ac-selected-candidate string) - (setq ac-prefix string))) - -(defun ac-set-trigger-key (key) - "Set `ac-trigger-key' to `KEY'. It is recommemded to use this function instead of calling `setq'." - ;; Remove old mapping - (when ac-trigger-key - (define-key ac-mode-map (read-kbd-macro ac-trigger-key) nil)) - - ;; Make new mapping - (setq ac-trigger-key key) - (when key - (define-key ac-mode-map (read-kbd-macro key) 'ac-trigger-key-command))) - -(defun ac-set-timer () - (unless ac-timer - (setq ac-timer (run-with-idle-timer ac-delay ac-delay 'ac-update-greedy)))) - -(defun ac-cancel-timer () - (when (timerp ac-timer) - (cancel-timer ac-timer) - (setq ac-timer nil))) - -(defun ac-update (&optional force) - (when (and auto-complete-mode - ac-prefix - (or ac-triggered - force) - (not isearch-mode)) - (ac-put-prefix-overlay) - (setq ac-candidates (ac-candidates)) - (let ((preferred-width (popup-preferred-width ac-candidates))) - ;; Reposition if needed - (when (or (null ac-menu) - (>= (popup-width ac-menu) preferred-width) - (<= (popup-width ac-menu) (- preferred-width 10)) - (and (> (popup-direction ac-menu) 0) - (ac-menu-at-wrapper-line-p))) - (ac-inline-hide) ; Hide overlay to calculate correct column - (ac-menu-delete) - (ac-menu-create ac-point preferred-width ac-menu-height))) - (ac-update-candidates 0 0) - t)) - -(defun ac-update-greedy (&optional force) - (let (result) - (while (when (and (setq result (ac-update force)) - (null ac-candidates)) - (add-to-list 'ac-ignoring-prefix-def ac-current-prefix-def) - (ac-start :force-init t) - ac-current-prefix-def)) - result)) - -(defun ac-set-show-menu-timer () - (when (and (or (integerp ac-auto-show-menu) (floatp ac-auto-show-menu)) - (null ac-show-menu-timer)) - (setq ac-show-menu-timer (run-with-idle-timer ac-auto-show-menu ac-auto-show-menu 'ac-show-menu)))) - -(defun ac-cancel-show-menu-timer () - (when (timerp ac-show-menu-timer) - (cancel-timer ac-show-menu-timer) - (setq ac-show-menu-timer nil))) - -(defun ac-show-menu () - (when (not (eq ac-show-menu t)) - (setq ac-show-menu t) - (ac-inline-hide) - (ac-remove-quick-help) - (ac-update t))) - -(defun ac-help (&optional persist) - (interactive "P") - (when ac-menu - (popup-menu-show-help ac-menu persist))) - -(defun ac-persist-help () - (interactive) - (ac-help t)) - -(defun ac-last-help (&optional persist) - (interactive "P") - (when ac-last-completion - (popup-item-show-help (cdr ac-last-completion) persist))) - -(defun ac-last-persist-help () - (interactive) - (ac-last-help t)) - -(defun ac-set-quick-help-timer () - (when (and ac-use-quick-help - (null ac-quick-help-timer)) - (setq ac-quick-help-timer (run-with-idle-timer ac-quick-help-delay ac-quick-help-delay 'ac-quick-help)))) - -(defun ac-cancel-quick-help-timer () - (when (timerp ac-quick-help-timer) - (cancel-timer ac-quick-help-timer) - (setq ac-quick-help-timer nil))) - -(defun ac-pos-tip-show-quick-help (menu &optional item &rest args) - (let* ((point (plist-get args :point)) - (around nil) - (parent-offset (popup-offset menu)) - (doc (popup-menu-documentation menu item))) - (when (stringp doc) - (if (popup-hidden-p menu) - (setq around t) - (setq point nil)) - (with-no-warnings - (pos-tip-show doc - 'popup-tip-face - (or point - (and menu - (popup-child-point menu parent-offset)) - (point)) - nil 0 - popup-tip-max-width - nil nil - (and (not around) 0)) - (unless (plist-get args :nowait) - (clear-this-command-keys) - (unwind-protect - (push (read-event (plist-get args :prompt)) unread-command-events) - (pos-tip-hide)) - t))))) - -(defun ac-quick-help (&optional force) - (interactive) - (when (and (or force (null this-command)) - (ac-menu-live-p) - (null ac-quick-help)) - (setq ac-quick-help - (funcall (if (and ac-quick-help-prefer-x - (eq window-system 'x) - (featurep 'pos-tip)) - 'ac-pos-tip-show-quick-help - 'popup-menu-show-quick-help) - ac-menu nil - :point ac-point - :height ac-quick-help-height - :nowait t)))) - -(defun ac-remove-quick-help () - (when ac-quick-help - (popup-delete ac-quick-help) - (setq ac-quick-help nil))) - -(defun ac-last-quick-help () - (interactive) - (when (and ac-last-completion - (eq (marker-buffer (car ac-last-completion)) - (current-buffer))) - (let ((doc (popup-item-documentation (cdr ac-last-completion))) - (point (marker-position (car ac-last-completion)))) - (when (stringp doc) - (if (and ac-quick-help-prefer-x - (eq window-system 'x) - (featurep 'pos-tip)) - (with-no-warnings (pos-tip-show doc nil point nil 0)) - (popup-tip doc - :point point - :around t - :scroll-bar t - :margin t)))))) - -(defmacro ac-define-quick-help-command (name arglist &rest body) - (declare (indent 2)) - `(progn - (defun ,name ,arglist ,@body) - (put ',name 'ac-quick-help-command t))) - -(ac-define-quick-help-command ac-quick-help-scroll-down () - (interactive) - (when ac-quick-help - (popup-scroll-down ac-quick-help))) - -(ac-define-quick-help-command ac-quick-help-scroll-up () - (interactive) - (when ac-quick-help - (popup-scroll-up ac-quick-help))) - - - -;;;; Auto completion isearch - -(defun ac-isearch-callback (list) - (setq ac-dwim-enable (eq (length list) 1))) - -(defun ac-isearch () - (interactive) - (when (ac-menu-live-p) - (ac-cancel-show-menu-timer) - (ac-cancel-quick-help-timer) - (ac-show-menu) - (popup-isearch ac-menu :callback 'ac-isearch-callback))) - - - -;;;; Auto completion commands - -(defun auto-complete (&optional sources) - "Start auto-completion at current point." - (interactive) - (let ((menu-live (ac-menu-live-p)) - (inline-live (ac-inline-live-p))) - (ac-abort) - (let ((ac-sources (or sources ac-sources))) - (if (or ac-show-menu-immediately-on-auto-complete - inline-live) - (setq ac-show-menu t)) - (ac-start)) - (when (ac-update-greedy t) - ;; TODO Not to cause inline completion to be disrupted. - (if (ac-inline-live-p) - (ac-inline-hide)) - ;; Not to expand when it is first time to complete - (when (and (or (and (not ac-expand-on-auto-complete) - (> (length ac-candidates) 1) - (not menu-live)) - (not (let ((ac-common-part ac-whole-common-part)) - (ac-expand-common)))) - ac-use-fuzzy - (null ac-candidates)) - (ac-fuzzy-complete))))) - -(defun ac-fuzzy-complete () - "Start fuzzy completion at current point." - (interactive) - (when (require 'fuzzy nil) - (unless (ac-menu-live-p) - (ac-start)) - (let ((ac-match-function 'fuzzy-all-completions)) - (unless ac-cursor-color - (setq ac-cursor-color (frame-parameter (selected-frame) 'cursor-color))) - (if ac-fuzzy-cursor-color - (set-cursor-color ac-fuzzy-cursor-color)) - (setq ac-show-menu t) - (setq ac-fuzzy-enable t) - (setq ac-triggered nil) - (ac-update t))) - t) - -(defun ac-next () - "Select next candidate." - (interactive) - (when (ac-menu-live-p) - (popup-next ac-menu) - (setq ac-show-menu t) - (if (eq this-command 'ac-next) - (setq ac-dwim-enable t)))) - -(defun ac-previous () - "Select previous candidate." - (interactive) - (when (ac-menu-live-p) - (popup-previous ac-menu) - (setq ac-show-menu t) - (if (eq this-command 'ac-previous) - (setq ac-dwim-enable t)))) - -(defun ac-expand () - "Try expand, and if expanded twice, select next candidate." - (interactive) - (unless (ac-expand-common) - (let ((string (ac-selected-candidate))) - (when string - (when (equal ac-prefix string) - (ac-next) - (setq string (ac-selected-candidate))) - (ac-expand-string string (eq last-command this-command)) - ;; Do reposition if menu at long line - (if (and (> (popup-direction ac-menu) 0) - (ac-menu-at-wrapper-line-p)) - (ac-reposition)) - (setq ac-show-menu t) - string)))) - -(defun ac-expand-common () - "Try to expand meaningful common part." - (interactive) - (if (and ac-dwim ac-dwim-enable) - (ac-complete) - (when (and (ac-inline-live-p) - ac-common-part) - (ac-inline-hide) - (ac-expand-string ac-common-part (eq last-command this-command)) - (setq ac-common-part nil) - t))) - -(defun ac-complete () - "Try complete." - (interactive) - (let* ((candidate (ac-selected-candidate)) - (action (popup-item-property candidate 'action)) - (fallback nil)) - (when candidate - (unless (ac-expand-string candidate) - (setq fallback t)) - ;; Remember to show help later - (when (and ac-point candidate) - (unless ac-last-completion - (setq ac-last-completion (cons (make-marker) nil))) - (set-marker (car ac-last-completion) ac-point ac-buffer) - (setcdr ac-last-completion candidate))) - (ac-abort) - (cond - (action - (funcall action)) - (fallback - (ac-fallback-command))) - candidate)) - -(defun* ac-start (&key - requires - force-init) - "Start completion." - (interactive) - (if (not auto-complete-mode) - (message "auto-complete-mode is not enabled") - (let* ((info (ac-prefix requires ac-ignoring-prefix-def)) - (prefix-def (nth 0 info)) - (point (nth 1 info)) - (sources (nth 2 info)) - prefix - (init (or force-init (not (eq ac-point point))))) - (if (or (null point) - (member (setq prefix (buffer-substring-no-properties point (point))) - ac-ignores)) - (prog1 nil - (ac-abort)) - (unless ac-cursor-color - (setq ac-cursor-color (frame-parameter (selected-frame) 'cursor-color))) - (setq ac-show-menu (or ac-show-menu (if (eq ac-auto-show-menu t) t)) - ac-current-sources sources - ac-buffer (current-buffer) - ac-point point - ac-prefix prefix - ac-limit ac-candidate-limit - ac-triggered t - ac-current-prefix-def prefix-def) - (when (or init (null ac-prefix-overlay)) - (ac-init)) - (ac-set-timer) - (ac-set-show-menu-timer) - (ac-set-quick-help-timer) - (ac-put-prefix-overlay))))) - -(defun ac-stop () - "Stop completiong." - (interactive) - (setq ac-selected-candidate nil) - (ac-abort)) - -(defun ac-trigger-key-command (&optional force) - (interactive "P") - (if (or force (ac-trigger-command-p last-command)) - (auto-complete) - (ac-fallback-command 'ac-trigger-key-command))) - - - -;;;; Basic cache facility - -(defvar ac-clear-variables-every-minute-timer nil) -(defvar ac-clear-variables-after-save nil) -(defvar ac-clear-variables-every-minute nil) -(defvar ac-minutes-counter 0) - -(defun ac-clear-variable-after-save (variable &optional pred) - (add-to-list 'ac-clear-variables-after-save (cons variable pred))) - -(defun ac-clear-variables-after-save () - (dolist (pair ac-clear-variables-after-save) - (if (or (null (cdr pair)) - (funcall (cdr pair))) - (set (car pair) nil)))) - -(defun ac-clear-variable-every-minutes (variable minutes) - (add-to-list 'ac-clear-variables-every-minute (cons variable minutes))) - -(defun ac-clear-variable-every-minute (variable) - (ac-clear-variable-every-minutes variable 1)) - -(defun ac-clear-variable-every-10-minutes (variable) - (ac-clear-variable-every-minutes variable 10)) - -(defun ac-clear-variables-every-minute () - (incf ac-minutes-counter) - (dolist (pair ac-clear-variables-every-minute) - (if (eq (% ac-minutes-counter (cdr pair)) 0) - (set (car pair) nil)))) - - - -;;;; Auto complete mode - -(defun ac-cursor-on-diable-face-p (&optional point) - (memq (get-text-property (or point (point)) 'face) ac-disable-faces)) - -(defun ac-trigger-command-p (command) - "Return non-nil if `COMMAND' is a trigger command." - (and (symbolp command) - (or (memq command ac-trigger-commands) - (string-match "self-insert-command" (symbol-name command)) - (string-match "electric" (symbol-name command))))) - -(defun ac-fallback-command (&optional except-command) - (let* ((auto-complete-mode nil) - (keys (this-command-keys-vector)) - (command (if keys (key-binding keys)))) - (when (and (commandp command) - (not (eq command except-command))) - (setq this-command command) - (call-interactively command)))) - -(defun ac-compatible-package-command-p (command) - "Return non-nil if `COMMAND' is compatible with auto-complete." - (and (symbolp command) - (string-match ac-compatible-packages-regexp (symbol-name command)))) - -(defun ac-handle-pre-command () - (condition-case var - (if (or (setq ac-triggered (and (not ac-fuzzy-enable) ; ignore key storkes in fuzzy mode - (or (eq this-command 'auto-complete) ; special case - (ac-trigger-command-p this-command) - (and ac-completing - (memq this-command ac-trigger-commands-on-completing))) - (not (ac-cursor-on-diable-face-p)))) - (ac-compatible-package-command-p this-command)) - (progn - (if (or (not (symbolp this-command)) - (not (get this-command 'ac-quick-help-command))) - (ac-remove-quick-help)) - ;; Not to cause inline completion to be disrupted. - (ac-inline-hide)) - (ac-abort)) - (error (ac-error var)))) - -(defun ac-handle-post-command () - (condition-case var - (when (and ac-triggered - (or ac-auto-start - ac-completing) - (not isearch-mode)) - (setq ac-last-point (point)) - (ac-start :requires (unless ac-completing ac-auto-start)) - (ac-inline-update)) - (error (ac-error var)))) - -(defun ac-setup () - (if ac-trigger-key - (ac-set-trigger-key ac-trigger-key)) - (if ac-use-comphist - (ac-comphist-init)) - (unless ac-clear-variables-every-minute-timer - (setq ac-clear-variables-every-minute-timer (run-with-timer 60 60 'ac-clear-variables-every-minute))) - (if ac-stop-flymake-on-completing - (defadvice flymake-on-timer-event (around ac-flymake-stop-advice activate) - (unless ac-completing - ad-do-it)) - (ad-disable-advice 'flymake-on-timer-event 'around 'ac-flymake-stop-advice))) - -(define-minor-mode auto-complete-mode - "AutoComplete mode" - :lighter " AC" - :keymap ac-mode-map - :group 'auto-complete - (if auto-complete-mode - (progn - (ac-setup) - (add-hook 'pre-command-hook 'ac-handle-pre-command nil t) - (add-hook 'post-command-hook 'ac-handle-post-command nil t) - (add-hook 'after-save-hook 'ac-clear-variables-after-save nil t) - (run-hooks 'auto-complete-mode-hook)) - (remove-hook 'pre-command-hook 'ac-handle-pre-command t) - (remove-hook 'post-command-hook 'ac-handle-post-command t) - (remove-hook 'after-save-hook 'ac-clear-variables-after-save t) - (ac-abort))) - -(defun auto-complete-mode-maybe () - "What buffer `auto-complete-mode' prefers." - (if (and (not (minibufferp (current-buffer))) - (memq major-mode ac-modes)) - (auto-complete-mode 1))) - -(define-global-minor-mode global-auto-complete-mode - auto-complete-mode auto-complete-mode-maybe - :group 'auto-complete) - - - -;;;; Compatibilities with other extensions - -(defun ac-flyspell-workaround () - "Flyspell uses `sit-for' for delaying its process. Unfortunatelly, -it stops auto completion which is trigger with `run-with-idle-timer'. -This workaround avoid flyspell processes when auto completion is being started." - (interactive) - (defadvice flyspell-post-command-hook (around ac-flyspell-workaround activate) - (unless ac-triggered - ad-do-it))) - - - -;;;; Standard sources - -(defmacro ac-define-source (name source) - "Source definition macro. It defines a complete command also." - (declare (indent 1)) - `(progn - (defvar ,(intern (format "ac-source-%s" name)) - ,source) - (defun ,(intern (format "ac-complete-%s" name)) () - (interactive) - (auto-complete '(,(intern (format "ac-source-%s" name))))))) - -;; Words in buffer source -(defvar ac-word-index nil) - -(defun ac-candidate-words-in-buffer (point prefix limit) - (let ((i 0) - candidate - candidates - (regexp (concat "\\_<" (regexp-quote prefix) "\\(\\sw\\|\\s_\\)+\\_>"))) - (save-excursion - ;; Search backward - (goto-char point) - (while (and (or (not (integerp limit)) (< i limit)) - (re-search-backward regexp nil t)) - (setq candidate (match-string-no-properties 0)) - (unless (member candidate candidates) - (push candidate candidates) - (incf i))) - ;; Search backward - (goto-char (+ point (length prefix))) - (while (and (or (not (integerp limit)) (< i limit)) - (re-search-forward regexp nil t)) - (setq candidate (match-string-no-properties 0)) - (unless (member candidate candidates) - (push candidate candidates) - (incf i))) - (nreverse candidates)))) - -(defun ac-incremental-update-word-index () - (unless (local-variable-p 'ac-word-index) - (make-local-variable 'ac-word-index)) - (if (null ac-word-index) - (setq ac-word-index (cons nil nil))) - ;; Mark incomplete - (if (car ac-word-index) - (setcar ac-word-index nil)) - (let ((index (cdr ac-word-index)) - (words (ac-candidate-words-in-buffer ac-point ac-prefix (or (and (integerp ac-limit) ac-limit) 10)))) - (dolist (word words) - (unless (member word index) - (push word index) - (setcdr ac-word-index index))))) - -(defun ac-update-word-index-1 () - (unless (local-variable-p 'ac-word-index) - (make-local-variable 'ac-word-index)) - (when (and (not (car ac-word-index)) - (< (buffer-size) 1048576)) - ;; Complete index - (setq ac-word-index - (cons t - (split-string (buffer-substring-no-properties (point-min) (point-max)) - "\\(?:^\\|\\_>\\).*?\\(?:\\_<\\|$\\)"))))) - -(defun ac-update-word-index () - (dolist (buffer (buffer-list)) - (when (or ac-fuzzy-enable - (not (eq buffer (current-buffer)))) - (with-current-buffer buffer - (ac-update-word-index-1))))) - -(defun ac-word-candidates (&optional buffer-pred) - (loop initially (unless ac-fuzzy-enable (ac-incremental-update-word-index)) - for buffer in (buffer-list) - if (and (or (not (integerp ac-limit)) (< (length candidates) ac-limit)) - (if buffer-pred (funcall buffer-pred buffer) t)) - append (funcall ac-match-function - ac-prefix - (and (local-variable-p 'ac-word-index buffer) - (cdr (buffer-local-value 'ac-word-index buffer)))) - into candidates - finally return candidates)) - -(ac-define-source words-in-buffer - '((candidates . ac-word-candidates))) - -(ac-define-source words-in-all-buffer - '((init . ac-update-word-index) - (candidates . ac-word-candidates))) - -(ac-define-source words-in-same-mode-buffers - '((init . ac-update-word-index) - (candidates . (ac-word-candidates - (lambda (buffer) - (derived-mode-p (buffer-local-value 'major-mode buffer))))))) - -;; Lisp symbols source -(defvar ac-symbols-cache nil) -(ac-clear-variable-every-10-minutes 'ac-symbols-cache) - -(defun ac-symbol-file (symbol type) - (if (fboundp 'find-lisp-object-file-name) - (find-lisp-object-file-name symbol type) - (let ((file-name (with-no-warnings - (describe-simplify-lib-file-name - (symbol-file symbol type))))) - (when (equal file-name "loaddefs.el") - ;; Find the real def site of the preloaded object. - (let ((location (condition-case nil - (if (eq type 'defun) - (find-function-search-for-symbol symbol nil - "loaddefs.el") - (find-variable-noselect symbol file-name)) - (error nil)))) - (when location - (with-current-buffer (car location) - (when (cdr location) - (goto-char (cdr location))) - (when (re-search-backward - "^;;; Generated autoloads from \\(.*\\)" nil t) - (setq file-name (match-string 1))))))) - (if (and (null file-name) - (or (eq type 'defun) - (integerp (get symbol 'variable-documentation)))) - ;; It's a object not defined in Elisp but in C. - (if (get-buffer " *DOC*") - (if (eq type 'defun) - (help-C-file-name (symbol-function symbol) 'subr) - (help-C-file-name symbol 'var)) - 'C-source) - file-name)))) - -(defun ac-symbol-documentation (symbol) - (if (stringp symbol) - (setq symbol (intern-soft symbol))) - (ignore-errors - (with-temp-buffer - (let ((standard-output (current-buffer))) - (prin1 symbol) - (princ " is ") - (cond - ((fboundp symbol) - (let ((help-xref-following t)) - (describe-function-1 symbol)) - (buffer-string)) - ((boundp symbol) - (let ((file-name (ac-symbol-file symbol 'defvar))) - (princ "a variable") - (when file-name - (princ " defined in `") - (princ (if (eq file-name 'C-source) - "C source code" - (file-name-nondirectory file-name)))) - (princ "'.\n\n") - (princ (or (documentation-property symbol 'variable-documentation t) - "Not documented.")) - (buffer-string))) - ((facep symbol) - (let ((file-name (ac-symbol-file symbol 'defface))) - (princ "a face") - (when file-name - (princ " defined in `") - (princ (if (eq file-name 'C-source) - "C source code" - (file-name-nondirectory file-name)))) - (princ "'.\n\n") - (princ (or (documentation-property symbol 'face-documentation t) - "Not documented.")) - (buffer-string))) - (t - (let ((doc (documentation-property symbol 'group-documentation t))) - (when doc - (princ "a group.\n\n") - (princ doc) - (buffer-string))))))))) - -(defun ac-symbol-candidates () - (or ac-symbols-cache - (setq ac-symbols-cache - (loop for x being the symbols - if (or (fboundp x) - (boundp x) - (symbol-plist x)) - collect (symbol-name x))))) - -(ac-define-source symbols - '((candidates . ac-symbol-candidates) - (document . ac-symbol-documentation) - (symbol . "s") - (cache))) - -;; Lisp functions source -(defvar ac-functions-cache nil) -(ac-clear-variable-every-10-minutes 'ac-functions-cache) - -(defun ac-function-candidates () - (or ac-functions-cache - (setq ac-functions-cache - (loop for x being the symbols - if (fboundp x) - collect (symbol-name x))))) - -(ac-define-source functions - '((candidates . ac-function-candidates) - (document . ac-symbol-documentation) - (symbol . "f") - (prefix . "(\\(\\(?:\\sw\\|\\s_\\)+\\)") - (cache))) - -;; Lisp variables source -(defvar ac-variables-cache nil) -(ac-clear-variable-every-10-minutes 'ac-variables-cache) - -(defun ac-variable-candidates () - (or ac-variables-cache - (setq ac-variables-cache - (loop for x being the symbols - if (boundp x) - collect (symbol-name x))))) - -(ac-define-source variables - '((candidates . ac-variable-candidates) - (document . ac-symbol-documentation) - (symbol . "v") - (cache))) - -;; Lisp features source -(defvar ac-emacs-lisp-features nil) -(ac-clear-variable-every-10-minutes 'ac-emacs-lisp-features) - -(defun ac-emacs-lisp-feature-candidates () - (or ac-emacs-lisp-features - (if (fboundp 'find-library-suffixes) - (let ((suffix (concat (regexp-opt (find-library-suffixes) t) "\\'"))) - (setq ac-emacs-lisp-features - (append (mapcar 'prin1-to-string features) - (loop for dir in load-path - if (file-directory-p dir) - append (loop for file in (directory-files dir) - if (string-match suffix file) - collect (substring file 0 (match-beginning 0)))))))))) - -(ac-define-source features - '((depends find-func) - (candidates . ac-emacs-lisp-feature-candidates) - (prefix . "require +'\\(\\(?:\\sw\\|\\s_\\)*\\)") - (requires . 0))) - -(defvaralias 'ac-source-emacs-lisp-features 'ac-source-features) - -;; Abbrev source -(ac-define-source abbrev - '((candidates . (mapcar 'popup-x-to-string (append (vconcat local-abbrev-table global-abbrev-table) nil))) - (action . expand-abbrev) - (symbol . "a") - (cache))) - -;; Files in current directory source -(ac-define-source files-in-current-dir - '((candidates . (directory-files default-directory)) - (cache))) - -;; Filename source -(defvar ac-filename-cache nil) - -(defun ac-filename-candidate () - (unless (file-regular-p ac-prefix) - (ignore-errors - (loop with dir = (file-name-directory ac-prefix) - with files = (or (assoc-default dir ac-filename-cache) - (let ((files (directory-files dir nil "^[^.]"))) - (push (cons dir files) ac-filename-cache) - files)) - for file in files - for path = (concat dir file) - collect (if (file-directory-p path) - (concat path "/") - path))))) - -(ac-define-source filename - '((init . (setq ac-filename-cache nil)) - (candidates . ac-filename-candidate) - (prefix . valid-file) - (requires . 0) - (action . ac-start) - (limit . nil))) - -;; Dictionary source -(defcustom ac-user-dictionary nil - "User dictionary" - :type '(repeat string) - :group 'auto-complete) - -(defcustom ac-user-dictionary-files '("~/.dict") - "User dictionary files." - :type '(repeat string) - :group 'auto-complete) - -(defcustom ac-dictionary-directories nil - "Dictionary directories." - :type '(repeat string) - :group 'auto-complete) - -(defvar ac-dictionary nil) -(defvar ac-dictionary-cache (make-hash-table :test 'equal)) - -(defun ac-clear-dictionary-cache () - (interactive) - (clrhash ac-dictionary-cache)) - -(defun ac-read-file-dictionary (filename) - (let ((cache (gethash filename ac-dictionary-cache 'none))) - (if (and cache (not (eq cache 'none))) - cache - (let (result) - (ignore-errors - (with-temp-buffer - (insert-file-contents filename) - (setq result (split-string (buffer-string) "\n")))) - (puthash filename result ac-dictionary-cache) - result)))) - -(defun ac-buffer-dictionary () - (apply 'append - (mapcar 'ac-read-file-dictionary - (mapcar (lambda (name) - (loop for dir in ac-dictionary-directories - for file = (concat dir "/" name) - if (file-exists-p file) - return file)) - (list (symbol-name major-mode) - (ignore-errors - (file-name-extension (buffer-file-name)))))))) - -(defun ac-dictionary-candidates () - (apply 'append `(,ac-user-dictionary - ,(ac-buffer-dictionary) - ,@(mapcar 'ac-read-file-dictionary - ac-user-dictionary-files)))) - -(ac-define-source dictionary - '((candidates . ac-dictionary-candidates) - (symbol . "d"))) - -(provide 'auto-complete) -;;; auto-complete.el ends here diff --git a/.emacs.d/auto-complete/auto-complete.elc b/.emacs.d/auto-complete/auto-complete.elc deleted file mode 100644 index 825e8db2c80bacaea9524f2ef32f9fa33683b911..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60025 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 VC%Hh(8a%_zZlK_P4Bf`1{|mZ(eD(kU diff --git a/.emacs.d/auto-complete/dict/c++-mode b/.emacs.d/auto-complete/dict/c++-mode deleted file mode 100644 index e3cd8ae..0000000 --- a/.emacs.d/auto-complete/dict/c++-mode +++ /dev/null @@ -1,74 +0,0 @@ -and -and_eq -asm -auto -bitand -bitor -bool -break -case -catch -char -class -compl -const -const_cast -continue -default -delete -do -double -dynamic_cast -else -enum -explicit -export -extern -false -float -for -friend -goto -if -inline -int -long -mutable -namespace -new -not -not_eq -operator -or -or_eq -private -protected -public -register -reinterpret_cast -return -short -signed -sizeof -static -static_cast -struct -switch -template -this -throw -true -try -typedef -typeid -typename -union -unsigned -using -virtual -void -volatile -wchar_t -while -xor -xor_eq diff --git a/.emacs.d/auto-complete/dict/c-mode b/.emacs.d/auto-complete/dict/c-mode deleted file mode 100644 index 496f904..0000000 --- a/.emacs.d/auto-complete/dict/c-mode +++ /dev/null @@ -1,37 +0,0 @@ -auto -_Bool -break -case -char -_Complex -const -continue -default -do -double -else -enum -extern -float -for -goto -if -_Imaginary -inline -int -long -register -restrict -return -short -signed -sizeof -static -struct -switch -typedef -union -unsigned -void -volatile -while diff --git a/.emacs.d/auto-complete/dict/clojure-mode b/.emacs.d/auto-complete/dict/clojure-mode deleted file mode 100644 index 16348ed..0000000 --- a/.emacs.d/auto-complete/dict/clojure-mode +++ /dev/null @@ -1,475 +0,0 @@ -*agent* -*clojure-version* -*command-line-args* -*compile-files* -*compile-path* -*err* -*file* -*flush-on-newline* -*in* -*ns* -*out* -*print-dup* -*print-length* -*print-level* -*print-meta* -*print-readably* -*read-eval* -*warn-on-reflection* -accessor -aclone -add-classpath -add-watch -agent -agent-error -agent-errors -aget -alength -alias -all-ns -alter -alter-meta! -alter-var-root -amap -ancestors -and -apply -areduce -array-map -aset -aset-boolean -aset-byte -aset-char -aset-double -aset-float -aset-int -aset-long -aset-short -assert -assoc -assoc! -assoc-in -associative? -atom -await -await-for -bases -bean -bigdec -bigint -binding -bit-and -bit-and-not -bit-clear -bit-flip -bit-not -bit-or -bit-set -bit-shift-left -bit-shift-right -bit-test -bit-xor -boolean -boolean-array -booleans -bound-fn -bound-fn* -butlast -byte -byte-array -bytes -case -cast -char -char-array -char-escape-string -char-name-string -char? -chars -class -class? -clear-agent-errors -clojure-version -coll? -comment -commute -comp -comparator -compare -compare-and-set! -compile -complement -concat -cond -condp -conj -conj! -cons -constantly -construct-proxy -contains? -count -counted? -create-ns -create-struct -cycle -dec -decimal? -declare -definline -defmacro -defmethod -defmulti -defn -defn- -defonce -defprotocol -defstruct -deftype -delay -delay? -deliver -deref -derive -descendants -disj -disj! -dissoc -dissoc! -distinct -distinct? -doall -doc -dorun -doseq -dosync -dotimes -doto -double -double-array -doubles -drop -drop-last -drop-while -dtype -empty -empty? -ensure -enumeration-seq -error-handler -error-mode -eval -even? -every? -extend -extend-class -extend-protocol -extend-type -extenders -extends? -false? -ffirst -file-seq -filter -find -find-doc -find-ns -find-var -first -float -float-array -float? -floats -flush -fn -fn? -fnext -for -force -format -future -future-call -future-cancel -future-cancelled? -future-done? -future? -gen-class -gen-interface -gensym -get -get-in -get-method -get-proxy-class -get-thread-bindings -get-validator -hash -hash-map -hash-set -identical? -identity -if-let -if-not -ifn? -import -in-ns -inc -init-proxy -instance? -int -int-array -integer? -interleave -intern -interpose -into -into-array -ints -io! -isa? -iterate -iterator-seq -juxt -key -keys -keyword -keyword? -last -lazy-cat -lazy-seq -let -letfn -line-seq -list -list* -list? -load -load-file -load-reader -load-string -loaded-libs -locking -long -long-array -longs -loop -macroexpand -macroexpand-1 -make-array -make-hierarchy -map -map? -mapcat -max -max-key -memfn -memoize -merge -merge-with -meta -methods -min -min-key -mod -name -namespace -neg? -newline -next -nfirst -nil? -nnext -not -not-any? -not-empty -not-every? -not= -ns -ns-aliases -ns-imports -ns-interns -ns-map -ns-name -ns-publics -ns-refers -ns-resolve -ns-unalias -ns-unmap -nth -nthnext -num -number? -object-array -odd? -or -parents -partial -partition -pcalls -peek -persistent! -pmap -pop -pop! -pop-thread-bindings -pos? -pr -pr-str -prefer-method -prefers -print -print-namespace-doc -print-str -printf -println -println-str -prn -prn-str -promise -proxy -proxy-mappings -proxy-super -push-thread-bindings -pvalues -quot -rand -rand-int -range -ratio? -rationalize -re-find -re-groups -re-matcher -re-matches -re-pattern -re-seq -read -read-line -read-string -reduce -ref -ref-history-count -ref-max-history -ref-min-history -ref-set -refer -refer-clojure -reify -release-pending-sends -rem -remove -remove-method -remove-ns -remove-watch -repeat -repeatedly -replace -replicate -require -reset! -reset-meta! -resolve -rest -restart-agent -resultset-seq -reverse -reversible? -rseq -rsubseq -satisfies? -second -select-keys -send -send-off -seq -seq? -seque -sequence -sequential? -set -set-error-handler! -set-error-mode! -set-validator! -set? -short -short-array -shorts -shutdown-agents -slurp -some -sort -sort-by -sorted-map -sorted-map-by -sorted-set -sorted-set-by -sorted? -special-form-anchor -special-symbol? -split-at -split-with -str -stream? -string? -struct -struct-map -subs -subseq -subvec -supers -swap! -symbol -symbol? -sync -syntax-symbol-anchor -take -take-last -take-nth -take-while -test -the-ns -time -to-array -to-array-2d -trampoline -transient -tree-seq -true? -type -unchecked-add -unchecked-dec -unchecked-divide -unchecked-inc -unchecked-multiply -unchecked-negate -unchecked-remainder -unchecked-subtract -underive -update-in -update-proxy -use -val -vals -var-get -var-set -var? -vary-meta -vec -vector -vector-of -vector? -when -when-first -when-let -when-not -while -with-bindings -with-bindings* -with-in-str -with-local-vars -with-meta -with-open -with-out-str -with-precision -xml-seq -zero? -zipmap \ No newline at end of file diff --git a/.emacs.d/auto-complete/dict/css-mode b/.emacs.d/auto-complete/dict/css-mode deleted file mode 100644 index 4ec8f7d..0000000 --- a/.emacs.d/auto-complete/dict/css-mode +++ /dev/null @@ -1,747 +0,0 @@ -!important -ActiveBorder -ActiveCaption -Alpha -AppWorkspace -Background -Barn -BasicImage -Blinds -Blur -ButtonFace -ButtonHighlight -ButtonShadow -ButtonText -CaptionText -CheckerBoard -Chroma -Compositor -CradientWipe -DXImageTransform -DropShadow -Emboss -Engrave -Fade -FlipH -FlipV -Glow -Gray -GrayText -Highlight -HighlightText -Hz -ICMFilter -InactiveBorder -InactiveCaption -InactiveCaptionText -InfoBackground -InfoText -Inset -Invert -Iris -Light -MaskFilter -Matrix -Menu -MenuText -Microsoft -MotionBlur -Pixelate -RadialWipe -RandomBars -RandomDissolve -RevealTrans -Scrollbar -Shadow -Slide -Spiral -Stretch -Strips -ThreeDDarkShadow -ThreeDFace -ThreeDHighlight -ThreeDLightShadow -ThreeDShadow -Wave -Wheel -Window -WindowFrame -WindowText -Xray -Zigzag -_azimuth -_background -_background-position-x -_background-position-y -_border -_bottom -_caption -_clear -_clip -_color -_content -_counter -_cue -_cursor -_direction -_display -_elevation -_empty -_filter -_filter:progid:DXImageTransform.Microsoft -_float -_font -_height -_ime -_ime-mode -_layout -_layout-flow -_layout-grid -_layout-grid-char -_layout-grid-line -_layout-grid-mode -_layout-grid-type -_left -_letter -_line -_line-break -_list -_margin -_orphans -_outline -_overflow -_overflow-x -_overflow-y -_padding -_page -_pause -_pitch -_play -_position -_quotes -_richness -_right -_ruby -_ruby-align -_ruby-overhang -_ruby-position -_scrollbar -_scrollbar-3dlight-color -_scrollbar-arrow-color -_scrollbar-base-color -_scrollbar-darkshadow-color -_scrollbar-face-color -_scrollbar-highlight-color -_scrollbar-track-color -_speak -_speech -_stress -_table -_text -_text-align-last -_text-autospace -_text-justify -_text-kashida-space -_text-overflow -_text-underline-position -_top -_unicode -_vertical -_visibility -_voice -_volume -_white -_widows -_width -_word -_word-break -_word-wrap -_writing -_writing-mode -_z -_zoom -above -active -adjust -after -aliceblue -align -always -antiquewhite -aqua -aquamarine -armenian -arrow -attachment -auto -autospace -avoid -azimuth -azure -background -background-attachment -background-color -background-image -background-position -background-repeat -bar -base -baseline -before -behind -beige -below -bidi -bidi-override -bisque -black -blanchedalmond -blink -block -blue -blueviolet -bold -bolder -border -border-bottom -border-bottom-color -border-bottom-style -border-bottom-width -border-collapse -border-color -border-left -border-left-color -border-left-style -border-left-width -border-right -border-right-color -border-right-style -border-right-width -border-spacing -border-style -border-top -border-top-color -border-top-style -border-top-width -border-width -both -bottom -box -break -brown -burlwood -cadetblue -capitalize -caps -caption -caption-side -cell -cells -center -center-left -center-right -char -chartreuse -chocolate -circle -cjk -cjk-ideographic -clear -clip -close -close-quote -cm -code -collapse -color -column -compact -condensed -content -continuous -coral -cornflowerblue -cornsilk -counter -counter-increment -counter-reset -crimson -crop -cross -crosshair -cue -cue-after -cue-before -cursive -cursor -cyan -darkblue -darkcyan -darkgoldenrod -darkgray -darkgreen -darkkhaki -darkmagenta -darkolivegreen -darkorange -darkorchid -darkred -darksalmon -darkseagreen -darkshadow -darkslateblue -darkslategray -darkturquoise -darkviolet -dashed -decimal -decimal-leading-zero -decoration -deeppink -deepskyblue -default -deg -digits -dimgray -direction -disc -display -dodgerblue -dotted -double -during -e -e-resize -elevation -em -embed -empty -empty-cells -ex -expanded -extra -extra-condensed -extra-expanded -face -family -fantasy -far -far-left -far-right -fast -faster -firebrick -first -first-child -first-letter -first-line -fixed -float -floralwhite -flow -focus -font -font-family -font-size -font-size-adjust -font-stretch -font-style -font-variant -font-weight -footer -forestgreen -fuchsia -gainsboro -georgian -ghostwhite -gold -goldenrod -gray -greek -green -greenyellow -grid -groove -group -header -hebrew -height -help -hidden -hide -high -higher -hiragana -hiragana-iroha -honeydew -hotpink -hover -icon -ideographic -image -in -increment -indent -index -indianred -indigo -inherit -inline -inline-block -inline-table -inset -inside -iroha -italic -item -ivory -justify -kHz -kashida -katakana -katakana-iroha -khaki -landscape -lang() -large -larger -last -latin -lavender -lavenderblush -lawngreen -layout -leading -left -left-side -leftwards -lenonchiffon -letter -letter-spacing -level -lightblue -lightcoral -lightcyan -lighter -lightgoldenrodyellow -lightgray -lightgreen -lightgrey -lightpink -lightsalmon -lightseagreen -lightskyblue -lightslategray -lightsteelblue -lightyellow -lime -limegreen -line -line-height -line-through -linen -link -list -list-item -list-style -list-style-image -list-style-position -list-style-type -loud -low -lower -lower-alpha -lower-greek -lower-latin -lower-roman -lowercase -ltr -magenta -margin -margin-bottom -margin-left -margin-right -margin-top -marker -marker-offset -marks -maroon -max -max-height -max-width -medium -mediumaquamarine -mediumblue -mediumorchid -mediumpurple -mediumseagreen -mediumslateblue -mediumspringgreen -mediumturquoise -mediumvioletred -menu -message -message-box -middle -midnightblue -min -min-height -min-width -mintcream -mistyrose -mix -mm -moccasin -mode -monospace -move -ms -n -n-resize -naby -narrower -navajowhite -ne -ne-resize -no -no-close-quote -no-open-quote -no-repeat -none -normal -nowrap -number -numeral -nw -nw-resize -oblique -offset -oldlace -olive -olivedrab -once -open -open-quote -orange -orangered -orchid -orphans -out -outline -outline-color -outline-style -outline-width -outset -outside -overflow -overhang -overline -override -padding -padding-bottom -padding-left -padding-right -padding-top -page -page-break-after -page-break-before -page-break-inside -palegoldenrod -palegreen -paleturquoise -palevioletred -papayawhip -pause -pause-after -pause-before -pc -peachpuff -peru -pink -pitch -pitch-range -play -play-during -plum -pointer -portarait -position -powderblue -pre -pre-line -pre-wrap -progid -progress -pt -punctuation -purple -px -quote -quotes -rad -range -rate -red -relative -repeat -repeat-x -repeat-y -reset -resize -richness -ridge -right -right-side -rightwards -roman -rosybrown -row -royalblue -rtl -run -run-in -s -s-resize -saddlebrown -salmon -sandybrown -sans-serif -scroll -se -se-resize -seagreen -seashell -semi -semi-condensed -semi-expanded -separate -serif -shadow -show -side -sienna -silent -silever -silver -size -skyblue -slateblue -slategray -slow -slower -small -small-caps -small-caption -smaller -snow -soft -solid -space -spacing -speak -speak-header -speak-numeral -speak-punctuation -specific -specific-voice -speech -speech-rate -spell -spell-out -springgreen -square -static -status -status-bar -steelblue -stress -stretch -style -sub -super -sw -sw-resize -table -table-caption -table-cell -table-column -table-column-group -table-footer-group -table-header-group -table-layout -table-row -table-row-group -tan -teal -text -text-align -text-bottom -text-decoration -text-indent -text-shadow -text-top -text-transform -thick -thin -thistle -through -tomato -top -track -transform -transparent -turquoise -type -ultra -ultra-condensed -ultra-expanded -underline -unicode -unicode-bidi -upper -upper-alpha -upper-latin -upper-roman -uppercase -variant -vertical -vertical-align -violet -visibility -visible -visited -voice -voice-family -volume -w -w-resize -wait -weight -wheat -white -white-space -whitesmoke -wider -widows -width -word -word-spacing -wrap -x -x-fast -x-high -x-large -x-loud -x-low -x-slow -x-small -x-soft -xx -xx-large -xx-small -y -yellow -yellowgreen -z -z-index -zero diff --git a/.emacs.d/auto-complete/dict/java-mode b/.emacs.d/auto-complete/dict/java-mode deleted file mode 100644 index 8ed3d04..0000000 --- a/.emacs.d/auto-complete/dict/java-mode +++ /dev/null @@ -1,50 +0,0 @@ -abstract -assert -boolean -break -byte -case -catch -char -class -const -continue -default -do -double -else -enum -extends -final -finally -float -for -goto -if -implements -import -instanceof -int -interface -long -native -new -package -private -protected -public -return -short -static -strictfp -super -switch -synchronized -this -throw -throws -transient -try -void -volatile -while diff --git a/.emacs.d/auto-complete/dict/javascript-mode b/.emacs.d/auto-complete/dict/javascript-mode deleted file mode 100644 index 3d83f84..0000000 --- a/.emacs.d/auto-complete/dict/javascript-mode +++ /dev/null @@ -1,148 +0,0 @@ -Anchor -Area -Array -Boolean -Button -Checkbox -Date -Document -Element -FileUpload -Form -Frame -Function -Hidden -History -Image -Infinity -JavaArray -JavaClass -JavaObject -JavaPackage -Link -Location -Math -MimeType -NaN -Navigator -Number -Object -Option -Packages -Password -Plugin -Radio -RegExp -Reset -Select -String -Submit -Text -Textarea -Window -alert -arguments -assign -blur -break -callee -caller -captureEvents -case -clearInterval -clearTimeout -close -closed -comment -confirm -constructor -continue -default -defaultStatus -delete -do -document -else -escape -eval -export -find -focus -for -frames -function -getClass -history -home -if -import -in -innerHeight -innerWidth -isFinite -isNan -java -label -length -location -locationbar -menubar -moveBy -moveTo -name -navigate -navigator -netscape -new -onBlur -onError -onFocus -onLoad -onUnload -open -opener -outerHeight -outerWidth -pageXoffset -pageYoffset -parent -parseFloat -parseInt -personalbar -print -prompt -prototype -ref -releaseEvents -resizeBy -resizeTo -return -routeEvent -scroll -scrollBy -scrollTo -scrollbars -self -setInterval -setTimeout -status -statusbar -stop -sun -switch -taint -this -toString -toolbar -top -typeof -unescape -untaint -unwatch -valueOf -var -void -watch -while -window -with diff --git a/.emacs.d/auto-complete/dict/php-mode b/.emacs.d/auto-complete/dict/php-mode deleted file mode 100644 index 04352d8..0000000 --- a/.emacs.d/auto-complete/dict/php-mode +++ /dev/null @@ -1,62 +0,0 @@ -and -array -as -break -case -catch -cfunction -class -clone -const -continue -declare -default -die -do -echo -else -elseif -empty -enddeclare -endfor -endforeach -endif -endswitch -endwhile -eval -exit -extends -final -for -foreach -function -global -goto -if -implements -include -include_once -instanceof -interface -isset -list -namespace -new -old_function -or -print -private -protected -public -require -require_once -return -static -switch -throw -try -unset -use -var -while -xor diff --git a/.emacs.d/auto-complete/dict/python-mode b/.emacs.d/auto-complete/dict/python-mode deleted file mode 100644 index 33b4b32..0000000 --- a/.emacs.d/auto-complete/dict/python-mode +++ /dev/null @@ -1,104 +0,0 @@ -__import__ -abs -and -any -apply -as -assert -basestring -bin -bool -break -buffer -class -cmp -coerce -complex -continue -def -del -delattr -dict -dir -divmod -elif -else -enumerate -eval -except -exec -execfile -file -filter -finally -float -for -format -from -frozenset -getattr -global -globals -hasattr -hash -help -hex -id -if -import -in -input -int -intern -is -isinstance -issubclass -iter -lambda -len -list -locals -long -map -max -min -next -not -object -oct -open -or -ord -pass -pow -print -print -property -raise -range -raw_input -reduce -reload -repr -return -reversed -round -set -setattr -slice -sorted -staticmethod -str -sum -super -try -tuple -type -unichr -unicode -vars -while -with -xrange -yield -zip diff --git a/.emacs.d/auto-complete/dict/ruby-mode b/.emacs.d/auto-complete/dict/ruby-mode deleted file mode 100644 index 90b4fc9..0000000 --- a/.emacs.d/auto-complete/dict/ruby-mode +++ /dev/null @@ -1,181 +0,0 @@ -$! -$" -$$ -$& -$' -$* -$+ -$, -$-0 -$-F -$-I -$-K -$-a -$-d -$-i -$-l -$-p -$-v -$-w -$. -$/ -$0 -$1 -$10 -$11 -$2 -$3 -$4 -$5 -$6 -$7 -$8 -$9 -$: -$; -$< -$= -$> -$? -$@ -$DEBUG -$FILENAME -$KCODE -$LOADED_FEATURES -$LOAD_PATH -$PROGRAM_NAME -$SAFE -$VERBOSE -$\ -$_ -$` -$deferr -$defout -$stderr -$stdin -$stdout -$~ -ARGF -ARGV -Array -BEGIN -DATA -END -ENV -FALSE -Float -Integer -NIL -PLATFORM -RELEASE_DATE -RUBY_COPYRIGHT -RUBY_DESCRIPTION -RUBY_PATCHLEVEL -RUBY_PLATFORM -RUBY_RELEASE_DATE -RUBY_VERSION -SCRIPT_LINES__ -STDERR -STDIN -STDOUT -String -TOPLEVEL_BINDING -TRUE -VERSION -__method__ -` -abort -alias -and -at_exit -autoload -autoload? -begin -binding -block_given -break -callcc -caller -case -catch -chomp -chomp! -chop -chop -class -def -defined? -do -else -elsif -end -ensure -eval -exec -exit -exit! -fail -false -for -fork -format -getc -gets -global_variables -gsub -gsub! -if -in -iterator? -lambda -load -local_varaibles -loop -module -next -nil -not -open -or -p -printf -proc -putc -puts -raise -rand -readline -readlines -redo -require -require_relative -rescue -retry -return -scan -select -self -set_trace_func -sleep -split -sprintf -srand -sub -sub! -super -syscall -system -test -then -throw -trace_var -trap -true -undef -unless -until -untrace_var -warn -when -while -yield diff --git a/.emacs.d/auto-complete/dict/scheme-mode b/.emacs.d/auto-complete/dict/scheme-mode deleted file mode 100644 index e5cca61..0000000 --- a/.emacs.d/auto-complete/dict/scheme-mode +++ /dev/null @@ -1,216 +0,0 @@ -case-lambda -call/cc -class -define-class -exit-handler -field -import -inherit -init-field -interface -let*-values -let-values -let/ec -mixin -opt-lambda -override -protect -provide -public -rename -require -require-for-syntax -syntax -syntax-case -syntax-error -unit/sig -unless -when -with-syntax -and -begin -call-with-current-continuation -call-with-input-file -call-with-output-file -case -cond -define -define-syntax -delay -do -dynamic-wind -else -for-each -if -lambda -let -let* -let-syntax -letrec -letrec-syntax -map -or -syntax-rules -abs -acos -angle -append -apply -asin -assoc -assq -assv -atan -boolean? -caar -cadr -call-with-input-file -call-with-output-file -call-with-values -car -cdddar -cddddr -cdr -ceiling -char->integer -char-alphabetic? -char-ci<=? -char-ci=? -char-ci>? -char-downcase -char-lower-case? -char-numeric? -char-ready? -char-upcase -char-upper-case? -char-whitespace? -char<=? -char=? -char>? -char? -close-input-port -close-output-port -complex? -cons -cos -current-input-port -current-output-port -denominator -display -eof-object? -eq? -equal? -eqv? -eval -even? -exact->inexact -exact? -exp -expt -#f -floor -force -gcd -imag-part -inexact->exact -inexact? -input-port? -integer->char -integer? -interaction-environment -lcm -length -list -list->string -list->vector -list-ref -list-tail -list? -load -log -magnitude -make-polar -make-rectangular -make-string -make-vector -max -member -memq -memv -min -modulo -negative? -newline -not -null-environment -null? -number->string -number? -numerator -odd? -open-input-file -open-output-file -output-port? -pair? -peek-char -port? -positive? -procedure? -quasiquote -quote -quotient -rational? -rationalize -read -read-char -real-part -real? -remainder -reverse -round -scheme-report-environment -set! -set-car! -set-cdr! -sin -sqrt -string -string->list -string->number -string->symbol -string-append -string-ci<=? -string-ci=? -string-ci>? -string-copy -string-fill! -string-length -string-ref -string-set! -string<=? -string=? -string>? -string? -substring -symbol->string -symbol? -#t -tan -transcript-off -transcript-on -truncate -values -vector -vector->list -vector-fill! -vector-length -vector-ref -vector-set! diff --git a/.emacs.d/auto-complete/dict/tcl-mode b/.emacs.d/auto-complete/dict/tcl-mode deleted file mode 100644 index 07a1281..0000000 --- a/.emacs.d/auto-complete/dict/tcl-mode +++ /dev/null @@ -1,172 +0,0 @@ -after -append -apply -array -auto_execok -auto_import -auto_load -auto_load_index -auto_mkindex -auto_mkindex_old -auto_qualify -auto_reset -bell -binary -bind -bindtags -break -button -canvas -case -catch -cd -chan -checkbutton -clipboard -clock -close -concat -continue -destroy -dict -encoding -entry -eof -error -eval -event -exec -exit -expr -fblocked -fconfigure -fcopy -file -fileevent -flush -focus -font -for -foreach -format -frame -gets -glob -global -grab -grid -if -image -incr -info -interp -join -label -labelframe -lappend -lassign -lindex -linsert -list -listbox -llength -load -lower -lrange -lrepeat -lreplace -lreverse -lsearch -lset -lsort -menu -menubutton -message -namespace -open -option -pack -package -panedwindow -pid -pkg_mkIndex -place -proc -puts -pwd -radiobutton -raise -read -regexp -registry -regsub -rename -return -scale -scan -scrollbar -seek -selection -set -socket -source -spinbox -split -string -subst -switch -tclLog -tclPkgSetup -tclPkgUnknown -tcl_findLibrary -tell -text -time -tk -tk_chooseColor -tk_chooseDirectory -tk_getOpenFile -tk_getSaveFile -tk_menuSetFocus -tk_messageBox -tk_popup -tk_textCopy -tk_textCut -tk_textPaste -tkwait -toplevel -ttk::button -ttk::checkbutton -ttk::combobox -ttk::entry -ttk::focusFirst -ttk::frame -ttk::label -ttk::labelframe -ttk::menubutton -ttk::notebook -ttk::paned -ttk::panedwindow -ttk::progressbar -ttk::radiobutton -ttk::scale -ttk::scrollbar -ttk::separator -ttk::setTheme -ttk::sizegrip -ttk::style -ttk::takefocus -ttk::themes -ttk::treeview -trace -unknown -unload -unset -update -uplevel -upvar -variable -vwait -while -winfo -wm diff --git a/.emacs.d/auto-complete/doc/ac-fuzzy.png b/.emacs.d/auto-complete/doc/ac-fuzzy.png deleted file mode 100644 index 9940fa750d6f69bc28bf8a10a60bc0c98a2e0ae1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22325 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 Uop%E`_m)lb4C!>Xx>ex+0oe$s>Hq)$ diff --git a/.emacs.d/auto-complete/doc/ac-isearch.png b/.emacs.d/auto-complete/doc/ac-isearch.png deleted file mode 100644 index e2ce709c26e920d19dd6e11d947ce33e7a11e598..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26049 zcmb@tbyQSg_$~@6h)4-YhalbEAuZiq(lvne&?4O(k^;)m-7PiJ-QC?V)BtDui+j$! z>)b!ix_8!^+Oy;PzWv7YKF>ShDoQfws6?m;2ngu1pC#205D>G0CpQW*uw@n!LJ7RR zauJu+Kmi^;DCS|ncS2Vw9anWnOIHsQXA1-?2S+%pkWxd{O2!mT z-9=L*v3IIom{}?>DdIjY{Gy#aJ&lbsq4}Xell*FB^m6M*zp%@S_lSb?YSV7YOK}v6 zAgurSlGmiFS<~7q18nSyS6j|cjg({P)N)#%vr(RQoCNmdvMa$8J+*cEU?D4=%aqC| z!hleY9h=Dbe8pf9m?uMu|Dcv)4f=KLmv)DNnBDDX@0$-b9v5hIbwFb$$ z&XzLI=MBnO-n6Yskw%jFj?>^nq>&H~As@k5)X~)RMU&&sCm)|y6UV%9ua#uTNL&>z= z%IYP=QJmNZhL}wsn%_qecr%Zi1dz=xdLN;MVn6?S4hxsuf05zJ^sRaZI3;Wy=(bK#wzm}Osc&@Df((4=e^Xmd*`oJDJ;rkr;|;^bYRL>Q zc@4Nk`J3*{%`Nk13d1AAY1lerfibJwSgDk7>o8g72#Q+@7=tk4bSLPQ zg|bi2lYW1E|Maw?&?FKtlJ)WY{93#WIdMEn|poC6YoUzi=jhU5?{PW9E7BSO>3q&O_Gt)@xWj>8x;#(CKutU@HGC23AyuXp59SN(`SlS^DJ*Zd z(t%(Yubxau-c}EJJXi1DJ>29EuRa*GpaS=8JD(`jt$XCVQQC(_Y5VtnVZ%8v+b9oT z{@c$;!}lpNZ%zdlxLbtD3#Y`mmZz)eX4rdE4Bri9Mk+V|z7g;MMfO@s9R3zl{lIHH zT4=H~70ajy})tgcPlB{pP*awWd6abW8)3LL8CI`Xg+vW7l(~S`eL$ z4Rr&9?|phhM;))yMDp~=-{$^)%5L%IB7aKyt0^In z5U<}g^U*3CZ3cS{Vxg}_QMLFZG*R&t1yken-Q4jQ$^W^(w zovTZw?=RqC6G-t%&I#`%7Hb@CWD5-E6O9|FYAl{@@Pznc$Y)6M>=sePE1G)pHqsXZNzP|$gCwztZ+<&J1Q`)1c+2u9O1ZnU z1U6q&N*F7s7WGS!`{k;asL-Gv_k^@T=31X|Im-_RH_72r4n`D+h~*V!SooMw;m9s* z^|FIhN73b8qN!(&hfC%~k0u{Ow<_f8j?#(j|5)*<=W4k_mncp3lN&IJN4^Hblr1+z z?b3Q$;8mH{@at3iZu8otMH_;{-b4=5R*XK{5jAoNo1`$c^VdM{w7a@ zalsf)ekpK~ruokM{I^%s0!#=R7XCkt%LF<#0|hq@k9$uSmBx5zlIRQ(wCwN*J*9b0 z--jS>Y&gc)Xk(JH+3ngx6#NrT7zKCqX6^(vJUWU)y^1 zetyAU^8)z{6uigQ#Cmp$Eqr3xQ5H$nPi0yJabpoLX*uqEWf-(dk`WE{^HlBVSm?JS z1{XAK{Ua+cX{lQum)*Yyeh*vmiV|DioV%Me!j%%^_jp^(d5?|ns}dj=+-tiT?O6YF z+`7^Bv&=$I&{xXEZ#g-}nvO+{pTRa$uwAW^=wrbf4Sk4zj*<1qw0h3NgVXy#)!tRo zRBs}?hY{iAklBII<@=j`q%{sL#U@3e7%L`8_i)PH&oqN6WPP@p1Olz->W)VvDZ`Mz z{VaW!FI|e_;d$Lh3vQXYffW)}MTo)Q{&p6R_+jC{DVYvwNG0+&cHG!>Eu6NHFd$;h zsczAuLp^W_#eDy%Of}W8tMo_UIA&ODy=Z_4XxQaTSjoI995^}!$kk|c!o`w5-t~PfL zgi1ScxxZRRE%nl?8DGsy6UsSu9G?NugV)Nr$HmwaDbX*QDlBHalKw ztC+}+*{oay{C|J4C3H}Sd;6T7%y9Q}HKtXb+Mf$!j2eG`WE>jzjS%AId^*&kq9*u5 zlT;>Od{+-+#p~WsxX?>ftQl&xm~(?IIQ)?>J{#H@l;U%~XcQqo+#`jQZ~gMDd!xR* z*Oa2&f&fy3dh5IBb$EyTEya2w=ri-igiO zA~}{d48lr$zK^M-fW7(});hyE706e^H}^en@9s=EvRY;o1KinjSsqk$=S5o;Rkxlu zuvIc@7KDUx$}(FdwI+2`Qe3^RkBn^Q%8LK32pQ%lo!!qDG5_){8(|q}0i5vbmjWf_ zi@9dEm(UpM8t}Q0saf8S=L2LAYAwl(R{ON!3s(vXDl&ehiWuhGQJmQ?RSSG2tQ%FB zv)I_grv6!aW!1)_KUGtGT_*0W=NnIPab80&AK%Wp2$YOH-IIoL?k}@PJ_|W$I}E9zfd zz8zrU94nk}edbCGaW9<;jnK9!(O`IJP`q1hyyZXE%_L5DcH{W=5o*F&cMrejKqoBm zZg}Ngda{gNY_P)scwDnfzztAf{CM(%3jfONFVg_K%QJ*5VSktKu_mwh$U~E+4vD=S zC?P*T;;adau>F%8s7oT8ATiX*a~m@FXHq^m@00BTy&PIE*xROZe#-TLKv~u44OIEp zSdI4!e*UJdo!yCCUvDKy7UG9;3pARZ_g4a(Lj zTc5|5Z!jmF;F73M?M6uiOtm1wK$hAgB9f9`IlX(r3)Ht~S|wG*8a)j*zE3(4FX)Sk z(iD-0W~y;4P4n~LV9sjJKTW8;42>o0hC+$Sqls$r@+4Z^ty{SeNCcdt3d6p>c=^&0 zmOJ&O@`ilvZ`CFMj8NVtMi#Ronf!Tz!v;P6!Sp++-(<6#=}aVY@I*#h!`Swpzht4` ztJ`v2JXmgtRZx>MAL!k|MyLc!G}$=&Ua5>cd-8wh-2Z`H>6aZ$&#WJ%4T4#yfKc;Y zYd5sq>{Yu-f-8$ugrb-#?i9vrR^bvIcRfgn7mpO86nzWMeba18wBh3DSSiU{V%y|H z9-Xq8YGD?9kLcp+M^qhqEiNL(vilD#iil6`VDBQ`I=J^nGa3!oulvQxt!;d#`!UNt zqif!wlypG$};!F8CRL>Q{64 zJ+|A)H?J}g|GEsX_ol^D3&-=WMwJ1xsy|k{eCpL>@K8^{@@IK_fa}7F)^@T<5D&SxXpYu^PnYB7aGo! zrchl>QMJ>4$RBKF2L~1b!^h=UP9vH8w+|04hh+`UTYuj@T&(&(XX(~huJ7(bKgJ5F zIUeEw1BnL)(*AI2HCdo2bk?cBPF?OhYc5CuWxC~@6K12WRWX3K0_0MVBD!ozV zhT_@7@Q8>Pm7=H=L4{clryV(M-ZvMsIsO-Lm(i+=hSj+af6-VGfrk45GTX|Y$r>wV zY#bb7hE_u`xbZO$GBh-VY@CB7ZZOmrOFqgvm@?mSbm*GPqN-PWyp zbBc{lZ@mXonCGi4-v0jmyY+S>(iyQBFcT;A=E$=l&QUIN@IMYHE=utYMGy5!a;lN_ z)b+I82I2G4#XXuf?dFrA+x%b)^322i)4hdV8x&XEfR8b!{Xm>ISG6`Oyg+8u2y9me zcth-={c7`Xz(U7b)ZYT^FE;`?Tpxc`SNjwAs%=A$hsx zu=tT^6p6o&)83qx?9PX?-wLp3?wPO4@`8gb0&c0F2aG=kHS#qs!ovDo#9(080FjG7 zZz+hfK;G#g(#xApOKr^lM(v@SI$BN@R@;->=Q|g^OP-!qxJWBH^{LD<90(|w7u)+q zzBa3rVdM?jg{kfWCrC{Thq`woZ$a>jmwAHjn=`YbANe>Iipt0zo#GCWYpLgy2l4G< z&z5&KYf-K@b4$D?@)ZeWA$!@Y69Dr0%R?PJjw?SmXCaY+vLq}&xkULkQk@K@xdH$hvYSpNo4ziR#?tW|5 zi-i?*E!Xd=HQbvclqi#xNDU*qr-Mln6?!q3HD5SSQBK9`ufh{mmra}O6!0IU zuTB`7t53}_Tsr2uj`IblmuTMS7|H|#lM83*wv=-N-v zYfpP?8S1y|xTL)C3>pY^l4=yYH5mC`o4^@CVB7GvSZ zwb;jgqt}j=siN0;kJM|~UHr{doh`kLF5>(2POAZ8J!oFz@R}PyWGNtlm~oKBbvxHa z*UO{9huYY+&@x&!y;7fsJ8*uj#a!9V+VSRKrM}fy*GuE%fmNfboFTYc1e)ao@?(t0 zlj&?YXh@5g(Y;`Tn`J8Bt3};;Z<*!AxAiydrSft&jaiy)R?~IcvA#Ai=-HRm%f}P! z;nc$z(^?(f`j5ebBX#m9j}baZtpDyB3YJqkuu;Y)edD|oaSGB-Hwe}LSLWO`dJPNB>wpp!X;Xv=INfBJ5h~D zn%C$J(gtRgxnOMAwoK2zaD>F8T$mxM^M_s@-QBaiD!4%*FM3}xv11)t%RoliKm@i-Y`k;lG7&B`-W>9bwa!tw5 z6U#pfD^7(0`IA}EG8R&AmE}`?kM++Mw*ofrOzehZ&!ak?=|%ka@S=L9SdODVhgdZ;j>Ki`~*lkE3e>qN+qTKv|Vy+C^1gu+Fh%O%Gb zWXy!|Slue~!2a*U1sZx} zcw5~m%o#dooqXPzwUdxr>v75zztg}D#NVI#n{rG;cYlA&oyV**JZj~(r7@U^hz=bw z+ABbzkZgPo;^$3P&E1#eFxv=5eh17KV9u0=ROyzUzB`8!&j@6ECY8VO$9mzc)j7Y{UK(( zJCxJ32W6&I*Nk;=XlN@%-yzqy!>{#jC*yiz9D-zv$FC{;mYm#Ccj_nQP75HOv1INm75#jgY~KgieCPy8PRo5;UTrOxR+(NekoI&czXbT+0hv*$ z!|!pf(aEgMKF)aI$F_S~nU7wOyKm^(Va6pxGA#|w#ocaBjn}m;4`>dd^J;(c-__?@ zJvjkT!vB2Z|GcZ(hWHY>(#>wZx2Qy`%yjE-JlNZNR)#mY(fmIaY8F(!*>pJ~cz%6t zG4V_G*RNl5sg5hHKWruo);Bl1j~iB3=q zM@>!bKY|c2o3jad*7zSkWSyNk0+G>+%?^XHy4vW~9i2S~Gw&xr*vgvX;^KdYhpB~x zGJ%KO_B3@yUpn6UJ|t%ccv|*^y-QP|iN*P>p@A!q71OZd6&e3gW@CH$NR$Hr59R-& zh{fMH3MQjgg8cEn8@-Ws1|3xeQfx%gd#(ZsG&tmbw>d@Nmi@k8Ogy5 z`PV}LXnaiu{^qpV_l}g*FrO!doR~-m{5AUE4TYq-t5~1C0lI$^F?Na0&aF2vU}L|# z-;X!1$$cuN?f1F;INJIIa~SqcqUtZIi?Nk7AJaH2P}K_*s-FEWhk3m4rEsnCDo;f_jHD$LUD<@YBI4i_#7{(_w9_Q;gTTaSpIbC5d_z)IRW&_BEb1q8+VL!Myx2f1D45ZoNPD@P zkl&d~9in8> zpFmw|*plM0;`#bpULIw(*8x4?z@I`fNCD4BWM^lehKYrxf4yn&E+U>RNFx*WUN4)T z*`tIX>o-h!WpOZne~aH;ixMmP#D^(z`(d%(elt;7!~_~cN_M?GIa)}QvuYMA+y_`L zI{}){c`v>YY|ac;&AaN8SXs%&$54gCjX$dS3u%VbZPsCGA`4sBP%>{@)P~e?GG+4?%ZIy z9(fSfb^g5ZC$A#qNEOZJW{*<`@`R;Y8yuINA(MltB80+eTfkHG%2Jk=3}P2lwIlJE zO@a8v1XO-!p18wqj>r$j~G@Bcso{`(dgcIe$#RNA_3c%Z~u8}2K>QRs};fS ztC^P5{Ly|E{h!xI89RVk9#+|)?*e&vHOnjEX5K4S*WvDByVRg50f==ae`Y9xzRnn& zC>iSL=s@m8S?&sEAnMA^FnAJ&4P-FCO7y>b0hG_j^Q2lIS6=(SlnY335$(kol}8K& ztV9`bZweNcVd`@(84hM~;dmhNVs&v|r-Rc6d4oc1EF=RZHItfG-pc|joAO_oUp|m3 zo5oz%2QJknLJ{;${=@keXnCNI*x`$(_=}PdwDm3C)hYR^7eKq|}Hp`hx_A;PRTb{Fv4+U@ZgHp@Q~aOsT^5`~6sHA3Zh zY9#Ir`*phLxVe}Y{8%TlzTTtwL;PeUD+rTFGBuRE9Jgk}D6B*{Dr_H%d zw&iav?#=qfZoYKFzUhoSpr42Nu?bfPCFQH102A2EBeUhi$6X`E)!6hRA}2?UCC%rf zMq1so_UeG8%UoCUI8Z&6w~XE1V~hF<=3C|HEiQ@~54 zjSgWP+O2_s?6Vv0*pDmTv8~H3^UhFG_zVP-w&Q6b-)jf%Q@dMWdG-bqdh|8YA0av? z=W*P!3cN(tJzsN_!y7B&*dDG|QpY-KP!rP87rUFPl%g0Ny(fIa|Hfb0pZXceF7i=G>@lvBzwy;*AdG#`!(@qZ#L`Sa<5HivI|(dqdS zmqa9L7}Tex5!BaveA^}=(O<%buhcV^OY(fB4wC)|6@5$s*3@>&NE;?}M^)z77%*nk z#*jQ8C0%P`GN(Wj)B0FHcwfG-uOx9LhC)HY{a4rizDKg_9%f%#UA*UYQ*cvK;kyaa?VIW zhGUFx2MNPrwvWj{j{GljMAJ(FX?P6>>wr}GJjAY6NMe6bp=P3Y%lx8Zt7G)dR|IQ*m zKf(#%e{T%3LI7V$luShiurSeb*s(zMAWa=E1C${72|XVHvPe~S z;~h|a6jGf7w3D^Q|EI%>krjmiRL{h_0yazD&S@B|P;LEaoN-&NFBW|m{+7|tuk{ha z4|LqHq$WS3P#hEhJf4yg22et3(O?Z5Ppf=^|Hys|7D(+BxAx zOAc8VaZDWzh>h~${T0WGgUWXnUscL%We*pq3+v6gxO208M{SigtIZy=d6`u~cJn1Nm?~T#=dHfsr793?Ui=}d1{+4VGfPof$Grh-8mZA5rMVB_Xlx%djKy_>$(Py z|D#Vc^HJZmv5~T+Q-O>t{V>cc*$NyA^s?ugs#TsdJaPpU7>E z`j1{qit{JQ`-X$jl0&2GLgtDx@93}3U)@(a631a5$E!=t`_S$xd@9f=boqW3;p8pkV1kR3j~CHVkRmD){@yr2l9zo?|P9=Bi3~m z@`)L(_+y4!yL)3a8{t=F(u0b^j;7l8EU~lN$6n)P@NTGxeCUwA$5Jz&mc>FlcNYmpiD5B=dhzrNU> zS!t-=-zq>Zd(CDwLIQt$Y`UJ&=Xc%;g90kbb$3bbi$hldXBU?@n3xT$oZF1IA*twQ zNunv7d+*zc^-zG4p|g7&!>n9lh;23*p3k^D8)47>9{i*@>*U)fGL%;6>IppU2&VOe_)XsoZA(jxZ1gijc>+_*vuJkrILGLNjyDG%nNImhnhB> zwlAXbQrVBMo!|S23)!76t?pbb&FvB_`*G2fgl9Wm*QVNN5GiQk=tblChPMw8phiq0 z^UU!Q_!ecOJfk?vIitYP-MxG@trDbONyeq*NFR>PBo7ov?kjn=Eln7R!x?fs3&n#q ztMXK{M8&8mKYSO3Jcn1LRxHlFe>kyeyDtEkIK47!F6V?uth(th684ESil#t)qBLkK z19m!7|ETqm%GcDD!H#n!GV3xrE%JTDq&*1yYbyV`mSlVQNlLmDIXEzfu%zOv(vS*k zf(X6cU_fki51MdJVBlgg|5M_d5;2PX%>nkoLsIzE=OdI+=Z0}xsv%Ld#Oa>Jj8%6A zyAr#>QCU&5N`hOebDY#`315kM5BHqO>RkJfi~Sg7cD*Q{=1ujGTEY!geHxF9p^j%b z?~mRexET>yO4x<=3Y|u$qT$ab;EeU;flcv^IVZ2s$?Eg0zRUajS$dxLiAHfFN5)nF zwNQMTJ!OYtzgTb4jXWB{6^vC5+`oUA`WD~?KFiD3upSD|rgCO5`z$k(YX%>?<;eK5 zZ_VAVeiQd=YfszzlkJ;-1ng0oh1cF*iWRN3eU4?=LF>~$XSrT-a%X;AJNDdvxtjSP zvNJfMjmAW%_W27VzGM6gc@Ge&Ewr-@;1J)6S5*wt|k1 z?(hDM=jD#mS|=hgT=Mn}6$ARxd5_cd^02WTGzdxC8PZx+LB?%$ppJPKP8n@`x)a#EOK5?jH4e z?T1yi&EGS3K_jlQ2MY2SA2UiXl|Xl(n2;nj#MQT1WqZF0W2I^=OIJO8Fy7k%vOj=k zKMO5e-H!Q&Sak=uQFnvN``I$Ey3~PM`9E<3BwWAkYwjb2!t^bLq?w&sIK)RnXBycF z+OS%^x#(y|+Q3hAIVKV1xtFUq>oI%N+*4*Rn0{#mh-l=)I|Q-Q=6Q62i%$mm(?)A} zK&mc`woC*&Pfno3#MFz%TF+w8Js=<74lkd3KpkhdM+XO^q@<3FtG<7aLi?^?`}3hE z{Pq>H)*?o)<>p)ndL};@tJgArxig?v!~@^KgI$}|AZ%teC#~GDU(^NJ(17GP6s;vXIOfiou^u z&qMstYUo3)g?xf=E4BPZU$pfjoPgg9Ii6JDtLyTepm@t+OUru8!TlFHx-WZI`#qS% zeN{wD0)5L?j6sdHTtz*bN+(6?L3Iw%<(iCFMMZ8g5M{;RZaE@_ZLQYJ4HZ!KQ7YqfX;Ak37WX<)qR5EMfun1dmZ;1`T47uHohq|hVlI@rRD364Z?DX_ z<)U&-`}=E&&21^yRFlLfx6J5Lv_ZeKYoZ?aGoW`>g`9Zh+&gcaAJ1f7=%t<+`8TxgoK@O3mc zM&;nhObM=YP&^pPnq$IK^Eja@O+IW9*T$W!W0aXG{i9BO2Z;PzisD%&K+m>i zFew{V*29}=u6vx52sP>cyiyr}PVOJ&Sb5l@)^M_znkApYXOAn0My_O}M`Q<-d+;k) zff#~yRs98Yq9EhXDEj!Umff^DYsW56TEcbFx(>&$$$yHv4eU3nHr?h*%-6UUsgrMn zV)SaLb=}8`P@elgOYBn0HXgKWA{D)7RVuRsD4{$7bOGk?X9~UQT>vMnKJ26yWLX6T zN`;LLivKPgCSUyp0>g$H<$rJZXyDvx^cjHkiB#FhU)e#m+vTss!$SV+cU!!0sGjxu zR0chX_Z1d@hozJ2j2Pr1zXl`WK^ud1hjeppse9`w`Q@?G{*+eZUj6a0viku zI-tt<$5Z{U9SR~M*#O&)@D&KZ0sSQ!C-8c3oCTE)fz4ML670k+RlAosiaSwmwn z4G0D-1;CuAwy>3ZgAn4{m~cAk{dzja2zw8_Pzt%4g0wJeb00ZL>G*XFv`%-?d=~F; zp4F^;7H{L*rY`lNbUb1HxtxCIPh0Q=-F%Toq5?12ycIt{d$o9+{$mEs`Ih=DVMp_5 zgd9PwtwP8cB!4scT`~^}e*KC|Pagp2)S;y&m*YWbG%*xlOffnKk{Jnk9WvXF0M3w> zfdLhuvy$l5(}cb2W!T?K6*;Gs)w3^Ow>75$E*khR1JOm~(ecmg$|$2pVDF%RyNQs+>-R`(OdZG4xT6lBZ*JU`hB$ArvAh86b&iug#v=~i^qUhKbf(R zULme1o}5gP;=7jB4(Wl!aKH|70SL2-Fw~;fB|X!+*-O-`E!DiJM{%FYC>wMU3u1wo{!y zWR}9?^24~HPzyArCswP*(_A@AnXSRoAG`JTd(JDCl#u}nl#OZypb;fG8R?UyWr6QY zqpY>HFJ7>ten6j7t}tptac`8hb#>(m4i45S(|V9@6S-H(0IYNc>ljy@%U+S?yiuSJ zXN>zB&?=)cgz9;CMFzb%#r<@mCmbO~;TTQ!tb_>Tun$V<>hZy?5kE=Klye(A+%BKq zT;;EH&vIh3U*ID1ITHigX(UWcD3pb-liH3V7|Xx>`Hn<@hP(paMDL3t1llYBk>&iP z( zI#qsJbX>f`t(ruW8V8>X$ZQMlESTs@c>U zvNN0^11K;5gh$O1t)P&Qg+U|lWA2$UeVMOc*)n+SO`qU*WKdE-SCG!HQrqwZuvq`V z03{7gh)H({yVsR<>;`}KxE7!!FZ8+2-YoP1>t#Ibp!Z5YJUIzJ(dO9)f~*f6*L`hB zW`_-ktI`Eh)}Q9(Ijacmw;cPsD*~T`9by3dqi5@ERi`P1^K-q2Q|3Ho4BN$O>A!#B z376reAz4m4lh#c|s{vG}ZX2HeY!$;u_1WlO&6K$?3pLE{JGPzg-RL8BG+$};#BU}9 z9CeI32Yl6G@s779dT_n&p3M0l!kRRbaA{~qdW&~9B6#|9*4xi82}^t`R9@s<2bKA@ z_Nr}c*xD74Q~n7g|D*~0W_sXM3N?I9YkQ@EL5A;?fZHxo)!qaDh*9x{6>4uT=JrsiS8HLI` zEC#OFgiHJWonV`0*1Z)S-P#(te_U#c^k)#$8#CyJ_X&(QVz{pgotV$%>_fz`bW6ZX zn`MY{){M3TAR)8@!iCV)n8Y=RaTu!x>_A<+Lj&Au+%lya?+)trnY;Xe7M-a>J2+O=L7zaHWf;f3NFqgejhTR zAMBt((7THrnO|7M4&HB7eXz6kbhJZ=fZ<{Du)Iiah!`^wkc-tQ*H&LyUwLJOr?4Oc zL1|?oIQ@Dm03~tW%?hfs4c5!gwYWLi%HcO-6--Q$+*Qp#dxO>^U-G-V(!|ZkxM^%m z<>KPvfElZ%HlE z3jVw(U*$KtDye>RfG>Vh4ANU7(ccBjmS~M{Uktu+oWT-7UtZM(-SUBU7cvU*%S!uB$LxPNG|bZ05wSl^DLIm~qhB?ku0eWU|o{ zevS7Zw;u!p4?yV8Z1xY&+ZMViBB(A~YBFy-@(UligOtOr3bR`{SE^Gj@`y=e>gQY>Ig&OP4H)5XlKpVRVIhBQ&(?3>E>*He!K zvY-Zs9`{4b=QhpL71*wAbcj;E^tjDbp+E(691ud&_+4n$*P~sY1u25)W`VF~O#)1< zX-pAl@yknJV*f|4;x|~vgU!=lPy{uCxg!6OtN#mP`v041{l62t#bP+4HKQVf(Yz}< z7I(YH7k0R(e`jghkF-=ay{ zeSHXz^NQRb`JJ}bCu-Dl3ymbQ_vOim24EIJmQtt^#0&r`bP;Oy!pU+L&+o*!SOJc; z{dVImjdHdE2n1^DWg1pPksq7V7jjx}10-P3Vtw?lUsMSR33Gs;NDd^Hx@%mib2_m% z6zSOj0Xdk;Y6Zjxr9n9kP-&W4kADkZlK95@CJF24g+;br{-ZJm}d*T zx(%~;{f?jKEy#bRlh+sZwpkldHisbVfZrJ|?3)$*TN|&c(M)6&lW}VfTYdXl)zg>y z|4G#@-r0A&0QkbQoK85@j{S4cU#4%aAI;F(dhbaedCtdOd_t9eI&sx;k{b+~dU?KHAp z?S^l4w%au`S6WakKJR{!U^sc@2)quLet_Xnz}C5;yDB{JlpN4@`uhNb4)(AK z&}chSMUJL8K(aJZ(+4>jBYkx*na;mH29JNzAZK-0Ay$xdWOZ-d$~0i{o=bg={v}^qD+F;dYhsMA7c2NRP7l!_NW129HT+!{Ui{?nq z+S27){Wh)Pr~Q_1_k?Nxi7IteKq_)%_AB@r$IZb?C*$4LuTrEBn`5JrZkb_v`DHvi zKs#{OlhQrxSYAynLFO2+8fCz005)=b-&JXFVn+9K9uf6mFnfa>az z$=b|$^K)zA{?!b^+fwqUaog6HnpatehpNKSu@SBLTBu4oZ^BeLLG3v**Au)tpVN$H zMov5);@Vf5vW{uJ7s*L)LY4?c%*fa6WpZb3$BJ*VwjlO`9qqox<8DVjK7pp^7jN<= z_x!zaId^Yu7tk8Xqf^Q4Ukj~iq&R`;&%4QhdROL9`ta6b;i`bXg+im` zYe291riJ`t?mKfHPl@?&f4or-5Pzoi-FJ1lUL9kE{n1!!4c*>`REsVM4Q82BS8Saf z(9(^QOQ@DAS@h-A+y>VdRRf)aRxz|lY3NPXj~@}okR=6fa;Y-vPF)dklZaa9PZkJQ z+^IsfhWh~9%>y7o1M#uyP-o{SKw5u;ifRfp5^U}6;tR|qd)qQ^` z7or9l{b3akrhs||9^)5T4j2bm``EdsBpCln&zt1=zM!Eb!ho)$_;Wmknn&iHFn5&K zD*3moYrL5eCZHD|H?w|l0c%&pI`Gg>Yx-&XChqIDIOS$Vk0p22{k66C59Kd!5Tf=DwS7!hW7RH>5(uRZ9ysc9nO&u8t7YKD{F` z6pZ~FgQHs1CcMY*dc2SfG{dt4t!D`CCrh&8;@@T5g0Y6x1JUag)49T_fqI!al61ZI zk8-q5G+)*$gfYuje8F8}c6>%$$l~1D=OUTI@SLOJdjC|l^r9~;TA3JouNyR7;Iuee zf#MU;kwbkK$2U!(WphIov^>^64ALy}N%Iex9rIAMYs&q^Y7vs#xz9sm&ASd6z29a; zu`{N7&ZAicD=HpV`LCcPQBqb_zn$p&{<{|-ErPFkrY5)k%-!ts{1XdLWI*C#mh$JY z10Qsm*^zEjhAx$_5xyPp8a3aJF`ljLg(D|H#IA)XO8e8)+CA4g8T(g_+bR0sgCYo@ zH;l<@G<*ABFV;e>jZ#ItdO>hwBM{#IkEqxzo@MV8R3OM9s4!tm5S~uU(rR%mPkfcG~XckT{ZAvV<<97N zxwgG2A^8BK;~}Q?IQoQ-AKGh9xqq|T5B!gVO(>Hrk!D?g-HTEi4GD<^zKMA;F@X{u zO>J_d;{)_6&H)m^Rr`s+i>@xV_xLpy=cXaczPtyvBTgQ08qKFxct%E5Vb~+1mP%Z_ z*w;ur*BrigcX@-s3r z|1pjNR$c%2kl1X8FBTtvmB#fZ$A$O66}s$wTz+~IqEvh+k;-oNd8P4PvYgaxm07s; zD%m%H`{W0(WUrU7NI*a>IbU3w!}3zSKhT#p=`um}g5-qUx<+sQwx1TQ^;&C&RZqi0 zkXR1jX@8w8NPUrfC0xKhkYZqVQPJwQpO%@NJ3& zs^XI=nD0A9`9vaH#^?O+beAY0A>AqE&^gra%=f?kF4r;`-n;MJ zd(Sy{pS?FF1}g)#uHKhY4(KE6rG_KQ|Cluf3!WVE8x=l1oUiYB-Wh5$+c@z>d&aR- zTJ&&n6@3uc-p;$5>IpFVU-%bO#olo&7uCiAN&PZ)@Qe#h&PU3q=atNo@iAdx3P@B} zf_zAF7gf^xXaOtoiEp=m(F?l`Q6sl1>Kg0l#R2jS_QwuZPg6hpYR2GfV?F59L?QEr zJqvh!(mtp3HCK^8^ORu;Slnil;Od5XXOUzmZo0(%kDv3B;mxa849=^b@@GaN6}Ixf ze|;1C^jbajR=pa1)cWwD*DIPoMzhoTs8j4zCliG>=pb}z8%s;;saiVsSTIQ_LRo)& zdAKQcui(Wc^RZ|Ayf8uQ%g$1<}z-?ssL$1%GR zOQ+!Tga#{A#ncsSNpj}ClhZVc(gr*&i(6C2Z}v|pd?w}JhQfb%_kikCcW7zZZG$3+z!`q{X+23Y_%i+V=@kRErHuIUe7!-cp)KZbIw@1=*38Ty<>#6q$p5{b34Avn#f15eadI={mLTl_zk<@Q{D)i%>>7u&7BR zGsqbortVl&9O@;RJ2GEMU0+Lt*OelUpPQ4pJ8JT3aY_ts-u|90NIC#Nsi<4#2DXEm zTD8$*>}|I^9-ffuOl-19M!Pt#vf$sd_w8oumc1CS2ff25lY>XC$-xUqa}U;*woBmr zGuD_i$hdWX!A**PTX4Fbu!;BJ(;1VrG%cSy|J0QnWRMwcO4u!)^W&RLbOLyOUZ?(A zceU!xaFYJ6E#i=6kdH<(Kh$jUo~s%6He=u3S9oYZ4-fY<`!PX%wHo*O{9?diEVUaw zf%Hf$p>OZ#zz81l=1DD+KuPBW<;Z4$i48kmZVonr?k?w!r&-2$bDOiXys0Wlmqv=5 z=4>Oogf~OO%^P#`y$%$z?@Ky^>=IeUeejE2^*oEz8cK1Qn6^oYS`V~y=jf^0z1;-j zqBvD9IuVPfjs-oNZe*058(KyVLm$6$BS8G)+H=dWR)q2orOJ$gEW+X{6HWy*qr&FB7Tl*{KoPkT$L zdzJY|S)X(O3>$s>*6Q+muiZzgC3(&pl_#*R_otUy$ez}F zvJ6K#$iKMs@@I6lre5d*Dg98|NJXuf>e^}hHFgPClH5i#5lLJ6*5w&ll9fXO-9uqV zohbJ8`q%wdtMRYIMuHEgheAc{j#zJTU!@@;W_5VsAEgu+qWxHOnK&ZMudYf&fsgOy z(XO1*<%NfXz>qqrd}okKA_rW@;vvn8ILl2vdh<=#c#Q9NO}qyr29mn0QLp$$sh`7) zs@g>nzv7y%y(g#f)N`505qe`k%lpLZI9x~nY{s(%(vDt>d$0-<9+~<0?oMYAv3OcA zv_Hr2ahY(!rBALP$kB5F>W=VVQ=T3@NXf`IrAYbdjZ;uMIK1hQ2hXDn_U$(TYDvN^ zqocYj7dT8&oj|x<@*c^;)>w<^{_Tj}t%K12ZbK2tD3RlAE!4(4?V2luDg z&@wQ1Cv(20@!Js(;E69x6mH7ahE}Dn-+l0W!?P_v%znf|e4@ndn&rgGvKSi;Kbln> zPv)#HtHlnd#!b=~E|KdUdGV>Y(VyOZG{ffK*P4{X62V?UX2Vhi$C>)D_I3p~504vs zd=w%Tn-M`Sdoz=0KD&n?tdy>zT$%P(GTUCv2)sZ%qBFbvWTG?jETs*gOUYX@h zs@6&Lek`c~QAh+WAGVsBn%mhu1FtEJ9{&Tqxi1bd4<*VJ3(=r!8i(e!Rf~?Mj(k~I=hB5#-BXj zpCOOIe!yxWIwj>jbHxZ32PbFSSlRRWwY9K(?c4;!%b->RN;Tz^^0#` zdLD7HCtm+B+Qq_=GTh(q`{4sQLRLwM zfUaUBh2tKWShxx+D=Vk#+)Wu)kRvFgk0X|}av`MjpTQ=0drVF<6Wn*RQGD7SkzSvL znAJsC7Gl4hpLP$u(um!@w2$96T}Bboxp+TcXT2wkik#fHwpJWK^94}%fR&l)AASJ= zE$ES2r@G_uCy;o1dk2SCxQTni>`=#TybutwNaR_{IuE|cw48Y*ZF5rbU&F!y8;67B zAVRSveMbo=knGUB>L~n3{`_K6^OugMpzGX-%;ndoDzk@WmZE2 zqr1C1ZD9qkzNe=IXkJ)jetmtj_Bg;YT;WEtv{$Xcq#6P1;R4JH)#Vpiozl`lVs)4x zH|$hn5qg9#R!MJDcqKoF|DfDhuV3F4`SF7GgG=3TdOObf=~>ws#}7$K@1UKOQWygy zep+Zv1*N4it0#;4edg5tW(!K4R?rZHtghN9(CHW6k&vJVMtTk>lbll2OO1Q)Sj7I2 z{1PL)kt3O2-tgv!<+~<<8-X8E17jb&#D+&biMtapZ4VquLyaghNz3w5gk&=^Z=Pow zHfeQisz^aGv9^)zP_H5ZYe{aW$qw)|*Yw%9KRB*L+-AMljcYR9S?IW07)9R7h@0xz z&&W2GDycIu;=WWgesp&Bw#cCBDk&-H(@_ENw3B?Zt5I5)5W!lQKT5)LoFo8>_c`ij2J4lPq?vrKJUyf-DGza{1jQnLuOA z2jsC^ckV2JVtDkC0mvr;bef2Uqauq(VbHthJ1IXUPnt+%?;~@ zj*&43>V6klKbl#Xy867E<7Jm!y1}oZUA(_t{FVED`O8$Qm_SxySmO^|y^L?)D61T& zrMUlg8Gf@Ml)gBAZed|zdU}WwwWvlK|*T`|l(d`@&pGE%3eBdjIW7MtQv-Yhrp=y6W0HXTP z`qszDSX)^6Viy-5U;f_6&2Md$>ZWm>z{rVaK}&gR#v%<$rk+X69Oa%nvQYvdvXiGHM{G>%vQaSW|0 zen3vvR7fWg{_)rD8-mwGR(p(56iZmY60CR`N$B1k$fVF4sJA@Ji4_5nP1~r6&-=FPfTkY*( z*P>%$aKaS)3kvSm1HH@RgajoK_g2F7Uo+@;M61%s7icjljZm5RzUKq_l4V0&jkzE0 z75(Yf^8K!A;dXl^nZDF7^@5nz<`=h<8UU|LZn8K0T7ogYwe*?s50HMVh0%V3P zBh%nmY2J!te~x$1*RZ$0heyT~0bfYjWVh?SGNgMO3k!?=?%me#>zw<8q+Ep25CAdZ zJtX8Nq+U?dBp*&2HmxI+W+8V8(4LLQp;p)E}^1)({g>M8><~sC!6Ujv%T$gT;2GUYV$r5fe#96??0fAL0NIl4f_Y)4O9Dc`Snak;qIEpBJ`|* zbxA@M)%w~S{oOll=}O-Z=mMfUn_s8&oq5i^NpjfZMFbNGy{eYv@oB*{;Z4( zzjOBVvmg7J>3sNQf%nIL;AXHk^mJ;FnwXC)Xi~YsJ-NFBfvt!vFpMFS=}uuu4laWyO5t^=ZM5(0J66em`J);34{t zss1}`GPrnbQWE`0sX+)ERI3}KPO@@x*dQt;6cITMBBoP^q@@so`GnUlVJZV3Hc$Pw zBw|c5@LBHLy3Yzwm8H)A{TqCF+7yTK$Zm^uIHH7?>)VFXw`m=J-OxKUt^kyjP zj`)y%h^AC@N2X*Pw{c)yGur6|`!>1UPcQqkK*DOb9c*Ql61fb`__thbywxtJ)FmcO zkvqagn<@dsa2siA3MM~_o0L1=xm9t8h_f7~%NEGDEZ`^3TSyU3EJqNZL zS94pd8!;{H4T5*80fZD@_quMzAQ1>jsVT0KsJ-ib!-cwB+~64Uv%wC6h90j^YR5@l z;d>Sijz=p;nKw?=-kWJiWv3in>z!@?*c2q>UX5OO$D^sQ9~MMRGtppgt)i^_8trL( z>eC-vS*<$9=b~ve@9R8}a;Z7}=+8_Eo2!bb`7CPS_a?v7jAXL73(>`w;7+T2A&8_Hwn$8Z`+ua348MCh$?LEWl{>>~rP^1*B@CAmL(Xl!(67 zC8x6MrH?JIotmGH*9t zpzZ2`ZEnx9x4+*GJyHY$w3n^)PW3IZGL~IbFcBRbex3RbV(z=QjJ;1Rp|7Q^><>8( zWXLb)TX7{ZA{zYZiHT=L&nk#k`qDaKA7W_ifk8o7noTky4ikX^fD7d7U_^%?2ggU8 zp*Kn)PTVXgC?Kb$4b?UAy6$tam*z0Rqdjeqvkt4Um9wm_!t-X~Gv}X;R8iGL2I5*c4fN6%Vc!_-Kn?M`(f+T|%Dk>5t$@pnu z*aAySOLL&eZ-Z%gx!TX#lPX0I^H-T)0@)xlKcA4NVV@G-9eCrksT-NV<^w(HVFeBz ziR^<1L23v3-TDq3JUpGgSUC5(Vjv|uHJ;!>vlsZ4%;TtXtKL?iltrAM9$}INv)4XF z(jnLYr56+sC5brwsG9XIEO%7{TODJca~B5Dmxz;-6H%Xw`rgyw10U6-8Z;zlh_(U8 z$8K?G=GSP_F9ubP9Z61&gb1i|S|NvtWxK?I^UnQSl=FW0ObCQw?VDdYyMj)Cb5lKt zFodGt!m^AJ70h&Xt|)ATYLYN1nCb+>f`IbqcfKluoG9p@vx>?)^+eZ3*a)v@LNJo@ zFg9>zW)OSbzPu~;%+{6zI#|Gx$}aZ;8UFF%q!S0KIw#7zQ{LXxxZS z&&kI9OjmQh{#`)y&dF5gwv^Bk<~4?s3Hc=rvoh z_vjX7xx>Iv9Pk7kH)`cFIG3Ei13^SJMf}N@1#+RC@ZU@WJqHH|gwBpcAv;Wj=}8nK zCL|<$I=X^Fy@y9jDRzRhu^X_5#=k>#L=Yqga%$@0;^Ke5W(VM{z$;O@MG54{HG2^k z$L;-ni?oWZ2^p7lDk37Hmy1708}t)8%=uc|+DK!o+;+^*_R=ofON{DRqLnaQvM<@$ zWow7h)(M3?EG!5F6qlt(SVL5Cr;(jH0rs{&!pZq9eOHQQ(W=+%JHNkqk;0n8}^qdNxa?!U?}Uv6Qf#^+3bgJ_JKK@g09 zYz!g(`O5EavEF@hc5ssT<%n^J zLd*f~VBZLy8Hoc|@N@|4*0UifF-(VMuz!9j?N ziwiaJ2jy%qJ>&$_jjOWfsbgRoMMp>14|qkfLDd4Z9V_#t?ZgVXU`ct*T0c|aj%$Ml zcwNI_;&t#@{Tbjt(kDyTAXh+UOPQYpA)1`KyBHM_?lS{}`T2RXxI^0KC5;eSWx3-p z6W~htlMWhh$8ZEK{=K!YR1hhM#@%M!wV+Ok)Z%-qE z9~V3#9>NieHu%1l76qUi0}~VB;CF$87#tiNix$ZFlA9~fLT-ArIgMHC6jW4!5fLPa zueGZ0p#Yfw8GRF@1^<0?&8g{Jcz17)&kOyg@;nhu8{7ib#&)mBEDKO=eNHE5MNxG% zZ-e8zt&37hR$*)%pu2Bg-1(4_(#sK*L1qIb4J4^f^ufkX7iX#LofxyRuV%o`6-FH3 ze@;xK!{lgR^h|p>Pb{oAsLPAN~D9$KE%fU zhsDwhdo`B{pDKgmZ-)`fZb16vaC4d-G5|XdPZfKUkZpjMLJ8#TczMkXLOSnKV2s?%sOyM*6ooMRZB+a`;1MY;F$RDdZXgfy;yW837zE z;7;cc`?GXfixkcr68#sNCf>y)!y*N|u5XEgNf?9KD6j22JRluHsxMlSO-~F{)6s=L zct>3(kn>bWheb^6KVxHKS^=ww-w_oPMmk1yg{s*V-@lsz-wtC617)4olPB4K@R*`P z01&$Yt5{lE`X9|dNhUI2&B|$Nl7q#|HtaWKH{WV4*^iP5%woyV3}s7o!}dAbd015m zhJX=-QK8Lwe9v2ui}LxJvduK6Kfju}vD_V8Z@FURvN7imRRAjw51D*0308Wl^5P#2 znU14bpC~Y@qXG|=7VrkbnnL+6?6~2rJQRo(1{<2dz`*p346H)kQboWzFV44oHtPR^ zF$3m6aCUZvv8E|Qe$ds?!PF+RZ}&+5{!S?r=!`By7iBk)1+!BTL0AEDKLPkuv;eM& zdd$Nb7+=27W_h(Z>Q4{uCR1uM(cZzquvi%yjmDtTcB3T^E-%hqj3;Miu0|_e$=4~E zWVy!XDQ^p*NEEClfWzKDH5CCdzO0q*u1mpsxw}NT)D+VbySSe~9Fg*dn3x!YEJLb!XXPfGT~cxt%uh^d@xW_w?)rn# z^sI~o{;9UMHd9XqF>;n$x32hlJbl644O=KwN^UQ==xjE+gdAYy&&&*6D zu+)EA@WXjxXwFXIM)bgKf6{EVWKjw+F)>IYc?AXEHVoB9uFgh=g|z^_X|I(E=qFt9 zIRFOTa;xnJ5~V#@VY&rLC)$=~GX zADpxMR$h*wbqBC{$=lY{)Z`Tw%DcIVg3*kTd2bphdZF}q#gvds0pRz-f_X|%2lP*( z(H(~mbyP{br5{H)H>Lb2Wz)!Xy1WRDh%7UR`Z$eG1NiML1_OMWB7-_Q=am&%SR%TI zPx7I<(0uA~U6gWZ;Pi|m<5x42+CcJfm>_G7sE{M5B$8>Y?Du7K`>4@@hqDXuhkfq*& zy3!=3)rD%#VqeyKnzwq27~gzS+@*xk`q*;oENS91qZ~yl>w5LJ`wda-W}>S$*pv{V zGBd*dOAPs2@bH?34x);aN&bE=jv!SMEJSX#seZ|#+J%9u;uEtc)qej2QH&BP>=X4e z&g}=TNBy;yeiIPsVuuHBxklG^A;=Xm=q>Et(I$(W5+XyE`hExDkz6R=pXCgHZ%IDz mZemD-M8fuF&Gc=SMBp+wHq|Nj7i*!GD4 diff --git a/.emacs.d/auto-complete/doc/ac.png b/.emacs.d/auto-complete/doc/ac.png deleted file mode 100644 index f304e093495abccf9e6eb189459733e2188ccdec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22768 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 DX+-Wv diff --git a/.emacs.d/auto-complete/doc/changes.ja.txt b/.emacs.d/auto-complete/doc/changes.ja.txt deleted file mode 100644 index 47ccb4f..0000000 --- a/.emacs.d/auto-complete/doc/changes.ja.txt +++ /dev/null @@ -1,96 +0,0 @@ -Title: Auto Complete Mode - 変更点 -CSS: style.css - -Auto Complete Mode 変更点 -========================= - -[Index](index.ja.txt) - -\[[English](changes.txt)] - -[ユーザーマニュアル](manual.ja.txt)ã‚‚å‚ç…§ã—ã¦ãã ã•ã„。 - -v1.3ã®å¤‰æ›´ç‚¹ {#Changes_v1.3} ------------- - -v1.3ã®ä¸»ãªå¤‰æ›´ç‚¹ã¯æ¬¡ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ - -### æ–°ã—ã„オプション ### {#New_Options_v1.3} - -* [`ac-disable-faces`](manual.ja.txt#ac-disable-faces) -* [`ac-show-menu-immediately-on-auto-complete`](manual.ja.txt#ac-show-menu-immediately-on-auto-complete) -* [`ac-expand-on-auto-complete`](manual.ja.txt#ac-expand-on-auto-complete) -* [`ac-use-menu-map`](manual.ja.txt#ac-use-menu-map) - -### æ–°ã—ã„æƒ…å ±æº ### {#New_Sources_v1.3} - -* [`ac-source-semantic-raw`](manual.ja.txt#ac-source-semantic-raw) -* [`ac-source-css-property`](manual.ja.txt#ac-source-css-property) - -### æ–°ã—ã„æƒ…å ±æºã®ãƒ—ロパティ ### {#New_Source_Properties_v1.3} - -* [`summary`](manual.ja.txt#summary) -* [`available`](manual.ja.txt#available) - -### æ–°ã—ã„辞書 ### {#New_Dictionaries_v1.3} - -* tcl-mode -* scheme-mode - -### 変更ã•ã‚ŒãŸæŒ™å‹• ### {#Changed_Behaviors_v1.3} - -* 補完候補ã®é•·ã•を考慮ã—ãŸã‚¹ã‚³ã‚¢ãƒªãƒ³ã‚°ï¼ˆæ–‡å­—列長ã§ã‚½ãƒ¼ãƒˆï¼‰ - -### 修正ã•れãŸãƒã‚° ### {#Fixed_Bugs_v1.3} - -* Emacs 22.1ã§ã®ã‚¨ãƒ©ãƒ¼ -* `flyspell-mode`ã¨ã®è¡çªï¼ˆ`M-x flyspell-workaround`ã§è§£æ±ºï¼‰ - -### ãã®ä»– ### {#Others_v1.3} - -* å˜èªžåŽé›†ã®é€Ÿåº¦ã‚’改善 (#18) -* [pos-tip.el](manual.ja.txt#.E3.83.98.E3.83.AB.E3.83.97.E3.82.92.E7.B6.BA.E9.BA.97.E3.81.AB.E8.A1.A8.E7.A4.BA.E3.81.99.E3.82.8B)ã¨ã®å”調 -* Yasnippet 0.61ã®ã‚µãƒãƒ¼ãƒˆ -* 多ãã®ãƒã‚°ä¿®æ­£ - -v1.2ã®å¤‰æ›´ç‚¹ {#Changes_v1.2} ------------- - -v1.0ã‹ã‚‰v1.2ã®ä¸»ãªå¤‰æ›´ç‚¹ã¯æ¬¡ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ - -### 新機能 ### {#New_Features_v1.2} - -* [曖昧マッãƒã«ã‚ˆã‚‹è£œå®Œ](manual.ja.txt#.E6.9B.96.E6.98.A7.E3.83.9E.E3.83.83.E3.83.81.E3.81.AB.E3.82.88.E3.82.8B.E8.A3.9C.E5.AE.8C) -* [辞書ã«ã‚ˆã‚‹è£œå®Œ](manual.ja.txt#.E8.BE.9E.E6.9B.B8.E3.81.AB.E3.82.88.E3.82.8B.E8.A3.9C.E5.AE.8C) -* [補完候補ã®çµžã‚Šè¾¼ã¿](manual.ja.txt#.E8.A3.9C.E5.AE.8C.E5.80.99.E8.A3.9C.E3.81.AE.E7.B5.9E.E3.82.8A.E8.BE.BC.E3.81.BF) -* [補完推測機能](manual.ja.txt#.E8.A3.9C.E5.AE.8C.E6.8E.A8.E6.B8.AC.E6.A9.9F.E8.83.BD) -* [トリガーキー](manual.ja.txt#.E3.83.88.E3.83.AA.E3.82.AC.E3.83.BC.E3.82.AD.E3.83.BC) -* [ヘルプ](manual.ja.txt#.E3.83.98.E3.83.AB.E3.83.97) - -### æ–°ã—ã„コマンド ### {#New_Commands_v1.2} - -* [`auto-complete`](manual.ja.txt#auto-complete.E3.82.B3.E3.83.9E.E3.83.B3.E3.83.89) - -### æ–°ã—ã„オプション ### {#New_Options_v1.2} - -* [`ac-delay`](manual.ja.txt#ac-delay) -* [`ac-auto-show-menu`](manual.ja.txt#ac-auto-show-menu) -* [`ac-use-fuzzy`](manual.ja.txt#ac-use-fuzzy) -* [`ac-use-comphist`](manual.ja.txt#ac-use-comphist) -* [`ac-ignores`](manual.ja.txt#ac-ignores) -* [`ac-ignore-case`](manual.ja.txt#ac-ignore-case) -* [`ac-mode-map`](manual.ja.txt#ac-mode-map) - -### æ–°ã—ã„æƒ…å ±æº ### {#New_Sources_v1.2} - -* [`ac-source-dictionary`](manual.ja.txt#ac-source-dictionary) - -### 変更ã•ã‚ŒãŸæŒ™å‹• ### {#Changed_Behaviors_v1.2} - -* 補完ã®é–‹å§‹ãŒé…å»¶ã•れるよã†ã«ãªã‚Šã¾ã—㟠([`ac-delay`](manual.ja.txt#ac-delay)) -* 補完メニューã®è¡¨ç¤ºãŒé…å»¶ã•れるよã†ã«ãªã‚Šã¾ã—㟠([`ac-auto-show-menu`](manual.ja.txt#ac-auto-show-menu)) - -### ãã®ä»– ### {#Others_v1.2} - -* 多ãã®ãƒã‚°ä¿®æ­£ -* ãƒ‘ãƒ•ã‚©ãƒ¼ãƒžãƒ³ã‚¹ã®æ”¹å–„ diff --git a/.emacs.d/auto-complete/doc/changes.txt b/.emacs.d/auto-complete/doc/changes.txt deleted file mode 100644 index 86b5a9c..0000000 --- a/.emacs.d/auto-complete/doc/changes.txt +++ /dev/null @@ -1,96 +0,0 @@ -Title: Auto Complete Mode - Changes -CSS: style.css - -Auto Complete Mode Changes -========================== - -[Index](index.txt) - -\[[Japanese](changes.ja.txt)] - -See also [documentation](manual.txt). - -v1.3 Changes {#Changes_v1.3} ------------- - -Major changes in v1.3. - -### New Options ### {#New_Options_v1.3} - -* [`ac-disable-faces`](manual.txt#ac-disable-faces) -* [`ac-show-menu-immediately-on-auto-complete`](manual.txt#ac-show-menu-immediately-on-auto-complete) -* [`ac-expand-on-auto-complete`](manual.txt#ac-expand-on-auto-complete) -* [`ac-use-menu-map`](manual.txt#ac-use-menu-map) - -### New Sources ### {#New_Sources_v1.3} - -* [`ac-source-semantic-raw`](manual.txt#ac-source-semantic-raw) -* [`ac-source-css-property`](manual.txt#ac-source-css-property) - -### New Source Properties ### {#New_Source_Properties_v1.3} - -* [`summary`](manual.txt#summary) -* [`available`](manual.txt#available) - -### New Dictionaries ### {#New_Dictionaries_v1.3} - -* tcl-mode -* scheme-mode - -### Changed Behaviors ### {#Changed_Behaviors_v1.3} - -* Scoring regarding to candidate length (sort by length) - -### Fixed Bugs ### {#Fixed_Bugs_v1.3} - -* Error on Emacs 22.1 -* `flyspell-mode` confliction (`M-x flyspell-workaround`) - -### Others ### {#Others_v1.3} - -* Improved word completion performance (#18) -* Cooperate with [pos-tip.el](manual.txt#Show_help_beautifully) -* Yasnippet 0.61 support -* Fix many bugs - -v1.2 Changes {#Changes_v1.2} ------------- - -Major changes in v1.2 since v1.0. - -### New Features ### {#New_Features_v1.2} - -* [Completion by Fuzzy Matching](manual.txt#Completion_by_Fuzzy_Matching) -* [Completion by Dictionary](manual.txt#Completion_by_Dictionary) -* [Incremental Filtering](manual.txt#Filtering_Completion_Candidates) -* [Intelligent Candidate Suggestion](manual.txt#Candidate_Suggestion) -* [Trigger Key](manual.txt#Trigger_Key) -* [Help](manual.txt#Help) - -### New Commands ### {#New_Commands_v1.2} - -* [`auto-complete`](manual.txt#auto-complete_command) - -### New Options ### {#New_Options_v1.2} - -* [`ac-delay`](manual.txt#ac-delay) -* [`ac-auto-show-menu`](manual.txt#ac-auto-show-menu) -* [`ac-use-fuzzy`](manual.txt#ac-use-fuzzy) -* [`ac-use-comphist`](manual.txt#ac-use-comphist) -* [`ac-ignores`](manual.txt#ac-ignores) -* [`ac-ignore-case`](manual.txt#ac-ignore-case) -* [`ac-mode-map`](manual.txt#ac-mode-map) - -### New Sources ### {#New_Sources_v1.2} - -* [`ac-source-dictionary`](manual.txt#ac-source-dictionary) - -### Changed Behaviors ### {#Changed_Behaviors_v1.2} - -* Completion is now delayed to start ([`ac-delay`](manual.txt#ac-delay)) -* Completion menu is now delayed to show ([`ac-auto-show-menu`](manual.txt#ac-auto-show-menu)) - -### Others ### {#Others_v1.2} - -* Fix many bugs -* Improve performance diff --git a/.emacs.d/auto-complete/doc/demo.txt b/.emacs.d/auto-complete/doc/demo.txt deleted file mode 100644 index aa04d7d..0000000 --- a/.emacs.d/auto-complete/doc/demo.txt +++ /dev/null @@ -1,11 +0,0 @@ -Title: Auto Complete Mode - Demo -CSS: style.css - -Auto Complete Mode Demo -======================= - -[Index](index.txt) - -[YouTube mirror](http://www.youtube.com/watch?v=rGVVnDxwJYE) - -