Skip to content

Commit 412745d

Browse files
authored
Merge pull request #43 from hnw/rune-based-position
Fix to return rune-based position for parser.Position
2 parents 28e4fdf + e741fda commit 412745d

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

shellwords.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,10 @@ func (p *Parser) Parse(line string) ([]string, error) {
6565
pos := -1
6666
got := false
6767

68+
i := -1
6869
loop:
69-
for i, r := range line {
70+
for _, r := range line {
71+
i++
7072
if escaped {
7173
buf += string(r)
7274
escaped = false

shellwords_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -321,12 +321,12 @@ func TestHaveMore(t *testing.T) {
321321
parser := NewParser()
322322
parser.ParseEnv = true
323323

324-
line := "echo foo; seq 1 10"
324+
line := "echo 🍺; seq 1 10"
325325
args, err := parser.Parse(line)
326326
if err != nil {
327327
t.Fatalf(err.Error())
328328
}
329-
expected := []string{"echo", "foo"}
329+
expected := []string{"echo", "🍺"}
330330
if !reflect.DeepEqual(args, expected) {
331331
t.Fatalf("Expected %#v, but %#v:", expected, args)
332332
}

0 commit comments

Comments
 (0)