diff --git a/src/main/java/software/amazon/smithy/lsp/protocol/UriAdapter.java b/src/main/java/software/amazon/smithy/lsp/protocol/UriAdapter.java index 5a844d6c..54d77242 100644 --- a/src/main/java/software/amazon/smithy/lsp/protocol/UriAdapter.java +++ b/src/main/java/software/amazon/smithy/lsp/protocol/UriAdapter.java @@ -11,6 +11,7 @@ import java.net.URL; import java.net.URLDecoder; import java.nio.charset.StandardCharsets; +import java.nio.file.Paths; import java.util.logging.Logger; /** @@ -42,12 +43,12 @@ public static String toPath(String uri) { * correct scheme for jars */ public static String toUri(String path) { - if (path.startsWith("/")) { - return "file://" + path; - } else if (path.startsWith("jar:file")) { + if (path.startsWith("jar:file")) { return path.replaceFirst("jar:file", "smithyjar"); - } else { + } else if (path.startsWith("smithyjar:")) { return path; + } else { + return Paths.get(path).toUri().toString(); } }