Compare commits

..

No commits in common. "61c9e12a4af59fcdd5f7f9b746966febd6111d60" and "2fb481c4cbe44ec0cc99b7d07a29dc48b95fe016" have entirely different histories.

6 changed files with 1 additions and 70 deletions

14
api.go
View File

@ -28,7 +28,6 @@ var exports = map[string]lua.LGFunction {
"exec": hlexec, "exec": hlexec,
"runnerMode": hlrunnerMode, "runnerMode": hlrunnerMode,
"goro": hlgoro, "goro": hlgoro,
"highlighter": hlhighlighter,
"hinter": hlhinter, "hinter": hlhinter,
"multiprompt": hlmlprompt, "multiprompt": hlmlprompt,
"prependPath": hlprependPath, "prependPath": hlprependPath,
@ -518,16 +517,3 @@ func hlhinter(L *lua.LState) int {
return 0 return 0
} }
// highlighter(cb)
// Sets the highlighter function. This is mainly for syntax hightlighting, but in
// reality could set the input of the prompt to display anything. The callback
// is passed the current line as typed and is expected to return a line that will
// be used to display in the line.
// --- @param cb function
func hlhighlighter(L *lua.LState) int {
highlighterCb := L.CheckFunction(1)
highlighter = highlighterCb
return 0
}

View File

@ -16,11 +16,6 @@ exec(cmd) > Replaces running hilbish with `cmd`
goro(fn) > Puts `fn` in a goroutine goro(fn) > Puts `fn` in a goroutine
highlighter(cb) > Sets the highlighter function. This is mainly for syntax hightlighting, but in
reality could set the input of the prompt to display anything. The callback
is passed the current line as typed and is expected to return a line that will
be used to display in the line.
hinter(cb) > Sets the hinter function. This will be called on every key insert to determine hinter(cb) > Sets the hinter function. This will be called on every key insert to determine
what text to use as an inline hint. The callback is passed 2 arguments: what text to use as an inline hint. The callback is passed 2 arguments:
the current line and the position. It is expected to return a string the current line and the position. It is expected to return a string

View File

@ -33,13 +33,6 @@ function hilbish.exec(cmd) end
--- @param fn function --- @param fn function
function hilbish.goro(fn) end function hilbish.goro(fn) end
--- Sets the highlighter function. This is mainly for syntax hightlighting, but in
--- reality could set the input of the prompt to display anything. The callback
--- is passed the current line as typed and is expected to return a line that will
--- be used to display in the line.
--- @param cb function
function hilbish.highlighter(cb) end
--- Sets the hinter function. This will be called on every key insert to determine --- Sets the hinter function. This will be called on every key insert to determine
--- what text to use as an inline hint. The callback is passed 2 arguments: --- what text to use as an inline hint. The callback is passed 2 arguments:
--- the current line and the position. It is expected to return a string --- the current line and the position. It is expected to return a string

View File

@ -176,9 +176,3 @@ func (rl *Instance) deleteToBeginning() {
rl.line = rl.line[rl.pos:] rl.line = rl.line[rl.pos:]
rl.pos = 0 rl.pos = 0
} }
func (rl *Instance) deleteToEnd() {
rl.resetVirtualComp(false)
// Keep everything before the cursor
rl.line = rl.line[:rl.pos]
}

View File

@ -189,16 +189,6 @@ func (rl *Instance) Readline() (string, error) {
rl.resetHelpers() rl.resetHelpers()
rl.updateHelpers() rl.updateHelpers()
case charCtrlK:
if rl.modeTabCompletion {
rl.resetVirtualComp(true)
}
// Delete everything after the cursor position
rl.saveBufToRegister(rl.line[rl.pos:])
rl.deleteToEnd()
rl.resetHelpers()
rl.updateHelpers()
case charBackspace, charBackspace2: case charBackspace, charBackspace2:
// When currently in history completion, we refresh and automatically // When currently in history completion, we refresh and automatically
// insert the first (filtered) candidate, virtually // insert the first (filtered) candidate, virtually

29
rl.go
View File

@ -13,8 +13,7 @@ type lineReader struct {
rl *readline.Instance rl *readline.Instance
} }
var fileHist *fileHistory var fileHist *fileHistory
var hinter lua.LValue = lua.LNil var hinter lua.LValue
var highlighter lua.LValue = lua.LNil
// other gophers might hate this naming but this is local, shut up // other gophers might hate this naming but this is local, shut up
func newLineReader(prompt string, noHist bool) *lineReader { func newLineReader(prompt string, noHist bool) *lineReader {
@ -47,10 +46,6 @@ func newLineReader(prompt string, noHist bool) *lineReader {
hooks.Em.Emit("hilbish.vimAction", actionStr, args) hooks.Em.Emit("hilbish.vimAction", actionStr, args)
} }
rl.HintText = func(line []rune, pos int) []rune { rl.HintText = func(line []rune, pos int) []rune {
if hinter == lua.LNil {
return []rune{}
}
err := l.CallByParam(lua.P{ err := l.CallByParam(lua.P{
Fn: hinter, Fn: hinter,
NRet: 1, NRet: 1,
@ -69,28 +64,6 @@ func newLineReader(prompt string, noHist bool) *lineReader {
return []rune(hintText) return []rune(hintText)
} }
rl.SyntaxHighlighter = func(line []rune) string {
if highlighter == lua.LNil {
return string(line)
}
err := l.CallByParam(lua.P{
Fn: highlighter,
NRet: 1,
Protect: true,
}, lua.LString(string(line)))
if err != nil {
fmt.Println(err)
return string(line)
}
retVal := l.Get(-1)
highlighted := ""
if luaStr, ok := retVal.(lua.LString); retVal != lua.LNil && ok {
highlighted = luaStr.String()
}
return highlighted
}
rl.TabCompleter = func(line []rune, pos int, _ readline.DelayedTabContext) (string, []*readline.CompletionGroup) { rl.TabCompleter = func(line []rune, pos int, _ readline.DelayedTabContext) (string, []*readline.CompletionGroup) {
ctx := string(line) ctx := string(line)
var completions []string var completions []string