1071d4279SBram Moolenaar" Vim filetype plugin file 2071d4279SBram Moolenaar" Language: Java 35c73622aSBram Moolenaar" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net> 4*84f7235bSBram Moolenaar" Last Change: 2012 Mar 11 55c73622aSBram Moolenaar" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin 6071d4279SBram Moolenaar 7071d4279SBram Moolenaarif exists("b:did_ftplugin") | finish | endif 8071d4279SBram Moolenaarlet b:did_ftplugin = 1 9071d4279SBram Moolenaar 10071d4279SBram Moolenaar" Make sure the continuation lines below do not cause problems in 11071d4279SBram Moolenaar" compatibility mode. 12071d4279SBram Moolenaarlet s:save_cpo = &cpo 13071d4279SBram Moolenaarset cpo-=C 14071d4279SBram Moolenaar 15071d4279SBram Moolenaar" For filename completion, prefer the .java extension over the .class 16071d4279SBram Moolenaar" extension. 17071d4279SBram Moolenaarset suffixes+=.class 18071d4279SBram Moolenaar 19071d4279SBram Moolenaar" Enable gf on import statements. Convert . in the package 20071d4279SBram Moolenaar" name to / and append .java to the name, then search the path. 21071d4279SBram Moolenaarsetlocal includeexpr=substitute(v:fname,'\\.','/','g') 22071d4279SBram Moolenaarsetlocal suffixesadd=.java 23071d4279SBram Moolenaarif exists("g:ftplugin_java_source_path") 24071d4279SBram Moolenaar let &l:path=g:ftplugin_java_source_path . ',' . &l:path 25071d4279SBram Moolenaarendif 26071d4279SBram Moolenaar 27071d4279SBram Moolenaar" Set 'formatoptions' to break comment lines but not other lines, 28071d4279SBram Moolenaar" and insert the comment leader when hitting <CR> or using "o". 29071d4279SBram Moolenaarsetlocal formatoptions-=t formatoptions+=croql 30071d4279SBram Moolenaar 31071d4279SBram Moolenaar" Set 'comments' to format dashed lists in comments. Behaves just like C. 32071d4279SBram Moolenaarsetlocal comments& comments^=sO:*\ -,mO:*\ \ ,exO:*/ 33071d4279SBram Moolenaar 34071d4279SBram Moolenaarsetlocal commentstring=//%s 35071d4279SBram Moolenaar 36071d4279SBram Moolenaar" Change the :browse e filter to primarily show Java-related files. 37071d4279SBram Moolenaarif has("gui_win32") 38071d4279SBram Moolenaar let b:browsefilter="Java Files (*.java)\t*.java\n" . 39071d4279SBram Moolenaar \ "Properties Files (*.prop*)\t*.prop*\n" . 40071d4279SBram Moolenaar \ "Manifest Files (*.mf)\t*.mf\n" . 41071d4279SBram Moolenaar \ "All Files (*.*)\t*.*\n" 42071d4279SBram Moolenaarendif 43071d4279SBram Moolenaar 44071d4279SBram Moolenaar" Undo the stuff we changed. 458b879e7fSBram Moolenaarlet b:undo_ftplugin = "setlocal suffixes< suffixesadd<" . 46071d4279SBram Moolenaar \ " formatoptions< comments< commentstring< path< includeexpr<" . 47071d4279SBram Moolenaar \ " | unlet! b:browsefilter" 48071d4279SBram Moolenaar 49071d4279SBram Moolenaar" Restore the saved compatibility options. 50071d4279SBram Moolenaarlet &cpo = s:save_cpo 51*84f7235bSBram Moolenaarunlet s:save_cpo 52