Skip to content

Commit

Permalink
doc: updated structure (no content yet)
Browse files Browse the repository at this point in the history
  • Loading branch information
rsteube committed Jul 26, 2023
1 parent da177aa commit 1c0763e
Show file tree
Hide file tree
Showing 25 changed files with 74 additions and 34 deletions.
58 changes: 29 additions & 29 deletions action.go
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,35 @@ func (a Action) Shift(n int) Action {
})
}

// Split splits `Context.Value` using a shell lexer and replaces `Context.Args` with the tokens.
func (a Action) Split() Action {
return ActionCallback(func(c Context) Action {
tokenset, err := lexer.Split(c.Value)
if err != nil {
return ActionMessage(err.Error())
}

c.Args = tokenset.Tokens[:len(tokenset.Tokens)-1]
c.Parts = []string{}
c.Value = tokenset.Tokens[len(tokenset.Tokens)-1]
invoked := a.Invoke(c)
for index, value := range invoked.rawValues {
if !invoked.meta.Nospace.Matches(value.Value) {
switch tokenset.State {
case lexer.OPEN_DOUBLE:
invoked.rawValues[index].Value = fmt.Sprintf(`"%v" `, strings.Replace(value.Value, `"`, `\"`, -1))
case lexer.OPEN_SINGLE:
invoked.rawValues[index].Value = fmt.Sprintf(`'%v' `, strings.Replace(value.Value, `'`, `'"'"'`, -1))
default:
invoked.rawValues[index].Value = strings.Replace(value.Value, ` `, `\ `, -1) + ` `
}
}
}
invoked.Prefix(tokenset.Prefix)
return invoked.ToA().NoSpace()
})
}

// Style sets the style.
//
// ActionValues("yes").Style(style.Green)
Expand Down Expand Up @@ -295,32 +324,3 @@ func (a Action) UsageF(f func() string) Action {
return a
})
}

// Split splits `Context.Value` using a shell lexer.
func (a Action) Split() Action {
return ActionCallback(func(c Context) Action {
tokenset, err := lexer.Split(c.Value)
if err != nil {
return ActionMessage(err.Error())
}

c.Args = tokenset.Tokens[:len(tokenset.Tokens)-1]
c.Parts = []string{}
c.Value = tokenset.Tokens[len(tokenset.Tokens)-1]
invoked := a.Invoke(c)
for index, value := range invoked.rawValues {
if !invoked.meta.Nospace.Matches(value.Value) {
switch tokenset.State {
case lexer.OPEN_DOUBLE:
invoked.rawValues[index].Value = fmt.Sprintf(`"%v" `, strings.Replace(value.Value, `"`, `\"`, -1))
case lexer.OPEN_SINGLE:
invoked.rawValues[index].Value = fmt.Sprintf(`'%v' `, strings.Replace(value.Value, `'`, `'"'"'`, -1))
default:
invoked.rawValues[index].Value = strings.Replace(value.Value, ` `, `\ `, -1) + ` `
}
}
}
invoked.Prefix(tokenset.Prefix)
return invoked.ToA().NoSpace()
})
}
28 changes: 24 additions & 4 deletions docs/src/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
# Summary

