Skip to content

Commit c7fc3a1

Browse files
committed
feat: support dasel v3
Signed-off-by: Joseph Kato <joseph@jdkato.io>
1 parent 90c6cd9 commit c7fc3a1

File tree

8 files changed

+1924
-1636
lines changed

8 files changed

+1924
-1636
lines changed

go.mod

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,13 @@ require (
1919
github.com/niklasfasching/go-org v1.7.0
2020
github.com/olekukonko/tablewriter v0.0.5
2121
github.com/otiai10/copy v1.14.0
22-
github.com/pelletier/go-toml/v2 v2.2.3
22+
github.com/pelletier/go-toml/v2 v2.2.5-0.20250826075308-a0e846496753
2323
github.com/pterm/pterm v0.12.40
2424
github.com/remeh/sizedwaitgroup v1.0.0
2525
github.com/smacker/go-tree-sitter v0.0.0-20240827094217-dd81d9e9be82
2626
github.com/spf13/pflag v1.0.5
2727
github.com/tomwright/dasel/v2 v2.8.1
28+
github.com/tomwright/dasel/v3 v3.3.1
2829
github.com/yuin/goldmark v1.7.8
2930
golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8
3031
golang.org/x/net v0.47.0
@@ -39,20 +40,20 @@ require (
3940
github.com/Masterminds/goutils v1.1.1 // indirect
4041
github.com/Masterminds/semver/v3 v3.3.1 // indirect
4142
github.com/atomicgo/cursor v0.0.1 // indirect
43+
github.com/clipperhouse/stringish v0.1.1 // indirect
44+
github.com/clipperhouse/uax29/v2 v2.5.0 // indirect
4245
github.com/google/uuid v1.6.0 // indirect
4346
github.com/gookit/color v1.5.4 // indirect
4447
github.com/huandu/xstrings v1.5.0 // indirect
45-
github.com/mattn/go-runewidth v0.0.16 // indirect
48+
github.com/mattn/go-runewidth v0.0.19 // indirect
4649
github.com/mitchellh/copystructure v1.2.0 // indirect
4750
github.com/mitchellh/reflectwalk v1.0.2 // indirect
4851
github.com/montanaflynn/stats v0.7.1 // indirect
49-
github.com/rivo/uniseg v0.4.7 // indirect
5052
github.com/shopspring/decimal v1.4.0 // indirect
5153
github.com/spf13/cast v1.7.1 // indirect
52-
github.com/stretchr/testify v1.10.0 // indirect
5354
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
5455
golang.org/x/crypto v0.45.0 // indirect
55-
golang.org/x/sync v0.10.0 // indirect
56+
golang.org/x/sync v0.16.0 // indirect
5657
golang.org/x/term v0.37.0 // indirect
5758
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect
5859
gopkg.in/neurosnap/sentences.v1 v1.0.7 // indirect

go.sum

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ github.com/atomicgo/cursor v0.0.1 h1:xdogsqa6YYlLfM+GyClC/Lchf7aiMerFiZQn7soTOoU
2626
github.com/atomicgo/cursor v0.0.1/go.mod h1:cBON2QmmrysudxNBFthvMtN32r3jxVRIvzkUiF/RuIk=
2727
github.com/bmatcuk/doublestar/v4 v4.7.1 h1:fdDeAqgT47acgwd9bd9HxJRDmc9UAmPpc+2m0CXv75Q=
2828
github.com/bmatcuk/doublestar/v4 v4.7.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc=
29+
github.com/clipperhouse/stringish v0.1.1 h1:+NSqMOr3GR6k1FdRhhnXrLfztGzuG+VuFDfatpWHKCs=
30+
github.com/clipperhouse/stringish v0.1.1/go.mod h1:v/WhFtE1q0ovMta2+m+UbpZ+2/HEXNWYXQgCt4hdOzA=
31+
github.com/clipperhouse/uax29/v2 v2.5.0 h1:x7T0T4eTHDONxFJsL94uKNKPHrclyFI0lm7+w94cO8U=
32+
github.com/clipperhouse/uax29/v2 v2.5.0/go.mod h1:Wn1g7MK6OoeDT0vL+Q0SQLDz/KpfsVRgg6W7ihQeh4g=
2933
github.com/d5/tengo/v2 v2.17.0 h1:BWUN9NoJzw48jZKiYDXDIF3QrIVZRm1uV1gTzeZ2lqM=
3034
github.com/d5/tengo/v2 v2.17.0/go.mod h1:XRGjEs5I9jYIKTxly6HCF8oiiilk5E/RYXOZ5b0DZC8=
3135
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -41,8 +45,10 @@ github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHk
4145
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
4246
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
4347
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
44-
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
45-
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
48+
github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4=
49+
github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
50+
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
51+
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
4652
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
4753
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
4854
github.com/gookit/color v1.4.2/go.mod h1:fqRyamkC1W8uxl+lxCQxOT09l/vYfZ+QeiX3rKQHCoQ=
@@ -65,8 +71,8 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
6571
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
6672
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
6773
github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
68-
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
69-
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
74+
github.com/mattn/go-runewidth v0.0.19 h1:v++JhqYnZuu5jSKrk9RbgF5v4CGUjqRfBm05byFGLdw=
75+
github.com/mattn/go-runewidth v0.0.19/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs=
7076
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
7177
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
7278
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
@@ -85,8 +91,8 @@ github.com/otiai10/copy v1.14.0 h1:dCI/t1iTdYGtkvCuBG2BgR6KZa83PTclw4U5n2wAllU=
8591
github.com/otiai10/copy v1.14.0/go.mod h1:ECfuL02W+/FkTWZWgQqXPWZgW9oeKCSQ5qVfSc4qc4w=
8692
github.com/otiai10/mint v1.5.1 h1:XaPLeE+9vGbuyEHem1JNk3bYc7KKqyI/na0/mLd/Kks=
8793
github.com/otiai10/mint v1.5.1/go.mod h1:MJm72SBthJjz8qhefc4z1PYEieWmy8Bku7CjcAqyUSM=
88-
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
89-
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
94+
github.com/pelletier/go-toml/v2 v2.2.5-0.20250826075308-a0e846496753 h1:aTpyfgn3dz2npHl011BHQehdSavqjzhZdE6fJuJlO3A=
95+
github.com/pelletier/go-toml/v2 v2.2.5-0.20250826075308-a0e846496753/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=
9096
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
9197
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
9298
github.com/pterm/pterm v0.12.27/go.mod h1:PhQ89w4i95rhgE+xedAoqous6K9X+r6aSOI2eFF7DZI=
@@ -100,8 +106,6 @@ github.com/pterm/pterm v0.12.40/go.mod h1:ffwPLwlbXxP+rxT0GsgDTzS3y3rmpAO1NMjUkG
100106
github.com/remeh/sizedwaitgroup v1.0.0 h1:VNGGFwNo/R5+MJBf6yrsr110p0m4/OX4S3DCy7Kyl5E=
101107
github.com/remeh/sizedwaitgroup v1.0.0/go.mod h1:3j2R4OIe/SeS6YDhICBy22RWjJC5eNCJ1V+9+NVNYlo=
102108
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
103-
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
104-
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
105109
github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
106110
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
107111
github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ=
@@ -122,10 +126,12 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
122126
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
123127
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
124128
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
125-
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
126-
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
129+
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
130+
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
127131
github.com/tomwright/dasel/v2 v2.8.1 h1:mo5SlL0V2d3a0uPsD9Rrndn0cHWpbNDheB4+Fm++z8k=
128132
github.com/tomwright/dasel/v2 v2.8.1/go.mod h1:6bNDNAnmGEtGpuIvksuQwiNcAgQ87pmzndynsqTNglc=
133+
github.com/tomwright/dasel/v3 v3.3.1 h1:szLYe1mX0CgR2hnZs/s299ij7SUVU5gF5DBmCIwIY20=
134+
github.com/tomwright/dasel/v3 v3.3.1/go.mod h1:0YJkmcgt+s40MGFIgLXfiAzm89BD079r8QGRaERwBls=
129135
github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778/go.mod h1:2MuV+tbUrU1zIOPMxZ5EncGwgmMJsa+9ucAQZXxsObs=
130136
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no=
131137
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
@@ -137,8 +143,8 @@ golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0
137143
golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU=
138144
golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
139145
golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
140-
golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
141-
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
146+
golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw=
147+
golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
142148
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
143149
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
144150
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=

internal/core/view.go

Lines changed: 52 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
package core
22

33
import (
4+
"context"
45
"encoding/json"
56
"errors"
67
"fmt"
78
"os"
89
"regexp"
910

1011
"github.com/pelletier/go-toml/v2"
11-
"github.com/tomwright/dasel/v2"
12+
v2dasel "github.com/tomwright/dasel/v2"
13+
"github.com/tomwright/dasel/v3"
1214
"gopkg.in/yaml.v2"
1315
)
1416

@@ -72,7 +74,7 @@ func NewView(path string) (*View, error) {
7274
return &view, nil
7375
}
7476

75-
func (b *View) Apply(f *File) ([]ScopedValues, error) {
77+
func (b *View) ApplyV2(f *File) ([]ScopedValues, error) {
7678
found := []ScopedValues{}
7779

7880
value, err := fileToValue(f)
@@ -81,7 +83,7 @@ func (b *View) Apply(f *File) ([]ScopedValues, error) {
8183
}
8284

8385
for _, s := range b.Scopes {
84-
selected, verr := dasel.Select(value, s.Expr)
86+
selected, verr := v2dasel.Select(value, s.Expr)
8587
if verr != nil {
8688
return found, verr
8789
}
@@ -101,6 +103,53 @@ func (b *View) Apply(f *File) ([]ScopedValues, error) {
101103
return found, nil
102104
}
103105

106+
func (b *View) Apply(f *File) ([]ScopedValues, error) {
107+
found := []ScopedValues{}
108+
109+
value, err := fileToValue(f)
110+
if err != nil {
111+
return nil, err
112+
}
113+
114+
for _, s := range b.Scopes {
115+
selected, _, verr := dasel.Select(context.Background(), value, s.Expr)
116+
if verr != nil {
117+
// We failed; try to see if the old version of dasel can handle it.
118+
v2found, v2err := b.ApplyV2(f)
119+
if v2err != nil {
120+
// If the old version also fails, return the original error.
121+
return nil, verr
122+
}
123+
return v2found, nil
124+
}
125+
126+
if selectResults, ok := selected.([]any); ok {
127+
if len(selectResults) == 1 {
128+
if inner, iok := selectResults[0].([]any); iok {
129+
selectResults = inner
130+
}
131+
} else {
132+
return nil, fmt.Errorf("unexpected result type for scope %s: expected array, got %T", s.Name, selected)
133+
}
134+
135+
values := []string{}
136+
for _, v := range selectResults {
137+
if str, sok := v.(string); sok {
138+
values = append(values, str)
139+
}
140+
}
141+
142+
found = append(found, ScopedValues{
143+
Scope: s.Name,
144+
Values: values,
145+
Format: s.Type,
146+
})
147+
}
148+
}
149+
150+
return found, nil
151+
}
152+
104153
func fileToValue(f *File) (DaselValue, error) {
105154
var value DaselValue
106155

internal/lint/data.go

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,11 @@ func (l *Linter) lintScopedValues(f *core.File, values []core.ScopedValues) erro
4848
}
4949
seen[line] = i
5050

51-
f.SetText(v)
51+
if strings.Contains(line, "\\n") {
52+
f.SetText(strings.ReplaceAll(v, "\n", " "))
53+
} else {
54+
f.SetText(v)
55+
}
5256
f.SetNormedExt(match.Format)
5357

5458
switch match.Format {
@@ -69,7 +73,16 @@ func (l *Linter) lintScopedValues(f *core.File, values []core.ScopedValues) erro
6973
size := len(f.Alerts)
7074
if size != last {
7175
padding := strings.Index(line, v)
72-
f.Alerts = adjustPos(f.Alerts, last, i, padding)
76+
if strings.Count(v, "\n") > 0 {
77+
firstLine := strings.SplitN(v, "\n", 2)[0]
78+
padding = strings.Index(line, firstLine)
79+
if padding < 0 {
80+
// block scalar case - use indentation of matched line
81+
i-- // adjust for 1-based line numbers
82+
padding = strings.Index(line, strings.TrimSpace(line))
83+
}
84+
}
85+
f.Alerts = adjustPos(f.Alerts, last, i, padding, v, line)
7386
}
7487
last = size
7588
}

internal/lint/util.go

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,11 @@ func findBestLineBySubstring(s, sub string) (int, string) {
3838
func findLineBySubstring(s, sub string, seen map[string]int) (int, string) {
3939
lines := strings.Count(sub, "\n")
4040
if lines > 0 {
41-
sub = strings.Split(sub, "\n")[0]
41+
parts := strings.Split(sub, "\n")
42+
sub = parts[0]
43+
if len(parts) > 1 && parts[1] != "" {
44+
sub = parts[1]
45+
}
4246
}
4347

4448
for i, line := range strings.Split(s, "\n") {
@@ -67,13 +71,18 @@ func findLineBySubstring(s, sub string, seen map[string]int) (int, string) {
6771
return -1, ""
6872
}
6973

70-
func adjustPos(alerts []core.Alert, last, line, padding int) []core.Alert {
74+
func adjustPos(alerts []core.Alert, last, line, padding int, v, rv string) []core.Alert {
7175
for i := range alerts {
7276
if i >= last {
7377
alerts[i].Line += line - 1
78+
extra := 0
79+
if strings.Count(v, "\n") > 0 && strings.Contains(rv, "\\n") {
80+
pos := alerts[i].Span[0] - 1
81+
extra = strings.Count(v[:pos], "\n")
82+
}
7483
alerts[i].Span = []int{
75-
alerts[i].Span[0] + padding,
76-
alerts[i].Span[1] + padding,
84+
alerts[i].Span[0] + padding + extra,
85+
alerts[i].Span[1] + padding + extra,
7786
}
7887
}
7988
}

testdata/features/views.feature

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ Feature: Views
77
API.yml:3:10:Scopes.Titles:'sample API' should be capitalized
88
API.yml:4:25:Vale.Spelling:Did you really mean 'multiline'?
99
API.yml:9:70:Vale.Spelling:Did you really mean 'serrver'?
10-
API.yml:13:17:Vale.Spelling:Did you really mean 'serrver'?
10+
API.yml:13:24:Vale.Spelling:Did you really mean 'serrver'?
1111
API.yml:15:70:Vale.Spelling:Did you really mean 'serrver'?
1212
Petstore.yaml:15:18:Vale.Spelling:Did you really mean 'Petstore'?
1313
Petstore.yaml:29:28:Vale.Spelling:Did you really mean 'Petstore'?
14-
Petstore.yaml:407:8:Vale.Spelling:Did you really mean 'nonintegers'?
14+
Petstore.yaml:407:17:Vale.Spelling:Did you really mean 'nonintegers'?
1515
Rule.yml:3:39:Vale.Repetition:'can' is repeated!
1616
ansible.yml:3:13:Scopes.Titles:'reusing Code with Ansible Roles and Coent Collections' should be capitalized
1717
ansible.yml:3:31:Vale.Spelling:Did you really mean 'Ansible'?
@@ -22,12 +22,17 @@ Feature: Views
2222
ansible.yml:5:103:Vale.Spelling:Did you really mean 'Ansible'?
2323
ansible.yml:13:28:Vale.Spelling:Did you really mean 'purose'?
2424
ansible.yml:13:41:Vale.Spelling:Did you really mean 'Ansible'?
25-
github-workflow.json:14:24:Vale.Spelling:Did you really mean 'pull_request'?
26-
github-workflow.json:213:222:Vale.Spelling:Did you really mean 'env'?
27-
github-workflow.json:335:24:Vale.Spelling:Did you really mean 'pull_request'?
28-
github-workflow.json:494:264:Vale.Spelling:Did you really mean 'prereleased'?
29-
github-workflow.json:568:83:Vale.Spelling:Did you really mean 'job_id'?
30-
github-workflow.json:652:83:Vale.Spelling:Did you really mean 'job_id'?
25+
github-workflow.json:18:53:Vale.Spelling:Did you really mean 'pull_request'?
26+
github-workflow.json:228:228:Vale.Spelling:Did you really mean 'env'?
27+
github-workflow.json:258:83:Vale.Spelling:Did you really mean 'repo'?
28+
github-workflow.json:356:53:Vale.Spelling:Did you really mean 'pull_request'?
29+
github-workflow.json:497:213:Vale.Spelling:Did you really mean 'INPUT_'?
30+
github-workflow.json:543:293:Vale.Spelling:Did you really mean 'prereleased'?
31+
github-workflow.json:617:89:Vale.Spelling:Did you really mean 'job_id'?
32+
github-workflow.json:717:89:Vale.Spelling:Did you really mean 'job_id'?
33+
github-workflow.json:902:164:Vale.Spelling:Did you really mean 'redis'?
34+
github-workflow.json:902:618:Vale.Spelling:Did you really mean 'hostname'?
35+
github-workflow.json:902:632:Vale.Spelling:Did you really mean 'hostname'?
3136
test.java:13:38:vale.Annotations:'XXX' left in text
3237
test.py:1:3:vale.Annotations:'FIXME' left in text
3338
test.py:11:3:vale.Annotations:'XXX' left in text

0 commit comments

Comments
 (0)