Skip to content

Commit 031dfc4

Browse files
committed
clean up a few warnings and a little code
1 parent a7ca671 commit 031dfc4

File tree

3 files changed

+95
-118
lines changed

3 files changed

+95
-118
lines changed

java/src/processing/mode/java/lsp/PdeAdapter.java

Lines changed: 68 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,46 @@
11
package processing.mode.java.lsp;
22

3+
import java.io.File;
4+
import java.net.URI;
5+
import java.util.AbstractMap;
6+
import java.util.Arrays;
7+
import java.util.Collections;
38
import java.util.concurrent.CompletableFuture;
4-
9+
import java.util.HashSet;
10+
import java.util.List;
11+
import java.util.Map;
12+
import java.util.Optional;
13+
import java.util.Set;
14+
import java.util.stream.Collectors;
15+
import java.util.stream.IntStream;
516
import org.eclipse.lsp4j.CompletionItem;
17+
import org.eclipse.lsp4j.CompletionItemKind;
18+
import org.eclipse.lsp4j.Diagnostic;
19+
import org.eclipse.lsp4j.DiagnosticSeverity;
20+
import org.eclipse.lsp4j.InsertTextFormat;
621
import org.eclipse.lsp4j.jsonrpc.CompletableFutures;
7-
import java.util.List;
22+
import org.eclipse.lsp4j.Position;
23+
import org.eclipse.lsp4j.PublishDiagnosticsParams;
24+
import org.eclipse.lsp4j.Range;
25+
import org.eclipse.lsp4j.services.LanguageClient;
26+
import org.eclipse.lsp4j.TextEdit;
27+
import org.jsoup.Jsoup;
828
import processing.app.Base;
29+
import processing.app.contrib.ModeContribution;
930
import processing.app.Platform;
1031
import processing.app.Preferences;
11-
import processing.app.contrib.ModeContribution;
12-
import processing.mode.java.JavaMode;
13-
import java.io.File;
32+
import processing.app.Problem;
1433
import processing.app.Sketch;
34+
import processing.app.SketchCode;
35+
import processing.mode.java.AutoFormat;
36+
import processing.mode.java.CompletionCandidate;
1537
import processing.mode.java.CompletionGenerator;
16-
import processing.mode.java.PreprocService;
17-
import org.eclipse.lsp4j.services.LanguageClient;
1838
import processing.mode.java.ErrorChecker;
19-
import processing.app.Problem;
20-
import org.eclipse.lsp4j.PublishDiagnosticsParams;
21-
import org.eclipse.lsp4j.Diagnostic;
22-
import org.eclipse.lsp4j.Range;
23-
import org.eclipse.lsp4j.Position;
24-
import org.eclipse.lsp4j.DiagnosticSeverity;
25-
import processing.mode.java.PreprocSketch;
39+
import processing.mode.java.JavaMode;
2640
import processing.mode.java.JavaTextArea;
27-
import java.util.Collections;
28-
import processing.mode.java.CompletionCandidate;
29-
import org.eclipse.lsp4j.InsertTextFormat;
30-
import org.eclipse.lsp4j.CompletionItemKind;
31-
import org.jsoup.Jsoup;
32-
import java.net.URI;
33-
import processing.app.SketchCode;
34-
import org.eclipse.lsp4j.TextEdit;
35-
import processing.mode.java.AutoFormat;
36-
import java.util.Optional;
37-
import java.util.HashSet;
38-
import java.util.Arrays;
39-
import java.util.stream.Collectors;
40-
import java.util.stream.IntStream;
41-
import java.util.Map;
42-
import java.util.AbstractMap;
43-
import java.util.Set;
44-
45-
class Offset {
46-
int line;
47-
int col;
41+
import processing.mode.java.PreprocService;
42+
import processing.mode.java.PreprocSketch;
4843

49-
Offset(int line, int col) {
50-
this.line = line;
51-
this.col = col;
52-
}
53-
}
5444

