From 66f94873f965d84163c8e10a02a4c99429e773e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20Nordl=C3=B6w?= Date: Tue, 19 Nov 2024 11:51:43 +0100 Subject: [PATCH] Use skipOver in uriToFile --- protocol/source/served/lsp/uri.d | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/protocol/source/served/lsp/uri.d b/protocol/source/served/lsp/uri.d index 06003dd6..142c1616 100644 --- a/protocol/source/served/lsp/uri.d +++ b/protocol/source/served/lsp/uri.d @@ -51,9 +51,8 @@ string uriToFile(DocumentUri uri) import std.uri : decodeComponent; import std.string : startsWith; - if (uri.startsWith("file://")) + if (uri.skipOver("file://")) { - string ret = uri["file://".length .. $].decodeComponent; if (ret.length >= 3 && ret[0] == '/' && ret[2] == ':') // file:///x: windows path return ret[1 .. $].replace("/", "\\"); else if (ret.length >= 1 && ret[0] != '/') // file://share windows path @@ -283,7 +282,7 @@ unittest { assertEquals(uriNormalize(`b/../a.d`), `a.d`); assertEquals(uriNormalize(`b/../../a.d`), `../a.d`); - + foreach (prefix; ["file:///", "file://", "", "/", "//"]) { assertEquals(uriNormalize(prefix ~ `foo/bar/./a.d`), prefix ~ `foo/bar/a.d`);