xref: /vim-8.2.3635/runtime/ftplugin/java.vim (revision 84f7235b)
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