• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

wurstscript / WurstScript / 228

29 Nov 2023 05:00PM UTC coverage: 62.48% (-0.09%) from 62.574%
228

push

circleci

web-flow
Show dialog for choosing game path, cleanup (#1083)

* show dialog for choosing game path

* cleanup code

* remove logs and refactor

* remove confusing mpq error, make some mpq loads readonly

17295 of 27681 relevant lines covered (62.48%)

0.62 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
de.peeeq.wurstscript/src/main/java/de/peeeq/wurstio/languageserver/WurstTextDocumentService.java
1
package de.peeeq.wurstio.languageserver;
2

3
import de.peeeq.wurstio.languageserver.requests.*;
4
import de.peeeq.wurstscript.WLogger;
5
import de.peeeq.wurstscript.attributes.prettyPrint.PrettyUtils;
6
import org.eclipse.lsp4j.*;
7
import org.eclipse.lsp4j.jsonrpc.messages.Either;
8
import org.eclipse.lsp4j.services.TextDocumentService;
9

10
import java.util.ArrayList;
11
import java.util.List;
12
import java.util.concurrent.CompletableFuture;
13
import java.util.stream.Collectors;
14

15
/**
16
 *
17
 */
18
public class WurstTextDocumentService implements TextDocumentService {
19
    private final LanguageWorker worker;
20

21
    public WurstTextDocumentService(LanguageWorker worker) {
×
22
        this.worker = worker;
×
23
    }
×
24

25

26
    @Override
27
    public CompletableFuture<Either<List<CompletionItem>, CompletionList>> completion(CompletionParams position) {
28
        WLogger.info("completion");
×
29
        return worker.handle(new GetCompletions(position, worker.getBufferManager())).thenApply(Either::forRight);
×
30
    }
31

32
    @Override
33
    public CompletableFuture<CompletionItem> resolveCompletionItem(CompletionItem unresolved) {
34
        WLogger.info("resolveCompletionItem");
×
35
        return null;
×
36
    }
37

38
    @Override
39
    public CompletableFuture<Hover> hover(HoverParams hoverParams) {
40
        WLogger.info("hover");
×
41
        return worker.handle(new HoverInfo(hoverParams, worker.getBufferManager()));
×
42
    }
43

44
    @Override
45
    public CompletableFuture<SignatureHelp> signatureHelp(SignatureHelpParams helpParams) {
46
        WLogger.info("signatureHelp");
×
47
        return worker.handle(new SignatureInfo(helpParams));
×
48
    }
49

50
    @Override
51
    public CompletableFuture<Either<List<? extends Location>, List<? extends LocationLink>>> definition(DefinitionParams definitionParams) {
52
        WLogger.info("definition");
×
53
        return worker.handle(new GetDefinition(definitionParams, worker.getBufferManager()));
×
54
    }
55

56
    @Override
57
    public CompletableFuture<List<? extends Location>> references(ReferenceParams params) {
58
        WLogger.info("references");
×
59
        return worker.handle(new GetUsages(params, worker.getBufferManager(), true))
×
60
                .thenApply((List<GetUsages.UsagesData> udList) ->
×
61
                        udList.stream()
×
62
                                .map(GetUsages.UsagesData::getLocation)
×
63
                                .collect(Collectors.toList()));
×
64
    }
65

66
    @Override
67
    public CompletableFuture<List<? extends DocumentHighlight>> documentHighlight(DocumentHighlightParams highlightParams) {
68
        WLogger.info("documentHighlight");
×
69
        return worker.handle(new GetUsages(highlightParams, worker.getBufferManager(), false))
×
70
                .thenApply((List<GetUsages.UsagesData> udList) ->
×
71
                        udList.stream()
×
72
                                .map(GetUsages.UsagesData::toDocumentHighlight)
×
73
                                .collect(Collectors.toList()));
×
74
    }
75

76
    @Override
77
    public CompletableFuture<List<Either<SymbolInformation, DocumentSymbol>>> documentSymbol(DocumentSymbolParams params) {
78
        return worker.handle(new DocumentSymbolRequest(params));
×
79
    }
80

81
    @Override
82
    public CompletableFuture<List<Either<Command, CodeAction>>> codeAction(CodeActionParams params) {
83
        WLogger.info("codeAction");
×
84
        return worker.handle(new CodeActionRequest(params, worker.getBufferManager()));
×
85
    }
86

87
    @Override
88
    public CompletableFuture<List<? extends CodeLens>> codeLens(CodeLensParams params) {
89
        return worker.handle(new CodeLensRequest.GetCodeLens(params, worker. getBufferManager()));
×
90
    }
91

92
    @Override
93
    public CompletableFuture<CodeLens> resolveCodeLens(CodeLens unresolved) {
94
        return worker.handle(new CodeLensRequest.Resolve(unresolved));
×
95
    }
96

97
    @Override
98
    public CompletableFuture<List<? extends TextEdit>> formatting(DocumentFormattingParams params) {
99
        WLogger.info("formatting");
×
100
        TextDocumentIdentifier doc = params.getTextDocument();
×
101
        String buffer = worker.getBufferManager().getBuffer(doc);
×
102

103
        String ending = doc.getUri().substring(doc.getUri().lastIndexOf("."));
×
104
        String clean = PrettyUtils.pretty(buffer, ending);
×
105

106
        String[] lines = buffer.split("\n");
×
107
        Range range = new Range(new Position(0, 0), new Position(lines.length, lines[lines.length-1].length()));
×
108
        TextEdit textEdit = new TextEdit(range, clean);
×
109

110
        List<TextEdit> edits = new ArrayList<>();
×
111
        edits.add(textEdit);
×
112
        return CompletableFuture.completedFuture(edits);
×
113
    }
114

115
    @Override
116
    public CompletableFuture<List<? extends TextEdit>> rangeFormatting(DocumentRangeFormattingParams params) {
117
        WLogger.info("rangeFormatting");
×
118
        return null;
×
119
    }
120

121
    @Override
122
    public CompletableFuture<List<? extends TextEdit>> onTypeFormatting(DocumentOnTypeFormattingParams params) {
123
        WLogger.info("onTypeFormatting");
×
124
        return null;
×
125
    }
126

127
    @Override
128
    public CompletableFuture<WorkspaceEdit> rename(RenameParams params) {
129
        WLogger.info("rename");
×
130
        return worker.handle(new RenameRequest(params, worker.getBufferManager()));
×
131
    }
132

133
    @Override
134
    public void didOpen(DidOpenTextDocumentParams params) {
135
        WLogger.info("didOpen");
×
136

137
    }
×
138

139
    @Override
140
    public void didChange(DidChangeTextDocumentParams params) {
141
        WLogger.info("didChange");
×
142
        worker.handleChange(params);
×
143

144
    }
×
145

146
    @Override
147
    public void didClose(DidCloseTextDocumentParams params) {
148
        WLogger.info("didClose");
×
149

150
    }
×
151

152
    @Override
153
    public void didSave(DidSaveTextDocumentParams params) {
154
        WLogger.info("didSave");
×
155

156
    }
×
157

158
    @Override
159
    public CompletableFuture<List<ColorInformation>> documentColor(DocumentColorParams params) {
160
        return worker.handle(new Colors.DocumentColorRequest(params));
×
161
    }
162

163
    @Override
164
    public CompletableFuture<List<ColorPresentation>> colorPresentation(ColorPresentationParams params) {
165
        return worker.handle(new Colors.ColorPresentationRequest(params));
×
166
    }
167

168
    @Override
169
    public CompletableFuture<List<FoldingRange>> foldingRange(FoldingRangeRequestParams params) {
170
        return worker.handle(new FoldingRangeRequest(params));
×
171
    }
172
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc