neovim/runtime/autoload
zeertzjq d7426bc9e9 vim-patch:9.1.0935: SpotBugs compiler can be improved
Problem:  SpotBugs compiler can be improved
Solution: runtime(compiler): Improve defaults and error handling for
          SpotBugs; update test_compiler.vim (Aliaksei Budavei)

runtime(compiler): Improve defaults and error handling for SpotBugs

* Keep "spotbugs#DefaultPreCompilerTestAction()" defined but
  do not assign its Funcref to the "PreCompilerTestAction"
  key of "g:spotbugs_properties": there are no default and
  there can only be introduced arbitrary "*sourceDirPath"
  entries; therefore, this assignment is confusing at best,
  given that the function's implementation delegates to
  whatever "PreCompilerAction" is.

* Allow for the possibility of relative source pathnames
  passed as arguments to Vim for the Javac default actions,
  and the necessity to have them properly reconciled when
  the current working directory is changed.

* Do not expect users to remember or know that new source
  files ‘must be’ ":argadd"'d to be then known to the Javac
  default actions; so collect the names of Java-file buffers
  and Java-file Vim arguments; and let users providing the
  "@sources" file-lists in the "g:javac_makeprg_params"
  variable update these file-lists themselves.

* Strive to not leave behind a fire-once Syntax ":autocmd"
  for a Java buffer whenever an arbitrary pre-compile action
  errors out.

* Only attempt to run a post-compiler action in the absence
  of failures for a pre-compiler action.  Note that warnings
  and failures are treated alike (?!) by the Javac compiler,
  so when previews are tried out with "--enable-preview",
  remember about passing "-Xlint:-preview" too to also let
  SpotBugs have a go.

* Properly group conditional operators when testing for key
  entries in a user-defined variable.

* Also test whether "javaExternal" is defined when choosing
  an implementation for source-file parsing.

* Two commands are provided to toggle actions for buffer-local
  autocommands:
  - SpotBugsRemoveBufferAutocmd;
  - SpotBugsDefineBufferAutocmd.

For example, try this from "~/.vim/after/ftplugin/java.vim":
------------------------------------------------------------
if exists(':SpotBugsDefineBufferAutocmd') == 2
	SpotBugsDefineBufferAutocmd BufWritePost SigUSR1
endif
------------------------------------------------------------

And ":doautocmd java_spotbugs User" can be manually used at will.

closes: vim/vim#16140

