mirror of
https://github.com/caddyserver/caddy.git
synced 2025-12-08 06:09:53 +00:00
cmd: fmt: Fix brace opening block indentation (#3153)
This fixes indentation for blocks starting with
a brace as:
```Caddyfile
{
...
}
```
Fixes #3144
Signed-off-by: Vaibhav <vrongmeal@gmail.com>
This commit is contained in:
parent
b62f8e0582
commit
f192ae5ea5
2 changed files with 47 additions and 6 deletions
|
|
@ -43,6 +43,12 @@ func Format(body []byte) []byte {
|
|||
err error
|
||||
)
|
||||
|
||||
insertTabs := func(num int) {
|
||||
for tabs := num; tabs > 0; tabs-- {
|
||||
result.WriteRune('\t')
|
||||
}
|
||||
}
|
||||
|
||||
for {
|
||||
prev = curr
|
||||
curr = next
|
||||
|
|
@ -102,7 +108,7 @@ func Format(body []byte) []byte {
|
|||
if unicode.IsSpace(next) {
|
||||
indentation++
|
||||
|
||||
if !unicode.IsSpace(prev) {
|
||||
if !unicode.IsSpace(prev) && !lineBegin {
|
||||
result.WriteRune(' ')
|
||||
}
|
||||
} else {
|
||||
|
|
@ -114,10 +120,12 @@ func Format(body []byte) []byte {
|
|||
continue
|
||||
} else {
|
||||
lineBegin = false
|
||||
if indentation > 0 {
|
||||
for tabs := indentation; tabs > 0; tabs-- {
|
||||
result.WriteRune('\t')
|
||||
}
|
||||
if curr == '{' && unicode.IsSpace(next) {
|
||||
// If the block is global, i.e., starts with '{'
|
||||
// One less indentation for these blocks.
|
||||
insertTabs(indentation - 1)
|
||||
} else {
|
||||
insertTabs(indentation)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue