Compare commits

..

6 Commits

4 changed files with 15 additions and 6 deletions

View File

@ -16,6 +16,9 @@ completed.
- Example: `hilbish.alias('hello', 'echo %1 says hello')` allows the user to run `hello hilbish` - Example: `hilbish.alias('hello', 'echo %1 says hello')` allows the user to run `hello hilbish`
which will output `hilbish says hello`. which will output `hilbish says hello`.
### Fixed
- Return the prefix when calling `hilbish.completions.call`
[#219]: https://github.com/Rosettea/Hilbish/issues/219 [#219]: https://github.com/Rosettea/Hilbish/issues/219
### Fixed ### Fixed
- Replaced `sed` in-place editing with `grep` and `mv` for compatibility with BSD utils - Replaced `sed` in-place editing with `grep` and `mv` for compatibility with BSD utils

View File

@ -51,6 +51,11 @@ func (a *aliasModule) Resolve(cmdstr string) string {
arg, _ := regexp.Compile(`[\\]?%\d+`) arg, _ := regexp.Compile(`[\\]?%\d+`)
args, _ := splitInput(cmdstr) args, _ := splitInput(cmdstr)
if len(args) == 0 {
// this shouldnt reach but...????
return cmdstr
}
for a.aliases[args[0]] != "" { for a.aliases[args[0]] != "" {
alias := a.aliases[args[0]] alias := a.aliases[args[0]]
alias = arg.ReplaceAllStringFunc(alias, func(a string) string { alias = arg.ReplaceAllStringFunc(alias, func(a string) string {

View File

@ -253,15 +253,16 @@ func callLuaCompleter(t *rt.Thread, c *rt.GoCont) (rt.Cont, error) {
} }
// we must keep the holy 80 cols // we must keep the holy 80 cols
completerReturn, err := rt.Call1(l.MainThread(), cont := c.Next()
rt.FunctionValue(completecb), rt.StringValue(query), err = rt.Call(l.MainThread(), rt.FunctionValue(completecb),
rt.StringValue(ctx), rt.TableValue(fields)) []rt.Value{rt.StringValue(query), rt.StringValue(ctx), rt.TableValue(fields)},
cont)
if err != nil { if err != nil {
return nil, err return nil, err
} }
return c.PushingNext1(t.Runtime, completerReturn), nil return cont, nil
} }
// #interface completions // #interface completions

View File

@ -13,8 +13,8 @@ is that it runs Lua first and then falls back to shell script.
In some cases, someone might want to switch to just shell script to avoid In some cases, someone might want to switch to just shell script to avoid
it while interactive but still have a Lua config, or go full Lua to use it while interactive but still have a Lua config, or go full Lua to use
Hilbish as a REPL. This also allows users to add alternative languages, Hilbish as a REPL. This also allows users to add alternative languages like
instead of either like Fennel. Fennel as the interactive script runner.
Runner mode can also be used to handle specific kinds of input before Runner mode can also be used to handle specific kinds of input before
evaluating like normal, which is how [Link.hsh](https://github.com/TorchedSammy/Link.hsh) evaluating like normal, which is how [Link.hsh](https://github.com/TorchedSammy/Link.hsh)