Skip to content

Commit

Permalink
action: added FilterArgs and FilterParts
Browse files Browse the repository at this point in the history
- changed Filter argument to vararg
  • Loading branch information
rsteube committed Aug 3, 2023
1 parent 68bbfc3 commit 00852d8
Show file tree
Hide file tree
Showing 19 changed files with 335 additions and 27 deletions.
22 changes: 18 additions & 4 deletions action.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,10 +86,24 @@ func (a Action) ChdirF(f func(tc pkgtraverse.Context) (string, error)) Action {

// Filter filters given values.
//
// carapace.ActionValues("A", "B", "C").Filter([]string{"B"}) // ["A", "C"]
func (a Action) Filter(values []string) Action {
// carapace.ActionValues("A", "B", "C").Filter("B") // ["A", "C"]
func (a Action) Filter(values ...string) Action {
return ActionCallback(func(c Context) Action {
return a.Invoke(c).Filter(values).ToA()
return a.Invoke(c).Filter(values...).ToA()
})
}

// FilterArgs filters Context.Args
func (a Action) FilterArgs() Action {
return ActionCallback(func(c Context) Action {
return a.Filter(c.Args...)
})
}

// FilterArgs filters Context.Parts
func (a Action) FilterParts() Action {
return ActionCallback(func(c Context) Action {
return a.Filter(c.Parts...)
})
}

Expand Down Expand Up @@ -400,7 +414,7 @@ func (a Action) Timeout(d time.Duration, alternative Action) Action {
// UniqueList wraps the Action in an ActionMultiParts with given divider.
func (a Action) UniqueList(divider string) Action {
return ActionMultiParts(divider, func(c Context) Action {
return a.Invoke(c).Filter(c.Parts).ToA().NoSpace()
return a.FilterParts().NoSpace()
})
}

Expand Down
12 changes: 6 additions & 6 deletions action_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ func TestSkipCache(t *testing.T) {
ActionCallback(func(c Context) Action {
return ActionMessage("skipcache")
}).Invoke(c)).
Filter([]string{""}).
Filter("").
Prefix("").
Suffix("").
ToA()
Expand All @@ -100,7 +100,7 @@ func TestNoSpace(t *testing.T) {
ActionMultiParts("", func(c Context) Action {
return ActionMessage("nospace")
}).Invoke(c)).
Filter([]string{""}).
Filter("").
Prefix("").
Suffix("").
ToA()
Expand All @@ -123,7 +123,7 @@ func TestActionDirectories(t *testing.T) {
"pkg/", style.Of("fg-default", "bg-default", style.Blue, style.Bold),
"third_party/", style.Of("fg-default", "bg-default", style.Blue, style.Bold),
).NoSpace('/').Tag("directories").Invoke(Context{}),
ActionDirectories().Invoke(Context{Value: ""}).Filter([]string{"vendor/"}),
ActionDirectories().Invoke(Context{Value: ""}).Filter("vendor/"),
)

assertEqual(t,
Expand All @@ -135,7 +135,7 @@ func TestActionDirectories(t *testing.T) {
"pkg/", style.Of("fg-default", "bg-default", style.Blue, style.Bold),
"third_party/", style.Of("fg-default", "bg-default", style.Blue, style.Bold),
).NoSpace('/').Tag("directories").Invoke(Context{}).Prefix("./"),
ActionDirectories().Invoke(Context{Value: "./"}).Filter([]string{"./vendor/"}),
ActionDirectories().Invoke(Context{Value: "./"}).Filter("./vendor/"),
)

assertEqual(t,
Expand Down Expand Up @@ -165,7 +165,7 @@ func TestActionFiles(t *testing.T) {
"pkg/", style.Of("fg-default", "bg-default", style.Blue, style.Bold),
"third_party/", style.Of("fg-default", "bg-default", style.Blue, style.Bold),
).NoSpace('/').Tag("files").Invoke(Context{}),
ActionFiles(".md").Invoke(Context{Value: ""}).Filter([]string{"vendor/"}),
ActionFiles(".md").Invoke(Context{Value: ""}).Filter("vendor/"),
)

assertEqual(t,
Expand All @@ -176,7 +176,7 @@ func TestActionFiles(t *testing.T) {
"main.go", style.Of("fg-default", "bg-default"),
"main_test.go", style.Of("fg-default", "bg-default"),
).NoSpace('/').Tag("files").Invoke(Context{}).Prefix("example/"),
ActionFiles().Invoke(Context{Value: "example/"}).Filter([]string{"example/example"}),
ActionFiles().Invoke(Context{Value: "example/"}).Filter("example/example"),
)
}

Expand Down
2 changes: 1 addition & 1 deletion defaultActions.go
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@ func ActionStyleConfig() Action {
})
case 1:
return ActionMultiParts(",", func(c Context) Action {
return ActionStyles(c.Parts...).Invoke(c).Filter(c.Parts).ToA().NoSpace()
return ActionStyles(c.Parts...).Invoke(c).Filter(c.Parts...).ToA().NoSpace()
})
default:
return ActionValues()
Expand Down
2 changes: 2 additions & 0 deletions docs/src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
- [Chdir](./carapace/action/chdir.md)
- [ChdirF](./carapace/action/chdirF.md)
- [Filter](./carapace/action/filter.md)
- [FilterArgs](./carapace/action/filterArgs.md)
- [FilterParts](./carapace/action/filterParts.md)
- [Invoke](./carapace/action/invoke.md)
- [List](./carapace/action/list.md)
- [MultiParts](./carapace/action/multiParts.md)
Expand Down
2 changes: 1 addition & 1 deletion docs/src/carapace/action/filter.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ carapace.ActionValuesDescribed(
"2", "two",
"3", "three",
"4", "four",
).Filter([]string{"2", "4"})
).Filter("2", "4")
```

![](./filter.cast)
Expand Down
131 changes: 131 additions & 0 deletions docs/src/carapace/action/filterArgs.cast
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
{"version": 2, "width": 108, "height": 24, "timestamp": 1691080278, "env": {"SHELL": "elvish", "TERM": "tmux-256color"}}
[0.082843, "o", "\u001b[?7h\u001b[7m⏎\u001b[m \r \r\u001b[?7l\u001b[?2004h"]
[0.08353, "o", "\u001b[?25l\r???> ???> \r\u001b[5C\u001b[?25h\u001b[?25l\r\u001b[5C\u001b[K\r\u001b[5C\u001b[?25h"]
[0.099332, "o", "\u001b[?25l\r\r\u001b[5C\u001b[?25h\u001b[?25l\r\u001b[K\r\n\u001b[0;1;36mcarapace/example\u001b[0;m on \u001b[0;1;35m action-filter\u001b[0;m \u001b[0;1;31m[$!?]\u001b[0;m via \u001b[0;1;36m🐹 v1.20.6 \r\n\u001b[0;1;37mesh\u001b[0;m \u001b[0;1;32m❯\u001b[0;m \r\u001b[6C\u001b[?25h"]
[0.51724, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[0;31me\u001b[0;m\r\u001b[7C\u001b[?25h"]
[0.517716, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[7C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[7C\u001b[?25h"]
[0.534221, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[7C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[7C\u001b[?25h"]
[0.534414, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[7C\u001b[?25h"]
[0.68954, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[7C\u001b[0;31mx\u001b[0;m\r\u001b[8C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[8C\u001b[?25h"]
[0.823651, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[K\u001b[0;32mexa\u001b[0;m\r\u001b[9C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[9C\u001b[?25h"]
[0.925065, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[K\u001b[0;31mexam\u001b[0;m\r\u001b[10C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[10C\u001b[?25h"]
[0.959447, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[10C\u001b[0;31mp\u001b[0;m\r\u001b[11C\u001b[?25h"]
[0.959545, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[11C\u001b[?25h"]
[1.139069, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[11C\u001b[0;31ml\u001b[0;m\r\u001b[12C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[12C\u001b[?25h"]
[1.24924, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[K\u001b[0;32mexample\u001b[0;m\r\u001b[13C\u001b[?25h"]
[1.250402, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[13C\u001b[?25h"]
[1.250993, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[13C\u001b[?25h"]
[1.251965, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[13C\u001b[?25h"]
[1.25207, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[13C\u001b[?25h"]
[1.331976, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[13C \r\u001b[14C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[14C\u001b[?25h"]
[1.722869, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[14Cm\r\u001b[15C\u001b[?25h"]
[1.722939, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[15C\u001b[?25h"]
[1.77182, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[15Co\r\u001b[16C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[16C\u001b[?25h"]
[1.881458, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[16Cdifier \r\u001b[23C\u001b[?25h"]
[2.236164, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[23C-\r\u001b[24C\u001b[?25h"]
[2.236256, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[24C\u001b[?25h"]
[2.366244, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[24C-\r\u001b[25C\u001b[?25h"]
[2.366307, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[25C\u001b[?25h"]
[2.569906, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[25Cf\r\u001b[26C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[26C\u001b[?25h"]
[2.676738, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[26Ci\r\u001b[27C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[27C\u001b[?25h"]
[2.725302, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[27Cl\r\u001b[28C\u001b[?25h"]
[2.725408, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[28C\u001b[?25h"]
[2.887586, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[28Cter\r\u001b[31C\u001b[?25h"]
[3.296656, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[23C\u001b[K\u001b[0;4m--filter \r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7;34m--filter\u001b[0;2;7m (Filter())\u001b[0;m \u001b[0;34m--filterargs\u001b[0;2m (FilterArgs())\u001b[0;m \u001b[0;34m--filterparts\u001b[0;2m (FilterParts())\u001b[0;m\u001b[1A\r\u001b[22C\u001b[?25h"]
[4.148108, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[31C\u001b[K\u001b[0;4margs \r\n\r\n\u001b[0;m\u001b[K\u001b[0;34m--filter\u001b[0;2m (Filter())\u001b[0;m \u001b[0;7;34m--filterargs\u001b[0;2;7m (FilterArgs())\u001b[0;m \u001b[0;34m--filterparts\u001b[0;2m (FilterParts())\u001b[0;m\u001b[1A\r\u001b[22C\u001b[?25h"]
[4.456621, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[23C\u001b[K--filterargs \r\n\u001b[J\u001b[A\r\u001b[36C\u001b[?25h"]
[4.456666, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[36C\u001b[?25h"]
[4.819485, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[36C\u001b[0;4mone \r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7mone\u001b[0;m three two\u001b[1A\r\u001b[22C\u001b[?25h"]
[5.571394, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[36C\u001b[K\u001b[0;4mthree \r\n\r\n\u001b[0;m\u001b[Kone \u001b[0;7mthree\u001b[0;m two\u001b[1A\r\u001b[22C\u001b[?25h"]
[5.947624, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[37C\u001b[K\u001b[0;4mwo \r\n\r\n\u001b[5C\u001b[0;m\u001b[Kthree \u001b[0;7mtwo\u001b[0;m\u001b[1A\r\u001b[22C\u001b[?25h"]
[6.906531, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\r\n\u001b[1A\r\u001b[22C\u001b[?25h"]
[6.906608, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\r\n\u001b[1A\r\u001b[22C\u001b[?25h"]
[7.101044, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\r\n\u001b[1A\r\u001b[22C\u001b[?25h"]
[7.101149, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\r\n\u001b[1A\r\u001b[22C\u001b[?25h"]
[7.540131, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\r\n\u001b[1A\r\u001b[22C\u001b[?25h"]
[7.540211, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\r\n\u001b[1A\r\u001b[22C\u001b[?25h"]
[8.017748, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[36C\u001b[K\r\n\u001b[J\u001b[A\r\u001b[36C\u001b[?25h"]
[8.333587, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[35C\u001b[K\r\u001b[35C\u001b[?25h"]
[8.504602, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[34C\u001b[K\r\u001b[34C\u001b[?25h"]
[8.64329, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[33C\u001b[K\r\u001b[33C\u001b[?25h"]
[8.7951, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[32C\u001b[K\r\u001b[32C\u001b[?25h"]
[8.940472, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[31C\u001b[K\r\u001b[31C\u001b[?25h"]
[9.102937, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[30C\u001b[K\r\u001b[30C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[30C\u001b[?25h"]
[9.263461, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[29C\u001b[K\r\u001b[29C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[29C\u001b[?25h"]
[9.421295, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[28C\u001b[K\r\u001b[28C\u001b[?25h"]
[9.563985, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[27C\u001b[K\r\u001b[27C\u001b[?25h"]
[9.718051, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[26C\u001b[K\r\u001b[26C\u001b[?25h"]
[9.88858, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[25C\u001b[K\r\u001b[25C\u001b[?25h"]
[10.037164, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[24C\u001b[K\r\u001b[24C\u001b[?25h"]
[10.204707, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[23C\u001b[K\r\u001b[23C\u001b[?25h"]
[10.384287, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[23Co\r\u001b[24C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[24C\u001b[?25h"]
[10.513507, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[24Cn\r\u001b[25C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[25C\u001b[?25h"]
[10.586936, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[25Ce\r\u001b[26C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[26C\u001b[?25h"]
[10.75475, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[26C \r\u001b[27C\u001b[?25h"]
[10.754851, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[27C\u001b[?25h"]
[10.896976, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[27C-\r\u001b[28C\u001b[?25h"]
[10.897064, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[28C\u001b[?25h"]
[11.048213, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[28C-\r\u001b[29C\u001b[?25h"]
[11.048311, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[29C\u001b[?25h"]
[11.161215, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[29Cf\r\u001b[30C\u001b[?25h"]
[11.242127, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[30Ci\r\u001b[31C\u001b[?25h"]
[11.242226, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[31C\u001b[?25h"]
[11.324027, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[31Cl\r\u001b[32C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[32C\u001b[?25h"]
[11.537274, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[32Cter\r\u001b[35C\u001b[?25h"]
[11.924532, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[27C\u001b[K\u001b[0;4m--filter \r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7;34m--filter\u001b[0;2;7m (Filter())\u001b[0;m \u001b[0;34m--filterargs\u001b[0;2m (FilterArgs())\u001b[0;m \u001b[0;34m--filterparts\u001b[0;2m (FilterParts())\u001b[0;m\u001b[1A\r\u001b[22C\u001b[?25h"]
[12.56374, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[35C\u001b[K\u001b[0;4margs \r\n\r\n\u001b[0;m\u001b[K\u001b[0;34m--filter\u001b[0;2m (Filter())\u001b[0;m \u001b[0;7;34m--filterargs\u001b[0;2;7m (FilterArgs())\u001b[0;m \u001b[0;34m--filterparts\u001b[0;2m (FilterParts())\u001b[0;m\u001b[1A\r\u001b[22C\u001b[?25h"]
[12.890301, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[27C\u001b[K--filterargs \r\n\u001b[J\u001b[A\r\u001b[40C\u001b[?25h"]
[12.890385, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[40C\u001b[?25h"]
[13.143496, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[40Ct\r\u001b[41C\u001b[?25h"]
[13.530496, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[40C\u001b[K\u001b[0;4mthree \r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7mthree\u001b[0;m two\u001b[1A\r\u001b[22C\u001b[?25h"]
[13.53082, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\r\n\u001b[1A\r\u001b[22C\u001b[?25h"]
[13.531554, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\r\n\u001b[1A\r\u001b[22C\u001b[?25h"]
[13.531692, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\r\n\u001b[1A\r\u001b[22C\u001b[?25h"]
[14.819055, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[40C\u001b[Kt\r\n\u001b[J\u001b[A\r\u001b[41C\u001b[?25h"]
[15.260369, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[41C\u001b[?25h"]
[15.260646, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[41C\u001b[?25h"]
[15.424458, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[40C\u001b[K\r\u001b[40C\u001b[?25h"]
[15.55328, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[39C\u001b[K\r\u001b[39C\u001b[?25h"]
[15.716462, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[38C\u001b[K\r\u001b[38C\u001b[?25h"]
[15.880004, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[37C\u001b[K\r\u001b[37C\u001b[?25h"]
[16.027939, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[36C\u001b[K\r\u001b[36C\u001b[?25h"]
[16.171078, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[35C\u001b[K\r\u001b[35C\u001b[?25h"]
[16.311475, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[34C\u001b[K\r\u001b[34C\u001b[?25h"]
[16.461213, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[33C\u001b[K\r\u001b[33C\u001b[?25h"]
[16.601871, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[32C\u001b[K\r\u001b[32C\u001b[?25h"]
[16.746535, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[31C\u001b[K\r\u001b[31C\u001b[?25h"]
[16.890745, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[30C\u001b[K\r\u001b[30C\u001b[?25h"]
[17.030053, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[29C\u001b[K\r\u001b[29C\u001b[?25h"]
[17.183118, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[28C\u001b[K\r\u001b[28C\u001b[?25h"]
[17.326949, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[27C\u001b[K\r\u001b[27C\u001b[?25h"]
[17.749093, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[27Ct\r\u001b[28C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[28C\u001b[?25h"]
[17.83807, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[28Cw\r\u001b[29C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[29C\u001b[?25h"]
[17.933865, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[29Co\r\u001b[30C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[30C\u001b[?25h"]
[18.329518, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[30C \r\u001b[31C\u001b[?25h"]
[18.329584, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[31C\u001b[?25h"]
[18.445902, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[31C-\r\u001b[32C\u001b[?25h"]
[18.445979, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[32C\u001b[?25h"]
[18.569703, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[32C-\r\u001b[33C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[33C\u001b[?25h"]
[18.684891, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[33Cf\r\u001b[34C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[34C\u001b[?25h"]
[18.765799, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[34Ci\r\u001b[35C\u001b[?25h"]
[18.7659, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[35C\u001b[?25h"]
[18.868392, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[35Cl\r\u001b[36C\u001b[?25h"]
[18.868465, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[36C\u001b[?25h"]
[18.970671, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[36Cter\r\u001b[39C\u001b[?25h"]
[19.209788, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[31C\u001b[K\u001b[0;4m--filter \r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7;34m--filter\u001b[0;2;7m (Filter())\u001b[0;m \u001b[0;34m--filterargs\u001b[0;2m (FilterArgs())\u001b[0;m \u001b[0;34m--filterparts\u001b[0;2m (FilterParts())\u001b[0;m\u001b[1A\r\u001b[22C\u001b[?25h"]
[19.424769, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[39C\u001b[K\u001b[0;4margs \r\n\r\n\u001b[0;m\u001b[K\u001b[0;34m--filter\u001b[0;2m (Filter())\u001b[0;m \u001b[0;7;34m--filterargs\u001b[0;2;7m (FilterArgs())\u001b[0;m \u001b[0;34m--filterparts\u001b[0;2m (FilterParts())\u001b[0;m\u001b[1A\r\u001b[22C\u001b[?25h"]
[20.18151, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[31C\u001b[K--filterargs \r\n\u001b[J\u001b[A\r\u001b[44C\u001b[?25h"]
[20.181569, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[44C\u001b[?25h"]
[20.537282, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[44Cthree \r\u001b[50C\u001b[?25h"]
[20.537505, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[50C\u001b[?25h"]
[20.537639, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[50C\u001b[?25h"]
[22.570548, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[K\r\u001b[6C\u001b[?25h"]
[22.571582, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"]
[22.589133, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"]
[23.127108, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[0;31me\u001b[0;m\r\u001b[7C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[7C\u001b[?25h"]
[23.326407, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[7C\u001b[0;31mx\u001b[0;m\r\u001b[8C\u001b[?25h"]
[23.4593, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[8C\u001b[0;31mi\u001b[0;m\r\u001b[9C\u001b[?25h"]
[23.459343, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[9C\u001b[?25h"]
[23.568426, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[K\u001b[0;32mexit\u001b[0;m\r\u001b[10C\u001b[?25h"]
[23.568628, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[10C\u001b[?25h"]
[23.652474, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\n\r\u001b[?25h\u001b[?7h\u001b[?2004l\r"]
15 changes: 15 additions & 0 deletions docs/src/carapace/action/filterArgs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# FilterArgs

[`FilterArgs`] filters `Context.Args`.

```go
carapace.ActionValues(
"one",
"two",
"three",
).FilterArgs()
```

![](./filterArgs.cast)

[`FilterArgs`]: https://pkg.go.dev/github.com/rsteube/carapace#Action.FilterArgs
Loading

0 comments on commit 00852d8

Please sign in to comment.