Skip to content

Commit 8d07104

Browse files
committed
Add ability to open pdfs in standalone nad gui mode
1 parent 4956a86 commit 8d07104

File tree

5 files changed

+15
-10
lines changed

5 files changed

+15
-10
lines changed

jabls/src/main/java/org/jabref/languageserver/BibtexTextDocumentService.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,6 @@ public void didSave(DidSaveTextDocumentParams params) {
9494

9595
@Override
9696
public CompletableFuture<Either<List<? extends Location>, List<? extends LocationLink>>> definition(DefinitionParams params) {
97-
if (!clientHandler.isStandalone()) {
98-
return CompletableFuture.completedFuture(Either.forLeft(List.of()));
99-
}
10097
if (fileUriToLanguageId.containsKey(params.getTextDocument().getUri())) {
10198
String fileUri = params.getTextDocument().getUri();
10299
return linkHandler.provideDefinition(fileUriToLanguageId.get(fileUri), fileUri, contentCache.get(fileUri), params.getPosition());
@@ -106,9 +103,6 @@ public CompletableFuture<Either<List<? extends Location>, List<? extends Locatio
106103

107104
@Override
108105
public CompletableFuture<List<DocumentLink>> documentLink(DocumentLinkParams params) {
109-
if (clientHandler.isStandalone()) {
110-
return CompletableFuture.completedFuture(List.of());
111-
}
112106
String fileUri = params.getTextDocument().getUri();
113107
return linkHandler.provideDocumentLinks(fileUri, fileUriToLanguageId.get(fileUri), contentCache.get(fileUri));
114108
}

jabls/src/main/java/org/jabref/languageserver/LspClientHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public LspClientHandler(RemoteMessageHandler messageHandler, CliPreferences cliP
4545
this.settings = ExtensionSettings.getDefaultSettings();
4646
this.parserHandler = new LspParserHandler();
4747
this.diagnosticHandler = new LspDiagnosticHandler(this, parserHandler, cliPreferences, abbreviationRepository);
48-
this.linkHandler = new LspLinkHandler(parserHandler, cliPreferences);
48+
this.linkHandler = new LspLinkHandler(this, parserHandler, cliPreferences);
4949
this.workspaceService = new BibtexWorkspaceService(this, diagnosticHandler);
5050
this.textDocumentService = new BibtexTextDocumentService(messageHandler, this, diagnosticHandler, linkHandler);
5151
this.messageHandler = messageHandler;

jabls/src/main/java/org/jabref/languageserver/util/LspIntegrityCheck.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public List<Diagnostic> check(ParserResult parserResult) {
4444
}
4545
});
4646
} catch (NullPointerException nullPointerException) {
47-
LOGGER.error("Error while performing integrity check.", nullPointerException);
47+
LOGGER.debug("Error while performing integrity check.", nullPointerException);
4848
}
4949
return Stream.of();
5050
}).toList();

jabls/src/main/java/org/jabref/languageserver/util/LspLinkHandler.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.util.Optional;
55
import java.util.concurrent.CompletableFuture;
66

7+
import org.jabref.languageserver.LspClientHandler;
78
import org.jabref.languageserver.util.definition.DefinitionProvider;
89
import org.jabref.languageserver.util.definition.DefinitionProviderFactory;
910
import org.jabref.logic.preferences.CliPreferences;
@@ -20,15 +21,21 @@ public class LspLinkHandler {
2021

2122
private static final Logger LOGGER = LoggerFactory.getLogger(LspLinkHandler.class);
2223

24+
private final LspClientHandler clientHandler;
2325
private final LspParserHandler parserHandler;
2426
private final CliPreferences preferences;
2527

26-
public LspLinkHandler(LspParserHandler parserHandler, CliPreferences preferences) {
28+
public LspLinkHandler(LspClientHandler clientHandler, LspParserHandler parserHandler, CliPreferences preferences) {
29+
this.clientHandler = clientHandler;
2730
this.parserHandler = parserHandler;
2831
this.preferences = preferences;
2932
}
3033

3134
public CompletableFuture<Either<List<? extends Location>, List<? extends LocationLink>>> provideDefinition(String languageId, String uri, String content, Position position) {
35+
if (!clientHandler.isStandalone() && !"bibtex".equals(languageId)) {
36+
return CompletableFuture.completedFuture(Either.forLeft(List.of()));
37+
}
38+
3239
List<Location> locations = List.of();
3340
Optional<DefinitionProvider> provider = DefinitionProviderFactory.getDefinitionProvider(preferences, parserHandler, languageId);
3441
if (provider.isPresent()) {
@@ -39,6 +46,9 @@ public CompletableFuture<Either<List<? extends Location>, List<? extends Locatio
3946
}
4047

4148
public CompletableFuture<List<DocumentLink>> provideDocumentLinks(String fileUri, String languageId, String content) {
49+
if (clientHandler.isStandalone()) {
50+
return CompletableFuture.completedFuture(List.of());
51+
}
4252
List<DocumentLink> documentLinks = List.of();
4353
Optional<DefinitionProvider> provider = DefinitionProviderFactory.getDefinitionProvider(preferences, parserHandler, languageId);
4454
if (provider.isPresent()) {

jabls/src/main/java/org/jabref/languageserver/util/definition/BibDefinitionProvider.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public List<Location> provideDefinition(String uri, String content, Position pos
7272
Optional<Path> filePath = FileUtil.find(parserResult.get().getDatabaseContext(), linkedFile.getLink(), preferences.getFilePreferences());
7373
return List.of(new Location(filePath.get().toUri().toString(), EMPTY_RANGE));
7474
} catch (NullPointerException e) {
75-
LOGGER.error("Error while getting file path", e);
75+
LOGGER.debug("Error while getting file path", e);
7676
}
7777
}
7878
}
@@ -81,6 +81,7 @@ public List<Location> provideDefinition(String uri, String content, Position pos
8181
return List.of();
8282
}
8383

84+
// Not needed when trying to resolve links to pdfs
8485
@Override
8586
public List<DocumentLink> provideDocumentLinks(String fileUri, String content) {
8687
return List.of();

0 commit comments

Comments
 (0)