mirror of
https://github.com/golang/go
synced 2024-11-19 05:04:43 -07:00
93dcc2f048
Folding ranges need to be computed to present folding ranges that make sense when lineFoldingOnly is true. This change computes the folding ranges to include the lines that are contained within the start and end parenthesis/braces when applicable. Folding ranges are not returned when the contained nodes begin or end on the same lines as the parenthesis/brace. This is to avoid misleading folding ranges like the following in unformatted code: if true { fmt.Println("true") } else { fmt.Println("false") } ---folding "if true {}"---> if true { fmt.Println("false") } Change-Id: I2931d02837ad5f2dd96cc93da5ede59afd6bcdce Reviewed-on: https://go-review.googlesource.com/c/tools/+/192678 Run-TryBot: Rebecca Stambler <rstambler@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rebecca Stambler <rstambler@golang.org>
31 lines
428 B
Go
31 lines
428 B
Go
package folding //@fold("package")
|
|
|
|
import (
|
|
"fmt"
|
|
_ "log"
|
|
)
|
|
|
|
import _ "os"
|
|
|
|
// bar is a function.
|
|
// With a multiline doc comment.
|
|
func bar() string {
|
|
switch {
|
|
case true:
|
|
if true {
|
|
fmt.Println("true")
|
|
} else {
|
|
fmt.Println("false")
|
|
}
|
|
case false:
|
|
fmt.Println("false")
|
|
default:
|
|
fmt.Println("default")
|
|
}
|
|
// This is a multiline comment
|
|
// that is not a doc comment.
|
|
return `
|
|
this string
|
|
is not indented`
|
|
}
|