grim/convey

Clean up convey.yml a bit

2020-03-02, Gary Kramlich
029768cfe81d
Clean up convey.yml a bit
// Convey
// Copyright 2016-2018 Gary Kramlich <grim@reaperworld.com>
//
// This program 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.
//
// This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
// Package path provides utilities for handling filesystem paths.
package path
import (
"os"
"strings"
)
// ParseFilePath will split a string on the first : and return two pieces.
// If there is no colon, then either "." (the current working directory)
// will be returned as the destination if the source was an item in the
// root of the workspace; otherwise, the source will be returned as the
// destination. If base is specified it will be stripped from the destination.
func ParseFilePath(base, file string) (string, string) {
parts := strings.SplitN(file, ":", 2)
if len(parts) != 1 {
return parts[0], trimBase(base, parts[1])
}
return parts[0], trimBase(base, parts[0])
}
func trimBase(base, path string) string {
if base == "" {
return path
}
if !strings.HasSuffix(base, string(os.PathSeparator)) {
base += string(os.PathSeparator)
}
return strings.TrimPrefix(path, base)
}