| @ -1,164 +0,0 @@ | |||
| ;;; editorconfig.el --- EditorConfig Emacs extension | |||
| ;; Copyright (C) 2011-2013 EditorConfig Team | |||
| ;; Author: EditorConfig Team <editorconfig@googlegroups.com> | |||
| ;; Version: 0.3 | |||
| ;; URL: http://github.com/editorconfig/editorconfig-emacs#readme | |||
| ;; See | |||
| ;; http://github.com/editorconfig/editorconfig-emacs/graphs/contributors | |||
| ;; or the CONTRIBUTORS file for the list of contributors. | |||
| ;; Redistribution and use in source and binary forms, with or without | |||
| ;; modification, are permitted provided that the following conditions are met: | |||
| ;; | |||
| ;; 1. Redistributions of source code must retain the above copyright notice, | |||
| ;; this list of conditions and the following disclaimer. | |||
| ;; 2. Redistributions in binary form must reproduce the above copyright notice, | |||
| ;; this list of conditions and the following disclaimer in the documentation | |||
| ;; and/or other materials provided with the distribution. | |||
| ;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | |||
| ;; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |||
| ;; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||
| ;; ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE | |||
| ;; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||
| ;; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||
| ;; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | |||
| ;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | |||
| ;; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | |||
| ;; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | |||
| ;; POSSIBILITY OF SUCH DAMAGE. | |||
| ;;; Commentary: | |||
| ;; EditorConfig helps developers define and maintain consistent | |||
| ;; coding styles between different editors and IDEs. | |||
| ;; The EditorConfig project consists of a file format for defining | |||
| ;; coding styles and a collection of text editor plugins that enable | |||
| ;; editors to read the file format and adhere to defined styles. | |||
| ;; EditorConfig files are easily readable and they work nicely with | |||
| ;; version control systems. | |||
| ;;; Code: | |||
| (defvar edconf-exec-path "editorconfig") | |||
| (defun edconf-set-indentation (style &optional size tab_width) | |||
| (setq web-mode-indent-style 2) | |||
| "Set indentation type from given style and size" | |||
| (when (equal style "space") | |||
| (setq indent-tabs-mode nil | |||
| size (string-to-number size) | |||
| LaTeX-indent-level size | |||
| LaTeX-item-indent size | |||
| TeX-brace-indent-level size | |||
| c-basic-offset size | |||
| cperl-indent-level size | |||
| haskell-indent-offset size | |||
| shm-indent-spaces size | |||
| js-indent-level size | |||
| js2-basic-offset size | |||
| lisp-indent-offset size | |||
| perl-indent-level size | |||
| py-indent-offset size | |||
| python-indent size | |||
| ruby-indent-level size | |||
| sh-basic-offset size | |||
| web-mode-markup-indent-offset size | |||
| web-mode-css-indent-offset size | |||
| web-mode-code-indent-offset size | |||
| ;(make-local-variable 'sgml-basic-offset) size | |||
| tab-stop-list (let ((stops (cons size ()))) | |||
| (while (< (car stops) 120) | |||
| (setq stops (cons | |||
| (+ size (car stops)) | |||
| stops))) | |||
| (nreverse stops)))) | |||
| (when (equal style "tab") | |||
| (setq indent-tabs-mode t)) | |||
| (if tab_width | |||
| (setq tab-width (string-to-number tab_width)))) | |||
| (defun edconf-set-line-ending (end-of-line) | |||
| "Set line ending style to CR, LF, or CRLF" | |||
| (set-buffer-file-coding-system | |||
| (cond | |||
| ((equal end-of-line "lf") 'undecided-unix) | |||
| ((equal end-of-line "cr") 'undecided-mac) | |||
| ((equal end-of-line "crlf") 'undecided-dos) | |||
| (t 'undecided)) | |||
| nil t)) | |||
| (defun edconf-set-trailing-nl (final-newline) | |||
| (cond | |||
| ((equal final-newline "true") | |||
| ;; keep prefs around how/when the nl is added, if set - otherwise add on save | |||
| (setq require-final-newline (or require-final-newline t) | |||
| mode-require-final-newline (or mode-require-final-newline t))) | |||
| ((equal final-newline "false") | |||
| ;; FIXME: Add functionality for actually REMOVING any trailing newlines here! | |||
| ;; (rather than just making sure we don't automagically ADD a new one) | |||
| (setq require-final-newline nil | |||
| mode-require-final-newline nil)))) | |||
| (defun edconf-set-trailing-ws (trim-trailing-ws) | |||
| "set up trimming of trailing whitespace at end of lines" | |||
| (make-local-variable 'write-file-functions) ;; just current buffer | |||
| (when (equal trim-trailing-ws "true") | |||
| ;; when true we push delete-trailing-whitespace (emacs > 21) | |||
| ;; to write-file-functions | |||
| (add-to-list | |||
| 'write-file-functions | |||
| 'delete-trailing-whitespace)) | |||
| (when (equal trim-trailing-ws "false") | |||
| ;; when false we remove every delete-trailing-whitespace | |||
| ;; from write-file-functions | |||
| (setq | |||
| write-file-functions | |||
| (delete | |||
| 'delete-trailing-whitespace | |||
| write-file-functions)))) | |||
| (defun edconf-get-properties () | |||
| "Call EditorConfig core and return output" | |||
| (let ((oldbuf (current-buffer))) | |||
| (call-process edconf-exec-path nil "ecbuffer" nil (buffer-file-name oldbuf)) | |||
| (set-buffer (get-buffer "ecbuffer")) | |||
| (let (props-string) | |||
| (setq props-string (buffer-string)) | |||
| (set-buffer oldbuf) | |||
| (kill-buffer (get-buffer "ecbuffer")) | |||
| props-string))) | |||
| (defun edconf-parse-properties (props-string) | |||
| "Create properties hash table from string of properties" | |||
| (let (props-list properties) | |||
| (setq props-list (split-string props-string "\n") | |||
| properties (make-hash-table :test 'equal)) | |||
| (dolist (prop props-list properties) | |||
| (let ((key-val (split-string prop " *= *"))) | |||
| (when (> (length key-val) 1) | |||
| (let ((key (intern (car key-val))) | |||
| (val (mapconcat 'identity (cdr key-val) ""))) | |||
| (puthash key val properties))))))) | |||
| ;;;###autoload | |||
| (defun edconf-find-file-hook () | |||
| (when (executable-find edconf-exec-path) | |||
| (let ((props (edconf-parse-properties (edconf-get-properties)))) | |||
| (edconf-set-indentation (gethash 'indent_style props) | |||
| (gethash 'indent_size props) | |||
| (gethash 'tab_width props)) | |||
| (edconf-set-line-ending (gethash 'end_of_line props)) | |||
| (edconf-set-trailing-nl (gethash 'insert_final_newline props)) | |||
| (edconf-set-trailing-ws (gethash 'trim_trailing_whitespace props))))) | |||
| ;;;###autoload | |||
| (add-hook 'find-file-hook 'edconf-find-file-hook) | |||
| (provide 'editorconfig) | |||
| ;;; editorconfig.el ends here | |||
| @ -1,81 +0,0 @@ | |||
| 2013-08-21 Stefan Monnier <monnier@iro.umontreal.ca> | |||
| Sync from ack/master | |||
| 2013-08-14 Stefan Monnier <monnier@iro.umontreal.ca> | |||
| Mark merge point of ack-el. | |||
| 2013-05-04 Leo Liu <sdl.web@gmail.com> | |||
| * ack: bump to version 1.2 to make the archiver happy | |||
| Fix http://debbugs.gnu.org/14338 | |||
| 2013-04-21 Leo Liu <sdl.web@gmail.com> | |||
| * ack: doc fix and release 1.01 | |||
| Support the silver search (ag) | |||
| https://github.com/ggreer/the_silver_searcher which is an order of | |||
| magnitude faster than ack. | |||
| 2013-04-20 Leo Liu <sdl.web@gmail.com> | |||
| * ack: Release v1.0 | |||
| 2013-02-26 Leo Liu <sdl.web@gmail.com> | |||
| * ack.el: work around bug http://debbugs.gnu.org/13811 | |||
| Use setq-local and enhance minibuffer prompt update feature. | |||
| 2013-02-07 Leo Liu <sdl.web@gmail.com> | |||
| * ack: release v0.9 | |||
| - remove emacs 23 support | |||
| - add a new command ack-mode-display-match | |||
| 2013-01-13 Leo Liu <sdl.web@gmail.com> | |||
| New command ack-yank-symbol-at-point and bind it to M-Y | |||
| Thanks to scottj@irc.freenode.net for request and testing. Also update | |||
| copyright years. | |||
| 2012-11-19 Leo Liu <sdl.web@gmail.com> | |||
| * ack.el (ack-buffer-name-function): New user variable | |||
| Thanks to scottj@irc.freenode.net for request and testing. | |||
| 2012-10-21 Leo Liu <sdl.web@gmail.com> | |||
| * ack.el: Make minibuffer prompt more informative | |||
| 2012-10-08 Leo Liu <sdl.web@gmail.com> | |||
| * README (Usage): Doc fix | |||
| 2012-10-08 Chong Yidong <cyd@gnu.org> | |||
| Fix copyright headers for ack package | |||
| 2012-10-08 Chong Yidong <cyd@gnu.org> | |||
| Convert packages/ack/README.rst to a package.el compatible README. | |||
| Tweak the description of the ack package in packages/ack/ack-pkg.el. | |||
| 2012-10-04 Leo Liu <sdl.web@gmail.com> | |||
| Add file ack-pkg.el | |||
| 2012-10-04 Leo Liu <sdl.web@gmail.com> | |||
| Sync ack.el and pcmpl-ack.el to version 0.8 | |||
| 2012-10-01 Leo Liu <sdl.web@gmail.com> | |||
| Add ack | |||
| @ -1,74 +0,0 @@ | |||
| ============================================================== | |||
| Emacs Interface to `Ack <http://beyondgrep.com>`_-like Tools | |||
| ============================================================== | |||
| This package brings the full power of `ack <http://beyondgrep.com>`_ | |||
| to `emacs <http://www.gnu.org/software/emacs>`_ by allowing you to run | |||
| it seamlessly with its large set of options. Ack-like tools such as | |||
| `the silver searcher <https://github.com/ggreer/the_silver_searcher>`_ | |||
| and ``git/hg/bzr grep`` are well supported too. | |||
| It is part of `GNU ELPA <http://elpa.gnu.org>`_ - the official package | |||
| archive for `emacs <http://www.gnu.org/software/emacs>`_. Patches, | |||
| feature requests and bug reports are welcome. | |||
| Features | |||
| -------- | |||
| - Keep all features of `ack <http://beyondgrep.com>`_ and more | |||
| - Handle colors using the standard library ``ansi-color.el`` | |||
| - Completion for ack options while reading from the minibuffer | |||
| - Support `the silver search (ag) | |||
| <https://github.com/ggreer/the_silver_searcher>`_ | |||
| - Support ``git grep``, ``hg grep`` and ``bzr grep`` | |||
| Install | |||
| ------- | |||
| ``M-x package-install RET ack RET`` | |||
| Screenshots | |||
| ----------- | |||
| * ack | |||
| .. figure:: http://i.imgur.com/VwWyzAe.png | |||
| :target: http://i.imgur.com/VwWyzAe.png | |||
| :alt: ack.png | |||
| * git grep | |||
| .. figure:: http://i.imgur.com/rwjC4pa.png | |||
| :target: http://i.imgur.com/rwjC4pa.png | |||
| :alt: ack-git-grep.png | |||
| Usage | |||
| ----- | |||
| - Type ``M-x ack`` and provide a pattern to search. | |||
| - Type ``C-u M-x ack`` to search from current project root. | |||
| - Type ``C-u C-u M-x ack`` to interactively choose a directory to search. | |||
| While reading ack command and args from the minibuffer, the following | |||
| key bindings may be useful: | |||
| - ``M-I`` => insert a template for case-insensitive file name search | |||
| - ``M-G`` => insert a template for ``git grep``, ``hg grep`` or ``bzr grep`` | |||
| - ``M-Y`` => grab the symbol at point from the window before entering | |||
| the minibuffer | |||
| - ``TAB`` => completion for ack options | |||
| Emacs23 | |||
| ------- | |||
| Check out the `emacs23 | |||
| <https://github.com/leoliu/ack-el/tree/emacs23>`_ branch. | |||
| Bugs | |||
| ---- | |||
| https://github.com/leoliu/ack-el/issues | |||
| Contributors | |||
| ------------ | |||
| Phillip Lord | |||
| @ -1,49 +0,0 @@ | |||
| ;;; ack-autoloads.el --- automatically extracted autoloads | |||
| ;; | |||
| ;;; Code: | |||
| ;;;### (autoloads (ack) "ack" "ack.el" (21404 17284 0 0)) | |||
| ;;; Generated autoloads from ack.el | |||
| (autoload 'ack "ack" "\ | |||
| Run ack using COMMAND-ARGS and collect output in a buffer. | |||
| When called interactively, the value of DIRECTORY is provided by | |||
| `ack-default-directory-function'. | |||
| The following keys are available while reading from the | |||
| minibuffer: | |||
| \\{ack-minibuffer-local-map} | |||
| \(fn COMMAND-ARGS &optional DIRECTORY)" t nil) | |||
| ;;;*** | |||
| ;;;### (autoloads (pcomplete/ack) "pcmpl-ack" "pcmpl-ack.el" (21404 | |||
| ;;;;;; 17284 0 0)) | |||
| ;;; Generated autoloads from pcmpl-ack.el | |||
| (autoload 'pcomplete/ack "pcmpl-ack" "\ | |||
| Completion for the `ack' command. | |||
| Start an argument with '-' to complete short options and '--' for | |||
| long options. | |||
| \(fn)" nil nil) | |||
| (defalias 'pcomplete/ack-grep 'pcomplete/ack) | |||
| ;;;*** | |||
| ;;;### (autoloads nil nil ("ack-pkg.el") (21404 17284 929551 0)) | |||
| ;;;*** | |||
| (provide 'ack-autoloads) | |||
| ;; Local Variables: | |||
| ;; version-control: never | |||
| ;; no-byte-compile: t | |||
| ;; no-update-autoloads: t | |||
| ;; coding: utf-8 | |||
| ;; End: | |||
| ;;; ack-autoloads.el ends here | |||
| @ -1,2 +0,0 @@ | |||
| ;; Generated package description from ack.el | |||
| (define-package "ack" "1.3" "Interface to ack-like source code search tools" 'nil) | |||
| @ -1,384 +0,0 @@ | |||
| ;;; ack.el --- Interface to ack-like source code search tools -*- lexical-binding: t; -*- | |||
| ;; Copyright (C) 2012-2013 Free Software Foundation, Inc. | |||
| ;; Author: Leo Liu <sdl.web@gmail.com> | |||
| ;; Version: 1.3 | |||
| ;; Keywords: tools, processes, convenience | |||
| ;; Created: 2012-03-24 | |||
| ;; URL: https://github.com/leoliu/ack-el | |||
| ;; 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 <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;; This package provides an interface to ack http://beyondgrep.com -- | |||
| ;; a tool like grep, designed for programmers with large trees of | |||
| ;; heterogeneous source code. It builds on standard packages | |||
| ;; `compile.el' and `ansi-color.el' and lets you seamlessly run `ack' | |||
| ;; with its large set of options. | |||
| ;; | |||
| ;; Ack-like tools such as the silver search (ag) and git/hg/bzr grep | |||
| ;; are well supported too. | |||
| ;;; Usage: | |||
| ;; + Type `M-x ack' and provide a pattern to search. | |||
| ;; + Type `C-u M-x ack' to search from current project root. | |||
| ;; + Type `C-u C-u M-x ack' to interactively choose a directory to | |||
| ;; search. | |||
| ;; | |||
| ;; Note: use `ack-default-directory-function' for customised | |||
| ;; behaviour. | |||
| ;; | |||
| ;; When in the minibuffer the following key bindings may be useful: | |||
| ;; | |||
| ;; + `M-I' inserts a template for case-insensitive file name search | |||
| ;; + `M-G' inserts a template for `git grep', `hg grep' or `bzr grep' | |||
| ;; + `M-Y' inserts the symbol at point from the window before entering | |||
| ;; the minibuffer | |||
| ;; + `TAB' completes ack options | |||
| ;;; Bugs: https://github.com/leoliu/ack-el/issues | |||
| ;;; Code: | |||
| (require 'compile) | |||
| (require 'ansi-color) | |||
| (autoload 'shell-completion-vars "shell") | |||
| (eval-when-compile | |||
| (unless (fboundp 'setq-local) | |||
| (defmacro setq-local (var val) | |||
| (list 'set (list 'make-local-variable (list 'quote var)) val)))) | |||
| (defgroup ack nil | |||
| "Run `ack' and display the results." | |||
| :group 'tools | |||
| :group 'processes) | |||
| ;; Used implicitly by `define-compilation-mode' | |||
| (defcustom ack-scroll-output nil | |||
| "Similar to `compilation-scroll-output' but for the *Ack* buffer." | |||
| :type 'boolean | |||
| :group 'ack) | |||
| (defcustom ack-command | |||
| ;; Note: on GNU/Linux ack may be renamed to ack-grep | |||
| (concat (file-name-nondirectory (or (executable-find "ack-grep") | |||
| (executable-find "ack") | |||
| (executable-find "ag") | |||
| "ack")) " ") | |||
| "The default command for \\[ack]. | |||
| Note also options to ack can be specified in ACK_OPTIONS | |||
| environment variable and .ackrc, which you can disable by the | |||
| --noenv switch." | |||
| :type 'string | |||
| :safe 'stringp | |||
| :group 'ack) | |||
| (defcustom ack-buffer-name-function nil | |||
| "If non-nil, a function to compute the name of an ack buffer. | |||
| See `compilation-buffer-name-function' for details." | |||
| :type '(choice function (const nil)) | |||
| :group 'ack) | |||
| (defcustom ack-vc-grep-commands | |||
| '((".git" . "git --no-pager grep --color -n -i") | |||
| (".hg" . "hg grep -n -i") | |||
| ;; Plugin bzr-grep required for bzr < 2.6 | |||
| (".bzr" . "bzr grep --color=always -n -i")) | |||
| "An alist of vc grep commands for `ack-skel-vc-grep'. | |||
| Each element is of the form (VC_DIR . CMD)." | |||
| :type '(repeat (cons string string)) | |||
| :group 'ack) | |||
| (defcustom ack-default-directory-function 'ack-default-directory | |||
| "A function to return the default directory for `ack'. | |||
| It is called with one arg, the prefix arg to `ack'." | |||
| :type 'function | |||
| :group 'ack) | |||
| (defcustom ack-project-root-patterns | |||
| (list (concat "\\`" (regexp-quote dir-locals-file) "\\'") | |||
| "\\`Project\\.ede\\'" | |||
| "\\.xcodeproj\\'" ; xcode | |||
| "\\`\\.ropeproject\\'" ; python rope | |||
| "\\`\\.\\(?:CVS\\|bzr\\|git\\|hg\\|svn\\)\\'") | |||
| "A list of regexps to match files in a project root. | |||
| Used by `ack-guess-project-root'." | |||
| :type '(repeat string) | |||
| :group 'ack) | |||
| (defcustom ack-minibuffer-setup-hook nil | |||
| "Ack-specific hook for `minibuffer-setup-hook'." | |||
| :type 'hook | |||
| :group 'ack) | |||
| ;;; ======== END of USER OPTIONS ======== | |||
| (defvar ack-history nil "History list for ack.") | |||
| (defvar ack-first-column 0 | |||
| "Value to use for `compilation-first-column' in ack buffers.") | |||
| (defvar ack-error-screen-columns nil | |||
| "Value to use for `compilation-error-screen-columns' in ack buffers.") | |||
| (defvar ack-error "ack match" | |||
| "Stem of message to print when no matches are found.") | |||
| (defun ack-filter () | |||
| "Handle match highlighting escape sequences inserted by the ack process. | |||
| This function is called from `compilation-filter-hook'." | |||
| (save-excursion | |||
| (let ((ansi-color-apply-face-function | |||
| (lambda (beg end face) | |||
| (when face | |||
| (ansi-color-apply-overlay-face beg end face) | |||
| (put-text-property beg end 'ack-color t))))) | |||
| (ansi-color-apply-on-region compilation-filter-start (point))))) | |||
| (defvar ack-mode-font-lock-keywords | |||
| '(("^--$" 0 'shadow) | |||
| ;; Command output lines. | |||
| (": \\(.+\\): \\(?:Permission denied\\|No such \\(?:file or directory\\|device or address\\)\\)$" | |||
| 1 'compilation-error) | |||
| ("^Ack \\(exited abnormally\\|interrupt\\|killed\\|terminated\\)\\(?:.*with code \\([0-9]+\\)\\)?.*" | |||
| (1 'compilation-error) | |||
| (2 'compilation-error nil t))) | |||
| "Additional things to highlight in ack output. | |||
| This gets tacked on the end of the generated expressions.") | |||
| (defun ack--column-start () | |||
| (or (let* ((beg (match-end 0)) | |||
| (end (save-excursion | |||
| (goto-char beg) | |||
| (line-end-position))) | |||
| (mbeg (text-property-any beg end 'ack-color t))) | |||
| (when mbeg (- mbeg beg))) | |||
| ;; Use column number from `ack' itself if available | |||
| (when (match-string 4) | |||
| (1- (string-to-number (match-string 4)))))) | |||
| (defun ack--column-end () | |||
| (let* ((beg (match-end 0)) | |||
| (end (save-excursion | |||
| (goto-char beg) | |||
| (line-end-position))) | |||
| (mbeg (text-property-any beg end 'ack-color t)) | |||
| (mend (and mbeg (next-single-property-change | |||
| mbeg 'ack-color nil end)))) | |||
| (when mend (- mend beg)))) | |||
| (defun ack--file () | |||
| (let (file) | |||
| (save-excursion | |||
| (while (progn | |||
| (forward-line -1) | |||
| (looking-at-p "^--$"))) | |||
| (setq file (or (get-text-property (line-beginning-position) 'ack-file) | |||
| (progn | |||
| (put-text-property (line-beginning-position) | |||
| (line-end-position) | |||
| 'font-lock-face compilation-info-face) | |||
| (buffer-substring-no-properties | |||
| (line-beginning-position) (line-end-position)))))) | |||
| (put-text-property (line-beginning-position) | |||
| (min (1+ (line-end-position)) (point-max)) 'ack-file file) | |||
| (list file))) | |||
| ;;; `compilation-mode-font-lock-keywords' -> | |||
| ;;; `compilation--ensure-parse' -> `compilation--parse-region' -> | |||
| ;;; `compilation-parse-errors' -> `compilation-error-properties'. | |||
| ;;; `compilation-error-properties' returns nil if a previous pattern | |||
| ;;; in the regexp alist has already been applied in a region. | |||
| (defconst ack-error-regexp-alist | |||
| `(;; Grouping line (--group or --heading). | |||
| ("^\\([1-9][0-9]*\\)\\(:\\|-\\)\\(?:\\(?4:[1-9][0-9]*\\)\\2\\)?" | |||
| ack--file 1 (ack--column-start . ack--column-end) | |||
| nil nil (4 compilation-column-face nil t)) | |||
| ;; None grouping line (--nogroup or --noheading). Avoid matching | |||
| ;; 'Ack started at Thu Jun 6 12:27:53'. | |||
| ("^\\(.+?\\)\\(:\\|-\\)\\([1-9][0-9]*\\)\\2\\(?:\\(?:\\(?4:[1-9][0-9]*\\)\\2\\)\\|[^0-9\n]\\|[0-9][^0-9\n]\\|...\\)" | |||
| 1 3 (ack--column-start . ack--column-end) | |||
| nil 1 (4 compilation-column-face nil t)) | |||
| ("^Binary file \\(.+\\) matches$" 1 nil nil 0 1)) | |||
| "Ack version of `compilation-error-regexp-alist' (which see).") | |||
| (defvar ack-process-setup-function 'ack-process-setup) | |||
| (defun ack-process-setup () | |||
| ;; Handle `hg grep' output | |||
| (when (string-match-p "^[ \t]*hg[ \t]" (car compilation-arguments)) | |||
| (setq compilation-error-regexp-alist | |||
| '(("^\\(.+?:[0-9]+:\\)\\(?:\\([0-9]+\\):\\)?" 1 2))) | |||
| (setq-local compilation-parse-errors-filename-function | |||
| (lambda (file) | |||
| (save-match-data | |||
| (if (string-match "\\(.+\\):\\([0-9]+\\):" file) | |||
| (match-string 1 file) | |||
| file))))) | |||
| ;; Handle `bzr grep' output | |||
| (when (string-match-p "^[ \t]*bzr[ \t]" (car compilation-arguments)) | |||
| (setq-local compilation-parse-errors-filename-function | |||
| (lambda (file) | |||
| (save-match-data | |||
| ;; 'bzr grep -r' has files like `termcolor.py~147' | |||
| (if (string-match "\\(.+\\)~\\([0-9]+\\)" file) | |||
| (match-string 1 file) | |||
| file)))))) | |||
| (define-compilation-mode ack-mode "Ack" | |||
| "A compilation mode tailored for ack." | |||
| (setq-local compilation-disable-input t) | |||
| (setq-local compilation-error-face 'compilation-info) | |||
| (add-hook 'compilation-filter-hook 'ack-filter nil t)) | |||
| ;;; `compilation-display-error' is introduced in 24.4 | |||
| (unless (fboundp 'compilation-display-error) | |||
| (defun ack-mode-display-match () | |||
| "Display in another window the match in current line." | |||
| (interactive) | |||
| (setq compilation-current-error (point)) | |||
| (next-error-no-select 0)) | |||
| (define-key ack-mode-map "\C-o" #'ack-mode-display-match)) | |||
| (defun ack-skel-file () | |||
| "Insert a template for case-insensitive file name search." | |||
| (interactive) | |||
| (delete-minibuffer-contents) | |||
| (let ((ack (or (car (split-string ack-command nil t)) "ack"))) | |||
| (if (equal ack "ag") | |||
| (skeleton-insert `(nil ,ack " -ig '" _ "'")) | |||
| (skeleton-insert `(nil ,ack " -g '(?i:" _ ")'"))))) | |||
| ;; Work around bug http://debbugs.gnu.org/13811 | |||
| (defvar ack--project-root nil) ; dynamically bound in `ack' | |||
| (defun ack-skel-vc-grep () | |||
| "Insert a template for vc grep search." | |||
| (interactive) | |||
| (let* ((regexp (concat "\\`" (regexp-opt | |||
| (mapcar 'car ack-vc-grep-commands)) | |||
| "\\'")) | |||
| (root (or (ack-guess-project-root default-directory regexp) | |||
| (error "Cannot locate vc project root"))) | |||
| (which (car (directory-files root nil regexp))) | |||
| (backend (downcase (substring which 1))) | |||
| (cmd (or (cdr (assoc which ack-vc-grep-commands)) | |||
| (error "No command provided for `%s grep'" backend)))) | |||
| (setq ack--project-root root) | |||
| (delete-minibuffer-contents) | |||
| (skeleton-insert `(nil ,cmd " '" _ "'")))) | |||
| (defun ack-yank-symbol-at-point () | |||
| "Yank the symbol from the window before entering the minibuffer." | |||
| (interactive) | |||
| (let ((symbol (and (minibuffer-selected-window) | |||
| (with-current-buffer | |||
| (window-buffer (minibuffer-selected-window)) | |||
| (thing-at-point 'symbol))))) | |||
| (if symbol (insert symbol) | |||
| (minibuffer-message "No symbol found")))) | |||
| (defvar ack-minibuffer-local-map | |||
| (let ((map (make-sparse-keymap))) | |||
| (set-keymap-parent map minibuffer-local-map) | |||
| (define-key map "\t" 'completion-at-point) | |||
| (define-key map "\M-I" 'ack-skel-file) | |||
| (define-key map "\M-G" 'ack-skel-vc-grep) | |||
| (define-key map "\M-Y" 'ack-yank-symbol-at-point) | |||
| (define-key map "'" 'skeleton-pair-insert-maybe) | |||
| map) | |||
| "Keymap used for reading `ack' command and args in minibuffer.") | |||
| (defun ack-guess-project-root (start-directory &optional regexp) | |||
| (let ((regexp (or regexp | |||
| (mapconcat 'identity ack-project-root-patterns "\\|"))) | |||
| (parent (file-name-directory | |||
| (directory-file-name (expand-file-name start-directory))))) | |||
| (if (directory-files start-directory nil regexp) | |||
| start-directory | |||
| (unless (equal parent start-directory) | |||
| (ack-guess-project-root parent regexp))))) | |||
| (defun ack-default-directory (arg) | |||
| "A function for `ack-default-directory-function'. | |||
| With no \\[universal-argument], return `default-directory'; | |||
| With one \\[universal-argument], find the project root according to | |||
| `ack-project-root-patterns'; | |||
| Otherwise, interactively choose a directory." | |||
| (cond | |||
| ((not arg) default-directory) | |||
| ((= (prefix-numeric-value arg) 4) | |||
| (or (ack-guess-project-root default-directory) | |||
| (ack-default-directory '(16)))) | |||
| (t (read-directory-name "In directory: " nil nil t)))) | |||
| (defun ack-update-minibuffer-prompt (&optional _beg _end _len) | |||
| (when (minibufferp) | |||
| (let ((inhibit-read-only t)) | |||
| (save-excursion | |||
| (goto-char (minibuffer-prompt-end)) | |||
| (when (looking-at "\\(\\w+\\)\\s-") | |||
| (put-text-property | |||
| (point-min) (minibuffer-prompt-end) | |||
| 'display | |||
| (format "Run %s in `%s': " | |||
| (match-string-no-properties 1) | |||
| (file-name-nondirectory | |||
| (directory-file-name ack--project-root))))))))) | |||
| (defun ack-minibuffer-setup-function () | |||
| (shell-completion-vars) | |||
| (add-hook 'after-change-functions | |||
| #'ack-update-minibuffer-prompt nil t) | |||
| (ack-update-minibuffer-prompt) | |||
| (run-hooks 'ack-minibuffer-setup-hook)) | |||
| ;;;###autoload | |||
| (defun ack (command-args &optional directory) | |||
| "Run ack using COMMAND-ARGS and collect output in a buffer. | |||
| When called interactively, the value of DIRECTORY is provided by | |||
| `ack-default-directory-function'. | |||
| The following keys are available while reading from the | |||
| minibuffer: | |||
| \\{ack-minibuffer-local-map}" | |||
| (interactive | |||
| (let ((ack--project-root (or (funcall ack-default-directory-function | |||
| current-prefix-arg) | |||
| default-directory)) | |||
| ;; Disable completion cycling; see http://debbugs.gnu.org/12221 | |||
| (completion-cycle-threshold nil)) | |||
| (list (minibuffer-with-setup-hook 'ack-minibuffer-setup-function | |||
| (read-from-minibuffer "Ack: " | |||
| ack-command | |||
| ack-minibuffer-local-map | |||
| nil 'ack-history)) | |||
| ack--project-root))) | |||
| (let ((default-directory (expand-file-name | |||
| (or directory default-directory)))) | |||
| ;; Change to the compilation buffer so that `ack-buffer-name-function' can | |||
| ;; make use of `compilation-arguments'. | |||
| (with-current-buffer (compilation-start command-args 'ack-mode) | |||
| (when ack-buffer-name-function | |||
| (rename-buffer (funcall ack-buffer-name-function "ack")))))) | |||
| (provide 'ack) | |||
| ;;; ack.el ends here | |||
| @ -1,141 +0,0 @@ | |||
| ;;; pcmpl-ack.el --- completion for ack -*- lexical-binding: t; -*- | |||
| ;; Copyright (C) 2012-2013 Free Software Foundation, Inc. | |||
| ;; Author: Leo Liu <sdl.web@gmail.com> | |||
| ;; Keywords: tools, processes, convenience | |||
| ;; Created: 2012-09-26 | |||
| ;; URL: https://github.com/leoliu/ack-el | |||
| ;; 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 <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;; Provide pcompletion support for the cli tool `ack' which can be | |||
| ;; downloaded from http://beyondgrep.com. | |||
| ;; | |||
| ;; Install: | |||
| ;; (autoload 'pcomplete/ack "pcmpl-ack") | |||
| ;; | |||
| ;; Usage: | |||
| ;; - To complete short options type '-' first | |||
| ;; - To complete long options type '--' first | |||
| ;; - Color name completion is supported following | |||
| ;; --color-filename=, --color-match= and --color-lineno= | |||
| ;; - Type completion is supported following --type= | |||
| ;;; Code: | |||
| (require 'pcomplete) | |||
| (defcustom pcmpl-ack-program | |||
| (file-name-nondirectory (or (executable-find "ack-grep") | |||
| (executable-find "ack") | |||
| "ack")) | |||
| "Name of the ack program." | |||
| :type 'file | |||
| :group 'pcomplete) | |||
| (defvar pcmpl-ack-color-options | |||
| '("clear" | |||
| "reset" | |||
| "dark" | |||
| "bold" | |||
| "underline" | |||
| "underscore" | |||
| "blink" | |||
| "reverse" | |||
| "concealed" | |||
| "black" | |||
| "red" | |||
| "green" | |||
| "yellow" | |||
| "blue" | |||
| "magenta" | |||
| "on_black" | |||
| "on_red" | |||
| "on_green" | |||
| "on_yellow" | |||
| "on_blue" | |||
| "on_magenta" | |||
| "on_cyan" | |||
| "on_white") | |||
| "Color names for the `ack' command.") | |||
| (defun pcmpl-ack-run (buffer &rest args) | |||
| "Run ack with ARGS and send the output to BUFFER." | |||
| (condition-case nil | |||
| (apply 'call-process (or pcmpl-ack-program "ack") nil buffer nil args) | |||
| (file-error -1))) | |||
| (defun pcmpl-ack-short-options () | |||
| "Short options for the `ack' command." | |||
| (with-temp-buffer | |||
| (let (options) | |||
| (when (zerop (pcmpl-ack-run t "--help")) | |||
| (goto-char (point-min)) | |||
| (while (re-search-forward "^ -\\([^-]\\)" nil t) | |||
| (push (match-string 1) options)) | |||
| (mapconcat 'identity (nreverse options) ""))))) | |||
| (defun pcmpl-ack-long-options (&optional arg) | |||
| "Long options for the `ack' command." | |||
| (with-temp-buffer | |||
| (let (options) | |||
| (when (zerop (pcmpl-ack-run t (or arg "--help"))) | |||
| (goto-char (point-min)) | |||
| (while (re-search-forward | |||
| "\\(?: ?\\|, \\)\\(--\\(\\[no\\]\\)?\\([[:alnum:]-]+=?\\)\\)" | |||
| nil t) | |||
| (if (not (match-string 2)) | |||
| (push (match-string 1) options) | |||
| (push (concat "--" (match-string 3)) options) | |||
| (push (concat "--no" (match-string 3)) options))) | |||
| (nreverse options))))) | |||
| (defun pcmpl-ack-type-options () | |||
| "A list of types for the `ack' command." | |||
| (pcmpl-ack-long-options "--help-types")) | |||
| ;;;###autoload | |||
| (defun pcomplete/ack () | |||
| "Completion for the `ack' command. | |||
| Start an argument with '-' to complete short options and '--' for | |||
| long options." | |||
| ;; No space after = | |||
| (while t | |||
| (if (pcomplete-match "^-" 0) | |||
| (cond | |||
| ((pcomplete-match "^--color-\\w+=\\(\\S-*\\)" 0) | |||
| (pcomplete-here* pcmpl-ack-color-options | |||
| (pcomplete-match-string 1 0) t)) | |||
| ((pcomplete-match "^--\\(?:no\\)?ignore-dir=\\(\\S-*\\)" 0) | |||
| (pcomplete-here* (pcomplete-dirs) | |||
| (pcomplete-match-string 1 0) t)) | |||
| ((pcomplete-match "^--type=\\(\\S-*\\)" 0) | |||
| (pcomplete-here* (mapcar (lambda (type-option) | |||
| (substring type-option 2)) | |||
| (pcmpl-ack-type-options)) | |||
| (pcomplete-match-string 1 0) t)) | |||
| ((pcomplete-match "^--" 0) | |||
| (pcomplete-here* (append (pcmpl-ack-long-options) | |||
| (pcmpl-ack-type-options)))) | |||
| (t (pcomplete-opt (pcmpl-ack-short-options)))) | |||
| (pcomplete-here* (pcomplete-dirs-or-entries))))) | |||
| ;;;###autoload | |||
| (defalias 'pcomplete/ack-grep 'pcomplete/ack) | |||
| (provide 'pcmpl-ack) | |||
| ;;; pcmpl-ack.el ends here | |||
| @ -1,451 +0,0 @@ | |||
| GNU Free Documentation License | |||
| Version 1.3, 3 November 2008 | |||
| Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. | |||
| <http://fsf.org/> | |||
| Everyone is permitted to copy and distribute verbatim copies | |||
| of this license document, but changing it is not allowed. | |||
| 0. PREAMBLE | |||
| The purpose of this License is to make a manual, textbook, or other | |||
| functional and useful document "free" in the sense of freedom: to | |||
| assure everyone the effective freedom to copy and redistribute it, | |||
| with or without modifying it, either commercially or noncommercially. | |||
| Secondarily, this License preserves for the author and publisher a way | |||
| to get credit for their work, while not being considered responsible | |||
| for modifications made by others. | |||
| This License is a kind of "copyleft", which means that derivative | |||
| works of the document must themselves be free in the same sense. It | |||
| complements the GNU General Public License, which is a copyleft | |||
| license designed for free software. | |||
| We have designed this License in order to use it for manuals for free | |||
| software, because free software needs free documentation: a free | |||
| program should come with manuals providing the same freedoms that the | |||
| software does. But this License is not limited to software manuals; | |||
| it can be used for any textual work, regardless of subject matter or | |||
| whether it is published as a printed book. We recommend this License | |||
| principally for works whose purpose is instruction or reference. | |||
| 1. APPLICABILITY AND DEFINITIONS | |||
| This License applies to any manual or other work, in any medium, that | |||
| contains a notice placed by the copyright holder saying it can be | |||
| distributed under the terms of this License. Such a notice grants a | |||
| world-wide, royalty-free license, unlimited in duration, to use that | |||
| work under the conditions stated herein. The "Document", below, | |||
| refers to any such manual or work. Any member of the public is a | |||
| licensee, and is addressed as "you". You accept the license if you | |||
| copy, modify or distribute the work in a way requiring permission | |||
| under copyright law. | |||
| A "Modified Version" of the Document means any work containing the | |||
| Document or a portion of it, either copied verbatim, or with | |||
| modifications and/or translated into another language. | |||
| A "Secondary Section" is a named appendix or a front-matter section of | |||
| the Document that deals exclusively with the relationship of the | |||
| publishers or authors of the Document to the Document's overall | |||
| subject (or to related matters) and contains nothing that could fall | |||
| directly within that overall subject. (Thus, if the Document is in | |||
| part a textbook of mathematics, a Secondary Section may not explain | |||
| any mathematics.) The relationship could be a matter of historical | |||
| connection with the subject or with related matters, or of legal, | |||
| commercial, philosophical, ethical or political position regarding | |||
| them. | |||
| The "Invariant Sections" are certain Secondary Sections whose titles | |||
| are designated, as being those of Invariant Sections, in the notice | |||
| that says that the Document is released under this License. If a | |||
| section does not fit the above definition of Secondary then it is not | |||
| allowed to be designated as Invariant. The Document may contain zero | |||
| Invariant Sections. If the Document does not identify any Invariant | |||
| Sections then there are none. | |||
| The "Cover Texts" are certain short passages of text that are listed, | |||
| as Front-Cover Texts or Back-Cover Texts, in the notice that says that | |||
| the Document is released under this License. A Front-Cover Text may | |||
| be at most 5 words, and a Back-Cover Text may be at most 25 words. | |||
| A "Transparent" copy of the Document means a machine-readable copy, | |||
| represented in a format whose specification is available to the | |||
| general public, that is suitable for revising the document | |||
| straightforwardly with generic text editors or (for images composed of | |||
| pixels) generic paint programs or (for drawings) some widely available | |||
| drawing editor, and that is suitable for input to text formatters or | |||
| for automatic translation to a variety of formats suitable for input | |||
| to text formatters. A copy made in an otherwise Transparent file | |||
| format whose markup, or absence of markup, has been arranged to thwart | |||
| or discourage subsequent modification by readers is not Transparent. | |||
| An image format is not Transparent if used for any substantial amount | |||
| of text. A copy that is not "Transparent" is called "Opaque". | |||
| Examples of suitable formats for Transparent copies include plain | |||
| ASCII without markup, Texinfo input format, LaTeX input format, SGML | |||
| or XML using a publicly available DTD, and standard-conforming simple | |||
| HTML, PostScript or PDF designed for human modification. Examples of | |||
| transparent image formats include PNG, XCF and JPG. Opaque formats | |||
| include proprietary formats that can be read and edited only by | |||
| proprietary word processors, SGML or XML for which the DTD and/or | |||
| processing tools are not generally available, and the | |||
| machine-generated HTML, PostScript or PDF produced by some word | |||
| processors for output purposes only. | |||
| The "Title Page" means, for a printed book, the title page itself, | |||
| plus such following pages as are needed to hold, legibly, the material | |||
| this License requires to appear in the title page. For works in | |||
| formats which do not have any title page as such, "Title Page" means | |||
| the text near the most prominent appearance of the work's title, | |||
| preceding the beginning of the body of the text. | |||
| The "publisher" means any person or entity that distributes copies of | |||
| the Document to the public. | |||
| A section "Entitled XYZ" means a named subunit of the Document whose | |||
| title either is precisely XYZ or contains XYZ in parentheses following | |||
| text that translates XYZ in another language. (Here XYZ stands for a | |||
| specific section name mentioned below, such as "Acknowledgements", | |||
| "Dedications", "Endorsements", or "History".) To "Preserve the Title" | |||
| of such a section when you modify the Document means that it remains a | |||
| section "Entitled XYZ" according to this definition. | |||
| The Document may include Warranty Disclaimers next to the notice which | |||
| states that this License applies to the Document. These Warranty | |||
| Disclaimers are considered to be included by reference in this | |||
| License, but only as regards disclaiming warranties: any other | |||
| implication that these Warranty Disclaimers may have is void and has | |||
| no effect on the meaning of this License. | |||
| 2. VERBATIM COPYING | |||
| You may copy and distribute the Document in any medium, either | |||
| commercially or noncommercially, provided that this License, the | |||
| copyright notices, and the license notice saying this License applies | |||
| to the Document are reproduced in all copies, and that you add no | |||
| other conditions whatsoever to those of this License. You may not use | |||
| technical measures to obstruct or control the reading or further | |||
| copying of the copies you make or distribute. However, you may accept | |||
| compensation in exchange for copies. If you distribute a large enough | |||
| number of copies you must also follow the conditions in section 3. | |||
| You may also lend copies, under the same conditions stated above, and | |||
| you may publicly display copies. | |||
| 3. COPYING IN QUANTITY | |||
| If you publish printed copies (or copies in media that commonly have | |||
| printed covers) of the Document, numbering more than 100, and the | |||
| Document's license notice requires Cover Texts, you must enclose the | |||
| copies in covers that carry, clearly and legibly, all these Cover | |||
| Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on | |||
| the back cover. Both covers must also clearly and legibly identify | |||
| you as the publisher of these copies. The front cover must present | |||
| the full title with all words of the title equally prominent and | |||
| visible. You may add other material on the covers in addition. | |||
| Copying with changes limited to the covers, as long as they preserve | |||
| the title of the Document and satisfy these conditions, can be treated | |||
| as verbatim copying in other respects. | |||
| If the required texts for either cover are too voluminous to fit | |||
| legibly, you should put the first ones listed (as many as fit | |||
| reasonably) on the actual cover, and continue the rest onto adjacent | |||
| pages. | |||
| If you publish or distribute Opaque copies of the Document numbering | |||
| more than 100, you must either include a machine-readable Transparent | |||
| copy along with each Opaque copy, or state in or with each Opaque copy | |||
| a computer-network location from which the general network-using | |||
| public has access to download using public-standard network protocols | |||
| a complete Transparent copy of the Document, free of added material. | |||
| If you use the latter option, you must take reasonably prudent steps, | |||
| when you begin distribution of Opaque copies in quantity, to ensure | |||
| that this Transparent copy will remain thus accessible at the stated | |||
| location until at least one year after the last time you distribute an | |||
| Opaque copy (directly or through your agents or retailers) of that | |||
| edition to the public. | |||
| It is requested, but not required, that you contact the authors of the | |||
| Document well before redistributing any large number of copies, to | |||
| give them a chance to provide you with an updated version of the | |||
| Document. | |||
| 4. MODIFICATIONS | |||
| You may copy and distribute a Modified Version of the Document under | |||
| the conditions of sections 2 and 3 above, provided that you release | |||
| the Modified Version under precisely this License, with the Modified | |||
| Version filling the role of the Document, thus licensing distribution | |||
| and modification of the Modified Version to whoever possesses a copy | |||
| of it. In addition, you must do these things in the Modified Version: | |||
| A. Use in the Title Page (and on the covers, if any) a title distinct | |||
| from that of the Document, and from those of previous versions | |||
| (which should, if there were any, be listed in the History section | |||
| of the Document). You may use the same title as a previous version | |||
| if the original publisher of that version gives permission. | |||
| B. List on the Title Page, as authors, one or more persons or entities | |||
| responsible for authorship of the modifications in the Modified | |||
| Version, together with at least five of the principal authors of the | |||
| Document (all of its principal authors, if it has fewer than five), | |||
| unless they release you from this requirement. | |||
| C. State on the Title page the name of the publisher of the | |||
| Modified Version, as the publisher. | |||
| D. Preserve all the copyright notices of the Document. | |||
| E. Add an appropriate copyright notice for your modifications | |||
| adjacent to the other copyright notices. | |||
| F. Include, immediately after the copyright notices, a license notice | |||
| giving the public permission to use the Modified Version under the | |||
| terms of this License, in the form shown in the Addendum below. | |||
| G. Preserve in that license notice the full lists of Invariant Sections | |||
| and required Cover Texts given in the Document's license notice. | |||
| H. Include an unaltered copy of this License. | |||
| I. Preserve the section Entitled "History", Preserve its Title, and add | |||
| to it an item stating at least the title, year, new authors, and | |||
| publisher of the Modified Version as given on the Title Page. If | |||
| there is no section Entitled "History" in the Document, create one | |||
| stating the title, year, authors, and publisher of the Document as | |||
| given on its Title Page, then add an item describing the Modified | |||
| Version as stated in the previous sentence. | |||
| J. Preserve the network location, if any, given in the Document for | |||
| public access to a Transparent copy of the Document, and likewise | |||
| the network locations given in the Document for previous versions | |||
| it was based on. These may be placed in the "History" section. | |||
| You may omit a network location for a work that was published at | |||
| least four years before the Document itself, or if the original | |||
| publisher of the version it refers to gives permission. | |||
| K. For any section Entitled "Acknowledgements" or "Dedications", | |||
| Preserve the Title of the section, and preserve in the section all | |||
| the substance and tone of each of the contributor acknowledgements | |||
| and/or dedications given therein. | |||
| L. Preserve all the Invariant Sections of the Document, | |||
| unaltered in their text and in their titles. Section numbers | |||
| or the equivalent are not considered part of the section titles. | |||
| M. Delete any section Entitled "Endorsements". Such a section | |||
| may not be included in the Modified Version. | |||
| N. Do not retitle any existing section to be Entitled "Endorsements" | |||
| or to conflict in title with any Invariant Section. | |||
| O. Preserve any Warranty Disclaimers. | |||
| If the Modified Version includes new front-matter sections or | |||
| appendices that qualify as Secondary Sections and contain no material | |||
| copied from the Document, you may at your option designate some or all | |||
| of these sections as invariant. To do this, add their titles to the | |||
| list of Invariant Sections in the Modified Version's license notice. | |||
| These titles must be distinct from any other section titles. | |||
| You may add a section Entitled "Endorsements", provided it contains | |||
| nothing but endorsements of your Modified Version by various | |||
| parties--for example, statements of peer review or that the text has | |||
| been approved by an organization as the authoritative definition of a | |||
| standard. | |||
| You may add a passage of up to five words as a Front-Cover Text, and a | |||
| passage of up to 25 words as a Back-Cover Text, to the end of the list | |||
| of Cover Texts in the Modified Version. Only one passage of | |||
| Front-Cover Text and one of Back-Cover Text may be added by (or | |||
| through arrangements made by) any one entity. If the Document already | |||
| includes a cover text for the same cover, previously added by you or | |||
| by arrangement made by the same entity you are acting on behalf of, | |||
| you may not add another; but you may replace the old one, on explicit | |||
| permission from the previous publisher that added the old one. | |||
| The author(s) and publisher(s) of the Document do not by this License | |||
| give permission to use their names for publicity for or to assert or | |||
| imply endorsement of any Modified Version. | |||
| 5. COMBINING DOCUMENTS | |||
| You may combine the Document with other documents released under this | |||
| License, under the terms defined in section 4 above for modified | |||
| versions, provided that you include in the combination all of the | |||
| Invariant Sections of all of the original documents, unmodified, and | |||
| list them all as Invariant Sections of your combined work in its | |||
| license notice, and that you preserve all their Warranty Disclaimers. | |||
| The combined work need only contain one copy of this License, and | |||
| multiple identical Invariant Sections may be replaced with a single | |||
| copy. If there are multiple Invariant Sections with the same name but | |||
| different contents, make the title of each such section unique by | |||
| adding at the end of it, in parentheses, the name of the original | |||
| author or publisher of that section if known, or else a unique number. | |||
| Make the same adjustment to the section titles in the list of | |||
| Invariant Sections in the license notice of the combined work. | |||
| In the combination, you must combine any sections Entitled "History" | |||
| in the various original documents, forming one section Entitled | |||
| "History"; likewise combine any sections Entitled "Acknowledgements", | |||
| and any sections Entitled "Dedications". You must delete all sections | |||
| Entitled "Endorsements". | |||
| 6. COLLECTIONS OF DOCUMENTS | |||
| You may make a collection consisting of the Document and other | |||
| documents released under this License, and replace the individual | |||
| copies of this License in the various documents with a single copy | |||
| that is included in the collection, provided that you follow the rules | |||
| of this License for verbatim copying of each of the documents in all | |||
| other respects. | |||
| You may extract a single document from such a collection, and | |||
| distribute it individually under this License, provided you insert a | |||
| copy of this License into the extracted document, and follow this | |||
| License in all other respects regarding verbatim copying of that | |||
| document. | |||
| 7. AGGREGATION WITH INDEPENDENT WORKS | |||
| A compilation of the Document or its derivatives with other separate | |||
| and independent documents or works, in or on a volume of a storage or | |||
| distribution medium, is called an "aggregate" if the copyright | |||
| resulting from the compilation is not used to limit the legal rights | |||
| of the compilation's users beyond what the individual works permit. | |||
| When the Document is included in an aggregate, this License does not | |||
| apply to the other works in the aggregate which are not themselves | |||
| derivative works of the Document. | |||
| If the Cover Text requirement of section 3 is applicable to these | |||
| copies of the Document, then if the Document is less than one half of | |||
| the entire aggregate, the Document's Cover Texts may be placed on | |||
| covers that bracket the Document within the aggregate, or the | |||
| electronic equivalent of covers if the Document is in electronic form. | |||
| Otherwise they must appear on printed covers that bracket the whole | |||
| aggregate. | |||
| 8. TRANSLATION | |||
| Translation is considered a kind of modification, so you may | |||
| distribute translations of the Document under the terms of section 4. | |||
| Replacing Invariant Sections with translations requires special | |||
| permission from their copyright holders, but you may include | |||
| translations of some or all Invariant Sections in addition to the | |||
| original versions of these Invariant Sections. You may include a | |||
| translation of this License, and all the license notices in the | |||
| Document, and any Warranty Disclaimers, provided that you also include | |||
| the original English version of this License and the original versions | |||
| of those notices and disclaimers. In case of a disagreement between | |||
| the translation and the original version of this License or a notice | |||
| or disclaimer, the original version will prevail. | |||
| If a section in the Document is Entitled "Acknowledgements", | |||
| "Dedications", or "History", the requirement (section 4) to Preserve | |||
| its Title (section 1) will typically require changing the actual | |||
| title. | |||
| 9. TERMINATION | |||
| You may not copy, modify, sublicense, or distribute the Document | |||
| except as expressly provided under this License. Any attempt | |||
| otherwise to copy, modify, sublicense, or distribute it is void, and | |||
| will automatically terminate your rights under this License. | |||
| However, if you cease all violation of this License, then your license | |||
| from a particular copyright holder is reinstated (a) provisionally, | |||
| unless and until the copyright holder explicitly and finally | |||
| terminates your license, and (b) permanently, if the copyright holder | |||
| fails to notify you of the violation by some reasonable means prior to | |||
| 60 days after the cessation. | |||
| Moreover, your license from a particular copyright holder is | |||
| reinstated permanently if the copyright holder notifies you of the | |||
| violation by some reasonable means, this is the first time you have | |||
| received notice of violation of this License (for any work) from that | |||
| copyright holder, and you cure the violation prior to 30 days after | |||
| your receipt of the notice. | |||
| Termination of your rights under this section does not terminate the | |||
| licenses of parties who have received copies or rights from you under | |||
| this License. If your rights have been terminated and not permanently | |||
| reinstated, receipt of a copy of some or all of the same material does | |||
| not give you any rights to use it. | |||
| 10. FUTURE REVISIONS OF THIS LICENSE | |||
| The Free Software Foundation may publish new, revised versions of the | |||
| GNU Free Documentation License from time to time. Such new versions | |||
| will be similar in spirit to the present version, but may differ in | |||
| detail to address new problems or concerns. See | |||
| http://www.gnu.org/copyleft/. | |||
| Each version of the License is given a distinguishing version number. | |||
| If the Document specifies that a particular numbered version of this | |||
| License "or any later version" applies to it, you have the option of | |||
| following the terms and conditions either of that specified version or | |||
| of any later version that has been published (not as a draft) by the | |||
| Free Software Foundation. If the Document does not specify a version | |||
| number of this License, you may choose any version ever published (not | |||
| as a draft) by the Free Software Foundation. If the Document | |||
| specifies that a proxy can decide which future versions of this | |||
| License can be used, that proxy's public statement of acceptance of a | |||
| version permanently authorizes you to choose that version for the | |||
| Document. | |||
| 11. RELICENSING | |||
| "Massive Multiauthor Collaboration Site" (or "MMC Site") means any | |||
| World Wide Web server that publishes copyrightable works and also | |||
| provides prominent facilities for anybody to edit those works. A | |||
| public wiki that anybody can edit is an example of such a server. A | |||
| "Massive Multiauthor Collaboration" (or "MMC") contained in the site | |||
| means any set of copyrightable works thus published on the MMC site. | |||
| "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 | |||
| license published by Creative Commons Corporation, a not-for-profit | |||
| corporation with a principal place of business in San Francisco, | |||
| California, as well as future copyleft versions of that license | |||
| published by that same organization. | |||
| "Incorporate" means to publish or republish a Document, in whole or in | |||
| part, as part of another Document. | |||
| An MMC is "eligible for relicensing" if it is licensed under this | |||
| License, and if all works that were first published under this License | |||
| somewhere other than this MMC, and subsequently incorporated in whole or | |||
| in part into the MMC, (1) had no cover texts or invariant sections, and | |||
| (2) were thus incorporated prior to November 1, 2008. | |||
| The operator of an MMC Site may republish an MMC contained in the site | |||
| under CC-BY-SA on the same site at any time before August 1, 2009, | |||
| provided the MMC is eligible for relicensing. | |||
| ADDENDUM: How to use this License for your documents | |||
| To use this License in a document you have written, include a copy of | |||
| the License in the document and put the following copyright and | |||
| license notices just after the title page: | |||
| Copyright (c) YEAR YOUR NAME. | |||
| Permission is granted to copy, distribute and/or modify this document | |||
| under the terms of the GNU Free Documentation License, Version 1.3 | |||
| or any later version published by the Free Software Foundation; | |||
| with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. | |||
| A copy of the license is included in the section entitled "GNU | |||
| Free Documentation License". | |||
| If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, | |||
| replace the "with...Texts." line with this: | |||
| with the Invariant Sections being LIST THEIR TITLES, with the | |||
| Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. | |||
| If you have Invariant Sections without Cover Texts, or some other | |||
| combination of the three, merge those two alternatives to suit the | |||
| situation. | |||
| If your document contains nontrivial examples of program code, we | |||
| recommend releasing these examples in parallel under your choice of | |||
| free software license, such as the GNU General Public License, | |||
| to permit their use in free software. | |||
| @ -1,674 +0,0 @@ | |||
| GNU GENERAL PUBLIC LICENSE | |||
| Version 3, 29 June 2007 | |||
| Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> | |||
| Everyone is permitted to copy and distribute verbatim copies | |||
| of this license document, but changing it is not allowed. | |||
| Preamble | |||
| The GNU General Public License is a free, copyleft license for | |||
| software and other kinds of works. | |||
| The licenses for most software and other practical works are designed | |||
| to take away your freedom to share and change the works. By contrast, | |||
| the GNU General Public License is intended to guarantee your freedom to | |||
| share and change all versions of a program--to make sure it remains free | |||
| software for all its users. We, the Free Software Foundation, use the | |||
| GNU General Public License for most of our software; it applies also to | |||
| any other work released this way by its authors. You can apply it to | |||
| your programs, too. | |||
| When we speak of free software, we are referring to freedom, not | |||
| price. Our General Public Licenses are designed to make sure that you | |||
| have the freedom to distribute copies of free software (and charge for | |||
| them if you wish), that you receive source code or can get it if you | |||
| want it, that you can change the software or use pieces of it in new | |||
| free programs, and that you know you can do these things. | |||
| To protect your rights, we need to prevent others from denying you | |||
| these rights or asking you to surrender the rights. Therefore, you have | |||
| certain responsibilities if you distribute copies of the software, or if | |||
| you modify it: responsibilities to respect the freedom of others. | |||
| For example, if you distribute copies of such a program, whether | |||
| gratis or for a fee, you must pass on to the recipients the same | |||
| freedoms that you received. You must make sure that they, too, receive | |||
| or can get the source code. And you must show them these terms so they | |||
| know their rights. | |||
| Developers that use the GNU GPL protect your rights with two steps: | |||
| (1) assert copyright on the software, and (2) offer you this License | |||
| giving you legal permission to copy, distribute and/or modify it. | |||
| For the developers' and authors' protection, the GPL clearly explains | |||
| that there is no warranty for this free software. For both users' and | |||
| authors' sake, the GPL requires that modified versions be marked as | |||
| changed, so that their problems will not be attributed erroneously to | |||
| authors of previous versions. | |||
| Some devices are designed to deny users access to install or run | |||
| modified versions of the software inside them, although the manufacturer | |||
| can do so. This is fundamentally incompatible with the aim of | |||
| protecting users' freedom to change the software. The systematic | |||
| pattern of such abuse occurs in the area of products for individuals to | |||
| use, which is precisely where it is most unacceptable. Therefore, we | |||
| have designed this version of the GPL to prohibit the practice for those | |||
| products. If such problems arise substantially in other domains, we | |||
| stand ready to extend this provision to those domains in future versions | |||
| of the GPL, as needed to protect the freedom of users. | |||
| Finally, every program is threatened constantly by software patents. | |||
| States should not allow patents to restrict development and use of | |||
| software on general-purpose computers, but in those that do, we wish to | |||
| avoid the special danger that patents applied to a free program could | |||
| make it effectively proprietary. To prevent this, the GPL assures that | |||
| patents cannot be used to render the program non-free. | |||
| The precise terms and conditions for copying, distribution and | |||
| modification follow. | |||
| TERMS AND CONDITIONS | |||
| 0. Definitions. | |||
| "This License" refers to version 3 of the GNU General Public License. | |||
| "Copyright" also means copyright-like laws that apply to other kinds of | |||
| works, such as semiconductor masks. | |||
| "The Program" refers to any copyrightable work licensed under this | |||
| License. Each licensee is addressed as "you". "Licensees" and | |||
| "recipients" may be individuals or organizations. | |||
| To "modify" a work means to copy from or adapt all or part of the work | |||
| in a fashion requiring copyright permission, other than the making of an | |||
| exact copy. The resulting work is called a "modified version" of the | |||
| earlier work or a work "based on" the earlier work. | |||
| A "covered work" means either the unmodified Program or a work based | |||
| on the Program. | |||
| To "propagate" a work means to do anything with it that, without | |||
| permission, would make you directly or secondarily liable for | |||
| infringement under applicable copyright law, except executing it on a | |||
| computer or modifying a private copy. Propagation includes copying, | |||
| distribution (with or without modification), making available to the | |||
| public, and in some countries other activities as well. | |||
| To "convey" a work means any kind of propagation that enables other | |||
| parties to make or receive copies. Mere interaction with a user through | |||
| a computer network, with no transfer of a copy, is not conveying. | |||
| An interactive user interface displays "Appropriate Legal Notices" | |||
| to the extent that it includes a convenient and prominently visible | |||
| feature that (1) displays an appropriate copyright notice, and (2) | |||
| tells the user that there is no warranty for the work (except to the | |||
| extent that warranties are provided), that licensees may convey the | |||
| work under this License, and how to view a copy of this License. If | |||
| the interface presents a list of user commands or options, such as a | |||
| menu, a prominent item in the list meets this criterion. | |||
| 1. Source Code. | |||
| The "source code" for a work means the preferred form of the work | |||
| for making modifications to it. "Object code" means any non-source | |||
| form of a work. | |||
| A "Standard Interface" means an interface that either is an official | |||
| standard defined by a recognized standards body, or, in the case of | |||
| interfaces specified for a particular programming language, one that | |||
| is widely used among developers working in that language. | |||
| The "System Libraries" of an executable work include anything, other | |||
| than the work as a whole, that (a) is included in the normal form of | |||
| packaging a Major Component, but which is not part of that Major | |||
| Component, and (b) serves only to enable use of the work with that | |||
| Major Component, or to implement a Standard Interface for which an | |||
| implementation is available to the public in source code form. A | |||
| "Major Component", in this context, means a major essential component | |||
| (kernel, window system, and so on) of the specific operating system | |||
| (if any) on which the executable work runs, or a compiler used to | |||
| produce the work, or an object code interpreter used to run it. | |||
| The "Corresponding Source" for a work in object code form means all | |||
| the source code needed to generate, install, and (for an executable | |||
| work) run the object code and to modify the work, including scripts to | |||
| control those activities. However, it does not include the work's | |||
| System Libraries, or general-purpose tools or generally available free | |||
| programs which are used unmodified in performing those activities but | |||
| which are not part of the work. For example, Corresponding Source | |||
| includes interface definition files associated with source files for | |||
| the work, and the source code for shared libraries and dynamically | |||
| linked subprograms that the work is specifically designed to require, | |||
| such as by intimate data communication or control flow between those | |||
| subprograms and other parts of the work. | |||
| The Corresponding Source need not include anything that users | |||
| can regenerate automatically from other parts of the Corresponding | |||
| Source. | |||
| The Corresponding Source for a work in source code form is that | |||
| same work. | |||
| 2. Basic Permissions. | |||
| All rights granted under this License are granted for the term of | |||
| copyright on the Program, and are irrevocable provided the stated | |||
| conditions are met. This License explicitly affirms your unlimited | |||
| permission to run the unmodified Program. The output from running a | |||
| covered work is covered by this License only if the output, given its | |||
| content, constitutes a covered work. This License acknowledges your | |||
| rights of fair use or other equivalent, as provided by copyright law. | |||
| You may make, run and propagate covered works that you do not | |||
| convey, without conditions so long as your license otherwise remains | |||
| in force. You may convey covered works to others for the sole purpose | |||
| of having them make modifications exclusively for you, or provide you | |||
| with facilities for running those works, provided that you comply with | |||
| the terms of this License in conveying all material for which you do | |||
| not control copyright. Those thus making or running the covered works | |||
| for you must do so exclusively on your behalf, under your direction | |||
| and control, on terms that prohibit them from making any copies of | |||
| your copyrighted material outside their relationship with you. | |||
| Conveying under any other circumstances is permitted solely under | |||
| the conditions stated below. Sublicensing is not allowed; section 10 | |||
| makes it unnecessary. | |||
| 3. Protecting Users' Legal Rights From Anti-Circumvention Law. | |||
| No covered work shall be deemed part of an effective technological | |||
| measure under any applicable law fulfilling obligations under article | |||
| 11 of the WIPO copyright treaty adopted on 20 December 1996, or | |||
| similar laws prohibiting or restricting circumvention of such | |||
| measures. | |||
| When you convey a covered work, you waive any legal power to forbid | |||
| circumvention of technological measures to the extent such circumvention | |||
| is effected by exercising rights under this License with respect to | |||
| the covered work, and you disclaim any intention to limit operation or | |||
| modification of the work as a means of enforcing, against the work's | |||
| users, your or third parties' legal rights to forbid circumvention of | |||
| technological measures. | |||
| 4. Conveying Verbatim Copies. | |||
| You may convey verbatim copies of the Program's source code as you | |||
| receive it, in any medium, provided that you conspicuously and | |||
| appropriately publish on each copy an appropriate copyright notice; | |||
| keep intact all notices stating that this License and any | |||
| non-permissive terms added in accord with section 7 apply to the code; | |||
| keep intact all notices of the absence of any warranty; and give all | |||
| recipients a copy of this License along with the Program. | |||
| You may charge any price or no price for each copy that you convey, | |||
| and you may offer support or warranty protection for a fee. | |||
| 5. Conveying Modified Source Versions. | |||
| You may convey a work based on the Program, or the modifications to | |||
| produce it from the Program, in the form of source code under the | |||
| terms of section 4, provided that you also meet all of these conditions: | |||
| a) The work must carry prominent notices stating that you modified | |||
| it, and giving a relevant date. | |||
| b) The work must carry prominent notices stating that it is | |||
| released under this License and any conditions added under section | |||
| 7. This requirement modifies the requirement in section 4 to | |||
| "keep intact all notices". | |||
| c) You must license the entire work, as a whole, under this | |||
| License to anyone who comes into possession of a copy. This | |||
| License will therefore apply, along with any applicable section 7 | |||
| additional terms, to the whole of the work, and all its parts, | |||
| regardless of how they are packaged. This License gives no | |||
| permission to license the work in any other way, but it does not | |||
| invalidate such permission if you have separately received it. | |||
| d) If the work has interactive user interfaces, each must display | |||
| Appropriate Legal Notices; however, if the Program has interactive | |||
| interfaces that do not display Appropriate Legal Notices, your | |||
| work need not make them do so. | |||
| A compilation of a covered work with other separate and independent | |||
| works, which are not by their nature extensions of the covered work, | |||
| and which are not combined with it such as to form a larger program, | |||
| in or on a volume of a storage or distribution medium, is called an | |||
| "aggregate" if the compilation and its resulting copyright are not | |||
| used to limit the access or legal rights of the compilation's users | |||
| beyond what the individual works permit. Inclusion of a covered work | |||
| in an aggregate does not cause this License to apply to the other | |||
| parts of the aggregate. | |||
| 6. Conveying Non-Source Forms. | |||
| You may convey a covered work in object code form under the terms | |||
| of sections 4 and 5, provided that you also convey the | |||
| machine-readable Corresponding Source under the terms of this License, | |||
| in one of these ways: | |||
| a) Convey the object code in, or embodied in, a physical product | |||
| (including a physical distribution medium), accompanied by the | |||
| Corresponding Source fixed on a durable physical medium | |||
| customarily used for software interchange. | |||
| b) Convey the object code in, or embodied in, a physical product | |||
| (including a physical distribution medium), accompanied by a | |||
| written offer, valid for at least three years and valid for as | |||
| long as you offer spare parts or customer support for that product | |||
| model, to give anyone who possesses the object code either (1) a | |||
| copy of the Corresponding Source for all the software in the | |||
| product that is covered by this License, on a durable physical | |||
| medium customarily used for software interchange, for a price no | |||
| more than your reasonable cost of physically performing this | |||
| conveying of source, or (2) access to copy the | |||
| Corresponding Source from a network server at no charge. | |||
| c) Convey individual copies of the object code with a copy of the | |||
| written offer to provide the Corresponding Source. This | |||
| alternative is allowed only occasionally and noncommercially, and | |||
| only if you received the object code with such an offer, in accord | |||
| with subsection 6b. | |||
| d) Convey the object code by offering access from a designated | |||
| place (gratis or for a charge), and offer equivalent access to the | |||
| Corresponding Source in the same way through the same place at no | |||
| further charge. You need not require recipients to copy the | |||
| Corresponding Source along with the object code. If the place to | |||
| copy the object code is a network server, the Corresponding Source | |||
| may be on a different server (operated by you or a third party) | |||
| that supports equivalent copying facilities, provided you maintain | |||
| clear directions next to the object code saying where to find the | |||
| Corresponding Source. Regardless of what server hosts the | |||
| Corresponding Source, you remain obligated to ensure that it is | |||
| available for as long as needed to satisfy these requirements. | |||
| e) Convey the object code using peer-to-peer transmission, provided | |||
| you inform other peers where the object code and Corresponding | |||
| Source of the work are being offered to the general public at no | |||
| charge under subsection 6d. | |||
| A separable portion of the object code, whose source code is excluded | |||
| from the Corresponding Source as a System Library, need not be | |||
| included in conveying the object code work. | |||
| A "User Product" is either (1) a "consumer product", which means any | |||
| tangible personal property which is normally used for personal, family, | |||
| or household purposes, or (2) anything designed or sold for incorporation | |||
| into a dwelling. In determining whether a product is a consumer product, | |||
| doubtful cases shall be resolved in favor of coverage. For a particular | |||
| product received by a particular user, "normally used" refers to a | |||
| typical or common use of that class of product, regardless of the status | |||
| of the particular user or of the way in which the particular user | |||
| actually uses, or expects or is expected to use, the product. A product | |||
| is a consumer product regardless of whether the product has substantial | |||
| commercial, industrial or non-consumer uses, unless such uses represent | |||
| the only significant mode of use of the product. | |||
| "Installation Information" for a User Product means any methods, | |||
| procedures, authorization keys, or other information required to install | |||
| and execute modified versions of a covered work in that User Product from | |||
| a modified version of its Corresponding Source. The information must | |||
| suffice to ensure that the continued functioning of the modified object | |||
| code is in no case prevented or interfered with solely because | |||
| modification has been made. | |||
| If you convey an object code work under this section in, or with, or | |||
| specifically for use in, a User Product, and the conveying occurs as | |||
| part of a transaction in which the right of possession and use of the | |||
| User Product is transferred to the recipient in perpetuity or for a | |||
| fixed term (regardless of how the transaction is characterized), the | |||
| Corresponding Source conveyed under this section must be accompanied | |||
| by the Installation Information. But this requirement does not apply | |||
| if neither you nor any third party retains the ability to install | |||
| modified object code on the User Product (for example, the work has | |||
| been installed in ROM). | |||
| The requirement to provide Installation Information does not include a | |||
| requirement to continue to provide support service, warranty, or updates | |||
| for a work that has been modified or installed by the recipient, or for | |||
| the User Product in which it has been modified or installed. Access to a | |||
| network may be denied when the modification itself materially and | |||
| adversely affects the operation of the network or violates the rules and | |||
| protocols for communication across the network. | |||
| Corresponding Source conveyed, and Installation Information provided, | |||
| in accord with this section must be in a format that is publicly | |||
| documented (and with an implementation available to the public in | |||
| source code form), and must require no special password or key for | |||
| unpacking, reading or copying. | |||
| 7. Additional Terms. | |||
| "Additional permissions" are terms that supplement the terms of this | |||
| License by making exceptions from one or more of its conditions. | |||
| Additional permissions that are applicable to the entire Program shall | |||
| be treated as though they were included in this License, to the extent | |||
| that they are valid under applicable law. If additional permissions | |||
| apply only to part of the Program, that part may be used separately | |||
| under those permissions, but the entire Program remains governed by | |||
| this License without regard to the additional permissions. | |||
| When you convey a copy of a covered work, you may at your option | |||
| remove any additional permissions from that copy, or from any part of | |||
| it. (Additional permissions may be written to require their own | |||
| removal in certain cases when you modify the work.) You may place | |||
| additional permissions on material, added by you to a covered work, | |||
| for which you have or can give appropriate copyright permission. | |||
| Notwithstanding any other provision of this License, for material you | |||
| add to a covered work, you may (if authorized by the copyright holders of | |||
| that material) supplement the terms of this License with terms: | |||
| a) Disclaiming warranty or limiting liability differently from the | |||
| terms of sections 15 and 16 of this License; or | |||
| b) Requiring preservation of specified reasonable legal notices or | |||
| author attributions in that material or in the Appropriate Legal | |||
| Notices displayed by works containing it; or | |||
| c) Prohibiting misrepresentation of the origin of that material, or | |||
| requiring that modified versions of such material be marked in | |||
| reasonable ways as different from the original version; or | |||
| d) Limiting the use for publicity purposes of names of licensors or | |||
| authors of the material; or | |||
| e) Declining to grant rights under trademark law for use of some | |||
| trade names, trademarks, or service marks; or | |||
| f) Requiring indemnification of licensors and authors of that | |||
| material by anyone who conveys the material (or modified versions of | |||
| it) with contractual assumptions of liability to the recipient, for | |||
| any liability that these contractual assumptions directly impose on | |||
| those licensors and authors. | |||
| All other non-permissive additional terms are considered "further | |||
| restrictions" within the meaning of section 10. If the Program as you | |||
| received it, or any part of it, contains a notice stating that it is | |||
| governed by this License along with a term that is a further | |||
| restriction, you may remove that term. If a license document contains | |||
| a further restriction but permits relicensing or conveying under this | |||
| License, you may add to a covered work material governed by the terms | |||
| of that license document, provided that the further restriction does | |||
| not survive such relicensing or conveying. | |||
| If you add terms to a covered work in accord with this section, you | |||
| must place, in the relevant source files, a statement of the | |||
| additional terms that apply to those files, or a notice indicating | |||
| where to find the applicable terms. | |||
| Additional terms, permissive or non-permissive, may be stated in the | |||
| form of a separately written license, or stated as exceptions; | |||
| the above requirements apply either way. | |||
| 8. Termination. | |||
| You may not propagate or modify a covered work except as expressly | |||
| provided under this License. Any attempt otherwise to propagate or | |||
| modify it is void, and will automatically terminate your rights under | |||
| this License (including any patent licenses granted under the third | |||
| paragraph of section 11). | |||
| However, if you cease all violation of this License, then your | |||
| license from a particular copyright holder is reinstated (a) | |||
| provisionally, unless and until the copyright holder explicitly and | |||
| finally terminates your license, and (b) permanently, if the copyright | |||
| holder fails to notify you of the violation by some reasonable means | |||
| prior to 60 days after the cessation. | |||
| Moreover, your license from a particular copyright holder is | |||
| reinstated permanently if the copyright holder notifies you of the | |||
| violation by some reasonable means, this is the first time you have | |||
| received notice of violation of this License (for any work) from that | |||
| copyright holder, and you cure the violation prior to 30 days after | |||
| your receipt of the notice. | |||
| Termination of your rights under this section does not terminate the | |||
| licenses of parties who have received copies or rights from you under | |||
| this License. If your rights have been terminated and not permanently | |||
| reinstated, you do not qualify to receive new licenses for the same | |||
| material under section 10. | |||
| 9. Acceptance Not Required for Having Copies. | |||
| You are not required to accept this License in order to receive or | |||
| run a copy of the Program. Ancillary propagation of a covered work | |||
| occurring solely as a consequence of using peer-to-peer transmission | |||
| to receive a copy likewise does not require acceptance. However, | |||
| nothing other than this License grants you permission to propagate or | |||
| modify any covered work. These actions infringe copyright if you do | |||
| not accept this License. Therefore, by modifying or propagating a | |||
| covered work, you indicate your acceptance of this License to do so. | |||
| 10. Automatic Licensing of Downstream Recipients. | |||
| Each time you convey a covered work, the recipient automatically | |||
| receives a license from the original licensors, to run, modify and | |||
| propagate that work, subject to this License. You are not responsible | |||
| for enforcing compliance by third parties with this License. | |||
| An "entity transaction" is a transaction transferring control of an | |||
| organization, or substantially all assets of one, or subdividing an | |||
| organization, or merging organizations. If propagation of a covered | |||
| work results from an entity transaction, each party to that | |||
| transaction who receives a copy of the work also receives whatever | |||
| licenses to the work the party's predecessor in interest had or could | |||
| give under the previous paragraph, plus a right to possession of the | |||
| Corresponding Source of the work from the predecessor in interest, if | |||
| the predecessor has it or can get it with reasonable efforts. | |||
| You may not impose any further restrictions on the exercise of the | |||
| rights granted or affirmed under this License. For example, you may | |||
| not impose a license fee, royalty, or other charge for exercise of | |||
| rights granted under this License, and you may not initiate litigation | |||
| (including a cross-claim or counterclaim in a lawsuit) alleging that | |||
| any patent claim is infringed by making, using, selling, offering for | |||
| sale, or importing the Program or any portion of it. | |||
| 11. Patents. | |||
| A "contributor" is a copyright holder who authorizes use under this | |||
| License of the Program or a work on which the Program is based. The | |||
| work thus licensed is called the contributor's "contributor version". | |||
| A contributor's "essential patent claims" are all patent claims | |||
| owned or controlled by the contributor, whether already acquired or | |||
| hereafter acquired, that would be infringed by some manner, permitted | |||
| by this License, of making, using, or selling its contributor version, | |||
| but do not include claims that would be infringed only as a | |||
| consequence of further modification of the contributor version. For | |||
| purposes of this definition, "control" includes the right to grant | |||
| patent sublicenses in a manner consistent with the requirements of | |||
| this License. | |||
| Each contributor grants you a non-exclusive, worldwide, royalty-free | |||
| patent license under the contributor's essential patent claims, to | |||
| make, use, sell, offer for sale, import and otherwise run, modify and | |||
| propagate the contents of its contributor version. | |||
| In the following three paragraphs, a "patent license" is any express | |||
| agreement or commitment, however denominated, not to enforce a patent | |||
| (such as an express permission to practice a patent or covenant not to | |||
| sue for patent infringement). To "grant" such a patent license to a | |||
| party means to make such an agreement or commitment not to enforce a | |||
| patent against the party. | |||
| If you convey a covered work, knowingly relying on a patent license, | |||
| and the Corresponding Source of the work is not available for anyone | |||
| to copy, free of charge and under the terms of this License, through a | |||
| publicly available network server or other readily accessible means, | |||
| then you must either (1) cause the Corresponding Source to be so | |||
| available, or (2) arrange to deprive yourself of the benefit of the | |||
| patent license for this particular work, or (3) arrange, in a manner | |||
| consistent with the requirements of this License, to extend the patent | |||
| license to downstream recipients. "Knowingly relying" means you have | |||
| actual knowledge that, but for the patent license, your conveying the | |||
| covered work in a country, or your recipient's use of the covered work | |||
| in a country, would infringe one or more identifiable patents in that | |||
| country that you have reason to believe are valid. | |||
| If, pursuant to or in connection with a single transaction or | |||
| arrangement, you convey, or propagate by procuring conveyance of, a | |||
| covered work, and grant a patent license to some of the parties | |||
| receiving the covered work authorizing them to use, propagate, modify | |||
| or convey a specific copy of the covered work, then the patent license | |||
| you grant is automatically extended to all recipients of the covered | |||
| work and works based on it. | |||
| A patent license is "discriminatory" if it does not include within | |||
| the scope of its coverage, prohibits the exercise of, or is | |||
| conditioned on the non-exercise of one or more of the rights that are | |||
| specifically granted under this License. You may not convey a covered | |||
| work if you are a party to an arrangement with a third party that is | |||
| in the business of distributing software, under which you make payment | |||
| to the third party based on the extent of your activity of conveying | |||
| the work, and under which the third party grants, to any of the | |||
| parties who would receive the covered work from you, a discriminatory | |||
| patent license (a) in connection with copies of the covered work | |||
| conveyed by you (or copies made from those copies), or (b) primarily | |||
| for and in connection with specific products or compilations that | |||
| contain the covered work, unless you entered into that arrangement, | |||
| or that patent license was granted, prior to 28 March 2007. | |||
| Nothing in this License shall be construed as excluding or limiting | |||
| any implied license or other defenses to infringement that may | |||
| otherwise be available to you under applicable patent law. | |||
| 12. No Surrender of Others' Freedom. | |||
| If conditions are imposed on you (whether by court order, agreement or | |||
| otherwise) that contradict the conditions of this License, they do not | |||
| excuse you from the conditions of this License. If you cannot convey a | |||
| covered work so as to satisfy simultaneously your obligations under this | |||
| License and any other pertinent obligations, then as a consequence you may | |||
| not convey it at all. For example, if you agree to terms that obligate you | |||
| to collect a royalty for further conveying from those to whom you convey | |||
| the Program, the only way you could satisfy both those terms and this | |||
| License would be to refrain entirely from conveying the Program. | |||
| 13. Use with the GNU Affero General Public License. | |||
| Notwithstanding any other provision of this License, you have | |||
| permission to link or combine any covered work with a work licensed | |||
| under version 3 of the GNU Affero General Public License into a single | |||
| combined work, and to convey the resulting work. The terms of this | |||
| License will continue to apply to the part which is the covered work, | |||
| but the special requirements of the GNU Affero General Public License, | |||
| section 13, concerning interaction through a network will apply to the | |||
| combination as such. | |||
| 14. Revised Versions of this License. | |||
| The Free Software Foundation may publish revised and/or new versions of | |||
| the GNU General Public License from time to time. Such new versions will | |||
| be similar in spirit to the present version, but may differ in detail to | |||
| address new problems or concerns. | |||
| Each version is given a distinguishing version number. If the | |||
| Program specifies that a certain numbered version of the GNU General | |||
| Public License "or any later version" applies to it, you have the | |||
| option of following the terms and conditions either of that numbered | |||
| version or of any later version published by the Free Software | |||
| Foundation. If the Program does not specify a version number of the | |||
| GNU General Public License, you may choose any version ever published | |||
| by the Free Software Foundation. | |||
| If the Program specifies that a proxy can decide which future | |||
| versions of the GNU General Public License can be used, that proxy's | |||
| public statement of acceptance of a version permanently authorizes you | |||
| to choose that version for the Program. | |||
| Later license versions may give you additional or different | |||
| permissions. However, no additional obligations are imposed on any | |||
| author or copyright holder as a result of your choosing to follow a | |||
| later version. | |||
| 15. Disclaimer of Warranty. | |||
| THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY | |||
| APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT | |||
| HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY | |||
| OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, | |||
| THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | |||
| PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM | |||
| IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF | |||
| ALL NECESSARY SERVICING, REPAIR OR CORRECTION. | |||
| 16. Limitation of Liability. | |||
| IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | |||
| WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS | |||
| THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY | |||
| GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE | |||
| USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF | |||
| DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD | |||
| PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), | |||
| EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF | |||
| SUCH DAMAGES. | |||
| 17. Interpretation of Sections 15 and 16. | |||
| If the disclaimer of warranty and limitation of liability provided | |||
| above cannot be given local legal effect according to their terms, | |||
| reviewing courts shall apply local law that most closely approximates | |||
| an absolute waiver of all civil liability in connection with the | |||
| Program, unless a warranty or assumption of liability accompanies a | |||
| copy of the Program in return for a fee. | |||
| END OF TERMS AND CONDITIONS | |||
| How to Apply These Terms to Your New Programs | |||
| If you develop a new program, and you want it to be of the greatest | |||
| possible use to the public, the best way to achieve this is to make it | |||
| free software which everyone can redistribute and change under these terms. | |||
| To do so, attach the following notices to the program. It is safest | |||
| to attach them to the start of each source file to most effectively | |||
| state the exclusion of warranty; and each file should have at least | |||
| the "copyright" line and a pointer to where the full notice is found. | |||
| <one line to give the program's name and a brief idea of what it does.> | |||
| Copyright (C) <year> <name of author> | |||
| 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 <http://www.gnu.org/licenses/>. | |||
| Also add information on how to contact you by electronic and paper mail. | |||
| If the program does terminal interaction, make it output a short | |||
| notice like this when it starts in an interactive mode: | |||
| <program> Copyright (C) <year> <name of author> | |||
| This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | |||
| This is free software, and you are welcome to redistribute it | |||
| under certain conditions; type `show c' for details. | |||
| The hypothetical commands `show w' and `show c' should show the appropriate | |||
| parts of the General Public License. Of course, your program's commands | |||
| might be different; for a GUI interface, you would use an "about box". | |||
| You should also get your employer (if you work as a programmer) or school, | |||
| if any, to sign a "copyright disclaimer" for the program, if necessary. | |||
| For more information on this, and how to apply and follow the GNU GPL, see | |||
| <http://www.gnu.org/licenses/>. | |||
| The GNU General Public License does not permit incorporating your program | |||
| into proprietary programs. If your program is a subroutine library, you | |||
| may consider it more useful to permit linking proprietary applications with | |||
| the library. If this is what you want to do, use the GNU Lesser General | |||
| Public License instead of this License. But first, please read | |||
| <http://www.gnu.org/philosophy/why-not-lgpl.html>. | |||
| @ -1,27 +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 auto-complete.el auto-complete-config.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 ${PACKAGE}.tar.bz2 | |||
| package: clean | |||
| mkdir ${PACKAGE} | |||
| cp -r *.el Makefile *.md COPYING.* doc dict ${PACKAGE} | |||
| package.tar: package | |||
| tar cf ${PACKAGE}.tar ${PACKAGE} | |||
| package.tar.bz2: tar | |||
| bzip2 ${PACKAGE}.tar | |||
| package.zip: package | |||
| zip -r ${PACKAGE}.zip ${PACKAGE} | |||
| @ -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. | |||
| @ -1,11 +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) | |||
| - skip short completion | |||
| @ -1,18 +0,0 @@ | |||
| ;;; auto-complete-autoloads.el --- automatically extracted autoloads | |||
| ;; | |||
| ;;; Code: | |||
| ;;;### (autoloads nil nil ("auto-complete-config.el" "auto-complete-pkg.el" | |||
| ;;;;;; "auto-complete.el") (20848 3782 32366)) | |||
| ;;;*** | |||
| (provide 'auto-complete-autoloads) | |||
| ;; Local Variables: | |||
| ;; version-control: never | |||
| ;; no-byte-compile: t | |||
| ;; no-update-autoloads: t | |||
| ;; coding: utf-8 | |||
| ;; End: | |||
| ;;; auto-complete-autoloads.el ends here | |||
| @ -1,497 +0,0 @@ | |||
| ;;; auto-complete-config.el --- auto-complete additional configuations | |||
| ;; Copyright (C) 2009, 2010 Tomohiro Matsuyama | |||
| ;; Author: Tomohiro Matsuyama <m2ym.pub@gmail.com> | |||
| ;; Keywords: convenience | |||
| ;; Version: 1.4 | |||
| ;; 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 <http://www.gnu.org/licenses/>. | |||
| ;;; 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 -ciq %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 () | |||
| (let ((list (assoc-default ac-css-property ac-css-property-alist))) | |||
| (if list | |||
| (loop with seen | |||
| with value | |||
| while (setq value (pop list)) | |||
| if (symbolp value) | |||
| do (unless (memq value seen) | |||
| (push value seen) | |||
| (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))) | |||
| (ac-define-source css-property | |||
| '((candidates . ac-css-property-candidates) | |||
| (prefix . ac-css-prefix) | |||
| (requires . 0))) | |||
| ;; slime | |||
| (ac-define-source slime | |||
| '((depends slime) | |||
| (candidates . (car (slime-simple-completions ac-prefix))) | |||
| (symbol . "s") | |||
| (cache))) | |||
| ;; ghc-mod | |||
| (ac-define-source ghc-mod | |||
| '((depends ghc) | |||
| (candidates . (ghc-select-completion-symbol)) | |||
| (symbol . "s") | |||
| (cache))) | |||
| ;;;; 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 ()) | |||
| (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 | |||
| @ -1,4 +0,0 @@ | |||
| (define-package "auto-complete" | |||
| "1.4" | |||
| "Auto Completion for GNU Emacs" | |||
| '((popup "0.5"))) | |||
| @ -1,72 +0,0 @@ | |||
| abort | |||
| abs | |||
| abstract | |||
| accept | |||
| access | |||
| aliased | |||
| all | |||
| and | |||
| array | |||
| at | |||
| begin | |||
| body | |||
| case | |||
| constant | |||
| declare | |||
| delay | |||
| delta | |||
| digits | |||
| do | |||
| else | |||
| elsif | |||
| end | |||
| entry | |||
| exception | |||
| exit | |||
| for | |||
| function | |||
| generic | |||
| goto | |||
| if | |||
| in | |||
| interface | |||
| is | |||
| limited | |||
| loop | |||
| mod | |||
| new | |||
| not | |||
| null | |||
| of | |||
| or | |||
| others | |||
| out | |||
| overriding | |||
| package | |||
| pragma | |||
| private | |||
| procedure | |||
| protected | |||
| raise | |||
| range | |||
| record | |||
| rem | |||
| renames | |||
| requeue | |||
| return | |||
| reverse | |||
| select | |||
| separate | |||
| subtype | |||
| synchronized | |||
| tagged | |||
| task | |||
| terminate | |||
| then | |||
| type | |||
| until | |||
| use | |||
| when | |||
| while | |||
| with | |||
| xor | |||
| @ -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 | |||
| @ -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 | |||
| @ -1,231 +0,0 @@ | |||
| # OCaml 3.12.1 | |||
| # Keywords | |||
| and | |||
| as | |||
| assert | |||
| begin | |||
| class | |||
| constraint | |||
| do | |||
| done | |||
| downto | |||
| else | |||
| end | |||
| exception | |||
| external | |||
| false | |||
| for | |||
| fun | |||
| function | |||
| functor | |||
| if | |||
| in | |||
| include | |||
| inherit | |||
| initializer | |||
| lazy | |||
| let | |||
| match | |||
| method | |||
| module | |||
| mutable | |||
| new | |||
| object | |||
| of | |||
| open | |||
| or | |||
| private | |||
| rec | |||
| sig | |||
| struct | |||
| then | |||
| to | |||
| true | |||
| try | |||
| type | |||
| val | |||
| virtual | |||
| when | |||
| while | |||
| with | |||
| # Pervasives | |||
| ! | |||
| != | |||
| & | |||
| && | |||
| * | |||
| ** | |||
| *. | |||
| + | |||
| +. | |||
| - | |||
| -. | |||
| / | |||
| /. | |||
| := | |||
| < | |||
| <= | |||
| <> | |||
| = | |||
| == | |||
| > | |||
| >= | |||
| @ | |||
| FP_infinite | |||
| FP_nan | |||
| FP_normal | |||
| FP_subnormal | |||
| FP_zero | |||
| LargeFile | |||
| Open_append | |||
| Open_binary | |||
| Open_creat | |||
| Open_nonblock | |||
| Open_rdonly | |||
| Open_text | |||
| Open_trunc | |||
| Open_wronly | |||
| Oupen_excl | |||
| ^ | |||
| ^^ | |||
| abs | |||
| abs_float | |||
| acos | |||
| asin | |||
| asr | |||
| at_exit | |||
| atan | |||
| atan2 | |||
| bool_of_string | |||
| ceil | |||
| char_of_int | |||
| classify_float | |||
| close_in | |||
| close_in_noerr | |||
| close_out | |||
| close_out_noerr | |||
| compare | |||
| cos | |||
| cosh | |||
| decr | |||
| do_at_exit | |||
| epsilon_float | |||
| exit | |||
| exp | |||
| expm1 | |||
| failwith | |||
| float | |||
| float_of_int | |||
| float_of_string | |||
| floor | |||
| flush | |||
| flush_all | |||
| format | |||
| format4 | |||
| format_of_string | |||
| fpclass | |||
| frexp | |||
| fst | |||
| ignore | |||
| in_channel | |||
| in_channel_length | |||
| incr | |||
| infinity | |||
| input | |||
| input_binary_int | |||
| input_byte | |||
| input_char | |||
| input_line | |||
| input_value | |||
| int_of_char | |||
| int_of_float | |||
| int_of_string | |||
| invalid_arg | |||
| land | |||
| ldexp | |||
| lnot | |||
| log | |||
| log10 | |||
| log1p | |||
| lor | |||
| lsl | |||
| lsr | |||
| lxor | |||
| max | |||
| max_float | |||
| max_int | |||
| min | |||
| min_float | |||
| min_int | |||
| mod | |||
| mod_float | |||
| modf | |||
| nan | |||
| neg_infinity | |||
| not | |||
| open_flag | |||
| open_in | |||
| open_in_bin | |||
| open_in_gen | |||
| open_out | |||
| open_out_bin | |||
| open_out_gen | |||
| or | |||
| out_channel | |||
| out_channel_length | |||
| output | |||
| output_binary_int | |||
| output_byte | |||
| output_char | |||
| output_string | |||
| output_value | |||
| pos_in | |||
| pos_out | |||
| pred | |||
| prerr_char | |||
| prerr_endline | |||
| prerr_float | |||
| prerr_int | |||
| prerr_newline | |||
| prerr_string | |||
| print_char | |||
| print_endline | |||
| print_float | |||
| print_int | |||
| print_newline | |||
| print_string | |||
| raise | |||
| read_float | |||
| read_int | |||
| read_line | |||
| really_input | |||
| ref | |||
| seek_in | |||
| seek_out | |||
| set_binary_mode_in | |||
| set_binary_mode_out | |||
| sin | |||
| sinh | |||
| snd | |||
| sqrt | |||
| stderr | |||
| stdin | |||
| stdout | |||
| string_of_bool | |||
| string_of_float | |||
| string_of_format | |||
| string_of_int | |||
| succ | |||
| tan | |||
| tanh | |||
| truncate | |||
| unsafe_really_input | |||
| valid_float_lexem | |||
| || | |||
| ~ | |||
| ~+ | |||
| ~+. | |||
| ~- | |||
| ~-. | |||
| @ -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-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 | |||
| @ -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-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 | |||
| @ -1,278 +0,0 @@ | |||
| # Generated by the following form. | |||
| # (loop for regexp in (append | |||
| # coq-solve-tactics | |||
| # coq-keywords | |||
| # coq-reserved | |||
| # coq-tactics | |||
| # coq-tacticals | |||
| # (list "Set" "Type" "Prop")) | |||
| # append (split-string regexp (regexp-quote "\\s-+")) into words | |||
| # finally (loop initially (goto-char (point-max)) | |||
| # for word in (delete-dups (sort words 'string<)) | |||
| # do (insert word) (newline))) | |||
| Abort | |||
| About | |||
| Abstract | |||
| Add | |||
| Admit | |||
| Admitted | |||
| All | |||
| Arguments | |||
| AutoInline | |||
| Axiom | |||
| Bind | |||
| Canonical | |||
| Cd | |||
| Chapter | |||
| Check | |||
| Close | |||
| CoFixpoint | |||
| CoInductive | |||
| Coercion | |||
| Coercions | |||
| Comments | |||
| Conjecture | |||
| Constant | |||
| Constructors | |||
| Corollary | |||
| Declare | |||
| Defined | |||
| Definition | |||
| Delimit | |||
| Dependent | |||
| Depth | |||
| Derive | |||
| End | |||
| Eval | |||
| Export | |||
| Extern | |||
| Extract | |||
| Extraction | |||
| Fact | |||
| False | |||
| Field | |||
| File | |||
| Fixpoint | |||
| Focus | |||
| Function | |||
| Functional | |||
| Goal | |||
| Hint | |||
| Hypotheses | |||
| Hypothesis | |||
| Hyps | |||
| Identity | |||
| If | |||
| Immediate | |||
| Implicit | |||
| Import | |||
| Inductive | |||
| Infix | |||
| Inline | |||
| Inlined | |||
| Inspect | |||
| Inversion | |||
| Language | |||
| Lemma | |||
| Let | |||
| Library | |||
| Limit | |||
| LoadPath | |||
| Local | |||
| Locate | |||
| Ltac | |||
| ML | |||
| Module | |||
| Morphism | |||
| Next Obligation | |||
| NoInline | |||
| Notation | |||
| Notations | |||
| Obligation | |||
| Obligations | |||
| Off | |||
| On | |||
| Opaque | |||
| Open | |||
| Optimize | |||
| Parameter | |||
| Parameters | |||
| Path | |||
| Printing | |||
| Program | |||
| Proof | |||
| Prop | |||
| Pwd | |||
| Qed | |||
| Rec | |||
| Record | |||
| Recursive | |||
| Remark | |||
| Remove | |||
| Require | |||
| Reserved | |||
| Reset | |||
| Resolve | |||
| Rewrite | |||
| Ring | |||
| Save | |||
| Scheme | |||
| Scope | |||
| Search | |||
| SearchAbout | |||
| SearchPattern | |||
| SearchRewrite | |||
| Section | |||
| Semi | |||
| Set | |||
| Setoid | |||
| Show | |||
| Solve | |||
| Sort | |||
| Strict | |||
| Structure | |||
| Synth | |||
| Tactic | |||
| Test | |||
| Theorem | |||
| Time | |||
| Transparent | |||
| True | |||
| Type | |||
| Undo | |||
| Unfocus | |||
| Unfold | |||
| Unset | |||
| Variable | |||
| Variables | |||
| Width | |||
| Wildcard | |||
| abstract | |||
| absurd | |||
| after | |||
| apply | |||
| as | |||
| assert | |||
| assumption | |||
| at | |||
| auto | |||
| autorewrite | |||
| beta | |||
| by | |||
| case | |||
| cbv | |||
| change | |||
| clear | |||
| clearbody | |||
| cofix | |||
| coinduction | |||
| compare | |||
| compute | |||
| congruence | |||
| constructor | |||
| contradiction | |||
| cut | |||
| cutrewrite | |||
| decide | |||
| decompose | |||
| delta | |||
| dependent | |||
| dest | |||
| destruct | |||
| discrR | |||
| discriminate | |||
| do | |||
| double | |||
| eapply | |||
| eauto | |||
| econstructor | |||
| eexists | |||
| eleft | |||
| elim | |||
| else | |||
| end | |||
| equality | |||
| esplit | |||
| exact | |||
| exists | |||
| fail | |||
| field | |||
| first | |||
| firstorder | |||
| fix | |||
| fold | |||
| forall | |||
| fourier | |||
| fun | |||
| functional | |||
| generalize | |||
| hnf | |||
| idtac | |||
| if | |||
| in | |||
| induction | |||
| info | |||
| injection | |||
| instantiate | |||
| into | |||
| intro | |||
| intros | |||
| intuition | |||
| inversion | |||
| inversion_clear | |||
| iota | |||
| lapply | |||
| lazy | |||
| left | |||
| let | |||
| linear | |||
| load | |||
| match | |||
| move | |||
| omega | |||
| pattern | |||
| pose | |||
| progress | |||
| prolog | |||
| quote | |||
| record | |||
| red | |||
| refine | |||
| reflexivity | |||
| rename | |||
| repeat | |||
| replace | |||
| return | |||
| rewrite | |||
| right | |||
| ring | |||
| set | |||
| setoid | |||
| setoid_replace | |||
| setoid_rewrite | |||
| simpl | |||
| simple | |||
| simplify_eq | |||
| solve | |||
| specialize | |||
| split | |||
| split_Rabs | |||
| split_Rmult | |||
| stepl | |||
| stepr | |||
| struct | |||
| subst | |||
| sum | |||
| symmetry | |||
| tauto | |||
| then | |||
| transitivity | |||
| trivial | |||
| try | |||
| unfold | |||
| until | |||
| using | |||
| with | |||
| zeta | |||
| @ -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 | |||
| @ -1,216 +0,0 @@ | |||
| after | |||
| begin | |||
| catch | |||
| case | |||
| cond | |||
| end | |||
| fun | |||
| if | |||
| let | |||
| of | |||
| query | |||
| receive | |||
| try | |||
| when | |||
| and | |||
| andalso | |||
| band | |||
| bnot | |||
| bor | |||
| bsl | |||
| bsr | |||
| bxor | |||
| div | |||
| not | |||
| or | |||
| orelse | |||
| rem | |||
| xor | |||
| is_atom | |||
| is_binary | |||
| is_bitstring | |||
| is_boolean | |||
| is_float | |||
| is_function | |||
| is_integer | |||
| is_list | |||
| is_number | |||
| is_pid | |||
| is_port | |||
| is_record | |||
| is_reference | |||
| is_tuple | |||
| atom | |||
| binary | |||
| bitstring | |||
| boolean | |||
| function | |||
| integer | |||
| list | |||
| number | |||
| pid | |||
| port | |||
| record | |||
| reference | |||
| tuple | |||
| abs | |||
| adler32 | |||
| adler32_combine | |||
| alive | |||
| apply | |||
| atom_to_binary | |||
| atom_to_list | |||
| binary_to_atom | |||
| binary_to_existing_atom | |||
| binary_to_list | |||
| binary_to_term | |||
| bit_size | |||
| bitstring_to_list | |||
| byte_size | |||
| check_process_code | |||
| contact_binary | |||
| crc32 | |||
| crc32_combine | |||
| date | |||
| decode_packet | |||
| delete_module | |||
| disconnect_node | |||
| element | |||
| erase | |||
| exit | |||
| float | |||
| float_to_list | |||
| garbage_collect | |||
| get | |||
| get_keys | |||
| group_leader | |||
| halt | |||
| hd | |||
| integer_to_list | |||
| internal_bif | |||
| iolist_size | |||
| iolist_to_binary | |||
| is_alive | |||
| is_atom | |||
| is_binary | |||
| is_bitstring | |||
| is_boolean | |||
| is_float | |||
| is_function | |||
| is_integer | |||
| is_list | |||
| is_number | |||
| is_pid | |||
| is_port | |||
| is_process_alive | |||
| is_record | |||
| is_reference | |||
| is_tuple | |||
| length | |||
| link | |||
| list_to_atom | |||
| list_to_binary | |||
| list_to_bitstring | |||
| list_to_existing_atom | |||
| list_to_float | |||
| list_to_integer | |||
| list_to_pid | |||
| list_to_tuple | |||
| load_module | |||
| make_ref | |||
| module_loaded | |||
| monitor_node | |||
| node | |||
| node_link | |||
| node_unlink | |||
| nodes | |||
| notalive | |||
| now | |||
| open_port | |||
| pid_to_list | |||
| port_close | |||
| port_command | |||
| port_connect | |||
| port_control | |||
| pre_loaded | |||
| process_flag | |||
| process_info | |||
| processes | |||
| purge_module | |||
| put | |||
| register | |||
| registered | |||
| round | |||
| self | |||
| setelement | |||
| size | |||
| spawn | |||
| spawn_link | |||
| spawn_monitor | |||
| spawn_opt | |||
| split_binary | |||
| statistics | |||
| term_to_binary | |||
| time | |||
| throw | |||
| tl | |||
| trunc | |||
| tuple_size | |||
| tuple_to_list | |||
| unlink | |||
| unregister | |||
| whereis | |||
| append_element | |||
| bump_reductions | |||
| cancel_timer | |||
| demonitor | |||
| display | |||
| fun_info | |||
| fun_to_list | |||
| function_exported | |||
| get_cookie | |||
| get_stacktrace | |||
| hash | |||
| integer_to_list | |||
| is_builtin | |||
| list_to_integer | |||
| loaded | |||
| localtime | |||
| localtime_to_universaltime | |||
| make_tuple | |||
| max | |||
| md5 | |||
| md5_final | |||
| md5_init | |||
| md5_update | |||
| memory | |||
| min | |||
| monitor | |||
| monitor_node | |||
| phash | |||
| phash2 | |||
| port_call | |||
| port_info | |||
| port_to_list | |||
| ports | |||
| process_display | |||
| read_timer | |||
| ref_to_list | |||
| resume_process | |||
| send | |||
| send_after | |||
| send_nosuspend | |||
| set_cookie | |||
| start_timer | |||
| suspend_process | |||
| system_flag | |||
| system_info | |||
| system_monitor | |||
| system_profile | |||
| trace | |||
| trace_delivered | |||
| trace_info | |||
| trace_pattern | |||
| universaltime | |||
| universaltime_to_localtime | |||
| yield | |||
| @ -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 | |||
| @ -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 | |||
| 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 | |||
| @ -1,21 +0,0 @@ | |||
| and | |||
| break | |||
| do | |||
| else | |||
| elseif | |||
| end | |||
| false | |||
| for | |||
| function | |||
| if | |||
| in | |||
| local | |||
| nil | |||
| not | |||
| or | |||
| repeat | |||
| return | |||
| then | |||
| true | |||
| until | |||
| while | |||
| @ -1,175 +0,0 @@ | |||
| ArithmeticError | |||
| AssertionError | |||
| AttributeError | |||
| BaseException | |||
| BufferError | |||
| BytesWarning | |||
| DeprecationWarning | |||
| EOFError | |||
| Ellipsis | |||
| EnvironmentError | |||
| Exception | |||
| False | |||
| FloatingPointError | |||
| FutureWarning | |||
| GeneratorExit | |||
| IOError | |||
| ImportError | |||
| ImportWarning | |||
| IndentationError | |||
| IndexError | |||
| KeyError | |||
| KeyboardInterrupt | |||
| LookupError | |||
| MemoryError | |||
| NameError | |||
| None | |||
| NotImplemented | |||
| NotImplementedError | |||
| OSError | |||
| OverflowError | |||
| PendingDeprecationWarning | |||
| ReferenceError | |||
| RuntimeError | |||
| RuntimeWarning | |||
| StandardError | |||
| StopIteration | |||
| SyntaxError | |||
| SyntaxWarning | |||
| SystemError | |||
| SystemExit | |||
| TabError | |||
| True | |||
| TypeError | |||
| UnboundLocalError | |||
| UnicodeDecodeError | |||
| UnicodeEncodeError | |||
| UnicodeError | |||
| UnicodeTranslateError | |||
| UnicodeWarning | |||
| UserWarning | |||
| ValueError | |||
| Warning | |||
| ZeroDivisionError | |||
| __builtins__ | |||
| __debug__ | |||
| __doc__ | |||
| __file__ | |||
| __import__ | |||
| __name__ | |||
| __package__ | |||
| abs | |||
| all | |||
| and | |||
| any | |||
| apply | |||
| as | |||
| assert | |||
| basestring | |||
| bin | |||
| bool | |||
| break | |||
| buffer | |||
| bytearray | |||
| bytes | |||
| callable | |||
| chr | |||
| class | |||
| classmethod | |||
| cmp | |||
| coerce | |||
| compile | |||
| complex | |||
| continue | |||
| copyright | |||
| credits | |||
| def | |||
| del | |||
| delattr | |||
| dict | |||
| dir | |||
| divmod | |||
| elif | |||
| else | |||
| enumerate | |||
| eval | |||
| except | |||
| exec | |||
| execfile | |||
| exit | |||
| 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 | |||
| license | |||
| list | |||
| locals | |||
| long | |||
| map | |||
| max | |||
| memoryview | |||
| min | |||
| next | |||
| not | |||
| object | |||
| oct | |||
| open | |||
| or | |||
| ord | |||
| pass | |||
| pow | |||
| property | |||
| quit | |||
| 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 | |||
| @ -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 | |||
| @ -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-ci>=? | |||
| char-ci>? | |||
| char-downcase | |||
| char-lower-case? | |||
| char-numeric? | |||
| char-ready? | |||
| char-upcase | |||
| char-upper-case? | |||
| char-whitespace? | |||
| char<=? | |||
| char<? | |||
| 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-ci>=? | |||
| string-ci>? | |||
| string-copy | |||
| string-fill! | |||
| string-length | |||
| string-ref | |||
| string-set! | |||
| string<=? | |||
| string<? | |||
| 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! | |||
| @ -1,182 +0,0 @@ | |||
| # Bash Family Shell Dictionary | |||
| # http://www.gnu.org/software/bash/manual/bash.html | |||
| . | |||
| : | |||
| [ | |||
| alias | |||
| bg | |||
| bind | |||
| break | |||
| builtin | |||
| caller | |||
| cd | |||
| command | |||
| compgen | |||
| complete | |||
| compopt | |||
| continue | |||
| declare | |||
| dirs | |||
| disown | |||
| echo | |||
| enable | |||
| eval | |||
| exec | |||
| exit | |||
| export | |||
| fc | |||
| fg | |||
| getopts | |||
| hash | |||
| help | |||
| history | |||
| jobs | |||
| kill | |||
| let | |||
| local | |||
| logout | |||
| mapfile | |||
| popd | |||
| printf | |||
| pushd | |||
| pwd | |||
| read | |||
| readarray | |||
| readonly | |||
| return | |||
| set | |||
| shift | |||
| shopt | |||
| source | |||
| suspend | |||
| test | |||
| times | |||
| trap | |||
| type | |||
| typeset | |||
| ulimit | |||
| umask | |||
| unalias | |||
| unset | |||
| wait | |||
| ! | |||
| [[ | |||
| ]] | |||
| case | |||
| do | |||
| done | |||
| elif | |||
| else | |||
| esac | |||
| fi | |||
| for | |||
| function | |||
| if | |||
| in | |||
| select | |||
| then | |||
| time | |||
| until | |||
| while | |||
| { | |||
| } | |||
| ! | |||
| # | |||
| $ | |||
| * | |||
| - | |||
| 0 | |||
| ? | |||
| @ | |||
| _ | |||
| BASH | |||
| BASH_ALIASES | |||
| BASH_ARGC | |||
| BASH_ARGV | |||
| BASH_CMDS | |||
| BASH_COMMAND | |||
| BASH_ENV | |||
| BASH_EXECUTION_STRING | |||
| BASH_LINENO | |||
| BASH_REMATCH | |||
| BASH_SOURCE | |||
| BASH_SUBSHELL | |||
| BASH_VERSINFO | |||
| BASH_VERSION | |||
| BASH_XTRACEFD | |||
| BASHOPTS | |||
| BASHPID | |||
| CDPATH | |||
| COLUMNS | |||
| COMP_CWORD | |||
| COMP_KEY | |||
| COMP_LINE | |||
| COMP_POINT | |||
| COMP_TYPE | |||
| COMP_WORDBREAKS | |||
| COMP_WORDS | |||
| COMPREPLY | |||
| DIRSTACK | |||
| EMACS | |||
| EUID | |||
| FCEDIT | |||
| FIGNORE | |||
| FUNCNAME | |||
| GLOBIGNORE | |||
| GROUPS | |||
| HISTCMD | |||
| HISTCONTROL | |||
| HISTFILE | |||
| HISTFILESIZE | |||
| HISTIGNORE | |||
| HISTSIZE | |||
| HISTTIMEFORMAT | |||
| HOME | |||
| HOSTFILE | |||
| HOSTNAME | |||
| HOSTTYPE | |||
| IFS | |||
| IGNOREEOF | |||
| INPUTRC | |||
| LANG | |||
| LC_ALL | |||
| LC_COLLATE | |||
| LC_CTYPE | |||
| LC_MESSAGES | |||
| LC_MESSAGES | |||
| LC_NUMERIC | |||
| LINENO | |||
| LINES | |||
| MACHTYPE | |||
| MAILCHECK | |||
| MAILPATH | |||
| OLDPWD | |||
| OPTARG | |||
| OPTERR | |||
| OPTIND | |||
| OSTYPE | |||
| PATH | |||
| PIPESTATUS | |||
| POSIXLY_CORRECT | |||
| PPID | |||
| PROMPT_COMMAND | |||
| PROMPT_DIRTRIM | |||
| PS1 | |||
| PS2 | |||
| PS3 | |||
| PS4 | |||
| PWD | |||
| RANDOM | |||
| REPLY | |||
| SECONDS | |||
| SHELL | |||
| SHELLOPTS | |||
| SHLVL | |||
| TEXTDOMAIN | |||
| TEXTDOMAINDIR | |||
| TIMEFORMAT | |||
| TMOUT | |||
| TMPDIR | |||
| UID | |||
| @ -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 | |||
| @ -1,797 +0,0 @@ | |||
| absRefPrefix | |||
| accessibility | |||
| accessibilityWrap | |||
| accessKey | |||
| ACT | |||
| ACTIFSUB | |||
| ACTIVSUBRO | |||
| ACTRO | |||
| addAttributes | |||
| addExtUrlsAndShortCuts | |||
| additionalHeaders | |||
| additionalParams | |||
| addParams | |||
| addQueryString | |||
| addQueryString | |||
| adjustItemsH | |||
| adjustSubItemsH | |||
| adminPanelStyles | |||
| after | |||
| age | |||
| align | |||
| align.field | |||
| all | |||
| allowedAttribs | |||
| allowedGroups | |||
| allowEdit | |||
| allowNew | |||
| allowTags | |||
| allStdWrap | |||
| allWrap | |||
| alternativeSortingField | |||
| alternativeTempPath | |||
| altImgResource | |||
| altTarget | |||
| altText | |||
| alwaysActivePIDlist | |||
| alwaysLink | |||
| andWhere | |||
| angle | |||
| antiAlias | |||
| append | |||
| applyTotalH | |||
| applyTotalW | |||
| arrayReturnMode | |||
| arrowACT | |||
| arrowImgParams | |||
| arrowNO | |||
| ATagBeforeWrap | |||
| ATagParams | |||
| ATagTitle | |||
| atLeast | |||
| atMost | |||
| authcodeFields | |||
| autoInsertPID | |||
| autostart | |||
| backColor | |||
| badMess | |||
| base64 | |||
| baseURL | |||
| beforeImg | |||
| beforeImgLink | |||
| beforeImgTagParams | |||
| beforeROImg | |||
| beforeWrap | |||
| begin | |||
| begin | |||
| beginAtLevel | |||
| beLoginLinkIPList | |||
| beLoginLinkIPList_login | |||
| beLoginLinkIPList_logout | |||
| beUserLogin | |||
| bgImg | |||
| blankStrEqFalse | |||
| blur | |||
| bm | |||
| bodyTag | |||
| bodyTag | |||
| bodyTagAdd | |||
| bodyTagCObject | |||
| bodyTagMargins | |||
| border | |||
| border | |||
| borderCol | |||
| bordersWithin | |||
| borderThick | |||
| bottomContent | |||
| bottomHeight | |||
| br | |||
| breakSpace | |||
| breakWidth | |||
| brTag | |||
| bytes | |||
| c | |||
| cache_clearAtMidnight | |||
| cached | |||
| cache_period | |||
| caption | |||
| captionAlign | |||
| captionSplit | |||
| case | |||
| case | |||
| CASE | |||
| casesensitiveComp | |||
| cellpadding | |||
| cellspacing | |||
| char | |||
| charcoal | |||
| clearCacheOfPages | |||
| cMargins | |||
| COA | |||
| COA_INT | |||
| cObject | |||
| cObjNum | |||
| code | |||
| collapse | |||
| color | |||
| color1 | |||
| color2 | |||
| color3 | |||
| color.default | |||
| color.field | |||
| colRelations | |||
| cols | |||
| cols | |||
| colSpace | |||
| COLUMNS | |||
| COMMENT | |||
| commentWrap | |||
| compensateFieldWidth | |||
| compX | |||
| compY | |||
| concatenateJsAndCss | |||
| conf | |||
| config | |||
| config | |||
| CONFIG | |||
| constants | |||
| CONTENT | |||
| content_fallback | |||
| content_from_pid_allowOutsideDomain | |||
| controllerActionName | |||
| controllerExtensionName | |||
| controllerName | |||
| crop | |||
| cropHTML | |||
| csConv | |||
| cssInline | |||
| CSS_inlineStyle | |||
| CTABLE | |||
| CUR | |||
| CURIFSUB | |||
| CURIFSUBRO | |||
| current | |||
| CURRO | |||
| cWidth | |||
| data | |||
| dataArray | |||
| dataWrap | |||
| date | |||
| debug | |||
| debugData | |||
| debugFunc | |||
| debugItemConf | |||
| debugRenumberedObject | |||
| decimals | |||
| dec_point | |||
| default | |||
| defaultAlign | |||
| defaultCmd | |||
| defaultCode | |||
| defaultGetVars | |||
| delete | |||
| denyTags | |||
| depth | |||
| dimensions | |||
| directImageLink | |||
| directionLeft | |||
| directionUp | |||
| directReturn | |||
| disableAllHeaderCode | |||
| disableAltText | |||
| disableCharsetHeader | |||
| disableImgBorderAttr | |||
| disablePageExternalUrl | |||
| disablePrefixComment | |||
| disablePreviewNotification | |||
| displayActiveOnLoad | |||
| displayActiveOnLoad | |||
| displayrecord | |||
| distributeX | |||
| distributeY | |||
| doctype | |||
| doctypeSwitch | |||
| doNotLinkIt | |||
| doNotShowLink | |||
| doNotStripHTML | |||
| dontCheckPid | |||
| dontFollowMouse | |||
| dontHideOnMouseUp | |||
| dontLinkIfSubmenu | |||
| dontMd5FieldNames | |||
| dontWrapInTable | |||
| doubleBrTag | |||
| doublePostCheck | |||
| dWorkArea | |||
| edge | |||
| edit | |||
| editIcons | |||
| editIcons | |||
| editPanel | |||
| EDITPANEL | |||
| EDITPANEL | |||
| effects | |||
| emailMess | |||
| emboss | |||
| emptyTitleHandling | |||
| emptyTitleHandling | |||
| emptyTitleHandling | |||
| enable | |||
| enableContentLengthHeader | |||
| encapsLines | |||
| encapsLinesStdWrap | |||
| encapsTagList | |||
| entryLevel | |||
| equalH | |||
| equals | |||
| evalErrors | |||
| evalFunc | |||
| excludeDoktypes | |||
| excludeNoSearchPages | |||
| excludeUidList | |||
| expAll | |||
| explode | |||
| ext | |||
| extbase | |||
| externalBlocks | |||
| extOnReady | |||
| extTarget | |||
| face.default | |||
| face.field | |||
| FEData | |||
| fe_userEditSelf | |||
| fe_userOwnSelf | |||
| field | |||
| fieldPrefix | |||
| fieldRequired | |||
| fieldWrap | |||
| file | |||
| FILE | |||
| filelink | |||
| fileList | |||
| fileTarget | |||
| firstLabel | |||
| firstLabelGeneral | |||
| flip | |||
| flop | |||
| foldSpeed | |||
| foldTimer | |||
| fontFile | |||
| fontSize | |||
| fontSizeMultiplicator | |||
| fontTag | |||
| footerData | |||
| forceAbsoluteUrl | |||
| forceTypeValue | |||
| FORM | |||
| format | |||
| formName | |||
| formurl | |||
| frame | |||
| frameReloadIfNotInFrameset | |||
| frameSet | |||
| freezeMouseover | |||
| ftu | |||
| gamma | |||
| gapBgCol | |||
| gapLineCol | |||
| gapLineThickness | |||
| gapWidth | |||
| gif | |||
| GIFBUILDER | |||
| globalNesting | |||
| GMENU | |||
| goodMess | |||
| gray | |||
| gr_list | |||
| groupBy | |||
| headerComment | |||
| headerData | |||
| headTag | |||
| height | |||
| hiddenFields | |||
| hide | |||
| hideButCreateMap | |||
| hideMenuTimer | |||
| hideMenuWhenNotOver | |||
| hideNonTranslated | |||
| highColor | |||
| HMENU | |||
| hover | |||
| hoverStyle | |||
| HRULER | |||
| HTML | |||
| html5 | |||
| htmlmail | |||
| HTMLparser | |||
| htmlSpecialChars | |||
| htmlTag_dir | |||
| htmlTag_langKey | |||
| htmlTag_setParams | |||
| http | |||
| icon | |||
| iconCObject | |||
| icon_image_ext_list | |||
| icon_link | |||
| icon_thumbSize | |||
| if | |||
| ifBlank | |||
| ifEmpty | |||
| IFSUB | |||
| IFSUBRO | |||
| ignore | |||
| IMAGE | |||
| image_compression | |||
| image_effects | |||
| image_frames | |||
| imgList | |||
| imgMap | |||
| imgMapExtras | |||
| imgMax | |||
| imgNameNotRandom | |||
| imgNamePrefix | |||
| imgObjNum | |||
| imgParams | |||
| imgPath | |||
| imgStart | |||
| IMGTEXT | |||
| import | |||
| inBranch | |||
| includeCSS | |||
| includeJS | |||
| includeJSFooter | |||
| includeJSFooterlibs | |||
| includeJSlibs | |||
| includeLibrary | |||
| includeLibs | |||
| includeNotInMenu | |||
| incT3Lib_htmlmail | |||
| index_descrLgd | |||
| index_enable | |||
| index_externals | |||
| index_metatags | |||
| infomail | |||
| inlineJS | |||
| inlineLanguageLabel | |||
| inlineSettings | |||
| inlineStyle2TempFile | |||
| innerStdWrap_all | |||
| innerWrap | |||
| innerWrap2 | |||
| inputLevels | |||
| insertClassesFromRTE | |||
| insertData | |||
| intensity | |||
| intTarget | |||
| intval | |||
| invert | |||
| IProcFunc | |||
| isFalse | |||
| isGreaterThan | |||
| isInList | |||
| isLessThan | |||
| isPositive | |||
| isTrue | |||
| itemArrayProcFunc | |||
| items | |||
| iterations | |||
| javascriptLibs | |||
| join | |||
| jpg | |||
| jsFooterInline | |||
| jsInline | |||
| JSMENU | |||
| JSwindow | |||
| JSwindow.altUrl | |||
| JSwindow.altUrl_noDefaultParams | |||
| JSwindow.expand | |||
| JSwindow.newWindow | |||
| JSwindow_params | |||
| jumpurl | |||
| jumpurl_enable | |||
| jumpurl_mailto_disable | |||
| keep | |||
| keepNonMatchedTags | |||
| keywords | |||
| keywordsField | |||
| labelStdWrap | |||
| labelWrap | |||
| lang | |||
| language | |||
| language_alt | |||
| languageField | |||
| layer_menu_id | |||
| layerStyle | |||
| layout | |||
| layoutRootPath | |||
| leftjoin | |||
| leftOffset | |||
| levels | |||
| limit | |||
| lineColor | |||
| lineThickness | |||
| linkAccessRestrictedPages | |||
| linkParams | |||
| linkVars | |||
| linkWrap | |||
| list | |||
| listNum | |||
| lm | |||
| LOAD_REGISTER | |||
| locale_all | |||
| localNesting | |||
| locationData | |||
| lockFilePath | |||
| lockPosition | |||
| lockPosition_addSelf | |||
| lockPosition_adjust | |||
| loginUser | |||
| longdescURL | |||
| loop | |||
| lowColor | |||
| lower | |||
| mailto | |||
| main | |||
| mainScript | |||
| makelinks | |||
| markers | |||
| markerWrap | |||
| mask | |||
| max | |||
| maxAge | |||
| maxH | |||
| maxHeight | |||
| maxItems | |||
| maxW | |||
| maxWidth | |||
| maxWInText | |||
| m.bgImg | |||
| m.bottomImg | |||
| m.bottomImg_mask | |||
| md5 | |||
| meaningfulTempFilePrefix | |||
| menuBackColor | |||
| menuHeight | |||
| menuOffset | |||
| menuWidth | |||
| message_page_is_being_generated | |||
| message_preview | |||
| message_preview_workspace | |||
| meta | |||
| metaCharset | |||
| method | |||
| minH | |||
| minifyCSS | |||
| minifyJS | |||
| minItems | |||
| minItems | |||
| minW | |||
| m.mask | |||
| moveJsFromHeaderToFooter | |||
| MP_defaults | |||
| MP_disableTypolinkClosestMPvalue | |||
| MP_mapRootPoints | |||
| MULTIMEDIA | |||
| name | |||
| namespaces | |||
| negate | |||
| newRecordFromTable | |||
| newRecordInPid | |||
| next | |||
| niceText | |||
| NO | |||
| noAttrib | |||
| noBlur | |||
| no_cache | |||
| noCols | |||
| noLink | |||
| noLinkUnderline | |||
| nonCachedSubst | |||
| none | |||
| nonTypoTagStdWrap | |||
| nonTypoTagUserFunc | |||
| nonWrappedTag | |||
| noOrderBy | |||
| noPageTitle | |||
| noResultObj | |||
| normalWhenNoLanguage | |||
| noRows | |||
| noScale | |||
| noScaleUp | |||
| noscript | |||
| noStretchAndMarginCells | |||
| notification_email_charset | |||
| notification_email_encoding | |||
| notification_email_urlmode | |||
| noTrimWrap | |||
| noValueInsert | |||
| noWrapAttr | |||
| numberFormat | |||
| numRows | |||
| obj | |||
| offset | |||
| offset | |||
| _offset | |||
| offsetWrap | |||
| onlyCurrentPid | |||
| opacity | |||
| options | |||
| orderBy | |||
| OTABLE | |||
| outerWrap | |||
| outline | |||
| output | |||
| outputLevels | |||
| override | |||
| overrideAttribs | |||
| overrideEdit | |||
| overrideId | |||
| PAGE | |||
| pageGenScript | |||
| pageRendererTemplateFile | |||
| pageTitleFirst | |||
| parameter | |||
| params | |||
| parseFunc | |||
| parseFunc | |||
| parseValues | |||
| partialRootPath | |||
| path | |||
| pidInList | |||
| pixelSpaceFontSizeRef | |||
| plainTextStdWrap | |||
| pluginNames | |||
| png | |||
| postCObject | |||
| postUserFunc | |||
| postUserFunkInt | |||
| preCObject | |||
| prefixComment | |||
| prefixLocalAnchors | |||
| prefixLocalAnchors | |||
| prefixRelPathWith | |||
| preIfEmptyListNum | |||
| prepend | |||
| preUserFunc | |||
| prev | |||
| previewBorder | |||
| printBeforeContent | |||
| prioriCalc | |||
| processScript | |||
| properties | |||
| protect | |||
| protectLvar | |||
| quality | |||
| quality | |||
| radioInputWrap | |||
| radioWrap | |||
| range | |||
| range | |||
| rawUrlEncode | |||
| recipient | |||
| RECORDS | |||
| recursive | |||
| redirect | |||
| reduceColors | |||
| relativeToParentLayer | |||
| relativeToTriggerItem | |||
| relPathPrefix | |||
| remap | |||
| remapTag | |||
| removeBadHTML | |||
| removeDefaultJS | |||
| removeIfEquals | |||
| removeIfFalse | |||
| removeObjectsOfDummy | |||
| removePrependedNumbers | |||
| removeTags | |||
| removeWrapping | |||
| renderCharset | |||
| renderObj | |||
| renderWrap | |||
| REQ | |||
| required | |||
| required | |||
| resources | |||
| resultObj | |||
| returnKey | |||
| returnLast | |||
| reverseOrder | |||
| rightjoin | |||
| rm | |||
| rmTagIfNoAttrib | |||
| RO_chBgColor | |||
| rootline | |||
| rotate | |||
| rows | |||
| rowSpace | |||
| sample | |||
| sample | |||
| section | |||
| sectionIndex | |||
| select | |||
| sendCacheHeaders | |||
| sendCacheHeaders_onlyWhenLoginDeniedInBranch | |||
| separator | |||
| setContentToCurrent | |||
| setCurrent | |||
| setfixed | |||
| setFixedHeight | |||
| setFixedWidth | |||
| setJS_mouseOver | |||
| setJS_openPic | |||
| setKeywords | |||
| shadow | |||
| sharpen | |||
| shear | |||
| short | |||
| shortcutIcon | |||
| showAccessRestrictedPages | |||
| showActive | |||
| showFirst | |||
| simulateStaticDocuments | |||
| simulateStaticDocuments_addTitle | |||
| simulateStaticDocuments_dontRedirectPathInfoError | |||
| simulateStaticDocuments_noTypeIfNoTitle | |||
| simulateStaticDocuments_pEnc | |||
| simulateStaticDocuments_pEnc_onlyP | |||
| simulateStaticDocuments_replacementChar | |||
| sitetitle | |||
| size | |||
| size.default | |||
| size.field | |||
| slide | |||
| smallFormFields | |||
| solarize | |||
| source | |||
| space | |||
| spaceAfter | |||
| spaceBefore | |||
| spaceBelowAbove | |||
| spaceLeft | |||
| spaceRight | |||
| spacing | |||
| spamProtectEmailAddresses | |||
| spamProtectEmailAddresses_atSubst | |||
| spamProtectEmailAddresses_lastDotSubst | |||
| SPC | |||
| special | |||
| split | |||
| splitRendering | |||
| src | |||
| stat | |||
| stat_apache | |||
| stat_apache_logfile | |||
| stat_apache_niceTitle | |||
| stat_apache_noHost | |||
| stat_apache_noRoot | |||
| stat_apache_notExtended | |||
| stat_apache_pagenames | |||
| stat_excludeBEuserHits | |||
| stat_excludeIPList | |||
| stat_mysql | |||
| stat_pageLen | |||
| stat_titleLen | |||
| stat_typeNumList | |||
| stayFolded | |||
| stdWrap | |||
| stdWrap2 | |||
| strftime | |||
| stripHtml | |||
| stripProfile | |||
| stylesheet | |||
| submenuObjSuffixes | |||
| subMenuOffset | |||
| subparts | |||
| subst_elementUid | |||
| subst_elementUid | |||
| substMarksSeparately | |||
| substring | |||
| swirl | |||
| sword | |||
| sword_noMixedCase | |||
| sword_standAlone | |||
| sys_language_mode | |||
| sys_language_overlay | |||
| sys_language_softExclude | |||
| sys_language_softMergeIfNotBlank | |||
| sys_language_uid | |||
| sys_page | |||
| table | |||
| tableParams | |||
| tables | |||
| tableStdWrap | |||
| tableStyle | |||
| tags | |||
| target | |||
| TCAselectItem | |||
| TDparams | |||
| template | |||
| TEMPLATE | |||
| templateFile | |||
| text | |||
| TEXT | |||
| textMargin | |||
| textMargin_outOfText | |||
| textMaxLength | |||
| textObjNum | |||
| textPos | |||
| textStyle | |||
| thickness | |||
| thousands_sep | |||
| title | |||
| titleTagFunction | |||
| titleText | |||
| titleText | |||
| tm | |||
| TMENU | |||
| token | |||
| topOffset | |||
| totalWidth | |||
| transparentBackground | |||
| transparentColor | |||
| trim | |||
| twice | |||
| typeNum | |||
| types | |||
| typolink | |||
| typolinkCheckRootline | |||
| typolinkEnableLinksAcrossDomains | |||
| typolinkLinkAccessRestrictedPages | |||
| typolinkLinkAccessRestrictedPages_addParams | |||
| uid | |||
| uidInList | |||
| uniqueGlobal | |||
| uniqueLinkVars | |||
| uniqueLocal | |||
| unset | |||
| unsetEmpty | |||
| upper | |||
| url | |||
| useCacheHash | |||
| useLargestItemX | |||
| useLargestItemY | |||
| USER | |||
| USERDEF1 | |||
| USERDEF1RO | |||
| USERDEF2RO | |||
| USERFEF2 | |||
| userFunc | |||
| userFunc_updateArray | |||
| userIdColumn | |||
| USER_INT | |||
| USERNAME_substToken | |||
| USERUID_substToken | |||
| USR | |||
| USRRO | |||
| value | |||
| variables | |||
| wave | |||
| where | |||
| width | |||
| wordSpacing | |||
| workArea | |||
| workOnSubpart | |||
| wrap | |||
| wrap2 | |||
| wrap3 | |||
| wrapAlign | |||
| wrapFieldName | |||
| wrapItemAndSub | |||
| wrapNoWrappedLines | |||
| wraps | |||
| xhtml_11 | |||
| xhtml_2 | |||
| xhtml_basic | |||
| xhtml_cleaning | |||
| xhtmlDoctype | |||
| xhtml_frames | |||
| xhtml+rdfa_10 | |||
| xhtml_strict | |||
| xhtml_trans | |||
| xml_10 | |||
| xml_11 | |||
| xmlprologue | |||
| xPosOffset | |||
| yPosOffset | |||
| @ -1,231 +0,0 @@ | |||
| # OCaml 3.12.1 | |||
| # Keywords | |||
| and | |||
| as | |||
| assert | |||
| begin | |||
| class | |||
| constraint | |||
| do | |||
| done | |||
| downto | |||
| else | |||
| end | |||
| exception | |||
| external | |||
| false | |||
| for | |||
| fun | |||
| function | |||
| functor | |||
| if | |||
| in | |||
| include | |||
| inherit | |||
| initializer | |||
| lazy | |||
| let | |||
| match | |||
| method | |||
| module | |||
| mutable | |||
| new | |||
| object | |||
| of | |||
| open | |||
| or | |||
| private | |||
| rec | |||
| sig | |||
| struct | |||
| then | |||
| to | |||
| true | |||
| try | |||
| type | |||
| val | |||
| virtual | |||
| when | |||
| while | |||
| with | |||
| # Pervasives | |||
| ! | |||
| != | |||
| & | |||
| && | |||
| * | |||
| ** | |||
| *. | |||
| + | |||
| +. | |||
| - | |||
| -. | |||
| / | |||
| /. | |||
| := | |||
| < | |||
| <= | |||
| <> | |||
| = | |||
| == | |||
| > | |||
| >= | |||
| @ | |||
| FP_infinite | |||
| FP_nan | |||
| FP_normal | |||
| FP_subnormal | |||
| FP_zero | |||
| LargeFile | |||
| Open_append | |||
| Open_binary | |||
| Open_creat | |||
| Open_nonblock | |||
| Open_rdonly | |||
| Open_text | |||
| Open_trunc | |||
| Open_wronly | |||
| Oupen_excl | |||
| ^ | |||
| ^^ | |||
| abs | |||
| abs_float | |||
| acos | |||
| asin | |||
| asr | |||
| at_exit | |||
| atan | |||
| atan2 | |||
| bool_of_string | |||
| ceil | |||
| char_of_int | |||
| classify_float | |||
| close_in | |||
| close_in_noerr | |||
| close_out | |||
| close_out_noerr | |||
| compare | |||
| cos | |||
| cosh | |||
| decr | |||
| do_at_exit | |||
| epsilon_float | |||
| exit | |||
| exp | |||
| expm1 | |||
| failwith | |||
| float | |||
| float_of_int | |||
| float_of_string | |||
| floor | |||
| flush | |||
| flush_all | |||
| format | |||
| format4 | |||
| format_of_string | |||
| fpclass | |||
| frexp | |||
| fst | |||
| ignore | |||
| in_channel | |||
| in_channel_length | |||
| incr | |||
| infinity | |||
| input | |||
| input_binary_int | |||
| input_byte | |||
| input_char | |||
| input_line | |||
| input_value | |||
| int_of_char | |||
| int_of_float | |||
| int_of_string | |||
| invalid_arg | |||
| land | |||
| ldexp | |||
| lnot | |||
| log | |||
| log10 | |||
| log1p | |||
| lor | |||
| lsl | |||
| lsr | |||
| lxor | |||
| max | |||
| max_float | |||
| max_int | |||
| min | |||
| min_float | |||
| min_int | |||
| mod | |||
| mod_float | |||
| modf | |||
| nan | |||
| neg_infinity | |||
| not | |||
| open_flag | |||
| open_in | |||
| open_in_bin | |||
| open_in_gen | |||
| open_out | |||
| open_out_bin | |||
| open_out_gen | |||
| or | |||
| out_channel | |||
| out_channel_length | |||
| output | |||
| output_binary_int | |||
| output_byte | |||
| output_char | |||
| output_string | |||
| output_value | |||
| pos_in | |||
| pos_out | |||
| pred | |||
| prerr_char | |||
| prerr_endline | |||
| prerr_float | |||
| prerr_int | |||
| prerr_newline | |||
| prerr_string | |||
| print_char | |||
| print_endline | |||
| print_float | |||
| print_int | |||
| print_newline | |||
| print_string | |||
| raise | |||
| read_float | |||
| read_int | |||
| read_line | |||
| really_input | |||
| ref | |||
| seek_in | |||
| seek_out | |||
| set_binary_mode_in | |||
| set_binary_mode_out | |||
| sin | |||
| sinh | |||
| snd | |||
| sqrt | |||
| stderr | |||
| stdin | |||
| stdout | |||
| string_of_bool | |||
| string_of_float | |||
| string_of_format | |||
| string_of_int | |||
| succ | |||
| tan | |||
| tanh | |||
| truncate | |||
| unsafe_really_input | |||
| valid_float_lexem | |||
| || | |||
| ~ | |||
| ~+ | |||
| ~+. | |||
| ~- | |||
| ~-. | |||
| @ -1,133 +0,0 @@ | |||
| Title: Auto Complete Mode - 変更点 | |||
| CSS: style.css | |||
| Auto Complete Mode 変更点 | |||
| ========================= | |||
| [Index](index.ja.txt) | |||
| \[[English](changes.txt)] | |||
| [ユーザーマニュアル](manual.ja.txt)も参照してください。 | |||
| v1.4の変更点 {#Changes_v1.4} | |||
| ------------ | |||
| ### 新しいオプション ### {#New_Options_v1.4} | |||
| * [`ac-use-dictionary-as-stop-words`](manual.ja.txt#ac-use-dictionary-as-stop-words) | |||
| * [`ac-non-trigger-commands`](manual.ja.txt#ac-non-trigger-commands) | |||
| ### 新しい情報源 ### {#New_Sources_v1.4} | |||
| * [`ac-source-ghc-mod`](manual.ja.txt#ac-source-ghc-mod) | |||
| * [`ac-source-slime`](manual.ja.txt#ac-source-slime) | |||
| ### 新しい辞書 ### {#New_Dictionaries_v1.4} | |||
| * erlang-mode | |||
| * ada-mode | |||
| ### 修正されたバグ ### {#Fixed_Bugs_v1.4} | |||
| * 頻度計算で稀に起こるエラー | |||
| * 辞書のキャッシュ戦略の改善 | |||
| * help-modeがおかしくなる問題を修正 ("help-setup-xref: Symbol's value as variable is void: help-xref-following") | |||
| * auto-completeがWindows上でpos-tipを使えなかった問題を修正 | |||
| * [linum-modeの表示に関するバグの回避策を追加](manual.ja.txt#linum-mode-bug) | |||
| v1.3.1の変更点 {#Changes_v1.3.1} | |||
| ------------ | |||
| ### 修正されたバグ ### {#Fixed_Bugs_v1.3.1} | |||
| * css-modeでborder:と入力するとEmacsが固まる問題 | |||
| ### その他 ### {#Others_v1.3.1} | |||
| * COPYINGファイルの追加 | |||
| 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} | |||
| * 多くのバグ修正 | |||
| * パフォーマンスの改善 | |||
| @ -1,133 +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.4 Changes {#Changes_v1.4} | |||
| ------------ | |||
| ### New Options ### {#New_Options_v1.4} | |||
| * [`ac-use-dictionary-as-stop-words`](manual.txt#ac-use-dictionary-as-stop-words) | |||
| * [`ac-non-trigger-commands`](manual.txt#ac-non-trigger-commands) | |||
| ### New Sources ### {#New_Sources_v1.4} | |||
| * [`ac-source-ghc-mod`](manual.txt#ac-source-ghc-mod) | |||
| * [`ac-source-slime`](manual.txt#ac-source-slime) | |||
| ### New Dictionaries ### {#New_Dictionaries_v1.4} | |||
| * erlang-mode | |||
| * ada-mode | |||
| ### Fixed Bugs ### {#Fixed_Bugs_v1.4} | |||
| * Rare completion frequency computation error | |||
| * Improve dictionary caching sterategy | |||
| * Fixed help-mode error ("help-setup-xref: Symbol's value as variable is void: help-xref-following") | |||
| * Fixed auto-complete couldn't use pos-tip on Windows | |||
| * [Added workaround for linum-mode displaying bug](manual.txt#linum-mode-bug) | |||
| v1.3.1 Changes {#Changes_v1.3.1} | |||
| ------------ | |||
| ### Fixed Bugs ### {#Fixed_Bugs_v1.3.1} | |||
| * Significant bug on css-mode | |||
| ### Others ### {#Others_v1.3.1} | |||
| * Added COPYING files | |||
| 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 | |||
| @ -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) | |||
| <video src="ac-demo.ogv" controls="true" width="720" height="672" /> | |||
| @ -1,79 +0,0 @@ | |||
| Title: Auto Complete Mode - GNU Emacsのための最も賢い自動補完機能 | |||
| CSS: style.css | |||
| Auto Complete Mode | |||
| ================== | |||
| *[GNU Emacs][]のための最も賢い自動補完機能* | |||
| \[[English](index.txt)] | |||
| * * * * | |||
| {toc} | |||
| * * * * | |||
| Auto Complete Modeとは | |||
| ---------------------- | |||
| Auto Complete Modeは[GNU Emacs][]のための最も賢い自動補完機能です。従来の使いづらい補完インターフェースを一新し、ユーザーがより本質的な作業に集中できる環境を提供します。 | |||
| 特徴 | |||
| ---- | |||
| * 視覚的な操作感 | |||
| * 統計的手法による補完オーバーヘッドの削減 | |||
| * 拡張性 | |||
| スクリーンショット | |||
| ------------------ | |||
|    | |||
| デモ | |||
| ---- | |||
| * [YouTube](http://www.youtube.com/watch?v=rGVVnDxwJYE) | |||
| * [Ogg Theora with video tag](demo.txt) | |||
| ダウンロード | |||
| ------------ | |||
| ### 最新安定板 (v1.3.1) ### {#Latest_Stable} | |||
| [v1.3.1の変更点](changes.ja.txt#Changes_v1.3.1) | |||
| * [auto-complete-1.3.1.tar.bz2](http://cx4a.org/pub/auto-complete/auto-complete-1.3.1.tar.bz2) | |||
| * [auto-complete-1.3.1.tar.zip](http://cx4a.org/pub/auto-complete/auto-complete-1.3.1.zip) | |||
| ユーザーマニュアル | |||
| ------------------ | |||
| [Auto Complete Modeユーザーマニュアル](manual.ja.txt) | |||
| 利用者の声 | |||
| ---------- | |||
| 利用者の声をぜひお聞かせください。あなたの名前(匿名希望可)とコメントをそえて[tomo@cx4a.org](mailto: tomo@cx4a.org)までメールでお願いします。どんなコメントでも歓迎です。 | |||
| ソースコード | |||
| ------------ | |||
| ソースコードは以下のGitリポジトリから取得できます。 | |||
| * <http://cx4a.org/repo/auto-complete.git> | |||
| * <http://github.com/m2ym/auto-complete> (GitHubミラー) | |||
| バグレポート | |||
| ------------ | |||
| [Auto Complete Modeのバグトラッキングシステム](http://cx4a.org/redmine/projects/auto-complete-mode)に新しいチケットを登録してください。 | |||
| ライセンス | |||
| ---------- | |||
| このソフトウェアは[GPLv3][]のもとで配布されます。 | |||
| [GNU Emacs]: http://www.gnu.org/software/emacs/ | |||
| [GPLv3]: http://gplv3.fsf.org/ | |||
| @ -1,79 +0,0 @@ | |||
| Title: Auto Complete Mode - The most intelligent auto-completion extension for GNU Emacs | |||
| CSS: style.css | |||
| Auto Complete Mode | |||
| ================== | |||
| *The most intelligent auto-completion extension for [GNU Emacs][]* | |||
| \[[Japanese](index.ja.txt)] | |||
| * * * * | |||
| {toc} | |||
| * * * * | |||
| What is Auto Complete Mode? | |||
| --------------------------- | |||
| Auto Complete Mode is the most intelligent auto-completion extension for [GNU Emacs][]. It extends the standard Emacs completion interface and provides an environment that allows users to concentrate more on their own work. | |||
| Features | |||
| -------- | |||
| * Visual interface | |||
| * Reduce overhead of completion by using statistic method | |||
| * Extensibility | |||
| Screenshots | |||
| ----------- | |||
|    | |||
| Demo | |||
| ---- | |||
| * [YouTube](http://www.youtube.com/watch?v=rGVVnDxwJYE) | |||
| * [Ogg Theora with video tag](demo.txt) | |||
| Downloads | |||
| --------- | |||
| ### Latest Stable (v1.3.1) ### {#Latest_Stable} | |||
| [Changes v1.3.1](changes.txt#Changes_v1.3.1) | |||
| * [auto-complete-1.3.1.tar.bz2](/pub/auto-complete/auto-complete-1.3.1.tar.bz2) | |||
| * [auto-complete-1.3.1.zip](/pub/auto-complete/auto-complete-1.3.1.zip) | |||
| User Manual | |||
| ----------- | |||
| [Auto Complete Mode User Manual](manual.txt) | |||
| User's Voice | |||
| ------------ | |||
| Please send me a comment with your name (or anonymous) to [tomo@cx4a.org](mailto: tomo@cx4a.org) if you like it. Any comments are welcome. | |||
| Source Code | |||
| ----------- | |||
| Git repositories are available: | |||
| * <http://cx4a.org/repo/auto-complete.git> | |||
| * <http://github.com/m2ym/auto-complete> (GitHub mirror) | |||
| Reporting Bugs | |||
| -------------- | |||
| Visit [Auto Complete Mode Bug Tracking System](http://cx4a.org/redmine/projects/auto-complete-mode) and create a new ticket. | |||
| License | |||
| ------- | |||
| This software is distributed under the term of [GPLv3][]+. | |||
| [GNU Emacs]: http://www.gnu.org/software/emacs/ | |||
| [GPLv3]: http://gplv3.fsf.org/ | |||
| @ -1,27 +0,0 @@ | |||
| body { | |||
| margin: 1em; | |||
| } | |||
| h1, h2, h3 { | |||
| margin-top: 1em; | |||
| } | |||
| pre { | |||
| margin: 0.5em 2em; | |||
| padding: 0.5em; | |||
| background-color: #eee; | |||
| border: 1px solid #ddd; | |||
| } | |||
| table { | |||
| margin-left: 1em; | |||
| background-color: lightgray; | |||
| } | |||
| td, th { | |||
| padding: 0.3em; | |||
| } | |||
| td { | |||
| background-color: white; | |||
| } | |||
| @ -1,18 +0,0 @@ | |||
| ;;; buffer-move-autoloads.el --- automatically extracted autoloads | |||
| ;; | |||
| ;;; Code: | |||
| ;;;### (autoloads nil nil ("buffer-move-pkg.el" "buffer-move.el") | |||
| ;;;;;; (20884 62404 872024)) | |||
| ;;;*** | |||
| (provide 'buffer-move-autoloads) | |||
| ;; Local Variables: | |||
| ;; version-control: never | |||
| ;; no-byte-compile: t | |||
| ;; no-update-autoloads: t | |||
| ;; coding: utf-8 | |||
| ;; End: | |||
| ;;; buffer-move-autoloads.el ends here | |||
| @ -1 +0,0 @@ | |||
| (define-package "buffer-move" "0.4" "swap buffers between windows" (quote nil)) | |||
| @ -1,135 +0,0 @@ | |||
| ;;; buffer-move.el --- swap buffers between windows | |||
| ;; Copyright (C) 2004 Lucas Bonnet <lukhas@free.fr> | |||
| ;; Author: Lucas Bonnet <lucas@rincevent.net> | |||
| ;; Keywords: lisp,convenience | |||
| ;; Version: 0.4 | |||
| ;; URL: http://www.emacswiki.org/cgi-bin/wiki/buffer-move.el | |||
| ;; 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 2 | |||
| ;; 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, write to the Free Software | |||
| ;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | |||
| ;; 02111-1307, USA. | |||
| ;;; Commentary: | |||
| ;; This file is for lazy people wanting to swap buffers without | |||
| ;; typing C-x b on each window. This is useful when you have : | |||
| ;; +--------------+-------------+ | |||
| ;; | | | | |||
| ;; | #emacs | #gnus | | |||
| ;; | | | | |||
| ;; +--------------+-------------+ | |||
| ;; | | | |||
| ;; | .emacs | | |||
| ;; | | | |||
| ;; +----------------------------+ | |||
| ;; and you want to have : | |||
| ;; +--------------+-------------+ | |||
| ;; | | | | |||
| ;; | #gnus | .emacs | | |||
| ;; | | | | |||
| ;; +--------------+-------------+ | |||
| ;; | | | |||
| ;; | #emacs | | |||
| ;; | | | |||
| ;; +----------------------------+ | |||
| ;; With buffer-move, just go in #gnus, do buf-move-left, go to #emacs | |||
| ;; (which now should be on top right) and do buf-move-down. | |||
| ;; To use it, simply put a (require 'buffer-move) in your ~/.emacs and | |||
| ;; define some keybindings. For example, i use : | |||
| ;; (global-set-key (kbd "<C-S-up>") 'buf-move-up) | |||
| ;; (global-set-key (kbd "<C-S-down>") 'buf-move-down) | |||
| ;; (global-set-key (kbd "<C-S-left>") 'buf-move-left) | |||
| ;; (global-set-key (kbd "<C-S-right>") 'buf-move-right) | |||
| ;;; Code: | |||
| (require 'windmove) | |||
| (defun buf-move-up () | |||
| "Swap the current buffer and the buffer above the split. | |||
| If there is no split, ie now window above the current one, an | |||
| error is signaled." | |||
| ;; "Switches between the current buffer, and the buffer above the | |||
| ;; split, if possible." | |||
| (interactive) | |||
| (let* ((other-win (windmove-find-other-window 'up)) | |||
| (buf-this-buf (window-buffer (selected-window)))) | |||
| (if (null other-win) | |||
| (error "No window above this one") | |||
| ;; swap top with this one | |||
| (set-window-buffer (selected-window) (window-buffer other-win)) | |||
| ;; move this one to top | |||
| (set-window-buffer other-win buf-this-buf) | |||
| (select-window other-win)))) | |||
| (defun buf-move-down () | |||
| "Swap the current buffer and the buffer under the split. | |||
| If there is no split, ie now window under the current one, an | |||
| error is signaled." | |||
| (interactive) | |||
| (let* ((other-win (windmove-find-other-window 'down)) | |||
| (buf-this-buf (window-buffer (selected-window)))) | |||
| (if (or (null other-win) | |||
| (string-match "^ \\*Minibuf" (buffer-name (window-buffer other-win)))) | |||
| (error "No window under this one") | |||
| ;; swap top with this one | |||
| (set-window-buffer (selected-window) (window-buffer other-win)) | |||
| ;; move this one to top | |||
| (set-window-buffer other-win buf-this-buf) | |||
| (select-window other-win)))) | |||
| (defun buf-move-left () | |||
| "Swap the current buffer and the buffer on the left of the split. | |||
| If there is no split, ie now window on the left of the current | |||
| one, an error is signaled." | |||
| (interactive) | |||
| (let* ((other-win (windmove-find-other-window 'left)) | |||
| (buf-this-buf (window-buffer (selected-window)))) | |||
| (if (null other-win) | |||
| (error "No left split") | |||
| ;; swap top with this one | |||
| (set-window-buffer (selected-window) (window-buffer other-win)) | |||
| ;; move this one to top | |||
| (set-window-buffer other-win buf-this-buf) | |||
| (select-window other-win)))) | |||
| (defun buf-move-right () | |||
| "Swap the current buffer and the buffer on the right of the split. | |||
| If there is no split, ie now window on the right of the current | |||
| one, an error is signaled." | |||
| (interactive) | |||
| (let* ((other-win (windmove-find-other-window 'right)) | |||
| (buf-this-buf (window-buffer (selected-window)))) | |||
| (if (null other-win) | |||
| (error "No right split") | |||
| ;; swap top with this one | |||
| (set-window-buffer (selected-window) (window-buffer other-win)) | |||
| ;; move this one to top | |||
| (set-window-buffer other-win buf-this-buf) | |||
| (select-window other-win)))) | |||
| (provide 'buffer-move) | |||
| ;;; buffer-move.el ends here | |||
| @ -1,16 +0,0 @@ | |||
| ;;; centered-cursor-mode-autoloads.el --- automatically extracted autoloads | |||
| ;; | |||
| ;;; Code: | |||
| (add-to-list 'load-path (or (file-name-directory #$) (car load-path))) | |||
| ;;;### (autoloads nil nil ("centered-cursor-mode.el") (21272 53587 | |||
| ;;;;;; 863283 552000)) | |||
| ;;;*** | |||
| ;; Local Variables: | |||
| ;; version-control: never | |||
| ;; no-byte-compile: t | |||
| ;; no-update-autoloads: t | |||
| ;; End: | |||
| ;;; centered-cursor-mode-autoloads.el ends here | |||
| @ -1 +0,0 @@ | |||
| (define-package "centered-cursor-mode" "0.5.1" "cursor stays vertically centered" 'nil) | |||
| @ -1,407 +0,0 @@ | |||
| ;;; centered-cursor-mode.el --- cursor stays vertically centered | |||
| ;; Copyright (C) 2007 André Riemann | |||
| ;; Author: André Riemann <andre.riemann@web.de> | |||
| ;; Maintainer: André Riemann <andre.riemann@web.de> | |||
| ;; Created: 2007-09-14 | |||
| ;; Keywords: convenience | |||
| ;; URL: http://www.emacswiki.org/cgi-bin/wiki/centered-cursor-mode.el | |||
| ;; Compatibility: only tested with GNU Emacs 23.0 | |||
| ;; Version: 0.5.1 | |||
| ;; Last-Updated: 2009-02-23 | |||
| ;; This file 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. | |||
| ;; This file 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., 51 Franklin Street, Fifth Floor, Boston, | |||
| ;; MA 02110-1301, USA. | |||
| ;;; Commentary: | |||
| ;; Makes the cursor stay vertically in a defined position (usually | |||
| ;; centered). The vertical position can be altered, see key definition | |||
| ;; below. | |||
| ;; To load put that in .emacs: | |||
| ;; (require 'centered-cursor-mode) | |||
| ;; To activate do: | |||
| ;; M-x centered-cursor-mode | |||
| ;; for buffer local or | |||
| ;; M-x global-centered-cursor-mode | |||
| ;; for global minor mode. | |||
| ;; Also possible: put that in .emacs | |||
| ;; (and | |||
| ;; (require 'centered-cursor-mode) | |||
| ;; (global-centered-cursor-mode +1)) | |||
| ;; to always have centered-cursor-mode on in all buffers. | |||
| ;;; TODO: | |||
| ;; - the code is a mess | |||
| ;; - ccm-vpos-inverted doesn't work with ccm-vpos == 0, because first | |||
| ;; position from top is 0 and from bottom -1 | |||
| ;; - interactive first start isn't animated when calling global-... | |||
| ;; because it starts the modes for each buffer and interactive-p fails | |||
| ;; for that | |||
| ;; - more bugs? | |||
| ;;; Change Log: | |||
| ;; 2009-02-23 andre-r | |||
| ;; * some simplifications | |||
| ;; 2009-02-22 andre-r | |||
| ;; * some tips from Drew Adams: | |||
| ;; - new local variable coding:utf-8 | |||
| ;; - made recenter-sequence a defvar | |||
| ;; - added groups scrolling and convenience | |||
| ;; - replaced mouse-4 and mouse-5 with | |||
| ;; mouse-wheel-up-event and mouse-wheel-down-event | |||
| ;; - added scroll-bar-toolkit-scroll to ccm-ignored-commands | |||
| ;; - made ccm-ignored-commands customisable | |||
| ;; * removed a bug where it didn't work with more than one window | |||
| ;; displaying the same buffer | |||
| ;; * added function for page up and down scrolling | |||
| ;; (standard ones didn't work well with this mode) | |||
| ;; * made the animation delay customisable | |||
| ;; * made the initial vertical position customisable | |||
| ;; * made the behaviour at the end of the file customisable | |||
| ;; 2008-02-02 andre-r | |||
| ;; * fixed bug that led to wrong-type-argument | |||
| ;; when opening a new buffer | |||
| ;; * some other minor stuff | |||
| ;; 2007-09-24 andre-r | |||
| ;; * added global minor mode | |||
| ;; 2007-09-21 andre-r | |||
| ;; * not recentering at end of buffer | |||
| ;; * defvar animate-first-start-p | |||
| ;; 2007-09-14 andre-r | |||
| ;; * inital release | |||
| ;; This file is *NOT* part of GNU Emacs. | |||
| ;;; Code: | |||
| (defgroup centered-cursor nil | |||
| "Makes the cursor stay vertically in a defined position (usually centered). | |||
| Instead the cursor the text moves around the cursor." | |||
| :group 'scrolling | |||
| :group 'convenience | |||
| :link '(emacs-library-link :tag "Source Lisp File" "centered-cursor-mode.el") | |||
| :link '(url-link "http://www.emacswiki.org/cgi-bin/wiki/centered-cursor-mode.el")) | |||
| (defcustom ccm-step-size 2 | |||
| "Step size when animated recentering." | |||
| :group 'centered-cursor | |||
| :tag "Animation step size" | |||
| :type 'integer) | |||
| (defcustom ccm-step-delay 0.02 | |||
| "Delay between animation steps. | |||
| If you want a different animation speed." | |||
| :group 'centered-cursor | |||
| :tag "Animation step delay" | |||
| :type 'number) | |||
| (defcustom ccm-ignored-commands '(mouse-drag-region | |||
| mouse-set-point | |||
| widget-button-click | |||
| scroll-bar-toolkit-scroll) | |||
| "After these commands recentering is ignored. | |||
| This is to prevent unintentional jumping (especially when mouse | |||
| clicking). Following commands (except the ignored ones) will | |||
| cause an animated recentering to give a feedback and not just | |||
| jumping to the center." | |||
| :group 'centered-cursor | |||
| :tag "Ignored commands" | |||
| :type '(repeat (symbol :tag "Command"))) | |||
| (defcustom ccm-vpos-init '(1- (round (window-body-height) 2)) | |||
| "This is the screen line position where the cursor initially stays." | |||
| :group 'centered-cursor | |||
| :tag "Vertical cursor position" | |||
| :type '(choice (const :tag "Center" (1- (round (window-body-height) 2))) | |||
| (const :tag "Golden ratio" (round (* 21 (window-body-height)) 34)) | |||
| (integer :tag "Lines from top" :value 10))) | |||
| (make-variable-buffer-local 'ccm-vpos-init) | |||
| (defcustom ccm-vpos-inverted 1 | |||
| "Inverted vertical cursor position. | |||
| Defines if the initial vertical position `ccm-vpos-init' is | |||
| measured from the bottom instead from the top." | |||
| :group 'centered-cursor | |||
| :tag "Inverted cursor position" | |||
| :type '(choice (const :tag "Inverted" -1) | |||
| (const :tag "Not inverted" 1))) | |||
| (make-variable-buffer-local 'ccm-vpos-inverted) | |||
| (defcustom ccm-recenter-at-end-of-file nil | |||
| "Recenter at the end of the file. | |||
| If non-nil the end of the file is recentered. If nil the end of | |||
| the file stays at the end of the window." | |||
| :group 'centered-cursor | |||
| :tag "Recenter at EOF" | |||
| :type '(choice (const :tag "Don't recenter at the end of the file" nil) | |||
| (const :tag "Recenter at the end of the file" t))) | |||
| (make-variable-buffer-local 'ccm-recenter-end-of-file) | |||
| (defvar ccm-vpos nil | |||
| "This is the screen line position where the cursor stays.") | |||
| (make-variable-buffer-local 'ccm-vpos) | |||
| (defvar animate-first-start-p nil | |||
| "Whether or not to animate at first start. It is set to nil, if | |||
| centered-cursor-mode is called non-interactively.") | |||
| (make-variable-buffer-local 'animate-first-start-p) | |||
| (defvar recenter-sequence nil | |||
| "Before animated recentering a list is generated first with positions | |||
| to successively recenter to") | |||
| (make-variable-buffer-local 'recenter-sequence) | |||
| (defvar ccm-map | |||
| (let ((ccm-map (make-sparse-keymap))) | |||
| (define-key ccm-map [(control meta -)] 'ccm-vpos-up) | |||
| (define-key ccm-map [(control meta +)] 'ccm-vpos-down) | |||
| (define-key ccm-map [(control meta =)] 'ccm-vpos-down) | |||
| (define-key ccm-map [(control meta ?0)] 'ccm-vpos-recenter) | |||
| (define-key ccm-map [(meta v)] 'ccm-scroll-down) | |||
| (define-key ccm-map [(control v)] 'ccm-scroll-up) | |||
| (define-key ccm-map [prior] 'ccm-scroll-down) | |||
| (define-key ccm-map [next] 'ccm-scroll-up) | |||
| ccm-map) | |||
| "Keymap used in centered-cursor-mode.") | |||
| (defun ccm-mwheel-scroll (event) | |||
| "Very similar to `mwheel-scroll', but does not use `scroll-down' | |||
| and `scroll-up' but `previous-line' and `next-line', that is, the | |||
| cursor is moved and thus the text in the window is scrolled | |||
| due to `recenter'. | |||
| The customizable variable `mouse-wheel-scroll-amount' is used to | |||
| determine how much to scroll, where nil instead of a number means | |||
| the same as in mwheel-scroll, scroll by a near full screen. | |||
| This command exists, because mwheel-scroll caused strange | |||
| behaviour with automatic recentering." | |||
| ;; (interactive (list last-input-event)) | |||
| (interactive "e") | |||
| (let* ((mods (delq 'click (delq 'double (delq 'triple (event-modifiers event))))) | |||
| (amt (assoc mods mouse-wheel-scroll-amount))) | |||
| ;;(message "%S" mods) | |||
| (if amt | |||
| (setq amt (or (cdr amt) | |||
| (- (window-body-height) | |||
| next-screen-context-lines))) | |||
| (let ((list-elt mouse-wheel-scroll-amount)) | |||
| (while (consp (setq amt (pop list-elt)))))) | |||
| (if mouse-wheel-follow-mouse | |||
| (select-window (posn-window (event-start event)))) | |||
| (let ((button (mwheel-event-button event))) | |||
| (cond | |||
| ((eq button mouse-wheel-down-event) | |||
| (forward-line (- amt))) | |||
| ;;(princ amt)) | |||
| ((eq button mouse-wheel-up-event) | |||
| (forward-line amt)) | |||
| ;;(princ amt)) | |||
| (t (error "Bad binding in ccm-mwheel-scroll")))))) | |||
| (defun ccm-scroll-down (&optional arg) | |||
| "Replaces `scroll-down' because with scroll-down | |||
| `centered-cursor-mode' sometimes doesn't reach the top of the | |||
| buffer. This version actually moves the cursor with | |||
| `previous-line'. Since with centered-cursor-mode the cursor is in | |||
| a fixed position the movement appears as page up." | |||
| (interactive "P") | |||
| (let ((amt (or arg (- (window-body-height) | |||
| next-screen-context-lines)))) | |||
| (forward-line (- amt)))) | |||
| (defun ccm-scroll-up (&optional arg) | |||
| "Replaces `scroll-up' to be consistent with `ccm-scroll-down'. | |||
| This version actually moves the cursor with `previous-line'. | |||
| Since with centered-cursor-mode the cursor is in a fixed position | |||
| the movement appears as page up." | |||
| (interactive "P") | |||
| (let ((amt (or arg (- (window-body-height) | |||
| next-screen-context-lines)))) | |||
| (forward-line amt))) | |||
| (defun ccm-vpos-down (arg) | |||
| "Adjust the value of the screen line (where the cursor stays) by arg. | |||
| Negative values for arg are possible. Just the variable ccm-vpos | |||
| is set." | |||
| (interactive "p") | |||
| (or arg (setq arg 1)) | |||
| (let ((new-pos (if (< ccm-vpos 0) | |||
| (- ccm-vpos arg) | |||
| (+ ccm-vpos arg))) | |||
| ;; see pos-visible-in-window-p | |||
| (vpos-max (if (< ccm-vpos 0) | |||
| -1 | |||
| (- (window-body-height) 2))) | |||
| (vpos-min (if (< ccm-vpos 0) | |||
| (- 1 (window-body-height)) | |||
| 0))) | |||
| (setq ccm-vpos | |||
| (cond | |||
| ((< new-pos vpos-min) | |||
| vpos-min) | |||
| ((> new-pos vpos-max) | |||
| vpos-max) | |||
| (t | |||
| new-pos))))) | |||
| (defun ccm-vpos-up (arg) | |||
| "See `ccm-vpos-down'." | |||
| (interactive "p") | |||
| (or arg (setq arg 1)) | |||
| (ccm-vpos-down (- arg))) | |||
| (defun ccm-vpos-recenter () | |||
| "Set the value of the screen line (where the cursor stays) in | |||
| the center. Just the variable ccm-vpos is set." | |||
| (interactive) | |||
| (if (equal (current-buffer) | |||
| (window-buffer (selected-window))) | |||
| (setq ccm-vpos (* (eval ccm-vpos-init))) | |||
| ccm-vpos-inverted)) | |||
| (defun ccm-position-cursor () | |||
| "Do the actual recentering at the position `ccm-vpos'." | |||
| (unless (member this-command ccm-ignored-commands) | |||
| (unless ccm-vpos | |||
| (ccm-vpos-recenter)) | |||
| (unless (minibufferp (current-buffer)) | |||
| (if (equal (current-buffer) | |||
| (window-buffer (selected-window))) | |||
| (let* ((current-line | |||
| (if (< ccm-vpos 0) | |||
| ;; one-based, from bottom, negative | |||
| (- (count-lines (point) | |||
| ;; window-end is sometimes < 0 | |||
| ;; when opening a help buffer | |||
| (if (> (window-end) 0) | |||
| (window-end) | |||
| 1))) | |||
| ;; zero-based, from top, positive | |||
| (+ (count-lines (window-start) (point)) | |||
| ;; count-lines returns different value in column 0 | |||
| (if (= (current-column) 0) 0 -1)))) | |||
| (diff (- ccm-vpos current-line)) | |||
| (step-size ccm-step-size) | |||
| (step-delay ccm-step-delay) | |||
| (vpos-inverted ccm-vpos-inverted) | |||
| (recenter-at-end-of-file ccm-recenter-at-end-of-file)) | |||
| (let* ((bottom-vpos (if (< ccm-vpos 0) | |||
| (- ccm-vpos) | |||
| (- (window-body-height) ccm-vpos))) | |||
| (correction (save-excursion | |||
| (if (or (= (point) (point-max)) | |||
| (progn | |||
| (goto-char (point-max)) | |||
| (zerop (current-column)))) | |||
| 1 0))) | |||
| ;; lines from point to end of buffer | |||
| (bottom-lines (+ (count-lines (point) (point-max)) | |||
| correction))) | |||
| ;; only animate if the point was moved rather far away | |||
| ;; before by a mouseclick (see ccm-ignored-commands) | |||
| ;; or if minor mode is just entered interactively | |||
| (if (not (and (> (abs diff) 4) | |||
| (or (member last-command ccm-ignored-commands) | |||
| animate-first-start-p))) | |||
| (recenter (if (and (< bottom-lines bottom-vpos) | |||
| (not recenter-at-end-of-file)) | |||
| ;; if near the bottom, recenter in the | |||
| ;; negative screen line that equals the | |||
| ;; bottom buffer line, i.e. if we are in | |||
| ;; the second last line (-2) of the | |||
| ;; buffer, the cursor will be recentered | |||
| ;; in -2 | |||
| (- bottom-lines) | |||
| ccm-vpos)) | |||
| (setq animate-first-start-p nil) | |||
| ;; first build a list with positions to successively recenter to | |||
| (setq recenter-sequence | |||
| ;; reverse: because we build the list not FROM -> TO but | |||
| ;; TO -> FROM because if step size in number-sequence is | |||
| ;; bigger than one, TO might not included, that means the | |||
| ;; ccm-vpos would not be reached | |||
| ;; cdr: don't recenter the current-line | |||
| (if (and (< bottom-lines bottom-vpos) | |||
| (not recenter-at-end-of-file)) | |||
| ;; this one is for animation near the bottom | |||
| (cdr (reverse (number-sequence | |||
| (- bottom-lines) | |||
| (if (< ccm-vpos 0) | |||
| current-line | |||
| (- (- (window-body-height) current-line))) | |||
| (* (/ diff (abs diff)) (- step-size))))) | |||
| (cdr (reverse (number-sequence | |||
| ccm-vpos | |||
| current-line | |||
| (* (/ diff (abs diff)) (- step-size))))))) | |||
| ;; (message "%d %d %d (%d): %S" current-line ccm-vpos bottom-lines diff recenter-sequence) | |||
| (while recenter-sequence | |||
| ;; actual animation | |||
| (recenter (pop recenter-sequence)) | |||
| (if (car recenter-sequence) (sit-for step-delay t)))))))))) | |||
| (defun ccm-first-start (animate) | |||
| "Called from centered-cursor-mode. Animate at first start, if | |||
| centered-cursor-mode is called interactively." | |||
| (let ((animate-first-start-p animate)) | |||
| (ccm-vpos-recenter) | |||
| (ccm-position-cursor))) | |||
| ;;(defalias 'ccm 'centered-cursor-mode) | |||
| (define-minor-mode centered-cursor-mode | |||
| "Makes the cursor stay vertically in a defined | |||
| position (usually centered)." | |||
| :init-value nil | |||
| ;; :lighter nil | |||
| :lighter " ¢" | |||
| :keymap ccm-map | |||
| (cond | |||
| (centered-cursor-mode | |||
| (ccm-first-start (interactive-p)) | |||
| (add-hook 'post-command-hook 'ccm-position-cursor t t) | |||
| (add-hook 'window-configuration-change-hook 'ccm-vpos-recenter t t)) | |||
| (t | |||
| (remove-hook 'post-command-hook 'ccm-position-cursor t) | |||
| (remove-hook 'window-configuration-change-hook 'ccm-vpos-recenter t)))) | |||
| (define-global-minor-mode global-centered-cursor-mode centered-cursor-mode | |||
| centered-cursor-mode) | |||
| (provide 'centered-cursor-mode) | |||
| ;;; Help: | |||
| ;; (info "(elisp)Defining Minor Modes") | |||
| ;; (info "(elisp)Screen Lines") | |||
| ;; (info "(elisp)Hooks") | |||
| ;; (info "(elisp)Customization") | |||
| ;; (find-function 'mwheel-scroll) | |||
| ;; Local Variables: | |||
| ;; coding: utf-8 | |||
| ;; End: | |||
| ;;; centered-cursor-mode.el ends here | |||
| @ -1,157 +0,0 @@ | |||
| ;;; color-theme-autoloads.el --- automatically extracted autoloads | |||
| ;; | |||
| ;;; Code: | |||
| ;;;### (autoloads (color-theme-initialize color-theme-submit color-theme-install | |||
| ;;;;;; color-theme-compare color-theme-make-snapshot color-theme-analyze-defun | |||
| ;;;;;; color-theme-print color-theme-install-at-point-for-current-frame | |||
| ;;;;;; color-theme-install-at-mouse color-theme-describe color-theme-select) | |||
| ;;;;;; "color-theme" "color-theme.el" (21002 6279 0 0)) | |||
| ;;; Generated autoloads from color-theme.el | |||
| (autoload 'color-theme-select "color-theme" "\ | |||
| Displays a special buffer for selecting and installing a color theme. | |||
| With optional prefix ARG, this buffer will include color theme libraries | |||
| as well. A color theme library is in itself not complete, it must be | |||
| used as part of another color theme to be useful. Thus, color theme | |||
| libraries are mainly useful for color theme authors. | |||
| \(fn &optional ARG)" t nil) | |||
| (autoload 'color-theme-describe "color-theme" "\ | |||
| Describe color theme listed at point. | |||
| This shows the documentation of the value of text-property color-theme | |||
| at point. The text-property color-theme should be a color theme | |||
| function. See `color-themes'. | |||
| \(fn)" t nil) | |||
| (autoload 'color-theme-install-at-mouse "color-theme" "\ | |||
| Install color theme clicked upon using the mouse. | |||
| First argument EVENT is used to set point. Then | |||
| `color-theme-install-at-point' is called. | |||
| \(fn EVENT)" t nil) | |||
| (autoload 'color-theme-install-at-point-for-current-frame "color-theme" "\ | |||
| Install color theme at point for current frame only. | |||
| Binds `color-theme-is-global' to nil and calls | |||
| `color-theme-install-at-point'. | |||
| \(fn)" t nil) | |||
| (autoload 'color-theme-print "color-theme" "\ | |||
| Print the current color theme function. | |||
| You can contribute this function to <URL:news:gnu.emacs.sources> or | |||
| paste it into your .emacs file and call it. That should recreate all | |||
| the settings necessary for your color theme. | |||
| Example: | |||
| (require 'color-theme) | |||
| (defun my-color-theme () | |||
| \"Color theme by Alex Schroeder, created 2000-05-17.\" | |||
| (interactive) | |||
| (color-theme-install | |||
| '(... | |||
| ... | |||
| ...))) | |||
| (my-color-theme) | |||
| If you want to use a specific color theme function, you can call the | |||
| color theme function in your .emacs directly. | |||
| Example: | |||
| (require 'color-theme) | |||
| (color-theme-gnome2) | |||
| \(fn &optional BUF)" t nil) | |||
| (autoload 'color-theme-analyze-defun "color-theme" "\ | |||
| Once you have a color-theme printed, check for missing faces. | |||
| This is used by maintainers who receive a color-theme submission | |||
| and want to make sure it follows the guidelines by the color-theme | |||
| author. | |||
| \(fn)" t nil) | |||
| (autoload 'color-theme-make-snapshot "color-theme" "\ | |||
| Return the definition of the current color-theme. | |||
| The function returned will recreate the color-theme in use at the moment. | |||
| \(fn)" nil nil) | |||
| (autoload 'color-theme-compare "color-theme" "\ | |||
| Compare two color themes. | |||
| This will print the differences between installing THEME-A and | |||
| installing THEME-B. Note that the order is important: If a face is | |||
| defined in THEME-A and not in THEME-B, then this will not show up as a | |||
| difference, because there is no reset before installing THEME-B. If a | |||
| face is defined in THEME-B and not in THEME-A, then this will show up as | |||
| a difference. | |||
| \(fn THEME-A THEME-B)" t nil) | |||
| (autoload 'color-theme-install "color-theme" "\ | |||
| Install a color theme defined by frame parameters, variables and faces. | |||
| The theme is installed for all present and future frames; any missing | |||
| faces are created. See `color-theme-install-faces'. | |||
| THEME is a color theme definition. See below for more information. | |||
| If you want to install a color theme from your .emacs, use the output | |||
| generated by `color-theme-print'. This produces color theme function | |||
| which you can copy to your .emacs. | |||
| A color theme definition is a list: | |||
| \([FUNCTION] FRAME-PARAMETERS VARIABLE-SETTINGS FACE-DEFINITIONS) | |||
| FUNCTION is the color theme function which called `color-theme-install'. | |||
| This is no longer used. There was a time when this package supported | |||
| automatic factoring of color themes. This has been abandoned. | |||
| FRAME-PARAMETERS is an alist of frame parameters. These are installed | |||
| with `color-theme-install-frame-params'. These are installed last such | |||
| that any changes to the default face can be changed by the frame | |||
| parameters. | |||
| VARIABLE-DEFINITIONS is an alist of variable settings. These are | |||
| installed with `color-theme-install-variables'. | |||
| FACE-DEFINITIONS is an alist of face definitions. These are installed | |||
| with `color-theme-install-faces'. | |||
| If `color-theme-is-cumulative' is nil, a color theme will undo face and | |||
| frame-parameter settings of previous color themes. | |||
| \(fn THEME)" nil nil) | |||
| (autoload 'color-theme-submit "color-theme" "\ | |||
| Submit your color-theme to the maintainer. | |||
| \(fn)" t nil) | |||
| (autoload 'color-theme-initialize "color-theme" "\ | |||
| Initialize the color theme package by loading color-theme-libraries. | |||
| \(fn)" t nil) | |||
| ;;;*** | |||
| ;;;### (autoloads nil nil ("color-theme-pkg.el") (21002 6279 109272 | |||
| ;;;;;; 0)) | |||
| ;;;*** | |||
| (provide 'color-theme-autoloads) | |||
| ;; Local Variables: | |||
| ;; version-control: never | |||
| ;; no-byte-compile: t | |||
| ;; no-update-autoloads: t | |||
| ;; coding: utf-8 | |||
| ;; End: | |||
| ;;; color-theme-autoloads.el ends here | |||
| @ -1,2 +0,0 @@ | |||
| (define-package "color-theme" "20080305.834" "install color themes [bzr]" 'nil) | |||
| @ -1,22 +0,0 @@ | |||
| (eval-when-compile | |||
| (require 'color-theme)) | |||
| (defun color-theme-example () | |||
| "Example theme. Carbon copy of color-theme-gnome contributed by Jonadab." | |||
| (interactive) | |||
| (color-theme-install | |||
| '(color-theme-example | |||
| ((foreground-color . "wheat") | |||
| (background-color . "darkslategrey") | |||
| (background-mode . dark)) | |||
| (default ((t (nil)))) | |||
| (region ((t (:foreground "cyan" :background "dark cyan")))) | |||
| (underline ((t (:foreground "yellow" :underline t)))) | |||
| (modeline ((t (:foreground "dark cyan" :background "wheat")))) | |||
| (modeline-buffer-id ((t (:foreground "dark cyan" :background "wheat")))) | |||
| (modeline-mousable ((t (:foreground "dark cyan" :background "wheat")))) | |||
| (modeline-mousable-minor-mode ((t (:foreground "dark cyan" :background "wheat")))) | |||
| (italic ((t (:foreground "dark red" :italic t)))) | |||
| (bold-italic ((t (:foreground "dark red" :bold t :italic t)))) | |||
| (font-lock-comment-face ((t (:foreground "Firebrick")))) | |||
| (bold ((t (:bold))))))) | |||
| @ -1,4 +0,0 @@ | |||
| ((nil . ((indent-tabs-mode . nil) | |||
| (fill-column . 80) | |||
| (sentence-end-double-space . t) | |||
| (emacs-lisp-docstring-fill-column . 75)))) | |||
| @ -1,2 +0,0 @@ | |||
| *.elc | |||
| ert.el | |||
| @ -1,26 +0,0 @@ | |||
| # https://github.com/rolandwalker/emacs-travis | |||
| language: emacs-lisp | |||
| env: | |||
| matrix: | |||
| - EMACS=emacs24 | |||
| - EMACS=emacs-snapshot | |||
| install: | |||
| - if [ "$EMACS" = "emacs24" ]; then | |||
| sudo add-apt-repository -y ppa:cassou/emacs && | |||
| sudo apt-get update -qq && | |||
| sudo apt-get install -qq emacs24 emacs24-el; | |||
| fi | |||
| - if [ "$EMACS" = "emacs-snapshot" ]; then | |||
| sudo add-apt-repository -y ppa:ubuntu-elisp/ppa && | |||
| sudo apt-get update -qq && | |||
| sudo apt-get install -qq emacs-snapshot; | |||
| fi | |||
| before_script: | |||
| make downloads | |||
| script: | |||
| make test-batch EMACS=${EMACS} | |||
| @ -1,255 +0,0 @@ | |||
| 2014-07-26 Dmitry Gutov <dgutov@yandex.ru> | |||
| Merge commit 'b1d019a4c815ac8bdc240d69eaa74eb4e34640e8' from | |||
| company-master | |||
| 2014-07-01 Dmitry Gutov <dgutov@yandex.ru> | |||
| Merge commit '7c14dedc79bf0c6eaad5bf50b80ea80dd721afdc' from company | |||
| Conflicts: | |||
| packages/company/company-pysmell.el | |||
| 2014-06-14 Stefan Monnier <monnier@iro.umontreal.ca> | |||
| * company/company-capf.el: Don't ignore things like semantic-capf. | |||
| 2014-04-19 Dmitry Gutov <dgutov@yandex.ru> | |||
| Merge commit '51c140ca9ee32d27cacc7b2b07d4539bf98ae575' from | |||
| company-master | |||
| Conflicts: | |||
| packages/company/company-pysmell.el | |||
| 2014-03-25 Dmitry Gutov <dgutov@yandex.ru> | |||
| Merge commit '4a7995ff69b25990dc520ed9e466dfbcdb7eafc8' from company | |||
| 2014-03-19 Dmitry Gutov <dgutov@yandex.ru> | |||
| Merge commit 'fec7c0b4a8651160c5d759cc6703b2c45852d5bb' | |||
| 2014-03-18 Dmitry Gutov <dgutov@yandex.ru> | |||
| Merge commit '7be4321260f0c73ef4c3cadc646f6bb496650253' from company | |||
| 2014-02-18 Dmitry Gutov <dgutov@yandex.ru> | |||
| Merge commit '119822078ee3024c2d27017d45ef4578fa36040f' from company | |||
| 2014-02-03 Dmitry Gutov <dgutov@yandex.ru> | |||
| Merge commit '67ab56a5469f16652e73667ec3b4f76ff6befee6' from company | |||
| 2014-01-25 Dmitry Gutov <dgutov@yandex.ru> | |||
| Merge commit '8dc8f9525714db66f659a2a51322345068764bd3' from company | |||
| Conflicts: | |||
| packages/company/company-capf.el | |||
| 2014-01-24 Stefan Monnier <monnier@iro.umontreal.ca> | |||
| * company-capf.el (company--capf-data): Don't get confused by lambda | |||
| exps. | |||
| 2014-01-20 Dmitry Gutov <dgutov@yandex.ru> | |||
| Merge commit '2badcc6227a88e1aba288f442af5f4e1ce55d366' from company | |||
| 2014-01-15 Dmitry Gutov <dgutov@yandex.ru> | |||
| Merge commit '8b4d7da0d6aa1e24379fe5ace5bd2705352ea07e' from company | |||
| 2014-01-14 Dmitry Gutov <dgutov@yandex.ru> | |||
| Merge commit '67a96dbbfe645b64291ed62eab6f1eb391a834e0' from company | |||
| Conflicts: | |||
| packages/company/company-elisp.el | |||
| packages/company/company-oddmuse.el | |||
| 2014-01-13 Stefan Monnier <monnier@iro.umontreal.ca> | |||
| * packages/company/company-etags.el: Require `cl' for `case'. | |||
| * packages/company/company-oddmuse.el: Avoid `eval-when' before | |||
| requiring `cl'. | |||
| * packages/company/company-elisp.el (company-elisp): Simplify. | |||
| 2013-10-06 Dmitry Gutov <dgutov@yandex.ru> | |||
| Sync from company/master | |||
| 2013-08-29 Stefan Monnier <monnier@iro.umontreal.ca> | |||
| * packages/company/company-capf.el (company-capf): Add preliminary | |||
| support for doc-buffer, meta, location, and require-match. | |||
| 2013-08-21 Stefan Monnier <monnier@iro.umontreal.ca> | |||
| * packages/company/company-cmake.el: Fix up copyright. Require CL. | |||
| * packages/company/company-template.el | |||
| (company-template--buffer-templates): Declare before first use. | |||
| * packages/company/company-eclim.el (json-array-type): Declare | |||
| json-array-type. | |||
| (company-eclim--candidates): Remove unused var `project-name'. | |||
| 2013-08-21 Stefan Monnier <monnier@iro.umontreal.ca> | |||
| Sync from company/master | |||
| 2013-08-14 Stefan Monnier <monnier@iro.umontreal.ca> | |||
| Mark merge point of company. | |||
| 2013-06-27 Stefan Monnier <monnier@iro.umontreal.ca> | |||
| * GNUmakefile: Rename from Makefile. Add targets for in-place use. | |||
| (all, all-in-place): New targets. | |||
| * admin/archive-contents.el (archive--simple-package-p): Ignore | |||
| autosave files. | |||
| (archive--refresh-pkg-file): New function. | |||
| (archive--write-pkg-file): Print with ' and ` shorthands. | |||
| * packages/company/company-pysmell.el: Don't require pysmell during | |||
| compile. | |||
| * packages/muse/htmlize-hack.el: Don't require htmlize during compile. | |||
| * packages/shen-mode/shen-mode.el (shen-functions): Define during | |||
| compile. | |||
| * smart-operator/smart-operator.el (smart-operator-insert-1): Use | |||
| pcase. | |||
| 2013-05-26 Dmitry Gutov <dgutov@yandex.ru> | |||
| company: Release 0.6.10 | |||
| * Plays nicer with `org-indent-mode`. | |||
| * Works in horizontally scrolled windows. | |||
| Git commit 764d2aa4ba50081adf69408e62d4863905b68b7f | |||
| 2013-05-10 Dmitry Gutov <dgutov@yandex.ru> | |||
| company: Release 0.6.9 | |||
| * `company-capf` respects `:exit-function` completion property. | |||
| * `company-backends`: `prefix` command can return `t` in the cdr. | |||
| * `company-clang-begin-after-member-access`: New option. | |||
| * Mouse click outside the tooltip aborts completion. | |||
| * `company-clang` uses standard input to pass the contents of current | |||
| buffer to | |||
| Clang 2.9+, otherwise saves the buffer and passes the path to the | |||
| file. | |||
| * `company-clang-auto-save` option has been removed. | |||
| * Better interaction with `outline-minor-mode`. | |||
| * `company-dabbrev-code` supports all `prog-mode` derivatives. | |||
| Git commit 4c735454d91f9674da0ecea950504888b1e10ff7 | |||
| 2013-04-27 Stefan Monnier <monnier@iro.umontreal.ca> | |||
| * company.el (company-capf): Add support for `sorted' and | |||
| `post-completion'. | |||
| (company--capf-data): New function. | |||
| (company-backend): Declare before first use. | |||
| (company-require-match-p): Only call company-require-match is needed. | |||
| (company--continue-failed): Don't use backward-delete-char | |||
| non-interactively. | |||
| (company-search-assert-enabled): Demote it, since it comes too late to | |||
| be inlined. | |||
| (company-begin-with): Use a lexical closure, so the code is | |||
| byte-compiled. | |||
| (company--replacement-string, company--create-lines) | |||
| (company-pseudo-tooltip-edit, company-doc-buffer): Silence the | |||
| byte-compiler. | |||
| 2013-04-16 Dmitry Gutov <dgutov@yandex.ru> | |||
| Release 0.6.8 | |||
| * `company-auto-complete` is disabled by default. | |||
| * `company-auto-complete-chars` default value includes fewer syntax | |||
| classes. | |||
| * In expanded function calls, arguments skipped by the user default to | |||
| "argN". | |||
| * `company-eclim` and `company-clang` do not strip argument types from | |||
| fields. | |||
| * `company-clang` expands function calls for all three modes now. | |||
| * `company-clang` supports `c++-mode` by default. | |||
| Git commit 92ac3d0ef663bca26abbda33cc20a02a58b1c328 | |||
| 2013-04-05 Dmitry Gutov <dgutov@yandex.ru> | |||
| company: Release 0.6.7 | |||
| * Two `company-elisp` tweaks. | |||
| Git commit 8dceda389115b397de48becc4b68a64f4dc4bbab | |||
| 2013-04-01 Dmitry Gutov <dgutov@yandex.ru> | |||
| company: Release 0.6.6 | |||
| ## 2013-04-01 (0.6.6) | |||
| * `company-elisp` doesn't offer completions when typing the name and | |||
| the arguments of a new function or macro definition, allowing to | |||
| fall back to other back-ends like `company-dabbrev-code`. | |||
| ## 2013-03-30 (0.6.5) | |||
| * Fixed keybindings when running in a terminal. | |||
| * `company-elisp-show-locals-first`: new customizable variable. | |||
| * `company-elisp` shows more accurate and comprehensive candidates | |||
| list. | |||
| ## 2013-03-26 (0.6.4) | |||
| * `company-eclim` shows valid completions after an opening paren. | |||
| * Expanded template does not get removed until the point leaves it. | |||
| After your input the last argument in a method call expanded by | |||
| `company-eclim`, you can press `<tab>` once more, to jump after the | |||
| closing paren. No other bundled back-ends are affected. | |||
| ## 2013-03-25 (0.6.3) | |||
| * New tooltip face colors used on themes with light background. | |||
| * Pseudo-tooltip stays up-to-date when text is inserted after the | |||
| point. | |||
| * Fixed `company-require-match` mechanics. | |||
| 2013-03-24 Dmitry Gutov <dgutov@yandex.ru> | |||
| company: Release 0.6.2 | |||
| 2013-03-23 Dmitry Gutov <dgutov@yandex.ru> | |||
| company: Release 0.6.1 | |||
| 2013-03-21 Dmitry Gutov <dgutov@yandex.ru> | |||
| company: Remove angle brackets from README | |||
| 2013-03-19 Dmitry Gutov <dgutov@yandex.ru> | |||
| company: Update pkg.el and summary string | |||
| 2013-03-19 Dmitry Gutov <dgutov@yandex.ru> | |||
| company-tests.el: add copyright boilerplate | |||
| 2013-03-19 Dmitry Gutov <dgutov@yandex.ru> | |||
| company-mode: Release 0.6 | |||
| 2011-08-01 Stefan Monnier <monnier@iro.umontreal.ca> | |||
| * company/*.el: Fix case misunderstanding. Use checkdoc. | |||
| * company/company.el (company-capf): First cut at making Company use | |||
| completion-at-point-functions. | |||
| 2011-06-30 Chong Yidong <cyd@stupidchicken.com> | |||
| Remove version numbers in packages/ directory | |||
| @ -1,37 +0,0 @@ | |||
| EMACS=emacs | |||
| CURL=curl --silent | |||
| ERT_URL=http://git.savannah.gnu.org/cgit/emacs.git/plain/lisp/emacs-lisp/ert.el?h=emacs-24.3 | |||
| .PHONY: ert test test-batch | |||
| package: *.el | |||
| @ver=`grep -o "Version: .*" company.el | cut -c 10-`; \ | |||
| tar cjvf company-$$ver.tar.bz2 --mode 644 `git ls-files '*.el' | xargs` | |||
| elpa: *.el | |||
| @version=`grep -o "Version: .*" company.el | cut -c 10-`; \ | |||
| dir=company-$$version; \ | |||
| mkdir -p "$$dir"; \ | |||
| cp `git ls-files '*.el' | xargs` company-$$version; \ | |||
| echo "(define-package \"company\" \"$$version\" \ | |||
| \"Modular in-buffer completion framework\")" \ | |||
| > "$$dir"/company-pkg.el; \ | |||
| tar cvf company-$$version.tar --mode 644 "$$dir" | |||
| clean: | |||
| @rm -rf company-*/ company-*.tar company-*.tar.bz2 *.elc ert.el | |||
| test: | |||
| ${EMACS} -Q -nw -L . -l company-tests.el -l company-elisp-tests.el \ | |||
| --eval "(let (pop-up-windows) (ert t))" | |||
| test-batch: | |||
| ${EMACS} -Q --batch -L . -l company-tests.el -l company-elisp-tests.el \ | |||
| --eval "(ert-run-tests-batch-and-exit '(not (tag interactive)))" | |||
| downloads: | |||
| ${EMACS} -Q --batch -l ert || \ | |||
| ${CURL} ${ERT_URL} > ert.el | |||
| compile: | |||
| ${EMACS} -Q --batch -L . -f batch-byte-compile company.el company-*.el | |||
| @ -1,277 +0,0 @@ | |||
| # History of user-visible changes | |||
| ## 2014-07-26 (0.8.2) | |||
| * New user option `company-occurrence-weight-function`, allowing to tweak the | |||
| behavior of the transformer `company-sort-by-occurrence`. | |||
| * Setting `company-idle-delay` to `t` is deprecated. Use the value 0 instead. | |||
| ## 2014-07-01 (0.8.1) | |||
| * `company-require-match` is not in effect when the new input doesn't continue | |||
| the previous prefix, and that prefix was a match. | |||
| * The meaning of `company-begin-commands` value t has slightly changed. | |||
| * New transformer, `company-sort-by-backend-importance`. | |||
| * When grouped back-ends are used, the back-end of the current candidate is | |||
| indicated in the mode-line, enclosed in angle brackets. | |||
| * New user option `company-gtags-insert-arguments`, t by default. | |||
| * `company-css` knows about CSS3. | |||
| * `company-gtags` supports `meta` and `annotation`. | |||
| * User option `company-dabbrev-code-other-buffers` can have a new value: `code`. | |||
| * New user option `company-tooltip-flip-when-above`. | |||
| * `company-clang` uses the standard header search paths by default. | |||
| * `C-h` is bound to `company-show-doc-buffer` (like `f1`). | |||
| ## 2014-04-19 (0.8.0) | |||
| * `company-capf` is included in `company-backends` in any supported Emacs | |||
| version (>= 24.1). `company-elisp` goes before it if Emacs version is < 24.4. | |||
| * New user option `company-clang-insert-arguments`, by default t. | |||
| * Default value of `company-idle-delay` lowered to `0.5`. | |||
| * New user option `company-tooltip-minimum-width`, by default 0. | |||
| * New function `company-grab-symbol-cons`. | |||
| * `company-clang` fetches completion candidates asynchronously. | |||
| * Added support for asynchronous back-ends (experimental). | |||
| * Support for back-end command `crop` dropped (it was never documented). | |||
| * Support for Emacs 23 dropped. | |||
| * New user option `company-abort-manual-when-too-short`. | |||
| ## 2014-03-25 (0.7.3) | |||
| * New user option `company-etags-ignore-case`. | |||
| ## 2014-03-19 (0.7.2) | |||
| * Support for Emacs 22 officially dropped. | |||
| * `company-clang` supports `indent-tabs-mode` and multibyte chars before point. | |||
| ## 2014-03-18 (0.7.1) | |||
| * Group of back-ends can now contain keyword `:with`, which makes all back-ends | |||
| after it to be skipped for prefix calculation. | |||
| * New function `company-version`. | |||
| * New bundled back-end `company-yasnippet`. | |||
| * Completion candidates returned from grouped back-ends are tagged to remember | |||
| which back-end each came from. | |||
| * New user option `company-tooltip-align-annotations`, off by default. | |||
| * New bundled back-end `company-bbdb`. | |||
| ## 2014-02-18 (0.7) | |||
| * New back-end command, `match`, for non-prefix completion. | |||
| * New user option `company-continue-commands`. The default value aborts | |||
| completion on buffer saving commands. | |||
| * New back-end command, `annotation`, for text displayed inline in the popup | |||
| that's not a part of completion candidate. | |||
| * `company-capf`, `company-clang` and `company-eclim` use `annotation`. | |||
| * `company-preview*` faces inherit from `company-tooltip-selection` and | |||
| `company-tooltip-common-selection` on light themes. | |||
| * New user option `company-transformers`. | |||
| * First transformer, `company-sort-by-occurrence`. | |||
| * New user options controlling `company-dabbrev` and `company-dabbrev-code`. | |||
| ## 2014-01-25 (0.6.14) | |||
| * The tooltip front-end is rendered with scrollbar, controlled by the user | |||
| option `company-tooltip-offset-display`. | |||
| * The tooltip front-end is rendered with margins, controlled by the user option | |||
| `company-tooltip-margin`. | |||
| ## 2014-01-14 (0.6.13) | |||
| * Experimental support for non-prefix completion. | |||
| * Starting with Emacs version 24.4, `company-capf` is included in | |||
| `company-backends` and replaces `company-elisp`. | |||
| * `company-capf` supports completion tables that return non-default boundaries. | |||
| * `company-elisp` is enabled in `inferior-emacs-lisp-mode`. | |||
| ## 2013-09-28 (0.6.12) | |||
| * Default value of `company-begin-commands` changed to `(self-insert-command)`. | |||
| * Futher improvement in `org-indent-mode` compatibility. | |||
| ## 2013-08-18 (0.6.11) | |||
| * `company-template-c-like-templatify` removes all text after closing paren, for | |||
| use in backends that display additional info there. | |||
| * `company-cmake` is now bundled. | |||
| * Better `linum` compatibility in Emacs <= 24.2. | |||
| * `company-global-modes`: New option. | |||
| ## 2013-05-26 (0.6.10) | |||
| * Plays nicer with `org-indent-mode`. | |||
| * Works in horizontally scrolled windows. | |||
| ## 2013-05-10 (0.6.9) | |||
| * `company-capf` respects `:exit-function` completion property. | |||
| * `company-backends`: `prefix` command can return `t` in the cdr. | |||
| * `company-clang-begin-after-member-access`: New option. | |||
| * Mouse click outside the tooltip aborts completion. | |||
| * `company-clang` uses standard input to pass the contents of current buffer to | |||
| Clang 2.9+, otherwise saves the buffer and passes the path to the file. | |||
| * `company-clang-auto-save` option has been removed. | |||
| * Better interaction with `outline-minor-mode`. | |||
| * `company-dabbrev-code` supports all `prog-mode` derivatives. | |||
| ## 2013-04-16 (0.6.8) | |||
| * `company-auto-complete` is disabled by default. | |||
| * `company-auto-complete-chars` default value includes fewer syntax classes. | |||
| * In expanded function calls, arguments skipped by the user default to "argN". | |||
| * `company-eclim` and `company-clang` do not strip argument types from fields. | |||
| * `company-clang` expands function calls for all three modes now. | |||
| * `company-clang` supports `c++-mode` by default. | |||
| ## 2013-04-05 (0.6.7) | |||
| * Two `company-elisp` tweaks. | |||
| ## 2013-04-01 (0.6.6) | |||
| * `company-elisp` doesn't offer completions when typing the name and the | |||
| arguments of a new function or macro definition, allowing to fall back to | |||
| other back-ends like `company-dabbrev-code`. | |||
| ## 2013-03-30 (0.6.5) | |||
| * Fixed keybindings when running in a terminal. | |||
| * `company-elisp-show-locals-first`: new customizable variable. | |||
| * `company-elisp` shows more accurate and comprehensive candidates list. | |||
| ## 2013-03-26 (0.6.4) | |||
| * `company-eclim` shows valid completions after an opening paren. | |||
| * Expanded template does not get removed until the point leaves it. After your | |||
| input the last argument in a method call expanded by `company-eclim`, you can | |||
| press `<tab>` once more, to jump after the closing paren. No other bundled | |||
| back-ends are affected. | |||
| ## 2013-03-25 (0.6.3) | |||
| * New tooltip face colors used on themes with light background. | |||
| * Pseudo-tooltip stays up-to-date when text is inserted after the point. | |||
| * Fixed `company-require-match` mechanics. | |||
| ## 2013-03-24 (0.6.2) | |||
| * `global-company-mode` is now autoloaded. | |||
| ## 2013-03-23 (0.6.1) | |||
| * Documented `init` and `post-completion` back-end commands. | |||
| * `company-eclim` and `company-clang` only expand the template on explicit user | |||
| action (such as `company-complete-{selection,number,mouse}`). | |||
| * `company-template` has some breaking changes. When point is at one of the | |||
| fields, it's displayed at the beginning, not right after it; `<tab>` jumps to | |||
| the next field, `forward-word` and `subword-forward` remappings are removed; | |||
| when you jump to the next field, if the current one hasn't been edited, the | |||
| overlay gets removed but the text remains. | |||
| * `company-eclim` shows method overloads and expands templates for calls. | |||
| * `company-clang-objc-templatify` does not insert spaces after colons anymore. | |||
| * `company-clang` is now only initialized in supported buffers. | |||
| So, no error messages if you don't have Clang until you open a C file. | |||
| * `company-clang` recognizes Clang included in recent Xcode. | |||
| * New commands `company-select-previous-or-abort` and | |||
| `company-select-next-or-abort`, bound to `<up>` and `<down>`. | |||
| ## 2013-03-19 (0.6) | |||
| * Across-the-board bugfixing. | |||
| * `company-pysmell` is not used by default anymore. | |||
| * Loading of `nxml`, `semantic`, `pymacs` and `ropemacs` is now deferred. | |||
| * Candidates from grouped back-ends are merged more conservatively: only | |||
| back-ends that return the same prefix at point are used. | |||
| * `company-clang` now shows meta information, too. | |||
| * Some performance improvements. | |||
| * Fixed two old tooltip annoyances. | |||
| * Instead of `overrriding-terminal-local-map`, we're now using | |||
| `emulation-mode-map-alists` (experimental). This largely means that when the | |||
| completion keymap is active, other minor modes' keymaps are still used, so, | |||
| for example, it's not as easy to accidentally circumvent `paredit-mode` | |||
| when it's enabled. | |||
| * `company-elisp` has seen some improvements. | |||
| * Added `company-capf`: completion adapter using | |||
| `completion-at-point-functions`. (Stefan Monnier) | |||
| * Clang completions now include macros and are case-sensitive. | |||
| * Switching between tag files now works correctly with `company-etags`. | |||
| ## 2010-02-24 (0.5) | |||
| * `company-ropemacs` now provides location and docs. (Fernando H. Silva) | |||
| * Added `company-with-candidate-inserted` macro. | |||
| * Added `company-clang` back-end. | |||
| * Added new mechanism for non-consecutive insertion. | |||
| (So far only used by clang for ObjC.) | |||
| * The semantic back-end now shows meta information for local symbols. | |||
| * Added compatibility for CEDET in Emacs 23.2 and from CVS. (Oleg Andreev) | |||
| ## 2009-05-07 (0.4.3) | |||
| * Added `company-other-backend`. | |||
| * Idle completion no longer interrupts multi-key command input. | |||
| * Added `company-ropemacs` and `company-pysmell` back-ends. | |||
| ## 2009-04-25 (0.4.2) | |||
| * In C modes . and -> now count towards `company-minimum-prefix-length`. | |||
| * Reverted default front-end back to `company-preview-if-just-one-frontend`. | |||
| * The pseudo tooltip will no longer be clipped at the right window edge. | |||
| * Added `company-tooltip-minimum`. | |||
| * Windows compatibility fixes. | |||
| ## 2009-04-19 (0.4.1) | |||
| * Added `global-company-mode`. | |||
| * Performance enhancements. | |||
| * Added `company-eclim` back-end. | |||
| * Added safer workaround for Emacs `posn-col-row` bug. | |||
| ## 2009-04-18 (0.4) | |||
| * Automatic completion is now aborted if the prefix gets too short. | |||
| * Added option `company-dabbrev-time-limit`. | |||
| * `company-backends` now supports merging back-ends. | |||
| * Added back-end `company-dabbrev-code` for generic code. | |||
| * Fixed `company-begin-with`. | |||
| ## 2009-04-15 (0.3.1) | |||
| * Added 'stop prefix to prevent dabbrev from completing inside of symbols. | |||
| * Fixed issues with tabbar-mode and line-spacing. | |||
| * Performance enhancements. | |||
| ## 2009-04-12 (0.3) | |||
| * Added `company-begin-commands` option. | |||
| * Added abbrev, tempo and Xcode back-ends. | |||
| * Back-ends are now interactive. You can start them with M-x backend-name. | |||
| * Added `company-begin-with` for starting company from elisp-code. | |||
| * Added hooks. | |||
| * Added `company-require-match` and `company-auto-complete` options. | |||
| ## 2009-04-05 (0.2.1) | |||
| * Improved Emacs Lisp back-end behavior for local variables. | |||
| * Added `company-elisp-detect-function-context` option. | |||
| * The mouse can now be used for selection. | |||
| ## 2009-03-22 (0.2) | |||
| * Added `company-show-location`. | |||
| * Added etags back-end. | |||
| * Added work-around for end-of-buffer bug. | |||
| * Added `company-filter-candidates`. | |||
| * More local Lisp variables are now included in the candidates. | |||
| ## 2009-03-21 (0.1.5) | |||
| * Fixed elisp documentation buffer always showing the same doc. | |||
| * Added `company-echo-strip-common-frontend`. | |||
| * Added `company-show-numbers` option and M-0 ... M-9 default bindings. | |||
| * Don't hide the echo message if it isn't shown. | |||
| ## 2009-03-20 (0.1) | |||
| * Initial release. | |||
| @ -1,4 +0,0 @@ | |||
| See the [homepage](http://company-mode.github.com/). | |||
| [](http://githalytics.com/company-mode/company-mode) | |||
| [](https://travis-ci.org/company-mode/company-mode) | |||
| @ -1,51 +0,0 @@ | |||
| ;;; company-abbrev.el --- company-mode completion back-end for abbrev | |||
| ;; Copyright (C) 2009-2011 Free Software Foundation, Inc. | |||
| ;; Author: Nikolaj Schumacher | |||
| ;; This file is part of GNU Emacs. | |||
| ;; GNU Emacs 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. | |||
| ;; GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;; | |||
| ;;; Code: | |||
| (require 'company) | |||
| (require 'cl-lib) | |||
| (require 'abbrev) | |||
| (defun company-abbrev-insert (match) | |||
| "Replace MATCH with the expanded abbrev." | |||
| (expand-abbrev)) | |||
| ;;;###autoload | |||
| (defun company-abbrev (command &optional arg &rest ignored) | |||
| "`company-mode' completion back-end for abbrev." | |||
| (interactive (list 'interactive)) | |||
| (cl-case command | |||
| (interactive (company-begin-backend 'company-abbrev | |||
| 'company-abbrev-insert)) | |||
| (prefix (company-grab-symbol)) | |||
| (candidates (nconc | |||
| (delete "" (all-completions arg global-abbrev-table)) | |||
| (delete "" (all-completions arg local-abbrev-table)))) | |||
| (meta (abbrev-expansion arg)) | |||
| (require-match t))) | |||
| (provide 'company-abbrev) | |||
| ;;; company-abbrev.el ends here | |||
| @ -1,295 +0,0 @@ | |||
| ;;; company-autoloads.el --- automatically extracted autoloads | |||
| ;; | |||
| ;;; Code: | |||
| ;;;### (autoloads (global-company-mode company-mode) "company" "company.el" | |||
| ;;;;;; (21476 47345 0 0)) | |||
| ;;; Generated autoloads from company.el | |||
| (autoload 'company-mode "company" "\ | |||
| \"complete anything\"; is an in-buffer completion framework. | |||
| Completion starts automatically, depending on the values | |||
| `company-idle-delay' and `company-minimum-prefix-length'. | |||
| Completion can be controlled with the commands: | |||
| `company-complete-common', `company-complete-selection', `company-complete', | |||
| `company-select-next', `company-select-previous'. If these commands are | |||
| called before `company-idle-delay', completion will also start. | |||
| Completions can be searched with `company-search-candidates' or | |||
| `company-filter-candidates'. These can be used while completion is | |||
| inactive, as well. | |||
| The completion data is retrieved using `company-backends' and displayed | |||
| using `company-frontends'. If you want to start a specific back-end, call | |||
| it interactively or use `company-begin-backend'. | |||
| regular keymap (`company-mode-map'): | |||
| \\{company-mode-map} | |||
| keymap during active completions (`company-active-map'): | |||
| \\{company-active-map} | |||
| \(fn &optional ARG)" t nil) | |||
| (defvar global-company-mode nil "\ | |||
| Non-nil if Global-Company mode is enabled. | |||
| See the command `global-company-mode' for a description of this minor mode. | |||
| Setting this variable directly does not take effect; | |||
| either customize it (see the info node `Easy Customization') | |||
| or call the function `global-company-mode'.") | |||
| (custom-autoload 'global-company-mode "company" nil) | |||
| (autoload 'global-company-mode "company" "\ | |||
| Toggle Company mode in all buffers. | |||
| With prefix ARG, enable Global-Company mode if ARG is positive; | |||
| otherwise, disable it. If called from Lisp, enable the mode if | |||
| ARG is omitted or nil. | |||
| Company mode is enabled in all buffers where | |||
| `company-mode-on' would do it. | |||
| See `company-mode' for more information on Company mode. | |||
| \(fn &optional ARG)" t nil) | |||
| ;;;*** | |||
| ;;;### (autoloads (company-abbrev) "company-abbrev" "company-abbrev.el" | |||
| ;;;;;; (21476 47345 0 0)) | |||
| ;;; Generated autoloads from company-abbrev.el | |||
| (autoload 'company-abbrev "company-abbrev" "\ | |||
| `company-mode' completion back-end for abbrev. | |||
| \(fn COMMAND &optional ARG &rest IGNORED)" t nil) | |||
| ;;;*** | |||
| ;;;### (autoloads (company-bbdb) "company-bbdb" "company-bbdb.el" | |||
| ;;;;;; (21476 47345 0 0)) | |||
| ;;; Generated autoloads from company-bbdb.el | |||
| (autoload 'company-bbdb "company-bbdb" "\ | |||
| `company-mode' completion back-end for `bbdb'. | |||
| \(fn COMMAND &optional ARG &rest IGNORE)" t nil) | |||
| ;;;*** | |||
| ;;;### (autoloads (company-css) "company-css" "company-css.el" (21476 | |||
| ;;;;;; 47345 0 0)) | |||
| ;;; Generated autoloads from company-css.el | |||
| (autoload 'company-css "company-css" "\ | |||
| `company-mode' completion back-end for `css-mode'. | |||
| \(fn COMMAND &optional ARG &rest IGNORED)" t nil) | |||
| ;;;*** | |||
| ;;;### (autoloads (company-dabbrev) "company-dabbrev" "company-dabbrev.el" | |||
| ;;;;;; (21476 47345 0 0)) | |||
| ;;; Generated autoloads from company-dabbrev.el | |||
| (autoload 'company-dabbrev "company-dabbrev" "\ | |||
| dabbrev-like `company-mode' completion back-end. | |||
| \(fn COMMAND &optional ARG &rest IGNORED)" t nil) | |||
| ;;;*** | |||
| ;;;### (autoloads (company-dabbrev-code) "company-dabbrev-code" "company-dabbrev-code.el" | |||
| ;;;;;; (21476 47345 0 0)) | |||
| ;;; Generated autoloads from company-dabbrev-code.el | |||
| (autoload 'company-dabbrev-code "company-dabbrev-code" "\ | |||
| dabbrev-like `company-mode' back-end for code. | |||
| The back-end looks for all symbols in the current buffer that aren't in | |||
| comments or strings. | |||
| \(fn COMMAND &optional ARG &rest IGNORED)" t nil) | |||
| ;;;*** | |||
| ;;;### (autoloads (company-elisp) "company-elisp" "company-elisp.el" | |||
| ;;;;;; (21476 47345 0 0)) | |||
| ;;; Generated autoloads from company-elisp.el | |||
| (autoload 'company-elisp "company-elisp" "\ | |||
| `company-mode' completion back-end for Emacs Lisp. | |||
| \(fn COMMAND &optional ARG &rest IGNORED)" t nil) | |||
| ;;;*** | |||
| ;;;### (autoloads (company-etags) "company-etags" "company-etags.el" | |||
| ;;;;;; (21476 47345 0 0)) | |||
| ;;; Generated autoloads from company-etags.el | |||
| (autoload 'company-etags "company-etags" "\ | |||
| `company-mode' completion back-end for etags. | |||
| \(fn COMMAND &optional ARG &rest IGNORED)" t nil) | |||
| ;;;*** | |||
| ;;;### (autoloads (company-files) "company-files" "company-files.el" | |||
| ;;;;;; (21476 47345 0 0)) | |||
| ;;; Generated autoloads from company-files.el | |||
| (autoload 'company-files "company-files" "\ | |||
| `company-mode' completion back-end existing file names. | |||
| \(fn COMMAND &optional ARG &rest IGNORED)" t nil) | |||
| ;;;*** | |||
| ;;;### (autoloads (company-gtags) "company-gtags" "company-gtags.el" | |||
| ;;;;;; (21476 47345 0 0)) | |||
| ;;; Generated autoloads from company-gtags.el | |||
| (autoload 'company-gtags "company-gtags" "\ | |||
| `company-mode' completion back-end for GNU Global. | |||
| \(fn COMMAND &optional ARG &rest IGNORED)" t nil) | |||
| ;;;*** | |||
| ;;;### (autoloads (company-ispell) "company-ispell" "company-ispell.el" | |||
| ;;;;;; (21476 47345 0 0)) | |||
| ;;; Generated autoloads from company-ispell.el | |||
| (autoload 'company-ispell "company-ispell" "\ | |||
| `company-mode' completion back-end using Ispell. | |||
| \(fn COMMAND &optional ARG &rest IGNORED)" t nil) | |||
| ;;;*** | |||
| ;;;### (autoloads (company-keywords) "company-keywords" "company-keywords.el" | |||
| ;;;;;; (21476 47345 0 0)) | |||
| ;;; Generated autoloads from company-keywords.el | |||
| (autoload 'company-keywords "company-keywords" "\ | |||
| `company-mode' back-end for programming language keywords. | |||
| \(fn COMMAND &optional ARG &rest IGNORED)" t nil) | |||
| ;;;*** | |||
| ;;;### (autoloads (company-nxml) "company-nxml" "company-nxml.el" | |||
| ;;;;;; (21476 47345 0 0)) | |||
| ;;; Generated autoloads from company-nxml.el | |||
| (autoload 'company-nxml "company-nxml" "\ | |||
| `company-mode' completion back-end for `nxml-mode'. | |||
| \(fn COMMAND &optional ARG &rest IGNORED)" t nil) | |||
| ;;;*** | |||
| ;;;### (autoloads (company-oddmuse) "company-oddmuse" "company-oddmuse.el" | |||
| ;;;;;; (21476 47345 0 0)) | |||
| ;;; Generated autoloads from company-oddmuse.el | |||
| (autoload 'company-oddmuse "company-oddmuse" "\ | |||
| `company-mode' completion back-end for `oddmuse-mode'. | |||
| \(fn COMMAND &optional ARG &rest IGNORED)" t nil) | |||
| ;;;*** | |||
| ;;;### (autoloads (company-pysmell) "company-pysmell" "company-pysmell.el" | |||
| ;;;;;; (21476 47345 0 0)) | |||
| ;;; Generated autoloads from company-pysmell.el | |||
| (autoload 'company-pysmell "company-pysmell" "\ | |||
| `company-mode' completion back-end for pysmell. | |||
| This requires pysmell.el and pymacs.el. | |||
| \(fn COMMAND &optional ARG &rest IGNORED)" t nil) | |||
| ;;;*** | |||
| ;;;### (autoloads (company-semantic) "company-semantic" "company-semantic.el" | |||
| ;;;;;; (21476 47345 0 0)) | |||
| ;;; Generated autoloads from company-semantic.el | |||
| (autoload 'company-semantic "company-semantic" "\ | |||
| `company-mode' completion back-end using CEDET Semantic. | |||
| \(fn COMMAND &optional ARG &rest IGNORED)" t nil) | |||
| ;;;*** | |||
| ;;;### (autoloads (company-tempo) "company-tempo" "company-tempo.el" | |||
| ;;;;;; (21476 47345 0 0)) | |||
| ;;; Generated autoloads from company-tempo.el | |||
| (autoload 'company-tempo "company-tempo" "\ | |||
| `company-mode' completion back-end for tempo. | |||
| \(fn COMMAND &optional ARG &rest IGNORED)" t nil) | |||
| ;;;*** | |||
| ;;;### (autoloads (company-xcode) "company-xcode" "company-xcode.el" | |||
| ;;;;;; (21476 47345 0 0)) | |||
| ;;; Generated autoloads from company-xcode.el | |||
| (autoload 'company-xcode "company-xcode" "\ | |||
| `company-mode' completion back-end for Xcode projects. | |||
| \(fn COMMAND &optional ARG &rest IGNORED)" t nil) | |||
| ;;;*** | |||
| ;;;### (autoloads (company-yasnippet) "company-yasnippet" "company-yasnippet.el" | |||
| ;;;;;; (21476 47345 0 0)) | |||
| ;;; Generated autoloads from company-yasnippet.el | |||
| (autoload 'company-yasnippet "company-yasnippet" "\ | |||
| `company-mode' back-end for `yasnippet'. | |||
| This back-end should be used with care, because as long as there are | |||
| snippets defined for the current major mode, this back-end will always | |||
| shadow back-ends that come after it. Recommended usages: | |||
| * In a buffer-local value of `company-backends', grouped with a back-end or | |||
| several that provide actual text completions. | |||
| (add-hook 'js-mode-hook | |||
| (lambda () | |||
| (set (make-local-variable 'company-backends) | |||
| '((company-dabbrev-code company-yasnippet))))) | |||
| * After keyword `:with', grouped with other back-ends. | |||
| (push '(company-semantic :with company-yasnippet) company-backends) | |||
| * Not in `company-backends', just bound to a key. | |||
| (global-set-key (kbd \"C-c y\") 'company-yasnippet) | |||
| \(fn COMMAND &optional ARG &rest IGNORE)" t nil) | |||
| ;;;*** | |||
| ;;;### (autoloads nil nil ("company-capf.el" "company-clang.el" "company-cmake.el" | |||
| ;;;;;; "company-eclim.el" "company-elisp-tests.el" "company-pkg.el" | |||
| ;;;;;; "company-ropemacs.el" "company-template.el" "company-tests.el") | |||
| ;;;;;; (21476 47345 572891 0)) | |||
| ;;;*** | |||
| (provide 'company-autoloads) | |||
| ;; Local Variables: | |||
| ;; version-control: never | |||
| ;; no-byte-compile: t | |||
| ;; no-update-autoloads: t | |||
| ;; coding: utf-8 | |||
| ;; End: | |||
| ;;; company-autoloads.el ends here | |||
| @ -1,49 +0,0 @@ | |||
| ;;; company-bbdb.el --- company-mode completion back-end for BBDB in message-mode | |||
| ;; Copyright (C) 2013-2014 Free Software Foundation, Inc. | |||
| ;; Author: Jan Tatarik <jan.tatarik@gmail.com> | |||
| ;; This file is part of GNU Emacs. | |||
| ;; GNU Emacs 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. | |||
| ;; GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. | |||
| (require 'company) | |||
| (require 'cl-lib) | |||
| (declare-function bbdb-record-get-field "bbdb") | |||
| (declare-function bbdb-records "bbdb") | |||
| (declare-function bbdb-dwim-mail "bbdb-com") | |||
| (declare-function bbdb-search "bbdb-com") | |||
| ;;;###autoload | |||
| (defun company-bbdb (command &optional arg &rest ignore) | |||
| "`company-mode' completion back-end for `bbdb'." | |||
| (interactive (list 'interactive)) | |||
| (cl-case command | |||
| (interactive (company-begin-backend 'company-bbdb)) | |||
| (prefix (and (eq major-mode 'message-mode) | |||
| (featurep 'bbdb-com) | |||
| (looking-back "^\\(To\\|Cc\\|Bcc\\):.*" | |||
| (line-beginning-position)) | |||
| (company-grab-symbol))) | |||
| (candidates (cl-mapcan (lambda (record) | |||
| (mapcar (lambda (mail) (bbdb-dwim-mail record mail)) | |||
| (bbdb-record-get-field record 'mail))) | |||
| (bbdb-search (bbdb-records) arg nil arg))) | |||
| (sorted t) | |||
| (no-cache t))) | |||
| (provide 'company-bbdb) | |||
| ;;; company-bbdb.el ends here | |||
| @ -1,135 +0,0 @@ | |||
| ;;; company-capf.el --- company-mode completion-at-point-functions back-end -*- lexical-binding: t -*- | |||
| ;; Copyright (C) 2013-2014 Free Software Foundation, Inc. | |||
| ;; Author: Stefan Monnier <monnier@iro.umontreal.ca> | |||
| ;; This file is part of GNU Emacs. | |||
| ;; GNU Emacs 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. | |||
| ;; GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;; | |||
| ;;; Code: | |||
| (require 'company) | |||
| (require 'cl-lib) | |||
| (defun company--capf-data () | |||
| (cl-letf* (((default-value 'completion-at-point-functions) | |||
| ;; Ignore tags-completion-at-point-function because it subverts | |||
| ;; company-etags in the default value of company-backends, where | |||
| ;; the latter comes later. | |||
| (remove 'tags-completion-at-point-function | |||
| (default-value 'completion-at-point-functions))) | |||
| (data (run-hook-wrapped 'completion-at-point-functions | |||
| ;; Ignore misbehaving functions. | |||
| #'completion--capf-wrapper 'optimist))) | |||
| (when (and (consp (cdr data)) (numberp (nth 1 data))) data))) | |||
| (defun company-capf (command &optional arg &rest _args) | |||
| "`company-mode' back-end using `completion-at-point-functions'." | |||
| (interactive (list 'interactive)) | |||
| (pcase command | |||
| (`interactive (company-begin-backend 'company-capf)) | |||
| (`prefix | |||
| (let ((res (company--capf-data))) | |||
| (when res | |||
| (if (> (nth 2 res) (point)) | |||
| 'stop | |||
| (buffer-substring-no-properties (nth 1 res) (point)))))) | |||
| (`candidates | |||
| (let ((res (company--capf-data))) | |||
| (when res | |||
| (let* ((table (nth 3 res)) | |||
| (pred (plist-get (nthcdr 4 res) :predicate)) | |||
| (meta (completion-metadata | |||
| (buffer-substring (nth 1 res) (nth 2 res)) | |||
| table pred)) | |||
| (sortfun (cdr (assq 'display-sort-function meta))) | |||
| (candidates (completion-all-completions arg table pred (length arg))) | |||
| (last (last candidates)) | |||
| (base-size (and (numberp (cdr last)) (cdr last)))) | |||
| (when base-size | |||
| (setcdr last nil)) | |||
| (when sortfun | |||
| (setq candidates (funcall sortfun candidates))) | |||
| (if (not (zerop (or base-size 0))) | |||
| (let ((before (substring arg 0 base-size))) | |||
| (mapcar (lambda (candidate) | |||
| (concat before candidate)) | |||
| candidates)) | |||
| candidates))))) | |||
| (`sorted | |||
| (let ((res (company--capf-data))) | |||
| (when res | |||
| (let ((meta (completion-metadata | |||
| (buffer-substring (nth 1 res) (nth 2 res)) | |||
| (nth 3 res) (plist-get (nthcdr 4 res) :predicate)))) | |||
| (cdr (assq 'display-sort-function meta)))))) | |||
| (`match | |||
| ;; Can't just use 0 when base-size (see above) is non-zero. | |||
| (let ((start (if (get-text-property 0 'font-lock-face arg) | |||
| 0 | |||
| (next-single-property-change 0 'font-lock-face arg)))) | |||
| (when start | |||
| ;; completions-common-part comes first, but we can't just look for this | |||
| ;; value because it can be in a list. | |||
| (or | |||
| (let ((value (get-text-property start 'font-lock-face arg))) | |||
| (text-property-not-all start (length arg) | |||
| 'font-lock-face value arg)) | |||
| (length arg))))) | |||
| (`duplicates t) | |||
| (`no-cache t) ;Not much can be done here, as long as we handle | |||
| ;non-prefix matches. | |||
| (`meta | |||
| (let ((f (plist-get (nthcdr 4 (company--capf-data)) :company-docsig))) | |||
| (when f (funcall f arg)))) | |||
| (`doc-buffer | |||
| (let ((f (plist-get (nthcdr 4 (company--capf-data)) :company-doc-buffer))) | |||
| (when f (funcall f arg)))) | |||
| (`location | |||
| (let ((f (plist-get (nthcdr 4 (company--capf-data)) :company-location))) | |||
| (when f (funcall f arg)))) | |||
| (`annotation | |||
| (save-excursion | |||
| ;; FIXME: `company-begin' sets `company-point' after calling | |||
| ;; `company--begin-new'. We shouldn't rely on `company-point' here, | |||
| ;; better to cache the capf-data value instead. However: we can't just | |||
| ;; save the last capf-data value in `prefix', because that command can | |||
| ;; get called more often than `candidates', and at any point in the | |||
| ;; buffer (https://github.com/company-mode/company-mode/issues/153). | |||
| ;; We could try propertizing the returned prefix string, but it's not | |||
| ;; passed to `annotation', and `company-prefix' is set only after | |||
| ;; `company--strip-duplicates' is called. | |||
| (when company-point | |||
| (goto-char company-point)) | |||
| (let ((f (plist-get (nthcdr 4 (company--capf-data)) :annotation-function))) | |||
| (when f (funcall f arg))))) | |||
| (`require-match | |||
| (plist-get (nthcdr 4 (company--capf-data)) :company-require-match)) | |||
| (`init nil) ;Don't bother: plenty of other ways to initialize the code. | |||
| (`post-completion | |||
| (let* ((res (company--capf-data)) | |||
| (exit-function (plist-get (nthcdr 4 res) :exit-function))) | |||
| (if exit-function | |||
| (funcall exit-function arg 'finished)))) | |||
| )) | |||
| (provide 'company-capf) | |||
| ;;; company-capf.el ends here | |||
| @ -1,326 +0,0 @@ | |||
| ;;; company-clang.el --- company-mode completion back-end for Clang -*- lexical-binding: t -*- | |||
| ;; Copyright (C) 2009, 2011, 2013-2014 Free Software Foundation, Inc. | |||
| ;; Author: Nikolaj Schumacher | |||
| ;; This file is part of GNU Emacs. | |||
| ;; GNU Emacs 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. | |||
| ;; GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;; | |||
| ;;; Code: | |||
| (require 'company) | |||
| (require 'company-template) | |||
| (require 'cl-lib) | |||
| (defgroup company-clang nil | |||
| "Completion back-end for Clang." | |||
| :group 'company) | |||
| (defcustom company-clang-executable | |||
| (executable-find "clang") | |||
| "Location of clang executable." | |||
| :type 'file) | |||
| (defcustom company-clang-begin-after-member-access t | |||
| "When non-nil, automatic completion will start whenever the current | |||
| symbol is preceded by \".\", \"->\" or \"::\", ignoring | |||
| `company-minimum-prefix-length'. | |||
| If `company-begin-commands' is a list, it should include `c-electric-lt-gt' | |||
| and `c-electric-colon', for automatic completion right after \">\" and | |||
| \":\".") | |||
| (defcustom company-clang-arguments nil | |||
| "Additional arguments to pass to clang when completing. | |||
| Prefix files (-include ...) can be selected with `company-clang-set-prefix' | |||
| or automatically through a custom `company-clang-prefix-guesser'." | |||
| :type '(repeat (string :tag "Argument" nil))) | |||
| (defcustom company-clang-prefix-guesser 'company-clang-guess-prefix | |||
| "A function to determine the prefix file for the current buffer." | |||
| :type '(function :tag "Guesser function" nil)) | |||
| (defvar company-clang-modes '(c-mode c++-mode objc-mode) | |||
| "Major modes which clang may complete.") | |||
| (defcustom company-clang-insert-arguments t | |||
| "When non-nil, insert function arguments as a template after completion." | |||
| :type 'boolean | |||
| :package-version '(company . "0.8.0")) | |||
| ;; prefix ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||
| (defvar company-clang--prefix nil) | |||
| (defsubst company-clang--guess-pch-file (file) | |||
| (let ((dir (directory-file-name (file-name-directory file)))) | |||
| (when (equal (file-name-nondirectory dir) "Classes") | |||
| (setq dir (file-name-directory dir))) | |||
| (car (directory-files dir t "\\([^.]h\\|[^h]\\).pch\\'" t)))) | |||
| (defsubst company-clang--file-substring (file beg end) | |||
| (with-temp-buffer | |||
| (insert-file-contents-literally file nil beg end) | |||
| (buffer-string))) | |||
| (defun company-clang-guess-prefix () | |||
| "Try to guess the prefix file for the current buffer." | |||
| ;; Prefixes seem to be called .pch. Pre-compiled headers do, too. | |||
| ;; So we look at the magic number to rule them out. | |||
| (let* ((file (company-clang--guess-pch-file buffer-file-name)) | |||
| (magic-number (and file (company-clang--file-substring file 0 4)))) | |||
| (unless (member magic-number '("CPCH" "gpch")) | |||
| file))) | |||
| (defun company-clang-set-prefix (&optional prefix) | |||
| "Use PREFIX as a prefix (-include ...) file for clang completion." | |||
| (interactive (let ((def (funcall company-clang-prefix-guesser))) | |||
| (unless (stringp def) | |||
| (setq def default-directory)) | |||
| (list (read-file-name "Prefix file: " | |||
| (when def (file-name-directory def)) | |||
| def t (when def (file-name-nondirectory def)))))) | |||
| ;; TODO: pre-compile? | |||
| (setq company-clang--prefix (and (stringp prefix) | |||
| (file-regular-p prefix) | |||
| prefix))) | |||
| ;; Clean-up on exit. | |||
| (add-hook 'kill-emacs-hook 'company-clang-set-prefix) | |||
| ;; parsing ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||
| ;; TODO: Handle Pattern (syntactic hints would be neat). | |||
| ;; Do we ever see OVERLOAD (or OVERRIDE)? | |||
| (defconst company-clang--completion-pattern | |||
| "^COMPLETION: \\_<\\(%s[a-zA-Z0-9_:]*\\)\\(?: : \\(.*\\)$\\)?$") | |||
| (defconst company-clang--error-buffer-name "*clang-error*") | |||
| (defun company-clang--lang-option () | |||
| (if (eq major-mode 'objc-mode) | |||
| (if (string= "m" (file-name-extension buffer-file-name)) | |||
| "objective-c" "objective-c++") | |||
| (substring (symbol-name major-mode) 0 -5))) | |||
| (defun company-clang--parse-output (prefix _objc) | |||
| (goto-char (point-min)) | |||
| (let ((pattern (format company-clang--completion-pattern | |||
| (regexp-quote prefix))) | |||
| (case-fold-search nil) | |||
| lines match) | |||
| (while (re-search-forward pattern nil t) | |||
| (setq match (match-string-no-properties 1)) | |||
| (unless (equal match "Pattern") | |||
| (save-match-data | |||
| (when (string-match ":" match) | |||
| (setq match (substring match 0 (match-beginning 0))))) | |||
| (let ((meta (match-string-no-properties 2))) | |||
| (when (and meta (not (string= match meta))) | |||
| (put-text-property 0 1 'meta | |||
| (company-clang--strip-formatting meta) | |||
| match))) | |||
| (push match lines))) | |||
| lines)) | |||
| (defun company-clang--meta (candidate) | |||
| (get-text-property 0 'meta candidate)) | |||
| (defun company-clang--annotation (candidate) | |||
| (let ((meta (company-clang--meta candidate))) | |||
| (cond | |||
| ((null meta) nil) | |||
| ((string-match "[^:]:[^:]" meta) | |||
| (substring meta (1+ (match-beginning 0)))) | |||
| ((string-match "\\((.*)[ a-z]*\\'\\)" meta) | |||
| (match-string 1 meta))))) | |||
| (defun company-clang--strip-formatting (text) | |||
| (replace-regexp-in-string | |||
| "#]" " " | |||
| (replace-regexp-in-string "[<{[]#\\|#[>}]" "" text t) | |||
| t)) | |||
| (defun company-clang--handle-error (res args) | |||
| (goto-char (point-min)) | |||
| (let* ((buf (get-buffer-create company-clang--error-buffer-name)) | |||
| (cmd (concat company-clang-executable " " (mapconcat 'identity args " "))) | |||
| (pattern (format company-clang--completion-pattern "")) | |||
| (err (if (re-search-forward pattern nil t) | |||
| (buffer-substring-no-properties (point-min) | |||
| (1- (match-beginning 0))) | |||
| ;; Warn the user more aggressively if no match was found. | |||
| (message "clang failed with error %d:\n%s" res cmd) | |||
| (buffer-string)))) | |||
| (with-current-buffer buf | |||
| (let ((inhibit-read-only t)) | |||
| (erase-buffer) | |||
| (insert (current-time-string) | |||
| (format "\nclang failed with error %d:\n" res) | |||
| cmd "\n\n") | |||
| (insert err) | |||
| (setq buffer-read-only t) | |||
| (goto-char (point-min)))))) | |||
| (defun company-clang--start-process (prefix callback &rest args) | |||
| (let ((objc (derived-mode-p 'objc-mode)) | |||
| (buf (get-buffer-create "*clang-output*"))) | |||
| (with-current-buffer buf (erase-buffer)) | |||
| (if (get-buffer-process buf) | |||
| (funcall callback nil) | |||
| (let ((process (apply #'start-process "company-clang" buf | |||
| company-clang-executable args))) | |||
| (set-process-sentinel | |||
| process | |||
| (lambda (proc status) | |||
| (unless (string-match-p "hangup" status) | |||
| (funcall | |||
| callback | |||
| (let ((res (process-exit-status proc))) | |||
| (with-current-buffer buf | |||
| (unless (eq 0 res) | |||
| (company-clang--handle-error res args)) | |||
| ;; Still try to get any useful input. | |||
| (company-clang--parse-output prefix objc))))))) | |||
| (unless (company-clang--auto-save-p) | |||
| (send-region process (point-min) (point-max)) | |||
| (send-string process "\n") | |||
| (process-send-eof process)))))) | |||
| (defsubst company-clang--build-location (pos) | |||
| (save-excursion | |||
| (goto-char pos) | |||
| (format "%s:%d:%d" | |||
| (if (company-clang--auto-save-p) buffer-file-name "-") | |||
| (line-number-at-pos) | |||
| (1+ (length | |||
| (encode-coding-region | |||
| (line-beginning-position) | |||
| (point) | |||
| 'utf-8 | |||
| t)))))) | |||
| (defsubst company-clang--build-complete-args (pos) | |||
| (append '("-fsyntax-only" "-Xclang" "-code-completion-macros") | |||
| (unless (company-clang--auto-save-p) | |||
| (list "-x" (company-clang--lang-option))) | |||
| company-clang-arguments | |||
| (when (stringp company-clang--prefix) | |||
| (list "-include" (expand-file-name company-clang--prefix))) | |||
| (list "-Xclang" (format "-code-completion-at=%s" | |||
| (company-clang--build-location pos))) | |||
| (list (if (company-clang--auto-save-p) buffer-file-name "-")))) | |||
| (defun company-clang--candidates (prefix callback) | |||
| (and (company-clang--auto-save-p) | |||
| (buffer-modified-p) | |||
| (basic-save-buffer)) | |||
| (when (null company-clang--prefix) | |||
| (company-clang-set-prefix (or (funcall company-clang-prefix-guesser) | |||
| 'none))) | |||
| (apply 'company-clang--start-process | |||
| prefix | |||
| callback | |||
| (company-clang--build-complete-args (- (point) (length prefix))))) | |||
| (defun company-clang--prefix () | |||
| (if company-clang-begin-after-member-access | |||
| (company-grab-symbol-cons "\\.\\|->\\|::" 2) | |||
| (company-grab-symbol))) | |||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||
| (defconst company-clang-required-version 1.1) | |||
| (defvar company-clang--version nil) | |||
| (defun company-clang--auto-save-p () | |||
| (< company-clang--version 2.9)) | |||
| (defsubst company-clang-version () | |||
| "Return the version of `company-clang-executable'." | |||
| (with-temp-buffer | |||
| (call-process company-clang-executable nil t nil "--version") | |||
| (goto-char (point-min)) | |||
| (if (re-search-forward "clang\\(?: version \\|-\\)\\([0-9.]+\\)" nil t) | |||
| (let ((ver (string-to-number (match-string-no-properties 1)))) | |||
| (if (> ver 100) | |||
| (/ ver 100) | |||
| ver)) | |||
| 0))) | |||
| (defun company-clang-objc-templatify (selector) | |||
| (let* ((end (point-marker)) | |||
| (beg (- (point) (length selector) 1)) | |||
| (templ (company-template-declare-template beg end)) | |||
| (cnt 0)) | |||
| (save-excursion | |||
| (goto-char beg) | |||
| (catch 'stop | |||
| (while (search-forward ":" end t) | |||
| (when (looking-at "([^)]*) ?") | |||
| (delete-region (match-beginning 0) (match-end 0))) | |||
| (company-template-add-field templ (point) (format "arg%d" cnt)) | |||
| (if (< (point) end) | |||
| (insert " ") | |||
| (throw 'stop t)) | |||
| (cl-incf cnt)))) | |||
| (company-template-move-to-first templ))) | |||
| (defun company-clang (command &optional arg &rest ignored) | |||
| "`company-mode' completion back-end for Clang. | |||
| Clang is a parser for C and ObjC. Clang version 1.1 or newer is required. | |||
| Additional command line arguments can be specified in | |||
| `company-clang-arguments'. Prefix files (-include ...) can be selected | |||
| with `company-clang-set-prefix' or automatically through a custom | |||
| `company-clang-prefix-guesser'. | |||
| With Clang versions before 2.9, we have to save the buffer before | |||
| performing completion. With Clang 2.9 and later, buffer contents are | |||
| passed via standard input." | |||
| (interactive (list 'interactive)) | |||
| (cl-case command | |||
| (interactive (company-begin-backend 'company-clang)) | |||
| (init (when (memq major-mode company-clang-modes) | |||
| (unless company-clang-executable | |||
| (error "Company found no clang executable")) | |||
| (setq company-clang--version (company-clang-version)) | |||
| (when (< company-clang--version company-clang-required-version) | |||
| (error "Company requires clang version 1.1")))) | |||
| (prefix (and (memq major-mode company-clang-modes) | |||
| buffer-file-name | |||
| company-clang-executable | |||
| (not (company-in-string-or-comment)) | |||
| (or (company-clang--prefix) 'stop))) | |||
| (candidates (cons :async | |||
| (lambda (cb) (company-clang--candidates arg cb)))) | |||
| (meta (company-clang--meta arg)) | |||
| (annotation (company-clang--annotation arg)) | |||
| (post-completion (let ((anno (company-clang--annotation arg))) | |||
| (when (and company-clang-insert-arguments anno) | |||
| (insert anno) | |||
| (if (string-match "\\`:[^:]" anno) | |||
| (company-clang-objc-templatify anno) | |||
| (company-template-c-like-templatify anno))))))) | |||
| (provide 'company-clang) | |||
| ;;; company-clang.el ends here | |||
| @ -1,129 +0,0 @@ | |||
| ;;; company-cmake.el --- company-mode completion back-end for CMake | |||
| ;; Copyright (C) 2013 Free Software Foundation, Inc. | |||
| ;; Author: Chen Bin <chenbin DOT sh AT gmail> | |||
| ;; Version: 0.1 | |||
| ;; 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 <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;; | |||
| ;; company-cmake offers completions for module names, variable names and | |||
| ;; commands used by CMake. And their descriptions. | |||
| ;;; Code: | |||
| (require 'company) | |||
| (require 'cl-lib) | |||
| (defgroup company-cmake nil | |||
| "Completion back-end for CMake." | |||
| :group 'company) | |||
| (defcustom company-cmake-executable | |||
| (executable-find "cmake") | |||
| "Location of cmake executable." | |||
| :type 'file) | |||
| (defvar company-cmake-executable-arguments | |||
| '("--help-command-list" | |||
| "--help-module-list" | |||
| "--help-variable-list") | |||
| "The arguments we pass to cmake, separately. | |||
| They affect which types of symbols we get completion candidates for.") | |||
| (defvar company-cmake--completion-pattern | |||
| "^\\(%s[a-zA-Z0-9_]%s\\)$" | |||
| "Regexp to match the candidates.") | |||
| (defvar company-cmake-modes '(cmake-mode) | |||
| "Major modes in which cmake may complete.") | |||
| (defvar company-cmake--meta-command-cache nil | |||
| "Cache for command arguments to retrieve descriptions for the candidates.") | |||
| (defun company-cmake--parse-output (prefix cmd) | |||
| "Analyze the temp buffer and collect lines." | |||
| (goto-char (point-min)) | |||
| (let ((pattern (format company-cmake--completion-pattern | |||
| (regexp-quote prefix) | |||
| (if (zerop (length prefix)) "+" "*"))) | |||
| (case-fold-search nil) | |||
| lines match) | |||
| (while (re-search-forward pattern nil t) | |||
| (setq match (match-string-no-properties 1)) | |||
| (puthash match cmd company-cmake--meta-command-cache) | |||
| (push match lines)) | |||
| lines)) | |||
| (defun company-cmake--candidates (prefix) | |||
| (let ((res 0) | |||
| results | |||
| cmd) | |||
| (setq company-cmake--meta-command-cache (make-hash-table :test 'equal)) | |||
| (dolist (arg company-cmake-executable-arguments) | |||
| (with-temp-buffer | |||
| (setq res (call-process company-cmake-executable nil t nil arg)) | |||
| (unless (eq 0 res) | |||
| (message "cmake executable exited with error=%d" res)) | |||
| (setq cmd (replace-regexp-in-string "-list$" "" arg) ) | |||
| (setq results (nconc results (company-cmake--parse-output prefix cmd))))) | |||
| results)) | |||
| (defun company-cmake--meta (prefix) | |||
| (let ((cmd-opts (gethash prefix company-cmake--meta-command-cache)) | |||
| result) | |||
| (with-temp-buffer | |||
| (call-process company-cmake-executable nil t nil cmd-opts prefix) | |||
| ;; Go to the third line, trim it and return the result. | |||
| ;; Tested with cmake 2.8.9. | |||
| (goto-char (point-min)) | |||
| (forward-line 2) | |||
| (setq result (buffer-substring-no-properties (line-beginning-position) | |||
| (line-end-position))) | |||
| (setq result (replace-regexp-in-string "^[ \t\n\r]+" "" result)) | |||
| result))) | |||
| (defun company-cmake--doc-buffer (prefix) | |||
| (let ((cmd-opts (gethash prefix company-cmake--meta-command-cache))) | |||
| (with-temp-buffer | |||
| (call-process company-cmake-executable nil t nil cmd-opts prefix) | |||
| ;; Go to the third line, trim it and return the doc buffer. | |||
| ;; Tested with cmake 2.8.9. | |||
| (goto-char (point-min)) | |||
| (forward-line 2) | |||
| (company-doc-buffer | |||
| (buffer-substring-no-properties (line-beginning-position) | |||
| (point-max)))))) | |||
| (defun company-cmake (command &optional arg &rest ignored) | |||
| "`company-mode' completion back-end for CMake. | |||
| CMake is a cross-platform, open-source make system." | |||
| (interactive (list 'interactive)) | |||
| (cl-case command | |||
| (interactive (company-begin-backend 'company-cmake)) | |||
| (init (when (memq major-mode company-cmake-modes) | |||
| (unless company-cmake-executable | |||
| (error "Company found no cmake executable")))) | |||
| (prefix (and (memq major-mode company-cmake-modes) | |||
| (not (company-in-string-or-comment)) | |||
| (company-grab-symbol))) | |||
| (candidates (company-cmake--candidates arg)) | |||
| (meta (company-cmake--meta arg)) | |||
| (doc-buffer (company-cmake--doc-buffer arg)) | |||
| )) | |||
| (provide 'company-cmake) | |||
| ;;; company-cmake.el ends here | |||
| @ -1,438 +0,0 @@ | |||
| ;;; company-css.el --- company-mode completion back-end for css-mode -*- lexical-binding: t -*- | |||
| ;; Copyright (C) 2009, 2011, 2014 Free Software Foundation, Inc. | |||
| ;; Author: Nikolaj Schumacher | |||
| ;; This file is part of GNU Emacs. | |||
| ;; GNU Emacs 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. | |||
| ;; GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;;; Code: | |||
| (require 'company) | |||
| (require 'cl-lib) | |||
| (defconst company-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-clip background-origin background-size) | |||
| ("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-weight font-size "/" line-height | |||
| font-family "caption" "icon" "menu" "message-box" "small-caption" | |||
| "status-bar" "normal" "small-caps" | |||
| ;; CSS3 | |||
| font-stretch) | |||
| ("font-family" family-name generic-family) | |||
| ("font-size" absolute-size relative-size length percentage) | |||
| ("font-style" "normal" "italic" "oblique") | |||
| ("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" | |||
| ;; CSS3: | |||
| "no-display" "no-content") | |||
| ("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-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) | |||
| ;; CSS3 | |||
| ("align-content" align-stretch "space-between" "space-around") | |||
| ("align-items" align-stretch "baseline") | |||
| ("align-self" align-items "auto") | |||
| ("animation" animation-name animation-duration animation-timing-function | |||
| animation-delay animation-iteration-count animation-direction | |||
| animation-fill-mode) | |||
| ("animation-delay" time) | |||
| ("animation-direction" "normal" "reverse" "alternate" "alternate-reverse") | |||
| ("animation-duration" time) | |||
| ("animation-fill-mode" "none" "forwards" "backwards" "both") | |||
| ("animation-iteration-count" integer "infinite") | |||
| ("animation-name" "none") | |||
| ("animation-play-state" "paused" "running") | |||
| ("animation-timing-function" transition-timing-function | |||
| "step-start" "step-end" "steps(,)") | |||
| ("backface-visibility" "visible" "hidden") | |||
| ("background-clip" background-origin) | |||
| ("background-origin" "border-box" "padding-box" "content-box") | |||
| ("background-size" length percentage "auto" "cover" "contain") | |||
| ("border-image" border-image-outset border-image-repeat border-image-source | |||
| border-image-slice border-image-width) | |||
| ("border-image-outset" length) | |||
| ("border-image-repeat" "stretch" "repeat" "round" "space") | |||
| ("border-image-source" uri "none") | |||
| ("border-image-slice" length) | |||
| ("border-image-width" length percentage) | |||
| ("border-radius" length) | |||
| ("border-top-left-radius" length) | |||
| ("border-top-right-radius" length) | |||
| ("border-bottom-left-radius" length) | |||
| ("border-bottom-right-radius" length) | |||
| ("box-decoration-break" "slice" "clone") | |||
| ("box-shadow" length color) | |||
| ("box-sizing" "content-box" "border-box") | |||
| ("break-after" "auto" "always" "avoid" "left" "right" "page" "column" | |||
| "avoid-page" "avoid-column") | |||
| ("break-before" break-after) | |||
| ("break-inside" "avoid" "auto") | |||
| ("columns" column-width column-count) | |||
| ("column-count" integer) | |||
| ("column-fill" "auto" "balance") | |||
| ("column-gap" length "normal") | |||
| ("column-rule" column-rule-width column-rule-style column-rule-color) | |||
| ("column-rule-color" color) | |||
| ("column-rule-style" border-style) | |||
| ("column-rule-width" border-width) | |||
| ("column-span" "all" "none") | |||
| ("column-width" length "auto") | |||
| ("filter" url "blur()" "brightness()" "contrast()" "drop-shadow()" | |||
| "grayscale()" "hue-rotate()" "invert()" "opacity()" "saturate()" "sepia()") | |||
| ("flex" flex-grow flex-shrink flex-basis) | |||
| ("flex-basis" percentage length "auto") | |||
| ("flex-direction" "row" "row-reverse" "column" "column-reverse") | |||
| ("flex-flow" flex-direction flex-wrap) | |||
| ("flex-grow" number) | |||
| ("flex-shrink" number) | |||
| ("flex-wrap" "nowrap" "wrap" "wrap-reverse") | |||
| ("font-feature-setting" normal string number) | |||
| ("font-kerning" "auto" "normal" "none") | |||
| ("font-language-override" "normal" string) | |||
| ("font-size-adjust" "none" number) | |||
| ("font-stretch" "normal" "ultra-condensed" "extra-condensed" "condensed" | |||
| "semi-condensed" "semi-expanded" "expanded" "extra-expanded" "ultra-expanded") | |||
| ("font-synthesis" "none" "weight" "style") | |||
| ("font-variant" font-variant-alternates font-variant-caps | |||
| font-variant-east-asian font-variant-ligatures font-variant-numeric | |||
| font-variant-position) | |||
| ("font-variant-alternates" "normal" "historical-forms" "stylistic()" | |||
| "styleset()" "character-variant()" "swash()" "ornaments()" "annotation()") | |||
| ("font-variant-caps" "normal" "small-caps" "all-small-caps" "petite-caps" | |||
| "all-petite-caps" "unicase" "titling-caps") | |||
| ("font-variant-east-asian" "jis78" "jis83" "jis90" "jis04" "simplified" | |||
| "traditional" "full-width" "proportional-width" "ruby") | |||
| ("font-variant-ligatures" "normal" "none" "common-ligatures" | |||
| "no-common-ligatures" "discretionary-ligatures" "no-discretionary-ligatures" | |||
| "historical-ligatures" "no-historical-ligatures" "contextual" "no-contextual") | |||
| ("font-variant-numeric" "normal" "ordinal" "slashed-zero" | |||
| "lining-nums" "oldstyle-nums" "proportional-nums" "tabular-nums" | |||
| "diagonal-fractions" "stacked-fractions") | |||
| ("font-variant-position" "normal" "sub" "super") | |||
| ("hyphens" "none" "manual" "auto") | |||
| ("justify-content" align-common "space-between" "space-around") | |||
| ("line-break" "auto" "loose" "normal" "strict") | |||
| ("marquee-direction" "forward" "reverse") | |||
| ("marquee-play-count" integer "infinite") | |||
| ("marquee-speed" "slow" "normal" "fast") | |||
| ("marquee-style" "scroll" "slide" "alternate") | |||
| ("opacity" number) | |||
| ("order" number) | |||
| ("outline-offset" length) | |||
| ("overflow-x" overflow) | |||
| ("overflow-y" overflow) | |||
| ("overflow-style" "auto" "marquee-line" "marquee-block") | |||
| ("overflow-wrap" "normal" "break-word") | |||
| ("perspective" "none" length) | |||
| ("perspective-origin" percentage length "left" "center" "right" "top" "bottom") | |||
| ("resize" "none" "both" "horizontal" "vertical") | |||
| ("tab-size" integer length) | |||
| ("text-align-last" "auto" "start" "end" "left" "right" "center" "justify") | |||
| ("text-decoration" text-decoration-color text-decoration-line text-decoration-style) | |||
| ("text-decoration-color" color) | |||
| ("text-decoration-line" "none" "underline" "overline" "line-through" "blink") | |||
| ("text-decoration-style" "solid" "double" "dotted" "dashed" "wavy") | |||
| ("text-overflow" "clip" "ellipsis") | |||
| ("text-shadow" color length) | |||
| ("text-underline-position" "auto" "under" "left" "right") | |||
| ("transform" "matrix(,,,,,)" "translate(,)" "translateX()" "translateY()" | |||
| "scale()" "scaleX()" "scaleY()" "rotate()" "skewX()" "skewY()" "none") | |||
| ("transform-origin" perspective-origin) | |||
| ("transform-style" "flat" "preserve-3d") | |||
| ("transition" transition-property transition-duration | |||
| transition-timing-function transition-delay) | |||
| ("transition-delay" time) | |||
| ("transition-duration" time) | |||
| ("transition-timing-function" | |||
| "ease" "linear" "ease-in" "ease-out" "ease-in-out" "cubic-bezier(,,,)") | |||
| ("transition-property" "none" "all" identifier) | |||
| ("word-wrap" overflow-wrap) | |||
| ("word-break" "normal" "break-all" "keep-all")) | |||
| "A list of CSS properties and their possible values.") | |||
| (defconst company-css-value-classes | |||
| '((absolute-size "xx-small" "x-small" "small" "medium" "large" "x-large" | |||
| "xx-large") | |||
| (align-common "flex-start" "flex-end" "center") | |||
| (align-stretch align-common "stretch") | |||
| (border-style "none" "hidden" "dotted" "dashed" "solid" "double" "groove" | |||
| "ridge" "inset" "outset") | |||
| (border-width "thick" "medium" "thin") | |||
| (color "aqua" "black" "blue" "fuchsia" "gray" "green" "lime" "maroon" "navy" | |||
| "olive" "orange" "purple" "red" "silver" "teal" "white" "yellow") | |||
| (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.") | |||
| ;; missing, because not completable | |||
| ;; <angle><frequency><identifier><integer><length><number><padding-width> | |||
| ;; <percentage><specific-voice><string><time><uri> | |||
| (defconst company-css-html-tags | |||
| '("a" "abbr" "acronym" "address" "applet" "area" "b" "base" "basefont" "bdo" | |||
| "big" "blockquote" "body" "br" "button" "caption" "center" "cite" "code" | |||
| "col" "colgroup" "dd" "del" "dfn" "dir" "div" "dl" "dt" "em" "fieldset" | |||
| "font" "form" "frame" "frameset" "h1" "h2" "h3" "h4" "h5" "h6" "head" "hr" | |||
| "html" "i" "iframe" "img" "input" "ins" "isindex" "kbd" "label" "legend" | |||
| "li" "link" "map" "menu" "meta" "noframes" "noscript" "object" "ol" | |||
| "optgroup" "option" "p" "param" "pre" "q" "s" "samp" "script" "select" | |||
| "small" "span" "strike" "strong" "style" "sub" "sup" "table" "tbody" "td" | |||
| "textarea" "tfoot" "th" "thead" "title" "tr" "tt" "u" "ul" "var" | |||
| ;; HTML5 | |||
| "section" "article" "aside" "header" "footer" "nav" "figure" "figcaption" | |||
| "time" "mark" "main") | |||
| "A list of HTML tags for use in CSS completion.") | |||
| (defconst company-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.") | |||
| (defconst company-css-property-cache (make-hash-table :size 115 :test 'equal)) | |||
| (defun company-css-property-values (attribute) | |||
| "Access the `company-css-property-alist' cached and flattened." | |||
| (or (gethash attribute company-css-property-cache) | |||
| (let (results) | |||
| (dolist (value (cdr (assoc attribute company-css-property-alist))) | |||
| (if (symbolp value) | |||
| (dolist (child (or (cdr (assoc value company-css-value-classes)) | |||
| (company-css-property-values | |||
| (symbol-name value)))) | |||
| (push child results)) | |||
| (push value results))) | |||
| (setq results (sort results 'string<)) | |||
| (puthash attribute | |||
| (if (fboundp 'delete-consecutive-dups) | |||
| (delete-consecutive-dups results) | |||
| (delete-dups results)) | |||
| company-css-property-cache) | |||
| results))) | |||
| ;;; bracket detection | |||
| (defconst company-css-braces-syntax-table | |||
| (let ((table (make-syntax-table))) | |||
| (setf (aref table ?{) '(4 . 125)) | |||
| (setf (aref table ?}) '(5 . 123)) | |||
| table) | |||
| "A syntax table giving { and } paren syntax.") | |||
| (defun company-css-inside-braces-p () | |||
| "Return non-nil, if point is within matched { and }." | |||
| (ignore-errors | |||
| (with-syntax-table company-css-braces-syntax-table | |||
| (let ((parse-sexp-ignore-comments t)) | |||
| (scan-lists (point) -1 1))))) | |||
| ;;; tags | |||
| (defconst company-css-tag-regexp | |||
| (concat "\\(?:\\`\\|}\\)[[:space:]]*" | |||
| ;; multiple | |||
| "\\(?:" | |||
| ;; previous tags: | |||
| "\\(?:#\\|\\_<[[:alpha:]]\\)[[:alnum:]-#]*\\(?:\\[[^]]*\\]\\)?" | |||
| ;; space or selectors | |||
| "\\(?:[[:space:]]+\\|[[:space:]]*[+,>][[:space:]]*\\)" | |||
| "\\)*" | |||
| "\\(\\(?:#\\|\\_<[[:alpha:]]\\)\\(?:[[:alnum:]-#]*\\_>\\)?\\_>\\|\\)" | |||
| "\\=") | |||
| "A regular expression matching CSS tags.") | |||
| ;;; pseudo id | |||
| (defconst company-css-pseudo-regexp | |||
| (concat "\\(?:\\`\\|}\\)[[:space:]]*" | |||
| ;; multiple | |||
| "\\(?:" | |||
| ;; previous tags: | |||
| "\\(?:#\\|\\_<[[:alpha:]]\\)[[:alnum:]-#]*\\(?:\\[[^]]*\\]\\)?" | |||
| ;; space or delimiters | |||
| "\\(?:[[:space:]]+\\|[[:space:]]*[+,>][[:space:]]*\\)" | |||
| "\\)*" | |||
| "\\(?:\\(?:\\#\\|\\_<[[:alpha:]]\\)[[:alnum:]-#]*\\):" | |||
| "\\([[:alpha:]-]+\\_>\\|\\)\\_>\\=") | |||
| "A regular expression matching CSS pseudo classes.") | |||
| ;;; properties | |||
| (defun company-css-grab-property () | |||
| "Return the CSS property before point, if any. | |||
| Returns \"\" if no property found, but feasible at this position." | |||
| (when (company-css-inside-braces-p) | |||
| (company-grab-symbol))) | |||
| ;;; values | |||
| (defconst company-css-property-value-regexp | |||
| "\\_<\\([[:alpha:]-]+\\):\\(?:[^{};]*[[:space:]]+\\)?\\([^{};]*\\_>\\|\\)\\=" | |||
| "A regular expression matching CSS tags.") | |||
| ;;;###autoload | |||
| (defun company-css (command &optional arg &rest ignored) | |||
| "`company-mode' completion back-end for `css-mode'." | |||
| (interactive (list 'interactive)) | |||
| (cl-case command | |||
| (interactive (company-begin-backend 'company-css)) | |||
| (prefix (and (derived-mode-p 'css-mode) | |||
| (or (company-grab company-css-tag-regexp 1) | |||
| (company-grab company-css-pseudo-regexp 1) | |||
| (company-grab company-css-property-value-regexp 2) | |||
| (company-css-grab-property)))) | |||
| (candidates | |||
| (cond | |||
| ((company-grab company-css-tag-regexp 1) | |||
| (all-completions arg company-css-html-tags)) | |||
| ((company-grab company-css-pseudo-regexp 1) | |||
| (all-completions arg company-css-pseudo-classes)) | |||
| ((company-grab company-css-property-value-regexp 2) | |||
| (all-completions arg | |||
| (company-css-property-values | |||
| (company-grab company-css-property-value-regexp 1)))) | |||
| ((company-css-grab-property) | |||
| (all-completions arg company-css-property-alist)))) | |||
| (sorted t))) | |||
| (provide 'company-css) | |||
| ;;; company-css.el ends here | |||
| @ -1,104 +0,0 @@ | |||
| ;;; company-dabbrev-code.el --- dabbrev-like company-mode back-end for code -*- lexical-binding: t -*- | |||
| ;; Copyright (C) 2009, 2011, 2014 Free Software Foundation, Inc. | |||
| ;; Author: Nikolaj Schumacher | |||
| ;; This file is part of GNU Emacs. | |||
| ;; GNU Emacs 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. | |||
| ;; GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;; | |||
| ;;; Code: | |||
| (require 'company) | |||
| (require 'company-dabbrev) | |||
| (require 'cl-lib) | |||
| (defgroup company-dabbrev-code nil | |||
| "dabbrev-like completion back-end for code." | |||
| :group 'company) | |||
| (defcustom company-dabbrev-code-modes | |||
| '(prog-mode | |||
| batch-file-mode csharp-mode css-mode erlang-mode haskell-mode jde-mode | |||
| lua-mode python-mode) | |||
| "Modes that use `company-dabbrev-code'. | |||
| In all these modes (and their derivatives) `company-dabbrev-code' will | |||
| complete only symbols, not text in comments or strings. In other modes | |||
| `company-dabbrev-code' will pass control to other back-ends | |||
| \(e.g. `company-dabbrev'\). Value t means complete in all modes." | |||
| :type '(choice (repeat (symbol :tag "Major mode")) | |||
| (const tag "All modes" t))) | |||
| (defcustom company-dabbrev-code-other-buffers t | |||
| "Determines whether `company-dabbrev-code' should search other buffers. | |||
| If `all', search all other buffers. If t, search buffers with the same | |||
| major mode. If `code', search all buffers with major modes in | |||
| `company-dabbrev-code-modes', or derived from one of them. | |||
| See also `company-dabbrev-code-time-limit'." | |||
| :type '(choice (const :tag "Off" nil) | |||
| (const :tag "Same major mode" t) | |||
| (const :tag "Code major modes" code) | |||
| (const :tag "All" all))) | |||
| (defcustom company-dabbrev-code-time-limit .1 | |||
| "Determines how long `company-dabbrev-code' should look for matches." | |||
| :type '(choice (const :tag "Off" nil) | |||
| (number :tag "Seconds"))) | |||
| (defcustom company-dabbrev-code-everywhere nil | |||
| "Non-nil to offer completions in comments and strings." | |||
| :type 'boolean) | |||
| (defcustom company-dabbrev-code-ignore-case nil | |||
| "Non-nil to ignore case in completion candidates." | |||
| :type 'boolean) | |||
| (defsubst company-dabbrev-code--make-regexp (prefix) | |||
| (concat "\\_<" (if (equal prefix "") | |||
| "\\([a-zA-Z]\\|\\s_\\)" | |||
| (regexp-quote prefix)) | |||
| "\\(\\sw\\|\\s_\\)*\\_>")) | |||
| ;;;###autoload | |||
| (defun company-dabbrev-code (command &optional arg &rest ignored) | |||
| "dabbrev-like `company-mode' back-end for code. | |||
| The back-end looks for all symbols in the current buffer that aren't in | |||
| comments or strings." | |||
| (interactive (list 'interactive)) | |||
| (cl-case command | |||
| (interactive (company-begin-backend 'company-dabbrev-code)) | |||
| (prefix (and (or (eq t company-dabbrev-code-modes) | |||
| (apply #'derived-mode-p company-dabbrev-code-modes)) | |||
| (or company-dabbrev-code-everywhere | |||
| (not (company-in-string-or-comment))) | |||
| (or (company-grab-symbol) 'stop))) | |||
| (candidates (let ((case-fold-search company-dabbrev-code-ignore-case)) | |||
| (company-dabbrev--search | |||
| (company-dabbrev-code--make-regexp arg) | |||
| company-dabbrev-code-time-limit | |||
| (pcase company-dabbrev-code-other-buffers | |||
| (`t (list major-mode)) | |||
| (`code company-dabbrev-code-modes) | |||
| (`all `all)) | |||
| t))) | |||
| (ignore-case company-dabbrev-code-ignore-case) | |||
| (duplicates t))) | |||
| (provide 'company-dabbrev-code) | |||
| ;;; company-dabbrev-code.el ends here | |||
| @ -1,153 +0,0 @@ | |||
| ;;; company-dabbrev.el --- dabbrev-like company-mode completion back-end -*- lexical-binding: t -*- | |||
| ;; Copyright (C) 2009, 2011, 2014 Free Software Foundation, Inc. | |||
| ;; Author: Nikolaj Schumacher | |||
| ;; This file is part of GNU Emacs. | |||
| ;; GNU Emacs 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. | |||
| ;; GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;; | |||
| ;;; Code: | |||
| (require 'company) | |||
| (require 'cl-lib) | |||
| (defgroup company-dabbrev nil | |||
| "dabbrev-like completion back-end." | |||
| :group 'company) | |||
| (defcustom company-dabbrev-other-buffers 'all | |||
| "Determines whether `company-dabbrev' should search other buffers. | |||
| If `all', search all other buffers. If t, search buffers with the same | |||
| major mode. | |||
| See also `company-dabbrev-time-limit'." | |||
| :type '(choice (const :tag "Off" nil) | |||
| (const :tag "Same major mode" t) | |||
| (const :tag "All" all))) | |||
| (defcustom company-dabbrev-time-limit .1 | |||
| "Determines how many seconds `company-dabbrev' should look for matches." | |||
| :type '(choice (const :tag "Off" nil) | |||
| (number :tag "Seconds"))) | |||
| (defcustom company-dabbrev-char-regexp "\\sw" | |||
| "A regular expression matching the characters `company-dabbrev' looks for." | |||
| :type 'regexp) | |||
| (defcustom company-dabbrev-ignore-case 'keep-prefix | |||
| "The value of `ignore-case' returned by `company-dabbrev'.") | |||
| (defcustom company-dabbrev-downcase 'case-replace | |||
| "Whether to downcase the returned candidates. | |||
| The value of nil means keep them as-is. | |||
| `case-replace' means use the value of `case-replace'. | |||
| Any other value means downcase. | |||
| If you set this value to nil, you may also want to set | |||
| `company-dabbrev-ignore-case' to any value other than `keep-prefix'.") | |||
| (defcustom company-dabbrev-minimum-length (1+ company-minimum-prefix-length) | |||
| "The minimum length for the string to be included." | |||
| :type 'integer) | |||
| (defmacro company-dabrev--time-limit-while (test start limit &rest body) | |||
| (declare (indent 3) (debug t)) | |||
| `(let ((company-time-limit-while-counter 0)) | |||
| (catch 'done | |||
| (while ,test | |||
| ,@body | |||
| (and ,limit | |||
| (eq (cl-incf company-time-limit-while-counter) 25) | |||
| (setq company-time-limit-while-counter 0) | |||
| (> (float-time (time-since ,start)) ,limit) | |||
| (throw 'done 'company-time-out)))))) | |||
| (defsubst company-dabbrev--make-regexp (prefix) | |||
| (concat "\\<" (if (equal prefix "") | |||
| company-dabbrev-char-regexp | |||
| (regexp-quote prefix)) | |||
| "\\(" company-dabbrev-char-regexp "\\)*\\>")) | |||
| (defun company-dabbrev--search-buffer (regexp pos symbols start limit | |||
| ignore-comments) | |||
| (save-excursion | |||
| (let (match) | |||
| (goto-char (if pos (1- pos) (point-min))) | |||
| ;; search before pos | |||
| (company-dabrev--time-limit-while (re-search-backward regexp nil t) | |||
| start limit | |||
| (setq match (match-string-no-properties 0)) | |||
| (if (and ignore-comments (company-in-string-or-comment)) | |||
| (re-search-backward "\\s<\\|\\s!\\|\\s\"\\|\\s|" nil t) | |||
| (when (>= (length match) company-dabbrev-minimum-length) | |||
| (push match symbols)))) | |||
| (goto-char (or pos (point-min))) | |||
| ;; search after pos | |||
| (company-dabrev--time-limit-while (re-search-forward regexp nil t) | |||
| start limit | |||
| (setq match (match-string-no-properties 0)) | |||
| (if (and ignore-comments (company-in-string-or-comment)) | |||
| (re-search-forward "\\s>\\|\\s!\\|\\s\"" nil t) | |||
| (when (>= (length match) company-dabbrev-minimum-length) | |||
| (push match symbols)))) | |||
| symbols))) | |||
| (defun company-dabbrev--search (regexp &optional limit other-buffer-modes | |||
| ignore-comments) | |||
| (let* ((start (current-time)) | |||
| (symbols (company-dabbrev--search-buffer regexp (point) nil start limit | |||
| ignore-comments))) | |||
| (when other-buffer-modes | |||
| (cl-dolist (buffer (delq (current-buffer) (buffer-list))) | |||
| (with-current-buffer buffer | |||
| (when (or (eq other-buffer-modes 'all) | |||
| (apply #'derived-mode-p other-buffer-modes)) | |||
| (setq symbols | |||
| (company-dabbrev--search-buffer regexp nil symbols start | |||
| limit ignore-comments)))) | |||
| (and limit | |||
| (> (float-time (time-since start)) limit) | |||
| (cl-return)))) | |||
| symbols)) | |||
| ;;;###autoload | |||
| (defun company-dabbrev (command &optional arg &rest ignored) | |||
| "dabbrev-like `company-mode' completion back-end." | |||
| (interactive (list 'interactive)) | |||
| (cl-case command | |||
| (interactive (company-begin-backend 'company-dabbrev)) | |||
| (prefix (company-grab-word)) | |||
| (candidates | |||
| (let ((words (company-dabbrev--search (company-dabbrev--make-regexp arg) | |||
| company-dabbrev-time-limit | |||
| (pcase company-dabbrev-other-buffers | |||
| (`t (list major-mode)) | |||
| (`all `all)))) | |||
| (downcase-p (if (eq company-dabbrev-downcase 'case-replace) | |||
| case-replace | |||
| company-dabbrev-downcase))) | |||
| (if downcase-p | |||
| (mapcar 'downcase words) | |||
| words))) | |||
| (ignore-case company-dabbrev-ignore-case) | |||
| (duplicates t))) | |||
| (provide 'company-dabbrev) | |||
| ;;; company-dabbrev.el ends here | |||
| @ -1,183 +0,0 @@ | |||
| ;;; company-eclim.el --- company-mode completion back-end for Eclim | |||
| ;; Copyright (C) 2009, 2011, 2013 Free Software Foundation, Inc. | |||
| ;; Author: Nikolaj Schumacher | |||
| ;; This file is part of GNU Emacs. | |||
| ;; GNU Emacs 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. | |||
| ;; GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;; | |||
| ;; Using `emacs-eclim' together with (or instead of) this back-end is | |||
| ;; recommended, as it allows you to use other Eclim features. | |||
| ;; | |||
| ;; The alternative back-end provided by `emacs-eclim' uses `yasnippet' | |||
| ;; instead of `company-template' to expand function calls, and it supports | |||
| ;; some languages other than Java. | |||
| ;;; Code: | |||
| (require 'company) | |||
| (require 'company-template) | |||
| (require 'cl-lib) | |||
| (defgroup company-eclim nil | |||
| "Completion back-end for Eclim." | |||
| :group 'company) | |||
| (defun company-eclim-executable-find () | |||
| (let (file) | |||
| (cl-dolist (eclipse-root '("/Applications/eclipse" "/usr/lib/eclipse" | |||
| "/usr/local/lib/eclipse")) | |||
| (and (file-exists-p (setq file (expand-file-name "plugins" eclipse-root))) | |||
| (setq file (car (last (directory-files file t "^org.eclim_")))) | |||
| (file-exists-p (setq file (expand-file-name "bin/eclim" file))) | |||
| (cl-return file))))) | |||
| (defcustom company-eclim-executable | |||
| (or (executable-find "eclim") (company-eclim-executable-find)) | |||
| "Location of eclim executable." | |||
| :type 'file) | |||
| (defcustom company-eclim-auto-save t | |||
| "Determines whether to save the buffer when retrieving completions. | |||
| eclim can only complete correctly when the buffer has been saved." | |||
| :type '(choice (const :tag "Off" nil) | |||
| (const :tag "On" t))) | |||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||
| (defvar-local company-eclim--project-dir 'unknown) | |||
| (defvar-local company-eclim--project-name nil) | |||
| (declare-function json-read "json") | |||
| (defvar json-array-type) | |||
| (defun company-eclim--call-process (&rest args) | |||
| (let ((coding-system-for-read 'utf-8) | |||
| res) | |||
| (require 'json) | |||
| (with-temp-buffer | |||
| (if (= 0 (setq res (apply 'call-process company-eclim-executable nil t nil | |||
| "-command" args))) | |||
| (let ((json-array-type 'list)) | |||
| (goto-char (point-min)) | |||
| (unless (eobp) | |||
| (json-read))) | |||
| (message "Company-eclim command failed with error %d:\n%s" res | |||
| (buffer-substring (point-min) (point-max))) | |||
| nil)))) | |||
| (defun company-eclim--project-list () | |||
| (company-eclim--call-process "project_list")) | |||
| (defun company-eclim--project-dir () | |||
| (if (eq company-eclim--project-dir 'unknown) | |||
| (setq company-eclim--project-dir | |||
| (directory-file-name | |||
| (expand-file-name | |||
| (locate-dominating-file buffer-file-name ".project")))) | |||
| company-eclim--project-dir)) | |||
| (defun company-eclim--project-name () | |||
| (or company-eclim--project-name | |||
| (let ((dir (company-eclim--project-dir))) | |||
| (when dir | |||
| (setq company-eclim--project-name | |||
| (cl-loop for project in (company-eclim--project-list) | |||
| when (equal (cdr (assoc 'path project)) dir) | |||
| return (cdr (assoc 'name project)))))))) | |||
| (defun company-eclim--candidates (prefix) | |||
| (interactive "d") | |||
| (let ((project-file (file-relative-name buffer-file-name | |||
| (company-eclim--project-dir))) | |||
| completions) | |||
| (when company-eclim-auto-save | |||
| (when (buffer-modified-p) | |||
| (basic-save-buffer)) | |||
| ;; FIXME: Sometimes this isn't finished when we complete. | |||
| (company-eclim--call-process "java_src_update" | |||
| "-p" (company-eclim--project-name) | |||
| "-f" project-file)) | |||
| (dolist (item (cdr (assoc 'completions | |||
| (company-eclim--call-process | |||
| "java_complete" "-p" (company-eclim--project-name) | |||
| "-f" project-file | |||
| "-o" (number-to-string | |||
| (company-eclim--search-point prefix)) | |||
| "-e" "utf-8" | |||
| "-l" "standard")))) | |||
| (let* ((meta (cdr (assoc 'info item))) | |||
| (completion meta)) | |||
| (when (string-match " ?[(:-]" completion) | |||
| (setq completion (substring completion 0 (match-beginning 0)))) | |||
| (put-text-property 0 1 'meta meta completion) | |||
| (push completion completions))) | |||
| (let ((completion-ignore-case nil)) | |||
| (all-completions prefix completions)))) | |||
| (defun company-eclim--search-point (prefix) | |||
| (if (or (cl-plusp (length prefix)) (eq (char-before) ?.)) | |||
| (1- (point)) | |||
| (point))) | |||
| (defun company-eclim--meta (candidate) | |||
| (get-text-property 0 'meta candidate)) | |||
| (defun company-eclim--annotation (candidate) | |||
| (let ((meta (company-eclim--meta candidate))) | |||
| (when (string-match "\\(([^-]*\\) -" meta) | |||
| (substring meta (match-beginning 1) (match-end 1))))) | |||
| (defun company-eclim--prefix () | |||
| (let ((prefix (company-grab-symbol))) | |||
| (when prefix | |||
| ;; Completion candidates for annotations don't include '@'. | |||
| (when (eq ?@ (string-to-char prefix)) | |||
| (setq prefix (substring prefix 1))) | |||
| prefix))) | |||
| (defun company-eclim (command &optional arg &rest ignored) | |||
| "`company-mode' completion back-end for Eclim. | |||
| Eclim provides access to Eclipse Java IDE features for other editors. | |||
| Eclim version 1.7.13 or newer (?) is required. | |||
| Completions only work correctly when the buffer has been saved. | |||
| `company-eclim-auto-save' determines whether to do this automatically." | |||
| (interactive (list 'interactive)) | |||
| (cl-case command | |||
| (interactive (company-begin-backend 'company-eclim)) | |||
| (prefix (and (derived-mode-p 'java-mode 'jde-mode) | |||
| buffer-file-name | |||
| company-eclim-executable | |||
| (company-eclim--project-name) | |||
| (not (company-in-string-or-comment)) | |||
| (or (company-eclim--prefix) 'stop))) | |||
| (candidates (company-eclim--candidates arg)) | |||
| (meta (company-eclim--meta arg)) | |||
| ;; because "" doesn't return everything | |||
| (no-cache (equal arg "")) | |||
| (annotation (company-eclim--annotation arg)) | |||
| (post-completion (let ((anno (company-eclim--annotation arg))) | |||
| (when anno | |||
| (insert anno) | |||
| (company-template-c-like-templatify anno)))))) | |||
| (provide 'company-eclim) | |||
| ;;; company-eclim.el ends here | |||
| @ -1,193 +0,0 @@ | |||
| ;;; company-elisp-tests.el --- company-elisp tests | |||
| ;; Copyright (C) 2013-2014 Free Software Foundation, Inc. | |||
| ;; Author: Dmitry Gutov | |||
| ;; This file is part of GNU Emacs. | |||
| ;; GNU Emacs 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. | |||
| ;; GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;; | |||
| ;;; Code: | |||
| (require 'company-elisp) | |||
| (defmacro company-elisp-with-buffer (contents &rest body) | |||
| (declare (indent 0)) | |||
| `(with-temp-buffer | |||
| (insert ,contents) | |||
| (setq major-mode 'emacs-lisp-mode) | |||
| (re-search-backward "|") | |||
| (replace-match "") | |||
| (let ((company-elisp-detect-function-context t)) | |||
| ,@body))) | |||
| (ert-deftest company-elisp-candidates-predicate () | |||
| (company-elisp-with-buffer | |||
| "(foo ba|)" | |||
| (should (eq (company-elisp--candidates-predicate "ba") | |||
| 'boundp)) | |||
| (should (eq (let (company-elisp-detect-function-context) | |||
| (company-elisp--candidates-predicate "ba")) | |||
| 'company-elisp--predicate))) | |||
| (company-elisp-with-buffer | |||
| "(foo| )" | |||
| (should (eq (company-elisp--candidates-predicate "foo") | |||
| 'fboundp)) | |||
| (should (eq (let (company-elisp-detect-function-context) | |||
| (company-elisp--candidates-predicate "foo")) | |||
| 'company-elisp--predicate))) | |||
| (company-elisp-with-buffer | |||
| "(foo 'b|)" | |||
| (should (eq (company-elisp--candidates-predicate "b") | |||
| 'company-elisp--predicate)))) | |||
| (ert-deftest company-elisp-candidates-predicate-in-docstring () | |||
| (company-elisp-with-buffer | |||
| "(def foo () \"Doo be doo `ide|" | |||
| (should (eq 'company-elisp--predicate | |||
| (company-elisp--candidates-predicate "ide"))))) | |||
| ;; This one's also an integration test. | |||
| (ert-deftest company-elisp-candidates-recognizes-binding-form () | |||
| (let ((company-elisp-detect-function-context t) | |||
| (obarray [when what whelp]) | |||
| (what 1) | |||
| (whelp 2) | |||
| (wisp 3)) | |||
| (company-elisp-with-buffer | |||
| "(let ((foo 7) (wh| )))" | |||
| (should (equal '("what" "whelp") | |||
| (company-elisp-candidates "wh")))) | |||
| (company-elisp-with-buffer | |||
| "(cond ((null nil) (wh| )))" | |||
| (should (equal '("when") | |||
| (company-elisp-candidates "wh")))))) | |||
| (ert-deftest company-elisp-candidates-predicate-binding-without-value () | |||
| (cl-loop for (text prefix predicate) in '(("(let (foo|" "foo" boundp) | |||
| ("(let (foo (bar|" "bar" boundp) | |||
| ("(let (foo) (bar|" "bar" fboundp)) | |||
| do | |||
| (eval `(company-elisp-with-buffer | |||
| ,text | |||
| (should (eq ',predicate | |||
| (company-elisp--candidates-predicate ,prefix))))))) | |||
| (ert-deftest company-elisp-finds-vars () | |||
| (let ((obarray [boo bar baz backquote]) | |||
| (boo t) | |||
| (bar t) | |||
| (baz t)) | |||
| (should (equal '("bar" "baz") | |||
| (company-elisp--globals "ba" 'boundp))))) | |||
| (ert-deftest company-elisp-finds-functions () | |||
| (let ((obarray [when what whelp]) | |||
| (what t) | |||
| (whelp t)) | |||
| (should (equal '("when") | |||
| (company-elisp--globals "wh" 'fboundp))))) | |||
| (ert-deftest company-elisp-finds-things () | |||
| (let ((obarray [when what whelp]) | |||
| (what t) | |||
| (whelp t)) | |||
| (should (equal '("what" "whelp" "when") | |||
| (sort (company-elisp--globals "wh" 'company-elisp--predicate) | |||
| 'string<))))) | |||
| (ert-deftest company-elisp-locals-vars () | |||
| (company-elisp-with-buffer | |||
| "(let ((foo 5) (bar 6)) | |||
| (cl-labels ((borg ())) | |||
| (lambda (boo baz) | |||
| b|)))" | |||
| (should (equal '("bar" "baz" "boo") | |||
| (company-elisp--locals "b" nil))))) | |||
| (ert-deftest company-elisp-locals-single-var () | |||
| (company-elisp-with-buffer | |||
| "(dotimes (itk 100) | |||
| (dolist (item items) | |||
| it|))" | |||
| (should (equal '("itk" "item") | |||
| (company-elisp--locals "it" nil))))) | |||
| (ert-deftest company-elisp-locals-funs () | |||
| (company-elisp-with-buffer | |||
| "(cl-labels ((foo ()) | |||
| (fee ())) | |||
| (let ((fun 4)) | |||
| (f| )))" | |||
| (should (equal '("fee" "foo") | |||
| (sort (company-elisp--locals "f" t) 'string<))))) | |||
| (ert-deftest company-elisp-locals-skips-current-varlist () | |||
| (company-elisp-with-buffer | |||
| "(let ((foo 1) | |||
| (f| )))" | |||
| (should (null (company-elisp--locals "f" nil))))) | |||
| (ert-deftest company-elisp-show-locals-first () | |||
| (company-elisp-with-buffer | |||
| "(let ((floo 1) | |||
| (flop 2) | |||
| (flee 3)) | |||
| fl|)" | |||
| (let ((obarray [float-pi])) | |||
| (let (company-elisp-show-locals-first) | |||
| (should (eq nil (company-elisp 'sorted)))) | |||
| (let ((company-elisp-show-locals-first t)) | |||
| (should (eq t (company-elisp 'sorted))) | |||
| (should (equal '("flee" "floo" "flop" "float-pi") | |||
| (company-elisp-candidates "fl"))))))) | |||
| (ert-deftest company-elisp-candidates-no-duplicates () | |||
| (company-elisp-with-buffer | |||
| "(let ((float-pi 4)) | |||
| f|)" | |||
| (let ((obarray [float-pi]) | |||
| (company-elisp-show-locals-first t)) | |||
| (should (equal '("float-pi") (company-elisp-candidates "f")))))) | |||
| (ert-deftest company-elisp-shouldnt-complete-defun-name () | |||
| (company-elisp-with-buffer | |||
| "(defun foob|)" | |||
| (should (null (company-elisp 'prefix))))) | |||
| (ert-deftest company-elisp-should-complete-def-call () | |||
| (company-elisp-with-buffer | |||
| "(defu|" | |||
| (should (equal "defu" (company-elisp 'prefix))))) | |||
| (ert-deftest company-elisp-should-complete-in-defvar () | |||
| ;; It will also complete the var name, at least for now. | |||
| (company-elisp-with-buffer | |||
| "(defvar abc de|" | |||
| (should (equal "de" (company-elisp 'prefix))))) | |||
| (ert-deftest company-elisp-shouldnt-complete-in-defun-arglist () | |||
| (company-elisp-with-buffer | |||
| "(defsubst foobar (ba|" | |||
| (should (null (company-elisp 'prefix))))) | |||
| (ert-deftest company-elisp-prefix-in-defun-body () | |||
| (company-elisp-with-buffer | |||
| "(defun foob ()|)" | |||
| (should (equal "" (company-elisp 'prefix))))) | |||
| @ -1,225 +0,0 @@ | |||
| ;;; company-elisp.el --- company-mode completion back-end for Emacs Lisp -*- lexical-binding: t -*- | |||
| ;; Copyright (C) 2009, 2011-2013 Free Software Foundation, Inc. | |||
| ;; Author: Nikolaj Schumacher | |||
| ;; This file is part of GNU Emacs. | |||
| ;; GNU Emacs 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. | |||
| ;; GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;; | |||
| ;;; Code: | |||
| (require 'company) | |||
| (require 'cl-lib) | |||
| (require 'help-mode) | |||
| (require 'find-func) | |||
| (defgroup company-elisp nil | |||
| "Completion back-end for Emacs Lisp." | |||
| :group 'company) | |||
| (defcustom company-elisp-detect-function-context t | |||
| "If enabled, offer Lisp functions only in appropriate contexts. | |||
| Functions are offered for completion only after ' and \(." | |||
| :type '(choice (const :tag "Off" nil) | |||
| (const :tag "On" t))) | |||
| (defcustom company-elisp-show-locals-first t | |||
| "If enabled, locally bound variables and functions are displayed | |||
| first in the candidates list." | |||
| :type '(choice (const :tag "Off" nil) | |||
| (const :tag "On" t))) | |||
| (defun company-elisp--prefix () | |||
| (let ((prefix (company-grab-symbol))) | |||
| (if prefix | |||
| (when (if (company-in-string-or-comment) | |||
| (= (char-before (- (point) (length prefix))) ?`) | |||
| (company-elisp--should-complete)) | |||
| prefix) | |||
| 'stop))) | |||
| (defun company-elisp--predicate (symbol) | |||
| (or (boundp symbol) | |||
| (fboundp symbol) | |||
| (facep symbol) | |||
| (featurep symbol))) | |||
| (defun company-elisp--fns-regexp (&rest names) | |||
| (concat "\\_<\\(?:cl-\\)?" (regexp-opt names) "\\*?\\_>")) | |||
| (defvar company-elisp-parse-limit 30) | |||
| (defvar company-elisp-parse-depth 100) | |||
| (defvar company-elisp-defun-names '("defun" "defmacro" "defsubst")) | |||
| (defvar company-elisp-var-binding-regexp | |||
| (apply #'company-elisp--fns-regexp "let" "lambda" "lexical-let" | |||
| company-elisp-defun-names) | |||
| "Regular expression matching head of a multiple variable bindings form.") | |||
| (defvar company-elisp-var-binding-regexp-1 | |||
| (company-elisp--fns-regexp "dolist" "dotimes") | |||
| "Regular expression matching head of a form with one variable binding.") | |||
| (defvar company-elisp-fun-binding-regexp | |||
| (company-elisp--fns-regexp "flet" "labels") | |||
| "Regular expression matching head of a function bindings form.") | |||
| (defvar company-elisp-defuns-regexp | |||
| (concat "([ \t\n]*" | |||
| (apply #'company-elisp--fns-regexp company-elisp-defun-names))) | |||
| (defun company-elisp--should-complete () | |||
| (let ((start (point)) | |||
| (depth (car (syntax-ppss)))) | |||
| (not | |||
| (when (> depth 0) | |||
| (save-excursion | |||
| (up-list (- depth)) | |||
| (when (looking-at company-elisp-defuns-regexp) | |||
| (forward-char) | |||
| (forward-sexp 1) | |||
| (unless (= (point) start) | |||
| (condition-case nil | |||
| (let ((args-end (scan-sexps (point) 2))) | |||
| (or (null args-end) | |||
| (> args-end start))) | |||
| (scan-error | |||
| t))))))))) | |||
| (defun company-elisp--locals (prefix functions-p) | |||
| (let ((regexp (concat "[ \t\n]*\\(\\_<" (regexp-quote prefix) | |||
| "\\(?:\\sw\\|\\s_\\)*\\_>\\)")) | |||
| (pos (point)) | |||
| res) | |||
| (condition-case nil | |||
| (save-excursion | |||
| (dotimes (_ company-elisp-parse-depth) | |||
| (up-list -1) | |||
| (save-excursion | |||
| (when (eq (char-after) ?\() | |||
| (forward-char 1) | |||
| (when (ignore-errors | |||
| (save-excursion (forward-list) | |||
| (<= (point) pos))) | |||
| (skip-chars-forward " \t\n") | |||
| (cond | |||
| ((looking-at (if functions-p | |||
| company-elisp-fun-binding-regexp | |||
| company-elisp-var-binding-regexp)) | |||
| (down-list 1) | |||
| (condition-case nil | |||
| (dotimes (_ company-elisp-parse-limit) | |||
| (save-excursion | |||
| (when (looking-at "[ \t\n]*(") | |||
| (down-list 1)) | |||
| (when (looking-at regexp) | |||
| (cl-pushnew (match-string-no-properties 1) res))) | |||
| (forward-sexp)) | |||
| (scan-error nil))) | |||
| ((unless functions-p | |||
| (looking-at company-elisp-var-binding-regexp-1)) | |||
| (down-list 1) | |||
| (when (looking-at regexp) | |||
| (cl-pushnew (match-string-no-properties 1) res))))))))) | |||
| (scan-error nil)) | |||
| res)) | |||
| (defun company-elisp-candidates (prefix) | |||
| (let* ((predicate (company-elisp--candidates-predicate prefix)) | |||
| (locals (company-elisp--locals prefix (eq predicate 'fboundp))) | |||
| (globals (company-elisp--globals prefix predicate)) | |||
| (locals (cl-loop for local in locals | |||
| when (not (member local globals)) | |||
| collect local))) | |||
| (if company-elisp-show-locals-first | |||
| (append (sort locals 'string<) | |||
| (sort globals 'string<)) | |||
| (append locals globals)))) | |||
| (defun company-elisp--globals (prefix predicate) | |||
| (all-completions prefix obarray predicate)) | |||
| (defun company-elisp--candidates-predicate (prefix) | |||
| (let* ((completion-ignore-case nil) | |||
| (beg (- (point) (length prefix))) | |||
| (before (char-before beg))) | |||
| (if (and company-elisp-detect-function-context | |||
| (not (memq before '(?' ?`)))) | |||
| (if (and (eq before ?\() | |||
| (not | |||
| (save-excursion | |||
| (ignore-errors | |||
| (goto-char (1- beg)) | |||
| (or (company-elisp--before-binding-varlist-p) | |||
| (progn | |||
| (up-list -1) | |||
| (company-elisp--before-binding-varlist-p))))))) | |||
| 'fboundp | |||
| 'boundp) | |||
| 'company-elisp--predicate))) | |||
| (defun company-elisp--before-binding-varlist-p () | |||
| (save-excursion | |||
| (and (prog1 (search-backward "(") | |||
| (forward-char 1)) | |||
| (looking-at company-elisp-var-binding-regexp)))) | |||
| (defun company-elisp--doc (symbol) | |||
| (let* ((symbol (intern symbol)) | |||
| (doc (if (fboundp symbol) | |||
| (documentation symbol t) | |||
| (documentation-property symbol 'variable-documentation t)))) | |||
| (and (stringp doc) | |||
| (string-match ".*$" doc) | |||
| (match-string 0 doc)))) | |||
| ;;;###autoload | |||
| (defun company-elisp (command &optional arg &rest ignored) | |||
| "`company-mode' completion back-end for Emacs Lisp." | |||
| (interactive (list 'interactive)) | |||
| (cl-case command | |||
| (interactive (company-begin-backend 'company-elisp)) | |||
| (prefix (and (derived-mode-p 'emacs-lisp-mode 'inferior-emacs-lisp-mode) | |||
| (company-elisp--prefix))) | |||
| (candidates (company-elisp-candidates arg)) | |||
| (sorted company-elisp-show-locals-first) | |||
| (meta (company-elisp--doc arg)) | |||
| (doc-buffer (let ((symbol (intern arg))) | |||
| (save-window-excursion | |||
| (ignore-errors | |||
| (cond | |||
| ((fboundp symbol) (describe-function symbol)) | |||
| ((boundp symbol) (describe-variable symbol)) | |||
| ((featurep symbol) (describe-package symbol)) | |||
| ((facep symbol) (describe-face symbol)) | |||
| (t (signal 'user-error nil))) | |||
| (help-buffer))))) | |||
| (location (let ((sym (intern arg))) | |||
| (cond | |||
| ((fboundp sym) (find-definition-noselect sym nil)) | |||
| ((boundp sym) (find-definition-noselect sym 'defvar)) | |||
| ((featurep sym) (cons (find-file-noselect (find-library-name | |||
| (symbol-name sym))) | |||
| 0)) | |||
| ((facep sym) (find-definition-noselect sym 'defface))))))) | |||
| (provide 'company-elisp) | |||
| ;;; company-elisp.el ends here | |||
| @ -1,94 +0,0 @@ | |||
| ;;; company-etags.el --- company-mode completion back-end for etags | |||
| ;; Copyright (C) 2009-2011, 2014 Free Software Foundation, Inc. | |||
| ;; Author: Nikolaj Schumacher | |||
| ;; This file is part of GNU Emacs. | |||
| ;; GNU Emacs 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. | |||
| ;; GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;; | |||
| ;;; Code: | |||
| (require 'company) | |||
| (require 'cl-lib) | |||
| (require 'etags) | |||
| (defgroup company-etags nil | |||
| "Completion back-end for etags." | |||
| :group 'company) | |||
| (defcustom company-etags-use-main-table-list t | |||
| "Always search `tags-table-list' if set. | |||
| If this is disabled, `company-etags' will try to find the one table for each | |||
| buffer automatically." | |||
| :type '(choice (const :tag "off" nil) | |||
| (const :tag "on" t))) | |||
| (defcustom company-etags-ignore-case nil | |||
| "Non-nil to ignore case in completion candidates." | |||
| :type 'boolean | |||
| :package-version '(company . "0.7.3")) | |||
| (defvar company-etags-modes '(prog-mode c-mode objc-mode c++-mode java-mode | |||
| jde-mode pascal-mode perl-mode python-mode)) | |||
| (defvar-local company-etags-buffer-table 'unknown) | |||
| (defun company-etags-find-table () | |||
| (let ((file (locate-dominating-file (or buffer-file-name | |||
| default-directory) | |||
| "TAGS"))) | |||
| (when file | |||
| (list (expand-file-name file))))) | |||
| (defun company-etags-buffer-table () | |||
| (or (and company-etags-use-main-table-list tags-table-list) | |||
| (if (eq company-etags-buffer-table 'unknown) | |||
| (setq company-etags-buffer-table (company-etags-find-table)) | |||
| company-etags-buffer-table))) | |||
| (defun company-etags--candidates (prefix) | |||
| (let ((tags-table-list (company-etags-buffer-table)) | |||
| (completion-ignore-case company-etags-ignore-case)) | |||
| (and (or tags-file-name tags-table-list) | |||
| (fboundp 'tags-completion-table) | |||
| (save-excursion | |||
| (visit-tags-table-buffer) | |||
| (all-completions prefix (tags-completion-table)))))) | |||
| ;;;###autoload | |||
| (defun company-etags (command &optional arg &rest ignored) | |||
| "`company-mode' completion back-end for etags." | |||
| (interactive (list 'interactive)) | |||
| (cl-case command | |||
| (interactive (company-begin-backend 'company-etags)) | |||
| (prefix (and (apply 'derived-mode-p company-etags-modes) | |||
| (not (company-in-string-or-comment)) | |||
| (company-etags-buffer-table) | |||
| (or (company-grab-symbol) 'stop))) | |||
| (candidates (company-etags--candidates arg)) | |||
| (location (let ((tags-table-list (company-etags-buffer-table))) | |||
| (when (fboundp 'find-tag-noselect) | |||
| (save-excursion | |||
| (let ((buffer (find-tag-noselect arg))) | |||
| (cons buffer (with-current-buffer buffer (point)))))))) | |||
| (ignore-case company-etags-ignore-case))) | |||
| (provide 'company-etags) | |||
| ;;; company-etags.el ends here | |||
| @ -1,93 +0,0 @@ | |||
| ;;; company-files.el --- company-mode completion back-end for file names | |||
| ;; Copyright (C) 2009-2011, 2013 Free Software Foundation, Inc. | |||
| ;; Author: Nikolaj Schumacher | |||
| ;; This file is part of GNU Emacs. | |||
| ;; GNU Emacs 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. | |||
| ;; GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;; | |||
| ;;; Code: | |||
| (require 'company) | |||
| (require 'cl-lib) | |||
| (defun company-files-directory-files (dir prefix) | |||
| (ignore-errors | |||
| (if (equal prefix "") | |||
| (directory-files dir nil "\\`[^.]\\|\\`.[^.]") | |||
| (file-name-all-completions prefix dir)))) | |||
| (defvar company-files-regexps | |||
| (let ((begin (if (eq system-type 'windows-nt) | |||
| "[a-z][A-Z]\\" | |||
| "~?/"))) | |||
| (list (concat "\"\\(" begin "[^\"\n]*\\)") | |||
| (concat "\'\\(" begin "[^\'\n]*\\)") | |||
| (concat "\\(?:[ \t]\\|^\\)\\(" begin "[^ \t\n]*\\)")))) | |||
| (defun company-files-grab-existing-name () | |||
| ;; Grab file names with spaces, only when they include quotes. | |||
| (let (file dir) | |||
| (and (cl-dolist (regexp company-files-regexps) | |||
| (when (setq file (company-grab-line regexp 1)) | |||
| (cl-return file))) | |||
| (setq dir (file-name-directory file)) | |||
| (not (string-match "//" dir)) | |||
| (file-exists-p dir) | |||
| (file-name-all-completions (file-name-nondirectory file) dir) | |||
| file))) | |||
| (defvar company-files-completion-cache nil) | |||
| (defun company-files-complete (prefix) | |||
| (let* ((dir (file-name-directory prefix)) | |||
| (file (file-name-nondirectory prefix)) | |||
| candidates directories) | |||
| (unless (equal dir (car company-files-completion-cache)) | |||
| (dolist (file (company-files-directory-files dir file)) | |||
| (setq file (concat dir file)) | |||
| (push file candidates) | |||
| (when (file-directory-p file) | |||
| (push file directories))) | |||
| (dolist (directory (reverse directories)) | |||
| ;; Add one level of children. | |||
| (dolist (child (company-files-directory-files directory "")) | |||
| (push (concat directory | |||
| (unless (eq (aref directory (1- (length directory))) ?/) "/") | |||
| child) candidates))) | |||
| (setq company-files-completion-cache (cons dir (nreverse candidates)))) | |||
| (all-completions prefix | |||
| (cdr company-files-completion-cache)))) | |||
| ;;;###autoload | |||
| (defun company-files (command &optional arg &rest ignored) | |||
| "`company-mode' completion back-end existing file names." | |||
| (interactive (list 'interactive)) | |||
| (cl-case command | |||
| (interactive (company-begin-backend 'company-files)) | |||
| (prefix (company-files-grab-existing-name)) | |||
| (candidates (company-files-complete arg)) | |||
| (location (cons (dired-noselect | |||
| (file-name-directory (directory-file-name arg))) 1)) | |||
| (sorted t) | |||
| (no-cache t))) | |||
| (provide 'company-files) | |||
| ;;; company-files.el ends here | |||
| @ -1,109 +0,0 @@ | |||
| ;;; company-gtags.el --- company-mode completion back-end for GNU Global | |||
| ;; Copyright (C) 2009-2011, 2014 Free Software Foundation, Inc. | |||
| ;; Author: Nikolaj Schumacher | |||
| ;; This file is part of GNU Emacs. | |||
| ;; GNU Emacs 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. | |||
| ;; GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;; | |||
| ;;; Code: | |||
| (require 'company) | |||
| (require 'cl-lib) | |||
| (defgroup company-gtags nil | |||
| "Completion back-end for GNU Global." | |||
| :group 'company) | |||
| (defcustom company-gtags-executable | |||
| (executable-find "global") | |||
| "Location of GNU global executable." | |||
| :type 'string) | |||
| (define-obsolete-variable-alias | |||
| 'company-gtags-gnu-global-program-name | |||
| 'company-gtags-executable "earlier") | |||
| (defcustom company-gtags-insert-arguments t | |||
| "When non-nil, insert function arguments as a template after completion." | |||
| :type 'boolean | |||
| :package-version '(company . "0.8.1")) | |||
| (defvar-local company-gtags--tags-available-p 'unknown) | |||
| (defvar company-gtags-modes '(c-mode c++-mode jde-mode java-mode php-mode)) | |||
| (defun company-gtags--tags-available-p () | |||
| (if (eq company-gtags--tags-available-p 'unknown) | |||
| (setq company-gtags--tags-available-p | |||
| (locate-dominating-file buffer-file-name "GTAGS")) | |||
| company-gtags--tags-available-p)) | |||
| (defun company-gtags--fetch-tags (prefix) | |||
| (with-temp-buffer | |||
| (let (tags) | |||
| (when (= 0 (call-process company-gtags-executable nil | |||
| (list (current-buffer) nil) nil "-xGq" (concat "^" prefix))) | |||
| (goto-char (point-min)) | |||
| (cl-loop while | |||
| (re-search-forward (concat | |||
| "^" | |||
| "\\([^ ]*\\)" ;; completion | |||
| "[ \t]+\\([[:digit:]]+\\)" ;; linum | |||
| "[ \t]+\\([^ \t]+\\)" ;; file | |||
| "[ \t]+\\(.*\\)" ;; definition | |||
| "$" | |||
| ) nil t) | |||
| collect | |||
| (propertize (match-string 1) | |||
| 'meta (match-string 4) | |||
| 'location (cons (expand-file-name (match-string 3)) | |||
| (string-to-number (match-string 2))) | |||
| )))))) | |||
| (defun company-gtags--annotation (arg) | |||
| (let ((meta (get-text-property 0 'meta arg))) | |||
| (when (string-match (concat arg "\\((.*)\\).*") meta) | |||
| (match-string 1 meta)))) | |||
| ;;;###autoload | |||
| (defun company-gtags (command &optional arg &rest ignored) | |||
| "`company-mode' completion back-end for GNU Global." | |||
| (interactive (list 'interactive)) | |||
| (cl-case command | |||
| (interactive (company-begin-backend 'company-gtags)) | |||
| (prefix (and company-gtags-executable | |||
| (memq major-mode company-gtags-modes) | |||
| (not (company-in-string-or-comment)) | |||
| (company-gtags--tags-available-p) | |||
| (or (company-grab-symbol) 'stop))) | |||
| (candidates (company-gtags--fetch-tags arg)) | |||
| (sorted t) | |||
| (duplicates t) | |||
| (annotation (company-gtags--annotation arg)) | |||
| (meta (get-text-property 0 'meta arg)) | |||
| (location (get-text-property 0 'location arg)) | |||
| (post-completion (let ((anno (company-gtags--annotation arg))) | |||
| (when (and company-gtags-insert-arguments anno) | |||
| (insert anno) | |||
| (company-template-c-like-templatify anno)))))) | |||
| (provide 'company-gtags) | |||
| ;;; company-gtags.el ends here | |||
| @ -1,69 +0,0 @@ | |||
| ;;; company-ispell.el --- company-mode completion back-end using Ispell | |||
| ;; Copyright (C) 2009-2011 Free Software Foundation, Inc. | |||
| ;; Author: Nikolaj Schumacher | |||
| ;; This file is part of GNU Emacs. | |||
| ;; GNU Emacs 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. | |||
| ;; GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;; | |||
| ;;; Code: | |||
| (require 'company) | |||
| (require 'cl-lib) | |||
| (require 'ispell) | |||
| (defgroup company-ispell nil | |||
| "Completion back-end using Ispell." | |||
| :group 'company) | |||
| (defcustom company-ispell-dictionary nil | |||
| "Dictionary to use for `company-ispell'. | |||
| If nil, use `ispell-complete-word-dict'." | |||
| :type '(choice (const :tag "default (nil)" nil) | |||
| (file :tag "dictionary" t))) | |||
| (defvar company-ispell-available 'unknown) | |||
| (defun company-ispell-available () | |||
| (when (eq company-ispell-available 'unknown) | |||
| (condition-case err | |||
| (progn | |||
| (lookup-words "WHATEVER") | |||
| (setq company-ispell-available t)) | |||
| (error | |||
| (message "Company: ispell-look-command not found") | |||
| (setq company-ispell-available nil)))) | |||
| company-ispell-available) | |||
| ;;;###autoload | |||
| (defun company-ispell (command &optional arg &rest ignored) | |||
| "`company-mode' completion back-end using Ispell." | |||
| (interactive (list 'interactive)) | |||
| (cl-case command | |||
| (interactive (company-begin-backend 'company-ispell)) | |||
| (prefix (when (company-ispell-available) | |||
| (company-grab-word))) | |||
| (candidates (lookup-words arg (or company-ispell-dictionary | |||
| ispell-complete-word-dict))) | |||
| (sorted t) | |||
| (ignore-case 'keep-prefix))) | |||
| (provide 'company-ispell) | |||
| ;;; company-ispell.el ends here | |||
| @ -1,236 +0,0 @@ | |||
| ;;; company-keywords.el --- A company back-end for programming language keywords | |||
| ;; Copyright (C) 2009-2011 Free Software Foundation, Inc. | |||
| ;; Author: Nikolaj Schumacher | |||
| ;; This file is part of GNU Emacs. | |||
| ;; GNU Emacs 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. | |||
| ;; GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;; | |||
| ;;; Code: | |||
| (require 'company) | |||
| (require 'cl-lib) | |||
| (defun company-keywords-upper-lower (&rest lst) | |||
| ;; Upcase order is different for _. | |||
| (nconc (sort (mapcar 'upcase lst) 'string<) lst)) | |||
| (defvar company-keywords-alist | |||
| ;; Please contribute corrections or additions. | |||
| `((c++-mode | |||
| "asm" "auto" "bool" "break" "case" "catch" "char" "class" "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" | |||
| "operator" "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") | |||
| (c-mode | |||
| "auto" "break" "case" "char" "const" "continue" "default" "do" | |||
| "double" "else" "enum" "extern" "float" "for" "goto" "if" "int" "long" | |||
| "register" "return" "short" "signed" "sizeof" "static" "struct" | |||
| "switch" "typedef" "union" "unsigned" "void" "volatile" "while") | |||
| (csharp-mode | |||
| "abstract" "add" "alias" "as" "base" "bool" "break" "byte" "case" | |||
| "catch" "char" "checked" "class" "const" "continue" "decimal" "default" | |||
| "delegate" "do" "double" "else" "enum" "event" "explicit" "extern" | |||
| "false" "finally" "fixed" "float" "for" "foreach" "get" "global" "goto" | |||
| "if" "implicit" "in" "int" "interface" "internal" "is" "lock" "long" | |||
| "namespace" "new" "null" "object" "operator" "out" "override" "params" | |||
| "partial" "private" "protected" "public" "readonly" "ref" "remove" | |||
| "return" "sbyte" "sealed" "set" "short" "sizeof" "stackalloc" "static" | |||
| "string" "struct" "switch" "this" "throw" "true" "try" "typeof" "uint" | |||
| "ulong" "unchecked" "unsafe" "ushort" "using" "value" "var" "virtual" | |||
| "void" "volatile" "where" "while" "yield") | |||
| (d-mode | |||
| ;; from http://www.digitalmars.com/d/2.0/lex.html | |||
| "abstract" "alias" "align" "asm" | |||
| "assert" "auto" "body" "bool" "break" "byte" "case" "cast" "catch" | |||
| "cdouble" "cent" "cfloat" "char" "class" "const" "continue" "creal" | |||
| "dchar" "debug" "default" "delegate" "delete" "deprecated" "do" | |||
| "double" "else" "enum" "export" "extern" "false" "final" "finally" | |||
| "float" "for" "foreach" "foreach_reverse" "function" "goto" "idouble" | |||
| "if" "ifloat" "import" "in" "inout" "int" "interface" "invariant" | |||
| "ireal" "is" "lazy" "long" "macro" "mixin" "module" "new" "nothrow" | |||
| "null" "out" "override" "package" "pragma" "private" "protected" | |||
| "public" "pure" "real" "ref" "return" "scope" "short" "static" "struct" | |||
| "super" "switch" "synchronized" "template" "this" "throw" "true" "try" | |||
| "typedef" "typeid" "typeof" "ubyte" "ucent" "uint" "ulong" "union" | |||
| "unittest" "ushort" "version" "void" "volatile" "wchar" "while" "with") | |||
| (f90-mode . | |||
| ;; from f90.el | |||
| ;; ".AND." ".GE." ".GT." ".LT." ".LE." ".NE." ".OR." ".TRUE." ".FALSE." | |||
| ,(company-keywords-upper-lower | |||
| "abs" "abstract" "achar" "acos" "adjustl" "adjustr" "aimag" "aint" | |||
| "align" "all" "all_prefix" "all_scatter" "all_suffix" "allocatable" | |||
| "allocate" "allocated" "and" "anint" "any" "any_prefix" "any_scatter" | |||
| "any_suffix" "asin" "assign" "assignment" "associate" "associated" | |||
| "asynchronous" "atan" "atan2" "backspace" "bind" "bit_size" "block" | |||
| "btest" "c_alert" "c_associated" "c_backspace" "c_bool" | |||
| "c_carriage_return" "c_char" "c_double" "c_double_complex" "c_f_pointer" | |||
| "c_f_procpointer" "c_float" "c_float_complex" "c_form_feed" "c_funloc" | |||
| "c_funptr" "c_horizontal_tab" "c_int" "c_int16_t" "c_int32_t" "c_int64_t" | |||
| "c_int8_t" "c_int_fast16_t" "c_int_fast32_t" "c_int_fast64_t" | |||
| "c_int_fast8_t" "c_int_least16_t" "c_int_least32_t" "c_int_least64_t" | |||
| "c_int_least8_t" "c_intmax_t" "c_intptr_t" "c_loc" "c_long" | |||
| "c_long_double" "c_long_double_complex" "c_long_long" "c_new_line" | |||
| "c_null_char" "c_null_funptr" "c_null_ptr" "c_ptr" "c_short" | |||
| "c_signed_char" "c_size_t" "c_vertical_tab" "call" "case" "ceiling" | |||
| "char" "character" "character_storage_size" "class" "close" "cmplx" | |||
| "command_argument_count" "common" "complex" "conjg" "contains" "continue" | |||
| "copy_prefix" "copy_scatter" "copy_suffix" "cos" "cosh" "count" | |||
| "count_prefix" "count_scatter" "count_suffix" "cpu_time" "cshift" | |||
| "cycle" "cyclic" "data" "date_and_time" "dble" "deallocate" "deferred" | |||
| "digits" "dim" "dimension" "distribute" "do" "dot_product" "double" | |||
| "dprod" "dynamic" "elemental" "else" "elseif" "elsewhere" "end" "enddo" | |||
| "endfile" "endif" "entry" "enum" "enumerator" "eoshift" "epsilon" "eq" | |||
| "equivalence" "eqv" "error_unit" "exit" "exp" "exponent" "extends" | |||
| "extends_type_of" "external" "extrinsic" "false" "file_storage_size" | |||
| "final" "floor" "flush" "forall" "format" "fraction" "function" "ge" | |||
| "generic" "get_command" "get_command_argument" "get_environment_variable" | |||
| "goto" "grade_down" "grade_up" "gt" "hpf_alignment" "hpf_distribution" | |||
| "hpf_template" "huge" "iachar" "iall" "iall_prefix" "iall_scatter" | |||
| "iall_suffix" "iand" "iany" "iany_prefix" "iany_scatter" "iany_suffix" | |||
| "ibclr" "ibits" "ibset" "ichar" "ieee_arithmetic" "ieee_exceptions" | |||
| "ieee_features" "ieee_get_underflow_mode" "ieee_set_underflow_mode" | |||
| "ieee_support_underflow_control" "ieor" "if" "ilen" "implicit" | |||
| "import" "include" "independent" "index" "inherit" "input_unit" | |||
| "inquire" "int" "integer" "intent" "interface" "intrinsic" "ior" | |||
| "iostat_end" "iostat_eor" "iparity" "iparity_prefix" "iparity_scatter" | |||
| "iparity_suffix" "ishft" "ishftc" "iso_c_binding" "iso_fortran_env" | |||
| "kind" "lbound" "le" "leadz" "len" "len_trim" "lge" "lgt" "lle" "llt" | |||
| "log" "log10" "logical" "lt" "matmul" "max" "maxexponent" "maxloc" | |||
| "maxval" "maxval_prefix" "maxval_scatter" "maxval_suffix" "merge" | |||
| "min" "minexponent" "minloc" "minval" "minval_prefix" "minval_scatter" | |||
| "minval_suffix" "mod" "module" "modulo" "move_alloc" "mvbits" "namelist" | |||
| "ne" "nearest" "neqv" "new" "new_line" "nint" "non_intrinsic" | |||
| "non_overridable" "none" "nopass" "not" "null" "nullify" | |||
| "number_of_processors" "numeric_storage_size" "only" "onto" "open" | |||
| "operator" "optional" "or" "output_unit" "pack" "parameter" "parity" | |||
| "parity_prefix" "parity_scatter" "parity_suffix" "pass" "pause" | |||
| "pointer" "popcnt" "poppar" "precision" "present" "print" "private" | |||
| "procedure" "processors" "processors_shape" "product" "product_prefix" | |||
| "product_scatter" "product_suffix" "program" "protected" "public" | |||
| "pure" "radix" "random_number" "random_seed" "range" "read" "real" | |||
| "realign" "recursive" "redistribute" "repeat" "reshape" "result" | |||
| "return" "rewind" "rrspacing" "same_type_as" "save" "scale" "scan" | |||
| "select" "selected_char_kind" "selected_int_kind" "selected_real_kind" | |||
| "sequence" "set_exponent" "shape" "sign" "sin" "sinh" "size" "spacing" | |||
| "spread" "sqrt" "stop" "subroutine" "sum" "sum_prefix" "sum_scatter" | |||
| "sum_suffix" "system_clock" "tan" "tanh" "target" "template" "then" | |||
| "tiny" "transfer" "transpose" "trim" "true" "type" "ubound" "unpack" | |||
| "use" "value" "verify" "volatile" "wait" "where" "while" "with" "write")) | |||
| (java-mode | |||
| "abstract" "assert" "boolean" "break" "byte" "case" "catch" "char" "class" | |||
| "continue" "default" "do" "double" "else" "enum" "extends" "final" | |||
| "finally" "float" "for" "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") | |||
| (javascript-mode | |||
| "break" "catch" "const" "continue" "delete" "do" "else" "export" "for" | |||
| "function" "if" "import" "in" "instanceOf" "label" "let" "new" "return" | |||
| "switch" "this" "throw" "try" "typeof" "var" "void" "while" "with" "yield") | |||
| (objc-mode | |||
| "@catch" "@class" "@encode" "@end" "@finally" "@implementation" | |||
| "@interface" "@private" "@protected" "@protocol" "@public" | |||
| "@selector" "@synchronized" "@throw" "@try" "alloc" "autorelease" | |||
| "bycopy" "byref" "in" "inout" "oneway" "out" "release" "retain") | |||
| (perl-mode | |||
| ;; from cperl.el | |||
| "AUTOLOAD" "BEGIN" "CHECK" "CORE" "DESTROY" "END" "INIT" "__END__" | |||
| "__FILE__" "__LINE__" "abs" "accept" "alarm" "and" "atan2" "bind" | |||
| "binmode" "bless" "caller" "chdir" "chmod" "chomp" "chop" "chown" "chr" | |||
| "chroot" "close" "closedir" "cmp" "connect" "continue" "cos" | |||
| "crypt" "dbmclose" "dbmopen" "defined" "delete" "die" "do" "dump" "each" | |||
| "else" "elsif" "endgrent" "endhostent" "endnetent" "endprotoent" | |||
| "endpwent" "endservent" "eof" "eq" "eval" "exec" "exists" "exit" "exp" | |||
| "fcntl" "fileno" "flock" "for" "foreach" "fork" "format" "formline" | |||
| "ge" "getc" "getgrent" "getgrgid" "getgrnam" "gethostbyaddr" | |||
| "gethostbyname" "gethostent" "getlogin" "getnetbyaddr" "getnetbyname" | |||
| "getnetent" "getpeername" "getpgrp" "getppid" "getpriority" | |||
| "getprotobyname" "getprotobynumber" "getprotoent" "getpwent" "getpwnam" | |||
| "getpwuid" "getservbyname" "getservbyport" "getservent" "getsockname" | |||
| "getsockopt" "glob" "gmtime" "goto" "grep" "gt" "hex" "if" "index" "int" | |||
| "ioctl" "join" "keys" "kill" "last" "lc" "lcfirst" "le" "length" | |||
| "link" "listen" "local" "localtime" "lock" "log" "lstat" "lt" "map" | |||
| "mkdir" "msgctl" "msgget" "msgrcv" "msgsnd" "my" "ne" "next" "no" | |||
| "not" "oct" "open" "opendir" "or" "ord" "our" "pack" "package" "pipe" | |||
| "pop" "pos" "print" "printf" "push" "q" "qq" "quotemeta" "qw" "qx" | |||
| "rand" "read" "readdir" "readline" "readlink" "readpipe" "recv" "redo" | |||
| "ref" "rename" "require" "reset" "return" "reverse" "rewinddir" "rindex" | |||
| "rmdir" "scalar" "seek" "seekdir" "select" "semctl" "semget" "semop" | |||
| "send" "setgrent" "sethostent" "setnetent" "setpgrp" "setpriority" | |||
| "setprotoent" "setpwent" "setservent" "setsockopt" "shift" "shmctl" | |||
| "shmget" "shmread" "shmwrite" "shutdown" "sin" "sleep" "socket" | |||
| "socketpair" "sort" "splice" "split" "sprintf" "sqrt" "srand" "stat" | |||
| "study" "sub" "substr" "symlink" "syscall" "sysopen" "sysread" "system" | |||
| "syswrite" "tell" "telldir" "tie" "time" "times" "tr" "truncate" "uc" | |||
| "ucfirst" "umask" "undef" "unless" "unlink" "unpack" "unshift" "untie" | |||
| "until" "use" "utime" "values" "vec" "wait" "waitpid" | |||
| "wantarray" "warn" "while" "write" "x" "xor" "y") | |||
| (php-mode | |||
| "__CLASS__" "__DIR__" "__FILE__" "__FUNCTION__" "__LINE__" "__METHOD__" | |||
| "__NAMESPACE__" "_once" "abstract" "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" "exception" | |||
| "exit" "extends" "final" "for" "foreach" "function" "global" | |||
| "goto" "if" "implements" "include" "instanceof" "interface" | |||
| "isset" "list" "namespace" "new" "old_function" "or" "php_user_filter" | |||
| "print" "private" "protected" "public" "require" "require_once" "return" | |||
| "static" "switch" "this" "throw" "try" "unset" "use" "var" "while" "xor") | |||
| (python-mode | |||
| "and" "assert" "break" "class" "continue" "def" "del" "elif" "else" | |||
| "except" "exec" "finally" "for" "from" "global" "if" "import" "in" "is" | |||
| "lambda" "not" "or" "pass" "print" "raise" "return" "try" "while" "yield") | |||
| (ruby-mode | |||
| "BEGIN" "END" "alias" "and" "begin" "break" "case" "class" "def" "defined?" | |||
| "do" "else" "elsif" "end" "ensure" "false" "for" "if" "in" "module" | |||
| "next" "nil" "not" "or" "redo" "rescue" "retry" "return" "self" "super" | |||
| "then" "true" "undef" "unless" "until" "when" "while" "yield") | |||
| ;; aliases | |||
| (js2-mode . javascript-mode) | |||
| (espresso-mode . javascript-mode) | |||
| (js-mode . javascript-mode) | |||
| (cperl-mode . perl-mode) | |||
| (jde-mode . java-mode)) | |||
| "Alist mapping major-modes to sorted keywords for `company-keywords'.") | |||
| ;;;###autoload | |||
| (defun company-keywords (command &optional arg &rest ignored) | |||
| "`company-mode' back-end for programming language keywords." | |||
| (interactive (list 'interactive)) | |||
| (cl-case command | |||
| (interactive (company-begin-backend 'company-keywords)) | |||
| (prefix (and (assq major-mode company-keywords-alist) | |||
| (not (company-in-string-or-comment)) | |||
| (or (company-grab-symbol) 'stop))) | |||
| (candidates | |||
| (let ((completion-ignore-case nil) | |||
| (symbols (cdr (assq major-mode company-keywords-alist)))) | |||
| (all-completions arg (if (consp symbols) | |||
| symbols | |||
| (cdr (assq symbols company-keywords-alist)))))) | |||
| (sorted t))) | |||
| (provide 'company-keywords) | |||
| ;;; company-keywords.el ends here | |||
| @ -1,142 +0,0 @@ | |||
| ;;; company-nxml.el --- company-mode completion back-end for nxml-mode | |||
| ;; Copyright (C) 2009-2011, 2013 Free Software Foundation, Inc. | |||
| ;; Author: Nikolaj Schumacher | |||
| ;; This file is part of GNU Emacs. | |||
| ;; GNU Emacs 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. | |||
| ;; GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;; | |||
| ;;; Code: | |||
| (require 'company) | |||
| (require 'cl-lib) | |||
| (defvar rng-open-elements) | |||
| (defvar rng-validate-mode) | |||
| (defvar rng-in-attribute-regex) | |||
| (defvar rng-in-attribute-value-regex) | |||
| (declare-function rng-set-state-after "rng-nxml") | |||
| (declare-function rng-match-possible-start-tag-names "rng-match") | |||
| (declare-function rng-adjust-state-for-attribute "rng-nxml") | |||
| (declare-function rng-match-possible-attribute-names "rng-match") | |||
| (declare-function rng-adjust-state-for-attribute-value "rng-nxml") | |||
| (declare-function rng-match-possible-value-strings "rng-match") | |||
| (defconst company-nxml-token-regexp | |||
| "\\(?:[_[:alpha:]][-._[:alnum:]]*\\_>\\)") | |||
| (defvar company-nxml-in-attribute-value-regexp | |||
| (replace-regexp-in-string "w" company-nxml-token-regexp | |||
| "<w\\(?::w\\)?\ | |||
| \\(?:[ \t\r\n]+w\\(?::w\\)?[ \t\r\n]*=\ | |||
| \[ \t\r\n]*\\(?:\"[^\"]*\"\\|'[^']*'\\)\\)*\ | |||
| \[ \t\r\n]+\\(w\\(:w\\)?\\)[ \t\r\n]*=[ \t\r\n]*\ | |||
| \\(\"\\([^\"]*\\>\\)\\|'\\([^']*\\>\\)\\)\\=" | |||
| t t)) | |||
| (defvar company-nxml-in-tag-name-regexp | |||
| (replace-regexp-in-string "w" company-nxml-token-regexp | |||
| "<\\(/?w\\(?::w?\\)?\\)?\\=" t t)) | |||
| (defun company-nxml-all-completions (prefix alist) | |||
| (let ((candidates (mapcar 'cdr alist)) | |||
| (case-fold-search nil) | |||
| filtered) | |||
| (when (cdar rng-open-elements) | |||
| (push (concat "/" (cdar rng-open-elements)) candidates)) | |||
| (setq candidates (sort (all-completions prefix candidates) 'string<)) | |||
| (while candidates | |||
| (unless (equal (car candidates) (car filtered)) | |||
| (push (car candidates) filtered)) | |||
| (pop candidates)) | |||
| (nreverse filtered))) | |||
| (defmacro company-nxml-prepared (&rest body) | |||
| (declare (indent 0) (debug t)) | |||
| `(let ((lt-pos (save-excursion (search-backward "<" nil t))) | |||
| xmltok-dtd) | |||
| (when (and lt-pos (= (rng-set-state-after lt-pos) lt-pos)) | |||
| ,@body))) | |||
| (defun company-nxml-tag (command &optional arg &rest ignored) | |||
| (cl-case command | |||
| (prefix (and (derived-mode-p 'nxml-mode) | |||
| rng-validate-mode | |||
| (company-grab company-nxml-in-tag-name-regexp 1))) | |||
| (candidates (company-nxml-prepared | |||
| (company-nxml-all-completions | |||
| arg (rng-match-possible-start-tag-names)))) | |||
| (sorted t))) | |||
| (defun company-nxml-attribute (command &optional arg &rest ignored) | |||
| (cl-case command | |||
| (prefix (and (derived-mode-p 'nxml-mode) | |||
| rng-validate-mode | |||
| (memq (char-after) '(?\ ?\t ?\n)) ;; outside word | |||
| (company-grab rng-in-attribute-regex 1))) | |||
| (candidates (company-nxml-prepared | |||
| (and (rng-adjust-state-for-attribute | |||
| lt-pos (- (point) (length arg))) | |||
| (company-nxml-all-completions | |||
| arg (rng-match-possible-attribute-names))))) | |||
| (sorted t))) | |||
| (defun company-nxml-attribute-value (command &optional arg &rest ignored) | |||
| (cl-case command | |||
| (prefix (and (derived-mode-p 'nxml-mode) | |||
| rng-validate-mode | |||
| (and (memq (char-after) '(?' ?\" ?\ ?\t ?\n)) ;; outside word | |||
| (looking-back company-nxml-in-attribute-value-regexp) | |||
| (or (match-string-no-properties 4) | |||
| (match-string-no-properties 5) | |||
| "")))) | |||
| (candidates (company-nxml-prepared | |||
| (let (attr-start attr-end colon) | |||
| (and (looking-back rng-in-attribute-value-regex lt-pos) | |||
| (setq colon (match-beginning 2) | |||
| attr-start (match-beginning 1) | |||
| attr-end (match-end 1)) | |||
| (rng-adjust-state-for-attribute lt-pos attr-start) | |||
| (rng-adjust-state-for-attribute-value | |||
| attr-start colon attr-end) | |||
| (all-completions | |||
| arg (rng-match-possible-value-strings)))))))) | |||
| ;;;###autoload | |||
| (defun company-nxml (command &optional arg &rest ignored) | |||
| "`company-mode' completion back-end for `nxml-mode'." | |||
| (interactive (list 'interactive)) | |||
| (cl-case command | |||
| (interactive (company-begin-backend 'company-nxml)) | |||
| (prefix (or (company-nxml-tag 'prefix) | |||
| (company-nxml-attribute 'prefix) | |||
| (company-nxml-attribute-value 'prefix))) | |||
| (candidates (cond | |||
| ((company-nxml-tag 'prefix) | |||
| (company-nxml-tag 'candidates arg)) | |||
| ((company-nxml-attribute 'prefix) | |||
| (company-nxml-attribute 'candidates arg)) | |||
| ((company-nxml-attribute-value 'prefix) | |||
| (sort (company-nxml-attribute-value 'candidates arg) | |||
| 'string<)))) | |||
| (sorted t))) | |||
| (provide 'company-nxml) | |||
| ;;; company-nxml.el ends here | |||
| @ -1,57 +0,0 @@ | |||
| ;;; company-oddmuse.el --- company-mode completion back-end for oddmuse-mode | |||
| ;; Copyright (C) 2009-2011, 2014 Free Software Foundation, Inc. | |||
| ;; Author: Nikolaj Schumacher | |||
| ;; This file is part of GNU Emacs. | |||
| ;; GNU Emacs 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. | |||
| ;; GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;; | |||
| ;;; Code: | |||
| (require 'company) | |||
| (require 'cl-lib) | |||
| (eval-when-compile (require 'yaooddmuse nil t)) | |||
| (eval-when-compile (require 'oddmuse nil t)) | |||
| (defvar company-oddmuse-link-regexp | |||
| "\\(\\<[A-Z][[:alnum:]]*\\>\\)\\|\\[\\[\\([[:alnum:]]+\\>\\|\\)") | |||
| (defun company-oddmuse-get-page-table () | |||
| (cl-case major-mode | |||
| (yaoddmuse-mode (with-no-warnings | |||
| (yaoddmuse-get-pagename-table yaoddmuse-wikiname))) | |||
| (oddmuse-mode (with-no-warnings | |||
| (oddmuse-make-completion-table oddmuse-wiki))))) | |||
| ;;;###autoload | |||
| (defun company-oddmuse (command &optional arg &rest ignored) | |||
| "`company-mode' completion back-end for `oddmuse-mode'." | |||
| (interactive (list 'interactive)) | |||
| (cl-case command | |||
| (interactive (company-begin-backend 'company-oddmuse)) | |||
| (prefix (let ((case-fold-search nil)) | |||
| (and (memq major-mode '(oddmuse-mode yaoddmuse-mode)) | |||
| (looking-back company-oddmuse-link-regexp (point-at-bol)) | |||
| (or (match-string 1) | |||
| (match-string 2))))) | |||
| (candidates (all-completions arg (company-oddmuse-get-page-table))))) | |||
| (provide 'company-oddmuse) | |||
| ;;; company-oddmuse.el ends here | |||
| @ -1,2 +0,0 @@ | |||
| ;; Generated package description from company.el | |||
| (define-package "company" "0.8.2" "Modular text completion framework" '((emacs "24.1") (cl-lib "0.5")) :url "http://company-mode.github.io/" :keywords '("abbrev" "convenience" "matching")) | |||
| @ -1,69 +0,0 @@ | |||
| ;;; company-pysmell.el --- company-mode completion back-end for pysmell.el | |||
| ;; Copyright (C) 2009-2011, 2013-2014 Free Software Foundation, Inc. | |||
| ;; Author: Nikolaj Schumacher | |||
| ;; This file is part of GNU Emacs. | |||
| ;; GNU Emacs 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. | |||
| ;; GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;; | |||
| ;; The main problem with using this backend is installing Pysmell. | |||
| ;; I couldn't manage to do that. --Dmitry | |||
| ;;; Code: | |||
| (if t (require 'pysmell)) ;Don't load during compilation. | |||
| (require 'company) | |||
| (require 'cl-lib) | |||
| (defvar-local company-pysmell--available-p 'unknown) | |||
| (defun company-pysmell--available-p () | |||
| (if (eq company-pysmell--available-p 'unknown) | |||
| (setq company-pysmell--available-p | |||
| (locate-dominating-file buffer-file-name "PYSMELLTAGS")) | |||
| company-pysmell--available-p)) | |||
| (defun company-pysmell--grab-symbol () | |||
| (let ((symbol (company-grab-symbol))) | |||
| (when symbol | |||
| (cons symbol | |||
| (save-excursion | |||
| (let ((pos (point))) | |||
| (goto-char (- (point) (length symbol))) | |||
| (while (eq (char-before) ?.) | |||
| (goto-char (1- (point))) | |||
| (skip-syntax-backward "w_")) | |||
| (- pos (point)))))))) | |||
| ;;;###autoload | |||
| (defun company-pysmell (command &optional arg &rest ignored) | |||
| "`company-mode' completion back-end for pysmell. | |||
| This requires pysmell.el and pymacs.el." | |||
| (interactive (list 'interactive)) | |||
| (cl-case command | |||
| (interactive (company-begin-backend 'company-pysmell)) | |||
| (prefix (and (derived-mode-p 'python-mode) | |||
| buffer-file-name | |||
| (not (company-in-string-or-comment)) | |||
| (company-pysmell--available-p) | |||
| (company-pysmell--grab-symbol))) | |||
| (candidates (delete "" (pysmell-get-all-completions))))) | |||
| (provide 'company-pysmell) | |||
| ;;; company-pysmell.el ends here | |||
| @ -1,76 +0,0 @@ | |||
| ;;; company-ropemacs.el --- company-mode completion back-end for ropemacs | |||
| ;; Copyright (C) 2009-2011, 2013 Free Software Foundation, Inc. | |||
| ;; Author: Nikolaj Schumacher | |||
| ;; This file is part of GNU Emacs. | |||
| ;; GNU Emacs 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. | |||
| ;; GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;; | |||
| ;;; Code: | |||
| (require 'cl-lib) | |||
| (defun company-ropemacs--grab-symbol () | |||
| (let ((symbol (company-grab-symbol))) | |||
| (when symbol | |||
| (cons symbol | |||
| (save-excursion | |||
| (let ((pos (point))) | |||
| (goto-char (- (point) (length symbol))) | |||
| (while (eq (char-before) ?.) | |||
| (goto-char (1- (point))) | |||
| (skip-syntax-backward "w_")) | |||
| (- pos (point)))))))) | |||
| (defun company-ropemacs-doc-buffer (candidate) | |||
| "Return buffer with docstring of CANDIDATE if it is available." | |||
| (let ((doc (company-with-candidate-inserted candidate (rope-get-doc)))) | |||
| (when doc | |||
| (company-doc-buffer doc)))) | |||
| (defun company-ropemacs-location (candidate) | |||
| "Return location of CANDIDATE in cons form (FILE . LINE) if it is available." | |||
| (let ((location (company-with-candidate-inserted candidate | |||
| (rope-definition-location)))) | |||
| (when location | |||
| (cons (elt location 0) (elt location 1))))) | |||
| (defun company-ropemacs (command &optional arg &rest ignored) | |||
| "`company-mode' completion back-end for ropemacs. | |||
| Depends on third-party code: Pymacs (both Python and Emacs packages), | |||
| rope, ropemacs and ropemode." | |||
| (interactive (list 'interactive)) | |||
| (cl-case command | |||
| (init (when (and (derived-mode-p 'python-mode) | |||
| (not (fboundp 'rope-completions))) | |||
| (require 'pymacs) | |||
| (pymacs-load "ropemacs" "rope-"))) | |||
| (interactive (company-begin-backend 'company-ropemacs)) | |||
| (prefix (and (derived-mode-p 'python-mode) | |||
| (not (company-in-string-or-comment)) | |||
| (company-ropemacs--grab-symbol))) | |||
| (candidates (mapcar (lambda (element) (concat arg element)) | |||
| (rope-completions))) | |||
| (doc-buffer (company-ropemacs-doc-buffer arg)) | |||
| (location (company-ropemacs-location arg)))) | |||
| (provide 'company-ropemacs) | |||
| ;;; company-ropemacs.el ends here | |||
| @ -1,146 +0,0 @@ | |||
| ;;; company-semantic.el --- company-mode completion back-end using Semantic | |||
| ;; Copyright (C) 2009-2011, 2013 Free Software Foundation, Inc. | |||
| ;; Author: Nikolaj Schumacher | |||
| ;; This file is part of GNU Emacs. | |||
| ;; GNU Emacs 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. | |||
| ;; GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;; | |||
| ;;; Code: | |||
| (require 'company) | |||
| (require 'cl-lib) | |||
| (defvar semantic-idle-summary-function) | |||
| (declare-function semantic-documentation-for-tag "semantic/doc" ) | |||
| (declare-function semantic-analyze-current-context "semantic/analyze") | |||
| (declare-function semantic-analyze-possible-completions "semantic/complete") | |||
| (declare-function semantic-analyze-find-tags-by-prefix "semantic/analyze/fcn") | |||
| (declare-function semantic-tag-class "semantic/tag") | |||
| (declare-function semantic-tag-name "semantic/tag") | |||
| (declare-function semantic-tag-start "semantic/tag") | |||
| (declare-function semantic-tag-buffer "semantic/tag") | |||
| (declare-function semantic-active-p "semantic") | |||
| (defgroup company-semantic nil | |||
| "Completion back-end using Semantic." | |||
| :group 'company) | |||
| (defcustom company-semantic-metadata-function 'company-semantic-summary-and-doc | |||
| "The function turning a semantic tag into doc information." | |||
| :type 'function) | |||
| (defvar company-semantic-modes '(c-mode c++-mode jde-mode java-mode)) | |||
| (defvar-local company-semantic--current-tags nil | |||
| "Tags for the current context.") | |||
| (defun company-semantic-documentation-for-tag (tag) | |||
| (when (semantic-tag-buffer tag) | |||
| ;; When TAG's buffer is unknown, the function below raises an error. | |||
| (semantic-documentation-for-tag tag))) | |||
| (defun company-semantic-doc-or-summary (tag) | |||
| (or (company-semantic-documentation-for-tag tag) | |||
| (and (require 'semantic-idle nil t) | |||
| (require 'semantic/idle nil t) | |||
| (funcall semantic-idle-summary-function tag nil t)))) | |||
| (defun company-semantic-summary-and-doc (tag) | |||
| (let ((doc (company-semantic-documentation-for-tag tag)) | |||
| (summary (funcall semantic-idle-summary-function tag nil t))) | |||
| (and (stringp doc) | |||
| (string-match "\n*\\(.*\\)$" doc) | |||
| (setq doc (match-string 1 doc))) | |||
| (concat summary | |||
| (when doc | |||
| (if (< (+ (length doc) (length summary) 4) (window-width)) | |||
| " -- " | |||
| "\n")) | |||
| doc))) | |||
| (defun company-semantic-doc-buffer (tag) | |||
| (let ((doc (company-semantic-documentation-for-tag tag))) | |||
| (when doc | |||
| (company-doc-buffer | |||
| (concat (funcall semantic-idle-summary-function tag nil t) | |||
| "\n" | |||
| doc))))) | |||
| (defsubst company-semantic-completions (prefix) | |||
| (ignore-errors | |||
| (let ((completion-ignore-case nil) | |||
| (context (semantic-analyze-current-context))) | |||
| (setq company-semantic--current-tags | |||
| (semantic-analyze-possible-completions context)) | |||
| (all-completions prefix company-semantic--current-tags)))) | |||
| (defun company-semantic-completions-raw (prefix) | |||
| (setq company-semantic--current-tags nil) | |||
| (dolist (tag (semantic-analyze-find-tags-by-prefix prefix)) | |||
| (unless (eq (semantic-tag-class tag) 'include) | |||
| (push tag company-semantic--current-tags))) | |||
| (delete "" (mapcar 'semantic-tag-name company-semantic--current-tags))) | |||
| (defun company-semantic--pre-prefix-length (prefix-length) | |||
| "Sum up the length of all chained symbols before POS. | |||
| Symbols are chained by \".\" or \"->\"." | |||
| (save-excursion | |||
| (let ((pos (point))) | |||
| (goto-char (- (point) prefix-length)) | |||
| (while (looking-back "->\\|\\.") | |||
| (goto-char (match-beginning 0)) | |||
| (skip-syntax-backward "w_")) | |||
| (- pos (point))))) | |||
| (defun company-semantic--grab () | |||
| "Grab the semantic prefix, but return everything before -> or . as length." | |||
| (let ((symbol (company-grab-symbol))) | |||
| (when symbol | |||
| (cons symbol (company-semantic--pre-prefix-length (length symbol)))))) | |||
| ;;;###autoload | |||
| (defun company-semantic (command &optional arg &rest ignored) | |||
| "`company-mode' completion back-end using CEDET Semantic." | |||
| (interactive (list 'interactive)) | |||
| (cl-case command | |||
| (interactive (company-begin-backend 'company-semantic)) | |||
| (prefix (and (featurep 'semantic) | |||
| (semantic-active-p) | |||
| (memq major-mode company-semantic-modes) | |||
| (not (company-in-string-or-comment)) | |||
| (or (company-semantic--grab) 'stop))) | |||
| (candidates (if (and (equal arg "") | |||
| (not (looking-back "->\\|\\."))) | |||
| (company-semantic-completions-raw arg) | |||
| (company-semantic-completions arg))) | |||
| (meta (funcall company-semantic-metadata-function | |||
| (assoc arg company-semantic--current-tags))) | |||
| (doc-buffer (company-semantic-doc-buffer | |||
| (assoc arg company-semantic--current-tags))) | |||
| ;; Because "" is an empty context and doesn't return local variables. | |||
| (no-cache (equal arg "")) | |||
| (location (let ((tag (assoc arg company-semantic--current-tags))) | |||
| (when (buffer-live-p (semantic-tag-buffer tag)) | |||
| (cons (semantic-tag-buffer tag) | |||
| (semantic-tag-start tag))))))) | |||
| (provide 'company-semantic) | |||
| ;;; company-semantic.el ends here | |||
| @ -1,170 +0,0 @@ | |||
| ;;; company-template.el | |||
| ;; Copyright (C) 2009, 2010, 2013 Free Software Foundation, Inc. | |||
| ;; Author: Nikolaj Schumacher | |||
| ;; This file is part of GNU Emacs. | |||
| ;; GNU Emacs 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. | |||
| ;; GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. | |||
| ;;; Code: | |||
| (require 'cl-lib) | |||
| (defface company-template-field | |||
| '((((background dark)) (:background "yellow" :foreground "black")) | |||
| (((background light)) (:background "orange" :foreground "black"))) | |||
| "Face used for editable text in template fields." | |||
| :group 'company) | |||
| (defvar company-template-nav-map | |||
| (let ((keymap (make-sparse-keymap))) | |||
| (define-key keymap [tab] 'company-template-forward-field) | |||
| (define-key keymap (kbd "TAB") 'company-template-forward-field) | |||
| keymap)) | |||
| (defvar-local company-template--buffer-templates nil) | |||
| ;; interactive ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||
| (defun company-template-templates-at (pos) | |||
| (let (os) | |||
| (dolist (o (overlays-at pos)) | |||
| ;; FIXME: Always return the whole list of templates? | |||
| ;; We remove templates not at point after every command. | |||
| (when (memq o company-template--buffer-templates) | |||
| (push o os))) | |||
| os)) | |||
| (defun company-template-move-to-first (templ) | |||
| (interactive) | |||
| (goto-char (overlay-start templ)) | |||
| (company-template-forward-field)) | |||
| (defun company-template-forward-field () | |||
| (interactive) | |||
| (let* ((start (point)) | |||
| (templates (company-template-templates-at (point))) | |||
| (minimum (apply 'max (mapcar 'overlay-end templates))) | |||
| (fields (cl-loop for templ in templates | |||
| append (overlay-get templ 'company-template-fields)))) | |||
| (dolist (pos (mapcar 'overlay-start fields)) | |||
| (and pos | |||
| (> pos (point)) | |||
| (< pos minimum) | |||
| (setq minimum pos))) | |||
| (push-mark) | |||
| (goto-char minimum) | |||
| (company-template-remove-field (company-template-field-at start)))) | |||
| (defun company-template-field-at (&optional point) | |||
| (cl-loop for ovl in (overlays-at (or point (point))) | |||
| when (overlay-get ovl 'company-template-parent) | |||
| return ovl)) | |||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||
| (defun company-template-declare-template (beg end) | |||
| (let ((ov (make-overlay beg end))) | |||
| ;; (overlay-put ov 'face 'highlight) | |||
| (overlay-put ov 'keymap company-template-nav-map) | |||
| (overlay-put ov 'priority 101) | |||
| (overlay-put ov 'evaporate t) | |||
| (push ov company-template--buffer-templates) | |||
| (add-hook 'post-command-hook 'company-template-post-command nil t) | |||
| ov)) | |||
| (defun company-template-remove-template (templ) | |||
| (mapc 'company-template-remove-field | |||
| (overlay-get templ 'company-template-fields)) | |||
| (setq company-template--buffer-templates | |||
| (delq templ company-template--buffer-templates)) | |||
| (delete-overlay templ)) | |||
| (defun company-template-add-field (templ pos text &optional display) | |||
| "Add new field to template TEMPL at POS, inserting TEXT. | |||
| When DISPLAY is non-nil, set the respective property on the overlay. | |||
| Leave point at the end of the field." | |||
| (cl-assert templ) | |||
| (goto-char pos) | |||
| (insert text) | |||
| (when (> (point) (overlay-end templ)) | |||
| (move-overlay templ (overlay-start templ) (point))) | |||
| (let ((ov (make-overlay pos (+ pos (length text)))) | |||
| (siblings (overlay-get templ 'company-template-fields))) | |||
| ;; (overlay-put ov 'evaporate t) | |||
| (overlay-put ov 'intangible t) | |||
| (overlay-put ov 'face 'company-template-field) | |||
| (when display | |||
| (overlay-put ov 'display display)) | |||
| (overlay-put ov 'company-template-parent templ) | |||
| (overlay-put ov 'insert-in-front-hooks '(company-template-insert-hook)) | |||
| (push ov siblings) | |||
| (overlay-put templ 'company-template-fields siblings))) | |||
| (defun company-template-remove-field (ovl &optional clear) | |||
| (when (overlayp ovl) | |||
| (when (overlay-buffer ovl) | |||
| (when clear | |||
| (delete-region (overlay-start ovl) (overlay-end ovl))) | |||
| (delete-overlay ovl)) | |||
| (let* ((templ (overlay-get ovl 'company-template-parent)) | |||
| (siblings (overlay-get templ 'company-template-fields))) | |||
| (setq siblings (delq ovl siblings)) | |||
| (overlay-put templ 'company-template-fields siblings)))) | |||
| (defun company-template-clean-up (&optional pos) | |||
| "Clean up all templates that don't contain POS." | |||
| (let ((local-ovs (overlays-at (or pos (point))))) | |||
| (dolist (templ company-template--buffer-templates) | |||
| (unless (memq templ local-ovs) | |||
| (company-template-remove-template templ))))) | |||
| ;; hooks ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||
| (defun company-template-insert-hook (ovl after-p &rest _ignore) | |||
| "Called when a snippet input prompt is modified." | |||
| (unless after-p | |||
| (company-template-remove-field ovl t))) | |||
| (defun company-template-post-command () | |||
| (company-template-clean-up) | |||
| (unless company-template--buffer-templates | |||
| (remove-hook 'post-command-hook 'company-template-post-command t))) | |||
| ;; common ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||
| (defun company-template-c-like-templatify (call) | |||
| (let* ((end (point-marker)) | |||
| (beg (- (point) (length call))) | |||
| (cnt 0)) | |||
| (when (re-search-backward ")" beg t) | |||
| (delete-region (match-end 0) end)) | |||
| (goto-char beg) | |||
| (when (search-forward "(" end 'move) | |||
| (if (eq (char-after) ?\)) | |||
| (forward-char 1) | |||
| (let ((templ (company-template-declare-template beg end))) | |||
| (while (re-search-forward (concat " *\\([^,)]*\\)[,)]") end t) | |||
| (let ((sig (match-string 1))) | |||
| (delete-region (match-beginning 1) (match-end 1)) | |||
| (save-excursion | |||
| (company-template-add-field templ (match-beginning 1) | |||
| (format "arg%d" cnt) sig)) | |||
| (cl-incf cnt))) | |||
| (company-template-move-to-first templ)))))) | |||
| (provide 'company-template) | |||
| ;;; company-template.el ends here | |||
| @ -1,63 +0,0 @@ | |||
| ;;; company-tempo.el --- company-mode completion back-end for tempo | |||
| ;; Copyright (C) 2009-2011 Free Software Foundation, Inc. | |||
| ;; Author: Nikolaj Schumacher | |||
| ;; This file is part of GNU Emacs. | |||
| ;; GNU Emacs 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. | |||
| ;; GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. | |||
| ;;; Commentary: | |||
| ;; | |||
| ;;; Code: | |||
| (require 'company) | |||
| (require 'cl-lib) | |||
| (require 'tempo) | |||
| (defsubst company-tempo-lookup (match) | |||
| (cdr (assoc match (tempo-build-collection)))) | |||
| (defun company-tempo-insert (match) | |||
| "Replace MATCH with the expanded tempo template." | |||
| (search-backward match) | |||
| (goto-char (match-beginning 0)) | |||
| (replace-match "") | |||
| (call-interactively (company-tempo-lookup match))) | |||
| (defsubst company-tempo-meta (match) | |||
| (let ((templ (company-tempo-lookup match)) | |||
| doc) | |||
| (and templ | |||
| (setq doc (documentation templ t)) | |||
| (car (split-string doc "\n" t))))) | |||
| ;;;###autoload | |||
| (defun company-tempo (command &optional arg &rest ignored) | |||
| "`company-mode' completion back-end for tempo." | |||
| (interactive (list 'interactive)) | |||
| (cl-case command | |||
| (interactive (company-begin-backend 'company-tempo | |||
| 'company-tempo-insert)) | |||
| (prefix (or (car (tempo-find-match-string tempo-match-finder)) "")) | |||
| (candidates (all-completions arg (tempo-build-collection))) | |||
| (meta (company-tempo-meta arg)) | |||
| (require-match t) | |||
| (sorted t))) | |||
| (provide 'company-tempo) | |||
| ;;; company-tempo.el ends here | |||