- [carapace](./carapace.md)
- [Introduction](./carapace/introduction.md)
- [Gen](./carapace/gen.md)
- [DashAnyCompletion](./carapace/gen/dashAnyCompletion.md)
- [DashCompletion](./carapace/gen/dashCompletion.md)
- [FlagCompletion](./carapace/gen/flagCompletion.md)
- [Hidden Subcommand](./carapace/gen/hiddenSubcommand.md)
- [PositionalAnyCompletion](./carapace/gen/positionalAnyCompletion.md)
- [PositionalCompletion](./carapace/gen/positionalCompletion.md)
- [FlagCompletion](./carapace/gen/flagCompletion.md)
- [DashCompletion](./carapace/gen/dashCompletion.md)
- [PreInvoke](./carapace/gen/preInvoke.md)
- [PreRun](./carapace/gen/preRun.md)
- [Snippet](./carapace/gen/snippet.md)
- [Standalone](./carapace/gen/standalone.md)
- [Action](./carapace/action.md)
- [Cache](./carapace/action/cache.md)
- [Chdir](./carapace/action/chdir.md)
Expand All @@ -28,10 +35,12 @@
- [Timeout](./carapace/action/timeout.md)
- [UniqueList](./carapace/action/uniqueList.md)
- [Usage](./carapace/action/usage.md)
- [UsageF](./carapace/action/usageF.md)
- [InvokedAction](./carapace/invokedAction.md)
- [Filter](./carapace/invokedAction/filter.md)
- [Merge](./carapace/invokedAction/merge.md)
- [Prefix](./carapace/invokedAction/prefix.md)
- [Retain](./carapace/invokedAction/retain.md)
- [Suffix](./carapace/invokedAction/suffix.md)
- [ToA](./carapace/invokedAction/toA.md)
- [ToMultiPartsA](./carapace/invokedAction/toMultiPartsA.md)
Expand All @@ -48,17 +57,28 @@
- [ActionMultiParts](./carapace/defaultActions/actionMultiParts.md)
- [ActionMultiPartsN](./carapace/defaultActions/actionMultiPartsN.md)
- [ActionPositional](./carapace/defaultActions/actionPositional.md)
- [ActionStyles](./carapace/defaultActions/actionStyles.md)
- [ActionStyleConfig](./carapace/defaultActions/actionStyleConfig.md)
- [ActionStyledValues](./carapace/defaultActions/actionStyledValues.md)
- [ActionStyledValuesDescribed](./carapace/defaultActions/actionStyledValuesDescribed.md)
- [ActionStyles](./carapace/defaultActions/actionStyles.md)
- [ActionValues](./carapace/defaultActions/actionValues.md)
- [ActionValuesDescribed](./carapace/defaultActions/actionValuesDescribed.md)
- [CustomActions](./carapace/customActions.md)
- [Context](./carapace/context.md)
- [Abs](./carapace/context/abs.md)
- [Command](./carapace/context/command.md)
- [Envsubst](./carapace/context/envSubst.md)
- [GetEnv](./carapace/context/getEnv.md)
- [LookupEnv](./carapace/context/lookupEnv.md)
- [SetEnv](./carapace/context/setEnv.md)
- [Batch](./carapace/batch.md)
- [Invoke](./carapace/batch/invoke.md)
- [ToA](./carapace/batch/ToA.md)
- [InvokedBatch](./carapace/invokedBatch.md)
- [Merge](./carapace/invokedBatch/merge.md)
- [Export](./carapace/export.md)
- [Group](./carapace/group.md)
- [Command](./carapace/command.md)
- [Group](./carapace/command/group.md)
- [Standalone](./carapace/standalone.md)
- [carapace-parse](./carapace/standalone/carapace-parse.md)
- [pflag](./carapace/standalone/pflag.md)
Expand Down
2 changes: 1 addition & 1 deletion docs/src/carapace/action/split.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Split

[`Split`] splits `Context.Value` using a shell lexer.
[`Split`] splits `Context.Value` using a shell lexer and replaces `Context.Args` with the tokens.

```go
carapace.ActionCallback(func(c carapace.Context) carapace.Action {
Expand Down
1 change: 1 addition & 0 deletions docs/src/carapace/action/usageF.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# UsageF
1 change: 1 addition & 0 deletions docs/src/carapace/batch/ToA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# ToA
1 change: 1 addition & 0 deletions docs/src/carapace/batch/invoke.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Invoke
1 change: 1 addition & 0 deletions docs/src/carapace/command.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Command
File renamed without changes.
File renamed without changes.
1 change: 1 addition & 0 deletions docs/src/carapace/context/abs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Abs
1 change: 1 addition & 0 deletions docs/src/carapace/context/command.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Command
1 change: 1 addition & 0 deletions docs/src/carapace/context/envSubst.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Envsubst
1 change: 1 addition & 0 deletions docs/src/carapace/context/getEnv.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# GetEnv
1 change: 1 addition & 0 deletions docs/src/carapace/context/lookupEnv.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# LookupEnv
1 change: 1 addition & 0 deletions docs/src/carapace/context/setEnv.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# SetEnv
1 change: 1 addition & 0 deletions docs/src/carapace/gen/dashAnyCompletion.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# DashAnyCompletion
1 change: 1 addition & 0 deletions docs/src/carapace/gen/positionalAnyCompletion.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# PositionalAnyCompletion
1 change: 1 addition & 0 deletions docs/src/carapace/gen/preInvoke.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# PreInvoke
1 change: 1 addition & 0 deletions docs/src/carapace/gen/preRun.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# PreRun
1 change: 1 addition & 0 deletions docs/src/carapace/gen/snippet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Snippet
1 change: 1 addition & 0 deletions docs/src/carapace/gen/standalone.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Standalone
1 change: 1 addition & 0 deletions docs/src/carapace/introduction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Introduction
1 change: 1 addition & 0 deletions docs/src/carapace/invokedAction/retain.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Retain
1 change: 1 addition & 0 deletions docs/src/carapace/invokedBatch.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# InvokedBatch
1 change: 1 addition & 0 deletions docs/src/carapace/invokedBatch/merge.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Merge

0 comments on commit 1c0763e

Please sign in to comment.