diff options
| author | Eyal Posener <[email protected]> | 2017-05-13 22:57:37 +0300 |
|---|---|---|
| committer | GitHub <[email protected]> | 2017-05-13 22:57:37 +0300 |
| commit | 6c02dfed2415ac952a3f5436fc237a8c6a9c8232 (patch) | |
| tree | 36a3d5b930747578ffef5ac62d07c5f2b5a9048f /utils.go | |
| parent | 8bad6313cc30fa10f960b2758dd8db1c83add570 (diff) | |
| parent | a32482e70da76715645de14fa0a6201eace3df53 (diff) | |
Merge pull request #21 from posener/tests
test: add args tests
Diffstat (limited to 'utils.go')
| -rw-r--r-- | utils.go | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/utils.go b/utils.go new file mode 100644 index 0000000..a59a0d4 --- /dev/null +++ b/utils.go @@ -0,0 +1,31 @@ +package complete + +import ( + "os" + "path/filepath" +) + +// relativePath changes a file name to a relative name +func relativePath(file string) string { + // get wording directory for relative name + workDir, err := os.Getwd() + if err != nil { + return file + } + + abs, err := filepath.Abs(file) + if err != nil { + return file + } + rel, err := filepath.Rel(workDir, abs) + if err != nil { + return file + } + if rel != "." { + rel = "./" + rel + } + if info, err := os.Stat(rel); err == nil && info.IsDir() { + rel += "/" + } + return rel +} |
