/* *Copyright (C) 2018 Laurent Tréguier * *This file is part of DLS. * *DLS is free software: you can redistribute it and/or modify *it under the terms of the GNU General Public License as published by *the Free Software Foundation, either version 3 of the License, or *(at your option) any later version. * *DLS is distributed in the hope that it will be useful, *but WITHOUT ANY WARRANTY; without even the implied warranty of *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *GNU General Public License for more details. * *You should have received a copy of the GNU General Public License *along with DLS. If not, see <http://www.gnu.org/licenses/>. * */ module dls.util.path; @property string normalized(in string path) { version (Windows) { import std.algorithm : startsWith; import std.conv : to; import std.path : driveName, stripDrive; import std.uni : asLowerCase; if (path.startsWith('/') || path.startsWith('\\')) { return path[1 .. $].normalized; } return driveName(path).asLowerCase.to!string ~ stripDrive(path); } else { return path; } }