| @ -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 | |||||