Chore: status line, linter complaints
This commit is contained in:
26
helpfuncs.go
26
helpfuncs.go
@@ -354,10 +354,15 @@ func makeStatusLine() string {
|
||||
}
|
||||
// Get model color based on load status for local llama.cpp models
|
||||
modelColor := getModelColor()
|
||||
statusLine := fmt.Sprintf(indexLineCompletion, boolColors[botRespMode], botRespMode, activeChatName,
|
||||
statusLine := fmt.Sprintf(statusLineTempl, boolColors[botRespMode], botRespMode, activeChatName,
|
||||
boolColors[cfg.ToolUse], cfg.ToolUse, modelColor, chatBody.Model, boolColors[cfg.SkipLLMResp],
|
||||
cfg.SkipLLMResp, cfg.CurrentAPI, boolColors[isRecording], isRecording, persona,
|
||||
botPersona, boolColors[injectRole], injectRole)
|
||||
botPersona)
|
||||
// completion endpoint
|
||||
if !strings.Contains(cfg.CurrentAPI, "chat") {
|
||||
roleInject := fmt.Sprintf(" | role injection [%s:-:b]%v[-:-:-] (alt+7)", boolColors[injectRole], injectRole)
|
||||
statusLine += roleInject
|
||||
}
|
||||
return statusLine + imageInfo + shellModeInfo
|
||||
}
|
||||
|
||||
@@ -741,7 +746,6 @@ func scanFiles(dir, filter string) []string {
|
||||
const maxDepth = 3
|
||||
const maxFiles = 50
|
||||
var files []string
|
||||
|
||||
var scanRecursive func(currentDir string, currentDepth int, relPath string)
|
||||
scanRecursive = func(currentDir string, currentDepth int, relPath string) {
|
||||
if len(files) >= maxFiles {
|
||||
@@ -750,39 +754,33 @@ func scanFiles(dir, filter string) []string {
|
||||
if currentDepth > maxDepth {
|
||||
return
|
||||
}
|
||||
|
||||
entries, err := os.ReadDir(currentDir)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
for _, entry := range entries {
|
||||
if len(files) >= maxFiles {
|
||||
return
|
||||
}
|
||||
|
||||
name := entry.Name()
|
||||
if strings.HasPrefix(name, ".") {
|
||||
continue
|
||||
}
|
||||
|
||||
fullPath := name
|
||||
if relPath != "" {
|
||||
fullPath = relPath + "/" + name
|
||||
}
|
||||
|
||||
if entry.IsDir() {
|
||||
// Recursively scan subdirectories
|
||||
scanRecursive(filepath.Join(currentDir, name), currentDepth+1, fullPath)
|
||||
} else {
|
||||
// Check if file matches filter
|
||||
if filter == "" || strings.HasPrefix(strings.ToLower(fullPath), strings.ToLower(filter)) {
|
||||
files = append(files, fullPath)
|
||||
}
|
||||
continue
|
||||
}
|
||||
// Check if file matches filter
|
||||
if filter == "" || strings.HasPrefix(strings.ToLower(fullPath), strings.ToLower(filter)) {
|
||||
files = append(files, fullPath)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
scanRecursive(dir, 0, "")
|
||||
return files
|
||||
}
|
||||
|
||||
20
main.go
20
main.go
@@ -5,16 +5,16 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
boolColors = map[bool]string{true: "green", false: "red"}
|
||||
botRespMode = false
|
||||
editMode = false
|
||||
roleEditMode = false
|
||||
injectRole = true
|
||||
selectedIndex = int(-1)
|
||||
shellMode = false
|
||||
thinkingCollapsed = false
|
||||
indexLineCompletion = "F12 to show keys help | llm turn: [%s:-:b]%v[-:-:-] (F6) | chat: [orange:-:b]%s[-:-:-] (F1) | toolUseAdviced: [%s:-:b]%v[-:-:-] (ctrl+k) | model: [%s:-:b]%s[-:-:-] (ctrl+l) | skip LLM resp: [%s:-:b]%v[-:-:-] (F10)\nAPI: [orange:-:b]%s[-:-:-] (ctrl+v) | recording: [%s:-:b]%v[-:-:-] (ctrl+r) | writing as: [orange:-:b]%s[-:-:-] (ctrl+q) | bot will write as [orange:-:b]%s[-:-:-] (ctrl+x) | role injection (alt+7) [%s:-:b]%v[-:-:-]"
|
||||
focusSwitcher = map[tview.Primitive]tview.Primitive{}
|
||||
boolColors = map[bool]string{true: "green", false: "red"}
|
||||
botRespMode = false
|
||||
editMode = false
|
||||
roleEditMode = false
|
||||
injectRole = true
|
||||
selectedIndex = int(-1)
|
||||
shellMode = false
|
||||
thinkingCollapsed = false
|
||||
statusLineTempl = "help (F12) | llm turn: [%s:-:b]%v[-:-:-] (F6) | chat: [orange:-:b]%s[-:-:-] (F1) |tool-use: [%s:-:b]%v[-:-:-] (ctrl+k) | model: [%s:-:b]%s[-:-:-] (ctrl+l) | skip LLM resp: [%s:-:b]%v[-:-:-] (F10)\nAPI: [orange:-:b]%s[-:-:-] (ctrl+v) | voice recording: [%s:-:b]%v[-:-:-] (ctrl+r) | writing as: [orange:-:b]%s[-:-:-] (ctrl+q) | bot will write as [orange:-:b]%s[-:-:-] (ctrl+x)"
|
||||
focusSwitcher = map[tview.Primitive]tview.Primitive{}
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
@@ -388,7 +388,7 @@ func showFileCompletionPopup(filter string) {
|
||||
app.SetFocus(widget)
|
||||
}
|
||||
|
||||
func updateWidgetColors(theme tview.Theme) {
|
||||
func updateWidgetColors(theme *tview.Theme) {
|
||||
bgColor := theme.PrimitiveBackgroundColor
|
||||
fgColor := theme.PrimaryTextColor
|
||||
borderColor := theme.BorderColor
|
||||
@@ -476,7 +476,7 @@ func showColorschemeSelectionPopup() {
|
||||
tview.Styles = theme
|
||||
go func() {
|
||||
app.QueueUpdateDraw(func() {
|
||||
updateWidgetColors(theme)
|
||||
updateWidgetColors(&theme)
|
||||
})
|
||||
}()
|
||||
}
|
||||
|
||||
@@ -1046,6 +1046,7 @@ func makeFilePicker() *tview.Flex {
|
||||
if bracketPos := strings.Index(itemText, " ["); bracketPos != -1 {
|
||||
actualItemName = itemText[:bracketPos]
|
||||
}
|
||||
// nolint: gocritic
|
||||
if strings.HasPrefix(actualItemName, "../") {
|
||||
targetDir = path.Dir(currentDisplayDir)
|
||||
} else if strings.HasSuffix(actualItemName, "/") {
|
||||
|
||||
Reference in New Issue
Block a user