https://github.com/lithammer/dedent
Remove any common leading whitespace from multiline strings
https://github.com/lithammer/dedent
dedent go
Last synced: about 1 year ago
JSON representation
Remove any common leading whitespace from multiline strings
- Host: GitHub
- URL: https://github.com/lithammer/dedent
- Owner: lithammer
- License: mit
- Created: 2015-03-25T16:15:22.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2024-06-01T11:25:25.000Z (about 2 years ago)
- Last Synced: 2025-04-09T07:03:55.670Z (about 1 year ago)
- Topics: dedent, go
- Language: Go
- Homepage: https://pkg.go.dev/github.com/lithammer/dedent
- Size: 43 KB
- Stars: 109
- Watchers: 4
- Forks: 10
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Dedent
[](https://github.com/lithammer/dedent/actions)
[](https://godoc.org/github.com/lithammer/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/lithammer/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