diff options
Diffstat (limited to 'vendor/github.com/renstrom')
-rw-r--r-- | vendor/github.com/renstrom/dedent/LICENSE | 21 | ||||
-rw-r--r-- | vendor/github.com/renstrom/dedent/README.md | 50 | ||||
-rw-r--r-- | vendor/github.com/renstrom/dedent/dedent.go | 56 |
3 files changed, 0 insertions, 127 deletions
diff --git a/vendor/github.com/renstrom/dedent/LICENSE b/vendor/github.com/renstrom/dedent/LICENSE deleted file mode 100644 index 66a9870fc..000000000 --- a/vendor/github.com/renstrom/dedent/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015 Peter Renström - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/vendor/github.com/renstrom/dedent/README.md b/vendor/github.com/renstrom/dedent/README.md deleted file mode 100644 index 35b5aa134..000000000 --- a/vendor/github.com/renstrom/dedent/README.md +++ /dev/null @@ -1,50 +0,0 @@ -# Dedent - -[![Build Status](https://travis-ci.org/renstrom/dedent.svg?branch=master)](https://travis-ci.org/renstrom/dedent) -[![Godoc](https://img.shields.io/badge/godoc-reference-blue.svg?style=flat)](https://godoc.org/github.com/renstrom/dedent) - -Removes common leading whitespace from multiline strings. Inspired by [`textwrap.dedent`](https://docs.python.org/3/library/textwrap.html#textwrap.dedent) in Python. - -## Usage / example - -Imagine the following snippet that prints a multiline string. You want the indentation to both look nice in the code as well as in the actual output. - -```go -package main - -import ( - "fmt" - - "github.com/renstrom/dedent" -) - -func main() { - s := `Lorem ipsum dolor sit amet, - consectetur adipiscing elit. - Curabitur justo tellus, facilisis nec efficitur dictum, - fermentum vitae ligula. Sed eu convallis sapien.` - fmt.Println(dedent.Dedent(s)) - fmt.Println("-------------") - fmt.Println(s) -} -``` - -To illustrate the difference, here's the output: - - -```bash -$ go run main.go -Lorem ipsum dolor sit amet, -consectetur adipiscing elit. -Curabitur justo tellus, facilisis nec efficitur dictum, -fermentum vitae ligula. Sed eu convallis sapien. -------------- -Lorem ipsum dolor sit amet, - consectetur adipiscing elit. - Curabitur justo tellus, facilisis nec efficitur dictum, - fermentum vitae ligula. Sed eu convallis sapien. -``` - -## License - -MIT diff --git a/vendor/github.com/renstrom/dedent/dedent.go b/vendor/github.com/renstrom/dedent/dedent.go deleted file mode 100644 index f58dc47d5..000000000 --- a/vendor/github.com/renstrom/dedent/dedent.go +++ /dev/null @@ -1,56 +0,0 @@ -package dedent - -import ( - "regexp" - "strings" -) - -var whitespaceOnly = regexp.MustCompile("(?m)^[ \t]+$") -var leadingWhitespace = regexp.MustCompile("(?m)(^[ \t]*)") - -// Dedent removes any common leading whitespace from every line in s. -// -// This can be used to make multiline strings to line up with the left edge of -// the display, while still presenting them in the source code in indented -// form. -func Dedent(s string) string { - s = whitespaceOnly.ReplaceAllString(s, "") - margin := findMargin(s) - if len(margin) == 0 { - return s - } - return regexp.MustCompile("(?m)^"+margin).ReplaceAllString(s, "") -} - -// Look for the longest leading string of spaces and tabs common to all lines. -func findMargin(s string) string { - var margin string - - indents := leadingWhitespace.FindAllString(s, -1) - numIndents := len(indents) - for i, indent := range indents { - // Don't use last row if it is empty - if i == numIndents-1 && indent == "" { - break - } - - if margin == "" { - margin = indent - } else if strings.HasPrefix(indent, margin) { - // Current line more deeply indented than previous winner: - // no change (previous winner is still on top). - continue - } else if strings.HasPrefix(margin, indent) { - // Current line consistent with and no deeper than previous winner: - // it's the new winner. - margin = indent - } else { - // Current line and previous winner have no common whitespace: - // there is no margin. - margin = "" - break - } - } - - return margin -} |