# BEGIN comment here
#
# RUN
# ack command line(s)
# They should NOT be shell-escaped. Args are split on whitespace before
# being passed in to ack.
#
# YESLINES
# Lines that should match with underlines shown
# ^^^^^^^^^^
# YES
# Lines that should match, but without the underlines.
#
# NO
# Lines that should not match.
#
# END
#
# Blank lines are always ignored.
BEGIN Straight -w
RUN
ack -w foo
YES
foo
foo bar
NO
foobar
foot
underfoot
YESLINES
foo-foo football
^^^ ^^^
foo
^^^
End of the line foo
^^^
I pity da foo'.
^^^
END
BEGIN optional character
RUN
ack foot?
YES
foo
foot
Trampled underfoot
foobarf
foo-bar
foo-bart
football
YESLINES
Our ten-foot foo-bird is foobar.
^^^^ ^^^ ^^^
END
BEGIN -w and optional character
RUN
ack -w foot?
ack -w (foot?)
ack -w (?:foot?)
NO
Trampled underfoot
football
foolish
YES
foo
foot
foo-bar
foot-bar
YESLINES
foo
^^^
By the foot
^^^^
I pity da foo'.
^^^
Our ten-foot foo-bird is foobar.
^^^^ ^^^
END
BEGIN -w and optional group
RUN
ack -w foo(bar)?
YES
foo
foobar
foo-bar
foo-bart
NO
Trampled underfoot
foobarf
YESLINES
foobar
^^^^^^
x foobar x
^^^^^^
I pity da foo'.
^^^
Now everything's all foobar.
^^^^^^
END
BEGIN -w and alternation
RUN
ack -w foo|bar
ack -w (foo|bar)
YES
foo
bar
NO
schmfoo
schmofool
barfly
fubar
barometric
subarometric
YESLINES
Little bunny foo-foo's ten-foot bar is foobar.
^^^ ^^^ ^^^
END
BEGIN -w and a function definition
RUN
ack -w (set|get)_user_(name|perm)
ack -w ((set|get)_user_(name|perm))
ack -w (?:(?:set|get)_user_(?:name|perm))
ack -w (?:(set|get)_user_(name|perm))
ack -w ((?:set|get)_user_(?:name|perm))
YES
set_user_name
get_user_perm
NO
reset_user_name
get_user_permission
YESLINES
my $foo = set_user_name( $bar ) + set_user_perm( $foo );
^^^^^^^^^^^^^ ^^^^^^^^^^^^^
END
BEGIN Single-letter words
RUN
ack -w \w
YES
A
b
c
!E!
NO
dd
xxx
YESLINES
A man, a plan, a canal: Panama
^ ^ ^
END
# vi:set ft=barfly: