Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,11 @@ public static String sanitizeCompletion(String replace) {
* the completion itemDefaults of the completion list
*/
public static void setInsertTextMode(final CompletionItem item, CompletionItemDefaults completionItemDefaults) {
if ((!JavaLanguageServerPlugin.getPreferencesManager().getClientPreferences().isCompletionListItemDefaultsPropertySupport("insertTextMode") ||
var clientPreferences = JavaLanguageServerPlugin.getPreferencesManager().getClientPreferences();
if ((!clientPreferences.isCompletionListItemDefaultsPropertySupport("insertTextMode") ||
completionItemDefaults.getInsertTextMode() == null ||
completionItemDefaults.getInsertTextMode() != InsertTextMode.AdjustIndentation) &&
JavaLanguageServerPlugin.getPreferencesManager().getClientPreferences().getCompletionItemInsertTextModeDefault() != InsertTextMode.AdjustIndentation
clientPreferences.getCompletionItemInsertTextModeDefault() != InsertTextMode.AdjustIndentation
) {
item.setInsertTextMode(InsertTextMode.AdjustIndentation);
}
Expand All @@ -61,8 +62,9 @@ public static void setInsertTextMode(final CompletionItem item, CompletionItemDe
* the completion itemDefaults of the completion list
*/
public static void setInsertTextFormat(final CompletionItem item, CompletionItemDefaults completionItemDefaults) {
InsertTextFormat insertTextFormat = JavaLanguageServerPlugin.getPreferencesManager().getClientPreferences().isCompletionSnippetsSupported() ? InsertTextFormat.Snippet : InsertTextFormat.PlainText;
if (!JavaLanguageServerPlugin.getPreferencesManager().getClientPreferences().isCompletionListItemDefaultsPropertySupport("insertTextFormat") ||
var clientPreferences = JavaLanguageServerPlugin.getPreferencesManager().getClientPreferences();
InsertTextFormat insertTextFormat = clientPreferences.isCompletionSnippetsSupported() ? InsertTextFormat.Snippet : InsertTextFormat.PlainText;
if (!clientPreferences.isCompletionListItemDefaultsPropertySupport("insertTextFormat") ||
completionItemDefaults.getInsertTextFormat() == null ||
completionItemDefaults.getInsertTextFormat() != insertTextFormat
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -839,6 +839,7 @@ private void setLabelDetails(CompletionItem item, String label, String detail, S
}

private boolean isCompletionItemLabelDetailsSupport() {
return JavaLanguageServerPlugin.getPreferencesManager() != null && JavaLanguageServerPlugin.getPreferencesManager().getClientPreferences().isCompletionItemLabelDetailsSupport();
var preferenceManager = JavaLanguageServerPlugin.getPreferencesManager();
return preferenceManager != null && preferenceManager.getClientPreferences().isCompletionItemLabelDetailsSupport();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -176,8 +176,8 @@ public void updateReplacement(CompletionProposal proposal, CompletionItem item,
} else {
item.setInsertTextFormat(InsertTextFormat.PlainText);
}
if (isResolvingRequest || (!JavaLanguageServerPlugin.getPreferencesManager().getClientPreferences().isCompletionListItemDefaultsPropertySupport("insertTextMode")
&& JavaLanguageServerPlugin.getPreferencesManager().getClientPreferences().getCompletionItemInsertTextModeDefault() != InsertTextMode.AdjustIndentation)) {
if (isResolvingRequest || (!client.isCompletionListItemDefaultsPropertySupport("insertTextMode")
&& client.getCompletionItemInsertTextModeDefault() != InsertTextMode.AdjustIndentation)) {
item.setInsertTextMode(InsertTextMode.AdjustIndentation);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -260,17 +260,16 @@ public List<CompletionItem> getCompletionItems() {

public List<CompletionItem> getCompletionItems(IProgressMonitor monitor) {
CompletionRankingAggregation[] aggregatedRanks = getAggregatedRankingResult(monitor);
Map<CompletionProposal, CompletionRankingAggregation> proposalToRankingResult = new HashMap<>(proposals.size());
for (int i = 0; i < proposals.size(); i++) {
CompletionProposal proposal = proposals.get(i);
if (aggregatedRanks[i] != null) {
CompletionRankingAggregation ranking = aggregatedRanks[i];
if (ranking != null) {
// we assume there won't be overflow for now since the the score from
// each provider can only be 100 at most.
proposal.setRelevance(proposal.getRelevance() + aggregatedRanks[i].getScore());
proposal.setRelevance(proposal.getRelevance() + ranking.getScore());
}
}
Map<CompletionProposal, CompletionRankingAggregation> proposalToRankingResult = new HashMap<>();
for (int i = 0; i < proposals.size(); i++) {
proposalToRankingResult.put(proposals.get(i), aggregatedRanks[i]);
proposalToRankingResult.put(proposal, ranking);
}

proposals.sort(new ProposalComparator(proposals.size()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,10 +107,11 @@ public List<CompletionItem> getProposals(ICompilationUnit cu, int offset, Comple
}
final CompletionItem ci = new CompletionItem();
CompletionItemDefaults completionItemDefaults = collector.getCompletionItemDefaults();
var clientPreferences = JavaLanguageServerPlugin.getPreferencesManager().getClientPreferences();
Range range = JDTUtils.toRange(unit, offset, 0);
boolean isSnippetSupported = JavaLanguageServerPlugin.getPreferencesManager().getClientPreferences().isCompletionSnippetsSupported();
boolean isSnippetSupported = clientPreferences.isCompletionSnippetsSupported();
String replacement = prepareTemplate(buf.toString(), lineDelimiter, isSnippetSupported);
if (JavaLanguageServerPlugin.getPreferencesManager().getClientPreferences().isCompletionListItemDefaultsPropertySupport("editRange") &&
if (clientPreferences.isCompletionListItemDefaultsPropertySupport("editRange") &&
completionItemDefaults != null && completionItemDefaults.getEditRange() != null &&
completionItemDefaults.getEditRange().getLeft() == range) {
ci.setTextEditText(replacement);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -431,7 +431,8 @@ public static void setTextEdit(CompletionContext completionContext, ICompilation
}

private static boolean isCompletionItemLabelDetailsSupport() {
return JavaLanguageServerPlugin.getPreferencesManager() != null && JavaLanguageServerPlugin.getPreferencesManager().getClientPreferences().isCompletionItemLabelDetailsSupport();
var preferenceManager = JavaLanguageServerPlugin.getPreferencesManager();
return preferenceManager != null && preferenceManager.getClientPreferences().isCompletionItemLabelDetailsSupport();
}

public static String evaluateGenericTemplate(ICompilationUnit cu, CompletionContext completionContext, Template template) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,9 @@ public static Either<String, MarkupContent> beautifyDocument(String raw) {
escapedString = escapedString.replaceAll(TM_SELECTED_TEXT, "");
escapedString = escapedString.replaceAll(TM_FILENAME_BASE, "");

if (JavaLanguageServerPlugin.getPreferencesManager() != null && JavaLanguageServerPlugin.getPreferencesManager().getClientPreferences() != null
&& JavaLanguageServerPlugin.getPreferencesManager().getClientPreferences().isSupportsCompletionDocumentationMarkdown()) {
var preferenceManager = JavaLanguageServerPlugin.getPreferencesManager();
if (preferenceManager != null && preferenceManager.getClientPreferences() != null
&& preferenceManager.getClientPreferences().isSupportsCompletionDocumentationMarkdown()) {
MarkupContent markupContent = new MarkupContent();
markupContent.setKind(MarkupKind.MARKDOWN);
markupContent.setValue(String.format("```%s\n%s\n```", MARKDOWN_LANGUAGE, escapedString));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,17 +140,18 @@ public Either<List<CompletionItem>, CompletionList> completion(CompletionParams
long executionTime = System.currentTimeMillis() - startTime;
String lastRequestId = null;
for (CompletionItem item : $.getItems()) {
String requestId = "";
String proposalId = "";
@SuppressWarnings("unchecked")
Map<String, String> data = (Map<String, String>) item.getData();
if (data != null) {
requestId = data.getOrDefault(CompletionResolveHandler.DATA_FIELD_REQUEST_ID, "");
proposalId = data.getOrDefault(CompletionResolveHandler.DATA_FIELD_PROPOSAL_ID, "");
if (data == null) {
continue;
}
if (requestId.isEmpty() || proposalId.isEmpty()) {

String requestId = data.get(CompletionResolveHandler.DATA_FIELD_REQUEST_ID);
String proposalId = data.get(CompletionResolveHandler.DATA_FIELD_PROPOSAL_ID);
if (requestId == null || requestId.isEmpty() || proposalId == null || proposalId.isEmpty()) {
continue;
}

item.setCommand(new Command("", "java.completion.onDidSelect", Arrays.asList(
requestId,
proposalId
Expand Down
Loading