Remove any common leading whitespace from multiline strings
See the codeRemoves common leading whitespace from multiline strings. Inspired by textwrap.dedent in Python.
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.
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:
$ 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.
MIT
328 followers · starred Aug 2018
33 followers · starred Nov 2023
17 followers · starred Sep 2025
Remove any common leading whitespace from multiline strings
See the codeRemoves common leading whitespace from multiline strings. Inspired by textwrap.dedent in Python.
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.
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:
$ 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.
MIT
328 followers · starred Aug 2018
33 followers · starred Nov 2023
17 followers · starred Sep 2025