diff options
Diffstat (limited to 'files/.vim/doc/javacomplete.txt')
| -rw-r--r-- | files/.vim/doc/javacomplete.txt | 558 |
1 files changed, 0 insertions, 558 deletions
diff --git a/files/.vim/doc/javacomplete.txt b/files/.vim/doc/javacomplete.txt deleted file mode 100644 index ae39ffb..0000000 --- a/files/.vim/doc/javacomplete.txt +++ /dev/null @@ -1,558 +0,0 @@ -*javacomplete.txt* For Vim version 7.0 and above. Last change: 2007 Sep 26 - - JAVACOMPLETE REFERENCE MANUAL by cheng fang~ - fangread@yahoo.com.cn~ - - -1. Overview |javacomplete-overview| - 1.1 Features |javacomplete-features| - 1.2 Requirements |javacomplete-requirements| - 1.3 Download |javacomplete-download| - 1.4 Install |javacomplete-install| -2. Usage |javacomplete-usage| - 2.1 Input contexts |javacomplete-contexts| - 2.2 Kind letter |javacomplete-kindletter| - 2.3 Options |javacomplete-options| - 2.4 Commands |javacomplete-commands| -3. Java parser in Vim |javacomplete-parser| - 3.1 Abstract Syntax Tree |javacomplete-ast| - 3.2 Global Constants |javacomplete-constants| - 3.3 Parsing Functions |javacomplete-functions| - 3.4 Sample |javacomplete-sample| -4. FAQ |javacomplete-faq| -5. Limitations |javacomplete-limitations| -6. History - 6.1 javacomplete |javacomplete-history| - 6.2 Parser |java-parser-history| - 6.2 Reflection.java |javacomplete-reflection| -7. Todo |javacomplete-todo| -8. Thanks |javacomplete-thanks| - -============================================================================== -1. Overview *javacomplete-overview* - -This is javacomplete, an omni-completion script of JAVA language for vim 7 and -above. It includes javacomplete.vim, java_parser.vim, Reflection.java, and -javacomplete.txt. - -1.1 Features *javacomplete-features* - -- List members of a class, including (static) fields, (static) methods and ctors. -- List classes or subpackages of a package. -- Provide parameters information of a method, list all overload methods. -- Complete an incomplete word. -- Provide a complete JAVA parser written in Vim script language. -- Use the JVM to obtain most information. -- Use the embedded parser to obtain the class information from source files. -- Tags generated by ctags can also be used. -- JSP is supported, Builtin objects such as request, session can be recognized. - The classes and jar files in the WEB-INF will be appended automatically to the classpath. - -1.2 Requirements *javacomplete-requirements* - -It works on all the platforms wherever -- Vim version 7.0 and above, -- JDK version 1.1 and above, -existed. - -1.3 Download *javacomplete-download* - -You can download the lastest version from this url: - http://www.vim.org/scripts/script.php?script_id=1785 - -1.4 Install *javacomplete-install* - -1. Unzip javacomplete.zip to a directory of 'runtimepath', e.g. -$HOME/.vim (unix/linux), $VIM/vimfiles (windows). > - > unzip javacomplete.zip -d ~/.vim - -< To update Vim help tags, run vim and run command: > - :helptags $HOME/.vim/doc -< or > - :helptags $VIM/vimfiles/doc - -NOTE: javacomplete.vim, java_parser.vim and Reflection.java should be in one -autoload directory of 'runtimepath'. -javacomplete.txt should be in one doc directory of 'runtimepath'. - -2. Set 'omnifunc' option. e.g. > - :setlocal omnifunc=javacomplete#Complete -< Or, use autocmd: > - :" Only do this part when compiled with support for autocommands. - :if has("autocmd") - : autocmd Filetype java setlocal omnifunc=javacomplete#Complete - :endif -You can add this command to your .vimrc or _vimrc. - -3. Set 'completefunc' option to show parameters information IF YOU LIKE. e.g. > - :setlocal completefunc=javacomplete#CompleteParamsInfo -You can map as follows for better display: > - :inoremap <buffer> <C-X><C-U> <C-X><C-U><C-P> - :inoremap <buffer> <C-S-Space> <C-X><C-U><C-P> - -4. Reflection.java will be automatcally compiled and placed to $HOME when you -use first time. Assure that Reflection.java is in the same directory with -javacomplete.vim to be searched in autoload subdirectory of &rtp. -If no Reflection.class is generated, check that you have the write permission -in $HOME directory. -If a previous Reflection.java is not compatible with the new version -javacomplete.vim, please compile Reflection.java manually. - -============================================================================== -2. Usage *javacomplete-usage* - -You can use it like other omni-completion script. Many samples of input context -are gived in the following section. - -Make sure a JVM launcher (default 'java') can be searched in the PATH enviroment -variable, otherwise Use javacomplete#SetJVMLauncher() to specify one. See option -`javacomplete-launcher`. - -See FAQ in time if some problem occurs. When meeting other problems not -described in FAQ, you can contact with the auther by the following e-mail: -fangread@yahoo.com.cn - -2.1 Input contexts |javacomplete-contexts| -It recognize nearly all kinds of Primary Expressions (see langspec-3.0) -except for "Primary.new Indentifier". Casting conversion is also supported. - -Samples of input contexts are as following: (Note that '|' indicates cursor) - (1). after '.', list members of a class or a package - - package.| subpackages and classes of a package - - Type.| static members of the 'Type' class and "class" - - var.| or field.| members of a variable or a field - - method().| members of result of method() - - this.| members of the current class - - ClassName.this.| members of the qualified class - - super.| members of the super class - - array.| members of an array object - - array[i].| array access, return members of the element of array - - "String".| String literal, return members of java.lang.String - - int.| or void.| primitive type or pseudo-type, return "class" - - int[].| array type, return members of a array type and "class" - - java.lang.String[].| - - new int[].| members of the new array instance - - new java.lang.String[i=1][].| - - new Type().| members of the new class instance - - Type.class.| class literal, return members of java.lang.Class - - void.class.| or int.class.| - - ((Type)var).| cast var as Type, return members of Type. - - (var.method()).| same with "var.|" - - (new Class()).| same with "new Class().|" - - (2). after '(', list matching methods with parameters information. - - method(|) methods matched - - var.method(|) methods matched - - new ClassName(|) constructors matched - - this(|) constructors of current class matched - - super(|) constructors of super class matched - Any place between '(' and ')' will be supported soon. - Help information of javadoc is not supported yet. - - (3). after an incomplete word, list all the matched beginning with it. - - var.ab| subset of members of var beginning with `ab` - - ab| list of all maybes - - (4). import statement - - " import java.util.|" - - " import java.ut|" - - " import ja|" - - " import java.lang.Character.|" e.g. "Subset" - - " import static java.lang.Math.|" e.g. "PI, abs" - - (5). package declaration - - " package com.|" - - The above are in simple expression. - (6). after compound expression: - - PrimaryExpr.var.| - - PrimaryExpr.method().| - - PrimaryExpr.method(|) - - PrimaryExpr.var.ab| - e.g. - - "java.lang . System.in .|" - - "java.lang.System.getenv().|" - - "int.class.toString().|" - - "list.toArray().|" - - "new ZipFile(path).|" - - "new ZipFile(path).entries().|" - - (7). Nested expression: - - "System.out.println( str.| )" - - "System.out.println(str.charAt(| )" - - "for (int i = 0; i < str.|; i++)" - - "for ( Object o : a.getCollect| )" - - -2.2 Kind letter *javacomplete-kindletter* - -A single letter indicates the kind of compeltion item. These kinds are: - + ctor - v local variable or parameter - f nonstatic field - F static field - m nonstatic method - M static method - P package - C class type - I interface type - -2.3 Options *javacomplete-options* - -1. Set java compiler (default 'javac') using the following function: - javacomplete#SetCompiler('javac') *javacomplete-compiler* - -2. Set java launcher (default 'java') using the following function: - javacomplete#SetJVMLauncher('java') *javacomplete-launcher* - -3. Set classpath using the following function: > - javacomplete#AddClassPath('jarfile_or_classes_path') - javacomplete#DelClassPath('jarfile_or_classes_path') - javacomplete#SetClassPath('semicolon_separated_string') -< - Another two variables will be used if they are existing: - |g:java_classpath| global classpath - |b:classpath| associated with current buffer - In one sense, s:classpath is like a classpath option for a PROJECT. - If some of them are body set, the priority of these variables is: - first, b:classpath first, - second, s:classpath - third, g:java_classpath - last, $CLASSPATH - -4. Set sourcepath using the following function: > - javacomplete#AddSourcePath('sources_file_path') - javacomplete#DelSourcePath('sources_file_path') - javacomplete#SetSourcePath('sources_file_path') - -5. Set option for using JDK1.1 if you meet the problem described in FAQ 3: > - javacomplete#UseJDK11() - -6. Set methods to search declaration: > - " 1 - by builtin searchdecl(), quickest but inaccurate in many cases. - " 2 - by special Searchdecl(), work NOT WELL YET. - " 4 - by java_parser, slowest but accurate in most cases. Not for JSP. - javacomplete#SetSearchdeclMethod() - -2.4 Commands *javacomplete-commands* - -============================================================================== -3. Java parser in Vim *javacomplete-parser* - -3.1 Abstract Syntax Tree *javacomplete-ast* - -3.2 Global Constants *javacomplete-constants* - -3.3 Parsing Functions *javacomplete-functions* - -3.4 Sample Codes *javacomplete-sample* -This parser can be a good candidate for anyone who needs a java parser to get -a abstract syntax tree for many use. The following are sample codes: > - - " NOTE: The script contains a single parser instance. You cannot create - " another parser! The only way to parse another JAVA code is reset the - " parser by calling java_parser#InitParser(). - - " 1. Initialize the parser - " for a code snippet, - call java_parser#InitParser(['for (int i = 0; i < N; i++) {', '', '}']) - " or for the current buffer, - call java_parser#InitParser(getline('^', '$')) - " or for a whole source file - call java_parser#InitParser(readfile('java/util/Arrays.java')) - - " 2. Get the result tree - call java_parser#compilationUnit() - " or others according to the input code - call java_parser#expression() - call java_parser#block() - call java_parser#statement() - - " 3. Use the tree as you like - - " 4. The default scan strategy is scanning only sklenton. - " You can change it by set the option 'scanStrategy'. - " The values for 'scanStrategy' option are: - " 0 - only class members when parse full file; - " 1 - keep statement as a whole string; - " 2 - all - call java_parser#InitParser(getline('^', '$'), {'scanStrategy': 2}) - - " 5. I recommend that keeping scanStrategy as default. - " If you want to parse a code snippet such as a method body of the whole - " file, you can call java_parser#GotoPosition() to go to what you are going - " to start parsing. - " Then, call java_parser#block(), java_parser#statement() or - " java_parser#expression() to parse the smaller snippet. - " NOTE: This way will keep the result tree reserved. - call java_parser#GotoPosition(def.body.pos) - call java_parser#block() - -============================================================================== -4. FAQ *javacomplete-faq* - -(1). When you meets the following problem: > - omni-completion error: Exception in thread "main" - java.lang.NoClassDefFoundError: Reflection -It is Reflection.class not found in autoload directory or $HOME that cause -this problem. -There are several reasons causing this problem: - o No compiler. Use javacomplete#SetCompiler() to specify one. - o No write permission for $HOME directory. - -(2). Reflection.java should be searched in autoload subdirectory of &rtp. -Reflection.class should be searched in $HOME or autoload subdirectory of &rtp. -If not found, javacomplete try to compile it and place the generated class -file in $HOME. - -(3). A error when using JDK1.1: - Unable to initialize threads: cannot find class java/lang/Thread -When I tested JDK1.1.8 on Windows XP, I found -classpath options cause it. -There are two way to avoid it is: - o Add the runtime classes to classpath, like - "${JDK118}\classes;${JDK118}\lib\classes.zip;${JDK118}\lib\classes.jar;" - o Add Reflection.class and others to the CLASSPATH enviroment variable. - And call javacomplete#UseJDK11() to set option. - -============================================================================== -5. Limitations *javacomplete-limitations* - -The embedded parser works a bit slower than expected. - -============================================================================== -6. History - -6.1 javacomplete *javacomplete-history* - -v0.77.1 - 2007-09-19 Supported showing method parameters information in any place - between parenthesises. - -v0.77 - 2007-09-19 bug fix - 2007-09-18 Added GetCurrentFileKey() avoid empty key of s:files for current buffer. - 2007-09-16 Use a new strategy for searching inherited members. - 2007-09-11 - - Supported new contexts "jav|", "var|", just after an incomplete word. - - Supported new context "abs(|)", a imported static method. - 2007-09-10 - - Improved FoundClassDeclaration() - - Fixed bug calling cursor(0, 0) - 2007-09-09 Rewrote DoGetClassInfo(), GetFQN() and IsFQN()ĄŁ - 2007-09-08 Fixed a bug when merging superclass's members - 2007-09-05 -- 07 - - Improved s:MergeLines() and s:ExtractCleanExpr(). - - Rewrote CompleteAfterDot(). Added ParseExpr(). Removed s:GetNextSubexprType() - - Supported accessible static imported members. - - Supported accessible inherited members. - - 2007-09-04 Used b:changedtick and getftime() to check buffer (or other file) for changing. - 2007-09-01 Supported not-file-name toplevel or static member class in source files. - -v0.76.8 - 2007-08-30 - - Created the s:TreeVisitor to search type or symbol names. - - Supported local and anonymous class. - - 2007-08-29 - - Supported appending automatically classpath under WEB-INF for jsp files. - -v0.76.7 - 2007-08-28 - - Fixed case of "new java.util.zip.ZipFile().|" - - Improved process of type arguments and method parameters. JAVA5+ - - Reorganize codes in javacomplete#Complete() - - Added CONTEXT_NEED_TYPE, removed CONTEXT_INCOMPLETE_WORD - - 2007-08-24 Add Context types for type declaration: CONTEXT_NEED_TYPE - -v0.76.6 - 2007-08-23 Improved GetStatement() and related. Bug fixed. - -v0.76.5 - 2007-08-21 - - Fixed bug: "foo().|", "getFoo().foo().|", - "for (Enumeration entries = ; entries.|; )". - - Supported input contexts: "((Object)o).|", "((Object)o).getClass().|", - "new ZipFile(path).|", "(new String().)|". - -v0.76.4 - 2007-08-17 - - Improved input contexts: "int.class.toString().|", "list.toArray().|". - - Fixed recognizing "this(|)", "method1(|)" - - Added the 'kind' letter to distinguish between classes and packages. - 2007-08-14 - - Support accessible nested classes. - - Support import static members and import accessible nested classes. - 2007-08-11 - - Fixed a bug when Reflection.java is in the path which contains space. - - Improved process of this and super in JSP. - - Fixed an severe bug parsing current jsp file. - -v0.76.3 - 2007-08-10 - - Add an option 'searchdecl' set by javacomplete#SetSearchdeclMethod(). - - Make an improvement for jsp file. - - Clear cache when set options affecting classpath. - - Improved DoGetPackageList() and s:GenerateImports(). - - Replace codes searching list of string with index(). - -v0.76.2 - 2007-08-08 - - Fix failing to list members of nested class. - - Combine members of local packages and loadable packages. - - Add quick recognition of package or import. - 2007-08-06 Add inherited fields and methods to local class. - -v0.76.1 - 2007-08-04 - - Fix using a: in javacomplete#SetClassPath() - - Fix a bug in javacomplete#GetClassPath() - -v0.76 2007-08-04 - 2007-08-04 - - Fix a infinite loop bug in s:GetMatchedIndexEx() - - Fix that array type not recognised in compound expression. - - Add a option for JDK1.1. See FAQ 3. - 2007-08-03 - - Improve for 'this' or 'super'. - - Support searching toplevel class in sourcepath. - - Clean - 2007-08-02 - - Improve the process of checking a class in one of packages. - 2007-08-01 - - Add Searchdecl() using java_parser.vim to provide quick information. - - Supports input context: "StringLiteral".|, "int.|", "void.|" - 2007-07-28 - - Automatcally compile Reflection.java and place it to $HOME. - - Add option 'javacompiler', default 'javac' - - Add option 'java', default 'java' - -v0.75 2007-02-13 - - Add java_parser.vim. - - Add b:sourcepath option. - - Improve recognition of classes defined in current buffer or in source path. - - Support generating class information from tags instead of returning list directly. - -v0.74 2007-02-03 - - Support jre1.2 (and above). - - Support input context like "boolean.class.|" - - Handle java primitive types like 'int'. - -v0.73 2007-02-01 - - Fix bug that CLASSPATH not used when b:classpath or g:java_classpath not set. - - Fix bug that call filter() without making a copy for incomplete. - - Improve recognition of declaration of this class - -v0.72 2007-01-31 Handle nested expression. -v0.71 2007-01-28 Add Basic support for class in current folder. -v0.70 2007-01-27 Complete the reflection part. -v0.60 2007-01-25 Design TClassInfo, etc. -v0.50 2007-01-21 Use java and Reflection.class directly. - - -6.2 Parser *java-parser-history* - -v0.67 - 2007-09-11 Append a error string to imported qid when error occurs. - 2007-09-10 Improved regexp constants. - 2007-09-07 Fixed type2Str(). Removed qualident2Str(). - -v0.66.1 08-30 Changed classCreatorRest(). -v0.66 08-27 Minor changes - -v0.65 - 2007-08-23 - - Improved s:scanComment(), s:Strpart(), s:String2Flags(). - - Improved recognizing methods, ctors, and variable declarators declared in most common form. - - Added s:optFinalParameter(), s:methodDeclaratorRest_opt(). - - Removed s:GetLine() and s:GetCol(). - - Rewrote binary functions. - -v0.64 - 2007-08-21 - - Added quick recognizing fields or methods declared in most common form. - - Optimized code: s:modeAndEXPR(), formalParameter(), and others. - -v0.63 - 2007-08-10 - - Removed the unclear s:tokens and s:modifier_keywords. - - Add java_parser#GetSnapshot() and java_parser#Restore(). - 2007-08-09 Fixed a bug when no top level class defined - -v0.62 2007-08-08 - 2007-08-08 Fix values in s:Flags and s:modifiersOpt() and the related. - 2007-08-07 Optimize code of scanDoubleQuote() and importDeclaration(). - -v0.61 2007-08-04 - 2007-08-01 Fix a bug typetag(). return a:token -> return tolower(a:token) - 2007-07-31 - - Rename all script functions matching "s:Java_\(\i\+\)" to "s:\1". - - Change s:EOI = '' - - Use get() instead of s:GetOption(). Remove it. - - Use repeat() instead of s:PrependChar(). Remove it. - - Improve scanChar() - -v0.60 2007-07-31 Now it nearly is a complete parser and support Java5,6. - And tested correctly on all java files in jdk6 src.zip. - 2007-07-19 Support new language features in java 5 and above. - 2007-07-25 Add supports for parsing statement, block or expression - 2007-07-28 Place it to autoload directory. - 2007-07-30 Clean this script. - -v0.51 2007-02-13 Optimize several scan function. -v0.50 2007-02-10 Complete the skeleton. - - -6.3 Reflection.java *javacomplete-reflection* - -v0.77 - 2007-09-14 Improved generating information of all packages in jar files. - 2007-09-06 - - Improved getting paths of all system jar files for different JDKs - in different platforms. - 2007-08-14 Major improvement. Support nontoplevel classes. - -v0.76.3 - 2007-08-09 Redefined '-P' option for returning all packages and subpackages info in one time. - -v0.76.2 - 2007-08-06 Return a modifier value as a string because it more than 32bit. - -v0.76 - 2007-08-04 Support checking and reading package members for '-E'. - 2007-08-02 - - Add an option '-E'. - - Use ZipFile and ZipEntry instead of JarFile and JarEntry, - so that it can be compiled by and run on JDK1.1 and above. -v0.7 2007-02-17 - -============================================================================== -7. Todo *javacomplete-todo* - -- Improve performance of the embedded parser. Incremental parser. -- Add quick information using balloonexpr, ballooneval, balloondelay. -- Add javadoc -- Give a hint for class name conflict in different packages. -- Support parameter information for template - -============================================================================== -8. Thanks *javacomplete-thanks* - * Bram Moolenaar and all Vim contributors for Vim - * The insenvim project - * The javac and gjc sources - * All of you for using this script :) - - * For help, documentation, bug report : - Martin Stubenschrott author of IComplete - Vissale NEANG author of OmniCppComplete - David Fishburn author of SQLComplete and others - Nico Weber testing on the Mac - Thomas Link testing on cygwin+bash - Zhixing Yu - -FeedBack: -Any problem, bug or suggest are welcome to send to fangread@yahoo.com.cn - -============================================================================== - vim:tw=78:ts=8:ft=help:norl: |
