diff --git a/.gitattributes b/.gitattributes index a7efc4744d1b810f62be30826cbde8e3ec29ae87..7d13c9b4b4c9b861b6a348facdb1f97e70f34f52 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4961,6 +4961,49 @@ public/telephone/skins/original/jquerymobile/jquery.mobile-1.2.0.min.css -text public/telephone/skins/original/templates/boites/boite_de_la_division_du_milieu.html -text public/telephone/skins/original/templates/boites/boite_de_la_division_gauche.html -text /robots.txt -text +scripts/emacs/auto-complete-1.4/COPYING.FDL -text +scripts/emacs/auto-complete-1.4/COPYING.GPLv3 -text +scripts/emacs/auto-complete-1.4/Makefile -text +scripts/emacs/auto-complete-1.4/README.md -text +scripts/emacs/auto-complete-1.4/TODO.md -text +scripts/emacs/auto-complete-1.4/auto-complete-autoloads.el -text +scripts/emacs/auto-complete-1.4/auto-complete-config.el -text +scripts/emacs/auto-complete-1.4/auto-complete-config.elc -text svneol=unset#unset +scripts/emacs/auto-complete-1.4/auto-complete-pkg.el -text +scripts/emacs/auto-complete-1.4/auto-complete-pkg.elc -text svneol=unset#unset +scripts/emacs/auto-complete-1.4/auto-complete.el -text +scripts/emacs/auto-complete-1.4/auto-complete.elc -text svneol=unset#unset +scripts/emacs/auto-complete-1.4/dict/ada-mode -text +scripts/emacs/auto-complete-1.4/dict/c++-mode -text +scripts/emacs/auto-complete-1.4/dict/c-mode -text +scripts/emacs/auto-complete-1.4/dict/caml-mode -text +scripts/emacs/auto-complete-1.4/dict/clojure-mode -text +scripts/emacs/auto-complete-1.4/dict/clojurescript-mode -text +scripts/emacs/auto-complete-1.4/dict/coq-mode -text +scripts/emacs/auto-complete-1.4/dict/css-mode -text +scripts/emacs/auto-complete-1.4/dict/erlang-mode -text +scripts/emacs/auto-complete-1.4/dict/java-mode -text +scripts/emacs/auto-complete-1.4/dict/javascript-mode -text +scripts/emacs/auto-complete-1.4/dict/lua-mode -text +scripts/emacs/auto-complete-1.4/dict/php-mode -text +scripts/emacs/auto-complete-1.4/dict/python-mode -text +scripts/emacs/auto-complete-1.4/dict/ruby-mode -text +scripts/emacs/auto-complete-1.4/dict/scheme-mode -text +scripts/emacs/auto-complete-1.4/dict/sh-mode -text +scripts/emacs/auto-complete-1.4/dict/tcl-mode -text +scripts/emacs/auto-complete-1.4/dict/ts-mode -text +scripts/emacs/auto-complete-1.4/dict/tuareg-mode -text +scripts/emacs/auto-complete-1.4/doc/ac-fuzzy.png -text svneol=unset#unset +scripts/emacs/auto-complete-1.4/doc/ac-isearch.png -text svneol=unset#unset +scripts/emacs/auto-complete-1.4/doc/ac.png -text svneol=unset#unset +scripts/emacs/auto-complete-1.4/doc/changes.ja.txt -text +scripts/emacs/auto-complete-1.4/doc/changes.txt -text +scripts/emacs/auto-complete-1.4/doc/demo.txt -text +scripts/emacs/auto-complete-1.4/doc/index.ja.txt -text +scripts/emacs/auto-complete-1.4/doc/index.txt -text +scripts/emacs/auto-complete-1.4/doc/manual.ja.txt -text +scripts/emacs/auto-complete-1.4/doc/manual.txt -text +scripts/emacs/auto-complete-1.4/doc/style.css -text scripts/emacs/geben-0.26/ChangeLog -text scripts/emacs/geben-0.26/LICENSE -text scripts/emacs/geben-0.26/Makefile -text diff --git a/scripts/emacs/auto-complete-1.4/COPYING.FDL b/scripts/emacs/auto-complete-1.4/COPYING.FDL new file mode 100644 index 0000000000000000000000000000000000000000..2f7e03ca51654a99576dccda67fdfd77bfa58760 --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/COPYING.FDL @@ -0,0 +1,451 @@ + + 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. diff --git a/scripts/emacs/auto-complete-1.4/COPYING.GPLv3 b/scripts/emacs/auto-complete-1.4/COPYING.GPLv3 new file mode 100644 index 0000000000000000000000000000000000000000..94a9ed024d3859793618152ea559a168bbcbb5e2 --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/COPYING.GPLv3 @@ -0,0 +1,674 @@ + 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>. diff --git a/scripts/emacs/auto-complete-1.4/Makefile b/scripts/emacs/auto-complete-1.4/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..e65514ca6ed604da5c207754aa35163e0da72399 --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/Makefile @@ -0,0 +1,27 @@ +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} diff --git a/scripts/emacs/auto-complete-1.4/README.md b/scripts/emacs/auto-complete-1.4/README.md new file mode 100644 index 0000000000000000000000000000000000000000..c6ff110afdc55cbe5c904c82402b067a38b67f8b --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/README.md @@ -0,0 +1,13 @@ +Auto Complete Mode +================== + +Documentation +------------- + +* http://cx4a.org/software/auto-complete/ +* doc/index.txt + +License +------- + +Auto Complete Mode is distributed under the term of GPLv3. And its documentations under doc directory is distributed under the term of GFDL. diff --git a/scripts/emacs/auto-complete-1.4/TODO.md b/scripts/emacs/auto-complete-1.4/TODO.md new file mode 100644 index 0000000000000000000000000000000000000000..3dd2c896ed0732a94218db9c70baeafad940cff4 --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/TODO.md @@ -0,0 +1,11 @@ +- 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 diff --git a/scripts/emacs/auto-complete-1.4/auto-complete-autoloads.el b/scripts/emacs/auto-complete-1.4/auto-complete-autoloads.el new file mode 100644 index 0000000000000000000000000000000000000000..ba8389c6f4480da1378b0208d2f1cbe76639926c --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/auto-complete-autoloads.el @@ -0,0 +1,18 @@ +;;; auto-complete-autoloads.el --- automatically extracted autoloads +;; +;;; Code: + + +;;;### (autoloads nil nil ("auto-complete-config.el" "auto-complete-pkg.el" +;;;;;; "auto-complete.el") (20512 56027 664024 0)) + +;;;*** + +(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 diff --git a/scripts/emacs/auto-complete-1.4/auto-complete-config.el b/scripts/emacs/auto-complete-1.4/auto-complete-config.el new file mode 100644 index 0000000000000000000000000000000000000000..13f3057f1c4af3542ca07b0dc94ea070db07f0ea --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/auto-complete-config.el @@ -0,0 +1,497 @@ +;;; 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 diff --git a/scripts/emacs/auto-complete-1.4/auto-complete-config.elc b/scripts/emacs/auto-complete-1.4/auto-complete-config.elc new file mode 100644 index 0000000000000000000000000000000000000000..f3f62c9f430e497d682369794cbcc8ff009f86b5 Binary files /dev/null and b/scripts/emacs/auto-complete-1.4/auto-complete-config.elc differ diff --git a/scripts/emacs/auto-complete-1.4/auto-complete-pkg.el b/scripts/emacs/auto-complete-1.4/auto-complete-pkg.el new file mode 100644 index 0000000000000000000000000000000000000000..d7ee90346ffe8a94a5762f5383e3adf36aa5c3fe --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/auto-complete-pkg.el @@ -0,0 +1,4 @@ +(define-package "auto-complete" + "1.4" + "Auto Completion for GNU Emacs" + '((popup "0.5"))) diff --git a/scripts/emacs/auto-complete-1.4/auto-complete-pkg.elc b/scripts/emacs/auto-complete-1.4/auto-complete-pkg.elc new file mode 100644 index 0000000000000000000000000000000000000000..7b45d74e15e07020747c0dec7a39625defe45888 Binary files /dev/null and b/scripts/emacs/auto-complete-1.4/auto-complete-pkg.elc differ diff --git a/scripts/emacs/auto-complete-1.4/auto-complete.el b/scripts/emacs/auto-complete-1.4/auto-complete.el new file mode 100644 index 0000000000000000000000000000000000000000..3a2e6520ee67aac3869907fa9a3b63a62050e1cf --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/auto-complete.el @@ -0,0 +1,1985 @@ +;;; auto-complete.el --- Auto Completion for GNU Emacs + +;; Copyright (C) 2008, 2009, 2010, 2011, 2012 Tomohiro Matsuyama + +;; Author: Tomohiro Matsuyama <m2ym.pub@gmail.com> +;; URL: http://cx4a.org/software/auto-complete +;; Keywords: completion, 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: +;; +;; This extension provides a way to complete with popup menu like: +;; +;; def-!- +;; +-----------------+ +;; |defun::::::::::::| +;; |defvar | +;; |defmacro | +;; | ... | +;; +-----------------+ +;; +;; You can complete by typing and selecting menu. +;; +;; Entire documents are located in doc/ directory. +;; Take a look for information. +;; +;; Enjoy! + +;;; Code: + + + +(eval-when-compile + (require 'cl)) + +(require 'popup) + +;;;; Global stuff + +(defun ac-error (&optional var) + "Report an error and disable `auto-complete-mode'." + (ignore-errors + (message "auto-complete error: %s" var) + (auto-complete-mode -1) + var)) + + + +;;;; Customization + +(defgroup auto-complete nil + "Auto completion." + :group 'completion + :prefix "ac-") + +(defcustom ac-delay 0.1 + "Delay to completions will be available." + :type 'float + :group 'auto-complete) + +(defcustom ac-auto-show-menu 0.8 + "Non-nil means completion menu will be automatically shown." + :type '(choice (const :tag "Yes" t) + (const :tag "Never" nil) + (float :tag "Timer")) + :group 'auto-complete) + +(defcustom ac-show-menu-immediately-on-auto-complete t + "Non-nil means menu will be showed immediately on `auto-complete'." + :type 'boolean + :group 'auto-complete) + +(defcustom ac-expand-on-auto-complete t + "Non-nil means expand whole common part on first time `auto-complete'." + :type 'boolean + :group 'auto-complete) + +(defcustom ac-disable-faces '(font-lock-comment-face font-lock-string-face font-lock-doc-face) + "Non-nil means disable automatic completion on specified faces." + :type '(repeat symbol) + :group 'auto-complete) + +(defcustom ac-stop-flymake-on-completing t + "Non-nil means disble flymake temporarily on completing." + :type 'boolean + :group 'auto-complete) + +(defcustom ac-use-fuzzy t + "Non-nil means use fuzzy matching." + :type 'boolean + :group 'auto-complete) + +(defcustom ac-fuzzy-cursor-color "red" + "Cursor color in fuzzy mode." + :type 'string + :group 'auto-complete) + +(defcustom ac-use-comphist t + "Non-nil means use intelligent completion history." + :type 'boolean + :group 'auto-complete) + +(defcustom ac-comphist-threshold 0.7 + "Percentage of ignoring low scored candidates." + :type 'float + :group 'auto-complete) + +(defcustom ac-comphist-file + (expand-file-name (concat (if (boundp 'user-emacs-directory) + user-emacs-directory + "~/.emacs.d/") + "/ac-comphist.dat")) + "Completion history file name." + :type 'string + :group 'auto-complete) + +(defcustom ac-user-dictionary nil + "User defined dictionary" + :type '(repeat string) + :group 'auto-complete) + +(defcustom ac-dictionary-files '("~/.dict") + "Dictionary files." + :type '(repeat string) + :group 'auto-complete) +(defvaralias 'ac-user-dictionary-files 'ac-dictionary-files) + +(defcustom ac-dictionary-directories + (ignore-errors + (when load-file-name + (let ((installed-dir (file-name-directory load-file-name))) + (loop for name in '("ac-dict" "dict") + for dir = (concat installed-dir name) + if (file-directory-p dir) + collect dir)))) + "Dictionary directories." + :type '(repeat string) + :group 'auto-complete) + +(defcustom ac-use-quick-help t + "Non-nil means use quick help." + :type 'boolean + :group 'auto-complete) + +(defcustom ac-quick-help-delay 1.5 + "Delay to show quick help." + :type 'float + :group 'auto-complete) + +(defcustom ac-menu-height 10 + "Max height of candidate menu." + :type 'integer + :group 'auto-complete) +(defvaralias 'ac-candidate-menu-height 'ac-menu-height) + +(defcustom ac-quick-help-height 20 + "Max height of quick help." + :type 'integer + :group 'auto-complete) + +(defcustom ac-quick-help-prefer-pos-tip t + "Prefer native tooltip with pos-tip than overlay popup for displaying quick help." + :type 'boolean + :group 'auto-complete) +(defvaralias 'ac-quick-help-prefer-x 'ac-quick-help-prefer-pos-tip) + +(defcustom ac-candidate-limit nil + "Limit number of candidates. Non-integer means no limit." + :type 'integer + :group 'auto-complete) +(defvaralias 'ac-candidate-max 'ac-candidate-limit) + +(defcustom ac-modes + '(emacs-lisp-mode lisp-mode lisp-interaction-mode + slime-repl-mode + c-mode cc-mode c++-mode + java-mode malabar-mode clojure-mode clojurescript-mode scala-mode + scheme-mode + ocaml-mode tuareg-mode coq-mode haskell-mode agda-mode agda2-mode + perl-mode cperl-mode python-mode ruby-mode lua-mode + ecmascript-mode javascript-mode js-mode js2-mode php-mode css-mode + makefile-mode sh-mode fortran-mode f90-mode ada-mode + xml-mode sgml-mode + ts-mode) + "Major modes `auto-complete-mode' can run on." + :type '(repeat symbol) + :group 'auto-complete) + +(defcustom ac-compatible-packages-regexp + "^ac-" + "Regexp to indicate what packages can work with auto-complete." + :type 'string + :group 'auto-complete) + +(defcustom ac-non-trigger-commands + '(*table--cell-self-insert-command) + "Commands that can't be used as triggers of `auto-complete'." + :type '(repeat symbol) + :group 'auto-complete) + +(defcustom ac-trigger-commands + '(self-insert-command) + "Trigger commands that specify whether `auto-complete' should start or not." + :type '(repeat symbol) + :group 'auto-complete) + +(defcustom ac-trigger-commands-on-completing + '(delete-backward-char + backward-delete-char + backward-delete-char-untabify) + "Trigger commands that specify whether `auto-complete' should continue or not." + :type '(repeat symbol) + :group 'auto-complete) + +(defcustom ac-trigger-key nil + "Non-nil means `auto-complete' will start by typing this key. +If you specify this TAB, for example, `auto-complete' will start by typing TAB, +and if there is no completions, an original command will be fallbacked." + :type 'string + :group 'auto-complete + :set (lambda (symbol value) + (set-default symbol value) + (when (and value + (fboundp 'ac-set-trigger-key)) + (ac-set-trigger-key value)))) + +(defcustom ac-auto-start 2 + "Non-nil means completion will be started automatically. +Positive integer means if a length of a word you entered is larger than the value, +completion will be started automatically. +If you specify `nil', never be started automatically." + :type '(choice (const :tag "Yes" t) + (const :tag "Never" nil) + (integer :tag "Require")) + :group 'auto-complete) + +(defcustom ac-stop-words nil + "List of string to stop completion." + :type '(repeat string) + :group 'auto-complete) +(defvaralias 'ac-ignores 'ac-stop-words) + +(defcustom ac-use-dictionary-as-stop-words t + "Non-nil means a buffer related dictionary will be thought of as stop words." + :type 'boolean + :group 'auto-complete) + +(defcustom ac-ignore-case 'smart + "Non-nil means auto-complete ignores case. +If this value is `smart', auto-complete ignores case only when +a prefix doen't contain any upper case letters." + :type '(choice (const :tag "Yes" t) + (const :tag "Smart" smart) + (const :tag "No" nil)) + :group 'auto-complete) + +(defcustom ac-dwim t + "Non-nil means `auto-complete' works based on Do What I Mean." + :type 'boolean + :group 'auto-complete) + +(defcustom ac-use-menu-map nil + "Non-nil means a special keymap `ac-menu-map' on completing menu will be used." + :type 'boolean + :group 'auto-complete) + +(defcustom ac-use-overriding-local-map nil + "Non-nil means `overriding-local-map' will be used to hack for overriding key events on auto-copletion." + :type 'boolean + :group 'auto-complete) + +(defface ac-completion-face + '((t (:foreground "darkgray" :underline t))) + "Face for inline completion" + :group 'auto-complete) + +(defface ac-candidate-face + '((t (:background "lightgray" :foreground "black"))) + "Face for candidate." + :group 'auto-complete) + +(defface ac-candidate-mouse-face + '((t (:background "blue" :foreground "white"))) + "Mouse face for candidate." + :group 'auto-complete) + +(defface ac-selection-face + '((t (:background "steelblue" :foreground "white"))) + "Face for selected candidate." + :group 'auto-complete) + +(defvar auto-complete-mode-hook nil + "Hook for `auto-complete-mode'.") + + + +;;;; Internal variables + +(defvar auto-complete-mode nil + "Dummy variable to suppress compiler warnings.") + +(defvar ac-cursor-color nil + "Old cursor color.") + +(defvar ac-inline nil + "Inline completion instance.") + +(defvar ac-menu nil + "Menu instance.") + +(defvar ac-show-menu nil + "Flag to show menu on timer tick.") + +(defvar ac-last-completion nil + "Cons of prefix marker and selected item of last completion.") + +(defvar ac-quick-help nil + "Quick help instance") + +(defvar ac-completing nil + "Non-nil means `auto-complete-mode' is now working on completion.") + +(defvar ac-buffer nil + "Buffer where auto-complete is started.") + +(defvar ac-point nil + "Start point of prefix.") + +(defvar ac-last-point nil + "Last point of updating pattern.") + +(defvar ac-prefix nil + "Prefix string.") +(defvaralias 'ac-target 'ac-prefix) + +(defvar ac-selected-candidate nil + "Last selected candidate.") + +(defvar ac-common-part nil + "Common part string of meaningful candidates. +If there is no common part, this will be nil.") + +(defvar ac-whole-common-part nil + "Common part string of whole candidates. +If there is no common part, this will be nil.") + +(defvar ac-prefix-overlay nil + "Overlay for prefix string.") + +(defvar ac-timer nil + "Completion idle timer.") + +(defvar ac-show-menu-timer nil + "Show menu idle timer.") + +(defvar ac-quick-help-timer nil + "Quick help idle timer.") + +(defvar ac-triggered nil + "Flag to update.") + +(defvar ac-limit nil + "Limit number of candidates for each sources.") + +(defvar ac-candidates nil + "Current candidates.") + +(defvar ac-candidates-cache nil + "Candidates cache for individual sources.") + +(defvar ac-fuzzy-enable nil + "Non-nil means fuzzy matching is enabled.") + +(defvar ac-dwim-enable nil + "Non-nil means DWIM completion will be allowed.") + +(defvar ac-mode-map (make-sparse-keymap) + "Auto-complete mode map. It is also used for trigger key command. See also `ac-trigger-key'.") + +(defvar ac-completing-map + (let ((map (make-sparse-keymap))) + (define-key map "\t" 'ac-expand) + (define-key map [tab] 'ac-expand) + (define-key map "\r" 'ac-complete) + (define-key map [return] 'ac-complete) + (define-key map (kbd "M-TAB") 'auto-complete) + (define-key map "\C-s" 'ac-isearch) + + (define-key map "\M-n" 'ac-next) + (define-key map "\M-p" 'ac-previous) + (define-key map [down] 'ac-next) + (define-key map [up] 'ac-previous) + + (define-key map [f1] 'ac-help) + (define-key map [M-f1] 'ac-persist-help) + (define-key map (kbd "C-?") 'ac-help) + (define-key map (kbd "C-M-?") 'ac-persist-help) + + (define-key map [C-down] 'ac-quick-help-scroll-down) + (define-key map [C-up] 'ac-quick-help-scroll-up) + (define-key map "\C-\M-n" 'ac-quick-help-scroll-down) + (define-key map "\C-\M-p" 'ac-quick-help-scroll-up) + + (dotimes (i 9) + (let ((symbol (intern (format "ac-complete-%d" (1+ i))))) + (fset symbol + `(lambda () + (interactive) + (when (and (ac-menu-live-p) (popup-select ac-menu ,i)) + (ac-complete)))) + (define-key map (read-kbd-macro (format "M-%s" (1+ i))) symbol))) + + map) + "Keymap for completion.") +(defvaralias 'ac-complete-mode-map 'ac-completing-map) + +(defvar ac-menu-map + (let ((map (make-sparse-keymap))) + (set-keymap-parent map ac-completing-map) + (define-key map "\C-n" 'ac-next) + (define-key map "\C-p" 'ac-previous) + (define-key map [mouse-1] 'ac-mouse-1) + (define-key map [down-mouse-1] 'ac-ignore) + (define-key map [mouse-4] 'ac-mouse-4) + (define-key map [mouse-5] 'ac-mouse-5) + map) + "Keymap for completion on completing menu.") + +(defvar ac-current-map + (let ((map (make-sparse-keymap))) + (set-keymap-parent map ac-completing-map) + map)) + +(defvar ac-match-function 'all-completions + "Default match function.") + +(defvar ac-prefix-definitions + '((symbol . ac-prefix-symbol) + (file . ac-prefix-file) + (valid-file . ac-prefix-valid-file) + (c-dot . ac-prefix-c-dot) + (c-dot-ref . ac-prefix-c-dot-ref)) + "Prefix definitions for common use.") + +(defvar ac-sources '(ac-source-words-in-same-mode-buffers) + "Sources for completion.") +(make-variable-buffer-local 'ac-sources) + +(defvar ac-compiled-sources nil + "Compiled source of `ac-sources'.") + +(defvar ac-current-sources nil + "Current working sources. This is sublist of `ac-compiled-sources'.") + +(defvar ac-omni-completion-sources nil + "Do not use this anymore.") + +(defvar ac-current-prefix-def nil) + +(defvar ac-ignoring-prefix-def nil) + + + +;;;; Intelligent completion history + +(defvar ac-comphist nil + "Database of completion history.") + +(defsubst ac-comphist-make-tab () + (make-hash-table :test 'equal)) + +(defsubst ac-comphist-tab (db) + (nth 0 db)) + +(defsubst ac-comphist-cache (db) + (nth 1 db)) + +(defun ac-comphist-make (&optional tab) + (list (or tab (ac-comphist-make-tab)) (make-hash-table :test 'equal :weakness t))) + +(defun ac-comphist-get (db string &optional create) + (let* ((tab (ac-comphist-tab db)) + (index (gethash string tab))) + (when (and create (null index)) + (setq index (make-vector (length string) 0)) + (puthash string index tab)) + index)) + +(defun ac-comphist-add (db string prefix) + (setq prefix (min prefix (1- (length string)))) + (when (<= 0 prefix) + (setq string (substring-no-properties string)) + (let ((stat (ac-comphist-get db string t))) + (incf (aref stat prefix)) + (remhash string (ac-comphist-cache db))))) + +(defun ac-comphist-score (db string prefix) + (setq prefix (min prefix (1- (length string)))) + (if (<= 0 prefix) + (let ((cache (gethash string (ac-comphist-cache db)))) + (or (and cache (aref cache prefix)) + (let ((stat (ac-comphist-get db string)) + (score 0.0)) + (when stat + (loop for p from 0 below (length string) + ;; sigmoid function + with a = 5 + with b = (/ 700.0 a) ; bounds for avoiding range error in `exp' + with d = (/ 6.0 a) + for x = (max (- b) (min b (- d (abs (- prefix p))))) + for r = (/ 1.0 (1+ (exp (* (- a) x)))) + do + (incf score (* (aref stat p) r)))) + ;; Weight by distance + (incf score (max 0.0 (- 0.3 (/ (- (length string) prefix) 100.0)))) + (unless cache + (setq cache (make-vector (length string) nil)) + (puthash string cache (ac-comphist-cache db))) + (aset cache prefix score) + score))) + 0.0)) + +(defun ac-comphist-sort (db collection prefix &optional threshold) + (let (result + (n 0) + (total 0) + (cur 0)) + (setq result (mapcar (lambda (a) + (when (and cur threshold) + (if (>= cur (* total threshold)) + (setq cur nil) + (incf n) + (incf cur (cdr a)))) + (car a)) + (sort (mapcar (lambda (string) + (let ((score (ac-comphist-score db string prefix))) + (incf total score) + (cons string score))) + collection) + (lambda (a b) (< (cdr b) (cdr a)))))) + (if threshold + (cons n result) + result))) + +(defun ac-comphist-serialize (db) + (let (alist) + (maphash (lambda (k v) + (push (cons k v) alist)) + (ac-comphist-tab db)) + (list alist))) + +(defun ac-comphist-deserialize (sexp) + (condition-case nil + (ac-comphist-make (let ((tab (ac-comphist-make-tab))) + (mapc (lambda (cons) + (puthash (car cons) (cdr cons) tab)) + (nth 0 sexp)) + tab)) + (error (message "Invalid comphist db.") nil))) + +(defun ac-comphist-init () + (ac-comphist-load) + (add-hook 'kill-emacs-hook 'ac-comphist-save)) + +(defun ac-comphist-load () + (interactive) + (let ((db (if (file-exists-p ac-comphist-file) + (ignore-errors + (with-temp-buffer + (insert-file-contents ac-comphist-file) + (goto-char (point-min)) + (ac-comphist-deserialize (read (current-buffer)))))))) + (setq ac-comphist (or db (ac-comphist-make))))) + +(defun ac-comphist-save () + (interactive) + (require 'pp) + (ignore-errors + (with-temp-buffer + (pp (ac-comphist-serialize ac-comphist) (current-buffer)) + (write-region (point-min) (point-max) ac-comphist-file)))) + + + +;;;; Dictionary +(defvar ac-buffer-dictionary nil) +(defvar ac-file-dictionary (make-hash-table :test 'equal)) + +(defun ac-clear-dictionary-cache () + (interactive) + (dolist (buffer (buffer-list)) + (with-current-buffer buffer + (if (local-variable-p 'ac-buffer-dictionary) + (kill-local-variable 'ac-buffer-dictionary)))) + (clrhash ac-file-dictionary)) + +(defun ac-file-dictionary (filename) + (let ((cache (gethash filename ac-file-dictionary 'none))) + (if (and cache (not (eq cache 'none))) + cache + (let (result) + (ignore-errors + (with-temp-buffer + (insert-file-contents filename) + (setq result (split-string (buffer-string) "\n" t)))) + (puthash filename result ac-file-dictionary) + result)))) + +(defun ac-mode-dictionary (mode) + (loop for name in (cons (symbol-name mode) + (ignore-errors (list (file-name-extension (buffer-file-name))))) + for dir in ac-dictionary-directories + for file = (concat dir "/" name) + if (file-exists-p file) + append (ac-file-dictionary file))) + +(defun ac-buffer-dictionary (&optional buffer) + (with-current-buffer (or buffer (current-buffer)) + (if (local-variable-p 'ac-buffer-dictionary) + ac-buffer-dictionary + (make-local-variable 'ac-buffer-dictionary) + (setq ac-buffer-dictionary + (apply 'append + ac-user-dictionary + (ac-mode-dictionary major-mode) + (mapcar 'ac-file-dictionary ac-dictionary-files)))))) + + + +;;;; Auto completion internals + +(defun ac-menu-at-wrapper-line-p () + "Return non-nil if current line is long and wrapped to next visual line." + (and (not truncate-lines) + (eq (line-beginning-position) + (save-excursion + (vertical-motion 1) + (line-beginning-position))))) + +(defun ac-stop-word-p (word) + (or (member word ac-stop-words) + (if ac-use-dictionary-as-stop-words + (member word (ac-buffer-dictionary))))) + +(defun ac-prefix-symbol () + "Default prefix definition function." + (require 'thingatpt) + (car-safe (bounds-of-thing-at-point 'symbol))) +(defalias 'ac-prefix-default 'ac-prefix-symbol) + +(defun ac-prefix-file () + "File prefix." + (let ((point (re-search-backward "[\"<>' \t\r\n]" nil t))) + (if point (1+ point)))) + +(defun ac-prefix-valid-file () + "Existed (or to be existed) file prefix." + (let* ((line-beg (line-beginning-position)) + (end (point)) + (start (or (let ((point (re-search-backward "[\"<>'= \t\r\n]" line-beg t))) + (if point (1+ point))) + line-beg)) + (file (buffer-substring start end))) + (if (and file (or (string-match "^/" file) + (and (setq file (and (string-match "^[^/]*/" file) + (match-string 0 file))) + (file-directory-p file)))) + start))) + +(defun ac-prefix-c-dot () + "C-like languages dot(.) prefix." + (if (re-search-backward "\\.\\(\\(?:[a-zA-Z0-9][_a-zA-Z0-9]*\\)?\\)\\=" nil t) + (match-beginning 1))) + +(defun ac-prefix-c-dot-ref () + "C-like languages dot(.) and reference(->) prefix." + (if (re-search-backward "\\(?:\\.\\|->\\)\\(\\(?:[a-zA-Z0-9][_a-zA-Z0-9]*\\)?\\)\\=" nil t) + (match-beginning 1))) + +(defun ac-define-prefix (name prefix) + "Define new prefix definition. +You can not use it in source definition like (prefix . `NAME')." + (push (cons name prefix) ac-prefix-definitions)) + +(defun ac-match-substring (prefix candidates) + (loop with regexp = (regexp-quote prefix) + for candidate in candidates + if (string-match regexp candidate) + collect candidate)) + +(defsubst ac-source-entity (source) + (if (symbolp source) + (symbol-value source) + source)) + +(defun ac-source-available-p (source) + (if (and (symbolp source) + (get source 'available)) + (eq (get source 'available) t) + (let* ((src (ac-source-entity source)) + (avail-pair (assq 'available src)) + (avail-cond (cdr avail-pair)) + (available (and (if avail-pair + (cond + ((symbolp avail-cond) + (funcall avail-cond)) + ((listp avail-cond) + (eval avail-cond))) + t) + (loop for feature in (assoc-default 'depends src) + unless (require feature nil t) return nil + finally return t)))) + (if (symbolp source) + (put source 'available (if available t 'no))) + available))) + +(defun ac-compile-sources (sources) + "Compiled `SOURCES' into expanded sources style." + (loop for source in sources + if (ac-source-available-p source) + do + (setq source (ac-source-entity source)) + (flet ((add-attribute (name value &optional append) (add-to-list 'source (cons name value) append))) + ;; prefix + (let* ((prefix (assoc 'prefix source)) + (real (assoc-default (cdr prefix) ac-prefix-definitions))) + (cond + (real + (add-attribute 'prefix real)) + ((null prefix) + (add-attribute 'prefix 'ac-prefix-default)))) + ;; match + (let ((match (assq 'match source))) + (cond + ((eq (cdr match) 'substring) + (setcdr match 'ac-match-substring))))) + and collect source)) + +(defun ac-compiled-sources () + (or ac-compiled-sources + (setq ac-compiled-sources + (ac-compile-sources ac-sources)))) + +(defsubst ac-menu-live-p () + (popup-live-p ac-menu)) + +(defun ac-menu-create (point width height) + (setq ac-menu + (popup-create point width height + :around t + :face 'ac-candidate-face + :mouse-face 'ac-candidate-mouse-face + :selection-face 'ac-selection-face + :symbol t + :scroll-bar t + :margin-left 1 + :keymap ac-menu-map ; for mouse bindings + ))) + +(defun ac-menu-delete () + (when ac-menu + (popup-delete ac-menu) + (setq ac-menu))) + +(defsubst ac-inline-overlay () + (nth 0 ac-inline)) + +(defsubst ac-inline-live-p () + (and ac-inline (ac-inline-overlay) t)) + +(defun ac-inline-show (point string) + (unless ac-inline + (setq ac-inline (list nil))) + (save-excursion + (let ((overlay (ac-inline-overlay)) + (width 0) + (string-width (string-width string)) + (length 0) + (original-string string)) + ;; Calculate string space to show completion + (goto-char point) + (let (c) + (while (and (not (eolp)) + (< width string-width) + (setq c (char-after)) + (not (eq c ?\t))) ; special case for tab + (incf width (char-width c)) + (incf length) + (forward-char))) + + ;; Show completion + (goto-char point) + (cond + ((= width 0) + ;; End-of-line + ;; Do nothing + ) + ((<= width string-width) + ;; No space to show + ;; Do nothing + ) + ((> width string-width) + ;; Need to fill space + (setq string (concat string (make-string (- width string-width) ? ))))) + (setq string (propertize string 'face 'ac-completion-face)) + (if overlay + (progn + (move-overlay overlay point (+ point length)) + (overlay-put overlay 'invisible nil)) + (setq overlay (make-overlay point (+ point length))) + (setf (nth 0 ac-inline) overlay) + (overlay-put overlay 'priority 9999) + ;; Help prefix-overlay in some cases + (overlay-put overlay 'keymap ac-current-map)) + ;; TODO no width but char + (if (eq length 0) + ;; Case: End-of-line + (progn + (put-text-property 0 1 'cursor t string) + (overlay-put overlay 'after-string string)) + (let ((display (substring string 0 1)) + (after-string (substring string 1))) + (overlay-put overlay 'display display) + (overlay-put overlay 'after-string after-string))) + (overlay-put overlay 'string original-string)))) + +(defun ac-inline-delete () + (when (ac-inline-live-p) + (ac-inline-hide) + (delete-overlay (ac-inline-overlay)) + (setq ac-inline nil))) + +(defun ac-inline-hide () + (when (ac-inline-live-p) + (let ((overlay (ac-inline-overlay)) + (buffer-undo-list t)) + (when overlay + (move-overlay overlay (point-min) (point-min)) + (overlay-put overlay 'invisible t) + (overlay-put overlay 'display nil) + (overlay-put overlay 'after-string nil))))) + +(defun ac-inline-update () + (if (and ac-completing ac-prefix (stringp ac-common-part)) + (let ((common-part-length (length ac-common-part)) + (prefix-length (length ac-prefix))) + (if (> common-part-length prefix-length) + (progn + (ac-inline-hide) + (ac-inline-show (point) (substring ac-common-part prefix-length))) + (ac-inline-delete))) + (ac-inline-delete))) + +(defun ac-put-prefix-overlay () + (unless ac-prefix-overlay + (let (newline) + ;; Insert newline to make sure that cursor always on the overlay + (when (and (eq ac-point (point-max)) + (eq ac-point (point))) + (popup-save-buffer-state + (insert "\n")) + (setq newline t)) + (setq ac-prefix-overlay (make-overlay ac-point (1+ (point)) nil t t)) + (overlay-put ac-prefix-overlay 'priority 9999) + (overlay-put ac-prefix-overlay 'keymap (make-sparse-keymap)) + (overlay-put ac-prefix-overlay 'newline newline)))) + +(defun ac-remove-prefix-overlay () + (when ac-prefix-overlay + (when (overlay-get ac-prefix-overlay 'newline) + ;; Remove inserted newline + (popup-save-buffer-state + (goto-char (point-max)) + (if (eq (char-before) ?\n) + (delete-char -1)))) + (delete-overlay ac-prefix-overlay))) + +(defun ac-activate-completing-map () + (if (and ac-show-menu ac-use-menu-map) + (set-keymap-parent ac-current-map ac-menu-map)) + (when (and ac-use-overriding-local-map + (null overriding-terminal-local-map)) + (setq overriding-terminal-local-map ac-current-map)) + (when ac-prefix-overlay + (set-keymap-parent (overlay-get ac-prefix-overlay 'keymap) ac-current-map))) + +(defun ac-deactivate-completing-map () + (set-keymap-parent ac-current-map ac-completing-map) + (when (and ac-use-overriding-local-map + (eq overriding-terminal-local-map ac-current-map)) + (setq overriding-terminal-local-map nil)) + (when ac-prefix-overlay + (set-keymap-parent (overlay-get ac-prefix-overlay 'keymap) nil))) + +(defsubst ac-selected-candidate () + (if ac-menu + (popup-selected-item ac-menu))) + +(defun ac-prefix (requires ignore-list) + (loop with current = (point) + with point + with prefix-def + with sources + for source in (ac-compiled-sources) + for prefix = (assoc-default 'prefix source) + for req = (or (assoc-default 'requires source) requires 1) + + if (null prefix-def) + do + (unless (member prefix ignore-list) + (save-excursion + (setq point (cond + ((symbolp prefix) + (funcall prefix)) + ((stringp prefix) + (and (re-search-backward (concat prefix "\\=") nil t) + (or (match-beginning 1) (match-beginning 0)))) + ((stringp (car-safe prefix)) + (let ((regexp (nth 0 prefix)) + (end (nth 1 prefix)) + (group (nth 2 prefix))) + (and (re-search-backward (concat regexp "\\=") nil t) + (funcall (if end 'match-end 'match-beginning) + (or group 0))))) + (t + (eval prefix)))) + (if (and point + (integerp req) + (< (- current point) req)) + (setq point nil)) + (if point + (setq prefix-def prefix)))) + + if (equal prefix prefix-def) do (push source sources) + + finally return + (and point (list prefix-def point (nreverse sources))))) + +(defun ac-init () + "Initialize current sources to start completion." + (setq ac-candidates-cache nil) + (loop for source in ac-current-sources + for function = (assoc-default 'init source) + if function do + (save-excursion + (cond + ((functionp function) + (funcall function)) + (t + (eval function)))))) + +(defun ac-candidates-1 (source) + (let* ((do-cache (assq 'cache source)) + (function (assoc-default 'candidates source)) + (action (assoc-default 'action source)) + (document (assoc-default 'document source)) + (symbol (assoc-default 'symbol source)) + (ac-limit (or (assoc-default 'limit source) ac-limit)) + (face (or (assoc-default 'face source) (assoc-default 'candidate-face source))) + (selection-face (assoc-default 'selection-face source)) + (cache (and do-cache (assq source ac-candidates-cache))) + (candidates (cdr cache))) + (unless cache + (setq candidates (save-excursion + (cond + ((functionp function) + (funcall function)) + (t + (eval function))))) + ;; Convert (name value) format candidates into name with text properties. + (setq candidates (mapcar (lambda (candidate) + (if (consp candidate) + (propertize (car candidate) 'value (cdr candidate)) + candidate)) + candidates)) + (when do-cache + (push (cons source candidates) ac-candidates-cache))) + (setq candidates (funcall (or (assoc-default 'match source) + ac-match-function) + ac-prefix candidates)) + ;; Remove extra items regarding to ac-limit + (if (and (integerp ac-limit) (> ac-limit 1) (> (length candidates) ac-limit)) + (setcdr (nthcdr (1- ac-limit) candidates) nil)) + ;; Put candidate properties + (setq candidates (mapcar (lambda (candidate) + (popup-item-propertize candidate + 'action action + 'symbol symbol + 'document document + 'popup-face face + 'selection-face selection-face)) + candidates)) + candidates)) + +(defun ac-candidates () + "Produce candidates for current sources." + (loop with completion-ignore-case = (or (eq ac-ignore-case t) + (and (eq ac-ignore-case 'smart) + (let ((case-fold-search nil)) (not (string-match "[[:upper:]]" ac-prefix))))) + with case-fold-search = completion-ignore-case + with prefix-len = (length ac-prefix) + for source in ac-current-sources + append (ac-candidates-1 source) into candidates + finally return + (progn + (delete-dups candidates) + (if (and ac-use-comphist ac-comphist) + (if ac-show-menu + (let* ((pair (ac-comphist-sort ac-comphist candidates prefix-len ac-comphist-threshold)) + (n (car pair)) + (result (cdr pair)) + (cons (if (> n 0) (nthcdr (1- n) result))) + (cdr (cdr cons))) + (if cons (setcdr cons nil)) + (setq ac-common-part (try-completion ac-prefix result)) + (setq ac-whole-common-part (try-completion ac-prefix candidates)) + (if cons (setcdr cons cdr)) + result) + (setq candidates (ac-comphist-sort ac-comphist candidates prefix-len)) + (setq ac-common-part (if candidates (popup-x-to-string (car candidates)))) + (setq ac-whole-common-part (try-completion ac-prefix candidates)) + candidates) + (setq ac-common-part (try-completion ac-prefix candidates)) + (setq ac-whole-common-part ac-common-part) + candidates)))) + +(defun ac-update-candidates (cursor scroll-top) + "Update candidates of menu to `ac-candidates' and redraw it." + (setf (popup-cursor ac-menu) cursor + (popup-scroll-top ac-menu) scroll-top) + (setq ac-dwim-enable (= (length ac-candidates) 1)) + (if ac-candidates + (progn + (setq ac-completing t) + (ac-activate-completing-map)) + (setq ac-completing nil) + (ac-deactivate-completing-map)) + (ac-inline-update) + (popup-set-list ac-menu ac-candidates) + (if (and (not ac-fuzzy-enable) + (<= (length ac-candidates) 1)) + (popup-hide ac-menu) + (if ac-show-menu + (popup-draw ac-menu)))) + +(defun ac-reposition () + "Force to redraw candidate menu with current `ac-candidates'." + (let ((cursor (popup-cursor ac-menu)) + (scroll-top (popup-scroll-top ac-menu)) + (height (popup-height ac-menu))) + (ac-menu-delete) + (ac-menu-create ac-point (popup-preferred-width ac-candidates) height) + (ac-update-candidates cursor scroll-top))) + +(defun ac-cleanup () + "Cleanup auto completion." + (if ac-cursor-color + (set-cursor-color ac-cursor-color)) + (when (and ac-use-comphist ac-comphist) + (when (and (null ac-selected-candidate) + (member ac-prefix ac-candidates)) + ;; Assume candidate is selected by just typing + (setq ac-selected-candidate ac-prefix) + (setq ac-last-point ac-point)) + (when ac-selected-candidate + (ac-comphist-add ac-comphist + ac-selected-candidate + (if ac-last-point + (- ac-last-point ac-point) + (length ac-prefix))))) + (ac-deactivate-completing-map) + (ac-remove-prefix-overlay) + (ac-remove-quick-help) + (ac-inline-delete) + (ac-menu-delete) + (ac-cancel-timer) + (ac-cancel-show-menu-timer) + (ac-cancel-quick-help-timer) + (setq ac-cursor-color nil + ac-inline nil + ac-show-menu nil + ac-menu nil + ac-completing nil + ac-point nil + ac-last-point nil + ac-prefix nil + ac-prefix-overlay nil + ac-selected-candidate nil + ac-common-part nil + ac-whole-common-part nil + ac-triggered nil + ac-limit nil + ac-candidates nil + ac-candidates-cache nil + ac-fuzzy-enable nil + ac-dwim-enable nil + ac-compiled-sources nil + ac-current-sources nil + ac-current-prefix-def nil + ac-ignoring-prefix-def nil)) + +(defsubst ac-abort () + "Abort completion." + (ac-cleanup)) + +(defun ac-expand-string (string &optional remove-undo-boundary) + "Expand `STRING' into the buffer and update `ac-prefix' to `STRING'. +This function records deletion and insertion sequences by `undo-boundary'. +If `remove-undo-boundary' is non-nil, this function also removes `undo-boundary' +that have been made before in this function." + (when (not (equal string (buffer-substring ac-point (point)))) + (undo-boundary) + ;; We can't use primitive-undo since it undoes by + ;; groups, divided by boundaries. + ;; We don't want boundary between deletion and insertion. + ;; So do it manually. + ;; Delete region silently for undo: + (if remove-undo-boundary + (progn + (let (buffer-undo-list) + (save-excursion + (delete-region ac-point (point)))) + (setq buffer-undo-list + (nthcdr 2 buffer-undo-list))) + (delete-region ac-point (point))) + (insert string) + ;; Sometimes, possible when omni-completion used, (insert) added + ;; to buffer-undo-list strange record about position changes. + ;; Delete it here: + (when (and remove-undo-boundary + (integerp (cadr buffer-undo-list))) + (setcdr buffer-undo-list (nthcdr 2 buffer-undo-list))) + (undo-boundary) + (setq ac-selected-candidate string) + (setq ac-prefix string))) + +(defun ac-set-trigger-key (key) + "Set `ac-trigger-key' to `KEY'. It is recommemded to use this function instead of calling `setq'." + ;; Remove old mapping + (when ac-trigger-key + (define-key ac-mode-map (read-kbd-macro ac-trigger-key) nil)) + + ;; Make new mapping + (setq ac-trigger-key key) + (when key + (define-key ac-mode-map (read-kbd-macro key) 'ac-trigger-key-command))) + +(defun ac-set-timer () + (unless ac-timer + (setq ac-timer (run-with-idle-timer ac-delay ac-delay 'ac-update-greedy)))) + +(defun ac-cancel-timer () + (when (timerp ac-timer) + (cancel-timer ac-timer) + (setq ac-timer nil))) + +(defun ac-update (&optional force) + (when (and auto-complete-mode + ac-prefix + (or ac-triggered + force) + (not isearch-mode)) + (ac-put-prefix-overlay) + (setq ac-candidates (ac-candidates)) + (let ((preferred-width (popup-preferred-width ac-candidates))) + ;; Reposition if needed + (when (or (null ac-menu) + (>= (popup-width ac-menu) preferred-width) + (<= (popup-width ac-menu) (- preferred-width 10)) + (and (> (popup-direction ac-menu) 0) + (ac-menu-at-wrapper-line-p))) + (ac-inline-hide) ; Hide overlay to calculate correct column + (ac-menu-delete) + (ac-menu-create ac-point preferred-width ac-menu-height))) + (ac-update-candidates 0 0) + t)) + +(defun ac-update-greedy (&optional force) + (let (result) + (while (when (and (setq result (ac-update force)) + (null ac-candidates)) + (add-to-list 'ac-ignoring-prefix-def ac-current-prefix-def) + (ac-start :force-init t) + ac-current-prefix-def)) + result)) + +(defun ac-set-show-menu-timer () + (when (and (or (integerp ac-auto-show-menu) (floatp ac-auto-show-menu)) + (null ac-show-menu-timer)) + (setq ac-show-menu-timer (run-with-idle-timer ac-auto-show-menu ac-auto-show-menu 'ac-show-menu)))) + +(defun ac-cancel-show-menu-timer () + (when (timerp ac-show-menu-timer) + (cancel-timer ac-show-menu-timer) + (setq ac-show-menu-timer nil))) + +(defun ac-show-menu () + (when (not (eq ac-show-menu t)) + (setq ac-show-menu t) + (ac-inline-hide) + (ac-remove-quick-help) + (ac-update t))) + +(defun ac-help (&optional persist) + (interactive "P") + (when ac-menu + (popup-menu-show-help ac-menu persist))) + +(defun ac-persist-help () + (interactive) + (ac-help t)) + +(defun ac-last-help (&optional persist) + (interactive "P") + (when ac-last-completion + (popup-item-show-help (cdr ac-last-completion) persist))) + +(defun ac-last-persist-help () + (interactive) + (ac-last-help t)) + +(defun ac-set-quick-help-timer () + (when (and ac-use-quick-help + (null ac-quick-help-timer)) + (setq ac-quick-help-timer (run-with-idle-timer ac-quick-help-delay ac-quick-help-delay 'ac-quick-help)))) + +(defun ac-cancel-quick-help-timer () + (when (timerp ac-quick-help-timer) + (cancel-timer ac-quick-help-timer) + (setq ac-quick-help-timer nil))) + +(defun ac-pos-tip-show-quick-help (menu &optional item &rest args) + (let* ((point (plist-get args :point)) + (around nil) + (parent-offset (popup-offset menu)) + (doc (popup-menu-documentation menu item))) + (when (stringp doc) + (if (popup-hidden-p menu) + (setq around t) + (setq point nil)) + (with-no-warnings + (pos-tip-show doc + 'popup-tip-face + (or point + (and menu + (popup-child-point menu parent-offset)) + (point)) + nil 0 + popup-tip-max-width + nil nil + (and (not around) 0)) + (unless (plist-get args :nowait) + (clear-this-command-keys) + (unwind-protect + (push (read-event (plist-get args :prompt)) unread-command-events) + (pos-tip-hide)) + t))))) + +(defun ac-quick-help-use-pos-tip-p () + (and ac-quick-help-prefer-pos-tip + window-system + (featurep 'pos-tip))) + +(defun ac-quick-help (&optional force) + (interactive) + ;; TODO don't use FORCE + (when (and (or force + (called-interactively-p) + ;; ac-isearch'ing + (null this-command)) + (ac-menu-live-p) + (null ac-quick-help)) + (setq ac-quick-help + (funcall (if (ac-quick-help-use-pos-tip-p) + 'ac-pos-tip-show-quick-help + 'popup-menu-show-quick-help) + ac-menu nil + :point ac-point + :height ac-quick-help-height + :nowait t)))) + +(defun ac-remove-quick-help () + (when (ac-quick-help-use-pos-tip-p) + (with-no-warnings + (pos-tip-hide))) + (when ac-quick-help + (popup-delete ac-quick-help) + (setq ac-quick-help nil))) + +(defun ac-last-quick-help () + (interactive) + (when (and ac-last-completion + (eq (marker-buffer (car ac-last-completion)) + (current-buffer))) + (let ((doc (popup-item-documentation (cdr ac-last-completion))) + (point (marker-position (car ac-last-completion)))) + (when (stringp doc) + (if (ac-quick-help-use-pos-tip-p) + (with-no-warnings (pos-tip-show doc nil point nil 0)) + (popup-tip doc + :point point + :around t + :scroll-bar t + :margin t)))))) + +(defmacro ac-define-quick-help-command (name arglist &rest body) + (declare (indent 2)) + `(progn + (defun ,name ,arglist ,@body) + (put ',name 'ac-quick-help-command t))) + +(ac-define-quick-help-command ac-quick-help-scroll-down () + (interactive) + (when ac-quick-help + (popup-scroll-down ac-quick-help))) + +(ac-define-quick-help-command ac-quick-help-scroll-up () + (interactive) + (when ac-quick-help + (popup-scroll-up ac-quick-help))) + + + +;;;; Auto completion isearch + +(defun ac-isearch-callback (list) + (setq ac-dwim-enable (eq (length list) 1))) + +(defun ac-isearch () + (interactive) + (when (ac-menu-live-p) + (ac-cancel-show-menu-timer) + (ac-cancel-quick-help-timer) + (ac-show-menu) + (popup-isearch ac-menu :callback 'ac-isearch-callback))) + + + +;;;; Auto completion commands + +(defun auto-complete (&optional sources) + "Start auto-completion at current point." + (interactive) + (let ((menu-live (ac-menu-live-p)) + (inline-live (ac-inline-live-p))) + (ac-abort) + (let ((ac-sources (or sources ac-sources))) + (if (or ac-show-menu-immediately-on-auto-complete + inline-live) + (setq ac-show-menu t)) + (ac-start)) + (when (ac-update-greedy t) + ;; TODO Not to cause inline completion to be disrupted. + (if (ac-inline-live-p) + (ac-inline-hide)) + ;; Not to expand when it is first time to complete + (when (and (or (and (not ac-expand-on-auto-complete) + (> (length ac-candidates) 1) + (not menu-live)) + (not (let ((ac-common-part ac-whole-common-part)) + (ac-expand-common)))) + ac-use-fuzzy + (null ac-candidates)) + (ac-fuzzy-complete))))) + +(defun ac-fuzzy-complete () + "Start fuzzy completion at current point." + (interactive) + (when (require 'fuzzy nil) + (unless (ac-menu-live-p) + (ac-start)) + (let ((ac-match-function 'fuzzy-all-completions)) + (unless ac-cursor-color + (setq ac-cursor-color (frame-parameter (selected-frame) 'cursor-color))) + (if ac-fuzzy-cursor-color + (set-cursor-color ac-fuzzy-cursor-color)) + (setq ac-show-menu t) + (setq ac-fuzzy-enable t) + (setq ac-triggered nil) + (ac-update t))) + t) + +(defun ac-next () + "Select next candidate." + (interactive) + (when (ac-menu-live-p) + (popup-next ac-menu) + (setq ac-show-menu t) + (if (eq this-command 'ac-next) + (setq ac-dwim-enable t)))) + +(defun ac-previous () + "Select previous candidate." + (interactive) + (when (ac-menu-live-p) + (popup-previous ac-menu) + (setq ac-show-menu t) + (if (eq this-command 'ac-previous) + (setq ac-dwim-enable t)))) + +(defun ac-expand () + "Try expand, and if expanded twice, select next candidate." + (interactive) + (unless (ac-expand-common) + (let ((string (ac-selected-candidate))) + (when string + (when (equal ac-prefix string) + (ac-next) + (setq string (ac-selected-candidate))) + (ac-expand-string string (eq last-command this-command)) + ;; Do reposition if menu at long line + (if (and (> (popup-direction ac-menu) 0) + (ac-menu-at-wrapper-line-p)) + (ac-reposition)) + (setq ac-show-menu t) + string)))) + +(defun ac-expand-common () + "Try to expand meaningful common part." + (interactive) + (if (and ac-dwim ac-dwim-enable) + (ac-complete) + (when (and (ac-inline-live-p) + ac-common-part) + (ac-inline-hide) + (ac-expand-string ac-common-part (eq last-command this-command)) + (setq ac-common-part nil) + t))) + +(defun ac-complete-1 (candidate) + (let ((action (popup-item-property candidate 'action)) + (fallback nil)) + (when candidate + (unless (ac-expand-string candidate) + (setq fallback t)) + ;; Remember to show help later + (when (and ac-point candidate) + (unless ac-last-completion + (setq ac-last-completion (cons (make-marker) nil))) + (set-marker (car ac-last-completion) ac-point ac-buffer) + (setcdr ac-last-completion candidate))) + (ac-abort) + (cond + (action + (funcall action)) + (fallback + (ac-fallback-command))) + candidate)) + +(defun ac-complete () + "Try complete." + (interactive) + (ac-complete-1 (ac-selected-candidate))) + +(defun* ac-start (&key + requires + force-init) + "Start completion." + (interactive) + (if (not auto-complete-mode) + (message "auto-complete-mode is not enabled") + (let* ((info (ac-prefix requires ac-ignoring-prefix-def)) + (prefix-def (nth 0 info)) + (point (nth 1 info)) + (sources (nth 2 info)) + prefix + (init (or force-init (not (eq ac-point point))))) + (if (or (null point) + (progn + (setq prefix (buffer-substring-no-properties point (point))) + (ac-stop-word-p prefix))) + (prog1 nil + (ac-abort)) + (unless ac-cursor-color + (setq ac-cursor-color (frame-parameter (selected-frame) 'cursor-color))) + (setq ac-show-menu (or ac-show-menu (if (eq ac-auto-show-menu t) t)) + ac-current-sources sources + ac-buffer (current-buffer) + ac-point point + ac-prefix prefix + ac-limit ac-candidate-limit + ac-triggered t + ac-current-prefix-def prefix-def) + (when (or init (null ac-prefix-overlay)) + (ac-init)) + (ac-set-timer) + (ac-set-show-menu-timer) + (ac-set-quick-help-timer) + (ac-put-prefix-overlay))))) + +(defun ac-stop () + "Stop completiong." + (interactive) + (setq ac-selected-candidate nil) + (ac-abort)) + +(defun ac-ignore (&rest ignore) + "Same as `ignore'." + (interactive)) + +(defun ac-mouse-1 (event) + (interactive "e") + (popup-awhen (popup-menu-item-of-mouse-event event) + (ac-complete-1 it))) + +(defun ac-mouse-4 (event) + (interactive "e") + (ac-previous)) + +(defun ac-mouse-5 (event) + (interactive "e") + (ac-next)) + +(defun ac-trigger-key-command (&optional force) + (interactive "P") + (if (or force (ac-trigger-command-p last-command)) + (auto-complete) + (ac-fallback-command 'ac-trigger-key-command))) + + + +;;;; Basic cache facility + +(defvar ac-clear-variables-every-minute-timer nil) +(defvar ac-clear-variables-after-save nil) +(defvar ac-clear-variables-every-minute nil) +(defvar ac-minutes-counter 0) + +(defun ac-clear-variable-after-save (variable &optional pred) + (add-to-list 'ac-clear-variables-after-save (cons variable pred))) + +(defun ac-clear-variables-after-save () + (dolist (pair ac-clear-variables-after-save) + (if (or (null (cdr pair)) + (funcall (cdr pair))) + (set (car pair) nil)))) + +(defun ac-clear-variable-every-minutes (variable minutes) + (add-to-list 'ac-clear-variables-every-minute (cons variable minutes))) + +(defun ac-clear-variable-every-minute (variable) + (ac-clear-variable-every-minutes variable 1)) + +(defun ac-clear-variable-every-10-minutes (variable) + (ac-clear-variable-every-minutes variable 10)) + +(defun ac-clear-variables-every-minute () + (incf ac-minutes-counter) + (dolist (pair ac-clear-variables-every-minute) + (if (eq (% ac-minutes-counter (cdr pair)) 0) + (set (car pair) nil)))) + + + +;;;; Auto complete mode + +(defun ac-cursor-on-diable-face-p (&optional point) + (memq (get-text-property (or point (point)) 'face) ac-disable-faces)) + +(defun ac-trigger-command-p (command) + "Return non-nil if `COMMAND' is a trigger command." + (and (symbolp command) + (not (memq command ac-non-trigger-commands)) + (or (memq command ac-trigger-commands) + (string-match "self-insert-command" (symbol-name command)) + (string-match "electric" (symbol-name command))))) + +(defun ac-fallback-command (&optional except-command) + (let* ((auto-complete-mode nil) + (keys (this-command-keys-vector)) + (command (if keys (key-binding keys)))) + (when (and (commandp command) + (not (eq command except-command))) + (setq this-command command) + (call-interactively command)))) + +(defun ac-compatible-package-command-p (command) + "Return non-nil if `COMMAND' is compatible with auto-complete." + (and (symbolp command) + (string-match ac-compatible-packages-regexp (symbol-name command)))) + +(defun ac-handle-pre-command () + (condition-case var + (if (or (setq ac-triggered (and (not ac-fuzzy-enable) ; ignore key storkes in fuzzy mode + (or (eq this-command 'auto-complete) ; special case + (ac-trigger-command-p this-command) + (and ac-completing + (memq this-command ac-trigger-commands-on-completing))) + (not (ac-cursor-on-diable-face-p)))) + (ac-compatible-package-command-p this-command)) + (progn + (if (or (not (symbolp this-command)) + (not (get this-command 'ac-quick-help-command))) + (ac-remove-quick-help)) + ;; Not to cause inline completion to be disrupted. + (ac-inline-hide)) + (ac-abort)) + (error (ac-error var)))) + +(defun ac-handle-post-command () + (condition-case var + (when (and ac-triggered + (or ac-auto-start + ac-completing) + (not isearch-mode)) + (setq ac-last-point (point)) + (ac-start :requires (unless ac-completing ac-auto-start)) + (ac-inline-update)) + (error (ac-error var)))) + +(defun ac-setup () + (if ac-trigger-key + (ac-set-trigger-key ac-trigger-key)) + (if ac-use-comphist + (ac-comphist-init)) + (unless ac-clear-variables-every-minute-timer + (setq ac-clear-variables-every-minute-timer (run-with-timer 60 60 'ac-clear-variables-every-minute))) + (if ac-stop-flymake-on-completing + (defadvice flymake-on-timer-event (around ac-flymake-stop-advice activate) + (unless ac-completing + ad-do-it)) + (ad-disable-advice 'flymake-on-timer-event 'around 'ac-flymake-stop-advice))) + +(define-minor-mode auto-complete-mode + "AutoComplete mode" + :lighter " AC" + :keymap ac-mode-map + :group 'auto-complete + (if auto-complete-mode + (progn + (ac-setup) + (add-hook 'pre-command-hook 'ac-handle-pre-command nil t) + (add-hook 'post-command-hook 'ac-handle-post-command nil t) + (add-hook 'after-save-hook 'ac-clear-variables-after-save nil t) + (run-hooks 'auto-complete-mode-hook)) + (remove-hook 'pre-command-hook 'ac-handle-pre-command t) + (remove-hook 'post-command-hook 'ac-handle-post-command t) + (remove-hook 'after-save-hook 'ac-clear-variables-after-save t) + (ac-abort))) + +(defun auto-complete-mode-maybe () + "What buffer `auto-complete-mode' prefers." + (if (and (not (minibufferp (current-buffer))) + (memq major-mode ac-modes)) + (auto-complete-mode 1))) + +(define-global-minor-mode global-auto-complete-mode + auto-complete-mode auto-complete-mode-maybe + :group 'auto-complete) + + + +;;;; Compatibilities with other extensions + +(defun ac-flyspell-workaround () + "Flyspell uses `sit-for' for delaying its process. Unfortunatelly, +it stops auto completion which is trigger with `run-with-idle-timer'. +This workaround avoid flyspell processes when auto completion is being started." + (interactive) + (defadvice flyspell-post-command-hook (around ac-flyspell-workaround activate) + (unless ac-triggered + ad-do-it))) + +(defun ac-linum-workaround () + "linum-mode tries to display the line numbers even for the +completion menu. This workaround stops that annoying behavior." + (interactive) + (defadvice linum-update (around ac-linum-update-workaround activate) + (unless ac-completing + ad-do-it))) + + + +;;;; Standard sources + +(defmacro ac-define-source (name source) + "Source definition macro. It defines a complete command also." + (declare (indent 1)) + `(progn + (defvar ,(intern (format "ac-source-%s" name)) + ,source) + (defun ,(intern (format "ac-complete-%s" name)) () + (interactive) + (auto-complete '(,(intern (format "ac-source-%s" name))))))) + +;; Words in buffer source +(defvar ac-word-index nil) + +(defun ac-candidate-words-in-buffer (point prefix limit) + (let ((i 0) + candidate + candidates + (regexp (concat "\\_<" (regexp-quote prefix) "\\(\\sw\\|\\s_\\)+\\_>"))) + (save-excursion + ;; Search backward + (goto-char point) + (while (and (or (not (integerp limit)) (< i limit)) + (re-search-backward regexp nil t)) + (setq candidate (match-string-no-properties 0)) + (unless (member candidate candidates) + (push candidate candidates) + (incf i))) + ;; Search backward + (goto-char (+ point (length prefix))) + (while (and (or (not (integerp limit)) (< i limit)) + (re-search-forward regexp nil t)) + (setq candidate (match-string-no-properties 0)) + (unless (member candidate candidates) + (push candidate candidates) + (incf i))) + (nreverse candidates)))) + +(defun ac-incremental-update-word-index () + (unless (local-variable-p 'ac-word-index) + (make-local-variable 'ac-word-index)) + (if (null ac-word-index) + (setq ac-word-index (cons nil nil))) + ;; Mark incomplete + (if (car ac-word-index) + (setcar ac-word-index nil)) + (let ((index (cdr ac-word-index)) + (words (ac-candidate-words-in-buffer ac-point ac-prefix (or (and (integerp ac-limit) ac-limit) 10)))) + (dolist (word words) + (unless (member word index) + (push word index) + (setcdr ac-word-index index))))) + +(defun ac-update-word-index-1 () + (unless (local-variable-p 'ac-word-index) + (make-local-variable 'ac-word-index)) + (when (and (not (car ac-word-index)) + (< (buffer-size) 1048576)) + ;; Complete index + (setq ac-word-index + (cons t + (split-string (buffer-substring-no-properties (point-min) (point-max)) + "\\(?:^\\|\\_>\\).*?\\(?:\\_<\\|$\\)"))))) + +(defun ac-update-word-index () + (dolist (buffer (buffer-list)) + (when (or ac-fuzzy-enable + (not (eq buffer (current-buffer)))) + (with-current-buffer buffer + (ac-update-word-index-1))))) + +(defun ac-word-candidates (&optional buffer-pred) + (loop initially (unless ac-fuzzy-enable (ac-incremental-update-word-index)) + for buffer in (buffer-list) + if (and (or (not (integerp ac-limit)) (< (length candidates) ac-limit)) + (if buffer-pred (funcall buffer-pred buffer) t)) + append (funcall ac-match-function + ac-prefix + (and (local-variable-p 'ac-word-index buffer) + (cdr (buffer-local-value 'ac-word-index buffer)))) + into candidates + finally return candidates)) + +(ac-define-source words-in-buffer + '((candidates . ac-word-candidates))) + +(ac-define-source words-in-all-buffer + '((init . ac-update-word-index) + (candidates . ac-word-candidates))) + +(ac-define-source words-in-same-mode-buffers + '((init . ac-update-word-index) + (candidates . (ac-word-candidates + (lambda (buffer) + (derived-mode-p (buffer-local-value 'major-mode buffer))))))) + +;; Lisp symbols source +(defvar ac-symbols-cache nil) +(ac-clear-variable-every-10-minutes 'ac-symbols-cache) + +(defun ac-symbol-file (symbol type) + (if (fboundp 'find-lisp-object-file-name) + (find-lisp-object-file-name symbol type) + (let ((file-name (with-no-warnings + (describe-simplify-lib-file-name + (symbol-file symbol type))))) + (when (equal file-name "loaddefs.el") + ;; Find the real def site of the preloaded object. + (let ((location (condition-case nil + (if (eq type 'defun) + (find-function-search-for-symbol symbol nil + "loaddefs.el") + (find-variable-noselect symbol file-name)) + (error nil)))) + (when location + (with-current-buffer (car location) + (when (cdr location) + (goto-char (cdr location))) + (when (re-search-backward + "^;;; Generated autoloads from \\(.*\\)" nil t) + (setq file-name (match-string 1))))))) + (if (and (null file-name) + (or (eq type 'defun) + (integerp (get symbol 'variable-documentation)))) + ;; It's a object not defined in Elisp but in C. + (if (get-buffer " *DOC*") + (if (eq type 'defun) + (help-C-file-name (symbol-function symbol) 'subr) + (help-C-file-name symbol 'var)) + 'C-source) + file-name)))) + +(defun ac-symbol-documentation (symbol) + (if (stringp symbol) + (setq symbol (intern-soft symbol))) + (ignore-errors + (with-temp-buffer + (let ((standard-output (current-buffer))) + (prin1 symbol) + (princ " is ") + (cond + ((fboundp symbol) + ;; import help-xref-following + (require 'help-mode) + (let ((help-xref-following t) + (major-mode 'help-mode)) ; avoid error in Emacs 24 + (describe-function-1 symbol)) + (buffer-string)) + ((boundp symbol) + (let ((file-name (ac-symbol-file symbol 'defvar))) + (princ "a variable") + (when file-name + (princ " defined in `") + (princ (if (eq file-name 'C-source) + "C source code" + (file-name-nondirectory file-name)))) + (princ "'.\n\n") + (princ (or (documentation-property symbol 'variable-documentation t) + "Not documented.")) + (buffer-string))) + ((facep symbol) + (let ((file-name (ac-symbol-file symbol 'defface))) + (princ "a face") + (when file-name + (princ " defined in `") + (princ (if (eq file-name 'C-source) + "C source code" + (file-name-nondirectory file-name)))) + (princ "'.\n\n") + (princ (or (documentation-property symbol 'face-documentation t) + "Not documented.")) + (buffer-string))) + (t + (let ((doc (documentation-property symbol 'group-documentation t))) + (when doc + (princ "a group.\n\n") + (princ doc) + (buffer-string))))))))) + +(defun ac-symbol-candidates () + (or ac-symbols-cache + (setq ac-symbols-cache + (loop for x being the symbols + if (or (fboundp x) + (boundp x) + (symbol-plist x)) + collect (symbol-name x))))) + +(ac-define-source symbols + '((candidates . ac-symbol-candidates) + (document . ac-symbol-documentation) + (symbol . "s") + (cache))) + +;; Lisp functions source +(defvar ac-functions-cache nil) +(ac-clear-variable-every-10-minutes 'ac-functions-cache) + +(defun ac-function-candidates () + (or ac-functions-cache + (setq ac-functions-cache + (loop for x being the symbols + if (fboundp x) + collect (symbol-name x))))) + +(ac-define-source functions + '((candidates . ac-function-candidates) + (document . ac-symbol-documentation) + (symbol . "f") + (prefix . "(\\(\\(?:\\sw\\|\\s_\\)+\\)") + (cache))) + +;; Lisp variables source +(defvar ac-variables-cache nil) +(ac-clear-variable-every-10-minutes 'ac-variables-cache) + +(defun ac-variable-candidates () + (or ac-variables-cache + (setq ac-variables-cache + (loop for x being the symbols + if (boundp x) + collect (symbol-name x))))) + +(ac-define-source variables + '((candidates . ac-variable-candidates) + (document . ac-symbol-documentation) + (symbol . "v") + (cache))) + +;; Lisp features source +(defvar ac-emacs-lisp-features nil) +(ac-clear-variable-every-10-minutes 'ac-emacs-lisp-features) + +(defun ac-emacs-lisp-feature-candidates () + (or ac-emacs-lisp-features + (if (fboundp 'find-library-suffixes) + (let ((suffix (concat (regexp-opt (find-library-suffixes) t) "\\'"))) + (setq ac-emacs-lisp-features + (append (mapcar 'prin1-to-string features) + (loop for dir in load-path + if (file-directory-p dir) + append (loop for file in (directory-files dir) + if (string-match suffix file) + collect (substring file 0 (match-beginning 0)))))))))) + +(ac-define-source features + '((depends find-func) + (candidates . ac-emacs-lisp-feature-candidates) + (prefix . "require +'\\(\\(?:\\sw\\|\\s_\\)*\\)") + (requires . 0))) + +(defvaralias 'ac-source-emacs-lisp-features 'ac-source-features) + +;; Abbrev source +(ac-define-source abbrev + '((candidates . (mapcar 'popup-x-to-string (append (vconcat local-abbrev-table global-abbrev-table) nil))) + (action . expand-abbrev) + (symbol . "a") + (cache))) + +;; Files in current directory source +(ac-define-source files-in-current-dir + '((candidates . (directory-files default-directory)) + (cache))) + +;; Filename source +(defvar ac-filename-cache nil) + +(defun ac-filename-candidate () + (let (file-name-handler-alist) + (unless (file-regular-p ac-prefix) + (ignore-errors + (loop with dir = (file-name-directory ac-prefix) + with files = (or (assoc-default dir ac-filename-cache) + (let ((files (directory-files dir nil "^[^.]"))) + (push (cons dir files) ac-filename-cache) + files)) + for file in files + for path = (concat dir file) + collect (if (file-directory-p path) + (concat path "/") + path)))))) + +(ac-define-source filename + '((init . (setq ac-filename-cache nil)) + (candidates . ac-filename-candidate) + (prefix . valid-file) + (requires . 0) + (action . ac-start) + (limit . nil))) + +;; Dictionary source +(ac-define-source dictionary + '((candidates . ac-buffer-dictionary) + (symbol . "d"))) + +(provide 'auto-complete) +;;; auto-complete.el ends here diff --git a/scripts/emacs/auto-complete-1.4/auto-complete.elc b/scripts/emacs/auto-complete-1.4/auto-complete.elc new file mode 100644 index 0000000000000000000000000000000000000000..02330fecbc5bcd7a2ddf30ccd9a9fe047c83dcce Binary files /dev/null and b/scripts/emacs/auto-complete-1.4/auto-complete.elc differ diff --git a/scripts/emacs/auto-complete-1.4/dict/ada-mode b/scripts/emacs/auto-complete-1.4/dict/ada-mode new file mode 100644 index 0000000000000000000000000000000000000000..bea538fb4d15515ebc5a61f98135b0cf74e1ad8b --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/dict/ada-mode @@ -0,0 +1,72 @@ +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 diff --git a/scripts/emacs/auto-complete-1.4/dict/c++-mode b/scripts/emacs/auto-complete-1.4/dict/c++-mode new file mode 100644 index 0000000000000000000000000000000000000000..e3cd8ae0824f8481e572adaec49b11a07560df8a --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/dict/c++-mode @@ -0,0 +1,74 @@ +and +and_eq +asm +auto +bitand +bitor +bool +break +case +catch +char +class +compl +const +const_cast +continue +default +delete +do +double +dynamic_cast +else +enum +explicit +export +extern +false +float +for +friend +goto +if +inline +int +long +mutable +namespace +new +not +not_eq +operator +or +or_eq +private +protected +public +register +reinterpret_cast +return +short +signed +sizeof +static +static_cast +struct +switch +template +this +throw +true +try +typedef +typeid +typename +union +unsigned +using +virtual +void +volatile +wchar_t +while +xor +xor_eq diff --git a/scripts/emacs/auto-complete-1.4/dict/c-mode b/scripts/emacs/auto-complete-1.4/dict/c-mode new file mode 100644 index 0000000000000000000000000000000000000000..496f904cbf82d40044dccb7103ef0d00f923afe2 --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/dict/c-mode @@ -0,0 +1,37 @@ +auto +_Bool +break +case +char +_Complex +const +continue +default +do +double +else +enum +extern +float +for +goto +if +_Imaginary +inline +int +long +register +restrict +return +short +signed +sizeof +static +struct +switch +typedef +union +unsigned +void +volatile +while diff --git a/scripts/emacs/auto-complete-1.4/dict/caml-mode b/scripts/emacs/auto-complete-1.4/dict/caml-mode new file mode 100644 index 0000000000000000000000000000000000000000..e709f9f62fc10a80bfd49a8421398b17ece4657a --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/dict/caml-mode @@ -0,0 +1,231 @@ +# 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 +|| +~ +~+ +~+. +~- +~-. diff --git a/scripts/emacs/auto-complete-1.4/dict/clojure-mode b/scripts/emacs/auto-complete-1.4/dict/clojure-mode new file mode 100644 index 0000000000000000000000000000000000000000..16348edb62fb2e03f95075b5eb7c1b48c88d4a77 --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/dict/clojure-mode @@ -0,0 +1,475 @@ +*agent* +*clojure-version* +*command-line-args* +*compile-files* +*compile-path* +*err* +*file* +*flush-on-newline* +*in* +*ns* +*out* +*print-dup* +*print-length* +*print-level* +*print-meta* +*print-readably* +*read-eval* +*warn-on-reflection* +accessor +aclone +add-classpath +add-watch +agent +agent-error +agent-errors +aget +alength +alias +all-ns +alter +alter-meta! +alter-var-root +amap +ancestors +and +apply +areduce +array-map +aset +aset-boolean +aset-byte +aset-char +aset-double +aset-float +aset-int +aset-long +aset-short +assert +assoc +assoc! +assoc-in +associative? +atom +await +await-for +bases +bean +bigdec +bigint +binding +bit-and +bit-and-not +bit-clear +bit-flip +bit-not +bit-or +bit-set +bit-shift-left +bit-shift-right +bit-test +bit-xor +boolean +boolean-array +booleans +bound-fn +bound-fn* +butlast +byte +byte-array +bytes +case +cast +char +char-array +char-escape-string +char-name-string +char? +chars +class +class? +clear-agent-errors +clojure-version +coll? +comment +commute +comp +comparator +compare +compare-and-set! +compile +complement +concat +cond +condp +conj +conj! +cons +constantly +construct-proxy +contains? +count +counted? +create-ns +create-struct +cycle +dec +decimal? +declare +definline +defmacro +defmethod +defmulti +defn +defn- +defonce +defprotocol +defstruct +deftype +delay +delay? +deliver +deref +derive +descendants +disj +disj! +dissoc +dissoc! +distinct +distinct? +doall +doc +dorun +doseq +dosync +dotimes +doto +double +double-array +doubles +drop +drop-last +drop-while +dtype +empty +empty? +ensure +enumeration-seq +error-handler +error-mode +eval +even? +every? +extend +extend-class +extend-protocol +extend-type +extenders +extends? +false? +ffirst +file-seq +filter +find +find-doc +find-ns +find-var +first +float +float-array +float? +floats +flush +fn +fn? +fnext +for +force +format +future +future-call +future-cancel +future-cancelled? +future-done? +future? +gen-class +gen-interface +gensym +get +get-in +get-method +get-proxy-class +get-thread-bindings +get-validator +hash +hash-map +hash-set +identical? +identity +if-let +if-not +ifn? +import +in-ns +inc +init-proxy +instance? +int +int-array +integer? +interleave +intern +interpose +into +into-array +ints +io! +isa? +iterate +iterator-seq +juxt +key +keys +keyword +keyword? +last +lazy-cat +lazy-seq +let +letfn +line-seq +list +list* +list? +load +load-file +load-reader +load-string +loaded-libs +locking +long +long-array +longs +loop +macroexpand +macroexpand-1 +make-array +make-hierarchy +map +map? +mapcat +max +max-key +memfn +memoize +merge +merge-with +meta +methods +min +min-key +mod +name +namespace +neg? +newline +next +nfirst +nil? +nnext +not +not-any? +not-empty +not-every? +not= +ns +ns-aliases +ns-imports +ns-interns +ns-map +ns-name +ns-publics +ns-refers +ns-resolve +ns-unalias +ns-unmap +nth +nthnext +num +number? +object-array +odd? +or +parents +partial +partition +pcalls +peek +persistent! +pmap +pop +pop! +pop-thread-bindings +pos? +pr +pr-str +prefer-method +prefers +print +print-namespace-doc +print-str +printf +println +println-str +prn +prn-str +promise +proxy +proxy-mappings +proxy-super +push-thread-bindings +pvalues +quot +rand +rand-int +range +ratio? +rationalize +re-find +re-groups +re-matcher +re-matches +re-pattern +re-seq +read +read-line +read-string +reduce +ref +ref-history-count +ref-max-history +ref-min-history +ref-set +refer +refer-clojure +reify +release-pending-sends +rem +remove +remove-method +remove-ns +remove-watch +repeat +repeatedly +replace +replicate +require +reset! +reset-meta! +resolve +rest +restart-agent +resultset-seq +reverse +reversible? +rseq +rsubseq +satisfies? +second +select-keys +send +send-off +seq +seq? +seque +sequence +sequential? +set +set-error-handler! +set-error-mode! +set-validator! +set? +short +short-array +shorts +shutdown-agents +slurp +some +sort +sort-by +sorted-map +sorted-map-by +sorted-set +sorted-set-by +sorted? +special-form-anchor +special-symbol? +split-at +split-with +str +stream? +string? +struct +struct-map +subs +subseq +subvec +supers +swap! +symbol +symbol? +sync +syntax-symbol-anchor +take +take-last +take-nth +take-while +test +the-ns +time +to-array +to-array-2d +trampoline +transient +tree-seq +true? +type +unchecked-add +unchecked-dec +unchecked-divide +unchecked-inc +unchecked-multiply +unchecked-negate +unchecked-remainder +unchecked-subtract +underive +update-in +update-proxy +use +val +vals +var-get +var-set +var? +vary-meta +vec +vector +vector-of +vector? +when +when-first +when-let +when-not +while +with-bindings +with-bindings* +with-in-str +with-local-vars +with-meta +with-open +with-out-str +with-precision +xml-seq +zero? +zipmap \ No newline at end of file diff --git a/scripts/emacs/auto-complete-1.4/dict/clojurescript-mode b/scripts/emacs/auto-complete-1.4/dict/clojurescript-mode new file mode 100644 index 0000000000000000000000000000000000000000..16348edb62fb2e03f95075b5eb7c1b48c88d4a77 --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/dict/clojurescript-mode @@ -0,0 +1,475 @@ +*agent* +*clojure-version* +*command-line-args* +*compile-files* +*compile-path* +*err* +*file* +*flush-on-newline* +*in* +*ns* +*out* +*print-dup* +*print-length* +*print-level* +*print-meta* +*print-readably* +*read-eval* +*warn-on-reflection* +accessor +aclone +add-classpath +add-watch +agent +agent-error +agent-errors +aget +alength +alias +all-ns +alter +alter-meta! +alter-var-root +amap +ancestors +and +apply +areduce +array-map +aset +aset-boolean +aset-byte +aset-char +aset-double +aset-float +aset-int +aset-long +aset-short +assert +assoc +assoc! +assoc-in +associative? +atom +await +await-for +bases +bean +bigdec +bigint +binding +bit-and +bit-and-not +bit-clear +bit-flip +bit-not +bit-or +bit-set +bit-shift-left +bit-shift-right +bit-test +bit-xor +boolean +boolean-array +booleans +bound-fn +bound-fn* +butlast +byte +byte-array +bytes +case +cast +char +char-array +char-escape-string +char-name-string +char? +chars +class +class? +clear-agent-errors +clojure-version +coll? +comment +commute +comp +comparator +compare +compare-and-set! +compile +complement +concat +cond +condp +conj +conj! +cons +constantly +construct-proxy +contains? +count +counted? +create-ns +create-struct +cycle +dec +decimal? +declare +definline +defmacro +defmethod +defmulti +defn +defn- +defonce +defprotocol +defstruct +deftype +delay +delay? +deliver +deref +derive +descendants +disj +disj! +dissoc +dissoc! +distinct +distinct? +doall +doc +dorun +doseq +dosync +dotimes +doto +double +double-array +doubles +drop +drop-last +drop-while +dtype +empty +empty? +ensure +enumeration-seq +error-handler +error-mode +eval +even? +every? +extend +extend-class +extend-protocol +extend-type +extenders +extends? +false? +ffirst +file-seq +filter +find +find-doc +find-ns +find-var +first +float +float-array +float? +floats +flush +fn +fn? +fnext +for +force +format +future +future-call +future-cancel +future-cancelled? +future-done? +future? +gen-class +gen-interface +gensym +get +get-in +get-method +get-proxy-class +get-thread-bindings +get-validator +hash +hash-map +hash-set +identical? +identity +if-let +if-not +ifn? +import +in-ns +inc +init-proxy +instance? +int +int-array +integer? +interleave +intern +interpose +into +into-array +ints +io! +isa? +iterate +iterator-seq +juxt +key +keys +keyword +keyword? +last +lazy-cat +lazy-seq +let +letfn +line-seq +list +list* +list? +load +load-file +load-reader +load-string +loaded-libs +locking +long +long-array +longs +loop +macroexpand +macroexpand-1 +make-array +make-hierarchy +map +map? +mapcat +max +max-key +memfn +memoize +merge +merge-with +meta +methods +min +min-key +mod +name +namespace +neg? +newline +next +nfirst +nil? +nnext +not +not-any? +not-empty +not-every? +not= +ns +ns-aliases +ns-imports +ns-interns +ns-map +ns-name +ns-publics +ns-refers +ns-resolve +ns-unalias +ns-unmap +nth +nthnext +num +number? +object-array +odd? +or +parents +partial +partition +pcalls +peek +persistent! +pmap +pop +pop! +pop-thread-bindings +pos? +pr +pr-str +prefer-method +prefers +print +print-namespace-doc +print-str +printf +println +println-str +prn +prn-str +promise +proxy +proxy-mappings +proxy-super +push-thread-bindings +pvalues +quot +rand +rand-int +range +ratio? +rationalize +re-find +re-groups +re-matcher +re-matches +re-pattern +re-seq +read +read-line +read-string +reduce +ref +ref-history-count +ref-max-history +ref-min-history +ref-set +refer +refer-clojure +reify +release-pending-sends +rem +remove +remove-method +remove-ns +remove-watch +repeat +repeatedly +replace +replicate +require +reset! +reset-meta! +resolve +rest +restart-agent +resultset-seq +reverse +reversible? +rseq +rsubseq +satisfies? +second +select-keys +send +send-off +seq +seq? +seque +sequence +sequential? +set +set-error-handler! +set-error-mode! +set-validator! +set? +short +short-array +shorts +shutdown-agents +slurp +some +sort +sort-by +sorted-map +sorted-map-by +sorted-set +sorted-set-by +sorted? +special-form-anchor +special-symbol? +split-at +split-with +str +stream? +string? +struct +struct-map +subs +subseq +subvec +supers +swap! +symbol +symbol? +sync +syntax-symbol-anchor +take +take-last +take-nth +take-while +test +the-ns +time +to-array +to-array-2d +trampoline +transient +tree-seq +true? +type +unchecked-add +unchecked-dec +unchecked-divide +unchecked-inc +unchecked-multiply +unchecked-negate +unchecked-remainder +unchecked-subtract +underive +update-in +update-proxy +use +val +vals +var-get +var-set +var? +vary-meta +vec +vector +vector-of +vector? +when +when-first +when-let +when-not +while +with-bindings +with-bindings* +with-in-str +with-local-vars +with-meta +with-open +with-out-str +with-precision +xml-seq +zero? +zipmap \ No newline at end of file diff --git a/scripts/emacs/auto-complete-1.4/dict/coq-mode b/scripts/emacs/auto-complete-1.4/dict/coq-mode new file mode 100644 index 0000000000000000000000000000000000000000..219448faafbc3362c6b49f0b16ed676d9b027f71 --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/dict/coq-mode @@ -0,0 +1,278 @@ +# 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 +Print +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 diff --git a/scripts/emacs/auto-complete-1.4/dict/css-mode b/scripts/emacs/auto-complete-1.4/dict/css-mode new file mode 100644 index 0000000000000000000000000000000000000000..4ec8f7dc4bf4cd4e997b48d5412bcb6c43de68a3 --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/dict/css-mode @@ -0,0 +1,747 @@ +!important +ActiveBorder +ActiveCaption +Alpha +AppWorkspace +Background +Barn +BasicImage +Blinds +Blur +ButtonFace +ButtonHighlight +ButtonShadow +ButtonText +CaptionText +CheckerBoard +Chroma +Compositor +CradientWipe +DXImageTransform +DropShadow +Emboss +Engrave +Fade +FlipH +FlipV +Glow +Gray +GrayText +Highlight +HighlightText +Hz +ICMFilter +InactiveBorder +InactiveCaption +InactiveCaptionText +InfoBackground +InfoText +Inset +Invert +Iris +Light +MaskFilter +Matrix +Menu +MenuText +Microsoft +MotionBlur +Pixelate +RadialWipe +RandomBars +RandomDissolve +RevealTrans +Scrollbar +Shadow +Slide +Spiral +Stretch +Strips +ThreeDDarkShadow +ThreeDFace +ThreeDHighlight +ThreeDLightShadow +ThreeDShadow +Wave +Wheel +Window +WindowFrame +WindowText +Xray +Zigzag +_azimuth +_background +_background-position-x +_background-position-y +_border +_bottom +_caption +_clear +_clip +_color +_content +_counter +_cue +_cursor +_direction +_display +_elevation +_empty +_filter +_filter:progid:DXImageTransform.Microsoft +_float +_font +_height +_ime +_ime-mode +_layout +_layout-flow +_layout-grid +_layout-grid-char +_layout-grid-line +_layout-grid-mode +_layout-grid-type +_left +_letter +_line +_line-break +_list +_margin +_orphans +_outline +_overflow +_overflow-x +_overflow-y +_padding +_page +_pause +_pitch +_play +_position +_quotes +_richness +_right +_ruby +_ruby-align +_ruby-overhang +_ruby-position +_scrollbar +_scrollbar-3dlight-color +_scrollbar-arrow-color +_scrollbar-base-color +_scrollbar-darkshadow-color +_scrollbar-face-color +_scrollbar-highlight-color +_scrollbar-track-color +_speak +_speech +_stress +_table +_text +_text-align-last +_text-autospace +_text-justify +_text-kashida-space +_text-overflow +_text-underline-position +_top +_unicode +_vertical +_visibility +_voice +_volume +_white +_widows +_width +_word +_word-break +_word-wrap +_writing +_writing-mode +_z +_zoom +above +active +adjust +after +aliceblue +align +always +antiquewhite +aqua +aquamarine +armenian +arrow +attachment +auto +autospace +avoid +azimuth +azure +background +background-attachment +background-color +background-image +background-position +background-repeat +bar +base +baseline +before +behind +beige +below +bidi +bidi-override +bisque +black +blanchedalmond +blink +block +blue +blueviolet +bold +bolder +border +border-bottom +border-bottom-color +border-bottom-style +border-bottom-width +border-collapse +border-color +border-left +border-left-color +border-left-style +border-left-width +border-right +border-right-color +border-right-style +border-right-width +border-spacing +border-style +border-top +border-top-color +border-top-style +border-top-width +border-width +both +bottom +box +break +brown +burlwood +cadetblue +capitalize +caps +caption +caption-side +cell +cells +center +center-left +center-right +char +chartreuse +chocolate +circle +cjk +cjk-ideographic +clear +clip +close +close-quote +cm +code +collapse +color +column +compact +condensed +content +continuous +coral +cornflowerblue +cornsilk +counter +counter-increment +counter-reset +crimson +crop +cross +crosshair +cue +cue-after +cue-before +cursive +cursor +cyan +darkblue +darkcyan +darkgoldenrod +darkgray +darkgreen +darkkhaki +darkmagenta +darkolivegreen +darkorange +darkorchid +darkred +darksalmon +darkseagreen +darkshadow +darkslateblue +darkslategray +darkturquoise +darkviolet +dashed +decimal +decimal-leading-zero +decoration +deeppink +deepskyblue +default +deg +digits +dimgray +direction +disc +display +dodgerblue +dotted +double +during +e +e-resize +elevation +em +embed +empty +empty-cells +ex +expanded +extra +extra-condensed +extra-expanded +face +family +fantasy +far +far-left +far-right +fast +faster +firebrick +first +first-child +first-letter +first-line +fixed +float +floralwhite +flow +focus +font +font-family +font-size +font-size-adjust +font-stretch +font-style +font-variant +font-weight +footer +forestgreen +fuchsia +gainsboro +georgian +ghostwhite +gold +goldenrod +gray +greek +green +greenyellow +grid +groove +group +header +hebrew +height +help +hidden +hide +high +higher +hiragana +hiragana-iroha +honeydew +hotpink +hover +icon +ideographic +image +in +increment +indent +index +indianred +indigo +inherit +inline +inline-block +inline-table +inset +inside +iroha +italic +item +ivory +justify +kHz +kashida +katakana +katakana-iroha +khaki +landscape +lang() +large +larger +last +latin +lavender +lavenderblush +lawngreen +layout +leading +left +left-side +leftwards +lenonchiffon +letter +letter-spacing +level +lightblue +lightcoral +lightcyan +lighter +lightgoldenrodyellow +lightgray +lightgreen +lightgrey +lightpink +lightsalmon +lightseagreen +lightskyblue +lightslategray +lightsteelblue +lightyellow +lime +limegreen +line +line-height +line-through +linen +link +list +list-item +list-style +list-style-image +list-style-position +list-style-type +loud +low +lower +lower-alpha +lower-greek +lower-latin +lower-roman +lowercase +ltr +magenta +margin +margin-bottom +margin-left +margin-right +margin-top +marker +marker-offset +marks +maroon +max +max-height +max-width +medium +mediumaquamarine +mediumblue +mediumorchid +mediumpurple +mediumseagreen +mediumslateblue +mediumspringgreen +mediumturquoise +mediumvioletred +menu +message +message-box +middle +midnightblue +min +min-height +min-width +mintcream +mistyrose +mix +mm +moccasin +mode +monospace +move +ms +n +n-resize +naby +narrower +navajowhite +ne +ne-resize +no +no-close-quote +no-open-quote +no-repeat +none +normal +nowrap +number +numeral +nw +nw-resize +oblique +offset +oldlace +olive +olivedrab +once +open +open-quote +orange +orangered +orchid +orphans +out +outline +outline-color +outline-style +outline-width +outset +outside +overflow +overhang +overline +override +padding +padding-bottom +padding-left +padding-right +padding-top +page +page-break-after +page-break-before +page-break-inside +palegoldenrod +palegreen +paleturquoise +palevioletred +papayawhip +pause +pause-after +pause-before +pc +peachpuff +peru +pink +pitch +pitch-range +play +play-during +plum +pointer +portarait +position +powderblue +pre +pre-line +pre-wrap +progid +progress +pt +punctuation +purple +px +quote +quotes +rad +range +rate +red +relative +repeat +repeat-x +repeat-y +reset +resize +richness +ridge +right +right-side +rightwards +roman +rosybrown +row +royalblue +rtl +run +run-in +s +s-resize +saddlebrown +salmon +sandybrown +sans-serif +scroll +se +se-resize +seagreen +seashell +semi +semi-condensed +semi-expanded +separate +serif +shadow +show +side +sienna +silent +silever +silver +size +skyblue +slateblue +slategray +slow +slower +small +small-caps +small-caption +smaller +snow +soft +solid +space +spacing +speak +speak-header +speak-numeral +speak-punctuation +specific +specific-voice +speech +speech-rate +spell +spell-out +springgreen +square +static +status +status-bar +steelblue +stress +stretch +style +sub +super +sw +sw-resize +table +table-caption +table-cell +table-column +table-column-group +table-footer-group +table-header-group +table-layout +table-row +table-row-group +tan +teal +text +text-align +text-bottom +text-decoration +text-indent +text-shadow +text-top +text-transform +thick +thin +thistle +through +tomato +top +track +transform +transparent +turquoise +type +ultra +ultra-condensed +ultra-expanded +underline +unicode +unicode-bidi +upper +upper-alpha +upper-latin +upper-roman +uppercase +variant +vertical +vertical-align +violet +visibility +visible +visited +voice +voice-family +volume +w +w-resize +wait +weight +wheat +white +white-space +whitesmoke +wider +widows +width +word +word-spacing +wrap +x +x-fast +x-high +x-large +x-loud +x-low +x-slow +x-small +x-soft +xx +xx-large +xx-small +y +yellow +yellowgreen +z +z-index +zero diff --git a/scripts/emacs/auto-complete-1.4/dict/erlang-mode b/scripts/emacs/auto-complete-1.4/dict/erlang-mode new file mode 100644 index 0000000000000000000000000000000000000000..960f2b8372c4e736e4204746dded17ce13bc661f --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/dict/erlang-mode @@ -0,0 +1,216 @@ +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 diff --git a/scripts/emacs/auto-complete-1.4/dict/java-mode b/scripts/emacs/auto-complete-1.4/dict/java-mode new file mode 100644 index 0000000000000000000000000000000000000000..8ed3d04dfa5032f515bb53dc53368ec21ac2a52c --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/dict/java-mode @@ -0,0 +1,50 @@ +abstract +assert +boolean +break +byte +case +catch +char +class +const +continue +default +do +double +else +enum +extends +final +finally +float +for +goto +if +implements +import +instanceof +int +interface +long +native +new +package +private +protected +public +return +short +static +strictfp +super +switch +synchronized +this +throw +throws +transient +try +void +volatile +while diff --git a/scripts/emacs/auto-complete-1.4/dict/javascript-mode b/scripts/emacs/auto-complete-1.4/dict/javascript-mode new file mode 100644 index 0000000000000000000000000000000000000000..3d83f8439d4978b5269db87ad9147bf884851b2f --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/dict/javascript-mode @@ -0,0 +1,148 @@ +Anchor +Area +Array +Boolean +Button +Checkbox +Date +Document +Element +FileUpload +Form +Frame +Function +Hidden +History +Image +Infinity +JavaArray +JavaClass +JavaObject +JavaPackage +Link +Location +Math +MimeType +NaN +Navigator +Number +Object +Option +Packages +Password +Plugin +Radio +RegExp +Reset +Select +String +Submit +Text +Textarea +Window +alert +arguments +assign +blur +break +callee +caller +captureEvents +case +clearInterval +clearTimeout +close +closed +comment +confirm +constructor +continue +default +defaultStatus +delete +do +document +else +escape +eval +export +find +focus +for +frames +function +getClass +history +home +if +import +in +innerHeight +innerWidth +isFinite +isNan +java +label +length +location +locationbar +menubar +moveBy +moveTo +name +navigate +navigator +netscape +new +onBlur +onError +onFocus +onLoad +onUnload +open +opener +outerHeight +outerWidth +pageXoffset +pageYoffset +parent +parseFloat +parseInt +personalbar +print +prompt +prototype +ref +releaseEvents +resizeBy +resizeTo +return +routeEvent +scroll +scrollBy +scrollTo +scrollbars +self +setInterval +setTimeout +status +statusbar +stop +sun +switch +taint +this +toString +toolbar +top +typeof +unescape +untaint +unwatch +valueOf +var +void +watch +while +window +with diff --git a/scripts/emacs/auto-complete-1.4/dict/lua-mode b/scripts/emacs/auto-complete-1.4/dict/lua-mode new file mode 100644 index 0000000000000000000000000000000000000000..d0de6a4d7933be700d8b7b469afa7807ddeea14e --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/dict/lua-mode @@ -0,0 +1,21 @@ +and +break +do +else +elseif +end +false +for +function +if +in +local +nil +not +or +repeat +return +then +true +until +while diff --git a/scripts/emacs/auto-complete-1.4/dict/php-mode b/scripts/emacs/auto-complete-1.4/dict/php-mode new file mode 100644 index 0000000000000000000000000000000000000000..5a27b711880d02d05c3e3a5e49dfa3d90c43cea0 --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/dict/php-mode @@ -0,0 +1,5983 @@ +abs +acos +acosh +addcslashes +addslashes +aggregate +aggregate_info +aggregate_methods +aggregate_methods_by_list +aggregate_methods_by_regexp +aggregate_properties +aggregate_properties_by_list +aggregate_properties_by_regexp +aggregation_info +amqpconnection +amqpexchange +amqpqueue +and +apache_child_terminate +apache_getenv +apache_get_modules +apache_get_version +apache_lookup_uri +apache_note +apache_request_headers +apache_reset_timeout +apache_response_headers +apache_setenv +apc_add +apc_bin_dump +apc_bin_dumpfile +apc_bin_load +apc_bin_loadfile +apc_cache_info +apc_cas +apc_clear_cache +apc_compile_file +apc_dec +apc_define_constants +apc_delete +apc_delete_file +apc_exists +apc_fetch +apc_inc +apciterator +apc_load_constants +apc_sma_info +apc_store +apd_breakpoint +apd_callstack +apd_clunk +apd_continue +apd_croak +apd_dump_function_table +apd_dump_persistent_resources +apd_dump_regular_resources +apd_echo +apd_get_active_symbols +apd_set_pprof_trace +apd_set_session +apd_set_session_trace +apd_set_session_trace_socket +appenditerator +array +arrayaccess +array_change_key_case +array_chunk +array_combine +array_count_values +array_diff +array_diff_assoc +array_diff_key +array_diff_uassoc +array_diff_ukey +array_fill +array_fill_keys +array_filter +array_flip +array_intersect +array_intersect_assoc +array_intersect_key +array_intersect_uassoc +array_intersect_ukey +arrayiterator +array_key_exists +array_keys +array_map +array_merge +array_merge_recursive +array_multisort +arrayobject +array_pad +array_pop +array_product +array_push +array_rand +array_reduce +array_replace +array_replace_recursive +array_reverse +array_search +array_shift +array_slice +array_splice +array_sum +array_udiff +array_udiff_assoc +array_udiff_uassoc +array_uintersect +array_uintersect_assoc +array_uintersect_uassoc +array_unique +array_unshift +array_values +array_walk +array_walk_recursive +arsort +as +asin +asinh +asort +assert +assert_options +atan +atan2 +atanh +badfunctioncallexception +badmethodcallexception +base64_decode +base64_encode +base_convert +basename +bbcode_add_element +bbcode_add_smiley +bbcode_create +bbcode_destroy +bbcode_parse +bbcode_set_arg_parser +bbcode_set_flags +bcadd +bccomp +bcdiv +bcmod +bcmul +bcompiler_load +bcompiler_load_exe +bcompiler_parse_class +bcompiler_read +bcompiler_write_class +bcompiler_write_constant +bcompiler_write_exe_footer +bcompiler_write_file +bcompiler_write_footer +bcompiler_write_function +bcompiler_write_functions_from_file +bcompiler_write_header +bcompiler_write_included_filename +bcpow +bcpowmod +bcscale +bcsqrt +bcsub +bin2hex +bindec +bindtextdomain +bind_textdomain_codeset +break +bson_decode +bson_encode +bumpValue +bzclose +bzcompress +bzdecompress +bzerrno +bzerror +bzerrstr +bzflush +bzopen +bzread +bzwrite +cachingiterator +cairo +cairoantialias +cairocontent +cairocontext +cairo_create +cairoexception +cairoextend +cairofillrule +cairofilter +cairofontface +cairo_font_face_get_type +cairo_font_face_status +cairofontoptions +cairo_font_options_create +cairo_font_options_equal +cairo_font_options_get_antialias +cairo_font_options_get_hint_metrics +cairo_font_options_get_hint_style +cairo_font_options_get_subpixel_order +cairo_font_options_hash +cairo_font_options_merge +cairo_font_options_set_antialias +cairo_font_options_set_hint_metrics +cairo_font_options_set_hint_style +cairo_font_options_set_subpixel_order +cairo_font_options_status +cairofontslant +cairofonttype +cairofontweight +cairoformat +cairo_format_stride_for_width +cairogradientpattern +cairohintmetrics +cairohintstyle +cairoimagesurface +cairo_image_surface_create +cairo_image_surface_create_for_data +cairo_image_surface_create_from_png +cairo_image_surface_get_data +cairo_image_surface_get_format +cairo_image_surface_get_height +cairo_image_surface_get_stride +cairo_image_surface_get_width +cairolineargradient +cairolinecap +cairolinejoin +cairomatrix +cairo_matrix_create_scale +cairo_matrix_create_translate +cairo_matrix_invert +cairo_matrix_multiply +cairo_matrix_rotate +cairo_matrix_transform_distance +cairo_matrix_transform_point +cairo_matrix_translate +cairooperator +cairopath +cairopattern +cairo_pattern_add_color_stop_rgb +cairo_pattern_add_color_stop_rgba +cairo_pattern_create_for_surface +cairo_pattern_create_linear +cairo_pattern_create_radial +cairo_pattern_create_rgb +cairo_pattern_create_rgba +cairo_pattern_get_color_stop_count +cairo_pattern_get_color_stop_rgba +cairo_pattern_get_extend +cairo_pattern_get_filter +cairo_pattern_get_linear_points +cairo_pattern_get_matrix +cairo_pattern_get_radial_circles +cairo_pattern_get_rgba +cairo_pattern_get_surface +cairo_pattern_get_type +cairo_pattern_set_extend +cairo_pattern_set_filter +cairo_pattern_set_matrix +cairo_pattern_status +cairopatterntype +cairopdfsurface +cairo_pdf_surface_create +cairo_pdf_surface_set_size +cairo_ps_get_levels +cairopslevel +cairo_ps_level_to_string +cairopssurface +cairo_ps_surface_create +cairo_ps_surface_dsc_begin_page_setup +cairo_ps_surface_dsc_begin_setup +cairo_ps_surface_dsc_comment +cairo_ps_surface_get_eps +cairo_ps_surface_restrict_to_level +cairo_ps_surface_set_eps +cairo_ps_surface_set_size +cairoradialgradient +cairoscaledfont +cairo_scaled_font_create +cairo_scaled_font_extents +cairo_scaled_font_get_ctm +cairo_scaled_font_get_font_face +cairo_scaled_font_get_font_matrix +cairo_scaled_font_get_font_options +cairo_scaled_font_get_scale_matrix +cairo_scaled_font_get_type +cairo_scaled_font_glyph_extents +cairo_scaled_font_status +cairo_scaled_font_text_extents +cairosolidpattern +cairostatus +cairosubpixelorder +cairosurface +cairo_surface_copy_page +cairo_surface_create_similar +cairo_surface_finish +cairo_surface_flush +cairo_surface_get_content +cairo_surface_get_device_offset +cairo_surface_get_font_options +cairo_surface_get_type +cairo_surface_mark_dirty +cairo_surface_mark_dirty_rectangle +cairosurfacepattern +cairo_surface_set_device_offset +cairo_surface_set_fallback_resolution +cairo_surface_show_page +cairo_surface_status +cairosurfacetype +cairo_surface_write_to_png +cairosvgsurface +cairo_svg_surface_create +cairo_svg_surface_restrict_to_version +cairosvgversion +cairo_svg_version_to_string +cairotoyfontface +calculhmac +calcul_hmac +cal_days_in_month +cal_from_jd +cal_info +__call() +callbackfilteriterator +__callStatic() +call_user_func +call_user_func_array +call_user_method +call_user_method_array +cal_to_jd +case +catch +ceil +cfunction +chdb +chdb_create +chdir +checkdate +checkdnsrr +chgrp +chmod +chop +chown +chr +chroot +chunk_split +class +__CLASS__ +class_alias +class_exists +class_implements +classkit_import +classkit_method_add +classkit_method_copy +classkit_method_redefine +classkit_method_remove +classkit_method_rename +class_parents +clearstatcache +clone +__clone() +closedir +closelog +collator +com +com_addref +com_create_guid +com_event_sink +com_get +com_get_active_object +com_invoke +com_isenum +com_load +com_load_typelib +com_message_pump +compact +com_print_typeinfo +com_propget +com_propput +com_propset +com_release +com_set +connection_aborted +connection_status +connection_timeout +const +constant +construct +__construct() +continue +convert_cyr_string +convert_uudecode +convert_uuencode +copy +cos +cosh +count +countable +count_chars +counter_bump +counter_bump_value +counter_create +counter_get +counter_get_meta +counter_get_named +counter_get_value +counter_reset +counter_reset_value +crack_check +crack_closedict +crack_getlastmessage +crack_opendict +crc32 +create_function +crypt +ctype_alnum +ctype_alpha +ctype_cntrl +ctype_digit +ctype_graph +ctype_lower +ctype_print +ctype_punct +ctype_space +ctype_upper +ctype_xdigit +cubrid_affected_rows +cubrid_bind +cubrid_client_encoding +cubrid_close +cubrid_close_prepare +cubrid_close_request +cubrid_col_get +cubrid_col_size +cubrid_column_names +cubrid_column_types +cubrid_commit +cubrid_connect +cubrid_connect_with_url +cubrid_current_oid +cubrid_data_seek +cubrid_db_name +cubrid_disconnect +cubrid_drop +cubrid_errno +cubrid_error +cubrid_error_code +cubrid_error_code_facility +cubrid_error_msg +cubrid_execute +cubrid_fetch +cubrid_fetch_array +cubrid_fetch_assoc +cubrid_fetch_field +cubrid_fetch_lengths +cubrid_fetch_object +cubrid_fetch_row +cubrid_field_flags +cubrid_field_len +cubrid_field_name +cubrid_field_seek +cubrid_field_table +cubrid_field_type +cubrid_free_result +cubrid_get +cubrid_get_autocommit +cubrid_get_charset +cubrid_get_class_name +cubrid_get_client_info +cubrid_get_db_parameter +cubrid_get_server_info +cubrid_insert_id +cubrid_is_instance +cubrid_list_dbs +cubrid_load_from_glo +cubrid_lob_close +cubrid_lob_export +cubrid_lob_get +cubrid_lob_send +cubrid_lob_size +cubrid_lock_read +cubrid_lock_write +cubrid_move_cursor +cubrid_new_glo +cubrid_next_result +cubrid_num_cols +cubrid_num_fields +cubrid_num_rows +cubrid_ping +cubrid_prepare +cubrid_put +cubrid_query +cubrid_real_escape_string +cubrid_result +cubrid_rollback +cubrid_save_to_glo +cubrid_schema +cubrid_send_glo +cubrid_seq_drop +cubrid_seq_insert +cubrid_seq_put +cubrid_set_add +cubrid_set_autocommit +cubrid_set_db_parameter +cubrid_set_drop +cubrid_unbuffered_query +cubrid_version +curl_close +curl_copy_handle +curl_errno +curl_error +curl_exec +curl_getinfo +curl_init +curl_multi_add_handle +curl_multi_close +curl_multi_exec +curl_multi_getcontent +curl_multi_info_read +curl_multi_init +curl_multi_remove_handle +curl_multi_select +curl_setopt +curl_setopt_array +curl_version +current +cyrus_authenticate +cyrus_bind +cyrus_close +cyrus_connect +cyrus_query +cyrus_unbind +date +date_add +date_create +date_create_from_format +date_date_set +date_default_timezone_get +date_default_timezone_set +date_diff +date_format +date_get_last_errors +dateinterval +date_interval_create_from_date_string +date_interval_format +date_isodate_set +date_modify +date_offset_get +date_parse +date_parse_from_format +dateperiod +date_sub +date_sun_info +date_sunrise +date_sunset +datetime +date_time_set +date_timestamp_get +date_timestamp_set +datetimezone +date_timezone_get +date_timezone_set +db2_autocommit +db2_bind_param +db2_client_info +db2_close +db2_column_privileges +db2_columns +db2_commit +db2_connect +db2_conn_error +db2_conn_errormsg +db2_cursor_type +db2_escape_string +db2_exec +db2_execute +db2_fetch_array +db2_fetch_assoc +db2_fetch_both +db2_fetch_object +db2_fetch_row +db2_field_display_size +db2_field_name +db2_field_num +db2_field_precision +db2_field_scale +db2_field_type +db2_field_width +db2_foreign_keys +db2_free_result +db2_free_stmt +db2_get_option +db2_last_insert_id +db2_lob_read +db2_next_result +db2_num_fields +db2_num_rows +db2_pclose +db2_pconnect +db2_prepare +db2_primary_keys +db2_procedure_columns +db2_procedures +db2_result +db2_rollback +db2_server_info +db2_set_option +db2_special_columns +db2_statistics +db2_stmt_error +db2_stmt_errormsg +db2_table_privileges +db2_tables +dba_close +dba_delete +dba_exists +dba_fetch +dba_firstkey +dba_handlers +dba_insert +dba_key_split +dba_list +dba_nextkey +dba_open +dba_optimize +dba_popen +dba_replace +dbase_add_record +dbase_close +dbase_create +dbase_delete_record +dbase_get_header_info +dbase_get_record +dbase_get_record_with_names +dbase_numfields +dbase_numrecords +dbase_open +dbase_pack +dbase_replace_record +dba_sync +dbplus_add +dbplus_aql +dbplus_chdir +dbplus_close +dbplus_curr +dbplus_errcode +dbplus_errno +dbplus_find +dbplus_first +dbplus_flush +dbplus_freealllocks +dbplus_freelock +dbplus_freerlocks +dbplus_getlock +dbplus_getunique +dbplus_info +dbplus_last +dbplus_lockrel +dbplus_next +dbplus_open +dbplus_prev +dbplus_rchperm +dbplus_rcreate +dbplus_rcrtexact +dbplus_rcrtlike +dbplus_resolve +dbplus_restorepos +dbplus_rkeys +dbplus_ropen +dbplus_rquery +dbplus_rrename +dbplus_rsecindex +dbplus_runlink +dbplus_rzap +dbplus_savepos +dbplus_setindex +dbplus_setindexbynumber +dbplus_sql +dbplus_tcl +dbplus_tremove +dbplus_undo +dbplus_undoprepare +dbplus_unlockrel +dbplus_unselect +dbplus_update +dbplus_xlockrel +dbplus_xunlockrel +dbx_close +dbx_compare +dbx_connect +dbx_error +dbx_escape_string +dbx_fetch_row +dbx_query +dbx_sort +dcgettext +dcngettext +deaggregate +debug_backtrace +debug_print_backtrace +debug_zval_dump +decbin +dechex +declare +decoct +default +define +defined +define_syslog_variables +deg2rad +delete +__destruct() +dgettext +die +dio_close +dio_fcntl +dio_open +dio_read +dio_seek +dio_stat +dio_tcsetattr +dio_truncate +dio_write +dir +__DIR__ +directoryiterator +dirname +diskfreespace +disk_free_space +disk_total_space +dl +dngettext +dns_check_record +dns_get_mx +dns_get_record +do +domainexception +domattr +domattribute_name +domattribute_set_value +domattribute_specified +domattribute_value +domcharacterdata +domcomment +domdocument +domdocument_add_root +domdocument_create_attribute +domdocument_create_cdata_section +domdocument_create_comment +domdocument_create_element +domdocument_create_element_ns +domdocument_create_entity_reference +domdocument_create_processing_instruction +domdocument_create_text_node +domdocument_doctype +domdocument_document_element +domdocument_dump_file +domdocument_dump_mem +domdocumentfragment +domdocument_get_element_by_id +domdocument_get_elements_by_tagname +domdocument_html_dump_mem +domdocumenttype +domdocumenttype_entities +domdocumenttype_internal_subset +domdocumenttype_name +domdocumenttype_notations +domdocumenttype_public_id +domdocumenttype_system_id +domdocument_xinclude +domelement +domelement_get_attribute +domelement_get_attribute_node +domelement_get_elements_by_tagname +domelement_has_attribute +domelement_remove_attribute +domelement_set_attribute +domelement_set_attribute_node +domelement_tagname +domentity +domentityreference +domexception +domimplementation +dom_import_simplexml +domnamednodemap +domnode +domnode_add_namespace +domnode_append_child +domnode_append_sibling +domnode_attributes +domnode_child_nodes +domnode_clone_node +domnode_dump_node +domnode_first_child +domnode_get_content +domnode_has_attributes +domnode_has_child_nodes +domnode_insert_before +domnode_is_blank_node +domnode_last_child +domnodelist +domnode_next_sibling +domnode_node_name +domnode_node_type +domnode_node_value +domnode_owner_document +domnode_parent_node +domnode_prefix +domnode_previous_sibling +domnode_remove_child +domnode_replace_child +domnode_replace_node +domnode_set_content +domnode_set_name +domnode_set_namespace +domnode_unlink_node +domnotation +domprocessinginstruction +domprocessinginstruction_data +domprocessinginstruction_target +domtext +domxml_new_doc +domxml_open_file +domxml_open_mem +domxml_version +domxml_xmltree +domxml_xslt_stylesheet +domxml_xslt_stylesheet_doc +domxml_xslt_stylesheet_file +domxml_xslt_version +domxpath +domxsltstylesheet_process +domxsltstylesheet_result_dump_file +domxsltstylesheet_result_dump_mem +dotnet +dotnet_load +doubleval +each +easter_date +easter_days +echo +else +elseif +empty +emptyiterator +enchant_broker_describe +enchant_broker_dict_exists +enchant_broker_free +enchant_broker_free_dict +enchant_broker_get_error +enchant_broker_init +enchant_broker_list_dicts +enchant_broker_request_dict +enchant_broker_request_pwl_dict +enchant_broker_set_ordering +enchant_dict_add_to_personal +enchant_dict_add_to_session +enchant_dict_check +enchant_dict_describe +enchant_dict_get_error +enchant_dict_is_in_session +enchant_dict_quick_check +enchant_dict_store_replacement +enchant_dict_suggest +end +enddeclare +endfor +endforeach +endif +endswitch +endwhile +ereg +eregi +eregi_replace +ereg_replace +errorexception +error_get_last +error_log +error_reporting +escapeshellarg +escapeshellcmd +eval +event_add +event_base_free +event_base_loop +event_base_loopbreak +event_base_loopexit +event_base_new +event_base_priority_init +event_base_set +event_buffer_base_set +event_buffer_disable +event_buffer_enable +event_buffer_fd_set +event_buffer_free +event_buffer_new +event_buffer_priority_set +event_buffer_read +event_buffer_set_callback +event_buffer_timeout_set +event_buffer_watermark_set +event_buffer_write +event_del +event_free +event_new +event_set +exception +exec +exif_imagetype +exif_read_data +exif_tagname +exif_thumbnail +exit +exp +expect_expectl +expect_popen +explode +expm1 +export +extends +extension_loaded +extract +ezmlm_hash +fam_cancel_monitor +fam_close +fam_monitor_collection +fam_monitor_directory +fam_monitor_file +fam_next_event +fam_open +fam_pending +fam_resume_monitor +fam_suspend_monitor +fbsql_affected_rows +fbsql_autocommit +fbsql_blob_size +fbsql_change_user +fbsql_clob_size +fbsql_close +fbsql_commit +fbsql_connect +fbsql_create_blob +fbsql_create_clob +fbsql_create_db +fbsql_database +fbsql_database_password +fbsql_data_seek +fbsql_db_query +fbsql_db_status +fbsql_drop_db +fbsql_errno +fbsql_error +fbsql_fetch_array +fbsql_fetch_assoc +fbsql_fetch_field +fbsql_fetch_lengths +fbsql_fetch_object +fbsql_fetch_row +fbsql_field_flags +fbsql_field_len +fbsql_field_name +fbsql_field_seek +fbsql_field_table +fbsql_field_type +fbsql_free_result +fbsql_get_autostart_info +fbsql_hostname +fbsql_insert_id +fbsql_list_dbs +fbsql_list_fields +fbsql_list_tables +fbsql_next_result +fbsql_num_fields +fbsql_num_rows +fbsql_password +fbsql_pconnect +fbsql_query +fbsql_read_blob +fbsql_read_clob +fbsql_result +fbsql_rollback +fbsql_rows_fetched +fbsql_select_db +fbsql_set_characterset +fbsql_set_lob_mode +fbsql_set_password +fbsql_set_transaction +fbsql_start_db +fbsql_stop_db +fbsql_tablename +fbsql_table_name +fbsql_username +fbsql_warnings +fclose +fdf_add_doc_javascript +fdf_add_template +fdf_close +fdf_create +fdf_enum_values +fdf_errno +fdf_error +fdf_get_ap +fdf_get_attachment +fdf_get_encoding +fdf_get_file +fdf_get_flags +fdf_get_opt +fdf_get_status +fdf_get_value +fdf_get_version +fdf_header +fdf_next_field_name +fdf_open +fdf_open_string +fdf_remove_item +fdf_save +fdf_save_string +fdf_set_ap +fdf_set_encoding +fdf_set_file +fdf_set_flags +fdf_set_javascript_action +fdf_set_on_import_javascript +fdf_set_opt +fdf_set_status +fdf_set_submit_form_action +fdf_set_target_frame +fdf_set_value +fdf_set_version +feof +fflush +fgetc +fgetcsv +fgets +fgetss +file +__FILE__ +fileatime +filectime +file_exists +file_get_contents +filegroup +fileinode +filemtime +fileowner +fileperms +filepro +filepro_fieldcount +filepro_fieldname +filepro_fieldtype +filepro_fieldwidth +filepro_retrieve +filepro_rowcount +file_put_contents +filesize +filesystemiterator +filetype +filter_has_var +filter_id +filter_input +filter_input_array +filteriterator +filter_list +filter_var +filter_var_array +final +finfo_buffer +finfo_close +finfo_file +finfo_open +finfo_set_flags +floatval +flock +floor +flush +fmod +fnmatch +fopen +for +foreach +forward_static_call +forward_static_call_array +fpassthru +fprintf +fputcsv +fputs +fread +frenchtojd +fribidi_log2vis +fscanf +fseek +fsockopen +fstat +ftell +ftok +ftp_alloc +ftp_cdup +ftp_chdir +ftp_chmod +ftp_close +ftp_connect +ftp_delete +ftp_exec +ftp_fget +ftp_fput +ftp_get +ftp_get_option +ftp_login +ftp_mdtm +ftp_mkdir +ftp_nb_continue +ftp_nb_fget +ftp_nb_fput +ftp_nb_get +ftp_nb_put +ftp_nlist +ftp_pasv +ftp_put +ftp_pwd +ftp_quit +ftp_raw +ftp_rawlist +ftp_rename +ftp_rmdir +ftp_set_option +ftp_site +ftp_size +ftp_ssl_connect +ftp_systype +ftruncate +func_get_arg +func_get_args +func_num_args +function +__FUNCTION__ +function_exists +fwrite +gc_collect_cycles +gc_disable +gc_enable +gc_enabled +gd_info +gearmanclient +gearmanjob +gearmantask +gearmanworker +geoip_continent_code_by_name +geoip_country_code3_by_name +geoip_country_code_by_name +geoip_country_name_by_name +geoip_database_info +geoip_db_avail +geoip_db_filename +geoip_db_get_all_info +geoip_id_by_name +geoip_isp_by_name +geoip_org_by_name +geoip_record_by_name +geoip_region_by_name +geoip_region_name_by_code +geoip_time_zone_by_country_and_region +__get() +getallheaders +get_browser +get_called_class +get_cfg_var +get_class +get_class_methods +get_class_vars +getclosure +getconstant +getconstants +getconstructor +get_current_user +getcwd +getdate +get_declared_classes +get_declared_interfaces +getdefaultproperties +get_defined_constants +get_defined_functions +get_defined_vars +getdoccomment +getendline +getenv +getextension +get_extension_funcs +getextensionname +getfilename +get_headers +gethostbyaddr +gethostbyname +gethostbynamel +gethostname +get_html_translation_table +getimagesize +get_included_files +get_include_path +getinterfacenames +getinterfaces +getlastmod +get_loaded_extensions +get_magic_quotes_gpc +get_magic_quotes_runtime +getMeta +get_meta_tags +getmethod +getmethods +getmodifiers +getmxrr +getmygid +getmyinode +getmypid +getmyuid +getname +getNamed +getnamespacename +get_object_vars +getopt +getparentclass +get_parent_class +getproperties +getproperty +getprotobyname +getprotobynumber +getrandmax +get_required_files +get_resource_type +getrusage +getservbyname +getservbyport +getshortname +getstartline +getstaticproperties +getstaticpropertyvalue +gettext +gettimeofday +gettraitaliases +gettraitnames +gettraits +gettype +getValue +glob +global +globiterator +gmagick +gmagickdraw +gmagickpixel +gmdate +gmmktime +gmp_abs +gmp_add +gmp_and +gmp_clrbit +gmp_cmp +gmp_com +gmp_div +gmp_divexact +gmp_div_q +gmp_div_qr +gmp_div_r +gmp_fact +gmp_gcd +gmp_gcdext +gmp_hamdist +gmp_init +gmp_intval +gmp_invert +gmp_jacobi +gmp_legendre +gmp_mod +gmp_mul +gmp_neg +gmp_nextprime +gmp_or +gmp_perfect_square +gmp_popcount +gmp_pow +gmp_powm +gmp_prob_prime +gmp_random +gmp_scan0 +gmp_scan1 +gmp_setbit +gmp_sign +gmp_sqrt +gmp_sqrtrem +gmp_strval +gmp_sub +gmp_testbit +gmp_xor +gmstrftime +gnupg_adddecryptkey +gnupg_addencryptkey +gnupg_addsignkey +gnupg_cleardecryptkeys +gnupg_clearencryptkeys +gnupg_clearsignkeys +gnupg_decrypt +gnupg_decryptverify +gnupg_encrypt +gnupg_encryptsign +gnupg_export +gnupg_geterror +gnupg_getprotocol +gnupg_import +gnupg_init +gnupg_keyinfo +gnupg_setarmor +gnupg_seterrormode +gnupg_setsignmode +gnupg_sign +gnupg_verify +gopher_parsedir +goto +grapheme_extract +grapheme_stripos +grapheme_stristr +grapheme_strlen +grapheme_strpos +grapheme_strripos +grapheme_strrpos +grapheme_strstr +grapheme_substr +gregoriantojd +gupnp_context_get_host_ip +gupnp_context_get_port +gupnp_context_get_subscription_timeout +gupnp_context_host_path +gupnp_context_new +gupnp_context_set_subscription_timeout +gupnp_context_timeout_add +gupnp_context_unhost_path +gupnp_control_point_browse_start +gupnp_control_point_browse_stop +gupnp_control_point_callback_set +gupnp_control_point_new +gupnp_device_action_callback_set +gupnp_device_info_get +gupnp_device_info_get_service +gupnp_root_device_get_available +gupnp_root_device_get_relative_location +gupnp_root_device_new +gupnp_root_device_set_available +gupnp_root_device_start +gupnp_root_device_stop +gupnp_service_action_get +gupnp_service_action_return +gupnp_service_action_return_error +gupnp_service_action_set +gupnp_service_freeze_notify +gupnp_service_info_get +gupnp_service_info_get_introspection +gupnp_service_introspection_get_state_variable +gupnp_service_notify +gupnp_service_proxy_action_get +gupnp_service_proxy_action_set +gupnp_service_proxy_add_notify +gupnp_service_proxy_callback_set +gupnp_service_proxy_get_subscribed +gupnp_service_proxy_remove_notify +gupnp_service_proxy_set_subscribed +gupnp_service_thaw_notify +gzclose +gzcompress +gzdecode +gzdeflate +gzencode +gzeof +gzfile +gzgetc +gzgets +gzgetss +gzinflate +gzopen +gzpassthru +gzputs +gzread +gzrewind +gzseek +gztell +gzuncompress +gzwrite +halt_compiler +haruannotation +haruannotation_setborderstyle +haruannotation_sethighlightmode +haruannotation_seticon +haruannotation_setopened +harudestination +harudestination_setfit +harudestination_setfitb +harudestination_setfitbh +harudestination_setfitbv +harudestination_setfith +harudestination_setfitr +harudestination_setfitv +harudestination_setxyz +harudoc +harudoc_addpage +harudoc_addpagelabel +harudoc_construct +harudoc_createoutline +harudoc_getcurrentencoder +harudoc_getcurrentpage +harudoc_getencoder +harudoc_getfont +harudoc_getinfoattr +harudoc_getpagelayout +harudoc_getpagemode +harudoc_getstreamsize +harudoc_insertpage +harudoc_loadjpeg +harudoc_loadpng +harudoc_loadraw +harudoc_loadttc +harudoc_loadttf +harudoc_loadtype1 +harudoc_output +harudoc_readfromstream +harudoc_reseterror +harudoc_resetstream +harudoc_save +harudoc_savetostream +harudoc_setcompressionmode +harudoc_setcurrentencoder +harudoc_setencryptionmode +harudoc_setinfoattr +harudoc_setinfodateattr +harudoc_setopenaction +harudoc_setpagelayout +harudoc_setpagemode +harudoc_setpagesconfiguration +harudoc_setpassword +harudoc_setpermission +harudoc_usecnsencodings +harudoc_usecnsfonts +harudoc_usecntencodings +harudoc_usecntfonts +harudoc_usejpencodings +harudoc_usejpfonts +harudoc_usekrencodings +harudoc_usekrfonts +haruencoder +haruencoder_getbytetype +haruencoder_gettype +haruencoder_getunicode +haruencoder_getwritingmode +haruexception +harufont +harufont_getascent +harufont_getcapheight +harufont_getdescent +harufont_getencodingname +harufont_getfontname +harufont_gettextwidth +harufont_getunicodewidth +harufont_getxheight +harufont_measuretext +haruimage +haruimage_getbitspercomponent +haruimage_getcolorspace +haruimage_getheight +haruimage_getsize +haruimage_getwidth +haruimage_setcolormask +haruimage_setmaskimage +haruoutline +haruoutline_setdestination +haruoutline_setopened +harupage +harupage_arc +harupage_begintext +harupage_circle +harupage_closepath +harupage_concat +harupage_createdestination +harupage_createlinkannotation +harupage_createtextannotation +harupage_createurlannotation +harupage_curveto +harupage_curveto2 +harupage_curveto3 +harupage_drawimage +harupage_ellipse +harupage_endpath +harupage_endtext +harupage_eofill +harupage_eofillstroke +harupage_fill +harupage_fillstroke +harupage_getcharspace +harupage_getcmykfill +harupage_getcmykstroke +harupage_getcurrentfont +harupage_getcurrentfontsize +harupage_getcurrentpos +harupage_getcurrenttextpos +harupage_getdash +harupage_getfillingcolorspace +harupage_getflatness +harupage_getgmode +harupage_getgrayfill +harupage_getgraystroke +harupage_getheight +harupage_gethorizontalscaling +harupage_getlinecap +harupage_getlinejoin +harupage_getlinewidth +harupage_getmiterlimit +harupage_getrgbfill +harupage_getrgbstroke +harupage_getstrokingcolorspace +harupage_gettextleading +harupage_gettextmatrix +harupage_gettextrenderingmode +harupage_gettextrise +harupage_gettextwidth +harupage_gettransmatrix +harupage_getwidth +harupage_getwordspace +harupage_lineto +harupage_measuretext +harupage_movetextpos +harupage_moveto +harupage_movetonextline +harupage_rectangle +harupage_setcharspace +harupage_setcmykfill +harupage_setcmykstroke +harupage_setdash +harupage_setflatness +harupage_setfontandsize +harupage_setgrayfill +harupage_setgraystroke +harupage_setheight +harupage_sethorizontalscaling +harupage_setlinecap +harupage_setlinejoin +harupage_setlinewidth +harupage_setmiterlimit +harupage_setrgbfill +harupage_setrgbstroke +harupage_setrotate +harupage_setsize +harupage_setslideshow +harupage_settextleading +harupage_settextmatrix +harupage_settextrenderingmode +harupage_settextrise +harupage_setwidth +harupage_setwordspace +harupage_showtext +harupage_showtextnextline +harupage_stroke +harupage_textout +harupage_textrect +hasconstant +hash +hash_algos +hash_copy +hash_file +hash_final +hash_hmac +hash_hmac_file +hash_init +hash_update +hash_update_file +hash_update_stream +hasmethod +hasproperty +header +header_register_callback +header_remove +headers_list +headers_sent +hebrev +hebrevc +hex2bin +hexdec +highlight_file +highlight_string +htmlentities +html_entity_decode +htmlspecialchars +htmlspecialchars_decode +http_build_cookie +http_build_query +http_build_str +http_build_url +http_cache_etag +http_cache_last_modified +http_chunked_decode +http_date +http_deflate +httpdeflatestream +httpdeflatestream_construct +httpdeflatestream_factory +httpdeflatestream_finish +httpdeflatestream_flush +httpdeflatestream_update +http_get +http_get_request_body +http_get_request_body_stream +http_get_request_headers +http_head +http_inflate +httpinflatestream +httpinflatestream_construct +httpinflatestream_factory +httpinflatestream_finish +httpinflatestream_flush +httpinflatestream_update +http_match_etag +http_match_modified +http_match_request_header +httpmessage +httpmessage_addheaders +httpmessage_construct +httpmessage_detach +httpmessage_factory +httpmessage_fromenv +httpmessage_fromstring +httpmessage_getbody +httpmessage_getheader +httpmessage_getheaders +httpmessage_gethttpversion +httpmessage_getparentmessage +httpmessage_getrequestmethod +httpmessage_getrequesturl +httpmessage_getresponsecode +httpmessage_getresponsestatus +httpmessage_gettype +httpmessage_guesscontenttype +httpmessage_prepend +httpmessage_reverse +httpmessage_send +httpmessage_setbody +httpmessage_setheaders +httpmessage_sethttpversion +httpmessage_setrequestmethod +httpmessage_setrequesturl +httpmessage_setresponsecode +httpmessage_setresponsestatus +httpmessage_settype +httpmessage_tomessagetypeobject +httpmessage_tostring +http_negotiate_charset +http_negotiate_content_type +http_negotiate_language +http_parse_cookie +http_parse_headers +http_parse_message +http_parse_params +http_persistent_handles_clean +http_persistent_handles_count +http_persistent_handles_ident +http_post_data +http_post_fields +http_put_data +http_put_file +http_put_stream +httpquerystring +httpquerystring_construct +httpquerystring_get +httpquerystring_mod +httpquerystring_set +httpquerystring_singleton +httpquerystring_toarray +httpquerystring_tostring +httpquerystring_xlate +http_redirect +httprequest +http_request +httprequest_addcookies +httprequest_addheaders +httprequest_addpostfields +httprequest_addpostfile +httprequest_addputdata +httprequest_addquerydata +httprequest_addrawpostdata +httprequest_addssloptions +http_request_body_encode +httprequest_clearhistory +httprequest_construct +httprequest_enablecookies +httprequest_getcontenttype +httprequest_getcookies +httprequest_getheaders +httprequest_gethistory +httprequest_getmethod +httprequest_getoptions +httprequest_getpostfields +httprequest_getpostfiles +httprequest_getputdata +httprequest_getputfile +httprequest_getquerydata +httprequest_getrawpostdata +httprequest_getrawrequestmessage +httprequest_getrawresponsemessage +httprequest_getrequestmessage +httprequest_getresponsebody +httprequest_getresponsecode +httprequest_getresponsecookies +httprequest_getresponsedata +httprequest_getresponseheader +httprequest_getresponseinfo +httprequest_getresponsemessage +httprequest_getresponsestatus +httprequest_getssloptions +httprequest_geturl +http_request_method_exists +http_request_method_name +http_request_method_register +http_request_method_unregister +httprequestpool +httprequestpool_attach +httprequestpool_construct +httprequestpool_destruct +httprequestpool_detach +httprequestpool_getattachedrequests +httprequestpool_getfinishedrequests +httprequestpool_reset +httprequestpool_send +httprequestpool_socketperform +httprequestpool_socketselect +httprequest_resetcookies +httprequest_send +httprequest_setcontenttype +httprequest_setcookies +httprequest_setheaders +httprequest_setmethod +httprequest_setoptions +httprequest_setpostfields +httprequest_setpostfiles +httprequest_setputdata +httprequest_setputfile +httprequest_setquerydata +httprequest_setrawpostdata +httprequest_setssloptions +httprequest_seturl +httpresponse +httpresponse_capture +http_response_code +httpresponse_getbuffersize +httpresponse_getcache +httpresponse_getcachecontrol +httpresponse_getcontentdisposition +httpresponse_getcontenttype +httpresponse_getdata +httpresponse_getetag +httpresponse_getfile +httpresponse_getgzip +httpresponse_getheader +httpresponse_getlastmodified +httpresponse_getrequestbody +httpresponse_getrequestbodystream +httpresponse_getrequestheaders +httpresponse_getstream +httpresponse_getthrottledelay +httpresponse_guesscontenttype +httpresponse_redirect +httpresponse_send +httpresponse_setbuffersize +httpresponse_setcache +httpresponse_setcachecontrol +httpresponse_setcontentdisposition +httpresponse_setcontenttype +httpresponse_setdata +httpresponse_setetag +httpresponse_setfile +httpresponse_setgzip +httpresponse_setheader +httpresponse_setlastmodified +httpresponse_setstream +httpresponse_setthrottledelay +httpresponse_status +http_send_content_disposition +http_send_content_type +http_send_data +http_send_file +http_send_last_modified +http_send_status +http_send_stream +http_support +http_throttle +hwapi_attribute +hwapi_attribute_key +hwapi_attribute_langdepvalue +hwapi_attribute_value +hwapi_attribute_values +hwapi_checkin +hwapi_checkout +hwapi_children +hwapi_content +hwapi_content_mimetype +hwapi_content_read +hwapi_copy +hwapi_dbstat +hwapi_dcstat +hwapi_dstanchors +hwapi_dstofsrcanchor +hwapi_error_count +hwapi_error_reason +hwapi_find +hwapi_ftstat +hwapi_hgcsp +hwapi_hwstat +hwapi_identify +hwapi_info +hwapi_insert +hwapi_insertanchor +hwapi_insertcollection +hwapi_insertdocument +hwapi_link +hwapi_lock +hwapi_move +hwapi_new_content +hwapi_object +hwapi_object_assign +hwapi_object_attreditable +hwapi_objectbyanchor +hwapi_object_count +hwapi_object_insert +hwapi_object_new +hwapi_object_remove +hwapi_object_title +hwapi_object_value +hwapi_parents +hwapi_reason_description +hwapi_reason_type +hwapi_remove +hwapi_replace +hwapi_setcommittedversion +hwapi_srcanchors +hwapi_srcsofdst +hwapi_unlock +hwapi_user +hwapi_userlist +hw_array2objrec +hw_changeobject +hw_children +hw_childrenobj +hw_close +hw_connect +hw_connection_info +hw_cp +hw_deleteobject +hw_docbyanchor +hw_docbyanchorobj +hw_document_attributes +hw_document_bodytag +hw_document_content +hw_document_setcontent +hw_document_size +hw_dummy +hw_edittext +hw_error +hw_errormsg +hw_free_document +hw_getanchors +hw_getanchorsobj +hw_getandlock +hw_getchildcoll +hw_getchildcollobj +hw_getchilddoccoll +hw_getchilddoccollobj +hw_getobject +hw_getobjectbyquery +hw_getobjectbyquerycoll +hw_getobjectbyquerycollobj +hw_getobjectbyqueryobj +hw_getparents +hw_getparentsobj +hw_getrellink +hw_getremote +hw_getremotechildren +hw_getsrcbydestobj +hw_gettext +hw_getusername +hw_identify +hw_incollections +hw_info +hw_inscoll +hw_insdoc +hw_insertanchors +hw_insertdocument +hw_insertobject +hw_mapid +hw_modifyobject +hw_mv +hw_new_document +hw_objrec2array +hw_output_document +hw_pconnect +hw_pipedocument +hw_root +hw_setlinkroot +hw_stat +hw_unlock +hw_who +hypot +ibase_add_user +ibase_affected_rows +ibase_backup +ibase_blob_add +ibase_blob_cancel +ibase_blob_close +ibase_blob_create +ibase_blob_echo +ibase_blob_get +ibase_blob_import +ibase_blob_info +ibase_blob_open +ibase_close +ibase_commit +ibase_commit_ret +ibase_connect +ibase_db_info +ibase_delete_user +ibase_drop_db +ibase_errcode +ibase_errmsg +ibase_execute +ibase_fetch_assoc +ibase_fetch_object +ibase_fetch_row +ibase_field_info +ibase_free_event_handler +ibase_free_query +ibase_free_result +ibase_gen_id +ibase_maintain_db +ibase_modify_user +ibase_name_result +ibase_num_fields +ibase_num_params +ibase_param_info +ibase_pconnect +ibase_prepare +ibase_query +ibase_restore +ibase_rollback +ibase_rollback_ret +ibase_server_info +ibase_service_attach +ibase_service_detach +ibase_set_event_handler +ibase_timefmt +ibase_trans +ibase_wait_event +iconv +iconv_get_encoding +iconv_mime_decode +iconv_mime_decode_headers +iconv_mime_encode +iconv_set_encoding +iconv_strlen +iconv_strpos +iconv_strrpos +iconv_substr +id3_get_frame_long_name +id3_get_frame_short_name +id3_get_genre_id +id3_get_genre_list +id3_get_genre_name +id3_get_tag +id3_get_version +id3_remove_tag +id3_set_tag +idate +idn_to_ascii +idn_to_unicode +idn_to_utf8 +if +ifx_affected_rows +ifx_blobinfile_mode +ifx_byteasvarchar +ifx_close +ifx_connect +ifx_copy_blob +ifx_create_blob +ifx_create_char +ifx_do +ifx_error +ifx_errormsg +ifx_fetch_row +ifx_fieldproperties +ifx_fieldtypes +ifx_free_blob +ifx_free_char +ifx_free_result +ifx_get_blob +ifx_get_char +ifx_getsqlca +ifx_htmltbl_result +ifx_nullformat +ifx_num_fields +ifx_num_rows +ifx_pconnect +ifx_prepare +ifx_query +ifx_textasvarchar +ifx_update_blob +ifx_update_char +ifxus_close_slob +ifxus_create_slob +ifxus_free_slob +ifxus_open_slob +ifxus_read_slob +ifxus_seek_slob +ifxus_tell_slob +ifxus_write_slob +ignore_user_abort +iis_add_server +iis_get_dir_security +iis_get_script_map +iis_get_server_by_comment +iis_get_server_by_path +iis_get_server_rights +iis_get_service_state +iis_remove_server +iis_set_app_settings +iis_set_dir_security +iis_set_script_map +iis_set_server_rights +iis_start_server +iis_start_service +iis_stop_server +iis_stop_service +image2wbmp +imagealphablending +imageantialias +imagearc +imagechar +imagecharup +imagecolorallocate +imagecolorallocatealpha +imagecolorat +imagecolorclosest +imagecolorclosestalpha +imagecolorclosesthwb +imagecolordeallocate +imagecolorexact +imagecolorexactalpha +imagecolormatch +imagecolorresolve +imagecolorresolvealpha +imagecolorset +imagecolorsforindex +imagecolorstotal +imagecolortransparent +imageconvolution +imagecopy +imagecopymerge +imagecopymergegray +imagecopyresampled +imagecopyresized +imagecreate +imagecreatefromgd +imagecreatefromgd2 +imagecreatefromgd2part +imagecreatefromgif +imagecreatefromjpeg +imagecreatefrompng +imagecreatefromstring +imagecreatefromwbmp +imagecreatefromxbm +imagecreatefromxpm +imagecreatetruecolor +imagedashedline +imagedestroy +imageellipse +imagefill +imagefilledarc +imagefilledellipse +imagefilledpolygon +imagefilledrectangle +imagefilltoborder +imagefilter +imagefontheight +imagefontwidth +imageftbbox +imagefttext +imagegammacorrect +imagegd +imagegd2 +imagegif +imagegrabscreen +imagegrabwindow +imageinterlace +imageistruecolor +imagejpeg +imagelayereffect +imageline +imageloadfont +imagepalettecopy +imagepng +imagepolygon +imagepsbbox +imagepsencodefont +imagepsextendfont +imagepsfreefont +imagepsloadfont +imagepsslantfont +imagepstext +imagerectangle +imagerotate +imagesavealpha +imagesetbrush +imagesetpixel +imagesetstyle +imagesetthickness +imagesettile +imagestring +imagestringup +imagesx +imagesy +imagetruecolortopalette +imagettfbbox +imagettftext +imagetypes +image_type_to_extension +image_type_to_mime_type +imagewbmp +imagexbm +imagick +imagick_adaptiveblurimage +imagick_adaptiveresizeimage +imagick_adaptivesharpenimage +imagick_adaptivethresholdimage +imagick_addimage +imagick_addnoiseimage +imagick_affinetransformimage +imagick_animateimages +imagick_annotateimage +imagick_appendimages +imagick_averageimages +imagick_blackthresholdimage +imagick_blurimage +imagick_borderimage +imagick_charcoalimage +imagick_chopimage +imagick_clear +imagick_clipimage +imagick_clippathimage +imagick_clone +imagick_clutimage +imagick_coalesceimages +imagick_colorfloodfillimage +imagick_colorizeimage +imagick_combineimages +imagick_commentimage +imagick_compareimagechannels +imagick_compareimagelayers +imagick_compareimages +imagick_compositeimage +imagick_construct +imagick_contrastimage +imagick_contraststretchimage +imagick_convolveimage +imagick_cropimage +imagick_cropthumbnailimage +imagick_current +imagick_cyclecolormapimage +imagick_decipherimage +imagick_deconstructimages +imagick_deleteimageartifact +imagick_despeckleimage +imagick_destroy +imagick_displayimage +imagick_displayimages +imagick_distortimage +imagickdraw +imagickdraw_affine +imagickdraw_annotation +imagickdraw_arc +imagickdraw_bezier +imagickdraw_circle +imagickdraw_clear +imagickdraw_clone +imagickdraw_color +imagickdraw_comment +imagickdraw_composite +imagickdraw_construct +imagickdraw_destroy +imagickdraw_ellipse +imagickdraw_getclippath +imagickdraw_getcliprule +imagickdraw_getclipunits +imagickdraw_getfillcolor +imagickdraw_getfillopacity +imagickdraw_getfillrule +imagickdraw_getfont +imagickdraw_getfontfamily +imagickdraw_getfontsize +imagickdraw_getfontstyle +imagickdraw_getfontweight +imagickdraw_getgravity +imagickdraw_getstrokeantialias +imagickdraw_getstrokecolor +imagickdraw_getstrokedasharray +imagickdraw_getstrokedashoffset +imagickdraw_getstrokelinecap +imagickdraw_getstrokelinejoin +imagickdraw_getstrokemiterlimit +imagickdraw_getstrokeopacity +imagickdraw_getstrokewidth +imagickdraw_gettextalignment +imagickdraw_gettextantialias +imagickdraw_gettextdecoration +imagickdraw_gettextencoding +imagickdraw_gettextundercolor +imagickdraw_getvectorgraphics +imagick_drawimage +imagickdraw_line +imagickdraw_matte +imagickdraw_pathclose +imagickdraw_pathcurvetoabsolute +imagickdraw_pathcurvetoquadraticbezierabsolute +imagickdraw_pathcurvetoquadraticbezierrelative +imagickdraw_pathcurvetoquadraticbeziersmoothabsolute +imagickdraw_pathcurvetoquadraticbeziersmoothrelative +imagickdraw_pathcurvetorelative +imagickdraw_pathcurvetosmoothabsolute +imagickdraw_pathcurvetosmoothrelative +imagickdraw_pathellipticarcabsolute +imagickdraw_pathellipticarcrelative +imagickdraw_pathfinish +imagickdraw_pathlinetoabsolute +imagickdraw_pathlinetohorizontalabsolute +imagickdraw_pathlinetohorizontalrelative +imagickdraw_pathlinetorelative +imagickdraw_pathlinetoverticalabsolute +imagickdraw_pathlinetoverticalrelative +imagickdraw_pathmovetoabsolute +imagickdraw_pathmovetorelative +imagickdraw_pathstart +imagickdraw_point +imagickdraw_polygon +imagickdraw_polyline +imagickdraw_pop +imagickdraw_popclippath +imagickdraw_popdefs +imagickdraw_poppattern +imagickdraw_push +imagickdraw_pushclippath +imagickdraw_pushdefs +imagickdraw_pushpattern +imagickdraw_rectangle +imagickdraw_render +imagickdraw_rotate +imagickdraw_roundrectangle +imagickdraw_scale +imagickdraw_setclippath +imagickdraw_setcliprule +imagickdraw_setclipunits +imagickdraw_setfillalpha +imagickdraw_setfillcolor +imagickdraw_setfillopacity +imagickdraw_setfillpatternurl +imagickdraw_setfillrule +imagickdraw_setfont +imagickdraw_setfontfamily +imagickdraw_setfontsize +imagickdraw_setfontstretch +imagickdraw_setfontstyle +imagickdraw_setfontweight +imagickdraw_setgravity +imagickdraw_setstrokealpha +imagickdraw_setstrokeantialias +imagickdraw_setstrokecolor +imagickdraw_setstrokedasharray +imagickdraw_setstrokedashoffset +imagickdraw_setstrokelinecap +imagickdraw_setstrokelinejoin +imagickdraw_setstrokemiterlimit +imagickdraw_setstrokeopacity +imagickdraw_setstrokepatternurl +imagickdraw_setstrokewidth +imagickdraw_settextalignment +imagickdraw_settextantialias +imagickdraw_settextdecoration +imagickdraw_settextencoding +imagickdraw_settextundercolor +imagickdraw_setvectorgraphics +imagickdraw_setviewbox +imagickdraw_skewx +imagickdraw_skewy +imagickdraw_translate +imagick_edgeimage +imagick_embossimage +imagick_encipherimage +imagick_enhanceimage +imagick_equalizeimage +imagick_evaluateimage +imagick_extentimage +imagick_flattenimages +imagick_flipimage +imagick_floodfillpaintimage +imagick_flopimage +imagick_frameimage +imagick_fximage +imagick_gammaimage +imagick_gaussianblurimage +imagick_getcolorspace +imagick_getcompression +imagick_getcompressionquality +imagick_getcopyright +imagick_getfilename +imagick_getfont +imagick_getformat +imagick_getgravity +imagick_gethomeurl +imagick_getimage +imagick_getimagealphachannel +imagick_getimageartifact +imagick_getimagebackgroundcolor +imagick_getimageblob +imagick_getimageblueprimary +imagick_getimagebordercolor +imagick_getimagechanneldepth +imagick_getimagechanneldistortion +imagick_getimagechanneldistortions +imagick_getimagechannelextrema +imagick_getimagechannelmean +imagick_getimagechannelrange +imagick_getimagechannelstatistics +imagick_getimageclipmask +imagick_getimagecolormapcolor +imagick_getimagecolors +imagick_getimagecolorspace +imagick_getimagecompose +imagick_getimagecompression +imagick_getimagecompressionquality +imagick_getimagedelay +imagick_getimagedepth +imagick_getimagedispose +imagick_getimagedistortion +imagick_getimageextrema +imagick_getimagefilename +imagick_getimageformat +imagick_getimagegamma +imagick_getimagegeometry +imagick_getimagegravity +imagick_getimagegreenprimary +imagick_getimageheight +imagick_getimagehistogram +imagick_getimageindex +imagick_getimageinterlacescheme +imagick_getimageinterpolatemethod +imagick_getimageiterations +imagick_getimagelength +imagick_getimagemagicklicense +imagick_getimagematte +imagick_getimagemattecolor +imagick_getimageorientation +imagick_getimagepage +imagick_getimagepixelcolor +imagick_getimageprofile +imagick_getimageprofiles +imagick_getimageproperties +imagick_getimageproperty +imagick_getimageredprimary +imagick_getimageregion +imagick_getimagerenderingintent +imagick_getimageresolution +imagick_getimagesblob +imagick_getimagescene +imagick_getimagesignature +imagick_getimagesize +imagick_getimagetickspersecond +imagick_getimagetotalinkdensity +imagick_getimagetype +imagick_getimageunits +imagick_getimagevirtualpixelmethod +imagick_getimagewhitepoint +imagick_getimagewidth +imagick_getinterlacescheme +imagick_getiteratorindex +imagick_getnumberimages +imagick_getoption +imagick_getpackagename +imagick_getpage +imagick_getpixeliterator +imagick_getpixelregioniterator +imagick_getpointsize +imagick_getquantumdepth +imagick_getquantumrange +imagick_getreleasedate +imagick_getresource +imagick_getresourcelimit +imagick_getsamplingfactors +imagick_getsize +imagick_getsizeoffset +imagick_getversion +imagick_hasnextimage +imagick_haspreviousimage +imagick_identifyimage +imagick_implodeimage +imagick_labelimage +imagick_levelimage +imagick_linearstretchimage +imagick_liquidrescaleimage +imagick_magnifyimage +imagick_mapimage +imagick_mattefloodfillimage +imagick_medianfilterimage +imagick_mergeimagelayers +imagick_minifyimage +imagick_modulateimage +imagick_montageimage +imagick_morphimages +imagick_mosaicimages +imagick_motionblurimage +imagick_negateimage +imagick_newimage +imagick_newpseudoimage +imagick_nextimage +imagick_normalizeimage +imagick_oilpaintimage +imagick_opaquepaintimage +imagick_optimizeimagelayers +imagick_orderedposterizeimage +imagick_paintfloodfillimage +imagick_paintopaqueimage +imagick_painttransparentimage +imagick_pingimage +imagick_pingimageblob +imagick_pingimagefile +imagickpixel +imagickpixel_clear +imagickpixel_construct +imagickpixel_destroy +imagickpixel_getcolor +imagickpixel_getcolorasstring +imagickpixel_getcolorcount +imagickpixel_getcolorvalue +imagickpixel_gethsl +imagickpixel_issimilar +imagickpixeliterator +imagickpixeliterator_clear +imagickpixeliterator_construct +imagickpixeliterator_destroy +imagickpixeliterator_getcurrentiteratorrow +imagickpixeliterator_getiteratorrow +imagickpixeliterator_getnextiteratorrow +imagickpixeliterator_getpreviousiteratorrow +imagickpixeliterator_newpixeliterator +imagickpixeliterator_newpixelregioniterator +imagickpixeliterator_resetiterator +imagickpixeliterator_setiteratorfirstrow +imagickpixeliterator_setiteratorlastrow +imagickpixeliterator_setiteratorrow +imagickpixeliterator_synciterator +imagickpixel_setcolor +imagickpixel_setcolorvalue +imagickpixel_sethsl +imagick_polaroidimage +imagick_posterizeimage +imagick_previewimages +imagick_previousimage +imagick_profileimage +imagick_quantizeimage +imagick_quantizeimages +imagick_queryfontmetrics +imagick_queryfonts +imagick_queryformats +imagick_radialblurimage +imagick_raiseimage +imagick_randomthresholdimage +imagick_readimage +imagick_readimageblob +imagick_readimagefile +imagick_recolorimage +imagick_reducenoiseimage +imagick_removeimage +imagick_removeimageprofile +imagick_render +imagick_resampleimage +imagick_resetimagepage +imagick_resizeimage +imagick_rollimage +imagick_rotateimage +imagick_roundcorners +imagick_sampleimage +imagick_scaleimage +imagick_separateimagechannel +imagick_sepiatoneimage +imagick_setbackgroundcolor +imagick_setcolorspace +imagick_setcompression +imagick_setcompressionquality +imagick_setfilename +imagick_setfirstiterator +imagick_setfont +imagick_setformat +imagick_setgravity +imagick_setimage +imagick_setimagealphachannel +imagick_setimageartifact +imagick_setimagebackgroundcolor +imagick_setimagebias +imagick_setimageblueprimary +imagick_setimagebordercolor +imagick_setimagechanneldepth +imagick_setimageclipmask +imagick_setimagecolormapcolor +imagick_setimagecolorspace +imagick_setimagecompose +imagick_setimagecompression +imagick_setimagecompressionquality +imagick_setimagedelay +imagick_setimagedepth +imagick_setimagedispose +imagick_setimageextent +imagick_setimagefilename +imagick_setimageformat +imagick_setimagegamma +imagick_setimagegravity +imagick_setimagegreenprimary +imagick_setimageindex +imagick_setimageinterlacescheme +imagick_setimageinterpolatemethod +imagick_setimageiterations +imagick_setimagematte +imagick_setimagemattecolor +imagick_setimageopacity +imagick_setimageorientation +imagick_setimagepage +imagick_setimageprofile +imagick_setimageproperty +imagick_setimageredprimary +imagick_setimagerenderingintent +imagick_setimageresolution +imagick_setimagescene +imagick_setimagetickspersecond +imagick_setimagetype +imagick_setimageunits +imagick_setimagevirtualpixelmethod +imagick_setimagewhitepoint +imagick_setinterlacescheme +imagick_setiteratorindex +imagick_setlastiterator +imagick_setoption +imagick_setpage +imagick_setpointsize +imagick_setresolution +imagick_setresourcelimit +imagick_setsamplingfactors +imagick_setsize +imagick_setsizeoffset +imagick_settype +imagick_shadeimage +imagick_shadowimage +imagick_sharpenimage +imagick_shaveimage +imagick_shearimage +imagick_sigmoidalcontrastimage +imagick_sketchimage +imagick_solarizeimage +imagick_spliceimage +imagick_spreadimage +imagick_steganoimage +imagick_stereoimage +imagick_stripimage +imagick_swirlimage +imagick_textureimage +imagick_thresholdimage +imagick_thumbnailimage +imagick_tintimage +imagick_transformimage +imagick_transparentpaintimage +imagick_transposeimage +imagick_transverseimage +imagick_trimimage +imagick_uniqueimagecolors +imagick_unsharpmaskimage +imagick_valid +imagick_vignetteimage +imagick_waveimage +imagick_whitethresholdimage +imagick_writeimage +imagick_writeimagefile +imagick_writeimages +imagick_writeimagesfile +imap_8bit +imap_alerts +imap_append +imap_base64 +imap_binary +imap_body +imap_bodystruct +imap_check +imap_clearflag_full +imap_close +imap_create +imap_createmailbox +imap_delete +imap_deletemailbox +imap_errors +imap_expunge +imap_fetchbody +imap_fetchheader +imap_fetchmime +imap_fetch_overview +imap_fetchstructure +imap_fetchtext +imap_gc +imap_getacl +imap_getmailboxes +imap_get_quota +imap_get_quotaroot +imap_getsubscribed +imap_header +imap_headerinfo +imap_headers +imap_last_error +imap_list +imap_listmailbox +imap_listscan +imap_listsubscribed +imap_lsub +imap_mail +imap_mailboxmsginfo +imap_mail_compose +imap_mail_copy +imap_mail_move +imap_mime_header_decode +imap_msgno +imap_num_msg +imap_num_recent +imap_open +imap_ping +imap_qprint +imap_rename +imap_renamemailbox +imap_reopen +imap_rfc822_parse_adrlist +imap_rfc822_parse_headers +imap_rfc822_write_address +imap_savebody +imap_scan +imap_scanmailbox +imap_search +imap_setacl +imap_setflag_full +imap_set_quota +imap_sort +imap_status +imap_subscribe +imap_thread +imap_timeout +imap_uid +imap_undelete +imap_unsubscribe +imap_utf7_decode +imap_utf7_encode +imap_utf8 +implements +implementsinterface +implode +import_request_variables +in_array +include +include_once +inclued_get_data +inet_ntop +inet_pton +infiniteiterator +ingres_autocommit +ingres_autocommit_state +ingres_charset +ingres_close +ingres_commit +ingres_connect +ingres_cursor +ingres_errno +ingres_error +ingres_errsqlstate +ingres_escape_string +ingres_execute +ingres_fetch_array +ingres_fetch_assoc +ingres_fetch_object +ingres_fetch_proc_return +ingres_fetch_row +ingres_field_length +ingres_field_name +ingres_field_nullable +ingres_field_precision +ingres_field_scale +ingres_field_type +ingres_free_result +ingres_next_error +ingres_num_fields +ingres_num_rows +ingres_pconnect +ingres_prepare +ingres_query +ingres_result_seek +ingres_rollback +ingres_set_environment +ingres_unbuffered_query +ini_alter +ini_get +ini_get_all +ini_restore +ini_set +innamespace +inotify_add_watch +inotify_init +inotify_queue_len +inotify_read +inotify_rm_watch +instanceof +interface +interface_exists +intldateformatter +intl_error_name +intl_get_error_code +intl_get_error_message +intl_is_failure +intval +invalidargumentexception +invoke +__invoke() +invokeargs +ip2long +iptcembed +iptcparse +is_a +isabstract +is_array +is_bool +is_callable +iscloneable +is_dir +isdisabled +is_double +is_executable +is_file +isfinal +is_finite +is_float +is_infinite +isinstance +isinstantiable +is_int +is_integer +isinterface +isinternal +isiterateable +is_link +is_long +is_nan +is_null +is_numeric +is_object +is_readable +is_real +is_resource +is_scalar +isset +__isset() +is_soap_fault +is_string +issubclassof +is_subclass_of +istrait +is_uploaded_file +isuserdefined +is_writable +is_writeable +iterator +iteratoraggregate +iterator_apply +iterator_count +iteratoriterator +iterator_to_array +java_last_exception_clear +java_last_exception_get +jddayofweek +jdmonthname +jdtofrench +jdtogregorian +jdtojewish +jdtojulian +jdtounix +jewishtojd +join +jpeg2wbmp +json_decode +json_encode +json_last_error +jsonserializable +judy +judy_type +judy_version +juliantojd +kadm5_chpass_principal +kadm5_create_principal +kadm5_delete_principal +kadm5_destroy +kadm5_flush +kadm5_get_policies +kadm5_get_principal +kadm5_get_principals +kadm5_init_with_password +kadm5_modify_principal +key +krsort +ksort +ktaglib_id3v2_attachedpictureframe +ktaglib_id3v2_frame +ktaglib_id3v2_tag +ktaglib_mpeg_audioproperties +ktaglib_mpeg_file +ktaglib_tag +lcfirst +lcg_value +lchgrp +lchown +ldap_8859_to_t61 +ldap_add +ldap_bind +ldap_close +ldap_compare +ldap_connect +ldap_count_entries +ldap_delete +ldap_dn2ufn +ldap_err2str +ldap_errno +ldap_error +ldap_explode_dn +ldap_first_attribute +ldap_first_entry +ldap_first_reference +ldap_free_result +ldap_get_attributes +ldap_get_dn +ldap_get_entries +ldap_get_option +ldap_get_values +ldap_get_values_len +ldap_list +ldap_mod_add +ldap_mod_del +ldap_modify +ldap_mod_replace +ldap_next_attribute +ldap_next_entry +ldap_next_reference +ldap_parse_reference +ldap_parse_result +ldap_read +ldap_rename +ldap_sasl_bind +ldap_search +ldap_set_option +ldap_set_rebind_proc +ldap_sort +ldap_start_tls +ldap_t61_to_8859 +ldap_unbind +lengthexception +levenshtein +libxml_clear_errors +libxml_disable_entity_loader +libxmlerror +libxml_get_errors +libxml_get_last_error +libxml_set_streams_context +libxml_use_internal_errors +limititerator +__LINE__ +link +linkinfo +list +locale +localeconv +localtime +log +log10 +log1p +logicexception +long2ip +lstat +ltrim +lua +luaclosure +lzf_compress +lzf_decompress +lzf_optimized_for +magic_quotes_runtime +mail +mailparse_determine_best_xfer_encoding +mailparse_msg_create +mailparse_msg_extract_part +mailparse_msg_extract_part_file +mailparse_msg_extract_whole_part_file +mailparse_msg_free +mailparse_msg_get_part +mailparse_msg_get_part_data +mailparse_msg_get_structure +mailparse_msg_parse +mailparse_msg_parse_file +mailparse_rfc822_parse_addresses +mailparse_stream_encode +mailparse_uudecode_all +main +max +maxdb_affected_rows +maxdb_autocommit +maxdb_bind_param +maxdb_bind_result +maxdb_change_user +maxdb_character_set_name +maxdb_client_encoding +maxdb_close +maxdb_close_long_data +maxdb_commit +maxdb_connect +maxdb_connect_errno +maxdb_connect_error +maxdb_data_seek +maxdb_debug +maxdb_disable_reads_from_master +maxdb_disable_rpl_parse +maxdb_dump_debug_info +maxdb_embedded_connect +maxdb_enable_reads_from_master +maxdb_enable_rpl_parse +maxdb_errno +maxdb_error +maxdb_escape_string +maxdb_execute +maxdb_fetch +maxdb_fetch_array +maxdb_fetch_assoc +maxdb_fetch_field +maxdb_fetch_field_direct +maxdb_fetch_fields +maxdb_fetch_lengths +maxdb_fetch_object +maxdb_fetch_row +maxdb_field_count +maxdb_field_seek +maxdb_field_tell +maxdb_free_result +maxdb_get_client_info +maxdb_get_client_version +maxdb_get_host_info +maxdb_get_metadata +maxdb_get_proto_info +maxdb_get_server_info +maxdb_get_server_version +maxdb_info +maxdb_init +maxdb_insert_id +maxdb_kill +maxdb_master_query +maxdb_more_results +maxdb_multi_query +maxdb_next_result +maxdb_num_fields +maxdb_num_rows +maxdb_options +maxdb_param_count +maxdb_ping +maxdb_prepare +maxdb_query +maxdb_real_connect +maxdb_real_escape_string +maxdb_real_query +maxdb_report +maxdb_rollback +maxdb_rpl_parse_enabled +maxdb_rpl_probe +maxdb_rpl_query_type +maxdb_select_db +maxdb_send_long_data +maxdb_send_query +maxdb_server_end +maxdb_server_init +maxdb_set_opt +maxdb_sqlstate +maxdb_ssl_set +maxdb_stat +maxdb_stmt_affected_rows +maxdb_stmt_bind_param +maxdb_stmt_bind_result +maxdb_stmt_close +maxdb_stmt_close_long_data +maxdb_stmt_data_seek +maxdb_stmt_errno +maxdb_stmt_error +maxdb_stmt_execute +maxdb_stmt_fetch +maxdb_stmt_free_result +maxdb_stmt_init +maxdb_stmt_num_rows +maxdb_stmt_param_count +maxdb_stmt_prepare +maxdb_stmt_reset +maxdb_stmt_result_metadata +maxdb_stmt_send_long_data +maxdb_stmt_sqlstate +maxdb_stmt_store_result +maxdb_store_result +maxdb_thread_id +maxdb_thread_safe +maxdb_use_result +maxdb_warning_count +mb_check_encoding +mb_convert_case +mb_convert_encoding +mb_convert_kana +mb_convert_variables +mb_decode_mimeheader +mb_decode_numericentity +mb_detect_encoding +mb_detect_order +mb_encode_mimeheader +mb_encode_numericentity +mb_encoding_aliases +mb_ereg +mb_eregi +mb_eregi_replace +mb_ereg_match +mb_ereg_replace +mb_ereg_search +mb_ereg_search_getpos +mb_ereg_search_getregs +mb_ereg_search_init +mb_ereg_search_pos +mb_ereg_search_regs +mb_ereg_search_setpos +mb_get_info +mb_http_input +mb_http_output +mb_internal_encoding +mb_language +mb_list_encodings +mb_output_handler +mb_parse_str +mb_preferred_mime_name +mb_regex_encoding +mb_regex_set_options +mb_send_mail +mb_split +mb_strcut +mb_strimwidth +mb_stripos +mb_stristr +mb_strlen +mb_strpos +mb_strrchr +mb_strrichr +mb_strripos +mb_strrpos +mb_strstr +mb_strtolower +mb_strtoupper +mb_strwidth +mb_substitute_character +mb_substr +mb_substr_count +m_checkstatus +m_completeauthorizations +m_connect +m_connectionerror +mcrypt_cbc +mcrypt_cfb +mcrypt_create_iv +mcrypt_decrypt +mcrypt_ecb +mcrypt_enc_get_algorithms_name +mcrypt_enc_get_block_size +mcrypt_enc_get_iv_size +mcrypt_enc_get_key_size +mcrypt_enc_get_modes_name +mcrypt_enc_get_supported_key_sizes +mcrypt_enc_is_block_algorithm +mcrypt_enc_is_block_algorithm_mode +mcrypt_enc_is_block_mode +mcrypt_encrypt +mcrypt_enc_self_test +mcrypt_generic +mcrypt_generic_deinit +mcrypt_generic_end +mcrypt_generic_init +mcrypt_get_block_size +mcrypt_get_cipher_name +mcrypt_get_iv_size +mcrypt_get_key_size +mcrypt_list_algorithms +mcrypt_list_modes +mcrypt_module_close +mcrypt_module_get_algo_block_size +mcrypt_module_get_algo_key_size +mcrypt_module_get_supported_key_sizes +mcrypt_module_is_block_algorithm +mcrypt_module_is_block_algorithm_mode +mcrypt_module_is_block_mode +mcrypt_module_open +mcrypt_module_self_test +mcrypt_ofb +md5 +md5_file +mdecrypt_generic +m_deletetrans +m_destroyconn +m_destroyengine +memcache +memcached +memcache_debug +memory_get_peak_usage +memory_get_usage +messageformatter +metaphone +__METHOD__ +method_exists +m_getcell +m_getcellbynum +m_getcommadelimited +m_getheader +mhash +mhash_count +mhash_get_block_size +mhash_get_hash_name +mhash_keygen_s2k +microtime +mime_content_type +min +ming_keypress +ming_setcubicthreshold +ming_setscale +ming_setswfcompression +ming_useconstants +ming_useswfversion +m_initconn +m_initengine +m_iscommadelimited +mkdir +mktime +m_maxconntimeout +m_monitor +m_numcolumns +m_numrows +money_format +mongo +mongobindata +mongocode +mongocollection +mongoconnectionexception +mongocursor +mongocursorexception +mongocursortimeoutexception +mongodate +mongodb +mongodbref +mongoexception +mongogridfs +mongogridfscursor +mongogridfsexception +mongogridfsfile +mongoid +mongoint32 +mongoint64 +mongolog +mongomaxkey +mongominkey +mongopool +mongoregex +mongotimestamp +move_uploaded_file +m_parsecommadelimited +mqseries_back +mqseries_begin +mqseries_close +mqseries_cmit +mqseries_conn +mqseries_connx +mqseries_disc +mqseries_get +mqseries_inq +mqseries_open +mqseries_put +mqseries_put1 +mqseries_set +mqseries_strerror +m_responsekeys +m_responseparam +m_returnstatus +msession_connect +msession_count +msession_create +msession_destroy +msession_disconnect +msession_find +msession_get +msession_get_array +msession_get_data +msession_inc +msession_list +msession_listvar +msession_lock +msession_plugin +msession_randstr +msession_set +msession_set_array +msession_set_data +msession_timeout +msession_uniq +msession_unlock +m_setblocking +m_setdropfile +m_setip +m_setssl +m_setssl_cafile +m_setssl_files +m_settimeout +msg_get_queue +msg_queue_exists +msg_receive +msg_remove_queue +msg_send +msg_set_queue +msg_stat_queue +msql +msql_affected_rows +msql_close +msql_connect +msql_createdb +msql_create_db +msql_data_seek +msql_dbname +msql_db_query +msql_drop_db +msql_error +msql_fetch_array +msql_fetch_field +msql_fetch_object +msql_fetch_row +msql_fieldflags +msql_field_flags +msql_fieldlen +msql_field_len +msql_fieldname +msql_field_name +msql_field_seek +msql_fieldtable +msql_field_table +msql_fieldtype +msql_field_type +msql_free_result +msql_list_dbs +msql_list_fields +msql_list_tables +msql_numfields +msql_num_fields +msql_numrows +msql_num_rows +msql_pconnect +msql_query +msql_regcase +msql_result +msql_select_db +msql_tablename +m_sslcert_gen_hash +mssql_bind +mssql_close +mssql_connect +mssql_data_seek +mssql_execute +mssql_fetch_array +mssql_fetch_assoc +mssql_fetch_batch +mssql_fetch_field +mssql_fetch_object +mssql_fetch_row +mssql_field_length +mssql_field_name +mssql_field_seek +mssql_field_type +mssql_free_result +mssql_free_statement +mssql_get_last_message +mssql_guid_string +mssql_init +mssql_min_error_severity +mssql_min_message_severity +mssql_next_result +mssql_num_fields +mssql_num_rows +mssql_pconnect +mssql_query +mssql_result +mssql_rows_affected +mssql_select_db +mt_getrandmax +mt_rand +m_transactionssent +m_transinqueue +m_transkeyval +m_transnew +m_transsend +mt_srand +multipleiterator +m_uwait +m_validateidentifier +m_verifyconnection +m_verifysslcert +mysql_affected_rows +mysql_client_encoding +mysql_close +mysql_connect +mysql_create_db +mysql_data_seek +mysql_db_name +mysql_db_query +mysql_drop_db +mysql_errno +mysql_error +mysql_escape_string +mysql_fetch_array +mysql_fetch_assoc +mysql_fetch_field +mysql_fetch_lengths +mysql_fetch_object +mysql_fetch_row +mysql_field_flags +mysql_field_len +mysql_field_name +mysql_field_seek +mysql_field_table +mysql_field_type +mysql_free_result +mysql_get_client_info +mysql_get_host_info +mysql_get_proto_info +mysql_get_server_info +mysqli +mysqli_bind_param +mysqli_bind_result +mysqli_client_encoding +mysqli_connect +mysqli_disable_reads_from_master +mysqli_disable_rpl_parse +mysqli_driver +mysqli_enable_reads_from_master +mysqli_enable_rpl_parse +mysqli_escape_string +mysqli_execute +mysqli_fetch +mysqli_get_metadata +mysqli_master_query +mysql_info +mysql_insert_id +mysqli_param_count +mysqli_report +mysqli_result +mysqli_rpl_parse_enabled +mysqli_rpl_probe +mysqli_rpl_query_type +mysqli_send_long_data +mysqli_send_query +mysqli_set_opt +mysqli_slave_query +mysqli_stmt +mysqli_warning +mysql_list_dbs +mysql_list_fields +mysql_list_processes +mysql_list_tables +mysqlnd_ms_get_stats +mysqlnd_ms_query_is_select +mysqlnd_ms_set_user_pick_server +mysqlnd_qc_change_handler +mysqlnd_qc_clear_cache +mysqlnd_qc_get_cache_info +mysqlnd_qc_get_core_stats +mysqlnd_qc_get_handler +mysqlnd_qc_get_query_trace_log +mysqlnd_qc_set_user_handlers +mysql_num_fields +mysql_num_rows +mysql_pconnect +mysql_ping +mysql_query +mysql_real_escape_string +mysql_result +mysql_select_db +mysql_set_charset +mysql_stat +mysql_tablename +mysql_thread_id +mysql_unbuffered_query +namespace +__NAMESPACE__ +natcasesort +natsort +ncurses_addch +ncurses_addchnstr +ncurses_addchstr +ncurses_addnstr +ncurses_addstr +ncurses_assume_default_colors +ncurses_attroff +ncurses_attron +ncurses_attrset +ncurses_baudrate +ncurses_beep +ncurses_bkgd +ncurses_bkgdset +ncurses_border +ncurses_bottom_panel +ncurses_can_change_color +ncurses_cbreak +ncurses_clear +ncurses_clrtobot +ncurses_clrtoeol +ncurses_color_content +ncurses_color_set +ncurses_curs_set +ncurses_define_key +ncurses_def_prog_mode +ncurses_def_shell_mode +ncurses_delay_output +ncurses_delch +ncurses_deleteln +ncurses_del_panel +ncurses_delwin +ncurses_doupdate +ncurses_echo +ncurses_echochar +ncurses_end +ncurses_erase +ncurses_erasechar +ncurses_filter +ncurses_flash +ncurses_flushinp +ncurses_getch +ncurses_getmaxyx +ncurses_getmouse +ncurses_getyx +ncurses_halfdelay +ncurses_has_colors +ncurses_has_ic +ncurses_has_il +ncurses_has_key +ncurses_hide_panel +ncurses_hline +ncurses_inch +ncurses_init +ncurses_init_color +ncurses_init_pair +ncurses_insch +ncurses_insdelln +ncurses_insertln +ncurses_insstr +ncurses_instr +ncurses_isendwin +ncurses_keyok +ncurses_keypad +ncurses_killchar +ncurses_longname +ncurses_meta +ncurses_mouseinterval +ncurses_mousemask +ncurses_mouse_trafo +ncurses_move +ncurses_move_panel +ncurses_mvaddch +ncurses_mvaddchnstr +ncurses_mvaddchstr +ncurses_mvaddnstr +ncurses_mvaddstr +ncurses_mvcur +ncurses_mvdelch +ncurses_mvgetch +ncurses_mvhline +ncurses_mvinch +ncurses_mvvline +ncurses_mvwaddstr +ncurses_napms +ncurses_newpad +ncurses_new_panel +ncurses_newwin +ncurses_nl +ncurses_nocbreak +ncurses_noecho +ncurses_nonl +ncurses_noqiflush +ncurses_noraw +ncurses_pair_content +ncurses_panel_above +ncurses_panel_below +ncurses_panel_window +ncurses_pnoutrefresh +ncurses_prefresh +ncurses_putp +ncurses_qiflush +ncurses_raw +ncurses_refresh +ncurses_replace_panel +ncurses_reset_prog_mode +ncurses_reset_shell_mode +ncurses_resetty +ncurses_savetty +ncurses_scr_dump +ncurses_scr_init +ncurses_scrl +ncurses_scr_restore +ncurses_scr_set +ncurses_show_panel +ncurses_slk_attr +ncurses_slk_attroff +ncurses_slk_attron +ncurses_slk_attrset +ncurses_slk_clear +ncurses_slk_color +ncurses_slk_init +ncurses_slk_noutrefresh +ncurses_slk_refresh +ncurses_slk_restore +ncurses_slk_set +ncurses_slk_touch +ncurses_standend +ncurses_standout +ncurses_start_color +ncurses_termattrs +ncurses_termname +ncurses_timeout +ncurses_top_panel +ncurses_typeahead +ncurses_ungetch +ncurses_ungetmouse +ncurses_update_panels +ncurses_use_default_colors +ncurses_use_env +ncurses_use_extended_names +ncurses_vidattr +ncurses_vline +ncurses_waddch +ncurses_waddstr +ncurses_wattroff +ncurses_wattron +ncurses_wattrset +ncurses_wborder +ncurses_wclear +ncurses_wcolor_set +ncurses_werase +ncurses_wgetch +ncurses_whline +ncurses_wmouse_trafo +ncurses_wmove +ncurses_wnoutrefresh +ncurses_wrefresh +ncurses_wstandend +ncurses_wstandout +ncurses_wvline +new +newinstance +newinstanceargs +newinstancewithoutconstructor +newt_bell +newt_button +newt_button_bar +newt_centered_window +newt_checkbox +newt_checkbox_get_value +newt_checkbox_set_flags +newt_checkbox_set_value +newt_checkbox_tree +newt_checkbox_tree_add_item +newt_checkbox_tree_find_item +newt_checkbox_tree_get_current +newt_checkbox_tree_get_entry_value +newt_checkbox_tree_get_multi_selection +newt_checkbox_tree_get_selection +newt_checkbox_tree_multi +newt_checkbox_tree_set_current +newt_checkbox_tree_set_entry +newt_checkbox_tree_set_entry_value +newt_checkbox_tree_set_width +newt_clear_key_buffer +newt_cls +newt_compact_button +newt_component_add_callback +newt_component_takes_focus +newt_create_grid +newt_cursor_off +newt_cursor_on +newt_delay +newt_draw_form +newt_draw_root_text +newt_entry +newt_entry_get_value +newt_entry_set +newt_entry_set_filter +newt_entry_set_flags +newt_finished +newt_form +newt_form_add_component +newt_form_add_components +newt_form_add_hot_key +newt_form_destroy +newt_form_get_current +newt_form_run +newt_form_set_background +newt_form_set_height +newt_form_set_size +newt_form_set_timer +newt_form_set_width +newt_form_watch_fd +newt_get_screen_size +newt_grid_add_components_to_form +newt_grid_basic_window +newt_grid_free +newt_grid_get_size +newt_grid_h_close_stacked +newt_grid_h_stacked +newt_grid_place +newt_grid_set_field +newt_grid_simple_window +newt_grid_v_close_stacked +newt_grid_v_stacked +newt_grid_wrapped_window +newt_grid_wrapped_window_at +newt_init +newt_label +newt_label_set_text +newt_listbox +newt_listbox_append_entry +newt_listbox_clear +newt_listbox_clear_selection +newt_listbox_delete_entry +newt_listbox_get_current +newt_listbox_get_selection +newt_listbox_insert_entry +newt_listbox_item_count +newt_listbox_select_item +newt_listbox_set_current +newt_listbox_set_current_by_key +newt_listbox_set_data +newt_listbox_set_entry +newt_listbox_set_width +newt_listitem +newt_listitem_get_data +newt_listitem_set +newt_open_window +newt_pop_help_line +newt_pop_window +newt_push_help_line +newt_radiobutton +newt_radio_get_current +newt_redraw_help_line +newt_reflow_text +newt_refresh +newt_resize_screen +newt_resume +newt_run_form +newt_scale +newt_scale_set +newt_scrollbar_set +newt_set_help_callback +newt_set_suspend_callback +newt_suspend +newt_textbox +newt_textbox_get_num_lines +newt_textbox_reflowed +newt_textbox_set_height +newt_textbox_set_text +newt_vertical_scrollbar +newt_wait_for_key +newt_win_choice +newt_win_entries +newt_win_menu +newt_win_message +newt_win_messagev +newt_win_ternary +next +ngettext +nl2br +nl_langinfo +norewinditerator +normalizer +notes_body +notes_copy_db +notes_create_db +notes_create_note +notes_drop_db +notes_find_note +notes_header_info +notes_list_msgs +notes_mark_read +notes_mark_unread +notes_nav_create +notes_search +notes_unread +notes_version +nsapi_request_headers +nsapi_response_headers +nsapi_virtual +nthmac +number_format +numberformatter +oauth +oauthexception +oauth_get_sbs +oauthprovider +oauth_urlencode +ob_clean +ob_deflatehandler +ob_end_clean +ob_end_flush +ob_etaghandler +ob_flush +ob_get_clean +ob_get_contents +ob_get_flush +ob_get_length +ob_get_level +ob_get_status +ob_gzhandler +ob_iconv_handler +ob_implicit_flush +ob_inflatehandler +ob_list_handlers +ob_start +ob_tidyhandler +oci_bind_array_by_name +ocibindbyname +oci_bind_by_name +ocicancel +oci_cancel +oci_client_version +oci_close +ocicloselob +ocicollappend +ocicollassign +ocicollassignelem +oci_collection_append +oci_collection_assign +oci_collection_element_assign +oci_collection_element_get +oci_collection_free +oci_collection_max +oci_collection_size +oci_collection_trim +ocicollgetelem +ocicollmax +ocicollsize +ocicolltrim +ocicolumnisnull +ocicolumnname +ocicolumnprecision +ocicolumnscale +ocicolumnsize +ocicolumntype +ocicolumntyperaw +ocicommit +oci_commit +oci_connect +ocidefinebyname +oci_define_by_name +ocierror +oci_error +ociexecute +oci_execute +ocifetch +oci_fetch +oci_fetch_all +oci_fetch_array +oci_fetch_assoc +ocifetchinto +oci_fetch_object +oci_fetch_row +ocifetchstatement +oci_field_is_null +oci_field_name +oci_field_precision +oci_field_scale +oci_field_size +oci_field_type +oci_field_type_raw +ocifreecollection +ocifreecursor +ocifreedesc +ocifreestatement +oci_free_statement +ociinternaldebug +oci_internal_debug +ociloadlob +oci_lob_append +oci_lob_close +oci_lob_copy +oci_lob_eof +oci_lob_erase +oci_lob_export +oci_lob_flush +oci_lob_free +oci_lob_getbuffering +oci_lob_import +oci_lob_is_equal +oci_lob_load +oci_lob_read +oci_lob_rewind +oci_lob_save +oci_lob_savefile +oci_lob_seek +oci_lob_setbuffering +oci_lob_size +oci_lob_tell +oci_lob_truncate +oci_lob_write +oci_lob_writetemporary +oci_lob_writetofile +ocilogoff +ocilogon +ocinewcollection +oci_new_collection +oci_new_connect +ocinewcursor +oci_new_cursor +ocinewdescriptor +oci_new_descriptor +ocinlogon +ocinumcols +oci_num_fields +oci_num_rows +ociparse +oci_parse +oci_password_change +oci_pconnect +ociplogon +ociresult +oci_result +ocirollback +oci_rollback +ocirowcount +ocisavelob +ocisavelobfile +ociserverversion +oci_server_version +oci_set_action +oci_set_client_identifier +oci_set_client_info +oci_set_edition +oci_set_module_name +ocisetprefetch +oci_set_prefetch +ocistatementtype +oci_statement_type +ociwritelobtofile +ociwritetemporarylob +octdec +odbc_autocommit +odbc_binmode +odbc_close +odbc_close_all +odbc_columnprivileges +odbc_columns +odbc_commit +odbc_connect +odbc_cursor +odbc_data_source +odbc_do +odbc_error +odbc_errormsg +odbc_exec +odbc_execute +odbc_fetch_array +odbc_fetch_into +odbc_fetch_object +odbc_fetch_row +odbc_field_len +odbc_field_name +odbc_field_num +odbc_field_precision +odbc_field_scale +odbc_field_type +odbc_foreignkeys +odbc_free_result +odbc_gettypeinfo +odbc_longreadlen +odbc_next_result +odbc_num_fields +odbc_num_rows +odbc_pconnect +odbc_prepare +odbc_primarykeys +odbc_procedurecolumns +odbc_procedures +odbc_result +odbc_result_all +odbc_rollback +odbc_setoption +odbc_specialcolumns +odbc_statistics +odbc_tableprivileges +odbc_tables +old_function +openal_buffer_create +openal_buffer_data +openal_buffer_destroy +openal_buffer_get +openal_buffer_loadwav +openal_context_create +openal_context_current +openal_context_destroy +openal_context_process +openal_context_suspend +openal_device_close +openal_device_open +openal_listener_get +openal_listener_set +openal_source_create +openal_source_destroy +openal_source_get +openal_source_pause +openal_source_play +openal_source_rewind +openal_source_set +openal_source_stop +openal_stream +opendir +openlog +openssl_cipher_iv_length +openssl_csr_export +openssl_csr_export_to_file +openssl_csr_get_public_key +openssl_csr_get_subject +openssl_csr_new +openssl_csr_sign +openssl_decrypt +openssl_dh_compute_key +openssl_digest +openssl_encrypt +openssl_error_string +openssl_free_key +openssl_get_cipher_methods +openssl_get_md_methods +openssl_get_privatekey +openssl_get_publickey +openssl_open +openssl_pkcs12_export +openssl_pkcs12_export_to_file +openssl_pkcs12_read +openssl_pkcs7_decrypt +openssl_pkcs7_encrypt +openssl_pkcs7_sign +openssl_pkcs7_verify +openssl_pkey_export +openssl_pkey_export_to_file +openssl_pkey_free +openssl_pkey_get_details +openssl_pkey_get_private +openssl_pkey_get_public +openssl_pkey_new +openssl_private_decrypt +openssl_private_encrypt +openssl_public_decrypt +openssl_public_encrypt +openssl_random_pseudo_bytes +openssl_seal +openssl_sign +openssl_verify +openssl_x509_check_private_key +openssl_x509_checkpurpose +openssl_x509_export +openssl_x509_export_to_file +openssl_x509_free +openssl_x509_parse +openssl_x509_read +or +ord +outeriterator +outofboundsexception +outofrangeexception +output_add_rewrite_var +output_reset_rewrite_vars +overflowexception +overload +override_function +ovrimos_close +ovrimos_commit +ovrimos_connect +ovrimos_cursor +ovrimos_exec +ovrimos_execute +ovrimos_fetch_into +ovrimos_fetch_row +ovrimos_field_len +ovrimos_field_name +ovrimos_field_num +ovrimos_field_type +ovrimos_free_result +ovrimos_longreadlen +ovrimos_num_fields +ovrimos_num_rows +ovrimos_prepare +ovrimos_result +ovrimos_result_all +ovrimos_rollback +pack +parentiterator +parse_ini_file +parse_ini_string +parsekit_compile_file +parsekit_compile_string +parsekit_func_arginfo +parse_str +parse_url +passthru +pathinfo +pclose +pcntl_alarm +pcntl_exec +pcntl_fork +pcntl_getpriority +pcntl_setpriority +pcntl_signal +pcntl_signal_dispatch +pcntl_sigprocmask +pcntl_sigtimedwait +pcntl_sigwaitinfo +pcntl_wait +pcntl_waitpid +pcntl_wexitstatus +pcntl_wifexited +pcntl_wifsignaled +pcntl_wifstopped +pcntl_wstopsig +pcntl_wtermsig +pdf_activate_item +pdf_add_annotation +pdf_add_bookmark +pdf_add_launchlink +pdf_add_locallink +pdf_add_nameddest +pdf_add_note +pdf_add_outline +pdf_add_pdflink +pdf_add_table_cell +pdf_add_textflow +pdf_add_thumbnail +pdf_add_weblink +pdf_arc +pdf_arcn +pdf_attach_file +pdf_begin_document +pdf_begin_font +pdf_begin_glyph +pdf_begin_item +pdf_begin_layer +pdf_begin_page +pdf_begin_page_ext +pdf_begin_pattern +pdf_begin_template +pdf_begin_template_ext +pdf_circle +pdf_clip +pdf_close +pdf_close_image +pdf_closepath +pdf_closepath_fill_stroke +pdf_closepath_stroke +pdf_close_pdi +pdf_close_pdi_page +pdf_concat +pdf_continue_text +pdf_create_3dview +pdf_create_action +pdf_create_annotation +pdf_create_bookmark +pdf_create_field +pdf_create_fieldgroup +pdf_create_gstate +pdf_create_pvf +pdf_create_textflow +pdf_curveto +pdf_define_layer +pdf_delete +pdf_delete_pvf +pdf_delete_table +pdf_delete_textflow +pdf_encoding_set_char +pdf_end_document +pdf_end_font +pdf_end_glyph +pdf_end_item +pdf_end_layer +pdf_end_page +pdf_end_page_ext +pdf_endpath +pdf_end_pattern +pdf_end_template +pdf_fill +pdf_fill_imageblock +pdf_fill_pdfblock +pdf_fill_stroke +pdf_fill_textblock +pdf_findfont +pdf_fit_image +pdf_fit_pdi_page +pdf_fit_table +pdf_fit_textflow +pdf_fit_textline +pdf_get_apiname +pdf_get_buffer +pdf_get_errmsg +pdf_get_errnum +pdf_get_font +pdf_get_fontname +pdf_get_fontsize +pdf_get_image_height +pdf_get_image_width +pdf_get_majorversion +pdf_get_minorversion +pdf_get_parameter +pdf_get_pdi_parameter +pdf_get_pdi_value +pdf_get_value +pdf_info_font +pdf_info_matchbox +pdf_info_table +pdf_info_textflow +pdf_info_textline +pdf_initgraphics +pdf_lineto +pdf_load_3ddata +pdf_load_font +pdf_load_iccprofile +pdf_load_image +pdf_makespotcolor +pdf_moveto +pdf_new +pdf_open_ccitt +pdf_open_file +pdf_open_gif +pdf_open_image +pdf_open_image_file +pdf_open_jpeg +pdf_open_memory_image +pdf_open_pdi +pdf_open_pdi_document +pdf_open_pdi_page +pdf_open_tiff +pdf_pcos_get_number +pdf_pcos_get_stream +pdf_pcos_get_string +pdf_place_image +pdf_place_pdi_page +pdf_process_pdi +pdf_rect +pdf_restore +pdf_resume_page +pdf_rotate +pdf_save +pdf_scale +pdf_set_border_color +pdf_set_border_dash +pdf_set_border_style +pdf_set_char_spacing +pdf_setcolor +pdf_setdash +pdf_setdashpattern +pdf_set_duration +pdf_setflat +pdf_setfont +pdf_setgray +pdf_setgray_fill +pdf_setgray_stroke +pdf_set_gstate +pdf_set_horiz_scaling +pdf_set_info +pdf_set_info_author +pdf_set_info_creator +pdf_set_info_keywords +pdf_set_info_subject +pdf_set_info_title +pdf_set_layer_dependency +pdf_set_leading +pdf_setlinecap +pdf_setlinejoin +pdf_setlinewidth +pdf_setmatrix +pdf_setmiterlimit +pdf_set_parameter +pdf_setpolydash +pdf_setrgbcolor +pdf_setrgbcolor_fill +pdf_setrgbcolor_stroke +pdf_set_text_matrix +pdf_set_text_pos +pdf_set_text_rendering +pdf_set_text_rise +pdf_set_value +pdf_set_word_spacing +pdf_shading +pdf_shading_pattern +pdf_shfill +pdf_show +pdf_show_boxed +pdf_show_xy +pdf_skew +pdf_stringwidth +pdf_stroke +pdf_suspend_page +pdf_translate +pdf_utf16_to_utf8 +pdf_utf32_to_utf16 +pdf_utf8_to_utf16 +pdo +pdo_cubrid_schema +pdoexception +pdo_pgsqllobcreate +pdo_pgsqllobopen +pdo_pgsqllobunlink +pdo_sqlitecreateaggregate +pdo_sqlitecreatefunction +pdostatement +pfsockopen +pg_affected_rows +pg_cancel_query +pg_client_encoding +pg_close +pg_connect +pg_connection_busy +pg_connection_reset +pg_connection_status +pg_convert +pg_copy_from +pg_copy_to +pg_dbname +pg_delete +pg_end_copy +pg_escape_bytea +pg_escape_string +pg_execute +pg_fetch_all +pg_fetch_all_columns +pg_fetch_array +pg_fetch_assoc +pg_fetch_object +pg_fetch_result +pg_fetch_row +pg_field_is_null +pg_field_name +pg_field_num +pg_field_prtlen +pg_field_size +pg_field_table +pg_field_type +pg_field_type_oid +pg_free_result +pg_get_notify +pg_get_pid +pg_get_result +pg_host +pg_insert +pg_last_error +pg_last_notice +pg_last_oid +pg_lo_close +pg_lo_create +pg_lo_export +pg_lo_import +pg_lo_open +pg_lo_read +pg_lo_read_all +pg_lo_seek +pg_lo_tell +pg_lo_unlink +pg_lo_write +pg_meta_data +pg_num_fields +pg_num_rows +pg_options +pg_parameter_status +pg_pconnect +pg_ping +pg_port +pg_prepare +pg_put_line +pg_query +pg_query_params +pg_result_error +pg_result_error_field +pg_result_seek +pg_result_status +pg_select +pg_send_execute +pg_send_prepare +pg_send_query +pg_send_query_params +pg_set_client_encoding +pg_set_error_verbosity +pg_trace +pg_transaction_status +pg_tty +pg_unescape_bytea +pg_untrace +pg_update +pg_version +Phar +PharData +PharException +PharFileInfo +php_check_syntax +phpcredits +phpinfo +php_ini_loaded_file +php_ini_scanned_files +php_logo_guid +php_sapi_name +php_strip_whitespace +php_uname +phpversion +pi +png2wbmp +popen +pos +posix_access +posix_ctermid +posix_errno +posix_getcwd +posix_getegid +posix_geteuid +posix_getgid +posix_getgrgid +posix_getgrnam +posix_getgroups +posix_get_last_error +posix_getlogin +posix_getpgid +posix_getpgrp +posix_getpid +posix_getppid +posix_getpwnam +posix_getpwuid +posix_getrlimit +posix_getsid +posix_getuid +posix_initgroups +posix_isatty +posix_kill +posix_mkfifo +posix_mknod +posix_setegid +posix_seteuid +posix_setgid +posix_setpgid +posix_setsid +posix_setuid +posix_strerror +posix_times +posix_ttyname +posix_uname +pow +preg_filter +preg_grep +preg_last_error +preg_match +preg_match_all +preg_quote +preg_replace +preg_replace_callback +preg_split +prev +print +printer_abort +printer_close +printer_create_brush +printer_create_dc +printer_create_font +printer_create_pen +printer_delete_brush +printer_delete_dc +printer_delete_font +printer_delete_pen +printer_draw_bmp +printer_draw_chord +printer_draw_elipse +printer_draw_line +printer_draw_pie +printer_draw_rectangle +printer_draw_roundrect +printer_draw_text +printer_end_doc +printer_end_page +printer_get_option +printer_list +printer_logical_fontheight +printer_open +printer_select_brush +printer_select_font +printer_select_pen +printer_set_option +printer_start_doc +printer_start_page +printer_write +printf +print_r +private +proc_close +proc_get_status +proc_nice +proc_open +proc_terminate +property_exists +protected +ps_add_bookmark +ps_add_launchlink +ps_add_locallink +ps_add_note +ps_add_pdflink +ps_add_weblink +ps_arc +ps_arcn +ps_begin_page +ps_begin_pattern +ps_begin_template +ps_circle +ps_clip +ps_close +ps_close_image +ps_closepath +ps_closepath_stroke +ps_continue_text +ps_curveto +ps_delete +ps_end_page +ps_end_pattern +ps_end_template +ps_fill +ps_fill_stroke +ps_findfont +ps_get_buffer +ps_get_parameter +ps_get_value +ps_hyphenate +ps_include_file +ps_lineto +ps_makespotcolor +ps_moveto +ps_new +ps_open_file +ps_open_image +ps_open_image_file +ps_open_memory_image +pspell_add_to_personal +pspell_add_to_session +pspell_check +pspell_clear_session +pspell_config_create +pspell_config_data_dir +pspell_config_dict_dir +pspell_config_ignore +pspell_config_mode +pspell_config_personal +pspell_config_repl +pspell_config_runtogether +pspell_config_save_repl +pspell_new +pspell_new_config +pspell_new_personal +pspell_save_wordlist +pspell_store_replacement +pspell_suggest +ps_place_image +ps_rect +ps_restore +ps_rotate +ps_save +ps_scale +ps_set_border_color +ps_set_border_dash +ps_set_border_style +ps_setcolor +ps_setdash +ps_setflat +ps_setfont +ps_setgray +ps_set_info +ps_setlinecap +ps_setlinejoin +ps_setlinewidth +ps_setmiterlimit +ps_setoverprintmode +ps_set_parameter +ps_setpolydash +ps_set_text_pos +ps_set_value +ps_shading +ps_shading_pattern +ps_shfill +ps_show +ps_show2 +ps_show_boxed +ps_show_xy +ps_show_xy2 +ps_string_geometry +ps_stringwidth +ps_stroke +ps_symbol +ps_symbol_name +ps_symbol_width +ps_translate +public +putenv +px_close +px_create_fp +px_date2string +px_delete +px_delete_record +px_get_field +px_get_info +px_get_parameter +px_get_record +px_get_schema +px_get_value +px_insert_record +px_new +px_numfields +px_numrecords +px_open_fp +px_put_record +px_retrieve_record +px_set_blob_file +px_set_parameter +px_set_tablename +px_set_targetencoding +px_set_value +px_timestamp2string +px_update_record +qdom_error +qdom_tree +quickhashinthash +quickhashintset +quickhashintstringhash +quickhashstringinthash +quoted_printable_decode +quoted_printable_encode +quotemeta +rad2deg +radius_acct_open +radius_add_server +radius_auth_open +radius_close +radius_config +radius_create_request +radius_cvt_addr +radius_cvt_int +radius_cvt_string +radius_demangle +radius_demangle_mppe_key +radius_get_attr +radius_get_vendor_attr +radius_put_addr +radius_put_attr +radius_put_int +radius_put_string +radius_put_vendor_addr +radius_put_vendor_attr +radius_put_vendor_int +radius_put_vendor_string +radius_request_authenticator +radius_send_request +radius_server_secret +radius_strerror +rand +range +rangeexception +rararchive +rarentry +rarexception +rar_wrapper_cache_stats +rawurldecode +rawurlencode +readdir +read_exif_data +readfile +readgzfile +readline +readline_add_history +readline_callback_handler_install +readline_callback_handler_remove +readline_callback_read_char +readline_clear_history +readline_completion_function +readline_info +readline_list_history +readline_on_new_line +readline_read_history +readline_redisplay +readline_write_history +readlink +realpath +realpath_cache_get +realpath_cache_size +recode +recode_file +recode_string +recursivearrayiterator +recursivecachingiterator +recursivecallbackfilteriterator +recursivedirectoryiterator +recursivefilteriterator +recursiveiterator +recursiveiteratoriterator +recursiveregexiterator +recursivetreeiterator +reflection +reflectionclass +reflectionexception +reflectionextension +reflectionfunction +reflectionfunctionabstract +reflectionmethod +reflectionobject +reflectionparameter +reflectionproperty +reflector +regexiterator +register_shutdown_function +register_tick_function +rename +rename_function +require +require_once +reset +resetValue +resourcebundle +restore_error_handler +restore_exception_handler +restore_include_path +return +rewind +rewinddir +rmdir +round +rpm_close +rpm_get_tag +rpm_is_valid +rpm_open +rpm_version +rrd_create +rrdcreator +rrd_error +rrd_fetch +rrd_first +rrdgraph +rrd_graph +rrd_info +rrd_last +rrd_lastupdate +rrd_restore +rrd_tune +rrd_update +rrdupdater +rrd_version +rrd_xport +rsort +rtrim +runkit_class_adopt +runkit_class_emancipate +runkit_constant_add +runkit_constant_redefine +runkit_constant_remove +runkit_function_add +runkit_function_copy +runkit_function_redefine +runkit_function_remove +runkit_function_rename +runkit_import +runkit_lint +runkit_lint_file +runkit_method_add +runkit_method_copy +runkit_method_redefine +runkit_method_remove +runkit_method_rename +runkit_return_value_used +runkit_sandbox_output_handler +runkit_superglobals +runtimeexception +samconnection_commit +samconnection_connect +samconnection_constructor +samconnection_disconnect +samconnection_errno +samconnection_error +samconnection_isconnected +samconnection_peek +samconnection_peekall +samconnection_receive +samconnection_remove +samconnection_rollback +samconnection_send +samconnection_setDebug +samconnection_subscribe +samconnection_unsubscribe +sammessage_body +sammessage_constructor +sammessage_header +sca_createdataobject +sca_getservice +sca_localproxy_createdataobject +scandir +sca_soapproxy_createdataobject +sdo_das_changesummary_beginlogging +sdo_das_changesummary_endlogging +sdo_das_changesummary_getchangeddataobjects +sdo_das_changesummary_getchangetype +sdo_das_changesummary_getoldcontainer +sdo_das_changesummary_getoldvalues +sdo_das_changesummary_islogging +sdo_das_datafactory_addpropertytotype +sdo_das_datafactory_addtype +sdo_das_datafactory_getdatafactory +sdo_das_dataobject_getchangesummary +sdo_das_relational_applychanges +sdo_das_relational_construct +sdo_das_relational_createrootdataobject +sdo_das_relational_executepreparedquery +sdo_das_relational_executequery +sdo_das_setting_getlistindex +sdo_das_setting_getpropertyindex +sdo_das_setting_getpropertyname +sdo_das_setting_getvalue +sdo_das_setting_isset +sdo_das_xml_addtypes +sdo_das_xml_create +sdo_das_xml_createdataobject +sdo_das_xml_createdocument +sdo_das_xml_document_getrootdataobject +sdo_das_xml_document_getrootelementname +sdo_das_xml_document_getrootelementuri +sdo_das_xml_document_setencoding +sdo_das_xml_document_setxmldeclaration +sdo_das_xml_document_setxmlversion +sdo_das_xml_loadfile +sdo_das_xml_loadstring +sdo_das_xml_savefile +sdo_das_xml_savestring +sdo_datafactory_create +sdo_dataobject_clear +sdo_dataobject_createdataobject +sdo_dataobject_getcontainer +sdo_dataobject_getsequence +sdo_dataobject_gettypename +sdo_dataobject_gettypenamespaceuri +sdo_exception_getcause +sdo_list_insert +sdo_model_property_getcontainingtype +sdo_model_property_getdefault +sdo_model_property_getname +sdo_model_property_gettype +sdo_model_property_iscontainment +sdo_model_property_ismany +sdo_model_reflectiondataobject_construct +sdo_model_reflectiondataobject_export +sdo_model_reflectiondataobject_getcontainmentproperty +sdo_model_reflectiondataobject_getinstanceproperties +sdo_model_reflectiondataobject_gettype +sdo_model_type_getbasetype +sdo_model_type_getname +sdo_model_type_getnamespaceuri +sdo_model_type_getproperties +sdo_model_type_getproperty +sdo_model_type_isabstracttype +sdo_model_type_isdatatype +sdo_model_type_isinstance +sdo_model_type_isopentype +sdo_model_type_issequencedtype +sdo_sequence_getproperty +sdo_sequence_insert +sdo_sequence_move +seekableiterator +sem_acquire +sem_get +sem_release +sem_remove +serializable +serialize +session_cache_expire +session_cache_limiter +session_commit +session_decode +session_destroy +session_encode +session_get_cookie_params +session_id +session_is_registered +session_module_name +session_name +session_pgsql_add_error +session_pgsql_get_error +session_pgsql_get_field +session_pgsql_reset +session_pgsql_set_field +session_pgsql_status +session_regenerate_id +session_register +session_save_path +session_set_cookie_params +session_set_save_handler +session_start +session_unregister +session_unset +session_write_close +__set() +setcookie +setCounterClass +set_error_handler +set_exception_handler +set_file_buffer +set_include_path +setlocale +set_magic_quotes_runtime +setproctitle +setrawcookie +set_socket_blocking +__set_state() +setstaticpropertyvalue +setthreadtitle +set_time_limit +settype +sha1 +sha1_file +shell_exec +shm_attach +shm_detach +shm_get_var +shm_has_var +shmop_close +shmop_delete +shmop_open +shmop_read +shmop_size +shmop_write +shm_put_var +shm_remove +shm_remove_var +show_source +shuffle +signeurlpaiement +similar_text +simplexmlelement +simplexml_import_dom +simplexmliterator +simplexml_load_file +simplexml_load_string +sin +sinh +sizeof +sleep +__sleep() +snmp +snmp2_get +snmp2_getnext +snmp2_real_walk +snmp2_set +snmp2_walk +snmp3_get +snmp3_getnext +snmp3_real_walk +snmp3_set +snmp3_walk +snmpexception +snmpget +snmpgetnext +snmp_get_quick_print +snmp_get_valueretrieval +snmp_read_mib +snmprealwalk +snmpset +snmp_set_enum_print +snmp_set_oid_numeric_print +snmp_set_oid_output_format +snmp_set_quick_print +snmp_set_valueretrieval +snmpwalk +snmpwalkoid +soapclient +soapfault +soapheader +soapparam +soapserver +soapvar +socket_accept +socket_bind +socket_clear_error +socket_close +socket_connect +socket_create +socket_create_listen +socket_create_pair +socket_get_option +socket_getpeername +socket_getsockname +socket_get_status +socket_last_error +socket_listen +socket_read +socket_recv +socket_recvfrom +socket_select +socket_send +socket_sendto +socket_set_block +socket_set_blocking +socket_set_nonblock +socket_set_option +socket_set_timeout +socket_shutdown +socket_strerror +socket_write +solrclient +solrclientexception +solrdocument +solrdocumentfield +solrexception +solrgenericresponse +solr_get_version +solrillegalargumentexception +solrillegaloperationexception +solrinputdocument +solrmodifiableparams +solrobject +solrparams +solrpingresponse +solrquery +solrqueryresponse +solrresponse +solrupdateresponse +solrutils +sort +soundex +sphinxclient +spl_autoload +spl_autoload_call +spl_autoload_extensions +spl_autoload_functions +spl_autoload_register +spl_autoload_unregister +splbool +spl_classes +spldoublylinkedlist +splenum +splfileinfo +splfileobject +splfixedarray +splfloat +splheap +splint +split +spliti +splmaxheap +splminheap +spl_object_hash +splobjectstorage +splobserver +splpriorityqueue +splqueue +splstack +splstring +splsubject +spltempfileobject +spltype +spoofchecker +sprintf +sqlite3 +sqlite3result +sqlite3stmt +sqlite_array_query +sqlite_busy_timeout +sqlite_changes +sqlite_close +sqlite_column +sqlite_create_aggregate +sqlite_create_function +sqlite_current +sqlite_error_string +sqlite_escape_string +sqlite_exec +sqlite_factory +sqlite_fetch_all +sqlite_fetch_array +sqlite_fetch_column_types +sqlite_fetch_object +sqlite_fetch_single +sqlite_fetch_string +sqlite_field_name +sqlite_has_more +sqlite_has_prev +sqlite_key +sqlite_last_error +sqlite_last_insert_rowid +sqlite_libencoding +sqlite_libversion +sqlite_next +sqlite_num_fields +sqlite_num_rows +sqlite_open +sqlite_popen +sqlite_prev +sqlite_query +sqlite_rewind +sqlite_seek +sqlite_single_query +sqlite_udf_decode_binary +sqlite_udf_encode_binary +sqlite_unbuffered_query +sqlite_valid +sql_regcase +sqlsrv_begin_transaction +sqlsrv_cancel +sqlsrv_client_info +sqlsrv_close +sqlsrv_commit +sqlsrv_configure +sqlsrv_connect +sqlsrv_errors +sqlsrv_execute +sqlsrv_fetch +sqlsrv_fetch_array +sqlsrv_fetch_object +sqlsrv_field_metadata +sqlsrv_free_stmt +sqlsrv_get_config +sqlsrv_get_field +sqlsrv_has_rows +sqlsrv_next_result +sqlsrv_num_fields +sqlsrv_num_rows +sqlsrv_prepare +sqlsrv_query +sqlsrv_rollback +sqlsrv_rows_affected +sqlsrv_send_stream_data +sqlsrv_server_info +sqrt +srand +sscanf +ssdeep_fuzzy_compare +ssdeep_fuzzy_hash +ssdeep_fuzzy_hash_filename +ssh2_auth_hostbased_file +ssh2_auth_none +ssh2_auth_password +ssh2_auth_pubkey_file +ssh2_connect +ssh2_exec +ssh2_fetch_stream +ssh2_fingerprint +ssh2_methods_negotiated +ssh2_publickey_add +ssh2_publickey_init +ssh2_publickey_list +ssh2_publickey_remove +ssh2_scp_recv +ssh2_scp_send +ssh2_sftp +ssh2_sftp_lstat +ssh2_sftp_mkdir +ssh2_sftp_readlink +ssh2_sftp_realpath +ssh2_sftp_rename +ssh2_sftp_rmdir +ssh2_sftp_stat +ssh2_sftp_symlink +ssh2_sftp_unlink +ssh2_shell +ssh2_tunnel +stat +static +stats_absolute_deviation +stats_cdf_beta +stats_cdf_binomial +stats_cdf_cauchy +stats_cdf_chisquare +stats_cdf_exponential +stats_cdf_f +stats_cdf_gamma +stats_cdf_laplace +stats_cdf_logistic +stats_cdf_negative_binomial +stats_cdf_noncentral_chisquare +stats_cdf_noncentral_f +stats_cdf_poisson +stats_cdf_t +stats_cdf_uniform +stats_cdf_weibull +stats_covariance +stats_dens_beta +stats_dens_cauchy +stats_dens_chisquare +stats_dens_exponential +stats_dens_f +stats_dens_gamma +stats_dens_laplace +stats_dens_logistic +stats_dens_negative_binomial +stats_dens_normal +stats_dens_pmf_binomial +stats_dens_pmf_hypergeometric +stats_dens_pmf_poisson +stats_dens_t +stats_dens_weibull +stats_den_uniform +stats_harmonic_mean +stats_kurtosis +stats_rand_gen_beta +stats_rand_gen_chisquare +stats_rand_gen_exponential +stats_rand_gen_f +stats_rand_gen_funiform +stats_rand_gen_gamma +stats_rand_gen_ibinomial +stats_rand_gen_ibinomial_negative +stats_rand_gen_int +stats_rand_gen_ipoisson +stats_rand_gen_iuniform +stats_rand_gen_noncenral_chisquare +stats_rand_gen_noncentral_f +stats_rand_gen_noncentral_t +stats_rand_gen_normal +stats_rand_gen_t +stats_rand_get_seeds +stats_rand_phrase_to_seeds +stats_rand_ranf +stats_rand_setall +stats_skew +stats_standard_deviation +stats_stat_binomial_coef +stats_stat_correlation +stats_stat_gennch +stats_stat_independent_t +stats_stat_innerproduct +stats_stat_noncentral_t +stats_stat_paired_t +stats_stat_percentile +stats_stat_powersum +stats_variance +stomp +stomp_connect_error +stompexception +stompframe +stomp_version +strcasecmp +strchr +strcmp +strcoll +strcspn +stream_bucket_append +stream_bucket_make_writeable +stream_bucket_new +stream_bucket_prepend +stream_context_create +stream_context_get_default +stream_context_get_options +stream_context_get_params +stream_context_set_default +stream_context_set_option +stream_context_set_params +stream_copy_to_stream +stream_encoding +stream_filter_append +stream_filter_prepend +stream_filter_register +stream_filter_remove +stream_get_contents +stream_get_filters +stream_get_line +stream_get_meta_data +stream_get_transports +stream_get_wrappers +stream_is_local +stream_notification_callback +stream_register_wrapper +stream_resolve_include_path +stream_select +stream_set_blocking +stream_set_read_buffer +stream_set_timeout +stream_set_write_buffer +stream_socket_accept +stream_socket_client +stream_socket_enable_crypto +stream_socket_get_name +stream_socket_pair +stream_socket_recvfrom +stream_socket_sendto +stream_socket_server +stream_socket_shutdown +stream_supports_lock +streamwrapper +stream_wrapper_register +stream_wrapper_restore +stream_wrapper_unregister +strftime +str_getcsv +stripcslashes +stripos +stripslashes +strip_tags +str_ireplace +stristr +strlen +strnatcasecmp +strnatcmp +strncasecmp +strncmp +str_pad +strpbrk +strpos +strptime +strrchr +str_repeat +str_replace +strrev +strripos +str_rot13 +strrpos +str_shuffle +str_split +strspn +strstr +strtok +strtolower +strtotime +strtoupper +strtr +strval +str_word_count +substr +substr_compare +substr_count +substr_replace +svm +svmmodel +svn_add +svn_auth_get_parameter +svn_auth_set_parameter +svn_blame +svn_cat +svn_checkout +svn_cleanup +svn_client_version +svn_commit +svn_delete +svn_diff +svn_export +svn_fs_abort_txn +svn_fs_apply_text +svn_fs_begin_txn2 +svn_fs_change_node_prop +svn_fs_check_path +svn_fs_contents_changed +svn_fs_copy +svn_fs_delete +svn_fs_dir_entries +svn_fs_file_contents +svn_fs_file_length +svn_fs_is_dir +svn_fs_is_file +svn_fs_make_dir +svn_fs_make_file +svn_fs_node_created_rev +svn_fs_node_prop +svn_fs_props_changed +svn_fs_revision_prop +svn_fs_revision_root +svn_fs_txn_root +svn_fs_youngest_rev +svn_import +svn_log +svn_ls +svn_mkdir +svn_repos_create +svn_repos_fs +svn_repos_fs_begin_txn_for_commit +svn_repos_fs_commit_txn +svn_repos_hotcopy +svn_repos_open +svn_repos_recover +svn_revert +svn_status +svn_update +swfaction +swfaction.construct +swf_actiongeturl +swf_actiongotoframe +swf_actiongotolabel +swf_actionnextframe +swf_actionplay +swf_actionprevframe +swf_actionsettarget +swf_actionstop +swf_actiontogglequality +swf_actionwaitforframe +swf_addbuttonrecord +swf_addcolor +swfbitmap +swfbitmap.construct +swfbitmap.getheight +swfbitmap.getwidth +swfbutton +swfbutton.addaction +swfbutton.addasound +swfbutton.addshape +swfbutton.construct +swfbutton.setaction +swfbutton.setdown +swfbutton.sethit +swfbutton.setmenu +swfbutton.setover +swfbutton.setup +swf_closefile +swf_definebitmap +swf_definefont +swf_defineline +swf_definepoly +swf_definerect +swf_definetext +swfdisplayitem +swfdisplayitem.addaction +swfdisplayitem.addcolor +swfdisplayitem.endmask +swfdisplayitem.getrot +swfdisplayitem.getx +swfdisplayitem.getxscale +swfdisplayitem.getxskew +swfdisplayitem.gety +swfdisplayitem.getyscale +swfdisplayitem.getyskew +swfdisplayitem.move +swfdisplayitem.moveto +swfdisplayitem.multcolor +swfdisplayitem.remove +swfdisplayitem.rotate +swfdisplayitem.rotateto +swfdisplayitem.scale +swfdisplayitem.scaleto +swfdisplayitem.setdepth +swfdisplayitem.setmasklevel +swfdisplayitem.setmatrix +swfdisplayitem.setname +swfdisplayitem.setratio +swfdisplayitem.skewx +swfdisplayitem.skewxto +swfdisplayitem.skewy +swfdisplayitem.skewyto +swf_endbutton +swf_enddoaction +swf_endshape +swf_endsymbol +swffill +swffill.moveto +swffill.rotateto +swffill.scaleto +swffill.skewxto +swffill.skewyto +swffont +swffontchar +swffontchar.addchars +swffontchar.addutf8chars +swffont.construct +swffont.getascent +swffont.getdescent +swffont.getleading +swffont.getshape +swffont.getutf8width +swffont.getwidth +swf_fontsize +swf_fontslant +swf_fonttracking +swf_getbitmapinfo +swf_getfontinfo +swf_getframe +swfgradient +swfgradient.addentry +swfgradient.construct +swf_labelframe +swf_lookat +swf_modifyobject +swfmorph +swfmorph.construct +swfmorph.getshape1 +swfmorph.getshape2 +swfmovie +swfmovie.add +swfmovie.addexport +swfmovie.addfont +swfmovie.construct +swfmovie.importchar +swfmovie.importfont +swfmovie.labelframe +swfmovie.nextframe +swfmovie.output +swfmovie.remove +swfmovie.save +swfmovie.savetofile +swfmovie.setbackground +swfmovie.setdimension +swfmovie.setframes +swfmovie.setrate +swfmovie.startsound +swfmovie.stopsound +swfmovie.streammp3 +swfmovie.writeexports +swf_mulcolor +swf_nextid +swf_oncondition +swf_openfile +swf_ortho +swf_ortho2 +swf_perspective +swf_placeobject +swf_polarview +swf_popmatrix +swf_posround +swfprebuiltclip +swfprebuiltclip.construct +swf_pushmatrix +swf_removeobject +swf_rotate +swf_scale +swf_setfont +swf_setframe +swfshape +swfshape.addfill +swf_shapearc +swfshape.construct +swf_shapecurveto +swf_shapecurveto3 +swfshape.drawarc +swfshape.drawcircle +swfshape.drawcubic +swfshape.drawcubicto +swfshape.drawcurve +swfshape.drawcurveto +swfshape.drawglyph +swfshape.drawline +swfshape.drawlineto +swf_shapefillbitmapclip +swf_shapefillbitmaptile +swf_shapefilloff +swf_shapefillsolid +swf_shapelinesolid +swf_shapelineto +swfshape.movepen +swfshape.movepento +swf_shapemoveto +swfshape.setleftfill +swfshape.setline +swfshape.setrightfill +swf_showframe +swfsound +swfsound.construct +swfsoundinstance +swfsoundinstance.loopcount +swfsoundinstance.loopinpoint +swfsoundinstance.loopoutpoint +swfsoundinstance.nomultiple +swfsprite +swfsprite.add +swfsprite.construct +swfsprite.labelframe +swfsprite.nextframe +swfsprite.remove +swfsprite.setframes +swfsprite.startsound +swfsprite.stopsound +swf_startbutton +swf_startdoaction +swf_startshape +swf_startsymbol +swftext +swftext.addstring +swftext.addutf8string +swftext.construct +swftextfield +swftextfield.addchars +swftextfield.addstring +swftextfield.align +swftextfield.construct +swftextfield.setbounds +swftextfield.setcolor +swftextfield.setfont +swftextfield.setheight +swftextfield.setindentation +swftextfield.setleftmargin +swftextfield.setlinespacing +swftextfield.setmargins +swftextfield.setname +swftextfield.setpadding +swftextfield.setrightmargin +swftext.getascent +swftext.getdescent +swftext.getleading +swftext.getutf8width +swftext.getwidth +swftext.moveto +swftext.setcolor +swftext.setfont +swftext.setheight +swftext.setspacing +swf_textwidth +swf_translate +swfvideostream +swfvideostream.construct +swfvideostream.getnumframes +swfvideostream.setdimension +swf_viewport +swish_construct +swish_getmetalist +swish_getpropertylist +swish_prepare +swish_query +swishresult_getmetalist +swishresults_getparsedwords +swishresults_getremovedstopwords +swishresults_nextresult +swishresults_seekresult +swishresult_stem +swishsearch_execute +swishsearch_resetlimit +swishsearch_setlimit +swishsearch_setphrasedelimiter +swishsearch_setsort +swishsearch_setstructure +switch +sybase_affected_rows +sybase_close +sybase_connect +sybase_data_seek +sybase_deadlock_retry_count +sybase_fetch_array +sybase_fetch_assoc +sybase_fetch_field +sybase_fetch_object +sybase_fetch_row +sybase_field_seek +sybase_free_result +sybase_get_last_message +sybase_min_client_severity +sybase_min_error_severity +sybase_min_message_severity +sybase_min_server_severity +sybase_num_fields +sybase_num_rows +sybase_pconnect +sybase_query +sybase_result +sybase_select_db +sybase_set_message_handler +sybase_unbuffered_query +symlink +sys_getloadavg +sys_get_temp_dir +syslog +system +tan +tanh +tcpwrap_check +tempnam +textdomain +throw +tidy +tidy_access_count +tidy_config_count +tidy_diagnose +tidy_error_count +tidy_get_error_buffer +tidy_get_output +tidy_load_config +tidynode +tidy_reset_config +tidy_save_config +tidy_set_encoding +tidy_setopt +tidy_warning_count +time +time_nanosleep +time_sleep_until +timezone_abbreviations_list +timezone_identifiers_list +timezone_location_get +timezone_name_from_abbr +timezone_name_get +timezone_offset_get +timezone_open +timezone_transitions_get +timezone_version_get +tmpfile +token_get_all +token_name +tokyotyrant +tokyotyrantquery +tokyotyranttable +tostring +__toString() +touch +transliterator +traversable +trigger_error +trim +try +uasort +ucfirst +ucwords +udm_add_search_limit +udm_alloc_agent +udm_alloc_agent_array +udm_api_version +udm_cat_list +udm_cat_path +udm_check_charset +udm_check_stored +udm_clear_search_limits +udm_close_stored +udm_crc32 +udm_errno +udm_error +udm_find +udm_free_agent +udm_free_ispell_data +udm_free_res +udm_get_doc_count +udm_get_res_field +udm_get_res_param +udm_hash32 +udm_load_ispell_data +udm_open_stored +udm_set_agent_param +uksort +umask +underflowexception +unexpectedvalueexception +uniqid +unixtojd +unlink +unpack +unregister_tick_function +unserialize +unset +__unset() +urldecode +urlencode +use +user_error +use_soap_error_handler +usleep +usort +utf8_decode +utf8_encode +v8js +v8jsexception +var +var_dump +var_export +variant +variant_abs +variant_add +variant_and +variant_cast +variant_cat +variant_cmp +variant_date_from_timestamp +variant_date_to_timestamp +variant_div +variant_eqv +variant_fix +variant_get_type +variant_idiv +variant_imp +variant_int +variant_mod +variant_mul +variant_neg +variant_not +variant_or +variant_pow +variant_round +variant_set +variant_set_type +variant_sub +variant_xor +version_compare +vfprintf +virtual +vpopmail_add_alias_domain +vpopmail_add_alias_domain_ex +vpopmail_add_domain +vpopmail_add_domain_ex +vpopmail_add_user +vpopmail_alias_add +vpopmail_alias_del +vpopmail_alias_del_domain +vpopmail_alias_get +vpopmail_alias_get_all +vpopmail_auth_user +vpopmail_del_domain +vpopmail_del_domain_ex +vpopmail_del_user +vpopmail_error +vpopmail_passwd +vpopmail_set_user_quota +vprintf +vsprintf +w32api_deftype +w32api_init_dtype +w32api_invoke_function +w32api_register_function +w32api_set_call_method +__wakeup() +wddx_add_vars +wddx_deserialize +wddx_packet_end +wddx_packet_start +wddx_serialize_value +wddx_serialize_vars +weakref +while +win32_continue_service +win32_create_service +win32_delete_service +win32_get_last_control_message +win32_pause_service +win32_ps_list_procs +win32_ps_stat_mem +win32_ps_stat_proc +win32_query_service_status +win32_set_service_status +win32_start_service +win32_start_service_ctrl_dispatcher +win32_stop_service +wincache_fcache_fileinfo +wincache_fcache_meminfo +wincache_lock +wincache_ocache_fileinfo +wincache_ocache_meminfo +wincache_refresh_if_changed +wincache_rplist_fileinfo +wincache_rplist_meminfo +wincache_scache_info +wincache_scache_meminfo +wincache_ucache_add +wincache_ucache_cas +wincache_ucache_clear +wincache_ucache_dec +wincache_ucache_delete +wincache_ucache_exists +wincache_ucache_get +wincache_ucache_inc +wincache_ucache_info +wincache_ucache_meminfo +wincache_ucache_set +wincache_unlock +wordwrap +xattr_get +xattr_list +xattr_remove +xattr_set +xattr_supported +xdiff_file_bdiff +xdiff_file_bdiff_size +xdiff_file_bpatch +xdiff_file_diff +xdiff_file_diff_binary +xdiff_file_merge3 +xdiff_file_patch +xdiff_file_patch_binary +xdiff_file_rabdiff +xdiff_string_bdiff +xdiff_string_bdiff_size +xdiff_string_bpatch +xdiff_string_diff +xdiff_string_diff_binary +xdiff_string_merge3 +xdiff_string_patch +xdiff_string_patch_binary +xdiff_string_rabdiff +xhprof_disable +xhprof_enable +xhprof_sample_disable +xhprof_sample_enable +xml_error_string +xml_get_current_byte_index +xml_get_current_column_number +xml_get_current_line_number +xml_get_error_code +xml_parse +xml_parse_into_struct +xml_parser_create +xml_parser_create_ns +xml_parser_free +xml_parser_get_option +xml_parser_set_option +xmlreader +xmlrpc_decode +xmlrpc_decode_request +xmlrpc_encode +xmlrpc_encode_request +xmlrpc_get_type +xmlrpc_is_fault +xmlrpc_parse_method_descriptions +xmlrpc_server_add_introspection_data +xmlrpc_server_call_method +xmlrpc_server_create +xmlrpc_server_destroy +xmlrpc_server_register_introspection_callback +xmlrpc_server_register_method +xmlrpc_set_type +xml_set_character_data_handler +xml_set_default_handler +xml_set_element_handler +xml_set_end_namespace_decl_handler +xml_set_external_entity_ref_handler +xml_set_notation_decl_handler +xml_set_object +xml_set_processing_instruction_handler +xml_set_start_namespace_decl_handler +xml_set_unparsed_entity_decl_handler +xmlwriter_end_attribute +xmlwriter_end_cdata +xmlwriter_end_comment +xmlwriter_end_document +xmlwriter_end_dtd +xmlwriter_end_dtd_attlist +xmlwriter_end_dtd_element +xmlwriter_end_dtd_entity +xmlwriter_end_element +xmlwriter_end_pi +xmlwriter_flush +xmlwriter_full_end_element +xmlwriter_open_memory +xmlwriter_open_uri +xmlwriter_output_memory +xmlwriter_set_indent +xmlwriter_set_indent_string +xmlwriter_start_attribute +xmlwriter_start_attribute_ns +xmlwriter_start_cdata +xmlwriter_start_comment +xmlwriter_start_document +xmlwriter_start_dtd +xmlwriter_start_dtd_attlist +xmlwriter_start_dtd_element +xmlwriter_start_dtd_entity +xmlwriter_start_element +xmlwriter_start_element_ns +xmlwriter_start_pi +xmlwriter_text +xmlwriter_write_attribute +xmlwriter_write_attribute_ns +xmlwriter_write_cdata +xmlwriter_write_comment +xmlwriter_write_dtd +xmlwriter_write_dtd_attlist +xmlwriter_write_dtd_element +xmlwriter_write_dtd_entity +xmlwriter_write_element +xmlwriter_write_element_ns +xmlwriter_write_pi +xmlwriter_write_raw +xor +xpath_eval +xpath_eval_expression +xpath_new_context +xpath_register_ns +xpath_register_ns_auto +xptr_eval +xptr_new_context +xslt_backend_info +xslt_backend_name +xslt_backend_version +xslt_create +xslt_errno +xslt_error +xslt_free +xslt_getopt +xslt_process +xsltprocessor +xslt_set_base +xslt_set_encoding +xslt_set_error_handler +xslt_set_log +xslt_set_object +xslt_setopt +xslt_set_sax_handler +xslt_set_sax_handlers +xslt_set_scheme_handler +xslt_set_scheme_handlers +yaml_emit +yaml_emit_file +yaml_parse +yaml_parse_file +yaml_parse_url +yaz_addinfo +yaz_ccl_conf +yaz_ccl_parse +yaz_close +yaz_connect +yaz_database +yaz_element +yaz_errno +yaz_error +yaz_es +yaz_es_result +yaz_get_option +yaz_hits +yaz_itemorder +yaz_present +yaz_range +yaz_record +yaz_scan +yaz_scan_result +yaz_schema +yaz_search +yaz_set_option +yaz_sort +yaz_syntax +yaz_wait +yp_all +yp_cat +yp_errno +yp_err_string +yp_first +yp_get_default_domain +yp_master +yp_match +yp_next +yp_order +zend_logo_guid +zend_thread_id +zend_version +ziparchive +ziparchive_addemptydir +ziparchive_addfile +ziparchive_addfromstring +ziparchive_close +ziparchive_deleteindex +ziparchive_deletename +ziparchive_extractto +ziparchive_getarchivecomment +ziparchive_getcommentindex +ziparchive_getcommentname +ziparchive_getfromindex +ziparchive_getfromname +ziparchive_getnameindex +ziparchive_getstatusstring +ziparchive_getstream +ziparchive_locatename +ziparchive_open +ziparchive_renameindex +ziparchive_renamename +ziparchive_setarchivecomment +ziparchive_setcommentindex +ziparchive_setCommentName +ziparchive_statindex +ziparchive_statname +ziparchive_unchangeall +ziparchive_unchangearchive +ziparchive_unchangeindex +ziparchive_unchangename +zip_close +zip_entry_close +zip_entry_compressedsize +zip_entry_compressionmethod +zip_entry_filesize +zip_entry_name +zip_entry_open +zip_entry_read +zip_open +zip_read +zlib_get_coding_type diff --git a/scripts/emacs/auto-complete-1.4/dict/python-mode b/scripts/emacs/auto-complete-1.4/dict/python-mode new file mode 100644 index 0000000000000000000000000000000000000000..0ef64894ae5920aea07090fb99443c53c7cb8ad1 --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/dict/python-mode @@ -0,0 +1,175 @@ +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 +print +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 diff --git a/scripts/emacs/auto-complete-1.4/dict/ruby-mode b/scripts/emacs/auto-complete-1.4/dict/ruby-mode new file mode 100644 index 0000000000000000000000000000000000000000..90b4fc9d8042c4f1cf1ed2e6d9c8a12ccdd7bb11 --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/dict/ruby-mode @@ -0,0 +1,181 @@ +$! +$" +$$ +$& +$' +$* +$+ +$, +$-0 +$-F +$-I +$-K +$-a +$-d +$-i +$-l +$-p +$-v +$-w +$. +$/ +$0 +$1 +$10 +$11 +$2 +$3 +$4 +$5 +$6 +$7 +$8 +$9 +$: +$; +$< +$= +$> +$? +$@ +$DEBUG +$FILENAME +$KCODE +$LOADED_FEATURES +$LOAD_PATH +$PROGRAM_NAME +$SAFE +$VERBOSE +$\ +$_ +$` +$deferr +$defout +$stderr +$stdin +$stdout +$~ +ARGF +ARGV +Array +BEGIN +DATA +END +ENV +FALSE +Float +Integer +NIL +PLATFORM +RELEASE_DATE +RUBY_COPYRIGHT +RUBY_DESCRIPTION +RUBY_PATCHLEVEL +RUBY_PLATFORM +RUBY_RELEASE_DATE +RUBY_VERSION +SCRIPT_LINES__ +STDERR +STDIN +STDOUT +String +TOPLEVEL_BINDING +TRUE +VERSION +__method__ +` +abort +alias +and +at_exit +autoload +autoload? +begin +binding +block_given +break +callcc +caller +case +catch +chomp +chomp! +chop +chop +class +def +defined? +do +else +elsif +end +ensure +eval +exec +exit +exit! +fail +false +for +fork +format +getc +gets +global_variables +gsub +gsub! +if +in +iterator? +lambda +load +local_varaibles +loop +module +next +nil +not +open +or +p +printf +proc +putc +puts +raise +rand +readline +readlines +redo +require +require_relative +rescue +retry +return +scan +select +self +set_trace_func +sleep +split +sprintf +srand +sub +sub! +super +syscall +system +test +then +throw +trace_var +trap +true +undef +unless +until +untrace_var +warn +when +while +yield diff --git a/scripts/emacs/auto-complete-1.4/dict/scheme-mode b/scripts/emacs/auto-complete-1.4/dict/scheme-mode new file mode 100644 index 0000000000000000000000000000000000000000..e5cca61519066e846fc7055883b64b55fe208e53 --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/dict/scheme-mode @@ -0,0 +1,216 @@ +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! diff --git a/scripts/emacs/auto-complete-1.4/dict/sh-mode b/scripts/emacs/auto-complete-1.4/dict/sh-mode new file mode 100644 index 0000000000000000000000000000000000000000..df66ae35c7a010598dd1646c834a336cfb381426 --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/dict/sh-mode @@ -0,0 +1,182 @@ +# 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 +MAIL +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 diff --git a/scripts/emacs/auto-complete-1.4/dict/tcl-mode b/scripts/emacs/auto-complete-1.4/dict/tcl-mode new file mode 100644 index 0000000000000000000000000000000000000000..07a1281517b1f68a0298e60bd6db62a66167ca7f --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/dict/tcl-mode @@ -0,0 +1,172 @@ +after +append +apply +array +auto_execok +auto_import +auto_load +auto_load_index +auto_mkindex +auto_mkindex_old +auto_qualify +auto_reset +bell +binary +bind +bindtags +break +button +canvas +case +catch +cd +chan +checkbutton +clipboard +clock +close +concat +continue +destroy +dict +encoding +entry +eof +error +eval +event +exec +exit +expr +fblocked +fconfigure +fcopy +file +fileevent +flush +focus +font +for +foreach +format +frame +gets +glob +global +grab +grid +if +image +incr +info +interp +join +label +labelframe +lappend +lassign +lindex +linsert +list +listbox +llength +load +lower +lrange +lrepeat +lreplace +lreverse +lsearch +lset +lsort +menu +menubutton +message +namespace +open +option +pack +package +panedwindow +pid +pkg_mkIndex +place +proc +puts +pwd +radiobutton +raise +read +regexp +registry +regsub +rename +return +scale +scan +scrollbar +seek +selection +set +socket +source +spinbox +split +string +subst +switch +tclLog +tclPkgSetup +tclPkgUnknown +tcl_findLibrary +tell +text +time +tk +tk_chooseColor +tk_chooseDirectory +tk_getOpenFile +tk_getSaveFile +tk_menuSetFocus +tk_messageBox +tk_popup +tk_textCopy +tk_textCut +tk_textPaste +tkwait +toplevel +ttk::button +ttk::checkbutton +ttk::combobox +ttk::entry +ttk::focusFirst +ttk::frame +ttk::label +ttk::labelframe +ttk::menubutton +ttk::notebook +ttk::paned +ttk::panedwindow +ttk::progressbar +ttk::radiobutton +ttk::scale +ttk::scrollbar +ttk::separator +ttk::setTheme +ttk::sizegrip +ttk::style +ttk::takefocus +ttk::themes +ttk::treeview +trace +unknown +unload +unset +update +uplevel +upvar +variable +vwait +while +winfo +wm diff --git a/scripts/emacs/auto-complete-1.4/dict/ts-mode b/scripts/emacs/auto-complete-1.4/dict/ts-mode new file mode 100644 index 0000000000000000000000000000000000000000..ffe377f98fc23144f93e1beec66d441dd6cf842f --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/dict/ts-mode @@ -0,0 +1,797 @@ +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 +email +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 diff --git a/scripts/emacs/auto-complete-1.4/dict/tuareg-mode b/scripts/emacs/auto-complete-1.4/dict/tuareg-mode new file mode 100644 index 0000000000000000000000000000000000000000..e709f9f62fc10a80bfd49a8421398b17ece4657a --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/dict/tuareg-mode @@ -0,0 +1,231 @@ +# 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 +|| +~ +~+ +~+. +~- +~-. diff --git a/scripts/emacs/auto-complete-1.4/doc/ac-fuzzy.png b/scripts/emacs/auto-complete-1.4/doc/ac-fuzzy.png new file mode 100644 index 0000000000000000000000000000000000000000..9940fa750d6f69bc28bf8a10a60bc0c98a2e0ae1 Binary files /dev/null and b/scripts/emacs/auto-complete-1.4/doc/ac-fuzzy.png differ diff --git a/scripts/emacs/auto-complete-1.4/doc/ac-isearch.png b/scripts/emacs/auto-complete-1.4/doc/ac-isearch.png new file mode 100644 index 0000000000000000000000000000000000000000..e2ce709c26e920d19dd6e11d947ce33e7a11e598 Binary files /dev/null and b/scripts/emacs/auto-complete-1.4/doc/ac-isearch.png differ diff --git a/scripts/emacs/auto-complete-1.4/doc/ac.png b/scripts/emacs/auto-complete-1.4/doc/ac.png new file mode 100644 index 0000000000000000000000000000000000000000..f304e093495abccf9e6eb189459733e2188ccdec Binary files /dev/null and b/scripts/emacs/auto-complete-1.4/doc/ac.png differ diff --git a/scripts/emacs/auto-complete-1.4/doc/changes.ja.txt b/scripts/emacs/auto-complete-1.4/doc/changes.ja.txt new file mode 100644 index 0000000000000000000000000000000000000000..854d3ff693bc5be2da31bc733243416fd6147d4c --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/doc/changes.ja.txt @@ -0,0 +1,133 @@ +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} + +* 多ãã®ãƒã‚°ä¿®æ£ +* ãƒ‘ãƒ•ã‚©ãƒ¼ãƒžãƒ³ã‚¹ã®æ”¹å–„ diff --git a/scripts/emacs/auto-complete-1.4/doc/changes.txt b/scripts/emacs/auto-complete-1.4/doc/changes.txt new file mode 100644 index 0000000000000000000000000000000000000000..489b2c16ec69b10a705f0bd904934012c03c6c48 --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/doc/changes.txt @@ -0,0 +1,133 @@ +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 diff --git a/scripts/emacs/auto-complete-1.4/doc/demo.txt b/scripts/emacs/auto-complete-1.4/doc/demo.txt new file mode 100644 index 0000000000000000000000000000000000000000..aa04d7d4adacdd4911056dceadbfeba5881d63e6 --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/doc/demo.txt @@ -0,0 +1,11 @@ +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" /> diff --git a/scripts/emacs/auto-complete-1.4/doc/index.ja.txt b/scripts/emacs/auto-complete-1.4/doc/index.ja.txt new file mode 100644 index 0000000000000000000000000000000000000000..28abfb4e223f6398b0c453e3b0d3cdea44062d70 --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/doc/index.ja.txt @@ -0,0 +1,79 @@ +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/ diff --git a/scripts/emacs/auto-complete-1.4/doc/index.txt b/scripts/emacs/auto-complete-1.4/doc/index.txt new file mode 100644 index 0000000000000000000000000000000000000000..5447df21c0ac07cb53077b55f3ea17bcb97d316d --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/doc/index.txt @@ -0,0 +1,79 @@ +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/ diff --git a/scripts/emacs/auto-complete-1.4/doc/manual.ja.txt b/scripts/emacs/auto-complete-1.4/doc/manual.ja.txt new file mode 100644 index 0000000000000000000000000000000000000000..27b6d8e012c7b331d3e2af255c88ba99eab7a23a --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/doc/manual.ja.txt @@ -0,0 +1,1108 @@ +Title: Auto Complete Modeユーザーマニュアル +Numbering: yes +CSS: style.css + +Auto Complete Modeユーザーマニュアル +==================================== + +[Index](index.ja.txt) + +\[[English](manual.txt)] + +* * * * + +{toc} + +* * * * + +ã¯ã˜ã‚ã« +-------- + +Auto Complete Mode(通称ã€`auto-complete.el`, `auto-complete-mode`)ã¯[GNU Emacs][](以下Emacs)ã®è£œå®Œã‚·ã‚¹ãƒ†ãƒ を自動化・高度化ã™ã‚‹æ‹¡å¼µã§ã™ã€‚従æ¥ã®è£œå®Œã‚·ã‚¹ãƒ†ãƒ ã¨æ¯”ã¹ã¦ä»¥ä¸‹ã®ç‚¹ã§å„ªã‚Œã¦ã„ã¾ã™ã€‚ + +* è¦–è¦šçš„ãªæ“作感 +* 統計的手法ã«ã‚ˆã‚‹è£œå®Œã‚ªãƒ¼ãƒãƒ¼ãƒ˜ãƒƒãƒ‰ã®å‰Šæ¸› +* 拡張性 + +本マニュアルã¯ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ–¹æ³•ã‹ã‚‰åŸºæœ¬çš„ãªä½¿ã„方・è¨å®šæ–¹æ³•ã€ã¾ãŸæ‹¡å¼µæ–¹æ³•ã¾ã§ã‚’網羅ã—ã¦ã„ã¾ã™ã€‚䏿˜Žãªç‚¹ãŒã‚れã°é–‹ç™ºè€…ã¾ã§é€£çµ¡ã‚’ãã ã•ã„。 + +ãªãŠã€Auto Complete Modeã¯[GPLv3][]ã®ã‚‚ã¨ã§ãƒ©ã‚¤ã‚»ãƒ³ã‚¹ã•れã¦ã„ã¾ã™ã€‚ã¾ãŸã€ã“ã®ãƒ‰ã‚ュメントã¯[GFDL][]ã®ã‚‚ã¨ã§ãƒ©ã‚¤ã‚»ãƒ³ã‚¹ã•れã¦ã„ã¾ã™ã€‚ + +ダウンãƒãƒ¼ãƒ‰ +------------ + +[Auto Complete Modeã®ãƒˆãƒƒãƒ—ページ](index.ja.txt)ã‹ã‚‰ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã§ãã¾ã™ã€‚ + +インストール +------------ + +### å¿…è¦æ¡ä»¶ ### + +* 800MHz以上ã®CPU +* 256MB以上ã®ãƒ¡ãƒ¢ãƒª +* GNU Emacs 22以上 + +### インストールスクリプト ### + +パッケージディレクトリ内ã®`etc/install.el`ã¨ã„ã†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚¹ã‚¯ãƒªãƒ—トを利用ã™ã‚Œã°ç°¡å˜ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’行ã†ã“ã¨ãŒã§ãã¾ã™ã€‚ + +èµ·å‹•ä¸ã®Emacsã‚ã‚‹ã„ã¯æ–°ã—ãèµ·å‹•ã—ãŸEmacsã§`M-x load-file RET`ã¨å…¥åŠ›ã—ã¦ãã ã•ã„。ãªãŠ`auto-complete-mode`をアップグレードã™ã‚‹å ´åˆã¯**`-q`ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã§æ–°ã—ãèµ·å‹•ã—ãŸEmacs**ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’行ã£ã¦ãã ã•ã„。`auto-complete-mode`ãƒãƒ¼ãƒ‰ã™ã‚‹ãƒ•ァイルåã‚’å°‹ãられるã®ã§ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–を展開ã—ãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«`/etc/install.el`ã‚’è¿½åŠ ã—ãŸãƒ•ルパスを入力ã—ã¾ã™ã€‚例ãˆã°å±•é–‹ã—ãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ãƒ‘スãŒ`~/tmp/auto-complete-1.2`ã§ã‚ã‚‹å ´åˆã€`~/tmp/auto-complete-1.2/etc/install.el`ã¨å…¥åŠ›ã—ã¾ã™ã€‚ + +次ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«å…ˆã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’å°‹ãられã¾ã™ã®ã§ã€ãŠå¥½ã¿ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’入力ã—ã¦ãã ã•ã„。ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒ`load-path`ã«è¨å®šã•れã¦ã„ãªã„å ´åˆã¯å¾Œã§è¨å®šã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚デフォルトã§ã¯`~/.emacs.d`ã§ã™ã€‚ + +最後ã«`RET`を押ã—ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’é–‹å§‹ã—ã¦ãã ã•ã„。インストールãŒå®Œäº†ã™ã‚‹ã¨æ¬¡ã®ã‚ˆã†ãªãƒãƒƒãƒ•ã‚¡ãŒè¡¨ç¤ºã•れるã®ã§ã€æŒ‡ç¤ºã«å¾“ã£ã¦`.emacs`を編集ã—ã¦ãã ã•ã„。 + +ã‚ã‚‹ã„ã¯ã€æ¬¡ã®ã‚ˆã†ã«ã‚¿ãƒ¼ãƒŸãƒŠãƒ«ã‹ã‚‰ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ + + $ make install + $ # ã‚ã‚‹ã„ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’ã‚らã‹ã˜ã‚指定ã—㦠+ $ make install DIR=$HOME/.emacs.d/ + +GNU MakeãŒãªã„å ´åˆã¯æ¬¡ã®ã‚ˆã†ã«ã—ã¾ã™ã€‚ + + $ emacs -batch -l etc/install.el + +**インストール後ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ä¾‹ï¼ˆ\*Installation Result*ãƒãƒƒãƒ•ァ)** + + Successfully installed! + + Add the following code to your .emacs: + + (add-to-list 'load-path "~/.emacs.d") ; load-pathã«ã™ã§ã«è¨å®šã•れã¦ã„ã‚‹å ´åˆã¯è¡¨ã‚Œã¾ã›ã‚“ + (require 'auto-complete-config) + (add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict") + (ac-config-default) + +### 手動ã«ã‚ˆã‚‹ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ« ### + +ディレクトリ構æˆã¨è¨å®šãŒæ£ã—ã‘ã‚Œã°æ‰‹å‹•ã«ã‚ˆã‚‹ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚‚å¯èƒ½ã§ã™ã€‚ã¾ãšå±•é–‹ã—ãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ãŠã„ã¦å…¨ã¦ã®`.el`ファイルã«å¯¾ã—ã¦ãƒã‚¤ãƒˆã‚³ãƒ³ãƒ‘イルを実行ã—ã¦ãã ã•ã„。UNIXç³»OSã§ã‚れã°åŒå°ã®`Makefile`を利用ã§ãã‚‹ã¨æ€ã„ã¾ã™ã€‚ + + $ make byte-compile + +`Makefile`を利用ã§ããªã„å ´åˆã¯ã€Emacsã‹ã‚‰`C-x d`ã§å±•é–‹ã—ãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’é–‹ã`* . el RET B RET`ã§`.el`ファイルをãƒã‚¤ãƒˆã‚³ãƒ³ãƒ‘イルã—ã¦ãã ã•ã„。 + +次ã«å…¨ã¦`.el`ファイルã¨`.elc`ファイルを`load-path`ãŒé€šã£ãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ã‚³ãƒ”ーã—ã¾ã™ã€‚例ãˆã°ãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒ`~/.emacs.d`ã§ã‚ã‚Œã°æ¬¡ã®ã‚ˆã†ãªã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ã¾ã™ã€‚ + + $ cp *.el *.elc ~/.emacs.d + +次ã«è¾žæ›¸ãƒ•ァイルをインストールã—ã¾ã™ã€‚ã“ã®ãƒ•ァイルãŒãªãã¦ã‚‚動作ã—ã¾ã™ãŒã€ç‰¹ã«ç†ç”±ãŒãªã‘れã°ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ãŸã»ã†ãŒã‚ˆã„ã§ã—ょã†ã€‚辞書ファイルã¯`dict`ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«æ ¼ç´ã•れã¦ãŠã‚Šã€`auto-complete.el`ãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨åŒã˜ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れる必è¦ãŒã‚りã¾ã™ã€‚例ãˆã°`auto-complete.el`ã‚’`~/.emacs.d`ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ãŸã®ã§ã‚れã°ã€`~/.emacs.d`ã«`dict`ディレクトリをコピーã—ã¾ã™ã€‚ã“ã®éš›ã€æ—¢å˜ã®ãƒ•ァイルを上書ãã—ãªã„よã†ã«ã—ã¦ãã ã•ã„。ãŠãらããã®ã‚ˆã†ãªã‚±ãƒ¼ã‚¹ã¯èµ·ã“らãªã„ã¨æ€ã„ã¾ã™ãŒã€ä¸Šè¨˜ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚¹ã‚¯ãƒªãƒ—トã§ã¯`ac-dict`ã¨ã„ã†åå‰ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«è¾žæ›¸ãƒ•ã‚¡ã‚¤ãƒ«ã‚’æ ¼ç´ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€ä»–ã®ãƒ•ァイルを上書ãã—ãŸã‚Šå¹²æ¸‰ã™ã‚‹å¯èƒ½æ€§ã‚’最å°é™ã«ã—ã¦ã„ã¾ã™ã€‚ + + $ cp -r dict ~/.emacs.d + +最後ã«`.emacs`ã«æ¬¡ã®ã‚ˆã†ãªè¨å®šã‚’記述ã—ã¾ã™ã€‚ + + (require 'auto-complete-config) + (add-to-list 'ac-dictionary-directories "~/.emacs.d/dict") + (ac-config-default) + +`load-path`ã®è¨å®šãŒè¡Œã‚れã¦ã„ãªã„å ´åˆã¯æ¬¡ã®ã‚³ãƒ¼ãƒ‰ã‚‚記述ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ + + (add-to-list 'load-path "~/.emacs.d") + +### å‹•ä½œç¢ºèª ### + +Emacsã‚’å†èµ·å‹•ã™ã‚‹ã‹æ–°è¦ã«èµ·å‹•ã—ã¦\*scratch\*ãƒãƒƒãƒ•ã‚¡ã§é©å½“ãªæ–‡å—を入力ã—ã¦ãã ã•ã„。補完メニューãŒè¡¨ã‚れã¦è£œå®ŒãŒé–‹å§‹ã•れれã°ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æˆåŠŸã§ã™ã€‚エラーãŒå‡ºãŸã‚Šè£œå®ŒãŒé–‹å§‹ã•れãªã„å ´åˆã¯ä»¥ä¸‹ã®ã“ã¨ã‚’確èªã—ãŸå¾Œã€é–‹ç™ºè€…ã«é€£çµ¡ã—ã¦ãã ã•ã„。 + +* `load-path`ã¯æ£ã—ã„ã‹ + + `auto-complete.el`をインストールã—ãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒ`load-path`ã«è¨å®šã•れã¦ã„ã‚‹ã‹ã©ã†ã‹ã€‚ + +* モードラインã«`AC`ã¨ã„ã†æ–‡å—ãŒã‚ã‚‹ã‹ + + モードライン(ãƒãƒƒãƒ•ァ下部ã®ç°è‰²ã®è¡Œï¼‰ã«`AC`ã¨ã„ã†æ–‡å—ãŒãªã„å ´åˆã¯`auto-complete-mode`ãŒæœ‰åйã«ãªã£ã¦ã„ãªã„å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚`M-x auto-complete-mode`ã§æœ‰åйã«ã—ã¦å†åº¦è©¦ã—ã¦ãã ã•ã„。 + +* エラーãŒç™ºç”Ÿ + + \*Backtrace*ãƒãƒƒãƒ•ã‚¡ã«ã‚¨ãƒ©ãƒ¼ãŒè¡¨ç¤ºã•れãŸã‚Šã€ãƒŸãƒ‹ãƒãƒƒãƒ•ァ(フレーム下部ã®å…¥åŠ›æ¬„ï¼‰ã«ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒè¡¨ç¤ºã•れãŸå ´åˆã¯ã€ãã®å†…容を添付ã®ã†ãˆé–‹ç™ºè€…ã«é€£çµ¡ã—ã¦ãã ã•ã„。 + +基本的ãªä½¿ã„æ–¹ +-------------- + +出鼻をãã˜ãよã†ã§ã™ãŒã€ã‚ã‚‹æ„味ã§ã¯`auto-complete-mode`ã«ã¯ã€Œä½¿ã„æ–¹ã€ãŒå˜åœ¨ã—ã¾ã›ã‚“。ã¨ã„ã†ã®ã‚‚ã€Emacsã®ç·¨é›†ã‚·ã‚¹ãƒ†ãƒ ã«è‡ªç„¶ã«æº¶ã‘込むよã†ã«`auto-complete-mode`ãŒè¨è¨ˆã•れã¦ã„ã‚‹ã‹ã‚‰ã§ã™ã€‚ユーザーã¯å¿«é©ãªç·¨é›†æ“作を邪é”ã•れるã“ã¨ãªãã€é«˜åº¦ãªè£œå®Œæ©Ÿèƒ½ã‚’自動的ã«äº«å—ã™ã‚‹ã“ã¨ãŒã§ãã‚‹ã®ã§ã™ã€‚究極的ã«ã¯ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ã„ã‹ãªã‚‹æŒ‡ç¤ºã‚‚ãªã—ã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒæœ›ã‚€ã‚ˆã†ã«è‡ªå‹•çš„ã«è£œå®Œã™ã‚‹ã“ã¨ãŒç›®æ¨™ã¨ãªã‚Šã¾ã™ãŒã€100%ã®è£œå®ŒæŽ¨æ¸¬ã¯ç¾å®Ÿçš„ã«ä¸å¯èƒ½ã§ã™ã€‚ãã®ç‚¹ã‚’ã‚«ãƒãƒ¼ã™ã‚‹ãŸã‚ã«è‹¥å¹²ã®ã€Œä½¿ã„æ–¹ã€ãŒå˜åœ¨ã—ã¾ã™ã€‚ã“ã®ç¯€ã§ã¯ãã®ã€Œä½¿ã„æ–¹ã€ã‚’説明ã—ã¾ã™ã€‚ + +### æ–‡å—入力 ### + +ã¾ãšåŸºæœ¬ã¨ãªã‚‹ã®ãŒæ–‡å—入力ã§ã™ã€‚æ–‡å—ãŒå…¥åŠ›ã•れãªã‘れã°è£œå®Œã‚‚ã§ãã¾ã›ã‚“。ã§ã¯ã©ã®æ–‡å—ãŒå…¥åŠ›ã•れãŸã¨ãã«è£œå®ŒãŒé–‹å§‹ã•れるã®ã‹ã¨ã„ã†ç–‘å•ãŒã‚ãã¨æ€ã„ã¾ã™ãŒã€ãれを説明ã™ã‚‹ã®ã¯é›£ã—ã„ã®ã§ã“ã“ã§ã¯å‰²æ„›ã—ã¾ã™ã€‚ç°¡å˜ã«è¨€ãˆã°ã€ã‚ãƒ¼ã®æŠ¼ã—è¾¼ã¿ã«ã‚ˆã‚‹å˜ç´”ãªæ–‡å—è¿½åŠ æ™‚ã«è£œå®ŒãŒé–‹å§‹ã•れã¾ã™ã€‚詳ã—ãã¯[`ac-trigger-commands`](#)ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 + + + +### TABã«ã‚ˆã‚‹è£œå®Œ #### + +補完ãŒé–‹å§‹ã•れるã¨TABã«ã‚ˆã‚‹è£œå®ŒãŒä¸€æ™‚çš„ã«æœ‰åйã«ãªã‚Šã¾ã™ã€‚TABã«ã‚ˆã‚‹è£œå®Œã¯`auto-complete-mode`ã«ãŠã„ã¦æœ€ã‚‚é‡è¦ã§æœ€ã‚‚よãä½¿ã†æ“作ã§ã™ã€‚TABã¯çжæ³ã«ã‚ˆã£ã¦æ§˜ã€…ãªæ„味をæŒã¡ã¾ã™ã€‚ + +* 補完候補ãŒä¸€ã¤ã—ã‹ãªã„å ´åˆ + + 補完候補ãŒä¸€ã¤ã®å ´åˆã¯ã€ãã®è£œå®Œå€™è£œã§è£œå®Œã‚’実行ã—ã¾ã™ã€‚ + +* 補完候補ã«å…±é€šéƒ¨åˆ†ãŒã‚ã‚‹å ´åˆ + + 例ãˆã°sã¨ã„ã†å˜èªžã®è£œå®Œå€™è£œãŒå…¨ã¦setã§ã¯ã˜ã¾ã‚‹å ´åˆã€ãã®å…±é€šéƒ¨åˆ†ã¯setã§ã‚ã‚‹ã¨è§£é‡ˆã•れã€TABã«ã‚ˆã£ã¦setã¾ã§å±•é–‹ã•れã¾ã™ã€‚ + +* ãã®ä»–ã®å ´åˆ + + ãã®ä»–ã®å ´åˆã€TABを押ã™ã”ã¨ã«è£œå®Œå€™è£œã‚’å…ˆé ã‹ã‚‰é †ç¹°ã‚Šã§é¸æŠžã—ã¦ã„ãã¾ã™ã€‚è£œå®Œå€™è£œã®æœ«å°¾ã«ããŸã‚‰å†ã³è£œå®Œå€™è£œã®å…ˆé ã‹ã‚‰é¸æŠžã—ã¦ã„ãã¾ã™ã€‚ + +è¨å®šã«ã‚ˆã£ã¦è‹¥å¹²æŒ™å‹•ãŒç•°ãªã‚Šã¾ã™ãŒã€åŸºæœ¬çš„ã«ã¯ã“ã®ã‚ˆã†ãªæŒ™å‹•ã«ãªã‚Šã¾ã™ã€‚ã“ã®ã‚ˆã†ã«TABã«æ§˜ã€…ãªæ„味をæŒãŸã›ã‚‹ã®ã¯ã€TABã®ã¿ã§å…¨ã¦å®Œçµã•ã›ã‚ˆã†ã¨ã„ã†ç‹™ã„ãŒã‚りã¾ã™ã€‚ + +### RETã«ã‚ˆã‚‹è£œå®Œ ### + +TABã«ã‚ˆã‚‹è£œå®Œã¨ä¼¼ã¦ã„ã¾ã™ãŒã€RETã«ã‚ˆã‚‹è£œå®Œã¯ä»¥ä¸‹ã®ç‚¹ã§ç•°ãªã‚Šã¾ã™ã€‚ + +* é¸æŠžä¸ã®è£œå®Œå€™è£œã§å³æ™‚補完ã™ã‚‹ +* 補完候補ã«ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ãŒè¨å®šã•れã¦ã„ã‚‹å ´åˆã«ã€ãã®ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ãŒå®Ÿè¡Œã•れる + +TABã«ã‚ˆã‚‹è£œå®Œã§ã¯å…±é€šéƒ¨åˆ†ã®å±•é–‹ãªã©ã§ä½•度ã‹TABを押ã™å¿…è¦ãŒã‚りã¾ã™ã€‚RETã«ã‚ˆã‚‹è£œå®Œã§ã¯é¸æŠžä¸ã®è£œå®Œå€™è£œã§å³æ™‚ã«è£œå®Œã•れるã®ã§ã€ç›®çš„ã®è£œå®Œå€™è£œã§ã‚ã‚‹ã¨è¦–èªã—ãŸãªã‚‰RETを押ã™ã¨ã‚ˆã„ã§ã—ょã†ã€‚ãã®éš›ã€ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã¨ã„ã†ã®ã‚‚ã®ãŒå®Ÿè¡Œã•れるå¯èƒ½æ€§ãŒã‚りã¾ã™ãŒã€ã“ã“ã§ã¯è©³ã—ãã¯è§¦ã‚Œã¾ã›ã‚“。アクションã®ä¾‹ã¨ã—ã¦ã¯ã€æ¨™æº–添付ã®ç•¥èªžè£œå®ŒãŒåˆ†ã‹ã‚Šã‚„ã™ã„ã§ã—ょã†ã€‚wwwã‚’World Wide Webã¨å±•é–‹ã™ã‚‹ç•¥èªžãŒç™»éŒ²ã•れã¦ã„る時ã€wã¨ã„ã†å˜èªžã§wwwを補完ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ãŒã€RETã«ã‚ˆã‚‹è£œå®Œã®å ´åˆã¯ã€ã•らã«ç•¥èªžå±•開を行ã„World Wide Webã¨è£œå®Œã—ã¾ã™ã€‚ã¤ã¾ã‚ŠTABã«ã‚ˆã‚‹è£œå®Œã§ã¯wwwãŒæœ€çµ‚çš„ãªè£œå®Œçµæžœã«ãªã‚Šã€RETã«ã‚ˆã‚‹è£œå®Œã§ã¯World Wide WebãŒæœ€çµ‚çš„ãªè£œå®Œçµæžœã«ãªã‚Šã¾ã™ã€‚ + +### 補完候補ã®é¸æŠž ### + +`auto-complete-mode`ã®è€ƒãˆæ–¹ã«å¾“ãˆã°ã€è£œå®Œå€™è£œã®é¸æŠžã¯æŽ¨å¥¨ã•れるもã®ã§ã¯ã‚りã¾ã›ã‚“。ãªãœãªã‚‰ã€ãã®æ™‚点ã§ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®è£œå®ŒæŽ¨æ¸¬ã«å¤±æ•—ã—ã¦ãŠã‚Šã€ã•らã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«è£œå®Œå€™è£œã‚’é¸æŠžã•ã›ã‚‹ã¨ã„ã†ã‚ªãƒ¼ãƒãƒ¼ãƒ˜ãƒƒãƒ‰ã®é«˜ã„æ“ä½œã‚’è¦æ±‚ã—ã¦ã„ã‚‹ã‹ã‚‰ã§ã™ã€‚補完候補ã®é¸æŠžã¯TABã«ã‚ˆã‚‹è£œå®Œã§ã‚‚ã‚る程度補ã†ã“ã¨ãŒã§ãã€ã•ã‚‰ã«æœ€è¿‘ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯çµ±è¨ˆçš„æ‰‹æ³•ã«ã‚ˆã£ã¦è£œå®ŒæŽ¨æ¸¬ã®ç²¾åº¦ãŒã‚ãŒã£ã¦ã„ã‚‹ã®ã§ã€è£œå®Œå€™è£œã®é¸æŠžãŒå¿…è¦ã«ãªã‚‹ã‚±ãƒ¼ã‚¹ã¯ãれã»ã©å¤šããªã„ã¨è€ƒãˆã‚‰ã‚Œã¾ã™ã€‚ã—ã‹ã—ã€å®Ÿéš›ã«ãã®ã‚ˆã†ãªã‚±ãƒ¼ã‚¹ã¯å˜åœ¨ã™ã‚‹ã®ã§ã€è£œå®Œå€™è£œã®é¸æŠžæ–¹æ³•を覚ãˆã¦ãŠãã®ã‚‚悪ã„ã“ã¨ã§ã¯ãªã„ã‹ã‚‚ã—れã¾ã›ã‚“。 + +å‰ç½®ããŒé•·ã„ã§ã™ãŒã€è£œå®Œå€™è£œã®é¸æŠžè‡ªä½“ã¯é›£ã—ã„æ“作ã§ã¯ã‚りã¾ã›ã‚“。補完ä¸ã«ã‚«ãƒ¼ã‚½ãƒ«ã‚ーã‚ã‚‹ã„ã¯`M-p`, `M-n`ã§å‰å¾Œã«é¸æŠžã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚è¨å®šã«ã‚ˆã‚Šã¾ã™ãŒã€è£œå®Œå€™è£œã®é¸æŠžãŒè¡Œã‚れãŸå¾Œã¯TABã«ã‚ˆã‚‹è£œå®ŒãŒRETã«ã‚ˆã‚‹è£œå®Œã«è¿‘ã„æŒ™å‹•ã«å¤‰åŒ–ã—ã¾ã™ã€‚詳ã—ãã¯[`ac-dwim`](#)ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 + +ãã®ä»–ã®æ–¹æ³•ã¨ã—ã¦Metaã‚ãƒ¼ã¨æ•°å—ã®çµ„åˆã›ã§é¸æŠžã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚例ãˆã°`M-1`を押ã›ã°1番目ã®å€™è£œã‚’é¸æŠžã—ã¦è£œå®Œã—ã¾ã™ã€‚ã“れもオーãƒãƒ¼ãƒ˜ãƒƒãƒ‰ãŒå¤§ãã„ã®ã§æ¥µåŠ›ä½¿ã‚ãªã„ã§ãã ã•ã„。 + +### ヘルプ ### + +`auto-complete-mode`ã«ã¯*クイックヘルプ*ã¨*ãƒãƒƒãƒ•ァヘルプ*ã®äºŒã¤ã®ãƒ˜ãƒ«ãƒ—機能ãŒå‚™ãˆä»˜ã‘られã¦ã„ã¾ã™ã€‚両者ã®é•ã„ã¯è¦‹ã›æ–¹ã ã‘ã§ã™ã€‚クイックヘルプã¯è£œå®Œãƒ¡ãƒ‹ãƒ¥ãƒ¼ã®ã™ã隣ã«è¡¨ç¤ºã™ã‚‹ã®ã§ã€è¦–ç·šã®ç§»å‹•ãŒæœ€å°é™ã§æ¸ˆã‚€ã¨ã„ã†ãƒ¡ãƒªãƒƒãƒˆãŒã‚りã¾ã™ãŒã€è¡¨ç¤ºé ˜åŸŸãŒç‹ã™ãŽã‚‹ã¨å¯èªæ€§ãŒä½Žããªã‚‹ã¨ã„ã†ãƒ‡ãƒ¡ãƒªãƒƒãƒˆãŒã‚りã¾ã™ã€‚ã¾ãŸã‚¯ã‚¤ãƒƒã‚¯ãƒ˜ãƒ«ãƒ—ã¯è£œå®Œãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚’表示ã—ã¦ã‹ã‚‰ã—ã°ã‚‰ãå¾…ã¤ã¨è‡ªå‹•çš„ã«è¡¨ç¤ºã•れã¾ã™ã€‚クイックヘルプを利用ã™ã‚‹ã«ã¯[`ac-use-quick-help`](#)ã‚’`t`ã«ã—ã¦ãŠãå¿…è¦ãŒã‚りã¾ã™ã€‚表示ã¾ã§ã®æ™‚é–“ã¯[`ac-quick-help-delay`](#)ã§åˆ¶å¾¡ã§ãã¾ã™ã€‚ + +一方ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒæ˜Žç¤ºçš„ã«å‘½ä»¤ã™ã‚‹ã“ã¨ã§è¡¨ç¤ºã•れるã®ãŒãƒãƒƒãƒ•ァヘルプã§ã™ã€‚ãƒãƒƒãƒ•ァヘルプã¯ãã®åã®é€šã‚Šã€åˆ¥ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã«ãƒ˜ãƒ«ãƒ—用ãƒãƒƒãƒ•ァを表示ã—ã¾ã™ã€‚ã‚¯ã‚¤ãƒƒã‚¯ãƒ˜ãƒ«ãƒ—ã«æ¯”ã¹ã¦è¦–ç·šã®ç§»å‹•ãŒå¤§ãã„分ã€ã€å¯èªæ€§ã«å„ªã‚Œã¦ã„ã¾ã™ã€‚ãƒãƒƒãƒ•ァヘルプを表示ã™ã‚‹ã«ã¯è£œå®Œä¸ã«`C-?`ã‚ã‚‹ã„ã¯`f1`を押ã—ã¾ã™ã€‚ãƒãƒƒãƒ•ァヘルプ表示後ã¯ã•らã«`C-M-v`ã‚ã‚‹ã„ã¯`C-M-S-v`ã§ãƒãƒƒãƒ•ァヘルプã®ä¸Šä¸‹ã‚¹ã‚¯ãƒãƒ¼ãƒ«ãŒå¯èƒ½ã§ã™ã€‚ãれ以外ã®å‘½ä»¤ã®å ´åˆã¯ãƒãƒƒãƒ•ァヘルプを閉ã˜ã¦ãƒ•ォールãƒãƒƒã‚¯ã—ã¾ã™ã€‚ + +### ã¾ã¨ã‚ ### + +è£œå®Œã¯æ–‡å—ã®å…¥åŠ›ã«ã‚ˆã£ã¦é–‹å§‹ã•れã¾ã™ã€‚補完ãŒé–‹å§‹ã•ã‚Œã‚‹ã¨æ¬¡ã®è¡¨ã«ç¤ºã™æ“ä½œãŒæ™‚çš„ã«æœ‰åйã«ãªã‚Šã¾ã™ã€‚補完ãŒå®Œäº†ã—ãŸã‚‰ã€ã“ã‚Œã‚‰ã®æ“作ã¯ç„¡åйã«ãªã‚Šã¾ã™ã€‚ + +| ã‚ー | コマンド | 説明 | +|-----------|-------------|--------------------------| +| TAB, C-i | ac-expand | TABã«ã‚ˆã‚‹è£œå®Œã‚’実行ã™ã‚‹ | +| RET, C-m | ac-complete | RETã«ã‚ˆã‚‹è£œå®Œã‚’実行ã™ã‚‹ | +| down, M-n | ac-next | 次ã®å€™è£œã‚’é¸æŠžã™ã‚‹ | +| up, M-p | ac-previous | å‰ã®å€™è£œã‚’é¸æŠžã™ã‚‹ | +| C-?, f1 | ac-help | ãƒãƒƒãƒ•ァヘルプを表示ã™ã‚‹ | + +補完を途ä¸ã§ä¸æ–ã™ã‚‹ã«ã¯`C-g`を使ã†ã¨ã‚ˆã„ã§ã—ょã†ã€‚ + +高度ãªä½¿ã„æ–¹ +------------ + +å‰ç¯€ã«å¼•ãç¶šã„ã¦ã€ã‚‚ã†å°‘ã—高度ãªä½¿ã„方を説明ã—ã¾ã™ã€‚ã¨ã¯ã„ã£ã¦ã‚‚ã‚ãã¾ã§ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®è¦–点ã§ã®è©±ãªã®ã§ã€`auto-complete-mode`ã‚’æ„ã®ã¾ã¾ã«æ“りãŸã„ã¨ã„ã†æ–¹ã¯ã€æ¬¡ç¯€ä»¥é™ã‚’èªã¿é€²ã‚ã‚‹ã¨ã‚ˆã„ã§ã—ょã†ã€‚ + +### `auto-complete`コマンド ### + +基本的ã«`auto-complete-mode`ã¯è‡ªå‹•çš„ã«è£œå®Œã‚’é–‹å§‹ã™ã‚‹ã¨ã„ã†å‰æãŒã‚りã¾ã™ãŒã€ãã®é™ã‚Šã§ã¯ãªã„å ´åˆã‚‚ã‚りã¾ã™ã€‚例ãˆã°ã€æ–‡å—ã¯å…¥åŠ›ã—ãªã„ã‘ã©è£œå®Œã¯ã—ãŸã„ã¨ã„ã†å ´åˆã‚„ã€è¨å®šã«ã‚ˆã£ã¦è‡ªå‹•çš„ã«è£œå®ŒãŒé–‹å§‹ã•れãªã„よã†ã«ã—ã¦ã„ã‚‹å ´åˆãªã©ã§ã™ã€‚ãã®ã‚ˆã†ãªæ™‚ã«åˆ©ç”¨ã™ã‚‹ã®ãŒ`auto-complete`ã¨ã„ã†ã‚³ãƒžãƒ³ãƒ‰ã§ã€æ™®é€šã¯ä½•らã‹ã®ã‚ーã«å‰²ã‚Šå½“ã¦ã¦åˆ©ç”¨ã—ã¾ã™ã€‚例ãˆã°å¾“æ¥ã®`M-TAB`ã«ã‚ˆã‚‹è£œå®Œã‚’ã€`auto-complete-mode`ãŒæä¾›ã™ã‚‹ã‚ˆã‚Šé«˜åº¦ãªè£œå®Œã«åˆ‡ã‚Šæ›¿ãˆã‚‹ã«ã¯æ¬¡ã®ã‚³ãƒ¼ãƒ‰ã‚’評価ã—ã¾ã™ã€‚ + + (define-key ac-mode-map (kbd "M-TAB") 'auto-complete) + +ã•ã¦ã€`auto-complete`コマンドã«é–¢ã—ã¦ã§ã™ãŒã€ã“れã¯é€šå¸¸ã®è‡ªå‹•çš„ãªè£œå®Œã¨ã¯è‹¥å¹²ç•°ãªã‚‹æŒ™å‹•ã«ãªã£ã¦ã„ã¾ã™ã€‚ + +* 補完候補ãŒä¸€ã¤ã—ã‹ãªã„å ´åˆ + + 補完メニューを表示ã—ãªã„ã§ã€ãã®ã¾ã¾è£œå®Œã‚’実行ã—ã¾ã™ã€‚ + +* 補完候補ãŒä¸€ã¤ã‚‚ãªã„å ´åˆ + + 曖昧マッãƒã«ã‚ˆã‚‹è£œå®Œã‚’試ã¿ã¾ã™ã€‚詳ã—ãã¯[曖昧マッãƒã«ã‚ˆã‚‹è£œå®Œ](#)ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 + +* ãã®ä»–ã®å ´åˆ + + ãã®ä»–ã®å ´åˆã€å…¨ä½“共通部分を展開ã—ã¤ã¤è£œå®Œãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚’表示ã—ã¦è£œå®Œã‚’é–‹å§‹ã—ã¾ã™ã€‚ãã®å¾Œã®æ“作ã¯è‡ªå‹•çš„ã«è£œå®ŒãŒé–‹å§‹ã•れãŸå ´åˆã¨åŒã˜ã«ãªã‚Šã¾ã™ã€‚[`ac-show-menu-immediately-on-auto-complete`](#)ã¨[`ac-expand-on-auto-complete`](#)ã‚‚å‚ç…§ã—ã¦ãã ã•ã„。 + +### 曖昧マッãƒã«ã‚ˆã‚‹è£œå®Œ ### + +`auto-complete`コマンドã§è£œå®Œå€™è£œãŒä¸€ã¤ã‚‚ãªã„å ´åˆã‚„`ac-fuzzy-complete`コマンドãŒå®Ÿè¡Œã•れãŸå ´åˆã€é€šå¸¸ã®ç¢ºå®Ÿãªãƒžãƒƒãƒã§ã¯ãªã曖昧ãªãƒžãƒƒãƒã«ã‚ˆã£ã¦è£œå®Œã‚’試ã¿ã¾ã™ã€‚曖昧マッãƒã®ãƒ‘ラメータã¯ã‚らã‹ã˜ã‚最é©åŒ–ã•れã¦ã„ã‚‹ã®ã§ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒå¤‰æ›´ã™ã‚‹å¿…è¦ã¯ã‚りã¾ã›ã‚“ãŒã€å†…部を知りãŸã„å ´åˆã¯`fuzzy.el`ã‚’å‚ç…§ã—ã¦ãã ã•ã„。曖昧マッãƒã«ã‚ˆã‚‹è£œå®Œã‚’利用ã™ã‚Œã°ã€ã‚¿ã‚¤ãƒã‚‚補完ã®ä¸€ç’°ã¨ã—ã¦ä¿®æ£ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚例ãˆã°é©å½“ãªãƒãƒƒãƒ•ã‚¡ã§messaegã¨å…¥åŠ›ã—ã¦`M-x auto-complete`ã‚ã‚‹ã„ã¯`M-x ac-fuzzy-complete`ã—ã¦ãã ã•ã„。曖昧マッãƒã«æˆåŠŸã—ãŸã‚‰ã‚«ãƒ¼ã‚½ãƒ«ã®è‰²ãŒèµ¤è‰²ã«å¤‰åŒ–ã—ã€messaegã§ã¯ãªãmessageã§ã‚ã‚‹ã¨è§£é‡ˆã—ã¦è£œå®Œã‚’継続ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®ã‚ˆã†ãªã‚±ãƒ¼ã‚¹ã«ã™ãã•ã¾å¯¾å‡¦ã™ã‚‹ã¨ã„ã†æ„味ã§ã‚‚`auto-complete`コマンドを何らã‹ã®ã‚ーã«å‰²ã‚Šå½“ã¦ã¦ãŠãã®ã¯æ±ºã—ã¦æ‚ªã„ã“ã¨ã§ã¯ã‚りã¾ã›ã‚“。 + + + +### 補完候補ã®çµžã‚Šè¾¼ã¿ ### + +補完ä¸ã«`C-s`を押ã™ã“ã¨ã§çµžã‚Šè¾¼ã¿ã‚’é–‹å§‹ã§ãã¾ã™ã€‚絞り込ã¿ãŒé–‹å§‹ã•れるã¨ã‚«ãƒ¼ã‚½ãƒ«ã®è‰²ãŒé’色ã«å¤‰åŒ–ã—ã¾ã™ã€‚ãã®å¾Œã«ç¶šã„ã¦çµžã‚Šè¾¼ã‚€æ–‡å—列を入力ã—ã¦ã„ãã¾ã™ã€‚絞り込ã¿ã¯ã‚¤ãƒ³ã‚¯ãƒªãƒ¡ãƒ³ã‚¿ãƒ«ã«æ›´æ–°ã•れるã®ã§ç›´æ„Ÿçš„ã«ç†è§£ã§ãã‚‹ã¨æ€ã„ã¾ã™ã€‚絞り込ã¿ã®æœ€ä¸ã§ã‚‚TABã«ã‚ˆã‚‹è£œå®Œã‚„å€™è£œé¸æŠžã‚’è¡Œã†ã“ã¨ãŒã§ãã¾ã™ã€‚ãã®éš›ã€ã‚«ãƒ¼ã‚½ãƒ«ã®è‰²ãŒå…ƒã«æˆ»ã‚Šã¾ã™ãŒã€ã“れã¯çµžã‚Šè¾¼ã¿ãŒçµ‚了ã—ãŸã“ã¨ã‚’æ„味ã—ã¦ã„ã¾ã™ã€‚å†åº¦`C-s`を押ã—ãŸã¨ãã¯ã€å‰å›žã®çµžã‚Šè¾¼ã¿æ–‡å—列ãŒå¾©å…ƒã•れã¾ã™ã€‚çµžã‚Šè¾¼ã¿æ–‡å—列を削除ã™ã‚‹ã«ã¯`DEL`ã¾ãŸã¯`C-h`を押ã—ã¦ãã ã•ã„。ãれ以外ã®ä¸€èˆ¬çš„ãªç·¨é›†æ“作ã¯ã“ã“ã§ã¯åˆ©ç”¨ã§ãã¾ã›ã‚“。 + + + +### トリガーã‚ー ### + +`auto-complete`コマンドをã©ã®ã‚ーã«å‰²ã‚Šå½“ã¦ã‚‹ã‹ã¯çµæ§‹é›£ã—ã„å•題ã§ã™ã€‚補完ã¨ã„ã†æ“作ã¯é »ç¹ã«è¡Œã†ãŸã‚ã€ã§ãã‚‹ã ã‘æŠ¼ã—ã‚„ã™ã„ã‚ーã«å‰²ã‚Šå½“ã¦ã‚‹ã¹ãã§ã™ã€‚ã—ã‹ã—押ã—ã‚„ã™ã„ã‚ーã¯ã™ã§ã«ä»–ã®ã‚³ãƒžãƒ³ãƒ‰ã«å‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¦ã„ã‚‹ã¨ã„ã†ã®ã¯Emacsã§ã¯éžå¸¸ã«ã‚ˆãã‚ã‚‹ã“ã¨ãªã®ã§ã™ã€‚ãã†ã„ã†ã‚±ãƒ¼ã‚¹ã«å¯¾å‡¦ã™ã‚‹ãŸã‚`auto-complete-mode`ã¯ãƒˆãƒªã‚¬ãƒ¼ã‚ーã¨å‘¼ã°ã‚Œã‚‹æ©Ÿèƒ½ã‚’æä¾›ã—ã¦ã„ã¾ã™ã€‚トリガーã‚ーを利用ã™ã‚Œã°ã€ä»»æ„ã®ã‚ーを必è¦ãªã¨ãã«ä¸€æ™‚çš„ã«ã®ã£ã¨ã£ã¦`auto-complete`コマンドã«å‰²ã‚Šå½“ã¦ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚例ãˆã°TABをトリガーã‚ーã«è¨å®šã™ã‚‹ã«ã¯æ¬¡ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ + + (ac-set-trigger-key "TAB") + +トリガーã‚ãƒ¼ã¯æ–‡å—入力ã®ç›´å¾Œã«æœ‰åйã«ãªã‚Šã¾ã™ã€‚ãれ以外ã®å ´åˆã¯é€šå¸¸ã®ã‚³ãƒžãƒ³ãƒ‰ãŒå®Ÿè¡Œã•れã¾ã™ï¼ˆTABãªã‚‰ã‚¤ãƒ³ãƒ‡ãƒ³ãƒˆï¼‰ã€‚通常ã€ãƒˆãƒªã‚¬ãƒ¼ã‚ーã¯`ac-auto-start`ã‚’`nil`ã«ã—ã¦åˆ©ç”¨ã—ã¾ã™ã€‚ + + (setq ac-auto-start nil) + +`ac-auto-start`ã«é–¢ã—ã¦ã¯[自動的ã«è£œå®Œã—ãªã„](#)ã‚ã‚‹ã„ã¯[`ac-auto-start`](#)ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 + +### 補完推測機能 ### + +`auto-complete-mode`ã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®è£œå®Œè¡Œå‹•ã‚’é€ä¸€è§£æžã—ã¦ã€å¯èƒ½ãªé™ã‚Šè£œå®Œã®ã‚ªãƒ¼ãƒãƒ¼ãƒ˜ãƒƒãƒ‰ã‚’削減ã—よã†ã¨ã—ã¾ã™ã€‚具体的ã«ã¯ã€ä¾‹ãˆã°ä½•度ã‹`foobar`ãŒè£œå®Œã•れれã°ã€æ¬¡å›žä»¥é™ã¯`foobar`ãŒè£œå®Œå€™è£œã®ä¸Šä½ã«é…ç½®ã•れã€ä¸€å›žã‚ã‚‹ã„ã¯æ•°å›žä»¥å†…ã®TABã§è£œå®Œã§ãる環境を作りã¾ã™ã€‚内部的ã«ã¯`comphist`ã¨å‘¼ã°ã‚Œã‚‹æ©Ÿæ§‹ã‚’使ã£ã¦ãŠã‚Šã€`ac-use-comphist`ãŒ`t`ã®å ´åˆã«ã“ã®æ©Ÿèƒ½ãŒæœ‰åйã«ãªã‚Šã¾ã™ã€‚デフォルトã§ã¯æœ‰åйã«ãªã£ã¦ã„ã¾ã™ã€‚åŽé›†ã•れãŸè¡Œå‹•データã¯`user-emacs-directory`ã‚ã‚‹ã„ã¯`~/.emacs.d`ã«`ac-comphist.dat`ã¨ã„ã†ãƒ•ァイルåã§æ°¸ç¶šåŒ–ã•ã‚Œã€æ¬¡å›žä»¥é™ã‚‚å†åˆ©ç”¨ã•れã¾ã™ã€‚ + +優れãŸè£œå®ŒæŽ¨æ¸¬ã‚’実ç¾ã™ã‚‹ãŸã‚ã€æ¬¡ã®äºŒã¤ã®ãƒ‡ãƒ¼ã‚¿ã‚’åŽé›†ã—ã¾ã™ã€‚ + +* ãã®è£œå®Œå€™è£œãŒè£œå®Œã•れãŸå›žæ•° +* ãã®è£œå®Œå€™è£œãŒè£œå®Œã•れãŸä½ç½® + +ç°¡å˜ã«è¨€ãˆã°ã€å˜ç´”ã«è£œå®Œå›žæ•°ã‚’æ•°ãˆã‚‹ã®ã§ã¯ãªãã€è£œå®Œä½ç½®ã”ã¨ã«è£œå®Œå›žæ•°ã‚’æ•°ãˆã¦ã„ãã€ãã®è£œå®Œå€™è£œã®ã‚¹ã‚³ã‚¢ã¯è£œå®Œã•れã¦ã„ã‚‹ä½ç½®ã¨ã®æ¯”較ã§ã†ã¾ãé‡ã¿ä»˜ã‘ã•れã¾ã™ã€‚例ãˆã°fã¨å…¥åŠ›ã—ã¦`find-file`を補完ã™ã‚‹ã¨ã„ã†è¡Œå‹•を何度ã‹ç¹°ã‚Šè¿”ã›ã°ã€fを入力ã—ãŸæ®µéšŽã§`find-file`ãŒä¸Šä½ã«é…ç½®ã•れã¾ã™ã€‚ãŸã ã€ç¶šã‘ã¦find-ã¨å…¥åŠ›ã—ãŸã¨ãã«`find-file`ãŒå…ˆã»ã©ã¨åŒã˜ã‚¹ã‚³ã‚¢ã«ãªã‚‹ã‹ã¨ã„ãˆã°ã€ãã†ã„ã†ã‚ã‘ã§ã¯ãªãã€å…ˆã»ã©ã¨ä½ç½®ã¨ã—ã¦4離れã¦ã„ã‚‹ã‚ã‘ã§ã™ã‹ã‚‰ã€ãれã ã‘é‡ã¿ä»˜ã‘ãŒè»½ããªã‚Šã¾ã™ã€‚逆ã«find-ã®å¾Œã«`find-library`ãŒè£œå®Œã•れやã™ã„å ´åˆã¯ã€ãã¡ã‚‰ã®è£œå®Œå€™è£œã®ã‚¹ã‚³ã‚¢ã®ã»ã†ãŒä¸Šä½ã«æ¥ã‚‹å¯èƒ½æ€§ãŒé«˜ããªã‚‹ã®ã§ã€çµæžœçš„ã«fã®æ™‚点ã§ã¯`find-file`ãŒä¸Šä½ã«ã€find-ã®æ™‚点ã§ã¯`find-library`ãŒä¸Šä½ã«æ¥ã‚‹ã¨ã„ã£ãŸã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®è¡Œå‹•ã‚’å¦ç¿’ã—ãŸã‹ã®ã‚ˆã†ãªæŽ¨æ¸¬ãŒå¯èƒ½ã«ãªã‚‹ã‚ã‘ã§ã™ã€‚ + +ユーザーã¯ã“ã®æ©Ÿèƒ½ã‚’ã§ãã‚‹ã ã‘æ´»ç”¨ã™ã‚‹ãŸã‚ã«ã€ã‚ˆã入力ã™ã‚‹å˜èªžã¯ã§ãã‚‹ã ã‘å‰ã®ä½ç½®ã§è£œå®Œã™ã‚‹ã‚ˆã†ã«å¿ƒãŒã‘ã¦ãã ã•ã„。ã¾ãŸã€ã§ãã‚‹ã ã‘行動ã¯ä¸€è²«ã—ã¦ãã ã•ã„。補完ä½ç½®ãŒæ¯Žå›žå¤‰ã‚るよã†ã§ã¯ã†ã¾ãå¦ç¿’ã§ããªã„ã‹ã‚‰ã§ã™ã€‚ãŠãらãã‚ã¾ã‚Šæ°—ã«ã›ãšä½¿ã£ã¦ã„れã°ã€è‡ªå‹•çš„ã«ãã®ã‚ˆã†ãªè¡Œå‹•ã«ãªã‚‹ã§ã—ょã†ã€‚ + +### 辞書ã«ã‚ˆã‚‹è£œå®Œ ### + +辞書ã¨ã¯å˜ç´”ãªæ–‡å—列ã®ãƒªã‚¹ãƒˆã®ã“ã¨ã§ã‚りã€ãれãžã‚Œãƒ¦ãƒ¼ã‚¶ãƒ¼å®šç¾©è¾žæ›¸ã€ãƒ¡ã‚¸ãƒ£ãƒ¼ãƒ¢ãƒ¼ãƒ‰è¾žæ›¸ã€æ‹¡å¼µå辞書ã®3ã¤ãŒã‚りã¾ã™ã€‚ãªãŠã€è¾žæ›¸ã«ã‚ˆã‚‹è£œå®Œã‚’利用ã™ã‚‹ã«ã¯æƒ…å ±æºã«`ac-source-dictionary`ã‚’è¨å®šã—ã¦ãŠãå¿…è¦ãŒã‚りã¾ã™ï¼ˆãƒ‡ãƒ•ォルトã§ã¯è¨å®šæ¸ˆã¿ï¼‰ã€‚詳ã—ãã¯[æƒ…å ±æº](#)ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 + +#### ユーザー定義辞書 #### + +ユーザー定義辞書ã¯`ac-user-dictionary`ã«è¨å®šã•ã‚ŒãŸæ–‡å—列リストãŠã‚ˆã³`ac-user-dictionary-files`ã§æŒ‡å®šã•れãŸè¾žæ›¸ãƒ•ã‚¡ã‚¤ãƒ«ã§æ§‹ç¯‰ã•れã¾ã™ã€‚è¾žæ›¸ãƒ•ã‚¡ã‚¤ãƒ«ã¯æ”¹è¡Œã§åŒºåˆ‡ã‚‰ã‚ŒãŸå˜èªžã®ä¸€è¦§ã§ã™ã€‚ユーザー定義辞書ã¯å…¨ã¦ã®ãƒãƒƒãƒ•ã‚¡ã§å…±é€šã§ã™ã€‚例ãˆã°è‡ªåˆ†ã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’辞書ã«ç™»éŒ²ã™ã‚‹å ´åˆã€æ¬¡ã®ã‚ˆã†ã«`ac-user-dictionary`ã«å˜èªžã‚’è¿½åŠ ã—ã¾ã™ã€‚ + + (add-to-list 'ac-user-dictionary "foobar@example.com") + +è¨å®šã¯ç›´ã¡ã«åæ˜ ã•れã¾ã™ã€‚試ã—ã«é©å½“ãªãƒãƒƒãƒ•ã‚¡ã§`foo`ã¨å…¥åŠ›ã—ã¦ãã ã•ã„。`foobar@example.com`ãŒè£œå®Œå€™è£œã«ãªã‚‹ã¨æ€ã„ã¾ã™ã€‚ã“ã®è¨å®šã¯Emacsを終了ã—ãŸã‚‰æ¶ˆåŽ»ã•れã¾ã™ã€‚永続化ã•ã›ã‚‹ãŸã‚ã«ã¯`.emacs`ã«è¨˜è¿°ã—ã¦ãŠãå¿…è¦ãŒã‚りã¾ã™ã€‚ + + (setq ac-user-dictionary '("foobar@example.com" "hogehoge@example.com")) + +ã‚‚ã£ã¨åˆ†ã‹ã‚Šã‚„ã™ã„ã®ã¯è¾žæ›¸ãƒ•ァイルを利用ã™ã‚‹æ–¹æ³•ã§ã™ã€‚`ac-user-dictionary-files`ã«æŒ‡å®šã•れã¦ã„るファイルã¯è¾žæ›¸ãƒ•ァイルã¨ã—ã¦æ‰±ã‚れã¾ã™ã€‚デフォルトã§`~/.dict`ãŒè¾žæ›¸ãƒ•ァイルã«ãªã‚‹ã®ã§ã€`~/.dict`ã‚’é–‹ã„ã¦æ¬¡ã®ã‚ˆã†ã«è¨˜è¿°ã—ã¦ãã ã•ã„。 + + foobar@example.com + hogehoge@example.com + +å‰è¿°ã—ãŸã‚ˆã†ã«æ”¹è¡ŒãŒå˜èªžã®åŒºåˆ‡ã‚Šã«ãªã‚Šã¾ã™ã€‚ä¿å˜ã—ã¦ã‚‚ã™ãã«ã¯åæ˜ ã•れã¾ã›ã‚“。コストã®é«˜ã„辞書ファイルã®èªã¿è¾¼ã¿ã‚’抑ãˆã‚‹ãŸã‚ã«ã‚ャッシュを使ã£ã¦ã„ã‚‹ã‹ã‚‰ã§ã™ã€‚ã‚ャッシュを消去ã™ã‚‹ã«ã¯`M-x ac-clear-dictionary-cache`を実行ã—ã¾ã™ã€‚後ã¯å…ˆã»ã©ã¨åŒã˜ã‚ˆã†ã«é©å½“ãªãƒãƒƒãƒ•ã‚¡ã§æ–‡å—を入力ã™ã‚Œã°å®šç¾©ã—ãŸå˜èªžã‚’補完ã§ãるよã†ã«ãªã‚‹ã¨æ€ã„ã¾ã™ã€‚ + +言ã†ã¾ã§ã‚‚ãªã„ã‹ã‚‚ã—れã¾ã›ã‚“ãŒã€`ac-user-dictionary-files`ã«ä»»æ„ã®è¾žæ›¸ãƒ•ã‚¡ã‚¤ãƒ«ã‚’è¿½åŠ ã™ã‚‹ã“ã¨ã§ã€é•ã†è¾žæ›¸ãƒ•ァイルをèªã¿è¾¼ã‚€ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚ + +#### メジャーモード辞書・拡張å辞書 #### + +メジャーモードや拡張åã”ã¨ã«é•ã†è¾žæ›¸ã‚’利用ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚辞書ã¯`ac-dictionary-directories`ã«è¨å®šã•れãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‹ã‚‰èªã¿è¾¼ã¾ã‚Œã¾ã™ã€‚`ac-dictionary-directories`ã¯[インストール](#)æ™‚ã«æ¬¡ã®ã‚ˆã†ã«è¨å®šã—ã¦ã„ã‚‹ã¯ãšã§ã™ã€‚ + + (add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict") + +ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ã¯c++-modeã®ã‚ˆã†ãªãƒ¡ã‚¸ãƒ£ãƒ¼ãƒ¢ãƒ¼ãƒ‰ã®ãŸã‚ã®è¾žæ›¸ãƒ•ァイルやtxtã®ã‚ˆã†ãªæ‹¡å¼µåã®ãŸã‚ã®è¾žæ›¸ãƒ•ã‚¡ã‚¤ãƒ«ãŒæ ¼ç´ã•れã¦ã„ã¾ã™ã€‚例ãˆã°`a.cpp`ã¨ã„ã†ãƒãƒƒãƒ•ã‚¡ã§è¾žæ›¸ã«ã‚ˆã‚‹è£œå®Œã‚’利用ã™ã‚‹å ´åˆã€ä¸Šè¨˜ã®è¨å®šã‚’剿ã«ã™ã‚Œã°ã€`~/.emacs.d/ac-dict/c++-mode`ã¨`~/.emacs.d/ac-dict/cpp`ã‹ã‚‰è¾žæ›¸ãŒèªã¿è¾¼ã¾ã‚Œã¾ã™ã€‚ユーザーã¯ã“れらã®è¾žæ›¸ãƒ•ァイルを変更ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã—ã€ã¾ãŸæ–°ã—ãè¿½åŠ ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ã•らã«ã€åŒæ§˜ã®æ§‹æˆã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’作æˆã—ã¦`ac-dictionary-directories`ã«è¿½åŠ ã™ã‚‹ã“ã¨ã§ã€è¾žæ›¸ãƒ•ã‚¡ã‚¤ãƒ«ã‚’è¿½åŠ ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚ã“ã®éš›ã€`ac-dictionary-directories`ã®å…ˆé ã«ã‚るディレクトリãŒå„ªå…ˆã•れるã“ã¨ã«æ°—ã‚’ã¤ã‘ã¦ãã ã•ã„。 + +ユーザー定義辞書ã¨åŒæ§˜ã€è¾žæ›¸ã®è¿½åŠ ãƒ»ç·¨é›†å¾Œã¯`M-x ac-clear-dictionary-cache`ã§ã‚ャッシュを消去ã—ã¦ãã ã•ã„。 + +æƒ…å ±æº +------ + +`auto-complete-mode`ã®æ‹¡å¼µæ€§ã‚’ä¿è¨¼ã—ã¦ã„ã‚‹ã®ãŒã“ã®æƒ…å ±æºã¨ã„ã†æ¦‚念ã§ã™ã€‚*æƒ…å ±æº*ã¨ã¯ç°¡å˜ã«è¨€ãˆã°ã€ä¸‹è¨˜ã™ã‚‹äº‹æŸ„ã‚’ã²ã¨ã¾ã¨ã‚ã«è¨˜è¿°ã—ãŸã‚‚ã®ã¨è¨€ãˆã¾ã™ã€‚ + +* ã©ã®ã‚ˆã†ãªè£œå®Œå€™è£œã‚’生æˆã™ã‚‹ã‹ +* ã©ã®ã‚ˆã†ã«è£œå®Œã™ã‚‹ã‹ +* ã©ã®ã‚ˆã†ã«è¡¨ç¤ºã™ã‚‹ã‹ + +Emacs Lispã«ã¤ã„ã¦è‹¥å¹²ã®çŸ¥è˜ãŒã‚れã°èª°ã§ã‚‚ç°¡å˜ã«æƒ…å ±æºã‚’定義ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚æƒ…å ±æºã®å®šç¾©ã«é–¢ã—ã¦ã¯[拡張方法](#)ã‚’å‚ç…§ã—ã¦ãã ã•ã„。ã“ã“ã§ã¯æƒ…å ±æºã®åˆ©ç”¨æ–¹æ³•ã¨æ¨™æº–添付ã•れã¦ã„ã‚‹æƒ…å ±æºã«ã¤ã„ã¦èª¬æ˜Žã—ã¾ã™ã€‚ + +æƒ…å ±æºã®åå‰ã¯`ac-source-`ã§å§‹ã¾ã‚‹æ…£ç¿’ã¨ãªã£ã¦ã„ã¾ã™ã€‚ãã®ãŸã‚`apropos`を使ã£ã¦ã©ã®ã‚ˆã†ãªæƒ…å ±æºãŒå®šç¾©ã•れã¦ã„ã‚‹ã‹èª¿ã¹ã‚‹ã“ã¨ãŒã§ãã¾ã™ï¼ˆ`M-x apropos RET ^ac-source-`)。`ac-source-filename`ã‚„`ac-source-dictionary`ãªã©ãŒè¦‹ä»˜ã‹ã‚‹ã¨æ€ã„ã¾ã™ãŒã€ã“ã‚Œã‚‰ãŒæƒ…å ±æºã¨å‘¼ã°ã‚Œã‚‹å®Ÿä½“ã«ãªã£ã¦ã„ã¾ã™ã€‚ + +### æƒ…å ±æºã‚’利用ã™ã‚‹ ### + +`.emacs`ã«`(ac-config-default)`を記述ã—ã¦ã„ã‚‹å ´åˆã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§æœ€é©ãªè¨å®šãŒä½¿ã‚れるã®ã§ã€ãŠãã‚‰ãæƒ…å ±æºã®è¨å®šã‚’変更ã™ã‚‹ã‚±ãƒ¼ã‚¹ã¯ã¾ã‚Œã ã¨æ€ã„ã¾ã™ãŒã€ä¸€å¿œç°¡å˜ã«è§¦ã‚Œã¦ãŠãã¾ã™ã€‚æƒ…å ±æºã¯`ac-sources`ã¨ã„ã†å¤‰æ•°ã«ãƒªã‚¹ãƒˆã¨ã—ã¦è¨å®šã•れã¾ã™ã€‚インストール直後ã«\*scracth*ã§`ac-sources`を評価ã™ã‚‹ã¨æ¬¡ã®ã‚ˆã†ãªçµæžœã«ãªã‚‹ã¨æ€ã„ã¾ã™ã€‚ + + ;; 整形済㿠+ (ac-source-filename + ac-source-functions + ac-source-yasnippet + ac-source-variables + ac-source-symbols + ac-source-features + ac-source-abbrev + ac-source-words-in-same-mode-buffers + ac-source-dictionary) + +見ã¦ã®ã¨ãŠã‚Šã€\*scratch\*ãƒãƒƒãƒ•ã‚¡ã®`ac-sources`ã«ã¯6ã¤ã®æƒ…å ±æºãŒè¨å®šã•れã¦ã„ã‚‹ã“ã¨ãŒã‚ã‹ã‚Šã¾ã™ã€‚ãれãžã‚Œã®èª¬æ˜Žã¯å¾Œè¿°ã—ã¾ã™ãŒã€å¤§ä½“ã®æ„å‘³ã¯æŽ¨æ¸¬ã§ãã‚‹ã§ã—ょã†ã€‚大事ãªã“ã¨ãªã®ã§è¨˜æ†¶ã—ã¦ãŠã„ã¦ã»ã—ã„ã®ã§ã™ãŒã€`ac-sources`ã¯ãƒãƒƒãƒ•ァーãƒãƒ¼ã‚«ãƒ«å¤‰æ•°ã«ãªã£ã¦ãŠã‚Šã€ãƒãƒƒãƒ•ã‚¡ã”ã¨ã«ç‹¬ç«‹ã—ãŸè¨å®šã‚’許å¯ã—ã¦ã„ã¾ã™ã€‚ã¤ã¾ã‚Šã‚ã‚‹ãƒãƒƒãƒ•ã‚¡ã§`ac-sources`を変更ã—ã¦ã‚‚ã€ä»–ã®ãƒãƒƒãƒ•ã‚¡ã«ã¯å½±éŸ¿ãŒãªã„ã“ã¨ã«ãªã‚Šã¾ã™ã€‚ + +例を示ã—ã¾ã™ã€‚今ã€\*scratch\*ãƒãƒƒãƒ•ã‚¡ã«ã„ã‚‹ã¨è€ƒãˆã¦ãã ã•ã„。上記ã®ã‚ˆã†ã«ã€ã“ã®ãƒãƒƒãƒ•ã‚¡ã«ã¯å¤šãã®æƒ…å ±æºãŒè¨å®šã•れã¦ã„ã¾ã™ã€‚多機能ã™ãŽã‚‹ã¨æ„Ÿã˜ã‚‹ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚‚ã„ã‚‹ã§ã—ょã†ã€‚ãã“ã§ã€ã‚‚ã†å°‘ã—æ©Ÿèƒ½ã‚’制é™ã™ã‚‹ãŸã‚ã«`ac-sources`ã®å¤‰æ›´ã‚’考ãˆã¾ã™ã€‚変更方法ã¯ç°¡å˜ã§ã€æ¬¡ã®ã‚ˆã†ãªã‚³ãƒ¼ãƒ‰ã‚’\*scratch\*ãƒãƒƒãƒ•ã‚¡ã‚ã‚‹ã„ã¯`M-:`ã§è©•価ã™ã‚‹ã ã‘ã§ã™ã€‚ + + (setq ac-sources '(ac-source-symbols ac-source-words-in-same-mode-buffers)) + +ã“ã®ä¾‹ã§ã¯ã€`ac-sources`を減らã—ã¦ã€ã‚·ãƒ³ãƒœãƒ«è£œå®Œã¨åŒä¸€ãƒ¡ã‚¸ãƒ£ãƒ¼ãƒ¢ãƒ¼ãƒ‰é–“ã§ã®å˜èªžè£œå®Œã®ã¿ã‚’有効ã«ã—ã¾ã—ãŸã€‚ã•ã¦ã€ã“れを次ã®Emacsã®èµ·å‹•時ã«ã‚‚有効ã«ã™ã‚‹ã«ã¯ã©ã†ã—ãŸã‚‰ã‚ˆã„ã®ã§ã—ょã†ã‹ã€‚\*scratch\*ãƒãƒƒãƒ•ã‚¡ä½œæˆæ™‚ã«`emacs-lisp-mode-hook`ã¨ã„ã†ãƒ•ックãŒå®Ÿè¡Œã•れるã®ã§ã€ã“ã®ãƒ•ックã«é©å½“ãªé–¢æ•°ã‚’è¿½åŠ ã™ã‚‹ã®ãŒã‚ˆã„ã§ã—ょã†ã€‚ + + (defun my-ac-emacs-lisp-mode () + (setq ac-sources '(ac-source-symbols ac-source-words-in-same-mode-buffers))) + + (add-hook 'emacs-lisp-mode-hook 'my-ac-emacs-lisp-mode) + +`.emacs`ã«`(ac-config-default)`ãŒè¨˜è¿°ã•れã¦ã„ã‚‹å ´åˆã¯ã€ä¸Šè¨˜ã®æ–¹æ³•ã§ã¯æ£ã—ã動作ã—ãªã„ã‹ã‚‚ã—れã¾ã›ã‚“。ã¨ã„ã†ã®ã‚‚`(ac-config-default)`内部ã§åŒæ§˜ã®ã“ã¨ã‚’行ã£ã¦ã„ã‚‹ã®ã§ã€ã©ã¡ã‚‰ã‹ãŒè¨å®šã‚’上書ãã—ã¦ã—ã¾ã†ã‹ã‚‰ã§ã™ã€‚ãã®å ´åˆã¯`(ac-config-default)`ã§åˆ©ç”¨ã™ã‚‹é–¢æ•°ã‚’å†å®šç¾©ã—ã¦ã—ã¾ã†ã®ãŒã‚ˆã„ã§ã—ょã†ã€‚`emacs-lisp-mode`ã®å ´åˆã¯ã€ãã®é–¢æ•°åã¯`ac-emacs-lisp-mode-setup`ã§ã™ã€‚詳ã—ãã¯`auto-complete-config.el`ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 + + (defun ac-emacs-lisp-mode-setup () + (setq ac-sources '(ac-source-symbols ac-source-words-in-same-mode-buffers))) + +ã•ã¦ã€ã“れã§ç‰¹å®šã®ãƒ¡ã‚¸ãƒ£ãƒ¼ãƒ¢ãƒ¼ãƒ‰ã§æƒ…å ±æºã‚’変更ã™ã‚‹æ–¹æ³•ãŒåˆ†ã‹ã£ãŸã¨æ€ã„ã¾ã™ã€‚ã¾ã¨ã‚ã‚‹ã¨æ¬¡ã®ã‚ˆã†ã«ãªã‚‹ã§ã—ょã†ã€‚ + +1. `ac-sources`を変更ã™ã‚‹é–¢æ•°ã‚’定義ã™ã‚‹ +2. `add-hook`ã§é©å½“ãªãƒ¢ãƒ¼ãƒ‰ãƒ•ックã«ãã®é–¢æ•°ã‚’登録ã™ã‚‹ï¼ˆ`c++-mode-hook`, `ruby-mode-hook`, `python-mode-hook`ãªã©ï¼‰ + +ã§ã¯ã€å…¨ã¦ã®ãƒãƒƒãƒ•ã‚¡ã«å¯¾ã—ã¦`ac-sources`ã‚’è¨å®šã™ã‚‹ã«ã¯ã©ã†ã—ãŸã‚‰ã‚ˆã„ã®ã§ã—ょã†ã‹ã€‚ãã®å ´åˆã¯`setq`ã§ã¯ãªã`setq-default`ã§`ac-sources`ã‚’è¨å®šã—ã¾ã™ã€‚ãã†ã™ã‚‹ã¨ãƒãƒƒãƒ•ã‚¡ãƒãƒ¼ã‚«ãƒ«å¤‰æ•°ã§ã‚ã‚‹`ac-sources`ã®ãƒ‡ãƒ•ォルト値ãŒè¨å®šã—ãŸå€¤ã«ãªã‚Šã¾ã™ã€‚ + + (setq-default ac-sources '(ac-source-words-in-all-buffer)) + +ä»–ã«ã‚‚方法ãŒã‚りã¾ã™ã€‚`(ac-config-default)`ã¯`auto-complete-mode`ã®ãƒ•ックã§ã‚ã‚‹`auto-complete-mode-hook`ã«é–¢æ•°ã‚’è¿½åŠ ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€`setq-default`ã«ã‚ˆã‚‹ãƒ‡ãƒ•ォルト値ã®å¤‰æ›´ã«è¿‘ã„ã“ã¨ã‚’ã‚„ã£ã¦ã„ã¾ã™ã€‚ãã®é–¢æ•°ã¯`ac-common-setup`ã§ã‚りã€`ac-sources`ã®å…ˆé ã«`ac-source-filename`ã¨ã„ã†æƒ…å ±æºã‚’è¿½åŠ ã—ã¦ã„ã¾ã™ã€‚ã“れã«ã‚ˆã‚Š`auto-complete-mode`ãŒæœ‰åйãªå…¨ã¦ã®ãƒãƒƒãƒ•ã‚¡ã§`ac-source-filename`ãŒæƒ…å ±æºã®å…ˆé ã«è¿½åŠ ã•れã¾ã™ã€‚ãªãœå…ˆé ãªã®ã‹ã¨ã„ã†ã¨ã€ã“れã«ã¯ã‚ªãƒ ニ補完ã®ä»•様ãŒé–¢ä¿‚ã—ã¦ã„ã‚‹ã®ã§ã™ãŒã€ã¨ã‚Šã‚ãˆãšã“ã“ã§ã¯æ°—ã«ã—ãªãã¦ã‚‚ã„ã„ã§ã™ã€‚ã¤ã¾ã‚‹ã¨ã“ã‚ã€`(ac-config-default)`を使ã£ã¦ã„ã¦å…±é€šã—ã¦`ac-sources`を変更ã—ãŸã„å ´åˆã¯ã€ã“ã®`ac-common-setup`関数をå†å®šç¾©ã™ã‚‹ã“ã¨ã‚‚一ã¤ã®æ‰‹æ®µã¨ãªã‚Šã¾ã™ã€‚ + + ;; å…¨ã¦ã®ãƒãƒƒãƒ•ã‚¡ã®`ac-sources`ã®æœ«å°¾ã«è¾žæ›¸æƒ…å ±æºã‚’è¿½åŠ + (defun ac-common-setup () + (setq ac-sources (append ac-sources '(ac-source-dictionary)))) + +### æ¨™æº–æƒ…å ±æº ### + +`auto-complete.el`ãŠã‚ˆã³`auto-complete-config.el`ã«å®šç¾©ã•れã¦ã„ã‚‹æƒ…å ±æºã®ä¸€è¦§ã§ã™ã€‚ + +#### `ac-source-abbrev` #### + +Emacsã®ç•¥èªžæ©Ÿèƒ½ã®ãŸã‚ã®æƒ…å ±æºã§ã™ã€‚略語機能ã«é–¢ã—ã¦ã¯`info emacs Abbrevs`ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 + +#### `ac-source-css-property` #### + +CSSプãƒãƒ‘ティã®ãŸã‚ã®æƒ…å ±æºã§ã™ã€‚ + +#### `ac-source-dictionary` #### + +辞書ã®ãŸã‚ã®æƒ…å ±æºã§ã™ã€‚辞書ã«é–¢ã—ã¦ã¯[辞書ã«ã‚ˆã‚‹è£œå®Œ](#)ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 + +#### `ac-source-eclim` #### + +[Emacs-eclim](http://github.com/senny/emacs-eclim)ã®ãŸã‚ã®æƒ…å ±æºã§ã™ã€‚ + +#### `ac-source-features` #### + +`(require '`ã§æœ‰åйãªfeatureを補完ã™ã‚‹ãŸã‚ã®æƒ…å ±æºã§ã™ã€‚ + +#### `ac-source-filename` #### + +ファイルåを補完ã™ã‚‹ãŸã‚ã®æƒ…å ±æºã§ã™ã€‚`/`を入力ã—ãŸæ™‚点ã§è£œå®ŒãŒé–‹å§‹ã•れã¾ã™ã€‚ + +#### `ac-source-files-in-current-dir` #### + +カレントディレクトリã®ãƒ•ァイルを補完ã™ã‚‹ãŸã‚ã®æƒ…å ±æºã§ã™ã€‚`eshell`ãªã©ã§ä¾¿åˆ©ã‹ã‚‚ã—れã¾ã›ã‚“。 + +#### `ac-source-functions` #### + +Emacs Lispã®é–¢æ•°ã‚’補完ã™ã‚‹ãŸã‚ã®æƒ…å ±æºã§ã™ã€‚`(`ã®ç›´å¾Œã§æœ‰åйã§ã™ã€‚ + +#### `ac-source-ghc-mod` #### + +[ghc-mod](http://www.mew.org/~kazu/proj/ghc-mod/en/)ã®ãŸã‚ã®æƒ…å ±æºã§ã™ã€‚ + +#### `ac-source-gtags` #### + +[Global](http://www.tamacom.com/global.html)ã®ã‚¿ã‚°ã‚’補完ã™ã‚‹ãŸã‚ã®æƒ…å ±æºã§ã™ã€‚ + +#### `ac-source-imenu` #### + +`imenu`ノードを補完ã™ã‚‹ãŸã‚ã®æƒ…å ±æºã§ã™ã€‚詳ã—ãã¯`info emacs imenu`ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 + +#### `ac-source-semantic` #### + +[Semantic](http://cedet.sourceforge.net/semantic.shtml)ã®ãŸã‚ã®æƒ…å ±æºã§ã™ã€‚C/C++ã§ãƒ¡ãƒ³ãƒãƒ¼å補完ã¨ã—ã¦åˆ©ç”¨ã§ãã¾ã™ã€‚ + +#### `ac-source-semantic-raw` #### + +`ac-source-semantic`ã¨é•ã£ã¦ã€ã“ã®æƒ…å ±æºã¯ç”Ÿã®åå‰ç©ºé–“ã§ã‚·ãƒ³ãƒœãƒ«ã‚’補完ã™ã‚‹ã®ã«ä½¿ã„ã¾ã™ã€‚ + +#### `ac-source-slime` #### + +[SLIME](http://common-lisp.net/project/slime/)ã®ãŸã‚ã®æƒ…å ±æºã§ã™ã€‚ + +#### `ac-source-symbols` #### + +Emacs Lispã®ã‚·ãƒ³ãƒœãƒ«ã‚’補完ã™ã‚‹ãŸã‚ã®æƒ…å ±æºã§ã™ã€‚ + +#### `ac-source-variables` #### + +Emacs Lispã®å¤‰æ•°ã‚’補完ã™ã‚‹ãŸã‚ã®æƒ…å ±æºã§ã™ã€‚ + +#### `ac-source-words-in-all-buffer` #### + +å…¨ã¦ã®ãƒãƒƒãƒ•ã‚¡ã®å˜èªžã‚’補完ã™ã‚‹ãŸã‚ã®æƒ…å ±æºã§ã™ã€‚[`ac-source-words-in-same-mode-buffers`](#)ã¨é•ã£ã¦ã€ãƒ¡ã‚¸ãƒ£ãƒ¼ãƒ¢ãƒ¼ãƒ‰ã‚’考慮ã—ã¾ã›ã‚“。 + +#### `ac-source-words-in-buffer` #### + +ç¾åœ¨ã®ãƒãƒƒãƒ•ã‚¡ã®å˜èªžã‚’補完ã™ã‚‹ãŸã‚ã®æƒ…å ±æºã§ã™ã€‚ + +#### `ac-source-words-in-same-mode-buffers` #### + +ç¾åœ¨ã®ãƒãƒƒãƒ•ã‚¡ã¨åŒã˜ãƒ¡ã‚¸ãƒ£ãƒ¼ãƒ¢ãƒ¼ãƒ‰ã®å…¨ã¦ã®ãƒãƒƒãƒ•ã‚¡ã®å˜èªžã‚’補完ã™ã‚‹ãŸã‚ã®æƒ…å ±æºã§ã™ã€‚例ãˆã°`a.cpp`ã¨`b.cpp`ã§ã¯å˜èªžãŒå…±æœ‰ã•れã¾ã™ãŒã€`a.pl`ã¨`b.cpp`ã§ã¯ãƒ¡ã‚¸ãƒ£ãƒ¼ãƒ¢ãƒ¼ãƒ‰ãŒç•°ãªã‚‹ã®ã§å˜èªžãŒå…±æœ‰ã•れã¾ã›ã‚“。通常ã¯[`ac-source-words-in-all-buffer`](#)よりã“ã¡ã‚‰ã®ã»ã†ãŒä½¿ã„勿‰‹ãŒã‚ˆã„ã§ã—ょã†ã€‚ + +#### `ac-source-yasnippet` #### + +[Yasnippet](http://code.google.com/p/yasnippet/)ã®ã‚¹ãƒ‹ãƒšãƒƒãƒˆã‚’補完・展開ã™ã‚‹ãŸã‚ã®æƒ…å ±æºã§ã™ã€‚ + +Tips +---- + +### 自動的ã«è£œå®Œã—ãªã„ ### + +補完メニューãŒç¾ã‚れãŸã‚Šæ¶ˆãˆãŸã‚Šã™ã‚‹ã¨ã€ç·¨é›†æ“作ã«é›†ä¸ã§ããªã„ã¨ã„ã†ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒã„ã¾ã™ã€‚ç§ã®çµŒé¨“ã§ã¯å¾—ã¦ã—ã¦Emacsã®ä¸Šç´šãƒ¦ãƒ¼ã‚¶ãƒ¼ãªã®ã§ã™ãŒã€ã¨ã«ã‹ã`auto-complete-mode`ã¯ãã®ã‚ˆã†ãªç”¨é€”も想定ã—ã¦ã„ã¾ã™ã€‚次ã®ã‚ˆã†ã«`ac-auto-start`ã‚’nilã«ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šè‡ªå‹•çš„ã«è£œå®Œã•れãªããªã‚Šã¾ã™ã€‚ + + (setq ac-auto-start nil) + +ã“ã®éš›ã€`auto-complete`コマンドを何らã‹ã®ã‚ーã«å‰²ã‚Šå½“ã¦ãŠãã¹ãã§ã™ï¼ˆã˜ã‚ƒãªã„ã¨è£œå®Œã§ããªã„ã®ã§ï¼‰ã€‚例ãˆã°æ¬¡ã®ã‚ˆã†ã«`ac-mode-map`(`auto-complete-mode`ãŒæœ‰åйãªãƒãƒƒãƒ•ã‚¡ã§åˆ©ç”¨ã§ãã‚‹ã‚ーマップ)ã«å‰²ã‚Šå½“ã¦ãŸã‚Šã€ + + (define-key ac-mode-map (kbd "M-TAB") 'auto-complete) + +ã‚ã‚‹ã„ã¯ã‚°ãƒãƒ¼ãƒãƒ«ã‚ーマップã«å‰²ã‚Šå½“ã¦ã‚‹ã®ã‚‚よã„ã§ã—ょã†ã€‚ + + (global-set-key "\M-/" 'auto-complete) + +ã¾ãŸã€è‡ªå‹•çš„ã«è£œå®Œã—ã¦ã‚‚ã„ã„ã‘ã©ã€ã‚‚ã†å°‘ã—é•·ã„å˜èªžã®ã¨ãã ã‘補完を開始ã™ã‚‹ã¨ã„ã†ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚例ãˆã°4æ–‡å—以上ã®å˜èªžã®ã¨ãã«è£œå®Œã‚’é–‹å§‹ã™ã‚‹ã«ã¯`ac-auto-start`ã«4ã‚’è¨å®šã—ã¾ã™ã€‚ + + (setq ac-auto-start 4) + +`ac-auto-start`を大ãã‚ã®æ•°å€¤ã«è¨å®šã™ã‚‹ã®ã¯ãƒ‘フォーマンスã«è‰¯ã„影響をもãŸã‚‰ã—ã¾ã™ã€‚`ac-auto-start`ãŒå°ã•ã„æ•°å€¤ã ã¨ã€å¿…ç„¶çš„ã«è£œå®Œå€™è£œæ•°ãŒå¢—ãˆã‚‹ã®ã§ã€ãれã ã‘補完候補ã®ç”Ÿæˆã«ã‹ã‹ã‚‹ã‚³ã‚¹ãƒˆãŒå¤§ãããªã‚Šã¾ã™ã€‚ã‚‚ã—`auto-complete-mode`ãŒé‡ã„ã¨æ„Ÿã˜ã‚‹ãªã‚‰`ac-auto-start`ã«å¤§ãã‚ã®æ•°å€¤ã‚’è¨å®šã™ã‚‹ã‹`nil`ã‚’è¨å®šã™ã‚‹ã¨ã‚ˆã„ã§ã—ょã†ã€‚ + +`ac-auto-start`ã«é–¢ã—ã¦ã¯[`ac-auto-start`](#)ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 + +ã¾ãŸ[トリガーã‚ー](#)を利用も考慮ã—ã¦ã¿ã¦ãã ã•ã„。 + +### 補完メニューを自動ã§è¡¨ç¤ºã—ãªã„ ### + +補完メニューã«ã‚ˆã£ã¦é›†ä¸åŠ›ãŒå‰ŠãŒã‚Œã‚‹å•題ã®ã‚‚ã†ä¸€ã¤ã®å¯¾å‡¦ã¨ã—ã¦ã¯ã€è£œå®Œãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚’表示ã—ãªã„ã¨ã„ã†æ–¹æ³•ãŒè€ƒãˆã‚‰ã‚Œã¾ã™ã€‚補完メニューをéžè¡¨ç¤ºã«ã™ã‚‹ã«ã¯[`ac-auto-show-menu`](#)ã‚’`nil`ã«ã—ã¾ã™ã€‚ + + (setq ac-auto-show-menu nil) + +ã“れã§è£œå®Œãƒ¡ãƒ‹ãƒ¥ãƒ¼ã¯è‡ªå‹•ã§è¡¨ç¤ºã•れãªããªã‚Šã¾ã™ãŒã€è£œå®Œå€™è£œã®é¸æŠžã‚„絞り込ã¿ã‚’行ã†ã¨è£œå®Œãƒ¡ãƒ‹ãƒ¥ãƒ¼ã¯è¡¨ç¤ºã•れã¾ã™ã€‚ + +ã‚ã‚‹ã„ã¯è£œå®Œãƒ¡ãƒ‹ãƒ¥ãƒ¼ã®è¡¨ç¤ºã‚’é…å»¶ã•ã›ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€è£œå®Œãƒ¡ãƒ‹ãƒ¥ãƒ¼ãŒå¿…è¦ãªæ™‚ã ã‘自動ã§è¡¨ç¤ºã•ã›ã‚‹ã‚ˆã†ã«ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚ãã®ãŸã‚ã«ã¯`ac-auto-show-menu`ã«å®Ÿæ•°ã§é…å»¶ã™ã‚‹æ™‚é–“ã‚’ç§’å˜ä½ã§è¨å®šã—ã¾ã™ã€‚ + + ;; 0.8秒後ã«è‡ªå‹•ã§è¡¨ç¤º + (setq ac-auto-show-menu 0.8) + +ã“ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェースã¯ãƒ‡ãƒ•ォルトã®å®Œå…¨è‡ªå‹•補完ã¨ä¸Šè¨˜ã—ãŸéžè‡ªå‹•補完ã®ã‚ˆã„ã¨ã“ã‚ã ã‘を組åˆã›ãŸã‚‚ã®ã¨è¨€ãˆã¾ã™ã€‚å°†æ¥ã¯ã“れãŒãƒ‡ãƒ•ォルトã«ãªã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。 + +### è£œå®Œã‚’ä¸æ¢ã™ã‚‹ ### + +補完ã®ä¸æ¢ã¯`C-g`ã§è¡Œã†ã“ã¨ãŒã§ãã¾ã™ãŒã€ãƒžã‚¯ãƒå®šç¾©ä¸ãªã©ã¯`C-g`ã—ãŸããªã„ã§ã—ょã†ã€‚ãã®ã‚ˆã†ãªå ´åˆã¯`ac-completing-map`ã«è£œå®Œã‚’䏿¢ã™ã‚‹ã‚ーを割り当ã¦ã‚‹ã¨ã‚ˆã„ã§ã—ょã†ã€‚ + + (define-key ac-completing-map "\M-/" 'ac-stop) + +ã“れã§è£œå®Œä¸ã§ã‚‚`M-/`ã§ä¸æ¢ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + +### TABã§è£œå®Œã‚’完了ã™ã‚‹ ### + +上記ã—ãŸã‚ˆã†ã«TABã«ã¯æ§˜ã€…ãªæŒ™å‹•ãŒå®šç¾©ã•れã¦ã„ã¾ã™ã€‚`auto-complete-mode`ã‚’æ£ã—ã使ã„ã“ãªã™ã«ã¯TABã¨RETã«ã‚ˆã‚‹è£œå®Œã‚’使ã„ã‚ã‘ãªã‘れã°ãªã‚Šã¾ã›ã‚“ãŒã€RETã¯ãã®ã¾ã¾æ”¹è¡Œã§TABã§è£œå®Œå®Œäº†ã™ã‚‹ã¨ã„ã£ãŸå˜ç´”ãªæ“作方法もå分考ãˆã‚‰ã‚Œã¾ã™ã€‚。ãã®ã‚ˆã†ãªå ´åˆã¯æ¬¡ã®ã‚ˆã†ã«è¨å®šã—ã¾ã™ã€‚ + + (define-key ac-completing-map "\t" 'ac-complete) + (define-key ac-completing-map "\r" nil) + +### 補完メニュー表示時ã®ã¿C-n/C-pã§è£œå®Œå€™è£œã‚’é¸æŠžã™ã‚‹ ### + +次ã®ã‚³ãƒ¼ãƒ‰ã‚’評価ã™ã‚‹ã“ã¨ã§C-n/C-pã§è£œå®Œå€™è£œã‚’é¸æŠžã§ãã¾ã™ãŒã€ã“れã§ã¯é‚ªé”ã ã¨æ„Ÿã˜ã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚ + + ;; 良ããªã„è¨å®š + (define-key ac-completing-map "\C-n" 'ac-next) + (define-key ac-completing-map "\C-p" 'ac-previous) + +ãã“ã§è£œå®Œãƒ¡ãƒ‹ãƒ¥ãƒ¼è¡¨ç¤ºæ™‚ã®ã¿ã«C-n/C-pã§è£œå®Œå€™è£œã‚’é¸æŠžã§ãるよã†ã«ã—ã¦ã€ã‚ー入力を極力奪ã‚ãªã„よã†ã«ã—ã¦ã¿ã¾ã™ã€‚`ac-menu-map`ã¯è£œå®Œãƒ¡ãƒ‹ãƒ¥ãƒ¼ãŒè¡¨ç¤ºã•れã¦ã„ã‚‹ã¨ãã«åˆ©ç”¨ã•れるã‚ーマップã§ã€`ac-use-menu-map`ãŒ`t`ã®ã¨ãã«æœ‰åйã«ãªã‚Šã¾ã™ã€‚ + + (setq ac-use-menu-map t) + ;; デフォルトã§è¨å®šæ¸ˆã¿ + (define-key ac-menu-map "\C-n" 'ac-next) + (define-key ac-menu-map "\C-p" 'ac-previous) + +詳ã—ãã¯[`ac-use-menu-map`](#)ãŠã‚ˆã³[`ac-menu-map`](#)ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 + +### クイックヘルプを利用ã—ãªã„ ### + +補完ä¸ã«1ç§’ã»ã©å¾…ã£ãŸã¨ãã«å‡ºã¦ãるツールãƒãƒƒãƒ—ヘルプをクイックヘルプã¨å‘¼ã‚“ã§ã„ã¾ã™ãŒã€ã“れを利用ã—ãŸããªã„å ´åˆã¯æ¬¡ã®ã‚ˆã†ã«è¨å®šã—ã¾ã™ã€‚ + + (setq ac-use-quick-help nil) + +### 補完メニューã®é«˜ã•を変更ã™ã‚‹ ### + +`ac-menu-height`ã«è¡Œæ•°ã‚’è¨å®šã—ã¾ã™ã€‚ + + ;; 20行分表示 + (setq ac-menu-height 20) + +### 特定ã®ãƒ¢ãƒ¼ãƒ‰ã§è‡ªå‹•ã§`auto-complete-mode`を有効ã«ã™ã‚‹ ### + +`ac-modes`ã«è¨å®šã•れã¦ã„ãªã„モードã§ã¯è‡ªå‹•ã§`auto-complete-mode`ãŒæœ‰åйã«ãªã‚Šã¾ã›ã‚“。é©å®œè¨å®šã—ã¦ãã ã•ã„。 + + (add-to-list 'ac-modes 'brandnew-mode) + +### 大文å—ãƒ»å°æ–‡å—を区別ã—ãŸã„/ã—ãŸããªã„ ### + +大文å—ãƒ»å°æ–‡å—ã®åŒºåˆ¥æ–¹æ³•ã‚’è¨å®šã™ã‚‹ã«ã¯`ac-ignore-case`ã«æ¬¡ã®ã‚ˆã†ã«è¨å®šã—ã¾ã™ã€‚ + + ;; 大文å—ãƒ»å°æ–‡å—を区別ã—ãªã„ + (setq ac-ignore-case t) + ;; 補完対象ã«å¤§æ–‡å—ãŒå«ã¾ã‚Œã‚‹å ´åˆã®ã¿åŒºåˆ¥ã™ã‚‹ + (setq ac-ignore-case 'smart) + ;; 大文å—ãƒ»å°æ–‡å—を区別ã™ã‚‹ + (setq ac-ignore-case nil) + +デフォルトã¯`smart`ã§ã™ã€‚ + +### 特定ã®å˜èªžã‚’入力ã—ãŸã‚‰è£œå®Œã‚’自動的ã«ä¸æ¢ã™ã‚‹ ### + +`ac-stop-words`ã«è‡ªå‹•çš„ã«è£œå®Œã‚’䏿¢ã™ã‚‹å˜èªžã‚’è¨å®šã—ã¾ã™ã€‚例ãˆã°Rubyã§endã¨å…¥åŠ›ã—ãŸå¾Œã«è‡ªå‹•çš„ã«è£œå®Œã‚’䏿¢ã™ã‚‹ã«ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ã—ã¾ã™ã€‚ + + (add-hook 'ruby-mode-hook + (lambda () + (make-local-variable 'ac-stop-words) + (add-to-list 'ac-stop-words "end"))) + +`ac-stop-words`ã¯ãƒãƒƒãƒ•ã‚¡ãƒãƒ¼ã‚«ãƒ«å¤‰æ•°ã§ã¯ãªã„ã®ã§ã€ãƒãƒƒãƒ•ァ特有ã®è¨å®šã«ã™ã‚‹å ´åˆã¯`make-local-variable`ã§é©å®œãƒãƒƒãƒ•ã‚¡ãƒãƒ¼ã‚«ãƒ«ã«ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ + +### 色を変更ã™ã‚‹ ### + +色ã®è¨å®šã¯ãれãžã‚Œæ¬¡ã®ã‚ˆã†ã«ãªã£ã¦ã„ã¾ã™ã€‚ + +| フェイスå | 説明 | +|----------------------|------------------------| +| `ac-completion-face` | ã‚¤ãƒ³ãƒ©ã‚¤ãƒ³è£œå®Œã®æ–‡å—色 | +| `ac-candidate-face` | 補完メニューã®èƒŒæ™¯è‰² | +| `ac-selection-face` | 補完メニューã®é¸æŠžè‰² | + +フェイスã®èƒŒæ™¯è‰²ã‚’変更ã™ã‚‹ã«ã¯`set-face-background`ã€å‰æ™¯è‰²ã‚’変更ã™ã‚‹ã«ã¯`set-face-foreground`ã€ä¸‹ç·šã®è¨å®šã«ã¯`set-face-underline`を使ã„ã¾ã™ã€‚ + + ;; è¨å®šä¾‹ + (set-face-background 'ac-candidate-face "lightgray") + (set-face-underline 'ac-candidate-face "darkgray") + (set-face-background 'ac-selection-face "steelblue") + +### ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®æƒ…å ±æºã‚’変更ã™ã‚‹ ### + +æƒ…å ±æºã«ã¤ã„ã¦åˆ†ã‹ã‚‰ãªã„å ´åˆã¯æœ€åˆã«[æƒ…å ±æº](#)ã‚’å‚ç…§ã—ã¦ãã ã•ã„ã€‚ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®æƒ…å ±æºï¼ˆå…¨ã¦ã®ãƒãƒƒãƒ•ã‚¡ã«å…±é€šï¼‰ã‚’変更ã™ã‚‹ã«ã¯`setq-default`を使ã„ã¾ã™ã€‚ + + (setq-default ac-sources '(ac-source-words-in-all-buffer)) + +### 特定ã®ãƒ¡ã‚¸ãƒ£ãƒ¼ãƒ¢ãƒ¼ãƒ‰ã§æƒ…å ±æºã‚’変更ã™ã‚‹ ### + +例ãˆã°C++ã®ãƒãƒƒãƒ•ã‚¡ã§ã¯ç‰¹å®šã®æƒ…å ±æºã‚’利用ã—ãŸã„ã¨ã„ã†ã“ã¨ãŒã‚ã‚‹ã§ã—ょã†ã€‚ãã®å ´åˆã¯`add-hook`ã§ãƒ•ックを登録ã—ã¦ã€é©å®œ`ac-sources`を変更ã™ã‚‹ã«ã‚ˆã†ã—ã¾ã™ã€‚ + + (add-hook 'c++-mode (lambda () (add-to-list 'ac-sources 'ac-source-semantic))) + +### ç‰¹å®šã®æƒ…å ±æºã§è£œå®Œã™ã‚‹ ### + +ç‰¹å®šã®æƒ…å ±æºã§è£œå®Œã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚例ãˆã°ãƒ•ァイルå補完を行ã„ãŸã„å ´åˆã¯`M-x ac-complete-filename`ã¨ã—ã¾ã™ã€‚ã‚ã‚‹ã„ã¯C/C++ã®ãƒ¡ãƒ³ãƒãƒ¼å補完を行ã„ãŸã„å ´åˆã¯`M-x ac-complete-semantic`ã¨ã—ã¾ã™ã€‚æ™®é€šã¯æ¬¡ã®ã‚ˆã†ã«ã“れらã®ã‚³ãƒžãƒ³ãƒ‰ã‚’ã‚ーãƒã‚¤ãƒ³ãƒ‰ã—ã¾ã™ã€‚ + + ;; C++モードã«ã‚‚C-c .ã§ãƒ¡ãƒ³ãƒãƒ¼å補完 + (add-hook 'c++-mode-hook + (lambda () + (local-set-key (kbd "C-c .") 'ac-complete-semantic))) + ;; C-c /ã§ãƒ•ァイルå補完 + (global-set-key (kbd "C-c /") 'ac-complete-filename) + +一般的ã«ã€ã“ã®ã‚ˆã†ãªã‚³ãƒžãƒ³ãƒ‰ã¯è‡ªå‹•çš„ã«å®šç¾©ã•れã¾ã™ã€‚例ãˆã°`ac-source-foobar`ã¨ã„ã†æƒ…å ±æºã‚’定義ã—ã¦ã„ã‚‹ã¨ã™ã‚Œã°ã€`ac-complete-foobar`ã¨ã„ã†ã‚³ãƒžãƒ³ãƒ‰ã‚‚åŒæ™‚ã«è‡ªå‹•çš„ã«å®šç¾©ã•れるã®ã§ã™ã€‚利用å¯èƒ½ãªã‚³ãƒžãƒ³ãƒ‰ã¯[æ¨™æº–æƒ…å ±æº](#)ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 + +一ã¤ã®è£œå®Œã‚³ãƒžãƒ³ãƒ‰ã§è¤‡æ•°ã®æƒ…å ±æºã‚’使ã†ã«ã¯æ¬¡ã®ã‚ˆã†ã«åˆ¥é€”定義ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ + + (defun semantic-and-gtags-complete () + (interactive) + (auto-complete '(ac-source-semantic ac-source-gtags))) + +`auto-complete`関数ã¯`ac-sources`ã®ä»£æ›¿ã‚’引数ã¨ã—ã¦å–ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + +### 永続的ã«ãƒ˜ãƒ«ãƒ—を表示ã™ã‚‹ ### + +`ac-help`ã®ä»£ã‚りã«`ac-persist-help`を使ã£ã¦ãã ã•ã„。デフォルトã§`M-<f1>`ã¨`C-M-?`ã«å‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¦ã„ã¾ã™ã€‚ + +### 最後ã«è£œå®Œã—ãŸãƒ˜ãƒ«ãƒ—を表示ã™ã‚‹ ### + +`ac-last-help`ã‚³ãƒžãƒ³ãƒ‰ã¯æœ€å¾Œã«è£œå®Œã—ãŸå€™è£œã®ãƒ˜ãƒ«ãƒ—ã‚’`ac-help`(ãƒãƒƒãƒ•ァヘルプ)ã¨åŒã˜å½¢å¼ã§è¡¨ç¤ºã—ã¦ãれã¾ã™ã€‚`C-u`ã§å¼•æ•°ã‚’ã‚ãŸãˆã‚‹ã‹`ac-last-persist-help`を呼ã³å‡ºã™ã“ã¨ã§ã€ãã®ãƒ˜ãƒ«ãƒ—ãƒãƒƒãƒ•ァを永続的ã«è¡¨ç¤ºã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚ + +`ac-last-quick-help`ã‚³ãƒžãƒ³ãƒ‰ã¯æœ€å¾Œã«è£œå®Œã—ãŸå€™è£œã®ãƒ˜ãƒ«ãƒ—ã‚’`ac-quick-help`(クイックヘルプ)ã¨åŒã˜å½¢å¼ã§è¡¨ç¤ºã—ã¦ãれã¾ã™ã€‚例ãˆã°ã€å¾Œã‹ã‚‰é–¢æ•°ã®ãƒ‰ã‚ュメントを見るã¨ããªã©ã«ä¾¿åˆ©ã§ã™ã€‚ + +ã“れらã®ã‚³ãƒžãƒ³ãƒ‰ã¯æ¬¡ã®ã‚ˆã†ã«ã‚ーãƒã‚¤ãƒ³ãƒ‰ã™ã‚‹ã¨ã‚ˆã„ã§ã—ょã†ã€‚ + + (define-key ac-mode-map (kbd "C-c h") 'ac-last-quick-help) + (define-key ac-mode-map (kbd "C-c H") 'ac-last-help) + +### ヘルプを綺麗ã«è¡¨ç¤ºã™ã‚‹ ### + +[pos-tip.el](http://www.emacswiki.org/emacs-en/PosTip)ãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ã„ã‚‹å ´åˆã€`auto-complete-mode`ã¯å¾“æ¥ã®ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°ã‚¨ãƒ³ã‚¸ãƒ³ã®ä»£ã‚りã«ã€`pos-tip.el`ãŒæä¾›ã™ã‚‹ãƒã‚¤ãƒ†ã‚£ãƒ–レンダリングエンジンを利用ã—ã¦ãƒ˜ãƒ«ãƒ—を表示ã—ã¾ã™ã€‚ + +サードパーティ拡張 +------------------ + +### SLIME ### + +[ac-slime](https://github.com/purcell/ac-slime)ã®ãƒšãƒ¼ã‚¸ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 + +### Scala ### + +[ENSIME](https://github.com/aemoncannon/ensime)ã®ãƒšãƒ¼ã‚¸ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 + +è¨å®šé …ç›® +-------- + +ãれãžã‚Œã®è¨å®šé …ç›®ã¯`.emacs`ã§å¤‰æ›´ã™ã‚‹ã‹`M-x customize-group RET auto-complete RET`ã§å¤‰æ›´å¯èƒ½ã§ã™ã€‚ + +### `ac-delay` ### + +補完å¯èƒ½ã«ãªã‚‹ã¾ã§ã®é…å»¶æ™‚é–“ï¼ˆç§’ï¼‰ã‚’å®Ÿæ•°ã§æŒ‡å®šã—ã¾ã™ã€‚å°ã•ã„ã»ã©çž¬æ™‚ã«å応ã—ã¾ã™ãŒã€ãƒ‘フォーマンスã®ä½Žä¸‹ã«ã¤ãªãŒã‚Šã¾ã™ã€‚ + +### `ac-auto-show-menu` ### + +補完時ã«è‡ªå‹•çš„ã«è£œå®Œãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚’表示ã™ã‚‹ã‹ã©ã†ã‹ã§ã™ã€‚`t`ã®å ´åˆã¯å¸¸ã«è‡ªå‹•çš„ã«è¡¨ç¤ºã—ã¾ã™ã€‚`nil`ã®å ´åˆã¯çµ¶å¯¾ã«è¡¨ç¤ºã•れã¾ã›ã‚“。実数を指定ã™ã‚‹ã¨è¡¨ç¤ºã¾ã§ã®é…å»¶æ™‚é–“ã‚’ç§’æ•°ã§æŒ‡å®šã§ãã¾ã™ã€‚ + +### `ac-show-menu-immediately-on-auto-complete` ### + +`auto-complete`時ã«ãŸã ã¡ã«è£œå®Œãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚’表示ã™ã‚‹ã‹ã©ã†ã‹ã§ã™ã€‚ã™ã§ã«ã‚¤ãƒ³ãƒ©ã‚¤ãƒ³è£œå®ŒãŒè¡¨ç¤ºã•れã¦ã„ã‚‹å ´åˆã¯ã€ã“ã®è¨å®šã¯ç„¡è¦–ã•れã¾ã™ã€‚ + +### `ac-expand-on-auto-complete` ### + +`auto-complete`時ã«è£œå®Œå€™è£œå…¨ä½“ã®å…±é€šéƒ¨åˆ†ã‚’展開ã™ã‚‹ã‹ã©ã†ã‹ã§ã™ã€‚ + +### `ac-disable-faces` ### + +自動補完を無効ã«ã™ã‚‹ãƒ•ェイスåをシンボルã®ãƒªã‚¹ãƒˆã§æŒ‡å®šã—ã¾ã™ã€‚カーソルä½ç½®ã®ãƒ•ェイステã‚ストプãƒãƒ‘ティãŒãã®ãƒªã‚¹ãƒˆã«å«ã¾ã‚Œã‚‹å ´åˆã«è‡ªå‹•補完ãŒç„¡åйã«ãªã‚‹ä»•組ã¿ã§ã™ã€‚ + +### `ac-stop-flymake-on-completing` ### + +補完時ã«Flymakeã‚’ä¸æ¢ã™ã‚‹ã‹ã©ã†ã‹ã§ã™ã€‚ + +### `ac-use-fuzzy` ### + +[曖昧マッãƒã«ã‚ˆã‚‹è£œå®Œ](#)を利用ã™ã‚‹ã‹ã©ã†ã‹ã§ã™ã€‚ + +### `ac-fuzzy-cursor-color` ### + +[曖昧マッãƒã«ã‚ˆã‚‹è£œå®Œ](#)時ã«ã‚«ãƒ¼ã‚½ãƒ«ã®æŒ‡å®šã—ãŸè‰²ã«å¤‰æ›´ã—ã¾ã™ã€‚`nil`ã®å ´åˆã¯å¤‰æ›´ã—ã¾ã›ã‚“。利用ã§ãる色ã¯`M-x list-colors-display`ã§ç¢ºèªã§ãã¾ã™ã€‚ + +### `ac-use-comphist` ### + +[補完推測機能](#)を利用ã™ã‚‹ã‹ã©ã†ã‹ã§ã™ã€‚`nil`ã«ã™ã‚‹ã¨åˆ©ç”¨ã—ã¾ã›ã‚“ãŒã€ãƒ‘フォーマンスãŒå‘上ã™ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚ + +### `ac-comphist-threshold` ### + +低ã„スコアã®è£œå®Œå€™è£œã‚’排除ã™ã‚‹é–¾å€¤ã‚’ãƒ‘ãƒ¼ã‚»ãƒ³ãƒ†ãƒ¼ã‚¸ã§æŒ‡å®šã—ã¾ã™ã€‚スコアã®å…¨ä½“ã‚’100%ã¨ã—ã¾ã™ã€‚ + +### `ac-comphist-file` ### + +[補完推測機能](#)ã®ãƒ‡ãƒ¼ã‚¿ã‚’永続化ã™ã‚‹ãƒ•ァイルを指定ã—ã¾ã™ã€‚ + +### `ac-use-quick-help` ### + +クイックヘルプを利用ã™ã‚‹ã‹ã©ã†ã‹ã§ã™ã€‚ + +### `ac-quick-help-delay` ### + +クイックヘルプを表示ã™ã‚‹ã¾ã§ã®æ™‚é–“ï¼ˆç§’ï¼‰ã‚’å®Ÿæ•°ã§æŒ‡å®šã—ã¾ã™ã€‚ + +### `ac-menu-height` ### + +補完メニューã®è¡Œæ•°ã‚’æ•´æ•°ã§æŒ‡å®šã—ã¾ã™ã€‚ + +### `ac-quick-help-height` ### + +クイックヘルプã®è¡Œæ•°ã‚’æ•´æ•°ã§æŒ‡å®šã—ã¾ã™ã€‚ + +### `ac-quick-help-prefer-pos-tip` ### + +auto-completeãŒã‚¯ã‚¤ãƒƒã‚¯ãƒ˜ãƒ«ãƒ—ã®è¡¨ç¤ºã«pos-tipã«ã‚ˆã‚‹ãƒã‚¤ãƒ†ã‚£ãƒ–ã®ãƒ„ールãƒãƒƒãƒ—を使ã†ã‹ã©ã†ã‹ã§ã™ã€‚non-nilãªã‚‰è¿½åŠ ã§[pos-tip.el](http://www.emacswiki.org/emacs/PosTip)をインストールã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ + +### `ac-candidate-limit` ### + +補完候補数を制é™ã—ã¾ã™ã€‚æ•´æ•°ãŒæŒ‡å®šã•れã¦ã„ã‚‹å ´åˆã¯ã€ãã®å€¤ã‚’表示ã™ã‚‹è£œå®Œå€™è£œæ•°ã®ä¸Šé™ã«ã—ã¾ã™ã€‚`nil`ã®å ´åˆã¯ç„¡åˆ¶é™ã§ã™ã€‚ + +### `ac-modes` ### + +`global-auto-complete-mode`ãŒæœ‰åŠ¹ãªæ™‚ã«`auto-complete-mode`ãŒè‡ªå‹•çš„ã«æœ‰åйã«ãªã‚‹ãƒ¢ãƒ¼ãƒ‰ã‚’シンボルã®ãƒªã‚¹ãƒˆã§æŒ‡å®šã—ã¾ã™ã€‚ + +### `ac-compatible-packages-regexp` ### + +自動補完を開始ã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰ã®ãƒ‘ッケージをæ£è¦è¡¨ç¾ã§æŒ‡å®šã—ã¾ã™ã€‚ + +### `ac-non-trigger-commands` ### + +自動補完を開始ã—ãªã„コマンドをシンボルã®ãƒªã‚¹ãƒˆã§æŒ‡å®šã—ã¾ã™ã€‚ + +### `ac-trigger-commands` ### + +自動補完を開始ã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰ã‚’シンボルã®ãƒªã‚¹ãƒˆã§æŒ‡å®šã—ã¾ã™ã€‚`self-insert-command`ãŒãƒ‡ãƒ•ォルトã§ã™ãŒã€ã¾ã‚Œã«æ–‡å—ã®æŒ¿å…¥ã‚’独自ã®ã‚³ãƒžãƒ³ãƒ‰ã«è¨å®šã—ã¦ã„るモードãŒã‚ã‚‹ã®ã§ã€ãã®å¯¾å¿œã®ãŸã‚ã®è¨å®šé …ç›®ã§ã™ã€‚ + +### `ac-trigger-commands-on-completing` ### + +[`ac-trigger-commands`](#)ã¨åŒæ§˜ã§ã™ãŒã€è£œå®Œä¸ã«ä½¿ç”¨ã•れる点ãŒç•°ãªã‚Šã¾ã™ã€‚ + +### `ac-trigger-key` ### + +[トリガーã‚ー](#)を指定ã—ã¾ã™ã€‚ + +### `ac-auto-start` ### + +補完ãŒè‡ªå‹•çš„ã«é–‹å§‹ã•れるã‹ã©ã†ã‹ã‚’指定ã—ã¾ã™ã€‚`t`ã®å ´åˆã¯å¸¸ã«è‡ªå‹•çš„ã«é–‹å§‹ã•れã¾ã™ã€‚`nil`ã®å ´åˆã¯çµ¶å¯¾ã«è‡ªå‹•çš„ã«é–‹å§‹ã•れã¾ã›ã‚“。整数ã®å ´åˆã¯ã€è£œå®Œå¯¾è±¡æ–‡å—列ã®é•·ã•ãŒãã®å€¤ä»¥ä¸Šã«ãªã‚‹ã¾ã§è‡ªå‹•çš„ã«é–‹å§‹ã•れã¾ã›ã‚“。 + +### `ac-stop-words` ### + +補完ã—ãªã„æ–‡å—列を文å—列ã®ãƒªã‚¹ãƒˆã§æŒ‡å®šã—ã¾ã™ã€‚ + +### `ac-use-dictionary-as-stop-words` ### + +auto-completeãŒè¾žæ›¸ã‚’ストップワードã¨ã—ã¦åˆ©ç”¨ã™ã‚‹ã‹ã©ã†ã‹ã‚’指定ã—ã¾ã™ã€‚ + +### `ac-ignore-case` ### + +補完時ã«å¤§æ–‡å—ãƒ»å°æ–‡å—を区別ã™ã‚‹ã‹ã©ã†ã‹ã§ã™ã€‚`t`ã®å ´åˆã¯å¸¸ã«ç„¡è¦–ã—ã¾ã™ã€‚`nil`ã®å ´åˆã¯ç„¡è¦–ã—ã¾ã›ã‚“。シンボルã§`smart`ãŒæŒ‡å®šã•れãŸå ´åˆã¯ã€è£œå®Œå¯¾è±¡æ–‡å—列ã«å¤§æ–‡å—ãŒå«ã¾ã‚Œã‚‹å ´åˆã®ã¿åŒºåˆ¥ã—ã¾ã™ã€‚ + +### `ac-dwim` ### + +"Do What I Mean"機能ã§ã™ã€‚`t`ã®å ´åˆã¯æ¬¡ã®æŒ™å‹•ã«ãªã‚Šã¾ã™ã€‚ + +* è£œå®Œé¸æŠžæ™‚ã«TABãŒRETã®æŒ™å‹•ã«å¤‰åŒ–ã™ã‚‹ +* 補完候補ãŒä¸€ã¤ã—ã‹ãªã„ã¨ãã«TABã‚’ã™ã‚‹ã¨RETã®æŒ™å‹•ã«ãªã‚‹ + +### `ac-use-menu-map` ### + +補完メニュー表示時ã«ç‰¹åˆ¥ãªã‚ーマップ(`ac-menu-map`)を有効ã«ã™ã‚‹ã‹ã©ã†ã‹ã§ã™ã€‚`t`ã‹ã¤æ¬¡ã®æ¡ä»¶ã‚’満ãŸã—ãŸã¨ãã«`ac-menu-map`ãŒæœ‰åйã«ãªã‚Šã¾ã™ã€‚ + +* `ac-auto-start`ãŠã‚ˆã³`ac-auto-show-menu`ãŒ`nil`ã§ãªãã€è£œå®Œã‚’é–‹å§‹ã—ã¦ã‹ã‚‰ä¸€å®šæ™‚間後ã«ãƒ¡ãƒ‹ãƒ¥ãƒ¼ãŒè¡¨ç¤ºã•れãŸã¨ã +* `auto-complete`コマンドã§ãƒ¡ãƒ‹ãƒ¥ãƒ¼ãŒè¡¨ç¤ºã•れãŸã¨ã +* `ac-isearch`コマンドã§ãƒ¡ãƒ‹ãƒ¥ãƒ¼ãŒè¡¨ç¤ºã•れãŸã¨ã + +### `ac-use-overriding-local-map` ### + +補完ã®é¸æŠžãªã©ã®è£œå®Œä¸ã®ã‚ー入力ãŒåйã‹ãªã„å ´åˆã«åˆ©ç”¨ã—ã¾ã™ã€‚内部的ã«ã¯`overriding-local-map`を使ã„ã¾ã™ãŒã€åŠ¹æžœãŒå¼·åŠ›ã™ãŽã¦ä»–ã®æ‹¡å¼µã¨å¹²æ¸‰ã™ã‚‹ã“ã¨ãŒã‚ã‚‹ã®ã§ã€æ¥µåŠ›åˆ©ç”¨ã—ãªã„ã§ãã ã•ã„。 + +### `ac-completion-face` ### + +インライン補完ã®ãŸã‚ã®ãƒ•ェイスã§ã™ã€‚ + +### `ac-candidate-face` ### + +補完候補ã®èƒŒæ™¯ã®ãŸã‚ã®ãƒ•ェイスã§ã™ã€‚ + +### `ac-selection-face` ### + +é¸æŠžã•れãŸè£œå®Œå€™è£œã®ãƒ•ェイスã§ã™ã€‚ + +### `global-auto-complete-mode` ### + +ã‚°ãƒãƒ¼ãƒãƒ«ã«`auto-complete-mode`を利用ã™ã‚‹ã‹ã©ã†ã‹ã§ã™ã€‚ + +### `ac-user-dictionary` ### + +[辞書ã«ã‚ˆã‚‹è£œå®Œ](#)ã®ãŸã‚ã®è¾žæ›¸ã‚’æ–‡å—列ã®ãƒªã‚¹ãƒˆã§æŒ‡å®šã—ã¾ã™ã€‚ + +### `ac-user-dictionary-files` ### + +[辞書ã«ã‚ˆã‚‹è£œå®Œ](#)ã®ãŸã‚ã®è¾žæ›¸ãƒ•ァイルを文å—列ã®ãƒªã‚¹ãƒˆã§æŒ‡å®šã—ã¾ã™ã€‚ + +### `ac-dictionary-directories` ### + +[辞書ã«ã‚ˆã‚‹è£œå®Œ](#)ã®ãŸã‚ã®è¾žæ›¸ãƒ•ァイルディレクトリを文å—列ã®ãƒªã‚¹ãƒˆã§æŒ‡å®šã—ã¾ã™ã€‚ + +### `ac-sources` ### + +使用ã™ã‚‹[æƒ…å ±æº](#)ã‚’ãƒªã‚¹ãƒˆã§æŒ‡å®šã—ã¾ã™ã€‚ã“れã¯ãƒãƒƒãƒ•ã‚¡ãƒãƒ¼ã‚«ãƒ«å¤‰æ•°ã§ã™ã€‚ + +### `ac-completing-map` ### + +補完ä¸ã«ä½¿ç”¨ã™ã‚‹ã‚ーマップã§ã™ã€‚ + +### `ac-menu-map` ### + +メニュー表示時ã«ä½¿ç”¨ã™ã‚‹ã‚ーマップã§ã™ã€‚[`ac-use-menu-map`](#)ã‚‚å‚ç…§ã—ã¦ãã ã•ã„。 + +### `ac-mode-map` ### + +`auto-complete-mode`ãŒæœ‰åйãªãƒãƒƒãƒ•ã‚¡ã§ä½¿ç”¨ã™ã‚‹ã‚ーマップã§ã™ã€‚ + +拡張方法 +-------- + +`auto-complete-mode`ã‚’æ‹¡å¼µã™ã‚‹ã¨ã¯ã¤ã¾ã‚Š[æƒ…å ±æº](#)を定義ã™ã‚‹ã“ã¨ã§ã™ã€‚ã“ã®ç¯€ã§ã¯æƒ…å ±æºã®å®šç¾©ã®ä»•方を説明ã—ã¾ã™ã€‚ + +### 雛形 ### + +æƒ…å ±æºã¯ãŠãŠã¾ã‹ã«è¨€ã£ã¦æ¬¡ã®ã‚ˆã†ãªå½¢ã‚’ã¨ã‚Šã¾ã™ã€‚ + + (defvar ac-source-mysource1 + '((prop . value) + ...)) + +見ã¦ã‚ã‹ã‚‹é€šã‚Šæƒ…å ±æºã¨ã¯å˜ãªã‚‹é€£æƒ³ãƒªã‚¹ãƒˆã§ã—ã‹ãªã„ã®ã§ã™ã€‚ã‚らã‹ã˜ã‚定義ã•れãŸãƒ—ãƒãƒ‘ティåã¨æ£ã—ã„値ã®ãƒšã‚¢ã‚’連想リストã¨ã—ã¦çµ„åˆã›ã‚‹ã ã‘ã§æƒ…å ±æºãŒå®šç¾©ã§ãã¦ã—ã¾ã†ã®ã§ã™ã€‚ + +### ç°¡å˜ãªä¾‹ ### + +æƒ…å ±æºã§ä¸€ç•ªé‡è¦ãªãƒ—ãƒãƒ‘ティã¯[`candidates`](#)プãƒãƒ‘ティã§ã™ã€‚ã“ã®ãƒ—ãƒãƒ‘ティã«é–¢æ•°ã‚ã‚‹ã„ã¯å¼ã€å¤‰æ•°ã‚’与ãˆã‚‹ã“ã¨ã§è£œå®Œå€™è£œã®ç”Ÿæˆã‚’行ã„ã¾ã™ã€‚プãƒãƒ‘ティã®è©•ä¾¡çµæžœã¯æ–‡å—列ã®ãƒªã‚¹ãƒˆã§ã‚ã‚‹ã¹ãã§ã™ã€‚例ã¨ã—ã¦è£œå®Œå€™è£œã¨ã—ã¦Foo, Bar, Bazを生æˆã™ã‚‹æƒ…å ±æºã‚’定義ã—ã¦ã¿ã¾ã—ょã†ã€‚ + + (defvar ac-source-mysource1 + '((candidates . (list "Foo" "Bar" "Baz")))) + +次ã«ã“ã®æƒ…å ±æºã‚’`ac-sources`ã«è¨å®šã—ã¦å®Ÿéš›ã«è£œå®Œã—ã¦ã¿ã¾ã—ょã†ã€‚ + + (setq ac-sources '(ac-source-mysource1)) + +Bã¨å…¥åŠ›ã—ã¦Bar, BazãŒè£œå®Œå€™è£œã¨ã—ã¦ç¾ã‚ã‚Œã‚Œã°æˆåŠŸã§ã™ã€‚上記ã®ä¾‹ã§ã¯`candidates`プãƒãƒ‘ティã«`(list ...)`ã¨ã„ã†å¼ã‚’指定ã—ã¾ã—ãŸã€‚ã“ã“ã§æŒ‡å®šã—ãŸå¼ã¯ãƒã‚¤ãƒˆã‚³ãƒ³ãƒ‘イルã•れãªã„ã®ã§ã€ã‚ˆã»ã©ç°¡å˜ãªã‚‚ã®ã§ãªã„ã‹ãŽã‚Šå¼ã§æŒ‡å®šã™ã‚‹ã®ã¯ãƒ‘ãƒ•ã‚©ãƒ¼ãƒžãƒ³ã‚¹ã®æ‚ªåŒ–ã‚’ã‚‚ãŸã‚‰ã—ã¾ã™ã€‚代替ç–ãƒ»æ£æ”»æ³•ã¨ã—ã¦ã¯é–¢æ•°ã‚’利用ã™ã‚‹ã®ãŒã‚ˆã„ã§ã—ょã†ã€‚ + + (defun mysource1-candidates () + '("Foo" "Bar" "Baz")) + + (defvar ac-source-mysource1 + '((candidates . mysource1-candidates))) + +`candidates`プãƒãƒ‘ãƒ†ã‚£ã«æŒ‡å®šã—ãŸé–¢æ•°ã¯å¼•æ•°ãªã—ã§è£œå®ŒãŒæ›´æ–°ã•れる度ã«å‘¼ã³å‡ºã•れã¾ã™ã€‚ãã®ä»–ã®æ–¹æ³•ã¨ã—ã¦å¤‰æ•°ã‚’直接指定ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ + +### åˆæœŸåŒ– ### + +補完ãŒé–‹å§‹ã•れãŸã¨ãã«ä¸€åº¦ã ã‘åˆæœŸåŒ–処ç†ã‚’行ã„ãŸã„ã¨ã„ã†ã“ã¨ãŒã‚りã¾ã™ã€‚ãã®ãŸã‚ã«ã¯`init`プãƒãƒ‘ティを利用ã—ã¾ã™ã€‚`candidates`プãƒãƒ‘ãƒ†ã‚£åŒæ§˜ã€å¼•æ•°ãªã—ã®é–¢æ•°ã‚ã‚‹ã„ã¯å¼ã‚’指定ã—ã¾ã™ã€‚次ã«ç°¡å˜ãªä¾‹ã‚’示ã—ã¾ã™ã€‚ + + (defvar mysource2-cache nil) + + (defun mysource2-init () + (setq mysource2-cache '("Huge" "Processing" "Is" "Done" "Here"))) + + (defvar ac-source-mysource2 + '((init . mysource2-init) + (candidates . mysource2-cache))) + +ã“ã®ä¾‹ã§ã¯`mysource2-init`関数ã§å¤§è¦æ¨¡ãªå‡¦ç†ã‚’行ã„ã€`mysource2-cache`変数ã«ãã®çµæžœã‚’ä¿å˜ã—ã¦ã„ã¾ã™ã€‚ãã—ã¦`candidates`プãƒãƒ‘ティã«ãã®å¤‰æ•°ã‚’指定ã™ã‚‹ã“ã¨ã§ã€è£œå®ŒãŒæ›´æ–°ã•れる度ã«å¤§è¦æ¨¡ãªå‡¦ç†ãŒè¡Œã‚れるã®ã‚’防ã„ã§ã„ã¾ã™ã€‚ã“ã®ä¾‹ã®ä»–ã«ã‚‚次ã®ã‚ˆã†ãªç”¨é€”ãŒè€ƒãˆã‚‰ã‚Œã¾ã™ã€‚ + +* `require`ã™ã‚‹ +* ãƒãƒƒãƒ•ã‚¡ã‚’é–‹ã„ã¦ãŠã + +### ã‚ャッシュ ### + +`auto-complete-mode`ã§ã¯ã‚ãƒ£ãƒƒã‚·ãƒ¥ã®æˆ¦ç•¥ãŒé‡è¦ã«ãªã‚Šã¾ã™ã€‚ãã®æ–¹æ³•ã¨ã—ã¦ã€å‰ç¯€ã§è§¦ã‚ŒãŸ`init`プãƒãƒ‘ティã«ã‚ˆã‚‹ã‚‚ã®ã¨ã€ã“ã®ç¯€ã§èª¬æ˜Žã™ã‚‹`cache`プãƒãƒ‘ティã«ã‚ˆã‚‹ã‚‚ã®ãŒåŸºæœ¬ã¨ãªã‚Šã¾ã™ã€‚æƒ…å ±æºã®å®šç¾©ã«`cache`プãƒãƒ‘ティをè¨å®šã—ã¦ãŠãã¨ã€åˆå›žã®`candidates`プãƒãƒ‘ティã®çµæžœãŒå†…部的ã«ã‚ャッシュã•れã€ãれ以é™ã¯`candidates`プãƒãƒ‘ティを評価ã™ã‚‹ä»£ã‚りã«ã€ãã®ã‚ャッシュを利用ã™ã‚‹ã«ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ + +å‰ç¯€ã®ä¾‹ã‚’`cache`プãƒãƒ‘ティを利用ã—ã¦æ›¸ãç›´ã—ã¦ã¿ã¾ã™ã€‚ + + (defun mysource2-candidates () + '("Huge" "Processing" "Is" "Done" "Here")) + + (defvar ac-source-mysource2 + '((candidates . mysource2-candidates) + (cache))) + +`candidates`プãƒãƒ‘ティã«å¤§è¦æ¨¡ãªå‡¦ç†ãŒå¿…è¦ãªé–¢æ•°ãŒæŒ‡å®šã•れã¦ã„ã¾ã™ãŒã€åˆå›žã®ã¿å®Ÿè¡Œã•れるã®ã§ãƒ‘フォーマンスã®å•題ã¯è»½æ¸›ã•れã¾ã™ã€‚ + +#### ã‚ャッシュã®å¯¿å‘½ #### + +`init`プãƒãƒ‘ティや`cache`プãƒãƒ‘ティより大ãã„スコープã§ã‚ãƒ£ãƒƒã‚·ãƒ¥ã‚’ä¿æŒã™ã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚例ãˆã°æ»…多ã«å¤‰æ›´ã®ãªã„関数åã®ãƒªã‚¹ãƒˆãªã©ãŒãã†ã§ã™ã€‚ãã®å ´åˆã«ãƒ‘ãƒ•ã‚©ãƒ¼ãƒžãƒ³ã‚¹ã‚’çŠ ç‰²ã«ã™ã‚‹ã“ã¨ãªãã€é©åº¦ã«ã‚ャッシュをクリアã™ã‚‹ã«ã¯ã©ã†ã™ã‚Œã°ã‚ˆã„ã®ã§ã—ょã†ã‹ã€‚`auto-complete-mode`ã¯ã‚ャッシュã®å¯¿å‘½ã‚’管ç†ã™ã‚‹æ©Ÿæ§‹ã‚’æŒã£ã¦ãŠã‚Šã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯ãã“ã«ã‚ャッシュ用ã®å¤‰æ•°ã‚’登録ã—ã¦ãŠãã“ã¨ã«ã‚ˆã‚Šã€é©å½“ãªã‚¤ãƒ™ãƒ³ãƒˆã”ã¨ã«ã‚ャッシュãŒã‚¯ãƒªã‚¢ã•れã¾ã™ã€‚ + +ãƒãƒƒãƒ•ã‚¡ãŒä¿å˜ã•れるãŸã³ã«ã‚ャッシュをクリアã™ã‚‹ã«ã¯`ac-clear-variable-after-save`ã§å¤‰æ•°ã‚’登録ã—ã¾ã™ã€‚ç°¡å˜ãªä¾‹ã‚’示ã—ã¾ã™ã€‚ + + (defvar mysource3-cache nil) + + (ac-clear-variable-after-save 'mysource3-cache) + + (defun mysource3-candidates () + (or mysource3-cache + (setq mysource3-cache (list (format "Time %s" (current-time-string)))))) + + (defvar ac-source-mysource3 + '((candidates . mysource3-candidates))) + +ã“れを`ac-sources`ã«è¨å®šã—ã¦Timeã§è£œå®Œã‚’行ã£ã¦ãã ã•ã„。ã™ã‚‹ã¨è£œå®Œå€™è£œã«è£œå®Œæ™‚ã®æ™‚é–“ãŒè¡¨ç¤ºã•ã‚Œã‚‹ã¨æ€ã„ã¾ã™ã€‚二度目以é™ã‚‚åŒã˜æ™‚é–“ãŒè¡¨ç¤ºã•れるã®ã¯`mysource3-candidates`ã¯å¯èƒ½ãªé™ã‚Šã‚ャッシュを返ã™ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ã‹ã‚‰ã§ã™ã€‚ãれã§ã¯ä¸€åº¦ãã®ãƒãƒƒãƒ•ã‚¡ã‚’ä¿å˜ã—ã¦ã€å†ã³Timeã§è£œå®Œã‚’行ã£ã¦ãã ã•ã„ã€‚ä»Šåº¦ã¯æ–°ã—ã„æ™‚é–“ã«æ›´æ–°ã•れãŸã¨æ€ã„ã¾ã™ã€‚ã“ã®æƒ…å ±æºã®ã‚モã¯`ac-clear-variable-after-save`ã§ã‚ャッシュ用変数を登録ã—ã¦ã„ã‚‹ã¨ã“ã‚ã«ã‚りã¾ã™ã€‚ + +ã•らã«å®šæœŸçš„ã«ã‚ャッシュをクリアã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚ãã®ãŸã‚ã«ã¯`ac-clear-variable-every-minute`ã§å¤‰æ•°ã‚’登録ã—ã¾ã™ã€‚ä½¿ã„æ–¹ã¯`ac-clear-variable-after-save`ã¨åŒã˜ã§ã™ãŒã€ä¸€åˆ†ã”ã¨ã«å®šæœŸçš„ã«ã‚ャッシュãŒã‚¯ãƒªã‚¢ã•れる点ãŒç•°ãªã‚Šã¾ã™ã€‚æ¨™æº–ã®æƒ…å ±æºã§ã‚ã‚‹`ac-source-functions`ãªã©ãŒã“ã®æ©Ÿèƒ½ã‚’利用ã—ã¦ã„ã¾ã™ã€‚ + +### アクション ### + +[RETã«ã‚ˆã‚‹è£œå®Œ](#)ã®å ´åˆã€`action`プãƒãƒ‘ãƒ†ã‚£ã§æŒ‡å®šã•れãŸé–¢æ•°ã‚ã‚‹ã„ã¯å¼ãŒè©•価ã•れã¾ã™ã€‚æ¨™æº–æƒ…å ±æºã§ã¯`ac-source-abbrev`ã‚„`ac-source-yasnippet`ãŒåˆ©ç”¨ã—ã¦ã„ã¾ã™ã€‚ + +### オムニ補完 ### + +*オムニ補完*ã¨ã¯ç¾åœ¨ç·¨é›†ä¸ã®ã‚³ãƒ³ãƒ†ã‚ストを考慮ã—ã¦è¡Œã†è£œå®Œã®ã“ã¨ã§ã™ã€‚スラッシュを検出ã—ã¦è¡Œã†ãƒ•ァイルå補完やã€ãƒ‰ãƒƒãƒˆã‚’検出ã—ã¦è¡Œã†C/C++ã®ãƒ¡ãƒ³ãƒãƒ¼è£œå®Œã¯ã€ã“ã®ã‚ªãƒ ニ補完ã§ã‚ã‚‹ã¨è¨€ãˆã¾ã™ã€‚æƒ…å ±æºã‚’オムニ補完ã«å¯¾å¿œã•ã›ã‚‹ã«ã¯`prefix`プãƒãƒ‘ティを使ã„ã¾ã™ã€‚`prefix`プãƒãƒ‘ティã¯è£œå®Œå¯¾è±¡æ–‡å—列ã®é–‹å§‹ä½ç½®ã‚’ãƒã‚¤ãƒ³ãƒˆã§è¿”ã•ãªã‘れã°ãªã‚Šã¾ã›ã‚“。`nil`ã‚’è¿”ã—ãŸå ´åˆã¯ã€ãã®æƒ…å ±æºãŒç¾åœ¨ã®ã‚³ãƒ³ãƒ†ã‚ストã§ã¯ç„¡åйã§ã‚ã‚‹ã¨è§£é‡ˆã—ã¾ã™ã€‚ + +例ã¨ã—ã¦`To: `ã®å¾Œã«ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’補完ã™ã‚‹æƒ…å ±æºã‚’考ãˆã¦ã¿ã¾ã—ょã†ã€‚ã¾ãšã€ã“れã¾ã§ã®çŸ¥è˜ã‹ã‚‰ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’補完ã™ã‚‹æƒ…å ±æºã‚’定義ã—ã¾ã™ã€‚ + + (defvar ac-source-to-mailaddr + '((candidates . (list "foo1@example.com" + "foo2@example.com" + "foo3@example.com")))) + + (setq ac-sources '(ac-source-to-mailaddr)) + +ã“ã“ã¾ã§ã¯ç°¡å˜ã§ã™ã€‚次ã«`prefix`プãƒãƒ‘ティを使ã£ã¦`To: `ã®å¾Œã«ã®ã¿è£œå®ŒãŒé–‹å§‹ã•れるよã†ã«ã—ã¾ã™ã€‚`prefix`プãƒãƒ‘ティã«ã¯æ¬¡ã®ä¸‰ã¤ãŒæŒ‡å®šã§ãã¾ã™ã€‚ + +* æ£è¦è¡¨ç¾ +* 関数 +* å¼ + +æ£è¦è¡¨ç¾ã‚’指定ã—ãŸå ´åˆã€ãã®æ£è¦è¡¨ç¾ã‚’使ã£ã¦`re-search-backward`を行ã„[^1]ã€ãƒžãƒƒãƒã—ãŸã‚°ãƒ«ãƒ¼ãƒ—1ã‚ã‚‹ã„ã¯ã‚°ãƒ«ãƒ¼ãƒ—0ã®å…ˆé ä½ç½®ã‚’補完対象文å—列ã®é–‹å§‹ä½ç½®ã¨ã—ã¾ã™ã€‚ã‚‚ã†å°‘ã—複雑ãªåˆ¶å¾¡ãŒå¿…è¦ãªå ´åˆã¯é–¢æ•°ã‚ã‚‹ã„ã¯å¼ã‚’指定ã—ã¾ã™ã€‚ã“ã“ã§è©•価ã•れãŸé–‹å§‹ä½ç½®ã¯[`ac-point`](#)ã«æ ¼ç´ã•れã¾ã™ã€‚å…ˆã®ä¾‹ã§ã¯æ¬¡ã®æ£è¦è¡¨ç¾ã§äº‹è¶³ã‚Šã¾ã™ã€‚ + + ^To: \(.*\) + +グループ1ã‚’ã‚ャプãƒãƒ£ã—ã¦ã„ã‚‹ã®ã¯`To: `を補完対象文å—列ã«å«ã‚ãªã„ãŸã‚ã§ã™ã€‚ã“れを`prefix`プãƒãƒ‘ティã«è¨å®šã—ãŸæœ€çµ‚çš„ãªæƒ…å ±æºã¯æ¬¡ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ + + (defvar ac-source-to-mailaddr + '((candidates . (list "foo1@example.com" + "foo2@example.com" + "foo3@example.com")) + (prefix . "^To: \\(.*\\)"))) + +試ã—ã«`To: `ã¨å…¥åŠ›ã—ã¦ã¿ã¾ã—ょã†ã€‚メールアドレスãŒè£œå®Œã§ãるよã†ã«ãªã£ãŸã‚‰æˆåŠŸã§ã™ã€‚ + + +[^1]: 厳密ã«ã¯ãã®æ£è¦è¡¨ç¾ã®æœ«å°¾ã«ã‚«ãƒ¼ã‚½ãƒ«ã‚’æ„味ã™ã‚‹\=を付与ã—ãŸã‚‚ã®ã§`re-search-backward`ã•れã¾ã™ + +### `ac-define-source` ### + +ã“れã¾ã§ã¯`defvar`ã§æƒ…å ±æºã‚’定義ã—ã¦ãã¾ã—ãŸãŒã€`ac-define-source`ã¨ã„ã†ãƒ¦ãƒ¼ãƒ†ã‚£ãƒªãƒ†ã‚£ãƒžã‚¯ãƒã‚’使ã£ã¦å®šç¾©ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚ + + (ac-define-source mysource3 + '((candidates . (list "Foo" "Bar" "Baz")))) + +ã“ã®ãƒžã‚¯ãƒã¯æ¬¡ã®ã‚ˆã†ã«å±•é–‹ã•れã¾ã™ã€‚ + + (defvar ac-source-mysource3 + '((candidates . (list "Foo" "Bar" "Baz")))) + + (defun ac-complete-mysource3 () + (interactive) + (auto-complete '(ac-source-mysource3))) + +`defvar`ã¯å¾“æ¥é€šã‚Šå®šç¾©ã•れã€ç¶šã„ã¦ãã®æƒ…å ±æºã®ã¿ã§è£œå®Œã‚’行ã†ã‚³ãƒžãƒ³ãƒ‰ãŒå®šç¾©ã•れã¾ã™ã€‚`auto-complete`ã¯å¼•æ•°ãªã—ã§å‘¼ã³å‡ºã•れãŸå ´åˆã¯`ac-sources`ã‚’æƒ…å ±æºã¨ã—ã¦ä½¿ã„ã€å¼•æ•°ã‚りã§å‘¼ã³å‡ºã•れãŸå ´åˆã¯ãã®å€¤ã‚’æƒ…å ±æºã¨ã—ã¦ä½¿ã„ã¾ã™ã€‚`defvar`ã‹`ac-define-source`ã‹ã©ã¡ã‚‰ã‚’使ã†ã‹ã¯å¾®å¦™ã§ã™ãŒã€å¾Œæ–¹äº’æ›æ€§ã‚’ä¿æŒã™ã‚‹ãªã‚‰`defvar`ã®ã»ã†ãŒç„¡é›£ã§ã—ょã†ã€‚ã¡ãªã¿ã«æ¨™æº–æƒ…å ±æºã¯å…¨ã¦`ac-define-source`ã§å®šç¾©ã•れã¦ã„ã¾ã™ã€‚ã¤ã¾ã‚Š`ac-complete-filename`ãªã©ã‚’ä»–ã®ã‚ーã«å‰²ã‚Šå½“ã¦ã¦å€‹åˆ¥ã«åˆ©ç”¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + +### æƒ…å ±æºãƒ—ãƒãƒ‘ティ一覧 ### + +#### `init` #### + +補完開始時ã«ä¸€åº¦ã ã‘æŒ‡å®šã•れãŸé–¢æ•°ã‚ã‚‹ã„ã¯å¼ã‚’評価ã—ã¾ã™ã€‚ + +#### `candidates` #### + +è£œå®Œæ›´æ–°æ™‚ã«æŒ‡å®šã•れãŸé–¢æ•°ã‚ã‚‹ã„ã¯å¼ã€å¤‰æ•°ã‚’評価ã—ã¾ã™ã€‚è©•ä¾¡çµæžœã¯æ–‡å—列ã®ãƒªã‚¹ãƒˆã§ã‚ã‚‹ã¹ãã§ã™ã€‚[`cache`](#)プãƒãƒ‘ãƒ†ã‚£ãŒæœ‰åйãªå ´åˆã¯ã€ãã®è£œå®Œã§ã¯äºŒåº¦ç›®ä»¥é™è©•価ã•れã¾ã›ã‚“。 + +#### `prefix` #### + +指定ã•ã‚ŒãŸæ£è¦è¡¨ç¾ã€é–¢æ•°ã‚ã‚‹ã„ã¯å¼ã‚’評価ã—ã¦ã€[オムニ補完](#)ã®ãŸã‚ã®è£œå®Œå¯¾è±¡æ–‡å—列ã®é–‹å§‹ä½ç½®ã‚’å–å¾—ã—ã¾ã™ã€‚`nil`ã‚’è¿”ã—ãŸå ´åˆã¯ãã®æƒ…å ±æºã¯ç„¡è¦–ã•れã¾ã™ã€‚æ£è¦è¡¨ç¾ãŒæŒ‡å®šã•れãŸå ´åˆã€ã‚°ãƒ«ãƒ¼ãƒ—1ã®é–‹å§‹ä½ç½®ã‚ã‚‹ã„ã¯ã‚°ãƒ«ãƒ¼ãƒ—0ã®é–‹å§‹ä½ç½®ãŒè©•価値ã¨ã—ã¦ä½¿ã‚れã¾ã™ã€‚ + +#### `requires` #### + +æƒ…å ±æºãŒæœ‰åйã«ãªã‚‹è£œå®Œå¯¾è±¡æ–‡å—åˆ—ã®æ–‡å—数を指定ã—ã¾ã™ã€‚指定ã®ãªã„å ´åˆã¯[`ac-auto-start`](#)ã®å€¤ãŒåˆ©ç”¨ã•れã¾ã™ã€‚ + +#### `action` #### + +[RETã«ã‚ˆã‚‹è£œå®Œ](#)時ã«å®Ÿè¡Œã™ã‚‹[アクション](#)を関数ã‚ã‚‹ã„ã¯å¼ã§æŒ‡å®šã—ã¾ã™ã€‚ + +#### `limit` #### + +補完候補ã®ä¸Šé™æ•°ã‚’è¨å®šã—ã¾ã™ã€‚`ac-candidate-limit`を部分的ã«ä¸Šæ›¸ãã—ã¾ã™ã€‚ + +#### `symbol` #### + +è£œå®Œå€™è£œã®æ„味をç¾ã‚ã™è¨˜å·ã‚’一文å—ã®æ–‡å—åˆ—ã§æŒ‡å®šã—ã¾ã™ã€‚指定ã™ã‚‹è¨˜å·ã¯ä»»æ„ã§ã™ãŒã€åŸºæœ¬çš„ã«ä»¥ä¸‹ã®æ…£ç¿’ã«å¾“ã†ã¹ãã§ã™ã€‚ + +| è¨˜å· | æ„味 | +|------|----------------| +| s | シンボル | +| f | 関数・メソッド | +| v | 変数 | +| c | 定数 | +| a | 略語 | +| d | 辞書 | + +#### `summary` #### + +補完候補ã®ã‚µãƒžãƒªã‚’æ–‡å—åˆ—ã§æŒ‡å®šã—ã¾ã™ã€‚ã“れã¯è£œå®Œå€™è£œã‚’ç°¡æ½”ã«èª¬æ˜Žã™ã‚‹ãŸã‚ã«ä½¿ã†ã¹ãã§ã™ã€‚ + +#### `cache` #### + +[ã‚ャッシュ](#)を利用ã—ã¾ã™ã€‚ + +#### `require` #### + +æ•´æ•°ã‚ã‚‹ã„ã¯`nil`を指定ã—ã¾ã™ã€‚æ•´æ•°ãŒæŒ‡å®šã•れãŸå ´åˆã€ãã®å€¤ãŒè£œå®Œå¯¾è±¡æ–‡å—列ã®é•·ã•より大ãã„å ´åˆã¯ã€ãã®æƒ…å ±æºã¯ç„¡è¦–ã•れã¾ã™ã€‚`nil`ã®å ´åˆã¯å¸¸ã«æœ‰åйã«ãªã‚Šã¾ã™ã€‚ + +#### `candidate-face` #### + +補完候補ã®ãƒ•ェイスを指定ã—ã¾ã™ã€‚[`ac-candidate-face`](#)を部分的ã«ä¸Šæ›¸ãã—ã¾ã™ã€‚ + +#### `selection-face` #### + +é¸æŠžã•れãŸè£œå®Œå€™è£œã®ãƒ•ェイスを指定ã—ã¾ã™ã€‚[`ac-selection-face`](#)を部分的ã«ä¸Šæ›¸ãã—ã¾ã™ã€‚ + +#### `depends` #### + +ä¾å˜ã™ã‚‹feature(`require`ã•ã‚Œã‚‹ï¼‰ã‚’ãƒªã‚¹ãƒˆã§æŒ‡å®šã—ã¾ã™ã€‚ + +#### `available` #### + +ã“ã®æƒ…å ±æºãŒåˆ©ç”¨ã§ãã‚‹ã‹ã‚’示ã™é–¢æ•°ã‚ã‚‹ã„ã¯å¼ã‚’指定ã—ã¾ã™ã€‚ + +#### `document` #### + +補完候補ã®ãƒ‰ã‚ュメントを示ã™é–¢æ•°ã‚ã‚‹ã„ã¯å¼ã‚’指定ã—ã¾ã™ã€‚ + +### 変数一覧 ### + +æƒ…å ±æºã§ã‚ˆã利用ã™ã‚‹å¤‰æ•°ã‚’一覧ã—ã¾ã™ã€‚ + +#### `ac-buffer` #### + +補完ãŒé–‹å§‹ã•れãŸãƒãƒƒãƒ•ã‚¡ã§ã™ã€‚ + +#### `ac-point` #### + +補完対象文å—列ã®é–‹å§‹ä½ç½®ã§ã™ã€‚ + +#### `ac-prefix` #### + +補完対象文å—列ã§ã™ã€‚ + +#### `ac-limit` #### + +ç¾åœ¨ã®æƒ…å ±æºã®å€™è£œä¸Šé™æ•°ã§ã™ã€‚[`ac-candidate-limit`](#)ã‚„[`limit`](#)プãƒãƒ‘ティã§åˆ¶å¾¡ã•れã¾ã™ã€‚ + +#### `ac-candidates` #### + +補完候補ã®ãƒªã‚¹ãƒˆã§ã™ã€‚ + +トラブルシューティング +---------------------- + +### レスãƒãƒ³ã‚¹ãŒé…ã„ ### + +å分ãªãƒ¬ã‚¹ãƒãƒ³ã‚¹æ€§èƒ½ã‚’確ä¿ã™ã‚‹ã®ã¯`auto-complete-mode`ã«ã¨ã£ã¦å¤§å¤‰é‡è¦ãªã“ã¨ã§ã™ãŒã€ã‚ˆã知られã¦ã„るよã†ã«ã€ãã‚Œã¯æ©Ÿèƒ½æ€§ã¨ã®ãƒˆãƒ¬ãƒ¼ãƒ‰ã‚ªãƒ•ã§ã‚‚ã‚りã¾ã™ã€‚以下ã«ãƒ¬ã‚¹ãƒãƒ³ã‚¹æ€§èƒ½ã«é–¢é€£ã™ã‚‹è¨å®šé …目を挙ã’ã‚‹ã®ã§ã€ã‚‚ã—å•題ãŒã‚れã°å‚ç…§ã—ã¦ãã ã•ã„。 + +#### `ac-auto-start` #### {#trouble_ac-auto-start} + +[`ac-auto-start`](#)ã«å¤§ãã‚ã®æ•°å€¤ã‚’è¨å®šã™ã‚‹ã“ã¨ã§ã€è£œå®Œå€™è£œã®ç”Ÿæˆã‚³ã‚¹ãƒˆã‚’軽減ã™ã‚‹ãŒã§ãã¾ã™ã€‚ã‚ã‚‹ã„ã¯`nil`ã«è¨å®šã™ã‚‹ã“ã¨ã§ã€æœ¬å½“ã«å¿…è¦ãªæ™‚ã ã‘補完を実行ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚詳ã—ãã¯[自動的ã«è£œå®Œã—ãªã„](#)ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 + +#### `ac-delay` #### {#trouble_ac-delay} + +[`ac-delay`](#)ã«å¤§ãã‚ã®æ•°å€¤ã‚’è¨å®šã™ã‚‹ã“ã¨ã§ã€è£œå®Œé–‹å§‹ã‚³ã‚¹ãƒˆã‚’軽減ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + +#### `ac-auto-show-menu` #### {#trouble_ac-auto-show-menu} + +[`ac-auto-show-menu`](#)ã«å¤§ãã‚ã®æ•°å€¤ã‚’è¨å®šã™ã‚‹ã“ã¨ã§ã€è£œå®Œãƒ¡ãƒ‹ãƒ¥ãƒ¼ã®è¡¨ç¤ºã‚³ã‚¹ãƒˆã‚’軽減ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + +#### `ac-use-comphist` #### {#trouble_ac-use-comphist} + +[`ac-use-comphist`](#)ã«`nil`ã‚’è¨å®šã—ã¦[補完推測機能](#)を無効ã«ã™ã‚‹ã“ã¨ã§ã€æŽ¨æ¸¬ã®ãŸã‚ã®è¨ˆç®—コストを軽減ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + +#### `ac-candidate-limit` #### {#trouble_ac-candidate-limit} + +[`ac-candidate-limit`](#)ã«é©åˆ‡ãªæ•°å€¤ã‚’è¨å®šã™ã‚‹ã“ã¨ã§ã€å¤šé‡ã®è¨ˆç®—を行ã‚ãªã„よã†ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + +### 補完メニューã®è¡¨ç¤ºãŒå´©ã‚Œã‚‹ ### + +補完メニューã®è¡¨ç¤ºãŒå´©ã‚Œã‚‹å•題ã«ã¯å¤§ãã分ã‘ã¦äºŒã¤ã‚りã¾ã™ã€‚ + +#### カラム計算ã®å•題 #### + +`auto-complete-mode`ã¯è£œå®Œãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚’æ£ã—ã表示ã™ã‚‹ã®ã«å¿…é ˆãªå‡¦ç†ã§ã‚るカラム計算ã®ã‚³ã‚¹ãƒˆã‚’軽減ã™ã‚‹ãŸã‚ã«ã€æ£ç¢ºã•ã‚’ã‚ã‚‹ç¨‹åº¦çŠ ç‰²ã«ã—ãŸæœ€é©åŒ–ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ã‚«ãƒ©ãƒ 計算関数を利用ã—ã¦ã„ã¾ã™ãŒã€ã“れãŒåŽŸå› ã§è£œå®Œãƒ¡ãƒ‹ãƒ¥ãƒ¼ã®è¡¨ç¤ºãŒå´©ã‚Œã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚最é©åŒ–ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’使ã‚ãªã„ãŸã‚ã«ã¯æ¬¡ã®ã‚³ãƒ¼ãƒ‰ã‚’評価ã—ã¾ã™ã€‚ + + (setq popup-use-optimized-column-computation nil) + +#### フォントã®å•題 #### + +Ubuntu 9.10ã«ã¦[IPAフォント](http://ossipedia.ipa.go.jp/ipafont/)ã‚’Xftã§ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°ã™ã‚‹ã¨ã€è£œå®Œãƒ¡ãƒ‹ãƒ¥ãƒ¼ã®è¡¨ç¤ºãŒå´©ã‚Œã‚‹å•題を確èªã—ã¦ã„ã¾ã™ã€‚[VLゴシック](http://dicey.org/vlgothic/)ãªã©ã§ã¯Xftã§ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°ã—ã¦ã‚‚æ£ã—ã表示ã•れるよã†ãªã®ã§ã€ãã¡ã‚‰ã‚’ãŠä½¿ã„ãã ã•ã„。ã¾ãŸã€Xftを使ã‚ãªã‘れã°IPAフォントもæ£ã—ãレンダリングã§ãã¾ã™ã€‚ + +ç¾åœ¨ã®ã¨ã“ã‚完全ãªå¯¾å¿œç–ã¯è¦‹ã¤ã‹ã£ã¦ã„ã¾ã›ã‚“ãŒã€`set-face-font`ã§è£œå®Œãƒ¡ãƒ‹ãƒ¥ãƒ¼ã®ãƒ•ォントサイズをé©åˆ‡ãªã‚µã‚¤ã‚ºã«å¤‰æ›´ã™ã‚‹ã“ã¨ã§å¯¾å¿œã§ãã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚例ãˆã°NTEmacsã§ã¯æ—¥æœ¬èªžã‚’å«ã‚€è£œå®Œãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚’表示ã™ã‚‹ã¨è£œå®Œãƒ¡ãƒ‹ãƒ¥ãƒ¼ã®è¡¨ç¤ºãŒå´©ã‚Œã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚ã“れã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ãƒ•ォントサイズを調整ã™ã‚‹ã“ã¨ã§å¯¾å¿œã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + + (set-face-font 'ac-candidate-face "MS Gothic 11") + (set-face-font 'ac-selection-face "MS Gothic 11") + +既知ã®å•題 +---------- + +### `flyspell-mode`ãŒæœ‰åйãªãƒãƒƒãƒ•ã‚¡ã§è‡ªå‹•補完ã§ããªã„ ### {#flyspell-mode-bug} + +`flyspell-mode`ã®é…延手法ãŒåŽŸå› ã§è‡ªå‹•補完ãŒã§ãã¾ã›ã‚“。ã“れを回é¿ã™ã‚‹ã«ã¯`M-x ac-flyspell-workaround`ã¨ã™ã‚‹ã‹`~/.emacs`ã«æ¬¡ã®ã‚ˆã†ã«æ›¸ã„ã¦ãã ã•ã„。 + + (ac-flyspell-workaround) + +### `linum-mode`ãŒè£œå®Œãƒ¡ãƒ‹ãƒ¥ãƒ¼ã®è¡Œç•ªå·ã‚’表示ã—ã¦ã—ã¾ã† ### {#linum-mode-bug} + +`linum-mode`ãŒè£œå®Œãƒ¡ãƒ‹ãƒ¥ãƒ¼ã®è¡Œç•ªå·ã‚’表示ã—ã¦ã—ã¾ã„ã¾ã™ã€‚ã“れを回é¿ã™ã‚‹ã«ã¯`M-x ac-linum-workaround`ã¨ã™ã‚‹ã‹`~/.emacs`ã«æ¬¡ã®ã‚ˆã†ã«æ›¸ã„ã¦ãã ã•ã„。 + + (ac-linum-workaround) + +ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆ +------------ + +[Auto Complete Modeã®ãƒã‚°ãƒˆãƒ©ãƒƒã‚ングシステム](http://cx4a.org/redmine/projects/auto-complete-mode)ã«æ–°ã—ã„ãƒã‚±ãƒƒãƒˆã‚’登録ã—ã¦ãã ã•ã„。 + +[GNU Emacs]: http://www.gnu.org/software/emacs/ +[GPLv3]: http://gplv3.fsf.org/ +[GFDL]: http://www.gnu.org/copyleft/fdl.html diff --git a/scripts/emacs/auto-complete-1.4/doc/manual.txt b/scripts/emacs/auto-complete-1.4/doc/manual.txt new file mode 100644 index 0000000000000000000000000000000000000000..c20769d8b16ab695cbd95d509e873223b8b5b6b0 --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/doc/manual.txt @@ -0,0 +1,1103 @@ +Title: Auto Complete Mode - User Manual +Numbering: yes +CSS: style.css + +Auto Complete Mode User Manual +============================== + +[Index](index.txt) + +\[[Japanese](manual.ja.txt)] + +* * * * + +{toc} + +* * * * + +Introduction +------------ + +Auto Complete Mode (aka `auto-complete.el`, `auto-complete-mode`) is an extension that automates and advances the completion-system of [GNU Emacs][]. This is superior to the old system: + +* Visual interface +* Reduce overhead of completion by using statistic method +* Extensibility + +This user manual covers from how to install and how to use to how to extend. Please contact me if you have any questions. + +Auto Complete Mode is licensed under the terms of [GPLv3][]. And this document is licensed under the term of [GFDL][]. + +Downloads +--------- + +You can download from [Auto Complete Mode top page](index.txt). + +Installation +------------ + +### Requirements ### + +* 800MHz or higher CPU +* 256MB or higher RAM +* GNU Emacs 22 or later + +### Installation Script ### + +It is easy to install by using an installation script called `etc/install.el` that is located in the package directory. + +Type `M-x load-file RET` in the running Emacs or newly launched Emacs. Note that if you want to upgrade `auto-complete-mode`, you have to install in **a newly launched Emacs with `-q` option**. Then input a file name to load which is a path string with adding `/etc/install.el` to the package directory. For example, if the package directory is `~/tmp/auto-complete-1.2`, the file name will be `~/tmp/auto-complete-1.2/etc/install.el`. + +Then input a directory where Auto Complete will be installed. You need to add a directory to `load-path` later if `load-path` doesn't include the directory. The directory is to be `~/.emacs.d` by default. + +Finally type `RET` to start installation. After installation, you may see the following buffer and follow instructions to edit `.emacs`. + +You can also install from terminal like: + + $ make install + $ # or with directory specified + $ make install DIR=$HOME/.emacs.d/ + +If you don't have GNU Make, run emacs like: + + $ emacs -batch -l etc/install.el + +**Example message after installation (\*Installation Result* Buffer)** + + Successfully installed! + + Add the following code to your .emacs: + + (add-to-list 'load-path "~/.emacs.d") ; This may not be appeared if you have already added. + (require 'auto-complete-config) + (add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict") + (ac-config-default) + +### Manual Installation ### + +It is also possible to install manually if you follow a directory configuration. First, byte-compile all `.el` files in the package directory. You may use `Makefile` in UNIX OS. + + $ make byte-compile + +If you can't use `Makefile`, open the directory from Emacs by `C-x d` and type `* . el RET B RET` to do byte-compile. + +Then copy all `.el` files and `.elc` files to a directory which is added to `load-path`. You may do such the following command if the directory is `~/.emacs.d` + + $ cp *.el *.elc ~/.emacs.d + +And then install dictionary files. They are optional to run Auto Complete Mode, but you should install if you don't have any reason. Dictionary files are located in called `dict` directory, it is needed that they are installed to a directory which is `auto-complete.el` has been installed. If you installed `auto-complete.el` to a directory called `~/.emacs.d`, you also have to install dictionary files to `~/.emacs.d`. Please be careful not to overwrite existed files. It may be rare case, but the installation script above avoids overwrite by renaming `dict` directory to `ac-dict` directory. + + $ cp -r dict ~/.emacs.d + +Finally add the following code to `.emacs`. + + (add-to-list 'ac-dictionary-directories "~/.emacs.d/dict") + (require 'auto-complete-config) + (ac-config-default) + +If you haven't added the directory to `load-path`, you need to add the following code too. + + (add-to-list 'load-path "~/.emacs.d") + +### Check ### + +Type some characters in \*scratch\* buffer in a restarted Emacs or newly launched Emacs. Installation has been successful if you see a completion menu. If you have error or no completion is started, it is failure maybe. Please contact me in such case with confirmation following: + +* Using correct `load-path`? + + A directory which `auto-complete.el` is installed to is in `load-path`. + +* Characters `AC` in mode-line? + + If you don't see characters `AC` in mode-line (a gray line of bottom of buffer), `auto-complete-mode` is not enabled. Type `M-x auto-complete-mode` to enable and try again. + +* Error occurred + + If you have \*Backtrace* with errors or errors in minibuffer (bottom of frame), please contact me with the errors. + +Basic Usage +----------- + +First, in a meaning, `auto-complete-mode` has no "usage". Because `auto-complete-mode` is designed to fade into Emacs editing system. Users will be received a highly-developed completion-system automatically without any difficulty. Ultimately, a goal of `auto-complete-mode` is to provide a system that does what users want without any command, but it is impossible to accomplish 100% accuracy actually. So there is "usage" to cover that points. + +### Input Characters ### + +Inputting characters is basic. Any completion will never be shown without any character. So when completion will be started, in other others, what character causes completion to be started? It is good question but it is difficult to answer here. In simple words, completion will be started when just character is inserted. See [`ac-trigger-commands`](#) for more details. + + + +### Completion by TAB #### + +After completion is started, completion by TAB will be enabled temporarily. Completion by TAB is the most important and most frequent used command. TAB has several meanings. + +* Case that only one candidate remains + + If only on candidate remains, the candidate will be used to complete. + +* Case that there is common part among candidates + + For example, if all candidates start with "set", it means they have common part "set". So TAB completes "set" at first. + +* Otherwise + + Otherwise, select candidates in cycle by typing TAB. + +It may be different a little according to settings, but basically completion by TAB works as we wrote above. A reason why TAB has several meanings is that we want users to do anything with TAB. + +### Completion by RET ### + +Like completion by TAB but some points are different: + +* Complete a selected candidate immediately +* Execute an action if a selected candidate has the action + +It is necessary to type TAB a few times for completion by TAB. Completion by RET instead complete a selected candidate immediately, so when you see a candidate you want, just type RET. If the candidate has an action, the action will be executed. Take a example of builtin abbrev completion. In completion by TAB, an abbrev which expands "www" to "World Wide Web" will be completed to "www", but in completion by RET, the abbrev will be expanded to "World Wide Web" as completion. + +### Candidate Selection ### + +Following `auto-complete-mode` philosophy, it is not recommended to select candidates. Because, it means it has been failed to guess completion, and also it requires for users to do candidate selection which is a high cost operation. We think there is so many cases that requires to do candidate selection, because completion by TAB will help candidate selection somehow and in recent version, a statistic method contributes to make a candidate suggestion more accurate. However, actually, this is such cases. So we also think it is not bad idea to remember how to select candidates. + +Selecting candidates is not a complex operation. You can select candidates forward or backward by cursor key or `M-p` and `M-n`. According to setting, a behavior of completion by TAB will be changed as a behavior of completion by RET. See [`ac-dwim`](#) for more details. + +There is other ways to select candidates. `M-1` to select candidate 1, `M-2` to select candidate 2, and so on. + +### Help ### + +`auto-complete-mode` has two type of help functionalities called *Quick Help* and *Buffer Help*. They are different in a point of displaying. Quick help will appear at the side of completion menu, so you can easily see that, but there is a problem if there is no space to displaying the help. Quick help will be shown automatically. To use quick help, you need to set [`ac-use-quick-help`](#) to `t`. Delay time show quick help is given by [`ac-quick-help-delay`](#). + +On other side, buffer help will not be shown without any instructions from users. Buffer help literally display a help in a buffer of other window. It costs much to see than quick help, but it has more readability. To show buffer help, press `C-?` or `f1`. By pressing `C-M-v` or `C-M-S-v` after showing buffer help, you can scroll forward or backward for help buffer. Other commands will be fallbacked and buffer help will be closed. + +### Summary ### + +Completion will be started by inserting characters. After completion is started, operations in the following table will be enabled temporarily. After completion is finished, these operations will be disable. + +| Key | Command | Description | +|-----------|-------------|---------------------------| +| TAB, C-i | ac-expand | Completion by TAB | +| RET, C-m | ac-complete | Completion by RET | +| down, M-n | ac-next | Select next candidate | +| up, M-p | ac-previous | Select previous candidate | +| C-?, f1 | ac-help | Show buffer help | + +To stop completion, use `C-g` simply. + +Advanced Usage +-------------- + +### `auto-complete` command ### + +Basically there is assumption that `auto-complete-mode` will be started automatically, but there is also exception. For example, that is a case that an user wants to complete without inserting any character or a case not to start `auto-complete-mode` automatically by settings. A command called `auto-complete` is useful in such cases, which is used with key binding in general. The following code changes a default completion command to more advanced feature that `auto-complete-mode` provides. + + (define-key ac-mode-map (kbd "M-TAB") 'auto-complete) + +So, as of `auto-complete` command, it is a little different from an original automatic completion. + +* Case that only one candidate remains + + Complete immediately without showing completion menu. + +* Case that no candidates remains + + Attempt to complete with fuzzy matching. See [Completion by Fuzzy Matching](#) for more details. + +* Otherwise + + Otherwise start completion with/without expanding a whole common part and showing completion menu. See also [`ac-show-menu-immediately-on-auto-complete`](#) and [`ac-expand-on-auto-complete`](#). + +### Completion by Fuzzy Matching ### + +In a case that there is no candidates by `auto-complete` command or a case that `ac-fuzzy-complete` command is executed, `auto-complete-mode` attempts to complete with fuzzy matching instead of usual exact matching. Parameters of fuzzy matching has already been optimized for use, so users don't need to change them. However if you want to know the internals, see `fuzzy.el`. Using completion by fuzzy matching, typo will be fixed as a series of completion. For instance, input "messaeg" in a buffer, and then do `M-x auto-complete` or `M-x ac-fuzzy-complete`. The cursor color will be changed to red if completion has been successful, and then you can continue to complete with regarding of "messaeg" as "message". It is not bad idea to bind `auto-complete` command to some key in a meaning of handling such cases. + + + +### Filtering Completion Candidates ### + +You can start filtering by `C-s`. The cursor color will be changed to blue. Then input characters to filter. It is possible to do completion by TAB or select candidates, which changes the cursor color to original so that telling filtering completion candidates has done. The filtering string will be restored when `C-s` again. To delete the filter string, press `DEL` or `C-h`. Other general operations is not allowed there. + + + +### Trigger Key ### + +It is difficult what key `auto-complete` command is bound to. It should be bound to a key which is easy to press as much as possible because completion operation is often happened. However, it is a major problem that there is no empty key to press easily. `auto-complete-mode` provides a feature called *Trigger Key* that handles such the problem. Using trigger key, you can use an arbitrary key temporarily if necessary. The following code uses `TAB` as trigger key. + + (ac-set-trigger-key "TAB") + +Trigger key will be enabled after inserting characters. Otherwise it is dealt as an usual command (TAB will be indent). Generally, trigger key is used with `ac-auto-start` being `nil`. + + (setq ac-auto-start nil) + +As of `ac-auto-start`, see [Not to complete automatically](#) or [`ac-auto-start`](#) for more details. + +### Candidate Suggestion ### + +`auto-complete-mode` analyzes completion operations one by one and reduces overheads of completion as much as possible. For example, having a candidate "foobar" been completed few times, `auto-complete-mode` arranges it to top of the candidates next time and make a situation that allows users to complete the word with one time TAB or few times TAB. It is called `comphist` internally, and you can use it by setting `ac-use-comphist` to `t`. It is enabled by default. Collection operations data will be stored in `user-emacs-directory` or `~/.emacs.d/` with a name `ac-comphist.dat`. + +`auto-complete-mode` collects two types of data to accomplish accurate candidate suggestion. + +* Count of completion +* Position of completion + +Simply saying, it collects not only a completion count but also a position of completion. A completion candidate will be scored with the count and the point. If you complete `find-file` with a word f few times, in next time `find-file` will be arranged to top of candidates. However it is too simple. Actually `find-file` with `find-` will not have the same score, because a distance between `f` and `find-` will reduce a weight of scoring. It means that if you often complete `find-library` after `find-`, `find-library` will get high score than `find-file` at that position. So `auto-complete-mode` can guess `find-file` will be top after `f` and `find-library` will be top after `find-` as it seems to learn from users' operations. + +### Completion by Dictionary ### + +Dictionary is a simple list of string. There is three types of dictionary: user defined dictionary, major mode dictionary, and extension dictionary. You need to add `ac-source-dictionary` to `ac-sources` (default). See [source](#Source) for more details. + +#### User Defined Dictionary #### + +User defined dictionary is composed of a list of string specified `ac-user-dictionary` and dictionary files specified by `ac-user-dictionary-files`. Dictionary file is a word list separated with newline. User defined dictionary is shared with all buffers. Here is example adding your mail address to dictionary. + + (add-to-list 'ac-user-dictionary "foobar@example.com") + +Setting will be applied immediately. Try to input "foo" in a buffer. You may see `foobar@example.com` as a completion candidate. This setting will be cleared if Emacs will quit. You need to write the following code to keep setting in next Emacs launching. + + (setq ac-user-dictionary '("foobar@example.com" "hogehoge@example.com")) + +There is more easy way to add word to dictionary. Files specified by `ac-user-dictionary-files` will be treated as dictionary files. By default, `~/.dict` will be a dictionary file, so edit `~/.dict` like: + + foobar@example.com + hogehoge@example.com + +As we said, words are separated with newline. They are not applied immediately, because `auto-complete-mode` uses cache not to load every time from a dictionary file. It may be high cost. To clear cache, do `M-x ac-clear-dictionary-cache`. After that, dictionary files will be load absolutely. + +No need to say perhaps, you can use other files as dictionary file by adding to `ac-user-dictionary-files`. + +#### Major Mode Dictionary and Extension Dictionary #### + +You can use other dictionaries for every major-modes and extensions. A dictionary will loaded from a directory specified with `ac-dictionary-directories`. `ac-dictionary-directories` may be the following setting if you followed [installation](#Installation) instructions. + + (add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict") + +A dictionary named `c++-mode` for specific major-mode and a dictionary named `txt` for specific extension will be stored in the directory. For instance, you complete in a buffer named `a.cpp` with dictionary completion, following the setting above, `~/.emacs.d/ac-dict/c++-mode` and `~/.emacs.d/ac-dict/cpp` will be loaded as dictionary file. You can edit the dictionary files and make a new one. In addition, you can add a new dictionary file to a directory that has same configuration. + +As same as user defined dictionary, after editing and adding dictionary, you should do `M-x ac-clear-dictionary-cache` to apply changes. + +Source +------ + +*Source* is a concept that insures a extensibility of `auto-complete-mode`. Simply saying, source is a description about: + +* How to generate completion candidates +* How to complete +* How to show + +Anybody who know about Emacs Lisp a little can define a source easily. See [extend](#Extend) for how to define a source. Here we can explain how to use builtin sources. + +Usually a name of source starts with `ac-source-`. So you can list up sources with `apropos` (`M-x apropos RET ^ac-source-`). You may see `ac-source-filename` and `ac-source-dictionary` which are entities of sources. + +### Using Source ### + +If you wrote `(ac-config-default)` in your `.emacs`, it is rare to change a source setting because it is already optimized to use. Here is a short explanation about source however. Sources will be used by setting `ac-sources` to a list of sources. You can see the setting by evaluating `ac-sources` in \*scratch\* buffer: + + ;; Formatted + (ac-source-filename + ac-source-functions + ac-source-yasnippet + ac-source-variables + ac-source-symbols + ac-source-features + ac-source-abbrev + ac-source-words-in-same-mode-buffers + ac-source-dictionary) + +As you see, `ac-sources` in \*scratch\* buffer has six sources. We explain each source for detail, you can guess meanings of sources. It is worth to remember that `ac-sources` is a buffer local variable, which means each `ac-sources` for buffers will be different. + +Here is an example. Think you are at \*scratch\* buffer. As we said, this buffer has many sources. Some people think it is too many. So try to change `ac-sources` to reduce functionalities. It is easy to change. Just evaluate the following code in \*scratch\* buffer or with `M-:`: + + (setq ac-sources '(ac-source-symbols ac-source-words-in-same-mode-buffers)) + +This example changes `ac-source` setting and enable only symbol completion and word completion among same major modes. Then, how can we enable this setting in next Emacs launching? We can change settings by adding a hook which is called when \*scratch\* buffer is created. + + (defun my-ac-emacs-lisp-mode () + (setq ac-sources '(ac-source-symbols ac-source-words-in-same-mode-buffers))) + + (add-hook 'emacs-lisp-mode-hook 'my-ac-emacs-lisp-mode) + +If a code `(ac-config-default)` is written in `.emacs`, the code above may not be worked correctly. It is because of `(ac-config-default)` will overwrite the setting. In such case, you can redefine a function which is used in `(ac-config-default)`. The function name is `ac-emacs-lisp-mode-setup` in `emacs-lisp-mode`. See `auto-complete-config.el` for more details. + + (defun ac-emacs-lisp-mode-setup () + (setq ac-sources '(ac-source-symbols ac-source-words-in-same-mode-buffers))) + +So, now you know how to change sources in a specific major mode. Summary is: + +1. Define a function changing `ac-sources` +2. Register the function to proper mode hooks (`c++-mode-hook`, `ruby-mode-hook`, and `python-mode-hook`, etc) + +By the way, how can we change a setting for all buffers? We use `setq-default` to change `ac-sources` instead of `setq` in such case. Then the default value of `ac-sources` will be changed to the value you specified. + + (setq-default ac-sources '(ac-source-words-in-all-buffer)) + +There is other ways to do that. `(ac-config-default)` changes the default value of `ac-sources` by registering a hook for `auto-complete-mode`. The registered function is `ac-common-setup` that adds `ac-source-filename` to the first of `ac-sources` by default. So all `auto-complete-mode` enabled buffer will have `ac-source-filename` at the first of `ac-sources`. A reason why adding to the first is relating to [omni completion](#Omni_Completion). Anyway you don't care about it here. So if you want to change `ac-sources` of all buffer, you can redefine `ac-common-setup` function to do that. + + ;; Add ac-source-dictionary to ac-sources of all buffer + (defun ac-common-setup () + (setq ac-sources (append ac-sources '(ac-source-dictionary)))) + +### Builtin Sources ### + +Here are defined sources in `auto-complete.el` and `auto-complete-config.el`. + +#### `ac-source-abbrev` #### + +A source for Emacs abbreviation function. See `info emacs Abbrevs` about abbreviation function. + +#### `ac-source-css-property` #### + +A source for CSS property. + +#### `ac-source-dictionary` #### + +A source for dictionary. See [completion by dictionary](#Completion_by_Dictionary) about dictionary. + +#### `ac-source-eclim` #### + +A source for [Emacs-eclim](http://github.com/senny/emacs-eclim). + +#### `ac-source-features` #### + +A source for completing features which are available with `(require '`. + +#### `ac-source-filename` #### + +A source for completing file name. Completion will be started after inserting `/`. + +#### `ac-source-files-in-current-dir` #### + +A source for completing files in a current directory. It may be useful with `eshell`. + +#### `ac-source-functions` #### + +A source for completing Emacs Lisp functions. It is available only after `(`. + +#### `ac-source-ghc-mod` #### + +A source for [ghc-mod](http://www.mew.org/~kazu/proj/ghc-mod/en/). + +#### `ac-source-gtags` #### + +A source for completing tags of [Global](http://www.tamacom.com/global.html). + +#### `ac-source-imenu` #### + +A source for completing `imenu` nodes. See `info emacs imenu` for details. + +#### `ac-source-semantic` #### + +A source for [Semantic](http://cedet.sourceforge.net/semantic.shtml). It can be used for completing member name for C/C++. + +#### `ac-source-slime` #### + +A source for [SLIME](http://common-lisp.net/project/slime/). + +#### `ac-source-semantic-raw` #### + +Unlike `ac-source-semantic`, this source is for completing symbols in a raw namespace. + +#### `ac-source-symbols` #### + +A source for completing Emacs Lisp symbols. + +#### `ac-source-variables` #### + +A source for completing Emacs Lisp symbols. + +#### `ac-source-words-in-all-buffer` #### + +A source for completing words in all buffer. Unlikely [`ac-source-words-in-same-mode-buffers`](#), it doesn't regard major-mode. + +#### `ac-source-words-in-buffer` #### + +A source for completing words in a current buffer. + +#### `ac-source-words-in-same-mode-buffers` #### + +A source for completing words which are collected over buffers whom major-mode is same to of a current buffer. For example, words will shared among `a.cpp` and `b.cpp`, but not shared among `a.pl` and `b.cpp` because they are different major-mode buffers. Usually this source is more useful than [`ac-source-words-in-all-buffer`](#). + +#### `ac-source-yasnippet` #### + +A source for [Yasnippet](http://code.google.com/p/yasnippet/) to complete and expand snippets. + +Tips +---- + +### Not to complete automatically ### + +If you are being annoyed with displaying completion menu, you can disable automatic starting completion by setting `ac-auto-start` to `nil`. + + (setq ac-auto-start nil) + +You need to bind some key to `auto-complete` command (because you need to complete anyway). For example, bind to `ac-mode-map`, which is a key map for `auto-complete-mode` enabled buffer: + + (define-key ac-mode-map (kbd "M-TAB") 'auto-complete) + +Or bind to global key map. + + (global-set-key "\M-/" 'auto-complete) + +In addition, if you allow to start completion automatically but also want to be silent as much as possible, you can do it by setting `ac-auto-start` to an prefix length integer. For example, if you want to start completion automatically when you has inserted 4 or more characters, just set `ac-auto-start` to 4: + + (setq ac-auto-start 4) + +Setting `ac-auto-start` to large number will result in good for performance. Lesser `ac-auto-start`, more high cost to produce completion candidates, because there will be so many candidates necessarily. If you feel `auto-complete-mode` is stalling, change `ac-auto-start` to a larger number or `nil`. + +See [`ac-auto-start`](#) for more details. + +And consider to use [trigger key](#Trigger_Key). + +### Not to show completion menu automatically ### + +There is another approach to solve the annoying problem is that not to show completion menu automatically. Not to show completion menu automatically, set [`ac-auto-show-menu`](#) to `nil`. + + (setq ac-auto-show-menu nil) + +When you select or filter candidates, completion menu will be shown. + +In other way, you can delay showing completion menu by setting `ac-auto-show-menu` to seconds in real number. + + ;; Show 0.8 second later + (setq ac-auto-show-menu 0.8) + +This interface has both good points of completely automatic completion and completely non-automatic completion. This may be default in the future. + +### Stop completion ### + +You can stop completion by pressing `C-g`. However you won't press `C-g` while defining a macro. In such case, it is a good idea to bind some key to `ac-completing-map`. + + (define-key ac-completing-map "\M-/" 'ac-stop) + +Now you can stop completion by pressing `M-/`. + +### Finish completion by TAB ### + +As we described above, there is many behaviors in TAB. You need to use TAB and RET properly, but there is a simple interface that bind RET to original and TAB to finish completion: + + (define-key ac-completing-map "\t" 'ac-complete) + (define-key ac-completing-map "\r" nil) + +### Select candidates with C-n/C-p only when completion menu is displayed ### + +By evaluating the following code, you can select candidates with C-n/C-p, but it might be annoying sometimes. + + ;; Bad config + (define-key ac-completing-map "\C-n" 'ac-next) + (define-key ac-completing-map "\C-p" 'ac-previous) + +In this case, it is better that selecting candidates is enabled only when completion menu is displayed so that the key input will not be taken as much as possible. `ac-menu-map` is a keymap for completion on completion menu which is enabled when `ac-use-menu-map` is `t`. + + (setq ac-use-menu-map t) + ;; Default settings + (define-key ac-menu-map "\C-n" 'ac-next) + (define-key ac-menu-map "\C-p" 'ac-previous) + +See [`ac-use-menu-map`](#) and [`ac-menu-map`](#) for more details. + +### Not to use quick help ### + +A tooltip help that is shown when completing is called quick help. You can disable it if you don't want to use it: + + (setq ac-use-quick-help nil) + +### Change a height of completion menu ### + +Set `ac-menu-height` to number of lines. + + ;; 20 lines + (setq ac-menu-height 20) + +### Enable `auto-complete-mode` automatically for specific modes ### + +`auto-complete-mode` won't be enabled automatically for modes that are not in `ac-modes`. So you need to set if necessary: + + (add-to-list 'ac-modes 'brandnew-mode) + +### Ignore case ### + +There is three ways to distinguish upper case and lower case. + + ;; Just ignore case + (setq ac-ignore-case t) + ;; Ignore case if completion target string doesn't include upper characters + (setq ac-ignore-case 'smart) + ;; Distinguish case + (setq ac-ignore-case nil) + +Default is `smart`. + +### Stop completion automatically after inserting specific words ### + +Set `ac-stop-words` to words that stops completion automatically. In ruby, some people want to stop completion automatically after inserting "end": + + (add-hook 'ruby-mode-hook + (lambda () + (make-local-variable 'ac-stop-words) + (add-to-list 'ac-stop-words "end"))) + +Note that `ac-stop-words` is not a buffer local variable, so you need to make it buffer local with `make-local-variable` if it is buffer specific setting. + +### Change colors ### + +Colors settings are following: + +| Face | Description | +|----------------------|---------------------------------------| +| `ac-completion-face` | Foreground color of inline completion | +| `ac-candidate-face` | Color of completion menu | +| `ac-selection-face` | Selection color of completion menu | + +To change face background color, use `set-face-background`. To change face foreground color, use `set-face-foreground`. To set underline, use `set-face-underline`. + + ;; Examples + (set-face-background 'ac-candidate-face "lightgray") + (set-face-underline 'ac-candidate-face "darkgray") + (set-face-background 'ac-selection-face "steelblue") + +### Change default sources ### + +Read [source](#Source) first if you don't familiar with sources. To change default of sources, use `setq-default`: + + (setq-default ac-sources '(ac-source-words-in-all-buffer)) + +### Change sources for specific major modes ### + +For example, you may want to use specific sources for C++ buffers. To do that, register a hook by `add-hook` and change `ac-sources` properly: + + (add-hook 'c++-mode (lambda () (add-to-list 'ac-sources 'ac-source-semantic))) + +### Completion with specific source ### + +You can start completion with specific source. For example, if you want to complete file name, do `M-x ac-complete-filename` at point. Or if you want to complete C/C++ member name, do `M-x ac-complete-semantic` at point. Usually, you may bind them to some key like: + + ;; Complete member name by C-c . for C++ mode. + (add-hook 'c++-mode-hook + (lambda () + (local-set-key (kbd "C-c .") 'ac-complete-semantic))) + ;; Complete file name by C-c / + (global-set-key (kbd "C-c /") 'ac-complete-filename) + +Generally, such commands will be automatically available when sources are defined. Assume that a source named `ac-source-foobar` is being defined for example, a command called `ac-complete-foobar` will be also defined automatically. See also [builtin sources](#Builtin_Sources) for available commands. + +If you want to use multiple sources for a command, you need to define a command for it like: + + (defun semantic-and-gtags-complete () + (interactive) + (auto-complete '(ac-source-semantic ac-source-gtags))) + +`auto-complete` function can take an alternative of `ac-sources`. + +### Show help persistently ### + +Use `ac-persist-help` instead of `ac-help`, which is bound to `M-<f1>` and `C-M-?`. + +### Show a lastly completed candidate help ### + +`ac-last-help` command shows a lastly completed candidate help in a `ac-help` (buffer help) form. If you give an argument by `C-u` or just call `ac-last-persist-help`, its help buffer will not disappear automatically. + +`ac-last-quick-help` command show a lastly completed candidate help in a `ac-quick-help` (quick help) form. It is useful if you want to see a function documentation, for example. + +You may bind keys to these command like: + + (define-key ac-mode-map (kbd "C-c h") 'ac-last-quick-help) + (define-key ac-mode-map (kbd "C-c H") 'ac-last-help) + +### Show help beautifully ### + +If [pos-tip.el](http://www.emacswiki.org/emacs-en/PosTip) is installed, `auto-complete-mode` uses its native rendering engine for displaying quick help instead of legacy one. + +Third-party Extensions +---------------------- + +### SLIME ### + +See [ac-slime](https://github.com/purcell/ac-slime) page. + +### Scala ### + +See [ENSIME](https://github.com/aemoncannon/ensime) page. + +Configuration +------------- + +Any configuration item will be set in `.emacs` or with `M-x customize-group RET auto-complete RET`. + +### `ac-delay` ### + +Delay time to start completion in real number seconds. It is a trade off of responsibility and performance. + +### `ac-auto-show-menu` ### + +Show completion menu automatically if `t` specified. `t` means always automatically showing completion menu. `nil` means never showing completion menu. Real number means delay time in seconds. + +### `ac-show-menu-immediately-on-auto-complete` ### + +Whether or not to show completion menu immediately on `auto-complete` command. If inline completion has already been showed, this configuration will be ignored. + +### `ac-expand-on-auto-complete` ### + +Whether or not to expand a common part of whole candidates. + +### `ac-disable-faces` ### + +Specify a list of face symbols for disabling auto completion. Auto completion will not be started if a face text property at a point is included in the list. + +### `ac-stop-flymake-on-completing` ### + +Whether or not to stop Flymake on completion. + +### `ac-use-fuzzy` ### + +Whether or not to use [fuzzy matching](#Completion_by_Fuzzy_Matching). + +### `ac-fuzzy-cursor-color` ### + +Change cursor color to specified color when [fuzzy matching](#Completion_by_Fuzzy_Matching) is started. `nil` means never changed. Available colors can be seen with `M-x list-colors-display`. + +### `ac-use-comphist` ### + +Whether or not to use [candidate suggestion](#Candidate_Suggestion). `nil` means never using it and get performance better maybe. + +### `ac-comphist-threshold` ### + +Specify a percentage of limiting lower scored candidates. 100% for whole scores. + +### `ac-comphist-file` ### + +Specify a file stores data of [candidate suggestion](#Candidate_Suggestion). + +### `ac-use-quick-help` ### + +Whether or not to use quick help. + +### `ac-quick-help-delay` ### + +Delay time to show quick help in real number seconds. + +### `ac-menu-height` ### + +Specify an integer of lines of completion menu. + +### `ac-quick-help-height` ### + +Specify an integer of lines of quick help. + +### `ac-quick-help-prefer-pos-tip` ### + +Whether or not auto-complete prefers native tooltip with pos-tip than overlap popup for displaying quick help. If non-nil, you also need to install [pos-tip.el](http://www.emacswiki.org/emacs/PosTip) so that displaying tooltip can work well. + +### `ac-candidate-limit` ### + +Limit a number of candidates. Specifying an integer, the value will be a limit of candidates. `nil` means no limit. + +### `ac-modes` ### + +Specify major modes as a list of symbols that will be enabled automatically if `global-auto-complete-mode` is enabled. + +### `ac-compatible-packages-regexp` ### + +Specify a regexp that identifies starting completion or not for that package. + +### `ac-non-trigger-commands` ### + +Specify commands as a list of symbols that does NOT starts completion automatically. + +### `ac-trigger-commands` ### + +Specify commands as a list of symbols that starts completion automatically. `self-insert-command` is one of default. + +### `ac-trigger-commands-on-completing` ### + +Same as [`ac-trigger-commands`](#) expect this will be used on completing. + +### `ac-trigger-key` ### + +Specify a [trigger key](#Trigger_Key). + +### `ac-auto-start` ### + +Specify how completion will be started. `t` means always starting completion automatically. `nil` means never started automatically. An integer means completion will not be started until the value is more than a length of the completion target string. + +### `ac-stop-words` ### + +Specify a list of strings that stops completion. + +### `ac-use-dictionary-as-stop-words` ### + +Specify whether auto-complete uses dictionaries as stop words. + +### `ac-ignore-case` ### + +Specify how distinguish case. `t` means always ignoring case. `nil` means never ignoring case. `smart` in symbol means ignoring case only when the completion target string doesn't include upper characters. + +### `ac-dwim` ### + +"Do What I Mean" function. `t` means: + +* After selecting candidates, TAB will behave as RET +* TAB will behave as RET only on candidate remains + +### `ac-use-menu-map` ### + +Specify a special keymap (`ac-menu-map`) should be enabled when completion menu is displayed. `ac-menu-map` will be enabled when it is `t` and satisfy one of the following conditions: + +* `ac-auto-start` and `ac-auto-show-menu` are not `nil`, and completion menu is displayed after starting completion +* Completion menu is displayed by `auto-complete` command +* Completion menu is displayed by `ac-isearch` command + +### `ac-use-overriding-local-map` ### + +Use only when operations is not affected. Internally it uses `overriding-local-map`, which is too powerful to use with keeping orthogonality. So don't use as much as possible. + +### `ac-completion-face` ### + +Face of inline completion. + +### `ac-candidate-face` ### + +Face of completion menu background. + +### `ac-selection-face` ### + +Face of completion menu selection. + +### `global-auto-complete-mode` ### + +Whether or not to use `auto-complete-mode` globally. It is `t` in general. + +### `ac-user-dictionary` ### + +Specify a dictionary as a list of string for [completion by dictionary](#Completion_by_Dictionary). + +### `ac-user-dictionary-files` ### + +Specify a dictionary files as a list of string for [completion by dictionary](#Completion_by_Dictionary). + +### `ac-dictionary-directories` ### + +Specify a dictionary directories as a list of string for [completion by dictionary](#Completion_by_Dictionary). + +### `ac-sources` ### + +Specify sources as a list of [source](#Source). This is a buffer local variable. + +### `ac-completing-map` ### + +Keymap for completion. + +### `ac-menu-map` ### + +Keymap for completion on completion menu. See also [`ac-use-menu-map`](#). + +### `ac-mode-map` ### + +Keymap for `auto-complete-mode` enabled buffers. + +Extend +------ + +A meaning to extend `auto-complete-mode` is just defining a [source](#Source). This section describe how to define a source. + +### Prototype ### + +Source basically takes a form of the following: + + (defvar ac-source-mysource1 + '((prop . value) + ...)) + +As you see, source is just an associate list. You can define a source by combining pairs of defined property and its value. + +### Example ### + +The most important property for source is [`candidates`](#) property. This property describes how to generate completion candidates by giving a function, an expression, or a variable. A result of evaluation should be a list of strings. Here is an example to generate candidates "Foo", "Bar", and "Baz": + + (defvar ac-source-mysource1 + '((candidates . (list "Foo" "Bar" "Baz")))) + +Then add this source to `ac-sources` and use: + + (setq ac-sources '(ac-source-mysource1)) + +It is successful if you have "Bar" and "Baz" by inserting "B". The example above has an expression `(list ...)` in `candidates` property. The expression specified there will not be byte-compiled, so you should not use an expression unless it is too simple, because it has a bad affection on performance. You should use a function instead maybe: + + (defun mysource1-candidates () + '("Foo" "Bar" "Baz")) + + (defvar ac-source-mysource1 + '((candidates . mysource1-candidates))) + +The function specified in `candidates` property will be called without any arguments on every time candidates updated. There is another way: a variable. + +### Initialization ### + +You may want to initialize a source at first time to complete. Use `init` property in these cases. As same as `candidates` property, specify a function without any parameters or an expression. Here is an example: + + (defvar mysource2-cache nil) + + (defun mysource2-init () + (setq mysource2-cache '("Huge" "Processing" "Is" "Done" "Here"))) + + (defvar ac-source-mysource2 + '((init . mysource2-init) + (candidates . mysource2-cache))) + +In this example, `mysource2-init` function does huge processing, and stores the result into `mysource2-cache` variable. Then specifying the variable in `candidates` property, this source prevents huge processing on every time update completions. There are possible usage: + +* Do `require` +* Open buffers first of all + +### Cache ### + +Caching strategy is important for `auto-complete-mode`. There are two major ways: `init` property and `cache` property that is described in this section. Specifying `cache` property in source definition, a result of evaluation of `candidates` property will be cached and reused the result as the result of evaluation of `candidates` property next time. + +Rewrite the example in previous section by using `cache` property. + + (defun mysource2-candidates () + '("Huge" "Processing" "Is" "Done" "Here")) + + (defvar ac-source-mysource2 + '((candidates . mysource2-candidates) + (cache))) + +There is no performance problem because this source has `cache` property even if `candidates` property will do huge processing. + +#### Cache Expiration #### + +It is possible to keep among more wider scope than `init` property and `cache` property. It may be useful for remembering all function names which is rarely changed. In these cases, how can we clear cache property not at the expense of performance? This is true time use that functionality. + +Use `ac-clear-variable-after-save` to clear cache every time a buffer saved. Here is an example: + + (defvar mysource3-cache nil) + + (ac-clear-variable-after-save 'mysource3-cache) + + (defun mysource3-candidates () + (or mysource3-cache + (setq mysource3-cache (list (format "Time %s" (current-time-string)))))) + + (defvar ac-source-mysource3 + '((candidates . mysource3-candidates))) + +Add this source to `ac-sources` and complete with "Time". You may see a time when completion has been started. After that, you also see the same time, because `mysource3-candidates` returns the cache as much as possible. Then, save the buffer once and complete with "Time" again. In this time, you may find a new time. An essence of this source is to use `ac-clear-variable-after-save` to manage a variable for cache. + +It is also possible to clear cache periodically. Use `ac-clear-variable-every-minute` to do that. A way to use is same to `ac-clear-variable-after-save` except its cache will be cleared every minutes. A builtin source `ac-source-functions` uses this functionality. + +### Action ### + +[Complete by RET](#) will evaluate a function or an expression specified in `action` property. A builtin sources `ac-source-abbrev` and `ac-source-yasnippet` use this property. + +### Omni Completion ### + +*Omni Completion* is a type of completion which regards of a context of editing. A file name completion which completes with slashed detected and a member name completion in C/C++ with dots detected are omni completions. To make a source support for omni completion, use `prefix` property. A result of evaluation of `prefix` property must be a beginning point of completion target string. Retuning `nil` means the source is disabled within the context. + +Consider a source that completes mail addresses only after "To: ". First of all, define a mail address completion source as same as above. + + (defvar ac-source-to-mailaddr + '((candidates . (list "foo1@example.com" + "foo2@example.com" + "foo3@example.com")))) + + (setq ac-sources '(ac-source-to-mailaddr)) + +Then enable completions only after "To: " by using `prefix` property. `prefix` property must be one of: + +* Regexp +* Function +* Expression + +Specifying a regexp, `auto-complete-mode` thinks of a point of start of group 1 or group 0 as a beginning point of completion target string by doing `re-search-backward`[^1] with the regexp. If you want to do more complicated, use a function or an expression instead. The beginning point that is evaluated here will be stored into [`ac-point`](#). In above example, regexp is enough. + + ^To: \(.*\) + +A reason why capturing group 1 is skipping "To: ". By adding this into the source definition, the source looks like: + + (defvar ac-source-to-mailaddr + '((candidates . (list "foo1@example.com" + "foo2@example.com" + "foo3@example.com")) + (prefix . "^To: \\(.*\\)"))) + +Add this source to `ac-sources` and then type "To: ". You will be able to complete mail addresses. + +[^1]: Strictly `re-search-backward` with the added adding `\=` at the end + +### `ac-define-source` ### + +You may use an utility macro called `ac-define-source` which defines a source and a command. + + (ac-define-source mysource3 + '((candidates . (list "Foo" "Bar" "Baz")))) + +This expression will be expanded like: + + (defvar ac-source-mysource3 + '((candidates . (list "Foo" "Bar" "Baz")))) + + (defun ac-complete-mysource3 () + (interactive) + (auto-complete '(ac-source-mysource3))) + +A source will be defined as usual and in addition a command that completes with the source will be defined. Calling `auto-complete` without arguments will use `ac-sources` as default sources and with arguments will use the arguments as default sources. Considering compatibility, it is difficult to answer which you should use `defvar` and `ac-define-source`. Builtin sources are defined with `ac-define-sources`, so you can use them alone by binding some key to these commands such like `ac-complete-filename`. See also [this tips](#Completion_with_specific_source]. + +### Source Properties ### + +#### `init` #### + +Specify a function or an expression that is evaluated only once when completion is started. + +#### `candidates` #### + +Specify a function, an expression, or a variable to calculate candidates. Candidates should be a list of string. If [`cache`](#) property is enabled, this property will be ignored twice or later. + +#### `prefix` #### + +Specify a regexp, a function, or an expression to find a point of completion target string for [omni completion](#Omni_Completion). This source will be ignored when `nil` returned. If a regexp is specified, a start point of group 1 or group 2 will be used as a value. + +#### `requires` #### + +Specify a required number of characters of completion target string. If nothing is specified, `auto-complete-mode` uses [`ac-auto-start`](#) instead. + +#### `action` #### + +Specify a function or an expression that is executed on [completion by RET](#Completion_by_RET). + +#### `limit` #### + +Specify a limit of candidates. It overrides `ac-candidate-limit` partially. + +#### `symbol` #### + +Specify a symbol of candidate meaning in one character string. The symbol will be any character, but you should follow the rule: + +| Symbol | Meaning | +|--------|------------------| +| s | Symbol | +| f | Function, Method | +| v | Variable | +| c | Constant | +| a | Abbreviation | +| d | Dictionary | + +#### `summary` #### + +Specify a summary of candidate in string. It should be used for summarizing the candidate in short string. + +#### `cache` #### + +Use [cache](#). + +#### `require` #### + +Specify an integer or `nil`. This source will be ignored when the integer value is lager than a length of completion target string. `nil` means nothing ignored. + +#### `candidate-face` #### + +Specify a face of candidate. It overrides [`ac-candidate-face`](#) partially. + +#### `selection-face` #### + +Specify a face of selection. It overrides [`ac-selection-face`](#) partially. + +#### `depends` #### + +Specify a list of features (which are `require`d) that the source is depending. + +#### `available` #### + +Specify a function or an expression that describe the source is available or not. + +#### `document` #### + +Specify a function or an expression that returns documentation of the candidate. + +### Variables ### + +Here is a list of often used variables. + +#### `ac-buffer` #### + +A buffer where completion started. + +#### `ac-point` #### + +A start point of completion target string. + +#### `ac-prefix` #### + +A string of completion target. + +#### `ac-limit` #### + +A limit of candidates. Its value may be one of [`ac-candidate-limit`](#) and [`limit`](#) property. + +#### `ac-candidates` #### + +A list of candidates. + +Trouble Shooting +---------------- + +### Response Latency ### + +To keep much responsibility is very important for `auto-complete-mode`. However it is well known fact that a performance is a trade off of functionalities. List up options related to the performance. + +#### `ac-auto-start` #### {#trouble_ac-auto-start} + +For a larger number, it reduces a cost of generating completion candidates. Or you can remove the cost by setting `nil` and you can use when you truly need. See [not to complete automatically](#Not_to_complete_automatically) for more details. + +#### `ac-delay` #### {#trouble_ac-delay} + +For a larger number, it reduces a cost of starting completion. + +#### `ac-auto-show-menu` #### {#trouble_ac-auto-show-menu} + +For a larger number, it reduces a displaying cost of completion menu. + +#### `ac-use-comphist` #### {#trouble_ac-use-comphist} + +Setting [`ac-use-comphist`](#) to `nil` to disable [candidate suggestion](#Candidate_Suggestion), it reduces a cost of suggestion. + +#### `ac-candidate-limit` #### {#trouble_ac-candidate-limit} + +For a property number, it reduces much computation of generating candidates. + +### Completion menu is disrupted ### + +There is two major cases. + +#### Column Computation Case #### + +`auto-complete-mode` tries to reduce a cost of computation of columns to show completion menu correctly by using a optimized function at the expense of accuracy. However, it probably causes a menu to be disrupted. Not to use the optimized function, evaluate the following code: + + (setq popup-use-optimized-column-computation nil) + +#### Font Case #### + +There is a problem when render [IPA font](http://ossipedia.ipa.go.jp/ipafont/) with Xft in Ubuntu 9.10. Use [VL gothic](http://dicey.org/vlgothic/), which renders more suitably. Or disable Xft, then it can render correctly. + +We don't good answers now, but you may shot the troubles by changing font size with `set-face-font`. For instance, completion menu may be disrupted when displaying the menu including Japanese in NTEmacs. In such case, it is worth to try to evaluate the following code to fix it: + + (set-face-font 'ac-candidate-face "MS Gothic 11") + (set-face-font 'ac-selection-face "MS Gothic 11") + +Known Bugs +---------- + +### Auto completion will not be started in a buffer `flyspell-mode` enabled ### {#flyspell-mode-bug} + +A way of delaying processes of `flyspell-mode` disables auto completion. You can avoid this problem by `M-x ac-flyspell-workaround`. You can write the following code into your `~/.emacs`. + + (ac-flyspell-workaround) + +### `linum-mode` tries to display the line numbers even for the comletion menu ### {#linum-mode-bug} + +linum-mode tries to add the line numbers even for the comletion menu. To stop that annoying behavior, do `M-x ac-linum-workaround` or add the following code into your `~/.emacs`. + + (ac-linum-workaround) + +Reporting Bugs +-------------- + +Visit [Auto Complete Mode Bug Tracking System](http://cx4a.org/redmine/projects/auto-complete-mode) and create a new ticket. + +[GNU Emacs]: http://www.gnu.org/software/emacs/ +[GPLv3]: http://gplv3.fsf.org/ +[GFDL]: http://www.gnu.org/copyleft/fdl.html diff --git a/scripts/emacs/auto-complete-1.4/doc/style.css b/scripts/emacs/auto-complete-1.4/doc/style.css new file mode 100644 index 0000000000000000000000000000000000000000..38673121e95b5cf74b6aaa3970f4360f1cf30f1a --- /dev/null +++ b/scripts/emacs/auto-complete-1.4/doc/style.css @@ -0,0 +1,27 @@ +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; +}