diff options
| author | Paul Buetow <paul@buetow.org> | 2025-09-07 11:26:10 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-09-07 11:26:10 +0300 |
| commit | 8889949ad3851bfbf36ff5b73128286d67c88201 (patch) | |
| tree | 0f515ae6ee3da898dea113799c09e943f3e3f8fb | |
| parent | 7c0266e94378f6121719939c6d53915eb72eed3e (diff) | |
tiding up
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | AGENTS.md | 2 | ||||
| -rw-r--r-- | Magefile.go | 62 | ||||
| -rw-r--r-- | PROJECTSTATUS.md | 17 | ||||
| -rw-r--r-- | README.md | 65 | ||||
| -rw-r--r-- | cmd/internal/hexai-action/main.go | 196 | ||||
| -rw-r--r-- | cmd/internal/hexai-action/main_test.go | 357 | ||||
| -rw-r--r-- | docs/configuration.md | 33 | ||||
| -rw-r--r-- | docs/coverage.html | 513 | ||||
| -rw-r--r-- | docs/coverage.out | 6525 | ||||
| -rw-r--r-- | docs/usage.md | 8 | ||||
| -rw-r--r-- | internal/appconfig/config_test.go | 31 | ||||
| -rw-r--r-- | internal/hexaiaction/tui_test.go | 21 |
13 files changed, 6724 insertions, 1107 deletions
@@ -8,4 +8,5 @@ /docs/coverage/ /docs/*.out /docs/*.html +/llminputs llm.out @@ -10,7 +10,7 @@ - Avoid duplication of code when the functions are larger than 5 lines. - If possible, construct individual methods so that they can be unit tested. But only if it doesn't add too much boilerplate to the code base. -- Aim for at least 85% unit test coverage of all source code. +- Aim for at least 85% unit test coverage of all source code. The command to check the coverage is "mage coverage" - Ensure that all unit tests pass before commiting any changes. - Always run the gofumpt code reformatter on all go files modified. - There should be no source code file larger than 1000 lines. If so, split it up into multiple. diff --git a/Magefile.go b/Magefile.go index dedb72c..bd55ef6 100644 --- a/Magefile.go +++ b/Magefile.go @@ -17,16 +17,16 @@ import ( ) var ( - Default = Build // Default target: build all binaries. - coverageThreshold float64 = 85 - coveragePrinted = make(chan struct{}, 1) + Default = Build // Default target: build all binaries. + coverageThreshold float64 = 85 + coveragePrinted = make(chan struct{}, 1) ) // Build builds the Hexai LSP and CLI binaries. func Build() error { - mg.Deps(BuildHexaiLSP, BuildHexaiCLI, BuildHexaiAction) - printCoverage() - return nil + mg.Deps(BuildHexaiLSP, BuildHexaiCLI, BuildHexaiAction) + printCoverage() + return nil } // BuildHexaiLSP builds the LSP server binary. @@ -37,27 +37,27 @@ func BuildHexaiLSP() error { // BuildHexaiCLI builds the CLI binary. func BuildHexaiCLI() error { - printCoverage() - return sh.RunV("go", "build", "-o", "hexai", "cmd/hexai/main.go") + printCoverage() + return sh.RunV("go", "build", "-o", "hexai", "cmd/hexai/main.go") } // BuildHexaiAction builds the hexai-action TUI binary. func BuildHexaiAction() error { - printCoverage() - return sh.RunV("go", "build", "-o", "hexai-action", "cmd/internal/hexai-action/main.go") + printCoverage() + return sh.RunV("go", "build", "-o", "hexai-action", "cmd/internal/hexai-action/main.go") } // Dev runs tests, vet, lint, then builds with race for both binaries. func Dev() error { - printCoverage() - mg.Deps(Test, Vet, Lint) - if err := sh.RunV("go", "build", "-race", "-o", "hexai-lsp", "cmd/hexai-lsp/main.go"); err != nil { - return err - } - if err := sh.RunV("go", "build", "-race", "-o", "hexai", "cmd/hexai/main.go"); err != nil { - return err - } - return sh.RunV("go", "build", "-race", "-o", "hexai-action", "cmd/internal/hexai-action/main.go") + printCoverage() + mg.Deps(Test, Vet, Lint) + if err := sh.RunV("go", "build", "-race", "-o", "hexai-lsp", "cmd/hexai-lsp/main.go"); err != nil { + return err + } + if err := sh.RunV("go", "build", "-race", "-o", "hexai", "cmd/hexai/main.go"); err != nil { + return err + } + return sh.RunV("go", "build", "-race", "-o", "hexai-action", "cmd/internal/hexai-action/main.go") } // Run launches the LSP server via go run (useful during development). @@ -77,8 +77,8 @@ func RunCLI() error { // Install copies built binaries to GOPATH/bin (defaults to ~/go/bin when GOPATH is unset). func Install() error { - printCoverage() - mg.Deps(Build) + printCoverage() + mg.Deps(Build) gopath := os.Getenv("GOPATH") if gopath == "" { home, err := os.UserHomeDir() @@ -91,20 +91,20 @@ func Install() error { if err := os.MkdirAll(bin, 0o755); err != nil { return err } - if err := sh.RunV("cp", "-v", "./hexai-lsp", bin+"/"); err != nil { - return err - } - if err := sh.RunV("cp", "-v", "./hexai", bin+"/"); err != nil { - return err - } - return sh.RunV("cp", "-v", "./hexai-action", bin+"/") + if err := sh.RunV("cp", "-v", "./hexai-lsp", bin+"/"); err != nil { + return err + } + if err := sh.RunV("cp", "-v", "./hexai", bin+"/"); err != nil { + return err + } + return sh.RunV("cp", "-v", "./hexai-action", bin+"/") } // RunAction runs the hexai-action TUI via go run (reads stdin). func RunAction() error { - printCoverage() - mg.Deps(Dev) - return sh.RunV("go", "run", "cmd/internal/hexai-action/main.go") + printCoverage() + mg.Deps(Dev) + return sh.RunV("go", "run", "cmd/internal/hexai-action/main.go") } // printCoverage prints a warning if an existing coverage profile shows total < coverateThreshold. diff --git a/PROJECTSTATUS.md b/PROJECTSTATUS.md index 5959f31..18b0278 100644 --- a/PROJECTSTATUS.md +++ b/PROJECTSTATUS.md @@ -18,11 +18,26 @@ Or maybe C-p = ":sh hexai-action" ``` - And then generate a menu with all the code actions hexai-lsp knows of and include hotkeys for each menu item! Also print out a notice that this is a work-around due to limitations in Helix's current LSP UI. ### More features +* [ ] Kagi FastGPT for in-editor search + - Think about an in-editor chat trigger, maybe with S> for search! +* [ ] Test whethe GitHub Copilot support actually works now, and if not, fix it! + +> It looks like your message is: + +``` +- >foo bar baz? +``` + +Could you clarify what you mean or what you’re asking for? +- If you’re asking about the syntax, `>foo bar baz` is not standard in most programming languages. +- If you’re referencing a command-line or shell prompt, `foo bar baz` could be a command (`foo`) with arguments (`bar` and `baz`). +- If you’re asking about a specific language or context, please provide more details so I can help you better! + + * [/] implement a code action for selected code block the way via a unix pipe as faster access in helix - pipe selected code to external command and replace selection with output - the external command should open a menu to select an action (e.g. "format", "refactor", "explain", "test", etc.) and then apply it to the selected code @@ -5,6 +5,7 @@ Hexai, the AI addition for your Helix Editor (https://helix-editor.com) .. Other editors should work but weren't tested. It has got improved capabilities for Go code understanding (for example, create unit tests from function), but other programming language work as well. + ## Features * LSP Code auto-completion @@ -29,6 +30,7 @@ Hexai uses Mage for developer tasks. Install Mage, then run targets like build, - Dev build (+ tests, vet, lint): `mage dev` - Run tests: `mage test` - Run tests with coverage: `go test ./... -cover` +- Full cross-package coverage and HTML report: `mage coverage` (writes `docs/coverage.html`) - In restricted sandboxes/CI (no sockets), skip network-based tests: - `HEXAI_TEST_SKIP_NET=1 go test ./... -cover` - Install binaries to `GOPATH/bin`: `mage install` @@ -41,64 +43,5 @@ Either use the Mage method as mentioned above, or install directly with: - CLI: `go install codeberg.org/snonux/hexai/cmd/hexai@latest` - LSP: `go install codeberg.org/snonux/hexai/cmd/hexai-lsp@latest` - -For `hexai-action`, use Mage or a local build: - -- Build locally: `go build -o hexai-action cmd/internal/hexai-action/main.go` -- Or via Mage: `mage buildHexaiAction` (or `mage build`) -- Install: `mage install` (copies `hexai-action` to `GOPATH/bin` together with other binaries) - -## Hexai Action (TUI) - -`hexai-action` is a small TUI to run Hexai code actions from stdin. It loads the same `config.toml` as `hexai` and `hexai-lsp` (XDG path: `~/.config/hexai/config.toml`), and respects the same environment overrides. - -- Pipe code (and optionally diagnostics) into the tool. -- Select an action with arrow keys, vi keys (`j/k`, `g/G`), Enter, or hotkeys `[s] [r] [d] [c] [t]`. -- The tool prints the transformed text to stdout. - -Input formats - -- Rewrite: include an inline instruction near the top of the selection using one of: - - `;do something;` - - `/* do something */` - - `<!-- do something -->` - - `// do something` (or `#`, `--`) - -- Diagnostics (optional block): - - Begin with a header line `Diagnostics:` (case-insensitive), one diagnostic per line, blank line, then the code selection. - -Examples - -- Rewrite selection: - -``` -;replace fmt.Println with log.Println; -package main - -import "fmt" - -func main() { fmt.Println("hi") } -``` - -- Diagnostics + selection: - -``` -Diagnostics: -missing return at end of function -use of undefined: foo - -func f() int { - foo() -} -``` - -Run: - -- `cat input.go | ./hexai-action` -- or `./hexai-action < input.go` -- or with files: `./hexai-action --infile input.go --outfile output.go` - -Flags - -- `--infile` Read input from the given file instead of stdin. -- `--outfile` Write output to the given file instead of stdout (truncates/creates). +- Action runner: `go install codeberg.org/snonux/hexai/cmd/hexai-action@latest` +Install: `mage install` (copies `hexai-action` to `GOPATH/bin` together with other binaries) diff --git a/cmd/internal/hexai-action/main.go b/cmd/internal/hexai-action/main.go index 8bcc3cd..b8ba524 100644 --- a/cmd/internal/hexai-action/main.go +++ b/cmd/internal/hexai-action/main.go @@ -6,24 +6,62 @@ import ( "fmt" "io" "os" + "path/filepath" + "time" "codeberg.org/snonux/hexai/internal/hexaiaction" + "codeberg.org/snonux/hexai/internal/tmux" + "golang.org/x/term" ) func main() { infile := flag.String("infile", "", "Read input from this file instead of stdin") outfile := flag.String("outfile", "", "Write output to this file instead of stdout") + // Tmux/UI flags + forceTmux := flag.Bool("tmux", false, "Force running the UI in a tmux split-pane (auto if not set)") + noTmux := flag.Bool("no-tmux", false, "Disable tmux mode even if available") + uiChild := flag.Bool("ui-child", false, "INTERNAL: run interactive UI and write to -outfile atomically") + tmuxTarget := flag.String("tmux-target", "", "tmux split target (advanced)") + tmuxSplit := flag.String("tmux-split", "v", "tmux split orientation: v or h") + tmuxPercent := flag.Int("tmux-percent", 33, "tmux split size percentage (1-100)") flag.Parse() - in, out, closeIn, closeOut, err := openIO(*infile, *outfile) - if err != nil { - fmt.Fprintln(os.Stderr, err) - os.Exit(1) + // Child mode: run TUI and write atomically to -outfile + if *uiChild { + if err := runChild(*infile, *outfile); err != nil { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + } + return + } + + // Parent mode: decide inline vs tmux + if shouldRunInTmux(*forceTmux, *noTmux) { + if err := runInTmuxParent(*tmuxTarget, *tmuxSplit, *tmuxPercent); err != nil { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + } + return } - defer closeIn() - defer closeOut() - if err := hexaiaction.Run(context.Background(), in, out, os.Stderr); err != nil { + // Inline path: only if we have a TTY for UI; otherwise echo input + if isTTY(os.Stdout.Fd()) && isTTY(os.Stdin.Fd()) { + in, out, closeIn, closeOut, err := openIO(*infile, *outfile) + if err != nil { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + } + defer closeIn() + defer closeOut() + if err := hexaiactionRun(context.Background(), in, out, os.Stderr); err != nil { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + } + return + } + + // Fallback: no TTY and tmux not available; echo input to output + if err := echoThrough(*infile, *outfile); err != nil { fmt.Fprintln(os.Stderr, err) os.Exit(1) } @@ -54,3 +92,147 @@ func openIO(infile, outfile string) (io.Reader, io.Writer, func(), func(), error } return in, out, closeIn, closeOut, nil } + +// runChild runs the interactive flow and writes the final output atomically to outfile. +var hexaiactionRun = hexaiaction.Run + +func runChild(infile, outfile string) error { + if outfile == "" { + // No atomic handoff needed; just run normally to stdout + in, out, closeIn, closeOut, err := openIO(infile, "") + if err != nil { + return err + } + defer closeIn() + defer closeOut() + return hexaiactionRun(context.Background(), in, out, os.Stderr) + } + tmp := outfile + ".tmp" + in, out, closeIn, closeOut, err := openIO(infile, tmp) + if err != nil { + return err + } + defer closeIn() + if err := hexaiactionRun(context.Background(), in, out, os.Stderr); err != nil { + // On error, try to echo input to tmp to avoid blocking + closeOut() + if copyErr := echoThrough(infile, tmp); copyErr != nil { + return fmt.Errorf("hexai-action child: %v; echo failed: %v", err, copyErr) + } + } else { + closeOut() + } + return os.Rename(tmp, outfile) +} + +var isTTYFn = isTTY +var tmuxAvailableFn = tmux.Available +var splitRunFn = tmux.SplitRun +var osExecutableFn = os.Executable + +func shouldRunInTmux(forceTmux, noTmux bool) bool { + if noTmux { + return false + } + if forceTmux { + return true + } + // Auto: prefer tmux when stdio are not TTYs (Helix :pipe scenario) + if !(isTTYFn(os.Stdin.Fd()) && isTTYFn(os.Stdout.Fd())) && tmuxAvailableFn() { + return true + } + return false +} + +func isTTY(fd uintptr) bool { return term.IsTerminal(int(fd)) } + +func runInTmuxParent(target, split string, percent int) error { + // Prepare temp files + dir, err := os.MkdirTemp("", "hexai-action-") + if err != nil { + return err + } + defer func() { _ = os.RemoveAll(dir) }() + inPath := filepath.Join(dir, "input.txt") + outPath := filepath.Join(dir, "reply.txt") + // Read stdin and persist to inPath + if err := persistStdin(inPath); err != nil { + return err + } + // Build child argv + exe, err := osExecutableFn() + if err != nil { + return err + } + argv := []string{exe, "-ui-child", "-infile", inPath, "-outfile", outPath} + // Spawn tmux split + opts := tmux.SplitOpts{Target: target, Vertical: split != "h", Percent: percent} + if err := splitRunFn(opts, argv); err != nil { + return err + } + // Wait for outfile to appear + if err := waitForFile(outPath, 60*time.Second); err != nil { + return err + } + // Print to stdout + return catFileToStdout(outPath) +} + +func persistStdin(path string) error { + f, err := os.Create(path) + if err != nil { + return err + } + defer func() { _ = f.Close() }() + if _, err := io.Copy(f, os.Stdin); err != nil { + return err + } + return f.Sync() +} + +func waitForFile(path string, timeout time.Duration) error { + deadline := time.Now().Add(timeout) + for { + if _, err := os.Stat(path); err == nil { + return nil + } + if time.Now().After(deadline) { + return fmt.Errorf("hexai-action: timeout waiting for reply file") + } + time.Sleep(200 * time.Millisecond) + } +} + +func catFileToStdout(path string) error { + f, err := os.Open(path) + if err != nil { + return err + } + defer func() { _ = f.Close() }() + _, err = io.Copy(os.Stdout, f) + return err +} + +func echoThrough(infile, outfile string) error { + // Read from infile or stdin and write to outfile or stdout + var in io.Reader = os.Stdin + var out io.Writer = os.Stdout + if infile != "" { + f, err := os.Open(infile) + if err != nil { + return err + } + defer func() { _ = f.Close() }() + in = f + } + if outfile != "" { + f, err := os.Create(outfile) + if err != nil { + return err + } + defer func() { _ = f.Close() }() + out = f + } + _, err := io.Copy(out, in) + return err +} diff --git a/cmd/internal/hexai-action/main_test.go b/cmd/internal/hexai-action/main_test.go index 9603826..16bb2ed 100644 --- a/cmd/internal/hexai-action/main_test.go +++ b/cmd/internal/hexai-action/main_test.go @@ -1,44 +1,355 @@ package main import ( + "context" + "fmt" "io" "os" "path/filepath" + "strings" "testing" + + "codeberg.org/snonux/hexai/internal/tmux" ) -// TestOpenIO_InOutFiles verifies that openIO opens the specified files -// and that writing via the returned writer persists to disk. -func TestOpenIO_InOutFiles(t *testing.T) { +func TestShouldRunInTmux_Preferences(t *testing.T) { + // no-tmux overrides + if shouldRunInTmux(false, true) { + t.Fatal("expected false when no-tmux is set") + } + // force tmux overrides + if !shouldRunInTmux(true, false) { + t.Fatal("expected true when -tmux is set") + } +} + +func TestShouldRunInTmux_Auto(t *testing.T) { + oldIsTTY := isTTYFn + oldAvail := tmuxAvailableFn + t.Cleanup(func() { isTTYFn = oldIsTTY; tmuxAvailableFn = oldAvail }) + // Simulate Helix :pipe (no TTY) and tmux available + isTTYFn = func(_ uintptr) bool { return false } + tmuxAvailableFn = func() bool { return true } + if !shouldRunInTmux(false, false) { + t.Fatal("expected true when not TTY and tmux available") + } + // Simulate TTY present: prefer inline + isTTYFn = func(_ uintptr) bool { return true } + if shouldRunInTmux(false, false) { + t.Fatal("expected false when TTY present") + } + // Simulate tmux not available + isTTYFn = func(_ uintptr) bool { return false } + tmuxAvailableFn = func() bool { return false } + if shouldRunInTmux(false, false) { + t.Fatal("expected false when tmux unavailable") + } +} + +func TestPersistStdin_WritesFile(t *testing.T) { + dir := t.TempDir() + path := filepath.Join(dir, "in.txt") + // Point os.Stdin to a temp file with content + src := filepath.Join(dir, "src.txt") + if err := os.WriteFile(src, []byte("hello world"), 0o600); err != nil { + t.Fatalf("write src: %v", err) + } + f, err := os.Open(src) + if err != nil { t.Fatalf("open src: %v", err) } + old := os.Stdin + os.Stdin = f + t.Cleanup(func() { os.Stdin = old; _ = f.Close() }) + if err := persistStdin(path); err != nil { + t.Fatalf("persistStdin error: %v", err) + } + b, err := os.ReadFile(path) + if err != nil { t.Fatalf("read out: %v", err) } + if string(b) != "hello world" { + t.Fatalf("unexpected content %q", string(b)) + } +} + +func TestEchoThrough(t *testing.T) { + dir := t.TempDir() + in := filepath.Join(dir, "in.txt") + out := filepath.Join(dir, "out.txt") + if err := os.WriteFile(in, []byte("hello"), 0o600); err != nil { + t.Fatalf("write in: %v", err) + } + if err := echoThrough(in, out); err != nil { + t.Fatalf("echoThrough: %v", err) + } + b, _ := os.ReadFile(out) + if string(b) != "hello" { + t.Fatalf("unexpected: %q", string(b)) + } +} + +func TestEchoThrough_StdinStdout(t *testing.T) { + // set stdin + rIn, wIn, _ := os.Pipe() + _, _ = wIn.Write([]byte("PIPE")) + _ = wIn.Close() + oldIn := os.Stdin + os.Stdin = rIn + defer func() { os.Stdin = oldIn; _ = rIn.Close() }() + // capture stdout + r, w, _ := os.Pipe() + oldOut := os.Stdout + os.Stdout = w + defer func() { os.Stdout = oldOut; _ = r.Close(); _ = w.Close() }() + if err := echoThrough("", ""); err != nil { t.Fatalf("echoThrough: %v", err) } + _ = w.Close() + data, _ := io.ReadAll(r) + if string(data) != "PIPE" { + t.Fatalf("stdout: %q", string(data)) + } +} + +func TestWaitForFile(t *testing.T) { dir := t.TempDir() - inPath := filepath.Join(dir, "in.txt") - outPath := filepath.Join(dir, "out.txt") + p := filepath.Join(dir, "x") + go func() { + // create shortly after + f, _ := os.Create(p) + defer f.Close() + f.WriteString("ok") + }() + if err := waitForFile(p, 2_000_000_000); err != nil { // 2s + t.Fatalf("waitForFile: %v", err) + } +} - // Prepare input file - want := "hello world" - if err := os.WriteFile(inPath, []byte(want), 0o600); err != nil { - t.Fatalf("write infile: %v", err) +func TestCatFileToStdout(t *testing.T) { + dir := t.TempDir() + p := filepath.Join(dir, "f") + if err := os.WriteFile(p, []byte("abc"), 0o600); err != nil { + t.Fatalf("write: %v", err) + } + // capture stdout + old := os.Stdout + r, w, _ := os.Pipe() + os.Stdout = w + defer func() { os.Stdout = old; _ = r.Close(); _ = w.Close() }() + if err := catFileToStdout(p); err != nil { + t.Fatalf("catFileToStdout: %v", err) + } + _ = w.Close() + buf, _ := io.ReadAll(r) + if string(buf) != "abc" { + t.Fatalf("stdout = %q", string(buf)) } +} + +func TestRunInTmuxParent_Stubbed(t *testing.T) { + dir := t.TempDir() + // set stdin content + src := filepath.Join(dir, "stdin.txt") + _ = os.WriteFile(src, []byte("input"), 0o600) + f, _ := os.Open(src) + oldStdin := os.Stdin + os.Stdin = f + defer func() { os.Stdin = oldStdin; _ = f.Close() }() - in, out, cin, cout, err := openIO(inPath, outPath) - if err != nil { - t.Fatalf("openIO: %v", err) + // capture stdout + oldStdout := os.Stdout + r, w, _ := os.Pipe() + os.Stdout = w + defer func() { os.Stdout = oldStdout; _ = r.Close(); _ = w.Close() }() + + // stub seams + oldExec := osExecutableFn + oldSplit := splitRunFn + oldRun := hexaiactionRun + osExecutableFn = func() (string, error) { return "/bin/hexai-action", nil } + splitRunFn = func(opts tmux.SplitOpts, argv []string) error { + // find -outfile path and write content to simulate child + for i := 0; i < len(argv)-1; i++ { + if argv[i] == "-outfile" && i+1 < len(argv) { + _ = os.WriteFile(argv[i+1], []byte("OUT:"+strings.Join(argv, ",")), 0o600) + break + } + } + return nil + } + // Ensure child mode won't try to run the real TUI if invoked in tests. + hexaiactionRun = func(_ context.Context, _ io.Reader, w io.Writer, _ io.Writer) error { + _, _ = io.WriteString(w, "child-stub") + return nil } - defer cin() - defer cout() + defer func() { osExecutableFn = oldExec; splitRunFn = oldSplit; hexaiactionRun = oldRun }() - // Copy through to simulate main's behavior - if _, err := io.Copy(out.(io.Writer), in); err != nil { - t.Fatalf("copy: %v", err) + if err := runInTmuxParent("", "v", 33); err != nil { + t.Fatalf("runInTmuxParent: %v", err) } + _ = w.Close() + got, _ := io.ReadAll(r) + if !strings.HasPrefix(string(got), "OUT:") { + t.Fatalf("unexpected stdout: %q", string(got)) + } +} - // Verify outfile content - got, err := os.ReadFile(outPath) - if err != nil { - t.Fatalf("read outfile: %v", err) +func TestRunChild_StubbedOutfile(t *testing.T) { + dir := t.TempDir() + in := filepath.Join(dir, "in.txt") + out := filepath.Join(dir, "out.txt") + _ = os.WriteFile(in, []byte("sel"), 0o600) + old := hexaiactionRun + hexaiactionRun = func(_ context.Context, _ io.Reader, w io.Writer, _ io.Writer) error { + _, _ = io.WriteString(w, "RESULT") + return nil } - if string(got) != want { - t.Fatalf("mismatch: got %q want %q", string(got), want) + defer func() { hexaiactionRun = old }() + if err := runChild(in, out); err != nil { + t.Fatalf("runChild: %v", err) + } + b, _ := os.ReadFile(out) + if string(b) != "RESULT" { + t.Fatalf("unexpected outfile: %q", string(b)) } } +func TestRunChild_StubbedStdout(t *testing.T) { + dir := t.TempDir() + in := filepath.Join(dir, "in.txt") + _ = os.WriteFile(in, []byte("sel"), 0o600) + // capture stdout + oldStdout := os.Stdout + r, w, _ := os.Pipe() + os.Stdout = w + defer func() { os.Stdout = oldStdout; _ = r.Close(); _ = w.Close() }() + old := hexaiactionRun + hexaiactionRun = func(_ context.Context, _ io.Reader, w io.Writer, _ io.Writer) error { + _, _ = io.WriteString(w, "STDOUT-RESULT") + return nil + } + defer func() { hexaiactionRun = old }() + if err := runChild(in, ""); err != nil { + t.Fatalf("runChild: %v", err) + } + _ = w.Close() + data, _ := io.ReadAll(r) + if string(data) != "STDOUT-RESULT" { + t.Fatalf("stdout: %q", string(data)) + } +} + +func TestRunChild_ErrorFallback(t *testing.T) { + dir := t.TempDir() + in := filepath.Join(dir, "in.txt") + out := filepath.Join(dir, "out.txt") + _ = os.WriteFile(in, []byte("INPUT"), 0o600) + old := hexaiactionRun + hexaiactionRun = func(_ context.Context, _ io.Reader, _ io.Writer, _ io.Writer) error { + return fmt.Errorf("boom") + } + defer func() { hexaiactionRun = old }() + if err := runChild(in, out); err != nil { + t.Fatalf("runChild: %v", err) + } + b, _ := os.ReadFile(out) + if string(b) != "INPUT" { + t.Fatalf("expected fallback echo, got %q", string(b)) + } +} + +func TestWaitForFile_Timeout(t *testing.T) { + dir := t.TempDir() + p := filepath.Join(dir, "nope") + if err := waitForFile(p, 10_000_000); err == nil { // 10ms + t.Fatal("expected timeout error") + } +} + +func TestOpenIO_InfileOutfile(t *testing.T) { + dir := t.TempDir() + in := filepath.Join(dir, "i") + out := filepath.Join(dir, "o") + _ = os.WriteFile(in, []byte("X"), 0o600) + r, w, ci, co, err := openIO(in, out) + if err != nil { t.Fatalf("openIO: %v", err) } + defer ci(); defer co() + if _, err := io.Copy(w, r); err != nil { t.Fatalf("copy: %v", err) } + b, _ := os.ReadFile(out) + if string(b) != "X" { t.Fatalf("got %q", string(b)) } +} + +func TestRunInTmuxParent_ExecutableError(t *testing.T) { + old := osExecutableFn + osExecutableFn = func() (string, error) { return "", fmt.Errorf("no exe") } + defer func() { osExecutableFn = old }() + // set stdin content + r, w, _ := os.Pipe() + _, _ = w.Write([]byte("x")) + _ = w.Close() + oldIn := os.Stdin + os.Stdin = r + defer func() { os.Stdin = oldIn; _ = r.Close() }() + if err := runInTmuxParent("", "v", 33); err == nil { + t.Fatal("expected error from missing executable") + } +} + +func TestRunInTmuxParent_SplitError(t *testing.T) { + oldExec := osExecutableFn + osExecutableFn = func() (string, error) { return "/bin/hexai-action", nil } + oldSplit := splitRunFn + splitRunFn = func(_ tmux.SplitOpts, _ []string) error { return fmt.Errorf("split failed") } + defer func() { osExecutableFn = oldExec; splitRunFn = oldSplit }() + // set stdin + r, w, _ := os.Pipe() + _, _ = w.Write([]byte("x")) + _ = w.Close() + oldIn := os.Stdin + os.Stdin = r + defer func() { os.Stdin = oldIn; _ = r.Close() }() + if err := runInTmuxParent("", "v", 33); err == nil { + t.Fatal("expected split error") + } +} + +func TestEchoThrough_OutfileError(t *testing.T) { + dir := t.TempDir() + in := filepath.Join(dir, "i.txt") + _ = os.WriteFile(in, []byte("x"), 0o600) + // Outfile inside non-existent subdir -> Create should fail + out := filepath.Join(dir, "nope", "out.txt") + if err := echoThrough(in, out); err == nil { + t.Fatal("expected echoThrough outfile error") + } +} + +func TestPersistStdin_Error(t *testing.T) { + // Parent directory missing -> Create should fail + dir := t.TempDir() + p := filepath.Join(dir, "missing", "x.txt") + // set stdin to something + r, w, _ := os.Pipe() + _, _ = w.Write([]byte("x")) + _ = w.Close() + old := os.Stdin + os.Stdin = r + defer func() { os.Stdin = old; _ = r.Close() }() + if err := persistStdin(p); err == nil { + t.Fatal("expected persistStdin error") + } +} + +func TestCatFileToStdout_Error(t *testing.T) { + if err := catFileToStdout("/nonexistent/path/file.txt"); err == nil { + t.Fatal("expected error for missing file") + } +} + +func TestOpenIO_Errors(t *testing.T) { + // Non-existent infile + if _, _, _, _, err := openIO("/definitely/missing/file.txt", ""); err == nil { + t.Fatal("expected infile error") + } + // Outfile in missing dir + dir := t.TempDir() + out := filepath.Join(dir, "nope", "x.txt") + if _, _, _, _, err := openIO("", out); err == nil { + t.Fatal("expected outfile error") + } +} diff --git a/docs/configuration.md b/docs/configuration.md index 3fbb1dc..dc4adbd 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -30,23 +30,30 @@ API keys: Selecting a provider - Sectioned: set `[provider] name = "openai" | "copilot" | "ollama"`. -- Flat: set `provider = "openai" | "copilot" | "ollama"`. - If omitted, Hexai defaults to `openai`. -Provider-specific options - -- See [config.toml.example](../config.toml.example) for the per-provider tables and defaults. - -Notes: +Notes on Ollama: - Ensure the model is available locally (e.g., `ollama pull qwen3-coder:30b-a3b-q4_K_M`). - Alternatively, run Ollama in OpenAI‑compatible mode and use the OpenAI provider with `openai_base_url` pointed at your local endpoint. -LSP completion tuning - -- See the [completion] section in [config.toml.example](../config.toml.example). - -Temperature behavior - -- Defaults and recommended ranges are commented inline in [config.toml.example](../config.toml.example) under [general] and provider tables. +Hexai Action (TUI) configuration + +This is mostly useful when Helix runs in a [tmux](https://tmux.github.io/) session! + +- Helix integration (recommended): bind a key to pipe the current selection to `hexai-action` and replace it with the output. + - Example: `C-a = ":pipe hexai-action"` +- Default behavior: + - Inline TUI when run in a real terminal (TTY). + - When invoked via Helix `:pipe` and a tmux session is available, `hexai-action` opens a split pane to render the menu and returns the result on stdout for Helix to apply. + - If no TTY and no tmux are available, it falls back to echoing the input. +- Flags: + - `--infile` Read input from the given file instead of stdin. + - `--outfile` Write output to the given file instead of stdout (truncates/creates). + - `--tmux` force tmux-pane mode. + - `--no-tmux` disable tmux mode even if available. + - `--tmux-target` tmux target pane/window (advanced). + - `--tmux-split v|h` split orientation (default: `v`). + - `--tmux-percent N` split size percentage (default: `33`). + - `--ui-child` internal; used by the parent process when spawning inside tmux. diff --git a/docs/coverage.html b/docs/coverage.html index 6b80630..2003a0d 100644 --- a/docs/coverage.html +++ b/docs/coverage.html @@ -59,19 +59,19 @@ <option value="file1">codeberg.org/snonux/hexai/cmd/hexai/main.go (71.4%)</option> - <option value="file2">codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go (0.0%)</option> + <option value="file2">codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go (69.3%)</option> <option value="file3">codeberg.org/snonux/hexai/internal/appconfig/config.go (91.6%)</option> <option value="file4">codeberg.org/snonux/hexai/internal/hexaiaction/parse.go (92.6%)</option> - <option value="file5">codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go (81.1%)</option> + <option value="file5">codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go (91.9%)</option> - <option value="file6">codeberg.org/snonux/hexai/internal/hexaiaction/run.go (33.3%)</option> + <option value="file6">codeberg.org/snonux/hexai/internal/hexaiaction/run.go (48.7%)</option> - <option value="file7">codeberg.org/snonux/hexai/internal/hexaiaction/tui.go (47.3%)</option> + <option value="file7">codeberg.org/snonux/hexai/internal/hexaiaction/tui.go (65.5%)</option> - <option value="file8">codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go (91.7%)</option> + <option value="file8">codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go (100.0%)</option> <option value="file9">codeberg.org/snonux/hexai/internal/hexaicli/run.go (78.8%)</option> @@ -119,6 +119,8 @@ <option value="file31">codeberg.org/snonux/hexai/internal/textutil/textutil.go (89.0%)</option> + <option value="file32">codeberg.org/snonux/hexai/internal/tmux/tmux.go (88.6%)</option> + </select> </div> <div id="legend"> @@ -198,18 +200,240 @@ func main() <span class="cov8" title="1">{ import ( "context" + "flag" "fmt" + "io" "os" + "path/filepath" + "time" "codeberg.org/snonux/hexai/internal/hexaiaction" + "codeberg.org/snonux/hexai/internal/tmux" + "golang.org/x/term" ) func main() <span class="cov0" title="0">{ - if err := hexaiaction.Run(context.Background(), os.Stdin, os.Stdout, os.Stderr); err != nil </span><span class="cov0" title="0">{ + infile := flag.String("infile", "", "Read input from this file instead of stdin") + outfile := flag.String("outfile", "", "Write output to this file instead of stdout") + // Tmux/UI flags + forceTmux := flag.Bool("tmux", false, "Force running the UI in a tmux split-pane (auto if not set)") + noTmux := flag.Bool("no-tmux", false, "Disable tmux mode even if available") + uiChild := flag.Bool("ui-child", false, "INTERNAL: run interactive UI and write to -outfile atomically") + tmuxTarget := flag.String("tmux-target", "", "tmux split target (advanced)") + tmuxSplit := flag.String("tmux-split", "v", "tmux split orientation: v or h") + tmuxPercent := flag.Int("tmux-percent", 33, "tmux split size percentage (1-100)") + flag.Parse() + + // Child mode: run TUI and write atomically to -outfile + if *uiChild </span><span class="cov0" title="0">{ + if err := runChild(*infile, *outfile); err != nil </span><span class="cov0" title="0">{ + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + }</span> + <span class="cov0" title="0">return</span> + } + + // Parent mode: decide inline vs tmux + <span class="cov0" title="0">if shouldRunInTmux(*forceTmux, *noTmux) </span><span class="cov0" title="0">{ + if err := runInTmuxParent(*tmuxTarget, *tmuxSplit, *tmuxPercent); err != nil </span><span class="cov0" title="0">{ + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + }</span> + <span class="cov0" title="0">return</span> + } + + // Inline path: only if we have a TTY for UI; otherwise echo input + <span class="cov0" title="0">if isTTY(os.Stdout.Fd()) && isTTY(os.Stdin.Fd()) </span><span class="cov0" title="0">{ + in, out, closeIn, closeOut, err := openIO(*infile, *outfile) + if err != nil </span><span class="cov0" title="0">{ + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + }</span> + <span class="cov0" title="0">defer closeIn() + defer closeOut() + if err := hexaiactionRun(context.Background(), in, out, os.Stderr); err != nil </span><span class="cov0" title="0">{ + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + }</span> + <span class="cov0" title="0">return</span> + } + + // Fallback: no TTY and tmux not available; echo input to output + <span class="cov0" title="0">if err := echoThrough(*infile, *outfile); err != nil </span><span class="cov0" title="0">{ fmt.Fprintln(os.Stderr, err) os.Exit(1) }</span> } + +// openIO returns readers/writers for infile/outfile flags with deferred closers. +func openIO(infile, outfile string) (io.Reader, io.Writer, func(), func(), error) <span class="cov10" title="6">{ + in := io.Reader(os.Stdin) + out := io.Writer(os.Stdout) + closeIn := func() </span>{<span class="cov0" title="0">}</span> + <span class="cov10" title="6">closeOut := func() </span>{<span class="cov1" title="1">}</span> + + <span class="cov10" title="6">if path := infile; path != "" </span><span class="cov9" title="5">{ + f, err := os.Open(path) + if err != nil </span><span class="cov1" title="1">{ + return nil, nil, func() </span>{<span class="cov0" title="0">}</span>, func() {<span class="cov0" title="0">}</span>, fmt.Errorf("hexai-action: cannot open infile: %w", err) + } + <span class="cov7" title="4">in = f + closeIn = func() </span><span class="cov7" title="4">{ _ = f.Close() }</span> + } + <span class="cov9" title="5">if path := outfile; path != "" </span><span class="cov7" title="4">{ + f, err := os.Create(path) + if err != nil </span><span class="cov1" title="1">{ + return nil, nil, func() </span>{<span class="cov0" title="0">}</span>, func() {<span class="cov0" title="0">}</span>, fmt.Errorf("hexai-action: cannot open outfile: %w", err) + } + <span class="cov6" title="3">out = f + closeOut = func() </span><span class="cov6" title="3">{ _ = f.Close() }</span> + } + <span class="cov7" title="4">return in, out, closeIn, closeOut, nil</span> +} + +// runChild runs the interactive flow and writes the final output atomically to outfile. +var hexaiactionRun = hexaiaction.Run + +func runChild(infile, outfile string) error <span class="cov6" title="3">{ + if outfile == "" </span><span class="cov1" title="1">{ + // No atomic handoff needed; just run normally to stdout + in, out, closeIn, closeOut, err := openIO(infile, "") + if err != nil </span><span class="cov0" title="0">{ + return err + }</span> + <span class="cov1" title="1">defer closeIn() + defer closeOut() + return hexaiactionRun(context.Background(), in, out, os.Stderr)</span> + } + <span class="cov4" title="2">tmp := outfile + ".tmp" + in, out, closeIn, closeOut, err := openIO(infile, tmp) + if err != nil </span><span class="cov0" title="0">{ + return err + }</span> + <span class="cov4" title="2">defer closeIn() + if err := hexaiactionRun(context.Background(), in, out, os.Stderr); err != nil </span><span class="cov1" title="1">{ + // On error, try to echo input to tmp to avoid blocking + closeOut() + if copyErr := echoThrough(infile, tmp); copyErr != nil </span><span class="cov0" title="0">{ + return fmt.Errorf("hexai-action child: %v; echo failed: %v", err, copyErr) + }</span> + } else<span class="cov1" title="1"> { + closeOut() + }</span> + <span class="cov4" title="2">return os.Rename(tmp, outfile)</span> +} + +var isTTYFn = isTTY +var tmuxAvailableFn = tmux.Available +var splitRunFn = tmux.SplitRun +var osExecutableFn = os.Executable + +func shouldRunInTmux(forceTmux, noTmux bool) bool <span class="cov9" title="5">{ + if noTmux </span><span class="cov1" title="1">{ + return false + }</span> + <span class="cov7" title="4">if forceTmux </span><span class="cov1" title="1">{ + return true + }</span> + // Auto: prefer tmux when stdio are not TTYs (Helix :pipe scenario) + <span class="cov6" title="3">if !(isTTYFn(os.Stdin.Fd()) && isTTYFn(os.Stdout.Fd())) && tmuxAvailableFn() </span><span class="cov1" title="1">{ + return true + }</span> + <span class="cov4" title="2">return false</span> +} + +func isTTY(fd uintptr) bool <span class="cov0" title="0">{ return term.IsTerminal(int(fd)) }</span> + +func runInTmuxParent(target, split string, percent int) error <span class="cov6" title="3">{ + // Prepare temp files + dir, err := os.MkdirTemp("", "hexai-action-") + if err != nil </span><span class="cov0" title="0">{ + return err + }</span> + <span class="cov6" title="3">defer func() </span><span class="cov6" title="3">{ _ = os.RemoveAll(dir) }</span>() + <span class="cov6" title="3">inPath := filepath.Join(dir, "input.txt") + outPath := filepath.Join(dir, "reply.txt") + // Read stdin and persist to inPath + if err := persistStdin(inPath); err != nil </span><span class="cov0" title="0">{ + return err + }</span> + // Build child argv + <span class="cov6" title="3">exe, err := osExecutableFn() + if err != nil </span><span class="cov1" title="1">{ + return err + }</span> + <span class="cov4" title="2">argv := []string{exe, "-ui-child", "-infile", inPath, "-outfile", outPath} + // Spawn tmux split + opts := tmux.SplitOpts{Target: target, Vertical: split != "h", Percent: percent} + if err := splitRunFn(opts, argv); err != nil </span><span class="cov1" title="1">{ + return err + }</span> + // Wait for outfile to appear + <span class="cov1" title="1">if err := waitForFile(outPath, 60*time.Second); err != nil </span><span class="cov0" title="0">{ + return err + }</span> + // Print to stdout + <span class="cov1" title="1">return catFileToStdout(outPath)</span> +} + +func persistStdin(path string) error <span class="cov9" title="5">{ + f, err := os.Create(path) + if err != nil </span><span class="cov1" title="1">{ + return err + }</span> + <span class="cov7" title="4">defer func() </span><span class="cov7" title="4">{ _ = f.Close() }</span>() + <span class="cov7" title="4">if _, err := io.Copy(f, os.Stdin); err != nil </span><span class="cov0" title="0">{ + return err + }</span> + <span class="cov7" title="4">return f.Sync()</span> +} + +func waitForFile(path string, timeout time.Duration) error <span class="cov6" title="3">{ + deadline := time.Now().Add(timeout) + for </span><span class="cov9" title="5">{ + if _, err := os.Stat(path); err == nil </span><span class="cov4" title="2">{ + return nil + }</span> + <span class="cov6" title="3">if time.Now().After(deadline) </span><span class="cov1" title="1">{ + return fmt.Errorf("hexai-action: timeout waiting for reply file") + }</span> + <span class="cov4" title="2">time.Sleep(200 * time.Millisecond)</span> + } +} + +func catFileToStdout(path string) error <span class="cov6" title="3">{ + f, err := os.Open(path) + if err != nil </span><span class="cov1" title="1">{ + return err + }</span> + <span class="cov4" title="2">defer func() </span><span class="cov4" title="2">{ _ = f.Close() }</span>() + <span class="cov4" title="2">_, err = io.Copy(os.Stdout, f) + return err</span> +} + +func echoThrough(infile, outfile string) error <span class="cov7" title="4">{ + // Read from infile or stdin and write to outfile or stdout + var in io.Reader = os.Stdin + var out io.Writer = os.Stdout + if infile != "" </span><span class="cov6" title="3">{ + f, err := os.Open(infile) + if err != nil </span><span class="cov0" title="0">{ + return err + }</span> + <span class="cov6" title="3">defer func() </span><span class="cov6" title="3">{ _ = f.Close() }</span>() + <span class="cov6" title="3">in = f</span> + } + <span class="cov7" title="4">if outfile != "" </span><span class="cov6" title="3">{ + f, err := os.Create(outfile) + if err != nil </span><span class="cov1" title="1">{ + return err + }</span> + <span class="cov4" title="2">defer func() </span><span class="cov4" title="2">{ _ = f.Close() }</span>() + <span class="cov4" title="2">out = f</span> + } + <span class="cov6" title="3">_, err := io.Copy(out, in) + return err</span> +} </pre> <pre class="file" id="file3" style="display: none">// Summary: Application configuration model and loader; reads ~/.config/hexai/config.toml and merges defaults. @@ -300,7 +524,7 @@ type App struct { } // Constructor: defaults for App (kept first among functions) -func newDefaultConfig() App <span class="cov5" title="13">{ +func newDefaultConfig() App <span class="cov5" title="14">{ // Coding-friendly default temperature across providers // Users can override per provider in config.toml (including 0.0). t := 0.2 @@ -351,17 +575,17 @@ func newDefaultConfig() App <span class="cov5" title="13">{ // Load reads configuration from a file and merges with defaults. // It respects the XDG Base Directory Specification. -func Load(logger *log.Logger) App <span class="cov5" title="12">{ +func Load(logger *log.Logger) App <span class="cov5" title="13">{ cfg := newDefaultConfig() if logger == nil </span><span class="cov3" title="4">{ return cfg // Return defaults if no logger is provided (e.g. in tests) }</span> - <span class="cov4" title="8">configPath, err := getConfigPath() + <span class="cov4" title="9">configPath, err := getConfigPath() if err != nil </span><span class="cov0" title="0">{ logger.Printf("%v", err) // Even if config path cannot be resolved, still allow env overrides below. - }</span> else<span class="cov4" title="8"> { + }</span> else<span class="cov4" title="9"> { if fileCfg, err := loadFromFile(configPath, logger); err == nil && fileCfg != nil </span><span class="cov3" title="4">{ cfg.mergeWith(fileCfg) }</span> @@ -370,10 +594,10 @@ func Load(logger *log.Logger) App <span class="cov5" title="12">{ } // Environment overrides (take precedence over file) - <span class="cov4" title="8">if envCfg := loadFromEnv(logger); envCfg != nil </span><span class="cov1" title="1">{ + <span class="cov4" title="9">if envCfg := loadFromEnv(logger); envCfg != nil </span><span class="cov1" title="1">{ cfg.mergeWith(envCfg) }</span> - <span class="cov4" title="8">return cfg</span> + <span class="cov4" title="9">return cfg</span> } // Private helpers @@ -644,13 +868,13 @@ func (fc *fileConfig) toApp() App <span class="cov3" title="4">{ <span class="cov3" title="4">return out</span> } -func loadFromFile(path string, logger *log.Logger) (*App, error) <span class="cov4" title="9">{ +func loadFromFile(path string, logger *log.Logger) (*App, error) <span class="cov4" title="10">{ b, err := os.ReadFile(path) - if err != nil </span><span class="cov2" title="3">{ + if err != nil </span><span class="cov3" title="4">{ if !os.IsNotExist(err) && logger != nil </span><span class="cov0" title="0">{ logger.Printf("cannot open TOML config file %s: %v", path, err) }</span> - <span class="cov2" title="3">return nil, err</span> + <span class="cov3" title="4">return nil, err</span> } <span class="cov4" title="6">var tables fileConfig @@ -868,33 +1092,33 @@ func (a *App) mergeProviderFields(other *App) <span class="cov5" title="14">{ }</span> } -func getConfigPath() (string, error) <span class="cov4" title="9">{ +func getConfigPath() (string, error) <span class="cov4" title="10">{ var configPath string if xdgConfigHome := os.Getenv("XDG_CONFIG_HOME"); xdgConfigHome != "" </span><span class="cov4" title="7">{ configPath = filepath.Join(xdgConfigHome, "hexai", "config.toml") - }</span> else<span class="cov2" title="2"> { + }</span> else<span class="cov2" title="3"> { home, err := os.UserHomeDir() if err != nil </span><span class="cov0" title="0">{ return "", fmt.Errorf("cannot find user home directory: %v", err) }</span> - <span class="cov2" title="2">configPath = filepath.Join(home, ".config", "hexai", "config.toml")</span> + <span class="cov2" title="3">configPath = filepath.Join(home, ".config", "hexai", "config.toml")</span> } - <span class="cov4" title="9">return configPath, nil</span> + <span class="cov4" title="10">return configPath, nil</span> } // --- Environment overrides --- // loadFromEnv constructs an App containing only fields set via HEXAI_* env vars. // These values should take precedence over file config when merged. -func loadFromEnv(logger *log.Logger) *App <span class="cov4" title="8">{ +func loadFromEnv(logger *log.Logger) *App <span class="cov4" title="9">{ var out App var any bool // helpers - getenv := func(k string) string </span><span class="cov10" title="192">{ return strings.TrimSpace(os.Getenv(k)) }</span> - <span class="cov4" title="8">parseInt := func(k string) (int, bool) </span><span class="cov7" title="56">{ + getenv := func(k string) string </span><span class="cov10" title="216">{ return strings.TrimSpace(os.Getenv(k)) }</span> + <span class="cov4" title="9">parseInt := func(k string) (int, bool) </span><span class="cov7" title="63">{ v := getenv(k) - if v == "" </span><span class="cov7" title="49">{ + if v == "" </span><span class="cov7" title="56">{ return 0, false }</span> <span class="cov4" title="7">n, err := strconv.Atoi(v) @@ -906,9 +1130,9 @@ func loadFromEnv(logger *log.Logger) *App <span class="cov4" title="8">{ } <span class="cov4" title="7">return n, true</span> } - <span class="cov4" title="8">parseFloatPtr := func(k string) (*float64, bool) </span><span class="cov6" title="32">{ + <span class="cov4" title="9">parseFloatPtr := func(k string) (*float64, bool) </span><span class="cov7" title="36">{ v := getenv(k) - if v == "" </span><span class="cov6" title="28">{ + if v == "" </span><span class="cov6" title="32">{ return nil, false }</span> <span class="cov3" title="4">f, err := strconv.ParseFloat(v, 64) @@ -921,43 +1145,43 @@ func loadFromEnv(logger *log.Logger) *App <span class="cov4" title="8">{ <span class="cov3" title="4">return &f, true</span> } - <span class="cov4" title="8">if n, ok := parseInt("HEXAI_MAX_TOKENS"); ok </span><span class="cov1" title="1">{ + <span class="cov4" title="9">if n, ok := parseInt("HEXAI_MAX_TOKENS"); ok </span><span class="cov1" title="1">{ out.MaxTokens = n any = true }</span> - <span class="cov4" title="8">if s := getenv("HEXAI_CONTEXT_MODE"); s != "" </span><span class="cov1" title="1">{ + <span class="cov4" title="9">if s := getenv("HEXAI_CONTEXT_MODE"); s != "" </span><span class="cov1" title="1">{ out.ContextMode = s any = true }</span> - <span class="cov4" title="8">if n, ok := parseInt("HEXAI_CONTEXT_WINDOW_LINES"); ok </span><span class="cov1" title="1">{ + <span class="cov4" title="9">if n, ok := parseInt("HEXAI_CONTEXT_WINDOW_LINES"); ok </span><span class="cov1" title="1">{ out.ContextWindowLines = n any = true }</span> - <span class="cov4" title="8">if n, ok := parseInt("HEXAI_MAX_CONTEXT_TOKENS"); ok </span><span class="cov1" title="1">{ + <span class="cov4" title="9">if n, ok := parseInt("HEXAI_MAX_CONTEXT_TOKENS"); ok </span><span class="cov1" title="1">{ out.MaxContextTokens = n any = true }</span> - <span class="cov4" title="8">if n, ok := parseInt("HEXAI_LOG_PREVIEW_LIMIT"); ok </span><span class="cov1" title="1">{ + <span class="cov4" title="9">if n, ok := parseInt("HEXAI_LOG_PREVIEW_LIMIT"); ok </span><span class="cov1" title="1">{ out.LogPreviewLimit = n any = true }</span> - <span class="cov4" title="8">if n, ok := parseInt("HEXAI_MANUAL_INVOKE_MIN_PREFIX"); ok </span><span class="cov1" title="1">{ + <span class="cov4" title="9">if n, ok := parseInt("HEXAI_MANUAL_INVOKE_MIN_PREFIX"); ok </span><span class="cov1" title="1">{ out.ManualInvokeMinPrefix = n any = true }</span> - <span class="cov4" title="8">if n, ok := parseInt("HEXAI_COMPLETION_DEBOUNCE_MS"); ok </span><span class="cov1" title="1">{ + <span class="cov4" title="9">if n, ok := parseInt("HEXAI_COMPLETION_DEBOUNCE_MS"); ok </span><span class="cov1" title="1">{ out.CompletionDebounceMs = n any = true }</span> - <span class="cov4" title="8">if n, ok := parseInt("HEXAI_COMPLETION_THROTTLE_MS"); ok </span><span class="cov1" title="1">{ + <span class="cov4" title="9">if n, ok := parseInt("HEXAI_COMPLETION_THROTTLE_MS"); ok </span><span class="cov1" title="1">{ out.CompletionThrottleMs = n any = true }</span> - <span class="cov4" title="8">if f, ok := parseFloatPtr("HEXAI_CODING_TEMPERATURE"); ok </span><span class="cov1" title="1">{ + <span class="cov4" title="9">if f, ok := parseFloatPtr("HEXAI_CODING_TEMPERATURE"); ok </span><span class="cov1" title="1">{ out.CodingTemperature = f any = true }</span> - <span class="cov4" title="8">if s := getenv("HEXAI_TRIGGER_CHARACTERS"); s != "" </span><span class="cov1" title="1">{ + <span class="cov4" title="9">if s := getenv("HEXAI_TRIGGER_CHARACTERS"); s != "" </span><span class="cov1" title="1">{ parts := strings.Split(s, ",") out.TriggerCharacters = nil for _, p := range parts </span><span class="cov2" title="3">{ @@ -967,19 +1191,19 @@ func loadFromEnv(logger *log.Logger) *App <span class="cov4" title="8">{ } <span class="cov1" title="1">any = true</span> } - <span class="cov4" title="8">if s := getenv("HEXAI_INLINE_OPEN"); s != "" </span><span class="cov0" title="0">{ + <span class="cov4" title="9">if s := getenv("HEXAI_INLINE_OPEN"); s != "" </span><span class="cov0" title="0">{ out.InlineOpen = s any = true }</span> - <span class="cov4" title="8">if s := getenv("HEXAI_INLINE_CLOSE"); s != "" </span><span class="cov0" title="0">{ + <span class="cov4" title="9">if s := getenv("HEXAI_INLINE_CLOSE"); s != "" </span><span class="cov0" title="0">{ out.InlineClose = s any = true }</span> - <span class="cov4" title="8">if s := getenv("HEXAI_CHAT_SUFFIX"); s != "" </span><span class="cov0" title="0">{ + <span class="cov4" title="9">if s := getenv("HEXAI_CHAT_SUFFIX"); s != "" </span><span class="cov0" title="0">{ out.ChatSuffix = s any = true }</span> - <span class="cov4" title="8">if s := getenv("HEXAI_CHAT_PREFIXES"); s != "" </span><span class="cov0" title="0">{ + <span class="cov4" title="9">if s := getenv("HEXAI_CHAT_PREFIXES"); s != "" </span><span class="cov0" title="0">{ parts := strings.Split(s, ",") out.ChatPrefixes = nil for _, p := range parts </span><span class="cov0" title="0">{ @@ -989,52 +1213,52 @@ func loadFromEnv(logger *log.Logger) *App <span class="cov4" title="8">{ } <span class="cov0" title="0">any = true</span> } - <span class="cov4" title="8">if s := getenv("HEXAI_PROVIDER"); s != "" </span><span class="cov1" title="1">{ + <span class="cov4" title="9">if s := getenv("HEXAI_PROVIDER"); s != "" </span><span class="cov1" title="1">{ out.Provider = s any = true }</span> // Provider-specific - <span class="cov4" title="8">if s := getenv("HEXAI_OPENAI_BASE_URL"); s != "" </span><span class="cov1" title="1">{ + <span class="cov4" title="9">if s := getenv("HEXAI_OPENAI_BASE_URL"); s != "" </span><span class="cov1" title="1">{ out.OpenAIBaseURL = s any = true }</span> - <span class="cov4" title="8">if s := getenv("HEXAI_OPENAI_MODEL"); s != "" </span><span class="cov1" title="1">{ + <span class="cov4" title="9">if s := getenv("HEXAI_OPENAI_MODEL"); s != "" </span><span class="cov1" title="1">{ out.OpenAIModel = s any = true }</span> - <span class="cov4" title="8">if f, ok := parseFloatPtr("HEXAI_OPENAI_TEMPERATURE"); ok </span><span class="cov1" title="1">{ + <span class="cov4" title="9">if f, ok := parseFloatPtr("HEXAI_OPENAI_TEMPERATURE"); ok </span><span class="cov1" title="1">{ out.OpenAITemperature = f any = true }</span> - <span class="cov4" title="8">if s := getenv("HEXAI_OLLAMA_BASE_URL"); s != "" </span><span class="cov1" title="1">{ + <span class="cov4" title="9">if s := getenv("HEXAI_OLLAMA_BASE_URL"); s != "" </span><span class="cov1" title="1">{ out.OllamaBaseURL = s any = true }</span> - <span class="cov4" title="8">if s := getenv("HEXAI_OLLAMA_MODEL"); s != "" </span><span class="cov1" title="1">{ + <span class="cov4" title="9">if s := getenv("HEXAI_OLLAMA_MODEL"); s != "" </span><span class="cov1" title="1">{ out.OllamaModel = s any = true }</span> - <span class="cov4" title="8">if f, ok := parseFloatPtr("HEXAI_OLLAMA_TEMPERATURE"); ok </span><span class="cov1" title="1">{ + <span class="cov4" title="9">if f, ok := parseFloatPtr("HEXAI_OLLAMA_TEMPERATURE"); ok </span><span class="cov1" title="1">{ out.OllamaTemperature = f any = true }</span> - <span class="cov4" title="8">if s := getenv("HEXAI_COPILOT_BASE_URL"); s != "" </span><span class="cov1" title="1">{ + <span class="cov4" title="9">if s := getenv("HEXAI_COPILOT_BASE_URL"); s != "" </span><span class="cov1" title="1">{ out.CopilotBaseURL = s any = true }</span> - <span class="cov4" title="8">if s := getenv("HEXAI_COPILOT_MODEL"); s != "" </span><span class="cov1" title="1">{ + <span class="cov4" title="9">if s := getenv("HEXAI_COPILOT_MODEL"); s != "" </span><span class="cov1" title="1">{ out.CopilotModel = s any = true }</span> - <span class="cov4" title="8">if f, ok := parseFloatPtr("HEXAI_COPILOT_TEMPERATURE"); ok </span><span class="cov1" title="1">{ + <span class="cov4" title="9">if f, ok := parseFloatPtr("HEXAI_COPILOT_TEMPERATURE"); ok </span><span class="cov1" title="1">{ out.CopilotTemperature = f any = true }</span> - <span class="cov4" title="8">if !any </span><span class="cov4" title="7">{ + <span class="cov4" title="9">if !any </span><span class="cov4" title="8">{ return nil }</span> <span class="cov1" title="1">return &out</span> @@ -1125,16 +1349,16 @@ import ( ) // Render performs simple {{var}} replacement like LSP. -func Render(t string, vars map[string]string) string <span class="cov10" title="8">{ return textutil.RenderTemplate(t, vars) }</span> +func Render(t string, vars map[string]string) string <span class="cov9" title="8">{ return textutil.RenderTemplate(t, vars) }</span> // StripFences removes surrounding markdown code fences. -func StripFences(s string) string <span class="cov10" title="8">{ return textutil.StripCodeFences(s) }</span> +func StripFences(s string) string <span class="cov10" title="9">{ return textutil.StripCodeFences(s) }</span> type chatDoer interface { Chat(ctx context.Context, msgs []llm.Message, opts ...llm.RequestOption) (string, error) } -func runRewrite(ctx context.Context, cfg appconfig.App, client chatDoer, instruction, selection string) (string, error) <span class="cov4" title="2">{ +func runRewrite(ctx context.Context, cfg appconfig.App, client chatDoer, instruction, selection string) (string, error) <span class="cov3" title="2">{ sys := cfg.PromptCodeActionRewriteSystem user := Render(cfg.PromptCodeActionRewriteUser, map[string]string{"instruction": instruction, "selection": selection}) return runOnceWithOpts(ctx, client, sys, user, reqOptsFrom(cfg)) @@ -1142,11 +1366,11 @@ func runRewrite(ctx context.Context, cfg appconfig.App, client chatDoer, instruc func runDiagnostics(ctx context.Context, cfg appconfig.App, client chatDoer, diags []string, selection string) (string, error) <span class="cov1" title="1">{ var b strings.Builder - for i, d := range diags </span><span class="cov4" title="2">{ + for i, d := range diags </span><span class="cov3" title="2">{ if strings.TrimSpace(d) == "" </span><span class="cov0" title="0">{ continue</span> } - <span class="cov4" title="2">b.WriteString(strings.TrimSpace(d)) + <span class="cov3" title="2">b.WriteString(strings.TrimSpace(d)) if i < len(diags)-1 </span><span class="cov1" title="1">{ b.WriteString("\n") }</span> @@ -1156,47 +1380,47 @@ func runDiagnostics(ctx context.Context, cfg appconfig.App, client chatDoer, dia return runOnceWithOpts(ctx, client, sys, user, reqOptsFrom(cfg))</span> } -func runDocument(ctx context.Context, cfg appconfig.App, client chatDoer, selection string) (string, error) <span class="cov4" title="2">{ +func runDocument(ctx context.Context, cfg appconfig.App, client chatDoer, selection string) (string, error) <span class="cov3" title="2">{ sys := cfg.PromptCodeActionDocumentSystem user := Render(cfg.PromptCodeActionDocumentUser, map[string]string{"selection": selection}) return runOnceWithOpts(ctx, client, sys, user, reqOptsFrom(cfg)) }</span> -func runGoTest(ctx context.Context, cfg appconfig.App, client chatDoer, funcCode string) (string, error) <span class="cov4" title="2">{ +func runGoTest(ctx context.Context, cfg appconfig.App, client chatDoer, funcCode string) (string, error) <span class="cov3" title="2">{ sys := cfg.PromptCodeActionGoTestSystem user := Render(cfg.PromptCodeActionGoTestUser, map[string]string{"function": funcCode}) return runOnceWithOpts(ctx, client, sys, user, reqOptsFrom(cfg)) }</span> -func runOnce(ctx context.Context, client chatDoer, sys, user string) (string, error) <span class="cov0" title="0">{ +func runOnce(ctx context.Context, client chatDoer, sys, user string) (string, error) <span class="cov1" title="1">{ msgs := []llm.Message{{Role: "system", Content: sys}, {Role: "user", Content: user}} txt, err := client.Chat(ctx, msgs) if err != nil </span><span class="cov0" title="0">{ return "", err }</span> - <span class="cov0" title="0">return strings.TrimSpace(StripFences(txt)), nil</span> + <span class="cov1" title="1">return strings.TrimSpace(StripFences(txt)), nil</span> } -func runOnceWithOpts(ctx context.Context, client chatDoer, sys, user string, opts []llm.RequestOption) (string, error) <span class="cov9" title="7">{ +func runOnceWithOpts(ctx context.Context, client chatDoer, sys, user string, opts []llm.RequestOption) (string, error) <span class="cov8" title="7">{ msgs := []llm.Message{{Role: "system", Content: sys}, {Role: "user", Content: user}} txt, err := client.Chat(ctx, msgs, opts...) if err != nil </span><span class="cov0" title="0">{ return "", err }</span> - <span class="cov9" title="7">return strings.TrimSpace(StripFences(txt)), nil</span> + <span class="cov8" title="7">return strings.TrimSpace(StripFences(txt)), nil</span> } // reqOptsFrom builds LLM request options similar to LSP behavior. -func reqOptsFrom(cfg appconfig.App) []llm.RequestOption <span class="cov9" title="7">{ +func reqOptsFrom(cfg appconfig.App) []llm.RequestOption <span class="cov8" title="7">{ opts := []llm.RequestOption{llm.WithMaxTokens(cfg.MaxTokens)} if cfg.CodingTemperature != nil </span><span class="cov5" title="3">{ opts = append(opts, llm.WithTemperature(*cfg.CodingTemperature)) }</span> - <span class="cov9" title="7">return opts</span> + <span class="cov8" title="7">return opts</span> } // Timeout helpers to mirror LSP behavior. -func timeout10s(parent context.Context) (context.Context, context.CancelFunc) <span class="cov4" title="2">{ +func timeout10s(parent context.Context) (context.Context, context.CancelFunc) <span class="cov3" title="2">{ return context.WithTimeout(parent, 10*time.Second) }</span> @@ -1220,11 +1444,11 @@ import ( ) // Run executes the hexai-action command flow. -func Run(ctx context.Context, stdin io.Reader, stdout, stderr io.Writer) error <span class="cov0" title="0">{ +func Run(ctx context.Context, stdin io.Reader, stdout, stderr io.Writer) error <span class="cov1" title="1">{ logger := log.New(stderr, "hexai-action ", log.LstdFlags|log.Lmsgprefix) cfg := appconfig.Load(logger) client, err := llmutils.NewClientFromApp(cfg) - if err != nil </span><span class="cov0" title="0">{ + if err != nil </span><span class="cov1" title="1">{ fmt.Fprintf(stderr, logging.AnsiBase+"hexai-action: LLM disabled: %v"+logging.AnsiReset+"\n", err) return err }</span> @@ -1298,9 +1522,9 @@ type item struct { hotkey rune } -func (i item) Title() string <span class="cov0" title="0">{ return i.title }</span> -func (i item) Description() string <span class="cov0" title="0">{ return i.desc }</span> -func (i item) FilterValue() string <span class="cov1" title="1">{ return i.title }</span> +func (i item) Title() string <span class="cov1" title="1">{ return i.title }</span> +func (i item) Description() string <span class="cov1" title="1">{ return i.desc }</span> +func (i item) FilterValue() string <span class="cov8" title="3">{ return i.title }</span> type model struct { list list.Model @@ -1308,7 +1532,7 @@ type model struct { done bool } -func newModel() model <span class="cov10" title="3">{ +func newModel() model <span class="cov10" title="4">{ items := []list.Item{ item{title: "Rewrite selection", desc: "", kind: ActionRewrite, hotkey: 'r'}, item{title: "Document code", desc: "", kind: ActionDocument, hotkey: 'c'}, @@ -1323,21 +1547,21 @@ func newModel() model <span class="cov10" title="3">{ return model{list: l} }</span> -func (m model) Init() tea.Cmd <span class="cov0" title="0">{ return nil }</span> +func (m model) Init() tea.Cmd <span class="cov1" title="1">{ return nil }</span> -func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) <span class="cov0" title="0">{ +func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) <span class="cov1" title="1">{ switch msg := msg.(type) </span>{ case tea.KeyMsg:<span class="cov0" title="0"> return handleKey(m, msg)</span> - case tea.WindowSizeMsg:<span class="cov0" title="0"> + case tea.WindowSizeMsg:<span class="cov1" title="1"> m.list.SetSize(msg.Width, msg.Height)</span> } - <span class="cov0" title="0">var cmd tea.Cmd + <span class="cov1" title="1">var cmd tea.Cmd m.list, cmd = m.list.Update(msg) return m, cmd</span> } -func handleKey(m model, msg tea.KeyMsg) (tea.Model, tea.Cmd) <span class="cov10" title="3">{ +func handleKey(m model, msg tea.KeyMsg) (tea.Model, tea.Cmd) <span class="cov8" title="3">{ raw := msg.String() low := strings.ToLower(raw) switch low </span>{ @@ -1377,11 +1601,11 @@ func handleKey(m model, msg tea.KeyMsg) (tea.Model, tea.Cmd) <span class="cov10" <span class="cov1" title="1">return m, nil</span> } -func (m model) View() string <span class="cov0" title="0">{ +func (m model) View() string <span class="cov1" title="1">{ if m.done </span><span class="cov0" title="0">{ return "" }</span> - <span class="cov0" title="0">return m.list.View()</span> + <span class="cov1" title="1">return m.list.View()</span> } // RunTUI returns the chosen ActionKind. @@ -1420,21 +1644,21 @@ var ( cursorStyle = lipgloss.NewStyle().Bold(true) ) -func (oneLineDelegate) Height() int <span class="cov8" title="10">{ return 1 }</span> -func (oneLineDelegate) Spacing() int <span class="cov10" title="16">{ return 0 }</span> -func (oneLineDelegate) Update(tea.Msg, *list.Model) tea.Cmd <span class="cov0" title="0">{ return nil }</span> -func (oneLineDelegate) Render(w io.Writer, m list.Model, index int, listItem list.Item) <span class="cov1" title="1">{ +func (oneLineDelegate) Height() int <span class="cov8" title="14">{ return 1 }</span> +func (oneLineDelegate) Spacing() int <span class="cov10" title="24">{ return 0 }</span> +func (oneLineDelegate) Update(tea.Msg, *list.Model) tea.Cmd <span class="cov1" title="1">{ return nil }</span> +func (oneLineDelegate) Render(w io.Writer, m list.Model, index int, listItem list.Item) <span class="cov2" title="2">{ title := listItem.FilterValue() hk := '?' - if it, ok := listItem.(item); ok </span><span class="cov1" title="1">{ + if it, ok := listItem.(item); ok </span><span class="cov2" title="2">{ hk = it.hotkey }</span> - <span class="cov1" title="1">hot := hotStyle.Render(fmt.Sprintf(" (%c)", hk)) + <span class="cov2" title="2">hot := hotStyle.Render(fmt.Sprintf(" (%c)", hk)) cursor := " " - if index == m.Index() </span><span class="cov1" title="1">{ + if index == m.Index() </span><span class="cov2" title="2">{ cursor = cursorStyle.Render("> ") }</span> - <span class="cov1" title="1">fmt.Fprintf(w, "%s%s%s", cursor, title, hot)</span> + <span class="cov2" title="2">fmt.Fprintf(w, "%s%s%s", cursor, title, hot)</span> } </pre> @@ -2736,14 +2960,14 @@ type Config struct { // NewFromConfig creates an LLM client using only the supplied configuration. // The OpenAI API key is supplied separately and may be read from the environment // by the caller; other environment-based configuration is not used. -func NewFromConfig(cfg Config, openAIAPIKey, copilotAPIKey string) (Client, error) <span class="cov8" title="18">{ +func NewFromConfig(cfg Config, openAIAPIKey, copilotAPIKey string) (Client, error) <span class="cov8" title="19">{ p := strings.ToLower(strings.TrimSpace(cfg.Provider)) - if p == "" </span><span class="cov6" title="7">{ + if p == "" </span><span class="cov6" title="8">{ p = "openai" }</span> - <span class="cov8" title="18">switch p </span>{ - case "openai":<span class="cov7" title="11"> - if strings.TrimSpace(openAIAPIKey) == "" </span><span class="cov4" title="4">{ + <span class="cov8" title="19">switch p </span>{ + case "openai":<span class="cov7" title="12"> + if strings.TrimSpace(openAIAPIKey) == "" </span><span class="cov5" title="5">{ return nil, errors.New("missing OPENAI_API_KEY for provider openai") }</span> // Set coding-friendly default temperature if none provided @@ -2792,7 +3016,7 @@ import ( ) // NewClientFromApp builds an llm.Client using app config and environment keys. -func NewClientFromApp(cfg appconfig.App) (llm.Client, error) <span class="cov10" title="5">{ +func NewClientFromApp(cfg appconfig.App) (llm.Client, error) <span class="cov10" title="6">{ llmCfg := llm.Config{ Provider: cfg.Provider, OpenAIBaseURL: cfg.OpenAIBaseURL, @@ -2806,14 +3030,14 @@ func NewClientFromApp(cfg appconfig.App) (llm.Client, error) <span class="cov10" CopilotTemperature: cfg.CopilotTemperature, } oaKey := os.Getenv("HEXAI_OPENAI_API_KEY") - if strings.TrimSpace(oaKey) == "" </span><span class="cov8" title="4">{ + if strings.TrimSpace(oaKey) == "" </span><span class="cov9" title="5">{ oaKey = os.Getenv("OPENAI_API_KEY") }</span> - <span class="cov10" title="5">cpKey := os.Getenv("HEXAI_COPILOT_API_KEY") - if strings.TrimSpace(cpKey) == "" </span><span class="cov10" title="5">{ + <span class="cov10" title="6">cpKey := os.Getenv("HEXAI_COPILOT_API_KEY") + if strings.TrimSpace(cpKey) == "" </span><span class="cov10" title="6">{ cpKey = os.Getenv("COPILOT_API_KEY") }</span> - <span class="cov10" title="5">return llm.NewFromConfig(llmCfg, oaKey, cpKey)</span> + <span class="cov10" title="6">return llm.NewFromConfig(llmCfg, oaKey, cpKey)</span> } </pre> @@ -5752,26 +5976,26 @@ func RenderTemplate(t string, vars map[string]string) string <span class="cov8" } // StripCodeFences removes surrounding Markdown triple-backtick fences. -func StripCodeFences(s string) string <span class="cov8" title="49">{ +func StripCodeFences(s string) string <span class="cov8" title="50">{ t := strings.TrimSpace(s) if t == "" </span><span class="cov0" title="0">{ return t }</span> - <span class="cov8" title="49">lines := strings.Split(t, "\n") + <span class="cov8" title="50">lines := strings.Split(t, "\n") start := 0 for start < len(lines) && strings.TrimSpace(lines[start]) == "" </span><span class="cov0" title="0">{ start++ }</span> - <span class="cov8" title="49">end := len(lines) - 1 + <span class="cov8" title="50">end := len(lines) - 1 for end >= 0 && strings.TrimSpace(lines[end]) == "" </span><span class="cov0" title="0">{ end-- }</span> - <span class="cov8" title="49">if start >= len(lines) || end < 0 || start > end </span><span class="cov0" title="0">{ + <span class="cov8" title="50">if start >= len(lines) || end < 0 || start > end </span><span class="cov0" title="0">{ return t }</span> - <span class="cov8" title="49">first := strings.TrimSpace(lines[start]) + <span class="cov8" title="50">first := strings.TrimSpace(lines[start]) last := strings.TrimSpace(lines[end]) - if strings.HasPrefix(first, "```") && last == "```" && end > start </span><span class="cov6" title="19">{ + if strings.HasPrefix(first, "```") && last == "```" && end > start </span><span class="cov6" title="20">{ inner := strings.Join(lines[start+1:end], "\n") return inner }</span> @@ -5851,6 +6075,93 @@ func FindStrictInlineTag(line string) (text string, left, right int, ok bool) <s </pre> + <pre class="file" id="file32" style="display: none">package tmux + +import ( + "os" + "os/exec" + "strconv" + "strings" +) + +// Available reports whether tmux is available and we appear to be in a tmux session. +func Available() bool <span class="cov2" title="2">{ return HasBinary() && InSession() }</span> + +// HasBinary reports whether the tmux binary is on PATH. +var lookPath = exec.LookPath +var command = exec.Command + +func HasBinary() bool <span class="cov4" title="4">{ _, err := lookPath("tmux"); return err == nil }</span> + +// InSession reports whether we seem to be running inside a tmux session. +func InSession() bool <span class="cov4" title="3">{ return strings.TrimSpace(os.Getenv("TMUX")) != "" }</span> + +// SplitOpts controls how a new pane is created for running a command. +type SplitOpts struct { + Target string // optional pane target, e.g. ":." + Vertical bool // true => split vertically (-v); false => horizontally (-h) + Percent int // 1..100; 0 means use tmux default +} + +// SplitRun splits the current tmux window and runs argv in the new pane. +// It returns once tmux has launched the child process. +func SplitRun(opts SplitOpts, argv []string) error <span class="cov1" title="1">{ + if len(argv) == 0 </span><span class="cov0" title="0">{ + return nil + }</span> + <span class="cov1" title="1">args := []string{"split-window"} + if opts.Vertical </span><span class="cov1" title="1">{ + args = append(args, "-v") + }</span> else<span class="cov0" title="0"> { + args = append(args, "-h") + }</span> + <span class="cov1" title="1">if opts.Percent > 0 && opts.Percent <= 100 </span><span class="cov1" title="1">{ + args = append(args, "-p", strconv.Itoa(opts.Percent)) + }</span> + <span class="cov1" title="1">if strings.TrimSpace(opts.Target) != "" </span><span class="cov1" title="1">{ + args = append(args, "-t", opts.Target) + }</span> + // tmux takes a single command string. Use a conservative shell join. + <span class="cov1" title="1">cmdStr := shellJoin(argv) + args = append(args, cmdStr) + c := command("tmux", args...) + return c.Run()</span> +} + +// shellJoin quotes argv elements for safe use in a single shell command string. +// It avoids interpretation by wrapping in single quotes and escaping embedded single quotes. +func shellJoin(argv []string) string <span class="cov1" title="1">{ + out := make([]string, 0, len(argv)) + for _, a := range argv </span><span class="cov4" title="4">{ + if a == "" </span><span class="cov0" title="0">{ + out = append(out, "''") + continue</span> + } + <span class="cov4" title="4">if isSafeBare(a) </span><span class="cov2" title="2">{ + out = append(out, a) + continue</span> + } + // single-quote wrapping with escaped single quotes + // ' => '\'' (close, escaped quote, reopen) + <span class="cov2" title="2">esc := strings.ReplaceAll(a, "'", "'\\''") + out = append(out, "'"+esc+"'")</span> + } + <span class="cov1" title="1">return strings.Join(out, " ")</span> +} + +// isSafeBare returns true if a contains only safe characters for bare words. +func isSafeBare(s string) bool <span class="cov4" title="4">{ + for i := 0; i < len(s); i++ </span><span class="cov10" title="27">{ + b := s[i] + if (b >= 'a' && b <= 'z') || (b >= 'A' && b <= 'Z') || (b >= '0' && b <= '9') || b == '-' || b == '_' || b == '.' || b == '/' || b == ':' </span><span class="cov9" title="25">{ + continue</span> + } + <span class="cov2" title="2">return false</span> + } + <span class="cov2" title="2">return true</span> +} +</pre> + </div> </body> <script> diff --git a/docs/coverage.out b/docs/coverage.out index 36d1f38..59e9205 100644 --- a/docs/coverage.out +++ b/docs/coverage.out @@ -1,6 +1,4 @@ mode: atomic -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:11.13,12.94 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:12.94,15.3 2 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:14.13,17.18 3 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:22.2,22.104 1 0 @@ -9,8 +7,104 @@ codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:13.13,17.18 4 1 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:17.18,20.3 2 1 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.2,22.79 1 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.79,24.3 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:11.13,12.94 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:12.94,15.3 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:17.13,30.14 10 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:30.14,31.53 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:31.53,34.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:35.3,35.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.2,39.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.42,40.80 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:40.80,43.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:44.3,44.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.2,48.51 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.51,50.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:50.17,53.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:54.3,56.88 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:56.88,59.10 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:60.9,60.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.2,64.55 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.55,67.3 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:71.83,74.20 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:74.21,74.22 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.2,75.21 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.22,75.23 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.2,77.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.32,79.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:79.17,80.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.29,80.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.40,80.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:82.3,83.20 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:83.20,83.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.2,85.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.33,87.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:87.17,88.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.29,88.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.40,88.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:90.3,91.21 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:91.21,91.38 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:93.2,93.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:99.45,100.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:100.19,103.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:103.17,105.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:106.3,108.72 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:110.2,112.16 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:112.16,114.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:115.2,116.84 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:116.84,119.64 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:119.64,121.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:122.8,124.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:125.2,125.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:133.51,134.12 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:134.12,136.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.2,137.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.15,139.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.5,141.82 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.82,143.6 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:144.2,144.14 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:147.29,147.64 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:149.63,152.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:152.16,154.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.2,155.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.15,155.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:156.2,159.45 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:159.45,161.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:163.2,164.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:164.16,166.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:167.2,170.47 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:170.47,172.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.2,174.61 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.61,176.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:178.2,178.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:181.38,183.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:183.16,185.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.2,186.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.15,186.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.2,187.48 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.48,189.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:190.2,190.17 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:193.60,195.6 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:195.6,196.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:196.42,198.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.3,199.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.33,201.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:202.3,202.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:206.41,208.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:208.16,210.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.2,211.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.15,211.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:212.2,213.12 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:216.48,220.18 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:220.18,222.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:222.17,224.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.3,225.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.16,225.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:226.3,226.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.2,228.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.19,230.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:230.17,232.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.3,233.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.16,233.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:234.3,234.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:236.2,237.12 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:89.29,136.2 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:140.35,142.19 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:142.19,144.3 1 0 @@ -1617,280 +1711,401 @@ codeberg.org/snonux/hexai/internal/textutil/textutil.go:106.49,106.59 1 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:107.17,108.32 2 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:108.32,108.64 1 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:112.5,112.29 1 0 -codeberg.org/snonux/hexai/cmd/hexai/main.go:14.13,17.18 3 0 -codeberg.org/snonux/hexai/cmd/hexai/main.go:17.18,20.3 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:11.23,11.60 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:17.23,17.72 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:20.23,20.76 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:31.52,32.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:32.20,34.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:35.2,36.19 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:36.19,38.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:38.8,40.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.2,41.45 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.45,43.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.2,44.42 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.42,46.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:48.2,51.19 4 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:56.38,58.25 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:58.25,59.14 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:59.14,61.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.3,63.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.20,65.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:69.3,70.33 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:72.2,72.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:76.32,77.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:77.30,79.141 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:79.141,80.12 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:82.3,82.15 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:84.2,84.13 1 0 +codeberg.org/snonux/hexai/cmd/hexai/main.go:14.13,17.18 3 1 +codeberg.org/snonux/hexai/cmd/hexai/main.go:17.18,20.3 2 1 codeberg.org/snonux/hexai/cmd/hexai/main.go:22.2,22.104 1 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:22.104,24.3 1 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:13.13,17.18 4 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.2,22.79 1 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.79,24.3 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:11.13,12.94 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:12.94,15.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:89.29,136.2 2 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:140.35,142.19 2 6 -codeberg.org/snonux/hexai/internal/appconfig/config.go:142.19,144.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:146.2,147.16 2 5 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:17.13,30.14 10 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:30.14,31.53 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:31.53,34.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:35.3,35.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.2,39.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.42,40.80 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:40.80,43.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:44.3,44.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.2,48.51 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.51,50.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:50.17,53.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:54.3,56.88 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:56.88,59.10 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:60.9,60.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.2,64.55 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.55,67.3 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:71.83,74.20 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:74.21,74.22 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.2,75.21 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.22,75.23 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.2,77.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.32,79.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:79.17,80.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.29,80.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.40,80.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:82.3,83.20 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:83.20,83.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.2,85.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.33,87.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:87.17,88.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.29,88.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.40,88.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:90.3,91.21 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:91.21,91.38 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:93.2,93.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:99.45,100.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:100.19,103.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:103.17,105.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:106.3,108.72 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:110.2,112.16 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:112.16,114.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:115.2,116.84 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:116.84,119.64 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:119.64,121.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:122.8,124.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:125.2,125.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:133.51,134.12 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:134.12,136.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.2,137.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.15,139.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.5,141.82 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.82,143.6 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:144.2,144.14 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:147.29,147.64 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:149.63,152.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:152.16,154.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.2,155.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.15,155.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:156.2,159.45 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:159.45,161.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:163.2,164.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:164.16,166.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:167.2,170.47 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:170.47,172.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.2,174.61 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.61,176.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:178.2,178.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:181.38,183.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:183.16,185.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.2,186.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.15,186.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.2,187.48 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.48,189.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:190.2,190.17 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:193.60,195.6 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:195.6,196.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:196.42,198.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.3,199.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.33,201.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:202.3,202.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:206.41,208.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:208.16,210.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.2,211.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.15,211.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:212.2,213.12 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:216.48,220.18 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:220.18,222.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:222.17,224.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.3,225.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.16,225.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:226.3,226.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.2,228.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.19,230.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:230.17,232.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.3,233.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.16,233.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:234.3,234.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:236.2,237.12 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:89.29,136.2 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:140.35,142.19 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:142.19,144.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:146.2,147.16 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:147.16,150.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:150.8,151.85 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:151.85,153.4 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:159.2,159.50 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:159.50,161.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:162.2,162.12 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:278.35,282.77 2 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:282.77,291.3 2 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:294.2,294.38 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:294.38,297.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:300.2,300.44 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:300.44,307.3 2 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:310.2,310.44 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:310.44,313.3 2 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:316.2,316.36 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:316.36,319.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:322.2,322.82 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:322.82,325.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:328.2,328.47 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:328.47,331.3 2 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:334.2,334.68 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:334.68,341.3 2 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:344.2,344.71 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:344.71,351.3 2 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:354.2,354.68 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:354.68,361.3 2 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:365.2,365.59 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:365.59,366.67 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:366.67,368.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:369.3,369.66 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:369.66,371.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:372.3,372.66 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:372.66,374.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:375.3,375.65 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:375.65,377.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:378.3,378.64 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:378.64,380.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:381.3,381.65 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:381.65,383.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:386.2,386.53 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:386.53,388.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:390.2,390.59 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:390.59,391.67 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:391.67,393.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:394.3,394.71 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:394.71,396.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:397.3,397.68 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:397.68,399.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:400.3,400.65 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:400.65,402.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:403.3,403.69 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:403.69,405.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:406.3,406.66 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:406.66,408.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:409.3,409.66 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:409.66,411.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:412.3,412.64 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:412.64,414.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:417.2,417.45 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:417.45,418.60 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:418.60,420.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:421.3,421.60 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:421.60,423.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:426.2,426.67 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:426.67,428.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:430.2,430.12 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:433.66,435.16 2 6 -codeberg.org/snonux/hexai/internal/appconfig/config.go:435.16,436.43 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:150.8,151.85 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:151.85,153.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:159.2,159.50 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:159.50,161.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:162.2,162.12 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:278.35,282.77 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:282.77,291.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:294.2,294.38 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:294.38,297.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:300.2,300.44 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:300.44,307.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:310.2,310.44 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:310.44,313.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:316.2,316.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:316.36,319.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:322.2,322.82 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:322.82,325.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:328.2,328.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:328.47,331.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:334.2,334.68 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:334.68,341.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:344.2,344.71 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:344.71,351.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:354.2,354.68 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:354.68,361.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:365.2,365.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:365.59,366.67 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:366.67,368.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:369.3,369.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:369.66,371.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:372.3,372.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:372.66,374.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:375.3,375.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:375.65,377.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:378.3,378.64 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:378.64,380.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:381.3,381.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:381.65,383.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:386.2,386.53 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:386.53,388.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:390.2,390.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:390.59,391.67 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:391.67,393.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:394.3,394.71 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:394.71,396.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:397.3,397.68 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:397.68,399.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:400.3,400.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:400.65,402.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:403.3,403.69 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:403.69,405.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:406.3,406.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:406.66,408.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:409.3,409.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:409.66,411.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:412.3,412.64 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:412.64,414.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:417.2,417.45 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:417.45,418.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:418.60,420.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:421.3,421.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:421.60,423.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:426.2,426.67 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:426.67,428.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:430.2,430.12 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:433.66,435.16 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:435.16,436.43 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:436.43,438.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:439.3,439.18 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:442.2,447.22 5 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:447.22,448.20 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:448.20,450.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:451.3,451.24 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:455.2,464.21 2 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:464.21,465.216 1 27 -codeberg.org/snonux/hexai/internal/appconfig/config.go:465.216,466.12 1 27 +codeberg.org/snonux/hexai/internal/appconfig/config.go:439.3,439.18 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:442.2,447.22 5 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:447.22,448.20 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:448.20,450.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:451.3,451.24 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:455.2,464.21 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:464.21,465.216 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:465.216,466.12 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:468.3,468.41 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:468.41,470.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:473.2,473.19 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:473.19,475.3 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:479.2,481.53 2 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:481.53,482.59 1 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:482.59,483.26 1 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:484.15,485.40 1 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:473.2,473.19 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:473.19,475.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:479.2,481.53 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:481.53,482.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:482.59,483.26 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:484.15,485.40 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:486.13,487.35 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:488.17,489.40 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:493.2,493.50 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:493.50,494.52 1 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:494.52,495.26 1 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:496.15,497.34 1 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:493.2,493.50 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:493.50,494.52 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:494.52,495.26 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:496.15,497.34 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:498.13,499.29 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:500.17,501.34 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:505.2,505.18 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:508.37,512.2 3 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:515.39,516.25 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:516.25,518.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:519.2,519.56 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:519.56,521.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:522.2,522.34 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:522.34,524.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:525.2,525.32 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:525.32,527.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:528.2,528.32 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:528.32,530.3 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:531.2,531.36 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:531.36,533.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:534.2,534.38 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:534.38,536.3 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:537.2,537.36 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:537.36,539.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:540.2,540.36 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:540.36,542.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:543.2,543.38 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:543.38,545.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:546.2,546.55 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:546.55,548.3 1 2 -codeberg.org/snonux/hexai/internal/appconfig/config.go:549.2,549.56 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:549.56,551.3 1 2 -codeberg.org/snonux/hexai/internal/appconfig/config.go:552.2,552.55 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:552.55,554.3 1 2 -codeberg.org/snonux/hexai/internal/appconfig/config.go:555.2,555.33 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:555.33,557.3 1 2 -codeberg.org/snonux/hexai/internal/appconfig/config.go:558.2,558.53 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:558.53,560.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:564.40,566.66 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:566.66,568.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:569.2,569.65 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:569.65,571.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:572.2,572.65 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:572.65,574.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:575.2,575.64 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:575.64,577.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:578.2,578.63 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:578.63,580.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:581.2,581.64 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:581.64,583.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:585.2,585.59 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:585.59,587.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:589.2,589.53 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:589.53,591.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:593.2,593.66 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:593.66,595.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:596.2,596.70 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:596.70,598.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:599.2,599.67 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:599.67,601.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:602.2,602.64 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:602.64,604.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:605.2,605.68 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:605.68,607.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:608.2,608.65 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:608.65,610.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:611.2,611.65 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:611.65,613.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:614.2,614.63 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:614.63,616.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:618.2,618.59 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:618.59,620.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:621.2,621.59 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:621.59,623.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:627.47,628.58 1 14 -codeberg.org/snonux/hexai/internal/appconfig/config.go:628.58,630.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:631.2,631.56 1 14 -codeberg.org/snonux/hexai/internal/appconfig/config.go:631.56,633.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:634.2,634.36 1 14 -codeberg.org/snonux/hexai/internal/appconfig/config.go:634.36,636.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:637.2,637.58 1 14 -codeberg.org/snonux/hexai/internal/appconfig/config.go:637.58,639.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:640.2,640.56 1 14 -codeberg.org/snonux/hexai/internal/appconfig/config.go:640.56,642.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:643.2,643.36 1 14 -codeberg.org/snonux/hexai/internal/appconfig/config.go:643.36,645.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:646.2,646.59 1 14 -codeberg.org/snonux/hexai/internal/appconfig/config.go:646.59,648.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:649.2,649.57 1 14 -codeberg.org/snonux/hexai/internal/appconfig/config.go:649.57,651.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:652.2,652.37 1 14 -codeberg.org/snonux/hexai/internal/appconfig/config.go:652.37,654.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:657.38,659.72 2 6 -codeberg.org/snonux/hexai/internal/appconfig/config.go:659.72,661.3 1 6 +codeberg.org/snonux/hexai/internal/appconfig/config.go:505.2,505.18 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:508.37,512.2 3 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:515.39,516.25 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:516.25,518.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:519.2,519.56 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:519.56,521.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:522.2,522.34 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:522.34,524.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:525.2,525.32 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:525.32,527.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:528.2,528.32 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:528.32,530.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:531.2,531.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:531.36,533.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:534.2,534.38 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:534.38,536.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:537.2,537.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:537.36,539.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:540.2,540.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:540.36,542.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:543.2,543.38 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:543.38,545.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:546.2,546.55 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:546.55,548.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:549.2,549.56 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:549.56,551.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:552.2,552.55 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:552.55,554.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:555.2,555.33 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:555.33,557.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:558.2,558.53 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:558.53,560.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:564.40,566.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:566.66,568.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:569.2,569.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:569.65,571.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:572.2,572.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:572.65,574.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:575.2,575.64 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:575.64,577.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:578.2,578.63 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:578.63,580.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:581.2,581.64 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:581.64,583.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:585.2,585.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:585.59,587.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:589.2,589.53 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:589.53,591.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:593.2,593.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:593.66,595.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:596.2,596.70 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:596.70,598.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:599.2,599.67 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:599.67,601.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:602.2,602.64 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:602.64,604.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:605.2,605.68 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:605.68,607.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:608.2,608.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:608.65,610.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:611.2,611.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:611.65,613.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:614.2,614.63 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:614.63,616.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:618.2,618.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:618.59,620.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:621.2,621.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:621.59,623.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:627.47,628.58 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:628.58,630.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:631.2,631.56 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:631.56,633.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:634.2,634.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:634.36,636.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:637.2,637.58 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:637.58,639.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:640.2,640.56 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:640.56,642.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:643.2,643.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:643.36,645.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:646.2,646.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:646.59,648.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:649.2,649.57 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:649.57,651.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:652.2,652.37 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:652.37,654.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:657.38,659.72 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:659.72,661.3 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:661.8,663.17 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:663.17,665.4 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:666.3,666.70 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:668.2,668.24 1 6 -codeberg.org/snonux/hexai/internal/appconfig/config.go:675.43,680.34 3 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:680.34,680.76 1 120 -codeberg.org/snonux/hexai/internal/appconfig/config.go:681.2,681.41 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:681.41,683.14 2 35 -codeberg.org/snonux/hexai/internal/appconfig/config.go:683.14,685.4 1 28 -codeberg.org/snonux/hexai/internal/appconfig/config.go:686.3,687.17 2 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:668.2,668.24 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:675.43,680.34 3 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:680.34,680.76 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:681.2,681.41 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:681.41,683.14 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:683.14,685.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:686.3,687.17 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:687.17,688.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:688.21,690.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:691.4,691.19 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:693.3,693.17 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:695.2,695.51 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:695.51,697.14 2 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:697.14,699.4 1 16 -codeberg.org/snonux/hexai/internal/appconfig/config.go:700.3,701.17 2 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:693.3,693.17 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:695.2,695.51 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:695.51,697.14 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:697.14,699.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:700.3,701.17 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:701.17,702.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:702.21,704.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:705.4,705.21 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:707.3,707.18 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:710.2,710.47 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:710.47,713.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:714.2,714.48 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:714.48,717.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:718.2,718.57 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:718.57,721.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:722.2,722.55 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:722.55,725.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:726.2,726.54 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:726.54,729.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:730.2,730.61 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:730.61,733.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:734.2,734.59 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:734.59,737.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:738.2,738.59 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:738.59,741.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:742.2,742.60 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:742.60,745.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:746.2,746.54 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:746.54,749.27 3 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:749.27,750.42 1 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:750.42,752.5 1 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:754.3,754.13 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:756.2,756.47 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:707.3,707.18 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:710.2,710.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:710.47,713.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:714.2,714.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:714.48,717.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:718.2,718.57 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:718.57,721.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:722.2,722.55 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:722.55,725.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:726.2,726.54 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:726.54,729.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:730.2,730.61 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:730.61,733.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:734.2,734.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:734.59,737.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:738.2,738.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:738.59,741.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:742.2,742.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:742.60,745.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:746.2,746.54 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:746.54,749.27 3 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:749.27,750.42 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:750.42,752.5 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:754.3,754.13 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:756.2,756.47 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:756.47,759.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:760.2,760.48 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:760.2,760.48 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:760.48,763.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:764.2,764.47 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:764.2,764.47 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:764.47,767.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:768.2,768.49 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:768.2,768.49 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:768.49,771.27 3 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:771.27,772.42 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:772.42,774.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:776.3,776.13 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:778.2,778.44 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:778.44,781.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:784.2,784.51 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:784.51,787.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:788.2,788.48 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:788.48,791.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:792.2,792.60 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:792.60,795.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:797.2,797.51 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:797.51,800.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:801.2,801.48 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:801.48,804.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:805.2,805.60 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:805.60,808.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:810.2,810.52 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:810.52,813.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:814.2,814.49 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:814.49,817.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:818.2,818.61 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:818.61,821.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:823.2,823.10 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:823.10,825.3 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:826.2,826.13 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:778.2,778.44 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:778.44,781.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:784.2,784.51 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:784.51,787.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:788.2,788.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:788.48,791.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:792.2,792.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:792.60,795.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:797.2,797.51 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:797.51,800.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:801.2,801.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:801.48,804.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:805.2,805.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:805.60,808.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:810.2,810.52 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:810.52,813.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:814.2,814.49 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:814.49,817.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:818.2,818.61 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:818.61,821.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:823.2,823.10 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:823.10,825.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:826.2,826.13 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:20.50,22.16 2 0 codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:22.16,24.3 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:25.2,26.15 2 0 @@ -3233,280 +3448,401 @@ codeberg.org/snonux/hexai/internal/textutil/textutil.go:106.49,106.59 1 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:107.17,108.32 2 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:108.32,108.64 1 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:112.5,112.29 1 0 -codeberg.org/snonux/hexai/cmd/hexai/main.go:14.13,17.18 3 1 -codeberg.org/snonux/hexai/cmd/hexai/main.go:17.18,20.3 2 1 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:11.23,11.60 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:17.23,17.72 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:20.23,20.76 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:31.52,32.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:32.20,34.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:35.2,36.19 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:36.19,38.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:38.8,40.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.2,41.45 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.45,43.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.2,44.42 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.42,46.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:48.2,51.19 4 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:56.38,58.25 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:58.25,59.14 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:59.14,61.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.3,63.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.20,65.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:69.3,70.33 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:72.2,72.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:76.32,77.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:77.30,79.141 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:79.141,80.12 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:82.3,82.15 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:84.2,84.13 1 0 +codeberg.org/snonux/hexai/cmd/hexai/main.go:14.13,17.18 3 0 +codeberg.org/snonux/hexai/cmd/hexai/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:22.2,22.104 1 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:22.104,24.3 1 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:13.13,17.18 4 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.2,22.79 1 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.79,24.3 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:11.13,12.94 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:12.94,15.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:89.29,136.2 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:140.35,142.19 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:142.19,144.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:146.2,147.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:17.13,30.14 10 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:30.14,31.53 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:31.53,34.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:35.3,35.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.2,39.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.42,40.80 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:40.80,43.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:44.3,44.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.2,48.51 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.51,50.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:50.17,53.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:54.3,56.88 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:56.88,59.10 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:60.9,60.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.2,64.55 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.55,67.3 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:71.83,74.20 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:74.21,74.22 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.2,75.21 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.22,75.23 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.2,77.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.32,79.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:79.17,80.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.29,80.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.40,80.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:82.3,83.20 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:83.20,83.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.2,85.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.33,87.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:87.17,88.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.29,88.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.40,88.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:90.3,91.21 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:91.21,91.38 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:93.2,93.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:99.45,100.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:100.19,103.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:103.17,105.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:106.3,108.72 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:110.2,112.16 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:112.16,114.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:115.2,116.84 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:116.84,119.64 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:119.64,121.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:122.8,124.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:125.2,125.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:133.51,134.12 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:134.12,136.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.2,137.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.15,139.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.5,141.82 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.82,143.6 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:144.2,144.14 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:147.29,147.64 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:149.63,152.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:152.16,154.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.2,155.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.15,155.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:156.2,159.45 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:159.45,161.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:163.2,164.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:164.16,166.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:167.2,170.47 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:170.47,172.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.2,174.61 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.61,176.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:178.2,178.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:181.38,183.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:183.16,185.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.2,186.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.15,186.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.2,187.48 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.48,189.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:190.2,190.17 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:193.60,195.6 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:195.6,196.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:196.42,198.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.3,199.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.33,201.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:202.3,202.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:206.41,208.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:208.16,210.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.2,211.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.15,211.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:212.2,213.12 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:216.48,220.18 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:220.18,222.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:222.17,224.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.3,225.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.16,225.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:226.3,226.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.2,228.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.19,230.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:230.17,232.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.3,233.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.16,233.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:234.3,234.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:236.2,237.12 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:89.29,136.2 2 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:140.35,142.19 2 6 +codeberg.org/snonux/hexai/internal/appconfig/config.go:142.19,144.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:146.2,147.16 2 5 codeberg.org/snonux/hexai/internal/appconfig/config.go:147.16,150.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:150.8,151.85 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:151.85,153.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:159.2,159.50 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:159.50,161.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:162.2,162.12 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:278.35,282.77 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:282.77,291.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:294.2,294.38 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:294.38,297.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:300.2,300.44 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:300.44,307.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:310.2,310.44 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:310.44,313.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:316.2,316.36 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:316.36,319.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:322.2,322.82 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:322.82,325.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:328.2,328.47 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:328.47,331.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:334.2,334.68 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:334.68,341.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:344.2,344.71 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:344.71,351.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:354.2,354.68 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:354.68,361.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:365.2,365.59 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:365.59,366.67 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:366.67,368.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:369.3,369.66 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:369.66,371.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:372.3,372.66 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:372.66,374.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:375.3,375.65 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:375.65,377.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:378.3,378.64 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:378.64,380.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:381.3,381.65 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:381.65,383.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:386.2,386.53 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:386.53,388.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:390.2,390.59 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:390.59,391.67 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:391.67,393.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:394.3,394.71 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:394.71,396.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:397.3,397.68 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:397.68,399.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:400.3,400.65 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:400.65,402.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:403.3,403.69 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:403.69,405.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:406.3,406.66 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:406.66,408.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:409.3,409.66 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:409.66,411.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:412.3,412.64 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:412.64,414.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:417.2,417.45 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:417.45,418.60 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:418.60,420.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:421.3,421.60 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:421.60,423.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:426.2,426.67 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:426.67,428.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:430.2,430.12 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:433.66,435.16 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:435.16,436.43 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:150.8,151.85 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:151.85,153.4 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:159.2,159.50 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:159.50,161.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:162.2,162.12 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:278.35,282.77 2 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:282.77,291.3 2 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:294.2,294.38 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:294.38,297.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:300.2,300.44 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:300.44,307.3 2 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:310.2,310.44 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:310.44,313.3 2 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:316.2,316.36 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:316.36,319.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:322.2,322.82 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:322.82,325.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:328.2,328.47 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:328.47,331.3 2 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:334.2,334.68 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:334.68,341.3 2 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:344.2,344.71 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:344.71,351.3 2 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:354.2,354.68 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:354.68,361.3 2 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:365.2,365.59 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:365.59,366.67 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:366.67,368.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:369.3,369.66 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:369.66,371.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:372.3,372.66 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:372.66,374.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:375.3,375.65 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:375.65,377.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:378.3,378.64 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:378.64,380.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:381.3,381.65 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:381.65,383.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:386.2,386.53 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:386.53,388.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:390.2,390.59 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:390.59,391.67 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:391.67,393.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:394.3,394.71 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:394.71,396.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:397.3,397.68 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:397.68,399.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:400.3,400.65 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:400.65,402.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:403.3,403.69 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:403.69,405.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:406.3,406.66 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:406.66,408.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:409.3,409.66 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:409.66,411.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:412.3,412.64 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:412.64,414.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:417.2,417.45 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:417.45,418.60 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:418.60,420.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:421.3,421.60 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:421.60,423.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:426.2,426.67 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:426.67,428.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:430.2,430.12 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:433.66,435.16 2 6 +codeberg.org/snonux/hexai/internal/appconfig/config.go:435.16,436.43 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:436.43,438.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:439.3,439.18 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:442.2,447.22 5 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:447.22,448.20 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:448.20,450.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:451.3,451.24 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:455.2,464.21 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:464.21,465.216 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:465.216,466.12 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:439.3,439.18 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:442.2,447.22 5 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:447.22,448.20 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:448.20,450.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:451.3,451.24 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:455.2,464.21 2 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:464.21,465.216 1 27 +codeberg.org/snonux/hexai/internal/appconfig/config.go:465.216,466.12 1 27 codeberg.org/snonux/hexai/internal/appconfig/config.go:468.3,468.41 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:468.41,470.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:473.2,473.19 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:473.19,475.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:479.2,481.53 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:481.53,482.59 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:482.59,483.26 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:484.15,485.40 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:473.2,473.19 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:473.19,475.3 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:479.2,481.53 2 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:481.53,482.59 1 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:482.59,483.26 1 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:484.15,485.40 1 3 codeberg.org/snonux/hexai/internal/appconfig/config.go:486.13,487.35 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:488.17,489.40 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:493.2,493.50 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:493.50,494.52 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:494.52,495.26 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:496.15,497.34 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:493.2,493.50 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:493.50,494.52 1 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:494.52,495.26 1 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:496.15,497.34 1 3 codeberg.org/snonux/hexai/internal/appconfig/config.go:498.13,499.29 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:500.17,501.34 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:505.2,505.18 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:508.37,512.2 3 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:515.39,516.25 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:516.25,518.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:519.2,519.56 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:519.56,521.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:522.2,522.34 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:522.34,524.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:525.2,525.32 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:525.32,527.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:528.2,528.32 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:528.32,530.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:531.2,531.36 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:531.36,533.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:534.2,534.38 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:534.38,536.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:537.2,537.36 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:537.36,539.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:540.2,540.36 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:540.36,542.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:543.2,543.38 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:543.38,545.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:546.2,546.55 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:546.55,548.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:549.2,549.56 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:549.56,551.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:552.2,552.55 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:552.55,554.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:555.2,555.33 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:555.33,557.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:558.2,558.53 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:558.53,560.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:564.40,566.66 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:566.66,568.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:569.2,569.65 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:569.65,571.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:572.2,572.65 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:572.65,574.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:575.2,575.64 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:575.64,577.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:578.2,578.63 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:578.63,580.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:581.2,581.64 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:581.64,583.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:585.2,585.59 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:585.59,587.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:589.2,589.53 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:589.53,591.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:593.2,593.66 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:593.66,595.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:596.2,596.70 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:596.70,598.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:599.2,599.67 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:599.67,601.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:602.2,602.64 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:602.64,604.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:605.2,605.68 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:605.68,607.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:608.2,608.65 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:608.65,610.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:611.2,611.65 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:611.65,613.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:614.2,614.63 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:614.63,616.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:618.2,618.59 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:618.59,620.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:621.2,621.59 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:621.59,623.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:627.47,628.58 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:628.58,630.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:631.2,631.56 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:631.56,633.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:634.2,634.36 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:634.36,636.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:637.2,637.58 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:637.58,639.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:640.2,640.56 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:640.56,642.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:643.2,643.36 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:643.36,645.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:646.2,646.59 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:646.59,648.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:649.2,649.57 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:649.57,651.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:652.2,652.37 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:652.37,654.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:657.38,659.72 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:659.72,661.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:505.2,505.18 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:508.37,512.2 3 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:515.39,516.25 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:516.25,518.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:519.2,519.56 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:519.56,521.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:522.2,522.34 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:522.34,524.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:525.2,525.32 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:525.32,527.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:528.2,528.32 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:528.32,530.3 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:531.2,531.36 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:531.36,533.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:534.2,534.38 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:534.38,536.3 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:537.2,537.36 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:537.36,539.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:540.2,540.36 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:540.36,542.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:543.2,543.38 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:543.38,545.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:546.2,546.55 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:546.55,548.3 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:549.2,549.56 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:549.56,551.3 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:552.2,552.55 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:552.55,554.3 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:555.2,555.33 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:555.33,557.3 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:558.2,558.53 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:558.53,560.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:564.40,566.66 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:566.66,568.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:569.2,569.65 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:569.65,571.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:572.2,572.65 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:572.65,574.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:575.2,575.64 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:575.64,577.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:578.2,578.63 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:578.63,580.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:581.2,581.64 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:581.64,583.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:585.2,585.59 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:585.59,587.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:589.2,589.53 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:589.53,591.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:593.2,593.66 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:593.66,595.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:596.2,596.70 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:596.70,598.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:599.2,599.67 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:599.67,601.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:602.2,602.64 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:602.64,604.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:605.2,605.68 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:605.68,607.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:608.2,608.65 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:608.65,610.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:611.2,611.65 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:611.65,613.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:614.2,614.63 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:614.63,616.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:618.2,618.59 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:618.59,620.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:621.2,621.59 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:621.59,623.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:627.47,628.58 1 14 +codeberg.org/snonux/hexai/internal/appconfig/config.go:628.58,630.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:631.2,631.56 1 14 +codeberg.org/snonux/hexai/internal/appconfig/config.go:631.56,633.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:634.2,634.36 1 14 +codeberg.org/snonux/hexai/internal/appconfig/config.go:634.36,636.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:637.2,637.58 1 14 +codeberg.org/snonux/hexai/internal/appconfig/config.go:637.58,639.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:640.2,640.56 1 14 +codeberg.org/snonux/hexai/internal/appconfig/config.go:640.56,642.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:643.2,643.36 1 14 +codeberg.org/snonux/hexai/internal/appconfig/config.go:643.36,645.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:646.2,646.59 1 14 +codeberg.org/snonux/hexai/internal/appconfig/config.go:646.59,648.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:649.2,649.57 1 14 +codeberg.org/snonux/hexai/internal/appconfig/config.go:649.57,651.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:652.2,652.37 1 14 +codeberg.org/snonux/hexai/internal/appconfig/config.go:652.37,654.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:657.38,659.72 2 6 +codeberg.org/snonux/hexai/internal/appconfig/config.go:659.72,661.3 1 6 codeberg.org/snonux/hexai/internal/appconfig/config.go:661.8,663.17 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:663.17,665.4 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:666.3,666.70 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:668.2,668.24 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:675.43,680.34 3 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:680.34,680.76 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:681.2,681.41 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:681.41,683.14 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:683.14,685.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:686.3,687.17 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:668.2,668.24 1 6 +codeberg.org/snonux/hexai/internal/appconfig/config.go:675.43,680.34 3 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:680.34,680.76 1 120 +codeberg.org/snonux/hexai/internal/appconfig/config.go:681.2,681.41 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:681.41,683.14 2 35 +codeberg.org/snonux/hexai/internal/appconfig/config.go:683.14,685.4 1 28 +codeberg.org/snonux/hexai/internal/appconfig/config.go:686.3,687.17 2 7 codeberg.org/snonux/hexai/internal/appconfig/config.go:687.17,688.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:688.21,690.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:691.4,691.19 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:693.3,693.17 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:695.2,695.51 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:695.51,697.14 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:697.14,699.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:700.3,701.17 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:693.3,693.17 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:695.2,695.51 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:695.51,697.14 2 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:697.14,699.4 1 16 +codeberg.org/snonux/hexai/internal/appconfig/config.go:700.3,701.17 2 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:701.17,702.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:702.21,704.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:705.4,705.21 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:707.3,707.18 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:710.2,710.47 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:710.47,713.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:714.2,714.48 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:714.48,717.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:718.2,718.57 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:718.57,721.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:722.2,722.55 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:722.55,725.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:726.2,726.54 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:726.54,729.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:730.2,730.61 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:730.61,733.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:734.2,734.59 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:734.59,737.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:738.2,738.59 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:738.59,741.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:742.2,742.60 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:742.60,745.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:746.2,746.54 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:746.54,749.27 3 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:749.27,750.42 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:750.42,752.5 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:754.3,754.13 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:756.2,756.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:707.3,707.18 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:710.2,710.47 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:710.47,713.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:714.2,714.48 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:714.48,717.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:718.2,718.57 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:718.57,721.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:722.2,722.55 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:722.55,725.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:726.2,726.54 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:726.54,729.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:730.2,730.61 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:730.61,733.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:734.2,734.59 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:734.59,737.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:738.2,738.59 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:738.59,741.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:742.2,742.60 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:742.60,745.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:746.2,746.54 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:746.54,749.27 3 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:749.27,750.42 1 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:750.42,752.5 1 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:754.3,754.13 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:756.2,756.47 1 5 codeberg.org/snonux/hexai/internal/appconfig/config.go:756.47,759.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:760.2,760.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:760.2,760.48 1 5 codeberg.org/snonux/hexai/internal/appconfig/config.go:760.48,763.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:764.2,764.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:764.2,764.47 1 5 codeberg.org/snonux/hexai/internal/appconfig/config.go:764.47,767.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:768.2,768.49 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:768.2,768.49 1 5 codeberg.org/snonux/hexai/internal/appconfig/config.go:768.49,771.27 3 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:771.27,772.42 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:772.42,774.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:776.3,776.13 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:778.2,778.44 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:778.44,781.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:784.2,784.51 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:784.51,787.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:788.2,788.48 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:788.48,791.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:792.2,792.60 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:792.60,795.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:797.2,797.51 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:797.51,800.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:801.2,801.48 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:801.48,804.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:805.2,805.60 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:805.60,808.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:810.2,810.52 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:810.52,813.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:814.2,814.49 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:814.49,817.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:818.2,818.61 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:818.61,821.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:823.2,823.10 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:823.10,825.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:826.2,826.13 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:778.2,778.44 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:778.44,781.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:784.2,784.51 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:784.51,787.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:788.2,788.48 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:788.48,791.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:792.2,792.60 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:792.60,795.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:797.2,797.51 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:797.51,800.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:801.2,801.48 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:801.48,804.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:805.2,805.60 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:805.60,808.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:810.2,810.52 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:810.52,813.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:814.2,814.49 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:814.49,817.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:818.2,818.61 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:818.61,821.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:823.2,823.10 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:823.10,825.3 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:826.2,826.13 1 1 codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:20.50,22.16 2 0 codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:22.16,24.3 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:25.2,26.15 2 0 @@ -4849,6 +5185,31 @@ codeberg.org/snonux/hexai/internal/textutil/textutil.go:106.49,106.59 1 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:107.17,108.32 2 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:108.32,108.64 1 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:112.5,112.29 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:11.23,11.60 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:17.23,17.72 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:20.23,20.76 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:31.52,32.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:32.20,34.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:35.2,36.19 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:36.19,38.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:38.8,40.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.2,41.45 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.45,43.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.2,44.42 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.42,46.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:48.2,51.19 4 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:56.38,58.25 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:58.25,59.14 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:59.14,61.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.3,63.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.20,65.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:69.3,70.33 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:72.2,72.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:76.32,77.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:77.30,79.141 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:79.141,80.12 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:82.3,82.15 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:84.2,84.13 1 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:14.13,17.18 3 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:22.2,22.104 1 0 @@ -4857,18 +5218,114 @@ codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:13.13,17.18 4 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.2,22.79 1 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.79,24.3 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:11.13,12.94 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:12.94,15.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:89.29,136.2 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:140.35,142.19 2 1 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:17.13,30.14 10 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:30.14,31.53 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:31.53,34.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:35.3,35.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.2,39.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.42,40.80 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:40.80,43.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:44.3,44.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.2,48.51 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.51,50.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:50.17,53.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:54.3,56.88 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:56.88,59.10 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:60.9,60.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.2,64.55 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.55,67.3 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:71.83,74.20 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:74.21,74.22 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.2,75.21 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.22,75.23 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.2,77.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.32,79.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:79.17,80.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.29,80.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.40,80.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:82.3,83.20 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:83.20,83.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.2,85.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.33,87.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:87.17,88.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.29,88.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.40,88.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:90.3,91.21 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:91.21,91.38 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:93.2,93.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:99.45,100.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:100.19,103.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:103.17,105.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:106.3,108.72 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:110.2,112.16 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:112.16,114.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:115.2,116.84 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:116.84,119.64 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:119.64,121.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:122.8,124.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:125.2,125.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:133.51,134.12 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:134.12,136.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.2,137.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.15,139.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.5,141.82 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.82,143.6 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:144.2,144.14 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:147.29,147.64 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:149.63,152.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:152.16,154.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.2,155.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.15,155.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:156.2,159.45 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:159.45,161.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:163.2,164.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:164.16,166.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:167.2,170.47 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:170.47,172.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.2,174.61 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.61,176.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:178.2,178.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:181.38,183.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:183.16,185.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.2,186.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.15,186.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.2,187.48 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.48,189.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:190.2,190.17 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:193.60,195.6 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:195.6,196.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:196.42,198.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.3,199.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.33,201.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:202.3,202.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:206.41,208.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:208.16,210.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.2,211.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.15,211.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:212.2,213.12 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:216.48,220.18 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:220.18,222.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:222.17,224.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.3,225.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.16,225.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:226.3,226.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.2,228.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.19,230.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:230.17,232.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.3,233.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.16,233.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:234.3,234.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:236.2,237.12 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:89.29,136.2 2 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:140.35,142.19 2 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:142.19,144.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:146.2,147.16 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:146.2,147.16 2 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:147.16,150.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:150.8,151.85 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:150.8,151.85 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:151.85,153.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:159.2,159.50 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:159.2,159.50 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:159.50,161.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:162.2,162.12 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:162.2,162.12 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:278.35,282.77 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:282.77,291.3 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:294.2,294.38 1 0 @@ -4929,10 +5386,10 @@ codeberg.org/snonux/hexai/internal/appconfig/config.go:421.60,423.4 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:426.2,426.67 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:426.67,428.3 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:430.2,430.12 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:433.66,435.16 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:435.16,436.43 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:433.66,435.16 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:435.16,436.43 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:436.43,438.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:439.3,439.18 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:439.3,439.18 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:442.2,447.22 5 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:447.22,448.20 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:448.20,450.4 1 0 @@ -5042,86 +5499,86 @@ codeberg.org/snonux/hexai/internal/appconfig/config.go:649.2,649.57 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:649.57,651.3 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:652.2,652.37 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:652.37,654.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:657.38,659.72 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:657.38,659.72 2 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:659.72,661.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:661.8,663.17 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:661.8,663.17 2 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:663.17,665.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:666.3,666.70 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:668.2,668.24 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:675.43,680.34 3 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:680.34,680.76 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:681.2,681.41 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:681.41,683.14 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:683.14,685.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:666.3,666.70 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:668.2,668.24 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:675.43,680.34 3 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:680.34,680.76 1 24 +codeberg.org/snonux/hexai/internal/appconfig/config.go:681.2,681.41 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:681.41,683.14 2 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:683.14,685.4 1 7 codeberg.org/snonux/hexai/internal/appconfig/config.go:686.3,687.17 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:687.17,688.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:688.21,690.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:691.4,691.19 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:693.3,693.17 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:695.2,695.51 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:695.51,697.14 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:697.14,699.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:695.2,695.51 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:695.51,697.14 2 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:697.14,699.4 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:700.3,701.17 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:701.17,702.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:702.21,704.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:705.4,705.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:707.3,707.18 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:710.2,710.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:710.2,710.47 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:710.47,713.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:714.2,714.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:714.2,714.48 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:714.48,717.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:718.2,718.57 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:718.2,718.57 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:718.57,721.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:722.2,722.55 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:722.2,722.55 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:722.55,725.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:726.2,726.54 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:726.2,726.54 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:726.54,729.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:730.2,730.61 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:730.2,730.61 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:730.61,733.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:734.2,734.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:734.2,734.59 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:734.59,737.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:738.2,738.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:738.2,738.59 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:738.59,741.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:742.2,742.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:742.2,742.60 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:742.60,745.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:746.2,746.54 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:746.2,746.54 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:746.54,749.27 3 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:749.27,750.42 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:750.42,752.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:754.3,754.13 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:756.2,756.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:756.2,756.47 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:756.47,759.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:760.2,760.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:760.2,760.48 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:760.48,763.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:764.2,764.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:764.2,764.47 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:764.47,767.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:768.2,768.49 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:768.2,768.49 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:768.49,771.27 3 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:771.27,772.42 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:772.42,774.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:776.3,776.13 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:778.2,778.44 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:778.2,778.44 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:778.44,781.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:784.2,784.51 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:784.2,784.51 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:784.51,787.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:788.2,788.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:788.2,788.48 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:788.48,791.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:792.2,792.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:792.2,792.60 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:792.60,795.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:797.2,797.51 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:797.2,797.51 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:797.51,800.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:801.2,801.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:801.2,801.48 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:801.48,804.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:805.2,805.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:805.2,805.60 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:805.60,808.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:810.2,810.52 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:810.2,810.52 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:810.52,813.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:814.2,814.49 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:814.2,814.49 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:814.49,817.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:818.2,818.61 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:818.2,818.61 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:818.61,821.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:823.2,823.10 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:823.10,825.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:823.2,823.10 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:823.10,825.3 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:826.2,826.13 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:20.50,22.16 2 2 codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:22.16,24.3 1 0 @@ -5139,7 +5596,7 @@ codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:51.3,51.27 1 2 codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:53.2,55.60 3 1 codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:60.54,60.103 1 7 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:14.54,14.97 1 8 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:17.35,17.73 1 8 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:17.35,17.73 1 9 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:23.121,27.2 3 2 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:29.128,31.26 2 1 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:31.26,32.33 1 2 @@ -5149,9 +5606,9 @@ codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:36.23,38.4 1 1 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:40.2,42.69 3 1 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:45.109,49.2 3 2 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:51.106,55.2 3 2 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:57.86,60.19 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:57.86,60.19 3 1 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:60.19,62.6 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:63.5,63.52 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:63.5,63.52 1 1 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:66.120,69.19 3 7 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:69.19,71.6 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:72.5,72.52 1 7 @@ -5160,8 +5617,8 @@ codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:78.37,80.6 1 3 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:81.5,81.16 1 7 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:85.79,87.2 1 2 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:89.78,91.2 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:16.80,20.16 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:20.16,23.3 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:16.80,20.16 4 1 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:20.16,23.3 2 1 codeberg.org/snonux/hexai/internal/hexaiaction/run.go:24.2,25.16 2 0 codeberg.org/snonux/hexai/internal/hexaiaction/run.go:25.16,28.3 2 0 codeberg.org/snonux/hexai/internal/hexaiaction/run.go:29.2,29.46 1 0 @@ -5180,15 +5637,15 @@ codeberg.org/snonux/hexai/internal/hexaiaction/run.go:57.25,60.79 3 0 codeberg.org/snonux/hexai/internal/hexaiaction/run.go:61.22,64.57 3 1 codeberg.org/snonux/hexai/internal/hexaiaction/run.go:65.20,68.55 3 1 codeberg.org/snonux/hexai/internal/hexaiaction/run.go:69.10,70.30 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:18.36,18.54 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:19.36,19.53 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:20.36,20.54 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:28.23,41.2 7 3 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:43.31,43.45 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:45.57,46.27 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:18.36,18.54 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:19.36,19.53 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:20.36,20.54 1 3 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:28.23,41.2 7 4 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:43.31,43.45 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:45.57,46.27 1 1 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:47.18,48.27 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:49.25,50.40 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:52.2,54.15 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:49.25,50.40 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:52.2,54.15 3 1 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:57.62,60.16 3 3 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:61.21,65.27 3 1 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:66.18,67.55 1 0 @@ -5205,9 +5662,9 @@ codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:91.5,91.19 1 1 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:91.19,92.44 1 1 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:92.44,92.68 1 1 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:94.5,94.18 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:97.30,98.12 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:97.30,98.12 1 1 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:98.12,100.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:101.2,101.22 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:101.2,101.22 1 1 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:105.35,108.16 3 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:108.16,110.3 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:111.2,111.29 1 0 @@ -5215,14 +5672,14 @@ codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:111.29,112.21 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:112.21,114.4 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:115.3,115.23 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:117.2,117.56 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:20.61,20.73 1 10 -codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:21.61,21.73 1 16 -codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:22.61,22.75 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:23.89,26.38 3 1 -codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:26.38,28.6 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:29.5,31.27 3 1 -codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:31.27,33.6 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:34.5,34.49 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:20.61,20.73 1 14 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:21.61,21.73 1 24 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:22.61,22.75 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:23.89,26.38 3 2 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:26.38,28.6 1 2 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:29.5,31.27 3 2 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:31.27,33.6 1 2 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:34.5,34.49 1 2 codeberg.org/snonux/hexai/internal/hexaicli/run.go:23.95,28.16 4 0 codeberg.org/snonux/hexai/internal/hexaicli/run.go:28.16,31.3 2 0 codeberg.org/snonux/hexai/internal/hexaicli/run.go:33.2,34.17 2 0 @@ -5553,11 +6010,11 @@ codeberg.org/snonux/hexai/internal/llm/provider.go:60.47,60.73 1 7 codeberg.org/snonux/hexai/internal/llm/provider.go:60.73,60.92 1 0 codeberg.org/snonux/hexai/internal/llm/provider.go:61.45,62.26 1 0 codeberg.org/snonux/hexai/internal/llm/provider.go:62.26,62.66 1 0 -codeberg.org/snonux/hexai/internal/llm/provider.go:85.84,87.13 2 0 -codeberg.org/snonux/hexai/internal/llm/provider.go:87.13,89.3 1 0 -codeberg.org/snonux/hexai/internal/llm/provider.go:90.2,90.11 1 0 -codeberg.org/snonux/hexai/internal/llm/provider.go:91.16,92.44 1 0 -codeberg.org/snonux/hexai/internal/llm/provider.go:92.44,94.4 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:85.84,87.13 2 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:87.13,89.3 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:90.2,90.11 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:91.16,92.44 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:92.44,94.4 1 1 codeberg.org/snonux/hexai/internal/llm/provider.go:96.3,96.35 1 0 codeberg.org/snonux/hexai/internal/llm/provider.go:96.35,99.4 2 0 codeberg.org/snonux/hexai/internal/llm/provider.go:100.3,100.97 1 0 @@ -5571,11 +6028,11 @@ codeberg.org/snonux/hexai/internal/llm/provider.go:111.36,114.4 2 0 codeberg.org/snonux/hexai/internal/llm/provider.go:115.3,115.102 1 0 codeberg.org/snonux/hexai/internal/llm/provider.go:116.10,117.55 1 0 codeberg.org/snonux/hexai/internal/llm/util.go:6.47,6.77 1 0 -codeberg.org/snonux/hexai/internal/llmutils/client.go:12.62,26.39 3 0 -codeberg.org/snonux/hexai/internal/llmutils/client.go:26.39,28.6 1 0 -codeberg.org/snonux/hexai/internal/llmutils/client.go:29.5,30.39 2 0 -codeberg.org/snonux/hexai/internal/llmutils/client.go:30.39,32.6 1 0 -codeberg.org/snonux/hexai/internal/llmutils/client.go:33.5,33.51 1 0 +codeberg.org/snonux/hexai/internal/llmutils/client.go:12.62,26.39 3 1 +codeberg.org/snonux/hexai/internal/llmutils/client.go:26.39,28.6 1 1 +codeberg.org/snonux/hexai/internal/llmutils/client.go:29.5,30.39 2 1 +codeberg.org/snonux/hexai/internal/llmutils/client.go:30.39,32.6 1 1 +codeberg.org/snonux/hexai/internal/llmutils/client.go:33.5,33.51 1 1 codeberg.org/snonux/hexai/internal/logging/chatlogger.go:9.48,11.2 1 0 codeberg.org/snonux/hexai/internal/logging/chatlogger.go:18.3,20.12 2 0 codeberg.org/snonux/hexai/internal/logging/chatlogger.go:20.12,22.3 1 0 @@ -6418,16 +6875,16 @@ codeberg.org/snonux/hexai/internal/textutil/textutil.go:7.34,9.6 1 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:10.5,11.28 2 8 codeberg.org/snonux/hexai/internal/textutil/textutil.go:11.28,13.6 1 11 codeberg.org/snonux/hexai/internal/textutil/textutil.go:14.5,14.15 1 8 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:18.39,20.16 2 8 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:18.39,20.16 2 9 codeberg.org/snonux/hexai/internal/textutil/textutil.go:20.16,22.6 1 0 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:23.5,25.69 3 8 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:23.5,25.69 3 9 codeberg.org/snonux/hexai/internal/textutil/textutil.go:25.69,27.6 1 0 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:28.5,29.57 2 8 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:28.5,29.57 2 9 codeberg.org/snonux/hexai/internal/textutil/textutil.go:29.57,31.6 1 0 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:32.5,32.54 1 8 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:32.5,32.54 1 9 codeberg.org/snonux/hexai/internal/textutil/textutil.go:32.54,34.6 1 0 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:35.5,37.72 3 8 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:37.72,40.6 2 8 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:35.5,37.72 3 9 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:37.72,40.6 2 9 codeberg.org/snonux/hexai/internal/textutil/textutil.go:41.5,41.13 1 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:47.60,49.34 2 7 codeberg.org/snonux/hexai/internal/textutil/textutil.go:49.34,50.105 1 7 @@ -6465,6 +6922,31 @@ codeberg.org/snonux/hexai/internal/textutil/textutil.go:106.49,106.59 1 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:107.17,108.32 2 2 codeberg.org/snonux/hexai/internal/textutil/textutil.go:108.32,108.64 1 2 codeberg.org/snonux/hexai/internal/textutil/textutil.go:112.5,112.29 1 5 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:11.23,11.60 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:17.23,17.72 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:20.23,20.76 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:31.52,32.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:32.20,34.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:35.2,36.19 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:36.19,38.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:38.8,40.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.2,41.45 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.45,43.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.2,44.42 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.42,46.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:48.2,51.19 4 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:56.38,58.25 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:58.25,59.14 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:59.14,61.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.3,63.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.20,65.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:69.3,70.33 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:72.2,72.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:76.32,77.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:77.30,79.141 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:79.141,80.12 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:82.3,82.15 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:84.2,84.13 1 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:14.13,17.18 3 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:22.2,22.104 1 0 @@ -6473,8 +6955,104 @@ codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:13.13,17.18 4 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.2,22.79 1 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.79,24.3 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:11.13,12.94 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:12.94,15.3 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:17.13,30.14 10 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:30.14,31.53 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:31.53,34.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:35.3,35.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.2,39.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.42,40.80 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:40.80,43.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:44.3,44.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.2,48.51 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.51,50.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:50.17,53.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:54.3,56.88 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:56.88,59.10 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:60.9,60.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.2,64.55 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.55,67.3 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:71.83,74.20 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:74.21,74.22 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.2,75.21 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.22,75.23 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.2,77.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.32,79.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:79.17,80.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.29,80.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.40,80.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:82.3,83.20 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:83.20,83.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.2,85.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.33,87.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:87.17,88.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.29,88.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.40,88.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:90.3,91.21 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:91.21,91.38 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:93.2,93.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:99.45,100.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:100.19,103.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:103.17,105.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:106.3,108.72 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:110.2,112.16 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:112.16,114.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:115.2,116.84 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:116.84,119.64 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:119.64,121.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:122.8,124.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:125.2,125.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:133.51,134.12 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:134.12,136.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.2,137.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.15,139.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.5,141.82 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.82,143.6 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:144.2,144.14 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:147.29,147.64 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:149.63,152.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:152.16,154.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.2,155.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.15,155.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:156.2,159.45 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:159.45,161.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:163.2,164.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:164.16,166.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:167.2,170.47 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:170.47,172.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.2,174.61 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.61,176.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:178.2,178.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:181.38,183.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:183.16,185.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.2,186.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.15,186.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.2,187.48 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.48,189.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:190.2,190.17 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:193.60,195.6 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:195.6,196.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:196.42,198.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.3,199.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.33,201.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:202.3,202.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:206.41,208.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:208.16,210.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.2,211.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.15,211.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:212.2,213.12 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:216.48,220.18 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:220.18,222.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:222.17,224.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.3,225.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.16,225.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:226.3,226.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.2,228.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.19,230.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:230.17,232.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.3,233.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.16,233.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:234.3,234.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:236.2,237.12 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:89.29,136.2 2 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:140.35,142.19 2 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:142.19,144.3 1 0 @@ -8081,6 +8659,31 @@ codeberg.org/snonux/hexai/internal/textutil/textutil.go:106.49,106.59 1 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:107.17,108.32 2 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:108.32,108.64 1 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:112.5,112.29 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:11.23,11.60 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:17.23,17.72 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:20.23,20.76 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:31.52,32.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:32.20,34.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:35.2,36.19 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:36.19,38.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:38.8,40.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.2,41.45 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.45,43.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.2,44.42 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.42,46.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:48.2,51.19 4 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:56.38,58.25 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:58.25,59.14 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:59.14,61.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.3,63.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.20,65.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:69.3,70.33 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:72.2,72.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:76.32,77.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:77.30,79.141 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:79.141,80.12 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:82.3,82.15 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:84.2,84.13 1 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:14.13,17.18 3 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:22.2,22.104 1 0 @@ -8089,8 +8692,104 @@ codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:13.13,17.18 4 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.2,22.79 1 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.79,24.3 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:11.13,12.94 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:12.94,15.3 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:17.13,30.14 10 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:30.14,31.53 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:31.53,34.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:35.3,35.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.2,39.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.42,40.80 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:40.80,43.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:44.3,44.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.2,48.51 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.51,50.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:50.17,53.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:54.3,56.88 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:56.88,59.10 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:60.9,60.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.2,64.55 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.55,67.3 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:71.83,74.20 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:74.21,74.22 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.2,75.21 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.22,75.23 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.2,77.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.32,79.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:79.17,80.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.29,80.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.40,80.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:82.3,83.20 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:83.20,83.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.2,85.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.33,87.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:87.17,88.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.29,88.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.40,88.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:90.3,91.21 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:91.21,91.38 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:93.2,93.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:99.45,100.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:100.19,103.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:103.17,105.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:106.3,108.72 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:110.2,112.16 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:112.16,114.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:115.2,116.84 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:116.84,119.64 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:119.64,121.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:122.8,124.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:125.2,125.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:133.51,134.12 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:134.12,136.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.2,137.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.15,139.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.5,141.82 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.82,143.6 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:144.2,144.14 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:147.29,147.64 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:149.63,152.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:152.16,154.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.2,155.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.15,155.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:156.2,159.45 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:159.45,161.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:163.2,164.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:164.16,166.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:167.2,170.47 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:170.47,172.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.2,174.61 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.61,176.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:178.2,178.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:181.38,183.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:183.16,185.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.2,186.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.15,186.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.2,187.48 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.48,189.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:190.2,190.17 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:193.60,195.6 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:195.6,196.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:196.42,198.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.3,199.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.33,201.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:202.3,202.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:206.41,208.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:208.16,210.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.2,211.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.15,211.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:212.2,213.12 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:216.48,220.18 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:220.18,222.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:222.17,224.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.3,225.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.16,225.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:226.3,226.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.2,228.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.19,230.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:230.17,232.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.3,233.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.16,233.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:234.3,234.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:236.2,237.12 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:89.29,136.2 2 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:140.35,142.19 2 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:142.19,144.3 1 2 @@ -9697,11 +10396,31 @@ codeberg.org/snonux/hexai/internal/textutil/textutil.go:106.49,106.59 1 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:107.17,108.32 2 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:108.32,108.64 1 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:112.5,112.29 1 0 -codeberg.org/snonux/hexai/internal/testutil/fixtures.go:4.33,6.2 1 0 -codeberg.org/snonux/hexai/internal/testutil/fixtures.go:9.34,11.2 1 0 -codeberg.org/snonux/hexai/internal/testutil/fixtures.go:14.43,16.2 1 0 -codeberg.org/snonux/hexai/internal/testutil/fixtures.go:19.33,21.2 1 0 -codeberg.org/snonux/hexai/internal/testutil/fixtures.go:24.29,26.2 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:11.23,11.60 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:17.23,17.72 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:20.23,20.76 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:31.52,32.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:32.20,34.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:35.2,36.19 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:36.19,38.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:38.8,40.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.2,41.45 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.45,43.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.2,44.42 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.42,46.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:48.2,51.19 4 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:56.38,58.25 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:58.25,59.14 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:59.14,61.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.3,63.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.20,65.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:69.3,70.33 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:72.2,72.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:76.32,77.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:77.30,79.141 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:79.141,80.12 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:82.3,82.15 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:84.2,84.13 1 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:14.13,17.18 3 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:22.2,22.104 1 0 @@ -9710,8 +10429,104 @@ codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:13.13,17.18 4 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.2,22.79 1 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.79,24.3 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:11.13,12.94 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:12.94,15.3 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:17.13,30.14 10 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:30.14,31.53 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:31.53,34.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:35.3,35.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.2,39.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.42,40.80 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:40.80,43.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:44.3,44.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.2,48.51 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.51,50.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:50.17,53.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:54.3,56.88 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:56.88,59.10 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:60.9,60.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.2,64.55 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.55,67.3 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:71.83,74.20 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:74.21,74.22 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.2,75.21 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.22,75.23 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.2,77.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.32,79.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:79.17,80.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.29,80.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.40,80.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:82.3,83.20 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:83.20,83.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.2,85.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.33,87.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:87.17,88.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.29,88.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.40,88.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:90.3,91.21 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:91.21,91.38 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:93.2,93.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:99.45,100.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:100.19,103.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:103.17,105.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:106.3,108.72 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:110.2,112.16 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:112.16,114.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:115.2,116.84 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:116.84,119.64 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:119.64,121.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:122.8,124.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:125.2,125.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:133.51,134.12 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:134.12,136.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.2,137.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.15,139.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.5,141.82 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.82,143.6 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:144.2,144.14 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:147.29,147.64 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:149.63,152.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:152.16,154.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.2,155.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.15,155.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:156.2,159.45 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:159.45,161.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:163.2,164.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:164.16,166.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:167.2,170.47 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:170.47,172.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.2,174.61 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.61,176.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:178.2,178.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:181.38,183.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:183.16,185.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.2,186.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.15,186.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.2,187.48 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.48,189.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:190.2,190.17 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:193.60,195.6 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:195.6,196.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:196.42,198.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.3,199.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.33,201.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:202.3,202.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:206.41,208.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:208.16,210.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.2,211.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.15,211.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:212.2,213.12 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:216.48,220.18 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:220.18,222.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:222.17,224.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.3,225.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.16,225.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:226.3,226.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.2,228.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.19,230.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:230.17,232.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.3,233.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.16,233.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:234.3,234.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:236.2,237.12 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:89.29,136.2 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:140.35,142.19 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:142.19,144.3 1 0 @@ -11318,6 +12133,3510 @@ codeberg.org/snonux/hexai/internal/textutil/textutil.go:106.49,106.59 1 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:107.17,108.32 2 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:108.32,108.64 1 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:112.5,112.29 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:11.23,11.60 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:17.23,17.72 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:20.23,20.76 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:31.52,32.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:32.20,34.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:35.2,36.19 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:36.19,38.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:38.8,40.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.2,41.45 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.45,43.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.2,44.42 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.42,46.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:48.2,51.19 4 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:56.38,58.25 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:58.25,59.14 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:59.14,61.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.3,63.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.20,65.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:69.3,70.33 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:72.2,72.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:76.32,77.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:77.30,79.141 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:79.141,80.12 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:82.3,82.15 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:84.2,84.13 1 0 +codeberg.org/snonux/hexai/cmd/hexai/main.go:14.13,17.18 3 0 +codeberg.org/snonux/hexai/cmd/hexai/main.go:17.18,20.3 2 0 +codeberg.org/snonux/hexai/cmd/hexai/main.go:22.2,22.104 1 0 +codeberg.org/snonux/hexai/cmd/hexai/main.go:22.104,24.3 1 0 +codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:13.13,17.18 4 0 +codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:17.18,20.3 2 0 +codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.2,22.79 1 0 +codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.79,24.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:17.13,30.14 10 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:30.14,31.53 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:31.53,34.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:35.3,35.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.2,39.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.42,40.80 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:40.80,43.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:44.3,44.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.2,48.51 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.51,50.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:50.17,53.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:54.3,56.88 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:56.88,59.10 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:60.9,60.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.2,64.55 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.55,67.3 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:71.83,74.20 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:74.21,74.22 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.2,75.21 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.22,75.23 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.2,77.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.32,79.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:79.17,80.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.29,80.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.40,80.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:82.3,83.20 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:83.20,83.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.2,85.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.33,87.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:87.17,88.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.29,88.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.40,88.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:90.3,91.21 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:91.21,91.38 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:93.2,93.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:99.45,100.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:100.19,103.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:103.17,105.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:106.3,108.72 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:110.2,112.16 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:112.16,114.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:115.2,116.84 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:116.84,119.64 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:119.64,121.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:122.8,124.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:125.2,125.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:133.51,134.12 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:134.12,136.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.2,137.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.15,139.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.5,141.82 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.82,143.6 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:144.2,144.14 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:147.29,147.64 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:149.63,152.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:152.16,154.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.2,155.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.15,155.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:156.2,159.45 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:159.45,161.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:163.2,164.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:164.16,166.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:167.2,170.47 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:170.47,172.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.2,174.61 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.61,176.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:178.2,178.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:181.38,183.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:183.16,185.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.2,186.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.15,186.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.2,187.48 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.48,189.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:190.2,190.17 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:193.60,195.6 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:195.6,196.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:196.42,198.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.3,199.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.33,201.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:202.3,202.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:206.41,208.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:208.16,210.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.2,211.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.15,211.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:212.2,213.12 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:216.48,220.18 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:220.18,222.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:222.17,224.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.3,225.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.16,225.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:226.3,226.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.2,228.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.19,230.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:230.17,232.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.3,233.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.16,233.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:234.3,234.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:236.2,237.12 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:89.29,136.2 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:140.35,142.19 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:142.19,144.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:146.2,147.16 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:147.16,150.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:150.8,151.85 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:151.85,153.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:159.2,159.50 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:159.50,161.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:162.2,162.12 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:278.35,282.77 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:282.77,291.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:294.2,294.38 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:294.38,297.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:300.2,300.44 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:300.44,307.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:310.2,310.44 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:310.44,313.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:316.2,316.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:316.36,319.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:322.2,322.82 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:322.82,325.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:328.2,328.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:328.47,331.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:334.2,334.68 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:334.68,341.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:344.2,344.71 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:344.71,351.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:354.2,354.68 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:354.68,361.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:365.2,365.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:365.59,366.67 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:366.67,368.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:369.3,369.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:369.66,371.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:372.3,372.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:372.66,374.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:375.3,375.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:375.65,377.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:378.3,378.64 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:378.64,380.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:381.3,381.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:381.65,383.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:386.2,386.53 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:386.53,388.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:390.2,390.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:390.59,391.67 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:391.67,393.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:394.3,394.71 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:394.71,396.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:397.3,397.68 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:397.68,399.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:400.3,400.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:400.65,402.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:403.3,403.69 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:403.69,405.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:406.3,406.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:406.66,408.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:409.3,409.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:409.66,411.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:412.3,412.64 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:412.64,414.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:417.2,417.45 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:417.45,418.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:418.60,420.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:421.3,421.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:421.60,423.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:426.2,426.67 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:426.67,428.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:430.2,430.12 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:433.66,435.16 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:435.16,436.43 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:436.43,438.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:439.3,439.18 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:442.2,447.22 5 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:447.22,448.20 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:448.20,450.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:451.3,451.24 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:455.2,464.21 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:464.21,465.216 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:465.216,466.12 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:468.3,468.41 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:468.41,470.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:473.2,473.19 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:473.19,475.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:479.2,481.53 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:481.53,482.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:482.59,483.26 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:484.15,485.40 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:486.13,487.35 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:488.17,489.40 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:493.2,493.50 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:493.50,494.52 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:494.52,495.26 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:496.15,497.34 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:498.13,499.29 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:500.17,501.34 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:505.2,505.18 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:508.37,512.2 3 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:515.39,516.25 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:516.25,518.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:519.2,519.56 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:519.56,521.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:522.2,522.34 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:522.34,524.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:525.2,525.32 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:525.32,527.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:528.2,528.32 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:528.32,530.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:531.2,531.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:531.36,533.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:534.2,534.38 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:534.38,536.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:537.2,537.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:537.36,539.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:540.2,540.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:540.36,542.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:543.2,543.38 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:543.38,545.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:546.2,546.55 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:546.55,548.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:549.2,549.56 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:549.56,551.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:552.2,552.55 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:552.55,554.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:555.2,555.33 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:555.33,557.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:558.2,558.53 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:558.53,560.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:564.40,566.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:566.66,568.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:569.2,569.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:569.65,571.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:572.2,572.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:572.65,574.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:575.2,575.64 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:575.64,577.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:578.2,578.63 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:578.63,580.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:581.2,581.64 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:581.64,583.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:585.2,585.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:585.59,587.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:589.2,589.53 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:589.53,591.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:593.2,593.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:593.66,595.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:596.2,596.70 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:596.70,598.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:599.2,599.67 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:599.67,601.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:602.2,602.64 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:602.64,604.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:605.2,605.68 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:605.68,607.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:608.2,608.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:608.65,610.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:611.2,611.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:611.65,613.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:614.2,614.63 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:614.63,616.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:618.2,618.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:618.59,620.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:621.2,621.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:621.59,623.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:627.47,628.58 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:628.58,630.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:631.2,631.56 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:631.56,633.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:634.2,634.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:634.36,636.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:637.2,637.58 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:637.58,639.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:640.2,640.56 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:640.56,642.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:643.2,643.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:643.36,645.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:646.2,646.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:646.59,648.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:649.2,649.57 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:649.57,651.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:652.2,652.37 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:652.37,654.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:657.38,659.72 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:659.72,661.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:661.8,663.17 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:663.17,665.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:666.3,666.70 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:668.2,668.24 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:675.43,680.34 3 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:680.34,680.76 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:681.2,681.41 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:681.41,683.14 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:683.14,685.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:686.3,687.17 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:687.17,688.21 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:688.21,690.5 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:691.4,691.19 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:693.3,693.17 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:695.2,695.51 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:695.51,697.14 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:697.14,699.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:700.3,701.17 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:701.17,702.21 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:702.21,704.5 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:705.4,705.21 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:707.3,707.18 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:710.2,710.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:710.47,713.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:714.2,714.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:714.48,717.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:718.2,718.57 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:718.57,721.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:722.2,722.55 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:722.55,725.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:726.2,726.54 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:726.54,729.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:730.2,730.61 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:730.61,733.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:734.2,734.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:734.59,737.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:738.2,738.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:738.59,741.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:742.2,742.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:742.60,745.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:746.2,746.54 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:746.54,749.27 3 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:749.27,750.42 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:750.42,752.5 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:754.3,754.13 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:756.2,756.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:756.47,759.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:760.2,760.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:760.48,763.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:764.2,764.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:764.47,767.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:768.2,768.49 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:768.49,771.27 3 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:771.27,772.42 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:772.42,774.5 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:776.3,776.13 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:778.2,778.44 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:778.44,781.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:784.2,784.51 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:784.51,787.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:788.2,788.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:788.48,791.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:792.2,792.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:792.60,795.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:797.2,797.51 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:797.51,800.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:801.2,801.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:801.48,804.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:805.2,805.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:805.60,808.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:810.2,810.52 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:810.52,813.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:814.2,814.49 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:814.49,817.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:818.2,818.61 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:818.61,821.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:823.2,823.10 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:823.10,825.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:826.2,826.13 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:20.50,22.16 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:22.16,24.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:25.2,26.15 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:26.15,28.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:29.2,32.27 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:32.27,34.26 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:34.26,36.9 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:39.2,39.18 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:39.18,41.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:43.2,45.28 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:45.28,47.14 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:47.14,49.9 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:51.3,51.27 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:53.2,55.60 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:60.54,60.103 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:14.54,14.97 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:17.35,17.73 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:23.121,27.2 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:29.128,31.26 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:31.26,32.33 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:32.33,33.12 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:35.3,36.23 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:36.23,38.4 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:40.2,42.69 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:45.109,49.2 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:51.106,55.2 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:57.86,60.19 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:60.19,62.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:63.5,63.52 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:66.120,69.19 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:69.19,71.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:72.5,72.52 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:76.57,78.37 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:78.37,80.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:81.5,81.16 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:85.79,87.2 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:89.78,91.2 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:16.80,20.16 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:20.16,23.3 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:24.2,25.16 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:25.16,28.3 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:29.2,29.46 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:29.46,31.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:32.2,33.16 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:33.16,35.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:36.2,37.16 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.16,39.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:40.2,41.12 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:44.146,45.14 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:46.18,47.30 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:48.21,50.37 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:50.37,53.4 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:54.3,56.55 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:57.25,60.79 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:61.22,64.57 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:65.20,68.55 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:69.10,70.30 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:18.36,18.54 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:19.36,19.53 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:20.36,20.54 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:28.23,41.2 7 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:43.31,43.45 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:45.57,46.27 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:47.18,48.27 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:49.25,50.40 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:52.2,54.15 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:57.62,60.16 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:61.21,65.27 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:66.18,67.55 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:67.55,71.10 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:72.22,73.28 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:74.20,75.26 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:76.22,77.25 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:78.16,79.44 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:79.44,79.68 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:80.29,82.41 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:82.41,83.91 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:83.91,88.14 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:91.5,91.19 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:91.19,92.44 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:92.44,92.68 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:94.5,94.18 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:97.30,98.12 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:98.12,100.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:101.2,101.22 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:105.35,108.16 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:108.16,110.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:111.2,111.29 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:111.29,112.21 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:112.21,114.4 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:115.3,115.23 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:117.2,117.56 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:20.61,20.73 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:21.61,21.73 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:22.61,22.75 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:23.89,26.38 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:26.38,28.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:29.5,31.27 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:31.27,33.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:34.5,34.49 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:23.95,28.16 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:28.16,31.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:33.2,34.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.17,37.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:38.2,40.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:40.74,43.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:44.2,44.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:49.124,51.16 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:51.16,54.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:55.2,57.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:57.74,60.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:61.2,61.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:65.64,67.82 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:67.82,70.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:71.2,72.9 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:73.40,74.59 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:75.23,76.24 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:77.21,78.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:79.10,80.91 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:88.48,91.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:91.40,93.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:94.2,97.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:101.77,104.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:104.40,105.58 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:105.58,107.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:109.2,112.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:116.125,119.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:119.40,121.56 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:121.56,124.4 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:124.18,126.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:127.3,127.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:128.8,130.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:130.17,132.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.3,134.26 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.2,139.12 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:143.59,145.2 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:148.65,150.2 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:25.85,27.38 2 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:27.38,29.17 2 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:29.17,31.4 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:32.3,33.22 2 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:35.2,37.70 3 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:42.159,49.37 6 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:49.37,51.3 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:52.2,52.12 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:57.49,59.30 2 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:59.30,61.3 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:64.72,65.19 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:65.19,67.3 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:68.2,82.36 3 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:82.36,84.3 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:86.2,87.36 2 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:87.36,89.3 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:90.2,90.67 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:90.67,93.3 2 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:93.8,96.3 2 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:99.57,100.20 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:100.20,102.3 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:103.2,103.97 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:103.97,105.3 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:108.97,144.2 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:66.77,67.38 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:67.38,69.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:70.2,70.36 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:70.36,74.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:75.2,82.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:85.109,86.39 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:86.39,88.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:90.2,90.45 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:90.45,92.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:93.2,94.27 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:94.27,96.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:97.2,97.19 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:97.19,99.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:100.2,102.29 3 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:102.29,104.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:105.2,109.16 4 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:109.16,112.3 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:114.2,117.16 4 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:117.16,120.3 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:121.2,122.57 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:122.57,124.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:125.2,126.16 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:126.16,128.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:129.2,129.27 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:129.27,132.3 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:133.2,135.21 3 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:139.46,139.66 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:140.46,140.71 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:143.102,146.29 3 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:146.29,148.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:149.2,149.24 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:149.24,151.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:151.8,151.31 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:151.31,154.3 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:155.2,155.21 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:155.21,157.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:158.2,158.21 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:158.21,160.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:161.2,161.12 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:164.130,166.16 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:166.16,168.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:169.2,169.28 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:169.28,171.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:172.2,172.29 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:175.70,176.53 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:176.53,178.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:179.2,181.74 3 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:181.74,184.3 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:185.2,186.69 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:189.91,191.64 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:191.64,194.3 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:195.2,195.17 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:204.66,206.82 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:206.82,208.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:209.2,209.39 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:209.39,211.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:212.2,213.16 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:213.16,215.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:216.2,220.16 5 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:220.16,222.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:223.2,224.53 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:224.53,226.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:227.2,228.64 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:228.64,230.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:231.2,231.40 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:231.40,233.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:235.2,236.18 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:236.18,238.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:239.2,241.12 3 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:246.42,248.20 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:248.20,250.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:251.2,252.16 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:252.16,253.59 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:253.59,254.48 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:254.48,256.5 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:258.3,258.21 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:260.2,264.22 3 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:264.22,266.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:267.2,267.34 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:270.42,270.100 3 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:274.57,290.2 3 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:292.58,308.2 3 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:310.28,313.19 3 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:313.19,315.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:316.2,316.18 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:322.153,323.39 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:323.39,325.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:326.2,326.45 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:326.45,328.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:329.2,329.12 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:329.12,331.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:332.2,354.16 6 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:354.16,356.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:357.2,358.53 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:358.53,360.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:362.2,365.27 4 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:365.27,366.39 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:366.39,367.12 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:369.3,375.88 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:375.88,376.12 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:378.3,378.34 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:378.34,380.4 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:382.2,383.25 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:383.25,384.60 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:384.60,386.4 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:388.2,388.17 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:44.68,45.38 1 1 +codeberg.org/snonux/hexai/internal/llm/ollama.go:45.38,47.3 1 1 +codeberg.org/snonux/hexai/internal/llm/ollama.go:48.2,48.36 1 1 +codeberg.org/snonux/hexai/internal/llm/ollama.go:48.36,50.3 1 1 +codeberg.org/snonux/hexai/internal/llm/ollama.go:51.2,57.3 1 1 +codeberg.org/snonux/hexai/internal/llm/ollama.go:60.108,62.27 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:62.27,64.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:65.2,65.19 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:65.19,67.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:69.2,73.16 5 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:73.16,75.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:77.2,80.16 4 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:80.16,83.3 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:84.2,85.56 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:85.56,87.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:89.2,90.64 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:90.64,93.3 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:94.2,94.50 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:94.50,97.3 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:98.2,100.21 3 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:104.45,104.64 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:105.45,105.70 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:108.126,110.27 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:110.27,112.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:113.2,113.19 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:113.19,115.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:117.2,121.16 5 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:121.16,123.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:125.2,128.16 4 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:128.16,131.3 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:132.2,133.56 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:133.56,135.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:137.2,138.6 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:138.6,140.41 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:140.41,141.30 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:141.30,142.10 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:144.4,145.14 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:147.3,147.40 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:147.40,150.4 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:151.3,151.58 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:151.58,153.4 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:154.3,154.14 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:154.14,155.9 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:158.2,159.12 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:163.76,165.29 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:165.29,167.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:168.2,168.89 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:171.109,174.29 3 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:174.29,176.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:177.2,178.24 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:178.24,180.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:180.8,180.31 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:180.31,182.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:183.2,183.21 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:183.21,185.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:186.2,186.21 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:186.21,188.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:189.2,189.22 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:189.22,191.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:192.2,192.12 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:195.100,197.16 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:197.16,199.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:200.2,201.29 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:204.69,205.53 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:205.53,207.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:208.2,210.43 3 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:210.43,213.3 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:214.2,215.68 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:78.76,79.38 1 1 +codeberg.org/snonux/hexai/internal/llm/openai.go:79.38,81.3 1 1 +codeberg.org/snonux/hexai/internal/llm/openai.go:82.2,82.36 1 1 +codeberg.org/snonux/hexai/internal/llm/openai.go:82.36,84.3 1 1 +codeberg.org/snonux/hexai/internal/llm/openai.go:85.2,92.3 1 1 +codeberg.org/snonux/hexai/internal/llm/openai.go:95.108,96.20 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:96.20,98.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:99.2,100.27 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:100.27,102.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:103.2,103.19 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:103.19,105.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:106.2,110.16 5 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:110.16,113.3 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:114.2,119.16 4 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:119.16,122.3 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:123.2,124.56 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:124.56,126.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:127.2,128.16 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:128.16,130.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:131.2,131.27 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:131.27,134.3 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:135.2,137.21 3 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:141.45,141.64 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:142.45,142.70 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:146.126,147.20 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:147.20,149.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:150.2,151.27 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:151.27,153.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:154.2,154.19 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:154.19,156.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:157.2,161.16 5 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:161.16,164.3 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:165.2,170.16 4 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:170.16,173.3 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:174.2,175.56 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:175.56,177.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:179.2,179.64 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:179.64,181.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:182.2,183.12 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:187.56,187.104 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:190.76,192.29 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:192.29,194.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:195.2,195.89 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:198.105,201.29 3 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:201.29,203.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:204.2,204.24 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:204.24,206.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:206.8,206.31 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:206.31,209.3 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:210.2,210.21 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:210.21,212.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:213.2,213.21 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:213.21,215.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:216.2,216.12 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:219.127,221.16 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:221.16,223.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:224.2,225.28 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:225.28,227.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:228.2,228.29 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:231.152,233.16 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:233.16,235.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:236.2,238.28 3 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:238.28,240.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:241.2,241.29 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:244.69,245.53 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:245.53,247.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:248.2,250.55 3 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:250.55,253.3 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:254.2,255.68 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:258.85,260.64 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:260.64,263.3 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:264.2,264.17 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:267.90,273.21 5 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:273.21,275.41 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:275.41,276.12 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:278.3,279.45 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:279.45,280.9 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:282.3,283.65 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:283.65,284.12 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:286.3,286.54 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:286.54,289.4 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:290.3,290.36 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:290.36,291.30 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:291.30,293.5 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:296.2,296.38 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:296.38,299.3 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:300.2,300.12 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:58.47,58.73 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:58.73,58.92 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:59.47,59.73 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:59.73,59.94 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:60.47,60.73 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:60.73,60.92 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:61.45,62.26 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:62.26,62.66 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:85.84,87.13 2 2 +codeberg.org/snonux/hexai/internal/llm/provider.go:87.13,89.3 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:90.2,90.11 1 2 +codeberg.org/snonux/hexai/internal/llm/provider.go:91.16,92.44 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:92.44,94.4 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:96.3,96.35 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:96.35,99.4 2 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:100.3,100.97 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:101.16,102.35 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:102.35,105.4 2 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:106.3,106.83 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:107.17,108.45 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:108.45,110.4 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:111.3,111.36 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:111.36,114.4 2 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:115.3,115.102 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:116.10,117.55 1 0 +codeberg.org/snonux/hexai/internal/llm/util.go:6.47,6.77 1 0 +codeberg.org/snonux/hexai/internal/llmutils/client.go:12.62,26.39 3 2 +codeberg.org/snonux/hexai/internal/llmutils/client.go:26.39,28.6 1 1 +codeberg.org/snonux/hexai/internal/llmutils/client.go:29.5,30.39 2 2 +codeberg.org/snonux/hexai/internal/llmutils/client.go:30.39,32.6 1 2 +codeberg.org/snonux/hexai/internal/llmutils/client.go:33.5,33.51 1 2 +codeberg.org/snonux/hexai/internal/logging/chatlogger.go:9.48,11.2 1 2 +codeberg.org/snonux/hexai/internal/logging/chatlogger.go:18.3,20.12 2 0 +codeberg.org/snonux/hexai/internal/logging/chatlogger.go:20.12,22.3 1 0 +codeberg.org/snonux/hexai/internal/logging/chatlogger.go:23.2,25.29 2 0 +codeberg.org/snonux/hexai/internal/logging/chatlogger.go:25.29,28.3 1 0 +codeberg.org/snonux/hexai/internal/logging/logging.go:27.26,27.37 1 0 +codeberg.org/snonux/hexai/internal/logging/logging.go:30.47,31.16 1 0 +codeberg.org/snonux/hexai/internal/logging/logging.go:31.16,33.3 1 0 +codeberg.org/snonux/hexai/internal/logging/logging.go:34.2,35.48 2 0 +codeberg.org/snonux/hexai/internal/logging/logging.go:43.32,43.55 1 0 +codeberg.org/snonux/hexai/internal/logging/logging.go:46.37,47.25 1 0 +codeberg.org/snonux/hexai/internal/logging/logging.go:47.25,48.32 1 0 +codeberg.org/snonux/hexai/internal/logging/logging.go:48.32,50.4 1 0 +codeberg.org/snonux/hexai/internal/logging/logging.go:51.3,51.37 1 0 +codeberg.org/snonux/hexai/internal/logging/logging.go:53.2,53.10 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:16.96,18.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:19.17,20.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:21.16,22.41 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:23.26,24.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:24.14,26.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:27.3,27.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:28.21,29.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:30.10,32.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:36.65,38.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:38.35,41.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:42.2,45.15 4 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:45.15,47.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:48.2,49.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:49.13,51.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:52.2,53.57 2 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:56.53,58.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:58.14,61.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:62.2,62.59 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:67.64,68.20 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:68.20,70.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:71.2,72.27 2 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:72.27,74.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:76.2,77.21 2 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:77.21,79.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:80.2,80.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:80.53,82.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:83.2,83.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:15.48,19.2 3 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:21.45,25.2 3 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:27.33,31.2 3 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:33.52,37.2 3 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:40.37,43.2 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:45.96,47.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:47.35,49.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:50.2,51.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:51.13,53.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:54.2,54.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:54.25,56.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:57.2,58.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:58.16,60.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:61.2,61.26 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:61.26,63.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:64.2,64.28 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:64.28,66.85 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:66.85,68.9 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:71.2,71.39 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:78.71,80.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:80.35,82.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:83.2,84.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:84.13,86.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:87.2,87.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:87.25,89.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:91.2,92.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:92.28,93.44 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:93.44,95.9 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:98.3,98.40 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:98.40,99.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:102.2,102.20 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:102.20,104.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:106.2,106.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:106.35,109.17 3 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:109.17,110.15 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:110.15,112.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:114.4,114.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:114.29,116.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:119.2,119.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:122.46,123.28 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:123.28,124.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:124.29,126.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:128.2,128.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:131.31,133.18 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:133.18,135.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:136.2,136.10 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:139.33,141.49 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:141.49,143.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:144.2,144.10 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:10.38,11.41 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:11.41,14.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:15.2,15.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:15.22,17.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:28.60,30.34 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:30.34,31.105 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:31.105,34.10 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:36.5,36.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:48.86,54.53 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:54.53,56.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:57.5,57.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:57.47,58.57 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:58.57,63.10 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:65.5,65.49 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:65.49,66.58 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:66.58,71.10 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:73.5,73.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:73.47,75.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:76.5,76.46 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:76.46,78.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:79.5,79.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:79.47,81.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:82.5,82.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:82.24,84.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:86.5,87.33 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:87.33,88.69 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:88.69,90.10 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:92.5,93.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:117.72,120.2 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:191.151,194.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:194.24,196.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:197.2,199.24 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:199.24,201.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:202.2,204.24 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:204.24,207.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:208.2,209.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:209.32,211.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:212.2,213.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:213.14,215.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:217.2,231.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:234.64,238.9 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:238.9,240.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:242.2,243.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:246.56,249.24 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:249.24,251.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:252.2,252.44 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:252.44,255.33 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:255.33,260.4 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:261.3,261.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:264.2,265.29 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:268.51,272.37 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:272.37,273.15 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:273.15,275.9 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:278.2,278.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:278.14,280.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:281.2,281.50 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:288.74,290.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:290.22,295.49 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:295.49,297.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:297.9,300.4 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:303.3,303.115 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:303.115,305.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:307.3,307.27 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:307.27,309.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:311.3,311.27 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:311.27,312.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:312.34,313.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:313.38,314.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:314.35,316.7 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:318.5,318.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:321.4,321.16 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:326.2,327.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:327.36,329.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:331.2,331.114 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:331.114,333.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:334.2,335.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:335.35,336.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:336.14,338.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:340.2,340.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:343.137,348.24 5 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:348.24,350.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:351.2,361.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:436.74,445.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:17.48,19.55 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:19.55,20.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:20.23,22.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:23.3,23.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:25.2,26.57 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:26.57,27.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:27.23,29.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:30.3,30.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:32.2,35.53 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:35.53,37.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:38.2,38.57 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:38.57,40.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:41.2,41.54 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:41.54,43.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:44.2,44.51 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:44.51,46.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:47.2,47.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:47.22,49.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:52.85,53.85 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:53.85,64.3 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:65.2,65.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:68.89,70.21 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:70.21,72.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:73.2,82.12 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:85.70,86.45 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:86.45,88.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:89.2,97.58 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:97.58,99.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:100.2,100.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:101.17,108.72 7 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:108.72,109.66 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:109.66,113.5 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:114.9,116.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:117.21,120.43 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:120.43,121.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:121.24,123.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:123.10,125.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:127.3,133.72 7 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:133.72,134.66 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:134.66,138.5 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:139.9,141.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:142.18,149.72 7 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:149.72,150.66 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:150.66,154.5 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:155.9,157.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:158.17,159.92 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:159.92,167.4 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:169.2,169.18 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:172.55,174.56 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:174.56,175.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:175.23,177.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:178.3,178.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:180.2,180.49 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:180.49,183.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:184.2,184.26 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:190.85,191.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:191.22,193.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:194.2,195.53 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:195.53,197.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:198.2,198.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:198.31,200.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:201.2,202.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:202.36,203.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:203.34,205.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:207.2,207.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:211.37,213.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:213.32,215.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:216.2,216.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:216.32,218.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:220.2,220.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:220.29,222.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:224.2,224.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:224.29,226.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:227.2,227.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:230.34,231.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:231.22,233.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:234.2,234.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:237.37,238.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:238.22,240.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:241.2,241.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:246.76,248.80 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:248.80,250.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:252.2,252.71 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:252.71,254.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:256.2,257.41 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:257.41,259.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:260.2,267.12 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:271.86,272.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:272.24,274.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:275.2,275.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:275.34,277.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:278.2,286.12 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:289.95,291.76 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:291.76,293.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:295.2,296.21 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:296.21,298.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:299.2,301.36 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:301.36,303.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:304.2,306.39 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:306.39,308.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:310.2,314.26 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:314.26,320.22 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:320.22,323.4 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:324.3,326.102 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:326.102,328.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:329.3,336.40 6 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:336.40,338.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:339.3,341.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:341.19,343.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:344.3,345.33 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:348.2,349.15 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:349.15,351.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:352.2,367.13 13 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:367.13,370.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:371.2,372.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:376.62,377.39 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:377.39,379.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:380.2,382.16 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:382.16,384.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:385.2,386.29 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:389.35,390.41 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:390.41,392.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:393.2,393.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:397.48,398.27 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:398.27,400.39 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:400.39,403.45 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:403.45,405.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:406.4,406.46 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:406.46,408.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:409.4,409.46 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:409.46,411.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:412.4,412.15 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:415.2,415.11 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:419.63,420.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:420.13,422.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:423.2,423.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:423.23,425.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:427.2,428.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:428.28,429.42 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:429.42,431.9 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:433.3,433.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:433.38,434.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:437.2,437.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:437.17,439.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:441.2,443.38 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:443.38,445.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:445.32,446.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:447.13,449.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:450.13,451.18 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:451.18,453.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:454.5,454.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:454.31,456.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:461.2,461.15 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:461.15,463.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:464.2,464.18 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:468.65,469.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:469.24,476.71 7 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:476.71,478.21 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:478.21,480.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:481.9,483.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:486.2,487.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:487.16,489.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:490.2,490.115 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:494.43,498.39 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:498.39,500.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:501.2,503.34 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:503.34,505.63 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:505.63,507.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:510.2,510.42 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:510.42,512.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:513.2,513.11 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:516.37,517.16 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:517.16,519.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:520.2,521.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:521.32,523.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:524.2,524.18 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:15.48,18.55 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:18.55,25.19 5 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:25.19,27.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:28.3,28.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:28.25,32.10 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:32.10,35.5 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:38.2,39.73 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:44.67,45.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:45.22,47.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:48.2,52.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:52.48,54.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:54.8,57.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:58.2,58.46 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:63.99,66.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:68.98,71.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:73.160,78.52 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:78.52,81.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:82.2,82.51 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:82.51,84.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:86.2,91.86 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:91.86,96.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:97.2,97.58 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:97.58,100.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:102.2,102.83 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:102.83,105.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:108.2,108.126 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:108.126,110.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:113.2,116.29 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:116.29,118.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:119.2,121.32 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:121.32,123.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:125.2,126.29 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:126.29,128.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:129.2,132.16 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:132.16,136.3 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:137.2,141.19 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:141.19,143.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:144.2,145.75 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:149.38,150.16 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:150.16,152.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:153.2,156.42 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:156.42,158.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:158.8,161.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:162.2,162.27 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:166.91,168.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:168.24,170.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:171.2,171.40 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:171.40,172.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:172.35,174.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:175.3,176.37 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:176.37,177.18 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:177.18,180.5 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:183.2,183.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:187.119,191.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:191.24,193.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:194.2,195.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:195.13,197.68 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:197.68,199.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:201.2,201.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:201.19,203.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:205.2,206.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:206.12,208.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:208.28,210.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:212.3,212.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:214.2,216.50 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:216.50,218.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:219.2,219.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:223.193,225.9 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:225.9,227.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:228.2,237.32 6 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:237.32,239.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:240.2,241.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:241.24,243.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:244.2,250.30 5 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:250.30,252.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:253.2,254.40 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:254.40,256.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:256.20,258.21 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:258.21,260.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:261.4,261.54 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:261.54,263.21 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:263.21,265.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:267.4,267.40 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:267.40,271.5 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:273.8,273.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:273.23,275.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:276.2,276.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:281.55,283.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:283.12,285.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:286.2,286.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:286.6,290.20 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:290.20,292.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:293.3,294.17 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:294.17,296.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:297.3,299.10 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:300.21,302.10 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:303.18,303.18 0 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:311.60,313.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:313.19,315.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:316.2,317.6 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:317.6,321.23 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:321.23,325.11 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:326.22,328.17 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:329.19,331.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:335.3,337.14 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:342.177,354.14 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:354.14,357.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:358.2,358.68 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:358.68,360.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:361.2,363.52 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:363.52,365.37 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:365.37,367.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:368.3,368.73 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:370.2,370.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:374.101,376.57 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:376.57,377.78 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:377.78,379.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:381.2,381.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:381.19,383.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:384.2,384.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:384.19,386.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:387.2,387.56 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:387.56,388.57 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:388.57,390.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:392.2,392.16 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:21.45,23.55 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:23.55,26.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:29.47,31.55 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:31.55,32.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:32.32,34.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:35.3,37.44 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:41.46,43.55 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:43.55,46.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:52.76,54.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:54.14,56.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:58.2,59.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:59.14,61.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:62.2,62.26 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:62.26,64.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:65.2,66.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:66.13,68.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:69.2,69.30 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:69.30,71.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:73.2,74.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:74.28,77.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:78.2,83.43 5 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:83.43,86.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:87.2,87.27 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:95.50,96.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:96.24,98.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:99.2,100.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:100.35,102.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:103.2,103.30 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:103.30,106.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:106.14,107.39 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:107.39,109.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:111.4,111.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:113.3,113.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:113.12,114.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:117.3,117.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:117.25,118.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:121.3,121.37 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:121.37,122.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:125.3,125.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:125.12,126.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:128.3,130.38 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:130.38,131.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:131.19,133.10 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:136.3,136.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:136.17,137.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:140.3,141.63 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:141.63,143.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:144.3,144.80 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:144.80,145.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:148.3,151.19 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:151.19,152.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:154.3,156.38 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:156.38,166.18 9 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:166.18,169.5 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:170.4,171.17 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:171.17,173.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:174.4,174.61 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:177.3,177.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:183.110,185.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:185.14,187.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:189.2,200.54 8 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:205.96,207.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:207.14,209.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:210.2,213.31 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:213.31,214.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:214.53,216.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:217.3,217.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:217.12,218.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:220.3,220.61 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:220.61,221.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:223.3,224.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:224.14,226.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:226.36,229.13 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:231.4,231.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:233.3,233.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:233.53,235.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:236.3,236.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:236.12,237.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:239.3,242.6 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:244.2,245.26 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:245.26,246.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:246.35,248.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:249.3,249.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:249.35,251.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:253.2,254.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:258.45,260.17 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:260.17,262.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:264.2,264.50 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:264.50,266.40 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:266.40,267.18 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:267.18,269.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:273.2,274.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:275.21,276.48 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:277.10,278.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:283.68,290.2 6 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:293.46,300.2 6 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:303.61,318.2 9 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:322.59,323.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:323.12,326.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:8.52,10.55 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:10.55,13.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:14.2,14.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:15.28,16.28 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:16.28,20.58 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:20.58,22.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:23.4,23.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:23.17,25.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:27.3,28.9 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:29.10,32.9 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_init.go:11.48,13.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_init.go:13.24,15.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_init.go:16.2,27.27 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_init.go:30.38,32.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_init.go:34.46,36.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_init.go:38.31,41.2 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:21.55,23.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:23.32,25.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:26.2,26.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:30.41,35.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:37.41,42.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:44.32,47.23 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:47.23,49.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:50.2,51.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:51.24,53.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:54.2,57.15 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:57.15,59.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:60.2,63.211 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:67.51,68.41 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:68.41,70.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:71.2,73.71 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:77.62,77.105 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:79.118,80.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:80.14,83.16 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:83.16,86.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:86.35,88.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:89.4,89.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:89.36,91.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:92.4,94.59 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.59,96.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:97.4,97.21 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:100.2,103.19 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:106.51,107.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:107.23,109.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:110.2,110.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:110.13,112.100 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:112.100,114.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:116.3,116.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:118.2,118.11 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:121.32,123.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:126.44,127.50 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:127.50,129.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:130.2,130.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:133.40,135.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:135.20,136.40 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:136.40,138.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:140.3,140.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:142.2,142.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:142.12,144.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:145.2,145.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:148.52,149.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:149.38,151.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:152.2,153.27 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:153.27,154.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:154.34,155.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:157.3,157.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:157.36,158.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:160.3,160.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.2,162.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:170.64,172.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:172.22,175.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:175.12,177.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:178.3,180.74 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:180.74,182.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:185.3,186.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:186.12,188.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:189.3,190.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:190.48,192.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:194.3,195.18 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:195.18,197.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:199.3,200.29 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:202.2,202.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:208.41,212.31 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:212.31,214.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:215.2,215.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:215.29,217.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:218.2,218.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:218.31,220.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.32,222.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:224.2,224.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:228.83,231.102 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:231.102,233.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:233.36,235.136 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:235.136,237.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:238.4,240.34 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:240.34,242.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:246.2,246.65 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:246.65,247.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:247.53,249.37 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:249.37,251.137 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.137,253.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:254.5,256.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:256.35,258.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:262.2,262.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:266.80,267.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:267.22,269.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:270.2,272.40 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:272.40,274.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:275.2,275.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:275.34,276.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:276.31,277.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:279.3,280.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.16,281.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:283.3,283.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:283.32,285.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:287.2,287.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:290.36,292.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:295.39,295.77 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:298.43,300.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:300.13,302.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:303.2,304.11 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:304.11,306.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:307.2,308.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:308.14,310.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:311.2,312.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:316.56,318.89 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:318.89,320.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:321.2,321.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:325.52,326.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:326.32,328.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:328.28,330.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:331.3,331.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:331.34,333.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:334.3,334.42 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:334.42,336.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:337.3,337.49 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.2,342.27 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:342.27,344.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:345.2,345.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:345.36,347.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:348.2,351.49 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:351.49,353.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:353.24,355.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:358.2,359.25 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:359.25,361.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:362.2,362.33 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:362.33,364.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:365.2,366.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:370.67,372.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:372.35,374.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:375.2,376.31 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:376.31,378.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:379.2,379.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:382.69,383.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:383.32,385.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:386.2,386.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:389.45,391.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:391.22,395.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:395.12,397.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:398.3,400.32 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:400.32,402.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:403.3,404.46 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:404.46,406.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:409.3,410.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:410.12,412.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:413.3,414.49 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:414.49,416.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:418.3,418.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:420.2,420.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:423.67,426.28 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:426.28,428.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:428.12,429.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:431.3,433.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:433.12,434.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:436.3,436.43 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:436.43,438.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:440.3,440.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:440.34,442.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:444.3,445.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.48,447.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:449.3,449.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:449.25,451.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:453.3,454.50 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.50,456.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:457.3,458.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:460.2,460.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:126.90,129.20 3 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:129.20,131.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:132.2,134.23 3 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:134.23,136.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:137.2,138.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:138.22,140.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:141.2,142.27 2 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:142.27,144.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:145.2,151.38 6 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:151.38,154.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:154.8,156.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:157.2,160.35 4 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:160.35,162.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:163.2,163.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:163.35,165.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:167.2,167.46 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:167.46,169.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:169.8,171.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:172.2,172.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:172.47,174.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:174.8,176.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:177.2,177.46 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:177.46,179.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:179.8,181.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:182.2,182.33 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:182.33,184.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:184.8,186.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:189.2,207.24 17 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:207.24,209.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:210.2,210.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:210.25,212.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:213.2,213.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:213.24,215.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:216.2,216.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:216.29,218.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:220.2,222.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:222.47,222.72 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:224.47,224.65 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:233.2,233.10 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:236.30,237.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:237.6,239.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:239.20,241.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:242.3,242.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:242.17,244.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:245.3,246.52 2 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:246.52,248.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:250.3,250.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:250.23,252.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:254.3,255.15 2 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:255.15,257.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:15.48,18.6 3 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:18.6,20.17 2 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:20.17,22.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:23.3,23.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:23.17,24.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:26.3,27.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:27.22,28.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:30.3,32.14 3 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:33.25,35.18 2 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:35.18,37.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:38.4,38.21 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:41.2,41.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:41.24,43.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:44.2,45.50 2 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:45.50,47.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:48.2,48.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:51.38,53.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:53.16,56.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:57.2,58.57 2 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:58.57,61.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:62.2,62.45 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:62.45,65.3 2 0 +codeberg.org/snonux/hexai/internal/testutil/fixtures.go:4.33,6.2 1 0 +codeberg.org/snonux/hexai/internal/testutil/fixtures.go:9.34,11.2 1 0 +codeberg.org/snonux/hexai/internal/testutil/fixtures.go:14.43,16.2 1 0 +codeberg.org/snonux/hexai/internal/testutil/fixtures.go:19.33,21.2 1 0 +codeberg.org/snonux/hexai/internal/testutil/fixtures.go:24.29,26.2 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:6.62,7.34 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:7.34,9.6 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:10.5,11.28 2 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:11.28,13.6 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:14.5,14.15 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:18.39,20.16 2 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:20.16,22.6 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:23.5,25.69 3 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:25.69,27.6 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:28.5,29.57 2 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:29.57,31.6 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:32.5,32.54 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:32.54,34.6 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:35.5,37.72 3 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:37.72,40.6 2 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:41.5,41.13 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:47.60,49.34 2 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:49.34,50.105 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:50.105,53.10 2 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:55.5,55.19 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:59.79,62.53 3 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:62.53,64.6 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:65.5,65.47 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:65.47,66.57 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:66.57,71.10 4 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:73.5,73.49 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:73.49,74.58 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:74.58,79.10 4 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:81.5,81.47 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:81.47,83.6 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:84.5,84.46 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:84.46,86.6 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:87.5,87.47 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:87.47,89.6 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:90.5,90.24 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:90.24,90.50 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:91.5,92.33 2 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:92.33,93.69 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:93.69,93.81 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:95.5,96.36 2 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:100.79,101.36 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:101.36,102.27 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:102.27,102.37 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:103.9,103.48 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:103.48,103.58 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:104.9,104.44 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:104.44,105.31 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:105.31,106.49 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:106.49,106.59 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:107.17,108.32 2 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:108.32,108.64 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:112.5,112.29 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:11.23,11.60 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:17.23,17.72 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:20.23,20.76 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:31.52,32.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:32.20,34.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:35.2,36.19 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:36.19,38.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:38.8,40.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.2,41.45 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.45,43.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.2,44.42 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.42,46.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:48.2,51.19 4 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:56.38,58.25 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:58.25,59.14 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:59.14,61.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.3,63.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.20,65.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:69.3,70.33 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:72.2,72.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:76.32,77.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:77.30,79.141 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:79.141,80.12 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:82.3,82.15 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:84.2,84.13 1 0 +codeberg.org/snonux/hexai/cmd/hexai/main.go:14.13,17.18 3 0 +codeberg.org/snonux/hexai/cmd/hexai/main.go:17.18,20.3 2 0 +codeberg.org/snonux/hexai/cmd/hexai/main.go:22.2,22.104 1 0 +codeberg.org/snonux/hexai/cmd/hexai/main.go:22.104,24.3 1 0 +codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:13.13,17.18 4 0 +codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:17.18,20.3 2 0 +codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.2,22.79 1 0 +codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.79,24.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:17.13,30.14 10 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:30.14,31.53 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:31.53,34.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:35.3,35.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.2,39.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.42,40.80 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:40.80,43.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:44.3,44.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.2,48.51 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.51,50.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:50.17,53.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:54.3,56.88 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:56.88,59.10 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:60.9,60.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.2,64.55 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.55,67.3 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:71.83,74.20 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:74.21,74.22 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.2,75.21 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.22,75.23 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.2,77.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.32,79.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:79.17,80.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.29,80.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.40,80.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:82.3,83.20 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:83.20,83.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.2,85.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.33,87.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:87.17,88.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.29,88.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.40,88.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:90.3,91.21 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:91.21,91.38 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:93.2,93.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:99.45,100.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:100.19,103.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:103.17,105.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:106.3,108.72 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:110.2,112.16 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:112.16,114.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:115.2,116.84 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:116.84,119.64 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:119.64,121.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:122.8,124.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:125.2,125.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:133.51,134.12 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:134.12,136.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.2,137.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.15,139.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.5,141.82 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.82,143.6 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:144.2,144.14 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:147.29,147.64 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:149.63,152.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:152.16,154.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.2,155.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.15,155.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:156.2,159.45 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:159.45,161.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:163.2,164.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:164.16,166.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:167.2,170.47 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:170.47,172.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.2,174.61 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.61,176.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:178.2,178.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:181.38,183.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:183.16,185.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.2,186.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.15,186.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.2,187.48 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.48,189.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:190.2,190.17 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:193.60,195.6 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:195.6,196.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:196.42,198.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.3,199.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.33,201.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:202.3,202.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:206.41,208.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:208.16,210.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.2,211.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.15,211.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:212.2,213.12 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:216.48,220.18 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:220.18,222.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:222.17,224.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.3,225.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.16,225.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:226.3,226.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.2,228.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.19,230.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:230.17,232.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.3,233.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.16,233.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:234.3,234.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:236.2,237.12 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:89.29,136.2 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:140.35,142.19 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:142.19,144.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:146.2,147.16 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:147.16,150.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:150.8,151.85 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:151.85,153.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:159.2,159.50 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:159.50,161.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:162.2,162.12 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:278.35,282.77 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:282.77,291.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:294.2,294.38 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:294.38,297.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:300.2,300.44 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:300.44,307.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:310.2,310.44 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:310.44,313.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:316.2,316.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:316.36,319.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:322.2,322.82 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:322.82,325.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:328.2,328.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:328.47,331.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:334.2,334.68 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:334.68,341.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:344.2,344.71 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:344.71,351.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:354.2,354.68 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:354.68,361.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:365.2,365.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:365.59,366.67 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:366.67,368.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:369.3,369.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:369.66,371.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:372.3,372.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:372.66,374.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:375.3,375.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:375.65,377.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:378.3,378.64 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:378.64,380.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:381.3,381.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:381.65,383.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:386.2,386.53 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:386.53,388.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:390.2,390.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:390.59,391.67 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:391.67,393.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:394.3,394.71 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:394.71,396.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:397.3,397.68 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:397.68,399.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:400.3,400.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:400.65,402.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:403.3,403.69 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:403.69,405.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:406.3,406.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:406.66,408.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:409.3,409.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:409.66,411.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:412.3,412.64 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:412.64,414.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:417.2,417.45 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:417.45,418.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:418.60,420.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:421.3,421.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:421.60,423.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:426.2,426.67 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:426.67,428.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:430.2,430.12 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:433.66,435.16 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:435.16,436.43 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:436.43,438.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:439.3,439.18 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:442.2,447.22 5 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:447.22,448.20 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:448.20,450.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:451.3,451.24 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:455.2,464.21 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:464.21,465.216 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:465.216,466.12 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:468.3,468.41 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:468.41,470.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:473.2,473.19 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:473.19,475.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:479.2,481.53 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:481.53,482.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:482.59,483.26 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:484.15,485.40 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:486.13,487.35 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:488.17,489.40 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:493.2,493.50 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:493.50,494.52 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:494.52,495.26 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:496.15,497.34 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:498.13,499.29 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:500.17,501.34 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:505.2,505.18 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:508.37,512.2 3 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:515.39,516.25 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:516.25,518.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:519.2,519.56 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:519.56,521.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:522.2,522.34 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:522.34,524.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:525.2,525.32 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:525.32,527.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:528.2,528.32 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:528.32,530.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:531.2,531.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:531.36,533.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:534.2,534.38 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:534.38,536.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:537.2,537.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:537.36,539.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:540.2,540.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:540.36,542.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:543.2,543.38 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:543.38,545.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:546.2,546.55 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:546.55,548.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:549.2,549.56 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:549.56,551.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:552.2,552.55 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:552.55,554.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:555.2,555.33 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:555.33,557.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:558.2,558.53 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:558.53,560.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:564.40,566.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:566.66,568.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:569.2,569.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:569.65,571.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:572.2,572.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:572.65,574.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:575.2,575.64 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:575.64,577.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:578.2,578.63 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:578.63,580.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:581.2,581.64 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:581.64,583.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:585.2,585.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:585.59,587.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:589.2,589.53 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:589.53,591.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:593.2,593.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:593.66,595.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:596.2,596.70 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:596.70,598.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:599.2,599.67 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:599.67,601.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:602.2,602.64 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:602.64,604.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:605.2,605.68 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:605.68,607.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:608.2,608.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:608.65,610.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:611.2,611.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:611.65,613.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:614.2,614.63 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:614.63,616.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:618.2,618.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:618.59,620.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:621.2,621.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:621.59,623.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:627.47,628.58 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:628.58,630.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:631.2,631.56 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:631.56,633.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:634.2,634.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:634.36,636.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:637.2,637.58 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:637.58,639.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:640.2,640.56 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:640.56,642.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:643.2,643.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:643.36,645.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:646.2,646.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:646.59,648.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:649.2,649.57 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:649.57,651.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:652.2,652.37 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:652.37,654.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:657.38,659.72 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:659.72,661.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:661.8,663.17 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:663.17,665.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:666.3,666.70 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:668.2,668.24 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:675.43,680.34 3 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:680.34,680.76 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:681.2,681.41 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:681.41,683.14 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:683.14,685.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:686.3,687.17 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:687.17,688.21 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:688.21,690.5 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:691.4,691.19 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:693.3,693.17 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:695.2,695.51 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:695.51,697.14 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:697.14,699.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:700.3,701.17 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:701.17,702.21 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:702.21,704.5 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:705.4,705.21 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:707.3,707.18 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:710.2,710.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:710.47,713.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:714.2,714.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:714.48,717.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:718.2,718.57 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:718.57,721.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:722.2,722.55 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:722.55,725.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:726.2,726.54 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:726.54,729.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:730.2,730.61 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:730.61,733.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:734.2,734.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:734.59,737.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:738.2,738.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:738.59,741.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:742.2,742.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:742.60,745.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:746.2,746.54 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:746.54,749.27 3 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:749.27,750.42 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:750.42,752.5 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:754.3,754.13 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:756.2,756.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:756.47,759.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:760.2,760.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:760.48,763.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:764.2,764.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:764.47,767.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:768.2,768.49 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:768.49,771.27 3 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:771.27,772.42 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:772.42,774.5 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:776.3,776.13 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:778.2,778.44 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:778.44,781.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:784.2,784.51 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:784.51,787.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:788.2,788.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:788.48,791.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:792.2,792.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:792.60,795.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:797.2,797.51 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:797.51,800.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:801.2,801.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:801.48,804.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:805.2,805.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:805.60,808.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:810.2,810.52 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:810.52,813.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:814.2,814.49 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:814.49,817.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:818.2,818.61 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:818.61,821.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:823.2,823.10 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:823.10,825.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:826.2,826.13 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:20.50,22.16 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:22.16,24.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:25.2,26.15 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:26.15,28.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:29.2,32.27 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:32.27,34.26 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:34.26,36.9 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:39.2,39.18 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:39.18,41.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:43.2,45.28 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:45.28,47.14 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:47.14,49.9 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:51.3,51.27 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:53.2,55.60 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:60.54,60.103 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:14.54,14.97 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:17.35,17.73 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:23.121,27.2 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:29.128,31.26 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:31.26,32.33 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:32.33,33.12 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:35.3,36.23 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:36.23,38.4 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:40.2,42.69 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:45.109,49.2 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:51.106,55.2 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:57.86,60.19 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:60.19,62.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:63.5,63.52 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:66.120,69.19 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:69.19,71.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:72.5,72.52 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:76.57,78.37 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:78.37,80.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:81.5,81.16 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:85.79,87.2 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:89.78,91.2 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:16.80,20.16 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:20.16,23.3 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:24.2,25.16 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:25.16,28.3 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:29.2,29.46 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:29.46,31.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:32.2,33.16 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:33.16,35.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:36.2,37.16 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.16,39.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:40.2,41.12 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:44.146,45.14 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:46.18,47.30 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:48.21,50.37 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:50.37,53.4 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:54.3,56.55 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:57.25,60.79 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:61.22,64.57 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:65.20,68.55 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:69.10,70.30 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:18.36,18.54 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:19.36,19.53 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:20.36,20.54 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:28.23,41.2 7 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:43.31,43.45 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:45.57,46.27 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:47.18,48.27 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:49.25,50.40 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:52.2,54.15 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:57.62,60.16 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:61.21,65.27 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:66.18,67.55 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:67.55,71.10 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:72.22,73.28 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:74.20,75.26 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:76.22,77.25 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:78.16,79.44 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:79.44,79.68 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:80.29,82.41 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:82.41,83.91 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:83.91,88.14 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:91.5,91.19 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:91.19,92.44 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:92.44,92.68 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:94.5,94.18 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:97.30,98.12 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:98.12,100.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:101.2,101.22 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:105.35,108.16 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:108.16,110.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:111.2,111.29 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:111.29,112.21 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:112.21,114.4 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:115.3,115.23 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:117.2,117.56 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:20.61,20.73 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:21.61,21.73 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:22.61,22.75 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:23.89,26.38 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:26.38,28.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:29.5,31.27 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:31.27,33.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:34.5,34.49 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:23.95,28.16 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:28.16,31.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:33.2,34.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.17,37.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:38.2,40.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:40.74,43.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:44.2,44.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:49.124,51.16 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:51.16,54.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:55.2,57.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:57.74,60.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:61.2,61.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:65.64,67.82 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:67.82,70.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:71.2,72.9 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:73.40,74.59 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:75.23,76.24 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:77.21,78.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:79.10,80.91 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:88.48,91.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:91.40,93.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:94.2,97.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:101.77,104.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:104.40,105.58 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:105.58,107.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:109.2,112.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:116.125,119.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:119.40,121.56 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:121.56,124.4 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:124.18,126.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:127.3,127.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:128.8,130.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:130.17,132.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.3,134.26 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.2,139.12 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:143.59,145.2 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:148.65,150.2 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:25.85,27.38 2 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:27.38,29.17 2 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:29.17,31.4 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:32.3,33.22 2 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:35.2,37.70 3 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:42.159,49.37 6 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:49.37,51.3 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:52.2,52.12 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:57.49,59.30 2 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:59.30,61.3 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:64.72,65.19 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:65.19,67.3 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:68.2,82.36 3 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:82.36,84.3 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:86.2,87.36 2 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:87.36,89.3 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:90.2,90.67 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:90.67,93.3 2 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:93.8,96.3 2 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:99.57,100.20 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:100.20,102.3 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:103.2,103.97 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:103.97,105.3 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:108.97,144.2 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:66.77,67.38 1 9 +codeberg.org/snonux/hexai/internal/llm/copilot.go:67.38,69.3 1 1 +codeberg.org/snonux/hexai/internal/llm/copilot.go:70.2,70.36 1 9 +codeberg.org/snonux/hexai/internal/llm/copilot.go:70.36,74.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:75.2,82.3 1 9 +codeberg.org/snonux/hexai/internal/llm/copilot.go:85.109,86.39 1 5 +codeberg.org/snonux/hexai/internal/llm/copilot.go:86.39,88.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:90.2,90.45 1 5 +codeberg.org/snonux/hexai/internal/llm/copilot.go:90.45,92.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:93.2,94.27 2 5 +codeberg.org/snonux/hexai/internal/llm/copilot.go:94.27,96.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:97.2,97.19 1 5 +codeberg.org/snonux/hexai/internal/llm/copilot.go:97.19,99.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:100.2,102.29 3 5 +codeberg.org/snonux/hexai/internal/llm/copilot.go:102.29,104.3 1 5 +codeberg.org/snonux/hexai/internal/llm/copilot.go:105.2,109.16 4 5 +codeberg.org/snonux/hexai/internal/llm/copilot.go:109.16,112.3 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:114.2,117.16 4 5 +codeberg.org/snonux/hexai/internal/llm/copilot.go:117.16,120.3 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:121.2,122.57 2 5 +codeberg.org/snonux/hexai/internal/llm/copilot.go:122.57,124.3 1 1 +codeberg.org/snonux/hexai/internal/llm/copilot.go:125.2,126.16 2 4 +codeberg.org/snonux/hexai/internal/llm/copilot.go:126.16,128.3 1 1 +codeberg.org/snonux/hexai/internal/llm/copilot.go:129.2,129.27 1 3 +codeberg.org/snonux/hexai/internal/llm/copilot.go:129.27,132.3 2 1 +codeberg.org/snonux/hexai/internal/llm/copilot.go:133.2,135.21 3 2 +codeberg.org/snonux/hexai/internal/llm/copilot.go:139.46,139.66 1 1 +codeberg.org/snonux/hexai/internal/llm/copilot.go:140.46,140.71 1 1 +codeberg.org/snonux/hexai/internal/llm/copilot.go:143.102,146.29 3 6 +codeberg.org/snonux/hexai/internal/llm/copilot.go:146.29,148.3 1 6 +codeberg.org/snonux/hexai/internal/llm/copilot.go:149.2,149.24 1 6 +codeberg.org/snonux/hexai/internal/llm/copilot.go:149.24,151.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:151.8,151.31 1 6 +codeberg.org/snonux/hexai/internal/llm/copilot.go:151.31,154.3 2 6 +codeberg.org/snonux/hexai/internal/llm/copilot.go:155.2,155.21 1 6 +codeberg.org/snonux/hexai/internal/llm/copilot.go:155.21,157.3 1 1 +codeberg.org/snonux/hexai/internal/llm/copilot.go:158.2,158.21 1 6 +codeberg.org/snonux/hexai/internal/llm/copilot.go:158.21,160.3 1 1 +codeberg.org/snonux/hexai/internal/llm/copilot.go:161.2,161.12 1 6 +codeberg.org/snonux/hexai/internal/llm/copilot.go:164.130,166.16 2 8 +codeberg.org/snonux/hexai/internal/llm/copilot.go:166.16,168.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:169.2,169.28 1 8 +codeberg.org/snonux/hexai/internal/llm/copilot.go:169.28,171.3 1 88 +codeberg.org/snonux/hexai/internal/llm/copilot.go:172.2,172.29 1 8 +codeberg.org/snonux/hexai/internal/llm/copilot.go:175.70,176.53 1 6 +codeberg.org/snonux/hexai/internal/llm/copilot.go:176.53,178.3 1 4 +codeberg.org/snonux/hexai/internal/llm/copilot.go:179.2,181.74 3 2 +codeberg.org/snonux/hexai/internal/llm/copilot.go:181.74,184.3 2 2 +codeberg.org/snonux/hexai/internal/llm/copilot.go:185.2,186.69 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:189.91,191.64 2 4 +codeberg.org/snonux/hexai/internal/llm/copilot.go:191.64,194.3 2 1 +codeberg.org/snonux/hexai/internal/llm/copilot.go:195.2,195.17 1 3 +codeberg.org/snonux/hexai/internal/llm/copilot.go:204.66,206.82 1 16 +codeberg.org/snonux/hexai/internal/llm/copilot.go:206.82,208.3 1 8 +codeberg.org/snonux/hexai/internal/llm/copilot.go:209.2,209.39 1 8 +codeberg.org/snonux/hexai/internal/llm/copilot.go:209.39,211.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:212.2,213.16 2 8 +codeberg.org/snonux/hexai/internal/llm/copilot.go:213.16,215.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:216.2,220.16 5 8 +codeberg.org/snonux/hexai/internal/llm/copilot.go:220.16,222.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:223.2,224.53 2 8 +codeberg.org/snonux/hexai/internal/llm/copilot.go:224.53,226.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:227.2,228.64 2 8 +codeberg.org/snonux/hexai/internal/llm/copilot.go:228.64,230.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:231.2,231.40 1 8 +codeberg.org/snonux/hexai/internal/llm/copilot.go:231.40,233.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:235.2,236.18 2 8 +codeberg.org/snonux/hexai/internal/llm/copilot.go:236.18,238.3 1 8 +codeberg.org/snonux/hexai/internal/llm/copilot.go:239.2,241.12 3 8 +codeberg.org/snonux/hexai/internal/llm/copilot.go:246.42,248.20 2 9 +codeberg.org/snonux/hexai/internal/llm/copilot.go:248.20,250.3 1 8 +codeberg.org/snonux/hexai/internal/llm/copilot.go:251.2,252.16 2 1 +codeberg.org/snonux/hexai/internal/llm/copilot.go:252.16,253.59 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:253.59,254.48 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:254.48,256.5 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:258.3,258.21 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:260.2,264.22 3 1 +codeberg.org/snonux/hexai/internal/llm/copilot.go:264.22,266.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:267.2,267.34 1 1 +codeberg.org/snonux/hexai/internal/llm/copilot.go:270.42,270.100 3 1 +codeberg.org/snonux/hexai/internal/llm/copilot.go:274.57,290.2 3 5 +codeberg.org/snonux/hexai/internal/llm/copilot.go:292.58,308.2 3 3 +codeberg.org/snonux/hexai/internal/llm/copilot.go:310.28,313.19 3 88 +codeberg.org/snonux/hexai/internal/llm/copilot.go:313.19,315.3 1 1024 +codeberg.org/snonux/hexai/internal/llm/copilot.go:316.2,316.18 1 88 +codeberg.org/snonux/hexai/internal/llm/copilot.go:322.153,323.39 1 3 +codeberg.org/snonux/hexai/internal/llm/copilot.go:323.39,325.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:326.2,326.45 1 3 +codeberg.org/snonux/hexai/internal/llm/copilot.go:326.45,328.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:329.2,329.12 1 3 +codeberg.org/snonux/hexai/internal/llm/copilot.go:329.12,331.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:332.2,354.16 6 3 +codeberg.org/snonux/hexai/internal/llm/copilot.go:354.16,356.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:357.2,358.53 2 3 +codeberg.org/snonux/hexai/internal/llm/copilot.go:358.53,360.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:362.2,365.27 4 3 +codeberg.org/snonux/hexai/internal/llm/copilot.go:365.27,366.39 1 10 +codeberg.org/snonux/hexai/internal/llm/copilot.go:366.39,367.12 1 3 +codeberg.org/snonux/hexai/internal/llm/copilot.go:369.3,375.88 2 7 +codeberg.org/snonux/hexai/internal/llm/copilot.go:375.88,376.12 1 4 +codeberg.org/snonux/hexai/internal/llm/copilot.go:378.3,378.34 1 3 +codeberg.org/snonux/hexai/internal/llm/copilot.go:378.34,380.4 1 3 +codeberg.org/snonux/hexai/internal/llm/copilot.go:382.2,383.25 2 3 +codeberg.org/snonux/hexai/internal/llm/copilot.go:383.25,384.60 1 4 +codeberg.org/snonux/hexai/internal/llm/copilot.go:384.60,386.4 1 3 +codeberg.org/snonux/hexai/internal/llm/copilot.go:388.2,388.17 1 3 +codeberg.org/snonux/hexai/internal/llm/ollama.go:44.68,45.38 1 10 +codeberg.org/snonux/hexai/internal/llm/ollama.go:45.38,47.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:48.2,48.36 1 10 +codeberg.org/snonux/hexai/internal/llm/ollama.go:48.36,50.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:51.2,57.3 1 10 +codeberg.org/snonux/hexai/internal/llm/ollama.go:60.108,62.27 2 6 +codeberg.org/snonux/hexai/internal/llm/ollama.go:62.27,64.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:65.2,65.19 1 6 +codeberg.org/snonux/hexai/internal/llm/ollama.go:65.19,67.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:69.2,73.16 5 6 +codeberg.org/snonux/hexai/internal/llm/ollama.go:73.16,75.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:77.2,80.16 4 6 +codeberg.org/snonux/hexai/internal/llm/ollama.go:80.16,83.3 2 1 +codeberg.org/snonux/hexai/internal/llm/ollama.go:84.2,85.56 2 5 +codeberg.org/snonux/hexai/internal/llm/ollama.go:85.56,87.3 1 2 +codeberg.org/snonux/hexai/internal/llm/ollama.go:89.2,90.64 2 3 +codeberg.org/snonux/hexai/internal/llm/ollama.go:90.64,93.3 2 1 +codeberg.org/snonux/hexai/internal/llm/ollama.go:94.2,94.50 1 2 +codeberg.org/snonux/hexai/internal/llm/ollama.go:94.50,97.3 2 1 +codeberg.org/snonux/hexai/internal/llm/ollama.go:98.2,100.21 3 1 +codeberg.org/snonux/hexai/internal/llm/ollama.go:104.45,104.64 1 1 +codeberg.org/snonux/hexai/internal/llm/ollama.go:105.45,105.70 1 1 +codeberg.org/snonux/hexai/internal/llm/ollama.go:108.126,110.27 2 3 +codeberg.org/snonux/hexai/internal/llm/ollama.go:110.27,112.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:113.2,113.19 1 3 +codeberg.org/snonux/hexai/internal/llm/ollama.go:113.19,115.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:117.2,121.16 5 3 +codeberg.org/snonux/hexai/internal/llm/ollama.go:121.16,123.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:125.2,128.16 4 3 +codeberg.org/snonux/hexai/internal/llm/ollama.go:128.16,131.3 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:132.2,133.56 2 3 +codeberg.org/snonux/hexai/internal/llm/ollama.go:133.56,135.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:137.2,138.6 2 3 +codeberg.org/snonux/hexai/internal/llm/ollama.go:138.6,140.41 2 4 +codeberg.org/snonux/hexai/internal/llm/ollama.go:140.41,141.30 1 1 +codeberg.org/snonux/hexai/internal/llm/ollama.go:141.30,142.10 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:144.4,145.14 2 1 +codeberg.org/snonux/hexai/internal/llm/ollama.go:147.3,147.40 1 3 +codeberg.org/snonux/hexai/internal/llm/ollama.go:147.40,150.4 2 1 +codeberg.org/snonux/hexai/internal/llm/ollama.go:151.3,151.58 1 2 +codeberg.org/snonux/hexai/internal/llm/ollama.go:151.58,153.4 1 2 +codeberg.org/snonux/hexai/internal/llm/ollama.go:154.3,154.14 1 2 +codeberg.org/snonux/hexai/internal/llm/ollama.go:154.14,155.9 1 1 +codeberg.org/snonux/hexai/internal/llm/ollama.go:158.2,159.12 2 1 +codeberg.org/snonux/hexai/internal/llm/ollama.go:163.76,165.29 2 9 +codeberg.org/snonux/hexai/internal/llm/ollama.go:165.29,167.3 1 9 +codeberg.org/snonux/hexai/internal/llm/ollama.go:168.2,168.89 1 9 +codeberg.org/snonux/hexai/internal/llm/ollama.go:171.109,174.29 3 12 +codeberg.org/snonux/hexai/internal/llm/ollama.go:174.29,176.3 1 12 +codeberg.org/snonux/hexai/internal/llm/ollama.go:177.2,178.24 2 12 +codeberg.org/snonux/hexai/internal/llm/ollama.go:178.24,180.3 1 1 +codeberg.org/snonux/hexai/internal/llm/ollama.go:180.8,180.31 1 11 +codeberg.org/snonux/hexai/internal/llm/ollama.go:180.31,182.3 1 3 +codeberg.org/snonux/hexai/internal/llm/ollama.go:183.2,183.21 1 12 +codeberg.org/snonux/hexai/internal/llm/ollama.go:183.21,185.3 1 2 +codeberg.org/snonux/hexai/internal/llm/ollama.go:186.2,186.21 1 12 +codeberg.org/snonux/hexai/internal/llm/ollama.go:186.21,188.3 1 2 +codeberg.org/snonux/hexai/internal/llm/ollama.go:189.2,189.22 1 12 +codeberg.org/snonux/hexai/internal/llm/ollama.go:189.22,191.3 1 4 +codeberg.org/snonux/hexai/internal/llm/ollama.go:192.2,192.12 1 12 +codeberg.org/snonux/hexai/internal/llm/ollama.go:195.100,197.16 2 9 +codeberg.org/snonux/hexai/internal/llm/ollama.go:197.16,199.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:200.2,201.29 2 9 +codeberg.org/snonux/hexai/internal/llm/ollama.go:204.69,205.53 1 9 +codeberg.org/snonux/hexai/internal/llm/ollama.go:205.53,207.3 1 7 +codeberg.org/snonux/hexai/internal/llm/ollama.go:208.2,210.43 3 2 +codeberg.org/snonux/hexai/internal/llm/ollama.go:210.43,213.3 2 1 +codeberg.org/snonux/hexai/internal/llm/ollama.go:214.2,215.68 2 1 +codeberg.org/snonux/hexai/internal/llm/openai.go:78.76,79.38 1 11 +codeberg.org/snonux/hexai/internal/llm/openai.go:79.38,81.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:82.2,82.36 1 11 +codeberg.org/snonux/hexai/internal/llm/openai.go:82.36,84.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:85.2,92.3 1 11 +codeberg.org/snonux/hexai/internal/llm/openai.go:95.108,96.20 1 6 +codeberg.org/snonux/hexai/internal/llm/openai.go:96.20,98.3 1 1 +codeberg.org/snonux/hexai/internal/llm/openai.go:99.2,100.27 2 5 +codeberg.org/snonux/hexai/internal/llm/openai.go:100.27,102.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:103.2,103.19 1 5 +codeberg.org/snonux/hexai/internal/llm/openai.go:103.19,105.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:106.2,110.16 5 5 +codeberg.org/snonux/hexai/internal/llm/openai.go:110.16,113.3 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:114.2,119.16 4 5 +codeberg.org/snonux/hexai/internal/llm/openai.go:119.16,122.3 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:123.2,124.56 2 5 +codeberg.org/snonux/hexai/internal/llm/openai.go:124.56,126.3 1 1 +codeberg.org/snonux/hexai/internal/llm/openai.go:127.2,128.16 2 4 +codeberg.org/snonux/hexai/internal/llm/openai.go:128.16,130.3 1 1 +codeberg.org/snonux/hexai/internal/llm/openai.go:131.2,131.27 1 3 +codeberg.org/snonux/hexai/internal/llm/openai.go:131.27,134.3 2 1 +codeberg.org/snonux/hexai/internal/llm/openai.go:135.2,137.21 3 2 +codeberg.org/snonux/hexai/internal/llm/openai.go:141.45,141.64 1 1 +codeberg.org/snonux/hexai/internal/llm/openai.go:142.45,142.70 1 1 +codeberg.org/snonux/hexai/internal/llm/openai.go:146.126,147.20 1 4 +codeberg.org/snonux/hexai/internal/llm/openai.go:147.20,149.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:150.2,151.27 2 4 +codeberg.org/snonux/hexai/internal/llm/openai.go:151.27,153.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:154.2,154.19 1 4 +codeberg.org/snonux/hexai/internal/llm/openai.go:154.19,156.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:157.2,161.16 5 4 +codeberg.org/snonux/hexai/internal/llm/openai.go:161.16,164.3 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:165.2,170.16 4 4 +codeberg.org/snonux/hexai/internal/llm/openai.go:170.16,173.3 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:174.2,175.56 2 4 +codeberg.org/snonux/hexai/internal/llm/openai.go:175.56,177.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:179.2,179.64 1 4 +codeberg.org/snonux/hexai/internal/llm/openai.go:179.64,181.3 1 1 +codeberg.org/snonux/hexai/internal/llm/openai.go:182.2,183.12 2 3 +codeberg.org/snonux/hexai/internal/llm/openai.go:187.56,187.104 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:190.76,192.29 2 9 +codeberg.org/snonux/hexai/internal/llm/openai.go:192.29,194.3 1 9 +codeberg.org/snonux/hexai/internal/llm/openai.go:195.2,195.89 1 9 +codeberg.org/snonux/hexai/internal/llm/openai.go:198.105,201.29 3 11 +codeberg.org/snonux/hexai/internal/llm/openai.go:201.29,203.3 1 11 +codeberg.org/snonux/hexai/internal/llm/openai.go:204.2,204.24 1 11 +codeberg.org/snonux/hexai/internal/llm/openai.go:204.24,206.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:206.8,206.31 1 11 +codeberg.org/snonux/hexai/internal/llm/openai.go:206.31,209.3 2 11 +codeberg.org/snonux/hexai/internal/llm/openai.go:210.2,210.21 1 11 +codeberg.org/snonux/hexai/internal/llm/openai.go:210.21,212.3 1 2 +codeberg.org/snonux/hexai/internal/llm/openai.go:213.2,213.21 1 11 +codeberg.org/snonux/hexai/internal/llm/openai.go:213.21,215.3 1 2 +codeberg.org/snonux/hexai/internal/llm/openai.go:216.2,216.12 1 11 +codeberg.org/snonux/hexai/internal/llm/openai.go:219.127,221.16 2 5 +codeberg.org/snonux/hexai/internal/llm/openai.go:221.16,223.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:224.2,225.28 2 5 +codeberg.org/snonux/hexai/internal/llm/openai.go:225.28,227.3 1 5 +codeberg.org/snonux/hexai/internal/llm/openai.go:228.2,228.29 1 5 +codeberg.org/snonux/hexai/internal/llm/openai.go:231.152,233.16 2 4 +codeberg.org/snonux/hexai/internal/llm/openai.go:233.16,235.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:236.2,238.28 3 4 +codeberg.org/snonux/hexai/internal/llm/openai.go:238.28,240.3 1 4 +codeberg.org/snonux/hexai/internal/llm/openai.go:241.2,241.29 1 4 +codeberg.org/snonux/hexai/internal/llm/openai.go:244.69,245.53 1 11 +codeberg.org/snonux/hexai/internal/llm/openai.go:245.53,247.3 1 8 +codeberg.org/snonux/hexai/internal/llm/openai.go:248.2,250.55 3 3 +codeberg.org/snonux/hexai/internal/llm/openai.go:250.55,253.3 2 2 +codeberg.org/snonux/hexai/internal/llm/openai.go:254.2,255.68 2 1 +codeberg.org/snonux/hexai/internal/llm/openai.go:258.85,260.64 2 4 +codeberg.org/snonux/hexai/internal/llm/openai.go:260.64,263.3 2 1 +codeberg.org/snonux/hexai/internal/llm/openai.go:264.2,264.17 1 3 +codeberg.org/snonux/hexai/internal/llm/openai.go:267.90,273.21 5 5 +codeberg.org/snonux/hexai/internal/llm/openai.go:273.21,275.41 2 11 +codeberg.org/snonux/hexai/internal/llm/openai.go:275.41,276.12 1 3 +codeberg.org/snonux/hexai/internal/llm/openai.go:278.3,279.45 2 8 +codeberg.org/snonux/hexai/internal/llm/openai.go:279.45,280.9 1 3 +codeberg.org/snonux/hexai/internal/llm/openai.go:282.3,283.65 2 5 +codeberg.org/snonux/hexai/internal/llm/openai.go:283.65,284.12 1 2 +codeberg.org/snonux/hexai/internal/llm/openai.go:286.3,286.54 1 3 +codeberg.org/snonux/hexai/internal/llm/openai.go:286.54,289.4 2 1 +codeberg.org/snonux/hexai/internal/llm/openai.go:290.3,290.36 1 2 +codeberg.org/snonux/hexai/internal/llm/openai.go:290.36,291.30 1 2 +codeberg.org/snonux/hexai/internal/llm/openai.go:291.30,293.5 1 2 +codeberg.org/snonux/hexai/internal/llm/openai.go:296.2,296.38 1 4 +codeberg.org/snonux/hexai/internal/llm/openai.go:296.38,299.3 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:300.2,300.12 1 4 +codeberg.org/snonux/hexai/internal/llm/provider.go:58.47,58.73 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:58.73,58.92 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:59.47,59.73 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:59.73,59.94 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:60.47,60.73 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:60.73,60.92 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:61.45,62.26 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:62.26,62.66 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:85.84,87.13 2 6 +codeberg.org/snonux/hexai/internal/llm/provider.go:87.13,89.3 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:90.2,90.11 1 6 +codeberg.org/snonux/hexai/internal/llm/provider.go:91.16,92.44 1 2 +codeberg.org/snonux/hexai/internal/llm/provider.go:92.44,94.4 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:96.3,96.35 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:96.35,99.4 2 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:100.3,100.97 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:101.16,102.35 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:102.35,105.4 2 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:106.3,106.83 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:107.17,108.45 1 3 +codeberg.org/snonux/hexai/internal/llm/provider.go:108.45,110.4 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:111.3,111.36 1 2 +codeberg.org/snonux/hexai/internal/llm/provider.go:111.36,114.4 2 2 +codeberg.org/snonux/hexai/internal/llm/provider.go:115.3,115.102 1 2 +codeberg.org/snonux/hexai/internal/llm/provider.go:116.10,117.55 1 1 +codeberg.org/snonux/hexai/internal/llm/util.go:6.47,6.77 1 2 +codeberg.org/snonux/hexai/internal/llmutils/client.go:12.62,26.39 3 0 +codeberg.org/snonux/hexai/internal/llmutils/client.go:26.39,28.6 1 0 +codeberg.org/snonux/hexai/internal/llmutils/client.go:29.5,30.39 2 0 +codeberg.org/snonux/hexai/internal/llmutils/client.go:30.39,32.6 1 0 +codeberg.org/snonux/hexai/internal/llmutils/client.go:33.5,33.51 1 0 +codeberg.org/snonux/hexai/internal/logging/chatlogger.go:9.48,11.2 1 30 +codeberg.org/snonux/hexai/internal/logging/chatlogger.go:18.3,20.12 2 23 +codeberg.org/snonux/hexai/internal/logging/chatlogger.go:20.12,22.3 1 7 +codeberg.org/snonux/hexai/internal/logging/chatlogger.go:23.2,25.29 2 23 +codeberg.org/snonux/hexai/internal/logging/chatlogger.go:25.29,28.3 1 23 +codeberg.org/snonux/hexai/internal/logging/logging.go:27.26,27.37 1 0 +codeberg.org/snonux/hexai/internal/logging/logging.go:30.47,31.16 1 95 +codeberg.org/snonux/hexai/internal/logging/logging.go:31.16,33.3 1 95 +codeberg.org/snonux/hexai/internal/logging/logging.go:34.2,35.48 2 0 +codeberg.org/snonux/hexai/internal/logging/logging.go:43.32,43.55 1 0 +codeberg.org/snonux/hexai/internal/logging/logging.go:46.37,47.25 1 28 +codeberg.org/snonux/hexai/internal/logging/logging.go:47.25,48.32 1 0 +codeberg.org/snonux/hexai/internal/logging/logging.go:48.32,50.4 1 0 +codeberg.org/snonux/hexai/internal/logging/logging.go:51.3,51.37 1 0 +codeberg.org/snonux/hexai/internal/logging/logging.go:53.2,53.10 1 28 +codeberg.org/snonux/hexai/internal/lsp/context.go:16.96,18.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:19.17,20.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:21.16,22.41 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:23.26,24.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:24.14,26.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:27.3,27.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:28.21,29.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:30.10,32.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:36.65,38.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:38.35,41.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:42.2,45.15 4 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:45.15,47.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:48.2,49.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:49.13,51.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:52.2,53.57 2 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:56.53,58.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:58.14,61.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:62.2,62.59 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:67.64,68.20 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:68.20,70.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:71.2,72.27 2 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:72.27,74.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:76.2,77.21 2 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:77.21,79.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:80.2,80.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:80.53,82.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/context.go:83.2,83.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:15.48,19.2 3 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:21.45,25.2 3 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:27.33,31.2 3 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:33.52,37.2 3 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:40.37,43.2 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:45.96,47.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:47.35,49.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:50.2,51.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:51.13,53.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:54.2,54.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:54.25,56.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:57.2,58.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:58.16,60.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:61.2,61.26 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:61.26,63.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:64.2,64.28 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:64.28,66.85 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:66.85,68.9 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:71.2,71.39 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:78.71,80.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:80.35,82.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:83.2,84.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:84.13,86.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:87.2,87.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:87.25,89.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:91.2,92.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:92.28,93.44 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:93.44,95.9 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:98.3,98.40 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:98.40,99.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:102.2,102.20 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:102.20,104.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:106.2,106.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:106.35,109.17 3 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:109.17,110.15 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:110.15,112.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:114.4,114.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:114.29,116.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:119.2,119.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:122.46,123.28 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:123.28,124.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:124.29,126.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:128.2,128.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:131.31,133.18 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:133.18,135.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:136.2,136.10 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:139.33,141.49 2 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:141.49,143.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/document.go:144.2,144.10 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:10.38,11.41 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:11.41,14.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:15.2,15.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:15.22,17.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:28.60,30.34 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:30.34,31.105 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:31.105,34.10 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:36.5,36.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:48.86,54.53 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:54.53,56.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:57.5,57.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:57.47,58.57 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:58.57,63.10 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:65.5,65.49 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:65.49,66.58 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:66.58,71.10 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:73.5,73.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:73.47,75.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:76.5,76.46 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:76.46,78.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:79.5,79.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:79.47,81.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:82.5,82.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:82.24,84.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:86.5,87.33 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:87.33,88.69 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:88.69,90.10 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:92.5,93.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:117.72,120.2 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:191.151,194.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:194.24,196.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:197.2,199.24 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:199.24,201.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:202.2,204.24 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:204.24,207.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:208.2,209.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:209.32,211.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:212.2,213.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:213.14,215.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:217.2,231.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:234.64,238.9 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:238.9,240.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:242.2,243.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:246.56,249.24 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:249.24,251.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:252.2,252.44 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:252.44,255.33 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:255.33,260.4 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:261.3,261.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:264.2,265.29 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:268.51,272.37 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:272.37,273.15 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:273.15,275.9 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:278.2,278.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:278.14,280.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:281.2,281.50 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:288.74,290.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:290.22,295.49 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:295.49,297.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:297.9,300.4 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:303.3,303.115 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:303.115,305.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:307.3,307.27 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:307.27,309.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:311.3,311.27 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:311.27,312.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:312.34,313.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:313.38,314.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:314.35,316.7 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:318.5,318.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:321.4,321.16 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:326.2,327.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:327.36,329.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:331.2,331.114 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:331.114,333.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:334.2,335.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:335.35,336.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:336.14,338.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:340.2,340.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:343.137,348.24 5 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:348.24,350.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:351.2,361.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers.go:436.74,445.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:17.48,19.55 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:19.55,20.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:20.23,22.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:23.3,23.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:25.2,26.57 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:26.57,27.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:27.23,29.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:30.3,30.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:32.2,35.53 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:35.53,37.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:38.2,38.57 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:38.57,40.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:41.2,41.54 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:41.54,43.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:44.2,44.51 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:44.51,46.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:47.2,47.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:47.22,49.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:52.85,53.85 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:53.85,64.3 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:65.2,65.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:68.89,70.21 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:70.21,72.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:73.2,82.12 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:85.70,86.45 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:86.45,88.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:89.2,97.58 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:97.58,99.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:100.2,100.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:101.17,108.72 7 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:108.72,109.66 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:109.66,113.5 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:114.9,116.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:117.21,120.43 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:120.43,121.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:121.24,123.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:123.10,125.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:127.3,133.72 7 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:133.72,134.66 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:134.66,138.5 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:139.9,141.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:142.18,149.72 7 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:149.72,150.66 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:150.66,154.5 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:155.9,157.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:158.17,159.92 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:159.92,167.4 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:169.2,169.18 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:172.55,174.56 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:174.56,175.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:175.23,177.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:178.3,178.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:180.2,180.49 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:180.49,183.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:184.2,184.26 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:190.85,191.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:191.22,193.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:194.2,195.53 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:195.53,197.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:198.2,198.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:198.31,200.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:201.2,202.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:202.36,203.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:203.34,205.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:207.2,207.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:211.37,213.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:213.32,215.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:216.2,216.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:216.32,218.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:220.2,220.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:220.29,222.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:224.2,224.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:224.29,226.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:227.2,227.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:230.34,231.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:231.22,233.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:234.2,234.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:237.37,238.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:238.22,240.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:241.2,241.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:246.76,248.80 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:248.80,250.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:252.2,252.71 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:252.71,254.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:256.2,257.41 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:257.41,259.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:260.2,267.12 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:271.86,272.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:272.24,274.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:275.2,275.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:275.34,277.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:278.2,286.12 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:289.95,291.76 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:291.76,293.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:295.2,296.21 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:296.21,298.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:299.2,301.36 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:301.36,303.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:304.2,306.39 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:306.39,308.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:310.2,314.26 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:314.26,320.22 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:320.22,323.4 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:324.3,326.102 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:326.102,328.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:329.3,336.40 6 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:336.40,338.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:339.3,341.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:341.19,343.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:344.3,345.33 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:348.2,349.15 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:349.15,351.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:352.2,367.13 13 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:367.13,370.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:371.2,372.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:376.62,377.39 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:377.39,379.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:380.2,382.16 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:382.16,384.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:385.2,386.29 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:389.35,390.41 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:390.41,392.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:393.2,393.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:397.48,398.27 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:398.27,400.39 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:400.39,403.45 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:403.45,405.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:406.4,406.46 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:406.46,408.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:409.4,409.46 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:409.46,411.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:412.4,412.15 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:415.2,415.11 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:419.63,420.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:420.13,422.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:423.2,423.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:423.23,425.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:427.2,428.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:428.28,429.42 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:429.42,431.9 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:433.3,433.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:433.38,434.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:437.2,437.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:437.17,439.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:441.2,443.38 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:443.38,445.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:445.32,446.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:447.13,449.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:450.13,451.18 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:451.18,453.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:454.5,454.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:454.31,456.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:461.2,461.15 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:461.15,463.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:464.2,464.18 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:468.65,469.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:469.24,476.71 7 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:476.71,478.21 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:478.21,480.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:481.9,483.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:486.2,487.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:487.16,489.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:490.2,490.115 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:494.43,498.39 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:498.39,500.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:501.2,503.34 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:503.34,505.63 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:505.63,507.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:510.2,510.42 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:510.42,512.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:513.2,513.11 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:516.37,517.16 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:517.16,519.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:520.2,521.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:521.32,523.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_codeaction.go:524.2,524.18 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:15.48,18.55 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:18.55,25.19 5 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:25.19,27.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:28.3,28.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:28.25,32.10 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:32.10,35.5 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:38.2,39.73 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:44.67,45.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:45.22,47.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:48.2,52.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:52.48,54.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:54.8,57.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:58.2,58.46 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:63.99,66.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:68.98,71.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:73.160,78.52 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:78.52,81.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:82.2,82.51 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:82.51,84.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:86.2,91.86 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:91.86,96.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:97.2,97.58 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:97.58,100.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:102.2,102.83 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:102.83,105.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:108.2,108.126 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:108.126,110.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:113.2,116.29 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:116.29,118.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:119.2,121.32 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:121.32,123.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:125.2,126.29 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:126.29,128.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:129.2,132.16 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:132.16,136.3 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:137.2,141.19 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:141.19,143.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:144.2,145.75 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:149.38,150.16 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:150.16,152.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:153.2,156.42 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:156.42,158.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:158.8,161.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:162.2,162.27 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:166.91,168.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:168.24,170.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:171.2,171.40 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:171.40,172.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:172.35,174.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:175.3,176.37 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:176.37,177.18 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:177.18,180.5 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:183.2,183.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:187.119,191.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:191.24,193.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:194.2,195.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:195.13,197.68 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:197.68,199.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:201.2,201.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:201.19,203.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:205.2,206.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:206.12,208.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:208.28,210.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:212.3,212.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:214.2,216.50 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:216.50,218.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:219.2,219.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:223.193,225.9 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:225.9,227.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:228.2,237.32 6 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:237.32,239.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:240.2,241.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:241.24,243.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:244.2,250.30 5 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:250.30,252.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:253.2,254.40 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:254.40,256.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:256.20,258.21 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:258.21,260.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:261.4,261.54 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:261.54,263.21 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:263.21,265.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:267.4,267.40 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:267.40,271.5 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:273.8,273.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:273.23,275.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:276.2,276.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:281.55,283.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:283.12,285.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:286.2,286.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:286.6,290.20 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:290.20,292.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:293.3,294.17 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:294.17,296.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:297.3,299.10 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:300.21,302.10 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:303.18,303.18 0 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:311.60,313.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:313.19,315.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:316.2,317.6 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:317.6,321.23 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:321.23,325.11 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:326.22,328.17 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:329.19,331.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:335.3,337.14 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:342.177,354.14 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:354.14,357.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:358.2,358.68 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:358.68,360.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:361.2,363.52 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:363.52,365.37 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:365.37,367.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:368.3,368.73 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:370.2,370.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:374.101,376.57 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:376.57,377.78 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:377.78,379.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:381.2,381.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:381.19,383.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:384.2,384.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:384.19,386.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:387.2,387.56 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:387.56,388.57 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:388.57,390.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_completion.go:392.2,392.16 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:21.45,23.55 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:23.55,26.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:29.47,31.55 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:31.55,32.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:32.32,34.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:35.3,37.44 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:41.46,43.55 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:43.55,46.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:52.76,54.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:54.14,56.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:58.2,59.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:59.14,61.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:62.2,62.26 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:62.26,64.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:65.2,66.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:66.13,68.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:69.2,69.30 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:69.30,71.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:73.2,74.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:74.28,77.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:78.2,83.43 5 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:83.43,86.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:87.2,87.27 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:95.50,96.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:96.24,98.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:99.2,100.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:100.35,102.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:103.2,103.30 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:103.30,106.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:106.14,107.39 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:107.39,109.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:111.4,111.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:113.3,113.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:113.12,114.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:117.3,117.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:117.25,118.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:121.3,121.37 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:121.37,122.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:125.3,125.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:125.12,126.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:128.3,130.38 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:130.38,131.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:131.19,133.10 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:136.3,136.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:136.17,137.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:140.3,141.63 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:141.63,143.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:144.3,144.80 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:144.80,145.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:148.3,151.19 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:151.19,152.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:154.3,156.38 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:156.38,166.18 9 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:166.18,169.5 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:170.4,171.17 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:171.17,173.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:174.4,174.61 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:177.3,177.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:183.110,185.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:185.14,187.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:189.2,200.54 8 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:205.96,207.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:207.14,209.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:210.2,213.31 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:213.31,214.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:214.53,216.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:217.3,217.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:217.12,218.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:220.3,220.61 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:220.61,221.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:223.3,224.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:224.14,226.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:226.36,229.13 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:231.4,231.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:233.3,233.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:233.53,235.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:236.3,236.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:236.12,237.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:239.3,242.6 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:244.2,245.26 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:245.26,246.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:246.35,248.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:249.3,249.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:249.35,251.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:253.2,254.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:258.45,260.17 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:260.17,262.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:264.2,264.50 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:264.50,266.40 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:266.40,267.18 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:267.18,269.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:273.2,274.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:275.21,276.48 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:277.10,278.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:283.68,290.2 6 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:293.46,300.2 6 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:303.61,318.2 9 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:322.59,323.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:323.12,326.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:8.52,10.55 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:10.55,13.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:14.2,14.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:15.28,16.28 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:16.28,20.58 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:20.58,22.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:23.4,23.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:23.17,25.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:27.3,28.9 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:29.10,32.9 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_init.go:11.48,13.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_init.go:13.24,15.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_init.go:16.2,27.27 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_init.go:30.38,32.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_init.go:34.46,36.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_init.go:38.31,41.2 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:21.55,23.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:23.32,25.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:26.2,26.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:30.41,35.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:37.41,42.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:44.32,47.23 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:47.23,49.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:50.2,51.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:51.24,53.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:54.2,57.15 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:57.15,59.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:60.2,63.211 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:67.51,68.41 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:68.41,70.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:71.2,73.71 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:77.62,77.105 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:79.118,80.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:80.14,83.16 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:83.16,86.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:86.35,88.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:89.4,89.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:89.36,91.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:92.4,94.59 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.59,96.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:97.4,97.21 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:100.2,103.19 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:106.51,107.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:107.23,109.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:110.2,110.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:110.13,112.100 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:112.100,114.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:116.3,116.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:118.2,118.11 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:121.32,123.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:126.44,127.50 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:127.50,129.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:130.2,130.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:133.40,135.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:135.20,136.40 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:136.40,138.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:140.3,140.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:142.2,142.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:142.12,144.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:145.2,145.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:148.52,149.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:149.38,151.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:152.2,153.27 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:153.27,154.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:154.34,155.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:157.3,157.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:157.36,158.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:160.3,160.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.2,162.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:170.64,172.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:172.22,175.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:175.12,177.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:178.3,180.74 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:180.74,182.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:185.3,186.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:186.12,188.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:189.3,190.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:190.48,192.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:194.3,195.18 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:195.18,197.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:199.3,200.29 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:202.2,202.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:208.41,212.31 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:212.31,214.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:215.2,215.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:215.29,217.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:218.2,218.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:218.31,220.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.32,222.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:224.2,224.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:228.83,231.102 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:231.102,233.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:233.36,235.136 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:235.136,237.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:238.4,240.34 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:240.34,242.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:246.2,246.65 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:246.65,247.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:247.53,249.37 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:249.37,251.137 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.137,253.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:254.5,256.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:256.35,258.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:262.2,262.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:266.80,267.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:267.22,269.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:270.2,272.40 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:272.40,274.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:275.2,275.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:275.34,276.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:276.31,277.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:279.3,280.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.16,281.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:283.3,283.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:283.32,285.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:287.2,287.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:290.36,292.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:295.39,295.77 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:298.43,300.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:300.13,302.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:303.2,304.11 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:304.11,306.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:307.2,308.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:308.14,310.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:311.2,312.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:316.56,318.89 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:318.89,320.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:321.2,321.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:325.52,326.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:326.32,328.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:328.28,330.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:331.3,331.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:331.34,333.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:334.3,334.42 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:334.42,336.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:337.3,337.49 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.2,342.27 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:342.27,344.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:345.2,345.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:345.36,347.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:348.2,351.49 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:351.49,353.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:353.24,355.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:358.2,359.25 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:359.25,361.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:362.2,362.33 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:362.33,364.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:365.2,366.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:370.67,372.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:372.35,374.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:375.2,376.31 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:376.31,378.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:379.2,379.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:382.69,383.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:383.32,385.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:386.2,386.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:389.45,391.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:391.22,395.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:395.12,397.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:398.3,400.32 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:400.32,402.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:403.3,404.46 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:404.46,406.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:409.3,410.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:410.12,412.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:413.3,414.49 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:414.49,416.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:418.3,418.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:420.2,420.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:423.67,426.28 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:426.28,428.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:428.12,429.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:431.3,433.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:433.12,434.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:436.3,436.43 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:436.43,438.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:440.3,440.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:440.34,442.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:444.3,445.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.48,447.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:449.3,449.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:449.25,451.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:453.3,454.50 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.50,456.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:457.3,458.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:460.2,460.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:126.90,129.20 3 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:129.20,131.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:132.2,134.23 3 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:134.23,136.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:137.2,138.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:138.22,140.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:141.2,142.27 2 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:142.27,144.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:145.2,151.38 6 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:151.38,154.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:154.8,156.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:157.2,160.35 4 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:160.35,162.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:163.2,163.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:163.35,165.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:167.2,167.46 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:167.46,169.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:169.8,171.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:172.2,172.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:172.47,174.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:174.8,176.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:177.2,177.46 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:177.46,179.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:179.8,181.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:182.2,182.33 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:182.33,184.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:184.8,186.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:189.2,207.24 17 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:207.24,209.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:210.2,210.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:210.25,212.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:213.2,213.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:213.24,215.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:216.2,216.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:216.29,218.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:220.2,222.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:222.47,222.72 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:224.47,224.65 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:233.2,233.10 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:236.30,237.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:237.6,239.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:239.20,241.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:242.3,242.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:242.17,244.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:245.3,246.52 2 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:246.52,248.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:250.3,250.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:250.23,252.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:254.3,255.15 2 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:255.15,257.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:15.48,18.6 3 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:18.6,20.17 2 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:20.17,22.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:23.3,23.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:23.17,24.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:26.3,27.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:27.22,28.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:30.3,32.14 3 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:33.25,35.18 2 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:35.18,37.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:38.4,38.21 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:41.2,41.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:41.24,43.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:44.2,45.50 2 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:45.50,47.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:48.2,48.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:51.38,53.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:53.16,56.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:57.2,58.57 2 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:58.57,61.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:62.2,62.45 1 0 +codeberg.org/snonux/hexai/internal/lsp/transport.go:62.45,65.3 2 0 +codeberg.org/snonux/hexai/internal/testutil/fixtures.go:4.33,6.2 1 0 +codeberg.org/snonux/hexai/internal/testutil/fixtures.go:9.34,11.2 1 0 +codeberg.org/snonux/hexai/internal/testutil/fixtures.go:14.43,16.2 1 0 +codeberg.org/snonux/hexai/internal/testutil/fixtures.go:19.33,21.2 1 0 +codeberg.org/snonux/hexai/internal/testutil/fixtures.go:24.29,26.2 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:6.62,7.34 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:7.34,9.6 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:10.5,11.28 2 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:11.28,13.6 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:14.5,14.15 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:18.39,20.16 2 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:20.16,22.6 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:23.5,25.69 3 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:25.69,27.6 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:28.5,29.57 2 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:29.57,31.6 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:32.5,32.54 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:32.54,34.6 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:35.5,37.72 3 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:37.72,40.6 2 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:41.5,41.13 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:47.60,49.34 2 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:49.34,50.105 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:50.105,53.10 2 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:55.5,55.19 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:59.79,62.53 3 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:62.53,64.6 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:65.5,65.47 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:65.47,66.57 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:66.57,71.10 4 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:73.5,73.49 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:73.49,74.58 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:74.58,79.10 4 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:81.5,81.47 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:81.47,83.6 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:84.5,84.46 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:84.46,86.6 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:87.5,87.47 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:87.47,89.6 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:90.5,90.24 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:90.24,90.50 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:91.5,92.33 2 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:92.33,93.69 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:93.69,93.81 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:95.5,96.36 2 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:100.79,101.36 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:101.36,102.27 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:102.27,102.37 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:103.9,103.48 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:103.48,103.58 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:104.9,104.44 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:104.44,105.31 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:105.31,106.49 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:106.49,106.59 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:107.17,108.32 2 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:108.32,108.64 1 0 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:112.5,112.29 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:11.23,11.60 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:17.23,17.72 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:20.23,20.76 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:31.52,32.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:32.20,34.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:35.2,36.19 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:36.19,38.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:38.8,40.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.2,41.45 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.45,43.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.2,44.42 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.42,46.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:48.2,51.19 4 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:56.38,58.25 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:58.25,59.14 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:59.14,61.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.3,63.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.20,65.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:69.3,70.33 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:72.2,72.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:76.32,77.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:77.30,79.141 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:79.141,80.12 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:82.3,82.15 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:84.2,84.13 1 0 +codeberg.org/snonux/hexai/internal/testutil/fixtures.go:4.33,6.2 1 0 +codeberg.org/snonux/hexai/internal/testutil/fixtures.go:9.34,11.2 1 0 +codeberg.org/snonux/hexai/internal/testutil/fixtures.go:14.43,16.2 1 0 +codeberg.org/snonux/hexai/internal/testutil/fixtures.go:19.33,21.2 1 0 +codeberg.org/snonux/hexai/internal/testutil/fixtures.go:24.29,26.2 1 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:14.13,17.18 3 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:22.2,22.104 1 0 @@ -11326,8 +15645,104 @@ codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:13.13,17.18 4 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.2,22.79 1 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.79,24.3 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:11.13,12.94 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:12.94,15.3 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:17.13,30.14 10 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:30.14,31.53 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:31.53,34.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:35.3,35.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.2,39.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.42,40.80 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:40.80,43.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:44.3,44.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.2,48.51 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.51,50.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:50.17,53.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:54.3,56.88 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:56.88,59.10 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:60.9,60.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.2,64.55 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.55,67.3 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:71.83,74.20 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:74.21,74.22 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.2,75.21 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.22,75.23 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.2,77.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.32,79.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:79.17,80.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.29,80.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.40,80.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:82.3,83.20 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:83.20,83.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.2,85.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.33,87.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:87.17,88.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.29,88.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.40,88.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:90.3,91.21 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:91.21,91.38 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:93.2,93.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:99.45,100.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:100.19,103.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:103.17,105.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:106.3,108.72 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:110.2,112.16 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:112.16,114.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:115.2,116.84 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:116.84,119.64 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:119.64,121.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:122.8,124.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:125.2,125.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:133.51,134.12 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:134.12,136.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.2,137.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.15,139.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.5,141.82 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.82,143.6 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:144.2,144.14 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:147.29,147.64 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:149.63,152.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:152.16,154.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.2,155.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.15,155.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:156.2,159.45 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:159.45,161.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:163.2,164.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:164.16,166.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:167.2,170.47 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:170.47,172.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.2,174.61 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.61,176.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:178.2,178.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:181.38,183.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:183.16,185.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.2,186.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.15,186.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.2,187.48 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.48,189.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:190.2,190.17 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:193.60,195.6 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:195.6,196.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:196.42,198.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.3,199.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.33,201.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:202.3,202.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:206.41,208.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:208.16,210.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.2,211.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.15,211.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:212.2,213.12 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:216.48,220.18 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:220.18,222.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:222.17,224.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.3,225.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.16,225.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:226.3,226.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.2,228.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.19,230.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:230.17,232.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.3,233.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.16,233.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:234.3,234.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:236.2,237.12 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:89.29,136.2 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:140.35,142.19 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:142.19,144.3 1 0 @@ -12934,6 +17349,31 @@ codeberg.org/snonux/hexai/internal/textutil/textutil.go:106.49,106.59 1 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:107.17,108.32 2 3 codeberg.org/snonux/hexai/internal/textutil/textutil.go:108.32,108.64 1 3 codeberg.org/snonux/hexai/internal/textutil/textutil.go:112.5,112.29 1 6 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:11.23,11.60 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:17.23,17.72 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:20.23,20.76 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:31.52,32.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:32.20,34.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:35.2,36.19 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:36.19,38.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:38.8,40.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.2,41.45 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.45,43.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.2,44.42 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.42,46.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:48.2,51.19 4 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:56.38,58.25 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:58.25,59.14 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:59.14,61.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.3,63.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.20,65.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:69.3,70.33 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:72.2,72.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:76.32,77.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:77.30,79.141 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:79.141,80.12 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:82.3,82.15 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:84.2,84.13 1 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:14.13,17.18 3 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:22.2,22.104 1 0 @@ -12942,8 +17382,104 @@ codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:13.13,17.18 4 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.2,22.79 1 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.79,24.3 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:11.13,12.94 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:12.94,15.3 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:17.13,30.14 10 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:30.14,31.53 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:31.53,34.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:35.3,35.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.2,39.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.42,40.80 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:40.80,43.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:44.3,44.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.2,48.51 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.51,50.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:50.17,53.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:54.3,56.88 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:56.88,59.10 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:60.9,60.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.2,64.55 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.55,67.3 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:71.83,74.20 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:74.21,74.22 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.2,75.21 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.22,75.23 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.2,77.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.32,79.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:79.17,80.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.29,80.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.40,80.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:82.3,83.20 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:83.20,83.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.2,85.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.33,87.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:87.17,88.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.29,88.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.40,88.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:90.3,91.21 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:91.21,91.38 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:93.2,93.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:99.45,100.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:100.19,103.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:103.17,105.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:106.3,108.72 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:110.2,112.16 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:112.16,114.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:115.2,116.84 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:116.84,119.64 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:119.64,121.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:122.8,124.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:125.2,125.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:133.51,134.12 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:134.12,136.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.2,137.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.15,139.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.5,141.82 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.82,143.6 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:144.2,144.14 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:147.29,147.64 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:149.63,152.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:152.16,154.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.2,155.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.15,155.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:156.2,159.45 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:159.45,161.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:163.2,164.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:164.16,166.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:167.2,170.47 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:170.47,172.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.2,174.61 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.61,176.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:178.2,178.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:181.38,183.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:183.16,185.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.2,186.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.15,186.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.2,187.48 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.48,189.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:190.2,190.17 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:193.60,195.6 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:195.6,196.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:196.42,198.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.3,199.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.33,201.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:202.3,202.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:206.41,208.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:208.16,210.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.2,211.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.15,211.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:212.2,213.12 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:216.48,220.18 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:220.18,222.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:222.17,224.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.3,225.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.16,225.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:226.3,226.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.2,228.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.19,230.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:230.17,232.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.3,233.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.16,233.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:234.3,234.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:236.2,237.12 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:89.29,136.2 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:140.35,142.19 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:142.19,144.3 1 0 @@ -13475,11 +18011,11 @@ codeberg.org/snonux/hexai/internal/llm/copilot.go:382.2,383.25 2 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:383.25,384.60 1 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:384.60,386.4 1 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:388.2,388.17 1 0 -codeberg.org/snonux/hexai/internal/llm/ollama.go:44.68,45.38 1 1 -codeberg.org/snonux/hexai/internal/llm/ollama.go:45.38,47.3 1 1 -codeberg.org/snonux/hexai/internal/llm/ollama.go:48.2,48.36 1 1 -codeberg.org/snonux/hexai/internal/llm/ollama.go:48.36,50.3 1 1 -codeberg.org/snonux/hexai/internal/llm/ollama.go:51.2,57.3 1 1 +codeberg.org/snonux/hexai/internal/llm/ollama.go:44.68,45.38 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:45.38,47.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:48.2,48.36 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:48.36,50.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:51.2,57.3 1 0 codeberg.org/snonux/hexai/internal/llm/ollama.go:60.108,62.27 2 0 codeberg.org/snonux/hexai/internal/llm/ollama.go:62.27,64.3 1 0 codeberg.org/snonux/hexai/internal/llm/ollama.go:65.2,65.19 1 0 @@ -13543,11 +18079,11 @@ codeberg.org/snonux/hexai/internal/llm/ollama.go:205.53,207.3 1 0 codeberg.org/snonux/hexai/internal/llm/ollama.go:208.2,210.43 3 0 codeberg.org/snonux/hexai/internal/llm/ollama.go:210.43,213.3 2 0 codeberg.org/snonux/hexai/internal/llm/ollama.go:214.2,215.68 2 0 -codeberg.org/snonux/hexai/internal/llm/openai.go:78.76,79.38 1 1 -codeberg.org/snonux/hexai/internal/llm/openai.go:79.38,81.3 1 1 -codeberg.org/snonux/hexai/internal/llm/openai.go:82.2,82.36 1 1 -codeberg.org/snonux/hexai/internal/llm/openai.go:82.36,84.3 1 1 -codeberg.org/snonux/hexai/internal/llm/openai.go:85.2,92.3 1 1 +codeberg.org/snonux/hexai/internal/llm/openai.go:78.76,79.38 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:79.38,81.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:82.2,82.36 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:82.36,84.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:85.2,92.3 1 0 codeberg.org/snonux/hexai/internal/llm/openai.go:95.108,96.20 1 0 codeberg.org/snonux/hexai/internal/llm/openai.go:96.20,98.3 1 0 codeberg.org/snonux/hexai/internal/llm/openai.go:99.2,100.27 2 0 @@ -13638,17 +18174,17 @@ codeberg.org/snonux/hexai/internal/llm/provider.go:60.47,60.73 1 0 codeberg.org/snonux/hexai/internal/llm/provider.go:60.73,60.92 1 0 codeberg.org/snonux/hexai/internal/llm/provider.go:61.45,62.26 1 0 codeberg.org/snonux/hexai/internal/llm/provider.go:62.26,62.66 1 0 -codeberg.org/snonux/hexai/internal/llm/provider.go:85.84,87.13 2 2 +codeberg.org/snonux/hexai/internal/llm/provider.go:85.84,87.13 2 0 codeberg.org/snonux/hexai/internal/llm/provider.go:87.13,89.3 1 0 -codeberg.org/snonux/hexai/internal/llm/provider.go:90.2,90.11 1 2 -codeberg.org/snonux/hexai/internal/llm/provider.go:91.16,92.44 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:90.2,90.11 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:91.16,92.44 1 0 codeberg.org/snonux/hexai/internal/llm/provider.go:92.44,94.4 1 0 -codeberg.org/snonux/hexai/internal/llm/provider.go:96.3,96.35 1 1 -codeberg.org/snonux/hexai/internal/llm/provider.go:96.35,99.4 2 1 -codeberg.org/snonux/hexai/internal/llm/provider.go:100.3,100.97 1 1 -codeberg.org/snonux/hexai/internal/llm/provider.go:101.16,102.35 1 1 -codeberg.org/snonux/hexai/internal/llm/provider.go:102.35,105.4 2 1 -codeberg.org/snonux/hexai/internal/llm/provider.go:106.3,106.83 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:96.3,96.35 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:96.35,99.4 2 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:100.3,100.97 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:101.16,102.35 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:102.35,105.4 2 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:106.3,106.83 1 0 codeberg.org/snonux/hexai/internal/llm/provider.go:107.17,108.45 1 0 codeberg.org/snonux/hexai/internal/llm/provider.go:108.45,110.4 1 0 codeberg.org/snonux/hexai/internal/llm/provider.go:111.3,111.36 1 0 @@ -13656,12 +18192,12 @@ codeberg.org/snonux/hexai/internal/llm/provider.go:111.36,114.4 2 0 codeberg.org/snonux/hexai/internal/llm/provider.go:115.3,115.102 1 0 codeberg.org/snonux/hexai/internal/llm/provider.go:116.10,117.55 1 0 codeberg.org/snonux/hexai/internal/llm/util.go:6.47,6.77 1 0 -codeberg.org/snonux/hexai/internal/llmutils/client.go:12.62,26.39 3 2 -codeberg.org/snonux/hexai/internal/llmutils/client.go:26.39,28.6 1 1 -codeberg.org/snonux/hexai/internal/llmutils/client.go:29.5,30.39 2 2 -codeberg.org/snonux/hexai/internal/llmutils/client.go:30.39,32.6 1 2 -codeberg.org/snonux/hexai/internal/llmutils/client.go:33.5,33.51 1 2 -codeberg.org/snonux/hexai/internal/logging/chatlogger.go:9.48,11.2 1 2 +codeberg.org/snonux/hexai/internal/llmutils/client.go:12.62,26.39 3 0 +codeberg.org/snonux/hexai/internal/llmutils/client.go:26.39,28.6 1 0 +codeberg.org/snonux/hexai/internal/llmutils/client.go:29.5,30.39 2 0 +codeberg.org/snonux/hexai/internal/llmutils/client.go:30.39,32.6 1 0 +codeberg.org/snonux/hexai/internal/llmutils/client.go:33.5,33.51 1 0 +codeberg.org/snonux/hexai/internal/logging/chatlogger.go:9.48,11.2 1 0 codeberg.org/snonux/hexai/internal/logging/chatlogger.go:18.3,20.12 2 0 codeberg.org/snonux/hexai/internal/logging/chatlogger.go:20.12,22.3 1 0 codeberg.org/snonux/hexai/internal/logging/chatlogger.go:23.2,25.29 2 0 @@ -14550,6 +19086,31 @@ codeberg.org/snonux/hexai/internal/textutil/textutil.go:106.49,106.59 1 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:107.17,108.32 2 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:108.32,108.64 1 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:112.5,112.29 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:11.23,11.60 1 2 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:17.23,17.72 2 4 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:20.23,20.76 1 3 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:31.52,32.20 1 1 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:32.20,34.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:35.2,36.19 2 1 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:36.19,38.3 1 1 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:38.8,40.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.2,41.45 1 1 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.45,43.3 1 1 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.2,44.42 1 1 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.42,46.3 1 1 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:48.2,51.19 4 1 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:56.38,58.25 2 1 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:58.25,59.14 1 4 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:59.14,61.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.3,63.20 1 4 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.20,65.12 2 2 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:69.3,70.33 2 2 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:72.2,72.31 1 1 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:76.32,77.30 1 4 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:77.30,79.141 2 27 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:79.141,80.12 1 25 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:82.3,82.15 1 2 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:84.2,84.13 1 2 codeberg.org/snonux/hexai/cmd/hexai/main.go:14.13,17.18 3 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:22.2,22.104 1 0 @@ -14558,8 +19119,104 @@ codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:13.13,17.18 4 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.2,22.79 1 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.79,24.3 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:11.13,12.94 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:12.94,15.3 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:17.13,30.14 10 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:30.14,31.53 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:31.53,34.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:35.3,35.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.2,39.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.42,40.80 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:40.80,43.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:44.3,44.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.2,48.51 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.51,50.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:50.17,53.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:54.3,56.88 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:56.88,59.10 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:60.9,60.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.2,64.55 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.55,67.3 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:71.83,74.20 3 6 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:74.21,74.22 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.2,75.21 1 6 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.22,75.23 0 1 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.2,77.32 1 6 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.32,79.17 2 5 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:79.17,80.28 1 1 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.29,80.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.40,80.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:82.3,83.20 2 4 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:83.20,83.37 1 4 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.2,85.33 1 5 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.33,87.17 2 4 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:87.17,88.28 1 1 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.29,88.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.40,88.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:90.3,91.21 2 3 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:91.21,91.38 1 3 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:93.2,93.40 1 4 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:99.45,100.19 1 3 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:100.19,103.17 2 1 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:103.17,105.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:106.3,108.72 3 1 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:110.2,112.16 3 2 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:112.16,114.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:115.2,116.84 2 2 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:116.84,119.64 2 1 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:119.64,121.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:122.8,124.3 1 1 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:125.2,125.32 1 2 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:133.51,134.12 1 5 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:134.12,136.3 1 1 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.2,137.15 1 4 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.15,139.3 1 1 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.5,141.82 1 3 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.82,143.6 1 1 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:144.2,144.14 1 2 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:147.29,147.64 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:149.63,152.16 2 3 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:152.16,154.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.2,155.15 1 3 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.15,155.40 1 3 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:156.2,159.45 3 3 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:159.45,161.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:163.2,164.16 2 3 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:164.16,166.3 1 1 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:167.2,170.47 3 2 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:170.47,172.3 1 1 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.2,174.61 1 1 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.61,176.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:178.2,178.33 1 1 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:181.38,183.16 2 5 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:183.16,185.3 1 1 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.2,186.15 1 4 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.15,186.32 1 4 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.2,187.48 1 4 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.48,189.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:190.2,190.17 1 4 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:193.60,195.6 2 3 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:195.6,196.42 1 5 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:196.42,198.4 1 2 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.3,199.33 1 3 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.33,201.4 1 1 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:202.3,202.37 1 2 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:206.41,208.16 2 3 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:208.16,210.3 1 1 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.2,211.15 1 2 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.15,211.32 1 2 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:212.2,213.12 2 2 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:216.48,220.18 3 4 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:220.18,222.17 2 3 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:222.17,224.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.3,225.16 1 3 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.16,225.33 1 3 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:226.3,226.9 1 3 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.2,228.19 1 4 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.19,230.17 2 3 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:230.17,232.4 1 1 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.3,233.16 1 2 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.16,233.33 1 2 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:234.3,234.10 1 2 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:236.2,237.12 2 3 codeberg.org/snonux/hexai/internal/appconfig/config.go:89.29,136.2 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:140.35,142.19 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:142.19,144.3 1 0 @@ -14985,313 +19642,313 @@ codeberg.org/snonux/hexai/internal/hexailsp/run.go:100.20,102.3 1 0 codeberg.org/snonux/hexai/internal/hexailsp/run.go:103.2,103.97 1 0 codeberg.org/snonux/hexai/internal/hexailsp/run.go:103.97,105.3 1 0 codeberg.org/snonux/hexai/internal/hexailsp/run.go:108.97,144.2 1 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:66.77,67.38 1 9 -codeberg.org/snonux/hexai/internal/llm/copilot.go:67.38,69.3 1 1 -codeberg.org/snonux/hexai/internal/llm/copilot.go:70.2,70.36 1 9 +codeberg.org/snonux/hexai/internal/llm/copilot.go:66.77,67.38 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:67.38,69.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:70.2,70.36 1 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:70.36,74.3 1 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:75.2,82.3 1 9 -codeberg.org/snonux/hexai/internal/llm/copilot.go:85.109,86.39 1 5 +codeberg.org/snonux/hexai/internal/llm/copilot.go:75.2,82.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:85.109,86.39 1 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:86.39,88.3 1 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:90.2,90.45 1 5 +codeberg.org/snonux/hexai/internal/llm/copilot.go:90.2,90.45 1 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:90.45,92.3 1 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:93.2,94.27 2 5 +codeberg.org/snonux/hexai/internal/llm/copilot.go:93.2,94.27 2 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:94.27,96.3 1 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:97.2,97.19 1 5 +codeberg.org/snonux/hexai/internal/llm/copilot.go:97.2,97.19 1 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:97.19,99.3 1 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:100.2,102.29 3 5 -codeberg.org/snonux/hexai/internal/llm/copilot.go:102.29,104.3 1 5 -codeberg.org/snonux/hexai/internal/llm/copilot.go:105.2,109.16 4 5 +codeberg.org/snonux/hexai/internal/llm/copilot.go:100.2,102.29 3 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:102.29,104.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:105.2,109.16 4 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:109.16,112.3 2 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:114.2,117.16 4 5 +codeberg.org/snonux/hexai/internal/llm/copilot.go:114.2,117.16 4 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:117.16,120.3 2 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:121.2,122.57 2 5 -codeberg.org/snonux/hexai/internal/llm/copilot.go:122.57,124.3 1 1 -codeberg.org/snonux/hexai/internal/llm/copilot.go:125.2,126.16 2 4 -codeberg.org/snonux/hexai/internal/llm/copilot.go:126.16,128.3 1 1 -codeberg.org/snonux/hexai/internal/llm/copilot.go:129.2,129.27 1 3 -codeberg.org/snonux/hexai/internal/llm/copilot.go:129.27,132.3 2 1 -codeberg.org/snonux/hexai/internal/llm/copilot.go:133.2,135.21 3 2 -codeberg.org/snonux/hexai/internal/llm/copilot.go:139.46,139.66 1 1 -codeberg.org/snonux/hexai/internal/llm/copilot.go:140.46,140.71 1 1 -codeberg.org/snonux/hexai/internal/llm/copilot.go:143.102,146.29 3 6 -codeberg.org/snonux/hexai/internal/llm/copilot.go:146.29,148.3 1 6 -codeberg.org/snonux/hexai/internal/llm/copilot.go:149.2,149.24 1 6 +codeberg.org/snonux/hexai/internal/llm/copilot.go:121.2,122.57 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:122.57,124.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:125.2,126.16 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:126.16,128.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:129.2,129.27 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:129.27,132.3 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:133.2,135.21 3 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:139.46,139.66 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:140.46,140.71 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:143.102,146.29 3 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:146.29,148.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:149.2,149.24 1 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:149.24,151.3 1 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:151.8,151.31 1 6 -codeberg.org/snonux/hexai/internal/llm/copilot.go:151.31,154.3 2 6 -codeberg.org/snonux/hexai/internal/llm/copilot.go:155.2,155.21 1 6 -codeberg.org/snonux/hexai/internal/llm/copilot.go:155.21,157.3 1 1 -codeberg.org/snonux/hexai/internal/llm/copilot.go:158.2,158.21 1 6 -codeberg.org/snonux/hexai/internal/llm/copilot.go:158.21,160.3 1 1 -codeberg.org/snonux/hexai/internal/llm/copilot.go:161.2,161.12 1 6 -codeberg.org/snonux/hexai/internal/llm/copilot.go:164.130,166.16 2 8 +codeberg.org/snonux/hexai/internal/llm/copilot.go:151.8,151.31 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:151.31,154.3 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:155.2,155.21 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:155.21,157.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:158.2,158.21 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:158.21,160.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:161.2,161.12 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:164.130,166.16 2 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:166.16,168.3 1 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:169.2,169.28 1 8 -codeberg.org/snonux/hexai/internal/llm/copilot.go:169.28,171.3 1 88 -codeberg.org/snonux/hexai/internal/llm/copilot.go:172.2,172.29 1 8 -codeberg.org/snonux/hexai/internal/llm/copilot.go:175.70,176.53 1 6 -codeberg.org/snonux/hexai/internal/llm/copilot.go:176.53,178.3 1 4 -codeberg.org/snonux/hexai/internal/llm/copilot.go:179.2,181.74 3 2 -codeberg.org/snonux/hexai/internal/llm/copilot.go:181.74,184.3 2 2 +codeberg.org/snonux/hexai/internal/llm/copilot.go:169.2,169.28 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:169.28,171.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:172.2,172.29 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:175.70,176.53 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:176.53,178.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:179.2,181.74 3 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:181.74,184.3 2 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:185.2,186.69 2 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:189.91,191.64 2 4 -codeberg.org/snonux/hexai/internal/llm/copilot.go:191.64,194.3 2 1 -codeberg.org/snonux/hexai/internal/llm/copilot.go:195.2,195.17 1 3 -codeberg.org/snonux/hexai/internal/llm/copilot.go:204.66,206.82 1 16 -codeberg.org/snonux/hexai/internal/llm/copilot.go:206.82,208.3 1 8 -codeberg.org/snonux/hexai/internal/llm/copilot.go:209.2,209.39 1 8 +codeberg.org/snonux/hexai/internal/llm/copilot.go:189.91,191.64 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:191.64,194.3 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:195.2,195.17 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:204.66,206.82 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:206.82,208.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:209.2,209.39 1 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:209.39,211.3 1 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:212.2,213.16 2 8 +codeberg.org/snonux/hexai/internal/llm/copilot.go:212.2,213.16 2 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:213.16,215.3 1 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:216.2,220.16 5 8 +codeberg.org/snonux/hexai/internal/llm/copilot.go:216.2,220.16 5 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:220.16,222.3 1 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:223.2,224.53 2 8 +codeberg.org/snonux/hexai/internal/llm/copilot.go:223.2,224.53 2 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:224.53,226.3 1 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:227.2,228.64 2 8 +codeberg.org/snonux/hexai/internal/llm/copilot.go:227.2,228.64 2 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:228.64,230.3 1 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:231.2,231.40 1 8 +codeberg.org/snonux/hexai/internal/llm/copilot.go:231.2,231.40 1 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:231.40,233.3 1 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:235.2,236.18 2 8 -codeberg.org/snonux/hexai/internal/llm/copilot.go:236.18,238.3 1 8 -codeberg.org/snonux/hexai/internal/llm/copilot.go:239.2,241.12 3 8 -codeberg.org/snonux/hexai/internal/llm/copilot.go:246.42,248.20 2 9 -codeberg.org/snonux/hexai/internal/llm/copilot.go:248.20,250.3 1 8 -codeberg.org/snonux/hexai/internal/llm/copilot.go:251.2,252.16 2 1 +codeberg.org/snonux/hexai/internal/llm/copilot.go:235.2,236.18 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:236.18,238.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:239.2,241.12 3 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:246.42,248.20 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:248.20,250.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:251.2,252.16 2 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:252.16,253.59 1 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:253.59,254.48 1 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:254.48,256.5 1 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:258.3,258.21 1 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:260.2,264.22 3 1 +codeberg.org/snonux/hexai/internal/llm/copilot.go:260.2,264.22 3 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:264.22,266.3 1 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:267.2,267.34 1 1 -codeberg.org/snonux/hexai/internal/llm/copilot.go:270.42,270.100 3 1 -codeberg.org/snonux/hexai/internal/llm/copilot.go:274.57,290.2 3 5 -codeberg.org/snonux/hexai/internal/llm/copilot.go:292.58,308.2 3 3 -codeberg.org/snonux/hexai/internal/llm/copilot.go:310.28,313.19 3 88 -codeberg.org/snonux/hexai/internal/llm/copilot.go:313.19,315.3 1 1024 -codeberg.org/snonux/hexai/internal/llm/copilot.go:316.2,316.18 1 88 -codeberg.org/snonux/hexai/internal/llm/copilot.go:322.153,323.39 1 3 +codeberg.org/snonux/hexai/internal/llm/copilot.go:267.2,267.34 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:270.42,270.100 3 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:274.57,290.2 3 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:292.58,308.2 3 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:310.28,313.19 3 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:313.19,315.3 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:316.2,316.18 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:322.153,323.39 1 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:323.39,325.3 1 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:326.2,326.45 1 3 +codeberg.org/snonux/hexai/internal/llm/copilot.go:326.2,326.45 1 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:326.45,328.3 1 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:329.2,329.12 1 3 +codeberg.org/snonux/hexai/internal/llm/copilot.go:329.2,329.12 1 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:329.12,331.3 1 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:332.2,354.16 6 3 +codeberg.org/snonux/hexai/internal/llm/copilot.go:332.2,354.16 6 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:354.16,356.3 1 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:357.2,358.53 2 3 +codeberg.org/snonux/hexai/internal/llm/copilot.go:357.2,358.53 2 0 codeberg.org/snonux/hexai/internal/llm/copilot.go:358.53,360.3 1 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:362.2,365.27 4 3 -codeberg.org/snonux/hexai/internal/llm/copilot.go:365.27,366.39 1 10 -codeberg.org/snonux/hexai/internal/llm/copilot.go:366.39,367.12 1 3 -codeberg.org/snonux/hexai/internal/llm/copilot.go:369.3,375.88 2 7 -codeberg.org/snonux/hexai/internal/llm/copilot.go:375.88,376.12 1 4 -codeberg.org/snonux/hexai/internal/llm/copilot.go:378.3,378.34 1 3 -codeberg.org/snonux/hexai/internal/llm/copilot.go:378.34,380.4 1 3 -codeberg.org/snonux/hexai/internal/llm/copilot.go:382.2,383.25 2 3 -codeberg.org/snonux/hexai/internal/llm/copilot.go:383.25,384.60 1 4 -codeberg.org/snonux/hexai/internal/llm/copilot.go:384.60,386.4 1 3 -codeberg.org/snonux/hexai/internal/llm/copilot.go:388.2,388.17 1 3 -codeberg.org/snonux/hexai/internal/llm/ollama.go:44.68,45.38 1 10 +codeberg.org/snonux/hexai/internal/llm/copilot.go:362.2,365.27 4 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:365.27,366.39 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:366.39,367.12 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:369.3,375.88 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:375.88,376.12 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:378.3,378.34 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:378.34,380.4 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:382.2,383.25 2 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:383.25,384.60 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:384.60,386.4 1 0 +codeberg.org/snonux/hexai/internal/llm/copilot.go:388.2,388.17 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:44.68,45.38 1 0 codeberg.org/snonux/hexai/internal/llm/ollama.go:45.38,47.3 1 0 -codeberg.org/snonux/hexai/internal/llm/ollama.go:48.2,48.36 1 10 +codeberg.org/snonux/hexai/internal/llm/ollama.go:48.2,48.36 1 0 codeberg.org/snonux/hexai/internal/llm/ollama.go:48.36,50.3 1 0 -codeberg.org/snonux/hexai/internal/llm/ollama.go:51.2,57.3 1 10 -codeberg.org/snonux/hexai/internal/llm/ollama.go:60.108,62.27 2 6 +codeberg.org/snonux/hexai/internal/llm/ollama.go:51.2,57.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:60.108,62.27 2 0 codeberg.org/snonux/hexai/internal/llm/ollama.go:62.27,64.3 1 0 -codeberg.org/snonux/hexai/internal/llm/ollama.go:65.2,65.19 1 6 +codeberg.org/snonux/hexai/internal/llm/ollama.go:65.2,65.19 1 0 codeberg.org/snonux/hexai/internal/llm/ollama.go:65.19,67.3 1 0 -codeberg.org/snonux/hexai/internal/llm/ollama.go:69.2,73.16 5 6 +codeberg.org/snonux/hexai/internal/llm/ollama.go:69.2,73.16 5 0 codeberg.org/snonux/hexai/internal/llm/ollama.go:73.16,75.3 1 0 -codeberg.org/snonux/hexai/internal/llm/ollama.go:77.2,80.16 4 6 -codeberg.org/snonux/hexai/internal/llm/ollama.go:80.16,83.3 2 1 -codeberg.org/snonux/hexai/internal/llm/ollama.go:84.2,85.56 2 5 -codeberg.org/snonux/hexai/internal/llm/ollama.go:85.56,87.3 1 2 -codeberg.org/snonux/hexai/internal/llm/ollama.go:89.2,90.64 2 3 -codeberg.org/snonux/hexai/internal/llm/ollama.go:90.64,93.3 2 1 -codeberg.org/snonux/hexai/internal/llm/ollama.go:94.2,94.50 1 2 -codeberg.org/snonux/hexai/internal/llm/ollama.go:94.50,97.3 2 1 -codeberg.org/snonux/hexai/internal/llm/ollama.go:98.2,100.21 3 1 -codeberg.org/snonux/hexai/internal/llm/ollama.go:104.45,104.64 1 1 -codeberg.org/snonux/hexai/internal/llm/ollama.go:105.45,105.70 1 1 -codeberg.org/snonux/hexai/internal/llm/ollama.go:108.126,110.27 2 3 +codeberg.org/snonux/hexai/internal/llm/ollama.go:77.2,80.16 4 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:80.16,83.3 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:84.2,85.56 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:85.56,87.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:89.2,90.64 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:90.64,93.3 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:94.2,94.50 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:94.50,97.3 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:98.2,100.21 3 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:104.45,104.64 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:105.45,105.70 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:108.126,110.27 2 0 codeberg.org/snonux/hexai/internal/llm/ollama.go:110.27,112.3 1 0 -codeberg.org/snonux/hexai/internal/llm/ollama.go:113.2,113.19 1 3 +codeberg.org/snonux/hexai/internal/llm/ollama.go:113.2,113.19 1 0 codeberg.org/snonux/hexai/internal/llm/ollama.go:113.19,115.3 1 0 -codeberg.org/snonux/hexai/internal/llm/ollama.go:117.2,121.16 5 3 +codeberg.org/snonux/hexai/internal/llm/ollama.go:117.2,121.16 5 0 codeberg.org/snonux/hexai/internal/llm/ollama.go:121.16,123.3 1 0 -codeberg.org/snonux/hexai/internal/llm/ollama.go:125.2,128.16 4 3 +codeberg.org/snonux/hexai/internal/llm/ollama.go:125.2,128.16 4 0 codeberg.org/snonux/hexai/internal/llm/ollama.go:128.16,131.3 2 0 -codeberg.org/snonux/hexai/internal/llm/ollama.go:132.2,133.56 2 3 +codeberg.org/snonux/hexai/internal/llm/ollama.go:132.2,133.56 2 0 codeberg.org/snonux/hexai/internal/llm/ollama.go:133.56,135.3 1 0 -codeberg.org/snonux/hexai/internal/llm/ollama.go:137.2,138.6 2 3 -codeberg.org/snonux/hexai/internal/llm/ollama.go:138.6,140.41 2 4 -codeberg.org/snonux/hexai/internal/llm/ollama.go:140.41,141.30 1 1 +codeberg.org/snonux/hexai/internal/llm/ollama.go:137.2,138.6 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:138.6,140.41 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:140.41,141.30 1 0 codeberg.org/snonux/hexai/internal/llm/ollama.go:141.30,142.10 1 0 -codeberg.org/snonux/hexai/internal/llm/ollama.go:144.4,145.14 2 1 -codeberg.org/snonux/hexai/internal/llm/ollama.go:147.3,147.40 1 3 -codeberg.org/snonux/hexai/internal/llm/ollama.go:147.40,150.4 2 1 -codeberg.org/snonux/hexai/internal/llm/ollama.go:151.3,151.58 1 2 -codeberg.org/snonux/hexai/internal/llm/ollama.go:151.58,153.4 1 2 -codeberg.org/snonux/hexai/internal/llm/ollama.go:154.3,154.14 1 2 -codeberg.org/snonux/hexai/internal/llm/ollama.go:154.14,155.9 1 1 -codeberg.org/snonux/hexai/internal/llm/ollama.go:158.2,159.12 2 1 -codeberg.org/snonux/hexai/internal/llm/ollama.go:163.76,165.29 2 9 -codeberg.org/snonux/hexai/internal/llm/ollama.go:165.29,167.3 1 9 -codeberg.org/snonux/hexai/internal/llm/ollama.go:168.2,168.89 1 9 -codeberg.org/snonux/hexai/internal/llm/ollama.go:171.109,174.29 3 12 -codeberg.org/snonux/hexai/internal/llm/ollama.go:174.29,176.3 1 12 -codeberg.org/snonux/hexai/internal/llm/ollama.go:177.2,178.24 2 12 -codeberg.org/snonux/hexai/internal/llm/ollama.go:178.24,180.3 1 1 -codeberg.org/snonux/hexai/internal/llm/ollama.go:180.8,180.31 1 11 -codeberg.org/snonux/hexai/internal/llm/ollama.go:180.31,182.3 1 3 -codeberg.org/snonux/hexai/internal/llm/ollama.go:183.2,183.21 1 12 -codeberg.org/snonux/hexai/internal/llm/ollama.go:183.21,185.3 1 2 -codeberg.org/snonux/hexai/internal/llm/ollama.go:186.2,186.21 1 12 -codeberg.org/snonux/hexai/internal/llm/ollama.go:186.21,188.3 1 2 -codeberg.org/snonux/hexai/internal/llm/ollama.go:189.2,189.22 1 12 -codeberg.org/snonux/hexai/internal/llm/ollama.go:189.22,191.3 1 4 -codeberg.org/snonux/hexai/internal/llm/ollama.go:192.2,192.12 1 12 -codeberg.org/snonux/hexai/internal/llm/ollama.go:195.100,197.16 2 9 +codeberg.org/snonux/hexai/internal/llm/ollama.go:144.4,145.14 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:147.3,147.40 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:147.40,150.4 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:151.3,151.58 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:151.58,153.4 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:154.3,154.14 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:154.14,155.9 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:158.2,159.12 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:163.76,165.29 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:165.29,167.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:168.2,168.89 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:171.109,174.29 3 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:174.29,176.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:177.2,178.24 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:178.24,180.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:180.8,180.31 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:180.31,182.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:183.2,183.21 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:183.21,185.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:186.2,186.21 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:186.21,188.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:189.2,189.22 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:189.22,191.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:192.2,192.12 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:195.100,197.16 2 0 codeberg.org/snonux/hexai/internal/llm/ollama.go:197.16,199.3 1 0 -codeberg.org/snonux/hexai/internal/llm/ollama.go:200.2,201.29 2 9 -codeberg.org/snonux/hexai/internal/llm/ollama.go:204.69,205.53 1 9 -codeberg.org/snonux/hexai/internal/llm/ollama.go:205.53,207.3 1 7 -codeberg.org/snonux/hexai/internal/llm/ollama.go:208.2,210.43 3 2 -codeberg.org/snonux/hexai/internal/llm/ollama.go:210.43,213.3 2 1 -codeberg.org/snonux/hexai/internal/llm/ollama.go:214.2,215.68 2 1 -codeberg.org/snonux/hexai/internal/llm/openai.go:78.76,79.38 1 11 +codeberg.org/snonux/hexai/internal/llm/ollama.go:200.2,201.29 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:204.69,205.53 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:205.53,207.3 1 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:208.2,210.43 3 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:210.43,213.3 2 0 +codeberg.org/snonux/hexai/internal/llm/ollama.go:214.2,215.68 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:78.76,79.38 1 0 codeberg.org/snonux/hexai/internal/llm/openai.go:79.38,81.3 1 0 -codeberg.org/snonux/hexai/internal/llm/openai.go:82.2,82.36 1 11 +codeberg.org/snonux/hexai/internal/llm/openai.go:82.2,82.36 1 0 codeberg.org/snonux/hexai/internal/llm/openai.go:82.36,84.3 1 0 -codeberg.org/snonux/hexai/internal/llm/openai.go:85.2,92.3 1 11 -codeberg.org/snonux/hexai/internal/llm/openai.go:95.108,96.20 1 6 -codeberg.org/snonux/hexai/internal/llm/openai.go:96.20,98.3 1 1 -codeberg.org/snonux/hexai/internal/llm/openai.go:99.2,100.27 2 5 +codeberg.org/snonux/hexai/internal/llm/openai.go:85.2,92.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:95.108,96.20 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:96.20,98.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:99.2,100.27 2 0 codeberg.org/snonux/hexai/internal/llm/openai.go:100.27,102.3 1 0 -codeberg.org/snonux/hexai/internal/llm/openai.go:103.2,103.19 1 5 +codeberg.org/snonux/hexai/internal/llm/openai.go:103.2,103.19 1 0 codeberg.org/snonux/hexai/internal/llm/openai.go:103.19,105.3 1 0 -codeberg.org/snonux/hexai/internal/llm/openai.go:106.2,110.16 5 5 +codeberg.org/snonux/hexai/internal/llm/openai.go:106.2,110.16 5 0 codeberg.org/snonux/hexai/internal/llm/openai.go:110.16,113.3 2 0 -codeberg.org/snonux/hexai/internal/llm/openai.go:114.2,119.16 4 5 +codeberg.org/snonux/hexai/internal/llm/openai.go:114.2,119.16 4 0 codeberg.org/snonux/hexai/internal/llm/openai.go:119.16,122.3 2 0 -codeberg.org/snonux/hexai/internal/llm/openai.go:123.2,124.56 2 5 -codeberg.org/snonux/hexai/internal/llm/openai.go:124.56,126.3 1 1 -codeberg.org/snonux/hexai/internal/llm/openai.go:127.2,128.16 2 4 -codeberg.org/snonux/hexai/internal/llm/openai.go:128.16,130.3 1 1 -codeberg.org/snonux/hexai/internal/llm/openai.go:131.2,131.27 1 3 -codeberg.org/snonux/hexai/internal/llm/openai.go:131.27,134.3 2 1 -codeberg.org/snonux/hexai/internal/llm/openai.go:135.2,137.21 3 2 -codeberg.org/snonux/hexai/internal/llm/openai.go:141.45,141.64 1 1 -codeberg.org/snonux/hexai/internal/llm/openai.go:142.45,142.70 1 1 -codeberg.org/snonux/hexai/internal/llm/openai.go:146.126,147.20 1 4 +codeberg.org/snonux/hexai/internal/llm/openai.go:123.2,124.56 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:124.56,126.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:127.2,128.16 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:128.16,130.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:131.2,131.27 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:131.27,134.3 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:135.2,137.21 3 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:141.45,141.64 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:142.45,142.70 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:146.126,147.20 1 0 codeberg.org/snonux/hexai/internal/llm/openai.go:147.20,149.3 1 0 -codeberg.org/snonux/hexai/internal/llm/openai.go:150.2,151.27 2 4 +codeberg.org/snonux/hexai/internal/llm/openai.go:150.2,151.27 2 0 codeberg.org/snonux/hexai/internal/llm/openai.go:151.27,153.3 1 0 -codeberg.org/snonux/hexai/internal/llm/openai.go:154.2,154.19 1 4 +codeberg.org/snonux/hexai/internal/llm/openai.go:154.2,154.19 1 0 codeberg.org/snonux/hexai/internal/llm/openai.go:154.19,156.3 1 0 -codeberg.org/snonux/hexai/internal/llm/openai.go:157.2,161.16 5 4 +codeberg.org/snonux/hexai/internal/llm/openai.go:157.2,161.16 5 0 codeberg.org/snonux/hexai/internal/llm/openai.go:161.16,164.3 2 0 -codeberg.org/snonux/hexai/internal/llm/openai.go:165.2,170.16 4 4 +codeberg.org/snonux/hexai/internal/llm/openai.go:165.2,170.16 4 0 codeberg.org/snonux/hexai/internal/llm/openai.go:170.16,173.3 2 0 -codeberg.org/snonux/hexai/internal/llm/openai.go:174.2,175.56 2 4 +codeberg.org/snonux/hexai/internal/llm/openai.go:174.2,175.56 2 0 codeberg.org/snonux/hexai/internal/llm/openai.go:175.56,177.3 1 0 -codeberg.org/snonux/hexai/internal/llm/openai.go:179.2,179.64 1 4 -codeberg.org/snonux/hexai/internal/llm/openai.go:179.64,181.3 1 1 -codeberg.org/snonux/hexai/internal/llm/openai.go:182.2,183.12 2 3 +codeberg.org/snonux/hexai/internal/llm/openai.go:179.2,179.64 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:179.64,181.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:182.2,183.12 2 0 codeberg.org/snonux/hexai/internal/llm/openai.go:187.56,187.104 1 0 -codeberg.org/snonux/hexai/internal/llm/openai.go:190.76,192.29 2 9 -codeberg.org/snonux/hexai/internal/llm/openai.go:192.29,194.3 1 9 -codeberg.org/snonux/hexai/internal/llm/openai.go:195.2,195.89 1 9 -codeberg.org/snonux/hexai/internal/llm/openai.go:198.105,201.29 3 11 -codeberg.org/snonux/hexai/internal/llm/openai.go:201.29,203.3 1 11 -codeberg.org/snonux/hexai/internal/llm/openai.go:204.2,204.24 1 11 +codeberg.org/snonux/hexai/internal/llm/openai.go:190.76,192.29 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:192.29,194.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:195.2,195.89 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:198.105,201.29 3 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:201.29,203.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:204.2,204.24 1 0 codeberg.org/snonux/hexai/internal/llm/openai.go:204.24,206.3 1 0 -codeberg.org/snonux/hexai/internal/llm/openai.go:206.8,206.31 1 11 -codeberg.org/snonux/hexai/internal/llm/openai.go:206.31,209.3 2 11 -codeberg.org/snonux/hexai/internal/llm/openai.go:210.2,210.21 1 11 -codeberg.org/snonux/hexai/internal/llm/openai.go:210.21,212.3 1 2 -codeberg.org/snonux/hexai/internal/llm/openai.go:213.2,213.21 1 11 -codeberg.org/snonux/hexai/internal/llm/openai.go:213.21,215.3 1 2 -codeberg.org/snonux/hexai/internal/llm/openai.go:216.2,216.12 1 11 -codeberg.org/snonux/hexai/internal/llm/openai.go:219.127,221.16 2 5 +codeberg.org/snonux/hexai/internal/llm/openai.go:206.8,206.31 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:206.31,209.3 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:210.2,210.21 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:210.21,212.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:213.2,213.21 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:213.21,215.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:216.2,216.12 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:219.127,221.16 2 0 codeberg.org/snonux/hexai/internal/llm/openai.go:221.16,223.3 1 0 -codeberg.org/snonux/hexai/internal/llm/openai.go:224.2,225.28 2 5 -codeberg.org/snonux/hexai/internal/llm/openai.go:225.28,227.3 1 5 -codeberg.org/snonux/hexai/internal/llm/openai.go:228.2,228.29 1 5 -codeberg.org/snonux/hexai/internal/llm/openai.go:231.152,233.16 2 4 +codeberg.org/snonux/hexai/internal/llm/openai.go:224.2,225.28 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:225.28,227.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:228.2,228.29 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:231.152,233.16 2 0 codeberg.org/snonux/hexai/internal/llm/openai.go:233.16,235.3 1 0 -codeberg.org/snonux/hexai/internal/llm/openai.go:236.2,238.28 3 4 -codeberg.org/snonux/hexai/internal/llm/openai.go:238.28,240.3 1 4 -codeberg.org/snonux/hexai/internal/llm/openai.go:241.2,241.29 1 4 -codeberg.org/snonux/hexai/internal/llm/openai.go:244.69,245.53 1 11 -codeberg.org/snonux/hexai/internal/llm/openai.go:245.53,247.3 1 8 -codeberg.org/snonux/hexai/internal/llm/openai.go:248.2,250.55 3 3 -codeberg.org/snonux/hexai/internal/llm/openai.go:250.55,253.3 2 2 -codeberg.org/snonux/hexai/internal/llm/openai.go:254.2,255.68 2 1 -codeberg.org/snonux/hexai/internal/llm/openai.go:258.85,260.64 2 4 -codeberg.org/snonux/hexai/internal/llm/openai.go:260.64,263.3 2 1 -codeberg.org/snonux/hexai/internal/llm/openai.go:264.2,264.17 1 3 -codeberg.org/snonux/hexai/internal/llm/openai.go:267.90,273.21 5 5 -codeberg.org/snonux/hexai/internal/llm/openai.go:273.21,275.41 2 11 -codeberg.org/snonux/hexai/internal/llm/openai.go:275.41,276.12 1 3 -codeberg.org/snonux/hexai/internal/llm/openai.go:278.3,279.45 2 8 -codeberg.org/snonux/hexai/internal/llm/openai.go:279.45,280.9 1 3 -codeberg.org/snonux/hexai/internal/llm/openai.go:282.3,283.65 2 5 -codeberg.org/snonux/hexai/internal/llm/openai.go:283.65,284.12 1 2 -codeberg.org/snonux/hexai/internal/llm/openai.go:286.3,286.54 1 3 -codeberg.org/snonux/hexai/internal/llm/openai.go:286.54,289.4 2 1 -codeberg.org/snonux/hexai/internal/llm/openai.go:290.3,290.36 1 2 -codeberg.org/snonux/hexai/internal/llm/openai.go:290.36,291.30 1 2 -codeberg.org/snonux/hexai/internal/llm/openai.go:291.30,293.5 1 2 -codeberg.org/snonux/hexai/internal/llm/openai.go:296.2,296.38 1 4 +codeberg.org/snonux/hexai/internal/llm/openai.go:236.2,238.28 3 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:238.28,240.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:241.2,241.29 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:244.69,245.53 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:245.53,247.3 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:248.2,250.55 3 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:250.55,253.3 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:254.2,255.68 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:258.85,260.64 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:260.64,263.3 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:264.2,264.17 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:267.90,273.21 5 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:273.21,275.41 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:275.41,276.12 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:278.3,279.45 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:279.45,280.9 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:282.3,283.65 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:283.65,284.12 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:286.3,286.54 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:286.54,289.4 2 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:290.3,290.36 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:290.36,291.30 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:291.30,293.5 1 0 +codeberg.org/snonux/hexai/internal/llm/openai.go:296.2,296.38 1 0 codeberg.org/snonux/hexai/internal/llm/openai.go:296.38,299.3 2 0 -codeberg.org/snonux/hexai/internal/llm/openai.go:300.2,300.12 1 4 -codeberg.org/snonux/hexai/internal/llm/provider.go:58.47,58.73 1 1 -codeberg.org/snonux/hexai/internal/llm/provider.go:58.73,58.92 1 1 -codeberg.org/snonux/hexai/internal/llm/provider.go:59.47,59.73 1 1 -codeberg.org/snonux/hexai/internal/llm/provider.go:59.73,59.94 1 1 -codeberg.org/snonux/hexai/internal/llm/provider.go:60.47,60.73 1 1 -codeberg.org/snonux/hexai/internal/llm/provider.go:60.73,60.92 1 1 -codeberg.org/snonux/hexai/internal/llm/provider.go:61.45,62.26 1 1 -codeberg.org/snonux/hexai/internal/llm/provider.go:62.26,62.66 1 1 -codeberg.org/snonux/hexai/internal/llm/provider.go:85.84,87.13 2 6 +codeberg.org/snonux/hexai/internal/llm/openai.go:300.2,300.12 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:58.47,58.73 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:58.73,58.92 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:59.47,59.73 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:59.73,59.94 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:60.47,60.73 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:60.73,60.92 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:61.45,62.26 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:62.26,62.66 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:85.84,87.13 2 0 codeberg.org/snonux/hexai/internal/llm/provider.go:87.13,89.3 1 0 -codeberg.org/snonux/hexai/internal/llm/provider.go:90.2,90.11 1 6 -codeberg.org/snonux/hexai/internal/llm/provider.go:91.16,92.44 1 2 -codeberg.org/snonux/hexai/internal/llm/provider.go:92.44,94.4 1 1 -codeberg.org/snonux/hexai/internal/llm/provider.go:96.3,96.35 1 1 -codeberg.org/snonux/hexai/internal/llm/provider.go:96.35,99.4 2 1 -codeberg.org/snonux/hexai/internal/llm/provider.go:100.3,100.97 1 1 +codeberg.org/snonux/hexai/internal/llm/provider.go:90.2,90.11 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:91.16,92.44 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:92.44,94.4 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:96.3,96.35 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:96.35,99.4 2 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:100.3,100.97 1 0 codeberg.org/snonux/hexai/internal/llm/provider.go:101.16,102.35 1 0 codeberg.org/snonux/hexai/internal/llm/provider.go:102.35,105.4 2 0 codeberg.org/snonux/hexai/internal/llm/provider.go:106.3,106.83 1 0 -codeberg.org/snonux/hexai/internal/llm/provider.go:107.17,108.45 1 3 -codeberg.org/snonux/hexai/internal/llm/provider.go:108.45,110.4 1 1 -codeberg.org/snonux/hexai/internal/llm/provider.go:111.3,111.36 1 2 -codeberg.org/snonux/hexai/internal/llm/provider.go:111.36,114.4 2 2 -codeberg.org/snonux/hexai/internal/llm/provider.go:115.3,115.102 1 2 -codeberg.org/snonux/hexai/internal/llm/provider.go:116.10,117.55 1 1 -codeberg.org/snonux/hexai/internal/llm/util.go:6.47,6.77 1 2 +codeberg.org/snonux/hexai/internal/llm/provider.go:107.17,108.45 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:108.45,110.4 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:111.3,111.36 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:111.36,114.4 2 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:115.3,115.102 1 0 +codeberg.org/snonux/hexai/internal/llm/provider.go:116.10,117.55 1 0 +codeberg.org/snonux/hexai/internal/llm/util.go:6.47,6.77 1 0 codeberg.org/snonux/hexai/internal/llmutils/client.go:12.62,26.39 3 0 codeberg.org/snonux/hexai/internal/llmutils/client.go:26.39,28.6 1 0 codeberg.org/snonux/hexai/internal/llmutils/client.go:29.5,30.39 2 0 codeberg.org/snonux/hexai/internal/llmutils/client.go:30.39,32.6 1 0 codeberg.org/snonux/hexai/internal/llmutils/client.go:33.5,33.51 1 0 -codeberg.org/snonux/hexai/internal/logging/chatlogger.go:9.48,11.2 1 30 -codeberg.org/snonux/hexai/internal/logging/chatlogger.go:18.3,20.12 2 23 -codeberg.org/snonux/hexai/internal/logging/chatlogger.go:20.12,22.3 1 7 -codeberg.org/snonux/hexai/internal/logging/chatlogger.go:23.2,25.29 2 23 -codeberg.org/snonux/hexai/internal/logging/chatlogger.go:25.29,28.3 1 23 +codeberg.org/snonux/hexai/internal/logging/chatlogger.go:9.48,11.2 1 0 +codeberg.org/snonux/hexai/internal/logging/chatlogger.go:18.3,20.12 2 0 +codeberg.org/snonux/hexai/internal/logging/chatlogger.go:20.12,22.3 1 0 +codeberg.org/snonux/hexai/internal/logging/chatlogger.go:23.2,25.29 2 0 +codeberg.org/snonux/hexai/internal/logging/chatlogger.go:25.29,28.3 1 0 codeberg.org/snonux/hexai/internal/logging/logging.go:27.26,27.37 1 0 -codeberg.org/snonux/hexai/internal/logging/logging.go:30.47,31.16 1 95 -codeberg.org/snonux/hexai/internal/logging/logging.go:31.16,33.3 1 95 +codeberg.org/snonux/hexai/internal/logging/logging.go:30.47,31.16 1 0 +codeberg.org/snonux/hexai/internal/logging/logging.go:31.16,33.3 1 0 codeberg.org/snonux/hexai/internal/logging/logging.go:34.2,35.48 2 0 codeberg.org/snonux/hexai/internal/logging/logging.go:43.32,43.55 1 0 -codeberg.org/snonux/hexai/internal/logging/logging.go:46.37,47.25 1 28 +codeberg.org/snonux/hexai/internal/logging/logging.go:46.37,47.25 1 0 codeberg.org/snonux/hexai/internal/logging/logging.go:47.25,48.32 1 0 codeberg.org/snonux/hexai/internal/logging/logging.go:48.32,50.4 1 0 codeberg.org/snonux/hexai/internal/logging/logging.go:51.3,51.37 1 0 -codeberg.org/snonux/hexai/internal/logging/logging.go:53.2,53.10 1 28 +codeberg.org/snonux/hexai/internal/logging/logging.go:53.2,53.10 1 0 codeberg.org/snonux/hexai/internal/lsp/context.go:16.96,18.14 2 0 codeberg.org/snonux/hexai/internal/lsp/context.go:19.17,20.19 1 0 codeberg.org/snonux/hexai/internal/lsp/context.go:21.16,22.41 1 0 @@ -16166,6 +20823,31 @@ codeberg.org/snonux/hexai/internal/textutil/textutil.go:106.49,106.59 1 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:107.17,108.32 2 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:108.32,108.64 1 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:112.5,112.29 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:11.23,11.60 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:17.23,17.72 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:20.23,20.76 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:31.52,32.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:32.20,34.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:35.2,36.19 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:36.19,38.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:38.8,40.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.2,41.45 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.45,43.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.2,44.42 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.42,46.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:48.2,51.19 4 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:56.38,58.25 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:58.25,59.14 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:59.14,61.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.3,63.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.20,65.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:69.3,70.33 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:72.2,72.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:76.32,77.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:77.30,79.141 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:79.141,80.12 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:82.3,82.15 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:84.2,84.13 1 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:14.13,17.18 3 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:22.2,22.104 1 0 @@ -16174,8 +20856,104 @@ codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:13.13,17.18 4 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.2,22.79 1 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.79,24.3 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:11.13,12.94 1 0 -codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:12.94,15.3 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:17.13,30.14 10 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:30.14,31.53 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:31.53,34.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:35.3,35.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.2,39.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:39.42,40.80 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:40.80,43.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:44.3,44.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.2,48.51 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:48.51,50.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:50.17,53.4 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:54.3,56.88 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:56.88,59.10 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:60.9,60.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.2,64.55 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:64.55,67.3 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:71.83,74.20 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:74.21,74.22 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.2,75.21 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:75.22,75.23 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.2,77.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:77.32,79.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:79.17,80.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.29,80.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:80.40,80.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:82.3,83.20 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:83.20,83.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.2,85.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:85.33,87.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:87.17,88.28 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.29,88.30 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:88.40,88.41 0 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:90.3,91.21 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:91.21,91.38 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:93.2,93.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:99.45,100.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:100.19,103.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:103.17,105.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:106.3,108.72 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:110.2,112.16 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:112.16,114.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:115.2,116.84 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:116.84,119.64 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:119.64,121.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:122.8,124.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:125.2,125.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:133.51,134.12 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:134.12,136.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.2,137.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:137.15,139.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.5,141.82 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:141.82,143.6 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:144.2,144.14 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:147.29,147.64 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:149.63,152.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:152.16,154.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.2,155.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:155.15,155.40 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:156.2,159.45 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:159.45,161.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:163.2,164.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:164.16,166.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:167.2,170.47 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:170.47,172.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.2,174.61 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:174.61,176.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:178.2,178.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:181.38,183.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:183.16,185.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.2,186.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:186.15,186.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.2,187.48 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:187.48,189.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:190.2,190.17 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:193.60,195.6 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:195.6,196.42 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:196.42,198.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.3,199.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:199.33,201.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:202.3,202.37 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:206.41,208.16 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:208.16,210.3 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.2,211.15 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:211.15,211.32 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:212.2,213.12 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:216.48,220.18 3 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:220.18,222.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:222.17,224.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.3,225.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:225.16,225.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:226.3,226.9 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.2,228.19 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:228.19,230.17 2 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:230.17,232.4 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.3,233.16 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:233.16,233.33 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:234.3,234.10 1 0 +codeberg.org/snonux/hexai/cmd/internal/hexai-action/main.go:236.2,237.12 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:89.29,136.2 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:140.35,142.19 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:142.19,144.3 1 0 @@ -17782,3 +22560,28 @@ codeberg.org/snonux/hexai/internal/textutil/textutil.go:106.49,106.59 1 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:107.17,108.32 2 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:108.32,108.64 1 0 codeberg.org/snonux/hexai/internal/textutil/textutil.go:112.5,112.29 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:11.23,11.60 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:17.23,17.72 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:20.23,20.76 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:31.52,32.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:32.20,34.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:35.2,36.19 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:36.19,38.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:38.8,40.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.2,41.45 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:41.45,43.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.2,44.42 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:44.42,46.3 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:48.2,51.19 4 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:56.38,58.25 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:58.25,59.14 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:59.14,61.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.3,63.20 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:63.20,65.12 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:69.3,70.33 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:72.2,72.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:76.32,77.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:77.30,79.141 2 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:79.141,80.12 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:82.3,82.15 1 0 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:84.2,84.13 1 0 diff --git a/docs/usage.md b/docs/usage.md index a5c5dca..05d6c55 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -110,7 +110,13 @@ hexai 'install ripgrep on macOS and explain' - Choose an action with arrow keys, `j/k`, `g/G`, Enter, or hotkeys `[s] [r] [c] [t]`. - Output is written to stdout by default, or to a file via `--outfile`. -Input formats are the same as described in the README (inline instruction markers for rewrite; optional `Diagnostics:` header block). +Input formats + +- Rewrite: include an inline instruction near the top of the selection using one of: + - `;do something;` + - `/* do something */` + - `<!-- do something -->` + - `// do something` (or `#`, `--`) Examples diff --git a/internal/appconfig/config_test.go b/internal/appconfig/config_test.go index d708542..5cb79a0 100644 --- a/internal/appconfig/config_test.go +++ b/internal/appconfig/config_test.go @@ -22,6 +22,20 @@ func writeFile(t *testing.T, path, content string) { } } +// clearHexaiEnv removes any HEXAI_* variables to prevent environment leakage +// into tests that expect file-only configuration. +func clearHexaiEnv(t *testing.T) { + t.Helper() + for _, e := range os.Environ() { + if strings.HasPrefix(e, "HEXAI_") { + kv := strings.SplitN(e, "=", 2) + if len(kv) > 0 { + t.Setenv(kv[0], "") + } + } + } +} + func withEnv(t *testing.T, k, v string) { t.Helper() old := os.Getenv(k) @@ -40,9 +54,10 @@ func TestLoad_Defaults_NoLogger(t *testing.T) { } func TestLoad_Defaults_WithLogger_NoFile_NoEnv(t *testing.T) { - t.Setenv("XDG_CONFIG_HOME", t.TempDir()) - logger := newLogger() - cfg := Load(logger) + clearHexaiEnv(t) + t.Setenv("XDG_CONFIG_HOME", t.TempDir()) + logger := newLogger() + cfg := Load(logger) def := newDefaultConfig() if cfg.MaxTokens != def.MaxTokens || cfg.ContextMode != def.ContextMode || cfg.ContextWindowLines != def.ContextWindowLines { t.Fatalf("expected defaults; got %+v want %+v", cfg, def) @@ -192,8 +207,9 @@ func TestLoadFromFile_InvalidTOML(t *testing.T) { } func TestLoad_FileTables_Sectioned(t *testing.T) { - dir := t.TempDir() - t.Setenv("XDG_CONFIG_HOME", dir) + clearHexaiEnv(t) + dir := t.TempDir() + t.Setenv("XDG_CONFIG_HOME", dir) cfgPath := filepath.Join(dir, "hexai", "config.toml") content := ` [general] @@ -274,8 +290,9 @@ temperature = 0.0 } func TestLoad_FileTables_Prompts_AllSections(t *testing.T) { - dir := t.TempDir() - t.Setenv("XDG_CONFIG_HOME", dir) + clearHexaiEnv(t) + dir := t.TempDir() + t.Setenv("XDG_CONFIG_HOME", dir) cfgPath := filepath.Join(dir, "hexai", "config.toml") content := ` [prompts.completion] diff --git a/internal/hexaiaction/tui_test.go b/internal/hexaiaction/tui_test.go index 0f7d091..6f1debc 100644 --- a/internal/hexaiaction/tui_test.go +++ b/internal/hexaiaction/tui_test.go @@ -34,3 +34,24 @@ func TestHandleKey_JumpEndWithG(t *testing.T) { } } +func TestItemMethods(t *testing.T) { + it := item{title: "T", desc: "D", kind: ActionRewrite, hotkey: 'r'} + if it.Title() != "T" || it.Description() != "D" || it.FilterValue() != "T" { + t.Fatalf("item methods wrong: %+v", it) + } +} + +func TestModelInitAndViewAndUpdate(t *testing.T) { + m := newModel() + if m.Init() != nil { + t.Fatalf("Init should return nil cmd") + } + if v := m.View(); v == "" { + t.Fatalf("View should not be empty before done") + } + // Window resize + nm, _ := m.Update(tea.WindowSizeMsg{Width: 80, Height: 24}) + if _, ok := nm.(model); !ok { + t.Fatalf("expected model after WindowSizeMsg") + } +} |
