/*
 *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;
    }
}