diff options
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 +} |