368ef5a48c

Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
2025-02-04 06:45:25 +08:00
..
cargo vim-patch:fc93594d562d 2023-09-13 17:23:45 +02:00
dist vim-patch:e6b01cf: runtime(dist): do not output a message if executable is not found (#30451) 2024-09-21 12:16:28 +00:00
provider feat(clipboard)!: use OSC 52 as fallback clipboard provider (#31730) 2024-12-31 09:59:03 -06:00
remote refactor: rewrite python provider in lua 2024-01-22 22:36:40 +01:00
rust vim-patch:fc93594d562d 2023-09-13 17:23:45 +02:00
xml re-integrate runtime/ vim-patch:0 #938 2014-07-29 02:12:31 +00:00
ada.vim vim-patch:6c391a74fe90 (#15654) 2021-09-13 16:33:41 +02:00
adacomplete.vim vim-patch:6c391a74fe90 (#15654) 2021-09-13 16:33:41 +02:00
bitbake.vim vim-patch:b529cfbd04c0 (#19501) 2022-07-26 11:26:23 +02:00
cargo.vim vim-patch:fc93594d562d 2023-09-13 17:23:45 +02:00
ccomplete.lua vim-patch:e978b4534a5e (#24697) 2023-08-13 13:25:10 +01:00
ccomplete.vim dist: generated version of ccomplete.vim (#21623) 2023-01-05 11:00:32 -05:00
clojurecomplete.vim vim-patch:46eea444d (#17920) 2022-03-30 12:12:12 +01:00
context.vim vim-patch:46fceaaa8d14 2017-04-29 01:47:36 +02:00
contextcomplete.vim vim-patch:46fceaaa8d14 2017-04-29 01:47:36 +02:00
csscomplete.vim vim-patch:34cc7d8c034f #15753 2021-09-22 06:12:06 -07:00
decada.vim vim-patch:6c391a74fe90 (#15654) 2021-09-13 16:33:41 +02:00
freebasic.vim vim-patch:0d878b95d8f9 (#19197) 2022-07-02 11:06:03 +02:00
gnat.vim re-integrate runtime/ vim-patch:0 #938 2014-07-29 02:12:31 +00:00
gzip.vim vim-patch:7e501f4: runtime(gzip): load undofile if there exists one 2024-11-27 08:45:22 +01:00
hare.vim vim-patch:9.1.0442: hare runtime files outdated (#29011) 2024-05-26 07:11:50 +08:00
haskellcomplete.vim vim-patch:6c391a74fe90 (#15654) 2021-09-13 16:33:41 +02:00
hcl.vim vim-patch:150b507: runtime(hcl,terraform): Add runtime files for HCL and Terraform (#30266) 2024-09-04 19:32:52 -05:00
htmlcomplete.vim vim-patch:6c391a74fe90 (#15654) 2021-09-13 16:33:41 +02:00
javaformat.vim vim-patch:85f054a: runtime(java): Recognise the CommonMark form (///) of Javadoc comments 2024-10-01 07:33:24 +02:00
javascriptcomplete.vim vim-patch:a0fddaa2f4b7 2023-08-21 20:32:28 +09:00
modula2.vim vim-patch:9.1.0013: Modula2 filetype support lacking (#27020) 2024-01-16 17:45:57 +00:00
msgpack.vim refactor(typval)!: remove distinction of binary and nonbinary strings 2024-06-27 11:04:04 +02:00
paste.vim fix(runtime): clean up one-off scripts 2024-10-15 20:50:21 +02:00
phpcomplete.vim vim-patch:dbf749bd5aae (#25665) 2023-10-16 16:36:25 +08:00
provider.vim Add overlapped option to jobstart 2020-06-10 22:21:14 +09:00
python3complete.vim vim-patch:46eea444d (#17920) 2022-03-30 12:12:12 +01:00
python.vim vim-patch:partial:dd60c365cd26 (#22437) 2023-02-28 09:34:27 +01:00
pythoncomplete.vim vim-patch:6c391a74fe90 (#15654) 2021-09-13 16:33:41 +02:00
README.txt fix(runtime): clean up one-off scripts 2024-10-15 20:50:21 +02:00
RstFold.vim vim-patch:4c05fa08c973 2019-07-29 20:50:07 +02:00
rubycomplete.vim vim-patch:d08059ab48b8 2024-01-02 11:43:18 +01:00
rust.vim vim-patch:fc93594d562d 2023-09-13 17:23:45 +02:00
rustfmt.vim vim-patch:dbf749bd5aae (#25665) 2023-10-16 16:36:25 +08:00
shada.vim refactor(typval)!: remove distinction of binary and nonbinary strings 2024-06-27 11:04:04 +02:00
spellfile.vim runtime: update g:spellfile_URL to URL used in Vim 8 2020-09-17 13:31:55 +02:00
spotbugs.vim vim-patch:9.1.0935: SpotBugs compiler can be improved 2025-02-04 06:45:25 +08:00
sqlcomplete.vim vim-patch:6c391a74fe90 (#15654) 2021-09-13 16:33:41 +02:00
syntaxcomplete.vim vim-patch:4c295027a426 2021-05-02 13:00:38 -04:00
tar.vim vim-patch:129a844: runtime(tar): Update tar.vim to support permissions 2024-11-12 08:18:22 +01:00
tutor.vim refactor(tutor): cleanup 2023-09-26 06:41:53 -07:00
typst.vim vim-patch:b66cac1: runtime(typst): add definition lists to formatlistpat, update maintainer 2024-12-10 08:06:35 +01:00
vimexpect.vim fix(typo): overriden -> overridden (RE: PR #14159) (#15360) 2021-09-17 13:07:00 -04:00
xmlcomplete.vim vim-patch:6c391a74fe90 (#15654) 2021-09-13 16:33:41 +02:00
xmlformat.vim xmlformat.vim: patch runtime/autoload to eab6dff19 2020-11-22 18:05:02 +01:00
zip.vim feat(options)!: disallow setting hidden options #28400 2024-11-04 05:00:12 -08:00

The autoload directory is for standard Vim autoload scripts.

These are functions used by plugins and for general use.  They will be loaded
automatically when the function is invoked.  See ":help autoload".

gzip.vim	for editing compressed files
netrw*.vim	browsing (remote) directories and editing remote files
tar.vim		browsing tar files
zip.vim		browsing zip files
paste.vim	common code for mswin.vim and menu.vim
spellfile.vim	downloading of a missing spell file

Omni completion files:
ccomplete.vim		C
csscomplete.vim		HTML / CSS
htmlcomplete.vim	HTML
javascriptcomplete.vim  Javascript
phpcomplete.vim		PHP
pythoncomplete.vim	Python
rubycomplete.vim	Ruby
syntaxcomplete.vim	from syntax highlighting
xmlcomplete.vim		XML (uses files in the xml directory)