File: path.d

package info (click to toggle)
tilix 1.9.6-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 6,444 kB
  • sloc: xml: 1,175; sh: 285; python: 127; perl: 72; ansic: 53; makefile: 6
file content (23 lines) | stat: -rw-r--r-- 670 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*
 * This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not
 * distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
 */
module gx.util.path;

import std.path;
import std.process;
import std.string;

/**
 * Resolves the path by converting tilde and environment
 * variables in the path.
 */
string resolvePath(string path) {
    string result = expandTilde(path);
    string[string] env = environment.toAA();
    foreach(name; env.keys) {
        result = result.replace('$' ~ name, env[name]);
        result = result.replace("${" ~ name ~ "}", env[name]);
    }
    return result;
}