Merge pull request #2479 from hsanson/288-fix-eclipse-jar-path-docs

Fix eclipselsp path documentation.
This commit is contained in:
w0rp 2019-05-08 09:17:57 +01:00 committed by GitHub
commit d390abd721
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 18 deletions

View File

@ -3,7 +3,7 @@
let s:version_cache = {}
call ale#Set('java_eclipselsp_path', 'eclipse.jdt.ls')
call ale#Set('java_eclipselsp_path', ale#path#Simplify($HOME . '/eclipse.jdt.ls'))
call ale#Set('java_eclipselsp_executable', 'java')
function! ale_linters#java#eclipselsp#Executable(buffer) abort
@ -16,20 +16,27 @@ endfunction
function! ale_linters#java#eclipselsp#JarPath(buffer) abort
let l:path = ale_linters#java#eclipselsp#TargetPath(a:buffer)
let l:path = l:path . '/org.eclipse.jdt.ls.product/target/repository/plugins'
let l:files = globpath(l:path, 'org.eclipse.equinox.launcher_*.jar', 1, 1)
" Search jar file within repository path when manually built using mvn
let l:repo_path = l:path . '/org.eclipse.jdt.ls.product/target/repository'
let l:files = globpath(l:repo_path, '**/plugins/org.eclipse.equinox.launcher_\d\.\d\.\d\d\d\.*\.jar', 1, 1)
if empty(l:files)
return ''
if len(l:files) == 1
return l:files[0]
endif
return l:files[0]
" Search jar file within VSCode extensions folder.
let l:files = globpath(l:path, '**/plugins/org.eclipse.equinox.launcher_\d\.\d\.\d\d\d\.*\.jar', 1, 1)
if len(l:files) == 1
return l:files[0]
endif
return ''
endfunction
function! ale_linters#java#eclipselsp#ConfigurationPath(buffer) abort
let l:path = ale_linters#java#eclipselsp#TargetPath(a:buffer)
let l:path = l:path . '/org.eclipse.jdt.ls.product/target/repository'
let l:path = fnamemodify(ale_linters#java#eclipselsp#JarPath(a:buffer), ':p:h:h')
if has('win32')
let l:path = l:path . '/config_win'

View File

@ -104,7 +104,7 @@ This variable can be changed to use a different executable for java.
===============================================================================
eclipselsp *ale-java-eclipselsp*
To enable Java LSP linter you need to clone and build the eclipse.jdt.ls
To enable Eclipse LSP linter you need to clone and build the eclipse.jdt.ls
language server from https://github.com/eclipse/eclipse.jdt.ls. Simply
clone the source code repo and then build the plugin:
@ -114,21 +114,23 @@ Note: currently, the build can only run when launched with JDK 8. JDK 9 or more
recent versions can be used to run the server though.
After build completes the files required to run the language server will be
located inside the folder `org.eclipse.jdt.ls.product/target/repository`.
Ensure to set |g:ale_java_eclipselsp_path| to the absolute path of that folder.
located inside the repository folder `eclipse.jdt.ls`. Please ensure to set
|g:ale_java_eclipselsp_path| to the absolute path of that folder.
You could customize compiler options and code assists of the server.
Under your project folder, modify the file
`.settings/org.eclipse.jdt.core.prefs` with options presented at
Under your project folder, modify the file `.settings/org.eclipse.jdt.core.prefs`
with options presented at
https://help.eclipse.org/neon/topic/org.eclipse.jdt.doc.isv/reference/api/org/eclipse/jdt/core/JavaCore.html.
g:ale_java_eclipselsp_path *g:ale_java_eclipselsp_path*
*b:ale_java_eclipselsp_path*
Type: |String|
Default: `'eclipse.jdt.ls/org.eclipse.jdt.ls.product/target/repository'`
Default: `'$HOME/eclipse.jdt.ls'`
Path to the location of the eclipse.jdt.ls product repository.
Absolute path to the location of the eclipse.jdt.ls repository folder. Or if
you have VSCode extension installed the absolute path to the VSCode extensions
folder (e.g. $HOME/.vscode/extensions in Linux).
g:ale_java_eclipselsp_executable *g:ale_java_eclipse_executable*

View File

@ -3,12 +3,12 @@ Before:
let b:ale_java_eclipselsp_path = '/home/user/eclipse.dst.ls'
call ale#test#SetFilename('dummy.java')
let b:cfg = '/home/user/eclipse.dst.ls/org.eclipse.jdt.ls.product/target/repository/config_linux'
let b:cfg = '/testplugin/test/config_linux'
if has('win32')
let b:cfg = '\home\user\eclipse.dst.ls\org.eclipse.jdt.ls.product\target\repository\config_win'
let b:cfg = 'C:\testplugin\test\config_win'
elseif has('macunix')
let b:cfg = '/home/user/eclipse.dst.ls/org.eclipse.jdt.ls.product/target/repository/config_mac'
let b:cfg = '/testplugin/test/config_mac'
endif