public static Preferences getPrefs(IResource resource) { return JavaLanguageServerPlugin.getPreferencesManager().getPreferences(resource); }
private static boolean isSnippetStringSupported() { return JavaLanguageServerPlugin.getPreferencesManager() != null && JavaLanguageServerPlugin.getPreferencesManager().getClientPreferences() != null && JavaLanguageServerPlugin.getPreferencesManager().getClientPreferences().isCompletionSnippetsSupported(); }
private boolean exclude(java.nio.file.Path path) { List<String> javaImportExclusions = JavaLanguageServerPlugin.getPreferencesManager().getPreferences().getJavaImportExclusions(); if (javaImportExclusions != null) { for (String pattern : javaImportExclusions) { PathMatcher matcher = FileSystems.getDefault().getPathMatcher("glob:" + pattern); if (matcher.matches(path)) { return true; } } } return false; }
private String[] getFavoriteStaticMembers() { PreferenceManager preferenceManager = JavaLanguageServerPlugin.getPreferencesManager(); if (preferenceManager != null) { return preferenceManager.getPreferences().getJavaCompletionFavoriteMembers(); } return new String[0]; } }
@Override public boolean applies(IProgressMonitor monitor) throws OperationCanceledException, CoreException { PreferenceManager preferencesManager = JavaLanguageServerPlugin.getPreferencesManager(); if (preferencesManager != null && !preferencesManager.getPreferences().isImportMavenEnabled()) { return false; } Set<MavenProjectInfo> files = getMavenProjectInfo(monitor); if (files != null) { Iterator<MavenProjectInfo> iter = files.iterator(); while (iter.hasNext()) { MavenProjectInfo projectInfo = iter.next(); File dir = projectInfo.getPomFile() == null ? null : projectInfo.getPomFile().getParentFile(); if (dir != null && exclude(dir.toPath())) { iter.remove(); } } } return files != null && !files.isEmpty(); }
public static IPath findBelongedWorkspaceRoot(IPath filePath) { PreferenceManager manager = JavaLanguageServerPlugin.getPreferencesManager(); Collection<IPath> rootPaths = manager.getPreferences().getRootPaths(); if (rootPaths != null) { for (IPath rootPath : rootPaths) { if (rootPath.isPrefixOf(filePath)) { return rootPath; } } } return null; }
public static String toUri(IClassFile classFile) { if (JavaLanguageServerPlugin.getPreferencesManager() != null && !JavaLanguageServerPlugin.getPreferencesManager().isClientSupportsClassFileContent()) { return null; } String packageName = classFile.getParent().getElementName(); String jarName = classFile.getParent().getParent().getElementName(); String uriString = null; try { uriString = new URI(JDT_SCHEME, "contents", PATH_SEPARATOR + jarName + PATH_SEPARATOR + packageName + PATH_SEPARATOR + classFile.getElementName(), classFile.getHandleIdentifier(), null).toASCIIString(); } catch (URISyntaxException e) { JavaLanguageServerPlugin.logException("Error generating URI for class ", e); } return uriString; }
public static boolean isVisibleProject(IProject project) { PreferenceManager manager = JavaLanguageServerPlugin.getPreferencesManager(); Collection<IPath> rootPaths = manager.getPreferences().getRootPaths(); if (rootPaths == null) { return false; } return ResourceUtils.isContainedIn(project.getLocation(), rootPaths); }
/** * Constructs a new BasicFileDetector for the given root directory, searching for a fileName. * By default, the search depth is limited to 5. Sub-directories of a found directory will be walked through. * The ".metadata" folder is excluded. * @param rootDir the root directory to search for files * @param fileName the name of the file to search */ public BasicFileDetector(Path rootDir, String fileName) { this.rootDir = rootDir; this.fileName = fileName; directories = new ArrayList<>(); addExclusions(METADATA_FOLDER); List<String> javaImportExclusions = JavaLanguageServerPlugin.getPreferencesManager().getPreferences().getJavaImportExclusions(); if (javaImportExclusions != null) { for (String pattern : javaImportExclusions) { addExclusions(pattern); } } }
@Override public boolean applies(IProgressMonitor monitor) throws CoreException { if (rootFolder == null) { return false; } PreferenceManager preferencesManager = JavaLanguageServerPlugin.getPreferencesManager(); if (preferencesManager != null && !preferencesManager.getPreferences().isImportGradleEnabled()) { return false; } if (directories == null) { BasicFileDetector gradleDetector = new BasicFileDetector(rootFolder.toPath(), BUILD_GRADLE_DESCRIPTOR) .includeNested(false) .addExclusions("**/build");//default gradle build dir directories = gradleDetector.scan(monitor); } return !directories.isEmpty(); }
boolean guessMethodArguments = JavaLanguageServerPlugin.getPreferencesManager() != null && JavaLanguageServerPlugin.getPreferencesManager().getPreferences().isGuessMethodArguments(); if (guessMethodArguments && (proposal.getKind() == CompletionProposal.METHOD_REF || proposal.getKind() == CompletionProposal.CONSTRUCTOR_INVOCATION || proposal.getKind() == CompletionProposal.METHOD_REF_WITH_CASTED_RECEIVER)) { try {
static ImportRewrite createImportRewrite(ICompilationUnit compilationUnit) { try { ImportRewrite rewrite = ImportRewrite.create(compilationUnit, true); String[] importOrder = JavaLanguageServerPlugin.getPreferencesManager() == null ? new String[0] : JavaLanguageServerPlugin.getPreferencesManager().getPreferences().getImportOrder(); rewrite.setImportOrder(importOrder); rewrite.setOnDemandImportThreshold(IMPORTS_THRESHOLD); rewrite.setStaticOnDemandImportThreshold(IMPORTS_THRESHOLD); return rewrite; } catch (JavaModelException e) { JavaLanguageServerPlugin.logException(e.getMessage(), e); return null; } }
private static IPath getWorkspacePath(IPath path) { PreferenceManager manager = JavaLanguageServerPlugin.getPreferencesManager(); Collection<IPath> rootPaths = manager.getPreferences().getRootPaths(); if (rootPaths != null) { for (IPath rootPath : rootPaths) { if (rootPath.isPrefixOf(path)) { return path.makeRelativeTo(rootPath.append("..")); } } } return path; }
private static void convertTextEdit(WorkspaceEdit root, ICompilationUnit unit, TextEdit textEdits) { TextEdit[] children = textEdits.getChildren(); if (children.length == 0) { return; } for (TextEdit textEdit : children) { TextEditConverter converter = new TextEditConverter(unit, textEdit); String uri = JDTUtils.toURI(unit); if (JavaLanguageServerPlugin.getPreferencesManager().getClientPreferences().isResourceOperationSupported()) { List<Either<TextDocumentEdit, ResourceOperation>> changes = root.getDocumentChanges(); if (changes == null) { changes = new LinkedList<>(); root.setDocumentChanges(changes); } changes.add(Either.forLeft(converter.convertToTextDocumentEdit(0))); } else { Map<String, List<org.eclipse.lsp4j.TextEdit>> changes = root.getChanges(); if (changes.containsKey(uri)) { changes.get(uri).addAll(converter.convert()); } else { changes.put(uri, converter.convert()); } } } }
/** * Converts changes to resource operations if resource operations are supported * by the client otherwise converts to TextEdit changes. * * @param resourceChange * resource changes after Refactoring operation * @param edit * instance of workspace edit changes * @throws CoreException */ public static void convertResourceChange(ResourceChange resourceChange, WorkspaceEdit edit) throws CoreException { if (!JavaLanguageServerPlugin.getPreferencesManager().getClientPreferences().isResourceOperationSupported()) { return; } List<Either<TextDocumentEdit, ResourceOperation>> changes = edit.getDocumentChanges(); if (changes == null) { changes = new LinkedList<>(); edit.setDocumentChanges(changes); } // Resource change is needed and supported by client if (resourceChange instanceof RenameCompilationUnitChange) { convertCUResourceChange(edit, (RenameCompilationUnitChange) resourceChange); } else if (resourceChange instanceof RenamePackageChange) { convertRenamePackcageChange(edit, (RenamePackageChange) resourceChange); } }
final OrganizeImportsCommand c = new OrganizeImportsCommand(); final Object result = c.organizeImports(arguments); final boolean applyNow = JavaLanguageServerPlugin.getPreferencesManager().getClientPreferences().isWorkspaceApplyEditSupported(); if (applyNow) { JavaLanguageServerPlugin.getInstance().getClientConnection().applyWorkspaceEdit((WorkspaceEdit) result);
public static void configureFormatter(PreferenceManager preferenceManager, ProjectsManager projectsManager) { String formatterUrl = preferenceManager.getPreferences().getFormatterUrl(); Map<String, String> options = null; if (formatterUrl != null) { URL url = projectsManager.getUrl(formatterUrl); if (url != null) { try (InputStream inputStream = url.openStream()) { InputSource inputSource = new InputSource(inputStream); String profileName = preferenceManager.getPreferences().getFormatterProfileName(); options = FormatterManager.readSettingsFromStream(inputSource, profileName); } catch (Exception e) { JavaLanguageServerPlugin.logException(e.getMessage(), e); } } else { JavaLanguageServerPlugin.logInfo("Invalid formatter:" + formatterUrl); } } if (options != null && !options.isEmpty()) { setFormattingOptions(options); } else { Map<String, String> defaultOptions = DefaultCodeFormatterOptions.getEclipseDefaultSettings().getMap(); Hashtable<String, String> javaOptions = JavaCore.getOptions(); defaultOptions.forEach((k, v) -> { javaOptions.put(k, v); }); JavaCore.setOptions(javaOptions); JavaLanguageServerPlugin.getPreferencesManager().initialize(); } }
PreferenceManager preferencesManager = JavaLanguageServerPlugin.getPreferencesManager(); if (preferencesManager == null || preferencesManager.getPreferences() == null) { return;
boolean overrideWorkspaceConfiguration = gradleUserHome != null; GradleDistribution distribution = getGradleDistribution(rootFolder); String javaHomeStr = JavaLanguageServerPlugin.getPreferencesManager().getPreferences().getJavaHome(); File javaHome = javaHomeStr == null ? null : new File(javaHomeStr);
if (!hasOtherPublicTypeBefore && JavaLanguageServerPlugin.getPreferencesManager().getClientPreferences().isResourceOperationSupported()) { String newCUName = JavaModelUtil.getRenamedCUName(cu, currTypeName); ICompilationUnit newCU = ((IPackageFragment) (cu.getParent())).getCompilationUnit(newCUName);