5545
class PdeAdapter {
5646
File rootPath;
@@ -63,7 +53,7 @@ class PdeAdapter {
6353
ErrorChecker errorChecker;
6454
CompletableFuture<PreprocSketch> cps;
6555
CompletionGenerator suggestionGenerator;
66-
Set<URI> prevDiagnosticReportUris = new HashSet<URI>();
56+
Set<URI> prevDiagnosticReportUris = new HashSet<>();
6757

6858

6959
PdeAdapter(File rootPath, LanguageClient client) {
@@ -100,6 +90,7 @@ static Optional<File> uriToPath(URI uri) {
10090
}
10191
}
10292

93+
10394
static URI pathToUri(File path) {
10495
return path.toURI();
10596
}
@@ -118,16 +109,14 @@ static void init() {
118109
}
119110

120111
void notifySketchChanged() {
121-
CompletableFuture<PreprocSketch> cps = new CompletableFuture<PreprocSketch>();
112+
CompletableFuture<PreprocSketch> cps = new CompletableFuture<>();
122113
this.cps = cps;
123114
preprocService.notifySketchChanged();
124115
errorChecker.notifySketchChanged();
125-
preprocService.whenDone(ps -> {
126-
cps.complete(ps);
127-
});
116+
preprocService.whenDone(cps::complete);
128117
}
129118

130-
Optional<SketchCode> findCodeByUri(URI uri) {
119+
Optional<SketchCode> findCodeByUri(URI uri) {
131120
return PdeAdapter.uriToPath(uri)
132121
.flatMap(path -> Arrays.stream(sketch.getCode())
133122
.filter(code -> code.getFile().equals(path))
@@ -161,7 +150,7 @@ void updateProblems(List<Problem> probs) {
161150
? DiagnosticSeverity.Error
162151
: DiagnosticSeverity.Warning
163152
);
164-
return new AbstractMap.SimpleEntry<URI, Diagnostic>(
153+
return new AbstractMap.SimpleEntry<>(
165154
PdeAdapter.pathToUri(code.getFile()),
166155
dia
167156
);
@@ -204,42 +193,31 @@ CompletionItem convertCompletionCandidate(CompletionCandidate c) {
204193
char[] chs = insert.replace("(,", "($1,").toCharArray();
205194
insert = "";
206195
for (char ch : chs) {
207-
switch (ch) {
208-
case ',': {
209-
n += 1;
210-
insert += ",$" + n;
211-
}
212-
default: insert += ch;
196+
if (ch == ',') {
197+
n += 1;
198+
insert += ",$" + n;
213199
}
200+
insert += ch;
214201
}
215202
}
216203
item.setInsertText(insert);
217-
CompletionItemKind kind;
218-
switch (c.getType()) {
219-
case 0: // PREDEF_CLASS
220-
kind = CompletionItemKind.Class;
221-
break;
222-
case 1: // PREDEF_FIELD
223-
kind = CompletionItemKind.Constant;
224-
break;
225-
case 2: // PREDEF_METHOD
226-
kind = CompletionItemKind.Function;
227-
break;
228-
case 3: // LOCAL_CLASS
229-
kind = CompletionItemKind.Class;
230-
break;
231-
case 4: // LOCAL_METHOD
232-
kind = CompletionItemKind.Method;
233-
break;
234-
case 5: // LOCAL_FIELD
235-
kind = CompletionItemKind.Field;
236-
break;
237-
case 6: // LOCAL_VARIABLE
238-
kind = CompletionItemKind.Variable;
239-
break;
240-
default:
241-
throw new IllegalArgumentException("Unknown completion type: " + c.getType());
242-
}
204+
CompletionItemKind kind = switch (c.getType()) {
205+
case 0 -> // PREDEF_CLASS
206+
CompletionItemKind.Class;
207+
case 1 -> // PREDEF_FIELD
208+
CompletionItemKind.Constant;
209+
case 2 -> // PREDEF_METHOD
210+
CompletionItemKind.Function;
211+
case 3 -> // LOCAL_CLASS
212+
CompletionItemKind.Class;
213+
case 4 -> // LOCAL_METHOD
214+
CompletionItemKind.Method;
215+
case 5 -> // LOCAL_FIELD
216+
CompletionItemKind.Field;
217+
case 6 -> // LOCAL_VARIABLE
218+
CompletionItemKind.Variable;
219+
default -> throw new IllegalArgumentException("Unknown completion type: " + c.getType());
220+
};
243221
item.setKind(kind);
244222
item.setDetail(Jsoup.parse(c.getLabel()).text());
245223
return item;
@@ -327,4 +305,15 @@ Optional<TextEdit> format(URI uri) {
327305
);
328306
});
329307
}
308+
309+
310+
static class Offset {
311+
int line;
312+
int col;
313+
314+
Offset(int line, int col) {
315+
this.line = line;
316+
this.col = col;
317+
}
318+
}
330319
}

java/src/processing/mode/java/lsp/PdeTextDocumentService.java

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -57,35 +57,29 @@ public void didSave(DidSaveTextDocumentParams params) {
5757
public CompletableFuture<Either<List<CompletionItem>, CompletionList>> completion(CompletionParams params) {
5858
System.out.println("completion");
5959
URI uri = URI.create(params.getTextDocument().getUri());
60-
return pls.getAdapter(uri).map(adapter -> {
61-
CompletableFuture<Either<List<CompletionItem>, CompletionList>> result = adapter.generateCompletion(
62-
uri,
63-
params.getPosition().getLine(),
64-
params.getPosition().getCharacter()
65-
).thenApply(Either::forLeft);
66-
return result;
67-
})
60+
return pls.getAdapter(uri).map(adapter -> adapter.generateCompletion(
61+
uri,
62+
params.getPosition().getLine(),
63+
params.getPosition().getCharacter()
64+
).<Either<List<CompletionItem>, CompletionList>>thenApply(Either::forLeft))
6865
.orElse(CompletableFutures.computeAsync(_x -> Either.forLeft(Collections.emptyList())));
6966
}
7067

7168
@Override
7269
public CompletableFuture<CompletionItem> resolveCompletionItem(CompletionItem params) {
7370
System.out.println("resolveCompletionItem");
74-
return CompletableFutures.computeAsync(_x -> {
75-
return params;
76-
});
71+
return CompletableFutures.computeAsync(_x -> params);
7772
}
7873

7974
@Override
8075
public CompletableFuture<List<? extends TextEdit>> formatting(DocumentFormattingParams params) {
8176
System.out.println("formatting");
8277
URI uri = URI.create(params.getTextDocument().getUri());
8378
return pls.getAdapter(uri).map(adapter -> {
84-
CompletableFuture<List<? extends TextEdit>> result = CompletableFutures.computeAsync(_x -> {
85-
return adapter.format(uri).map(Collections::singletonList).orElse(Collections.emptyList());
86-
});
87-
return result;
88-
})
89-
.orElse(CompletableFuture.completedFuture(Collections.emptyList()));
79+
return CompletableFutures.<List<? extends TextEdit>>computeAsync(_x -> {
80+
return adapter.format(uri).map(Collections::singletonList).orElse(Collections.emptyList());
81+
});
82+
})
83+
.orElse(CompletableFuture.completedFuture(Collections.emptyList()));
9084
}
9185
}

java/src/processing/mode/java/lsp/PdeWorkspaceService.java

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -24,28 +24,22 @@ public void didChangeWatchedFiles(DidChangeWatchedFilesParams params) {
2424
URI uri = URI.create(change.getUri());
2525
pls.getAdapter(uri).ifPresent(adapter -> {
2626
switch (change.getType()) {
27-
case Created:
28-
PdeAdapter.uriToPath(uri).ifPresent(path -> {
29-
adapter.sketch.loadNewTab(path.getName().toString(), "pde", true);
30-
adapter.notifySketchChanged();
31-
});
32-
break;
33-
case Changed:
34-
adapter.findCodeByUri(uri).ifPresent(code -> {
35-
try {
36-
code.load();
37-
} catch (IOException e) {
38-
throw new RuntimeException(e);
39-
}
40-
adapter.notifySketchChanged();
41-
});
42-
break;
43-
case Deleted:
44-
adapter.findCodeByUri(uri).ifPresent(code -> {
45-
adapter.sketch.removeCode(code);
46-
adapter.notifySketchChanged();
47-
});
48-
break;
27+
case Created -> PdeAdapter.uriToPath(uri).ifPresent(path -> {
28+
adapter.sketch.loadNewTab(path.getName(), "pde", true);
29+
adapter.notifySketchChanged();
30+
});
31+
case Changed -> adapter.findCodeByUri(uri).ifPresent(code -> {
32+
try {
33+
code.load();
34+
} catch (IOException e) {
35+
throw new RuntimeException(e);
36+
}
37+
adapter.notifySketchChanged();
38+
});
39+
case Deleted -> adapter.findCodeByUri(uri).ifPresent(code -> {
40+
adapter.sketch.removeCode(code);
41+
adapter.notifySketchChanged();
42+
});
4943
}
5044
});
5145
}

0 commit comments

Comments
 (0)