1*071d4279SBram Moolenaar" Vim filetype plugin file 2*071d4279SBram Moolenaar" Language: Java 3*071d4279SBram Moolenaar" Maintainer: Dan Sharp <dwsharp at hotmail dot com> 4*071d4279SBram Moolenaar" Last Change: 2004 May 16 5*071d4279SBram Moolenaar" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin 6*071d4279SBram Moolenaar 7*071d4279SBram Moolenaarif exists("b:did_ftplugin") | finish | endif 8*071d4279SBram Moolenaarlet b:did_ftplugin = 1 9*071d4279SBram Moolenaar 10*071d4279SBram Moolenaar" Make sure the continuation lines below do not cause problems in 11*071d4279SBram Moolenaar" compatibility mode. 12*071d4279SBram Moolenaarlet s:save_cpo = &cpo 13*071d4279SBram Moolenaarset cpo-=C 14*071d4279SBram Moolenaar 15*071d4279SBram Moolenaar" Go ahead and set this to get decent indenting even if the indent files 16*071d4279SBram Moolenaar" aren't being used. For people who really don't want any indentation, 17*071d4279SBram Moolenaar" let them turn it off. 18*071d4279SBram Moolenaarif !exists("g:ftplugin_java_no_indent") 19*071d4279SBram Moolenaar setlocal cindent 20*071d4279SBram Moolenaar 21*071d4279SBram Moolenaar "--------------------- 22*071d4279SBram Moolenaar " Correctly indent anonymous classes 23*071d4279SBram Moolenaar " From Johannes Zellner <[email protected]> 24*071d4279SBram Moolenaar setlocal cinoptions+=j1 25*071d4279SBram Moolenaar "--------------------- 26*071d4279SBram Moolenaarendif 27*071d4279SBram Moolenaar 28*071d4279SBram Moolenaar" For filename completion, prefer the .java extension over the .class 29*071d4279SBram Moolenaar" extension. 30*071d4279SBram Moolenaarset suffixes+=.class 31*071d4279SBram Moolenaar 32*071d4279SBram Moolenaar" Enable gf on import statements. Convert . in the package 33*071d4279SBram Moolenaar" name to / and append .java to the name, then search the path. 34*071d4279SBram Moolenaarsetlocal includeexpr=substitute(v:fname,'\\.','/','g') 35*071d4279SBram Moolenaarsetlocal suffixesadd=.java 36*071d4279SBram Moolenaarif exists("g:ftplugin_java_source_path") 37*071d4279SBram Moolenaar let &l:path=g:ftplugin_java_source_path . ',' . &l:path 38*071d4279SBram Moolenaarendif 39*071d4279SBram Moolenaar 40*071d4279SBram Moolenaar" Set 'formatoptions' to break comment lines but not other lines, 41*071d4279SBram Moolenaar" and insert the comment leader when hitting <CR> or using "o". 42*071d4279SBram Moolenaarsetlocal formatoptions-=t formatoptions+=croql 43*071d4279SBram Moolenaar 44*071d4279SBram Moolenaar" Set 'comments' to format dashed lists in comments. Behaves just like C. 45*071d4279SBram Moolenaarsetlocal comments& comments^=sO:*\ -,mO:*\ \ ,exO:*/ 46*071d4279SBram Moolenaar 47*071d4279SBram Moolenaarsetlocal commentstring=//%s 48*071d4279SBram Moolenaar 49*071d4279SBram Moolenaar" Change the :browse e filter to primarily show Java-related files. 50*071d4279SBram Moolenaarif has("gui_win32") 51*071d4279SBram Moolenaar let b:browsefilter="Java Files (*.java)\t*.java\n" . 52*071d4279SBram Moolenaar \ "Properties Files (*.prop*)\t*.prop*\n" . 53*071d4279SBram Moolenaar \ "Manifest Files (*.mf)\t*.mf\n" . 54*071d4279SBram Moolenaar \ "All Files (*.*)\t*.*\n" 55*071d4279SBram Moolenaarendif 56*071d4279SBram Moolenaar 57*071d4279SBram Moolenaar" Undo the stuff we changed. 58*071d4279SBram Moolenaarlet b:undo_ftplugin = "setlocal cindent< cinoptions< suffixes< suffixesadd<" . 59*071d4279SBram Moolenaar \ " formatoptions< comments< commentstring< path< includeexpr<" . 60*071d4279SBram Moolenaar \ " | unlet! b:browsefilter" 61*071d4279SBram Moolenaar 62*071d4279SBram Moolenaar" Restore the saved compatibility options. 63*071d4279SBram Moolenaarlet &cpo = s:save_cpo 64